@veeqo/ui 8.1.0 → 8.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/components/BaseContainer/BaseContainer.ts","../src/components/Text/utils.ts","../src/theme/modules/colors.ts","../src/theme/modules/breakpoints.ts","../src/theme/modules/radius.ts","../src/theme/modules/shadows.ts","../src/theme/modules/sizes.ts","../src/theme/modules/text.ts","../src/theme/utils.ts","../src/theme/index.ts","../src/theme/modules/layers.ts","../src/components/Text/Text.ts","../src/components/Accordion/styled.ts","../src/tempIcons/UpArrowIcon.tsx","../src/components/Accordion/Accordion.tsx","../node_modules/tslib/tslib.es6.js","../src/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/Dropdown/styled.ts","../src/utils/generateId.ts","../src/components/Portal/Portal.tsx","../src/components/Popover/styled.ts","../src/utils/buildClassnames.ts","../src/utils/color.ts","../src/utils/isExternalLink.ts","../src/components/Popover/hooks/useUpdateAriaAnchor.ts","../src/components/Popover/hooks/useHandleFocus.ts","../src/components/Popover/Popover.tsx","../src/components/Dropdown/DropdownPopover.tsx","../src/components/Dropdown/Dropdown.tsx","../src/hooks/useClickOutside.ts","../src/hooks/useDebounce.ts","../src/hooks/useDropdown.ts","../src/hooks/useFocusVisible.tsx","../src/hooks/useHover.ts","../src/hooks/useIsOverflowing.ts","../src/hooks/useTabs.ts","../src/hooks/useId.ts","../src/components/ActionMenu/styled.ts","../src/components/ActionMenu/ActionMenu.tsx","../src/components/Stack/Alignments.ts","../src/components/Stack/Stack.tsx","../src/components/Alerts/Alert/styled.ts","../src/components/Alerts/Alert/constants.ts","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/HelpIcon.tsx","../src/tempIcons/InfoIcon.tsx","../src/tempIcons/SuccessIcon.tsx","../src/components/Alerts/constants.ts","../src/tempIcons/WarningIcon.tsx","../src/tempIcons/RecommendIcon.tsx","../src/components/Alerts/Alert/Alert.tsx","../src/components/Alerts/MiniAlert/constants.ts","../src/components/Alerts/MiniAlert/styled.ts","../src/components/Alerts/MiniAlert/MiniAlert.tsx","../src/components/Anchor/styled.ts","../src/components/Anchor/Anchor.tsx","../src/components/AnimatedDropdown/components/styled.ts","../src/components/AnimatedDropdown/components/BasicDropdown.tsx","../src/components/AnimatedDropdown/styled.ts","../src/components/AnimatedDropdown/AnimatedDropdown.tsx","../src/components/AnimatedDropdown/hooks/useClickAway.ts","../src/components/Avatar/styled.ts","../src/components/Avatar/Avatar.tsx","../src/components/Tooltip/components/styled.ts","../src/components/Tooltip/types.ts","../src/components/Tooltip/components/TooltipPopover.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/Badge/styled.ts","../src/components/Badge/Badge.tsx","../src/components/Banner/styled.ts","../src/components/Banner/Banner.tsx","../src/components/Breadcrumbs/components/styled.ts","../src/tempIcons/RightArrowIcon.tsx","../src/components/Breadcrumbs/components/Breadcrumb.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/Calendars/components/subcomponents/CalendarStyles/buttonStyles.ts","../src/components/Calendars/components/subcomponents/CalendarStyles/calendarCellStyles.ts","../src/components/Calendars/components/subcomponents/CalendarStyles/headerStyles.ts","../src/components/Calendars/components/subcomponents/CalendarStyles/CalendarStyles.ts","../src/components/Calendars/components/RangeCalendar/styled.ts","../src/components/Grid/index.ts","../src/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/styled.ts","../src/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.tsx","../src/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/utils.ts","../src/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.tsx","../src/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/MonthCalendar.tsx","../src/components/Calendars/types.ts","../src/components/Calendars/components/subcomponents/CalendarGrid/CalendarGrid.tsx","../src/components/Calendars/data/constants.ts","../src/components/Calendars/data/useCalendarLevels.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/Calendars/components/subcomponents/CalendarHeading.tsx","../src/components/Calendars/components/subcomponents/utils.ts","../src/components/Calendars/components/subcomponents/CalendarHeader.tsx","../src/components/Calendars/data/useIsDateUnavailable.ts","../src/components/Calendars/components/RangeCalendar/RangeCalendar.tsx","../src/components/Calendars/data/useRangeCalendar.ts","../src/components/Calendars/components/Calendar/styled.ts","../src/components/Calendars/components/Calendar/Calendar.tsx","../src/components/Calendars/data/useCalendar.ts","../src/components/Choice/components/styled.ts","../src/components/Choice/Choice.tsx","../src/components/Checkbox/styled.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/styled.ts","../src/components/Radio/Radio.tsx","../src/components/ChoiceList/styled.ts","../src/components/ChoiceList/ChoiceList.tsx","../src/tempIcons/ClipboardIcon.tsx","../src/components/CopyToClipboard/CopyToClipboard.tsx","../src/hoc/withLabels/styled.ts","../src/hoc/withLabels/withLabels.tsx","../src/hoc/withDeprecated.tsx","../src/components/DateInputField/styled.ts","../src/components/DateInputField/index.ts","../src/components/DateInputField/DateInputField.tsx","../src/tempIcons/CalendarIcon.tsx","../src/components/DatePicker/styled.ts","../src/components/DatePicker/DatePicker.tsx","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/DateRangePicker/components/constants.ts","../src/components/DateRangePicker/components/ComparePreviousPeriod.tsx","../src/components/DateRangePicker/constants.ts","../src/components/DateRangePicker/components/Divider.tsx","../src/components/DateRangePicker/DateRangePicker.tsx","../src/components/DataTable/utils/alignmentToFlex.ts","../src/components/DataTable/utils/parseWidth.ts","../src/components/DataTable/utils/generateTableCss.ts","../src/components/DataTable/utils/sumAll.ts","../src/components/DataTable/types.ts","../src/tempIcons/DoubleArrowIconIcon.tsx","../src/tempIcons/ArrowUpIcon.tsx","../src/tempIcons/ArrowDownIcon.tsx","../src/components/DataTable/utils/GetSortIcon.tsx","../src/components/DataTable/hooks/useCellWidths.ts","../src/components/DataTable/utils/customEventEmitter.ts","../src/components/DataTable/hooks/useColumnWidths.ts","../src/components/DataTable/hooks/useColumns.ts","../src/components/DataTable/hooks/useDragToScroll.ts","../src/components/DataTable/hooks/useNested.ts","../src/components/DataTable/hooks/useScrollPosition.ts","../src/components/DataTable/constants.ts","../src/components/DataTable/components/Header.ts","../src/components/DataTable/components/SelectionHeader.tsx","../src/components/DataTable/components/Cell.ts","../src/components/DataTable/components/SelectionCell.tsx","../src/components/DataTable/hooks/useSelection.tsx","../src/components/DataTable/components/ColumnHeader.tsx","../src/components/DataTable/components/ColumnDivider.tsx","../src/components/DataTable/renderers/renderHeader.tsx","../src/components/DataTable/utils/getNextSortState.ts","../src/components/DataTable/components/LoadingCellContent.ts","../src/components/DataTable/components/ActionBar.tsx","../src/tempIcons/VisibilityIcon.tsx","../src/tempIcons/VisibilityOffIcon.tsx","../src/tempIcons/ReorderIcon.tsx","../src/components/DataTable/components/EmptyBodyContent.ts","../src/components/DataTable/components/NoWrap.ts","../src/components/DataTable/components/Row.ts","../src/components/DataTable/components/ScrollContainer.ts","../src/components/DataTable/components/TableGrid.ts","../src/components/DataTable/components/Truncate.ts","../src/components/DataTable/components/Wrapper.ts","../src/components/DataTable/components/StickyHead.tsx","../src/components/DataTable/utils/getRowState.ts","../src/components/DataTable/DataTable.tsx","../src/components/DataTable/renderers/renderLoadingCell.tsx","../src/components/DataTable/renderers/renderCell.ts","../src/components/DataTable/renderers/renderNestedCell.tsx","../src/components/DataTable/renderers/renderFooter.tsx","../src/components/DataTable/components/ColumnMenu.tsx","../src/components/DescriptionList/DescriptionList.tsx","../src/components/DetailPage/styled.ts","../src/components/DetailPage/DetailPage.tsx","../src/components/InputGroup/index.ts","../src/components/types.ts","../src/components/TextField/styled.ts","../src/components/TextField/TextField.tsx","../src/components/TextField/index.ts","../src/components/DimensionsInput/styled.ts","../src/utils/blockInvalidCharacters.ts","../src/utils/invalidCharactersNumeric.ts","../src/components/DimensionsInput/DimensionsInput.tsx","../src/components/FilterTag/styled.ts","../src/components/FilterTag/FilterTag.tsx","../src/components/Image/components/PlaceholderImage.tsx","../src/components/Image/components/styled.ts","../src/components/Image/utils.ts","../src/components/Image/Image.tsx","../src/components/LegacyDataTable/utils/constants.tsx","../src/tempIcons/FailIcon.tsx","../src/components/LegacyDataTable/styled.ts","../src/components/LegacyDataTable/SpecificState/styled.ts","../src/components/LegacyDataTable/SpecificState/SpecificState.tsx","../src/components/LegacyDataTable/cells/styled.ts","../src/components/LegacyDataTable/cells/ClickableCell.tsx","../src/components/LegacyDataTable/cells/EditableCell.tsx","../src/components/LegacyDataTable/SkeletonContent/SkeletonContent.tsx","../src/components/LegacyDataTable/cells/SkeletonCell.tsx","../src/components/LegacyDataTable/utils/hooks.ts","../src/components/LegacyDataTable/StickyHeader.tsx","../src/components/LegacyDataTable/utils/index.ts","../src/components/LegacyDataTable/cells/SkeletonHeaderCell.tsx","../src/tempIcons/DoubleArrowAscIcon.tsx","../src/tempIcons/DoubleArrowDescIcon.tsx","../src/components/LegacyDataTable/LegacyDataTable.tsx","../src/components/LoginWithAmazonButton/styled.ts","../src/components/LoginWithAmazonButton/LoginWithAmazonButton.tsx","../src/components/Modal/components/styled.ts","../src/components/Modal/types.ts","../src/components/Modal/components/Dialog/constants.ts","../src/components/Modal/components/Dialog/styled.ts","../src/components/Modal/components/Dialog/Dialog.tsx","../src/components/Modal/Modal.tsx","../src/components/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/components/Stepper/styled.ts","../src/components/Stepper/Stepper.tsx","../src/components/PriceInput/styled.ts","../src/components/PriceInput/PriceInput.tsx","../src/components/ScreenReaderOnly/ScreenReaderOnly.tsx","../src/components/Search/styled.ts","../src/tempIcons/SearchIcon.tsx","../src/components/Search/Search.tsx","../src/components/SegmentedControl/styled.ts","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/ShortcutKeys/styled.ts","../src/components/ShortcutKeys/utils.ts","../src/components/ShortcutKeys/ShortcutKeys.tsx","../src/components/SimpleTable/styled.ts","../src/components/SimpleTable/SimpleTable.tsx","../src/components/Skeleton/Skeleton.tsx","../src/components/Slider/styled.ts","../src/components/Slider/Slider.tsx","../src/components/Tag/Tag.ts","../src/components/ToastsLayout/components/styled.ts","../src/components/ToastsLayout/components/Toast.tsx","../src/tempIcons/MergeIcon.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/ToggleButton/styled.ts","../src/components/ToggleButton/ToggleButton.tsx","../src/components/UploadFile/styled.tsx","../src/components/UploadFile/constants.ts","../src/components/UploadFile/UploadGraphic.tsx","../src/components/UploadFile/components/UploadCopy/UploadCopy.tsx","../src/components/UploadFile/components/UploadFileErrors/UploadFileErrors.tsx","../src/components/UploadFile/components/UploadedFile/styled.ts","../src/components/UploadFile/components/UploadedFile/UploadedFile.tsx","../src/components/UploadFile/UploadFile.tsx","../src/components/UploadFile/utils/getFileSizeString/getFileSizeString.ts","../src/components/UploadFile/utils/getValidTypesString/getValidTypesString.ts","../src/components/UploadFile/utils/getTypePropForInputEl/getTypePropForInputEl.ts","../src/components/UploadFile/utils/setInputElFile/setInputElFile.ts","../src/components/VideoModal/components/styled.ts","../src/components/VideoModal/components/Popup.tsx","../src/components/VideoModal/styled.ts","../src/components/VideoModal/VideoModal.tsx","../src/components/View/types.ts","../src/components/View/styled.ts","../src/tempIcons/EditIcon.tsx","../src/components/View/View.tsx","../src/components/ViewTab/types.ts","../src/tempIcons/ThreeDotsIcon.tsx","../src/components/ViewTab/styled.ts","../src/components/ViewTab/ViewTab.tsx","../src/components/ViewsContainer/styled.ts","../src/components/ViewsContainer/hooks/useSetScrollPosition.ts","../src/components/ViewsContainer/utils.ts","../src/components/ViewsContainer/ViewsContainer.tsx","../src/components/WeightInput/styled.ts","../src/components/WeightInput/WeightInput.tsx","../src/components/WeightInput/types.ts","../src/components/Indicator/styled.ts","../src/components/Indicator/Indicator.tsx"],"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 { css } from 'styled-components';\nexport const getTextStyles = (textTheme) => css `font-family:${textTheme.fontFamily};font-style:${textTheme.fontStyle};font-weight:${textTheme.fontWeight};font-size:${textTheme.fontSize};line-height:${textTheme.lineHeight};color:${textTheme.color};text-decoration:${textTheme.textDecoration};letter-spacing:${textTheme.letterSpacing};`;\n//# sourceMappingURL=utils.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 { getTextStyles } from './utils';\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;}}`;\nconst UnstyledAccordionContent = styled(motion(BaseContainer)).withConfig({ displayName: \"vui--UnstyledAccordionContent\", componentId: \"vui--59wczx\" }) ``;\nconst UnstyledAccordionSummary = styled.summary.withConfig({ displayName: \"vui--UnstyledAccordionSummary\", componentId: \"vui--fyolu6\" }) `&:focus{outline:none;box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}`;\nexport { AccordionSummary, Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, UnstyledAccordionContent, UnstyledAccordionSummary, };\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, UnstyledAccordionSummary, UnstyledAccordionContent, } 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, variant = 'default', summaryTextVariant = 'body', }) => {\n const [shouldOpen, setShouldOpen] = useState(!!shouldOpenOnMount);\n const handleOpen = () => setShouldOpen(!shouldOpen);\n const FRAMER_MOTION_CONFIG = {\n initial: { opacity: 0 },\n exit: { opacity: 0 },\n animate: { opacity: 1 },\n transition: { from: 0, type: 'tween', duration: timeout / 1000 },\n };\n if (variant === 'unstyled') {\n return (React.createElement(AccordionDetails, { open: !!shouldOpenOnMount, className: className },\n React.createElement(UnstyledAccordionSummary, { onClick: handleOpen },\n React.createElement(Top, null,\n React.createElement(Left, { glyphColor: glyphColor },\n iconSlot,\n React.createElement(Text, { variant: summaryTextVariant }, 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(UnstyledAccordionContent, Object.assign({}, FRAMER_MOTION_CONFIG), children))));\n }\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: summaryTextVariant }, 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, Object.assign({}, FRAMER_MOTION_CONFIG), children)));\n};\n//# sourceMappingURL=Accordion.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","import React from 'react';\nexport const TailSpin = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 38 38\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-label\": label },\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { x1: \"8.042%\", y1: \"0%\", x2: \"65.682%\", y2: \"23.865%\", id: \"a\" },\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \"0\", offset: \"0%\" }),\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \".631\", offset: \"63.146%\" }),\n React.createElement(\"stop\", { stopColor: color, offset: \"100%\" }))),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"g\", { transform: \"translate(1 1)\" },\n React.createElement(\"path\", { d: \"M36 18c0-9.94-8.06-18-18-18\", id: \"Oval-2\", stroke: color, strokeWidth: \"2\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { fill: \"#fff\", cx: \"36\", cy: \"18\", r: \"1\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" }))))));\n//# sourceMappingURL=TailSpin.js.map","import React from 'react';\nexport const Grid = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 105 105\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"0s\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"100ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"300ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"600ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"800ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"400ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"700ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"500ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"200ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=Grid.js.map","import React from 'react';\nexport const ThreeDots = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 120 30\", xmlns: \"http://www.w3.org/2000/svg\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"15\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"60\", cy: \"15\", r: \"9\", attributeName: \"fillOpacity\", from: \"1\", to: \"0.3\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"9\", to: \"9\", begin: \"0s\", dur: \"0.8s\", values: \"9;15;9\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"0.5\", to: \"0.5\", begin: \"0s\", dur: \"0.8s\", values: \".5;1;.5\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"105\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=ThreeDots.js.map","import React from 'react';\nimport { TailSpin } from './TailSpin';\nimport { Grid } from './Grid';\nimport { ThreeDots } from './ThreeDots';\nexport const Loader = ({ className, height = 24, width = 24, color = '#588CB0', type = 'TailSpin', }) => {\n switch (type) {\n case 'Grid': {\n return React.createElement(Grid, { className: className, height: height, width: width, color: color });\n }\n case 'ThreeDots': {\n return React.createElement(ThreeDots, { className: className, height: height, width: width, color: color });\n }\n case 'TailSpin':\n default: {\n return React.createElement(TailSpin, { className: className, height: height, width: width, color: color });\n }\n }\n};\n//# sourceMappingURL=Loader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const MainContent = styled.span.withConfig({ displayName: \"vui--MainContent\", componentId: \"vui--exbqdz\" }) `display:inline-flex;align-items:center;gap:${({ hasText }) => (hasText ? '8px' : '4px')};${({ $loading }) => ($loading ? 'opacity: 0;' : null)};svg{width:${({ size }) => sizes[size]};height:${({ size }) => sizes[size]};}`;\nconst BaseButton = styled.button.withConfig({ displayName: \"vui--BaseButton\", componentId: \"vui--nvz516\" }) `position:relative;box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;background-color:transparent;white-space:nowrap;${(props) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n if (props.hasIcon) {\n paddingLeft = '16px';\n }\n if (props.hasDropdown) {\n paddingRight = '16px';\n }\n if (props.size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n if (props.hasIcon) {\n paddingLeft = '8px';\n }\n if (props.hasDropdown) {\n paddingRight = '8px';\n }\n }\n if (!props.hasText) {\n paddingLeft = '8px';\n paddingRight = '8px';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n line-height: ${fontSize};\n `;\n}} &:hover{cursor:pointer;}&:disabled{pointer-events:none;cursor:unset !important;}`;\nexport const DefaultButton = styled(BaseButton).withConfig({ displayName: \"vui--DefaultButton\", componentId: \"vui--1xzjfje\" }) `border-color:${theme.colors.neutral.grey.dark};background-color:white;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);color:${({ hasText }) => hasText ? theme.colors.neutral.ink.base : theme.colors.secondary.blue.base};&:hover{background-color:${theme.colors.neutral.grey.lightest};}&:active{background-color:${theme.colors.neutral.grey.lightest};border-color:${theme.colors.secondary.blue.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{box-shadow:none !important;background-color:${theme.colors.neutral.grey.base} !important;border-color:${theme.colors.neutral.grey.base} !important;color:${theme.colors.neutral.ink.light} !important;}`;\nexport const DefaultDestructiveButton = styled(DefaultButton).withConfig({ displayName: \"vui--DefaultDestructiveButton\", componentId: \"vui--1ixaf03\" }) `color:${theme.colors.secondary.red.base};&:hover{color:${theme.colors.secondary.red.dark};}&:active{border-color:${theme.colors.secondary.red.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};color:${theme.colors.secondary.red.dark};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const PrimaryButton = styled(DefaultButton).withConfig({ displayName: \"vui--PrimaryButton\", componentId: \"vui--16w0ufk\" }) `background-color:${theme.colors.secondary.blue.base};border-color:${theme.colors.secondary.blue.base};color:white;&:hover{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};}&:active{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}`;\nexport const PrimaryDestructiveButton = styled(PrimaryButton).withConfig({ displayName: \"vui--PrimaryDestructiveButton\", componentId: \"vui--1w3lv3r\" }) `background-color:${theme.colors.secondary.red.base};border-color:${theme.colors.secondary.red.base};color:white;&:hover{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};}&:active{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const FlatButton = styled(BaseButton).withConfig({ displayName: \"vui--FlatButton\", componentId: \"vui--fqczse\" }) `border-color:transparent;box-shadow:none;color:${theme.colors.neutral.ink.base};&:hover{background-color:${theme.colors.neutral.grey.light};}&:active{background-color:${theme.colors.neutral.grey.light};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{background-color:transparent;border-color:transparent;}`;\nexport const UnstyledButton = styled.button.withConfig({ displayName: \"vui--UnstyledButton\", componentId: \"vui--1fxilc\" }) `appearance:none;border:0;background-color:transparent;padding:0;font:inherit;&:hover{cursor:pointer;}`;\nexport const LinkButton = styled(UnstyledButton).withConfig({ displayName: \"vui--LinkButton\", componentId: \"vui--z932nb\" }) `display:inline-flex;flex-direction:row;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};line-height:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};text-decoration:${theme.text.link.textDecoration};color:${theme.colors.secondary.blue.base};&:hover{color:${theme.colors.secondary.blue.dark};}& > * + *{margin-left:${theme.sizes.xs};}&:focus-visible{outline:0;box-shadow:0 0 0 4px white,0 0 0 8px ${theme.colors.secondary.blue.light};border-radius:4px;}`;\nexport const LoadingWrapper = styled.div.withConfig({ displayName: \"vui--LoadingWrapper\", componentId: \"vui--1qt232p\" }) `position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin-left:0;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const DropdownIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4 6L8 10L12 6H4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DropdownIcon.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Loader } from '../Loader';\nimport { DefaultButton, DefaultDestructiveButton, PrimaryButton, PrimaryDestructiveButton, FlatButton, LinkButton, UnstyledButton, LoadingWrapper, MainContent, } from './components/styled';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nconst variantMap = {\n default: DefaultButton,\n primary: PrimaryButton,\n destructive: DefaultDestructiveButton,\n primaryDestructive: PrimaryDestructiveButton,\n flat: FlatButton,\n link: LinkButton,\n unstyled: UnstyledButton,\n};\nexport const Button = forwardRef((_a, ref) => {\n var { className, children, iconSlot, variant = 'default', size = 'base', dropdown = false, loading = false } = _a, otherProps = __rest(_a, [\"className\", \"children\", \"iconSlot\", \"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 = !!iconSlot;\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 iconSlot && iconSlot,\n children !== undefined && children,\n dropdown && React.createElement(DropdownIcon, null))),\n loading && (React.createElement(LoadingWrapper, null,\n React.createElement(Loader, null)))));\n});\n//# sourceMappingURL=Button.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--oa1a54\" }) `padding-top:${sizes.md};padding-right:${sizes.md};padding-left:${sizes.md};margin-bottom:${sizes.md};& > * + *{margin-top:${sizes.xs};}`;\nexport const HeaderGrid = styled.div.withConfig({ displayName: \"vui--HeaderGrid\", componentId: \"vui--129vg5d\" }) `/*${sizes.base}*/display:flex;justify-content:flex-end;align-items:center;& > *:first-child{flex:1;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const DownArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.0302 5.52997L7.97021 8.5833L4.91021 5.52997L3.97021 6.46997L7.97021 10.47L11.9702 6.46997L11.0302 5.52997Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DownArrowIcon.js.map","import React from 'react';\nexport const CrossIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: 24, width: 24 }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M19 6.51071L17.4893 5L11.5 10.9893L5.51071 5L4 6.51071L9.98929 12.5L4 18.4893L5.51071 20L11.5 14.0107L17.4893 20L19 18.4893L13.0107 12.5L19 6.51071Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CrossIcon.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const CardHeader = ({ id, title, subtitle, headerVariant = 'headingSmall', action, actionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React.createElement(Header, null,\n React.createElement(HeaderGrid, null,\n React.createElement(Text, { id: id, variant: headerVariant }, title),\n action && (React.createElement(Button, { variant: \"link\", onClick: action.onClick }, action.title)),\n actionSlot,\n onClickCollapse && (React.createElement(Button, { variant: \"flat\", iconSlot: isCollapsed ? React.createElement(DownArrowIcon, null) : React.createElement(UpArrowIcon, null), onClick: onClickCollapse })),\n onClickClose && (React.createElement(Button, { variant: \"flat\", iconSlot: 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 { motion } from 'framer-motion';\nimport { theme } from '../../theme';\nimport { Card } from '../Card';\nexport const DropdownContainer = styled(motion(Card.Surface)).withConfig({ displayName: \"vui--DropdownContainer\", componentId: \"vui--1yrw4mw\" }) `display:inline-flex;flex-direction:column;overflow:hidden;background-color:white;box-shadow:1px 4px 15px ${theme.colors.neutral.grey.base};border-radius:${theme.radius.base};padding:${theme.sizes.base};`;\n//# sourceMappingURL=styled.js.map","import { uid } from 'uid/secure';\nexport const generateId = (prefix) => {\n const randomId = uid();\n if (!prefix)\n return randomId;\n return `${prefix}-${randomId}`;\n};\n//# sourceMappingURL=generateId.js.map","import { PureComponent } from 'react';\nimport { createPortal } from 'react-dom';\nimport { generateId } from '../../utils/generateId';\n/**\n * The portal component renders content on the document `body` unless `rootElementRef` is passed.\n */\nexport class Portal extends PureComponent {\n constructor(props) {\n super(props);\n this.id = generateId('portal');\n this.portalNode = null;\n this.state = {\n isMounted: false,\n };\n }\n componentDidMount() {\n const { rootElementRef } = this.props;\n this.portalNode = document.createElement('div');\n this.portalNode.setAttribute('id', `portal-${this.id}`);\n this.portalNode.style.cssText = 'position: absolute; top: 0; left: 0;';\n if (rootElementRef) {\n rootElementRef === null || rootElementRef === void 0 ? void 0 : rootElementRef.appendChild(this.portalNode);\n }\n else {\n document.body.appendChild(this.portalNode);\n }\n this.setState({ isMounted: true });\n }\n componentWillUnmount() {\n if (this.portalNode) {\n const { rootElementRef } = this.props;\n if (rootElementRef) {\n rootElementRef.removeChild(this.portalNode);\n }\n else {\n document.body.removeChild(this.portalNode);\n }\n }\n }\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return this.portalNode && isMounted ? createPortal(children, this.portalNode) : null;\n }\n}\n//# sourceMappingURL=Portal.js.map","import styled from 'styled-components';\nexport const PopoverDialog = styled.dialog.withConfig({ displayName: \"vui--PopoverDialog\", componentId: \"vui--kmoo2l\" }) `z-index:${({ zIndex }) => zIndex + 1};padding:0;margin:0;border:none;background:transparent;`;\nexport const Backdrop = styled.div.withConfig({ displayName: \"vui--Backdrop\", componentId: \"vui--9esryp\" }) `position:fixed;top:0;right:0;bottom:0;left:0;z-index:${({ zIndex }) => zIndex};`;\n//# sourceMappingURL=styled.js.map","export const buildClassnames = (names) => names.filter(Boolean).join(' ');\n//# sourceMappingURL=buildClassnames.js.map","/**\n * A function to convert hex color to rgb.\n */\nexport const hexToRgb = (hex) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const hexTmp = hex.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b);\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexTmp);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n};\n/**\n * A function to get a hex color with opacity, after converting to `rgba`.\n * @param hex color in hex format\n */\nexport const getOpaqueHexColor = (hex, opacity) => {\n const rgb = hexToRgb(hex);\n if (!rgb)\n return hex;\n return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${opacity})`;\n};\n//# sourceMappingURL=color.js.map","export const defaultAllowedHostnames = ['app.veeqo.com'];\n/**\n * Check if a URL/path string is an external link\n * @param {string} urlOrPath - URL or path\n * @param {string[]} allowedHostnames - List of allowed hostnames - default: ['app.veeqo.com']\n\n * @returns {Boolean}\n */\nexport function isExternalLink(urlOrPath, allowedHostnames = defaultAllowedHostnames) {\n // Check if the string starts with 'http://' or 'https://'\n if (urlOrPath.startsWith('http://') || urlOrPath.startsWith('https://')) {\n const { hostname: urlHostname } = new URL(urlOrPath);\n // Compare the hostname to a list of allowed hostnames\n return !allowedHostnames.some((hostname) => urlHostname.toLowerCase() === hostname.toLowerCase());\n }\n // Check if the string starts with '//'\n if (urlOrPath.startsWith('//')) {\n const { hostname } = new URL(`http:${urlOrPath}`);\n // Compare the hostname to a list of allowed hostnames (case-insensitive)\n return !allowedHostnames.some((allowedHostname) => hostname.toLowerCase() === allowedHostname.toLowerCase());\n }\n // It's a partial path, consider it internal\n return false;\n}\n//# sourceMappingURL=isExternalLink.js.map","/* eslint-disable no-console */\n/* eslint-disable consistent-return */\nimport { useEffect } from 'react';\n/**\n * Update the anchor element to sent the required attributes if they haven't already set them.\n *\n * This allows current, inaccesible usages to be improved.\n */\nexport const useUpdateAriaAnchor = ({ anchorElement, popoverId, ignoreAriaWarnings = false, }) => {\n useEffect(() => {\n if (!anchorElement || ignoreAriaWarnings)\n return;\n // Try and set aria-expanded on the anchor.\n try {\n if (!anchorElement.hasAttribute('aria-expanded')) {\n console.warn('Popover - aria-expanded not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-expanded', 'true');\n }\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${true}`);\n }\n // Try and set aria controls, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-controls')) {\n console.warn('Popover - aria-controls not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-controls', popoverId);\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-controls for popover id: ${popoverId}`);\n }\n // Try and set aria-haspopup, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-haspopup')) {\n console.warn('Popover - aria-haspopup not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-haspopup', 'dialog');\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-haspopup for popover id: ${popoverId}`);\n }\n // On unmount set aria-expanded to false\n return () => {\n try {\n anchorElement.setAttribute('aria-expanded', 'false');\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${false}`);\n }\n };\n }, [anchorElement, popoverId, ignoreAriaWarnings]);\n};\n//# sourceMappingURL=useUpdateAriaAnchor.js.map","import { useEffect } from 'react';\nconst TABBABLE_SELECTORS = 'input:not([disabled]), summary:not([disabled]), a[href]:not([disabled]), button:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\nexport const useHandleFocus = ({ popperElement, anchorElement, onClose, disableFocusLock = false, }) => {\n /**\n * Focuses first element, when this gets rendered for the first time.\n */\n useEffect(() => {\n if (!popperElement || disableFocusLock)\n return;\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n if (focusableElements.length < 1)\n return;\n setTimeout(() => {\n focusableElements[0].focus();\n }, 0);\n }, [popperElement, disableFocusLock]);\n /**\n * Sets up tabbing into the popover.\n *\n * When the popover is open (pre-requisite for this being ran), and the user clicks `TAB`\n * then the tab should move **into** the popover, instead of the natural tab order.\n */\n useEffect(() => {\n if (!popperElement || !popperElement)\n return;\n const focusWithinPopper = (event) => {\n if (event.key === 'Tab' && !event.shiftKey) {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n // When nothing is focusable within the popover, close popover and allow natural tab order.\n if (focusableElements.length < 1) {\n onClose();\n return;\n }\n focusableElements[0].focus();\n event.stopPropagation();\n event.preventDefault();\n }\n };\n // When tab occurs on ref focus, if focusable elements in popover focus first.\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.addEventListener('keydown', focusWithinPopper);\n // eslint-disable-next-line consistent-return\n return () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.removeEventListener('keydown', focusWithinPopper);\n }, [anchorElement, popperElement, onClose]);\n /**\n * Creates focus trap within the popover itself. Stopping users tabbing back to outside the\n * popover, or forward past the last scrollable element within.\n */\n const handleFocusTrap = (event) => {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n const firstElement = focusableElements[0];\n const lastElement = focusableElements[focusableElements.length - 1];\n // If shift tabbing (BACK) and on the first element, loop to last element.\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n // If tabbing (FORWARD) and on the last element, loop to first element.\n }\n else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n };\n const handleKeyDown = (event) => {\n if (!popperElement)\n return;\n // Handle escape\n if (event.key === 'Escape') {\n onClose();\n event.stopPropagation(); // Should only close THIS dialog.\n event.preventDefault(); // Shouldn't close any fullscreen dialogs (Modal) it's part of\n // Check we should enforce focus trap.\n }\n else if (!disableFocusLock && event.key === 'Tab') {\n handleFocusTrap(event);\n }\n };\n return {\n handleKeyDown,\n };\n};\n//# sourceMappingURL=useHandleFocus.js.map","import { __rest } from \"tslib\";\n/* eslint-disable consistent-return */\nimport React, { useState, useEffect, useMemo } from 'react';\nimport { usePopper } from 'react-popper';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Portal } from '../Portal';\nimport { theme } from '../../theme';\nimport { PopoverDialog, Backdrop } from './styled';\nimport { generateId } from '../../utils';\nimport { useUpdateAriaAnchor } from './hooks/useUpdateAriaAnchor';\nimport { useHandleFocus } from './hooks/useHandleFocus';\nexport const Popover = (_a) => {\n var { id: passedId, children, zIndex = theme.layers.popup, placement = 'bottom', anchorElement, rootElementRef, onShouldClose, style, disableFocusLock, removeBackdrop = false, useAnchorWidth, ignoreAriaWarnings } = _a, dialogProps = __rest(_a, [\"id\", \"children\", \"zIndex\", \"placement\", \"anchorElement\", \"rootElementRef\", \"onShouldClose\", \"style\", \"disableFocusLock\", \"removeBackdrop\", \"useAnchorWidth\", \"ignoreAriaWarnings\"]);\n // Set up PopperJS\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes, update } = usePopper(anchorElement, popperElement, { placement });\n // Setup popover id to use passed, or generate its' own.\n const id = useMemo(() => passedId || generateId('popover'), [passedId]);\n // Check and update aria for anchor, only works once this has rendered for the first time though.\n useUpdateAriaAnchor({ anchorElement, popoverId: id, ignoreAriaWarnings });\n const onClose = () => {\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus();\n onShouldClose === null || onShouldClose === void 0 ? void 0 : onShouldClose();\n };\n const { handleKeyDown } = useHandleFocus({\n popperElement,\n anchorElement,\n onClose,\n disableFocusLock,\n });\n /**\n * When content size is changed, force popper update\n */\n useEffect(() => {\n if (!update || !popperElement)\n return;\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(popperElement);\n return () => resizeObserver.disconnect();\n }, [update, popperElement]);\n /**\n * When window is resized, force popper update\n */\n useEffect(() => {\n if (!update)\n return;\n window.addEventListener('resize', update);\n return () => window.removeEventListener('resize', update);\n }, [update]);\n return (React.createElement(Portal, { rootElementRef: rootElementRef },\n !removeBackdrop && (React.createElement(Backdrop, { onClick: onClose, zIndex: zIndex, \"data-testid\": \"popover-backdrop\" })),\n React.createElement(PopoverDialog, Object.assign({ open: true, id: id, zIndex: zIndex, ref: setPopperElement, style: Object.assign(Object.assign(Object.assign({}, styles.popper), style), (useAnchorWidth ? { minWidth: anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.clientWidth } : {})), onKeyDown: handleKeyDown }, attributes.popper, dialogProps), children)));\n};\n//# sourceMappingURL=Popover.js.map","import { __rest } from \"tslib\";\nimport React, { useEffect } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { DropdownContainer } from './styled';\nimport { Popover } from '../Popover';\nexport const DropdownPopover = (_a) => {\n var { id, children, className, style, reversed, anchorElement, useAnchorWidth, onShouldClose } = _a, popoverProps = __rest(_a, [\"id\", \"children\", \"className\", \"style\", \"reversed\", \"anchorElement\", \"useAnchorWidth\", \"onShouldClose\"]);\n useEffect(() => () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus(), [anchorElement]); // Re-focus anchor when closed.\n return (React.createElement(Popover, Object.assign({ id: id, \"data-testid\": id, anchorElement: anchorElement, onShouldClose: onShouldClose, useAnchorWidth: useAnchorWidth, placement: \"bottom-start\" }, popoverProps),\n React.createElement(AnimatePresence, null,\n React.createElement(DropdownContainer, { className: className, style: style, useAnchorWidth: useAnchorWidth, reversed: reversed, initial: { opacity: 0, y: -6 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -6 }, transition: { duration: 0.2 } }, children))));\n};\n//# sourceMappingURL=DropdownPopover.js.map","import { __rest } from \"tslib\";\nimport React, { useRef } from 'react';\nimport { Button } from '../Button';\nimport { DropdownPopover } from './DropdownPopover';\nexport const Dropdown = (_a) => {\n var { id, shouldShow, setShouldShow, ctaIconSlot, ctaProps } = _a, dropdownProps = __rest(_a, [\"id\", \"shouldShow\", \"setShouldShow\", \"ctaIconSlot\", \"ctaProps\"]);\n const anchorRef = useRef(null);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, Object.assign({ ref: anchorRef, \"aria-haspopup\": \"dialog\", \"aria-expanded\": shouldShow, \"aria-controls\": id, onClick: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(!shouldShow), iconSlot: ctaIconSlot, dropdown: true }, ctaProps)),\n shouldShow && (React.createElement(DropdownPopover, Object.assign({ id: id, anchorElement: anchorRef.current, onShouldClose: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(false) }, dropdownProps)))));\n};\n//# sourceMappingURL=Dropdown.js.map","import { useCallback, useEffect, useRef } from 'react';\n/**\n * Close a menu or modal by clicking out of it\n */\nexport const useClickOutside = (isOpen, onClose) => {\n const ref = useRef(null);\n const escapeListener = useCallback((e) => {\n if (e.key === 'Escape') {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n const clickListener = useCallback((e) => {\n if (!ref.current.contains(e.target)) {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', clickListener);\n document.addEventListener('keyup', escapeListener);\n return () => {\n document.removeEventListener('click', clickListener);\n document.removeEventListener('keyup', escapeListener);\n };\n }\n return undefined;\n }, [clickListener, escapeListener, isOpen]);\n return ref;\n};\n//# sourceMappingURL=useClickOutside.js.map","import { useState, useEffect } from 'react';\nexport const useDebounce = (value, timeout) => {\n const [state, setState] = useState(value);\n useEffect(() => {\n // Set timeout to run after delay\n const handler = setTimeout(() => setState(value), timeout);\n // clear the setTimeout listener on unMount\n return () => clearTimeout(handler);\n }, [value, timeout]);\n return state;\n};\n//# sourceMappingURL=useDebounce.js.map","import { useState, useCallback } from 'react';\nexport const useDropdown = ({ anchorElement } = {}) => {\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const toggleShouldShowDropdown = useCallback(() => setShouldShowDropdown(!shouldShowDropdown), [shouldShowDropdown, setShouldShowDropdown]);\n const closeDropdown = useCallback(() => {\n setShouldShowDropdown(false);\n // Refocus anchor element after closing dropdown.\n setTimeout(() => {\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus();\n }, 0);\n }, [setShouldShowDropdown, anchorElement]);\n return {\n shouldShowDropdown,\n toggleShouldShowDropdown,\n setShouldShowDropdown,\n closeDropdown,\n };\n};\n//# sourceMappingURL=useDropdown.js.map","import React, { useEffect, useState } from 'react';\n// A React hook based on: https://github.com/WICG/focus-visible\nexport const FocusVisibleContext = React.createContext({\n hadKeyboardEvent: true,\n isInitialized: false,\n});\nexport function FocusVisibleManager({ children }) {\n const [hadKeyboardEvent, setHadKeyboardEvent] = useState(true);\n useEffect(() => {\n function onPointerDown() {\n setHadKeyboardEvent(false);\n }\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on <html> whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n setHadKeyboardEvent(false);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n removeInitialPointerMoveListeners();\n }\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n setHadKeyboardEvent(true);\n }\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange() {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n setHadKeyboardEvent(true);\n addInitialPointerMoveListeners();\n }\n }\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n return () => {\n document.removeEventListener('keydown', onKeyDown, true);\n document.removeEventListener('mousedown', onPointerDown, true);\n document.removeEventListener('pointerdown', onPointerDown, true);\n document.removeEventListener('touchstart', onPointerDown, true);\n document.removeEventListener('visibilitychange', onVisibilityChange, true);\n removeInitialPointerMoveListeners();\n };\n }, [setHadKeyboardEvent]);\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n React.createElement(FocusVisibleContext.Provider, { value: { hadKeyboardEvent, isInitialized: true } }, children));\n}\nexport function useFocusVisible() {\n const [isFocused, setIsFocused] = React.useState(false);\n const { hadKeyboardEvent, isInitialized } = React.useContext(FocusVisibleContext);\n const onFocus = React.useCallback(() => {\n if (!isFocused)\n setIsFocused(true);\n }, [isFocused]);\n const onBlur = React.useCallback(() => {\n if (isFocused)\n setIsFocused(false);\n }, [isFocused]);\n let focusVisible;\n if (isInitialized) {\n focusVisible = hadKeyboardEvent && isFocused;\n }\n else {\n // Fallback to focused when the `FocusVisibleManager` is not used.\n focusVisible = isFocused;\n }\n return React.useMemo(() => ({\n focusVisible,\n onFocus,\n onBlur,\n }), [focusVisible, onBlur, onFocus]);\n}\n//# sourceMappingURL=useFocusVisible.js.map","import { useState, useCallback } from 'react';\nexport const useHover = (initialState = false) => {\n const [isHovered, setIsHovered] = useState(initialState);\n const handleEnter = useCallback(() => setIsHovered(true), [setIsHovered]);\n const handleLeave = useCallback(() => setIsHovered(false), [setIsHovered]);\n return [isHovered, handleEnter, handleLeave];\n};\n//# sourceMappingURL=useHover.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to check if a component's contents are overflowing from its boundaries\n * (scrollbar is visible).\n */\nexport const useIsOverflowing = (ref) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [isAtBottom, setIsAtBottom] = useState(false);\n useEffect(() => {\n if (!ref)\n return;\n const resizeObserver = new ResizeObserver(() => {\n const hasOverflow = ref.scrollHeight > ref.clientHeight;\n setIsOverflowing(hasOverflow);\n });\n resizeObserver.observe(ref);\n // eslint-disable-next-line consistent-return\n return () => { resizeObserver.disconnect(); };\n }, [ref]);\n const onScroll = (event) => {\n if (!ref)\n return;\n const { scrollTop, scrollHeight, clientHeight } = event.target;\n setIsAtBottom(scrollHeight - scrollTop - clientHeight <= 0);\n };\n return { isOverflowing: isOverflowing && !isAtBottom, onScroll };\n};\n//# sourceMappingURL=useIsOverflowing.js.map","import { useState } from 'react';\nexport const useTabs = (tabs, config) => {\n const { defaultActiveIndex = 0 } = config || {};\n const [listOfTabs] = useState(tabs);\n const [active, setActive] = useState(listOfTabs[defaultActiveIndex]);\n return [\n active,\n (key) => {\n const newActiveTab = listOfTabs.find((tab) => tab.key === key);\n if (newActiveTab) {\n setActive(newActiveTab);\n }\n },\n ];\n};\n//# sourceMappingURL=useTabs.js.map","import { useMemo } from 'react';\nimport { generateId } from '../utils';\nexport const useId = ({ id, prefix }) => useMemo(() => id || generateId(prefix), [id, prefix]);\n//# sourceMappingURL=useId.js.map","import { MenuItem as AriaMenuItem, Section as AriaSection } from 'react-aria-components';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { getTextStyles } from '../../theme/utils';\nexport const MenuItem = styled(AriaMenuItem).withConfig({ displayName: \"vui--MenuItem\", componentId: \"vui--1vhrzmz\" }) `display:grid;grid-template-areas:'label''description';cursor:pointer;margin:${theme.sizes.xs};padding:${theme.sizes.sm};border-radius:${theme.radius.base};outline:0;&:is(a){${getTextStyles(theme.text.link)}}&:is(div){${getTextStyles(theme.text.body)}}white-space:nowrap;&[data-focused]{color:${theme.colors.secondary.blue.base};box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}&[data-hovered]{background-color:${theme.colors.neutral.grey.light};}&[data-disabled]{cursor:not-allowed;background-color:${theme.colors.neutral.grey.lightest};color:${theme.colors.neutral.ink.light};}[slot='label']{grid-area:label;}[slot='description']{grid-area:description;color:${theme.colors.neutral.ink.light};font-size:12px;}`;\nexport const Section = styled(AriaSection).withConfig({ displayName: \"vui--Section\", componentId: \"vui--1lpesff\" }) `&:not(:first-child){margin-top:0.5rem;border-top:1px solid ${theme.colors.neutral.grey.base};padding-top:0.5rem;}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { Menu, Text } from 'react-aria-components';\nimport { Dropdown } from '../Dropdown';\nimport { useId } from '../../hooks';\nimport { MenuItem, Section } from './styled';\nexport const ActionMenu = ({ id, menuLabel, ctaProps, actions, children }) => {\n var _a;\n const [shouldShow, setShouldShow] = useState(false);\n const idComputed = useId({ id, prefix: 'action-menu' });\n const onKeyDown = (e) => {\n if (e.code === 'Escape' || e.code === 'Tab')\n setShouldShow(false);\n e.preventDefault();\n };\n return (React.createElement(Dropdown, { id: idComputed, style: { padding: '0' }, shouldShow: shouldShow, setShouldShow: setShouldShow, ctaProps: Object.assign({ size: 'sm' }, ctaProps), useAnchorWidth: true, onKeyDown: onKeyDown },\n React.createElement(Menu, { onClose: () => setShouldShow(false), \"aria-label\": menuLabel || ((_a = ctaProps.children) === null || _a === void 0 ? void 0 : _a.toString()) }, actions === null || actions === void 0 ? void 0 :\n actions.map((action) => {\n var _a;\n return (React.createElement(MenuItem, Object.assign({}, action, { key: action.id || ((_a = action.children) === null || _a === void 0 ? void 0 : _a.toString()) })));\n }),\n children)));\n};\nActionMenu.Item = MenuItem;\nActionMenu.Section = Section;\nActionMenu.Text = Text;\n//# sourceMappingURL=ActionMenu.js.map","export var Alignments;\n(function (Alignments) {\n Alignments[\"start\"] = \"flex-start\";\n Alignments[\"center\"] = \"center\";\n Alignments[\"end\"] = \"flex-end\";\n Alignments[\"stretch\"] = \"stretch\";\n Alignments[\"between\"] = \"space-between\";\n Alignments[\"around\"] = \"space-around\";\n})(Alignments || (Alignments = {}));\n//# sourceMappingURL=Alignments.js.map","import styled from 'styled-components';\nimport { Alignments } from './Alignments';\nimport { theme } from '../../theme';\n/**\n * Layout component.\n */\nexport const Stack = styled.div.withConfig({ displayName: \"vui--Stack\", componentId: \"vui--1mxdupo\" }) `display:flex;${(props) => {\n const { direction = 'vertical', alignX = 'start', alignY = 'start', spacing = 'base' } = props;\n let alignItems;\n let justifyContent;\n let flexDirection;\n let itemFlex;\n let marginTop = '';\n let marginLeft = '';\n if (direction === 'vertical') {\n alignItems = alignX && Alignments[alignX];\n justifyContent = alignY && Alignments[alignY];\n marginTop = theme.sizes[spacing];\n flexDirection = 'column';\n }\n else {\n alignItems = alignY && Alignments[alignY];\n justifyContent = alignX && Alignments[alignX];\n marginLeft = theme.sizes[spacing];\n flexDirection = 'row';\n }\n // These options result in 'justify-content: stretch' which doesn't exist,\n // so instead we set the flex of child elements\n if ((direction === 'vertical' && alignY === 'stretch') ||\n (direction === 'horizontal' && alignX === 'stretch')) {\n itemFlex = 1;\n }\n return `\n align-items: ${alignItems};\n justify-content: ${justifyContent};\n flex-direction: ${flexDirection};\n\n & > * {\n flex: ${itemFlex};\n }\n\n & > * + * {\n margin-top: ${marginTop};\n margin-left: ${marginLeft};\n }\n `;\n}}`;\nStack.displayName = 'Stack';\n//# sourceMappingURL=Stack.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nexport const AlertContainer = styled(Stack).attrs({\n direction: 'horizontal',\n alignX: 'between',\n alignY: 'top',\n spacing: 0,\n}).withConfig({ displayName: \"vui--AlertContainer\", componentId: \"vui--yb86nz\" }) `border:1px solid ${({ colours: { primary } }) => primary};border-radius:${theme.radius.base};background-color:${({ colours: { background } }) => background};`;\n//# sourceMappingURL=styled.js.map","import { theme } from '../../../theme';\nexport const SpacingMap = {\n base: theme.sizes.base,\n sm: theme.sizes[3],\n xs: theme.sizes.sm,\n};\nexport const IconSizeMap = {\n base: theme.sizes.md,\n sm: theme.sizes[5],\n xs: theme.sizes[5],\n};\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const AttentionIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 15H13V17H11V15ZM11 7H13V13H11V7ZM11.99 2C6.47 2 2 6.48 2 12C2 17.52 6.47 22 11.99 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 11.99 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=AttentionIcon.js.map","import React from 'react';\nexport const HelpIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 18H13V16H11V18ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 12 11 11.75 11 15H13C13 12.75 16 12.5 16 10C16 7.79 14.21 6 12 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=HelpIcon.js.map","import React from 'react';\nexport const InfoIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M2 12C2 6.48 6.48 2 12 2C17.52 2 22 6.48 22 12C22 17.52 17.52 22 12 22C6.48 22 2 17.52 2 12ZM4 12C4 16.41 7.59 20 12 20C16.41 20 20 16.41 20 12C20 7.59 16.41 4 12 4C7.59 4 4 7.59 4 12Z\", fill: \"currentColor\" }),\n React.createElement(\"circle\", { cx: \"12\", cy: \"7\", r: \"1\", fill: \"currentColor\" }),\n React.createElement(\"path\", { d: \"M10 16H11V11H10V10H13V16H14V17H10V16Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=InfoIcon.js.map","import React from 'react';\nexport const SuccessIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM14.7708 8L10.0856 13.2468L8.22925 11.1679L7 12.5445L10.0856 16L16 9.37661L14.7708 8ZM20.1818 12C20.1818 16.5187 16.5187 20.1818 12 20.1818C7.48131 20.1818 3.81818 16.5187 3.81818 12C3.81818 7.48131 7.48131 3.81818 12 3.81818C16.5187 3.81818 20.1818 7.48131 20.1818 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SuccessIcon.js.map","import { theme } from 'Theme';\nimport { AttentionIcon } from '../../tempIcons/AttentionIcon';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nimport { RecommendIcon } from '../../tempIcons/RecommendIcon';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { WarningIcon } from '../../tempIcons/WarningIcon';\nexport const IconMap = {\n default: InfoIcon,\n error: AttentionIcon,\n success: SuccessIcon,\n info: HelpIcon,\n warning: WarningIcon,\n recommend: RecommendIcon,\n};\nexport const ColourMap = {\n default: {\n primary: theme.colors.neutral.ink.base,\n background: theme.colors.neutral.grey.lightest,\n },\n error: {\n primary: theme.colors.secondary.red.base,\n background: theme.colors.secondary.red.lightest,\n },\n success: {\n primary: theme.colors.secondary.green.base,\n background: theme.colors.secondary.green.lightest,\n },\n info: {\n primary: theme.colors.secondary.blue.base,\n background: theme.colors.secondary.blue.lightest,\n },\n warning: {\n primary: theme.colors.secondary.orange.base,\n background: theme.colors.secondary.orange.lightest,\n },\n recommend: {\n primary: theme.colors.secondary.purple.dark,\n background: theme.colors.secondary.purple.lightest,\n },\n};\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const WarningIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"currentColor\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\", fill: \"none\" }),\n React.createElement(\"path\", { d: \"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\" })));\n//# sourceMappingURL=WarningIcon.js.map","import React from 'react';\nexport const RecommendIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 22 22\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M18 8L19.25 5.25L22 4L19.25 2.75L18 0L16.75 2.75L14 4L16.75 5.25L18 8Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M18 14L16.75 16.75L14 18L16.75 19.25L18 22L19.25 19.25L22 18L19.25 16.75L18 14Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M10.5 8.5L8 3L5.5 8.5L0 11L5.5 13.5L8 19L10.5 13.5L16 11L10.5 8.5ZM8.99 11.99L8 14.17L7.01 11.99L4.83 11L7.01 10.01L8 7.83L8.99 10.01L11.17 11L8.99 11.99Z\", fill: \"#694090\" })));\n//# sourceMappingURL=RecommendIcon.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { AlertContainer } from './styled';\nimport { IconSizeMap, SpacingMap } from './constants';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { Stack } from '../../Stack';\nimport { Button } from '../../Button';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nimport { ColourMap, IconMap } from '../constants';\nexport const Alert = (_a) => {\n var { size = 'base', variant = 'default', colours: passedColours, rightActions, rightActionsSlot, title, titleSlot, messageSlot, message, children, iconSlot, onClickClose } = _a, divProps = __rest(_a, [\"size\", \"variant\", \"colours\", \"rightActions\", \"rightActionsSlot\", \"title\", \"titleSlot\", \"messageSlot\", \"message\", \"children\", \"iconSlot\", \"onClickClose\"]);\n const colours = passedColours !== null && passedColours !== void 0 ? passedColours : ColourMap[variant];\n const IconSlot = iconSlot || IconMap[variant];\n const isXsSize = size === 'xs';\n return (React.createElement(AlertContainer, Object.assign({ colours: colours, direction: \"horizontal\", alignX: \"between\", spacing: \"0\" }, divProps),\n React.createElement(Stack, { direction: \"horizontal\", alignY: isXsSize ? 'center' : 'start', style: { margin: SpacingMap[size], gap: SpacingMap[size] }, spacing: 0 },\n React.createElement(IconSlot, { \"aria-hidden\": true, style: {\n minWidth: IconSizeMap[size],\n minHeight: IconSizeMap[size],\n width: IconSizeMap[size],\n height: IconSizeMap[size],\n }, color: colours.primary }),\n children || (React.createElement(Stack, { direction: \"vertical\", spacing: isXsSize ? 0 : 'xs' },\n titleSlot || (React.createElement(Text, { variant: isXsSize ? 'bodySmallBold' : 'bodyBold', style: size === 'base' ? { lineHeight: '24px' } : {} }, title)),\n messageSlot || React.createElement(Text, { variant: isXsSize ? 'bodySmall' : 'body' }, message)))),\n React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", spacing: 0, style: {\n margin: isXsSize ? undefined : theme.sizes[3],\n gap: isXsSize ? undefined : SpacingMap[size],\n alignItems: 'center',\n } },\n rightActionsSlot,\n rightActions && (React.createElement(Stack, { alignY: \"center\", spacing: 0, style: { gap: SpacingMap[size] } }, rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\", size: \"sm\" }, actionProps), label));\n }))),\n onClickClose && (React.createElement(Stack, { alignY: isXsSize ? 'center' : 'start', style: { height: '100%', padding: isXsSize ? theme.sizes.xs : undefined } },\n React.createElement(Button, { variant: \"flat\", iconSlot: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\", size: \"sm\" }))))));\n};\n//# sourceMappingURL=Alert.js.map","import { theme } from 'Theme';\nexport const TextColourMap = {\n default: theme.colors.neutral.ink.dark,\n error: theme.colors.secondary.red.darkest,\n success: theme.colors.neutral.ink.dark,\n info: theme.colors.neutral.ink.dark,\n warning: theme.colors.neutral.ink.dark,\n recommend: theme.colors.neutral.ink.dark,\n};\nexport const IconStyles = {\n minWidth: theme.sizes[4],\n minHeight: theme.sizes[4],\n width: theme.sizes[4],\n height: theme.sizes[4],\n};\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from 'Theme';\nexport const MiniAlertContainer = styled.div.withConfig({ displayName: \"vui--MiniAlertContainer\", componentId: \"vui--1n2xu5o\" }) `display:flex;gap:${theme.sizes.xs};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { ColourMap, IconMap } from '../constants';\nimport { Text } from '../../Text';\nimport { IconStyles, TextColourMap } from './constants';\nimport { MiniAlertContainer } from './styled';\nexport const MiniAlert = ({ title, variant = 'default', iconSlot, customTitleColour, customIconColour, }) => {\n const IconSlot = iconSlot || IconMap[variant];\n const iconColour = customIconColour !== null && customIconColour !== void 0 ? customIconColour : ColourMap[variant].primary;\n const titleColour = customTitleColour !== null && customTitleColour !== void 0 ? customTitleColour : TextColourMap[variant];\n return (React.createElement(MiniAlertContainer, null,\n React.createElement(IconSlot, { \"aria-hidden\": true, color: iconColour, style: IconStyles }),\n React.createElement(Text, { variant: \"bodySmallBold\", style: { color: titleColour } }, title)));\n};\n//# sourceMappingURL=MiniAlert.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const CommonAnchor = styled.a.withConfig({ displayName: \"vui--CommonAnchor\", componentId: \"vui--14i39s8\" }) `box-sizing:border-box;display:inline-flex;margin:0;padding:0;font-family:${theme.text.link.fontFamily};font-style:${theme.text.link.fontStyle};font-weight:${theme.text.link.fontWeight};font-size:${theme.text.link.fontSize};line-height:${theme.text.link.lineHeight};color:${theme.colors.secondary.blue.base};text-decoration:${theme.text.link.textDecoration};&:hover{color:${theme.colors.secondary.blue.dark};}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { CommonAnchor } from './styled';\nimport { defaultAllowedHostnames, isExternalLink } from '../../utils/isExternalLink';\nexport const Anchor = (_a) => {\n var { children, href, rel, allowedHostnames = defaultAllowedHostnames } = _a, props = __rest(_a, [\"children\", \"href\", \"rel\", \"allowedHostnames\"]);\n // Determine if the link is external based on the allowed hostnames\n const isExternal = isExternalLink(href, allowedHostnames);\n // Set default rel property for external links\n const setDefaultRelValue = rel || (isExternal ? 'noopener noreferrer' : undefined);\n return (React.createElement(CommonAnchor, Object.assign({ href: href, rel: setDefaultRelValue }, props), children));\n};\n//# sourceMappingURL=Anchor.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../../BaseContainer/BaseContainer';\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--r1m0qe\" }) `display:inline-flex;background-color:#ffffff;box-shadow:1px 4px 15px rgba(27, 33, 38, 0.25);border-radius:4px;overflow:hidden;`;\n//# sourceMappingURL=styled.js.map","import React, { forwardRef } from 'react';\nimport { Container } from './styled';\nexport const BasicDropdown = forwardRef((props, ref) => {\n const { children, className, role } = props;\n return (React.createElement(Container, { className: className, ref: ref, role: role }, children));\n});\n//# sourceMappingURL=BasicDropdown.js.map","import styled from 'styled-components';\nimport { BasicDropdown } from './components/BasicDropdown';\nimport { BaseContainer as BasicContainer } from '../BaseContainer/BaseContainer';\nimport { theme } from '../../theme';\nconst Container = styled(BasicContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--q4276w\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;`;\nconst Wrap = styled(BasicContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--cfebb1\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-width:100%;`;\nconst Dropdown = styled(BasicDropdown).withConfig({ displayName: \"vui--Dropdown\", componentId: \"vui--u4w0zl\" }) `flex-direction:column;position:absolute;z-index:${theme.layers.popup};${(props) => (props.reversed ? 'bottom: 8px;' : 'top: 6px;')} &.dropdown-enter{opacity:0;transform:translateY(-6px);}&.dropdown-enter-active{opacity:1;transition:all 200ms;transform:translateY(0px);}&.dropdown-exit{opacity:1;transform:translateY(0px);}&.dropdown-exit-active{opacity:0;transition:all 200ms;transform:translateY(-6px);}`;\nexport { Wrap, Dropdown, Container };\n//# sourceMappingURL=styled.js.map","import React, { useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { Wrap, Dropdown, Container } from './styled';\nimport { useClickAway } from './hooks/useClickAway';\nexport const AnimatedDropdown = ({ cta, shouldShowDropdown, children, className = 'animated-dropdown', reversed = false, onClickAway = () => { }, timeout = 350, transitionClassnames = 'dropdown', onClick, onMouseEnter, onMouseLeave, }) => {\n const dropdownRef = useRef(null);\n useClickAway(dropdownRef, (event) => {\n if (shouldShowDropdown) {\n onClickAway(event);\n }\n });\n return (React.createElement(Container, { className: `${className}-container ${className}`, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, ref: dropdownRef },\n !reversed && cta,\n React.createElement(Wrap, { className: `${className}-wrap ${className}` },\n React.createElement(CSSTransition, { in: shouldShowDropdown, timeout: timeout, classNames: transitionClassnames, unmountOnExit: true },\n React.createElement(Dropdown, { role: \"dialog\", reversed: reversed, className: `${className}-basic-dropdown ${className}` }, children))),\n reversed && cta));\n};\n//# sourceMappingURL=AnimatedDropdown.js.map","import { useEffect } from 'react';\nexport const useClickAway = (ref, onClickAway) => {\n useEffect(() => {\n const handleClickAway = (event) => {\n if (ref.current && !ref.current.contains(event.target)) {\n onClickAway(event);\n }\n };\n document.addEventListener('mousedown', handleClickAway);\n return () => {\n document.removeEventListener('mousedown', handleClickAway);\n };\n }, [ref, onClickAway]);\n};\n//# sourceMappingURL=useClickAway.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const AvatarSC = styled.div.withConfig({ displayName: \"vui--AvatarSC\", componentId: \"vui--1gxc5tv\" }) `width:${(props) => props.width};height:${(props) => props.width};border:3px solid ${theme.colors.neutral.grey.base};color:${(props) => props.textColor};background-color:${(props) => props.bgColor};cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center;background-size:cover;span{font-family:${theme.text.bodySmallBold.fontFamily};font-weight:${theme.text.bodySmallBold.fontWeight};font-size:${theme.text.bodySmallBold.fontSize};line-height:${theme.text.bodySmallBold.lineHeight};}`;\n//# sourceMappingURL=styled.js.map","/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { AvatarSC } from './styled';\nexport const Avatar = ({ width = '40px', name = 'Veeqo', bgColor = theme.colors.secondary.blue.base, textColor = '#ffffff', }) => {\n const userInitials = name.toUpperCase().match(/\\b(\\w)/g);\n return (React.createElement(AvatarSC, { width: width, bgColor: bgColor, textColor: textColor, className: \"avatar\" }, userInitials === null || userInitials === void 0 ? void 0 : userInitials.slice(0, 2).map((initial, i) => React.createElement(\"span\", { key: `${initial}-${i}` }, initial))));\n};\n//# sourceMappingURL=Avatar.js.map","import styled from 'styled-components';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1exlfc5\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--up3fpq\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--gpqzg1\" }) `color:${theme.colors.neutral.grey.lightest};white-space:pre-line;overflow-wrap:break-word;display:inline;`;\nconst Triangle = styled.div.withConfig({ displayName: \"vui--Triangle\", componentId: \"vui--1f7lcs5\" }) `background-color:#333;height:16px;width:16px;position:absolute;transform:rotate(45deg);z-index:12;`;\nconst Tip = styled.div.withConfig({ displayName: \"vui--Tip\", componentId: \"vui--143ip1u\" }) `transition:${({ duration }) => `opacity ${duration}ms`};&.tip-enter{opacity:0;}&.tip-enter-active{opacity:1;}&[data-popper-placement^='top-start'] > #veeqo-components-triangle{left:8px;bottom:0px;}&[data-popper-placement^='top-end'] > #veeqo-components-triangle{right:8px;bottom:0px;}&[data-popper-placement^='bottom-start'] > #veeqo-components-triangle{left:8px;top:-4px;}&[data-popper-placement^='bottom-end'] > #veeqo-components-triangle{right:8px;top:-4px;}`;\nconst Wrap = styled(Container).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--e33d0s\" }) `font-size:14px;overflow:hidden;padding:16px 20px;border-radius:4px;box-shadow:0 6px 1em -0.5em rgba(0, 0, 0, 0.35);background:#333;color:#fff;z-index:10;min-width:${({ tipMinWidth }) => tipMinWidth}px;max-width:${({ tipMaxWidth }) => tipMaxWidth}px;`;\nexport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle };\n//# sourceMappingURL=styled.js.map","export var Sides;\n(function (Sides) {\n Sides[\"BOTTOM\"] = \"bottom\";\n Sides[\"TOP\"] = \"top\";\n})(Sides || (Sides = {}));\n//# sourceMappingURL=types.js.map","import React, { useState } from 'react';\nimport { usePopper } from 'react-popper';\nimport { Tip, TooltipText, Triangle, Wrap } from './styled';\nimport { Sides } from '../types';\nimport { theme } from '../../../theme';\nconst defaultConfig = {\n duration: 400,\n side: Sides.TOP,\n triangleOffset: 8,\n tipMinWidth: 60,\n tipMaxWidth: 340,\n};\nexport const TooltipPopover = ({ content, text, hoverableElement, config, reversed, withTriangle, classNames, }) => {\n const [popperElement, setPopperElement] = useState(null);\n const usedConfig = Object.assign(Object.assign({}, defaultConfig), config);\n const { duration, side, triangleOffset, tipMinWidth, tipMaxWidth } = usedConfig;\n const { styles, attributes } = usePopper(hoverableElement, popperElement, {\n placement: `${side}-${reversed ? 'end' : 'start'}`,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 10],\n },\n },\n ],\n });\n const tooltipStyles = Object.assign(Object.assign({}, styles.popper), { zIndex: theme.layers.tooltip });\n return (React.createElement(Tip, Object.assign({ className: classNames.tip, ref: setPopperElement, duration: duration, triangleOffsetSize: triangleOffset, style: tooltipStyles }, attributes.popper, { role: \"tooltip\" }),\n React.createElement(Wrap, { className: classNames.wrap, tipMinWidth: tipMinWidth, tipMaxWidth: tipMaxWidth }, content !== null && content !== void 0 ? content : React.createElement(TooltipText, null, text)),\n withTriangle && React.createElement(Triangle, { id: \"veeqo-components-triangle\", className: classNames.triangle })));\n};\n//# sourceMappingURL=TooltipPopover.js.map","import React, { useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Container, Hoverable } from './components/styled';\nimport { TooltipPopover } from './components/TooltipPopover';\nexport const Tooltip = ({ children, text, content, config, reversed = false, className, withTriangle, initialShouldShow = false, useReactPortal = true, }) => {\n const [shouldShow, setShouldShow] = useState(initialShouldShow);\n const [hoverableElement, setHoverableElement] = useState(null);\n const hasText = text ? text.trim().length > 0 : false;\n const classNames = {\n container: className && `${className} ${className}-container`,\n tip: className && `${className}-tip`,\n wrap: className && `${className}-wrap`,\n triangle: className && `${className}-triangle`,\n hoverable: className && `${className}-hoverable`,\n };\n const hasContent = !!(content || hasText);\n if (!hasContent)\n return children;\n const show = () => setShouldShow(true);\n const hide = () => setShouldShow(false);\n const tooltipMarkup = shouldShow && hasContent && (React.createElement(TooltipPopover, { classNames: classNames, hoverableElement: hoverableElement, config: config, reversed: reversed, withTriangle: withTriangle, text: text, content: content }));\n return (React.createElement(Container, { className: classNames.container },\n useReactPortal ? ReactDOM.createPortal(tooltipMarkup, document.body) : tooltipMarkup,\n React.createElement(Hoverable, { ref: setHoverableElement, className: classNames.hoverable, onMouseEnter: show, onMouseLeave: hide }, children)));\n};\n//# sourceMappingURL=Tooltip.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nconst BaseBadge = styled(BaseContainer).withConfig({ displayName: \"vui--BaseBadge\", componentId: \"vui--1l3fzu\" }) `display:inline-flex;align-items:center;vertical-align:middle;gap:4px;padding:0.35em 0.65em;font-family:${text.bodySmall.fontFamily};font-weight:${text.bodySmall.fontWeight};font-size:75%;line-height:16px;border-radius:0.75rem;border:${(props) => (props.hideBorder ? 'none' : '1px solid transparent')};cursor:default;svg{width:${sizes.base};height:${sizes.base};}`;\nexport const DefaultBadge = styled(BaseBadge).withConfig({ displayName: \"vui--DefaultBadge\", componentId: \"vui--rwc6j0\" }) `background-color:inherit;border-color:${colors.secondary.blue.base};color:${colors.secondary.blue.base};`;\nexport const PrimaryBadge = styled(BaseBadge).withConfig({ displayName: \"vui--PrimaryBadge\", componentId: \"vui--1fakkjy\" }) `border-color:${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};color:${colors.secondary.blue.base};`;\nexport const WarningBadge = styled(BaseBadge).withConfig({ displayName: \"vui--WarningBadge\", componentId: \"vui--1r2egf1\" }) `border-color:${colors.secondary.yellow.base};background-color:${colors.secondary.yellow.lightest};color:${colors.secondary.orange.dark};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { DefaultBadge, PrimaryBadge, WarningBadge } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst variantMap = {\n default: DefaultBadge,\n primary: PrimaryBadge,\n warning: WarningBadge,\n};\nexport const Badge = ({ variant = 'default', hideBorder = false, iconSlot, tooltip, className, e2eClassName, children, }) => {\n const BadgeVariant = variantMap[variant];\n return (React.createElement(Tooltip, { text: tooltip },\n React.createElement(BadgeVariant, { className: buildClassnames([className, e2eClassName]), hideBorder: hideBorder },\n iconSlot && iconSlot,\n children && React.createElement(\"span\", null, children))));\n};\n//# sourceMappingURL=Badge.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst BannerLayout = styled(BaseContainer).withConfig({ displayName: \"vui--BannerLayout\", componentId: \"vui--c6sp3u\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:20px 24px 24px 24px;border-radius:4px;${({ accentColor }) => accentColor &&\n `\n box-shadow: 0px 1px 3px rgba(55, 66, 77, 0.15), inset 4px 0px 0px ${accentColor};\n `} background-color:${({ backgroundColor }) => backgroundColor || 'white'};`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--1rdjrmx\" }) `display:flex;flex-direction:row;`;\nconst Col = styled(BaseContainer).withConfig({ displayName: \"vui--Col\", componentId: \"vui--1ttgibs\" }) `display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;`;\nexport const IconCol = styled(Col).withConfig({ displayName: \"vui--IconCol\", componentId: \"vui--1z6c5f\" }) `svg{width:${sizes.md};height:${sizes.md};color:${({ accentColor }) => accentColor};}`;\nexport const ChildContainer = styled(BaseContainer).withConfig({ displayName: \"vui--ChildContainer\", componentId: \"vui--kn3qcr\" }) `width:100%;`;\nconst HeaderCol = styled(Col).withConfig({ displayName: \"vui--HeaderCol\", componentId: \"vui--1nlkkdb\" }) `flex-grow:2;margin-right:12px;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1ioilg\" }) `position:relative;top:-2px;`;\nexport { BannerLayout as Pill, StyledText as Text, Row, Col, HeaderCol };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { colors } from '../../theme/modules/colors';\nimport { Pill, Text, Row, Col, HeaderCol, ChildContainer, IconCol } from './styled';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst accentColors = {\n help: colors.secondary.blue.base,\n info: colors.neutral.ink.base,\n error: colors.secondary.red.base,\n success: colors.secondary.green.base,\n};\n/**\n * The `Banner` component was previously called `Alert` (and similarly `Pill`).\n */\nexport const Banner = (_a) => {\n var { type = 'info', text, iconSlot, onClose, className, header, children, backgroundColor = 'white' } = _a, props = __rest(_a, [\"type\", \"text\", \"iconSlot\", \"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 iconSlot && (React.createElement(IconCol, { style: { marginRight: sizes.md }, accentColor: accentColor }, iconSlot)),\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\", iconSlot: React.createElement(CrossIcon, null), onClick: onClose }))))))));\n};\n//# sourceMappingURL=Banner.js.map","import styled from 'styled-components';\nimport { text } from '../../../theme/modules/text';\nexport const BreadcrumbsSC = styled.ul.withConfig({ displayName: \"vui--BreadcrumbsSC\", componentId: \"vui--1kzms7s\" }) `list-style:none;padding:0;margin:0;display:flex;align-items:center;font-family:${text.body.fontFamily};font-weight:${text.body.fontWeight};font-size:${text.body.fontSize};line-height:${text.body.lineHeight};`;\nexport const BreadcrumbSC = styled.li.withConfig({ displayName: \"vui--BreadcrumbSC\", componentId: \"vui--17agc2w\" }) `display:flex;align-items:center;.separator{display:flex;align-items:center;padding:0px 0.4rem;}a{color:inherit;text-decoration:none;text-transform:capitalize;}a:hover{text-decoration:underline;}span{font-weight:600;text-transform:capitalize;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const RightArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.99994 11.06L9.05327 8L5.99994 4.94L6.93994 4L10.9399 8L6.93994 12L5.99994 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=RightArrowIcon.js.map","import React from 'react';\nimport { BreadcrumbSC } from './styled';\nexport const Breadcrumb = ({ children, title, LinkComponent, href }) => {\n if (LinkComponent) {\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n React.createElement(LinkComponent, { href: href }, title),\n children));\n }\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n title,\n children));\n};\n//# sourceMappingURL=Breadcrumb.js.map","import React from 'react';\nimport { BreadcrumbsSC } from './components/styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Breadcrumb } from './components/Breadcrumb';\nconst DefaultSeparator = () => (React.createElement(RightArrowIcon, { className: \"separator\", width: sizes.base, height: sizes.base }));\nconst DefaultLink = ({ children, href }) => React.createElement(\"a\", { href: href }, children);\nconst BreadcrumbText = ({ children }) => React.createElement(\"span\", null, children);\nexport const Breadcrumbs = ({ items, Separator = React.createElement(DefaultSeparator, null), LinkComponent = DefaultLink, }) => (React.createElement(BreadcrumbsSC, { className: \"breadcrumbs\" }, items.map((item, i) => (React.createElement(Breadcrumb, { key: item.title, title: item.title, href: item.pathname, LinkComponent: i !== items.length - 1 ? LinkComponent : BreadcrumbText }, items.length !== i + 1 && Separator)))));\n//# sourceMappingURL=Breadcrumbs.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../../theme';\nexport const buttonStyles = css `.react-aria-Button{color:${theme.colors.neutral.ink.base};background-color:transparent;border-color:transparent;box-shadow:none;cursor:pointer;height:40px;padding:0 8px;border-radius:8px;font-size:16px;line-height:16px;outline:0;--outline-width:4px;svg{width:${theme.sizes.base};height:${theme.sizes.base};}&:active,&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:active,&:hover{background-color:${theme.colors.neutral.grey.light};}&:disabled{background-color:transparent;border-color:transparent;user-select:none;color:${theme.colors.neutral.grey.base};cursor:default;}}`;\n//# sourceMappingURL=buttonStyles.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../../theme';\nexport const calenderCellStyles = css `.react-aria-CalendarCell{width:30px;line-height:30px;border-radius:${theme.radius.md};border:1px solid transparent;cursor:pointer;text-align:center;&[data-hovered]{background-color:${theme.colors.neutral.grey.base};}&[data-focus-visible],&[data-focused]{outline:2px solid ${theme.colors.secondary.blue.light};}&[data-selected]{background:${theme.colors.secondary.blue.base};color:white;border-radius:0;&[data-focus-visible]{outline-color:${theme.colors.secondary.blue.light};}}&[data-outside-month],&[data-disabled]{cursor:not-allowed;}&[data-unavailable]{cursor:not-allowed;text-decoration:line-through;color:${theme.colors.secondary.red.dark};&:hover{background-color:inherit;}}&[data-outside-month],&[data-disabled]{color:${theme.colors.neutral.ink.lightest};}&[data-selection-start]{border-start-start-radius:6px;border-end-start-radius:6px;}&[data-selection-end]{border-start-end-radius:6px;border-end-end-radius:6px;}}`;\n//# sourceMappingURL=calendarCellStyles.js.map","import { css } from 'styled-components';\nimport { getTextStyles } from 'Theme/utils';\nimport { theme } from 'Theme';\nexport const headerStyles = css `& header{display:flex;align-items:center;margin:0 4px 0.5rem 4px;.react-aria-Heading{flex:1;margin:0;text-align:center;${getTextStyles(theme.text.headingSmall)}}}.react-aria-CalendarHeaderCell{padding-bottom:${theme.sizes.sm};}`;\n//# sourceMappingURL=headerStyles.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../../theme';\nimport { buttonStyles } from './buttonStyles';\nimport { calenderCellStyles } from './calendarCellStyles';\nimport { headerStyles } from './headerStyles';\nexport const SharedCalendarStyles = css `width:fit-content;max-width:100%;min-width:225px;color:${theme.colors.neutral.ink.base};font-size:14px;font-family:${theme.fontFamily};${headerStyles} ${buttonStyles} ${calenderCellStyles} & table{height:fit-content;border-collapse:separate;border-spacing:0 ${theme.sizes.xs};& td{padding:0;&:has(div[data-today='true']){& > div{border:1px solid ${theme.colors.neutral.ink.lightest};}&:has(div[data-selected]){background-color:${theme.colors.secondary.blue.base};& > div{border:1px solid ${theme.colors.secondary.blue.darkest};border-radius:${theme.radius.md};}&:has(div[data-selection-start]){border-start-start-radius:6px;border-end-start-radius:6px;}&:has(div[data-selection-end]){border-start-end-radius:6px;border-end-end-radius:6px;}}}}}`;\n//# sourceMappingURL=CalendarStyles.js.map","import { RangeCalendar } from 'react-aria-components';\nimport styled from 'styled-components';\nimport { SharedCalendarStyles } from '../subcomponents/CalendarStyles/CalendarStyles';\nexport const StyledRangeCalendar = styled(RangeCalendar).withConfig({ displayName: \"vui--StyledRangeCalendar\", componentId: \"vui--1dva9jw\" }) `${SharedCalendarStyles};`;\n//# sourceMappingURL=styled.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 styled from 'styled-components';\nimport { getTextStyles } from 'Theme/utils';\nimport { theme } from 'Theme';\nexport const SubCalendarOption = styled.button.withConfig({ displayName: \"vui--SubCalendarOption\", componentId: \"vui--140wlkz\" }) `display:flex;flex-direction:column;justify-content:center;align-items:center;${getTextStyles(theme.text.body)};width:60px;height:32px;padding:0;border:none;outline:none;border-radius:${theme.radius.md};background-color:white;&:hover{cursor:pointer;background-color:${theme.colors.neutral.grey.base};}&:focus-visible,&:active{color:white;background-color:${theme.colors.secondary.blue.base};&:not([data-selected]){outline:2px solid ${theme.colors.secondary.blue.light};}}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Grid } from '../../../../../Grid';\nimport { SubCalendarOption } from './styled';\nimport { getYearsAround } from './utils';\nexport const DodecadeCalendar = ({ currentYear, onFocusYear }) => (React.createElement(Grid, { columns: 3, spacing: \"sm\", role: \"grid\" }, getYearsAround(currentYear).map((year) => (React.createElement(SubCalendarOption, { key: `year-option-${year}`, \"aria-label\": `Go to ${year}`, onClick: onFocusYear(year) }, year)))));\n//# sourceMappingURL=DodecadeCalendar.js.map","/**\n * Gets a range of years around a given year.\n * @param year The year to get the range around.\n * @returns An array of years around the given year.\n */\nexport const getYearsAround = (year) => Array.from({ length: 12 }, (_, i) => year - 5 + i);\n//# sourceMappingURL=utils.js.map","import React from 'react';\nimport { Grid } from '../../../../../Grid';\nimport { SubCalendarOption } from './styled';\nconst MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nexport const YearCalendar = ({ onFocusMonth }) => {\n return (React.createElement(Grid, { columns: 3, spacing: \"sm\", role: \"grid\" }, MONTHS.map((month, monthIndex) => (React.createElement(SubCalendarOption, { key: `month-option-${month}`, \"aria-label\": `Go to ${month}`, onClick: onFocusMonth(monthIndex) }, month)))));\n};\n//# sourceMappingURL=YearCalendar.js.map","import { getLocalTimeZone, today } from '@internationalized/date';\nimport React from 'react';\nimport { CalendarGrid as AriaCalendarGrid, CalendarHeaderCell, CalendarGridHeader, CalendarGridBody, CalendarCell, } from 'react-aria-components';\nexport const MonthCalendar = (props) => {\n const todayDate = today(getLocalTimeZone());\n return (React.createElement(AriaCalendarGrid, Object.assign({ weekdayStyle: \"short\" }, props),\n React.createElement(CalendarGridHeader, null, (day) => React.createElement(CalendarHeaderCell, null, day.slice(0, 2))),\n React.createElement(CalendarGridBody, null, (date) => React.createElement(CalendarCell, { date: date, \"data-today\": date.compare(todayDate) === 0 }))));\n};\n//# sourceMappingURL=MonthCalendar.js.map","export var CalendarLevel;\n(function (CalendarLevel) {\n CalendarLevel[CalendarLevel[\"DODECADE\"] = 0] = \"DODECADE\";\n CalendarLevel[CalendarLevel[\"YEAR\"] = 1] = \"YEAR\";\n CalendarLevel[CalendarLevel[\"MONTH\"] = 2] = \"MONTH\";\n})(CalendarLevel || (CalendarLevel = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nimport { MonthCalendar, YearCalendar, DodecadeCalendar } from './subCalendars';\nimport { CalendarLevel } from '../../../types';\nexport const CalendarGrid = ({ level, currentYear, onFocusMonth, onFocusYear, }) => {\n if (level === CalendarLevel.YEAR) {\n return React.createElement(YearCalendar, { onFocusMonth: onFocusMonth });\n }\n if (level === CalendarLevel.DODECADE) {\n return React.createElement(DodecadeCalendar, { currentYear: currentYear, onFocusYear: onFocusYear });\n }\n return React.createElement(MonthCalendar, null);\n};\n//# sourceMappingURL=CalendarGrid.js.map","import { CalendarLevel } from '../types';\nexport const visibleDurationMap = {\n [CalendarLevel.DODECADE]: { years: 10 },\n [CalendarLevel.YEAR]: { years: 1 },\n [CalendarLevel.MONTH]: { months: 1 },\n};\nexport const levelMoveLabelMap = {\n [CalendarLevel.DODECADE]: 'View Day Selection',\n [CalendarLevel.YEAR]: 'View Year Selection',\n [CalendarLevel.MONTH]: 'View Month Selection',\n};\n//# sourceMappingURL=constants.js.map","import { useState } from 'react';\nimport { CalendarLevel } from '../types';\nexport const useCalendarLevels = () => {\n const [level, setLevel] = useState(CalendarLevel.MONTH);\n const handleSwitchLevel = () => {\n if (level === CalendarLevel.MONTH) {\n setLevel(CalendarLevel.YEAR);\n }\n else if (level === CalendarLevel.YEAR) {\n setLevel(CalendarLevel.DODECADE);\n }\n else {\n setLevel(CalendarLevel.MONTH);\n }\n };\n return { level, handleSwitchLevel, setLevel };\n};\n//# sourceMappingURL=useCalendarLevels.js.map","import React from 'react';\nexport const LeftArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.44 11.06L7.38667 8L10.44 4.94L9.5 4L5.5 8L9.5 12L10.44 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=LeftArrowIcon.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useMemo } from 'react';\nimport { HeadingContext, useContextProps } from 'react-aria-components';\nimport { Text } from '../../../Text';\nimport { CalendarLevel } from '../../types';\nimport { trimMonths } from './utils';\nexport const CalendarHeading = forwardRef((props, ref) => {\n const [updatedProps, refUpdated] = useContextProps(props, ref, HeadingContext);\n const { children: generatedTitle, level, currentYear } = updatedProps, rest = __rest(updatedProps, [\"children\", \"level\", \"currentYear\"]);\n const text = useMemo(() => {\n if (level === CalendarLevel.DODECADE)\n return `${currentYear - 5} - ${currentYear + 6}`;\n if (level === CalendarLevel.YEAR)\n return currentYear.toString();\n return trimMonths(generatedTitle);\n }, [level, currentYear, generatedTitle]);\n return (React.createElement(Text, Object.assign({ variant: \"headingSmall\" }, rest, { ref: refUpdated, style: { whiteSpace: 'nowrap' } }), text));\n});\n//# sourceMappingURL=CalendarHeading.js.map","/**\n * Replaces all words with the first three letter of that word. All numbers are left alone.\n *\n * @example \"January 2024\" => \"Jan 2024\"\n */\nexport const trimMonths = (dateString) => dateString.replace(/\\b(\\w{1,3})(\\w*)\\b/g, (entireMatch, group) => {\n if (/\\d/.test(entireMatch))\n return entireMatch; // Move on if numbers are in word.\n return group; // Just return first 3 letters otherwise.\n});\n//# sourceMappingURL=utils.js.map","import React from 'react';\nimport { Button } from 'react-aria-components';\nimport { Button as VQBtn } from '../../../Button';\nimport { RightArrowIcon } from '../../../../tempIcons/RightArrowIcon';\nimport { LeftArrowIcon } from '../../../../tempIcons/LeftArrowIcon';\nimport { Stack } from '../../../Stack';\nimport { UpArrowIcon } from '../../../../tempIcons/UpArrowIcon';\nimport { DownArrowIcon } from '../../../../tempIcons/DownArrowIcon';\nimport { CalendarLevel } from '../../types';\nimport { levelMoveLabelMap } from '../../data/constants';\nimport { CalendarHeading } from './CalendarHeading';\nexport const CalendarHeader = ({ level, currentYear, handleSwitchLevel, isDisabled, }) => (React.createElement(Stack, { as: \"header\", direction: \"horizontal\", alignX: \"between\", alignY: \"center\", spacing: \"0\" },\n React.createElement(Button, { slot: \"previous\", isDisabled: isDisabled, type: \"button\" },\n React.createElement(LeftArrowIcon, null)),\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", alignX: \"stretch\", spacing: \"xs\", style: { margin: '0 4px' } },\n React.createElement(CalendarHeading, { level: level, currentYear: currentYear }),\n React.createElement(VQBtn, { type: \"button\", \"aria-label\": levelMoveLabelMap[level], variant: \"flat\", iconSlot: level === CalendarLevel.DODECADE ? React.createElement(UpArrowIcon, null) : React.createElement(DownArrowIcon, null), size: \"sm\", onClick: handleSwitchLevel, disabled: isDisabled })),\n React.createElement(Button, { slot: \"next\", isDisabled: isDisabled, type: \"button\" },\n React.createElement(RightArrowIcon, null))));\n//# sourceMappingURL=CalendarHeader.js.map","import { isWeekend } from '@internationalized/date';\nimport { useLocale } from 'react-aria-components';\nexport const useIsDateUnavailable = ({ disabledRanges, disallowWeekends, minValue, maxValue, }) => {\n const { locale } = useLocale();\n const isDateUnavailable = (date) => {\n if (!date)\n return false;\n if (disallowWeekends && isWeekend(date, locale))\n return true;\n if (minValue && date.compare(minValue) < 0)\n return true;\n if (maxValue && date.compare(maxValue) > 0)\n return true;\n if (disabledRanges) {\n return disabledRanges.some(([disabledStart, disabledEnd]) => date.compare(disabledStart) >= 0 && date.compare(disabledEnd) <= 0);\n }\n return false;\n };\n const isDateRangeUnavailable = (selectedRange) => {\n if (!selectedRange)\n return false;\n const { start: presortStart, end: presortEnd } = selectedRange;\n const [start, end] = [presortStart, presortEnd].sort();\n // Check if any date within the range is unavailable\n let currentDate = start;\n while (currentDate.compare(end) <= 0) {\n if (isDateUnavailable(currentDate))\n return true;\n currentDate = currentDate.add({ days: 1 });\n }\n return false;\n };\n return {\n isDateUnavailable,\n isDateRangeUnavailable,\n };\n};\n//# sourceMappingURL=useIsDateUnavailable.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledRangeCalendar } from './styled';\nimport { CalendarGrid } from '../subcomponents/CalendarGrid';\nimport { visibleDurationMap } from '../../data/constants';\nimport { useRangeCalendarState } from '../../data/useRangeCalendar';\nimport { CalendarHeader } from '../subcomponents/CalendarHeader';\nimport { useIsDateUnavailable } from '../../data/useIsDateUnavailable';\nexport const RangeCalendar = (_a) => {\n var { value, onChange, isDisabled } = _a, props = __rest(_a, [\"value\", \"onChange\", \"isDisabled\"]);\n const { level, focusedDate, setFocusedDate, currentYear, onFocusMonth, onFocusYear, handleSwitchLevel, } = useRangeCalendarState(value);\n const { isDateUnavailable } = useIsDateUnavailable({\n disabledRanges: props.disabledRanges,\n disallowWeekends: props.disallowWeekends,\n maxValue: props.maxValue,\n minValue: props.minValue,\n });\n return (React.createElement(StyledRangeCalendar, Object.assign({ focusedValue: focusedDate, onFocusChange: setFocusedDate, isDateUnavailable: isDateUnavailable, visibleDuration: visibleDurationMap[level], value: value, onChange: onChange, isDisabled: isDisabled }, props),\n React.createElement(CalendarHeader, { currentYear: currentYear, level: level, handleSwitchLevel: handleSwitchLevel, isDisabled: isDisabled }),\n React.createElement(CalendarGrid, { level: level, currentYear: currentYear, onFocusMonth: onFocusMonth, onFocusYear: onFocusYear })));\n};\n//# sourceMappingURL=RangeCalendar.js.map","import { useState, useEffect } from 'react';\nimport { CalendarDate, getLocalTimeZone, today } from '@internationalized/date';\nimport { CalendarLevel } from '../types';\nimport { useCalendarLevels } from './useCalendarLevels';\nexport const useRangeCalendarState = (initialValue) => {\n const [focusedDate, setFocusedDate] = useState((initialValue === null || initialValue === void 0 ? void 0 : initialValue.start) || today(getLocalTimeZone()));\n const { level, setLevel, handleSwitchLevel } = useCalendarLevels();\n useEffect(() => {\n if (initialValue)\n setFocusedDate(initialValue.start);\n }, [initialValue]);\n const currentYear = (focusedDate === null || focusedDate === void 0 ? void 0 : focusedDate.year) || (initialValue === null || initialValue === void 0 ? void 0 : initialValue.start.year) || new Date().getFullYear();\n const currentMonth = (focusedDate === null || focusedDate === void 0 ? void 0 : focusedDate.month) || (initialValue === null || initialValue === void 0 ? void 0 : initialValue.start.month) || new Date().getMonth() + 1;\n const onFocusMonth = (monthIndex) => () => {\n setFocusedDate(new CalendarDate(currentYear, monthIndex + 1, 1));\n setLevel(CalendarLevel.MONTH);\n };\n const onFocusYear = (year) => () => {\n setFocusedDate(new CalendarDate(year, currentMonth, 1));\n setLevel(CalendarLevel.YEAR);\n };\n return {\n level,\n focusedDate,\n setFocusedDate,\n currentYear,\n onFocusMonth,\n onFocusYear,\n handleSwitchLevel,\n };\n};\n//# sourceMappingURL=useRangeCalendar.js.map","import { Calendar } from 'react-aria-components';\nimport styled from 'styled-components';\nimport { SharedCalendarStyles } from '../subcomponents/CalendarStyles/CalendarStyles';\nexport const StyledCalendar = styled(Calendar).withConfig({ displayName: \"vui--StyledCalendar\", componentId: \"vui--6d0gjz\" }) `${SharedCalendarStyles};& .react-aria-CalendarCell[data-selected],& table td{border-radius:8px;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledCalendar } from './styled';\nimport { CalendarGrid } from '../subcomponents/CalendarGrid';\nimport { visibleDurationMap } from '../../data/constants';\nimport { CalendarHeader } from '../subcomponents/CalendarHeader';\nimport { useCalendarState } from '../../data/useCalendar';\nimport { useIsDateUnavailable } from '../../data/useIsDateUnavailable';\nexport const Calendar = (_a) => {\n var { value, onChange, isDisabled } = _a, props = __rest(_a, [\"value\", \"onChange\", \"isDisabled\"]);\n const { level, focusedDate, setFocusedDate, currentYear, onFocusMonth, onFocusYear, handleSwitchLevel, } = useCalendarState(value);\n const { isDateUnavailable } = useIsDateUnavailable({\n disabledRanges: props.disabledRanges,\n disallowWeekends: props.disallowWeekends,\n maxValue: props.maxValue,\n minValue: props.minValue,\n });\n return (React.createElement(StyledCalendar, Object.assign({ focusedValue: focusedDate, onFocusChange: setFocusedDate, isDateUnavailable: isDateUnavailable, visibleDuration: visibleDurationMap[level], value: value, onChange: onChange, isDisabled: isDisabled }, props),\n React.createElement(CalendarHeader, { currentYear: currentYear, level: level, handleSwitchLevel: handleSwitchLevel, isDisabled: isDisabled }),\n React.createElement(CalendarGrid, { level: level, currentYear: currentYear, onFocusMonth: onFocusMonth, onFocusYear: onFocusYear })));\n};\n//# sourceMappingURL=Calendar.js.map","import { useState, useEffect } from 'react';\nimport { CalendarDate, getLocalTimeZone, today } from '@internationalized/date';\nimport { CalendarLevel } from '../types';\nimport { useCalendarLevels } from './useCalendarLevels';\nexport const useCalendarState = (initialValue) => {\n const [focusedDate, setFocusedDate] = useState(initialValue || today(getLocalTimeZone()));\n const { level, setLevel, handleSwitchLevel } = useCalendarLevels();\n useEffect(() => {\n if (initialValue)\n setFocusedDate(initialValue);\n }, [initialValue]);\n const currentYear = (focusedDate === null || focusedDate === void 0 ? void 0 : focusedDate.year) || (initialValue === null || initialValue === void 0 ? void 0 : initialValue.year) || new Date().getFullYear();\n const currentMonth = (focusedDate === null || focusedDate === void 0 ? void 0 : focusedDate.month) || (initialValue === null || initialValue === void 0 ? void 0 : initialValue.month) || new Date().getMonth() + 1;\n const onFocusMonth = (monthIndex) => () => {\n setFocusedDate(new CalendarDate(currentYear, monthIndex + 1, 1));\n setLevel(CalendarLevel.MONTH);\n };\n const onFocusYear = (year) => () => {\n setFocusedDate(new CalendarDate(year, currentMonth, 1));\n setLevel(CalendarLevel.YEAR);\n };\n return {\n level,\n focusedDate,\n setFocusedDate,\n currentYear,\n onFocusMonth,\n onFocusYear,\n handleSwitchLevel,\n };\n};\n//# sourceMappingURL=useCalendar.js.map","import styled from 'styled-components';\nimport { Tooltip } from '../../Tooltip';\nimport { theme } from '../../../theme';\nconst alignMap = {\n top: 'flex-start',\n center: 'center',\n};\nexport const RootLayout = styled.div.withConfig({ displayName: \"vui--RootLayout\", componentId: \"vui--11nf17l\" }) `display:flex;align-items:center;& > * + *{margin-left:${theme.sizes.base};}`;\nexport const InputLayout = styled.div.withConfig({ displayName: \"vui--InputLayout\", componentId: \"vui--1yac6kr\" }) `align-self:stretch;display:flex;align-items:${(props) => alignMap[props.align]};`;\nexport const AccessoryLayout = styled.div.withConfig({ displayName: \"vui--AccessoryLayout\", componentId: \"vui--qbgrc7\" }) `align-self:center;display:flex;align-items:center;`;\nexport const TextLayout = styled.div.withConfig({ displayName: \"vui--TextLayout\", componentId: \"vui--1uu3ed5\" }) `flex:1;& > * + *{margin-top:${theme.sizes.sm};}`;\nexport const HintText = styled.div.withConfig({ displayName: \"vui--HintText\", componentId: \"vui--lz8nl\" }) `font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const ErrorText = styled.div.withConfig({ displayName: \"vui--ErrorText\", componentId: \"vui--piugtf\" }) `font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};`;\nexport const Wrapper = styled.label.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--2wdtq1\" }) `box-sizing:border-box;&:hover{cursor:${(props) => (props.disabled ? 'default' : 'pointer')};}`;\nexport const BorderedWrapper = styled(Wrapper).withConfig({ displayName: \"vui--BorderedWrapper\", componentId: \"vui--1an42ms\" }) `border:2px solid ${theme.colors.neutral.grey.dark};border-radius:${theme.radius.md};padding:${theme.sizes.base} 0.75rem;&:hover{border-color:${theme.colors.secondary.blue.base};}`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1ifrill\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { theme } from '../../theme';\nimport { Wrapper, BorderedWrapper, RootLayout, InputLayout, AccessoryLayout, TextLayout, HintText, ErrorText, BlockTooltip, } from './components/styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { Text } from '../Text';\nconst generateClassNames = (prefix) => ({\n hint: prefix ? 'choice__hint' : undefined,\n label: prefix ? 'choice__label' : undefined,\n tooltip: prefix ? 'choice__tooltip' : undefined,\n error: prefix ? 'choice__error' : undefined,\n});\nexport const Choice = ({ id, className, label, hint, tooltip, error, bordered, Badge, Accessory, Footer, children, disabled = false, labelVariant = 'body', inputPosition = 'left', }) => {\n const classNames = generateClassNames(className);\n const contentMarkup = (React.createElement(RootLayout, null,\n inputPosition === 'left' && (React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children)),\n Accessory && React.createElement(AccessoryLayout, null, Accessory),\n label || hint || error || Badge || Footer ? (React.createElement(TextLayout, null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n Badge,\n label && (React.createElement(Text, { variant: labelVariant, className: classNames.label }, label)),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip, className: classNames.tooltip },\n React.createElement(HelpIcon, { name: \"help\", width: theme.sizes.base, color: theme.colors.neutral.ink.lightest })))),\n hint && React.createElement(HintText, { className: classNames.hint }, hint),\n error && React.createElement(ErrorText, { className: classNames.error }, error),\n Footer)) : null,\n inputPosition === 'right' && (React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children))));\n if (bordered) {\n return (React.createElement(BorderedWrapper, { disabled: disabled, htmlFor: id, className: className }, contentMarkup));\n }\n return (React.createElement(Wrapper, { disabled: disabled, htmlFor: id, className: className }, contentMarkup));\n};\n//# sourceMappingURL=Choice.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { colors, sizes, radius } = theme;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--hippn5\" }) `appearance:none;width:18px;height:18px;background-color:transparent;border:2px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s,background-color 0.1s;&:checked{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='white' /></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:hover{border-color:${colors.secondary.blue.base};}&:active{border-color:${colors.secondary.blue.base};}&:focus{box-shadow:0 0 0 4px ${colors.secondary.blue.light};outline:0;}&:indeterminate{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='white'/></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:disabled{box-shadow:none;background-color:${colors.neutral.grey.base};border-color:${colors.neutral.grey.base};color:${colors.neutral.ink.light};cursor:default;}&:checked:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='%23637381' /></svg>\");}&:indeterminate:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='%23637381'/></svg>\");}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Checkbox = (_a) => {\n var { checked, indeterminate, value, name, disabled, ariaLabel, className, onChange } = _a, otherProps = __rest(_a, [\"checked\", \"indeterminate\", \"value\", \"name\", \"disabled\", \"ariaLabel\", \"className\", \"onChange\"]);\n const id = useMemo(() => generateId('checkbox'), []);\n const checkboxRef = useRef(null);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n useEffect(() => {\n if (!checkboxRef.current)\n return;\n if (indeterminate === true) {\n checkboxRef.current.indeterminate = true;\n return;\n }\n checkboxRef.current.indeterminate = false;\n }, [indeterminate]);\n return (React.createElement(Choice, Object.assign({ id: id, disabled: disabled, className: className }, otherProps),\n React.createElement(Input, { ref: checkboxRef, id: id, type: \"checkbox\", checked: checked, value: value, name: name, disabled: disabled, \"aria-label\": ariaLabel, onChange: handleChange })));\n};\n//# sourceMappingURL=Checkbox.js.map","import styled from 'styled-components';\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1e1oks4\" }) `appearance:none;box-sizing:border-box;flex-shrink:0;width:18px;height:18px;margin:3px;background-color:transparent;border:2px solid #637381;border-radius:50%;outline:none;cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s;&:checked{position:relative;border-color:#0079d1;}&:checked::before{content:'';width:10px;height:10px;position:absolute;top:2px;left:2px;background-color:#0079d1;border-radius:50%;}&:hover{border-color:#0079d1;}&:active{border-color:#0079d1;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{box-shadow:none;background-color:#dfe3e8;border-color:#959fa8;cursor:default;}&:disabled::before{background-color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Radio = forwardRef((_a, ref) => {\n var { checked, value, name, disabled, onChange, id, children } = _a, otherProps = __rest(_a, [\"checked\", \"value\", \"name\", \"disabled\", \"onChange\", \"id\", \"children\"]);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n const componentId = id !== null && id !== void 0 ? id : generateId('radio');\n return (React.createElement(Choice, Object.assign({ id: componentId, disabled: disabled }, otherProps),\n React.createElement(Input, { id: componentId, type: \"radio\", checked: checked, value: value, name: name, disabled: disabled, onChange: handleChange, ref: ref }),\n children));\n});\n//# sourceMappingURL=Radio.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const Fieldset = styled.fieldset.withConfig({ displayName: \"vui--Fieldset\", componentId: \"vui--bygv6o\" }) `padding:0;display:flex;flex-direction:column;border:0;& > * + *{margin-top:16px;}`;\nexport const Legend = styled.legend.withConfig({ displayName: \"vui--Legend\", componentId: \"vui--18baj4v\" }) `font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-style:${theme.text.inputLabel.fontStyle};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};text-decoration:${theme.text.inputLabel.textDecoration};color:${theme.text.inputLabel.color};`;\n//# sourceMappingURL=styled.js.map","import React, { Component } from 'react';\nimport { Radio } from '../Radio';\nimport { Checkbox } from '../Checkbox';\nimport { Fieldset, Legend } from './styled';\nexport class ChoiceList extends Component {\n constructor() {\n super(...arguments);\n this.handleChange = (value, checked) => {\n const { allowMultiple } = this.props;\n if (allowMultiple) {\n this.handleChangeMultiple(value, checked);\n return;\n }\n this.handleChangeSingle(value, checked);\n };\n this.handleChangeSingle = (value, checked) => {\n const { onChange } = this.props;\n if (checked) {\n onChange([value]);\n }\n };\n this.handleChangeMultiple = (value, checked) => {\n const { selected, onChange } = this.props;\n let newSelected = [];\n if (checked) {\n newSelected = [...selected, value];\n }\n else {\n newSelected = selected.filter((selectedValue) => selectedValue !== value);\n }\n onChange(newSelected);\n };\n }\n render() {\n const { allowMultiple, options, selected, title, disabled, bordered } = this.props;\n const InputComponent = allowMultiple ? Checkbox : Radio;\n return (React.createElement(Fieldset, { disabled: disabled },\n title && React.createElement(Legend, null, title),\n options.map((option) => (React.createElement(InputComponent, Object.assign({ key: option.value, bordered: bordered, checked: selected.includes(option.value), onChange: (checked) => this.handleChange(option.value, checked) }, option))))));\n }\n}\n//# sourceMappingURL=ChoiceList.js.map","import React from 'react';\nexport const ClipboardIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M19 3H14.82C14.4 1.84 13.3 1 12 1C10.7 1 9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V21C3 22.1 3.9 23 5 23H19C20.1 23 21 22.1 21 21V5C21 3.9 20.1 3 19 3ZM12 3C12.55 3 13 3.45 13 4C13 4.55 12.55 5 12 5C11.45 5 11 4.55 11 4C11 3.45 11.45 3 12 3ZM19 21H5V5H7V8H17V5H19V21Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ClipboardIcon.js.map","import React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { Tooltip } from '../Tooltip';\nimport { colors } from '../../theme/modules/colors';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Button } from '../Button';\nimport { ClipboardIcon } from '../../tempIcons/ClipboardIcon';\nconst iconSizes = { width: sizes.base, height: sizes.base };\n/**\n * Created in here to fix orders table sizes. Bad pattern to use in main button component, as\n * touch target is below A11y guidelines.\n */\nconst XSButton = styled(Button).withConfig({ displayName: \"vui--XSButton\", componentId: \"vui--e6p1xr\" }) `padding:1px;height:unset;span{height:${sizes.base};width:${sizes.base};top:unset;}`;\n/**\n * A dynamic button to facilitate copying text to a users' keyboard when clicked.\n */\nexport const CopyToClipboard = ({ className, text, onCopy }) => {\n const [copied, setCopied] = React.useState(false);\n const handleCopy = useCallback(() => {\n navigator.clipboard.writeText(text);\n if (onCopy)\n onCopy();\n setCopied(true);\n setTimeout(() => setCopied(false), 2500);\n }, [onCopy, text]);\n return (React.createElement(Tooltip, { text: copied ? 'Copied!' : 'Copy to clipboard' },\n React.createElement(XSButton, { variant: \"flat\", size: \"sm\", className: className, \"aria-label\": `${copied ? 'Copied' : 'Copy'} \"${text}\" to clipboard`, iconSlot: copied ? (React.createElement(SuccessIcon, Object.assign({ color: colors.secondary.green.base }, iconSizes))) : (React.createElement(ClipboardIcon, Object.assign({ color: colors.secondary.blue.base }, iconSizes))), onClick: handleCopy })));\n};\n//# sourceMappingURL=CopyToClipboard.js.map","import styled from 'styled-components';\nimport { Stack } from '../../components/Stack';\nimport { Tooltip } from '../../components/Tooltip';\nimport { theme } from '../../theme';\nexport const Label = styled.label.withConfig({ displayName: \"vui--Label\", componentId: \"vui--qydg5r\" }) `display:block;font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};color:${theme.text.inputLabel.color};`;\nexport const Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--1p3i1v3\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--9vxkaw\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nexport const RootStack = styled(Stack).withConfig({ displayName: \"vui--RootStack\", componentId: \"vui--10dmq2i\" }) `position:relative;`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1haf85r\" }) `display:block;&-hoverable{display:flex;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { Stack } from '../../components/Stack';\nimport { RootStack, Label, Hint, Error, BlockTooltip } from './styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { useId } from '../../hooks/useId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useId({ id: otherProps === null || otherProps === void 0 ? void 0 : otherProps.id, prefix: Component.name });\n if (!label)\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", { style: { marginBottom: theme.sizes.xs } },\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { id: `${componentId}-label`, htmlFor: componentId }, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { width: theme.sizes.base, height: theme.sizes.base, color: theme.colors.neutral.ink.light })))),\n hint && React.createElement(Hint, null, hint)),\n React.createElement(Component, Object.assign({ id: componentId, hasError: !!error }, otherProps)),\n error && React.createElement(Error, null, error)));\n};\n//# sourceMappingURL=withLabels.js.map","import React, { useEffect } from 'react';\nexport const withDeprecated = (Component) => (props) => {\n useEffect(() => {\n // eslint-disable-next-line no-console\n console.warn(`${Component.name} is deprecated.`);\n }, []);\n return React.createElement(Component, Object.assign({}, props));\n};\n//# sourceMappingURL=withDeprecated.js.map","import styled from 'styled-components';\nimport { Group } from 'react-aria-components';\nimport { getTextStyles } from 'Theme/utils';\nimport { theme } from '../../theme';\nexport const DateRangeGroup = styled(Group).withConfig({ displayName: \"vui--DateRangeGroup\", componentId: \"vui--cprola\" }) `${getTextStyles(theme.text.body)} display:flex;align-items:center;justify-content:space-between;gap:8px;height:22px;z-index:1;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:${theme.radius.base};gap:${theme.sizes.xs};padding:${theme.sizes.sm};&[data-focus-within]{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}&:has(*[data-invalid]){box-shadow:0 0 0 4px ${theme.colors.secondary.red.light};border:1px solid ${theme.colors.secondary.red.base};}${({ $hasError }) => !!$hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n border: 1px solid ${theme.colors.secondary.red.base};\n `} *[data-placeholder],*[data-placeholder] + div,*:has(*[data-placeholder])~ .date-range-input-splitter{color:${theme.colors.neutral.ink.light};}.date-range-input-splitter{margin:0 ${theme.sizes.sm};}&[data-disabled]{cursor:not-allowed;background-color:${theme.colors.neutral.grey.light};.react-aria-DateInput .react-aria-DateSegment,.date-range-input-splitter{cursor:not-allowed;color:${theme.colors.neutral.ink.light};}}.react-aria-DateInput{display:flex;align-items:center;cursor:text;caret-color:transparent;.react-aria-DateSegment{padding:0 1px;border-radius:${theme.radius.base};&[data-focused]{color:white;background-color:${theme.colors.secondary.blue.dark};&[data-invalid]{background-color:${theme.colors.secondary.red.lightest};}}&[data-invalid]{font-weight:bold;color:${theme.colors.secondary.red.dark};}&:focus-visible{outline:none;}}}`;\n//# sourceMappingURL=styled.js.map","import { withLabels } from '../../hoc';\nimport { DateInputField as BasicDateInputField } from './DateInputField';\nexport const DateInputField = withLabels(BasicDateInputField);\n//# sourceMappingURL=index.js.map","import { __rest } from \"tslib\";\nimport React, { useState, useEffect, useCallback } from 'react';\nimport { DateField, DateInput, DateSegment } from 'react-aria-components';\nimport { DateRangeGroup } from './styled';\nimport { Button } from '../Button';\nimport { Stack } from '../Stack';\nimport { useIsDateUnavailable } from '../Calendars';\nexport const DateInputField = (_a) => {\n var { id, className, style, shouldForceLeadingZeros = true, rightAction, startValue, endValue, isDisabled, isReadOnly, isRangeInput = false, hasError, 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, 'aria-labelledby': ariaLabelledBy, onChange, onChangeStartDate, onChangeEndDate, rangeRef, rightActionRef } = _a, validationProps = __rest(_a, [\"id\", \"className\", \"style\", \"shouldForceLeadingZeros\", \"rightAction\", \"startValue\", \"endValue\", \"isDisabled\", \"isReadOnly\", \"isRangeInput\", \"hasError\", 'aria-label', 'aria-describedby', 'aria-labelledby', \"onChange\", \"onChangeStartDate\", \"onChangeEndDate\", \"rangeRef\", \"rightActionRef\"]);\n const { isDateUnavailable, isDateRangeUnavailable } = useIsDateUnavailable(validationProps);\n const [isStartInvalid, setIsStartInvalid] = useState(false);\n const [isEndInvalid, setIsEndInvalid] = useState(false);\n const validateDate = useCallback((value) => {\n if (!value)\n return 'no date';\n if (!isRangeInput)\n return isDateUnavailable(value) ? 'Invalid date selection' : true;\n const range = {\n start: value === startValue ? value : startValue,\n end: value === endValue ? value : endValue,\n };\n if (!range.start || !range.end) {\n return isDateUnavailable(value) ? 'Invalid date selection' : true;\n }\n if (isDateRangeUnavailable(range))\n return 'Invalid range selection';\n return true;\n }, [isRangeInput, startValue, endValue, isDateUnavailable, isDateRangeUnavailable]);\n useEffect(() => {\n setIsStartInvalid(startValue ? validateDate(startValue) !== true : false);\n setIsEndInvalid(isRangeInput && endValue ? validateDate(endValue) !== true : false);\n }, [startValue, endValue, isRangeInput, validateDate]);\n return (React.createElement(Stack, { direction: \"horizontal\", alignX: \"stretch\", alignY: \"center\", spacing: 0 },\n React.createElement(DateRangeGroup, { ref: rangeRef, style: style, className: className, \"aria-label\": ariaLabel, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"$hasError\": hasError, isDisabled: isDisabled },\n React.createElement(Stack, { spacing: 0, direction: \"horizontal\", alignX: \"center\" },\n React.createElement(DateField, Object.assign({ shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: isRangeInput ? onChangeStartDate : onChange, value: startValue, validate: validateDate, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": isRangeInput ? 'start date' : 'date', isDisabled: isDisabled, isReadOnly: isReadOnly, isInvalid: isStartInvalid }, validationProps),\n React.createElement(DateInput, { slot: \"start\" }, (segment) => React.createElement(DateSegment, { segment: segment }))),\n isRangeInput && (React.createElement(React.Fragment, null,\n React.createElement(\"span\", { className: \"date-range-input-splitter\", \"aria-hidden\": \"true\" }, \"-\"),\n React.createElement(DateField, Object.assign({ shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: onChangeEndDate, value: endValue, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": \"end date\", isDisabled: isDisabled, isReadOnly: isReadOnly, validate: validateDate, isInvalid: isEndInvalid }, validationProps),\n React.createElement(DateInput, { slot: \"end\" }, (segment) => React.createElement(DateSegment, { segment: segment })))))),\n rightAction && (React.createElement(Button, Object.assign({ type: \"button\", ref: rightActionRef, variant: \"flat\", style: {\n padding: '2px',\n height: 'unset',\n } }, rightAction))))));\n};\n//# sourceMappingURL=DateInputField.js.map","import React from 'react';\nexport const CalendarIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 25 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 styled from 'styled-components';\nimport { colors } from 'Theme/modules/colors';\nimport { sizes } from 'Theme/modules/sizes';\nexport const DatePickerFooter = styled.footer.withConfig({ displayName: \"vui--DatePickerFooter\", componentId: \"vui--17flrd9\" }) `display:flex;justify-content:end;margin-top:${sizes.base};margin-left:-${sizes.base};margin-right:-${sizes.base};padding:${sizes.base};padding-bottom:0;border-top:${sizes.line} solid ${colors.neutral.grey.base};`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useMemo, useRef, useState } from 'react';\nimport { sizes } from 'Theme/modules/sizes';\nimport { CalendarIcon } from '../../tempIcons/CalendarIcon';\nimport { DateInputField } from '../DateInputField';\nimport { Popover } from '../Popover';\nimport { Card } from '../Card';\nimport { Calendar } from '../Calendars';\nimport { Button } from '../Button';\nimport { DatePickerFooter } from './styled';\nimport { useIsDateUnavailable } from '../Calendars/data/useIsDateUnavailable';\nexport const DatePicker = (_a) => {\n var { className, style, value, onChange, 'aria-label': ariaLabel, isDisabled, shouldCloseOnSelect = true, rootElementRef, maxValue, minValue, disabledRanges, disallowWeekends } = _a, withLabelProps = __rest(_a, [\"className\", \"style\", \"value\", \"onChange\", 'aria-label', \"isDisabled\", \"shouldCloseOnSelect\", \"rootElementRef\", \"maxValue\", \"minValue\", \"disabledRanges\", \"disallowWeekends\"]);\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const resetToValue = useRef(value);\n const rangeRef = useRef(null);\n const openDropdownRef = useRef(null);\n const closeDropdown = () => {\n var _a;\n setShouldShowDropdown(false);\n (_a = openDropdownRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n };\n const onSelectDate = (date) => {\n onChange(date);\n if (!shouldCloseOnSelect || !shouldShowDropdown)\n return;\n setTimeout(closeDropdown, 0); // Calendar state must update first.\n };\n const validationProps = {\n maxValue,\n minValue,\n disabledRanges,\n disallowWeekends,\n };\n const { isDateUnavailable } = useIsDateUnavailable(validationProps);\n const isSelectedDateInvalid = useMemo(() => (value ? isDateUnavailable(value) : false), [isDateUnavailable, value]);\n const error = withLabelProps.error || (isSelectedDateInvalid ? 'Invalid date selection' : undefined);\n return (React.createElement(React.Fragment, null,\n React.createElement(DateInputField, Object.assign({ isDisabled: isDisabled, \"aria-label\": ariaLabel, startValue: value, rightActionRef: openDropdownRef, rightAction: {\n iconSlot: React.createElement(CalendarIcon, null),\n 'aria-label': 'Open Calendar',\n onClick: () => setShouldShowDropdown(!shouldShowDropdown),\n disabled: isDisabled,\n 'aria-controls': 'data-picker-dropdown',\n 'aria-haspopup': true,\n 'aria-expanded': shouldShowDropdown,\n }, onChange: onSelectDate, rangeRef: rangeRef, className: className, style: style }, withLabelProps, validationProps, { error: error })),\n shouldShowDropdown && (React.createElement(Popover, { id: \"date-picker-dropdown\", style: { marginTop: sizes.sm }, anchorElement: rangeRef.current, onShouldClose: closeDropdown, placement: \"bottom-start\", ignoreAriaWarnings // We want to anchor to input, but be powered by right action.\n : true, rootElementRef: rootElementRef },\n React.createElement(Card.Surface, { style: { padding: sizes.base } },\n React.createElement(Calendar, Object.assign({ value: value, onChange: onSelectDate, \"aria-label\": `${ariaLabel} Calendar`, isDisabled: isDisabled }, validationProps)),\n React.createElement(DatePickerFooter, null,\n React.createElement(Button, { type: \"button\", variant: \"flat\", onClick: () => onSelectDate(resetToValue.current), size: \"sm\", disabled: isDisabled }, \"Reset\")))))));\n};\n//# sourceMappingURL=DatePicker.js.map","import styled from 'styled-components';\nexport const SelectInput = styled.select.withConfig({ displayName: \"vui--SelectInput\", componentId: \"vui--1v4mu6a\" }) `box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;padding:0 2.5rem 0 0.5rem;border-radius:4px;background-color:white;border:1px solid #959fa8;color:#1b2126;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M4 6L8 10L12 6H4Z' fill='currentColor' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 0.5em top 50%,0 0;${({ sizeVariant }) => {\n let height = '40px';\n let fontSize = '14px';\n if (sizeVariant === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} &:focus{border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 4px #f7bcbc;outline:0;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { SelectInput } from './styled';\nimport { withLabels } from '../../hoc';\nexport const Select = withLabels(forwardRef((_a, ref) => {\n var { className, options, value, onChange, size, disabled, hasError } = _a, otherProps = __rest(_a, [\"className\", \"options\", \"value\", \"onChange\", \"size\", \"disabled\", \"hasError\"]);\n const handleChange = useCallback((e) => {\n if (!onChange)\n return;\n onChange(e.currentTarget.value);\n }, [onChange]);\n return (React.createElement(SelectInput, Object.assign({ className: className, sizeVariant: size, value: value !== null && value !== void 0 ? value : undefined, onChange: handleChange, disabled: disabled, hasError: hasError, ref: ref }, otherProps), !!options &&\n options.map((option) => (React.createElement(\"option\", { key: option.label, value: option.value, disabled: option.disabled, hidden: option.hidden }, option.label)))));\n}));\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Slider = styled.span.withConfig({ displayName: \"vui--Slider\", componentId: \"vui--x03mdi\" }) `content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:18px;background-color:#cdd1d5;-webkit-transition:0.3s;transition:0.3s;&:after{content:'';position:absolute;border-radius:50%;background-color:${({ disabled, switched }) => disabled && switched ? theme.colors.secondary.blue.lightest : 'white'};-webkit-transition:0.3s;transition:0.3s;}`;\nconst Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1ccelw2\" }) `width:100%;height:100%;border-radius:${theme.radius.base};z-index:2;margin:0;cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};&:focus-visible + ${Slider}{box-shadow:0 0 0 4px ${theme.colors.brand.blue.light};}&:checked + ${Slider}{background-color:#0079d1;}&:disabled + ${Slider}{background-color:${theme.colors.neutral.grey.base};}&:checked:disabled + ${Slider}{background-color:${theme.colors.secondary.blue.light};}`;\nconst Switch = styled.span.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--13yy1uj\" }) `display:flex;position:relative;height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};z-index:1;input{position:absolute;opacity:0;}${Slider}:after{height:${({ small }) => (small ? '22px' : '28px')};width:${({ small }) => (small ? '22px' : '28px')};left:${({ small }) => (small ? '3px' : '4px')};bottom:${({ small }) => (small ? '3px' : '4px')};}${Input}:checked + ${Slider}{&:after,svg{-webkit-transform:translateX(${({ small }) => (small ? '28px' : '36px')});-ms-transform:translateX(${({ small }) => (small ? '28px' : '36px')});transform:translateX(${({ small }) => (small ? '28px' : '36px')});}}`;\nconst Wrapper = styled(BaseContainer).withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--69792q\" }) `display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Input, Slider, Switch, Wrapper } from './styled';\nimport { Choice } from '../Choice';\n/**\n * A toggle switch component, use-cases should provide a label, wrap with a custom one or pass in an aria-label.\n */\nexport const Toggle = forwardRef((_a, ref) => {\n var { id = 'testid', className, name, switched, small, onClick = () => { }, disabled, ariaLabel, inputPosition = 'right' } = _a, choiceProps = __rest(_a, [\"id\", \"className\", \"name\", \"switched\", \"small\", \"onClick\", \"disabled\", \"ariaLabel\", \"inputPosition\"]);\n return (React.createElement(Choice, Object.assign({ id: id, inputPosition: inputPosition }, choiceProps),\n React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, className: className },\n React.createElement(Input, { id: id, role: \"switch\", type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: (e) => (disabled ? undefined : onClick(e)), disabled: disabled, ref: ref }),\n React.createElement(Slider, { switched: switched, disabled: disabled })))));\n});\n//# sourceMappingURL=Toggle.js.map","export const DEFAULT_PREVIOUS_PERIOD_OPTIONS = [\n { label: 'Previous Day', value: 'PREVIOUS_DAY' },\n { label: 'Previous Week', value: 'PREVIOUS_WEEK' },\n { label: 'Previous Month', value: 'PREVIOUS_MONTH' },\n { label: 'Previous Year', value: 'PREVIOUS_YEAR' },\n];\n//# sourceMappingURL=constants.js.map","import React, { useEffect, useState } from 'react';\nimport { Toggle } from '../../Toggle';\nimport { Text } from '../../Text';\nimport { Select } from '../../Select';\nimport { theme } from '../../../theme';\nimport { DEFAULT_PREVIOUS_PERIOD_OPTIONS } from './constants';\nexport const ComparePreviousPeriod = ({ options = DEFAULT_PREVIOUS_PERIOD_OPTIONS, selectedPreviousPeriod, setSelectedPreviousPeriod, }) => {\n const [showCompareSelect, setShowCompareSelect] = useState(!!selectedPreviousPeriod);\n const findAndSelectOption = (newValue) => {\n const newOption = options.find(({ value }) => value === newValue);\n if (newOption)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(newOption);\n };\n const toggleShowSelect = () => {\n // When toggled off, unselect show previous period.\n if (showCompareSelect)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(null);\n setShowCompareSelect(!showCompareSelect);\n };\n // If no option is currently selected, we set to the first option provided.\n useEffect(() => {\n if (!selectedPreviousPeriod)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(options[0]);\n }, [selectedPreviousPeriod, setSelectedPreviousPeriod, options]);\n return (React.createElement(React.Fragment, null,\n React.createElement(Text, { variant: \"inputLabel\", style: {\n display: 'flex',\n alignItems: 'center',\n gap: theme.sizes.sm,\n whiteSpace: 'nowrap',\n } },\n React.createElement(Toggle, { small: true, switched: showCompareSelect, onClick: toggleShowSelect }),\n \"Compare previous period\"),\n showCompareSelect && (React.createElement(Select, { \"aria-label\": \"Period to compare against\", options: options, \n // To avoid screen jumping (before useEffect kicks in, default value to first option)\n value: (selectedPreviousPeriod === null || selectedPreviousPeriod === void 0 ? void 0 : selectedPreviousPeriod.value) || options[0].value, onChange: findAndSelectOption }))));\n};\n//# sourceMappingURL=ComparePreviousPeriod.js.map","import { CalendarDate, endOfMonth, getLocalTimeZone, now, startOfMonth, startOfWeek, startOfYear, } from '@internationalized/date';\nexport var DateRanges;\n(function (DateRanges) {\n DateRanges[\"TODAY\"] = \"TODAY\";\n DateRanges[\"YESTERDAY\"] = \"YESTERDAY\";\n DateRanges[\"LAST_7_DAYS\"] = \"LAST_7_DAYS\";\n DateRanges[\"LAST_30_DAYS\"] = \"LAST_30_DAYS\";\n DateRanges[\"LAST_90_DAYS\"] = \"LAST_90_DAYS\";\n DateRanges[\"LAST_MONTH\"] = \"LAST_MONTH\";\n DateRanges[\"LAST_12_MONTHS\"] = \"LAST_12_MONTHS\";\n DateRanges[\"WEEK_TO_DATE\"] = \"WEEK_TO_DATE\";\n DateRanges[\"MONTH_TO_DATE\"] = \"MONTH_TO_DATE\";\n DateRanges[\"YEAR_TO_DATE\"] = \"YEAR_TO_DATE\";\n})(DateRanges || (DateRanges = {}));\nexport const timeRangeToDateRange = (range) => {\n const { start, end } = range;\n const startDate = new CalendarDate(start.year, start.month, start.day);\n const endDate = new CalendarDate(end.year, end.month, end.day);\n return { start: startDate, end: endDate };\n};\nexport const getDateRange = (option) => {\n // Getting today every time function is called. Don't want this to be stale\n const today = now(getLocalTimeZone());\n let dateRange;\n switch (option) {\n case DateRanges.TODAY:\n dateRange = { start: today, end: today };\n break;\n case DateRanges.YESTERDAY:\n dateRange = {\n start: today.subtract({ days: 1 }),\n end: today.subtract({ days: 1 }),\n };\n break;\n case DateRanges.LAST_7_DAYS:\n dateRange = {\n start: today.subtract({ days: 7 }),\n end: today,\n };\n break;\n case DateRanges.LAST_30_DAYS:\n dateRange = {\n start: today.subtract({ days: 30 }),\n end: today,\n };\n break;\n case DateRanges.LAST_90_DAYS:\n dateRange = { start: today.subtract({ days: 90 }), end: today };\n break;\n case DateRanges.LAST_MONTH: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = { start: lastMonth, end: endOfMonth(lastMonth) };\n break;\n }\n case DateRanges.LAST_12_MONTHS: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = {\n start: startOfMonth(lastMonth).subtract({ months: 12 }),\n end: endOfMonth(lastMonth),\n };\n break;\n }\n case DateRanges.WEEK_TO_DATE:\n dateRange = { start: startOfWeek(today, navigator.language), end: today };\n break;\n case DateRanges.MONTH_TO_DATE:\n dateRange = { start: startOfMonth(today), end: today };\n break;\n case DateRanges.YEAR_TO_DATE:\n dateRange = { start: startOfYear(today), end: today };\n break;\n default:\n return null;\n }\n return timeRangeToDateRange(dateRange);\n};\nexport const DATE_RANGE_OPTIONS = [\n { label: 'Custom', value: 'CUSTOM', disabled: true },\n { label: 'Today', value: DateRanges.TODAY },\n { label: 'Yesterday', value: DateRanges.YESTERDAY },\n { label: 'Last 7 Days', value: DateRanges.LAST_7_DAYS },\n { label: 'Last 30 Days', value: DateRanges.LAST_30_DAYS },\n { label: 'Last 90 Days', value: DateRanges.LAST_90_DAYS },\n { label: 'Last Month', value: DateRanges.LAST_MONTH },\n { label: 'Last 12 Months', value: DateRanges.LAST_12_MONTHS },\n { label: 'Week to Date', value: DateRanges.WEEK_TO_DATE },\n { label: 'Month to Date', value: DateRanges.MONTH_TO_DATE },\n { label: 'Year to Date', value: DateRanges.YEAR_TO_DATE },\n];\nexport const checkForMatchingPreset = (selectedRange) => DATE_RANGE_OPTIONS.reduce((match, option) => {\n if (option.hidden || match)\n return match; // Skip hidden options or if a match is already found\n const optionDateRange = getDateRange(option.value);\n if (!optionDateRange)\n return match; // Skip when no match.\n const { start: optionStart, end: optionEnd } = optionDateRange;\n if (selectedRange.start.compare(optionStart) === 0 &&\n selectedRange.end.compare(optionEnd) === 0) {\n return option;\n }\n return match;\n}, undefined);\nexport const DEFAULT_SELECTION = DateRanges.LAST_30_DAYS;\nexport const DEFAULT_RANGE = getDateRange(DEFAULT_SELECTION);\nexport const DEFAULT_PRESET = DATE_RANGE_OPTIONS.find(({ value }) => value === DEFAULT_SELECTION);\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Divider = styled.div.withConfig({ displayName: \"vui--Divider\", componentId: \"vui--ssvmxc\" }) `margin:0 -${theme.sizes.base};border-top:1px solid ${theme.colors.neutral.grey.base};`;\n//# sourceMappingURL=Divider.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { Button } from '../Button';\nimport { Select } from '../Select';\nimport { DateInputField } from '../DateInputField';\nimport { RangeCalendar, useIsDateUnavailable } from '../Calendars';\nimport { Card } from '../Card';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { ComparePreviousPeriod } from './components/ComparePreviousPeriod';\nimport { DATE_RANGE_OPTIONS, DateRanges, checkForMatchingPreset, getDateRange } from './constants';\nimport { Divider } from './components/Divider';\nexport const DateRangePicker = (_a) => {\n var { \n // Style props\n className, style, isDisabled, \n // Customizable options\n showDatePresets = true, onReset, \n // Calendar props\n disabledRanges, disallowWeekends, maxValue, minValue, selectedPreset, setSelectedPreset, selectedRange, setSelectedRange, \n // Previous period props\n 'aria-describedby': ariaDescribedBy, 'aria-label': ariaLabel } = _a, previousPeriodProps = __rest(_a, [\"className\", \"style\", \"isDisabled\", \"showDatePresets\", \"onReset\", \"disabledRanges\", \"disallowWeekends\", \"maxValue\", \"minValue\", \"selectedPreset\", \"setSelectedPreset\", \"selectedRange\", \"setSelectedRange\", 'aria-describedby', 'aria-label']);\n const { isDateRangeUnavailable } = useIsDateUnavailable({\n disabledRanges,\n disallowWeekends,\n maxValue,\n minValue,\n });\n const updateRangePreset = (selectedValue) => {\n setSelectedRange(getDateRange(DateRanges[selectedValue]));\n setSelectedPreset(DATE_RANGE_OPTIONS.find(({ value }) => value === selectedValue) || DATE_RANGE_OPTIONS[0]);\n };\n const updateDateSegment = useCallback((slot) => (value) => {\n const newRange = {\n start: slot === 'start' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start,\n end: slot === 'end' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end,\n };\n setSelectedRange(newRange);\n }, [selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end, selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start, setSelectedRange]);\n const isDateRangeInvalid = useMemo(() => isDateRangeUnavailable(selectedRange), [isDateRangeUnavailable, selectedRange]);\n // Memoize finding preset since checkForMatchingPreset isn't quick.\n const matchedPreset = useMemo(() => {\n if (!selectedRange)\n return null;\n return checkForMatchingPreset(selectedRange);\n }, [selectedRange]);\n useEffect(() => {\n if (matchedPreset)\n setSelectedPreset(matchedPreset); // If selected value is a preset, set it.\n else\n setSelectedPreset(DATE_RANGE_OPTIONS[0]); // Otherwise, select \"custom\" option.\n }, [matchedPreset, setSelectedPreset]);\n return (React.createElement(Stack, { direction: \"vertical\", alignX: \"stretch\", spacing: \"0\", style: Object.assign({ gap: theme.sizes.base }, style), className: className, \"aria-describedby\": ariaDescribedBy, \"aria-label\": ariaLabel },\n showDatePresets && (React.createElement(Select, { disabled: isDisabled, label: \"Date Range\", options: DATE_RANGE_OPTIONS, value: selectedPreset === null || selectedPreset === void 0 ? void 0 : selectedPreset.value, onChange: updateRangePreset })),\n React.createElement(DateInputField, { isRangeInput: true, isDisabled: isDisabled, label: \"Start date - End date\", onChangeStartDate: updateDateSegment('start'), onChangeEndDate: updateDateSegment('end'), startValue: selectedRange && selectedRange.start, endValue: selectedRange && selectedRange.end, error: isDateRangeInvalid ? 'Range contains invalid dates' : undefined, disabledRanges: disabledRanges, disallowWeekends: disallowWeekends, maxValue: maxValue, minValue: minValue }),\n previousPeriodProps.showPreviousPeriod && React.createElement(ComparePreviousPeriod, Object.assign({}, previousPeriodProps)),\n React.createElement(Divider, null),\n React.createElement(Stack, { alignX: \"center\" },\n React.createElement(RangeCalendar, { \"aria-label\": \"Selected Date Range\", isDisabled: isDisabled, value: selectedRange, onChange: setSelectedRange, disabledRanges: disabledRanges, maxValue: maxValue, minValue: minValue, disallowWeekends: disallowWeekends })),\n !!onReset && (React.createElement(React.Fragment, null,\n React.createElement(Divider, null),\n React.createElement(Card.Footer, { style: { display: 'flex', justifyContent: 'end', padding: 0, margin: 0 } },\n React.createElement(Button, { variant: \"default\", size: \"sm\", onClick: onReset, disabled: isDisabled }, \"Reset\"))))));\n};\n//# sourceMappingURL=DateRangePicker.js.map","export function alignmentToFlex(align) {\n switch (align) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n}\n//# sourceMappingURL=alignmentToFlex.js.map","export function parseWidth(width, fallback) {\n switch (typeof width) {\n case 'string':\n return width;\n case 'number':\n return `${width}px`;\n case 'object':\n return `minmax(${parseWidth(width.min, 'max-content')}, ${parseWidth(width.max)})`;\n default:\n return fallback || '1fr';\n }\n}\n//# sourceMappingURL=parseWidth.js.map","import { theme } from '../../../theme';\nimport { parseWidth } from './parseWidth';\nimport { sumAllAfterIndex, sumAllBeforeIndex } from './sumAll';\nexport function generateTableCss({ pinnedLeft, pinnedRight, cellWidths, scrollPosition, stripingMode, columnWidths, columns, }) {\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: ${columns.map((column) => { var _a; return parseWidth((_a = columnWidths[column.id]) !== null && _a !== void 0 ? _a : column.width); }).join(' ')};\n\n th::after, td::after {\n transition: box-shadow .3s;\n }\n\n ${pinnedLeft.length > 0 ? pinnedLeftStyles : ''}\n ${pinnedRight.length > 0 ? pinnedRightStyles : ''}\n\n ${leftShadow}\n ${rightShadow}\n\n ${stripingMode === 'nested' ? stripingNested : stripingRow}\n `;\n}\n//# sourceMappingURL=generateTableCss.js.map","export function sumAllBeforeIndex(array, index) {\n return array.slice(0, index - 1).reduce((acc, val) => acc + val, 0);\n}\nexport function sumAllAfterIndex(array, index) {\n return array.slice(index).reduce((acc, val) => acc + val, 0);\n}\n//# sourceMappingURL=sumAll.js.map","/* Sorting */\nexport var SortDirection;\n(function (SortDirection) {\n SortDirection[\"ascending\"] = \"ascending\";\n SortDirection[\"descending\"] = \"descending\";\n})(SortDirection || (SortDirection = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const DoubleArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DoubleArrowIconIcon.js.map","import React from 'react';\nexport const ArrowUpIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M13 20V7.83L18.59 13.42L20 12L12 4L4 12L5.41 13.41L11 7.83L11 20H13Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowUpIcon.js.map","import React from 'react';\nexport const ArrowDownIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11 4V16.17L5.41 10.58L4 12L12 20L20 12L18.59 10.59L13 16.17L13 4H11Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowDownIcon.js.map","import React from 'react';\nimport { theme } from '../../../theme';\nimport { SortDirection } from '../types';\nimport { DoubleArrowIcon } from '../../../tempIcons/DoubleArrowIconIcon';\nimport { ArrowUpIcon } from '../../../tempIcons/ArrowUpIcon';\nimport { ArrowDownIcon } from '../../../tempIcons/ArrowDownIcon';\nexport const GetSortIcon = ({ sortState, columnId, size }) => {\n if (!sortState || sortState.columnId !== columnId)\n return React.createElement(DoubleArrowIcon, { size: size });\n if (sortState.direction === SortDirection.ascending) {\n return React.createElement(ArrowUpIcon, { color: theme.colors.neutral.ink.dark, size: size });\n }\n return React.createElement(ArrowDownIcon, { color: theme.colors.neutral.ink.dark, size: size });\n};\n//# sourceMappingURL=GetSortIcon.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nexport function useCellWidths(tableRef, containerRef) {\n const [cellWidths, setCellWidths] = useState([]);\n const updateCellWidths = () => {\n if (!tableRef.current)\n return;\n const cells = tableRef.current.querySelectorAll('tbody tr:first-child td');\n const widths = Array.from(cells).map((cell) => cell.getBoundingClientRect().width);\n setCellWidths(widths);\n };\n useEffect(() => {\n updateCellWidths();\n }, [tableRef.current]);\n // Update cell widths when container is resized.\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateCellWidths, 50); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n // eslint-disable-next-line consistent-return\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return cellWidths;\n}\n//# sourceMappingURL=useCellWidths.js.map","class CustomEvent extends Event {\n constructor(eventType, data) {\n super(eventType, { bubbles: true, cancelable: true });\n this.data = data;\n }\n}\nexport const customEventEmitter = (eventType, data) => {\n const evt = new CustomEvent(eventType, data);\n document.dispatchEvent(evt);\n};\n//# sourceMappingURL=customEventEmitter.js.map","import { useEffect, useState } from 'react';\nimport { customEventEmitter } from '../utils/customEventEmitter';\nexport const useColumnWidths = ({ tableRef, columns, columnIds, columnWidths: initialColumnWidths, }) => {\n const getColumnWidths = (cols) => cols.reduce((obj, item) => {\n // eslint-disable-next-line no-param-reassign\n obj[item.id] = item.width;\n return obj;\n }, {});\n const [columnWidths, setColumnWidths] = useState(initialColumnWidths || {});\n const setColumnWidth = ({ columnId, width }) => {\n const calculateWidth = (column, lastColumn) => {\n var _a, _b, _c;\n if (lastColumn)\n return columnWidths[column.id] || column.width;\n const val = columnWidths[column.id] ||\n column.width ||\n ((_c = (_b = (_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`th[data-columnid=\"${column.id}\"]`)) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect()) === null || _c === void 0 ? void 0 : _c.width) ||\n undefined;\n return val;\n };\n const newColumnWidths = Object.assign({}, columnWidths);\n columns.forEach((column, i) => {\n const lastColumn = i === columns.length - 1;\n const newWidth = column.id === columnId ? width : calculateWidth(column, lastColumn);\n newColumnWidths[column.id] = newWidth;\n });\n setColumnWidths(newColumnWidths);\n customEventEmitter('columnWidthUpdated', {\n tableRef,\n // eslint-disable-next-line @typescript-eslint/no-shadow\n columnWidths: newColumnWidths,\n });\n return newColumnWidths;\n };\n useEffect(() => {\n const widths = getColumnWidths(columns);\n const newColumnWidths = initialColumnWidths ? Object.assign({}, columnWidths) : widths;\n Object.keys(widths).forEach((key) => {\n if (typeof columnWidths[key] === undefined) {\n newColumnWidths[key] = widths[key];\n }\n });\n setColumnWidths(newColumnWidths);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(columnIds)]);\n /** This is used to set column widths when new columns are passed into the DataTable, is used when persisting table widths */\n useEffect(() => {\n if (!initialColumnWidths)\n return;\n setColumnWidths(initialColumnWidths);\n }, [initialColumnWidths]);\n return {\n setColumnWidth,\n columnWidths,\n };\n};\n//# sourceMappingURL=useColumnWidths.js.map","import { useCallback } from 'react';\nimport { useColumnWidths } from './useColumnWidths';\nexport function useColumns(columns, tableRef, onResizeColumns, columnWidths) {\n const { columnWidths: finalColumnWidths, setColumnWidth: originalSetColumnWidth } = useColumnWidths({\n tableRef,\n columns,\n columnIds: columns.map(({ id }) => id),\n columnWidths,\n });\n const setColumnWidth = useCallback(({ columnId, width }) => {\n const updatedColumnWidths = originalSetColumnWidth({ columnId, width });\n if (onResizeColumns) {\n onResizeColumns(updatedColumnWidths || finalColumnWidths);\n }\n }, [originalSetColumnWidth, onResizeColumns, finalColumnWidths]);\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 columnWidths: finalColumnWidths,\n pinnedLeft,\n pinnedRight,\n setColumnWidth,\n };\n}\n//# sourceMappingURL=useColumns.js.map","import { useEffect } from 'react';\nexport function useDragToScroll(targetRef) {\n useEffect(() => {\n if (!targetRef.current)\n return;\n let isDragging = false;\n const scrollTarget = targetRef.current;\n const position = {\n left: 0,\n x: 0,\n };\n const mouseMoveHandler = (e) => {\n if (!scrollTarget)\n return;\n const dx = e.clientX - position.x;\n scrollTarget.scrollLeft = position.left - dx;\n if (!isDragging) {\n scrollTarget.style.cursor = 'grabbing';\n scrollTarget.style.userSelect = 'none';\n }\n isDragging = true;\n };\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n isDragging = false;\n if (!scrollTarget)\n return;\n scrollTarget.style.removeProperty('cursor');\n scrollTarget.style.removeProperty('user-select');\n };\n const mouseDownHandler = (e) => {\n var _a, _b, _c;\n if (!scrollTarget)\n return;\n /** NOTE: prevents table scroll when resizing columns,\n * unable to use event.stopPropogation as event is a react Synthetic event which treats the event as the same, as they are on the same node, is discussed here\n * https://dev.to/dvnrsn/why-isn-t-event-stoppropagation-working-1bnm.\n */\n if (e.target instanceof HTMLElement && ((_c = (_b = (_a = e.target) === null || _a === void 0 ? void 0 : _a.classList) === null || _b === void 0 ? void 0 : _b.contains) === null || _c === void 0 ? void 0 : _c.call(_b, 'th-divider')))\n return;\n position.left = scrollTarget.scrollLeft;\n position.x = e.clientX;\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n };\n scrollTarget.addEventListener('mousedown', mouseDownHandler);\n /* eslint-disable-next-line consistent-return */\n return () => scrollTarget === null || scrollTarget === void 0 ? void 0 : scrollTarget.removeEventListener('mousedown', mouseDownHandler);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [targetRef.current]);\n}\n//# sourceMappingURL=useDragToScroll.js.map","import { useState } from 'react';\nexport function useNested() {\n const [expandedRowIds, setExpandedRowIds] = useState([]);\n // TODO: Memoise this\n const setExpanded = (expanded, rowId) => {\n if (!rowId)\n return;\n if (expanded) {\n // Add rowId to expandedRowIds\n if (expandedRowIds.includes(rowId))\n return;\n const rowIds = [...expandedRowIds, rowId];\n setExpandedRowIds(rowIds);\n }\n else {\n // Remove rowIds from expandedRowIds\n const index = expandedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...expandedRowIds];\n rowIds.splice(index, 1);\n setExpandedRowIds(rowIds);\n }\n };\n return {\n nestedTableProps: {\n expandedRowIds,\n setExpanded,\n },\n };\n}\n//# sourceMappingURL=useNested.js.map","/* eslint-disable consistent-return */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport throttle from 'lodash.throttle';\nexport function useScrollPosition(containerRef) {\n const [scrollPosition, setScrollPosition] = useState('start');\n const updateScrollPosition = () => {\n if (!containerRef.current)\n return;\n const { width } = containerRef.current.getBoundingClientRect();\n const { scrollLeft, scrollWidth } = containerRef.current;\n if (scrollWidth < width) {\n setScrollPosition('none');\n return;\n }\n if (scrollLeft === 0) {\n setScrollPosition('start');\n return;\n }\n if (scrollLeft + width >= scrollWidth) {\n setScrollPosition('end');\n return;\n }\n setScrollPosition('middle');\n };\n useEffect(() => {\n if (!containerRef.current)\n return;\n containerRef.current.addEventListener('scroll', updateScrollPosition);\n return () => { var _a; return (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateScrollPosition); };\n }, [containerRef.current]);\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateScrollPosition, 50);\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return { scrollPosition, containerRef };\n}\n//# sourceMappingURL=useScrollPosition.js.map","export const defaultCellSpacing = 3;\nexport const headerCellHeight = '56px';\nexport const footerCellHeight = '56px';\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, headerCellHeight } from '../constants';\nexport const Header = styled.th.withConfig({ displayName: \"vui--Header\", componentId: \"vui--12e6ib8\" }) `height:${headerCellHeight};position:relative;display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};z-index:${({ zIndex = 0 }) => zIndex};background-color:white;padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};border-bottom:1px solid ${theme.colors.neutral.grey.base};grid-column-end:${({ span = 1 }) => `span ${span}`};`;\n//# sourceMappingURL=Header.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Header } from './Header';\nexport function SelectionHeader(_a) {\n var { selected, indeterminate, onChange, selectionMode } = _a, headerProps = __rest(_a, [\"selected\", \"indeterminate\", \"onChange\", \"selectionMode\"]);\n if (selectionMode === 'single')\n return React.createElement(Header, Object.assign({}, headerProps));\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Checkbox, { checked: selected, indeterminate: indeterminate, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, footerCellHeight } from '../constants';\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--1oz46st\" }) `display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-bottom:var(--density);padding-top:var(--density);padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};color:${theme.text.bodySmall.color};font-family:${theme.text.bodySmall.fontFamily};font-size:${theme.text.bodySmall.fontSize};font-style:${theme.text.bodySmall.fontStyle};font-weight:${theme.text.bodySmall.fontWeight};line-height:${theme.text.bodySmall.lineHeight};grid-column-end:${({ span = 1 }) => `span ${span}`};tfoot &{min-height:${footerCellHeight};border-top:1px solid ${theme.colors.secondary.blue.base};background-color:${theme.colors.neutral.grey.lightest};}`;\n//# sourceMappingURL=Cell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Radio } from '../../Radio';\nimport { Cell } from './Cell';\nexport function SelectionCell(_a) {\n var { selected, rowId, onChange, selectionMode, disabled } = _a, cellProps = __rest(_a, [\"selected\", \"rowId\", \"onChange\", \"selectionMode\", \"disabled\"]);\n if (selectionMode === 'single') {\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Radio, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n }\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Checkbox, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionCell.js.map","/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { SelectionHeader } from '../components/SelectionHeader';\nimport { SelectionCell } from '../components/SelectionCell';\nconst emptySelectionState = [[], () => { }];\nexport function useSelection({ selectionMode = 'multiple', selectionState, enabledRowIds, }) {\n const selectionEnabled = !!selectionState;\n const [selectedRowIds, setSelectedRowIds] = selectionState || emptySelectionState;\n // TODO: Memoise this\n const setSelected = (selected, rowId) => {\n if (rowId === undefined || rowId === null)\n return; // Can't use falsey, must allow number 0\n if (selected && selectionMode === 'single') {\n // Replace selectedRowIds with only the current rowId\n setSelectedRowIds([rowId]);\n return;\n }\n if (selected) {\n // Add rowId to selectedRowIds\n if (selectedRowIds.includes(rowId))\n return;\n const rowIds = [...selectedRowIds, rowId];\n setSelectedRowIds(rowIds);\n }\n else {\n // Remove rowIds from selectedRowIds\n const index = selectedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...selectedRowIds];\n rowIds.splice(index, 1);\n setSelectedRowIds(rowIds);\n }\n };\n // TODO: Memoise this\n const toggleAllSelected = () => {\n if (selectedRowIds.length === enabledRowIds.length) {\n setSelectedRowIds([]);\n return;\n }\n setSelectedRowIds(enabledRowIds);\n };\n // TODO: Memoise this\n const selectionColumn = {\n id: 'selection',\n title: 'Selection',\n width: '40px',\n align: 'center',\n pinned: 'left',\n renderHeader: (column, headerProps) => (React.createElement(SelectionHeader, Object.assign({}, headerProps, { selected: selectedRowIds.length === enabledRowIds.length, indeterminate: selectedRowIds.length > 0 && selectedRowIds.length < enabledRowIds.length, onChange: toggleAllSelected, selectionMode: selectionMode }))),\n renderCell: (row, cellProps, actions, rowState) => (React.createElement(SelectionCell, Object.assign({}, cellProps, { rowId: row.id, selected: rowState.selected, onChange: actions.setSelected, selectionMode: selectionMode, disabled: rowState.disabled }))),\n };\n return {\n selectionEnabled,\n selectedRowIds,\n selectionColumn,\n setSelected,\n };\n}\n//# sourceMappingURL=useSelection.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const SortIndicator = styled.div.withConfig({ displayName: \"vui--SortIndicator\", componentId: \"vui--o7masx\" }) `width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:white;color:${theme.colors.neutral.ink.lightest};`;\nexport const HeaderContent = styled.span.withConfig({ displayName: \"vui--HeaderContent\", componentId: \"vui--vlccds\" }) `display:flex;height:28px;align-items:center;gap:4px;white-space:nowrap;color:${theme.text.headingTable.color};font-family:${theme.text.headingTable.fontFamily};font-size:${theme.text.headingTable.fontSize};font-style:${theme.text.headingTable.fontStyle};font-weight:${theme.text.headingTable.fontWeight};line-height:${theme.text.headingTable.lineHeight};`;\nexport const ClickableHeaderContent = styled(HeaderContent).attrs(() => ({\n as: 'button',\n type: 'button',\n})).withConfig({ displayName: \"vui--ClickableHeaderContent\", componentId: \"vui--xbox8h\" }) `appearance:none;padding:0;border:0;border-radius:4px;background-color:transparent;&:not(:disabled):hover{cursor:pointer;}&:hover ${SortIndicator}{background-color:${theme.colors.neutral.grey.light};color:${theme.colors.neutral.ink.base};}&:focus-visible{outline:0;box-shadow:0px 0px 0px 2px ${theme.colors.secondary.blue.light};}`;\n//# sourceMappingURL=ColumnHeader.js.map","import React, { createRef } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const ResizerBar = styled.div.withConfig({ displayName: \"vui--ResizerBar\", componentId: \"vui--115ilx\" }) `position:absolute;right:0;top:37.5%;width:1px;background:${theme.colors.neutral.grey.dark};min-height:25%;cursor:col-resize;user-select:none;&::before{content:'';position:absolute;top:-150%;left:0;width:12px;min-height:400%;z-index:1;transform:translateX(-6px);}`;\nexport const ColumnDivider = ({ columnId, setColumnWidth, minWidth }) => {\n const ref = createRef();\n const padding = 24;\n const mouseMove = (event) => {\n const { minTranslate, dragDivider, dragInitX } = window.tableHeaders;\n const translate = Math.max(event.clientX - (dragInitX || 0), minTranslate || 0);\n dragDivider.parentElement.parentElement.classList.add('hideHeaderDetails');\n dragDivider.style.transform = `translateX(${translate}px)`;\n };\n const minTranslate = () => {\n const { parentElement } = window.tableHeaders.dragDivider;\n const contentWidth = parentElement\n .querySelector('.headerContent')\n .getBoundingClientRect().width;\n const currWidth = parentElement.getBoundingClientRect().width;\n return contentWidth - currWidth + padding;\n };\n const calculateWidth = ({ event }) => {\n const { dragInitX, dragDivider } = window.tableHeaders;\n const { parentElement } = dragDivider;\n const initWidth = parentElement === null || parentElement === void 0 ? void 0 : parentElement.getBoundingClientRect().width;\n const contentWidth = parentElement\n .querySelector('.headerContent')\n .getBoundingClientRect().width;\n const finalWidth = minWidth && contentWidth < minWidth ? minWidth : contentWidth;\n const deltaX = (event.clientX || 0) - (dragInitX || 0);\n return Math.max((initWidth || 0) + deltaX, finalWidth + padding);\n };\n const mouseUp = (event) => {\n window.removeEventListener('mouseup', mouseUp);\n window.removeEventListener('dragend', mouseUp);\n window.removeEventListener('mousemove', mouseMove);\n window.removeEventListener('drag', mouseMove);\n setColumnWidth === null || setColumnWidth === void 0 ? void 0 : setColumnWidth({ columnId, width: calculateWidth({ event }) });\n if (window.tableHeaders) {\n window.tableHeaders.dragDivider.style.transform = 'translateX(0)';\n window.tableHeaders.dragDivider.parentElement.style.justifyContent = '';\n window.tableHeaders.dragInitX = undefined;\n window.tableHeaders.minTranslate = undefined;\n window.tableHeaders.dragDivider.parentElement.parentElement.classList.remove('hideHeaderDetails');\n }\n };\n const trackMouseStart = (event) => {\n if (event.button !== 0 && event.type !== 'dragstart')\n return;\n window.tableHeaders = {\n dragInitX: event.clientX,\n dragDivider: ref.current,\n };\n window.tableHeaders.minTranslate = minTranslate();\n window.addEventListener('mouseup', mouseUp);\n window.addEventListener('dragend', mouseUp);\n window.addEventListener('mousemove', mouseMove);\n window.addEventListener('drag', mouseMove);\n };\n return (React.createElement(ResizerBar, { ref: ref, className: \"th-divider\", onMouseDown: trackMouseStart, onDragStart: trackMouseStart }));\n};\n//# sourceMappingURL=ColumnDivider.js.map","import React from 'react';\nimport { Tooltip } from '../../Tooltip';\nimport { Header } from '../components/Header';\nimport { HeaderContent, ClickableHeaderContent, SortIndicator } from '../components/ColumnHeader';\nimport { getNextSortState, GetSortIcon } from '../utils';\nimport { ColumnDivider } from '../components/ColumnDivider';\n/**\n * Default renderer for table header cells\n *\n * @param column Column configuration object\n * @returns Header cell instance\n */\nexport function renderHeader({ column, sortState, onChangeSort, resizeableColumns, setColumnWidth, columnCount = 1, columnI = 0, }) {\n if (column.sortable && !sortState) {\n throw new Error(`Column '${column.id}' is configured to be sortable but the 'sortState' prop is missing.`);\n }\n if (column.hidden) {\n return null;\n }\n const headerProps = {\n key: column.id.toString(),\n id: `datatable-header-${column.id}`,\n 'data-columnid': String(column.id),\n role: 'columnheader',\n align: column.align,\n spacing: column.spacing,\n className: column.sortable ? 'sortable' : undefined,\n };\n // If defined, use custom renderer\n if (column.renderHeader) {\n return column.renderHeader(column, headerProps);\n }\n const handleClickSort = () => {\n if (!sortState) {\n console.warn('DataGrid::renderHeader::handleClickSort - sortState is not defined');\n return;\n }\n const nextSortState = getNextSortState({ sortState, columnId: column.id });\n if (!onChangeSort) {\n console.warn('DataGrid::renderHeader::handleClickSort - onChangeSort is not defined');\n return;\n }\n onChangeSort(nextSortState);\n };\n const ColumnHeaderContent = column.sortable ? ClickableHeaderContent : HeaderContent;\n const columnHeaderProps = column.sortable ? { onClick: handleClickSort } : {};\n return (React.createElement(Header, Object.assign({}, headerProps, { zIndex: 3 }),\n React.createElement(Tooltip, { text: column.tooltip },\n React.createElement(ColumnHeaderContent, Object.assign({}, columnHeaderProps, { className: \"headerContent\" }),\n column.iconSlot,\n column.title && React.createElement(\"span\", null, column.title),\n column.sortable && (React.createElement(SortIndicator, null,\n React.createElement(GetSortIcon, { sortState: sortState, columnId: column.id, size: 5 }))))),\n resizeableColumns && columnI < columnCount - 1 && (React.createElement(ColumnDivider, { columnId: column.id, setColumnWidth: setColumnWidth, minWidth: column === null || column === void 0 ? void 0 : column.resizeMinWidth }))));\n}\n//# sourceMappingURL=renderHeader.js.map","import { SortDirection } from '../types';\nexport function getNextSortState({ sortState, columnId }) {\n const isColumnSame = sortState.columnId === columnId;\n const isDefaultDirection = sortState.direction === SortDirection.ascending;\n let newSortDirection = SortDirection.ascending;\n if (isColumnSame && isDefaultDirection) {\n newSortDirection = SortDirection.descending;\n }\n return { columnId, direction: newSortDirection };\n}\n//# sourceMappingURL=getNextSortState.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\n/* Loading content shimmer animation */\nconst shimmerLight = theme.colors.neutral.grey.base;\nconst shimmerDark = theme.colors.neutral.grey.dark;\nexport const LoadingCellContent = styled.div.withConfig({ displayName: \"vui--LoadingCellContent\", componentId: \"vui--1mf4ayh\" }) `height:20px;width:75%;border-radius:${theme.radius.base};background:${shimmerLight};background-image:linear-gradient(\\n to right,\\n ${shimmerLight} 0%,\\n ${shimmerDark} 20%,\\n ${shimmerLight} 40%,\\n ${shimmerLight} 100%\\n );background-repeat:no-repeat;background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeholderShimmer;animation-timing-function:linear;@keyframes placeholderShimmer{0%{background-position:-468px 0;}100%{background-position:468px 0;}}`;\n//# sourceMappingURL=LoadingCellContent.js.map","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { renderHeader } from '../renderers/renderHeader';\nimport { headerCellHeight } from '../constants';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1feqxrw\" }) `display:grid;grid-template-columns:auto 1fr;align-items:center;position:absolute;top:0;left:0;right:0;z-index:50;height:${headerCellHeight};background-color:white;`;\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--dbz7t3\" }) `width:100%;height:100%;display:flex;align-items:center;padding:0 0.5rem;border-bottom:1px solid ${theme.colors.neutral.grey.base};& > *{flex:1;}`;\nexport function ActionBar({ selectionColumn, intersectionTargetRef, containerRef, children, }) {\n var _a;\n const [isSticky, setIsSticky] = useState(false);\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const callback = (entries) => {\n entries.forEach((entry) => {\n setIsSticky(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(callback);\n intersectionObserver.observe(intersectionTargetRef.current);\n /* eslint-disable-next-line consistent-return */\n return () => intersectionObserver.disconnect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [intersectionTargetRef.current]);\n const containerRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const defaultPositionStyles = {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n };\n const stickyPositionStyles = {\n position: 'fixed',\n top: 0,\n left: containerRect === null || containerRect === void 0 ? void 0 : containerRect.left,\n width: containerRect === null || containerRect === void 0 ? void 0 : containerRect.width,\n };\n const style = isSticky ? stickyPositionStyles : defaultPositionStyles;\n return (React.createElement(Container, { style: style },\n renderHeader({ column: selectionColumn }),\n React.createElement(Content, null, children)));\n}\n//# sourceMappingURL=ActionBar.js.map","import React from 'react';\nexport const VisiblityIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 4.5C7 4.5 2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C17 19.5 21.27 16.39 23 12C21.27 7.61 17 4.5 12 4.5ZM12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7C14.76 7 17 9.24 17 12C17 14.76 14.76 17 12 17ZM12 9C10.34 9 9 10.34 9 12C9 13.66 10.34 15 12 15C13.66 15 15 13.66 15 12C15 10.34 13.66 9 12 9Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityIcon.js.map","import React from 'react';\nexport const VisiblityOffIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 7C14.76 7 17 9.24 17 12C17 12.65 16.87 13.26 16.64 13.83L19.56 16.75C21.07 15.49 22.26 13.86 22.99 12C21.26 7.61 16.99 4.5 11.99 4.5C10.59 4.5 9.25 4.75 8.01 5.2L10.17 7.36C10.74 7.13 11.35 7 12 7ZM2 4.27L4.28 6.55L4.74 7.01C3.08 8.3 1.78 10.02 1 12C2.73 16.39 7 19.5 12 19.5C13.55 19.5 15.03 19.2 16.38 18.66L16.8 19.08L19.73 22L21 20.73L3.27 3L2 4.27ZM7.53 9.8L9.08 11.35C9.03 11.56 9 11.78 9 12C9 13.66 10.34 15 12 15C12.22 15 12.44 14.97 12.65 14.92L14.2 16.47C13.53 16.8 12.79 17 12 17C9.24 17 7 14.76 7 12C7 11.21 7.2 10.47 7.53 9.8ZM11.84 9.02L14.99 12.17L15.01 12.01C15.01 10.35 13.67 9.01 12.01 9.01L11.84 9.02Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityOffIcon.js.map","import React from 'react';\nexport const ReorderIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M3 15H21V13H3V15ZM3 19H21V17H3V19ZM3 11H21V9H3V11ZM3 5V7H21V5H3Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ReorderIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const EmptyBodyContent = styled.div.withConfig({ displayName: \"vui--EmptyBodyContent\", componentId: \"vui--grzgy2\" }) `padding-top:${theme.sizes.lg};padding-bottom:${theme.sizes.lg};grid-column:${({ columnCount }) => `1 / span ${columnCount}`};display:flex;flex-direction:column;align-items:center;justify-content:center;gap:${theme.sizes.md};`;\nexport const EmptyBodyGlyphWrapper = styled.div.withConfig({ displayName: \"vui--EmptyBodyGlyphWrapper\", componentId: \"vui--1uqall4\" }) `padding:${theme.sizes.md};background-color:${theme.colors.neutral.grey.light};border-radius:${theme.radius.full};`;\n//# sourceMappingURL=EmptyBodyContent.js.map","import styled from 'styled-components';\nexport const NoWrap = styled.div.withConfig({ displayName: \"vui--NoWrap\", componentId: \"vui--208yv4\" }) `white-space:nowrap;`;\n//# sourceMappingURL=NoWrap.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--ryxbs1\" }) `display:contents;${({ selected }) => selected &&\n `\n &&&& > td {\n background-color: ${theme.colors.brand.blue.lightest};\n }\n `};${({ accentColor }) => accentColor &&\n `\n &> *:first-child {\n position: relative;\n }\n\n & > *:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor};\n }\n `}`;\n//# sourceMappingURL=Row.js.map","import styled from 'styled-components';\nexport const ScrollContainer = styled.div.withConfig({ displayName: \"vui--ScrollContainer\", componentId: \"vui--1bx96p0\" }) `position:relative;width:100%;overflow-x:auto;overflow-y:hidden;`;\n//# sourceMappingURL=ScrollContainer.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst defaultDensity = 'base';\nexport const TableGrid = styled.table.withConfig({ displayName: \"vui--TableGrid\", componentId: \"vui--1fsix8g\" }) `min-width:100%;width:max-content;display:grid;& thead,& tbody,& tfoot{display:contents;}--density:${theme.sizes[defaultDensity]};&& tr:hover td{background-color:#f2f8fc;}${({ css }) => css}`;\n//# sourceMappingURL=TableGrid.js.map","import styled from 'styled-components';\nexport const Truncate = styled.div.withConfig({ displayName: \"vui--Truncate\", componentId: \"vui--14fzkum\" }) `overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;\n//# sourceMappingURL=Truncate.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst borderModeStyles = {\n full: `border-width: 1px; border-radius: ${theme.radius.base};`,\n vertical: 'border-width: 0; border-top-width: 1px; border-bottom-width: 1px;',\n none: 'border-width: 0;',\n};\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--5gfhdd\" }) `width:100%;position:relative;border-style:solid;border-color:${theme.colors.neutral.grey.dark};${({ borderMode = 'full' }) => borderModeStyles[borderMode]} &,& *{box-sizing:border-box;}.hideHeaderDetails th{> *{opacity:0.1;}.th-divider{opacity:1;}}`;\n//# sourceMappingURL=Wrapper.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nimport { Shadows } from '../../../theme/modules/shadows';\nexport function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths, tableCss, stickyHeaderTop = 0, }) {\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 lastLeftValue = useRef(null);\n const THROTTE_TIME_MS = 30;\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 rootMargin: `-${stickyHeaderTop}px 100% 0px 100%`,\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, THROTTE_TIME_MS); // 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 // Update dimensions when document scrolls\n // will only call updateContainerDimensions on horizontal scroll\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n const scrollCallback = throttle(() => {\n var _a;\n const { left } = ((_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || {};\n if (left && lastLeftValue.current !== left) {\n updateContainerDimensions();\n lastLeftValue.current = left;\n }\n }, THROTTE_TIME_MS); // Throttle events\n document.addEventListener('scroll', scrollCallback);\n return () => document.removeEventListener('scroll', scrollCallback); // 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}`, borderTop: `1px solid ${theme.colors.neutral.grey.base}`, boxShadow: Shadows.base, top: `${stickyHeaderTop}px` || '0px' });\n // Generate styles to sync sticky columns with \"real\" columns\n const columnsCss = cellWidths\n .map((width, index) => `\n & th:nth-child(${index + 1}) {\n width: ${width}px;\n }\n `)\n .join('');\n // Append to generated table styles\n const allCss = tableCss + columnsCss;\n return (React.createElement(\"div\", { style: containerStyle, ref: stickyContainerRef },\n React.createElement(TableGrid, { css: allCss },\n React.createElement(\"thead\", null, children))));\n}\n//# sourceMappingURL=StickyHead.js.map","export const getRowState = (rowId, { selectedRowIds, expandedRowIds, disabledRowIds, }) => {\n const rowState = {\n selected: (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.includes(rowId)) || false,\n expanded: (expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(rowId)) || false,\n disabled: (disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(rowId)) || false,\n };\n return rowState;\n};\n//# sourceMappingURL=getRowState.js.map","/* eslint-disable jsx-a11y/no-redundant-roles */\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\nimport { generateTableCss } from './utils';\nimport { useCellWidths, useColumns, useDragToScroll, useScrollPosition, useSelection, } from './hooks';\nimport { renderCell, renderFooter, renderHeader, renderLoadingCell, renderNestedCell, } from './renderers';\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nconst defaultEmptyState = {\n iconSlot: React.createElement(InfoIcon, { width: 48, height: 48 }),\n heading: 'No results',\n};\nconst emptyAction = () => { };\nexport const DataTable = ({ actionBarSlot, borderMode, columns: initialColumns, emptyState = defaultEmptyState, expandedRowIds, loading, loadingRowCount, onChangeSort, rows, disabledRowIds, selectionMode, selectionState, setExpanded, sortState, stripingMode, enableStickyHeader, resizeableColumns, onResizeColumns, columnWidths, stickyHeaderTop, }) => {\n // Refs\n const scrollContainerRef = useRef(null);\n const tableRef = useRef(null);\n const intersectionTargetRef = useRef(null);\n useDragToScroll(scrollContainerRef);\n // Configure row selection\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !(disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(id)));\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n // Assign actions\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n // Process columns\n const columnsWithSelection = [selectionColumn, ...initialColumns];\n const allColumns = selectionEnabled ? columnsWithSelection : initialColumns;\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const { visible, pinnedLeft, pinnedRight, setColumnWidth, columnWidths: calcColumnWidths, } = useColumns(allColumns, tableRef, onResizeColumns, columnWidths);\n const adjustedCellWidths = cellWidths.length === visible.length\n ? visible.map((col, i) => Number.isNaN(calcColumnWidths[col.id] || '') ? cellWidths[i] : calcColumnWidths[col.id])\n : cellWidths;\n // Generate styles\n const { scrollPosition } = useScrollPosition(scrollContainerRef);\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths: adjustedCellWidths,\n scrollPosition,\n columnWidths: calcColumnWidths,\n columns: visible,\n stripingMode,\n });\n // Render states\n if (loading) {\n const loadingRows = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" }, loadingRows.map((row) => (React.createElement(Row, { key: row.id }, visible.map((col) => renderLoadingCell(row, col))))))))));\n }\n if (rows.length === 0) {\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" },\n React.createElement(EmptyBodyContent, { columnCount: visible.length },\n React.createElement(EmptyBodyGlyphWrapper, null, emptyState.iconSlot),\n React.createElement(Stack, { spacing: \"sm\", alignX: \"center\" },\n React.createElement(Text, { variant: \"headingMedium\" }, emptyState.heading),\n emptyState.subheading && (React.createElement(Text, { variant: \"subheadingMedium\" }, emptyState.subheading)))))))));\n }\n const renderRow = (row) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, Object.assign({ role: \"row\", key: row.id, accentColor: accentColor, className: e2eClassName }, rowState), visible.map((col) => renderCell(row, col, actions, rowState))));\n };\n const renderNestedRow = (nestedRow, rowId) => {\n var _a, _b;\n const nestedRowE2eClassName = (_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, { role: \"row\", key: nestedRow.id, className: nestedRowE2eClassName }, visible.map((col) => renderNestedCell(nestedRow, col, rowState))));\n };\n const renderSection = (row) => {\n var _a;\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n return (React.createElement(\"tbody\", { role: \"rowgroup\", key: row.id },\n renderRow(row),\n isExpanded && ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))));\n };\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n if (hasNestedRows) {\n return (React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map((row) => {\n var _a;\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n const nestedRowElements = (isExpanded &&\n ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })));\n }\n return React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map(renderRow));\n };\n const headersMarkup = (React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }))));\n const shouldRenderFooter = initialColumns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!actionBarSlot;\n return (React.createElement(Wrapper, { borderMode: borderMode },\n shouldRenderActionBar && (React.createElement(ActionBar, { selectionColumn: selectionColumn, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef }, actionBarSlot)),\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n enableStickyHeader && (React.createElement(StickyHead, { tableCss: tableCss, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef, cellWidths: adjustedCellWidths, stickyHeaderTop: stickyHeaderTop }, headersMarkup)),\n React.createElement(\"div\", { ref: intersectionTargetRef, style: { height: 0 } }),\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" }, headersMarkup),\n renderBody(),\n shouldRenderFooter && (React.createElement(\"tfoot\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderFooter({ column })))))))));\n};\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n//# sourceMappingURL=DataTable.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\nimport { LoadingCellContent } from '../components/LoadingCellContent';\n/**\n * Default renderer for loading cells\n * @param row\n * @param column\n * @returns\n */\nexport function renderLoadingCell(row, column) {\n if (column.hidden === true) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(LoadingCellContent, null)));\n}\n//# sourceMappingURL=renderLoadingCell.js.map","/**\n * Default renderer for table cells\n *\n * @param row\n * @param column\n * @returns\n */\nexport function renderCell(row, column, actions, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n span: column.span,\n };\n return column.renderCell(row, cellProps, actions, rowState);\n}\n//# sourceMappingURL=renderCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table cells in nested rows\n *\n * @param nestedRow\n * @param column\n * @returns\n */\nexport function renderNestedCell(nestedRow, column, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${nestedRow.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n if (!column.renderNestedCell) {\n return React.createElement(Cell, Object.assign({}, cellProps));\n }\n return column.renderNestedCell(nestedRow, cellProps, rowState);\n}\n//# sourceMappingURL=renderNestedCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table footer cells\n *\n * @param column Column configuration object\n * @returns Footer cell instance\n */\nexport function renderFooter({ column }) {\n if (column.hidden) {\n return null;\n }\n const footerProps = {\n key: column.id,\n role: 'cell',\n align: column.align,\n spacing: column.spacing,\n };\n if (!column.renderFooter) {\n return React.createElement(Cell, Object.assign({}, footerProps));\n }\n return column.renderFooter(column, footerProps);\n}\n//# sourceMappingURL=renderFooter.js.map","import React, { useState } from 'react';\nimport { Button } from '../../Button';\nimport { Card } from '../../Card';\nimport { Popover } from '../../Popover';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nimport { VisiblityIcon } from '../../../tempIcons/VisibilityIcon';\nimport { VisiblityOffIcon } from '../../../tempIcons/VisibilityOffIcon';\nimport { ReorderIcon } from '../../../tempIcons/ReorderIcon';\nexport function ColumnMenu({ columns, columnGroups, setColumns }) {\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n const [showPopover, setShowPopover] = useState(false);\n const columnEntries = columns.map((column) => [column.id, column]);\n const columnsMap = Object.fromEntries(columnEntries);\n const groups = columnGroups.map((group) => group.map((columnId) => columnsMap[columnId]));\n const setHidden = (groupIndex, hidden) => {\n const columnIds = groups[groupIndex].map((column) => column.id);\n const newColumns = [...columns];\n columnIds.forEach((columnId) => {\n const index = newColumns.findIndex((column) => column.id === columnId);\n if (index < 0)\n return;\n newColumns[index] = Object.assign(Object.assign({}, newColumns[index]), { hidden });\n });\n setColumns(newColumns);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { ref: setPopoverAnchor, dropdown: true, onClick: () => setShowPopover(true) }, \"Columns\"),\n showPopover && (React.createElement(Popover, { anchorElement: popoverAnchor, onShouldClose: () => setShowPopover(false) },\n React.createElement(Card, { style: { width: 600 } },\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" }, groups.map((group, groupIndex) => (React.createElement(Stack, { key: group[0].id, direction: \"horizontal\", alignY: \"center\", spacing: \"sm\", style: {\n border: '1px solid black',\n padding: 8,\n } },\n React.createElement(Button, { variant: \"flat\", iconSlot: 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\", iconSlot: React.createElement(VisiblityOffIcon, null), onClick: () => setHidden(groupIndex, false), style: { color: theme.colors.neutral.ink.lightest } })) : (React.createElement(Button, { variant: \"flat\", iconSlot: React.createElement(VisiblityIcon, null), onClick: () => setHidden(groupIndex, true) }))))))))))));\n}\n//# sourceMappingURL=ColumnMenu.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nconst List = styled.dl.withConfig({ displayName: \"vui--List\", componentId: \"vui--syirga\" }) `margin:unset;& > * + *{margin-top:${theme.sizes.base};}`;\nconst Item = styled.div.withConfig({ displayName: \"vui--Item\", componentId: \"vui--dz7dgm\" }) `& > * + *{margin-top:${theme.sizes.xs};}`;\nconst ItemRow = styled.div.withConfig({ displayName: \"vui--ItemRow\", componentId: \"vui--1b0o5wp\" }) `display:flex;justify-content:space-between;& > * + *{margin-left:${theme.sizes.base};}`;\nconst DescriptionContainer = styled.div.withConfig({ displayName: \"vui--DescriptionContainer\", componentId: \"vui--foltw8\" }) `text-align:right;& > * + *{margin-top:${theme.sizes.xs};}`;\nconst Term = styled.dt.withConfig({ displayName: \"vui--Term\", componentId: \"vui--s2cfux\" }) `font-family:${theme.text.bodyBold.fontFamily};font-size:${theme.text.bodyBold.fontSize};font-weight:${theme.text.bodyBold.fontWeight};line-height:${theme.text.bodyBold.lineHeight};color:${theme.text.bodyBold.color};`;\nconst Description = styled.dd.withConfig({ displayName: \"vui--Description\", componentId: \"vui--1915ejg\" }) `margin-left:unset;font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.text.body.lineHeight};color:${theme.text.body.color};`;\nexport const DescriptionList = ({ items, horizontal }) => {\n const renderDescription = (description) => {\n if (Array.isArray(description)) {\n return description.map((d) => React.createElement(Description, { key: d }, d));\n }\n return React.createElement(Description, null, description);\n };\n const renderItem = (item) => {\n if (horizontal) {\n return (React.createElement(ItemRow, { key: item.term },\n React.createElement(Term, null, item.term),\n React.createElement(DescriptionContainer, null, renderDescription(item.description))));\n }\n return (React.createElement(Item, { key: item.term },\n React.createElement(Term, null, item.term),\n renderDescription(item.description)));\n };\n return React.createElement(List, null, items.map(renderItem));\n};\n//# sourceMappingURL=DescriptionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { sizes, colors } = theme;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--2wnu9m\" }) `width:100%;display:grid;grid-template-columns:${({ showSidebar = true }) => showSidebar ? `calc(100% - 312px - ${sizes.md}) 312px` : '100% 312px'};align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\nexport const ContentContainer = styled.div.withConfig({ displayName: \"vui--ContentContainer\", componentId: \"vui--nvukr5\" }) `width:100%;box-sizing:border-box;padding:${sizes.md};overflow-x:hidden;background-color:${colors.neutral.grey.lightest};`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { ColumnGrid, ContentContainer } from './styled';\nexport const DetailPage = ({ renderHeader, children }) => {\n const [shouldShowSidebar, setShouldShowSidebar] = useState(true);\n const toggleSidebar = () => setShouldShowSidebar(!shouldShowSidebar);\n return (React.createElement(\"main\", null,\n renderHeader(toggleSidebar, shouldShowSidebar),\n React.createElement(ContentContainer, null,\n React.createElement(ColumnGrid, { showSidebar: shouldShowSidebar }, children))));\n};\n//# sourceMappingURL=DetailPage.js.map","import styled from 'styled-components';\nexport const InputGroup = styled.div.withConfig({ displayName: \"vui--InputGroup\", componentId: \"vui--1w0e9jz\" }) `display:flex;& > *{margin-left:0;margin-right:0;box-shadow:none;}& > *:not(:last-child){border-right-width:0 !important;}& > *:hover{}& > *:focus,& > *:active{z-index:5;border-right-width:1px !important;}& > *:focus + *,& > *:active + *{border-left-width:0 !important;}& > *:not(:first-child):not(:last-child){border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:first-child{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:last-child{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important;}`;\n//# sourceMappingURL=index.js.map","export var ComponentSize;\n(function (ComponentSize) {\n ComponentSize[\"base\"] = \"base\";\n ComponentSize[\"sm\"] = \"sm\";\n})(ComponentSize || (ComponentSize = {}));\n//# sourceMappingURL=types.js.map","import styled, { css } from 'styled-components';\nimport { theme } from '../../theme';\nconst pseudoStates = ({ hasError, inputSize }) => css `&{--outline-size:${inputSize === 'sm' ? '2px' : '4px'};}&:focus{border-color:#0079d1;box-shadow:0 0 0 var(--outline-size)#80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 var(--outline-size)#f7bcbc;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}${hasError &&\n `\n &,\n &:focus {\n border-color: #EB5757;\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--outline-size) #F7BCBC;\n }\n `}`;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--3jt15a\" }) `font-family:${theme.fontFamily};box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 12px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${({ inputSize }) => {\n let height = '40px';\n let fontSize = '14px';\n if (inputSize === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} ${pseudoStates} &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;width:8ch;text-align:right;}`;\nexport const Textarea = styled.textarea.withConfig({ displayName: \"vui--Textarea\", componentId: \"vui--1k04ik\" }) `box-sizing:border-box;width:100%;padding:8px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${pseudoStates}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, forwardRef } from 'react';\nimport { generateId } from '../../utils/generateId';\nimport { Input, Textarea } from './styled';\nimport { ComponentSize } from '../types';\nconst NUMBER_REGEX = /^-?[0-9]*\\.?[0-9]+$/;\nexport const TextField = forwardRef((_a, ref) => {\n var { id, className, disabled = false, hasError, multiline = false, spellCheck = false, name, onChange, placeholder, size = ComponentSize.base, type = 'text', value } = _a, otherProps = __rest(_a, [\"id\", \"className\", \"disabled\", \"hasError\", \"multiline\", \"spellCheck\", \"name\", \"onChange\", \"placeholder\", \"size\", \"type\", \"value\"]);\n const handleChange = useCallback((event) => {\n if (!onChange)\n return;\n const newValue = event.currentTarget.value;\n if (newValue === '') {\n onChange(newValue);\n return;\n }\n if (type !== 'number') {\n onChange(newValue);\n return;\n }\n const reg = new RegExp(NUMBER_REGEX);\n if (!reg.test(newValue)) {\n return;\n }\n onChange(newValue);\n }, [onChange, type]);\n const componentId = id !== null && id !== void 0 ? id : generateId('textfield');\n if (type === 'text' && multiline) {\n return (React.createElement(Textarea, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, name: name, onChange: handleChange, placeholder: placeholder, value: value, ref: ref, spellCheck: spellCheck }, otherProps)));\n }\n return (React.createElement(Input, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, inputSize: size, name: name, \"aria-label\": name, onChange: handleChange, placeholder: placeholder, type: type, value: value, ref: ref, 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","export const blockInvalidCharacters = (e, invalidList) => {\n if (invalidList.includes(e.key))\n e.preventDefault();\n};\n//# sourceMappingURL=blockInvalidCharacters.js.map","export const invalidCharsList = ['-', '+', 'E', 'e'];\n//# sourceMappingURL=invalidCharactersNumeric.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { InputGroup } from '../InputGroup';\nimport { ComponentSize } from '../types';\nimport { withLabels } from '../../hoc';\nimport { Container, Row, TextField, Button } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { theme } from '../../theme';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\nexport const DimensionsInput = withLabels((_a) => {\n var { size = ComponentSize.base, handleChangeHeight, handleChangeWidth, handleChangeLength, className, height, width, length, unit } = _a, rest = __rest(_a, [\"size\", \"handleChangeHeight\", \"handleChangeWidth\", \"handleChangeLength\", \"className\", \"height\", \"width\", \"length\", \"unit\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeLength, size: size, name: \"length\", type: \"number\", placeholder: \"L\", value: length, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(TextField, Object.assign({ onChange: handleChangeWidth, size: size, name: \"width\", type: \"number\", placeholder: \"W\", value: width, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeHeight, size: size, name: \"height\", type: \"number\", placeholder: \"H\", value: height, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { theme } from '../../theme';\nconst Container = styled(BaseContainer).attrs({\n as: 'button',\n}).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1tebbdi\" }) `display:inline-flex;flex-direction:row;align-items:center;background-color:${colors.neutral.grey.base};padding:4px 8px;cursor:pointer;border:1px solid ${colors.neutral.grey.dark};border-radius:4px;svg{width:${sizes.base};height:${sizes.base};}&:focus{outline:none;box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}`;\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, useState } 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';\nimport { useHandleFocus } from '../Popover/hooks/useHandleFocus';\nconst generateClassNames = (prefix) => ({\n filterTagDropdown: prefix ? `${prefix}-filter-tag-dropdown` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n cross: prefix ? `${prefix}-cross` : undefined,\n});\nexport const FilterTag = ({ className, e2eClassName, label, text, iconSlot, fill = colors.secondary.blue.base, content, footer, header, onClickAway, onClick, shouldCloseOnClickAway = true, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [anchorElement, setAnchorElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const { shouldShowDropdown, toggleShouldShowDropdown, closeDropdown } = useDropdown({\n anchorElement,\n });\n const { handleKeyDown } = useHandleFocus({\n popperElement,\n anchorElement,\n onClose: closeDropdown,\n });\n const handleClick = useCallback((event) => {\n if (shouldShowDropdown)\n closeDropdown();\n else\n toggleShouldShowDropdown();\n if (onClickAway && shouldShowDropdown)\n onClickAway(event);\n }, [shouldShowDropdown, closeDropdown, toggleShouldShowDropdown, onClickAway]);\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 }, [onClickAway, closeDropdown, shouldCloseOnClickAway]);\n const shouldShowSimple = !content;\n if (shouldShowSimple) {\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]), 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 })));\n }\n return (React.createElement(Dropdown, { className: classNames.filterTagDropdown, shouldShowDropdown: shouldShowDropdown, onClickAway: handleClickAway, cta: React.createElement(Container, { className: classNames.container, onClick: handleClick, ref: setAnchorElement },\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, { ref: setPopperElement, onKeyDown: handleKeyDown },\n React.createElement(Header, { color: fill }, header || (React.createElement(React.Fragment, null,\n iconSlot,\n React.createElement(Text, { variant: \"bodyBold\" }, label)))),\n content,\n footer)));\n};\n//# sourceMappingURL=FilterTag.js.map","import React from 'react';\nexport const PlaceholderImage = (props) => (React.createElement(\"svg\", Object.assign({ width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M21.3333 0C22.8 0 24 1.2 24 2.66667V21.3333C24 22.8 22.8 24 21.3333 24H2.66667C1.2 24 0 22.8 0 21.3333V2.66667C0 1.2 1.2 0 2.66667 0H21.3333ZM10.6667 18.0133L7.33333 14L2.66667 20H21.3333L15.3333 12L10.6667 18.0133Z\", fill: \"#CDD1D5\" })));\n//# sourceMappingURL=PlaceholderImage.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--yyvmx7\" }) ``;\nexport const CommonImage = styled.img.withConfig({ displayName: \"vui--CommonImage\", componentId: \"vui--exntyx\" }) `box-sizing:border-box;cursor:${({ previewEnabled }) => (previewEnabled ? 'zoom-in' : 'default')};`;\nexport const PreviewImageContainer = styled.div.withConfig({ displayName: \"vui--PreviewImageContainer\", componentId: \"vui--jt8oew\" }) `z-index:10;background-color:transparent;`;\nexport const PreviewImage = styled.img.withConfig({ displayName: \"vui--PreviewImage\", componentId: \"vui--xulm2g\" }) `box-shadow:0 4px 12px rgba(27, 33, 38, 0.2);`;\n//# sourceMappingURL=styled.js.map","export const generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-image-container` : undefined,\n image: prefix ? `${prefix}-image` : undefined,\n placeholder: prefix ? `${prefix}-image-placeholder` : undefined,\n previewImageContainer: prefix ? `${prefix}-image-preview-container` : undefined,\n});\n//# sourceMappingURL=utils.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport { createPortal } from 'react-dom';\nimport { PlaceholderImage } from './components/PlaceholderImage';\nimport { Container, CommonImage, PreviewImageContainer, PreviewImage } from './components/styled';\nimport { generateClassNames } from './utils';\nimport { buildClassnames } from '../../utils/buildClassnames';\nexport const Image = ({ src, alt = '', className, e2eClassName, width, height, previewWidth, previewHeight, previewPlacement = 'right', previewEnabled = false, placeholder, placeholderWidth, placeholderHeight, disablePlaceholder = false, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n const [imageState, setImageState] = useState({ isLoaded: false, isError: false });\n const [referenceElement, setReferenceElement] = React.useState(null);\n const [popperElement, setPopperElement] = React.useState(null);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement: previewPlacement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 12],\n },\n },\n ],\n });\n const openImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(true) : {}), [previewEnabled]);\n const closeImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(false) : {}), [previewEnabled]);\n const onLoad = () => setImageState({ isLoaded: true, isError: false });\n const onError = () => setImageState({ isLoaded: true, isError: true });\n const isImageHidden = !imageState.isLoaded || imageState.isError;\n return (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container, className]) },\n React.createElement(CommonImage, { src: src, alt: alt, className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.image, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.image]), width: width, height: height, onLoad: onLoad, onError: onError, previewEnabled: previewEnabled, onMouseEnter: openImagePreview, onMouseLeave: closeImagePreview, style: isImageHidden ? { display: 'none' } : {}, ref: setReferenceElement }),\n !disablePlaceholder &&\n isImageHidden &&\n (placeholder || (React.createElement(PlaceholderImage, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.placeholder, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.placeholder]), width: placeholderWidth || width, height: placeholderHeight || height }))),\n isPreviewOpen &&\n createPortal(React.createElement(PreviewImageContainer, Object.assign({ ref: setPopperElement, style: styles.popper }, attributes.popper, { className: buildClassnames([\n classNames === null || classNames === void 0 ? void 0 : classNames.previewImageContainer,\n e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.previewImageContainer,\n ]) }),\n React.createElement(PreviewImage, { src: src, alt: \"\", width: previewWidth, height: previewHeight })), document.body)));\n};\n//# sourceMappingURL=Image.js.map","import React from 'react';\nimport { CalendarIcon } from '../../../tempIcons/CalendarIcon';\nimport { FailIcon } from '../../../tempIcons/FailIcon';\nconst iconSize = { width: 64, height: 64 };\nexport const defaultEmptyState = {\n icon: React.createElement(CalendarIcon, 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 FailIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12.0001 20.1818C16.5187 20.1818 20.1819 16.5187 20.1819 12C20.1819 7.4813 16.5187 3.81818 12.0001 3.81818C7.48136 3.81818 3.81824 7.4813 3.81824 12C3.81824 16.5187 7.48136 20.1818 12.0001 20.1818ZM16.3536 8.80575L13.1593 12L16.3536 15.1943L15.1943 16.3536L12 13.1593L8.80575 16.3536L7.64648 15.1943L10.8408 12L7.64648 8.80575L8.80575 7.64648L12 10.8408L15.1943 7.64648L16.3536 8.80575ZM8.80571 16L8.80575 16L12 12.8058L12 12.8057L8.80571 16ZM15.1943 16L15.1943 16L16 15.1943L16 15.1943L15.1943 16ZM16 8.80575L12.8058 12L12.8057 12L16 8.80571L16 8.80575Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=FailIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { ScrollPosition } from './utils/constants';\nconst { text, sizes } = theme;\nconst { blue } = theme.colors.secondary;\nconst { grey } = theme.colors.neutral;\nconst { scrollbar } = theme.colors.system;\nconst fixedColumnShadow = `\n position: absolute;\n top: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n transition: box-shadow .3s;\n`;\nconst startFixedColumnShadow = `\n box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nconst endFixedColumnShadow = `\n box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nexport const TooltipContent = styled.div.withConfig({ displayName: \"vui--TooltipContent\", componentId: \"vui--11ytygc\" }) `display:flex;flex-direction:row;align-items:center;`;\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--1g4i0cu\" }) `width:100%;overflow-x:${(props) => (props.scrollDisabled ? 'hidden' : 'auto')};overflow-y:hidden;position:relative;border-top:1px solid ${grey.dark};border-bottom:1px solid ${grey.dark};${({ showScrollbar }) => showScrollbar\n ? `\n scrollbar-width: auto;\n\n &::-webkit-scrollbar {\n margin-top: 10px;\n width: 6px;\n height: 6px;\n }\n \n &::-webkit-scrollbar-track {\n background: ${scrollbar.background}; \n }\n \n &::-webkit-scrollbar-thumb {\n background: ${scrollbar.thumb};\n border-radius: 4px; \n }\n `\n : ''} ${({ scrollDisabled, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, scrollPosition }) => scrollDisabled\n ? ''\n : `\n td:nth-child(${lastStartFixedColumnsIndex}):after,\n th:nth-child(${lastStartFixedColumnsIndex}):after {\n right: 0;\n transform: translate(100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end\n ? startFixedColumnShadow\n : ''};\n };\n\n td:nth-last-child(${firstEndFixedColumnsIndex}):after,\n th:nth-last-child(${firstEndFixedColumnsIndex}):after {\n left: 0;\n transform: translate(-100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle\n ? endFixedColumnShadow\n : ''};\n };\n `}`;\nexport const WrapperBordered = styled(Wrapper).withConfig({ displayName: \"vui--WrapperBordered\", componentId: \"vui--wtdkab\" }) `border:1px solid ${grey.dark};border-radius:4px;`;\nexport const Head = styled.thead.withConfig({ displayName: \"vui--Head\", componentId: \"vui--1j5avrf\" }) `background-color:white;`;\nexport const Body = styled.tbody.withConfig({ displayName: \"vui--Body\", componentId: \"vui--n8uysg\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& + & > tr:first-child > td{border-top:1px solid ${grey.base};}tr:not(:first-child)> td{border-top:1px solid transparent;}&&& tr:hover td{background-color:#ebf4fb;}`;\nexport const Foot = styled.tfoot.withConfig({ displayName: \"vui--Foot\", componentId: \"vui--qckqty\" }) `& td{background-color:${grey.lightest};padding:1.5rem 1rem;border-top:1px solid ${blue.base};}`;\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--10drh9k\" }) `&.hidden{visibility:collapse;}${({ accentColor }) => accentColor &&\n `\n & > td:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor}; \n }\n `}`;\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--tljl4p\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};width:${({ grow }) => (grow ? '100%' : 'auto')};& > *{vertical-align:middle;}`;\nexport const HeaderCell = styled(Cell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--HeaderCell\", componentId: \"vui--10p2duv\" }) `user-select:none;border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};& span{white-space:pre-line;}&.sortable:hover{cursor:pointer;background-color:${grey.light};}`;\nconst alignmentMap = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n};\nexport const HeaderCellLayout = styled.div.withConfig({ displayName: \"vui--HeaderCellLayout\", componentId: \"vui--13i0t50\" }) `display:flex;align-items:center;justify-content:${({ align }) => (align ? alignmentMap[align] : 'flex-start')};& > * + *{margin-left:0.25rem;}`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--1bp83gy\" }) `width:100%;border-spacing:0;table-layout:${({ isFixedLayout }) => (isFixedLayout ? 'fixed' : 'auto')};${({ striped }) => striped &&\n `\n & ${Body}:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `} & *{box-sizing:border-box;${({ tableLoading }) => tableLoading &&\n `\n user-select: none;\n pointer-events: none;\n `}}${({ noWrap }) => noWrap &&\n `\n & ${HeaderCell}, & ${HeaderCell} span {\n white-space: nowrap;\n }\n `}`;\nexport const Footer = styled.tfoot.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--44p3gi\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& ${Cell}{border-top:1px solid ${grey.dark};background-color:${grey.lightest};padding-top:${sizes.base};padding-bottom:${sizes.base};line-height:2rem;}`;\nexport const StickyHeaderWrapper = styled.div.withConfig({ displayName: \"vui--StickyHeaderWrapper\", componentId: \"vui--wokb93\" }) `position:fixed;top:0;z-index:2;overflow-x:hidden;`;\nexport const FakeHeaderTable = styled(Table).withConfig({ displayName: \"vui--FakeHeaderTable\", componentId: \"vui--6s4d56\" }) ``;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nconst SpecificStateContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SpecificStateContainer\", componentId: \"vui--991hgo\" }) `display:flex;flex-direction:column;justify-content:center;align-items:center;height:${(props) => props.height}px;background:white;`;\nconst EllipseContainer = styled(BaseContainer).withConfig({ displayName: \"vui--EllipseContainer\", componentId: \"vui--1oi4ebm\" }) `display:flex;justify-content:center;align-items:center;width:120px;height:120px;border-radius:100px;background:${theme.colors.neutral.grey.base};svg{width:64px !important;height:64px !important;}`;\nconst TitleText = styled(Text).withConfig({ displayName: \"vui--TitleText\", componentId: \"vui--pj8i0k\" }) `margin-top:24px;`;\nconst SubTitleText = styled(Text).withConfig({ displayName: \"vui--SubTitleText\", componentId: \"vui--19x6udv\" }) `margin-top:8px;`;\nexport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText } from './styled';\nexport const SpecificState = ({ height, icon, title, subTitle }) => (React.createElement(SpecificStateContainer, { height: height },\n React.createElement(EllipseContainer, null, icon),\n React.createElement(TitleText, { variant: \"headingLarge\" }, title),\n subTitle && React.createElement(SubTitleText, { variant: \"subheadingMedium\" }, subTitle)));\n//# sourceMappingURL=SpecificState.js.map","/* eslint-disable import/prefer-default-export */\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const CellButton = styled.button.withConfig({ displayName: \"vui--CellButton\", componentId: \"vui--1w0np52\" }) `appearance:none;border:0;background-color:transparent;font:inherit;display:inline-block;box-sizing:border-box;width:calc(100% + 1.5rem);margin:-0.75rem -0.75rem;padding:0.75rem 0.75rem;text-align:inherit;line-height:${theme.sizes.base};border-radius:${theme.radius.base};&:hover{cursor:pointer;background-color:${theme.colors.secondary.blue.lightest};}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst ClickableButton = styled(CellButton).withConfig({ displayName: \"vui--ClickableButton\", componentId: \"vui--1b7t5il\" }) `color:${theme.text.link.color};text-decoration:${theme.text.link.textDecoration};`;\nexport const ClickableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(ClickableButton, { onClick: onClick }, children)));\n};\n//# sourceMappingURL=ClickableCell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--n24x0f\" }) `text-align:inherit;border-bottom:1px dotted black;`;\nexport const EditableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(CellButton, { onClick: onClick },\n React.createElement(Content, null, children))));\n};\n//# sourceMappingURL=EditableCell.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst { grey } = theme.colors.neutral;\nconst SkeletonContentWrapper = styled.div.withConfig({ displayName: \"vui--SkeletonContentWrapper\", componentId: \"vui--oakirc\" }) `height:16px;width:100%;`;\nconst SkeletonContentComponent = styled.div.withConfig({ displayName: \"vui--SkeletonContentComponent\", componentId: \"vui--dbfg3y\" }) `display:inline-block;color:transparent;border-radius:4px;animation-duration:${({ isLoading = true }) => (isLoading ? '1s' : 0)};animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:linear-gradient(to right, ${grey.base} 8%, ${grey.dark} 15%, ${grey.base} 33%);background-size:800px 104px;border:0;width:100%;height:100%;@keyframes placeHolderShimmer{0%{background-position:-380px 0;}100%{background-position:380px 0;}}`;\nexport const SkeletonContent = ({ isLoading, style }) => (React.createElement(SkeletonContentWrapper, { style: style },\n React.createElement(SkeletonContentComponent, { isLoading: isLoading })));\n//# sourceMappingURL=SkeletonContent.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Cell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonCell = (_a) => {\n var { style } = _a, otherProps = __rest(_a, [\"style\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(SkeletonContent, { style: style })));\n};\nSkeletonCell.defaultProps = {\n style: {},\n};\n//# sourceMappingURL=SkeletonCell.js.map","import { useCallback, useEffect, useState } from 'react';\nexport const useStickyHeader = (tableRef, topOffset) => {\n const [isSticky, setIsSticky] = useState(false);\n const handleScrollChange = useCallback(({ top, bottom }) => {\n let sticky = isSticky;\n if (top <= (topOffset || 0) && bottom > 0) {\n sticky = !isSticky ? true : sticky;\n }\n else {\n sticky = isSticky ? false : sticky;\n }\n if (sticky !== isSticky)\n setIsSticky(sticky);\n }, [isSticky, topOffset]);\n useEffect(() => {\n const onScroll = () => {\n var _a;\n if (tableRef.current) {\n handleScrollChange((_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect());\n }\n };\n window.addEventListener('scroll', onScroll);\n return () => {\n window.removeEventListener('scroll', onScroll);\n };\n }, [handleScrollChange, tableRef]);\n return { isSticky };\n};\n//# sourceMappingURL=hooks.js.map","import React, { useState } from 'react';\nimport { useScroll } from 'react-use';\nimport { FakeHeaderTable, StickyHeaderWrapper } from './styled';\nimport { useStickyHeader } from './utils/hooks';\nexport const StickyHeader = ({ renderHeader, tableRef, wrapperRef, isFixedLayout, wrapperStyle, }) => {\n var _a;\n const [headerWrapperRef, setHeaderWrapperRef] = useState(null);\n const { isSticky } = useStickyHeader(tableRef, parseInt(typeof (wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top) === 'string' ? wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top : `${wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top}`, 10));\n // here we use 2, because we also have borders on each side by 1 px\n const wrapperWidth = (((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 0) - 2;\n // we use it just to re-render header to update scroll\n // so we don't need to get any value from this hook\n useScroll(wrapperRef);\n const updateScroll = (ref) => {\n var _a;\n const scrollLeft = ((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) || 0;\n if (ref) {\n // eslint-disable-next-line no-param-reassign\n ref.scrollLeft = scrollLeft;\n return;\n }\n if (headerWrapperRef)\n headerWrapperRef.scrollLeft = scrollLeft;\n };\n updateScroll();\n return isSticky ? (React.createElement(StickyHeaderWrapper, { ref: (ref) => {\n setHeaderWrapperRef(ref);\n updateScroll(ref);\n }, style: Object.assign({ width: wrapperWidth }, wrapperStyle) },\n React.createElement(FakeHeaderTable, { style: { tableLayout: isFixedLayout ? 'fixed' : 'auto' } }, renderHeader()))) : null;\n};\n//# sourceMappingURL=StickyHeader.js.map","export const convertFixedColumnInlineStyleToStyled = (fixedColumnsStyle) => {\n const styles = [];\n fixedColumnsStyle.forEach(({ index, style }) => styles.push(`\n > td:${style.left !== undefined ? 'nth-child' : 'nth-last-child'}(${Math.abs(index)}) {\n position: sticky;\n ${style.left !== undefined ? 'left' : 'right'}: ${style.left !== undefined ? style.left : style.right}px;\n z-index: ${style.zIndex};\n }\n `));\n return styles.join('\\n\\n');\n};\n//# sourceMappingURL=index.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { HeaderCell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonHeaderCell = (_a) => {\n var { style, width, isLoading } = _a, otherProps = __rest(_a, [\"style\", \"width\", \"isLoading\"]);\n return (React.createElement(HeaderCell, Object.assign({}, otherProps, { style: { width } }),\n React.createElement(SkeletonContent, { style: style, isLoading: isLoading })));\n};\n//# sourceMappingURL=SkeletonHeaderCell.js.map","import React from 'react';\nexport const DoubleArrowAscIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#959FA8\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#0079D1\" })));\n//# sourceMappingURL=DoubleArrowAscIcon.js.map","import React from 'react';\nexport const DoubleArrowDescIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#0079D1\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#959FA8\" })));\n//# sourceMappingURL=DoubleArrowDescIcon.js.map","import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport { Checkbox } from '../Checkbox';\nimport { Radio } from '../Radio';\nimport { Tooltip } from '../Tooltip';\nimport { theme } from '../../theme';\nimport { Wrapper, WrapperBordered, Table, Head, Body, Row, Cell, HeaderCell, HeaderCellLayout, Footer, TooltipContent, } from './styled';\nimport { SpecificState } from './SpecificState';\nimport { ClickableCell, EditableCell } from './cells';\nimport { SkeletonCell } from './cells/SkeletonCell';\nimport { defaultEmptyState, defaultErrorState, ScrollPosition } from './utils/constants';\nimport { StickyHeader } from './StickyHeader';\nimport { convertFixedColumnInlineStyleToStyled } from './utils';\nimport { SkeletonHeaderCell } from './cells/SkeletonHeaderCell';\nimport { SkeletonContent } from './SkeletonContent';\nimport { DoubleArrowIcon } from '../../tempIcons/DoubleArrowIconIcon';\nimport { DoubleArrowAscIcon } from '../../tempIcons/DoubleArrowAscIcon';\nimport { DoubleArrowDescIcon } from '../../tempIcons/DoubleArrowDescIcon';\nexport const IconUnsorted = () => (React.createElement(DoubleArrowIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortAsc = () => (React.createElement(DoubleArrowAscIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortDesc = () => (React.createElement(DoubleArrowDescIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\n/**\n * @deprecated\n *\n * Use DataTable instead\n */\nexport const LegacyDataTable = ({ borderless = false, striped = true, noWrap = false, showScrollbar = false, headers, rows, renderRow, renderNestedRow, expandedRowIds, renderLoadingRow, renderFooterRow, renderFooterLoadingRow, omitFooterSelectionCell = false, selectedRowIds, disabledSelectionInputRowIds, selectionMode = 'multiple', onChangeSelectedRowIds, sortColumnId, sortDirection, onChangeSort, isError = false, isLoading = false, skeletonRowsNumber = 5, isHeaderSticky = true, stickyHeaderStyle, customSpecificState, bodyHeightInSpecificStates = 375, startFixedColumnsNumber, endFixedColumnsNumber, }) => {\n const WrapperComponent = borderless ? Wrapper : WrapperBordered;\n const isEmpty = rows ? rows.length === 0 : false;\n const isFixedLayout = Boolean(startFixedColumnsNumber || endFixedColumnsNumber);\n const isFixedColumnsNotEnabled = !startFixedColumnsNumber && !endFixedColumnsNumber;\n const tableRef = useRef(null);\n const wrapperRef = useRef(null);\n const selectionColumnWidth = 58;\n const [scrollPosition, setScrollPosition] = useState(ScrollPosition.none);\n useEffect(() => {\n var _a;\n let refValue = null;\n const handleScroll = () => {\n if (!wrapperRef.current || isFixedColumnsNotEnabled)\n return;\n const el = wrapperRef.current;\n const scrollWidth = el.scrollWidth + 2; // 2 here is 2px which adds by border\n const { scrollLeft } = el;\n const { width } = el.getBoundingClientRect();\n const scrollValue = scrollLeft + width;\n if (scrollWidth === width)\n setScrollPosition(ScrollPosition.none);\n else if (scrollLeft === 0)\n setScrollPosition(ScrollPosition.start);\n else if (scrollLeft > 0 && scrollValue < scrollWidth)\n setScrollPosition(ScrollPosition.middle);\n else if (scrollValue === scrollWidth)\n setScrollPosition(ScrollPosition.end);\n };\n if (wrapperRef.current) {\n refValue = wrapperRef.current;\n handleScroll();\n (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', handleScroll);\n }\n return () => {\n refValue === null || refValue === void 0 ? void 0 : refValue.removeEventListener('scroll', handleScroll);\n };\n }, [tableRef, isFixedColumnsNotEnabled]);\n const castWidthToNumber = useCallback((width) => {\n if (typeof width === 'string') {\n // eslint-disable-next-line no-console\n console.error(\"You can only use a numeric value in the 'width' property when you use fixed columns\");\n return null;\n }\n if (width === undefined) {\n // eslint-disable-next-line no-console\n console.error(\"You should provide numeric value in the 'width' attribute in all fixed columns when you use fixed columns\");\n return null;\n }\n return width;\n }, []);\n const generateFixedColumnInlineStyle = useCallback((index, offset, side) => ({\n index: side === 'left' ? index : -index,\n style: {\n position: 'sticky',\n [side]: offset,\n zIndex: 1,\n },\n }), []);\n const generateFixedColumnsStyle = useCallback(() => {\n if (!headers || isLoading)\n return null;\n const startColumns = [];\n const endColumns = [];\n let totalStartOffset = 0;\n let totalEndOffset = 0;\n if (startFixedColumnsNumber) {\n if (selectedRowIds) {\n startColumns.push(generateFixedColumnInlineStyle(1, totalStartOffset, 'left'));\n totalStartOffset += selectionColumnWidth;\n }\n for (let i = 0; i < startFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers[i].width);\n if (headerWidth) {\n startColumns.push(generateFixedColumnInlineStyle(selectedRowIds ? i + 2 : i + 1, totalStartOffset, 'left'));\n totalStartOffset += headerWidth;\n }\n }\n }\n if (endFixedColumnsNumber) {\n for (let i = 0; i < endFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers.slice(-i - 1)[0].width);\n if (headerWidth) {\n endColumns.push(generateFixedColumnInlineStyle(i + 1, totalEndOffset, 'right'));\n totalEndOffset += headerWidth;\n }\n }\n }\n if (startColumns.length === 0 && endColumns.length === 0)\n return null;\n return [...startColumns, ...endColumns];\n }, [\n isLoading,\n castWidthToNumber,\n endFixedColumnsNumber,\n generateFixedColumnInlineStyle,\n headers,\n startFixedColumnsNumber,\n selectedRowIds,\n ]);\n const fixedColumnsStyle = useMemo(() => generateFixedColumnsStyle(), [generateFixedColumnsStyle]);\n const handleSelectRow = useCallback((checked, row) => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (checked) {\n if (selectionMode === 'single') {\n onChangeSelectedRowIds([row.id]);\n return;\n }\n onChangeSelectedRowIds([...selectedRowIds, row.id]);\n return;\n }\n const newSelectedRowIds = [...selectedRowIds];\n const index = newSelectedRowIds.findIndex((id) => id === row.id);\n newSelectedRowIds.splice(index, 1);\n onChangeSelectedRowIds(newSelectedRowIds);\n }, [onChangeSelectedRowIds, selectedRowIds, selectionMode]);\n const handleSelectAll = useCallback(() => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (selectedRowIds.length === rows.length) {\n onChangeSelectedRowIds([]);\n return;\n }\n const rowIds = rows.map((row) => row.id);\n onChangeSelectedRowIds(rowIds);\n }, [onChangeSelectedRowIds, rows, selectedRowIds]);\n const handleClickSortableHeader = useCallback((columnId) => {\n if (sortColumnId === undefined || onChangeSort === undefined)\n return;\n let nextColumnId = sortColumnId;\n let nextDirection = 'ascending';\n if (sortDirection === 'ascending') {\n nextDirection = 'descending';\n }\n if (columnId !== sortColumnId) {\n nextColumnId = columnId;\n nextDirection = 'ascending';\n }\n onChangeSort(nextColumnId, nextDirection);\n }, [onChangeSort, sortColumnId, sortDirection]);\n const renderHeaderCell = useCallback((header, style) => {\n let className = '';\n let onClick = () => { };\n let sortIcon = React.createElement(IconUnsorted, null);\n const { tooltip, align, icon, title, sortable, id } = header;\n if (sortable) {\n className = 'sortable';\n onClick = () => handleClickSortableHeader(id);\n if (sortColumnId === id) {\n sortIcon = sortDirection === 'ascending' ? React.createElement(IconSortAsc, null) : React.createElement(IconSortDesc, null);\n }\n }\n const headerContents = (React.createElement(HeaderCellLayout, { align: align },\n icon && icon,\n title && React.createElement(\"span\", null, title),\n sortable && sortIcon));\n return (React.createElement(HeaderCell, { key: id, id: `data-table-header-${id}`, className: className, onClick: onClick, align: header.align, grow: header.grow, style: Object.assign({ width: header.width || 'auto' }, style) }, tooltip ? (React.createElement(Tooltip, { text: tooltip },\n React.createElement(TooltipContent, null, headerContents))) : (headerContents)));\n }, [handleClickSortableHeader, sortColumnId, sortDirection]);\n const renderSkeletonHeaderCell = useCallback((header, style) => (React.createElement(SkeletonHeaderCell, { key: header.id, width: header.width || 'auto', style: style, isLoading: isLoading })), [isLoading]);\n const renderHeader = useCallback(() => {\n if (!headers)\n return null;\n const styles = generateFixedColumnsStyle();\n const selectionCellStyle = styles ? styles[0].style : {};\n return (React.createElement(Head, null,\n React.createElement(Row, null,\n selectedRowIds && (React.createElement(HeaderCell, { style: Object.assign({ width: selectionColumnWidth }, selectionCellStyle) }, selectionMode === 'multiple' && (React.createElement(Checkbox, { checked: (rows.length > 0 && (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.length) === rows.length) || false, onChange: handleSelectAll, disabled: (disabledSelectionInputRowIds && disabledSelectionInputRowIds.length > 0) ||\n isLoading ||\n isEmpty, ariaLabel: \"Select all\" })))),\n headers.map((header, index) => {\n const startHeaderIndex = selectedRowIds ? index + 2 : index + 1;\n const endHeaderIndex = index - headers.length;\n const headerCellStyle = styles === null || styles === void 0 ? void 0 : styles.find((style) => style.index === startHeaderIndex || style.index === endHeaderIndex);\n return header.skeleton && (isLoading || isError || isEmpty)\n ? renderSkeletonHeaderCell(header, header.skeletonStyle || {})\n : renderHeaderCell(header, (headerCellStyle === null || headerCellStyle === void 0 ? void 0 : headerCellStyle.style) || {});\n }))));\n }, [\n generateFixedColumnsStyle,\n handleSelectAll,\n headers,\n isEmpty,\n isError,\n isLoading,\n renderSkeletonHeaderCell,\n renderHeaderCell,\n rows.length,\n selectedRowIds,\n selectionMode,\n disabledSelectionInputRowIds,\n ]);\n const renderSelectionInput = useCallback((isSelected, row) => {\n const inputProps = {\n checked: isSelected,\n onChange: (checked) => handleSelectRow(checked, row),\n disabled: (disabledSelectionInputRowIds === null || disabledSelectionInputRowIds === void 0 ? void 0 : disabledSelectionInputRowIds.includes(row.id)) || false,\n };\n if (selectionMode === 'single') {\n return React.createElement(Radio, Object.assign({}, inputProps));\n }\n return React.createElement(Checkbox, Object.assign({}, inputProps));\n }, [handleSelectRow, selectionMode, disabledSelectionInputRowIds]);\n const renderSkeletonSelectionInput = useCallback((rowIndex) => {\n const generalStyle = {\n width: 18,\n height: 18,\n margin: 3,\n animationDuration: '0s',\n };\n if (selectionMode === 'single') {\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `radio-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '50%' }) }));\n }\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `checkbox-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '0.25rem' }) }));\n }, [selectionMode]);\n const getNestedRow = useCallback((nestedRow, isHidden) => {\n var _a, _b;\n if (!renderNestedRow)\n return null;\n const content = renderNestedRow(nestedRow);\n if (!content)\n return null;\n const nestedRowE2eClassName = ((_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) || '';\n return (React.createElement(Row, { key: nestedRow.id, className: `${nestedRowE2eClassName} ${isHidden ? 'hidden' : ''}` },\n selectedRowIds && React.createElement(Cell, null),\n content));\n }, [renderNestedRow, selectedRowIds]);\n const renderDefaultLoadingRow = useCallback((rowIndex) => {\n if (!headers)\n return React.createElement(SkeletonCell, null);\n // Otherwise render a cell for each column\n const cells = headers.map((header) => React.createElement(SkeletonCell, { key: `${rowIndex}-${header.id}` }));\n if (selectedRowIds)\n cells.unshift(renderSkeletonSelectionInput(rowIndex));\n return cells;\n }, [headers, renderSkeletonSelectionInput, selectedRowIds]);\n const getFooter = () => {\n if (!renderFooterRow)\n return null;\n if (isLoading && !renderFooterLoadingRow)\n return null;\n if (!isLoading && isEmpty)\n return null;\n return (React.createElement(Footer, { fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null,\n selectedRowIds && !omitFooterSelectionCell && React.createElement(Cell, null),\n !isLoading && renderFooterRow(rows),\n isLoading && renderFooterLoadingRow && renderFooterLoadingRow())));\n };\n let lastStartFixedColumnsIndex = startFixedColumnsNumber;\n if (selectedRowIds && lastStartFixedColumnsIndex)\n lastStartFixedColumnsIndex += 1;\n const renderedRows = useMemo(() => rows.map((row) => {\n var _a, _b, _c;\n const { data } = row;\n const isSelected = selectedRowIds ? selectedRowIds.includes(row.id) : false;\n const isExpanded = expandedRowIds ? expandedRowIds.includes(row.id) : true;\n const bodyClassName = (_a = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _a === void 0 ? void 0 : _a.body;\n const rowE2eClassName = (_c = (_b = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) !== null && _c !== void 0 ? _c : '';\n const rowClassName = isSelected ? `selected ${rowE2eClassName}` : `${rowE2eClassName}`;\n return (React.createElement(Body, { key: row.id, className: bodyClassName, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, { key: row.id, className: rowClassName, accentColor: row.accentColor },\n selectedRowIds && React.createElement(Cell, null, renderSelectionInput(isSelected, row)),\n renderRow(row)),\n row.nestedRows && row.nestedRows.map((item) => getNestedRow(item, !isExpanded))));\n }), [\n rows,\n expandedRowIds,\n fixedColumnsStyle,\n getNestedRow,\n renderRow,\n renderSelectionInput,\n selectedRowIds,\n ]);\n /* Loading state */\n if (isLoading) {\n const loadingRows = [];\n for (let i = 0; i < skeletonRowsNumber; i += 1) {\n loadingRows.push(React.createElement(Body, { key: `loading-row-${i}`, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null, renderLoadingRow ? (React.createElement(React.Fragment, null,\n selectedRowIds && renderSkeletonSelectionInput(),\n renderLoadingRow())) : (renderDefaultLoadingRow(i)))));\n }\n return (React.createElement(WrapperComponent, { ref: wrapperRef, scrollDisabled: true, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: true, isFixedLayout: isFixedLayout },\n renderHeader(),\n loadingRows,\n getFooter())));\n }\n /* Empty & Error states */\n if (isEmpty || isError) {\n let specificStateValues = defaultEmptyState;\n if (customSpecificState)\n specificStateValues = customSpecificState;\n else if (isError)\n specificStateValues = defaultErrorState;\n return (React.createElement(WrapperComponent, { scrollDisabled: true },\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n getFooter()),\n React.createElement(SpecificState, Object.assign({ height: bodyHeightInSpecificStates }, specificStateValues))));\n }\n /* Populated state */\n return (React.createElement(WrapperComponent, { scrollDisabled: false, ref: wrapperRef, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber, showScrollbar: showScrollbar },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n renderedRows,\n getFooter())));\n};\nLegacyDataTable.Cell = Cell;\nLegacyDataTable.ClickableCell = ClickableCell;\nLegacyDataTable.EditableCell = EditableCell;\nLegacyDataTable.SkeletonCell = SkeletonCell;\nLegacyDataTable.SkeletonContent = SkeletonContent;\n//# sourceMappingURL=LegacyDataTable.js.map","import styled from 'styled-components';\nexport const LoginButton = styled.button.withConfig({ displayName: \"vui--LoginButton\", componentId: \"vui--9ns5xb\" }) `background:none;border:none;padding:0;cursor:pointer;img{width:156px;height:32px;}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { LoginButton } from './styled';\nconst buttonImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64.png';\nconst buttonPressedImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64_pressed.png';\nexport const buttonDescription = 'Log in with Amazon';\n/**\n * Image used in this button is to comply with official\n * Amazon button guidelines (https://developer.amazon.com/docs/login-with-amazon/button.html#android-images).\n */\nexport const LoginWithAmazonButton = (props) => {\n const [image, setImage] = useState(buttonImg);\n const handleMouseDown = () => {\n setImage(buttonPressedImg);\n };\n const handleMouseUp = () => {\n setImage(buttonImg);\n };\n return (React.createElement(LoginButton, Object.assign({ onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, \"aria-label\": buttonDescription }, props),\n React.createElement(\"img\", { src: image, alt: buttonDescription })));\n};\n//# sourceMappingURL=LoginWithAmazonButton.js.map","import styled, { createGlobalStyle } from 'styled-components';\nimport { Card } from '../../Card';\nimport { theme } from '../../../theme';\nexport const NonScrollableBody = createGlobalStyle `body{overflow:hidden;scrollbar-gutter:stable;}`;\nexport const MainSection = styled.section.withConfig({ displayName: \"vui--MainSection\", componentId: \"vui--1ox4j2c\" }) `flex:1;overflow-y:auto;${({ fullBleed }) => !fullBleed && `padding: 0 ${theme.sizes.md};`} ${({ isScrollable }) => isScrollable &&\n `\n & + ${Card.Footer} {\n box-shadow: 0px 10px 15px 0px ${theme.colors.neutral.ink.dark};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","/**\n * Type guard to check if a header slot has been passed to the component.\n */\nexport const hasHeaderSlot = (props) => {\n return !!props.headerSlot;\n};\n/**\n * Type guard to check if a footer slot has been passed to the component.\n */\nexport const hasFooterSlot = (props) => {\n return !!props.footerSlot;\n};\n//# sourceMappingURL=types.js.map","import { breakpoints } from '../../../../theme/modules/breakpoints';\nexport const heightMap = {\n xs: '84vh',\n sm: '72vh',\n base: '84vh',\n lg: '96vh',\n};\nexport const widthMap = {\n [breakpoints.mobile]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.tablet]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.lgTablet]: {\n xs: '48vw',\n sm: '56vw',\n base: '88vw',\n lg: '100vw',\n },\n [breakpoints.desktop]: {\n xs: '36vw',\n sm: '44vw',\n base: '72vw',\n lg: '88vw',\n },\n [breakpoints.lgDesktop]: {\n xs: '32vw',\n sm: '40vw',\n base: '52vw',\n lg: '80vw',\n },\n};\nexport const fullScreenBreakpointMap = {\n xs: breakpoints.mobile,\n sm: breakpoints.mobile,\n base: breakpoints.tablet,\n lg: breakpoints.lgTablet,\n};\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { getOpaqueHexColor } from '../../../../utils/color';\nimport { Card } from '../../../Card';\nimport { theme } from '../../../../theme';\nimport { fullScreenBreakpointMap, heightMap, widthMap } from './constants';\nimport { MainSection } from '../styled';\nconst { breakpoints } = theme;\nexport const StyledDialog = styled(motion.dialog).attrs({\n initial: { opacity: 0, y: -50, bounce: 0 },\n exit: { opacity: 0, y: -50, bounce: 0 },\n animate: { opacity: 1, y: 0, bounce: 0 },\n transition: { type: 'tween', duration: 0.25 },\n}).withConfig({ displayName: \"vui--StyledDialog\", componentId: \"vui--1ohvs0u\" }) `padding:0;border:none;border-radius:${theme.sizes.sm};box-shadow:${theme.shadows.lg};min-width:464px;&::backdrop{animation:fadeIn 0.25s ease forwards;}& > ${Card.Surface}{display:flex;flex-direction:column;${({ variant }) => `max-height: ${heightMap[variant]};`} ${MainSection}{padding-bottom:${theme.sizes.md};}${Card.Footer}{margin-top:0;}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@media (min-width: calc(${breakpoints.mobile} + 1px))and (max-width: ${breakpoints.tablet}){max-width:${({ variant }) => widthMap[breakpoints.tablet][variant]};}@media (min-width: ${breakpoints.tablet})and (max-width: ${breakpoints.lgTablet}){max-width:${({ variant }) => widthMap[breakpoints.lgTablet][variant]};}@media (min-width: ${breakpoints.lgTablet})and (max-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.desktop][variant]};}@media (min-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.lgDesktop][variant]};}@media (max-width: ${({ variant }) => fullScreenBreakpointMap[variant]}){margin:0;width:100%;max-width:100vw;max-height:100vh;&,& > ${Card.Surface}{border-radius:0;height:100%;width:100%;max-height:unset;}}&::backdrop{background-color:${getOpaqueHexColor(theme.colors.neutral.ink.base, 0.5)};}&:not([open]){display:block;position:fixed;top:0;left:0;right:0;bottom:0;transform:translate(-50%, -50%);}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledDialog } from './styled';\nexport const Dialog = React.forwardRef((_a, ref) => {\n var rest = __rest(_a, []);\n return React.createElement(StyledDialog, Object.assign({ ref: ref }, rest));\n});\n//# sourceMappingURL=Dialog.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { MainSection, NonScrollableBody } from './components/styled';\nimport { hasFooterSlot, hasHeaderSlot } from './types';\nimport { Dialog } from './components/Dialog/Dialog';\nimport { useIsOverflowing } from '../../hooks/useIsOverflowing';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { CardHeader } from '../CardHeader';\nimport { Stack } from '../Stack';\nexport const Modal = (props) => {\n const { shouldShow, showHeaderCloseButton = true, fullBleed = false, variant = 'base', onClose: parentOnClose, children, className, } = 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\", className: className },\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 { 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, iconSlot: React.createElement(StartArrowIcon, null), size: \"sm\", \"aria-label\": \"go to first page\" }),\n React.createElement(PaginationButton, { onClick: handleDecrement, iconSlot: 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, iconSlot: React.createElement(RightArrowIcon, null), size: \"sm\", \"aria-label\": \"go to next page\", \"aria-disabled\": currentPage >= totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleSkipToEnd, iconSlot: React.createElement(EndArrowIcon, null), size: \"sm\", \"aria-label\": \"go to last page\", \"aria-disabled\": currentPage >= totalPagesCount })));\n};\n//# sourceMappingURL=Pagination.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1y4bw67\" }) `box-sizing:border-box;display:inline-flex;flex-direction:column;height:${({ size }) => (size === 'sm' ? '32px' : '40px')};border-radius:4px;${({ size }) => size === 'sm'\n ? `svg { width: 14px !important; height: 14px !important; };\n\n > button { padding: 0 6px };`\n : ''};& > *:first-child{border-bottom-width:0;}& > *:active,& > *:focus{border-width:1px;}& > *:active + *,& > *:focus + *{border-top-width:0;}& > *:focus,& > *:active{z-index:5;}& > *:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit;}& > *:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;}`;\nexport const StepButton = styled.button.withConfig({ displayName: \"vui--StepButton\", componentId: \"vui--z17r9v\" }) `appearance:none;flex:1;border:0;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:white;border:1px solid #959fa8;&:hover{cursor:pointer;background-color:#fafafb;}&:active:not(:disabled){background-color:#fafafb;border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { theme } from '../../theme';\nimport { Container, StepButton } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Stepper = ({ onIncrement, onDecrement, disabled = false, size }) => (React.createElement(Container, { size: size },\n React.createElement(StepButton, { type: \"button\", onClick: onIncrement, disabled: disabled },\n React.createElement(UpArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base })),\n React.createElement(StepButton, { type: \"button\", onClick: onDecrement, disabled: disabled },\n React.createElement(DownArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base }))));\n//# sourceMappingURL=Stepper.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { InputGroup } from '../InputGroup';\nimport { theme } from '../../theme';\nexport const StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--8gyz01\" }) `color:${theme.colors.neutral.ink.dark};width:100%;&:focus{box-shadow:none;border-color:none;border-right-width:0;border-color:${theme.colors.neutral.ink.lightest};}`;\nexport const PrefixContainer = styled(BaseContainer).withConfig({ displayName: \"vui--PrefixContainer\", componentId: \"vui--fsc9el\" }) `user-select:none;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:4px;display:flex;align-items:center;justify-content:center;width:${({ size }) => (size === 'sm' ? '30px' : '36px')};background-color:${({ disabled }) => (disabled ? theme.colors.neutral.grey.light : 'white')};flex-shrink:0;${({ size }) => (size === 'sm' ? '> span { font-size: 12px }' : '')};&:active{z-index:0;border-right-width:0;+ input{z-index:0;border-left-width:1px;}}`;\nexport const PrefixText = styled(Text).withConfig({ displayName: \"vui--PrefixText\", componentId: \"vui--w81sf\" }) `font-size:14px;`;\nexport const PriceInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--PriceInputGroup\", componentId: \"vui--jpuoo1\" }) `display:inline-flex;border-radius:4px;min-width:125px;width:100%;${({ hasError }) => hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n\n > * {\n border-top-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n\n > *:first-child {\n border-left-color: ${theme.colors.secondary.red.base};\n }\n\n > div:last-child {\n > button:first-child {\n border-top-color: ${theme.colors.secondary.red.base};\n border-right-color: ${theme.colors.secondary.red.base};\n }\n\n > button:last-child {\n border-right-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n }\n `} &:focus-within{outline:0;box-shadow:${({ hasError }) => hasError ? '' : `0 0 0 4px ${theme.colors.secondary.blue.light}`};}&:focus-within > *{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > *:first-child{border-left-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > div:last-child{> button:first-child{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}> button:last-child{border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ComponentSize } from '../types';\nimport { Stepper } from '../Stepper';\nimport { PriceInputGroup, StyledTextField, PrefixContainer, PrefixText } from './styled';\nimport { withLabels } from '../../hoc';\nconst fractionDigits = 2;\nfunction stringToFixed(price) {\n const floatPrice = parseFloat(price.replace(',', '.'));\n return floatPrice.toFixed(fractionDigits);\n}\nexport const PriceInput = withLabels((_a) => {\n var { className = '', hasError, currency, disabled = false, onChange, onPriceChange, priceValue, step = '0.1', size = ComponentSize.base } = _a, otherProps = __rest(_a, [\"className\", \"hasError\", \"currency\", \"disabled\", \"onChange\", \"onPriceChange\", \"priceValue\", \"step\", \"size\"]);\n const handleChange = (value) => onChange(value.replace(/[a-zA-Z]/g, '').replace(',', '.'));\n const handleBlur = (e) => {\n const target = e.target;\n const { value } = target;\n if (!value) {\n onPriceChange('');\n return;\n }\n const roundedValue = stringToFixed(value);\n onPriceChange(roundedValue);\n };\n const handleIncrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice + currentStep).toFixed(fractionDigits));\n };\n const handleDecrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice - currentStep).toFixed(fractionDigits));\n };\n const handleKeyDown = (e) => {\n const { key } = e;\n const target = e.target;\n const isInForm = target.form;\n if (!isInForm) {\n if (key === 'Enter')\n target.blur();\n }\n if (key === 'ArrowUp')\n handleIncrement(onChange);\n if (key === 'ArrowDown')\n handleDecrement(onChange);\n };\n return (React.createElement(PriceInputGroup, { className: className, hasError: hasError },\n React.createElement(PrefixContainer, { disabled: disabled, size: size },\n React.createElement(PrefixText, { variant: \"hintText\" }, currency)),\n React.createElement(StyledTextField, Object.assign({ placeholder: \"0.00\", type: \"currency\", value: priceValue, step: step, onChange: handleChange, onBlur: handleBlur, onKeyDown: handleKeyDown, disabled: disabled, size: size }, otherProps)),\n React.createElement(Stepper, { onIncrement: () => handleIncrement(), onDecrement: () => handleDecrement(), disabled: disabled, size: size })));\n});\nPriceInput.displayName = 'PriceInput';\n//# sourceMappingURL=PriceInput.js.map","import React from 'react';\nimport styled from 'styled-components';\nconst ScreenReaderOnlyElement = styled.span.withConfig({ displayName: \"vui--ScreenReaderOnlyElement\", componentId: \"vui--ejkp56\" }) `position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;`;\n/**\n * The `ScreenReaderOnly` component is used to render content that is only visible to screen readers and assistive technologies. This component can be useful for providing additional context or information to users who rely on screen readers, while keeping the content visually hidden from sighted users.\n * * **This is not a replacement for `aria-label`.**\n *\n * Note: aria-label is intended for interactive elements or for elements made interactive via other ARIA declarations when there's no visible text in the DOM to serve as a label.\n *\n * In general, screen reader-only content should be reserved for information that is apparent visually but not apparent to blind screen reader users.\n *\n * **Example use cases:**\n * - Adding instructional cues and indicators\n * - Search input that is clearly a search bar to sighted users (search icon, etc.). A hidden, associated `<label>` element with \"Search orders\"\n * - Skip to links to take the user to the main content (still need to be visibile when focused)\n * - Breadcrumb navigation, making it clear with a \"you are here\" screen reader text\n */\nexport const ScreenReaderOnly = ({ children }) => {\n return React.createElement(ScreenReaderOnlyElement, null, children);\n};\n//# sourceMappingURL=ScreenReaderOnly.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Loader } from '../Loader';\nconst Input = styled(TextField).withConfig({ displayName: \"vui--Input\", componentId: \"vui--je6y84\" }) `flex-grow:2;margin-top:0;margin-bottom:0;`;\nconst IconContainer = styled.div.withConfig({ displayName: \"vui--IconContainer\", componentId: \"vui--113gfe8\" }) `position:absolute;`;\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--18q9h8i\" }) `position:relative;display:flex;justify-content:flex-start;align-items:center;border-radius:0.25rem;${({ iconPosition }) => {\n let padding = 'padding-right: 2.5rem;';\n let position = 'right: 0.5rem;';\n if (iconPosition === 'left') {\n padding = 'padding-left: 2.5rem';\n position = 'left: 0.5rem;';\n }\n return `\n & ${Input} {\n ${padding}\n }\n\n & ${IconContainer} {\n ${position}\n }\n `;\n}}`;\nexport { Container, Input, IconContainer, Loader };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const SearchIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M14.3819 13.6918H15.1498L20 18.5517L18.5517 20L13.6918 15.1498V14.3819L13.4294 14.1098C12.3213 15.0623 10.8828 15.6358 9.3179 15.6358C5.82847 15.6358 3 12.8073 3 9.3179C3 5.82847 5.82847 3 9.3179 3C12.8073 3 15.6358 5.82847 15.6358 9.3179C15.6358 10.8828 15.0623 12.3213 14.1098 13.4294L14.3819 13.6918ZM4.94397 9.3179C4.94397 11.7381 6.89766 13.6918 9.3179 13.6918C11.7381 13.6918 13.6918 11.7381 13.6918 9.3179C13.6918 6.89766 11.7381 4.94397 9.3179 4.94397C6.89766 4.94397 4.94397 6.89766 4.94397 9.3179Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SearchIcon.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nimport { Container, Input, IconContainer, Loader } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { SearchIcon } from '../../tempIcons/SearchIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Search = ({ type = 'text', disabled = false, onClearClick, onChange, onBlur, onFocus, onKeyUp, onKeyDown, onKeyPress, value = '', error, placeholder = '', className = '', name, isLoading = false, fill, reversed = false, autoComplete = 'on', size = 'base', }) => {\n const shouldShowClear = value && value.length > 0;\n const renderIcon = () => {\n if (isLoading) {\n return React.createElement(Loader, { height: 24, color: fill || theme.colors.secondary.blue.base });\n }\n if (shouldShowClear && onClearClick) {\n return (React.createElement(Button, { variant: \"unstyled\", onClick: onClearClick, style: { display: 'flex' }, \"aria-label\": \"Clear text\", type: \"button\" },\n React.createElement(CrossIcon, { color: fill || theme.colors.neutral.ink.dark })));\n }\n return (React.createElement(Button, { variant: \"unstyled\", onClick: () => onChange(value), style: { display: 'flex' }, \"aria-label\": \"Search\", type: \"button\" },\n React.createElement(SearchIcon, { color: fill || theme.colors.neutral.ink.dark, height: sizes.md, width: sizes.md })));\n };\n return (React.createElement(Container, { className: className, iconPosition: reversed ? 'left' : 'right' },\n React.createElement(Input, { size: size, type: type, value: value, onChange: onChange, onBlur: onBlur, onFocus: onFocus, onKeyUp: onKeyUp, onKeyDown: onKeyDown, onKeyPress: onKeyPress, placeholder: placeholder, name: name, disabled: disabled, error: error, autoComplete: autoComplete }),\n React.createElement(IconContainer, null, renderIcon())));\n};\n//# sourceMappingURL=Search.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { BaseContainer } from '../BaseContainer';\nconst buttonBackgroundColor = theme.colors.neutral.grey.lightest;\nconst buttonBorderColor = theme.colors.neutral.grey.dark;\nconst activeButtonColor = theme.colors.secondary.blue.dark;\nexport const SegmentedControlContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SegmentedControlContainer\", componentId: \"vui--s4yyqq\" }) `display:flex;flex-direction:row;> button{border-radius:0;box-shadow:none;:active{background-color:${buttonBackgroundColor};border-color:${buttonBorderColor};box-shadow:none;}:focus{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};outline:0;z-index:1;}}> .veeqo-components-active-button{:active{background-color:${activeButtonColor};border-color:${activeButtonColor};}}> button:not(:first-child){border-left:none;}> .veeqo-components-active-button + button{border-left:1px solid ${theme.colors.neutral.grey.dark};}> button:first-child{border-radius:20px 0px 0px 20px;}> button:last-child{border-radius:0px 20px 20px 0px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { SegmentedControlContainer } from './styled';\nexport const SegmentedControl = ({ options, selected, className, onChange, }) => (React.createElement(SegmentedControlContainer, { className: className ? `${className}-container` : undefined }, options.map((option) => (React.createElement(Button, { type: \"button\", \"aria-pressed\": option.value === selected, variant: option.value === selected ? 'primary' : 'default', key: option.key, onClick: () => onChange(option.value), disabled: option.disabled, className: option.value === selected ? 'veeqo-components-active-button' : '' }, option.label)))));\n//# sourceMappingURL=SegmentedControl.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const ShortcutKeysContainer = styled.div.withConfig({ displayName: \"vui--ShortcutKeysContainer\", componentId: \"vui--t1odf6\" }) `--kbdTextColor:${(props) => (props.$inverse ? '#ffffff' : '')};box-sizing:border-box;display:flex;align-items:center;gap:4px;color:var(--kbdTextColor, ${theme.colors.neutral.ink.base});font-family:${theme.text.bodySmall.fontFamily};font-style:${theme.text.bodySmall.fontStyle};font-size:${theme.text.bodySmall.fontSize};line-height:${theme.text.bodySmall.lineHeight};font-weight:${theme.text.bodySmall.fontWeight};text-decoration:${theme.text.bodySmall.textDecoration};letter-spacing:${theme.text.bodySmall.letterSpacing};`;\nexport const Kbd = styled.kbd.withConfig({ displayName: \"vui--Kbd\", componentId: \"vui--651mmm\" }) `box-sizing:border-box;color:var(--kbdTextColor, ${theme.colors.neutral.ink.base});display:grid;place-items:center;text-transform:capitalize;border:1px solid var(--kbdTextColor, ${theme.colors.neutral.ink.base});border-radius:3px;padding:1px 3px;font-size:inherit;line-height:inherit;min-width:20px;font-family:${theme.text.bodySmall.fontFamily};font-style:${theme.text.bodySmall.fontStyle};`;\n//# sourceMappingURL=styled.js.map","// Map of UTF-16 characters to be used for modifier keys\nexport const ValidModifierKeysMap = {\n command: '⌘',\n windows: '⊞',\n shift: '⇧',\n ctrl: '⌃',\n option: '⌥',\n alt: 'alt',\n enter: '↵',\n delete: '⌫',\n escape: 'esc',\n up: '↑',\n right: '→',\n down: '↓',\n left: '←',\n space: 'space',\n};\n// Map of labels to be used for modifier keys\nexport const ValidModifierKeyssLabelMap = {\n command: 'Command',\n windows: 'Windows',\n shift: 'Shift',\n ctrl: 'Control',\n option: 'Option',\n alt: 'Alt',\n enter: 'Enter',\n delete: 'Delete',\n escape: 'Escape',\n up: 'Up',\n right: 'Right',\n down: 'Down',\n left: 'Left',\n space: 'Space',\n};\n// An example array of potential shortcut actions\nexport const exampleStorybookShortcutActions = [\n {\n label: 'Shortcut modal',\n mac: 'shift+?',\n windows: 'shift+?',\n },\n {\n label: 'Change view',\n mac: 'shift+option+1',\n windows: 'shift+alt+1',\n },\n {\n label: 'Search',\n mac: 'shift+space',\n windows: 'shift+space',\n },\n {\n label: 'Select all orders in the page',\n mac: 'shift+a',\n windows: 'shift+a',\n },\n {\n label: 'Select first row',\n mac: 'shift+1',\n windows: 'shift+1',\n },\n {\n label: 'Next order',\n mac: 'down',\n windows: 'down',\n },\n {\n label: 'Slect next order',\n mac: 'shift+down',\n windows: 'shift+down',\n },\n {\n label: 'Previous order',\n mac: 'up',\n windows: 'up',\n },\n {\n label: 'Select previous order',\n mac: 'shift+up',\n windows: 'shift+up',\n },\n {\n label: 'Use scale',\n mac: 'shift+w',\n windows: 'shift+w',\n },\n {\n label: 'Refresh rates',\n mac: 'shift+r',\n windows: 'shift+r',\n },\n {\n label: 'Buy label and Print documents',\n mac: 'shift+b',\n windows: 'shift+b',\n },\n {\n label: 'Clear filters',\n mac: 'shift+c',\n windows: 'shift+c',\n },\n {\n label: 'Invoice',\n mac: 'shift+i',\n windows: 'shift+i',\n },\n {\n label: 'Packing slip',\n mac: 'shift+p',\n windows: 'shift+p',\n },\n {\n label: 'Shipping label',\n mac: 'shift+s',\n windows: 'shift+s',\n },\n {\n label: 'Return label',\n mac: 'shift+r',\n windows: 'shift+r',\n },\n {\n label: 'Integrated Invoice with Shipping label',\n mac: 'shift+k',\n windows: 'shift+k',\n },\n {\n label: 'Integrated Packing Slip with Shipping Label',\n mac: 'shift+l',\n windows: 'shift+l',\n },\n];\n//# sourceMappingURL=utils.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ShortcutKeysContainer, Kbd } from './styled';\nimport { ValidModifierKeyssLabelMap, ValidModifierKeysMap } from './utils';\n/**\n * ShortcutKeys UI component\n *\n * Renders a keyboard shortcut string by splitting it on \"+\" and rendering each\n * key to a <kbd> component.\n *\n * Criteria for `shortcut` prop:\n * - ValidModifierKeys MUST always come before other keys e.g. `shift+a` is valid, `a+shift` is invalid\n * - If it's not a modifier key it must be a singular key e.g. `a`, `2` is valid and `a2` or `abcde` is invalid etc.\n * - A limit of 3 key combinations separated between the '+' symbol e.g. `shift+ctrl+a` is valid, `shift+ctrl+a+b` is invalid\n *\n */\nexport const ShortcutKeys = (_a) => {\n var { shortcut, label, inverse = false, displayLabel = false } = _a, props = __rest(_a, [\"shortcut\", \"label\", \"inverse\", \"displayLabel\"]);\n // Split the keys into individual <Kbd /> components\n const keysToRender = shortcut.split('+');\n // Replace modifier keys with the corresponding UTF-16 character if available.\n const keysToRenderComponents = keysToRender.map((key) => {\n if (ValidModifierKeysMap[key]) {\n return (React.createElement(Kbd, { key: `Key: ${key}`, \"aria-label\": ValidModifierKeyssLabelMap[key] }, ValidModifierKeysMap[key]));\n }\n return React.createElement(Kbd, { key: `Key: ${key}` }, key);\n });\n // Combine the <Kbd /> components to sit inside a single <ShortcutKeysContainer /> component.\n const shortcutElements = keysToRenderComponents.reduce((previousKbdElement, currentKbdElement) => (React.createElement(React.Fragment, null,\n previousKbdElement,\n \"+\",\n currentKbdElement)));\n return (React.createElement(ShortcutKeysContainer, Object.assign({ \"aria-label\": label, \"$inverse\": inverse }, props),\n shortcutElements,\n \" \",\n displayLabel ? React.createElement(\"span\", null, label) : null));\n};\n//# sourceMappingURL=ShortcutKeys.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nconst { blue } = colors.secondary;\nconst { grey } = colors.neutral;\nexport const TableHeader = styled.thead.withConfig({ displayName: \"vui--TableHeader\", componentId: \"vui--o0sot\" }) `background-color:white;`;\nexport const TableBody = styled.tbody.withConfig({ displayName: \"vui--TableBody\", componentId: \"vui--nuzcgp\" }) `&&& tr:hover td{background-color:${blue.lightest};}`;\nexport const TableRow = styled.tr.withConfig({ displayName: \"vui--TableRow\", componentId: \"vui--1uhgfx1\" }) ``;\nexport const TableCell = styled.td.withConfig({ displayName: \"vui--TableCell\", componentId: \"vui--s41x8b\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};& > *{vertical-align:middle;}`;\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--TableHeaderCell\", componentId: \"vui--2nps2x\" }) `border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--lcbl46\" }) `width:100%;border-spacing:0;${({ striped }) => striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { TableBody, TableCell, TableHeader, TableRow, TableHeaderCell, Table } from './styled';\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }) => (React.createElement(Table, { striped: striped, className: className }, children));\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n//# sourceMappingURL=SimpleTable.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nexport const Skeleton = styled(BaseContainer).attrs(() => ({\n 'aria-hidden': true,\n})).withConfig({ displayName: \"vui--Skeleton\", componentId: \"vui--7bl1ak\" }) `display:block;background:#f6f7f8;background:linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);background-size:2500px 104px;cursor:progress;border-radius:4px;${({ width = '', height = '' }) => `\n width: ${width || '100%'};\n min-width: ${width};\n height: ${height || '20px'};\n min-height: ${height};\n `};@media (prefers-reduced-motion: no-preference){animation-duration:2s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;}@keyframes placeHolderShimmer{0%{background-position:-1080px 0;}100%{background-position:1080px 0;}}`;\nSkeleton.displayName = 'Skeleton';\n//# sourceMappingURL=Skeleton.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst TRACK_HEIGHT = 4;\nconst BORDER_SIZE = 4;\nconst SLIDER_SIZE = 12;\nconst ADDITIONAL_PADDING = 2;\nconst SliderContainer = styled.div.withConfig({ displayName: \"vui--SliderContainer\", componentId: \"vui--103oce3\" }) `min-width:128px;display:inline-block;position:relative;padding:${SLIDER_SIZE / 2 + ADDITIONAL_PADDING}px 0px;`;\nconst SliderTrack = styled.div.withConfig({ displayName: \"vui--SliderTrack\", componentId: \"vui--1ctzbzj\" }) `background:${theme.colors.neutral.grey.base};height:${TRACK_HEIGHT}px;border-radius:20px;`;\nconst SliderDiv = styled.div.withConfig({ displayName: \"vui--SliderDiv\", componentId: \"vui--1tltjvk\" }) `position:absolute;top:-${(SLIDER_SIZE - TRACK_HEIGHT) / 2 - ADDITIONAL_PADDING * 2}px;left:${(props) => `${props.left}%`};width:${SLIDER_SIZE}px;height:${SLIDER_SIZE}px;background:white;border:${BORDER_SIZE}px solid ${theme.colors.secondary.blue.base};border-radius:50%;touch-action:none;cursor:pointer;margin-left:-${SLIDER_SIZE}px;&:active,&:focus,&:focus-visible,&:focus-within{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}`;\nconst SliderRange = styled(SliderTrack).withConfig({ displayName: \"vui--SliderRange\", componentId: \"vui--t3v3py\" }) `position:relative;width:${(props) => `${props.width}%`};left:${(props) => `${props.left}%`};background:${theme.colors.secondary.blue.light};bottom:${TRACK_HEIGHT}px;border-radius:0;`;\nexport { SliderContainer, SliderTrack, SliderRange, SliderDiv };\n//# sourceMappingURL=styled.js.map","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { SliderContainer, SliderTrack, SliderRange, SliderDiv } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-slider-container` : undefined,\n sliderRange: prefix ? `${prefix}-slider-range` : undefined,\n slider: prefix ? `${prefix}-slider` : undefined,\n startSlider: prefix ? `${prefix}-start-slider` : undefined,\n endSlider: prefix ? `${prefix}-end-slider` : undefined,\n});\nexport const Slider = ({ id, value, min, max, step = 1, onChange, className, e2eClassName, onSlideStart = () => { }, onSlideEnd = () => { }, }) => {\n const [isDragging, setIsDragging] = useState(false);\n const [draggingSliderIndex, setDraggingSliderIndex] = useState(-1);\n const containerRef = useRef(null);\n const startSliderRef = useRef(null);\n const endSliderRef = useRef(null);\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const handleMouseMove = useCallback((e) => {\n var _a;\n if (!isDragging || !containerRef.current)\n return;\n const sliderValue = draggingSliderIndex > -1 ? value[draggingSliderIndex] : value;\n const containerSize = containerRef.current.getBoundingClientRect();\n // slider position relative to the container in percents\n const handleValue = ((e.pageX - containerSize.x) * 100) / containerSize.width;\n // current value by slider position\n let newValue = (max - min) * (handleValue / 100) + min;\n const diff = sliderValue - newValue;\n // use to apply step to new value\n if (diff > 0) {\n newValue = sliderValue + Math.ceil(newValue / step - sliderValue / step) * step;\n }\n if (diff < 0) {\n newValue = sliderValue + Math.floor(newValue / step - sliderValue / step) * step;\n }\n if (sliderValue === newValue)\n return;\n if (newValue > max)\n newValue = max;\n if (newValue < min)\n newValue = min;\n if (Array.isArray(value)) {\n if (draggingSliderIndex === 0 && newValue > value[1])\n [, newValue] = value;\n if (draggingSliderIndex === 1 && newValue < value[0])\n [newValue] = value;\n }\n // used to fix 0.30000000000000004 problem\n const decimalPlaces = step.toString().includes('.')\n ? (_a = step.toString().split('.').pop()) === null || _a === void 0 ? void 0 : _a.length\n : 0;\n newValue = Number(newValue.toFixed(decimalPlaces));\n let resultValue;\n if (Array.isArray(value)) {\n resultValue = draggingSliderIndex === 0 ? [newValue, value[1]] : [value[0], newValue];\n }\n else {\n resultValue = newValue;\n }\n onChange(resultValue);\n if (Array.isArray(resultValue) && resultValue[0] === resultValue[1]) {\n if (draggingSliderIndex === 0)\n setDraggingSliderIndex(1);\n if (draggingSliderIndex === 1)\n setDraggingSliderIndex(0);\n }\n }, [draggingSliderIndex, isDragging, max, min, onChange, step, value]);\n const handleMouseUp = useCallback(() => {\n setIsDragging(false);\n onSlideEnd();\n }, [onSlideEnd]);\n const handleMouseDown = useCallback((e, index) => {\n setIsDragging(true);\n onSlideStart();\n if (typeof index === 'number')\n setDraggingSliderIndex(index);\n e.preventDefault();\n }, [onSlideStart]);\n useEffect(() => {\n const handleStartSliderMouseDown = (e) => handleMouseDown(e, Array.isArray(value) ? 0 : 1);\n const handleEndSliderMouseDown = (e) => handleMouseDown(e, 1);\n const startSliderEl = startSliderRef.current;\n const endSliderEl = endSliderRef.current;\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.addEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.addEventListener('mousedown', handleEndSliderMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n return () => {\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.removeEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.removeEventListener('mousedown', handleEndSliderMouseDown);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [handleMouseDown, handleMouseMove, handleMouseUp, value]);\n const renderSlider = (left, valueNow, index) => {\n let sliderClassName;\n if (typeof index === 'number') {\n sliderClassName = buildClassnames(index === 0\n ? [classNames === null || classNames === void 0 ? void 0 : classNames.startSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.startSlider]\n : [classNames === null || classNames === void 0 ? void 0 : classNames.endSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.endSlider]);\n }\n else {\n sliderClassName = buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.slider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.slider]);\n }\n return (React.createElement(SliderDiv, { role: \"slider\", ref: index === 1 ? endSliderRef : startSliderRef, className: sliderClassName, left: left, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-valuenow\": valueNow }));\n };\n const renderRangeSlider = (rangeSliderValue) => {\n // handle value used to get slider position relative to container from value\n const handleValueStart = ((rangeSliderValue[0] < min ? 0 : rangeSliderValue[0] - min) * 100) / (max - min);\n const handleValueEnd = ((rangeSliderValue[1] > max ? 100 : rangeSliderValue[1] - min) * 100) / (max - min);\n const rangeWidth = handleValueEnd - handleValueStart;\n return (React.createElement(React.Fragment, null,\n React.createElement(SliderRange, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.sliderRange, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.sliderRange]), left: handleValueStart, width: rangeWidth }),\n renderSlider(handleValueStart, rangeSliderValue[0], 0),\n renderSlider(handleValueEnd, rangeSliderValue[1], 1)));\n };\n const renderSingleSlider = (sliderValue) => {\n if (Array.isArray(value))\n return renderRangeSlider(value);\n let handleValue;\n if (value > max)\n handleValue = 100;\n else if (value < min)\n handleValue = 0;\n else\n handleValue = ((sliderValue - min) * 100) / (max - min);\n return renderSlider(handleValue, sliderValue);\n };\n let render;\n if (Array.isArray(value))\n render = renderRangeSlider(value);\n else\n render = renderSingleSlider(value);\n return (React.createElement(SliderContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), id: id, ref: containerRef },\n React.createElement(SliderTrack, null),\n render));\n};\n//# sourceMappingURL=Slider.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nexport const Tag = styled(BaseContainer).withConfig({ displayName: \"vui--Tag\", componentId: \"vui--1rdo7hk\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:4px 8px;${({ backgroundColor, color }) => `\n color: ${color !== null && color !== void 0 ? color : colors.neutral.ink.base};\n background-color: ${backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : colors.neutral.grey.base};\n `}`;\n//# sourceMappingURL=Tag.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const ToastsLayoutContainer = styled(Stack).withConfig({ displayName: \"vui--ToastsLayoutContainer\", componentId: \"vui--1iztsl9\" }) `position:fixed;bottom:24px;width:100%;pointer-events:none;z-index:${theme.layers.tooltip};`;\nexport const Toast = styled(Stack).withConfig({ displayName: \"vui--Toast\", componentId: \"vui--1o64628\" }) `background-color:${theme.colors.neutral.ink.dark};padding:12px 24px 12px 12px;box-shadow:${theme.shadows.lg};border-radius:${theme.radius.md};pointer-events:auto;z-index:40;min-width:${({ minWidth }) => minWidth};max-width:80vw;&.veeqo-components-toast-enter{transform:translateY(12px);opacity:0;}&.veeqo-components-toast-enter-active{transform:translateY(0);opacity:1;transition:500ms ease;}&.veeqo-components-toast-exit{transform:${({ last }) => (last ? 'translateY(0)' : 'translateX(0)')};opacity:1;}&.veeqo-components-toast-exit-active{transform:${({ last }) => (last ? 'translateY(12px)' : 'translateX(12px)')};opacity:0;transition:500ms ease;}`;\nexport const IconWrap = styled(BaseContainer).withConfig({ displayName: \"vui--IconWrap\", componentId: \"vui--1nmtetq\" }) `display:flex;flex-direction:row;align-items:center;justify-content:center;height:40px;width:40px;border-radius:${theme.radius.md};background-color:${({ color }) => color};color:#fff;svg{width:${sizes.md};height:${sizes.md};}`;\nexport const ContentStack = styled(Stack).withConfig({ displayName: \"vui--ContentStack\", componentId: \"vui--fvpujj\" }) `flex-grow:1;`;\nexport const StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--ppieao\" }) `color:white;font-size:16px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { colors } from '../../../theme/modules/colors';\nimport { IconWrap, Toast as ToastContainer, StyledText as Text, ContentStack } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nimport { Button } from '../../Button';\nimport { SuccessIcon } from '../../../tempIcons/SuccessIcon';\nimport { InfoIcon } from '../../../tempIcons/InfoIcon';\nimport { AttentionIcon } from '../../../tempIcons/AttentionIcon';\nimport { MergeIcon } from '../../../tempIcons/MergeIcon';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nconst toastTypes = {\n info: {\n accentColor: colors.brand.blue.base,\n icon: React.createElement(InfoIcon, null),\n },\n success: {\n accentColor: colors.secondary.green.base,\n icon: React.createElement(SuccessIcon, null),\n },\n error: {\n accentColor: colors.secondary.red.base,\n icon: React.createElement(AttentionIcon, null),\n },\n merge: {\n accentColor: colors.secondary.purple.base,\n icon: React.createElement(MergeIcon, null),\n },\n};\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-toast-container` : undefined,\n icon: prefix ? `${prefix}-toast-icon` : undefined,\n closeIcon: prefix ? `${prefix}-toast-close-icon` : undefined,\n});\nexport const Toast = ({ className, e2eClassName, type, iconSlot, text, last, minWidth, cta, onClose, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n return (React.createElement(ToastContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), direction: \"horizontal\", alignY: \"center\", minWidth: minWidth, last: last },\n React.createElement(IconWrap, { color: toastTypes[type].accentColor, className: buildClassnames([classNames.icon, e2eClassNames.icon]) }, iconSlot !== null && iconSlot !== void 0 ? iconSlot : toastTypes[type].icon),\n React.createElement(ContentStack, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(Text, { variant: \"body\" }, text),\n cta),\n React.createElement(Button, { variant: \"flat\", iconSlot: React.createElement(CrossIcon, { color: \"white\" }), onClick: onClose, \"aria-label\": \"Close\" })));\n};\n//# sourceMappingURL=Toast.js.map","import React from 'react';\nexport const MergeIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.9887 6.82229H6.84911L12.1714 1.5L17.4937 6.82229H13.3541V14.4036L6.25774 21.5L4.59009 19.8323L10.9887 13.4338V6.82229ZM19.7527 19.8323L18.0851 21.5L14.0519 17.4669L15.7196 15.7992L19.7527 19.8323Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MergeIcon.js.map","import { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport React, { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ToastsLayoutContainer } from './components/styled';\nimport { Toast } from './components/Toast';\nexport const ToastsLayout = ({ className, e2eClassName, toasts, minWidth = '50vw', max = 3, onClose, }) => {\n useEffect(() => {\n if (max && toasts.length > max)\n onClose(toasts[0].key);\n }, [toasts, max, onClose]);\n return createPortal(React.createElement(ToastsLayoutContainer, { direction: \"vertical\", alignX: \"center\", spacing: 4 },\n React.createElement(TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => (React.createElement(CSSTransition, { key: toast.key, timeout: 500, classNames: \"veeqo-components-toast\" },\n React.createElement(Toast, Object.assign({ className: className, e2eClassName: e2eClassName, minWidth: minWidth, last: index === toasts.length - 1, onClose: () => onClose(toast.key) }, toast))))))), document.body);\n};\n//# sourceMappingURL=ToastsLayout.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const StyledButton = styled.button.withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--x718nd\" }) `user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);${({ size, checked }) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n let backgroundColor = 'white';\n let borderColor = '#CDD1D5';\n let color = '#37424D';\n if (size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n }\n if (checked) {\n backgroundColor = '#0079D1';\n borderColor = '#0079D1';\n color = 'white';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n\n background-color: ${backgroundColor};\n border-color: ${borderColor};\n color: ${color};\n `;\n}} & > * + *{margin-left:8px;}&:hover{cursor:pointer;background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};}&:active{background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};border-color:${({ checked }) => (checked ? '#005A9C' : '#0079D1')};box-shadow:0 0 0 var(--outline-width)#80bce8;}&:focus{box-shadow:0 0 0 var(--outline-width)#80bce8;outline:0;}&:disabled{cursor:unset;box-shadow:none;background-color:#dfe3e8;border-color:#dfe3e8;color:#637381;}& > span{position:relative;top:-1px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { StyledButton } from './styled';\nexport const ToggleButton = ({ children, checked, size = 'base', disabled = false, onChange, }) => (React.createElement(StyledButton, { type: \"button\", checked: checked, size: size, disabled: disabled, \"aria-pressed\": checked, tabIndex: \"0\", onClick: () => onChange(!checked) }, children));\n//# sourceMappingURL=ToggleButton.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { radius } from '../../theme/modules/radius';\nimport { sizes } from '../../theme/modules/sizes';\nexport const DropZoneContainer = styled.div.withConfig({ displayName: \"vui--DropZoneContainer\", componentId: \"vui--17v0v3c\" }) `display:flex;align-items:center;justify-content:center;padding:${sizes.md};border-radius:${radius.base};input[type='file']{position:absolute;opacity:0;width:1px;height:1px;cursor:pointer;}cursor:pointer;border:2px dashed ${colors.neutral.ink.lightest};background-color:${colors.neutral.grey.lightest};:hover{border:2px dashed ${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};}:active{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}:focus-within{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}&:has(input:invalid){border:2px dashed ${colors.secondary.red.base};:hover{border:2px dashed ${colors.secondary.red.base};background-color:${colors.secondary.red.lightest};}:active{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}:focus-within{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}}&:has(input:disabled){cursor:not-allowed;box-shadow:none;background-color:${colors.neutral.grey.light};border-color:${colors.neutral.ink.lightest};color:${colors.neutral.ink.light};}`;\n//# sourceMappingURL=styled.js.map","export var AcceptedFileTypes;\n(function (AcceptedFileTypes) {\n AcceptedFileTypes[\"CSV\"] = \".csv\";\n AcceptedFileTypes[\"JPEG\"] = \".jpeg\";\n AcceptedFileTypes[\"JPG\"] = \".jpg\";\n AcceptedFileTypes[\"GIF\"] = \".gif\";\n AcceptedFileTypes[\"PNG\"] = \".png\";\n})(AcceptedFileTypes || (AcceptedFileTypes = {}));\nexport var FileSizeUnit;\n(function (FileSizeUnit) {\n FileSizeUnit[\"KB\"] = \"KB\";\n FileSizeUnit[\"MB\"] = \"MB\";\n})(FileSizeUnit || (FileSizeUnit = {}));\nexport var InputState;\n(function (InputState) {\n InputState[\"VALID\"] = \"\";\n InputState[\"INVALID_FORMAT\"] = \"File is incorrect format\";\n InputState[\"INVALID_SIZE\"] = \"File size is too big\";\n InputState[\"INVALID_FORMAT_AND_SIZE\"] = \"File is incorrect format and too big\";\n})(InputState || (InputState = {}));\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const UploadGraphic = () => (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"56\", height: \"56\", fill: \"none\", role: \"presentation\" },\n React.createElement(\"path\", { fill: \"#fff\", d: \"M0 28C0 12.536 12.536 0 28 0s28 12.536 28 28-12.536 28-28 28S0 43.464 0 28\" }),\n React.createElement(\"path\", { fill: \"#37424D\", d: \"M22.5 36c-1.517 0-2.812-.525-3.887-1.575-1.075-1.05-1.613-2.333-1.613-3.85 0-1.3.392-2.458 1.175-3.475s1.808-1.667 3.075-1.95c.417-1.533 1.25-2.775 2.5-3.725C25 20.475 26.417 20 28 20c1.95 0 3.604.68 4.962 2.038C34.322 23.396 35 25.05 35 27c1.15.133 2.104.63 2.862 1.488A4.407 4.407 0 0 1 39 31.5c0 1.25-.437 2.313-1.312 3.188C36.812 35.562 35.75 36 34.5 36H29c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 27 34v-5.15l-1.6 1.55L24 29l4-4 4 4-1.4 1.4-1.6-1.55V34h5.5c.7 0 1.292-.242 1.775-.725.483-.483.725-1.075.725-1.775s-.242-1.292-.725-1.775C35.792 29.242 35.2 29 34.5 29H33v-2c0-1.383-.487-2.562-1.462-3.538C30.562 22.489 29.383 22 28 22s-2.562.488-3.538 1.462C23.489 24.438 23 25.618 23 27h-.5c-.967 0-1.792.342-2.475 1.025A3.372 3.372 0 0 0 19 30.5c0 .967.342 1.792 1.025 2.475A3.372 3.372 0 0 0 22.5 34H25v2z\" })));\n//# sourceMappingURL=UploadGraphic.js.map","import React from 'react';\nimport { UploadGraphic } from '../../UploadGraphic';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadCopy = () => (React.createElement(Stack, { alignX: \"center\", alignY: \"center\", spacing: \"sm\", style: { pointerEvents: 'none' } },\n React.createElement(UploadGraphic, null),\n React.createElement(Text, { variant: \"subheadingSmall\", style: { paddingTop: sizes.sm } }, \"Browse files or drag them here\")));\n//# sourceMappingURL=UploadCopy.js.map","import React from 'react';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadFileErrors = ({ acceptedTypesCopy, maxSizeCopy }) => {\n if (!acceptedTypesCopy && !maxSizeCopy)\n return null;\n return (React.createElement(Stack, { alignX: \"start\", spacing: \"xs\" },\n acceptedTypesCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"Invalid format (\",\n acceptedTypesCopy,\n \")\"),\n maxSizeCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"File is too big (\",\n maxSizeCopy,\n \")\")));\n};\n//# sourceMappingURL=UploadFileErrors.js.map","import styled from 'styled-components';\nimport { Text } from '../../../Text';\nimport { colors } from '../../../../theme/modules/colors';\nimport { radius } from '../../../../theme/modules/radius';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nexport const SingleLineText = styled(Text).withConfig({ displayName: \"vui--SingleLineText\", componentId: \"vui--1aguyhc\" }) `display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;`;\nexport const UploadedFilesListStack = styled(Stack).withConfig({ displayName: \"vui--UploadedFilesListStack\", componentId: \"vui--1g0ca18\" }) `border:1px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};padding:${sizes.xs};${Text}{padding-left:${sizes.xs};}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../../../Button';\nimport { CrossIcon } from '../../../../tempIcons/CrossIcon';\nimport { SingleLineText, UploadedFilesListStack } from './styled';\nexport const UploadedFile = ({ file, resetSelection, disabled }) => {\n if (!file)\n return null;\n return (React.createElement(UploadedFilesListStack, { alignX: \"between\", direction: \"horizontal\", alignY: \"center\" },\n React.createElement(SingleLineText, { variant: \"body\" }, file === null || file === void 0 ? void 0 : file.name),\n React.createElement(Button, { size: \"sm\", variant: \"flat\", onClick: resetSelection, iconSlot: React.createElement(CrossIcon, null), \"aria-label\": \"Remove file\", disabled: disabled })));\n};\n//# sourceMappingURL=UploadedFile.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useState, forwardRef, useImperativeHandle, useRef, } from 'react';\nimport { DropZoneContainer } from './styled';\nimport { InputState, FileSizeUnit } from './constants';\nimport { UploadCopy } from './components/UploadCopy/UploadCopy';\nimport { setInputElFile } from './utils/setInputElFile/setInputElFile';\nimport { getFileSizeString, getTypePropForInputEl, getValidTypesString } from './utils';\nimport { Hint, Label, RootStack } from '../../hoc/withLabels/styled';\nimport { Stack } from '../Stack';\nimport { UploadFileErrors } from './components/UploadFileErrors/UploadFileErrors';\nimport { UploadedFile } from './components/UploadedFile/UploadedFile';\nimport { sizes } from '../../theme/modules/sizes';\nexport const UploadFile = forwardRef((_a, outerRef) => {\n var { id, name, maxBytes = 1000000, format = FileSizeUnit.MB, fileTypes, label = 'Upload file', required, disabled } = _a, otherProps = __rest(_a, [\"id\", \"name\", \"maxBytes\", \"format\", \"fileTypes\", \"label\", \"required\", \"disabled\"]);\n const inputRef = useRef(null);\n useImperativeHandle(outerRef, () => inputRef.current, []);\n const [file, setFile] = useState();\n const [errorState, setErrorState] = useState(InputState.VALID);\n const isInvalidFormat = errorState === InputState.INVALID_FORMAT || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n const isOverMaxSize = errorState === InputState.INVALID_SIZE || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n // Computed properties based on params\n const maxSizeCopy = getFileSizeString({ maxBytes, format });\n const acceptedTypesCopy = getValidTypesString({ fileTypes });\n const acceptedTypesForInputEl = getTypePropForInputEl({ fileTypes });\n const clearFileSelection = () => {\n var _a;\n if ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value)\n inputRef.current.value = '';\n };\n // Tracks error states within the input element itself, using preset\n // error messages and assigns these to the input component based on the file\n const setInputValidation = ({ overMaxSize, invalidFormat, }) => {\n var _a;\n let error = InputState.VALID;\n if (invalidFormat && !overMaxSize) {\n error = InputState.INVALID_FORMAT;\n }\n else if (!invalidFormat && overMaxSize) {\n error = InputState.INVALID_SIZE;\n }\n else if (invalidFormat && overMaxSize) {\n error = InputState.INVALID_FORMAT_AND_SIZE;\n }\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.setCustomValidity(error);\n setErrorState(error);\n };\n // Processes file and updates the UI appropriately:\n const updateFiles = useCallback((files) => {\n if (!files.length) {\n setInputValidation({ invalidFormat: true });\n return;\n }\n const [newFile] = files;\n const hasExceededMaxSize = newFile.size > maxBytes;\n const [, extension] = newFile.type.split('/');\n const isTypeValid = fileTypes.find((validType) => validType.substring(1) === extension);\n const hasInvalidFormat = !isTypeValid;\n if (hasExceededMaxSize || hasInvalidFormat) {\n // Empty the inputRef's read-only fileList by clearing the value attribute,\n // since we have an invalid input.\n clearFileSelection();\n }\n else {\n // Update the files attribute of the input el, with the new file(s)\n setInputElFile({ fileList: files, elementId: id });\n }\n setInputValidation({\n invalidFormat: hasInvalidFormat,\n overMaxSize: hasExceededMaxSize,\n });\n setFile(newFile);\n }, [fileTypes, id, maxBytes]);\n // For focussing of input el and updating drop UI\n const onDragEnter = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n };\n // For unfocussing of input el and updating drop UI\n const onDragLeave = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n };\n // Prevents default browser behaviour\n const onDragOver = (event) => event.preventDefault();\n // Process file when dropped into eligible area\n const onDrop = (event) => {\n event.preventDefault();\n // Prevent reactions on dragging events that do not contain files\n if (!event.dataTransfer.files.length)\n return;\n updateFiles(event.dataTransfer.files);\n };\n // Removes input el's files, clears errors and removes file from react component\n const resetSelection = useCallback(() => {\n clearFileSelection();\n setFile(undefined);\n setInputValidation({\n invalidFormat: false,\n overMaxSize: false,\n });\n }, []);\n // Updates UI based on a native file input change. Attached via useEffect below\n const onInputChange = useCallback(() => {\n var _a;\n const files = (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.files;\n if ((files === null || files === void 0 ? void 0 : files.length) && (files === null || files === void 0 ? void 0 : files.length) > 0)\n updateFiles(files);\n else\n resetSelection();\n }, [resetSelection, updateFiles]);\n useEffect(() => {\n const ref = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current;\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('cancel', resetSelection);\n return () => {\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('cancel', resetSelection);\n };\n }, [onInputChange, resetSelection]);\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(Label, { htmlFor: id },\n label,\n React.createElement(Stack, { spacing: 3, alignX: \"stretch\", style: { paddingTop: sizes.sm } },\n React.createElement(Hint, null,\n React.createElement(\"div\", null, acceptedTypesCopy),\n React.createElement(\"div\", null, maxSizeCopy)),\n React.createElement(DropZoneContainer, { onDrop: onDrop, onDragEnter: onDragEnter, onDragOver: onDragOver, onDragLeave: onDragLeave },\n React.createElement(UploadCopy, null),\n React.createElement(\"input\", Object.assign({ ref: inputRef, id: id, type: \"file\", accept: acceptedTypesForInputEl, name: name, required: required, disabled: disabled }, otherProps))))),\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" },\n React.createElement(UploadedFile, { file: file, resetSelection: resetSelection, disabled: disabled }),\n React.createElement(UploadFileErrors, { acceptedTypesCopy: isInvalidFormat ? acceptedTypesCopy : undefined, maxSizeCopy: isOverMaxSize ? maxSizeCopy : undefined }))));\n});\n//# sourceMappingURL=UploadFile.js.map","import { FileSizeUnit } from '../../constants';\n/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property\n *\n * E.g.\n *\n * const maxSizeCopy = getFileSizeString({\n * maxBytes: 10000,\n * format: FileSizeUnit.MB\n * });\n *\n * Where @constant maxSizeCopy would equal \"Max size: 1 MB\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getFileSizeString = ({ maxBytes, format, baseString }) => {\n const base = baseString == null ? 'Max size: ' : baseString;\n switch (format) {\n case FileSizeUnit.KB:\n return `${base}${Number(maxBytes) / 1000} KB`;\n case FileSizeUnit.MB:\n return `${base}${Number(maxBytes) / 1000000} MB`;\n default:\n return `${base}${Number(maxBytes) / 1000} KB`;\n }\n};\n//# sourceMappingURL=getFileSizeString.js.map","import { AcceptedFileTypes } from '../../constants';\n/**\n * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the\n * fileTypes list passed as parameter.\n *\n * E.g.\n *\n * const validTypesCopy = getValidTypesString({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant validTypesCopy would equal \"Valid types: CSV\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * @param baseString - An optional string to override the default value of 'Valid types: ' prefixed to\n * the returned string\n */\nexport const getValidTypesString = ({ fileTypes, baseString }) => {\n let base = baseString == null ? 'Valid types: ' : baseString;\n fileTypes.forEach((fileType, index, list) => {\n const iterable = list.length > 1;\n const isLast = index === list.length - 1 && iterable;\n const isPenultimate = index === list.length - 2 && iterable;\n if (isLast)\n base += ' and ';\n switch (fileType) {\n case AcceptedFileTypes.CSV:\n base += 'CSV';\n break;\n case AcceptedFileTypes.GIF:\n base += 'GIF';\n break;\n case AcceptedFileTypes.JPEG:\n base += 'JPEG';\n break;\n case AcceptedFileTypes.JPG:\n base += 'JPG';\n break;\n case AcceptedFileTypes.PNG:\n base += 'PNG';\n break;\n default:\n break;\n }\n if (!isPenultimate && !isLast && list.length > 2)\n base += ', ';\n });\n return base;\n};\n//# sourceMappingURL=getValidTypesString.js.map","/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property.\n *\n * E.g.\n *\n * const inputElAcceptProperty = getTypePropForInputEl({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant inputElAcceptProperty would equal \".csv\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getTypePropForInputEl = ({ fileTypes }) => {\n if (fileTypes.length === 1)\n return fileTypes[0];\n let base = '';\n fileTypes.forEach((fileType, index, list) => {\n const isLastElement = list.length - 1 === index && list.length > 1;\n if (isLastElement)\n base += `${fileType}`;\n else\n base += `${fileType}, `;\n });\n return base.trim();\n};\n//# sourceMappingURL=getTypePropForInputEl.js.map","/**\n * Updates the value of the files attribute held within an input elment. Used during DnD operations where\n * the input element's files need to kept in sync and updated.\n *\n * @param fileList - A list of files, typically extracted from the \"files\" attribute of an input element\n * @param elementId - The ID of the input element\n */\nexport const setInputElFile = ({ fileList, elementId }) => {\n const inputEl = document.getElementById(elementId);\n if (fileList.length) {\n inputEl.files = fileList;\n }\n};\n//# sourceMappingURL=setInputElFile.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nconst commonStyles = `\n position: fixed;\n height: 100%;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`;\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1xg3v52\" }) `${commonStyles} display:${(props) => (props.shouldShow ? 'initial' : 'none')};z-index:${theme.layers.modal};`;\nexport const Shadow = styled(BaseContainer).withConfig({ displayName: \"vui--Shadow\", componentId: \"vui--nz3cc\" }) `${commonStyles} background-color:rgba(55,66,77,0.5);`;\nexport const Wrap = styled(BaseContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1pbqe6\" }) `position:relative;height:100%;width:100%;z-index:1;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\n// @ts-ignore\nimport ScrollLock from 'react-scrolllock-configurable';\nimport { Portal } from '../../Portal';\nimport { Container, Shadow, Wrap } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nconst WithPortal = ({ usePortal, children }) => (\n// eslint-disable-next-line react/jsx-no-useless-fragment\nReact.createElement(React.Fragment, null, usePortal ? React.createElement(Portal, null, children) : children));\nexport const Popup = ({ className, children = null, shouldShow = false, usePortal = true, }) => (React.createElement(WithPortal, { usePortal: usePortal },\n React.createElement(Container, { className: buildClassnames([`${className}-container`, className]), shouldShow: shouldShow },\n React.createElement(Shadow, null),\n React.createElement(ScrollLock, { isActive: shouldShow },\n React.createElement(Wrap, { className: buildClassnames([`${className}-wrap`, className]) }, children)))));\n//# sourceMappingURL=Popup.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nexport const PopupContent = styled.div.withConfig({ displayName: \"vui--PopupContent\", componentId: \"vui--17gmyeh\" }) `display:flex;justify-content:center;align-items:center;height:100%;`;\nexport const VideoWrapper = styled.div.withConfig({ displayName: \"vui--VideoWrapper\", componentId: \"vui--rcrl58\" }) `position:relative;iframe{width:57vw;height:calc(57vw * 0.5625);border-radius:8px;}`;\nexport const ButtonSC = styled(Button).withConfig({ displayName: \"vui--ButtonSC\", componentId: \"vui--srigr3\" }) `position:absolute;top:0px;right:-45px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Popup } from './components/Popup';\nimport { PopupContent, VideoWrapper, ButtonSC } from './styled';\nimport { useClickOutside } from '../../hooks';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const VideoModal = ({ id, youtubeVideoId, showVideoModal, handleCloseClick, }) => {\n const ref = useClickOutside(showVideoModal, handleCloseClick);\n return (React.createElement(Popup, { shouldShow: showVideoModal, className: `${id}-video` },\n React.createElement(PopupContent, { \"data-testid\": \"video-modal_popup-content\", className: `video-modal--${showVideoModal ? 'visible' : 'hidden'}` },\n React.createElement(VideoWrapper, { ref: ref },\n React.createElement(\"iframe\", { title: `${id}-video`, src: `https://www.youtube.com/embed/${youtubeVideoId}`, frameBorder: \"0\", allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\", allowFullScreen: true }),\n React.createElement(ButtonSC, { variant: \"flat\", onClick: handleCloseClick, \"data-testid\": \"video-modal--close\", iconSlot: React.createElement(CrossIcon, { color: \"white\" }) })))));\n};\n//# sourceMappingURL=VideoModal.js.map","export var ViewTypes;\n(function (ViewTypes) {\n ViewTypes[\"saved\"] = \"saved\";\n ViewTypes[\"fixed\"] = \"fixed\";\n ViewTypes[\"draft\"] = \"draft\";\n})(ViewTypes || (ViewTypes = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1vyyfhh\" }) `padding:14px 24px;`;\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--ycgtn6\" }) `line-height:1;`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--zy3oaf\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:0 12px;border:1px solid transparent;cursor:pointer;${({ colourPalette, customTextColour }) => `\n &:hover {\n border: 1px solid ${colourPalette.base};\n background-color: ${colourPalette.lightest};\n }\n\n ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n `} ${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.lightest};\n `}`;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--chq9kr\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:2px 4px;min-width:20px;height:20px;margin-left:8px;${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.base};\n\n & > ${CounterText} {\n color: #fff;\n }\n `}`;\nconst IconStyling = {\n style: {\n marginLeft: sizes.xs,\n padding: sizes.xs,\n height: sizes.base,\n width: sizes.base,\n },\n};\nexport const CustomIconWrapper = styled.div.withConfig({ displayName: \"vui--CustomIconWrapper\", componentId: \"vui--yu7dwm\" }) `display:flex;align-items:center;margin-right:${sizes.sm};svg{height:${sizes.base};width:${sizes.base};}`;\nexport { Container, Contour, Text, CounterContainer, CounterText, IconStyling };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const EditIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M3 18.0418V21.9996H6.95778L18.6306 10.3273L14.6728 6.36952L3 18.0418ZM21.6913 7.2661C22.1029 6.85501 22.1029 6.19011 21.6913 5.7785L19.2216 3.30831C18.81 2.89723 18.1451 2.89723 17.7335 3.30831L15.8021 5.23971L19.7599 9.19749L21.6913 7.2661Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EditIcon.js.map","import React, { useCallback } from 'react';\nimport { useHover } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { ViewTypes } from './types';\nimport { Container, Contour, CounterContainer, CounterText, CustomIconWrapper, IconStyling, Text, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { EditIcon } from '../../tempIcons/EditIcon';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n options: prefix ? `${prefix}-options` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\n/**\n *\n * @deprecated\n *\n * use ViewTab component instead\n *\n */\nexport const View = ({ id, iconSlot, name, type, className, colourPalette = colors.secondary.blue, customTextColour, count, active = false, onClick, onDelete, onEdit, e2eClassName, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isHovered, handleEnter, handleLeave] = useHover();\n const handleClick = useCallback(() => onClick(id), [id, onClick]);\n const handleDelete = useCallback((event) => {\n event.stopPropagation();\n if (onDelete)\n onDelete(id);\n }, [onDelete, id]);\n const handleEdit = useCallback((event) => {\n event.stopPropagation();\n if (onEdit)\n onEdit(id);\n }, [onEdit, id]);\n const isDraft = type === ViewTypes.draft;\n const isSaved = type === ViewTypes.saved;\n const fill = active ? colors.neutral.ink.dark : colors.neutral.ink.base;\n return (React.createElement(Container, { className: `${buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container])} ${(active && (e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.active)) || ''}`, onClick: handleClick },\n React.createElement(Contour, { active: active, onMouseEnter: handleEnter, onMouseLeave: handleLeave, colourPalette: colourPalette, customTextColour: customTextColour },\n iconSlot && React.createElement(CustomIconWrapper, null, iconSlot),\n React.createElement(Text, { variant: \"bodyBold\" }, name),\n count && (React.createElement(CounterContainer, { active: active || isHovered, colourPalette: colourPalette, customTextColour: customTextColour },\n React.createElement(CounterText, { className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.counter, variant: \"subheadingSmall\" }, count))),\n isDraft && (React.createElement(CrossIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.delete, onClick: handleDelete }))),\n isSaved && active && (React.createElement(EditIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.edit, onClick: handleEdit }))))));\n};\n//# sourceMappingURL=View.js.map","export var ViewTabTypes;\n(function (ViewTabTypes) {\n ViewTabTypes[\"saved\"] = \"saved\";\n ViewTabTypes[\"fixed\"] = \"fixed\";\n ViewTabTypes[\"draft\"] = \"draft\";\n})(ViewTabTypes || (ViewTabTypes = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const ThreeDotsIcon = (props) => (React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"4\", fill: \"none\", viewBox: \"0 -4 12 12\", role: \"presentation\" }, props),\n React.createElement(\"path\", { fill: \"currentColor\", d: \"M2 .667C1.267.667.667 1.267.667 2S1.267 3.333 2 3.333c.734 0 1.334-.6 1.334-1.333S2.734.667 2 .667m8 0c-.733 0-1.333.6-1.333 1.333s.6 1.333 1.333 1.333c.734 0 1.334-.6 1.334-1.333S10.734.667 10 .667m-4 0c-.733 0-1.333.6-1.333 1.333S5.267 3.333 6 3.333c.734 0 1.334-.6 1.334-1.333S6.734.667 6 .667\" })));\n//# sourceMappingURL=ThreeDotsIcon.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nimport { ThreeDotsIcon } from '../../tempIcons/ThreeDotsIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { FlatButton } from '../Button/components/styled';\nimport { theme } from '../../theme';\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--13z4q4k\" }) `line-height:1;`;\nconst ThreeDotsIconStyling = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--ThreeDotsIconStyling\", componentId: \"vui--lo8tpb\" }) ``;\nconst CrossIconStyling = styled(CrossIcon).withConfig({ displayName: \"vui--CrossIconStyling\", componentId: \"vui--u5oj4b\" }) ``;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--1nbpnol\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:2px 4px;min-width:20px;height:20px;margin-left:8px;${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.dark};\n\n & > ${CounterText} {\n color: ${colors.neutral.grey.lightest};\n }\n `}`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--1fc3r48\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:${theme.sizes.sm};border:1px solid transparent;cursor:pointer;background-color:transparent;${({ customTextColour }) => `\n\n &:hover {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterContainer} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterText} {\n color: ${colors.neutral.ink.base};\n }\n }\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n & > ${ThreeDotsIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n }\n\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n `} ${({ active, colourPalette, customTextColour }) => active &&\n `\n background-color: ${colourPalette.lightest};\n\n & > ${ThreeDotsIconStyling} {\n color: ${colourPalette.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colourPalette.dark};\n }\n\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colourPalette.dark};\n }\n `}`;\nconst ViewButton = styled(FlatButton).withConfig({ displayName: \"vui--ViewButton\", componentId: \"vui--i4ro1b\" }) `padding:${theme.sizes.sm};box-sizing:border-box;border-radius:4px;border:none;position:relative;margin:0;padding:0;${({ customTextColour }) => `\n &:focus-visible {\n ${Contour} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterContainer} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterText} {\n color: ${colors.neutral.ink.base};\n }\n }\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n & > ${ThreeDotsIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n }\n `}`;\nconst IconStyling = {\n style: {\n marginLeft: sizes.xs,\n padding: sizes.xs,\n height: sizes.base,\n width: sizes.base,\n },\n};\nexport const CustomIconWrapper = styled.div.withConfig({ displayName: \"vui--CustomIconWrapper\", componentId: \"vui--1cuc9yu\" }) `display:flex;align-items:center;margin-right:${sizes.sm};svg{height:${sizes.base};width:${sizes.base};}`;\nexport { ViewButton, Contour, Text, CounterContainer, CounterText, IconStyling, ThreeDotsIconStyling, CrossIconStyling, };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { useHover } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { ViewTabTypes } from './types';\nimport { Contour, CounterContainer, CounterText, CrossIconStyling, CustomIconWrapper, IconStyling, Text, ThreeDotsIconStyling, ViewButton, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-view` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\nexport const ViewTab = React.forwardRef((_a, ref) => {\n var { id, iconSlot, name, type, className, colourPalette = colors.secondary.blue, customTextColour, count, active = false, onClick, subAction, ariaContext } = _a, props = __rest(_a, [\"id\", \"iconSlot\", \"name\", \"type\", \"className\", \"colourPalette\", \"customTextColour\", \"count\", \"active\", \"onClick\", \"subAction\", \"ariaContext\"]);\n const classNames = generateClassNames(className);\n const [isHovered, handleEnter, handleLeave] = useHover();\n const action = active && subAction ? subAction : onClick;\n const handleAction = () => action(id);\n const isDraft = type === ViewTabTypes.draft;\n const isSaved = type === ViewTabTypes.saved;\n const getLabelAction = () => {\n if (active && isDraft)\n return 'Delete';\n if (active && isSaved)\n return 'Edit';\n return '';\n };\n return (React.createElement(ViewButton, Object.assign({ className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container]), onClick: handleAction, role: \"tab\", \"aria-selected\": active, \"aria-label\": `${getLabelAction()} ${name} view ${count ? `with ${count} ${ariaContext}` : ''}`, customTextColour: customTextColour, ref: ref }, props),\n React.createElement(Contour, { active: active, onMouseEnter: handleEnter, onMouseLeave: handleLeave, colourPalette: colourPalette, customTextColour: customTextColour },\n iconSlot && React.createElement(CustomIconWrapper, null, iconSlot),\n React.createElement(Text, { variant: \"bodyBold\" }, name),\n count !== undefined && count !== null && (React.createElement(CounterContainer, { \"data-testid\": \"countContainer\", active: active || isHovered, colourPalette: colourPalette, customTextColour: customTextColour },\n React.createElement(CounterText, { variant: \"subheadingSmall\" }, count))),\n isDraft && React.createElement(CrossIconStyling, Object.assign({}, IconStyling, { \"aria-label\": \"delete icon\" })),\n isSaved && active && React.createElement(ThreeDotsIconStyling, Object.assign({}, IconStyling, { \"aria-label\": \"edit icon\" })))));\n});\n//# sourceMappingURL=ViewTab.js.map","import styled from 'styled-components';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { colors } from '../../theme/modules/colors';\nimport { ThreeDotsIcon } from '../../tempIcons/ThreeDotsIcon';\nimport { InputGroup } from '../InputGroup';\nexport const ViewsWrapper = styled(Stack).withConfig({ displayName: \"vui--ViewsWrapper\", componentId: \"vui--x8ukf0\" }) `overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;::-webkit-scrollbar{display:none;}gap:8px;height:inherit;padding:8px 6px 8px 12px;margin-left:0;`;\nexport const Container = styled(Stack).withConfig({ displayName: \"vui--Container\", componentId: \"vui--mlh8wa\" }) `background-color:${colors.neutral.grey.lightest};`;\nexport const StyledLeftIcon = styled(LeftArrowIcon).withConfig({ displayName: \"vui--StyledLeftIcon\", componentId: \"vui--193620d\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledRightIcon = styled(RightArrowIcon).withConfig({ displayName: \"vui--StyledRightIcon\", componentId: \"vui--erlipg\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuIcon = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--StyledMenuIcon\", componentId: \"vui--eg23b0\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuButton = styled(Button).withConfig({ displayName: \"vui--StyledMenuButton\", componentId: \"vui--1o9jbht\" }) `background-color:white;&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledLeftButton = styled(Button).withConfig({ displayName: \"vui--StyledLeftButton\", componentId: \"vui--wtwmiz\" }) `background-color:white;&:disabled{background-color:white;${StyledLeftIcon}{color:${colors.neutral.ink.lightest};}}&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledRightButton = styled(Button).withConfig({ displayName: \"vui--StyledRightButton\", componentId: \"vui--1ycuwov\" }) `background-color:white;&:disabled{background-color:white;${StyledRightIcon}{color:${colors.neutral.ink.lightest};}}&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--StyledInputGroup\", componentId: \"vui--l3ez4z\" }) `padding-right:8px;margin-left:0;& > *:first-child:last-child{border-radius:4px !important;}`;\n//# sourceMappingURL=styled.js.map","import { useCallback, useEffect, useState } from 'react';\nimport { usePrevious } from 'react-use';\nimport { createViewPositionArray, getNextViewPosition, getPrevViewPosition } from '../utils';\nexport const useSetScrollPosition = (containerRef, children) => {\n var _a;\n const [leftDisabled, setLeftDisabled] = useState(true);\n const [rightDisabled, setRightDisabled] = useState(false);\n const [viewStartPositions, setViewStartPositions] = useState([]);\n const activeTab = (_a = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('[aria-selected = true]');\n const prevActiveTab = usePrevious(activeTab);\n const handleScroll = useCallback(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (((_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) > 0) {\n setLeftDisabled(false);\n }\n else {\n if (document.getElementById('left-arrow') === document.activeElement) {\n (_b = document.getElementById('right-arrow')) === null || _b === void 0 ? void 0 : _b.focus();\n }\n setLeftDisabled(true);\n }\n const maxScrollWidth = (_d = (_c = containerRef.current) === null || _c === void 0 ? void 0 : _c.scrollWidth) !== null && _d !== void 0 ? _d : 0;\n const maxClientWidth = (_f = (_e = containerRef.current) === null || _e === void 0 ? void 0 : _e.clientWidth) !== null && _f !== void 0 ? _f : 0;\n const maxScrollLeft = maxScrollWidth - maxClientWidth;\n // -10 to prevent javascript assertion errors on floating points\n if (((_g = containerRef.current) === null || _g === void 0 ? void 0 : _g.scrollLeft) >= maxScrollLeft - 10) {\n if (document.getElementById('right-arrow') === document.activeElement) {\n (_h = document.getElementById('left-arrow')) === null || _h === void 0 ? void 0 : _h.focus();\n }\n setRightDisabled(true);\n }\n else {\n setRightDisabled(false);\n }\n }, [containerRef]);\n const handleResize = useCallback(() => {\n if (!containerRef.current)\n return;\n if (containerRef.current.scrollWidth - containerRef.current.getBoundingClientRect().width < 5) {\n setRightDisabled(true);\n }\n else {\n setRightDisabled(false);\n }\n }, [containerRef]);\n const toNextScrollPosition = useCallback(() => {\n const newPosition = getNextViewPosition(viewStartPositions, containerRef.current.scrollLeft, containerRef.current.clientWidth);\n containerRef.current.scrollTo({\n left: newPosition,\n top: 0,\n behavior: 'smooth',\n });\n }, [containerRef, viewStartPositions]);\n const toPrevScrollPosition = useCallback(() => {\n const newPosition = getPrevViewPosition(viewStartPositions, containerRef.current.scrollLeft);\n containerRef.current.scrollTo({\n left: newPosition,\n top: 0,\n behavior: 'smooth',\n });\n }, [containerRef, viewStartPositions]);\n useEffect(() => {\n var _a, _b, _c, _d, _e, _f, _g;\n if (!(containerRef === null || containerRef === void 0 ? void 0 : containerRef.current))\n return;\n if (((_a = containerRef.current.children) === null || _a === void 0 ? void 0 : _a.length) &&\n ((_b = containerRef.current.children) === null || _b === void 0 ? void 0 : _b.length) !== viewStartPositions.length &&\n viewStartPositions.length > 0 &&\n viewStartPositions.length < children.length) {\n // scrolls to the last view, when a new item is added\n containerRef.current.scrollTo({\n left: containerRef.current.scrollWidth - containerRef.current.clientWidth,\n top: 0,\n behavior: 'smooth',\n });\n // computes the x position of the new item\n setViewStartPositions([\n ...viewStartPositions,\n viewStartPositions[viewStartPositions.length - 1] +\n ((_d = (_c = containerRef.current.children[viewStartPositions.length - 1]) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect().x) !== null && _d !== void 0 ? _d : 0) -\n 20,\n ]);\n }\n if (((_e = containerRef.current.children) === null || _e === void 0 ? void 0 : _e.length) && viewStartPositions.length === 0) {\n setViewStartPositions(createViewPositionArray(containerRef.current));\n }\n // scrolls to active tab when page loads\n if (activeTab !== prevActiveTab &&\n activeTab !== null &&\n ((_f = containerRef.current.children) === null || _f === void 0 ? void 0 : _f.length) === viewStartPositions.length) {\n const index = Array.from(containerRef.current.children).indexOf(activeTab);\n containerRef.current.scrollTo({\n left: viewStartPositions[index],\n top: 0,\n behavior: 'smooth',\n });\n }\n handleResize();\n window.addEventListener('resize', handleResize);\n (_g = containerRef.current) === null || _g === void 0 ? void 0 : _g.addEventListener('scroll', handleScroll);\n // eslint-disable-next-line consistent-return\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [\n containerRef,\n children,\n handleResize,\n handleScroll,\n viewStartPositions,\n activeTab,\n prevActiveTab,\n ]);\n return { rightDisabled, leftDisabled, toNextScrollPosition, toPrevScrollPosition };\n};\n//# sourceMappingURL=useSetScrollPosition.js.map","/**\n * A function to get the 3rd next scroll value using an array of start positions\n */\nexport const getNextViewPosition = (viewPositionsArray, currentScroll, containerWidth) => {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < viewPositionsArray.length; i++) {\n if (viewPositionsArray[i + 3] === undefined) {\n return currentScroll - containerWidth;\n }\n if (viewPositionsArray[i] >= currentScroll) {\n return viewPositionsArray[i + 3];\n }\n }\n return currentScroll - containerWidth; // if currentScroll is greater than the last ViewTab's start position, the new ScrollLeft value is 0.\n};\n/**\n * A function to get the 3rd previous scoll value using an array of start positions\n */\nexport const getPrevViewPosition = (viewPositionsArray, currentScroll) => {\n const reverseArray = viewPositionsArray.slice().reverse();\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < viewPositionsArray.length; i++) {\n if (reverseArray[i + 3] === undefined) {\n return 0;\n }\n if (reverseArray[i] < currentScroll) {\n return reverseArray[i + 3];\n }\n }\n return 0; // if currentScroll is less than the first ViewTab's start position, the new ScrollLeft value is 0.\n};\n/**\n * This produces an array of all x positions of child elements\n */\nexport const createViewPositionArray = (containerRef) => {\n const viewPositions = Object.values(containerRef.children).map((el) => {\n // -20 so movement stops at beginning of view, due to x value not accounting for padding\n return el.getBoundingClientRect().x - 20;\n });\n return viewPositions;\n};\n//# sourceMappingURL=utils.js.map","import React, { useRef } from 'react';\nimport { Container, StyledLeftButton, StyledLeftIcon, StyledMenuButton, StyledMenuIcon, StyledRightButton, StyledRightIcon, StyledInputGroup, ViewsWrapper, } from './styled';\nimport { useSetScrollPosition } from './hooks/useSetScrollPosition';\nexport const ViewsContainer = React.forwardRef(({ children, onClickMenu, ariaMenuControls, ariaMenuExpanded }, menuRef) => {\n const viewsRef = useRef(null);\n const { rightDisabled, leftDisabled, toNextScrollPosition, toPrevScrollPosition } = useSetScrollPosition(viewsRef, children);\n return (React.createElement(Container, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(ViewsWrapper, { ref: viewsRef, id: \"views\", role: \"tablist\", alignY: \"center\", direction: \"horizontal\" }, children),\n React.createElement(StyledInputGroup, null,\n (!leftDisabled || !rightDisabled) && (React.createElement(React.Fragment, null,\n React.createElement(StyledLeftButton, { id: \"left-arrow\", iconSlot: React.createElement(StyledLeftIcon, null), disabled: leftDisabled, onClick: toPrevScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the left\" }),\n React.createElement(StyledRightButton, { id: \"right-arrow\", iconSlot: React.createElement(StyledRightIcon, null), disabled: rightDisabled, onClick: toNextScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the right\" }))),\n React.createElement(StyledMenuButton, { iconSlot: React.createElement(StyledMenuIcon, null), variant: \"flat\", onClick: onClickMenu, \"aria-label\": \"open menu\", \"aria-controls\": ariaMenuControls, \"aria-expanded\": ariaMenuExpanded, \"aria-haspopup\": ariaMenuControls ? 'dialog' : undefined, ref: menuRef }))));\n});\n//# sourceMappingURL=ViewsContainer.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--18asccd\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--hefld1\" }) `display:flex;flex-direction:row;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1w2y0ok\" }) `&&&{text-align:left;width:52px;}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--fqwvpz\" }) `padding:0 4px;border-color:${theme.colors.neutral.ink.lightest};margin-right:4px;${(props) => props.hasError &&\n `\n border-color: ${theme.colors.secondary.red.base};\n `};`;\nexport { Container, Row, StyledTextField as TextField, StyledButton as Button };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { isWeightImperial, isWeightMetric } from './types';\nimport { ComponentSize } from '../types';\nimport { InputGroup } from '../InputGroup';\nimport { withLabels } from '../../hoc';\nimport { Container, TextField, Row, Button } from './styled';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\nexport const WeightInput = withLabels((_a) => {\n var { size = ComponentSize.base, hasError, className } = _a, rest = __rest(_a, [\"size\", \"hasError\", \"className\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n isWeightMetric(rest) && (React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeGram, name: \"gram\", type: \"number\", value: rest.gram, hasError: hasError, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"g\"))),\n isWeightImperial(rest) && (React.createElement(React.Fragment, null,\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangePound, name: \"pound\", type: \"number\", value: rest.pound, hasError: hasError, step: \"any\", min: \"0\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"lb\")),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeOunce, name: \"ounce\", type: \"number\", value: rest.ounce, hasError: hasError, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"oz\")))))));\n});\nWeightInput.displayName = 'WeightInput';\nWeightInput.defaultProps = {\n weightUnit: 'lb',\n};\n//# sourceMappingURL=WeightInput.js.map","export const isWeightMetric = (props) => {\n return props.weightUnit === 'g';\n};\nexport const isWeightImperial = (props) => {\n return props.weightUnit === 'lb' || props.weightUnit === 'oz';\n};\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { theme } from 'Theme';\nconst sizes = {\n base: '28px',\n sm: '20px',\n};\nconst borderRadius = {\n base: '18px',\n sm: '10px',\n};\nconst offset = {\n base: '-12px',\n sm: '-8px',\n};\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--gpqjtl\" }) `position:absolute;top:${({ size }) => offset[size]};right:${({ size }) => offset[size]};box-sizing:border-box;height:${({ size }) => sizes[size]};min-width:${({ size }) => sizes[size]};display:flex;align-items:center;justify-content:center;border-radius:${({ size }) => borderRadius[size]};padding:0 4px;background-color:${({ color }) => color || theme.colors.neutral.grey.base};border:2px solid white;font-weight:bold;font-size:12px;`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { theme } from 'Theme';\nimport { Wrapper } from './styled';\nexport const Indicator = (_a) => {\n var { color, style, textColour, size = 'base' } = _a, otherProps = __rest(_a, [\"color\", \"style\", \"textColour\", \"size\"]);\n const backgroundColor = color || theme.colors.neutral.grey.base;\n return (React.createElement(Wrapper, Object.assign({ role: \"status\", style: Object.assign({ backgroundColor, color: textColour }, style), size: size }, otherProps)));\n};\n//# sourceMappingURL=Indicator.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","getTextStyles","textTheme","css","theme","layers","popup","modal","tooltip","shadows","Text","span","attrs","muted","TapBarChild","Left","glyphColor","Right","AccordionSummary","summary","Top","Description","AccordionContent","motion","AccordionDetails","details","UnstyledAccordionContent","UnstyledAccordionSummary","UpArrowIcon","props","React","createElement","viewBox","fill","xmlns","role","height","fillRule","clipRule","d","Accordion","className","children","label","iconSlot","timeout","description","shouldOpenOnMount","summaryTextVariant","shouldOpen","setShouldOpen","useState","handleOpen","FRAMER_MOTION_CONFIG","initial","opacity","exit","animate","transition","from","type","duration","open","onClick","rotate","name","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","SuppressedError","TailSpin","width","x1","y1","x2","y2","id","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","ref","dropdown","loading","otherProps","VariantButton","hasChildren","undefined","Header","header","HeaderGrid","DownArrowIcon","CrossIcon","CardHeader","title","subtitle","headerVariant","action","actionSlot","isCollapsed","onClickCollapse","onClickClose","elevationShadowMap","accents","info","success","Footer","footer","Section","section","FullBleed","Body","Surface","elevation","accent","collapseAnimationVariants","expanded","collapsed","Card","style","headerActionSlot","collapsable","onClose","renderFooter","setIsCollapsed","headerMarkup","showBody","bodyMarkup","variants","ease","footerMarkup","DropdownContainer","generateId","prefix","randomId","uid","Portal","PureComponent","constructor","super","this","portalNode","state","isMounted","componentDidMount","rootElementRef","document","setAttribute","cssText","appendChild","setState","componentWillUnmount","removeChild","render","createPortal","PopoverDialog","dialog","zIndex","Backdrop","buildClassnames","names","filter","Boolean","join","hexToRgb","hex","hexTmp","replace","m","g","b","result","exec","parseInt","getOpaqueHexColor","rgb","defaultAllowedHostnames","isExternalLink","urlOrPath","allowedHostnames","startsWith","hostname","urlHostname","URL","some","toLowerCase","allowedHostname","TABBABLE_SELECTORS","useHandleFocus","popperElement","anchorElement","disableFocusLock","useEffect","focusableElements","querySelectorAll","setTimeout","focus","focusWithinPopper","event","key","shiftKey","stopPropagation","preventDefault","addEventListener","removeEventListener","handleKeyDown","firstElement","lastElement","activeElement","handleFocusTrap","Popover","passedId","placement","onShouldClose","removeBackdrop","useAnchorWidth","ignoreAriaWarnings","dialogProps","setPopperElement","styles","attributes","update","usePopper","useMemo","popoverId","hasAttribute","console","warn","_","useUpdateAriaAnchor","resizeObserver","ResizeObserver","observe","disconnect","window","popper","minWidth","clientWidth","onKeyDown","DropdownPopover","reversed","popoverProps","AnimatePresence","y","Dropdown","shouldShow","setShouldShow","ctaIconSlot","ctaProps","dropdownProps","anchorRef","useRef","Fragment","current","useClickOutside","isOpen","escapeListener","useCallback","clickListener","contains","target","useDebounce","handler","clearTimeout","useDropdown","shouldShowDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","FocusVisibleManager","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","useFocusVisible","isFocused","setIsFocused","useContext","onFocus","onBlur","focusVisible","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","scrollHeight","clientHeight","onScroll","scrollTop","useTabs","tabs","config","defaultActiveIndex","listOfTabs","active","setActive","newActiveTab","find","tab","useId","MenuItem","AriaMenuItem","AriaSection","ActionMenu","menuLabel","actions","idComputed","padding","code","Menu","toString","map","Alignments","Item","Stack","direction","alignX","alignY","spacing","alignItems","justifyContent","flexDirection","itemFlex","marginTop","marginLeft","AlertContainer","colours","SpacingMap","IconSizeMap","AttentionIcon","HelpIcon","InfoIcon","SuccessIcon","IconMap","warning","recommend","ColourMap","Alert","passedColours","rightActions","rightActionsSlot","titleSlot","messageSlot","message","divProps","IconSlot","isXsSize","margin","gap","minHeight","actionProps","TextColourMap","IconStyles","MiniAlertContainer","MiniAlert","customTitleColour","customIconColour","iconColour","titleColour","CommonAnchor","a","Anchor","href","rel","isExternal","setDefaultRelValue","Container","BasicDropdown","BasicContainer","Wrap","AnimatedDropdown","cta","onClickAway","transitionClassnames","onMouseEnter","onMouseLeave","dropdownRef","handleClickAway","useClickAway","CSSTransition","in","classNames","unmountOnExit","AvatarSC","textColor","bgColor","Avatar","userInitials","toUpperCase","match","slice","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","Sides","defaultConfig","side","TOP","triangleOffset","TooltipPopover","content","hoverableElement","withTriangle","usedConfig","modifiers","options","tooltipStyles","tip","triangleOffsetSize","wrap","triangle","Tooltip","initialShouldShow","useReactPortal","setHoverableElement","trim","container","hoverable","hasContent","tooltipMarkup","ReactDOM","BaseBadge","hideBorder","Badge","e2eClassName","BadgeVariant","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","Banner","Pill","marginRight","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","DefaultSeparator","DefaultLink","BreadcrumbText","Breadcrumbs","items","Separator","item","pathname","buttonStyles","calenderCellStyles","headerStyles","SharedCalendarStyles","StyledRangeCalendar","RangeCalendar","columns","SubCalendarOption","DodecadeCalendar","currentYear","onFocusYear","year","Array","MONTHS","YearCalendar","onFocusMonth","month","monthIndex","MonthCalendar","todayDate","today","getLocalTimeZone","AriaCalendarGrid","weekdayStyle","CalendarGridHeader","day","CalendarHeaderCell","CalendarGridBody","date","CalendarCell","compare","CalendarLevel","CalendarGrid","level","YEAR","DODECADE","visibleDurationMap","years","MONTH","months","levelMoveLabelMap","useCalendarLevels","setLevel","handleSwitchLevel","LeftArrowIcon","CalendarHeading","updatedProps","refUpdated","useContextProps","HeadingContext","generatedTitle","rest","entireMatch","group","test","whiteSpace","CalendarHeader","isDisabled","slot","VQBtn","disabled","useIsDateUnavailable","disabledRanges","disallowWeekends","minValue","maxValue","locale","useLocale","isDateUnavailable","isWeekend","disabledStart","disabledEnd","isDateRangeUnavailable","selectedRange","start","presortStart","end","presortEnd","sort","currentDate","add","days","onChange","focusedDate","setFocusedDate","initialValue","Date","getFullYear","currentMonth","getMonth","CalendarDate","useRangeCalendarState","focusedValue","onFocusChange","visibleDuration","StyledCalendar","Calendar","useCalendarState","alignMap","top","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","HintText","ErrorText","Wrapper","BorderedWrapper","BlockTooltip","Choice","hint","bordered","Accessory","labelVariant","inputPosition","contentMarkup","htmlFor","Input","input","Checkbox","checked","indeterminate","ariaLabel","checkboxRef","handleChange","currentTarget","Radio","Fieldset","fieldset","Legend","legend","ChoiceList","Component","arguments","allowMultiple","handleChangeMultiple","handleChangeSingle","selected","newSelected","selectedValue","InputComponent","option","includes","ClipboardIcon","iconSizes","XSButton","CopyToClipboard","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","Label","Hint","Error","RootStack","withLabels","marginBottom","hasError","withDeprecated","DateRangeGroup","Group","$hasError","DateInputField","shouldForceLeadingZeros","rightAction","startValue","endValue","isReadOnly","isRangeInput","ariaDescribedBy","ariaLabelledBy","onChangeStartDate","onChangeEndDate","rangeRef","rightActionRef","validationProps","isStartInvalid","setIsStartInvalid","isEndInvalid","setIsEndInvalid","validateDate","range","DateField","validate","isInvalid","DateInput","segment","DateSegment","CalendarIcon","DatePickerFooter","DatePicker","shouldCloseOnSelect","withLabelProps","resetToValue","openDropdownRef","onSelectDate","isSelectedDateInvalid","SelectInput","select","sizeVariant","Select","hidden","Slider","switched","Switch","small","Toggle","choiceProps","DEFAULT_PREVIOUS_PERIOD_OPTIONS","ComparePreviousPeriod","selectedPreviousPeriod","setSelectedPreviousPeriod","showCompareSelect","setShowCompareSelect","display","newValue","newOption","DateRanges","getDateRange","now","dateRange","TODAY","YESTERDAY","subtract","LAST_7_DAYS","LAST_30_DAYS","LAST_90_DAYS","LAST_MONTH","lastMonth","startOfMonth","endOfMonth","LAST_12_MONTHS","WEEK_TO_DATE","startOfWeek","language","MONTH_TO_DATE","YEAR_TO_DATE","startOfYear","timeRangeToDateRange","DATE_RANGE_OPTIONS","DEFAULT_SELECTION","DEFAULT_RANGE","DEFAULT_PRESET","Divider","DateRangePicker","showDatePresets","onReset","selectedPreset","setSelectedPreset","setSelectedRange","previousPeriodProps","updateDateSegment","newRange","isDateRangeInvalid","matchedPreset","reduce","optionDateRange","optionStart","optionEnd","checkForMatchingPreset","showPreviousPeriod","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","scrollPosition","stripingMode","columnWidths","pinnedLeftStyles","index","array","acc","val","sumAllBeforeIndex","pinnedRightStyles","sumAllAfterIndex","isLeftShadowVisible","leftShadow","isRightShadowVisible","rightShadow","stripingRow","stripingNested","column","SortDirection","DoubleArrowIcon","ArrowUpIcon","ArrowDownIcon","GetSortIcon","sortState","columnId","ascending","useCellWidths","tableRef","containerRef","setCellWidths","updateCellWidths","cells","widths","cell","getBoundingClientRect","resizeObserverCallback","throttle","CustomEvent","Event","eventType","data","bubbles","cancelable","useColumnWidths","columnIds","initialColumnWidths","setColumnWidths","obj","newColumnWidths","keys","forEach","JSON","stringify","setColumnWidth","lastColumn","newWidth","_b","_c","querySelector","calculateWidth","evt","dispatchEvent","customEventEmitter","useColumns","onResizeColumns","finalColumnWidths","originalSetColumnWidth","updatedColumnWidths","visible","col","pinned","notPinned","useDragToScroll","targetRef","isDragging","scrollTarget","position","left","x","mouseMoveHandler","dx","clientX","scrollLeft","cursor","userSelect","mouseUpHandler","removeProperty","mouseDownHandler","HTMLElement","classList","useNested","expandedRowIds","setExpandedRowIds","nestedTableProps","setExpanded","rowId","rowIds","findIndex","splice","useScrollPosition","setScrollPosition","updateScrollPosition","scrollWidth","headerCellHeight","th","SelectionHeader","selectionMode","headerProps","Cell","td","SelectionCell","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","selectedRowIds","setSelectedRowIds","toggleAllSelected","selectionColumn","renderHeader","renderCell","row","rowState","setSelected","SortIndicator","HeaderContent","ClickableHeaderContent","ResizerBar","ColumnDivider","createRef","mouseMove","minTranslate","dragDivider","dragInitX","tableHeaders","translate","Math","parentElement","initWidth","contentWidth","finalWidth","deltaX","mouseUp","remove","trackMouseStart","onMouseDown","onDragStart","onChangeSort","resizeableColumns","columnCount","columnI","sortable","String","ColumnHeaderContent","columnHeaderProps","nextSortState","isColumnSame","isDefaultDirection","newSortDirection","descending","getNextSortState","resizeMinWidth","shimmerLight","shimmerDark","LoadingCellContent","Content","ActionBar","intersectionTargetRef","isSticky","setIsSticky","intersectionObserver","IntersectionObserver","entries","entry","isIntersecting","containerRect","stickyPositionStyles","right","VisiblityIcon","VisiblityOffIcon","ReorderIcon","EmptyBodyContent","EmptyBodyGlyphWrapper","NoWrap","tr","ScrollContainer","TableGrid","table","Truncate","borderModeStyles","vertical","borderMode","StickyHead","tableCss","stickyHeaderTop","stickyContainerRef","isVisible","setIsVisible","setContainerRect","lastLeftValue","updateContainerDimensions","targetRect","newRect","updateContainerScrollPosition","xScrollOffset","scrollTo","rootMargin","threshold","scrollCallback","containerStyle","overflowX","overflowY","borderBottom","borderTop","boxShadow","allCss","getRowState","disabledRowIds","defaultEmptyState","heading","emptyAction","DataTable","actionBarSlot","initialColumns","emptyState","loadingRowCount","rows","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","calcColumnWidths","adjustedCellWidths","Number","isNaN","loadingRows","random","renderLoadingCell","subheading","renderRow","renderNestedRow","nestedRow","nestedRowE2eClassName","e2eClassNames","renderNestedCell","renderSection","isExpanded","nestedRows","headersMarkup","shouldRenderFooter","shouldRenderActionBar","hasNestedRows","renderBody","footerProps","defaultProps","ColumnMenu","columnGroups","setColumns","popoverAnchor","setPopoverAnchor","showPopover","setShowPopover","columnEntries","columnsMap","fromEntries","groups","setHidden","groupIndex","newColumns","border","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","DescriptionList","horizontal","renderDescription","isArray","term","ColumnGrid","showSidebar","ContentContainer","DetailPage","shouldShowSidebar","setShouldShowSidebar","InputGroup","ComponentSize","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","spellCheck","RegExp","StyledTextField","StyledButton","blockInvalidCharacters","invalidList","invalidCharsList","blockInvalidChars","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","step","NonSelectableText","GroupLabel","MainIcon","$shouldShow","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","FilterTag","shouldCloseOnClickAway","setAnchorElement","handleClick","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","Image","src","alt","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","isError","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","iconSize","icon","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","middle","WrapperBordered","Head","thead","tbody","fixedColumnsStyle","tfoot","grow","HeaderCell","alignmentMap","HeaderCellLayout","Table","isFixedLayout","striped","tableLoading","noWrap","StickyHeaderWrapper","FakeHeaderTable","SpecificStateContainer","EllipseContainer","TitleText","SubTitleText","SpecificState","CellButton","ClickableButton","SkeletonContentWrapper","SkeletonContentComponent","isLoading","SkeletonContent","SkeletonCell","StickyHeader","wrapperRef","wrapperStyle","headerWrapperRef","setHeaderWrapperRef","topOffset","handleScrollChange","bottom","sticky","useStickyHeader","wrapperWidth","useScroll","updateScroll","tableLayout","convertFixedColumnInlineStyleToStyled","push","abs","SkeletonHeaderCell","DoubleArrowAscIcon","DoubleArrowDescIcon","IconUnsorted","IconSortAsc","IconSortDesc","LegacyDataTable","borderless","headers","renderLoadingRow","renderFooterRow","renderFooterLoadingRow","omitFooterSelectionCell","disabledSelectionInputRowIds","onChangeSelectedRowIds","sortColumnId","sortDirection","skeletonRowsNumber","isHeaderSticky","stickyHeaderStyle","customSpecificState","bodyHeightInSpecificStates","startFixedColumnsNumber","endFixedColumnsNumber","WrapperComponent","isEmpty","isFixedColumnsNotEnabled","refValue","handleScroll","el","scrollValue","castWidthToNumber","generateFixedColumnInlineStyle","generateFixedColumnsStyle","startColumns","endColumns","totalStartOffset","totalEndOffset","headerWidth","handleSelectRow","newSelectedRowIds","handleSelectAll","handleClickSortableHeader","nextColumnId","nextDirection","renderHeaderCell","sortIcon","headerContents","renderSkeletonHeaderCell","selectionCellStyle","startHeaderIndex","endHeaderIndex","headerCellStyle","skeleton","skeletonStyle","renderSelectionInput","isSelected","inputProps","renderSkeletonSelectionInput","rowIndex","generalStyle","animationDuration","getNestedRow","isHidden","renderDefaultLoadingRow","unshift","getFooter","renderedRows","bodyClassName","rowE2eClassName","rowClassName","specificStateValues","ClickableCell","EditableCell","LoginButton","buttonImg","buttonDescription","LoginWithAmazonButton","setImage","onMouseUp","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","bounce","Dialog","Modal","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","removeAttribute","showModal","isContentOverflowing","close","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","StartArrowIcon","EndArrowIcon","Pagination","testId","onSubmit","StepButton","Stepper","onIncrement","onDecrement","PrefixContainer","PrefixText","PriceInputGroup","PriceInput","currency","onPriceChange","priceValue","callback","parseFloat","toFixed","roundedValue","form","blur","ScreenReaderOnlyElement","ScreenReaderOnly","IconContainer","iconPosition","SearchIcon","Search","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SegmentedControl","ShortcutKeysContainer","$inverse","Kbd","kbd","ValidModifierKeysMap","command","windows","shift","ctrl","enter","delete","escape","up","down","space","ValidModifierKeyssLabelMap","ShortcutKeys","shortcut","inverse","displayLabel","shortcutElements","split","previousKbdElement","currentKbdElement","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","Skeleton","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","onSlideStart","onSlideEnd","setIsDragging","draggingSliderIndex","setDraggingSliderIndex","startSliderRef","endSliderRef","handleMouseMove","sliderValue","containerSize","pageX","diff","ceil","floor","decimalPlaces","pop","resultValue","handleMouseUp","handleMouseDown","handleStartSliderMouseDown","handleEndSliderMouseDown","startSliderEl","endSliderEl","renderSlider","valueNow","sliderClassName","renderRangeSlider","rangeSliderValue","handleValueStart","handleValueEnd","rangeWidth","handleValue","renderSingleSlider","Tag","ToastsLayoutContainer","Toast","last","IconWrap","ContentStack","toastTypes","merge","closeIcon","ToastContainer","ToastsLayout","toasts","TransitionGroup","component","reverse","toast","borderColor","ToggleButton","tabIndex","DropZoneContainer","AcceptedFileTypes","FileSizeUnit","InputState","UploadGraphic","UploadCopy","pointerEvents","paddingTop","UploadFileErrors","acceptedTypesCopy","maxSizeCopy","SingleLineText","UploadedFilesListStack","UploadedFile","file","resetSelection","UploadFile","outerRef","maxBytes","format","MB","fileTypes","required","inputRef","useImperativeHandle","setFile","errorState","setErrorState","VALID","isInvalidFormat","INVALID_FORMAT","INVALID_FORMAT_AND_SIZE","isOverMaxSize","INVALID_SIZE","baseString","KB","getFileSizeString","fileType","list","iterable","isLast","isPenultimate","CSV","GIF","JPEG","JPG","PNG","getValidTypesString","acceptedTypesForInputEl","isLastElement","getTypePropForInputEl","clearFileSelection","setInputValidation","overMaxSize","invalidFormat","setCustomValidity","updateFiles","files","newFile","hasExceededMaxSize","extension","hasInvalidFormat","validType","substring","fileList","elementId","inputEl","getElementById","setInputElFile","onInputChange","onDrop","dataTransfer","onDragEnter","onDragOver","onDragLeave","accept","commonStyles","Shadow","WithPortal","usePortal","Popup","ScrollLock","isActive","PopupContent","VideoWrapper","ButtonSC","VideoModal","youtubeVideoId","showVideoModal","handleCloseClick","frameBorder","allow","allowFullScreen","ViewTypes","CounterText","Contour","colourPalette","customTextColour","CounterContainer","IconStyling","CustomIconWrapper","EditIcon","edit","counter","View","onDelete","onEdit","handleEnter","handleLeave","handleDelete","handleEdit","isDraft","draft","isSaved","saved","ViewTabTypes","ThreeDotsIcon","ThreeDotsIconStyling","CrossIconStyling","ViewButton","ViewTab","subAction","ariaContext","ViewsWrapper","StyledLeftIcon","StyledRightIcon","StyledMenuIcon","StyledMenuButton","StyledLeftButton","StyledRightButton","StyledInputGroup","useSetScrollPosition","leftDisabled","setLeftDisabled","rightDisabled","setRightDisabled","viewStartPositions","setViewStartPositions","activeTab","prevActiveTab","usePrevious","_d","_e","_f","_g","_h","maxScrollLeft","handleResize","toNextScrollPosition","newPosition","viewPositionsArray","currentScroll","containerWidth","getNextViewPosition","behavior","toPrevScrollPosition","reverseArray","getPrevViewPosition","createViewPositionArray","ViewsContainer","onClickMenu","ariaMenuControls","ariaMenuExpanded","menuRef","viewsRef","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce","Indicator","textColour"],"mappings":"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","x_google_ignoreList":[15]}
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/utils.ts","../src/theme/index.ts","../src/theme/modules/layers.ts","../src/components/Text/Text.ts","../src/components/Accordion/styled.ts","../src/tempIcons/UpArrowIcon.tsx","../src/components/Accordion/Accordion.tsx","../node_modules/tslib/tslib.es6.js","../src/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/Dropdown/styled.ts","../src/utils/generateId.ts","../src/components/Portal/Portal.tsx","../src/components/Popover/styled.ts","../src/utils/buildClassnames.ts","../src/utils/color.ts","../src/utils/isExternalLink.ts","../src/components/Popover/hooks/useUpdateAriaAnchor.ts","../src/components/Popover/hooks/useHandleFocus.ts","../src/components/Popover/Popover.tsx","../src/components/Dropdown/DropdownPopover.tsx","../src/components/Dropdown/Dropdown.tsx","../src/hooks/useClickOutside.ts","../src/hooks/useDebounce.ts","../src/hooks/useDropdown.ts","../src/hooks/useFocusVisible.tsx","../src/hooks/useHover.ts","../src/hooks/useIsOverflowing.ts","../src/hooks/useTabs.ts","../src/hooks/useId.ts","../src/components/ActionMenu/styled.ts","../src/components/ActionMenu/ActionMenu.tsx","../src/components/Stack/Alignments.ts","../src/components/Stack/Stack.tsx","../src/components/Alerts/Alert/styled.ts","../src/components/Alerts/Alert/constants.ts","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/HelpIcon.tsx","../src/tempIcons/InfoIcon.tsx","../src/tempIcons/SuccessIcon.tsx","../src/components/Alerts/constants.ts","../src/tempIcons/WarningIcon.tsx","../src/tempIcons/RecommendIcon.tsx","../src/components/Alerts/Alert/Alert.tsx","../src/components/Alerts/MiniAlert/constants.ts","../src/components/Alerts/MiniAlert/styled.ts","../src/components/Alerts/MiniAlert/MiniAlert.tsx","../src/components/Anchor/styled.ts","../src/components/Anchor/Anchor.tsx","../src/components/AnimatedDropdown/components/styled.ts","../src/components/AnimatedDropdown/components/BasicDropdown.tsx","../src/components/AnimatedDropdown/styled.ts","../src/components/AnimatedDropdown/AnimatedDropdown.tsx","../src/components/AnimatedDropdown/hooks/useClickAway.ts","../src/components/Avatar/styled.ts","../src/components/Avatar/Avatar.tsx","../src/components/Tooltip/components/styled.ts","../src/components/Tooltip/types.ts","../src/components/Tooltip/components/TooltipPopover.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/Badge/styled.ts","../src/components/Badge/Badge.tsx","../src/components/Banner/styled.ts","../src/components/Banner/Banner.tsx","../src/components/Breadcrumbs/components/styled.ts","../src/tempIcons/RightArrowIcon.tsx","../src/components/Breadcrumbs/components/Breadcrumb.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/Calendars/components/subcomponents/CalendarStyles/buttonStyles.ts","../src/components/Calendars/components/subcomponents/CalendarStyles/calendarCellStyles.ts","../src/components/Calendars/components/subcomponents/CalendarStyles/headerStyles.ts","../src/components/Calendars/components/subcomponents/CalendarStyles/CalendarStyles.ts","../src/components/Calendars/components/RangeCalendar/styled.ts","../src/components/Grid/index.ts","../src/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/styled.ts","../src/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.tsx","../src/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/utils.ts","../src/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.tsx","../src/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/MonthCalendar.tsx","../src/components/Calendars/types.ts","../src/components/Calendars/components/subcomponents/CalendarGrid/CalendarGrid.tsx","../src/components/Calendars/data/constants.ts","../src/components/Calendars/data/useCalendarLevels.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/Calendars/components/subcomponents/CalendarHeading.tsx","../src/components/Calendars/components/subcomponents/utils.ts","../src/components/Calendars/components/subcomponents/CalendarHeader.tsx","../src/components/Calendars/data/useIsDateUnavailable.ts","../src/components/Calendars/components/RangeCalendar/RangeCalendar.tsx","../src/components/Calendars/data/useRangeCalendar.ts","../src/components/Calendars/components/Calendar/styled.ts","../src/components/Calendars/components/Calendar/Calendar.tsx","../src/components/Calendars/data/useCalendar.ts","../src/components/Choice/components/styled.ts","../src/components/Choice/Choice.tsx","../src/components/Checkbox/styled.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/styled.ts","../src/components/Radio/Radio.tsx","../src/components/ChoiceList/styled.ts","../src/components/ChoiceList/ChoiceList.tsx","../src/tempIcons/ClipboardIcon.tsx","../src/components/CopyToClipboard/CopyToClipboard.tsx","../src/hoc/withLabels/styled.ts","../src/hoc/withLabels/withLabels.tsx","../src/hoc/withDeprecated.tsx","../src/components/DateInputField/styled.ts","../src/components/DateInputField/index.ts","../src/components/DateInputField/DateInputField.tsx","../src/tempIcons/CalendarIcon.tsx","../src/components/DatePicker/styled.ts","../src/components/DatePicker/DatePicker.tsx","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/DateRangePicker/components/constants.ts","../src/components/DateRangePicker/components/ComparePreviousPeriod.tsx","../src/components/DateRangePicker/constants.ts","../src/components/DateRangePicker/components/Divider.tsx","../src/components/DateRangePicker/DateRangePicker.tsx","../src/components/DataTable/utils/alignmentToFlex.ts","../src/components/DataTable/utils/parseWidth.ts","../src/components/DataTable/utils/generateTableCss.ts","../src/components/DataTable/utils/sumAll.ts","../src/components/DataTable/types.ts","../src/tempIcons/DoubleArrowIconIcon.tsx","../src/tempIcons/ArrowUpIcon.tsx","../src/tempIcons/ArrowDownIcon.tsx","../src/components/DataTable/utils/GetSortIcon.tsx","../src/components/DataTable/hooks/useCellWidths.ts","../src/components/DataTable/utils/customEventEmitter.ts","../src/components/DataTable/hooks/useColumnWidths.ts","../src/components/DataTable/hooks/useColumns.ts","../src/components/DataTable/hooks/useDragToScroll.ts","../src/components/DataTable/hooks/useNested.ts","../src/components/DataTable/hooks/useScrollPosition.ts","../src/components/DataTable/constants.ts","../src/components/DataTable/components/Header.ts","../src/components/DataTable/components/SelectionHeader.tsx","../src/components/DataTable/components/Cell.ts","../src/components/DataTable/components/SelectionCell.tsx","../src/components/DataTable/hooks/useSelection.tsx","../src/components/DataTable/components/ColumnHeader.tsx","../src/components/DataTable/components/ColumnDivider.tsx","../src/components/DataTable/renderers/renderHeader.tsx","../src/components/DataTable/utils/getNextSortState.ts","../src/components/DataTable/components/LoadingCellContent.ts","../src/components/DataTable/components/ActionBar.tsx","../src/tempIcons/VisibilityIcon.tsx","../src/tempIcons/VisibilityOffIcon.tsx","../src/tempIcons/ReorderIcon.tsx","../src/components/DataTable/components/EmptyBodyContent.ts","../src/components/DataTable/components/NoWrap.ts","../src/components/DataTable/components/Row.ts","../src/components/DataTable/components/ScrollContainer.ts","../src/components/DataTable/components/TableGrid.ts","../src/components/DataTable/components/Truncate.ts","../src/components/DataTable/components/Wrapper.ts","../src/components/DataTable/components/StickyHead.tsx","../src/components/DataTable/utils/getRowState.ts","../src/components/DataTable/DataTable.tsx","../src/components/DataTable/renderers/renderLoadingCell.tsx","../src/components/DataTable/renderers/renderCell.ts","../src/components/DataTable/renderers/renderNestedCell.tsx","../src/components/DataTable/renderers/renderFooter.tsx","../src/components/DataTable/components/ColumnMenu.tsx","../src/components/DescriptionList/DescriptionList.tsx","../src/components/DetailPage/styled.ts","../src/components/DetailPage/DetailPage.tsx","../src/components/InputGroup/index.ts","../src/components/types.ts","../src/components/TextField/styled.ts","../src/components/TextField/TextField.tsx","../src/components/TextField/index.ts","../src/components/DimensionsInput/styled.ts","../src/utils/blockInvalidCharacters.ts","../src/utils/invalidCharactersNumeric.ts","../src/components/DimensionsInput/DimensionsInput.tsx","../src/components/FilterTag/styled.ts","../src/components/FilterTag/FilterTag.tsx","../src/components/Image/components/PlaceholderImage.tsx","../src/components/Image/components/styled.ts","../src/components/Image/utils.ts","../src/components/Image/Image.tsx","../src/components/LegacyDataTable/utils/constants.tsx","../src/tempIcons/FailIcon.tsx","../src/components/LegacyDataTable/styled.ts","../src/components/LegacyDataTable/SpecificState/styled.ts","../src/components/LegacyDataTable/SpecificState/SpecificState.tsx","../src/components/LegacyDataTable/cells/styled.ts","../src/components/LegacyDataTable/cells/ClickableCell.tsx","../src/components/LegacyDataTable/cells/EditableCell.tsx","../src/components/LegacyDataTable/SkeletonContent/SkeletonContent.tsx","../src/components/LegacyDataTable/cells/SkeletonCell.tsx","../src/components/LegacyDataTable/utils/hooks.ts","../src/components/LegacyDataTable/StickyHeader.tsx","../src/components/LegacyDataTable/utils/index.ts","../src/components/LegacyDataTable/cells/SkeletonHeaderCell.tsx","../src/tempIcons/DoubleArrowAscIcon.tsx","../src/tempIcons/DoubleArrowDescIcon.tsx","../src/components/LegacyDataTable/LegacyDataTable.tsx","../src/components/LoginWithAmazonButton/styled.ts","../src/components/LoginWithAmazonButton/LoginWithAmazonButton.tsx","../src/components/Modal/components/styled.ts","../src/components/Modal/types.ts","../src/components/Modal/components/Dialog/constants.ts","../src/components/Modal/components/Dialog/styled.ts","../src/components/Modal/components/Dialog/Dialog.tsx","../src/components/Modal/Modal.tsx","../src/components/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/components/Stepper/styled.ts","../src/components/Stepper/Stepper.tsx","../src/components/PriceInput/styled.ts","../src/components/PriceInput/PriceInput.tsx","../src/components/ScreenReaderOnly/ScreenReaderOnly.tsx","../src/components/Search/styled.ts","../src/tempIcons/SearchIcon.tsx","../src/components/Search/Search.tsx","../src/components/SegmentedControl/styled.ts","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/ShortcutKeys/styled.ts","../src/components/ShortcutKeys/utils.ts","../src/components/ShortcutKeys/ShortcutKeys.tsx","../src/components/SimpleTable/styled.ts","../src/components/SimpleTable/SimpleTable.tsx","../src/components/Skeleton/Skeleton.tsx","../src/components/Slider/styled.ts","../src/components/Slider/Slider.tsx","../src/components/Tag/Tag.ts","../src/components/ToastsLayout/components/styled.ts","../src/components/ToastsLayout/components/Toast.tsx","../src/tempIcons/MergeIcon.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/ToggleButton/styled.ts","../src/components/ToggleButton/ToggleButton.tsx","../src/components/UploadFile/styled.tsx","../src/components/UploadFile/constants.ts","../src/components/UploadFile/UploadGraphic.tsx","../src/components/UploadFile/components/UploadCopy/UploadCopy.tsx","../src/components/UploadFile/components/UploadFileErrors/UploadFileErrors.tsx","../src/components/UploadFile/components/UploadedFile/styled.ts","../src/components/UploadFile/components/UploadedFile/UploadedFile.tsx","../src/components/UploadFile/UploadFile.tsx","../src/components/UploadFile/utils/getFileSizeString/getFileSizeString.ts","../src/components/UploadFile/utils/getValidTypesString/getValidTypesString.ts","../src/components/UploadFile/utils/getTypePropForInputEl/getTypePropForInputEl.ts","../src/components/UploadFile/utils/setInputElFile/setInputElFile.ts","../src/components/VideoModal/components/styled.ts","../src/components/VideoModal/components/Popup.tsx","../src/components/VideoModal/styled.ts","../src/components/VideoModal/VideoModal.tsx","../src/components/View/types.ts","../src/components/View/styled.ts","../src/tempIcons/EditIcon.tsx","../src/components/View/View.tsx","../src/components/ViewTab/types.ts","../src/tempIcons/ThreeDotsIcon.tsx","../src/components/ViewTab/styled.ts","../src/components/ViewTab/ViewTab.tsx","../src/components/ViewsContainer/styled.ts","../src/components/ViewsContainer/hooks/useSetScrollPosition.ts","../src/components/ViewsContainer/utils.ts","../src/components/ViewsContainer/ViewsContainer.tsx","../src/components/WeightInput/styled.ts","../src/components/WeightInput/WeightInput.tsx","../src/components/WeightInput/types.ts","../src/components/Indicator/styled.ts","../src/components/Indicator/Indicator.tsx"],"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 { css } from 'styled-components';\nexport const getTextStyles = (textTheme) => css `font-family:${textTheme.fontFamily};font-style:${textTheme.fontStyle};font-weight:${textTheme.fontWeight};font-size:${textTheme.fontSize};line-height:${textTheme.lineHeight};color:${textTheme.color};text-decoration:${textTheme.textDecoration};letter-spacing:${textTheme.letterSpacing};`;\n//# sourceMappingURL=utils.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 { getTextStyles } from './utils';\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;}}`;\nconst UnstyledAccordionContent = styled(motion(BaseContainer)).withConfig({ displayName: \"vui--UnstyledAccordionContent\", componentId: \"vui--59wczx\" }) ``;\nconst UnstyledAccordionSummary = styled.summary.withConfig({ displayName: \"vui--UnstyledAccordionSummary\", componentId: \"vui--fyolu6\" }) `&:focus{outline:none;box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}`;\nexport { AccordionSummary, Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, UnstyledAccordionContent, UnstyledAccordionSummary, };\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, UnstyledAccordionSummary, UnstyledAccordionContent, } 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, variant = 'default', summaryTextVariant = 'body', }) => {\n const [shouldOpen, setShouldOpen] = useState(!!shouldOpenOnMount);\n const handleOpen = () => setShouldOpen(!shouldOpen);\n const FRAMER_MOTION_CONFIG = {\n initial: { opacity: 0 },\n exit: { opacity: 0 },\n animate: { opacity: 1 },\n transition: { from: 0, type: 'tween', duration: timeout / 1000 },\n };\n if (variant === 'unstyled') {\n return (React.createElement(AccordionDetails, { open: !!shouldOpenOnMount, className: className },\n React.createElement(UnstyledAccordionSummary, { onClick: handleOpen },\n React.createElement(Top, null,\n React.createElement(Left, { glyphColor: glyphColor },\n iconSlot,\n React.createElement(Text, { variant: summaryTextVariant }, 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(UnstyledAccordionContent, Object.assign({}, FRAMER_MOTION_CONFIG), children))));\n }\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: summaryTextVariant }, 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, Object.assign({}, FRAMER_MOTION_CONFIG), children)));\n};\n//# sourceMappingURL=Accordion.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","import React from 'react';\nexport const TailSpin = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 38 38\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-label\": label },\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { x1: \"8.042%\", y1: \"0%\", x2: \"65.682%\", y2: \"23.865%\", id: \"a\" },\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \"0\", offset: \"0%\" }),\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \".631\", offset: \"63.146%\" }),\n React.createElement(\"stop\", { stopColor: color, offset: \"100%\" }))),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"g\", { transform: \"translate(1 1)\" },\n React.createElement(\"path\", { d: \"M36 18c0-9.94-8.06-18-18-18\", id: \"Oval-2\", stroke: color, strokeWidth: \"2\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { fill: \"#fff\", cx: \"36\", cy: \"18\", r: \"1\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" }))))));\n//# sourceMappingURL=TailSpin.js.map","import React from 'react';\nexport const Grid = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 105 105\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"0s\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"100ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"300ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"600ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"800ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"400ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"700ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"500ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"200ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=Grid.js.map","import React from 'react';\nexport const ThreeDots = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 120 30\", xmlns: \"http://www.w3.org/2000/svg\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"15\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"60\", cy: \"15\", r: \"9\", attributeName: \"fillOpacity\", from: \"1\", to: \"0.3\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"9\", to: \"9\", begin: \"0s\", dur: \"0.8s\", values: \"9;15;9\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"0.5\", to: \"0.5\", begin: \"0s\", dur: \"0.8s\", values: \".5;1;.5\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"105\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=ThreeDots.js.map","import React from 'react';\nimport { TailSpin } from './TailSpin';\nimport { Grid } from './Grid';\nimport { ThreeDots } from './ThreeDots';\nexport const Loader = ({ className, height = 24, width = 24, color = '#588CB0', type = 'TailSpin', }) => {\n switch (type) {\n case 'Grid': {\n return React.createElement(Grid, { className: className, height: height, width: width, color: color });\n }\n case 'ThreeDots': {\n return React.createElement(ThreeDots, { className: className, height: height, width: width, color: color });\n }\n case 'TailSpin':\n default: {\n return React.createElement(TailSpin, { className: className, height: height, width: width, color: color });\n }\n }\n};\n//# sourceMappingURL=Loader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const MainContent = styled.span.withConfig({ displayName: \"vui--MainContent\", componentId: \"vui--exbqdz\" }) `display:inline-flex;align-items:center;gap:${({ hasText }) => (hasText ? '8px' : '4px')};${({ $loading }) => ($loading ? 'opacity: 0;' : null)};svg{width:${({ size }) => sizes[size]};height:${({ size }) => sizes[size]};}`;\nconst BaseButton = styled.button.withConfig({ displayName: \"vui--BaseButton\", componentId: \"vui--nvz516\" }) `position:relative;box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;background-color:transparent;white-space:nowrap;${(props) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n if (props.hasIcon) {\n paddingLeft = '16px';\n }\n if (props.hasDropdown) {\n paddingRight = '16px';\n }\n if (props.size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n if (props.hasIcon) {\n paddingLeft = '8px';\n }\n if (props.hasDropdown) {\n paddingRight = '8px';\n }\n }\n if (!props.hasText) {\n paddingLeft = '8px';\n paddingRight = '8px';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n line-height: ${fontSize};\n `;\n}} &:hover{cursor:pointer;}&:disabled{pointer-events:none;cursor:unset !important;}`;\nexport const DefaultButton = styled(BaseButton).withConfig({ displayName: \"vui--DefaultButton\", componentId: \"vui--1xzjfje\" }) `border-color:${theme.colors.neutral.grey.dark};background-color:white;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);color:${({ hasText }) => hasText ? theme.colors.neutral.ink.base : theme.colors.secondary.blue.base};&:hover{background-color:${theme.colors.neutral.grey.lightest};}&:active{background-color:${theme.colors.neutral.grey.lightest};border-color:${theme.colors.secondary.blue.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{box-shadow:none !important;background-color:${theme.colors.neutral.grey.base} !important;border-color:${theme.colors.neutral.grey.base} !important;color:${theme.colors.neutral.ink.light} !important;}`;\nexport const DefaultDestructiveButton = styled(DefaultButton).withConfig({ displayName: \"vui--DefaultDestructiveButton\", componentId: \"vui--1ixaf03\" }) `color:${theme.colors.secondary.red.base};&:hover{color:${theme.colors.secondary.red.dark};}&:active{border-color:${theme.colors.secondary.red.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};color:${theme.colors.secondary.red.dark};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const PrimaryButton = styled(DefaultButton).withConfig({ displayName: \"vui--PrimaryButton\", componentId: \"vui--16w0ufk\" }) `background-color:${theme.colors.secondary.blue.base};border-color:${theme.colors.secondary.blue.base};color:white;&:hover{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};}&:active{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}`;\nexport const PrimaryDestructiveButton = styled(PrimaryButton).withConfig({ displayName: \"vui--PrimaryDestructiveButton\", componentId: \"vui--1w3lv3r\" }) `background-color:${theme.colors.secondary.red.base};border-color:${theme.colors.secondary.red.base};color:white;&:hover{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};}&:active{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const FlatButton = styled(BaseButton).withConfig({ displayName: \"vui--FlatButton\", componentId: \"vui--fqczse\" }) `border-color:transparent;box-shadow:none;color:${theme.colors.neutral.ink.base};&:hover{background-color:${theme.colors.neutral.grey.light};}&:active{background-color:${theme.colors.neutral.grey.light};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{background-color:transparent;border-color:transparent;}`;\nexport const UnstyledButton = styled.button.withConfig({ displayName: \"vui--UnstyledButton\", componentId: \"vui--1fxilc\" }) `appearance:none;border:0;background-color:transparent;padding:0;font:inherit;&:hover{cursor:pointer;}`;\nexport const LinkButton = styled(UnstyledButton).withConfig({ displayName: \"vui--LinkButton\", componentId: \"vui--z932nb\" }) `display:inline-flex;flex-direction:row;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};line-height:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};text-decoration:${theme.text.link.textDecoration};color:${theme.colors.secondary.blue.base};&:hover{color:${theme.colors.secondary.blue.dark};}& > * + *{margin-left:${theme.sizes.xs};}&:focus-visible{outline:0;box-shadow:0 0 0 4px white,0 0 0 8px ${theme.colors.secondary.blue.light};border-radius:4px;}`;\nexport const LoadingWrapper = styled.div.withConfig({ displayName: \"vui--LoadingWrapper\", componentId: \"vui--1qt232p\" }) `position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin-left:0;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const DropdownIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4 6L8 10L12 6H4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DropdownIcon.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Loader } from '../Loader';\nimport { DefaultButton, DefaultDestructiveButton, PrimaryButton, PrimaryDestructiveButton, FlatButton, LinkButton, UnstyledButton, LoadingWrapper, MainContent, } from './components/styled';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nconst variantMap = {\n default: DefaultButton,\n primary: PrimaryButton,\n destructive: DefaultDestructiveButton,\n primaryDestructive: PrimaryDestructiveButton,\n flat: FlatButton,\n link: LinkButton,\n unstyled: UnstyledButton,\n};\nexport const Button = forwardRef((_a, ref) => {\n var { className, children, iconSlot, variant = 'default', size = 'base', dropdown = false, loading = false, contentStyles } = _a, otherProps = __rest(_a, [\"className\", \"children\", \"iconSlot\", \"variant\", \"size\", \"dropdown\", \"loading\", \"contentStyles\"]);\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 = !!iconSlot;\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', style: contentStyles },\n iconSlot && iconSlot,\n children !== undefined && children,\n dropdown && React.createElement(DropdownIcon, null))),\n loading && (React.createElement(LoadingWrapper, null,\n React.createElement(Loader, null)))));\n});\n//# sourceMappingURL=Button.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--oa1a54\" }) `padding-top:${sizes.md};padding-right:${sizes.md};padding-left:${sizes.md};margin-bottom:${sizes.md};& > * + *{margin-top:${sizes.xs};}`;\nexport const HeaderGrid = styled.div.withConfig({ displayName: \"vui--HeaderGrid\", componentId: \"vui--129vg5d\" }) `/*${sizes.base}*/display:flex;justify-content:flex-end;align-items:center;& > *:first-child{flex:1;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const DownArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.0302 5.52997L7.97021 8.5833L4.91021 5.52997L3.97021 6.46997L7.97021 10.47L11.9702 6.46997L11.0302 5.52997Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DownArrowIcon.js.map","import React from 'react';\nexport const CrossIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: 24, width: 24 }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M19 6.51071L17.4893 5L11.5 10.9893L5.51071 5L4 6.51071L9.98929 12.5L4 18.4893L5.51071 20L11.5 14.0107L17.4893 20L19 18.4893L13.0107 12.5L19 6.51071Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CrossIcon.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const CardHeader = ({ id, title, subtitle, headerVariant = 'headingSmall', action, actionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React.createElement(Header, null,\n React.createElement(HeaderGrid, null,\n React.createElement(Text, { id: id, variant: headerVariant }, title),\n action && (React.createElement(Button, { variant: \"link\", onClick: action.onClick }, action.title)),\n actionSlot,\n onClickCollapse && (React.createElement(Button, { variant: \"flat\", iconSlot: isCollapsed ? React.createElement(DownArrowIcon, null) : React.createElement(UpArrowIcon, null), onClick: onClickCollapse })),\n onClickClose && (React.createElement(Button, { variant: \"flat\", iconSlot: 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 { motion } from 'framer-motion';\nimport { theme } from '../../theme';\nimport { Card } from '../Card';\nexport const DropdownContainer = styled(motion(Card.Surface)).withConfig({ displayName: \"vui--DropdownContainer\", componentId: \"vui--1yrw4mw\" }) `display:inline-flex;flex-direction:column;overflow:hidden;background-color:white;box-shadow:1px 4px 15px ${theme.colors.neutral.grey.base};border-radius:${theme.radius.base};padding:${theme.sizes.base};`;\n//# sourceMappingURL=styled.js.map","import { uid } from 'uid/secure';\nexport const generateId = (prefix) => {\n const randomId = uid();\n if (!prefix)\n return randomId;\n return `${prefix}-${randomId}`;\n};\n//# sourceMappingURL=generateId.js.map","import { PureComponent } from 'react';\nimport { createPortal } from 'react-dom';\nimport { generateId } from '../../utils/generateId';\n/**\n * The portal component renders content on the document `body` unless `rootElementRef` is passed.\n */\nexport class Portal extends PureComponent {\n constructor(props) {\n super(props);\n this.id = generateId('portal');\n this.portalNode = null;\n this.state = {\n isMounted: false,\n };\n }\n componentDidMount() {\n const { rootElementRef } = this.props;\n this.portalNode = document.createElement('div');\n this.portalNode.setAttribute('id', `portal-${this.id}`);\n this.portalNode.style.cssText = 'position: absolute; top: 0; left: 0;';\n if (rootElementRef) {\n rootElementRef === null || rootElementRef === void 0 ? void 0 : rootElementRef.appendChild(this.portalNode);\n }\n else {\n document.body.appendChild(this.portalNode);\n }\n this.setState({ isMounted: true });\n }\n componentWillUnmount() {\n if (this.portalNode) {\n const { rootElementRef } = this.props;\n if (rootElementRef) {\n rootElementRef.removeChild(this.portalNode);\n }\n else {\n document.body.removeChild(this.portalNode);\n }\n }\n }\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return this.portalNode && isMounted ? createPortal(children, this.portalNode) : null;\n }\n}\n//# sourceMappingURL=Portal.js.map","import styled from 'styled-components';\nexport const PopoverDialog = styled.dialog.withConfig({ displayName: \"vui--PopoverDialog\", componentId: \"vui--kmoo2l\" }) `z-index:${({ zIndex }) => zIndex + 1};padding:0;margin:0;border:none;background:transparent;`;\nexport const Backdrop = styled.div.withConfig({ displayName: \"vui--Backdrop\", componentId: \"vui--9esryp\" }) `position:fixed;top:0;right:0;bottom:0;left:0;z-index:${({ zIndex }) => zIndex};`;\n//# sourceMappingURL=styled.js.map","export const buildClassnames = (names) => names.filter(Boolean).join(' ');\n//# sourceMappingURL=buildClassnames.js.map","/**\n * A function to convert hex color to rgb.\n */\nexport const hexToRgb = (hex) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const hexTmp = hex.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b);\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexTmp);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n};\n/**\n * A function to get a hex color with opacity, after converting to `rgba`.\n * @param hex color in hex format\n */\nexport const getOpaqueHexColor = (hex, opacity) => {\n const rgb = hexToRgb(hex);\n if (!rgb)\n return hex;\n return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${opacity})`;\n};\n//# sourceMappingURL=color.js.map","export const defaultAllowedHostnames = ['app.veeqo.com'];\n/**\n * Check if a URL/path string is an external link\n * @param {string} urlOrPath - URL or path\n * @param {string[]} allowedHostnames - List of allowed hostnames - default: ['app.veeqo.com']\n\n * @returns {Boolean}\n */\nexport function isExternalLink(urlOrPath, allowedHostnames = defaultAllowedHostnames) {\n // Check if the string starts with 'http://' or 'https://'\n if (urlOrPath.startsWith('http://') || urlOrPath.startsWith('https://')) {\n const { hostname: urlHostname } = new URL(urlOrPath);\n // Compare the hostname to a list of allowed hostnames\n return !allowedHostnames.some((hostname) => urlHostname.toLowerCase() === hostname.toLowerCase());\n }\n // Check if the string starts with '//'\n if (urlOrPath.startsWith('//')) {\n const { hostname } = new URL(`http:${urlOrPath}`);\n // Compare the hostname to a list of allowed hostnames (case-insensitive)\n return !allowedHostnames.some((allowedHostname) => hostname.toLowerCase() === allowedHostname.toLowerCase());\n }\n // It's a partial path, consider it internal\n return false;\n}\n//# sourceMappingURL=isExternalLink.js.map","/* eslint-disable no-console */\n/* eslint-disable consistent-return */\nimport { useEffect } from 'react';\n/**\n * Update the anchor element to sent the required attributes if they haven't already set them.\n *\n * This allows current, inaccesible usages to be improved.\n */\nexport const useUpdateAriaAnchor = ({ anchorElement, popoverId, ignoreAriaWarnings = false, }) => {\n useEffect(() => {\n if (!anchorElement || ignoreAriaWarnings)\n return;\n // Try and set aria-expanded on the anchor.\n try {\n if (!anchorElement.hasAttribute('aria-expanded')) {\n console.warn('Popover - aria-expanded not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-expanded', 'true');\n }\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${true}`);\n }\n // Try and set aria controls, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-controls')) {\n console.warn('Popover - aria-controls not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-controls', popoverId);\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-controls for popover id: ${popoverId}`);\n }\n // Try and set aria-haspopup, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-haspopup')) {\n console.warn('Popover - aria-haspopup not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-haspopup', 'dialog');\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-haspopup for popover id: ${popoverId}`);\n }\n // On unmount set aria-expanded to false\n return () => {\n try {\n anchorElement.setAttribute('aria-expanded', 'false');\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${false}`);\n }\n };\n }, [anchorElement, popoverId, ignoreAriaWarnings]);\n};\n//# sourceMappingURL=useUpdateAriaAnchor.js.map","import { useEffect } from 'react';\nconst TABBABLE_SELECTORS = 'input:not([disabled]), summary:not([disabled]), a[href]:not([disabled]), button:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\nexport const useHandleFocus = ({ popperElement, anchorElement, onClose, disableFocusLock = false, }) => {\n /**\n * Focuses first element, when this gets rendered for the first time.\n */\n useEffect(() => {\n if (!popperElement || disableFocusLock)\n return;\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n if (focusableElements.length < 1)\n return;\n setTimeout(() => {\n focusableElements[0].focus();\n }, 0);\n }, [popperElement, disableFocusLock]);\n /**\n * Sets up tabbing into the popover.\n *\n * When the popover is open (pre-requisite for this being ran), and the user clicks `TAB`\n * then the tab should move **into** the popover, instead of the natural tab order.\n */\n useEffect(() => {\n if (!popperElement || !popperElement)\n return;\n const focusWithinPopper = (event) => {\n if (event.key === 'Tab' && !event.shiftKey) {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n // When nothing is focusable within the popover, close popover and allow natural tab order.\n if (focusableElements.length < 1) {\n onClose();\n return;\n }\n focusableElements[0].focus();\n event.stopPropagation();\n event.preventDefault();\n }\n };\n // When tab occurs on ref focus, if focusable elements in popover focus first.\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.addEventListener('keydown', focusWithinPopper);\n // eslint-disable-next-line consistent-return\n return () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.removeEventListener('keydown', focusWithinPopper);\n }, [anchorElement, popperElement, onClose]);\n /**\n * Creates focus trap within the popover itself. Stopping users tabbing back to outside the\n * popover, or forward past the last scrollable element within.\n */\n const handleFocusTrap = (event) => {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n const firstElement = focusableElements[0];\n const lastElement = focusableElements[focusableElements.length - 1];\n // If shift tabbing (BACK) and on the first element, loop to last element.\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n // If tabbing (FORWARD) and on the last element, loop to first element.\n }\n else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n };\n const handleKeyDown = (event) => {\n if (!popperElement)\n return;\n // Handle escape\n if (event.key === 'Escape') {\n onClose();\n event.stopPropagation(); // Should only close THIS dialog.\n event.preventDefault(); // Shouldn't close any fullscreen dialogs (Modal) it's part of\n // Check we should enforce focus trap.\n }\n else if (!disableFocusLock && event.key === 'Tab') {\n handleFocusTrap(event);\n }\n };\n return {\n handleKeyDown,\n };\n};\n//# sourceMappingURL=useHandleFocus.js.map","import { __rest } from \"tslib\";\n/* eslint-disable consistent-return */\nimport React, { useState, useEffect, useMemo } from 'react';\nimport { usePopper } from 'react-popper';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Portal } from '../Portal';\nimport { theme } from '../../theme';\nimport { PopoverDialog, Backdrop } from './styled';\nimport { generateId } from '../../utils';\nimport { useUpdateAriaAnchor } from './hooks/useUpdateAriaAnchor';\nimport { useHandleFocus } from './hooks/useHandleFocus';\nexport const Popover = (_a) => {\n var { id: passedId, children, zIndex = theme.layers.popup, placement = 'bottom', anchorElement, rootElementRef, onShouldClose, style, disableFocusLock, removeBackdrop = false, useAnchorWidth, ignoreAriaWarnings } = _a, dialogProps = __rest(_a, [\"id\", \"children\", \"zIndex\", \"placement\", \"anchorElement\", \"rootElementRef\", \"onShouldClose\", \"style\", \"disableFocusLock\", \"removeBackdrop\", \"useAnchorWidth\", \"ignoreAriaWarnings\"]);\n // Set up PopperJS\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes, update } = usePopper(anchorElement, popperElement, { placement });\n // Setup popover id to use passed, or generate its' own.\n const id = useMemo(() => passedId || generateId('popover'), [passedId]);\n // Check and update aria for anchor, only works once this has rendered for the first time though.\n useUpdateAriaAnchor({ anchorElement, popoverId: id, ignoreAriaWarnings });\n const onClose = () => {\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus();\n onShouldClose === null || onShouldClose === void 0 ? void 0 : onShouldClose();\n };\n const { handleKeyDown } = useHandleFocus({\n popperElement,\n anchorElement,\n onClose,\n disableFocusLock,\n });\n /**\n * When content size is changed, force popper update\n */\n useEffect(() => {\n if (!update || !popperElement)\n return;\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(popperElement);\n return () => resizeObserver.disconnect();\n }, [update, popperElement]);\n /**\n * When window is resized, force popper update\n */\n useEffect(() => {\n if (!update)\n return;\n window.addEventListener('resize', update);\n return () => window.removeEventListener('resize', update);\n }, [update]);\n return (React.createElement(Portal, { rootElementRef: rootElementRef },\n !removeBackdrop && (React.createElement(Backdrop, { onClick: onClose, zIndex: zIndex, \"data-testid\": \"popover-backdrop\" })),\n React.createElement(PopoverDialog, Object.assign({ open: true, id: id, zIndex: zIndex, ref: setPopperElement, style: Object.assign(Object.assign(Object.assign({}, styles.popper), style), (useAnchorWidth ? { minWidth: anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.clientWidth } : {})), onKeyDown: handleKeyDown }, attributes.popper, dialogProps), children)));\n};\n//# sourceMappingURL=Popover.js.map","import { __rest } from \"tslib\";\nimport React, { useEffect } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { DropdownContainer } from './styled';\nimport { Popover } from '../Popover';\nexport const DropdownPopover = (_a) => {\n var { id, children, className, style, reversed, anchorElement, useAnchorWidth, onShouldClose } = _a, popoverProps = __rest(_a, [\"id\", \"children\", \"className\", \"style\", \"reversed\", \"anchorElement\", \"useAnchorWidth\", \"onShouldClose\"]);\n useEffect(() => () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus(), [anchorElement]); // Re-focus anchor when closed.\n return (React.createElement(Popover, Object.assign({ id: id, \"data-testid\": id, anchorElement: anchorElement, onShouldClose: onShouldClose, useAnchorWidth: useAnchorWidth, placement: \"bottom-start\" }, popoverProps),\n React.createElement(AnimatePresence, null,\n React.createElement(DropdownContainer, { className: className, style: style, useAnchorWidth: useAnchorWidth, reversed: reversed, initial: { opacity: 0, y: -6 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -6 }, transition: { duration: 0.2 } }, children))));\n};\n//# sourceMappingURL=DropdownPopover.js.map","import { __rest } from \"tslib\";\nimport React, { useRef } from 'react';\nimport { Button } from '../Button';\nimport { DropdownPopover } from './DropdownPopover';\nexport const Dropdown = (_a) => {\n var { id, shouldShow, setShouldShow, ctaIconSlot, ctaProps } = _a, dropdownProps = __rest(_a, [\"id\", \"shouldShow\", \"setShouldShow\", \"ctaIconSlot\", \"ctaProps\"]);\n const anchorRef = useRef(null);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, Object.assign({ ref: anchorRef, \"aria-haspopup\": \"dialog\", \"aria-expanded\": shouldShow, \"aria-controls\": id, onClick: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(!shouldShow), iconSlot: ctaIconSlot, dropdown: true }, ctaProps)),\n shouldShow && (React.createElement(DropdownPopover, Object.assign({ id: id, anchorElement: anchorRef.current, onShouldClose: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(false) }, dropdownProps)))));\n};\n//# sourceMappingURL=Dropdown.js.map","import { useCallback, useEffect, useRef } from 'react';\n/**\n * Close a menu or modal by clicking out of it\n */\nexport const useClickOutside = (isOpen, onClose) => {\n const ref = useRef(null);\n const escapeListener = useCallback((e) => {\n if (e.key === 'Escape') {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n const clickListener = useCallback((e) => {\n if (!ref.current.contains(e.target)) {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', clickListener);\n document.addEventListener('keyup', escapeListener);\n return () => {\n document.removeEventListener('click', clickListener);\n document.removeEventListener('keyup', escapeListener);\n };\n }\n return undefined;\n }, [clickListener, escapeListener, isOpen]);\n return ref;\n};\n//# sourceMappingURL=useClickOutside.js.map","import { useState, useEffect } from 'react';\nexport const useDebounce = (value, timeout) => {\n const [state, setState] = useState(value);\n useEffect(() => {\n // Set timeout to run after delay\n const handler = setTimeout(() => setState(value), timeout);\n // clear the setTimeout listener on unMount\n return () => clearTimeout(handler);\n }, [value, timeout]);\n return state;\n};\n//# sourceMappingURL=useDebounce.js.map","import { useState, useCallback } from 'react';\nexport const useDropdown = ({ anchorElement } = {}) => {\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const toggleShouldShowDropdown = useCallback(() => setShouldShowDropdown(!shouldShowDropdown), [shouldShowDropdown, setShouldShowDropdown]);\n const closeDropdown = useCallback(() => {\n setShouldShowDropdown(false);\n // Refocus anchor element after closing dropdown.\n setTimeout(() => {\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus();\n }, 0);\n }, [setShouldShowDropdown, anchorElement]);\n return {\n shouldShowDropdown,\n toggleShouldShowDropdown,\n setShouldShowDropdown,\n closeDropdown,\n };\n};\n//# sourceMappingURL=useDropdown.js.map","import React, { useEffect, useState } from 'react';\n// A React hook based on: https://github.com/WICG/focus-visible\nexport const FocusVisibleContext = React.createContext({\n hadKeyboardEvent: true,\n isInitialized: false,\n});\nexport function FocusVisibleManager({ children }) {\n const [hadKeyboardEvent, setHadKeyboardEvent] = useState(true);\n useEffect(() => {\n function onPointerDown() {\n setHadKeyboardEvent(false);\n }\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on <html> whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n setHadKeyboardEvent(false);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n removeInitialPointerMoveListeners();\n }\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n setHadKeyboardEvent(true);\n }\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange() {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n setHadKeyboardEvent(true);\n addInitialPointerMoveListeners();\n }\n }\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n return () => {\n document.removeEventListener('keydown', onKeyDown, true);\n document.removeEventListener('mousedown', onPointerDown, true);\n document.removeEventListener('pointerdown', onPointerDown, true);\n document.removeEventListener('touchstart', onPointerDown, true);\n document.removeEventListener('visibilitychange', onVisibilityChange, true);\n removeInitialPointerMoveListeners();\n };\n }, [setHadKeyboardEvent]);\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n React.createElement(FocusVisibleContext.Provider, { value: { hadKeyboardEvent, isInitialized: true } }, children));\n}\nexport function useFocusVisible() {\n const [isFocused, setIsFocused] = React.useState(false);\n const { hadKeyboardEvent, isInitialized } = React.useContext(FocusVisibleContext);\n const onFocus = React.useCallback(() => {\n if (!isFocused)\n setIsFocused(true);\n }, [isFocused]);\n const onBlur = React.useCallback(() => {\n if (isFocused)\n setIsFocused(false);\n }, [isFocused]);\n let focusVisible;\n if (isInitialized) {\n focusVisible = hadKeyboardEvent && isFocused;\n }\n else {\n // Fallback to focused when the `FocusVisibleManager` is not used.\n focusVisible = isFocused;\n }\n return React.useMemo(() => ({\n focusVisible,\n onFocus,\n onBlur,\n }), [focusVisible, onBlur, onFocus]);\n}\n//# sourceMappingURL=useFocusVisible.js.map","import { useState, useCallback } from 'react';\nexport const useHover = (initialState = false) => {\n const [isHovered, setIsHovered] = useState(initialState);\n const handleEnter = useCallback(() => setIsHovered(true), [setIsHovered]);\n const handleLeave = useCallback(() => setIsHovered(false), [setIsHovered]);\n return [isHovered, handleEnter, handleLeave];\n};\n//# sourceMappingURL=useHover.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to check if a component's contents are overflowing from its boundaries\n * (scrollbar is visible).\n */\nexport const useIsOverflowing = (ref) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [isAtBottom, setIsAtBottom] = useState(false);\n useEffect(() => {\n if (!ref)\n return;\n const resizeObserver = new ResizeObserver(() => {\n const hasOverflow = ref.scrollHeight > ref.clientHeight;\n setIsOverflowing(hasOverflow);\n });\n resizeObserver.observe(ref);\n // eslint-disable-next-line consistent-return\n return () => { resizeObserver.disconnect(); };\n }, [ref]);\n const onScroll = (event) => {\n if (!ref)\n return;\n const { scrollTop, scrollHeight, clientHeight } = event.target;\n setIsAtBottom(scrollHeight - scrollTop - clientHeight <= 0);\n };\n return { isOverflowing: isOverflowing && !isAtBottom, onScroll };\n};\n//# sourceMappingURL=useIsOverflowing.js.map","import { useState } from 'react';\nexport const useTabs = (tabs, config) => {\n const { defaultActiveIndex = 0 } = config || {};\n const [listOfTabs] = useState(tabs);\n const [active, setActive] = useState(listOfTabs[defaultActiveIndex]);\n return [\n active,\n (key) => {\n const newActiveTab = listOfTabs.find((tab) => tab.key === key);\n if (newActiveTab) {\n setActive(newActiveTab);\n }\n },\n ];\n};\n//# sourceMappingURL=useTabs.js.map","import { useMemo } from 'react';\nimport { generateId } from '../utils';\nexport const useId = ({ id, prefix }) => useMemo(() => id || generateId(prefix), [id, prefix]);\n//# sourceMappingURL=useId.js.map","import { MenuItem as AriaMenuItem, Section as AriaSection } from 'react-aria-components';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { getTextStyles } from '../../theme/utils';\nexport const MenuItem = styled(AriaMenuItem).withConfig({ displayName: \"vui--MenuItem\", componentId: \"vui--1vhrzmz\" }) `display:grid;grid-template-areas:'label''description';cursor:pointer;margin:${theme.sizes.xs};padding:${theme.sizes.sm};border-radius:${theme.radius.base};outline:0;&:is(a){${getTextStyles(theme.text.link)}}&:is(div){${getTextStyles(theme.text.body)}}white-space:nowrap;&[data-focused]{color:${theme.colors.secondary.blue.base};box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}&[data-hovered]{background-color:${theme.colors.neutral.grey.light};}&[data-disabled]{cursor:not-allowed;background-color:${theme.colors.neutral.grey.lightest};color:${theme.colors.neutral.ink.light};}[slot='label']{grid-area:label;}[slot='description']{grid-area:description;color:${theme.colors.neutral.ink.light};font-size:12px;}`;\nexport const Section = styled(AriaSection).withConfig({ displayName: \"vui--Section\", componentId: \"vui--1lpesff\" }) `&:not(:first-child){margin-top:0.5rem;border-top:1px solid ${theme.colors.neutral.grey.base};padding-top:0.5rem;}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { Menu, Text } from 'react-aria-components';\nimport { Dropdown } from '../Dropdown';\nimport { useId } from '../../hooks';\nimport { MenuItem, Section } from './styled';\nexport const ActionMenu = ({ id, menuLabel, ctaProps, actions, children }) => {\n var _a;\n const [shouldShow, setShouldShow] = useState(false);\n const idComputed = useId({ id, prefix: 'action-menu' });\n const onKeyDown = (e) => {\n if (e.code === 'Escape' || e.code === 'Tab')\n setShouldShow(false);\n e.preventDefault();\n };\n return (React.createElement(Dropdown, { id: idComputed, style: { padding: '0' }, shouldShow: shouldShow, setShouldShow: setShouldShow, ctaProps: Object.assign({ size: 'sm' }, ctaProps), useAnchorWidth: true, onKeyDown: onKeyDown },\n React.createElement(Menu, { onClose: () => setShouldShow(false), \"aria-label\": menuLabel || ((_a = ctaProps.children) === null || _a === void 0 ? void 0 : _a.toString()) }, actions === null || actions === void 0 ? void 0 :\n actions.map((action) => {\n var _a;\n return (React.createElement(MenuItem, Object.assign({}, action, { key: action.id || ((_a = action.children) === null || _a === void 0 ? void 0 : _a.toString()) })));\n }),\n children)));\n};\nActionMenu.Item = MenuItem;\nActionMenu.Section = Section;\nActionMenu.Text = Text;\n//# sourceMappingURL=ActionMenu.js.map","export var Alignments;\n(function (Alignments) {\n Alignments[\"start\"] = \"flex-start\";\n Alignments[\"center\"] = \"center\";\n Alignments[\"end\"] = \"flex-end\";\n Alignments[\"stretch\"] = \"stretch\";\n Alignments[\"between\"] = \"space-between\";\n Alignments[\"around\"] = \"space-around\";\n})(Alignments || (Alignments = {}));\n//# sourceMappingURL=Alignments.js.map","import styled from 'styled-components';\nimport { Alignments } from './Alignments';\nimport { theme } from '../../theme';\n/**\n * Layout component.\n */\nexport const Stack = styled.div.withConfig({ displayName: \"vui--Stack\", componentId: \"vui--1mxdupo\" }) `display:flex;${(props) => {\n const { direction = 'vertical', alignX = 'start', alignY = 'start', spacing = 'base' } = props;\n let alignItems;\n let justifyContent;\n let flexDirection;\n let itemFlex;\n let marginTop = '';\n let marginLeft = '';\n if (direction === 'vertical') {\n alignItems = alignX && Alignments[alignX];\n justifyContent = alignY && Alignments[alignY];\n marginTop = theme.sizes[spacing];\n flexDirection = 'column';\n }\n else {\n alignItems = alignY && Alignments[alignY];\n justifyContent = alignX && Alignments[alignX];\n marginLeft = theme.sizes[spacing];\n flexDirection = 'row';\n }\n // These options result in 'justify-content: stretch' which doesn't exist,\n // so instead we set the flex of child elements\n if ((direction === 'vertical' && alignY === 'stretch') ||\n (direction === 'horizontal' && alignX === 'stretch')) {\n itemFlex = 1;\n }\n return `\n align-items: ${alignItems};\n justify-content: ${justifyContent};\n flex-direction: ${flexDirection};\n\n & > * {\n flex: ${itemFlex};\n }\n\n & > * + * {\n margin-top: ${marginTop};\n margin-left: ${marginLeft};\n }\n `;\n}}`;\nStack.displayName = 'Stack';\n//# sourceMappingURL=Stack.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nexport const AlertContainer = styled(Stack).attrs({\n direction: 'horizontal',\n alignX: 'between',\n alignY: 'top',\n spacing: 0,\n}).withConfig({ displayName: \"vui--AlertContainer\", componentId: \"vui--yb86nz\" }) `border:1px solid ${({ colours: { primary } }) => primary};border-radius:${theme.radius.base};background-color:${({ colours: { background } }) => background};`;\n//# sourceMappingURL=styled.js.map","import { theme } from '../../../theme';\nexport const SpacingMap = {\n base: theme.sizes.base,\n sm: theme.sizes[3],\n xs: theme.sizes.sm,\n};\nexport const IconSizeMap = {\n base: theme.sizes.md,\n sm: theme.sizes[5],\n xs: theme.sizes[5],\n};\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const AttentionIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 15H13V17H11V15ZM11 7H13V13H11V7ZM11.99 2C6.47 2 2 6.48 2 12C2 17.52 6.47 22 11.99 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 11.99 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=AttentionIcon.js.map","import React from 'react';\nexport const HelpIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 18H13V16H11V18ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 12 11 11.75 11 15H13C13 12.75 16 12.5 16 10C16 7.79 14.21 6 12 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=HelpIcon.js.map","import React from 'react';\nexport const InfoIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M2 12C2 6.48 6.48 2 12 2C17.52 2 22 6.48 22 12C22 17.52 17.52 22 12 22C6.48 22 2 17.52 2 12ZM4 12C4 16.41 7.59 20 12 20C16.41 20 20 16.41 20 12C20 7.59 16.41 4 12 4C7.59 4 4 7.59 4 12Z\", fill: \"currentColor\" }),\n React.createElement(\"circle\", { cx: \"12\", cy: \"7\", r: \"1\", fill: \"currentColor\" }),\n React.createElement(\"path\", { d: \"M10 16H11V11H10V10H13V16H14V17H10V16Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=InfoIcon.js.map","import React from 'react';\nexport const SuccessIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM14.7708 8L10.0856 13.2468L8.22925 11.1679L7 12.5445L10.0856 16L16 9.37661L14.7708 8ZM20.1818 12C20.1818 16.5187 16.5187 20.1818 12 20.1818C7.48131 20.1818 3.81818 16.5187 3.81818 12C3.81818 7.48131 7.48131 3.81818 12 3.81818C16.5187 3.81818 20.1818 7.48131 20.1818 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SuccessIcon.js.map","import { theme } from 'Theme';\nimport { AttentionIcon } from '../../tempIcons/AttentionIcon';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nimport { RecommendIcon } from '../../tempIcons/RecommendIcon';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { WarningIcon } from '../../tempIcons/WarningIcon';\nexport const IconMap = {\n default: InfoIcon,\n error: AttentionIcon,\n success: SuccessIcon,\n info: HelpIcon,\n warning: WarningIcon,\n recommend: RecommendIcon,\n};\nexport const ColourMap = {\n default: {\n primary: theme.colors.neutral.ink.base,\n background: theme.colors.neutral.grey.lightest,\n },\n error: {\n primary: theme.colors.secondary.red.base,\n background: theme.colors.secondary.red.lightest,\n },\n success: {\n primary: theme.colors.secondary.green.base,\n background: theme.colors.secondary.green.lightest,\n },\n info: {\n primary: theme.colors.secondary.blue.base,\n background: theme.colors.secondary.blue.lightest,\n },\n warning: {\n primary: theme.colors.secondary.orange.base,\n background: theme.colors.secondary.orange.lightest,\n },\n recommend: {\n primary: theme.colors.secondary.purple.dark,\n background: theme.colors.secondary.purple.lightest,\n },\n};\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const WarningIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"currentColor\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\", fill: \"none\" }),\n React.createElement(\"path\", { d: \"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\" })));\n//# sourceMappingURL=WarningIcon.js.map","import React from 'react';\nexport const RecommendIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 22 22\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M18 8L19.25 5.25L22 4L19.25 2.75L18 0L16.75 2.75L14 4L16.75 5.25L18 8Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M18 14L16.75 16.75L14 18L16.75 19.25L18 22L19.25 19.25L22 18L19.25 16.75L18 14Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M10.5 8.5L8 3L5.5 8.5L0 11L5.5 13.5L8 19L10.5 13.5L16 11L10.5 8.5ZM8.99 11.99L8 14.17L7.01 11.99L4.83 11L7.01 10.01L8 7.83L8.99 10.01L11.17 11L8.99 11.99Z\", fill: \"#694090\" })));\n//# sourceMappingURL=RecommendIcon.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { AlertContainer } from './styled';\nimport { IconSizeMap, SpacingMap } from './constants';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { Stack } from '../../Stack';\nimport { Button } from '../../Button';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nimport { ColourMap, IconMap } from '../constants';\nexport const Alert = (_a) => {\n var { size = 'base', variant = 'default', colours: passedColours, rightActions, rightActionsSlot, title, titleSlot, messageSlot, message, children, iconSlot, onClickClose } = _a, divProps = __rest(_a, [\"size\", \"variant\", \"colours\", \"rightActions\", \"rightActionsSlot\", \"title\", \"titleSlot\", \"messageSlot\", \"message\", \"children\", \"iconSlot\", \"onClickClose\"]);\n const colours = passedColours !== null && passedColours !== void 0 ? passedColours : ColourMap[variant];\n const IconSlot = iconSlot || IconMap[variant];\n const isXsSize = size === 'xs';\n return (React.createElement(AlertContainer, Object.assign({ colours: colours, direction: \"horizontal\", alignX: \"between\", spacing: \"0\" }, divProps),\n React.createElement(Stack, { direction: \"horizontal\", alignY: isXsSize ? 'center' : 'start', style: { margin: SpacingMap[size], gap: SpacingMap[size] }, spacing: 0 },\n React.createElement(IconSlot, { \"aria-hidden\": true, style: {\n minWidth: IconSizeMap[size],\n minHeight: IconSizeMap[size],\n width: IconSizeMap[size],\n height: IconSizeMap[size],\n }, color: colours.primary }),\n children || (React.createElement(Stack, { direction: \"vertical\", spacing: isXsSize ? 0 : 'xs' },\n titleSlot || (React.createElement(Text, { variant: isXsSize ? 'bodySmallBold' : 'bodyBold', style: size === 'base' ? { lineHeight: '24px' } : {} }, title)),\n messageSlot || React.createElement(Text, { variant: isXsSize ? 'bodySmall' : 'body' }, message)))),\n React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", spacing: 0, style: {\n margin: isXsSize ? undefined : theme.sizes[3],\n gap: isXsSize ? undefined : SpacingMap[size],\n alignItems: 'center',\n } },\n rightActionsSlot,\n rightActions && (React.createElement(Stack, { alignY: \"center\", spacing: 0, style: { gap: SpacingMap[size] } }, rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\", size: \"sm\" }, actionProps), label));\n }))),\n onClickClose && (React.createElement(Stack, { alignY: isXsSize ? 'center' : 'start', style: { height: '100%', padding: isXsSize ? theme.sizes.xs : undefined } },\n React.createElement(Button, { variant: \"flat\", iconSlot: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\", size: \"sm\" }))))));\n};\n//# sourceMappingURL=Alert.js.map","import { theme } from 'Theme';\nexport const TextColourMap = {\n default: theme.colors.neutral.ink.dark,\n error: theme.colors.secondary.red.darkest,\n success: theme.colors.neutral.ink.dark,\n info: theme.colors.neutral.ink.dark,\n warning: theme.colors.neutral.ink.dark,\n recommend: theme.colors.neutral.ink.dark,\n};\nexport const IconStyles = {\n minWidth: theme.sizes[4],\n minHeight: theme.sizes[4],\n width: theme.sizes[4],\n height: theme.sizes[4],\n};\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from 'Theme';\nexport const MiniAlertContainer = styled.div.withConfig({ displayName: \"vui--MiniAlertContainer\", componentId: \"vui--1n2xu5o\" }) `display:flex;gap:${theme.sizes.xs};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { ColourMap, IconMap } from '../constants';\nimport { Text } from '../../Text';\nimport { IconStyles, TextColourMap } from './constants';\nimport { MiniAlertContainer } from './styled';\nexport const MiniAlert = ({ title, variant = 'default', iconSlot, customTitleColour, customIconColour, }) => {\n const IconSlot = iconSlot || IconMap[variant];\n const iconColour = customIconColour !== null && customIconColour !== void 0 ? customIconColour : ColourMap[variant].primary;\n const titleColour = customTitleColour !== null && customTitleColour !== void 0 ? customTitleColour : TextColourMap[variant];\n return (React.createElement(MiniAlertContainer, null,\n React.createElement(IconSlot, { \"aria-hidden\": true, color: iconColour, style: IconStyles }),\n React.createElement(Text, { variant: \"bodySmallBold\", style: { color: titleColour } }, title)));\n};\n//# sourceMappingURL=MiniAlert.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const CommonAnchor = styled.a.withConfig({ displayName: \"vui--CommonAnchor\", componentId: \"vui--14i39s8\" }) `box-sizing:border-box;display:inline-flex;margin:0;padding:0;font-family:${theme.text.link.fontFamily};font-style:${theme.text.link.fontStyle};font-weight:${theme.text.link.fontWeight};font-size:${theme.text.link.fontSize};line-height:${theme.text.link.lineHeight};color:${theme.colors.secondary.blue.base};text-decoration:${theme.text.link.textDecoration};&:hover{color:${theme.colors.secondary.blue.dark};}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { CommonAnchor } from './styled';\nimport { defaultAllowedHostnames, isExternalLink } from '../../utils/isExternalLink';\nexport const Anchor = (_a) => {\n var { children, href, rel, allowedHostnames = defaultAllowedHostnames } = _a, props = __rest(_a, [\"children\", \"href\", \"rel\", \"allowedHostnames\"]);\n // Determine if the link is external based on the allowed hostnames\n const isExternal = isExternalLink(href, allowedHostnames);\n // Set default rel property for external links\n const setDefaultRelValue = rel || (isExternal ? 'noopener noreferrer' : undefined);\n return (React.createElement(CommonAnchor, Object.assign({ href: href, rel: setDefaultRelValue }, props), children));\n};\n//# sourceMappingURL=Anchor.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../../BaseContainer/BaseContainer';\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--r1m0qe\" }) `display:inline-flex;background-color:#ffffff;box-shadow:1px 4px 15px rgba(27, 33, 38, 0.25);border-radius:4px;overflow:hidden;`;\n//# sourceMappingURL=styled.js.map","import React, { forwardRef } from 'react';\nimport { Container } from './styled';\nexport const BasicDropdown = forwardRef((props, ref) => {\n const { children, className, role } = props;\n return (React.createElement(Container, { className: className, ref: ref, role: role }, children));\n});\n//# sourceMappingURL=BasicDropdown.js.map","import styled from 'styled-components';\nimport { BasicDropdown } from './components/BasicDropdown';\nimport { BaseContainer as BasicContainer } from '../BaseContainer/BaseContainer';\nimport { theme } from '../../theme';\nconst Container = styled(BasicContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--q4276w\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;`;\nconst Wrap = styled(BasicContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--cfebb1\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-width:100%;`;\nconst Dropdown = styled(BasicDropdown).withConfig({ displayName: \"vui--Dropdown\", componentId: \"vui--u4w0zl\" }) `flex-direction:column;position:absolute;z-index:${theme.layers.popup};${(props) => (props.reversed ? 'bottom: 8px;' : 'top: 6px;')} &.dropdown-enter{opacity:0;transform:translateY(-6px);}&.dropdown-enter-active{opacity:1;transition:all 200ms;transform:translateY(0px);}&.dropdown-exit{opacity:1;transform:translateY(0px);}&.dropdown-exit-active{opacity:0;transition:all 200ms;transform:translateY(-6px);}`;\nexport { Wrap, Dropdown, Container };\n//# sourceMappingURL=styled.js.map","import React, { useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { Wrap, Dropdown, Container } from './styled';\nimport { useClickAway } from './hooks/useClickAway';\nexport const AnimatedDropdown = ({ cta, shouldShowDropdown, children, className = 'animated-dropdown', reversed = false, onClickAway = () => { }, timeout = 350, transitionClassnames = 'dropdown', onClick, onMouseEnter, onMouseLeave, }) => {\n const dropdownRef = useRef(null);\n useClickAway(dropdownRef, (event) => {\n if (shouldShowDropdown) {\n onClickAway(event);\n }\n });\n return (React.createElement(Container, { className: `${className}-container ${className}`, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, ref: dropdownRef },\n !reversed && cta,\n React.createElement(Wrap, { className: `${className}-wrap ${className}` },\n React.createElement(CSSTransition, { in: shouldShowDropdown, timeout: timeout, classNames: transitionClassnames, unmountOnExit: true },\n React.createElement(Dropdown, { role: \"dialog\", reversed: reversed, className: `${className}-basic-dropdown ${className}` }, children))),\n reversed && cta));\n};\n//# sourceMappingURL=AnimatedDropdown.js.map","import { useEffect } from 'react';\nexport const useClickAway = (ref, onClickAway) => {\n useEffect(() => {\n const handleClickAway = (event) => {\n if (ref.current && !ref.current.contains(event.target)) {\n onClickAway(event);\n }\n };\n document.addEventListener('mousedown', handleClickAway);\n return () => {\n document.removeEventListener('mousedown', handleClickAway);\n };\n }, [ref, onClickAway]);\n};\n//# sourceMappingURL=useClickAway.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const AvatarSC = styled.div.withConfig({ displayName: \"vui--AvatarSC\", componentId: \"vui--1gxc5tv\" }) `width:${(props) => props.width};height:${(props) => props.width};border:3px solid ${theme.colors.neutral.grey.base};color:${(props) => props.textColor};background-color:${(props) => props.bgColor};cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center;background-size:cover;span{font-family:${theme.text.bodySmallBold.fontFamily};font-weight:${theme.text.bodySmallBold.fontWeight};font-size:${theme.text.bodySmallBold.fontSize};line-height:${theme.text.bodySmallBold.lineHeight};}`;\n//# sourceMappingURL=styled.js.map","/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { AvatarSC } from './styled';\nexport const Avatar = ({ width = '40px', name = 'Veeqo', bgColor = theme.colors.secondary.blue.base, textColor = '#ffffff', }) => {\n const userInitials = name.toUpperCase().match(/\\b(\\w)/g);\n return (React.createElement(AvatarSC, { width: width, bgColor: bgColor, textColor: textColor, className: \"avatar\" }, userInitials === null || userInitials === void 0 ? void 0 : userInitials.slice(0, 2).map((initial, i) => React.createElement(\"span\", { key: `${initial}-${i}` }, initial))));\n};\n//# sourceMappingURL=Avatar.js.map","import styled from 'styled-components';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1exlfc5\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--up3fpq\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--gpqzg1\" }) `color:${theme.colors.neutral.grey.lightest};white-space:pre-line;overflow-wrap:break-word;display:inline;`;\nconst Triangle = styled.div.withConfig({ displayName: \"vui--Triangle\", componentId: \"vui--1f7lcs5\" }) `background-color:#333;height:16px;width:16px;position:absolute;transform:rotate(45deg);z-index:12;`;\nconst Tip = styled.div.withConfig({ displayName: \"vui--Tip\", componentId: \"vui--143ip1u\" }) `transition:${({ duration }) => `opacity ${duration}ms`};&.tip-enter{opacity:0;}&.tip-enter-active{opacity:1;}&[data-popper-placement^='top-start'] > #veeqo-components-triangle{left:8px;bottom:0px;}&[data-popper-placement^='top-end'] > #veeqo-components-triangle{right:8px;bottom:0px;}&[data-popper-placement^='bottom-start'] > #veeqo-components-triangle{left:8px;top:-4px;}&[data-popper-placement^='bottom-end'] > #veeqo-components-triangle{right:8px;top:-4px;}`;\nconst Wrap = styled(Container).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--e33d0s\" }) `font-size:14px;overflow:hidden;padding:16px 20px;border-radius:4px;box-shadow:0 6px 1em -0.5em rgba(0, 0, 0, 0.35);background:#333;color:#fff;z-index:10;min-width:${({ tipMinWidth }) => tipMinWidth}px;max-width:${({ tipMaxWidth }) => tipMaxWidth}px;`;\nexport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle };\n//# sourceMappingURL=styled.js.map","export var Sides;\n(function (Sides) {\n Sides[\"BOTTOM\"] = \"bottom\";\n Sides[\"TOP\"] = \"top\";\n})(Sides || (Sides = {}));\n//# sourceMappingURL=types.js.map","import React, { useState } from 'react';\nimport { usePopper } from 'react-popper';\nimport { Tip, TooltipText, Triangle, Wrap } from './styled';\nimport { Sides } from '../types';\nimport { theme } from '../../../theme';\nconst defaultConfig = {\n duration: 400,\n side: Sides.TOP,\n triangleOffset: 8,\n tipMinWidth: 60,\n tipMaxWidth: 340,\n};\nexport const TooltipPopover = ({ content, text, hoverableElement, config, reversed, withTriangle, classNames, }) => {\n const [popperElement, setPopperElement] = useState(null);\n const usedConfig = Object.assign(Object.assign({}, defaultConfig), config);\n const { duration, side, triangleOffset, tipMinWidth, tipMaxWidth } = usedConfig;\n const { styles, attributes } = usePopper(hoverableElement, popperElement, {\n placement: `${side}-${reversed ? 'end' : 'start'}`,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 10],\n },\n },\n ],\n });\n const tooltipStyles = Object.assign(Object.assign({}, styles.popper), { zIndex: theme.layers.tooltip });\n return (React.createElement(Tip, Object.assign({ className: classNames.tip, ref: setPopperElement, duration: duration, triangleOffsetSize: triangleOffset, style: tooltipStyles }, attributes.popper, { role: \"tooltip\" }),\n React.createElement(Wrap, { className: classNames.wrap, tipMinWidth: tipMinWidth, tipMaxWidth: tipMaxWidth }, content !== null && content !== void 0 ? content : React.createElement(TooltipText, null, text)),\n withTriangle && React.createElement(Triangle, { id: \"veeqo-components-triangle\", className: classNames.triangle })));\n};\n//# sourceMappingURL=TooltipPopover.js.map","import React, { useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Container, Hoverable } from './components/styled';\nimport { TooltipPopover } from './components/TooltipPopover';\nexport const Tooltip = ({ children, text, content, config, reversed = false, className, withTriangle, initialShouldShow = false, useReactPortal = true, }) => {\n const [shouldShow, setShouldShow] = useState(initialShouldShow);\n const [hoverableElement, setHoverableElement] = useState(null);\n const hasText = text ? text.trim().length > 0 : false;\n const classNames = {\n container: className && `${className} ${className}-container`,\n tip: className && `${className}-tip`,\n wrap: className && `${className}-wrap`,\n triangle: className && `${className}-triangle`,\n hoverable: className && `${className}-hoverable`,\n };\n const hasContent = !!(content || hasText);\n if (!hasContent)\n return children;\n const show = () => setShouldShow(true);\n const hide = () => setShouldShow(false);\n const tooltipMarkup = shouldShow && hasContent && (React.createElement(TooltipPopover, { classNames: classNames, hoverableElement: hoverableElement, config: config, reversed: reversed, withTriangle: withTriangle, text: text, content: content }));\n return (React.createElement(Container, { className: classNames.container },\n useReactPortal ? ReactDOM.createPortal(tooltipMarkup, document.body) : tooltipMarkup,\n React.createElement(Hoverable, { ref: setHoverableElement, className: classNames.hoverable, onMouseEnter: show, onMouseLeave: hide }, children)));\n};\n//# sourceMappingURL=Tooltip.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nconst BaseBadge = styled(BaseContainer).withConfig({ displayName: \"vui--BaseBadge\", componentId: \"vui--1l3fzu\" }) `display:inline-flex;align-items:center;vertical-align:middle;gap:4px;padding:0.35em 0.65em;font-family:${text.bodySmall.fontFamily};font-weight:${text.bodySmall.fontWeight};font-size:75%;line-height:16px;border-radius:0.75rem;border:${(props) => (props.hideBorder ? 'none' : '1px solid transparent')};cursor:default;svg{width:${sizes.base};height:${sizes.base};}`;\nexport const DefaultBadge = styled(BaseBadge).withConfig({ displayName: \"vui--DefaultBadge\", componentId: \"vui--rwc6j0\" }) `background-color:inherit;border-color:${colors.secondary.blue.base};color:${colors.secondary.blue.base};`;\nexport const PrimaryBadge = styled(BaseBadge).withConfig({ displayName: \"vui--PrimaryBadge\", componentId: \"vui--1fakkjy\" }) `border-color:${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};color:${colors.secondary.blue.base};`;\nexport const WarningBadge = styled(BaseBadge).withConfig({ displayName: \"vui--WarningBadge\", componentId: \"vui--1r2egf1\" }) `border-color:${colors.secondary.yellow.base};background-color:${colors.secondary.yellow.lightest};color:${colors.secondary.orange.dark};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { DefaultBadge, PrimaryBadge, WarningBadge } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst variantMap = {\n default: DefaultBadge,\n primary: PrimaryBadge,\n warning: WarningBadge,\n};\nexport const Badge = ({ variant = 'default', hideBorder = false, iconSlot, tooltip, className, e2eClassName, children, }) => {\n const BadgeVariant = variantMap[variant];\n return (React.createElement(Tooltip, { text: tooltip },\n React.createElement(BadgeVariant, { className: buildClassnames([className, e2eClassName]), hideBorder: hideBorder },\n iconSlot && iconSlot,\n children && React.createElement(\"span\", null, children))));\n};\n//# sourceMappingURL=Badge.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst BannerLayout = styled(BaseContainer).withConfig({ displayName: \"vui--BannerLayout\", componentId: \"vui--c6sp3u\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:20px 24px 24px 24px;border-radius:4px;${({ accentColor }) => accentColor &&\n `\n box-shadow: 0px 1px 3px rgba(55, 66, 77, 0.15), inset 4px 0px 0px ${accentColor};\n `} background-color:${({ backgroundColor }) => backgroundColor || 'white'};`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--1rdjrmx\" }) `display:flex;flex-direction:row;`;\nconst Col = styled(BaseContainer).withConfig({ displayName: \"vui--Col\", componentId: \"vui--1ttgibs\" }) `display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;`;\nexport const IconCol = styled(Col).withConfig({ displayName: \"vui--IconCol\", componentId: \"vui--1z6c5f\" }) `svg{width:${sizes.md};height:${sizes.md};color:${({ accentColor }) => accentColor};}`;\nexport const ChildContainer = styled(BaseContainer).withConfig({ displayName: \"vui--ChildContainer\", componentId: \"vui--kn3qcr\" }) `width:100%;`;\nconst HeaderCol = styled(Col).withConfig({ displayName: \"vui--HeaderCol\", componentId: \"vui--1nlkkdb\" }) `flex-grow:2;margin-right:12px;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1ioilg\" }) `position:relative;top:-2px;`;\nexport { BannerLayout as Pill, StyledText as Text, Row, Col, HeaderCol };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { colors } from '../../theme/modules/colors';\nimport { Pill, Text, Row, Col, HeaderCol, ChildContainer, IconCol } from './styled';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst accentColors = {\n help: colors.secondary.blue.base,\n info: colors.neutral.ink.base,\n error: colors.secondary.red.base,\n success: colors.secondary.green.base,\n};\n/**\n * The `Banner` component was previously called `Alert` (and similarly `Pill`).\n */\nexport const Banner = (_a) => {\n var { type = 'info', text, iconSlot, onClose, className, header, children, backgroundColor = 'white' } = _a, props = __rest(_a, [\"type\", \"text\", \"iconSlot\", \"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 iconSlot && (React.createElement(IconCol, { style: { marginRight: sizes.md }, accentColor: accentColor }, iconSlot)),\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\", iconSlot: React.createElement(CrossIcon, null), onClick: onClose }))))))));\n};\n//# sourceMappingURL=Banner.js.map","import styled from 'styled-components';\nimport { text } from '../../../theme/modules/text';\nexport const BreadcrumbsSC = styled.ul.withConfig({ displayName: \"vui--BreadcrumbsSC\", componentId: \"vui--1kzms7s\" }) `list-style:none;padding:0;margin:0;display:flex;align-items:center;font-family:${text.body.fontFamily};font-weight:${text.body.fontWeight};font-size:${text.body.fontSize};line-height:${text.body.lineHeight};`;\nexport const BreadcrumbSC = styled.li.withConfig({ displayName: \"vui--BreadcrumbSC\", componentId: \"vui--17agc2w\" }) `display:flex;align-items:center;.separator{display:flex;align-items:center;padding:0px 0.4rem;}a{color:inherit;text-decoration:none;text-transform:capitalize;}a:hover{text-decoration:underline;}span{font-weight:600;text-transform:capitalize;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const RightArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.99994 11.06L9.05327 8L5.99994 4.94L6.93994 4L10.9399 8L6.93994 12L5.99994 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=RightArrowIcon.js.map","import React from 'react';\nimport { BreadcrumbSC } from './styled';\nexport const Breadcrumb = ({ children, title, LinkComponent, href }) => {\n if (LinkComponent) {\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n React.createElement(LinkComponent, { href: href }, title),\n children));\n }\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n title,\n children));\n};\n//# sourceMappingURL=Breadcrumb.js.map","import React from 'react';\nimport { BreadcrumbsSC } from './components/styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Breadcrumb } from './components/Breadcrumb';\nconst DefaultSeparator = () => (React.createElement(RightArrowIcon, { className: \"separator\", width: sizes.base, height: sizes.base }));\nconst DefaultLink = ({ children, href }) => React.createElement(\"a\", { href: href }, children);\nconst BreadcrumbText = ({ children }) => React.createElement(\"span\", null, children);\nexport const Breadcrumbs = ({ items, Separator = React.createElement(DefaultSeparator, null), LinkComponent = DefaultLink, }) => (React.createElement(BreadcrumbsSC, { className: \"breadcrumbs\" }, items.map((item, i) => (React.createElement(Breadcrumb, { key: item.title, title: item.title, href: item.pathname, LinkComponent: i !== items.length - 1 ? LinkComponent : BreadcrumbText }, items.length !== i + 1 && Separator)))));\n//# sourceMappingURL=Breadcrumbs.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../../theme';\nexport const buttonStyles = css `.react-aria-Button{color:${theme.colors.neutral.ink.base};background-color:transparent;border-color:transparent;box-shadow:none;cursor:pointer;height:40px;padding:0 8px;border-radius:8px;font-size:16px;line-height:16px;outline:0;--outline-width:4px;svg{width:${theme.sizes.base};height:${theme.sizes.base};}&:active,&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:active,&:hover{background-color:${theme.colors.neutral.grey.light};}&:disabled{background-color:transparent;border-color:transparent;user-select:none;color:${theme.colors.neutral.grey.base};cursor:default;}}`;\n//# sourceMappingURL=buttonStyles.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../../theme';\nexport const calenderCellStyles = css `.react-aria-CalendarCell{width:30px;line-height:30px;border-radius:${theme.radius.md};border:1px solid transparent;cursor:pointer;text-align:center;&[data-hovered]{background-color:${theme.colors.neutral.grey.base};}&[data-focus-visible],&[data-focused]{outline:2px solid ${theme.colors.secondary.blue.light};}&[data-selected]{background:${theme.colors.secondary.blue.base};color:white;border-radius:0;&[data-focus-visible]{outline-color:${theme.colors.secondary.blue.light};}}&[data-outside-month],&[data-disabled]{cursor:not-allowed;}&[data-unavailable]{cursor:not-allowed;text-decoration:line-through;color:${theme.colors.secondary.red.dark};&:hover{background-color:inherit;}}&[data-outside-month],&[data-disabled]{color:${theme.colors.neutral.ink.lightest};}&[data-selection-start]{border-start-start-radius:6px;border-end-start-radius:6px;}&[data-selection-end]{border-start-end-radius:6px;border-end-end-radius:6px;}}`;\n//# sourceMappingURL=calendarCellStyles.js.map","import { css } from 'styled-components';\nimport { getTextStyles } from 'Theme/utils';\nimport { theme } from 'Theme';\nexport const headerStyles = css `& header{display:flex;align-items:center;margin:0 4px 0.5rem 4px;.react-aria-Heading{flex:1;margin:0;text-align:center;${getTextStyles(theme.text.headingSmall)}}}.react-aria-CalendarHeaderCell{padding-bottom:${theme.sizes.sm};}`;\n//# sourceMappingURL=headerStyles.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../../theme';\nimport { buttonStyles } from './buttonStyles';\nimport { calenderCellStyles } from './calendarCellStyles';\nimport { headerStyles } from './headerStyles';\nexport const SharedCalendarStyles = css `width:fit-content;max-width:100%;min-width:225px;color:${theme.colors.neutral.ink.base};font-size:14px;font-family:${theme.fontFamily};${headerStyles} ${buttonStyles} ${calenderCellStyles} & table{height:fit-content;border-collapse:separate;border-spacing:0 ${theme.sizes.xs};& td{padding:0;&:has(div[data-today='true']){& > div{border:1px solid ${theme.colors.neutral.ink.lightest};}&:has(div[data-selected]){background-color:${theme.colors.secondary.blue.base};& > div{border:1px solid ${theme.colors.secondary.blue.darkest};border-radius:${theme.radius.md};}&:has(div[data-selection-start]){border-start-start-radius:6px;border-end-start-radius:6px;}&:has(div[data-selection-end]){border-start-end-radius:6px;border-end-end-radius:6px;}}}}}`;\n//# sourceMappingURL=CalendarStyles.js.map","import { RangeCalendar } from 'react-aria-components';\nimport styled from 'styled-components';\nimport { SharedCalendarStyles } from '../subcomponents/CalendarStyles/CalendarStyles';\nexport const StyledRangeCalendar = styled(RangeCalendar).withConfig({ displayName: \"vui--StyledRangeCalendar\", componentId: \"vui--1dva9jw\" }) `${SharedCalendarStyles};`;\n//# sourceMappingURL=styled.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 styled from 'styled-components';\nimport { getTextStyles } from 'Theme/utils';\nimport { theme } from 'Theme';\nexport const SubCalendarOption = styled.button.withConfig({ displayName: \"vui--SubCalendarOption\", componentId: \"vui--140wlkz\" }) `display:flex;flex-direction:column;justify-content:center;align-items:center;${getTextStyles(theme.text.body)};width:60px;height:32px;padding:0;border:none;outline:none;border-radius:${theme.radius.md};background-color:white;&:hover{cursor:pointer;background-color:${theme.colors.neutral.grey.base};}&:focus-visible,&:active{color:white;background-color:${theme.colors.secondary.blue.base};&:not([data-selected]){outline:2px solid ${theme.colors.secondary.blue.light};}}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Grid } from '../../../../../Grid';\nimport { SubCalendarOption } from './styled';\nimport { getYearsAround } from './utils';\nexport const DodecadeCalendar = ({ currentYear, onFocusYear }) => (React.createElement(Grid, { columns: 3, spacing: \"sm\", role: \"grid\" }, getYearsAround(currentYear).map((year) => (React.createElement(SubCalendarOption, { key: `year-option-${year}`, \"aria-label\": `Go to ${year}`, onClick: onFocusYear(year) }, year)))));\n//# sourceMappingURL=DodecadeCalendar.js.map","/**\n * Gets a range of years around a given year.\n * @param year The year to get the range around.\n * @returns An array of years around the given year.\n */\nexport const getYearsAround = (year) => Array.from({ length: 12 }, (_, i) => year - 5 + i);\n//# sourceMappingURL=utils.js.map","import React from 'react';\nimport { Grid } from '../../../../../Grid';\nimport { SubCalendarOption } from './styled';\nconst MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nexport const YearCalendar = ({ onFocusMonth }) => {\n return (React.createElement(Grid, { columns: 3, spacing: \"sm\", role: \"grid\" }, MONTHS.map((month, monthIndex) => (React.createElement(SubCalendarOption, { key: `month-option-${month}`, \"aria-label\": `Go to ${month}`, onClick: onFocusMonth(monthIndex) }, month)))));\n};\n//# sourceMappingURL=YearCalendar.js.map","import { getLocalTimeZone, today } from '@internationalized/date';\nimport React from 'react';\nimport { CalendarGrid as AriaCalendarGrid, CalendarHeaderCell, CalendarGridHeader, CalendarGridBody, CalendarCell, } from 'react-aria-components';\nexport const MonthCalendar = (props) => {\n const todayDate = today(getLocalTimeZone());\n return (React.createElement(AriaCalendarGrid, Object.assign({ weekdayStyle: \"short\" }, props),\n React.createElement(CalendarGridHeader, null, (day) => React.createElement(CalendarHeaderCell, null, day.slice(0, 2))),\n React.createElement(CalendarGridBody, null, (date) => React.createElement(CalendarCell, { date: date, \"data-today\": date.compare(todayDate) === 0 }))));\n};\n//# sourceMappingURL=MonthCalendar.js.map","export var CalendarLevel;\n(function (CalendarLevel) {\n CalendarLevel[CalendarLevel[\"DODECADE\"] = 0] = \"DODECADE\";\n CalendarLevel[CalendarLevel[\"YEAR\"] = 1] = \"YEAR\";\n CalendarLevel[CalendarLevel[\"MONTH\"] = 2] = \"MONTH\";\n})(CalendarLevel || (CalendarLevel = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nimport { MonthCalendar, YearCalendar, DodecadeCalendar } from './subCalendars';\nimport { CalendarLevel } from '../../../types';\nexport const CalendarGrid = ({ level, currentYear, onFocusMonth, onFocusYear, }) => {\n if (level === CalendarLevel.YEAR) {\n return React.createElement(YearCalendar, { onFocusMonth: onFocusMonth });\n }\n if (level === CalendarLevel.DODECADE) {\n return React.createElement(DodecadeCalendar, { currentYear: currentYear, onFocusYear: onFocusYear });\n }\n return React.createElement(MonthCalendar, null);\n};\n//# sourceMappingURL=CalendarGrid.js.map","import { CalendarLevel } from '../types';\nexport const visibleDurationMap = {\n [CalendarLevel.DODECADE]: { years: 10 },\n [CalendarLevel.YEAR]: { years: 1 },\n [CalendarLevel.MONTH]: { months: 1 },\n};\nexport const levelMoveLabelMap = {\n [CalendarLevel.DODECADE]: 'View Day Selection',\n [CalendarLevel.YEAR]: 'View Year Selection',\n [CalendarLevel.MONTH]: 'View Month Selection',\n};\n//# sourceMappingURL=constants.js.map","import { useState } from 'react';\nimport { CalendarLevel } from '../types';\nexport const useCalendarLevels = () => {\n const [level, setLevel] = useState(CalendarLevel.MONTH);\n const handleSwitchLevel = () => {\n if (level === CalendarLevel.MONTH) {\n setLevel(CalendarLevel.YEAR);\n }\n else if (level === CalendarLevel.YEAR) {\n setLevel(CalendarLevel.DODECADE);\n }\n else {\n setLevel(CalendarLevel.MONTH);\n }\n };\n return { level, handleSwitchLevel, setLevel };\n};\n//# sourceMappingURL=useCalendarLevels.js.map","import React from 'react';\nexport const LeftArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.44 11.06L7.38667 8L10.44 4.94L9.5 4L5.5 8L9.5 12L10.44 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=LeftArrowIcon.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useMemo } from 'react';\nimport { HeadingContext, useContextProps } from 'react-aria-components';\nimport { Text } from '../../../Text';\nimport { CalendarLevel } from '../../types';\nimport { trimMonths } from './utils';\nexport const CalendarHeading = forwardRef((props, ref) => {\n const [updatedProps, refUpdated] = useContextProps(props, ref, HeadingContext);\n const { children: generatedTitle, level, currentYear } = updatedProps, rest = __rest(updatedProps, [\"children\", \"level\", \"currentYear\"]);\n const text = useMemo(() => {\n if (level === CalendarLevel.DODECADE)\n return `${currentYear - 5} - ${currentYear + 6}`;\n if (level === CalendarLevel.YEAR)\n return currentYear.toString();\n return trimMonths(generatedTitle);\n }, [level, currentYear, generatedTitle]);\n return (React.createElement(Text, Object.assign({ variant: \"headingSmall\" }, rest, { ref: refUpdated, style: { whiteSpace: 'nowrap' } }), text));\n});\n//# sourceMappingURL=CalendarHeading.js.map","/**\n * Replaces all words with the first three letter of that word. All numbers are left alone.\n *\n * @example \"January 2024\" => \"Jan 2024\"\n */\nexport const trimMonths = (dateString) => dateString.replace(/\\b(\\w{1,3})(\\w*)\\b/g, (entireMatch, group) => {\n if (/\\d/.test(entireMatch))\n return entireMatch; // Move on if numbers are in word.\n return group; // Just return first 3 letters otherwise.\n});\n//# sourceMappingURL=utils.js.map","import React from 'react';\nimport { Button } from 'react-aria-components';\nimport { Button as VQBtn } from '../../../Button';\nimport { RightArrowIcon } from '../../../../tempIcons/RightArrowIcon';\nimport { LeftArrowIcon } from '../../../../tempIcons/LeftArrowIcon';\nimport { Stack } from '../../../Stack';\nimport { UpArrowIcon } from '../../../../tempIcons/UpArrowIcon';\nimport { DownArrowIcon } from '../../../../tempIcons/DownArrowIcon';\nimport { CalendarLevel } from '../../types';\nimport { levelMoveLabelMap } from '../../data/constants';\nimport { CalendarHeading } from './CalendarHeading';\nexport const CalendarHeader = ({ level, currentYear, handleSwitchLevel, isDisabled, }) => (React.createElement(Stack, { as: \"header\", direction: \"horizontal\", alignX: \"between\", alignY: \"center\", spacing: \"0\" },\n React.createElement(Button, { slot: \"previous\", isDisabled: isDisabled, type: \"button\" },\n React.createElement(LeftArrowIcon, null)),\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", alignX: \"stretch\", spacing: \"xs\", style: { margin: '0 4px' } },\n React.createElement(CalendarHeading, { level: level, currentYear: currentYear }),\n React.createElement(VQBtn, { type: \"button\", \"aria-label\": levelMoveLabelMap[level], variant: \"flat\", iconSlot: level === CalendarLevel.DODECADE ? React.createElement(UpArrowIcon, null) : React.createElement(DownArrowIcon, null), size: \"sm\", onClick: handleSwitchLevel, disabled: isDisabled })),\n React.createElement(Button, { slot: \"next\", isDisabled: isDisabled, type: \"button\" },\n React.createElement(RightArrowIcon, null))));\n//# sourceMappingURL=CalendarHeader.js.map","import { isWeekend } from '@internationalized/date';\nimport { useLocale } from 'react-aria-components';\nexport const useIsDateUnavailable = ({ disabledRanges, disallowWeekends, minValue, maxValue, }) => {\n const { locale } = useLocale();\n const isDateUnavailable = (date) => {\n if (!date)\n return false;\n if (disallowWeekends && isWeekend(date, locale))\n return true;\n if (minValue && date.compare(minValue) < 0)\n return true;\n if (maxValue && date.compare(maxValue) > 0)\n return true;\n if (disabledRanges) {\n return disabledRanges.some(([disabledStart, disabledEnd]) => date.compare(disabledStart) >= 0 && date.compare(disabledEnd) <= 0);\n }\n return false;\n };\n const isDateRangeUnavailable = (selectedRange) => {\n if (!selectedRange)\n return false;\n const { start: presortStart, end: presortEnd } = selectedRange;\n const [start, end] = [presortStart, presortEnd].sort();\n // Check if any date within the range is unavailable\n let currentDate = start;\n while (currentDate.compare(end) <= 0) {\n if (isDateUnavailable(currentDate))\n return true;\n currentDate = currentDate.add({ days: 1 });\n }\n return false;\n };\n return {\n isDateUnavailable,\n isDateRangeUnavailable,\n };\n};\n//# sourceMappingURL=useIsDateUnavailable.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledRangeCalendar } from './styled';\nimport { CalendarGrid } from '../subcomponents/CalendarGrid';\nimport { visibleDurationMap } from '../../data/constants';\nimport { useRangeCalendarState } from '../../data/useRangeCalendar';\nimport { CalendarHeader } from '../subcomponents/CalendarHeader';\nimport { useIsDateUnavailable } from '../../data/useIsDateUnavailable';\nexport const RangeCalendar = (_a) => {\n var { value, onChange, isDisabled } = _a, props = __rest(_a, [\"value\", \"onChange\", \"isDisabled\"]);\n const { level, focusedDate, setFocusedDate, currentYear, onFocusMonth, onFocusYear, handleSwitchLevel, } = useRangeCalendarState(value);\n const { isDateUnavailable } = useIsDateUnavailable({\n disabledRanges: props.disabledRanges,\n disallowWeekends: props.disallowWeekends,\n maxValue: props.maxValue,\n minValue: props.minValue,\n });\n return (React.createElement(StyledRangeCalendar, Object.assign({ focusedValue: focusedDate, onFocusChange: setFocusedDate, isDateUnavailable: isDateUnavailable, visibleDuration: visibleDurationMap[level], value: value, onChange: onChange, isDisabled: isDisabled }, props),\n React.createElement(CalendarHeader, { currentYear: currentYear, level: level, handleSwitchLevel: handleSwitchLevel, isDisabled: isDisabled }),\n React.createElement(CalendarGrid, { level: level, currentYear: currentYear, onFocusMonth: onFocusMonth, onFocusYear: onFocusYear })));\n};\n//# sourceMappingURL=RangeCalendar.js.map","import { useState, useEffect } from 'react';\nimport { CalendarDate, getLocalTimeZone, today } from '@internationalized/date';\nimport { CalendarLevel } from '../types';\nimport { useCalendarLevels } from './useCalendarLevels';\nexport const useRangeCalendarState = (initialValue) => {\n const [focusedDate, setFocusedDate] = useState((initialValue === null || initialValue === void 0 ? void 0 : initialValue.start) || today(getLocalTimeZone()));\n const { level, setLevel, handleSwitchLevel } = useCalendarLevels();\n useEffect(() => {\n if (initialValue)\n setFocusedDate(initialValue.start);\n }, [initialValue]);\n const currentYear = (focusedDate === null || focusedDate === void 0 ? void 0 : focusedDate.year) || (initialValue === null || initialValue === void 0 ? void 0 : initialValue.start.year) || new Date().getFullYear();\n const currentMonth = (focusedDate === null || focusedDate === void 0 ? void 0 : focusedDate.month) || (initialValue === null || initialValue === void 0 ? void 0 : initialValue.start.month) || new Date().getMonth() + 1;\n const onFocusMonth = (monthIndex) => () => {\n setFocusedDate(new CalendarDate(currentYear, monthIndex + 1, 1));\n setLevel(CalendarLevel.MONTH);\n };\n const onFocusYear = (year) => () => {\n setFocusedDate(new CalendarDate(year, currentMonth, 1));\n setLevel(CalendarLevel.YEAR);\n };\n return {\n level,\n focusedDate,\n setFocusedDate,\n currentYear,\n onFocusMonth,\n onFocusYear,\n handleSwitchLevel,\n };\n};\n//# sourceMappingURL=useRangeCalendar.js.map","import { Calendar } from 'react-aria-components';\nimport styled from 'styled-components';\nimport { SharedCalendarStyles } from '../subcomponents/CalendarStyles/CalendarStyles';\nexport const StyledCalendar = styled(Calendar).withConfig({ displayName: \"vui--StyledCalendar\", componentId: \"vui--6d0gjz\" }) `${SharedCalendarStyles};& .react-aria-CalendarCell[data-selected],& table td{border-radius:8px;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledCalendar } from './styled';\nimport { CalendarGrid } from '../subcomponents/CalendarGrid';\nimport { visibleDurationMap } from '../../data/constants';\nimport { CalendarHeader } from '../subcomponents/CalendarHeader';\nimport { useCalendarState } from '../../data/useCalendar';\nimport { useIsDateUnavailable } from '../../data/useIsDateUnavailable';\nexport const Calendar = (_a) => {\n var { value, onChange, isDisabled } = _a, props = __rest(_a, [\"value\", \"onChange\", \"isDisabled\"]);\n const { level, focusedDate, setFocusedDate, currentYear, onFocusMonth, onFocusYear, handleSwitchLevel, } = useCalendarState(value);\n const { isDateUnavailable } = useIsDateUnavailable({\n disabledRanges: props.disabledRanges,\n disallowWeekends: props.disallowWeekends,\n maxValue: props.maxValue,\n minValue: props.minValue,\n });\n return (React.createElement(StyledCalendar, Object.assign({ focusedValue: focusedDate, onFocusChange: setFocusedDate, isDateUnavailable: isDateUnavailable, visibleDuration: visibleDurationMap[level], value: value, onChange: onChange, isDisabled: isDisabled }, props),\n React.createElement(CalendarHeader, { currentYear: currentYear, level: level, handleSwitchLevel: handleSwitchLevel, isDisabled: isDisabled }),\n React.createElement(CalendarGrid, { level: level, currentYear: currentYear, onFocusMonth: onFocusMonth, onFocusYear: onFocusYear })));\n};\n//# sourceMappingURL=Calendar.js.map","import { useState, useEffect } from 'react';\nimport { CalendarDate, getLocalTimeZone, today } from '@internationalized/date';\nimport { CalendarLevel } from '../types';\nimport { useCalendarLevels } from './useCalendarLevels';\nexport const useCalendarState = (initialValue) => {\n const [focusedDate, setFocusedDate] = useState(initialValue || today(getLocalTimeZone()));\n const { level, setLevel, handleSwitchLevel } = useCalendarLevels();\n useEffect(() => {\n if (initialValue)\n setFocusedDate(initialValue);\n }, [initialValue]);\n const currentYear = (focusedDate === null || focusedDate === void 0 ? void 0 : focusedDate.year) || (initialValue === null || initialValue === void 0 ? void 0 : initialValue.year) || new Date().getFullYear();\n const currentMonth = (focusedDate === null || focusedDate === void 0 ? void 0 : focusedDate.month) || (initialValue === null || initialValue === void 0 ? void 0 : initialValue.month) || new Date().getMonth() + 1;\n const onFocusMonth = (monthIndex) => () => {\n setFocusedDate(new CalendarDate(currentYear, monthIndex + 1, 1));\n setLevel(CalendarLevel.MONTH);\n };\n const onFocusYear = (year) => () => {\n setFocusedDate(new CalendarDate(year, currentMonth, 1));\n setLevel(CalendarLevel.YEAR);\n };\n return {\n level,\n focusedDate,\n setFocusedDate,\n currentYear,\n onFocusMonth,\n onFocusYear,\n handleSwitchLevel,\n };\n};\n//# sourceMappingURL=useCalendar.js.map","import styled from 'styled-components';\nimport { Tooltip } from '../../Tooltip';\nimport { theme } from '../../../theme';\nconst alignMap = {\n top: 'flex-start',\n center: 'center',\n};\nexport const RootLayout = styled.div.withConfig({ displayName: \"vui--RootLayout\", componentId: \"vui--11nf17l\" }) `display:flex;align-items:center;& > * + *{margin-left:${theme.sizes.base};}`;\nexport const InputLayout = styled.div.withConfig({ displayName: \"vui--InputLayout\", componentId: \"vui--1yac6kr\" }) `align-self:stretch;display:flex;align-items:${(props) => alignMap[props.align]};`;\nexport const AccessoryLayout = styled.div.withConfig({ displayName: \"vui--AccessoryLayout\", componentId: \"vui--qbgrc7\" }) `align-self:center;display:flex;align-items:center;`;\nexport const TextLayout = styled.div.withConfig({ displayName: \"vui--TextLayout\", componentId: \"vui--1uu3ed5\" }) `flex:1;& > * + *{margin-top:${theme.sizes.sm};}`;\nexport const HintText = styled.div.withConfig({ displayName: \"vui--HintText\", componentId: \"vui--lz8nl\" }) `font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const ErrorText = styled.div.withConfig({ displayName: \"vui--ErrorText\", componentId: \"vui--piugtf\" }) `font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};`;\nexport const Wrapper = styled.label.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--2wdtq1\" }) `box-sizing:border-box;&:hover{cursor:${(props) => (props.disabled ? 'default' : 'pointer')};}`;\nexport const BorderedWrapper = styled(Wrapper).withConfig({ displayName: \"vui--BorderedWrapper\", componentId: \"vui--1an42ms\" }) `border:2px solid ${theme.colors.neutral.grey.dark};border-radius:${theme.radius.md};padding:${theme.sizes.base} 0.75rem;&:hover{border-color:${theme.colors.secondary.blue.base};}`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1ifrill\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { theme } from '../../theme';\nimport { Wrapper, BorderedWrapper, RootLayout, InputLayout, AccessoryLayout, TextLayout, HintText, ErrorText, BlockTooltip, } from './components/styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { Text } from '../Text';\nconst generateClassNames = (prefix) => ({\n hint: prefix ? 'choice__hint' : undefined,\n label: prefix ? 'choice__label' : undefined,\n tooltip: prefix ? 'choice__tooltip' : undefined,\n error: prefix ? 'choice__error' : undefined,\n});\nexport const Choice = ({ id, className, label, hint, tooltip, error, bordered, Badge, Accessory, Footer, children, disabled = false, labelVariant = 'body', inputPosition = 'left', }) => {\n const classNames = generateClassNames(className);\n const contentMarkup = (React.createElement(RootLayout, null,\n inputPosition === 'left' && (React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children)),\n Accessory && React.createElement(AccessoryLayout, null, Accessory),\n label || hint || error || Badge || Footer ? (React.createElement(TextLayout, null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n Badge,\n label && (React.createElement(Text, { variant: labelVariant, className: classNames.label }, label)),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip, className: classNames.tooltip },\n React.createElement(HelpIcon, { name: \"help\", width: theme.sizes.base, color: theme.colors.neutral.ink.lightest })))),\n hint && React.createElement(HintText, { className: classNames.hint }, hint),\n error && React.createElement(ErrorText, { className: classNames.error }, error),\n Footer)) : null,\n inputPosition === 'right' && (React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children))));\n if (bordered) {\n return (React.createElement(BorderedWrapper, { disabled: disabled, htmlFor: id, className: className }, contentMarkup));\n }\n return (React.createElement(Wrapper, { disabled: disabled, htmlFor: id, className: className }, contentMarkup));\n};\n//# sourceMappingURL=Choice.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { colors, sizes, radius } = theme;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--hippn5\" }) `appearance:none;width:18px;height:18px;background-color:transparent;border:2px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s,background-color 0.1s;&:checked{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='white' /></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:hover{border-color:${colors.secondary.blue.base};}&:active{border-color:${colors.secondary.blue.base};}&:focus{box-shadow:0 0 0 4px ${colors.secondary.blue.light};outline:0;}&:indeterminate{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='white'/></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:disabled{box-shadow:none;background-color:${colors.neutral.grey.base};border-color:${colors.neutral.grey.base};color:${colors.neutral.ink.light};cursor:default;}&:checked:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='%23637381' /></svg>\");}&:indeterminate:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='%23637381'/></svg>\");}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Checkbox = (_a) => {\n var { checked, indeterminate, value, name, disabled, ariaLabel, className, onChange } = _a, otherProps = __rest(_a, [\"checked\", \"indeterminate\", \"value\", \"name\", \"disabled\", \"ariaLabel\", \"className\", \"onChange\"]);\n const id = useMemo(() => generateId('checkbox'), []);\n const checkboxRef = useRef(null);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n useEffect(() => {\n if (!checkboxRef.current)\n return;\n if (indeterminate === true) {\n checkboxRef.current.indeterminate = true;\n return;\n }\n checkboxRef.current.indeterminate = false;\n }, [indeterminate]);\n return (React.createElement(Choice, Object.assign({ id: id, disabled: disabled, className: className }, otherProps),\n React.createElement(Input, { ref: checkboxRef, id: id, type: \"checkbox\", checked: checked, value: value, name: name, disabled: disabled, \"aria-label\": ariaLabel, onChange: handleChange })));\n};\n//# sourceMappingURL=Checkbox.js.map","import styled from 'styled-components';\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1e1oks4\" }) `appearance:none;box-sizing:border-box;flex-shrink:0;width:18px;height:18px;margin:3px;background-color:transparent;border:2px solid #637381;border-radius:50%;outline:none;cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s;&:checked{position:relative;border-color:#0079d1;}&:checked::before{content:'';width:10px;height:10px;position:absolute;top:2px;left:2px;background-color:#0079d1;border-radius:50%;}&:hover{border-color:#0079d1;}&:active{border-color:#0079d1;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{box-shadow:none;background-color:#dfe3e8;border-color:#959fa8;cursor:default;}&:disabled::before{background-color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Radio = forwardRef((_a, ref) => {\n var { checked, value, name, disabled, onChange, id, children } = _a, otherProps = __rest(_a, [\"checked\", \"value\", \"name\", \"disabled\", \"onChange\", \"id\", \"children\"]);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n const componentId = id !== null && id !== void 0 ? id : generateId('radio');\n return (React.createElement(Choice, Object.assign({ id: componentId, disabled: disabled }, otherProps),\n React.createElement(Input, { id: componentId, type: \"radio\", checked: checked, value: value, name: name, disabled: disabled, onChange: handleChange, ref: ref }),\n children));\n});\n//# sourceMappingURL=Radio.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const Fieldset = styled.fieldset.withConfig({ displayName: \"vui--Fieldset\", componentId: \"vui--bygv6o\" }) `padding:0;display:flex;flex-direction:column;border:0;& > * + *{margin-top:16px;}`;\nexport const Legend = styled.legend.withConfig({ displayName: \"vui--Legend\", componentId: \"vui--18baj4v\" }) `font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-style:${theme.text.inputLabel.fontStyle};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};text-decoration:${theme.text.inputLabel.textDecoration};color:${theme.text.inputLabel.color};`;\n//# sourceMappingURL=styled.js.map","import React, { Component } from 'react';\nimport { Radio } from '../Radio';\nimport { Checkbox } from '../Checkbox';\nimport { Fieldset, Legend } from './styled';\nexport class ChoiceList extends Component {\n constructor() {\n super(...arguments);\n this.handleChange = (value, checked) => {\n const { allowMultiple } = this.props;\n if (allowMultiple) {\n this.handleChangeMultiple(value, checked);\n return;\n }\n this.handleChangeSingle(value, checked);\n };\n this.handleChangeSingle = (value, checked) => {\n const { onChange } = this.props;\n if (checked) {\n onChange([value]);\n }\n };\n this.handleChangeMultiple = (value, checked) => {\n const { selected, onChange } = this.props;\n let newSelected = [];\n if (checked) {\n newSelected = [...selected, value];\n }\n else {\n newSelected = selected.filter((selectedValue) => selectedValue !== value);\n }\n onChange(newSelected);\n };\n }\n render() {\n const { allowMultiple, options, selected, title, disabled, bordered } = this.props;\n const InputComponent = allowMultiple ? Checkbox : Radio;\n return (React.createElement(Fieldset, { disabled: disabled },\n title && React.createElement(Legend, null, title),\n options.map((option) => (React.createElement(InputComponent, Object.assign({ key: option.value, bordered: bordered, checked: selected.includes(option.value), onChange: (checked) => this.handleChange(option.value, checked) }, option))))));\n }\n}\n//# sourceMappingURL=ChoiceList.js.map","import React from 'react';\nexport const ClipboardIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M19 3H14.82C14.4 1.84 13.3 1 12 1C10.7 1 9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V21C3 22.1 3.9 23 5 23H19C20.1 23 21 22.1 21 21V5C21 3.9 20.1 3 19 3ZM12 3C12.55 3 13 3.45 13 4C13 4.55 12.55 5 12 5C11.45 5 11 4.55 11 4C11 3.45 11.45 3 12 3ZM19 21H5V5H7V8H17V5H19V21Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ClipboardIcon.js.map","import React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { Tooltip } from '../Tooltip';\nimport { colors } from '../../theme/modules/colors';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Button } from '../Button';\nimport { ClipboardIcon } from '../../tempIcons/ClipboardIcon';\nconst iconSizes = { width: sizes.base, height: sizes.base };\n/**\n * Created in here to fix orders table sizes. Bad pattern to use in main button component, as\n * touch target is below A11y guidelines.\n */\nconst XSButton = styled(Button).withConfig({ displayName: \"vui--XSButton\", componentId: \"vui--e6p1xr\" }) `padding:1px;height:unset;span{height:${sizes.base};width:${sizes.base};top:unset;}`;\n/**\n * A dynamic button to facilitate copying text to a users' keyboard when clicked.\n */\nexport const CopyToClipboard = ({ className, text, onCopy }) => {\n const [copied, setCopied] = React.useState(false);\n const handleCopy = useCallback(() => {\n navigator.clipboard.writeText(text);\n if (onCopy)\n onCopy();\n setCopied(true);\n setTimeout(() => setCopied(false), 2500);\n }, [onCopy, text]);\n return (React.createElement(Tooltip, { text: copied ? 'Copied!' : 'Copy to clipboard' },\n React.createElement(XSButton, { variant: \"flat\", size: \"sm\", className: className, \"aria-label\": `${copied ? 'Copied' : 'Copy'} \"${text}\" to clipboard`, iconSlot: copied ? (React.createElement(SuccessIcon, Object.assign({ color: colors.secondary.green.base }, iconSizes))) : (React.createElement(ClipboardIcon, Object.assign({ color: colors.secondary.blue.base }, iconSizes))), onClick: handleCopy })));\n};\n//# sourceMappingURL=CopyToClipboard.js.map","import styled from 'styled-components';\nimport { Stack } from '../../components/Stack';\nimport { Tooltip } from '../../components/Tooltip';\nimport { theme } from '../../theme';\nexport const Label = styled.label.withConfig({ displayName: \"vui--Label\", componentId: \"vui--qydg5r\" }) `display:block;font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};color:${theme.text.inputLabel.color};`;\nexport const Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--1p3i1v3\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--9vxkaw\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nexport const RootStack = styled(Stack).withConfig({ displayName: \"vui--RootStack\", componentId: \"vui--10dmq2i\" }) `position:relative;`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1haf85r\" }) `display:block;&-hoverable{display:flex;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { Stack } from '../../components/Stack';\nimport { RootStack, Label, Hint, Error, BlockTooltip } from './styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { useId } from '../../hooks/useId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useId({ id: otherProps === null || otherProps === void 0 ? void 0 : otherProps.id, prefix: Component.name });\n if (!label)\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", { style: { marginBottom: theme.sizes.xs } },\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { id: `${componentId}-label`, htmlFor: componentId }, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { width: theme.sizes.base, height: theme.sizes.base, color: theme.colors.neutral.ink.light })))),\n hint && React.createElement(Hint, null, hint)),\n React.createElement(Component, Object.assign({ id: componentId, hasError: !!error }, otherProps)),\n error && React.createElement(Error, null, error)));\n};\n//# sourceMappingURL=withLabels.js.map","import React, { useEffect } from 'react';\nexport const withDeprecated = (Component) => (props) => {\n useEffect(() => {\n // eslint-disable-next-line no-console\n console.warn(`${Component.name} is deprecated.`);\n }, []);\n return React.createElement(Component, Object.assign({}, props));\n};\n//# sourceMappingURL=withDeprecated.js.map","import styled from 'styled-components';\nimport { Group } from 'react-aria-components';\nimport { getTextStyles } from 'Theme/utils';\nimport { theme } from '../../theme';\nexport const DateRangeGroup = styled(Group).withConfig({ displayName: \"vui--DateRangeGroup\", componentId: \"vui--cprola\" }) `${getTextStyles(theme.text.body)} display:flex;align-items:center;justify-content:space-between;gap:8px;height:22px;z-index:1;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:${theme.radius.base};gap:${theme.sizes.xs};padding:${theme.sizes.sm};&[data-focus-within]{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}&:has(*[data-invalid]){box-shadow:0 0 0 4px ${theme.colors.secondary.red.light};border:1px solid ${theme.colors.secondary.red.base};}${({ $hasError }) => !!$hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n border: 1px solid ${theme.colors.secondary.red.base};\n `} *[data-placeholder],*[data-placeholder] + div,*:has(*[data-placeholder])~ .date-range-input-splitter{color:${theme.colors.neutral.ink.light};}.date-range-input-splitter{margin:0 ${theme.sizes.sm};}&[data-disabled]{cursor:not-allowed;background-color:${theme.colors.neutral.grey.light};.react-aria-DateInput .react-aria-DateSegment,.date-range-input-splitter{cursor:not-allowed;color:${theme.colors.neutral.ink.light};}}.react-aria-DateInput{display:flex;align-items:center;cursor:text;caret-color:transparent;.react-aria-DateSegment{padding:0 1px;border-radius:${theme.radius.base};&[data-focused]{color:white;background-color:${theme.colors.secondary.blue.dark};&[data-invalid]{background-color:${theme.colors.secondary.red.lightest};}}&[data-invalid]{font-weight:bold;color:${theme.colors.secondary.red.dark};}&:focus-visible{outline:none;}}}`;\n//# sourceMappingURL=styled.js.map","import { withLabels } from '../../hoc';\nimport { DateInputField as BasicDateInputField } from './DateInputField';\nexport const DateInputField = withLabels(BasicDateInputField);\n//# sourceMappingURL=index.js.map","import { __rest } from \"tslib\";\nimport React, { useState, useEffect, useCallback } from 'react';\nimport { DateField, DateInput, DateSegment } from 'react-aria-components';\nimport { DateRangeGroup } from './styled';\nimport { Button } from '../Button';\nimport { Stack } from '../Stack';\nimport { useIsDateUnavailable } from '../Calendars';\nexport const DateInputField = (_a) => {\n var { id, className, style, shouldForceLeadingZeros = true, rightAction, startValue, endValue, isDisabled, isReadOnly, isRangeInput = false, hasError, 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, 'aria-labelledby': ariaLabelledBy, onChange, onChangeStartDate, onChangeEndDate, rangeRef, rightActionRef } = _a, validationProps = __rest(_a, [\"id\", \"className\", \"style\", \"shouldForceLeadingZeros\", \"rightAction\", \"startValue\", \"endValue\", \"isDisabled\", \"isReadOnly\", \"isRangeInput\", \"hasError\", 'aria-label', 'aria-describedby', 'aria-labelledby', \"onChange\", \"onChangeStartDate\", \"onChangeEndDate\", \"rangeRef\", \"rightActionRef\"]);\n const { isDateUnavailable, isDateRangeUnavailable } = useIsDateUnavailable(validationProps);\n const [isStartInvalid, setIsStartInvalid] = useState(false);\n const [isEndInvalid, setIsEndInvalid] = useState(false);\n const validateDate = useCallback((value) => {\n if (!value)\n return 'no date';\n if (!isRangeInput)\n return isDateUnavailable(value) ? 'Invalid date selection' : true;\n const range = {\n start: value === startValue ? value : startValue,\n end: value === endValue ? value : endValue,\n };\n if (!range.start || !range.end) {\n return isDateUnavailable(value) ? 'Invalid date selection' : true;\n }\n if (isDateRangeUnavailable(range))\n return 'Invalid range selection';\n return true;\n }, [isRangeInput, startValue, endValue, isDateUnavailable, isDateRangeUnavailable]);\n useEffect(() => {\n setIsStartInvalid(startValue ? validateDate(startValue) !== true : false);\n setIsEndInvalid(isRangeInput && endValue ? validateDate(endValue) !== true : false);\n }, [startValue, endValue, isRangeInput, validateDate]);\n return (React.createElement(Stack, { direction: \"horizontal\", alignX: \"stretch\", alignY: \"center\", spacing: 0 },\n React.createElement(DateRangeGroup, { ref: rangeRef, style: style, className: className, \"aria-label\": ariaLabel, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"$hasError\": hasError, isDisabled: isDisabled },\n React.createElement(Stack, { spacing: 0, direction: \"horizontal\", alignX: \"center\" },\n React.createElement(DateField, Object.assign({ shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: isRangeInput ? onChangeStartDate : onChange, value: startValue, validate: validateDate, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": isRangeInput ? 'start date' : 'date', isDisabled: isDisabled, isReadOnly: isReadOnly, isInvalid: isStartInvalid }, validationProps),\n React.createElement(DateInput, { slot: \"start\" }, (segment) => React.createElement(DateSegment, { segment: segment }))),\n isRangeInput && (React.createElement(React.Fragment, null,\n React.createElement(\"span\", { className: \"date-range-input-splitter\", \"aria-hidden\": \"true\" }, \"-\"),\n React.createElement(DateField, Object.assign({ shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: onChangeEndDate, value: endValue, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": \"end date\", isDisabled: isDisabled, isReadOnly: isReadOnly, validate: validateDate, isInvalid: isEndInvalid }, validationProps),\n React.createElement(DateInput, { slot: \"end\" }, (segment) => React.createElement(DateSegment, { segment: segment })))))),\n rightAction && (React.createElement(Button, Object.assign({ type: \"button\", ref: rightActionRef, variant: \"flat\", style: {\n padding: '2px',\n height: 'unset',\n } }, rightAction))))));\n};\n//# sourceMappingURL=DateInputField.js.map","import React from 'react';\nexport const CalendarIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 25 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 styled from 'styled-components';\nimport { colors } from 'Theme/modules/colors';\nimport { sizes } from 'Theme/modules/sizes';\nexport const DatePickerFooter = styled.footer.withConfig({ displayName: \"vui--DatePickerFooter\", componentId: \"vui--17flrd9\" }) `display:flex;justify-content:end;margin-top:${sizes.base};margin-left:-${sizes.base};margin-right:-${sizes.base};padding:${sizes.base};padding-bottom:0;border-top:${sizes.line} solid ${colors.neutral.grey.base};`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useMemo, useRef, useState } from 'react';\nimport { sizes } from 'Theme/modules/sizes';\nimport { CalendarIcon } from '../../tempIcons/CalendarIcon';\nimport { DateInputField } from '../DateInputField';\nimport { Popover } from '../Popover';\nimport { Card } from '../Card';\nimport { Calendar } from '../Calendars';\nimport { Button } from '../Button';\nimport { DatePickerFooter } from './styled';\nimport { useIsDateUnavailable } from '../Calendars/data/useIsDateUnavailable';\nexport const DatePicker = (_a) => {\n var { className, style, value, onChange, 'aria-label': ariaLabel, isDisabled, shouldCloseOnSelect = true, rootElementRef, maxValue, minValue, disabledRanges, disallowWeekends } = _a, withLabelProps = __rest(_a, [\"className\", \"style\", \"value\", \"onChange\", 'aria-label', \"isDisabled\", \"shouldCloseOnSelect\", \"rootElementRef\", \"maxValue\", \"minValue\", \"disabledRanges\", \"disallowWeekends\"]);\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const resetToValue = useRef(value);\n const rangeRef = useRef(null);\n const openDropdownRef = useRef(null);\n const closeDropdown = () => {\n var _a;\n setShouldShowDropdown(false);\n (_a = openDropdownRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n };\n const onSelectDate = (date) => {\n onChange(date);\n if (!shouldCloseOnSelect || !shouldShowDropdown)\n return;\n setTimeout(closeDropdown, 0); // Calendar state must update first.\n };\n const validationProps = {\n maxValue,\n minValue,\n disabledRanges,\n disallowWeekends,\n };\n const { isDateUnavailable } = useIsDateUnavailable(validationProps);\n const isSelectedDateInvalid = useMemo(() => (value ? isDateUnavailable(value) : false), [isDateUnavailable, value]);\n const error = withLabelProps.error || (isSelectedDateInvalid ? 'Invalid date selection' : undefined);\n return (React.createElement(React.Fragment, null,\n React.createElement(DateInputField, Object.assign({ isDisabled: isDisabled, \"aria-label\": ariaLabel, startValue: value, rightActionRef: openDropdownRef, rightAction: {\n iconSlot: React.createElement(CalendarIcon, null),\n 'aria-label': 'Open Calendar',\n onClick: () => setShouldShowDropdown(!shouldShowDropdown),\n disabled: isDisabled,\n 'aria-controls': 'data-picker-dropdown',\n 'aria-haspopup': true,\n 'aria-expanded': shouldShowDropdown,\n }, onChange: onSelectDate, rangeRef: rangeRef, className: className, style: style }, withLabelProps, validationProps, { error: error })),\n shouldShowDropdown && (React.createElement(Popover, { id: \"date-picker-dropdown\", style: { marginTop: sizes.sm }, anchorElement: rangeRef.current, onShouldClose: closeDropdown, placement: \"bottom-start\", ignoreAriaWarnings // We want to anchor to input, but be powered by right action.\n : true, rootElementRef: rootElementRef },\n React.createElement(Card.Surface, { style: { padding: sizes.base } },\n React.createElement(Calendar, Object.assign({ value: value, onChange: onSelectDate, \"aria-label\": `${ariaLabel} Calendar`, isDisabled: isDisabled }, validationProps)),\n React.createElement(DatePickerFooter, null,\n React.createElement(Button, { type: \"button\", variant: \"flat\", onClick: () => onSelectDate(resetToValue.current), size: \"sm\", disabled: isDisabled }, \"Reset\")))))));\n};\n//# sourceMappingURL=DatePicker.js.map","import styled from 'styled-components';\nexport const SelectInput = styled.select.withConfig({ displayName: \"vui--SelectInput\", componentId: \"vui--1v4mu6a\" }) `box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;padding:0 2.5rem 0 0.5rem;border-radius:4px;background-color:white;border:1px solid #959fa8;color:#1b2126;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M4 6L8 10L12 6H4Z' fill='currentColor' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 0.5em top 50%,0 0;${({ sizeVariant }) => {\n let height = '40px';\n let fontSize = '14px';\n if (sizeVariant === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} &:focus{border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 4px #f7bcbc;outline:0;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { SelectInput } from './styled';\nimport { withLabels } from '../../hoc';\nexport const Select = withLabels(forwardRef((_a, ref) => {\n var { className, options, value, onChange, size, disabled, hasError } = _a, otherProps = __rest(_a, [\"className\", \"options\", \"value\", \"onChange\", \"size\", \"disabled\", \"hasError\"]);\n const handleChange = useCallback((e) => {\n if (!onChange)\n return;\n onChange(e.currentTarget.value);\n }, [onChange]);\n return (React.createElement(SelectInput, Object.assign({ className: className, sizeVariant: size, value: value !== null && value !== void 0 ? value : undefined, onChange: handleChange, disabled: disabled, hasError: hasError, ref: ref }, otherProps), !!options &&\n options.map((option) => (React.createElement(\"option\", { key: option.label, value: option.value, disabled: option.disabled, hidden: option.hidden }, option.label)))));\n}));\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Slider = styled.span.withConfig({ displayName: \"vui--Slider\", componentId: \"vui--x03mdi\" }) `content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:18px;background-color:#cdd1d5;-webkit-transition:0.3s;transition:0.3s;&:after{content:'';position:absolute;border-radius:50%;background-color:${({ disabled, switched }) => disabled && switched ? theme.colors.secondary.blue.lightest : 'white'};-webkit-transition:0.3s;transition:0.3s;}`;\nconst Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1ccelw2\" }) `width:100%;height:100%;border-radius:${theme.radius.base};z-index:2;margin:0;cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};&:focus-visible + ${Slider}{box-shadow:0 0 0 4px ${theme.colors.brand.blue.light};}&:checked + ${Slider}{background-color:#0079d1;}&:disabled + ${Slider}{background-color:${theme.colors.neutral.grey.base};}&:checked:disabled + ${Slider}{background-color:${theme.colors.secondary.blue.light};}`;\nconst Switch = styled.span.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--13yy1uj\" }) `display:flex;position:relative;height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};z-index:1;input{position:absolute;opacity:0;}${Slider}:after{height:${({ small }) => (small ? '22px' : '28px')};width:${({ small }) => (small ? '22px' : '28px')};left:${({ small }) => (small ? '3px' : '4px')};bottom:${({ small }) => (small ? '3px' : '4px')};}${Input}:checked + ${Slider}{&:after,svg{-webkit-transform:translateX(${({ small }) => (small ? '28px' : '36px')});-ms-transform:translateX(${({ small }) => (small ? '28px' : '36px')});transform:translateX(${({ small }) => (small ? '28px' : '36px')});}}`;\nconst Wrapper = styled(BaseContainer).withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--69792q\" }) `display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Input, Slider, Switch, Wrapper } from './styled';\nimport { Choice } from '../Choice';\n/**\n * A toggle switch component, use-cases should provide a label, wrap with a custom one or pass in an aria-label.\n */\nexport const Toggle = forwardRef((_a, ref) => {\n var { id = 'testid', className, name, switched, small, onClick = () => { }, disabled, ariaLabel, inputPosition = 'right' } = _a, choiceProps = __rest(_a, [\"id\", \"className\", \"name\", \"switched\", \"small\", \"onClick\", \"disabled\", \"ariaLabel\", \"inputPosition\"]);\n return (React.createElement(Choice, Object.assign({ id: id, inputPosition: inputPosition }, choiceProps),\n React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, className: className },\n React.createElement(Input, { id: id, role: \"switch\", type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: (e) => (disabled ? undefined : onClick(e)), disabled: disabled, ref: ref }),\n React.createElement(Slider, { switched: switched, disabled: disabled })))));\n});\n//# sourceMappingURL=Toggle.js.map","export const DEFAULT_PREVIOUS_PERIOD_OPTIONS = [\n { label: 'Previous Day', value: 'PREVIOUS_DAY' },\n { label: 'Previous Week', value: 'PREVIOUS_WEEK' },\n { label: 'Previous Month', value: 'PREVIOUS_MONTH' },\n { label: 'Previous Year', value: 'PREVIOUS_YEAR' },\n];\n//# sourceMappingURL=constants.js.map","import React, { useEffect, useState } from 'react';\nimport { Toggle } from '../../Toggle';\nimport { Text } from '../../Text';\nimport { Select } from '../../Select';\nimport { theme } from '../../../theme';\nimport { DEFAULT_PREVIOUS_PERIOD_OPTIONS } from './constants';\nexport const ComparePreviousPeriod = ({ options = DEFAULT_PREVIOUS_PERIOD_OPTIONS, selectedPreviousPeriod, setSelectedPreviousPeriod, }) => {\n const [showCompareSelect, setShowCompareSelect] = useState(!!selectedPreviousPeriod);\n const findAndSelectOption = (newValue) => {\n const newOption = options.find(({ value }) => value === newValue);\n if (newOption)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(newOption);\n };\n const toggleShowSelect = () => {\n // When toggled off, unselect show previous period.\n if (showCompareSelect)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(null);\n setShowCompareSelect(!showCompareSelect);\n };\n // If no option is currently selected, we set to the first option provided.\n useEffect(() => {\n if (!selectedPreviousPeriod)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(options[0]);\n }, [selectedPreviousPeriod, setSelectedPreviousPeriod, options]);\n return (React.createElement(React.Fragment, null,\n React.createElement(Text, { variant: \"inputLabel\", style: {\n display: 'flex',\n alignItems: 'center',\n gap: theme.sizes.sm,\n whiteSpace: 'nowrap',\n } },\n React.createElement(Toggle, { small: true, switched: showCompareSelect, onClick: toggleShowSelect }),\n \"Compare previous period\"),\n showCompareSelect && (React.createElement(Select, { \"aria-label\": \"Period to compare against\", options: options, \n // To avoid screen jumping (before useEffect kicks in, default value to first option)\n value: (selectedPreviousPeriod === null || selectedPreviousPeriod === void 0 ? void 0 : selectedPreviousPeriod.value) || options[0].value, onChange: findAndSelectOption }))));\n};\n//# sourceMappingURL=ComparePreviousPeriod.js.map","import { CalendarDate, endOfMonth, getLocalTimeZone, now, startOfMonth, startOfWeek, startOfYear, } from '@internationalized/date';\nexport var DateRanges;\n(function (DateRanges) {\n DateRanges[\"TODAY\"] = \"TODAY\";\n DateRanges[\"YESTERDAY\"] = \"YESTERDAY\";\n DateRanges[\"LAST_7_DAYS\"] = \"LAST_7_DAYS\";\n DateRanges[\"LAST_30_DAYS\"] = \"LAST_30_DAYS\";\n DateRanges[\"LAST_90_DAYS\"] = \"LAST_90_DAYS\";\n DateRanges[\"LAST_MONTH\"] = \"LAST_MONTH\";\n DateRanges[\"LAST_12_MONTHS\"] = \"LAST_12_MONTHS\";\n DateRanges[\"WEEK_TO_DATE\"] = \"WEEK_TO_DATE\";\n DateRanges[\"MONTH_TO_DATE\"] = \"MONTH_TO_DATE\";\n DateRanges[\"YEAR_TO_DATE\"] = \"YEAR_TO_DATE\";\n})(DateRanges || (DateRanges = {}));\nexport const timeRangeToDateRange = (range) => {\n const { start, end } = range;\n const startDate = new CalendarDate(start.year, start.month, start.day);\n const endDate = new CalendarDate(end.year, end.month, end.day);\n return { start: startDate, end: endDate };\n};\nexport const getDateRange = (option) => {\n // Getting today every time function is called. Don't want this to be stale\n const today = now(getLocalTimeZone());\n let dateRange;\n switch (option) {\n case DateRanges.TODAY:\n dateRange = { start: today, end: today };\n break;\n case DateRanges.YESTERDAY:\n dateRange = {\n start: today.subtract({ days: 1 }),\n end: today.subtract({ days: 1 }),\n };\n break;\n case DateRanges.LAST_7_DAYS:\n dateRange = {\n start: today.subtract({ days: 7 }),\n end: today,\n };\n break;\n case DateRanges.LAST_30_DAYS:\n dateRange = {\n start: today.subtract({ days: 30 }),\n end: today,\n };\n break;\n case DateRanges.LAST_90_DAYS:\n dateRange = { start: today.subtract({ days: 90 }), end: today };\n break;\n case DateRanges.LAST_MONTH: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = { start: lastMonth, end: endOfMonth(lastMonth) };\n break;\n }\n case DateRanges.LAST_12_MONTHS: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = {\n start: startOfMonth(lastMonth).subtract({ months: 12 }),\n end: endOfMonth(lastMonth),\n };\n break;\n }\n case DateRanges.WEEK_TO_DATE:\n dateRange = { start: startOfWeek(today, navigator.language), end: today };\n break;\n case DateRanges.MONTH_TO_DATE:\n dateRange = { start: startOfMonth(today), end: today };\n break;\n case DateRanges.YEAR_TO_DATE:\n dateRange = { start: startOfYear(today), end: today };\n break;\n default:\n return null;\n }\n return timeRangeToDateRange(dateRange);\n};\nexport const DATE_RANGE_OPTIONS = [\n { label: 'Custom', value: 'CUSTOM', disabled: true },\n { label: 'Today', value: DateRanges.TODAY },\n { label: 'Yesterday', value: DateRanges.YESTERDAY },\n { label: 'Last 7 Days', value: DateRanges.LAST_7_DAYS },\n { label: 'Last 30 Days', value: DateRanges.LAST_30_DAYS },\n { label: 'Last 90 Days', value: DateRanges.LAST_90_DAYS },\n { label: 'Last Month', value: DateRanges.LAST_MONTH },\n { label: 'Last 12 Months', value: DateRanges.LAST_12_MONTHS },\n { label: 'Week to Date', value: DateRanges.WEEK_TO_DATE },\n { label: 'Month to Date', value: DateRanges.MONTH_TO_DATE },\n { label: 'Year to Date', value: DateRanges.YEAR_TO_DATE },\n];\nexport const checkForMatchingPreset = (selectedRange) => DATE_RANGE_OPTIONS.reduce((match, option) => {\n if (option.hidden || match)\n return match; // Skip hidden options or if a match is already found\n const optionDateRange = getDateRange(option.value);\n if (!optionDateRange)\n return match; // Skip when no match.\n const { start: optionStart, end: optionEnd } = optionDateRange;\n if (selectedRange.start.compare(optionStart) === 0 &&\n selectedRange.end.compare(optionEnd) === 0) {\n return option;\n }\n return match;\n}, undefined);\nexport const DEFAULT_SELECTION = DateRanges.LAST_30_DAYS;\nexport const DEFAULT_RANGE = getDateRange(DEFAULT_SELECTION);\nexport const DEFAULT_PRESET = DATE_RANGE_OPTIONS.find(({ value }) => value === DEFAULT_SELECTION);\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Divider = styled.div.withConfig({ displayName: \"vui--Divider\", componentId: \"vui--ssvmxc\" }) `margin:0 -${theme.sizes.base};border-top:1px solid ${theme.colors.neutral.grey.base};`;\n//# sourceMappingURL=Divider.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { Button } from '../Button';\nimport { Select } from '../Select';\nimport { DateInputField } from '../DateInputField';\nimport { RangeCalendar, useIsDateUnavailable } from '../Calendars';\nimport { Card } from '../Card';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { ComparePreviousPeriod } from './components/ComparePreviousPeriod';\nimport { DATE_RANGE_OPTIONS, DateRanges, checkForMatchingPreset, getDateRange } from './constants';\nimport { Divider } from './components/Divider';\nexport const DateRangePicker = (_a) => {\n var { \n // Style props\n className, style, isDisabled, \n // Customizable options\n showDatePresets = true, onReset, \n // Calendar props\n disabledRanges, disallowWeekends, maxValue, minValue, selectedPreset, setSelectedPreset, selectedRange, setSelectedRange, \n // Previous period props\n 'aria-describedby': ariaDescribedBy, 'aria-label': ariaLabel } = _a, previousPeriodProps = __rest(_a, [\"className\", \"style\", \"isDisabled\", \"showDatePresets\", \"onReset\", \"disabledRanges\", \"disallowWeekends\", \"maxValue\", \"minValue\", \"selectedPreset\", \"setSelectedPreset\", \"selectedRange\", \"setSelectedRange\", 'aria-describedby', 'aria-label']);\n const { isDateRangeUnavailable } = useIsDateUnavailable({\n disabledRanges,\n disallowWeekends,\n maxValue,\n minValue,\n });\n const updateRangePreset = (selectedValue) => {\n setSelectedRange(getDateRange(DateRanges[selectedValue]));\n setSelectedPreset(DATE_RANGE_OPTIONS.find(({ value }) => value === selectedValue) || DATE_RANGE_OPTIONS[0]);\n };\n const updateDateSegment = useCallback((slot) => (value) => {\n const newRange = {\n start: slot === 'start' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start,\n end: slot === 'end' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end,\n };\n setSelectedRange(newRange);\n }, [selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end, selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start, setSelectedRange]);\n const isDateRangeInvalid = useMemo(() => isDateRangeUnavailable(selectedRange), [isDateRangeUnavailable, selectedRange]);\n // Memoize finding preset since checkForMatchingPreset isn't quick.\n const matchedPreset = useMemo(() => {\n if (!selectedRange)\n return null;\n return checkForMatchingPreset(selectedRange);\n }, [selectedRange]);\n useEffect(() => {\n if (matchedPreset)\n setSelectedPreset(matchedPreset); // If selected value is a preset, set it.\n else\n setSelectedPreset(DATE_RANGE_OPTIONS[0]); // Otherwise, select \"custom\" option.\n }, [matchedPreset, setSelectedPreset]);\n return (React.createElement(Stack, { direction: \"vertical\", alignX: \"stretch\", spacing: \"0\", style: Object.assign({ gap: theme.sizes.base }, style), className: className, \"aria-describedby\": ariaDescribedBy, \"aria-label\": ariaLabel },\n showDatePresets && (React.createElement(Select, { disabled: isDisabled, label: \"Date Range\", options: DATE_RANGE_OPTIONS, value: selectedPreset === null || selectedPreset === void 0 ? void 0 : selectedPreset.value, onChange: updateRangePreset })),\n React.createElement(DateInputField, { isRangeInput: true, isDisabled: isDisabled, label: \"Start date - End date\", onChangeStartDate: updateDateSegment('start'), onChangeEndDate: updateDateSegment('end'), startValue: selectedRange && selectedRange.start, endValue: selectedRange && selectedRange.end, error: isDateRangeInvalid ? 'Range contains invalid dates' : undefined, disabledRanges: disabledRanges, disallowWeekends: disallowWeekends, maxValue: maxValue, minValue: minValue }),\n previousPeriodProps.showPreviousPeriod && React.createElement(ComparePreviousPeriod, Object.assign({}, previousPeriodProps)),\n React.createElement(Divider, null),\n React.createElement(Stack, { alignX: \"center\" },\n React.createElement(RangeCalendar, { \"aria-label\": \"Selected Date Range\", isDisabled: isDisabled, value: selectedRange, onChange: setSelectedRange, disabledRanges: disabledRanges, maxValue: maxValue, minValue: minValue, disallowWeekends: disallowWeekends })),\n !!onReset && (React.createElement(React.Fragment, null,\n React.createElement(Divider, null),\n React.createElement(Card.Footer, { style: { display: 'flex', justifyContent: 'end', padding: 0, margin: 0 } },\n React.createElement(Button, { variant: \"default\", size: \"sm\", onClick: onReset, disabled: isDisabled }, \"Reset\"))))));\n};\n//# sourceMappingURL=DateRangePicker.js.map","export function alignmentToFlex(align) {\n switch (align) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n}\n//# sourceMappingURL=alignmentToFlex.js.map","export function parseWidth(width, fallback) {\n switch (typeof width) {\n case 'string':\n return width;\n case 'number':\n return `${width}px`;\n case 'object':\n return `minmax(${parseWidth(width.min, 'max-content')}, ${parseWidth(width.max)})`;\n default:\n return fallback || '1fr';\n }\n}\n//# sourceMappingURL=parseWidth.js.map","import { theme } from '../../../theme';\nimport { parseWidth } from './parseWidth';\nimport { sumAllAfterIndex, sumAllBeforeIndex } from './sumAll';\nexport function generateTableCss({ pinnedLeft, pinnedRight, cellWidths, scrollPosition, stripingMode, columnWidths, columns, }) {\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: ${columns.map((column) => { var _a; return parseWidth((_a = columnWidths[column.id]) !== null && _a !== void 0 ? _a : column.width); }).join(' ')};\n\n th::after, td::after {\n transition: box-shadow .3s;\n }\n\n ${pinnedLeft.length > 0 ? pinnedLeftStyles : ''}\n ${pinnedRight.length > 0 ? pinnedRightStyles : ''}\n\n ${leftShadow}\n ${rightShadow}\n\n ${stripingMode === 'nested' ? stripingNested : stripingRow}\n `;\n}\n//# sourceMappingURL=generateTableCss.js.map","export function sumAllBeforeIndex(array, index) {\n return array.slice(0, index - 1).reduce((acc, val) => acc + val, 0);\n}\nexport function sumAllAfterIndex(array, index) {\n return array.slice(index).reduce((acc, val) => acc + val, 0);\n}\n//# sourceMappingURL=sumAll.js.map","/* Sorting */\nexport var SortDirection;\n(function (SortDirection) {\n SortDirection[\"ascending\"] = \"ascending\";\n SortDirection[\"descending\"] = \"descending\";\n})(SortDirection || (SortDirection = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const DoubleArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DoubleArrowIconIcon.js.map","import React from 'react';\nexport const ArrowUpIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M13 20V7.83L18.59 13.42L20 12L12 4L4 12L5.41 13.41L11 7.83L11 20H13Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowUpIcon.js.map","import React from 'react';\nexport const ArrowDownIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11 4V16.17L5.41 10.58L4 12L12 20L20 12L18.59 10.59L13 16.17L13 4H11Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowDownIcon.js.map","import React from 'react';\nimport { theme } from '../../../theme';\nimport { SortDirection } from '../types';\nimport { DoubleArrowIcon } from '../../../tempIcons/DoubleArrowIconIcon';\nimport { ArrowUpIcon } from '../../../tempIcons/ArrowUpIcon';\nimport { ArrowDownIcon } from '../../../tempIcons/ArrowDownIcon';\nexport const GetSortIcon = ({ sortState, columnId, size }) => {\n if (!sortState || sortState.columnId !== columnId)\n return React.createElement(DoubleArrowIcon, { size: size });\n if (sortState.direction === SortDirection.ascending) {\n return React.createElement(ArrowUpIcon, { color: theme.colors.neutral.ink.dark, size: size });\n }\n return React.createElement(ArrowDownIcon, { color: theme.colors.neutral.ink.dark, size: size });\n};\n//# sourceMappingURL=GetSortIcon.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nexport function useCellWidths(tableRef, containerRef) {\n const [cellWidths, setCellWidths] = useState([]);\n const updateCellWidths = () => {\n if (!tableRef.current)\n return;\n const cells = tableRef.current.querySelectorAll('tbody tr:first-child td');\n const widths = Array.from(cells).map((cell) => cell.getBoundingClientRect().width);\n setCellWidths(widths);\n };\n useEffect(() => {\n updateCellWidths();\n }, [tableRef.current]);\n // Update cell widths when container is resized.\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateCellWidths, 50); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n // eslint-disable-next-line consistent-return\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return cellWidths;\n}\n//# sourceMappingURL=useCellWidths.js.map","class CustomEvent extends Event {\n constructor(eventType, data) {\n super(eventType, { bubbles: true, cancelable: true });\n this.data = data;\n }\n}\nexport const customEventEmitter = (eventType, data) => {\n const evt = new CustomEvent(eventType, data);\n document.dispatchEvent(evt);\n};\n//# sourceMappingURL=customEventEmitter.js.map","import { useEffect, useState } from 'react';\nimport { customEventEmitter } from '../utils/customEventEmitter';\nexport const useColumnWidths = ({ tableRef, columns, columnIds, columnWidths: initialColumnWidths, }) => {\n const getColumnWidths = (cols) => cols.reduce((obj, item) => {\n // eslint-disable-next-line no-param-reassign\n obj[item.id] = item.width;\n return obj;\n }, {});\n const [columnWidths, setColumnWidths] = useState(initialColumnWidths || {});\n const setColumnWidth = ({ columnId, width }) => {\n const calculateWidth = (column, lastColumn) => {\n var _a, _b, _c;\n if (lastColumn)\n return columnWidths[column.id] || column.width;\n const val = columnWidths[column.id] ||\n column.width ||\n ((_c = (_b = (_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`th[data-columnid=\"${column.id}\"]`)) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect()) === null || _c === void 0 ? void 0 : _c.width) ||\n undefined;\n return val;\n };\n const newColumnWidths = Object.assign({}, columnWidths);\n columns.forEach((column, i) => {\n const lastColumn = i === columns.length - 1;\n const newWidth = column.id === columnId ? width : calculateWidth(column, lastColumn);\n newColumnWidths[column.id] = newWidth;\n });\n setColumnWidths(newColumnWidths);\n customEventEmitter('columnWidthUpdated', {\n tableRef,\n // eslint-disable-next-line @typescript-eslint/no-shadow\n columnWidths: newColumnWidths,\n });\n return newColumnWidths;\n };\n useEffect(() => {\n const widths = getColumnWidths(columns);\n const newColumnWidths = initialColumnWidths ? Object.assign({}, columnWidths) : widths;\n Object.keys(widths).forEach((key) => {\n if (typeof columnWidths[key] === undefined) {\n newColumnWidths[key] = widths[key];\n }\n });\n setColumnWidths(newColumnWidths);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(columnIds)]);\n /** This is used to set column widths when new columns are passed into the DataTable, is used when persisting table widths */\n useEffect(() => {\n if (!initialColumnWidths)\n return;\n setColumnWidths(initialColumnWidths);\n }, [initialColumnWidths]);\n return {\n setColumnWidth,\n columnWidths,\n };\n};\n//# sourceMappingURL=useColumnWidths.js.map","import { useCallback } from 'react';\nimport { useColumnWidths } from './useColumnWidths';\nexport function useColumns(columns, tableRef, onResizeColumns, columnWidths) {\n const { columnWidths: finalColumnWidths, setColumnWidth: originalSetColumnWidth } = useColumnWidths({\n tableRef,\n columns,\n columnIds: columns.map(({ id }) => id),\n columnWidths,\n });\n const setColumnWidth = useCallback(({ columnId, width }) => {\n const updatedColumnWidths = originalSetColumnWidth({ columnId, width });\n if (onResizeColumns) {\n onResizeColumns(updatedColumnWidths || finalColumnWidths);\n }\n }, [originalSetColumnWidth, onResizeColumns, finalColumnWidths]);\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 columnWidths: finalColumnWidths,\n pinnedLeft,\n pinnedRight,\n setColumnWidth,\n };\n}\n//# sourceMappingURL=useColumns.js.map","import { useEffect } from 'react';\nexport function useDragToScroll(targetRef) {\n useEffect(() => {\n if (!targetRef.current)\n return;\n let isDragging = false;\n const scrollTarget = targetRef.current;\n const position = {\n left: 0,\n x: 0,\n };\n const mouseMoveHandler = (e) => {\n if (!scrollTarget)\n return;\n const dx = e.clientX - position.x;\n scrollTarget.scrollLeft = position.left - dx;\n if (!isDragging) {\n scrollTarget.style.cursor = 'grabbing';\n scrollTarget.style.userSelect = 'none';\n }\n isDragging = true;\n };\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n isDragging = false;\n if (!scrollTarget)\n return;\n scrollTarget.style.removeProperty('cursor');\n scrollTarget.style.removeProperty('user-select');\n };\n const mouseDownHandler = (e) => {\n var _a, _b, _c;\n if (!scrollTarget)\n return;\n /** NOTE: prevents table scroll when resizing columns,\n * unable to use event.stopPropogation as event is a react Synthetic event which treats the event as the same, as they are on the same node, is discussed here\n * https://dev.to/dvnrsn/why-isn-t-event-stoppropagation-working-1bnm.\n */\n if (e.target instanceof HTMLElement && ((_c = (_b = (_a = e.target) === null || _a === void 0 ? void 0 : _a.classList) === null || _b === void 0 ? void 0 : _b.contains) === null || _c === void 0 ? void 0 : _c.call(_b, 'th-divider')))\n return;\n position.left = scrollTarget.scrollLeft;\n position.x = e.clientX;\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n };\n scrollTarget.addEventListener('mousedown', mouseDownHandler);\n /* eslint-disable-next-line consistent-return */\n return () => scrollTarget === null || scrollTarget === void 0 ? void 0 : scrollTarget.removeEventListener('mousedown', mouseDownHandler);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [targetRef.current]);\n}\n//# sourceMappingURL=useDragToScroll.js.map","import { useState } from 'react';\nexport function useNested() {\n const [expandedRowIds, setExpandedRowIds] = useState([]);\n // TODO: Memoise this\n const setExpanded = (expanded, rowId) => {\n if (!rowId)\n return;\n if (expanded) {\n // Add rowId to expandedRowIds\n if (expandedRowIds.includes(rowId))\n return;\n const rowIds = [...expandedRowIds, rowId];\n setExpandedRowIds(rowIds);\n }\n else {\n // Remove rowIds from expandedRowIds\n const index = expandedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...expandedRowIds];\n rowIds.splice(index, 1);\n setExpandedRowIds(rowIds);\n }\n };\n return {\n nestedTableProps: {\n expandedRowIds,\n setExpanded,\n },\n };\n}\n//# sourceMappingURL=useNested.js.map","/* eslint-disable consistent-return */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport throttle from 'lodash.throttle';\nexport function useScrollPosition(containerRef) {\n const [scrollPosition, setScrollPosition] = useState('start');\n const updateScrollPosition = () => {\n if (!containerRef.current)\n return;\n const { width } = containerRef.current.getBoundingClientRect();\n const { scrollLeft, scrollWidth } = containerRef.current;\n if (scrollWidth < width) {\n setScrollPosition('none');\n return;\n }\n if (scrollLeft === 0) {\n setScrollPosition('start');\n return;\n }\n if (scrollLeft + width >= scrollWidth) {\n setScrollPosition('end');\n return;\n }\n setScrollPosition('middle');\n };\n useEffect(() => {\n if (!containerRef.current)\n return;\n containerRef.current.addEventListener('scroll', updateScrollPosition);\n return () => { var _a; return (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateScrollPosition); };\n }, [containerRef.current]);\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateScrollPosition, 50);\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return { scrollPosition, containerRef };\n}\n//# sourceMappingURL=useScrollPosition.js.map","export const defaultCellSpacing = 3;\nexport const headerCellHeight = '56px';\nexport const footerCellHeight = '56px';\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, headerCellHeight } from '../constants';\nexport const Header = styled.th.withConfig({ displayName: \"vui--Header\", componentId: \"vui--12e6ib8\" }) `height:${headerCellHeight};position:relative;display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};z-index:${({ zIndex = 0 }) => zIndex};background-color:white;padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};border-bottom:1px solid ${theme.colors.neutral.grey.base};grid-column-end:${({ span = 1 }) => `span ${span}`};`;\n//# sourceMappingURL=Header.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Header } from './Header';\nexport function SelectionHeader(_a) {\n var { selected, indeterminate, onChange, selectionMode } = _a, headerProps = __rest(_a, [\"selected\", \"indeterminate\", \"onChange\", \"selectionMode\"]);\n if (selectionMode === 'single')\n return React.createElement(Header, Object.assign({}, headerProps));\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Checkbox, { checked: selected, indeterminate: indeterminate, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, footerCellHeight } from '../constants';\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--1oz46st\" }) `display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-bottom:var(--density);padding-top:var(--density);padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};color:${theme.text.bodySmall.color};font-family:${theme.text.bodySmall.fontFamily};font-size:${theme.text.bodySmall.fontSize};font-style:${theme.text.bodySmall.fontStyle};font-weight:${theme.text.bodySmall.fontWeight};line-height:${theme.text.bodySmall.lineHeight};grid-column-end:${({ span = 1 }) => `span ${span}`};tfoot &{min-height:${footerCellHeight};border-top:1px solid ${theme.colors.secondary.blue.base};background-color:${theme.colors.neutral.grey.lightest};}`;\n//# sourceMappingURL=Cell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Radio } from '../../Radio';\nimport { Cell } from './Cell';\nexport function SelectionCell(_a) {\n var { selected, rowId, onChange, selectionMode, disabled } = _a, cellProps = __rest(_a, [\"selected\", \"rowId\", \"onChange\", \"selectionMode\", \"disabled\"]);\n if (selectionMode === 'single') {\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Radio, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n }\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Checkbox, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionCell.js.map","/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { SelectionHeader } from '../components/SelectionHeader';\nimport { SelectionCell } from '../components/SelectionCell';\nconst emptySelectionState = [[], () => { }];\nexport function useSelection({ selectionMode = 'multiple', selectionState, enabledRowIds, }) {\n const selectionEnabled = !!selectionState;\n const [selectedRowIds, setSelectedRowIds] = selectionState || emptySelectionState;\n // TODO: Memoise this\n const setSelected = (selected, rowId) => {\n if (rowId === undefined || rowId === null)\n return; // Can't use falsey, must allow number 0\n if (selected && selectionMode === 'single') {\n // Replace selectedRowIds with only the current rowId\n setSelectedRowIds([rowId]);\n return;\n }\n if (selected) {\n // Add rowId to selectedRowIds\n if (selectedRowIds.includes(rowId))\n return;\n const rowIds = [...selectedRowIds, rowId];\n setSelectedRowIds(rowIds);\n }\n else {\n // Remove rowIds from selectedRowIds\n const index = selectedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...selectedRowIds];\n rowIds.splice(index, 1);\n setSelectedRowIds(rowIds);\n }\n };\n // TODO: Memoise this\n const toggleAllSelected = () => {\n if (selectedRowIds.length === enabledRowIds.length) {\n setSelectedRowIds([]);\n return;\n }\n setSelectedRowIds(enabledRowIds);\n };\n // TODO: Memoise this\n const selectionColumn = {\n id: 'selection',\n title: 'Selection',\n width: '40px',\n align: 'center',\n pinned: 'left',\n renderHeader: (column, headerProps) => (React.createElement(SelectionHeader, Object.assign({}, headerProps, { selected: selectedRowIds.length === enabledRowIds.length, indeterminate: selectedRowIds.length > 0 && selectedRowIds.length < enabledRowIds.length, onChange: toggleAllSelected, selectionMode: selectionMode }))),\n renderCell: (row, cellProps, actions, rowState) => (React.createElement(SelectionCell, Object.assign({}, cellProps, { rowId: row.id, selected: rowState.selected, onChange: actions.setSelected, selectionMode: selectionMode, disabled: rowState.disabled }))),\n };\n return {\n selectionEnabled,\n selectedRowIds,\n selectionColumn,\n setSelected,\n };\n}\n//# sourceMappingURL=useSelection.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const SortIndicator = styled.div.withConfig({ displayName: \"vui--SortIndicator\", componentId: \"vui--o7masx\" }) `width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:white;color:${theme.colors.neutral.ink.lightest};`;\nexport const HeaderContent = styled.span.withConfig({ displayName: \"vui--HeaderContent\", componentId: \"vui--vlccds\" }) `display:flex;height:28px;align-items:center;gap:4px;white-space:nowrap;color:${theme.text.headingTable.color};font-family:${theme.text.headingTable.fontFamily};font-size:${theme.text.headingTable.fontSize};font-style:${theme.text.headingTable.fontStyle};font-weight:${theme.text.headingTable.fontWeight};line-height:${theme.text.headingTable.lineHeight};`;\nexport const ClickableHeaderContent = styled(HeaderContent).attrs(() => ({\n as: 'button',\n type: 'button',\n})).withConfig({ displayName: \"vui--ClickableHeaderContent\", componentId: \"vui--xbox8h\" }) `appearance:none;padding:0;border:0;border-radius:4px;background-color:transparent;&:not(:disabled):hover{cursor:pointer;}&:hover ${SortIndicator}{background-color:${theme.colors.neutral.grey.light};color:${theme.colors.neutral.ink.base};}&:focus-visible{outline:0;box-shadow:0px 0px 0px 2px ${theme.colors.secondary.blue.light};}`;\n//# sourceMappingURL=ColumnHeader.js.map","import React, { createRef } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const ResizerBar = styled.div.withConfig({ displayName: \"vui--ResizerBar\", componentId: \"vui--115ilx\" }) `position:absolute;right:0;top:37.5%;width:1px;background:${theme.colors.neutral.grey.dark};min-height:25%;cursor:col-resize;user-select:none;&::before{content:'';position:absolute;top:-150%;left:0;width:12px;min-height:400%;z-index:1;transform:translateX(-6px);}`;\nexport const ColumnDivider = ({ columnId, setColumnWidth, minWidth }) => {\n const ref = createRef();\n const padding = 24;\n const mouseMove = (event) => {\n const { minTranslate, dragDivider, dragInitX } = window.tableHeaders;\n const translate = Math.max(event.clientX - (dragInitX || 0), minTranslate || 0);\n dragDivider.parentElement.parentElement.classList.add('hideHeaderDetails');\n dragDivider.style.transform = `translateX(${translate}px)`;\n };\n const minTranslate = () => {\n const { parentElement } = window.tableHeaders.dragDivider;\n const contentWidth = parentElement\n .querySelector('.headerContent')\n .getBoundingClientRect().width;\n const currWidth = parentElement.getBoundingClientRect().width;\n return contentWidth - currWidth + padding;\n };\n const calculateWidth = ({ event }) => {\n const { dragInitX, dragDivider } = window.tableHeaders;\n const { parentElement } = dragDivider;\n const initWidth = parentElement === null || parentElement === void 0 ? void 0 : parentElement.getBoundingClientRect().width;\n const contentWidth = parentElement\n .querySelector('.headerContent')\n .getBoundingClientRect().width;\n const finalWidth = minWidth && contentWidth < minWidth ? minWidth : contentWidth;\n const deltaX = (event.clientX || 0) - (dragInitX || 0);\n return Math.max((initWidth || 0) + deltaX, finalWidth + padding);\n };\n const mouseUp = (event) => {\n window.removeEventListener('mouseup', mouseUp);\n window.removeEventListener('dragend', mouseUp);\n window.removeEventListener('mousemove', mouseMove);\n window.removeEventListener('drag', mouseMove);\n setColumnWidth === null || setColumnWidth === void 0 ? void 0 : setColumnWidth({ columnId, width: calculateWidth({ event }) });\n if (window.tableHeaders) {\n window.tableHeaders.dragDivider.style.transform = 'translateX(0)';\n window.tableHeaders.dragDivider.parentElement.style.justifyContent = '';\n window.tableHeaders.dragInitX = undefined;\n window.tableHeaders.minTranslate = undefined;\n window.tableHeaders.dragDivider.parentElement.parentElement.classList.remove('hideHeaderDetails');\n }\n };\n const trackMouseStart = (event) => {\n if (event.button !== 0 && event.type !== 'dragstart')\n return;\n window.tableHeaders = {\n dragInitX: event.clientX,\n dragDivider: ref.current,\n };\n window.tableHeaders.minTranslate = minTranslate();\n window.addEventListener('mouseup', mouseUp);\n window.addEventListener('dragend', mouseUp);\n window.addEventListener('mousemove', mouseMove);\n window.addEventListener('drag', mouseMove);\n };\n return (React.createElement(ResizerBar, { ref: ref, className: \"th-divider\", onMouseDown: trackMouseStart, onDragStart: trackMouseStart }));\n};\n//# sourceMappingURL=ColumnDivider.js.map","import React from 'react';\nimport { Tooltip } from '../../Tooltip';\nimport { Header } from '../components/Header';\nimport { HeaderContent, ClickableHeaderContent, SortIndicator } from '../components/ColumnHeader';\nimport { getNextSortState, GetSortIcon } from '../utils';\nimport { ColumnDivider } from '../components/ColumnDivider';\n/**\n * Default renderer for table header cells\n *\n * @param column Column configuration object\n * @returns Header cell instance\n */\nexport function renderHeader({ column, sortState, onChangeSort, resizeableColumns, setColumnWidth, columnCount = 1, columnI = 0, }) {\n if (column.sortable && !sortState) {\n throw new Error(`Column '${column.id}' is configured to be sortable but the 'sortState' prop is missing.`);\n }\n if (column.hidden) {\n return null;\n }\n const headerProps = {\n key: column.id.toString(),\n id: `datatable-header-${column.id}`,\n 'data-columnid': String(column.id),\n role: 'columnheader',\n align: column.align,\n spacing: column.spacing,\n className: column.sortable ? 'sortable' : undefined,\n };\n // If defined, use custom renderer\n if (column.renderHeader) {\n return column.renderHeader(column, headerProps);\n }\n const handleClickSort = () => {\n if (!sortState) {\n console.warn('DataGrid::renderHeader::handleClickSort - sortState is not defined');\n return;\n }\n const nextSortState = getNextSortState({ sortState, columnId: column.id });\n if (!onChangeSort) {\n console.warn('DataGrid::renderHeader::handleClickSort - onChangeSort is not defined');\n return;\n }\n onChangeSort(nextSortState);\n };\n const ColumnHeaderContent = column.sortable ? ClickableHeaderContent : HeaderContent;\n const columnHeaderProps = column.sortable ? { onClick: handleClickSort } : {};\n return (React.createElement(Header, Object.assign({}, headerProps, { zIndex: 3 }),\n React.createElement(Tooltip, { text: column.tooltip },\n React.createElement(ColumnHeaderContent, Object.assign({}, columnHeaderProps, { className: \"headerContent\" }),\n column.iconSlot,\n column.title && React.createElement(\"span\", null, column.title),\n column.sortable && (React.createElement(SortIndicator, null,\n React.createElement(GetSortIcon, { sortState: sortState, columnId: column.id, size: 5 }))))),\n resizeableColumns && columnI < columnCount - 1 && (React.createElement(ColumnDivider, { columnId: column.id, setColumnWidth: setColumnWidth, minWidth: column === null || column === void 0 ? void 0 : column.resizeMinWidth }))));\n}\n//# sourceMappingURL=renderHeader.js.map","import { SortDirection } from '../types';\nexport function getNextSortState({ sortState, columnId }) {\n const isColumnSame = sortState.columnId === columnId;\n const isDefaultDirection = sortState.direction === SortDirection.ascending;\n let newSortDirection = SortDirection.ascending;\n if (isColumnSame && isDefaultDirection) {\n newSortDirection = SortDirection.descending;\n }\n return { columnId, direction: newSortDirection };\n}\n//# sourceMappingURL=getNextSortState.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\n/* Loading content shimmer animation */\nconst shimmerLight = theme.colors.neutral.grey.base;\nconst shimmerDark = theme.colors.neutral.grey.dark;\nexport const LoadingCellContent = styled.div.withConfig({ displayName: \"vui--LoadingCellContent\", componentId: \"vui--1mf4ayh\" }) `height:20px;width:75%;border-radius:${theme.radius.base};background:${shimmerLight};background-image:linear-gradient(\\n to right,\\n ${shimmerLight} 0%,\\n ${shimmerDark} 20%,\\n ${shimmerLight} 40%,\\n ${shimmerLight} 100%\\n );background-repeat:no-repeat;background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeholderShimmer;animation-timing-function:linear;@keyframes placeholderShimmer{0%{background-position:-468px 0;}100%{background-position:468px 0;}}`;\n//# sourceMappingURL=LoadingCellContent.js.map","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { renderHeader } from '../renderers/renderHeader';\nimport { headerCellHeight } from '../constants';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1feqxrw\" }) `display:grid;grid-template-columns:auto 1fr;align-items:center;position:absolute;top:0;left:0;right:0;z-index:50;height:${headerCellHeight};background-color:white;`;\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--dbz7t3\" }) `width:100%;height:100%;display:flex;align-items:center;padding:0 0.5rem;border-bottom:1px solid ${theme.colors.neutral.grey.base};& > *{flex:1;}`;\nexport function ActionBar({ selectionColumn, intersectionTargetRef, containerRef, children, }) {\n var _a;\n const [isSticky, setIsSticky] = useState(false);\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const callback = (entries) => {\n entries.forEach((entry) => {\n setIsSticky(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(callback);\n intersectionObserver.observe(intersectionTargetRef.current);\n /* eslint-disable-next-line consistent-return */\n return () => intersectionObserver.disconnect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [intersectionTargetRef.current]);\n const containerRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const defaultPositionStyles = {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n };\n const stickyPositionStyles = {\n position: 'fixed',\n top: 0,\n left: containerRect === null || containerRect === void 0 ? void 0 : containerRect.left,\n width: containerRect === null || containerRect === void 0 ? void 0 : containerRect.width,\n };\n const style = isSticky ? stickyPositionStyles : defaultPositionStyles;\n return (React.createElement(Container, { style: style },\n renderHeader({ column: selectionColumn }),\n React.createElement(Content, null, children)));\n}\n//# sourceMappingURL=ActionBar.js.map","import React from 'react';\nexport const VisiblityIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 4.5C7 4.5 2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C17 19.5 21.27 16.39 23 12C21.27 7.61 17 4.5 12 4.5ZM12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7C14.76 7 17 9.24 17 12C17 14.76 14.76 17 12 17ZM12 9C10.34 9 9 10.34 9 12C9 13.66 10.34 15 12 15C13.66 15 15 13.66 15 12C15 10.34 13.66 9 12 9Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityIcon.js.map","import React from 'react';\nexport const VisiblityOffIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 7C14.76 7 17 9.24 17 12C17 12.65 16.87 13.26 16.64 13.83L19.56 16.75C21.07 15.49 22.26 13.86 22.99 12C21.26 7.61 16.99 4.5 11.99 4.5C10.59 4.5 9.25 4.75 8.01 5.2L10.17 7.36C10.74 7.13 11.35 7 12 7ZM2 4.27L4.28 6.55L4.74 7.01C3.08 8.3 1.78 10.02 1 12C2.73 16.39 7 19.5 12 19.5C13.55 19.5 15.03 19.2 16.38 18.66L16.8 19.08L19.73 22L21 20.73L3.27 3L2 4.27ZM7.53 9.8L9.08 11.35C9.03 11.56 9 11.78 9 12C9 13.66 10.34 15 12 15C12.22 15 12.44 14.97 12.65 14.92L14.2 16.47C13.53 16.8 12.79 17 12 17C9.24 17 7 14.76 7 12C7 11.21 7.2 10.47 7.53 9.8ZM11.84 9.02L14.99 12.17L15.01 12.01C15.01 10.35 13.67 9.01 12.01 9.01L11.84 9.02Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityOffIcon.js.map","import React from 'react';\nexport const ReorderIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M3 15H21V13H3V15ZM3 19H21V17H3V19ZM3 11H21V9H3V11ZM3 5V7H21V5H3Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ReorderIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const EmptyBodyContent = styled.div.withConfig({ displayName: \"vui--EmptyBodyContent\", componentId: \"vui--grzgy2\" }) `padding-top:${theme.sizes.lg};padding-bottom:${theme.sizes.lg};grid-column:${({ columnCount }) => `1 / span ${columnCount}`};display:flex;flex-direction:column;align-items:center;justify-content:center;gap:${theme.sizes.md};`;\nexport const EmptyBodyGlyphWrapper = styled.div.withConfig({ displayName: \"vui--EmptyBodyGlyphWrapper\", componentId: \"vui--1uqall4\" }) `padding:${theme.sizes.md};background-color:${theme.colors.neutral.grey.light};border-radius:${theme.radius.full};`;\n//# sourceMappingURL=EmptyBodyContent.js.map","import styled from 'styled-components';\nexport const NoWrap = styled.div.withConfig({ displayName: \"vui--NoWrap\", componentId: \"vui--208yv4\" }) `white-space:nowrap;`;\n//# sourceMappingURL=NoWrap.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--ryxbs1\" }) `display:contents;${({ selected }) => selected &&\n `\n &&&& > td {\n background-color: ${theme.colors.brand.blue.lightest};\n }\n `};${({ accentColor }) => accentColor &&\n `\n &> *:first-child {\n position: relative;\n }\n\n & > *:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor};\n }\n `}`;\n//# sourceMappingURL=Row.js.map","import styled from 'styled-components';\nexport const ScrollContainer = styled.div.withConfig({ displayName: \"vui--ScrollContainer\", componentId: \"vui--1bx96p0\" }) `position:relative;width:100%;overflow-x:auto;overflow-y:hidden;`;\n//# sourceMappingURL=ScrollContainer.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst defaultDensity = 'base';\nexport const TableGrid = styled.table.withConfig({ displayName: \"vui--TableGrid\", componentId: \"vui--1fsix8g\" }) `min-width:100%;width:max-content;display:grid;& thead,& tbody,& tfoot{display:contents;}--density:${theme.sizes[defaultDensity]};&& tr:hover td{background-color:#f2f8fc;}${({ css }) => css}`;\n//# sourceMappingURL=TableGrid.js.map","import styled from 'styled-components';\nexport const Truncate = styled.div.withConfig({ displayName: \"vui--Truncate\", componentId: \"vui--14fzkum\" }) `overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;\n//# sourceMappingURL=Truncate.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst borderModeStyles = {\n full: `border-width: 1px; border-radius: ${theme.radius.base};`,\n vertical: 'border-width: 0; border-top-width: 1px; border-bottom-width: 1px;',\n none: 'border-width: 0;',\n};\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--5gfhdd\" }) `width:100%;position:relative;border-style:solid;border-color:${theme.colors.neutral.grey.dark};${({ borderMode = 'full' }) => borderModeStyles[borderMode]} &,& *{box-sizing:border-box;}.hideHeaderDetails th{> *{opacity:0.1;}.th-divider{opacity:1;}}`;\n//# sourceMappingURL=Wrapper.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nimport { Shadows } from '../../../theme/modules/shadows';\nexport function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths, tableCss, stickyHeaderTop = 0, }) {\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 lastLeftValue = useRef(null);\n const THROTTE_TIME_MS = 30;\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 rootMargin: `-${stickyHeaderTop}px 100% 0px 100%`,\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, THROTTE_TIME_MS); // 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 // Update dimensions when document scrolls\n // will only call updateContainerDimensions on horizontal scroll\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n const scrollCallback = throttle(() => {\n var _a;\n const { left } = ((_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || {};\n if (left && lastLeftValue.current !== left) {\n updateContainerDimensions();\n lastLeftValue.current = left;\n }\n }, THROTTE_TIME_MS); // Throttle events\n document.addEventListener('scroll', scrollCallback);\n return () => document.removeEventListener('scroll', scrollCallback); // 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}`, borderTop: `1px solid ${theme.colors.neutral.grey.base}`, boxShadow: Shadows.base, top: `${stickyHeaderTop}px` || '0px' });\n // Generate styles to sync sticky columns with \"real\" columns\n const columnsCss = cellWidths\n .map((width, index) => `\n & th:nth-child(${index + 1}) {\n width: ${width}px;\n }\n `)\n .join('');\n // Append to generated table styles\n const allCss = tableCss + columnsCss;\n return (React.createElement(\"div\", { style: containerStyle, ref: stickyContainerRef },\n React.createElement(TableGrid, { css: allCss },\n React.createElement(\"thead\", null, children))));\n}\n//# sourceMappingURL=StickyHead.js.map","export const getRowState = (rowId, { selectedRowIds, expandedRowIds, disabledRowIds, }) => {\n const rowState = {\n selected: (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.includes(rowId)) || false,\n expanded: (expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(rowId)) || false,\n disabled: (disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(rowId)) || false,\n };\n return rowState;\n};\n//# sourceMappingURL=getRowState.js.map","/* eslint-disable jsx-a11y/no-redundant-roles */\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\nimport { generateTableCss } from './utils';\nimport { useCellWidths, useColumns, useDragToScroll, useScrollPosition, useSelection, } from './hooks';\nimport { renderCell, renderFooter, renderHeader, renderLoadingCell, renderNestedCell, } from './renderers';\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nconst defaultEmptyState = {\n iconSlot: React.createElement(InfoIcon, { width: 48, height: 48 }),\n heading: 'No results',\n};\nconst emptyAction = () => { };\nexport const DataTable = ({ actionBarSlot, borderMode, columns: initialColumns, emptyState = defaultEmptyState, expandedRowIds, loading, loadingRowCount, onChangeSort, rows, disabledRowIds, selectionMode, selectionState, setExpanded, sortState, stripingMode, enableStickyHeader, resizeableColumns, onResizeColumns, columnWidths, stickyHeaderTop, }) => {\n // Refs\n const scrollContainerRef = useRef(null);\n const tableRef = useRef(null);\n const intersectionTargetRef = useRef(null);\n useDragToScroll(scrollContainerRef);\n // Configure row selection\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !(disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(id)));\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n // Assign actions\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n // Process columns\n const columnsWithSelection = [selectionColumn, ...initialColumns];\n const allColumns = selectionEnabled ? columnsWithSelection : initialColumns;\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const { visible, pinnedLeft, pinnedRight, setColumnWidth, columnWidths: calcColumnWidths, } = useColumns(allColumns, tableRef, onResizeColumns, columnWidths);\n const adjustedCellWidths = cellWidths.length === visible.length\n ? visible.map((col, i) => Number.isNaN(calcColumnWidths[col.id] || '') ? cellWidths[i] : calcColumnWidths[col.id])\n : cellWidths;\n // Generate styles\n const { scrollPosition } = useScrollPosition(scrollContainerRef);\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths: adjustedCellWidths,\n scrollPosition,\n columnWidths: calcColumnWidths,\n columns: visible,\n stripingMode,\n });\n // Render states\n if (loading) {\n const loadingRows = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" }, loadingRows.map((row) => (React.createElement(Row, { key: row.id }, visible.map((col) => renderLoadingCell(row, col))))))))));\n }\n if (rows.length === 0) {\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" },\n React.createElement(EmptyBodyContent, { columnCount: visible.length },\n React.createElement(EmptyBodyGlyphWrapper, null, emptyState.iconSlot),\n React.createElement(Stack, { spacing: \"sm\", alignX: \"center\" },\n React.createElement(Text, { variant: \"headingMedium\" }, emptyState.heading),\n emptyState.subheading && (React.createElement(Text, { variant: \"subheadingMedium\" }, emptyState.subheading)))))))));\n }\n const renderRow = (row) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, Object.assign({ role: \"row\", key: row.id, accentColor: accentColor, className: e2eClassName }, rowState), visible.map((col) => renderCell(row, col, actions, rowState))));\n };\n const renderNestedRow = (nestedRow, rowId) => {\n var _a, _b;\n const nestedRowE2eClassName = (_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, { role: \"row\", key: nestedRow.id, className: nestedRowE2eClassName }, visible.map((col) => renderNestedCell(nestedRow, col, rowState))));\n };\n const renderSection = (row) => {\n var _a;\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n return (React.createElement(\"tbody\", { role: \"rowgroup\", key: row.id },\n renderRow(row),\n isExpanded && ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))));\n };\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n if (hasNestedRows) {\n return (React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map((row) => {\n var _a;\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n const nestedRowElements = (isExpanded &&\n ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })));\n }\n return React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map(renderRow));\n };\n const headersMarkup = (React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }))));\n const shouldRenderFooter = initialColumns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!actionBarSlot;\n return (React.createElement(Wrapper, { borderMode: borderMode },\n shouldRenderActionBar && (React.createElement(ActionBar, { selectionColumn: selectionColumn, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef }, actionBarSlot)),\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n enableStickyHeader && (React.createElement(StickyHead, { tableCss: tableCss, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef, cellWidths: adjustedCellWidths, stickyHeaderTop: stickyHeaderTop }, headersMarkup)),\n React.createElement(\"div\", { ref: intersectionTargetRef, style: { height: 0 } }),\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" }, headersMarkup),\n renderBody(),\n shouldRenderFooter && (React.createElement(\"tfoot\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderFooter({ column })))))))));\n};\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n//# sourceMappingURL=DataTable.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\nimport { LoadingCellContent } from '../components/LoadingCellContent';\n/**\n * Default renderer for loading cells\n * @param row\n * @param column\n * @returns\n */\nexport function renderLoadingCell(row, column) {\n if (column.hidden === true) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(LoadingCellContent, null)));\n}\n//# sourceMappingURL=renderLoadingCell.js.map","/**\n * Default renderer for table cells\n *\n * @param row\n * @param column\n * @returns\n */\nexport function renderCell(row, column, actions, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n span: column.span,\n };\n return column.renderCell(row, cellProps, actions, rowState);\n}\n//# sourceMappingURL=renderCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table cells in nested rows\n *\n * @param nestedRow\n * @param column\n * @returns\n */\nexport function renderNestedCell(nestedRow, column, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${nestedRow.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n if (!column.renderNestedCell) {\n return React.createElement(Cell, Object.assign({}, cellProps));\n }\n return column.renderNestedCell(nestedRow, cellProps, rowState);\n}\n//# sourceMappingURL=renderNestedCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table footer cells\n *\n * @param column Column configuration object\n * @returns Footer cell instance\n */\nexport function renderFooter({ column }) {\n if (column.hidden) {\n return null;\n }\n const footerProps = {\n key: column.id,\n role: 'cell',\n align: column.align,\n spacing: column.spacing,\n };\n if (!column.renderFooter) {\n return React.createElement(Cell, Object.assign({}, footerProps));\n }\n return column.renderFooter(column, footerProps);\n}\n//# sourceMappingURL=renderFooter.js.map","import React, { useState } from 'react';\nimport { Button } from '../../Button';\nimport { Card } from '../../Card';\nimport { Popover } from '../../Popover';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nimport { VisiblityIcon } from '../../../tempIcons/VisibilityIcon';\nimport { VisiblityOffIcon } from '../../../tempIcons/VisibilityOffIcon';\nimport { ReorderIcon } from '../../../tempIcons/ReorderIcon';\nexport function ColumnMenu({ columns, columnGroups, setColumns }) {\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n const [showPopover, setShowPopover] = useState(false);\n const columnEntries = columns.map((column) => [column.id, column]);\n const columnsMap = Object.fromEntries(columnEntries);\n const groups = columnGroups.map((group) => group.map((columnId) => columnsMap[columnId]));\n const setHidden = (groupIndex, hidden) => {\n const columnIds = groups[groupIndex].map((column) => column.id);\n const newColumns = [...columns];\n columnIds.forEach((columnId) => {\n const index = newColumns.findIndex((column) => column.id === columnId);\n if (index < 0)\n return;\n newColumns[index] = Object.assign(Object.assign({}, newColumns[index]), { hidden });\n });\n setColumns(newColumns);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { ref: setPopoverAnchor, dropdown: true, onClick: () => setShowPopover(true) }, \"Columns\"),\n showPopover && (React.createElement(Popover, { anchorElement: popoverAnchor, onShouldClose: () => setShowPopover(false) },\n React.createElement(Card, { style: { width: 600 } },\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" }, groups.map((group, groupIndex) => (React.createElement(Stack, { key: group[0].id, direction: \"horizontal\", alignY: \"center\", spacing: \"sm\", style: {\n border: '1px solid black',\n padding: 8,\n } },\n React.createElement(Button, { variant: \"flat\", iconSlot: 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\", iconSlot: React.createElement(VisiblityOffIcon, null), onClick: () => setHidden(groupIndex, false), style: { color: theme.colors.neutral.ink.lightest } })) : (React.createElement(Button, { variant: \"flat\", iconSlot: React.createElement(VisiblityIcon, null), onClick: () => setHidden(groupIndex, true) }))))))))))));\n}\n//# sourceMappingURL=ColumnMenu.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nconst List = styled.dl.withConfig({ displayName: \"vui--List\", componentId: \"vui--syirga\" }) `margin:unset;& > * + *{margin-top:${theme.sizes.base};}`;\nconst Item = styled.div.withConfig({ displayName: \"vui--Item\", componentId: \"vui--dz7dgm\" }) `& > * + *{margin-top:${theme.sizes.xs};}`;\nconst ItemRow = styled.div.withConfig({ displayName: \"vui--ItemRow\", componentId: \"vui--1b0o5wp\" }) `display:flex;justify-content:space-between;& > * + *{margin-left:${theme.sizes.base};}`;\nconst DescriptionContainer = styled.div.withConfig({ displayName: \"vui--DescriptionContainer\", componentId: \"vui--foltw8\" }) `text-align:right;& > * + *{margin-top:${theme.sizes.xs};}`;\nconst Term = styled.dt.withConfig({ displayName: \"vui--Term\", componentId: \"vui--s2cfux\" }) `font-family:${theme.text.bodyBold.fontFamily};font-size:${theme.text.bodyBold.fontSize};font-weight:${theme.text.bodyBold.fontWeight};line-height:${theme.text.bodyBold.lineHeight};color:${theme.text.bodyBold.color};`;\nconst Description = styled.dd.withConfig({ displayName: \"vui--Description\", componentId: \"vui--1915ejg\" }) `margin-left:unset;font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.text.body.lineHeight};color:${theme.text.body.color};`;\nexport const DescriptionList = ({ items, horizontal }) => {\n const renderDescription = (description) => {\n if (Array.isArray(description)) {\n return description.map((d) => React.createElement(Description, { key: d }, d));\n }\n return React.createElement(Description, null, description);\n };\n const renderItem = (item) => {\n if (horizontal) {\n return (React.createElement(ItemRow, { key: item.term },\n React.createElement(Term, null, item.term),\n React.createElement(DescriptionContainer, null, renderDescription(item.description))));\n }\n return (React.createElement(Item, { key: item.term },\n React.createElement(Term, null, item.term),\n renderDescription(item.description)));\n };\n return React.createElement(List, null, items.map(renderItem));\n};\n//# sourceMappingURL=DescriptionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { sizes, colors } = theme;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--2wnu9m\" }) `width:100%;display:grid;grid-template-columns:${({ showSidebar = true }) => showSidebar ? `calc(100% - 312px - ${sizes.md}) 312px` : '100% 312px'};align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\nexport const ContentContainer = styled.div.withConfig({ displayName: \"vui--ContentContainer\", componentId: \"vui--nvukr5\" }) `width:100%;box-sizing:border-box;padding:${sizes.md};overflow-x:hidden;background-color:${colors.neutral.grey.lightest};`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { ColumnGrid, ContentContainer } from './styled';\nexport const DetailPage = ({ renderHeader, children }) => {\n const [shouldShowSidebar, setShouldShowSidebar] = useState(true);\n const toggleSidebar = () => setShouldShowSidebar(!shouldShowSidebar);\n return (React.createElement(\"main\", null,\n renderHeader(toggleSidebar, shouldShowSidebar),\n React.createElement(ContentContainer, null,\n React.createElement(ColumnGrid, { showSidebar: shouldShowSidebar }, children))));\n};\n//# sourceMappingURL=DetailPage.js.map","import styled from 'styled-components';\nexport const InputGroup = styled.div.withConfig({ displayName: \"vui--InputGroup\", componentId: \"vui--1w0e9jz\" }) `display:flex;& > *{margin-left:0;margin-right:0;box-shadow:none;}& > *:not(:last-child){border-right-width:0 !important;}& > *:hover{}& > *:focus,& > *:active{z-index:5;border-right-width:1px !important;}& > *:focus + *,& > *:active + *{border-left-width:0 !important;}& > *:not(:first-child):not(:last-child){border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:first-child{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:last-child{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important;}`;\n//# sourceMappingURL=index.js.map","export var ComponentSize;\n(function (ComponentSize) {\n ComponentSize[\"base\"] = \"base\";\n ComponentSize[\"sm\"] = \"sm\";\n})(ComponentSize || (ComponentSize = {}));\n//# sourceMappingURL=types.js.map","import styled, { css } from 'styled-components';\nimport { theme } from '../../theme';\nconst pseudoStates = ({ hasError, inputSize }) => css `&{--outline-size:${inputSize === 'sm' ? '2px' : '4px'};}&:focus{border-color:#0079d1;box-shadow:0 0 0 var(--outline-size)#80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 var(--outline-size)#f7bcbc;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}${hasError &&\n `\n &,\n &:focus {\n border-color: #EB5757;\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--outline-size) #F7BCBC;\n }\n `}`;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--3jt15a\" }) `font-family:${theme.fontFamily};box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 12px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${({ inputSize }) => {\n let height = '40px';\n let fontSize = '14px';\n if (inputSize === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} ${pseudoStates} &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;width:8ch;text-align:right;}`;\nexport const Textarea = styled.textarea.withConfig({ displayName: \"vui--Textarea\", componentId: \"vui--1k04ik\" }) `box-sizing:border-box;width:100%;padding:8px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${pseudoStates}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, forwardRef } from 'react';\nimport { generateId } from '../../utils/generateId';\nimport { Input, Textarea } from './styled';\nimport { ComponentSize } from '../types';\nconst NUMBER_REGEX = /^-?[0-9]*\\.?[0-9]+$/;\nexport const TextField = forwardRef((_a, ref) => {\n var { id, className, disabled = false, hasError, multiline = false, spellCheck = false, name, onChange, placeholder, size = ComponentSize.base, type = 'text', value } = _a, otherProps = __rest(_a, [\"id\", \"className\", \"disabled\", \"hasError\", \"multiline\", \"spellCheck\", \"name\", \"onChange\", \"placeholder\", \"size\", \"type\", \"value\"]);\n const handleChange = useCallback((event) => {\n if (!onChange)\n return;\n const newValue = event.currentTarget.value;\n if (newValue === '') {\n onChange(newValue);\n return;\n }\n if (type !== 'number') {\n onChange(newValue);\n return;\n }\n const reg = new RegExp(NUMBER_REGEX);\n if (!reg.test(newValue)) {\n return;\n }\n onChange(newValue);\n }, [onChange, type]);\n const componentId = id !== null && id !== void 0 ? id : generateId('textfield');\n if (type === 'text' && multiline) {\n return (React.createElement(Textarea, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, name: name, onChange: handleChange, placeholder: placeholder, value: value, ref: ref, spellCheck: spellCheck }, otherProps)));\n }\n return (React.createElement(Input, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, inputSize: size, name: name, \"aria-label\": name, onChange: handleChange, placeholder: placeholder, type: type, value: value, ref: ref, 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","export const blockInvalidCharacters = (e, invalidList) => {\n if (invalidList.includes(e.key))\n e.preventDefault();\n};\n//# sourceMappingURL=blockInvalidCharacters.js.map","export const invalidCharsList = ['-', '+', 'E', 'e'];\n//# sourceMappingURL=invalidCharactersNumeric.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { InputGroup } from '../InputGroup';\nimport { ComponentSize } from '../types';\nimport { withLabels } from '../../hoc';\nimport { Container, Row, TextField, Button } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { theme } from '../../theme';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\nexport const DimensionsInput = withLabels((_a) => {\n var { size = ComponentSize.base, handleChangeHeight, handleChangeWidth, handleChangeLength, className, height, width, length, unit } = _a, rest = __rest(_a, [\"size\", \"handleChangeHeight\", \"handleChangeWidth\", \"handleChangeLength\", \"className\", \"height\", \"width\", \"length\", \"unit\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeLength, size: size, name: \"length\", type: \"number\", placeholder: \"L\", value: length, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(TextField, Object.assign({ onChange: handleChangeWidth, size: size, name: \"width\", type: \"number\", placeholder: \"W\", value: width, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeHeight, size: size, name: \"height\", type: \"number\", placeholder: \"H\", value: height, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { theme } from '../../theme';\nconst Container = styled(BaseContainer).attrs({\n as: 'button',\n}).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1tebbdi\" }) `display:inline-flex;flex-direction:row;align-items:center;background-color:${colors.neutral.grey.base};padding:4px 8px;cursor:pointer;border:1px solid ${colors.neutral.grey.dark};border-radius:4px;svg{width:${sizes.base};height:${sizes.base};}&:focus{outline:none;box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}`;\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, useState } 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';\nimport { useHandleFocus } from '../Popover/hooks/useHandleFocus';\nconst generateClassNames = (prefix) => ({\n filterTagDropdown: prefix ? `${prefix}-filter-tag-dropdown` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n cross: prefix ? `${prefix}-cross` : undefined,\n});\nexport const FilterTag = ({ className, e2eClassName, label, text, iconSlot, fill = colors.secondary.blue.base, content, footer, header, onClickAway, onClick, shouldCloseOnClickAway = true, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [anchorElement, setAnchorElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const { shouldShowDropdown, toggleShouldShowDropdown, closeDropdown } = useDropdown({\n anchorElement,\n });\n const { handleKeyDown } = useHandleFocus({\n popperElement,\n anchorElement,\n onClose: closeDropdown,\n });\n const handleClick = useCallback((event) => {\n if (shouldShowDropdown)\n closeDropdown();\n else\n toggleShouldShowDropdown();\n if (onClickAway && shouldShowDropdown)\n onClickAway(event);\n }, [shouldShowDropdown, closeDropdown, toggleShouldShowDropdown, onClickAway]);\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 }, [onClickAway, closeDropdown, shouldCloseOnClickAway]);\n const shouldShowSimple = !content;\n if (shouldShowSimple) {\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]), 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 })));\n }\n return (React.createElement(Dropdown, { className: classNames.filterTagDropdown, shouldShowDropdown: shouldShowDropdown, onClickAway: handleClickAway, cta: React.createElement(Container, { className: classNames.container, onClick: handleClick, ref: setAnchorElement },\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, { ref: setPopperElement, onKeyDown: handleKeyDown },\n React.createElement(Header, { color: fill }, header || (React.createElement(React.Fragment, null,\n iconSlot,\n React.createElement(Text, { variant: \"bodyBold\" }, label)))),\n content,\n footer)));\n};\n//# sourceMappingURL=FilterTag.js.map","import React from 'react';\nexport const PlaceholderImage = (props) => (React.createElement(\"svg\", Object.assign({ width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M21.3333 0C22.8 0 24 1.2 24 2.66667V21.3333C24 22.8 22.8 24 21.3333 24H2.66667C1.2 24 0 22.8 0 21.3333V2.66667C0 1.2 1.2 0 2.66667 0H21.3333ZM10.6667 18.0133L7.33333 14L2.66667 20H21.3333L15.3333 12L10.6667 18.0133Z\", fill: \"#CDD1D5\" })));\n//# sourceMappingURL=PlaceholderImage.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--yyvmx7\" }) ``;\nexport const CommonImage = styled.img.withConfig({ displayName: \"vui--CommonImage\", componentId: \"vui--exntyx\" }) `box-sizing:border-box;cursor:${({ previewEnabled }) => (previewEnabled ? 'zoom-in' : 'default')};`;\nexport const PreviewImageContainer = styled.div.withConfig({ displayName: \"vui--PreviewImageContainer\", componentId: \"vui--jt8oew\" }) `z-index:10;background-color:transparent;`;\nexport const PreviewImage = styled.img.withConfig({ displayName: \"vui--PreviewImage\", componentId: \"vui--xulm2g\" }) `box-shadow:0 4px 12px rgba(27, 33, 38, 0.2);`;\n//# sourceMappingURL=styled.js.map","export const generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-image-container` : undefined,\n image: prefix ? `${prefix}-image` : undefined,\n placeholder: prefix ? `${prefix}-image-placeholder` : undefined,\n previewImageContainer: prefix ? `${prefix}-image-preview-container` : undefined,\n});\n//# sourceMappingURL=utils.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport { createPortal } from 'react-dom';\nimport { PlaceholderImage } from './components/PlaceholderImage';\nimport { Container, CommonImage, PreviewImageContainer, PreviewImage } from './components/styled';\nimport { generateClassNames } from './utils';\nimport { buildClassnames } from '../../utils/buildClassnames';\nexport const Image = ({ src, alt = '', className, e2eClassName, width, height, previewWidth, previewHeight, previewPlacement = 'right', previewEnabled = false, placeholder, placeholderWidth, placeholderHeight, disablePlaceholder = false, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n const [imageState, setImageState] = useState({ isLoaded: false, isError: false });\n const [referenceElement, setReferenceElement] = React.useState(null);\n const [popperElement, setPopperElement] = React.useState(null);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement: previewPlacement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 12],\n },\n },\n ],\n });\n const openImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(true) : {}), [previewEnabled]);\n const closeImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(false) : {}), [previewEnabled]);\n const onLoad = () => setImageState({ isLoaded: true, isError: false });\n const onError = () => setImageState({ isLoaded: true, isError: true });\n const isImageHidden = !imageState.isLoaded || imageState.isError;\n return (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container, className]) },\n React.createElement(CommonImage, { src: src, alt: alt, className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.image, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.image]), width: width, height: height, onLoad: onLoad, onError: onError, previewEnabled: previewEnabled, onMouseEnter: openImagePreview, onMouseLeave: closeImagePreview, style: isImageHidden ? { display: 'none' } : {}, ref: setReferenceElement }),\n !disablePlaceholder &&\n isImageHidden &&\n (placeholder || (React.createElement(PlaceholderImage, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.placeholder, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.placeholder]), width: placeholderWidth || width, height: placeholderHeight || height }))),\n isPreviewOpen &&\n createPortal(React.createElement(PreviewImageContainer, Object.assign({ ref: setPopperElement, style: styles.popper }, attributes.popper, { className: buildClassnames([\n classNames === null || classNames === void 0 ? void 0 : classNames.previewImageContainer,\n e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.previewImageContainer,\n ]) }),\n React.createElement(PreviewImage, { src: src, alt: \"\", width: previewWidth, height: previewHeight })), document.body)));\n};\n//# sourceMappingURL=Image.js.map","import React from 'react';\nimport { CalendarIcon } from '../../../tempIcons/CalendarIcon';\nimport { FailIcon } from '../../../tempIcons/FailIcon';\nconst iconSize = { width: 64, height: 64 };\nexport const defaultEmptyState = {\n icon: React.createElement(CalendarIcon, 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 FailIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12.0001 20.1818C16.5187 20.1818 20.1819 16.5187 20.1819 12C20.1819 7.4813 16.5187 3.81818 12.0001 3.81818C7.48136 3.81818 3.81824 7.4813 3.81824 12C3.81824 16.5187 7.48136 20.1818 12.0001 20.1818ZM16.3536 8.80575L13.1593 12L16.3536 15.1943L15.1943 16.3536L12 13.1593L8.80575 16.3536L7.64648 15.1943L10.8408 12L7.64648 8.80575L8.80575 7.64648L12 10.8408L15.1943 7.64648L16.3536 8.80575ZM8.80571 16L8.80575 16L12 12.8058L12 12.8057L8.80571 16ZM15.1943 16L15.1943 16L16 15.1943L16 15.1943L15.1943 16ZM16 8.80575L12.8058 12L12.8057 12L16 8.80571L16 8.80575Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=FailIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { ScrollPosition } from './utils/constants';\nconst { text, sizes } = theme;\nconst { blue } = theme.colors.secondary;\nconst { grey } = theme.colors.neutral;\nconst { scrollbar } = theme.colors.system;\nconst fixedColumnShadow = `\n position: absolute;\n top: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n transition: box-shadow .3s;\n`;\nconst startFixedColumnShadow = `\n box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nconst endFixedColumnShadow = `\n box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nexport const TooltipContent = styled.div.withConfig({ displayName: \"vui--TooltipContent\", componentId: \"vui--11ytygc\" }) `display:flex;flex-direction:row;align-items:center;`;\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--1g4i0cu\" }) `width:100%;overflow-x:${(props) => (props.scrollDisabled ? 'hidden' : 'auto')};overflow-y:hidden;position:relative;border-top:1px solid ${grey.dark};border-bottom:1px solid ${grey.dark};${({ showScrollbar }) => showScrollbar\n ? `\n scrollbar-width: auto;\n\n &::-webkit-scrollbar {\n margin-top: 10px;\n width: 6px;\n height: 6px;\n }\n \n &::-webkit-scrollbar-track {\n background: ${scrollbar.background}; \n }\n \n &::-webkit-scrollbar-thumb {\n background: ${scrollbar.thumb};\n border-radius: 4px; \n }\n `\n : ''} ${({ scrollDisabled, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, scrollPosition }) => scrollDisabled\n ? ''\n : `\n td:nth-child(${lastStartFixedColumnsIndex}):after,\n th:nth-child(${lastStartFixedColumnsIndex}):after {\n right: 0;\n transform: translate(100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end\n ? startFixedColumnShadow\n : ''};\n };\n\n td:nth-last-child(${firstEndFixedColumnsIndex}):after,\n th:nth-last-child(${firstEndFixedColumnsIndex}):after {\n left: 0;\n transform: translate(-100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle\n ? endFixedColumnShadow\n : ''};\n };\n `}`;\nexport const WrapperBordered = styled(Wrapper).withConfig({ displayName: \"vui--WrapperBordered\", componentId: \"vui--wtdkab\" }) `border:1px solid ${grey.dark};border-radius:4px;`;\nexport const Head = styled.thead.withConfig({ displayName: \"vui--Head\", componentId: \"vui--1j5avrf\" }) `background-color:white;`;\nexport const Body = styled.tbody.withConfig({ displayName: \"vui--Body\", componentId: \"vui--n8uysg\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& + & > tr:first-child > td{border-top:1px solid ${grey.base};}tr:not(:first-child)> td{border-top:1px solid transparent;}&&& tr:hover td{background-color:#ebf4fb;}`;\nexport const Foot = styled.tfoot.withConfig({ displayName: \"vui--Foot\", componentId: \"vui--qckqty\" }) `& td{background-color:${grey.lightest};padding:1.5rem 1rem;border-top:1px solid ${blue.base};}`;\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--10drh9k\" }) `&.hidden{visibility:collapse;}${({ accentColor }) => accentColor &&\n `\n & > td:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor}; \n }\n `}`;\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--tljl4p\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};width:${({ grow }) => (grow ? '100%' : 'auto')};& > *{vertical-align:middle;}`;\nexport const HeaderCell = styled(Cell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--HeaderCell\", componentId: \"vui--10p2duv\" }) `user-select:none;border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};& span{white-space:pre-line;}&.sortable:hover{cursor:pointer;background-color:${grey.light};}`;\nconst alignmentMap = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n};\nexport const HeaderCellLayout = styled.div.withConfig({ displayName: \"vui--HeaderCellLayout\", componentId: \"vui--13i0t50\" }) `display:flex;align-items:center;justify-content:${({ align }) => (align ? alignmentMap[align] : 'flex-start')};& > * + *{margin-left:0.25rem;}`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--1bp83gy\" }) `width:100%;border-spacing:0;table-layout:${({ isFixedLayout }) => (isFixedLayout ? 'fixed' : 'auto')};${({ striped }) => striped &&\n `\n & ${Body}:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `} & *{box-sizing:border-box;${({ tableLoading }) => tableLoading &&\n `\n user-select: none;\n pointer-events: none;\n `}}${({ noWrap }) => noWrap &&\n `\n & ${HeaderCell}, & ${HeaderCell} span {\n white-space: nowrap;\n }\n `}`;\nexport const Footer = styled.tfoot.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--44p3gi\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& ${Cell}{border-top:1px solid ${grey.dark};background-color:${grey.lightest};padding-top:${sizes.base};padding-bottom:${sizes.base};line-height:2rem;}`;\nexport const StickyHeaderWrapper = styled.div.withConfig({ displayName: \"vui--StickyHeaderWrapper\", componentId: \"vui--wokb93\" }) `position:fixed;top:0;z-index:2;overflow-x:hidden;`;\nexport const FakeHeaderTable = styled(Table).withConfig({ displayName: \"vui--FakeHeaderTable\", componentId: \"vui--6s4d56\" }) ``;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nconst SpecificStateContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SpecificStateContainer\", componentId: \"vui--991hgo\" }) `display:flex;flex-direction:column;justify-content:center;align-items:center;height:${(props) => props.height}px;background:white;`;\nconst EllipseContainer = styled(BaseContainer).withConfig({ displayName: \"vui--EllipseContainer\", componentId: \"vui--1oi4ebm\" }) `display:flex;justify-content:center;align-items:center;width:120px;height:120px;border-radius:100px;background:${theme.colors.neutral.grey.base};svg{width:64px !important;height:64px !important;}`;\nconst TitleText = styled(Text).withConfig({ displayName: \"vui--TitleText\", componentId: \"vui--pj8i0k\" }) `margin-top:24px;`;\nconst SubTitleText = styled(Text).withConfig({ displayName: \"vui--SubTitleText\", componentId: \"vui--19x6udv\" }) `margin-top:8px;`;\nexport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText } from './styled';\nexport const SpecificState = ({ height, icon, title, subTitle }) => (React.createElement(SpecificStateContainer, { height: height },\n React.createElement(EllipseContainer, null, icon),\n React.createElement(TitleText, { variant: \"headingLarge\" }, title),\n subTitle && React.createElement(SubTitleText, { variant: \"subheadingMedium\" }, subTitle)));\n//# sourceMappingURL=SpecificState.js.map","/* eslint-disable import/prefer-default-export */\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const CellButton = styled.button.withConfig({ displayName: \"vui--CellButton\", componentId: \"vui--1w0np52\" }) `appearance:none;border:0;background-color:transparent;font:inherit;display:inline-block;box-sizing:border-box;width:calc(100% + 1.5rem);margin:-0.75rem -0.75rem;padding:0.75rem 0.75rem;text-align:inherit;line-height:${theme.sizes.base};border-radius:${theme.radius.base};&:hover{cursor:pointer;background-color:${theme.colors.secondary.blue.lightest};}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst ClickableButton = styled(CellButton).withConfig({ displayName: \"vui--ClickableButton\", componentId: \"vui--1b7t5il\" }) `color:${theme.text.link.color};text-decoration:${theme.text.link.textDecoration};`;\nexport const ClickableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(ClickableButton, { onClick: onClick }, children)));\n};\n//# sourceMappingURL=ClickableCell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--n24x0f\" }) `text-align:inherit;border-bottom:1px dotted black;`;\nexport const EditableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(CellButton, { onClick: onClick },\n React.createElement(Content, null, children))));\n};\n//# sourceMappingURL=EditableCell.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst { grey } = theme.colors.neutral;\nconst SkeletonContentWrapper = styled.div.withConfig({ displayName: \"vui--SkeletonContentWrapper\", componentId: \"vui--oakirc\" }) `height:16px;width:100%;`;\nconst SkeletonContentComponent = styled.div.withConfig({ displayName: \"vui--SkeletonContentComponent\", componentId: \"vui--dbfg3y\" }) `display:inline-block;color:transparent;border-radius:4px;animation-duration:${({ isLoading = true }) => (isLoading ? '1s' : 0)};animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:linear-gradient(to right, ${grey.base} 8%, ${grey.dark} 15%, ${grey.base} 33%);background-size:800px 104px;border:0;width:100%;height:100%;@keyframes placeHolderShimmer{0%{background-position:-380px 0;}100%{background-position:380px 0;}}`;\nexport const SkeletonContent = ({ isLoading, style }) => (React.createElement(SkeletonContentWrapper, { style: style },\n React.createElement(SkeletonContentComponent, { isLoading: isLoading })));\n//# sourceMappingURL=SkeletonContent.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Cell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonCell = (_a) => {\n var { style } = _a, otherProps = __rest(_a, [\"style\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(SkeletonContent, { style: style })));\n};\nSkeletonCell.defaultProps = {\n style: {},\n};\n//# sourceMappingURL=SkeletonCell.js.map","import { useCallback, useEffect, useState } from 'react';\nexport const useStickyHeader = (tableRef, topOffset) => {\n const [isSticky, setIsSticky] = useState(false);\n const handleScrollChange = useCallback(({ top, bottom }) => {\n let sticky = isSticky;\n if (top <= (topOffset || 0) && bottom > 0) {\n sticky = !isSticky ? true : sticky;\n }\n else {\n sticky = isSticky ? false : sticky;\n }\n if (sticky !== isSticky)\n setIsSticky(sticky);\n }, [isSticky, topOffset]);\n useEffect(() => {\n const onScroll = () => {\n var _a;\n if (tableRef.current) {\n handleScrollChange((_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect());\n }\n };\n window.addEventListener('scroll', onScroll);\n return () => {\n window.removeEventListener('scroll', onScroll);\n };\n }, [handleScrollChange, tableRef]);\n return { isSticky };\n};\n//# sourceMappingURL=hooks.js.map","import React, { useState } from 'react';\nimport { useScroll } from 'react-use';\nimport { FakeHeaderTable, StickyHeaderWrapper } from './styled';\nimport { useStickyHeader } from './utils/hooks';\nexport const StickyHeader = ({ renderHeader, tableRef, wrapperRef, isFixedLayout, wrapperStyle, }) => {\n var _a;\n const [headerWrapperRef, setHeaderWrapperRef] = useState(null);\n const { isSticky } = useStickyHeader(tableRef, parseInt(typeof (wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top) === 'string' ? wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top : `${wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top}`, 10));\n // here we use 2, because we also have borders on each side by 1 px\n const wrapperWidth = (((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 0) - 2;\n // we use it just to re-render header to update scroll\n // so we don't need to get any value from this hook\n useScroll(wrapperRef);\n const updateScroll = (ref) => {\n var _a;\n const scrollLeft = ((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) || 0;\n if (ref) {\n // eslint-disable-next-line no-param-reassign\n ref.scrollLeft = scrollLeft;\n return;\n }\n if (headerWrapperRef)\n headerWrapperRef.scrollLeft = scrollLeft;\n };\n updateScroll();\n return isSticky ? (React.createElement(StickyHeaderWrapper, { ref: (ref) => {\n setHeaderWrapperRef(ref);\n updateScroll(ref);\n }, style: Object.assign({ width: wrapperWidth }, wrapperStyle) },\n React.createElement(FakeHeaderTable, { style: { tableLayout: isFixedLayout ? 'fixed' : 'auto' } }, renderHeader()))) : null;\n};\n//# sourceMappingURL=StickyHeader.js.map","export const convertFixedColumnInlineStyleToStyled = (fixedColumnsStyle) => {\n const styles = [];\n fixedColumnsStyle.forEach(({ index, style }) => styles.push(`\n > td:${style.left !== undefined ? 'nth-child' : 'nth-last-child'}(${Math.abs(index)}) {\n position: sticky;\n ${style.left !== undefined ? 'left' : 'right'}: ${style.left !== undefined ? style.left : style.right}px;\n z-index: ${style.zIndex};\n }\n `));\n return styles.join('\\n\\n');\n};\n//# sourceMappingURL=index.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { HeaderCell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonHeaderCell = (_a) => {\n var { style, width, isLoading } = _a, otherProps = __rest(_a, [\"style\", \"width\", \"isLoading\"]);\n return (React.createElement(HeaderCell, Object.assign({}, otherProps, { style: { width } }),\n React.createElement(SkeletonContent, { style: style, isLoading: isLoading })));\n};\n//# sourceMappingURL=SkeletonHeaderCell.js.map","import React from 'react';\nexport const DoubleArrowAscIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#959FA8\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#0079D1\" })));\n//# sourceMappingURL=DoubleArrowAscIcon.js.map","import React from 'react';\nexport const DoubleArrowDescIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#0079D1\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#959FA8\" })));\n//# sourceMappingURL=DoubleArrowDescIcon.js.map","import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport { Checkbox } from '../Checkbox';\nimport { Radio } from '../Radio';\nimport { Tooltip } from '../Tooltip';\nimport { theme } from '../../theme';\nimport { Wrapper, WrapperBordered, Table, Head, Body, Row, Cell, HeaderCell, HeaderCellLayout, Footer, TooltipContent, } from './styled';\nimport { SpecificState } from './SpecificState';\nimport { ClickableCell, EditableCell } from './cells';\nimport { SkeletonCell } from './cells/SkeletonCell';\nimport { defaultEmptyState, defaultErrorState, ScrollPosition } from './utils/constants';\nimport { StickyHeader } from './StickyHeader';\nimport { convertFixedColumnInlineStyleToStyled } from './utils';\nimport { SkeletonHeaderCell } from './cells/SkeletonHeaderCell';\nimport { SkeletonContent } from './SkeletonContent';\nimport { DoubleArrowIcon } from '../../tempIcons/DoubleArrowIconIcon';\nimport { DoubleArrowAscIcon } from '../../tempIcons/DoubleArrowAscIcon';\nimport { DoubleArrowDescIcon } from '../../tempIcons/DoubleArrowDescIcon';\nexport const IconUnsorted = () => (React.createElement(DoubleArrowIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortAsc = () => (React.createElement(DoubleArrowAscIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortDesc = () => (React.createElement(DoubleArrowDescIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\n/**\n * @deprecated\n *\n * Use DataTable instead\n */\nexport const LegacyDataTable = ({ borderless = false, striped = true, noWrap = false, showScrollbar = false, headers, rows, renderRow, renderNestedRow, expandedRowIds, renderLoadingRow, renderFooterRow, renderFooterLoadingRow, omitFooterSelectionCell = false, selectedRowIds, disabledSelectionInputRowIds, selectionMode = 'multiple', onChangeSelectedRowIds, sortColumnId, sortDirection, onChangeSort, isError = false, isLoading = false, skeletonRowsNumber = 5, isHeaderSticky = true, stickyHeaderStyle, customSpecificState, bodyHeightInSpecificStates = 375, startFixedColumnsNumber, endFixedColumnsNumber, }) => {\n const WrapperComponent = borderless ? Wrapper : WrapperBordered;\n const isEmpty = rows ? rows.length === 0 : false;\n const isFixedLayout = Boolean(startFixedColumnsNumber || endFixedColumnsNumber);\n const isFixedColumnsNotEnabled = !startFixedColumnsNumber && !endFixedColumnsNumber;\n const tableRef = useRef(null);\n const wrapperRef = useRef(null);\n const selectionColumnWidth = 58;\n const [scrollPosition, setScrollPosition] = useState(ScrollPosition.none);\n useEffect(() => {\n var _a;\n let refValue = null;\n const handleScroll = () => {\n if (!wrapperRef.current || isFixedColumnsNotEnabled)\n return;\n const el = wrapperRef.current;\n const scrollWidth = el.scrollWidth + 2; // 2 here is 2px which adds by border\n const { scrollLeft } = el;\n const { width } = el.getBoundingClientRect();\n const scrollValue = scrollLeft + width;\n if (scrollWidth === width)\n setScrollPosition(ScrollPosition.none);\n else if (scrollLeft === 0)\n setScrollPosition(ScrollPosition.start);\n else if (scrollLeft > 0 && scrollValue < scrollWidth)\n setScrollPosition(ScrollPosition.middle);\n else if (scrollValue === scrollWidth)\n setScrollPosition(ScrollPosition.end);\n };\n if (wrapperRef.current) {\n refValue = wrapperRef.current;\n handleScroll();\n (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', handleScroll);\n }\n return () => {\n refValue === null || refValue === void 0 ? void 0 : refValue.removeEventListener('scroll', handleScroll);\n };\n }, [tableRef, isFixedColumnsNotEnabled]);\n const castWidthToNumber = useCallback((width) => {\n if (typeof width === 'string') {\n // eslint-disable-next-line no-console\n console.error(\"You can only use a numeric value in the 'width' property when you use fixed columns\");\n return null;\n }\n if (width === undefined) {\n // eslint-disable-next-line no-console\n console.error(\"You should provide numeric value in the 'width' attribute in all fixed columns when you use fixed columns\");\n return null;\n }\n return width;\n }, []);\n const generateFixedColumnInlineStyle = useCallback((index, offset, side) => ({\n index: side === 'left' ? index : -index,\n style: {\n position: 'sticky',\n [side]: offset,\n zIndex: 1,\n },\n }), []);\n const generateFixedColumnsStyle = useCallback(() => {\n if (!headers || isLoading)\n return null;\n const startColumns = [];\n const endColumns = [];\n let totalStartOffset = 0;\n let totalEndOffset = 0;\n if (startFixedColumnsNumber) {\n if (selectedRowIds) {\n startColumns.push(generateFixedColumnInlineStyle(1, totalStartOffset, 'left'));\n totalStartOffset += selectionColumnWidth;\n }\n for (let i = 0; i < startFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers[i].width);\n if (headerWidth) {\n startColumns.push(generateFixedColumnInlineStyle(selectedRowIds ? i + 2 : i + 1, totalStartOffset, 'left'));\n totalStartOffset += headerWidth;\n }\n }\n }\n if (endFixedColumnsNumber) {\n for (let i = 0; i < endFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers.slice(-i - 1)[0].width);\n if (headerWidth) {\n endColumns.push(generateFixedColumnInlineStyle(i + 1, totalEndOffset, 'right'));\n totalEndOffset += headerWidth;\n }\n }\n }\n if (startColumns.length === 0 && endColumns.length === 0)\n return null;\n return [...startColumns, ...endColumns];\n }, [\n isLoading,\n castWidthToNumber,\n endFixedColumnsNumber,\n generateFixedColumnInlineStyle,\n headers,\n startFixedColumnsNumber,\n selectedRowIds,\n ]);\n const fixedColumnsStyle = useMemo(() => generateFixedColumnsStyle(), [generateFixedColumnsStyle]);\n const handleSelectRow = useCallback((checked, row) => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (checked) {\n if (selectionMode === 'single') {\n onChangeSelectedRowIds([row.id]);\n return;\n }\n onChangeSelectedRowIds([...selectedRowIds, row.id]);\n return;\n }\n const newSelectedRowIds = [...selectedRowIds];\n const index = newSelectedRowIds.findIndex((id) => id === row.id);\n newSelectedRowIds.splice(index, 1);\n onChangeSelectedRowIds(newSelectedRowIds);\n }, [onChangeSelectedRowIds, selectedRowIds, selectionMode]);\n const handleSelectAll = useCallback(() => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (selectedRowIds.length === rows.length) {\n onChangeSelectedRowIds([]);\n return;\n }\n const rowIds = rows.map((row) => row.id);\n onChangeSelectedRowIds(rowIds);\n }, [onChangeSelectedRowIds, rows, selectedRowIds]);\n const handleClickSortableHeader = useCallback((columnId) => {\n if (sortColumnId === undefined || onChangeSort === undefined)\n return;\n let nextColumnId = sortColumnId;\n let nextDirection = 'ascending';\n if (sortDirection === 'ascending') {\n nextDirection = 'descending';\n }\n if (columnId !== sortColumnId) {\n nextColumnId = columnId;\n nextDirection = 'ascending';\n }\n onChangeSort(nextColumnId, nextDirection);\n }, [onChangeSort, sortColumnId, sortDirection]);\n const renderHeaderCell = useCallback((header, style) => {\n let className = '';\n let onClick = () => { };\n let sortIcon = React.createElement(IconUnsorted, null);\n const { tooltip, align, icon, title, sortable, id } = header;\n if (sortable) {\n className = 'sortable';\n onClick = () => handleClickSortableHeader(id);\n if (sortColumnId === id) {\n sortIcon = sortDirection === 'ascending' ? React.createElement(IconSortAsc, null) : React.createElement(IconSortDesc, null);\n }\n }\n const headerContents = (React.createElement(HeaderCellLayout, { align: align },\n icon && icon,\n title && React.createElement(\"span\", null, title),\n sortable && sortIcon));\n return (React.createElement(HeaderCell, { key: id, id: `data-table-header-${id}`, className: className, onClick: onClick, align: header.align, grow: header.grow, style: Object.assign({ width: header.width || 'auto' }, style) }, tooltip ? (React.createElement(Tooltip, { text: tooltip },\n React.createElement(TooltipContent, null, headerContents))) : (headerContents)));\n }, [handleClickSortableHeader, sortColumnId, sortDirection]);\n const renderSkeletonHeaderCell = useCallback((header, style) => (React.createElement(SkeletonHeaderCell, { key: header.id, width: header.width || 'auto', style: style, isLoading: isLoading })), [isLoading]);\n const renderHeader = useCallback(() => {\n if (!headers)\n return null;\n const styles = generateFixedColumnsStyle();\n const selectionCellStyle = styles ? styles[0].style : {};\n return (React.createElement(Head, null,\n React.createElement(Row, null,\n selectedRowIds && (React.createElement(HeaderCell, { style: Object.assign({ width: selectionColumnWidth }, selectionCellStyle) }, selectionMode === 'multiple' && (React.createElement(Checkbox, { checked: (rows.length > 0 && (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.length) === rows.length) || false, onChange: handleSelectAll, disabled: (disabledSelectionInputRowIds && disabledSelectionInputRowIds.length > 0) ||\n isLoading ||\n isEmpty, ariaLabel: \"Select all\" })))),\n headers.map((header, index) => {\n const startHeaderIndex = selectedRowIds ? index + 2 : index + 1;\n const endHeaderIndex = index - headers.length;\n const headerCellStyle = styles === null || styles === void 0 ? void 0 : styles.find((style) => style.index === startHeaderIndex || style.index === endHeaderIndex);\n return header.skeleton && (isLoading || isError || isEmpty)\n ? renderSkeletonHeaderCell(header, header.skeletonStyle || {})\n : renderHeaderCell(header, (headerCellStyle === null || headerCellStyle === void 0 ? void 0 : headerCellStyle.style) || {});\n }))));\n }, [\n generateFixedColumnsStyle,\n handleSelectAll,\n headers,\n isEmpty,\n isError,\n isLoading,\n renderSkeletonHeaderCell,\n renderHeaderCell,\n rows.length,\n selectedRowIds,\n selectionMode,\n disabledSelectionInputRowIds,\n ]);\n const renderSelectionInput = useCallback((isSelected, row) => {\n const inputProps = {\n checked: isSelected,\n onChange: (checked) => handleSelectRow(checked, row),\n disabled: (disabledSelectionInputRowIds === null || disabledSelectionInputRowIds === void 0 ? void 0 : disabledSelectionInputRowIds.includes(row.id)) || false,\n };\n if (selectionMode === 'single') {\n return React.createElement(Radio, Object.assign({}, inputProps));\n }\n return React.createElement(Checkbox, Object.assign({}, inputProps));\n }, [handleSelectRow, selectionMode, disabledSelectionInputRowIds]);\n const renderSkeletonSelectionInput = useCallback((rowIndex) => {\n const generalStyle = {\n width: 18,\n height: 18,\n margin: 3,\n animationDuration: '0s',\n };\n if (selectionMode === 'single') {\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `radio-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '50%' }) }));\n }\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `checkbox-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '0.25rem' }) }));\n }, [selectionMode]);\n const getNestedRow = useCallback((nestedRow, isHidden) => {\n var _a, _b;\n if (!renderNestedRow)\n return null;\n const content = renderNestedRow(nestedRow);\n if (!content)\n return null;\n const nestedRowE2eClassName = ((_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) || '';\n return (React.createElement(Row, { key: nestedRow.id, className: `${nestedRowE2eClassName} ${isHidden ? 'hidden' : ''}` },\n selectedRowIds && React.createElement(Cell, null),\n content));\n }, [renderNestedRow, selectedRowIds]);\n const renderDefaultLoadingRow = useCallback((rowIndex) => {\n if (!headers)\n return React.createElement(SkeletonCell, null);\n // Otherwise render a cell for each column\n const cells = headers.map((header) => React.createElement(SkeletonCell, { key: `${rowIndex}-${header.id}` }));\n if (selectedRowIds)\n cells.unshift(renderSkeletonSelectionInput(rowIndex));\n return cells;\n }, [headers, renderSkeletonSelectionInput, selectedRowIds]);\n const getFooter = () => {\n if (!renderFooterRow)\n return null;\n if (isLoading && !renderFooterLoadingRow)\n return null;\n if (!isLoading && isEmpty)\n return null;\n return (React.createElement(Footer, { fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null,\n selectedRowIds && !omitFooterSelectionCell && React.createElement(Cell, null),\n !isLoading && renderFooterRow(rows),\n isLoading && renderFooterLoadingRow && renderFooterLoadingRow())));\n };\n let lastStartFixedColumnsIndex = startFixedColumnsNumber;\n if (selectedRowIds && lastStartFixedColumnsIndex)\n lastStartFixedColumnsIndex += 1;\n const renderedRows = useMemo(() => rows.map((row) => {\n var _a, _b, _c;\n const { data } = row;\n const isSelected = selectedRowIds ? selectedRowIds.includes(row.id) : false;\n const isExpanded = expandedRowIds ? expandedRowIds.includes(row.id) : true;\n const bodyClassName = (_a = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _a === void 0 ? void 0 : _a.body;\n const rowE2eClassName = (_c = (_b = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) !== null && _c !== void 0 ? _c : '';\n const rowClassName = isSelected ? `selected ${rowE2eClassName}` : `${rowE2eClassName}`;\n return (React.createElement(Body, { key: row.id, className: bodyClassName, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, { key: row.id, className: rowClassName, accentColor: row.accentColor },\n selectedRowIds && React.createElement(Cell, null, renderSelectionInput(isSelected, row)),\n renderRow(row)),\n row.nestedRows && row.nestedRows.map((item) => getNestedRow(item, !isExpanded))));\n }), [\n rows,\n expandedRowIds,\n fixedColumnsStyle,\n getNestedRow,\n renderRow,\n renderSelectionInput,\n selectedRowIds,\n ]);\n /* Loading state */\n if (isLoading) {\n const loadingRows = [];\n for (let i = 0; i < skeletonRowsNumber; i += 1) {\n loadingRows.push(React.createElement(Body, { key: `loading-row-${i}`, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null, renderLoadingRow ? (React.createElement(React.Fragment, null,\n selectedRowIds && renderSkeletonSelectionInput(),\n renderLoadingRow())) : (renderDefaultLoadingRow(i)))));\n }\n return (React.createElement(WrapperComponent, { ref: wrapperRef, scrollDisabled: true, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: true, isFixedLayout: isFixedLayout },\n renderHeader(),\n loadingRows,\n getFooter())));\n }\n /* Empty & Error states */\n if (isEmpty || isError) {\n let specificStateValues = defaultEmptyState;\n if (customSpecificState)\n specificStateValues = customSpecificState;\n else if (isError)\n specificStateValues = defaultErrorState;\n return (React.createElement(WrapperComponent, { scrollDisabled: true },\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n getFooter()),\n React.createElement(SpecificState, Object.assign({ height: bodyHeightInSpecificStates }, specificStateValues))));\n }\n /* Populated state */\n return (React.createElement(WrapperComponent, { scrollDisabled: false, ref: wrapperRef, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber, showScrollbar: showScrollbar },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n renderedRows,\n getFooter())));\n};\nLegacyDataTable.Cell = Cell;\nLegacyDataTable.ClickableCell = ClickableCell;\nLegacyDataTable.EditableCell = EditableCell;\nLegacyDataTable.SkeletonCell = SkeletonCell;\nLegacyDataTable.SkeletonContent = SkeletonContent;\n//# sourceMappingURL=LegacyDataTable.js.map","import styled from 'styled-components';\nexport const LoginButton = styled.button.withConfig({ displayName: \"vui--LoginButton\", componentId: \"vui--9ns5xb\" }) `background:none;border:none;padding:0;cursor:pointer;img{width:156px;height:32px;}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { LoginButton } from './styled';\nconst buttonImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64.png';\nconst buttonPressedImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64_pressed.png';\nexport const buttonDescription = 'Log in with Amazon';\n/**\n * Image used in this button is to comply with official\n * Amazon button guidelines (https://developer.amazon.com/docs/login-with-amazon/button.html#android-images).\n */\nexport const LoginWithAmazonButton = (props) => {\n const [image, setImage] = useState(buttonImg);\n const handleMouseDown = () => {\n setImage(buttonPressedImg);\n };\n const handleMouseUp = () => {\n setImage(buttonImg);\n };\n return (React.createElement(LoginButton, Object.assign({ onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, \"aria-label\": buttonDescription }, props),\n React.createElement(\"img\", { src: image, alt: buttonDescription })));\n};\n//# sourceMappingURL=LoginWithAmazonButton.js.map","import styled, { createGlobalStyle } from 'styled-components';\nimport { Card } from '../../Card';\nimport { theme } from '../../../theme';\nexport const NonScrollableBody = createGlobalStyle `body{overflow:hidden;scrollbar-gutter:stable;}`;\nexport const MainSection = styled.section.withConfig({ displayName: \"vui--MainSection\", componentId: \"vui--1ox4j2c\" }) `flex:1;overflow-y:auto;${({ fullBleed }) => !fullBleed && `padding: 0 ${theme.sizes.md};`} ${({ isScrollable }) => isScrollable &&\n `\n & + ${Card.Footer} {\n box-shadow: 0px 10px 15px 0px ${theme.colors.neutral.ink.dark};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","/**\n * Type guard to check if a header slot has been passed to the component.\n */\nexport const hasHeaderSlot = (props) => {\n return !!props.headerSlot;\n};\n/**\n * Type guard to check if a footer slot has been passed to the component.\n */\nexport const hasFooterSlot = (props) => {\n return !!props.footerSlot;\n};\n//# sourceMappingURL=types.js.map","import { breakpoints } from '../../../../theme/modules/breakpoints';\nexport const heightMap = {\n xs: '84vh',\n sm: '72vh',\n base: '84vh',\n lg: '96vh',\n};\nexport const widthMap = {\n [breakpoints.mobile]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.tablet]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.lgTablet]: {\n xs: '48vw',\n sm: '56vw',\n base: '88vw',\n lg: '100vw',\n },\n [breakpoints.desktop]: {\n xs: '36vw',\n sm: '44vw',\n base: '72vw',\n lg: '88vw',\n },\n [breakpoints.lgDesktop]: {\n xs: '32vw',\n sm: '40vw',\n base: '52vw',\n lg: '80vw',\n },\n};\nexport const fullScreenBreakpointMap = {\n xs: breakpoints.mobile,\n sm: breakpoints.mobile,\n base: breakpoints.tablet,\n lg: breakpoints.lgTablet,\n};\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { getOpaqueHexColor } from '../../../../utils/color';\nimport { Card } from '../../../Card';\nimport { theme } from '../../../../theme';\nimport { fullScreenBreakpointMap, heightMap, widthMap } from './constants';\nimport { MainSection } from '../styled';\nconst { breakpoints } = theme;\nexport const StyledDialog = styled(motion.dialog).attrs({\n initial: { opacity: 0, y: -50, bounce: 0 },\n exit: { opacity: 0, y: -50, bounce: 0 },\n animate: { opacity: 1, y: 0, bounce: 0 },\n transition: { type: 'tween', duration: 0.25 },\n}).withConfig({ displayName: \"vui--StyledDialog\", componentId: \"vui--1ohvs0u\" }) `padding:0;border:none;border-radius:${theme.sizes.sm};box-shadow:${theme.shadows.lg};min-width:464px;&::backdrop{animation:fadeIn 0.25s ease forwards;}& > ${Card.Surface}{display:flex;flex-direction:column;${({ variant }) => `max-height: ${heightMap[variant]};`} ${MainSection}{padding-bottom:${theme.sizes.md};}${Card.Footer}{margin-top:0;}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@media (min-width: calc(${breakpoints.mobile} + 1px))and (max-width: ${breakpoints.tablet}){max-width:${({ variant }) => widthMap[breakpoints.tablet][variant]};}@media (min-width: ${breakpoints.tablet})and (max-width: ${breakpoints.lgTablet}){max-width:${({ variant }) => widthMap[breakpoints.lgTablet][variant]};}@media (min-width: ${breakpoints.lgTablet})and (max-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.desktop][variant]};}@media (min-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.lgDesktop][variant]};}@media (max-width: ${({ variant }) => fullScreenBreakpointMap[variant]}){margin:0;width:100%;max-width:100vw;max-height:100vh;&,& > ${Card.Surface}{border-radius:0;height:100%;width:100%;max-height:unset;}}&::backdrop{background-color:${getOpaqueHexColor(theme.colors.neutral.ink.base, 0.5)};}&:not([open]){display:block;position:fixed;top:0;left:0;right:0;bottom:0;transform:translate(-50%, -50%);}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledDialog } from './styled';\nexport const Dialog = React.forwardRef((_a, ref) => {\n var rest = __rest(_a, []);\n return React.createElement(StyledDialog, Object.assign({ ref: ref }, rest));\n});\n//# sourceMappingURL=Dialog.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { MainSection, NonScrollableBody } from './components/styled';\nimport { hasFooterSlot, hasHeaderSlot } from './types';\nimport { Dialog } from './components/Dialog/Dialog';\nimport { useIsOverflowing } from '../../hooks/useIsOverflowing';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { CardHeader } from '../CardHeader';\nimport { Stack } from '../Stack';\nexport const Modal = (props) => {\n const { shouldShow, showHeaderCloseButton = true, fullBleed = false, variant = 'base', onClose: parentOnClose, children, className, } = 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\", className: className },\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 { 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, iconSlot: React.createElement(StartArrowIcon, null), size: \"sm\", \"aria-label\": \"go to first page\" }),\n React.createElement(PaginationButton, { onClick: handleDecrement, iconSlot: 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, iconSlot: React.createElement(RightArrowIcon, null), size: \"sm\", \"aria-label\": \"go to next page\", \"aria-disabled\": currentPage >= totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleSkipToEnd, iconSlot: React.createElement(EndArrowIcon, null), size: \"sm\", \"aria-label\": \"go to last page\", \"aria-disabled\": currentPage >= totalPagesCount })));\n};\n//# sourceMappingURL=Pagination.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1y4bw67\" }) `box-sizing:border-box;display:inline-flex;flex-direction:column;height:${({ size }) => (size === 'sm' ? '32px' : '40px')};border-radius:4px;${({ size }) => size === 'sm'\n ? `svg { width: 14px !important; height: 14px !important; };\n\n > button { padding: 0 6px };`\n : ''};& > *:first-child{border-bottom-width:0;}& > *:active,& > *:focus{border-width:1px;}& > *:active + *,& > *:focus + *{border-top-width:0;}& > *:focus,& > *:active{z-index:5;}& > *:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit;}& > *:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;}`;\nexport const StepButton = styled.button.withConfig({ displayName: \"vui--StepButton\", componentId: \"vui--z17r9v\" }) `appearance:none;flex:1;border:0;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:white;border:1px solid #959fa8;&:hover{cursor:pointer;background-color:#fafafb;}&:active:not(:disabled){background-color:#fafafb;border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { theme } from '../../theme';\nimport { Container, StepButton } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Stepper = ({ onIncrement, onDecrement, disabled = false, size }) => (React.createElement(Container, { size: size },\n React.createElement(StepButton, { type: \"button\", onClick: onIncrement, disabled: disabled },\n React.createElement(UpArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base })),\n React.createElement(StepButton, { type: \"button\", onClick: onDecrement, disabled: disabled },\n React.createElement(DownArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base }))));\n//# sourceMappingURL=Stepper.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { InputGroup } from '../InputGroup';\nimport { theme } from '../../theme';\nexport const StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--8gyz01\" }) `color:${theme.colors.neutral.ink.dark};width:100%;&:focus{box-shadow:none;border-color:none;border-right-width:0;border-color:${theme.colors.neutral.ink.lightest};}`;\nexport const PrefixContainer = styled(BaseContainer).withConfig({ displayName: \"vui--PrefixContainer\", componentId: \"vui--fsc9el\" }) `user-select:none;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:4px;display:flex;align-items:center;justify-content:center;width:${({ size }) => (size === 'sm' ? '30px' : '36px')};background-color:${({ disabled }) => (disabled ? theme.colors.neutral.grey.light : 'white')};flex-shrink:0;${({ size }) => (size === 'sm' ? '> span { font-size: 12px }' : '')};&:active{z-index:0;border-right-width:0;+ input{z-index:0;border-left-width:1px;}}`;\nexport const PrefixText = styled(Text).withConfig({ displayName: \"vui--PrefixText\", componentId: \"vui--w81sf\" }) `font-size:14px;`;\nexport const PriceInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--PriceInputGroup\", componentId: \"vui--jpuoo1\" }) `display:inline-flex;border-radius:4px;min-width:125px;width:100%;${({ hasError }) => hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n\n > * {\n border-top-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n\n > *:first-child {\n border-left-color: ${theme.colors.secondary.red.base};\n }\n\n > div:last-child {\n > button:first-child {\n border-top-color: ${theme.colors.secondary.red.base};\n border-right-color: ${theme.colors.secondary.red.base};\n }\n\n > button:last-child {\n border-right-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n }\n `} &:focus-within{outline:0;box-shadow:${({ hasError }) => hasError ? '' : `0 0 0 4px ${theme.colors.secondary.blue.light}`};}&:focus-within > *{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > *:first-child{border-left-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > div:last-child{> button:first-child{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}> button:last-child{border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ComponentSize } from '../types';\nimport { Stepper } from '../Stepper';\nimport { PriceInputGroup, StyledTextField, PrefixContainer, PrefixText } from './styled';\nimport { withLabels } from '../../hoc';\nconst fractionDigits = 2;\nfunction stringToFixed(price) {\n const floatPrice = parseFloat(price.replace(',', '.'));\n return floatPrice.toFixed(fractionDigits);\n}\nexport const PriceInput = withLabels((_a) => {\n var { className = '', hasError, currency, disabled = false, onChange, onPriceChange, priceValue, step = '0.1', size = ComponentSize.base } = _a, otherProps = __rest(_a, [\"className\", \"hasError\", \"currency\", \"disabled\", \"onChange\", \"onPriceChange\", \"priceValue\", \"step\", \"size\"]);\n const handleChange = (value) => onChange(value.replace(/[a-zA-Z]/g, '').replace(',', '.'));\n const handleBlur = (e) => {\n const target = e.target;\n const { value } = target;\n if (!value) {\n onPriceChange('');\n return;\n }\n const roundedValue = stringToFixed(value);\n onPriceChange(roundedValue);\n };\n const handleIncrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice + currentStep).toFixed(fractionDigits));\n };\n const handleDecrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice - currentStep).toFixed(fractionDigits));\n };\n const handleKeyDown = (e) => {\n const { key } = e;\n const target = e.target;\n const isInForm = target.form;\n if (!isInForm) {\n if (key === 'Enter')\n target.blur();\n }\n if (key === 'ArrowUp')\n handleIncrement(onChange);\n if (key === 'ArrowDown')\n handleDecrement(onChange);\n };\n return (React.createElement(PriceInputGroup, { className: className, hasError: hasError },\n React.createElement(PrefixContainer, { disabled: disabled, size: size },\n React.createElement(PrefixText, { variant: \"hintText\" }, currency)),\n React.createElement(StyledTextField, Object.assign({ placeholder: \"0.00\", type: \"currency\", value: priceValue, step: step, onChange: handleChange, onBlur: handleBlur, onKeyDown: handleKeyDown, disabled: disabled, size: size }, otherProps)),\n React.createElement(Stepper, { onIncrement: () => handleIncrement(), onDecrement: () => handleDecrement(), disabled: disabled, size: size })));\n});\nPriceInput.displayName = 'PriceInput';\n//# sourceMappingURL=PriceInput.js.map","import React from 'react';\nimport styled from 'styled-components';\nconst ScreenReaderOnlyElement = styled.span.withConfig({ displayName: \"vui--ScreenReaderOnlyElement\", componentId: \"vui--ejkp56\" }) `position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;`;\n/**\n * The `ScreenReaderOnly` component is used to render content that is only visible to screen readers and assistive technologies. This component can be useful for providing additional context or information to users who rely on screen readers, while keeping the content visually hidden from sighted users.\n * * **This is not a replacement for `aria-label`.**\n *\n * Note: aria-label is intended for interactive elements or for elements made interactive via other ARIA declarations when there's no visible text in the DOM to serve as a label.\n *\n * In general, screen reader-only content should be reserved for information that is apparent visually but not apparent to blind screen reader users.\n *\n * **Example use cases:**\n * - Adding instructional cues and indicators\n * - Search input that is clearly a search bar to sighted users (search icon, etc.). A hidden, associated `<label>` element with \"Search orders\"\n * - Skip to links to take the user to the main content (still need to be visibile when focused)\n * - Breadcrumb navigation, making it clear with a \"you are here\" screen reader text\n */\nexport const ScreenReaderOnly = ({ children }) => {\n return React.createElement(ScreenReaderOnlyElement, null, children);\n};\n//# sourceMappingURL=ScreenReaderOnly.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Loader } from '../Loader';\nconst Input = styled(TextField).withConfig({ displayName: \"vui--Input\", componentId: \"vui--je6y84\" }) `flex-grow:2;margin-top:0;margin-bottom:0;`;\nconst IconContainer = styled.div.withConfig({ displayName: \"vui--IconContainer\", componentId: \"vui--113gfe8\" }) `position:absolute;`;\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--18q9h8i\" }) `position:relative;display:flex;justify-content:flex-start;align-items:center;border-radius:0.25rem;${({ iconPosition }) => {\n let padding = 'padding-right: 2.5rem;';\n let position = 'right: 0.5rem;';\n if (iconPosition === 'left') {\n padding = 'padding-left: 2.5rem';\n position = 'left: 0.5rem;';\n }\n return `\n & ${Input} {\n ${padding}\n }\n\n & ${IconContainer} {\n ${position}\n }\n `;\n}}`;\nexport { Container, Input, IconContainer, Loader };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const SearchIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M14.3819 13.6918H15.1498L20 18.5517L18.5517 20L13.6918 15.1498V14.3819L13.4294 14.1098C12.3213 15.0623 10.8828 15.6358 9.3179 15.6358C5.82847 15.6358 3 12.8073 3 9.3179C3 5.82847 5.82847 3 9.3179 3C12.8073 3 15.6358 5.82847 15.6358 9.3179C15.6358 10.8828 15.0623 12.3213 14.1098 13.4294L14.3819 13.6918ZM4.94397 9.3179C4.94397 11.7381 6.89766 13.6918 9.3179 13.6918C11.7381 13.6918 13.6918 11.7381 13.6918 9.3179C13.6918 6.89766 11.7381 4.94397 9.3179 4.94397C6.89766 4.94397 4.94397 6.89766 4.94397 9.3179Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SearchIcon.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nimport { Container, Input, IconContainer, Loader } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { SearchIcon } from '../../tempIcons/SearchIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Search = ({ type = 'text', disabled = false, onClearClick, onChange, onBlur, onFocus, onKeyUp, onKeyDown, onKeyPress, value = '', error, placeholder = '', className = '', name, isLoading = false, fill, reversed = false, autoComplete = 'on', size = 'base', }) => {\n const shouldShowClear = value && value.length > 0;\n const renderIcon = () => {\n if (isLoading) {\n return React.createElement(Loader, { height: 24, color: fill || theme.colors.secondary.blue.base });\n }\n if (shouldShowClear && onClearClick) {\n return (React.createElement(Button, { variant: \"unstyled\", onClick: onClearClick, style: { display: 'flex' }, \"aria-label\": \"Clear text\", type: \"button\" },\n React.createElement(CrossIcon, { color: fill || theme.colors.neutral.ink.dark })));\n }\n return (React.createElement(Button, { variant: \"unstyled\", onClick: () => onChange(value), style: { display: 'flex' }, \"aria-label\": \"Search\", type: \"button\" },\n React.createElement(SearchIcon, { color: fill || theme.colors.neutral.ink.dark, height: sizes.md, width: sizes.md })));\n };\n return (React.createElement(Container, { className: className, iconPosition: reversed ? 'left' : 'right' },\n React.createElement(Input, { size: size, type: type, value: value, onChange: onChange, onBlur: onBlur, onFocus: onFocus, onKeyUp: onKeyUp, onKeyDown: onKeyDown, onKeyPress: onKeyPress, placeholder: placeholder, name: name, disabled: disabled, error: error, autoComplete: autoComplete }),\n React.createElement(IconContainer, null, renderIcon())));\n};\n//# sourceMappingURL=Search.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { BaseContainer } from '../BaseContainer';\nconst buttonBackgroundColor = theme.colors.neutral.grey.lightest;\nconst buttonBorderColor = theme.colors.neutral.grey.dark;\nconst activeButtonColor = theme.colors.secondary.blue.dark;\nexport const SegmentedControlContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SegmentedControlContainer\", componentId: \"vui--s4yyqq\" }) `display:flex;flex-direction:row;> button{border-radius:0;box-shadow:none;:active{background-color:${buttonBackgroundColor};border-color:${buttonBorderColor};box-shadow:none;}:focus{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};outline:0;z-index:1;}}> .veeqo-components-active-button{:active{background-color:${activeButtonColor};border-color:${activeButtonColor};}}> button:not(:first-child){border-left:none;}> .veeqo-components-active-button + button{border-left:1px solid ${theme.colors.neutral.grey.dark};}> button:first-child{border-radius:20px 0px 0px 20px;}> button:last-child{border-radius:0px 20px 20px 0px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { SegmentedControlContainer } from './styled';\nexport const SegmentedControl = ({ options, selected, className, onChange, }) => (React.createElement(SegmentedControlContainer, { className: className ? `${className}-container` : undefined }, options.map((option) => (React.createElement(Button, { type: \"button\", \"aria-pressed\": option.value === selected, variant: option.value === selected ? 'primary' : 'default', key: option.key, onClick: () => onChange(option.value), disabled: option.disabled, className: option.value === selected ? 'veeqo-components-active-button' : '' }, option.label)))));\n//# sourceMappingURL=SegmentedControl.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const ShortcutKeysContainer = styled.div.withConfig({ displayName: \"vui--ShortcutKeysContainer\", componentId: \"vui--t1odf6\" }) `--kbdTextColor:${(props) => (props.$inverse ? '#ffffff' : '')};box-sizing:border-box;display:flex;align-items:center;gap:4px;color:var(--kbdTextColor, ${theme.colors.neutral.ink.base});font-family:${theme.text.bodySmall.fontFamily};font-style:${theme.text.bodySmall.fontStyle};font-size:${theme.text.bodySmall.fontSize};line-height:${theme.text.bodySmall.lineHeight};font-weight:${theme.text.bodySmall.fontWeight};text-decoration:${theme.text.bodySmall.textDecoration};letter-spacing:${theme.text.bodySmall.letterSpacing};`;\nexport const Kbd = styled.kbd.withConfig({ displayName: \"vui--Kbd\", componentId: \"vui--651mmm\" }) `box-sizing:border-box;color:var(--kbdTextColor, ${theme.colors.neutral.ink.base});display:grid;place-items:center;text-transform:capitalize;border:1px solid var(--kbdTextColor, ${theme.colors.neutral.ink.base});border-radius:3px;padding:1px 3px;font-size:inherit;line-height:inherit;min-width:20px;font-family:${theme.text.bodySmall.fontFamily};font-style:${theme.text.bodySmall.fontStyle};`;\n//# sourceMappingURL=styled.js.map","// Map of UTF-16 characters to be used for modifier keys\nexport const ValidModifierKeysMap = {\n command: '⌘',\n windows: '⊞',\n shift: '⇧',\n ctrl: '⌃',\n option: '⌥',\n alt: 'alt',\n enter: '↵',\n delete: '⌫',\n escape: 'esc',\n up: '↑',\n right: '→',\n down: '↓',\n left: '←',\n space: 'space',\n};\n// Map of labels to be used for modifier keys\nexport const ValidModifierKeyssLabelMap = {\n command: 'Command',\n windows: 'Windows',\n shift: 'Shift',\n ctrl: 'Control',\n option: 'Option',\n alt: 'Alt',\n enter: 'Enter',\n delete: 'Delete',\n escape: 'Escape',\n up: 'Up',\n right: 'Right',\n down: 'Down',\n left: 'Left',\n space: 'Space',\n};\n// An example array of potential shortcut actions\nexport const exampleStorybookShortcutActions = [\n {\n label: 'Shortcut modal',\n mac: 'shift+?',\n windows: 'shift+?',\n },\n {\n label: 'Change view',\n mac: 'shift+option+1',\n windows: 'shift+alt+1',\n },\n {\n label: 'Search',\n mac: 'shift+space',\n windows: 'shift+space',\n },\n {\n label: 'Select all orders in the page',\n mac: 'shift+a',\n windows: 'shift+a',\n },\n {\n label: 'Select first row',\n mac: 'shift+1',\n windows: 'shift+1',\n },\n {\n label: 'Next order',\n mac: 'down',\n windows: 'down',\n },\n {\n label: 'Slect next order',\n mac: 'shift+down',\n windows: 'shift+down',\n },\n {\n label: 'Previous order',\n mac: 'up',\n windows: 'up',\n },\n {\n label: 'Select previous order',\n mac: 'shift+up',\n windows: 'shift+up',\n },\n {\n label: 'Use scale',\n mac: 'shift+w',\n windows: 'shift+w',\n },\n {\n label: 'Refresh rates',\n mac: 'shift+r',\n windows: 'shift+r',\n },\n {\n label: 'Buy label and Print documents',\n mac: 'shift+b',\n windows: 'shift+b',\n },\n {\n label: 'Clear filters',\n mac: 'shift+c',\n windows: 'shift+c',\n },\n {\n label: 'Invoice',\n mac: 'shift+i',\n windows: 'shift+i',\n },\n {\n label: 'Packing slip',\n mac: 'shift+p',\n windows: 'shift+p',\n },\n {\n label: 'Shipping label',\n mac: 'shift+s',\n windows: 'shift+s',\n },\n {\n label: 'Return label',\n mac: 'shift+r',\n windows: 'shift+r',\n },\n {\n label: 'Integrated Invoice with Shipping label',\n mac: 'shift+k',\n windows: 'shift+k',\n },\n {\n label: 'Integrated Packing Slip with Shipping Label',\n mac: 'shift+l',\n windows: 'shift+l',\n },\n];\n//# sourceMappingURL=utils.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ShortcutKeysContainer, Kbd } from './styled';\nimport { ValidModifierKeyssLabelMap, ValidModifierKeysMap } from './utils';\n/**\n * ShortcutKeys UI component\n *\n * Renders a keyboard shortcut string by splitting it on \"+\" and rendering each\n * key to a <kbd> component.\n *\n * Criteria for `shortcut` prop:\n * - ValidModifierKeys MUST always come before other keys e.g. `shift+a` is valid, `a+shift` is invalid\n * - If it's not a modifier key it must be a singular key e.g. `a`, `2` is valid and `a2` or `abcde` is invalid etc.\n * - A limit of 3 key combinations separated between the '+' symbol e.g. `shift+ctrl+a` is valid, `shift+ctrl+a+b` is invalid\n *\n */\nexport const ShortcutKeys = (_a) => {\n var { shortcut, label, inverse = false, displayLabel = false } = _a, props = __rest(_a, [\"shortcut\", \"label\", \"inverse\", \"displayLabel\"]);\n // Split the keys into individual <Kbd /> components\n const keysToRender = shortcut.split('+');\n // Replace modifier keys with the corresponding UTF-16 character if available.\n const keysToRenderComponents = keysToRender.map((key) => {\n if (ValidModifierKeysMap[key]) {\n return (React.createElement(Kbd, { key: `Key: ${key}`, \"aria-label\": ValidModifierKeyssLabelMap[key] }, ValidModifierKeysMap[key]));\n }\n return React.createElement(Kbd, { key: `Key: ${key}` }, key);\n });\n // Combine the <Kbd /> components to sit inside a single <ShortcutKeysContainer /> component.\n const shortcutElements = keysToRenderComponents.reduce((previousKbdElement, currentKbdElement) => (React.createElement(React.Fragment, null,\n previousKbdElement,\n \"+\",\n currentKbdElement)));\n return (React.createElement(ShortcutKeysContainer, Object.assign({ \"aria-label\": label, \"$inverse\": inverse }, props),\n shortcutElements,\n \" \",\n displayLabel ? React.createElement(\"span\", null, label) : null));\n};\n//# sourceMappingURL=ShortcutKeys.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nconst { blue } = colors.secondary;\nconst { grey } = colors.neutral;\nexport const TableHeader = styled.thead.withConfig({ displayName: \"vui--TableHeader\", componentId: \"vui--o0sot\" }) `background-color:white;`;\nexport const TableBody = styled.tbody.withConfig({ displayName: \"vui--TableBody\", componentId: \"vui--nuzcgp\" }) `&&& tr:hover td{background-color:${blue.lightest};}`;\nexport const TableRow = styled.tr.withConfig({ displayName: \"vui--TableRow\", componentId: \"vui--1uhgfx1\" }) ``;\nexport const TableCell = styled.td.withConfig({ displayName: \"vui--TableCell\", componentId: \"vui--s41x8b\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};& > *{vertical-align:middle;}`;\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--TableHeaderCell\", componentId: \"vui--2nps2x\" }) `border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--lcbl46\" }) `width:100%;border-spacing:0;${({ striped }) => striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { TableBody, TableCell, TableHeader, TableRow, TableHeaderCell, Table } from './styled';\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }) => (React.createElement(Table, { striped: striped, className: className }, children));\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n//# sourceMappingURL=SimpleTable.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nexport const Skeleton = styled(BaseContainer).attrs(() => ({\n 'aria-hidden': true,\n})).withConfig({ displayName: \"vui--Skeleton\", componentId: \"vui--7bl1ak\" }) `display:block;background:#f6f7f8;background:linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);background-size:2500px 104px;cursor:progress;border-radius:4px;${({ width = '', height = '' }) => `\n width: ${width || '100%'};\n min-width: ${width};\n height: ${height || '20px'};\n min-height: ${height};\n `};@media (prefers-reduced-motion: no-preference){animation-duration:2s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;}@keyframes placeHolderShimmer{0%{background-position:-1080px 0;}100%{background-position:1080px 0;}}`;\nSkeleton.displayName = 'Skeleton';\n//# sourceMappingURL=Skeleton.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst TRACK_HEIGHT = 4;\nconst BORDER_SIZE = 4;\nconst SLIDER_SIZE = 12;\nconst ADDITIONAL_PADDING = 2;\nconst SliderContainer = styled.div.withConfig({ displayName: \"vui--SliderContainer\", componentId: \"vui--103oce3\" }) `min-width:128px;display:inline-block;position:relative;padding:${SLIDER_SIZE / 2 + ADDITIONAL_PADDING}px 0px;`;\nconst SliderTrack = styled.div.withConfig({ displayName: \"vui--SliderTrack\", componentId: \"vui--1ctzbzj\" }) `background:${theme.colors.neutral.grey.base};height:${TRACK_HEIGHT}px;border-radius:20px;`;\nconst SliderDiv = styled.div.withConfig({ displayName: \"vui--SliderDiv\", componentId: \"vui--1tltjvk\" }) `position:absolute;top:-${(SLIDER_SIZE - TRACK_HEIGHT) / 2 - ADDITIONAL_PADDING * 2}px;left:${(props) => `${props.left}%`};width:${SLIDER_SIZE}px;height:${SLIDER_SIZE}px;background:white;border:${BORDER_SIZE}px solid ${theme.colors.secondary.blue.base};border-radius:50%;touch-action:none;cursor:pointer;margin-left:-${SLIDER_SIZE}px;&:active,&:focus,&:focus-visible,&:focus-within{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}`;\nconst SliderRange = styled(SliderTrack).withConfig({ displayName: \"vui--SliderRange\", componentId: \"vui--t3v3py\" }) `position:relative;width:${(props) => `${props.width}%`};left:${(props) => `${props.left}%`};background:${theme.colors.secondary.blue.light};bottom:${TRACK_HEIGHT}px;border-radius:0;`;\nexport { SliderContainer, SliderTrack, SliderRange, SliderDiv };\n//# sourceMappingURL=styled.js.map","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { SliderContainer, SliderTrack, SliderRange, SliderDiv } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-slider-container` : undefined,\n sliderRange: prefix ? `${prefix}-slider-range` : undefined,\n slider: prefix ? `${prefix}-slider` : undefined,\n startSlider: prefix ? `${prefix}-start-slider` : undefined,\n endSlider: prefix ? `${prefix}-end-slider` : undefined,\n});\nexport const Slider = ({ id, value, min, max, step = 1, onChange, className, e2eClassName, onSlideStart = () => { }, onSlideEnd = () => { }, }) => {\n const [isDragging, setIsDragging] = useState(false);\n const [draggingSliderIndex, setDraggingSliderIndex] = useState(-1);\n const containerRef = useRef(null);\n const startSliderRef = useRef(null);\n const endSliderRef = useRef(null);\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const handleMouseMove = useCallback((e) => {\n var _a;\n if (!isDragging || !containerRef.current)\n return;\n const sliderValue = draggingSliderIndex > -1 ? value[draggingSliderIndex] : value;\n const containerSize = containerRef.current.getBoundingClientRect();\n // slider position relative to the container in percents\n const handleValue = ((e.pageX - containerSize.x) * 100) / containerSize.width;\n // current value by slider position\n let newValue = (max - min) * (handleValue / 100) + min;\n const diff = sliderValue - newValue;\n // use to apply step to new value\n if (diff > 0) {\n newValue = sliderValue + Math.ceil(newValue / step - sliderValue / step) * step;\n }\n if (diff < 0) {\n newValue = sliderValue + Math.floor(newValue / step - sliderValue / step) * step;\n }\n if (sliderValue === newValue)\n return;\n if (newValue > max)\n newValue = max;\n if (newValue < min)\n newValue = min;\n if (Array.isArray(value)) {\n if (draggingSliderIndex === 0 && newValue > value[1])\n [, newValue] = value;\n if (draggingSliderIndex === 1 && newValue < value[0])\n [newValue] = value;\n }\n // used to fix 0.30000000000000004 problem\n const decimalPlaces = step.toString().includes('.')\n ? (_a = step.toString().split('.').pop()) === null || _a === void 0 ? void 0 : _a.length\n : 0;\n newValue = Number(newValue.toFixed(decimalPlaces));\n let resultValue;\n if (Array.isArray(value)) {\n resultValue = draggingSliderIndex === 0 ? [newValue, value[1]] : [value[0], newValue];\n }\n else {\n resultValue = newValue;\n }\n onChange(resultValue);\n if (Array.isArray(resultValue) && resultValue[0] === resultValue[1]) {\n if (draggingSliderIndex === 0)\n setDraggingSliderIndex(1);\n if (draggingSliderIndex === 1)\n setDraggingSliderIndex(0);\n }\n }, [draggingSliderIndex, isDragging, max, min, onChange, step, value]);\n const handleMouseUp = useCallback(() => {\n setIsDragging(false);\n onSlideEnd();\n }, [onSlideEnd]);\n const handleMouseDown = useCallback((e, index) => {\n setIsDragging(true);\n onSlideStart();\n if (typeof index === 'number')\n setDraggingSliderIndex(index);\n e.preventDefault();\n }, [onSlideStart]);\n useEffect(() => {\n const handleStartSliderMouseDown = (e) => handleMouseDown(e, Array.isArray(value) ? 0 : 1);\n const handleEndSliderMouseDown = (e) => handleMouseDown(e, 1);\n const startSliderEl = startSliderRef.current;\n const endSliderEl = endSliderRef.current;\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.addEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.addEventListener('mousedown', handleEndSliderMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n return () => {\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.removeEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.removeEventListener('mousedown', handleEndSliderMouseDown);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [handleMouseDown, handleMouseMove, handleMouseUp, value]);\n const renderSlider = (left, valueNow, index) => {\n let sliderClassName;\n if (typeof index === 'number') {\n sliderClassName = buildClassnames(index === 0\n ? [classNames === null || classNames === void 0 ? void 0 : classNames.startSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.startSlider]\n : [classNames === null || classNames === void 0 ? void 0 : classNames.endSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.endSlider]);\n }\n else {\n sliderClassName = buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.slider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.slider]);\n }\n return (React.createElement(SliderDiv, { role: \"slider\", ref: index === 1 ? endSliderRef : startSliderRef, className: sliderClassName, left: left, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-valuenow\": valueNow }));\n };\n const renderRangeSlider = (rangeSliderValue) => {\n // handle value used to get slider position relative to container from value\n const handleValueStart = ((rangeSliderValue[0] < min ? 0 : rangeSliderValue[0] - min) * 100) / (max - min);\n const handleValueEnd = ((rangeSliderValue[1] > max ? 100 : rangeSliderValue[1] - min) * 100) / (max - min);\n const rangeWidth = handleValueEnd - handleValueStart;\n return (React.createElement(React.Fragment, null,\n React.createElement(SliderRange, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.sliderRange, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.sliderRange]), left: handleValueStart, width: rangeWidth }),\n renderSlider(handleValueStart, rangeSliderValue[0], 0),\n renderSlider(handleValueEnd, rangeSliderValue[1], 1)));\n };\n const renderSingleSlider = (sliderValue) => {\n if (Array.isArray(value))\n return renderRangeSlider(value);\n let handleValue;\n if (value > max)\n handleValue = 100;\n else if (value < min)\n handleValue = 0;\n else\n handleValue = ((sliderValue - min) * 100) / (max - min);\n return renderSlider(handleValue, sliderValue);\n };\n let render;\n if (Array.isArray(value))\n render = renderRangeSlider(value);\n else\n render = renderSingleSlider(value);\n return (React.createElement(SliderContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), id: id, ref: containerRef },\n React.createElement(SliderTrack, null),\n render));\n};\n//# sourceMappingURL=Slider.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nexport const Tag = styled(BaseContainer).withConfig({ displayName: \"vui--Tag\", componentId: \"vui--1rdo7hk\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:4px 8px;${({ backgroundColor, color }) => `\n color: ${color !== null && color !== void 0 ? color : colors.neutral.ink.base};\n background-color: ${backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : colors.neutral.grey.base};\n `}`;\n//# sourceMappingURL=Tag.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const ToastsLayoutContainer = styled(Stack).withConfig({ displayName: \"vui--ToastsLayoutContainer\", componentId: \"vui--1iztsl9\" }) `position:fixed;bottom:24px;width:100%;pointer-events:none;z-index:${theme.layers.tooltip};`;\nexport const Toast = styled(Stack).withConfig({ displayName: \"vui--Toast\", componentId: \"vui--1o64628\" }) `background-color:${theme.colors.neutral.ink.dark};padding:12px 24px 12px 12px;box-shadow:${theme.shadows.lg};border-radius:${theme.radius.md};pointer-events:auto;z-index:40;min-width:${({ minWidth }) => minWidth};max-width:80vw;&.veeqo-components-toast-enter{transform:translateY(12px);opacity:0;}&.veeqo-components-toast-enter-active{transform:translateY(0);opacity:1;transition:500ms ease;}&.veeqo-components-toast-exit{transform:${({ last }) => (last ? 'translateY(0)' : 'translateX(0)')};opacity:1;}&.veeqo-components-toast-exit-active{transform:${({ last }) => (last ? 'translateY(12px)' : 'translateX(12px)')};opacity:0;transition:500ms ease;}`;\nexport const IconWrap = styled(BaseContainer).withConfig({ displayName: \"vui--IconWrap\", componentId: \"vui--1nmtetq\" }) `display:flex;flex-direction:row;align-items:center;justify-content:center;height:40px;width:40px;border-radius:${theme.radius.md};background-color:${({ color }) => color};color:#fff;svg{width:${sizes.md};height:${sizes.md};}`;\nexport const ContentStack = styled(Stack).withConfig({ displayName: \"vui--ContentStack\", componentId: \"vui--fvpujj\" }) `flex-grow:1;`;\nexport const StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--ppieao\" }) `color:white;font-size:16px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { colors } from '../../../theme/modules/colors';\nimport { IconWrap, Toast as ToastContainer, StyledText as Text, ContentStack } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nimport { Button } from '../../Button';\nimport { SuccessIcon } from '../../../tempIcons/SuccessIcon';\nimport { InfoIcon } from '../../../tempIcons/InfoIcon';\nimport { AttentionIcon } from '../../../tempIcons/AttentionIcon';\nimport { MergeIcon } from '../../../tempIcons/MergeIcon';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nconst toastTypes = {\n info: {\n accentColor: colors.brand.blue.base,\n icon: React.createElement(InfoIcon, null),\n },\n success: {\n accentColor: colors.secondary.green.base,\n icon: React.createElement(SuccessIcon, null),\n },\n error: {\n accentColor: colors.secondary.red.base,\n icon: React.createElement(AttentionIcon, null),\n },\n merge: {\n accentColor: colors.secondary.purple.base,\n icon: React.createElement(MergeIcon, null),\n },\n};\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-toast-container` : undefined,\n icon: prefix ? `${prefix}-toast-icon` : undefined,\n closeIcon: prefix ? `${prefix}-toast-close-icon` : undefined,\n});\nexport const Toast = ({ className, e2eClassName, type, iconSlot, text, last, minWidth, cta, onClose, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n return (React.createElement(ToastContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), direction: \"horizontal\", alignY: \"center\", minWidth: minWidth, last: last },\n React.createElement(IconWrap, { color: toastTypes[type].accentColor, className: buildClassnames([classNames.icon, e2eClassNames.icon]) }, iconSlot !== null && iconSlot !== void 0 ? iconSlot : toastTypes[type].icon),\n React.createElement(ContentStack, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(Text, { variant: \"body\" }, text),\n cta),\n React.createElement(Button, { variant: \"flat\", iconSlot: React.createElement(CrossIcon, { color: \"white\" }), onClick: onClose, \"aria-label\": \"Close\" })));\n};\n//# sourceMappingURL=Toast.js.map","import React from 'react';\nexport const MergeIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.9887 6.82229H6.84911L12.1714 1.5L17.4937 6.82229H13.3541V14.4036L6.25774 21.5L4.59009 19.8323L10.9887 13.4338V6.82229ZM19.7527 19.8323L18.0851 21.5L14.0519 17.4669L15.7196 15.7992L19.7527 19.8323Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MergeIcon.js.map","import { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport React, { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ToastsLayoutContainer } from './components/styled';\nimport { Toast } from './components/Toast';\nexport const ToastsLayout = ({ className, e2eClassName, toasts, minWidth = '50vw', max = 3, onClose, }) => {\n useEffect(() => {\n if (max && toasts.length > max)\n onClose(toasts[0].key);\n }, [toasts, max, onClose]);\n return createPortal(React.createElement(ToastsLayoutContainer, { direction: \"vertical\", alignX: \"center\", spacing: 4 },\n React.createElement(TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => (React.createElement(CSSTransition, { key: toast.key, timeout: 500, classNames: \"veeqo-components-toast\" },\n React.createElement(Toast, Object.assign({ className: className, e2eClassName: e2eClassName, minWidth: minWidth, last: index === toasts.length - 1, onClose: () => onClose(toast.key) }, toast))))))), document.body);\n};\n//# sourceMappingURL=ToastsLayout.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const StyledButton = styled.button.withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--x718nd\" }) `user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);${({ size, checked }) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n let backgroundColor = 'white';\n let borderColor = '#CDD1D5';\n let color = '#37424D';\n if (size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n }\n if (checked) {\n backgroundColor = '#0079D1';\n borderColor = '#0079D1';\n color = 'white';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n\n background-color: ${backgroundColor};\n border-color: ${borderColor};\n color: ${color};\n `;\n}} & > * + *{margin-left:8px;}&:hover{cursor:pointer;background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};}&:active{background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};border-color:${({ checked }) => (checked ? '#005A9C' : '#0079D1')};box-shadow:0 0 0 var(--outline-width)#80bce8;}&:focus{box-shadow:0 0 0 var(--outline-width)#80bce8;outline:0;}&:disabled{cursor:unset;box-shadow:none;background-color:#dfe3e8;border-color:#dfe3e8;color:#637381;}& > span{position:relative;top:-1px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { StyledButton } from './styled';\nexport const ToggleButton = ({ children, checked, size = 'base', disabled = false, onChange, }) => (React.createElement(StyledButton, { type: \"button\", checked: checked, size: size, disabled: disabled, \"aria-pressed\": checked, tabIndex: \"0\", onClick: () => onChange(!checked) }, children));\n//# sourceMappingURL=ToggleButton.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { radius } from '../../theme/modules/radius';\nimport { sizes } from '../../theme/modules/sizes';\nexport const DropZoneContainer = styled.div.withConfig({ displayName: \"vui--DropZoneContainer\", componentId: \"vui--17v0v3c\" }) `display:flex;align-items:center;justify-content:center;padding:${sizes.md};border-radius:${radius.base};input[type='file']{position:absolute;opacity:0;width:1px;height:1px;cursor:pointer;}cursor:pointer;border:2px dashed ${colors.neutral.ink.lightest};background-color:${colors.neutral.grey.lightest};:hover{border:2px dashed ${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};}:active{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}:focus-within{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}&:has(input:invalid){border:2px dashed ${colors.secondary.red.base};:hover{border:2px dashed ${colors.secondary.red.base};background-color:${colors.secondary.red.lightest};}:active{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}:focus-within{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}}&:has(input:disabled){cursor:not-allowed;box-shadow:none;background-color:${colors.neutral.grey.light};border-color:${colors.neutral.ink.lightest};color:${colors.neutral.ink.light};}`;\n//# sourceMappingURL=styled.js.map","export var AcceptedFileTypes;\n(function (AcceptedFileTypes) {\n AcceptedFileTypes[\"CSV\"] = \".csv\";\n AcceptedFileTypes[\"JPEG\"] = \".jpeg\";\n AcceptedFileTypes[\"JPG\"] = \".jpg\";\n AcceptedFileTypes[\"GIF\"] = \".gif\";\n AcceptedFileTypes[\"PNG\"] = \".png\";\n})(AcceptedFileTypes || (AcceptedFileTypes = {}));\nexport var FileSizeUnit;\n(function (FileSizeUnit) {\n FileSizeUnit[\"KB\"] = \"KB\";\n FileSizeUnit[\"MB\"] = \"MB\";\n})(FileSizeUnit || (FileSizeUnit = {}));\nexport var InputState;\n(function (InputState) {\n InputState[\"VALID\"] = \"\";\n InputState[\"INVALID_FORMAT\"] = \"File is incorrect format\";\n InputState[\"INVALID_SIZE\"] = \"File size is too big\";\n InputState[\"INVALID_FORMAT_AND_SIZE\"] = \"File is incorrect format and too big\";\n})(InputState || (InputState = {}));\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const UploadGraphic = () => (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"56\", height: \"56\", fill: \"none\", role: \"presentation\" },\n React.createElement(\"path\", { fill: \"#fff\", d: \"M0 28C0 12.536 12.536 0 28 0s28 12.536 28 28-12.536 28-28 28S0 43.464 0 28\" }),\n React.createElement(\"path\", { fill: \"#37424D\", d: \"M22.5 36c-1.517 0-2.812-.525-3.887-1.575-1.075-1.05-1.613-2.333-1.613-3.85 0-1.3.392-2.458 1.175-3.475s1.808-1.667 3.075-1.95c.417-1.533 1.25-2.775 2.5-3.725C25 20.475 26.417 20 28 20c1.95 0 3.604.68 4.962 2.038C34.322 23.396 35 25.05 35 27c1.15.133 2.104.63 2.862 1.488A4.407 4.407 0 0 1 39 31.5c0 1.25-.437 2.313-1.312 3.188C36.812 35.562 35.75 36 34.5 36H29c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 27 34v-5.15l-1.6 1.55L24 29l4-4 4 4-1.4 1.4-1.6-1.55V34h5.5c.7 0 1.292-.242 1.775-.725.483-.483.725-1.075.725-1.775s-.242-1.292-.725-1.775C35.792 29.242 35.2 29 34.5 29H33v-2c0-1.383-.487-2.562-1.462-3.538C30.562 22.489 29.383 22 28 22s-2.562.488-3.538 1.462C23.489 24.438 23 25.618 23 27h-.5c-.967 0-1.792.342-2.475 1.025A3.372 3.372 0 0 0 19 30.5c0 .967.342 1.792 1.025 2.475A3.372 3.372 0 0 0 22.5 34H25v2z\" })));\n//# sourceMappingURL=UploadGraphic.js.map","import React from 'react';\nimport { UploadGraphic } from '../../UploadGraphic';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadCopy = () => (React.createElement(Stack, { alignX: \"center\", alignY: \"center\", spacing: \"sm\", style: { pointerEvents: 'none' } },\n React.createElement(UploadGraphic, null),\n React.createElement(Text, { variant: \"subheadingSmall\", style: { paddingTop: sizes.sm } }, \"Browse files or drag them here\")));\n//# sourceMappingURL=UploadCopy.js.map","import React from 'react';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadFileErrors = ({ acceptedTypesCopy, maxSizeCopy }) => {\n if (!acceptedTypesCopy && !maxSizeCopy)\n return null;\n return (React.createElement(Stack, { alignX: \"start\", spacing: \"xs\" },\n acceptedTypesCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"Invalid format (\",\n acceptedTypesCopy,\n \")\"),\n maxSizeCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"File is too big (\",\n maxSizeCopy,\n \")\")));\n};\n//# sourceMappingURL=UploadFileErrors.js.map","import styled from 'styled-components';\nimport { Text } from '../../../Text';\nimport { colors } from '../../../../theme/modules/colors';\nimport { radius } from '../../../../theme/modules/radius';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nexport const SingleLineText = styled(Text).withConfig({ displayName: \"vui--SingleLineText\", componentId: \"vui--1aguyhc\" }) `display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;`;\nexport const UploadedFilesListStack = styled(Stack).withConfig({ displayName: \"vui--UploadedFilesListStack\", componentId: \"vui--1g0ca18\" }) `border:1px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};padding:${sizes.xs};${Text}{padding-left:${sizes.xs};}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../../../Button';\nimport { CrossIcon } from '../../../../tempIcons/CrossIcon';\nimport { SingleLineText, UploadedFilesListStack } from './styled';\nexport const UploadedFile = ({ file, resetSelection, disabled }) => {\n if (!file)\n return null;\n return (React.createElement(UploadedFilesListStack, { alignX: \"between\", direction: \"horizontal\", alignY: \"center\" },\n React.createElement(SingleLineText, { variant: \"body\" }, file === null || file === void 0 ? void 0 : file.name),\n React.createElement(Button, { size: \"sm\", variant: \"flat\", onClick: resetSelection, iconSlot: React.createElement(CrossIcon, null), \"aria-label\": \"Remove file\", disabled: disabled })));\n};\n//# sourceMappingURL=UploadedFile.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useState, forwardRef, useImperativeHandle, useRef, } from 'react';\nimport { DropZoneContainer } from './styled';\nimport { InputState, FileSizeUnit } from './constants';\nimport { UploadCopy } from './components/UploadCopy/UploadCopy';\nimport { setInputElFile } from './utils/setInputElFile/setInputElFile';\nimport { getFileSizeString, getTypePropForInputEl, getValidTypesString } from './utils';\nimport { Hint, Label, RootStack } from '../../hoc/withLabels/styled';\nimport { Stack } from '../Stack';\nimport { UploadFileErrors } from './components/UploadFileErrors/UploadFileErrors';\nimport { UploadedFile } from './components/UploadedFile/UploadedFile';\nimport { sizes } from '../../theme/modules/sizes';\nexport const UploadFile = forwardRef((_a, outerRef) => {\n var { id, name, maxBytes = 1000000, format = FileSizeUnit.MB, fileTypes, label = 'Upload file', required, disabled } = _a, otherProps = __rest(_a, [\"id\", \"name\", \"maxBytes\", \"format\", \"fileTypes\", \"label\", \"required\", \"disabled\"]);\n const inputRef = useRef(null);\n useImperativeHandle(outerRef, () => inputRef.current, []);\n const [file, setFile] = useState();\n const [errorState, setErrorState] = useState(InputState.VALID);\n const isInvalidFormat = errorState === InputState.INVALID_FORMAT || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n const isOverMaxSize = errorState === InputState.INVALID_SIZE || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n // Computed properties based on params\n const maxSizeCopy = getFileSizeString({ maxBytes, format });\n const acceptedTypesCopy = getValidTypesString({ fileTypes });\n const acceptedTypesForInputEl = getTypePropForInputEl({ fileTypes });\n const clearFileSelection = () => {\n var _a;\n if ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value)\n inputRef.current.value = '';\n };\n // Tracks error states within the input element itself, using preset\n // error messages and assigns these to the input component based on the file\n const setInputValidation = ({ overMaxSize, invalidFormat, }) => {\n var _a;\n let error = InputState.VALID;\n if (invalidFormat && !overMaxSize) {\n error = InputState.INVALID_FORMAT;\n }\n else if (!invalidFormat && overMaxSize) {\n error = InputState.INVALID_SIZE;\n }\n else if (invalidFormat && overMaxSize) {\n error = InputState.INVALID_FORMAT_AND_SIZE;\n }\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.setCustomValidity(error);\n setErrorState(error);\n };\n // Processes file and updates the UI appropriately:\n const updateFiles = useCallback((files) => {\n if (!files.length) {\n setInputValidation({ invalidFormat: true });\n return;\n }\n const [newFile] = files;\n const hasExceededMaxSize = newFile.size > maxBytes;\n const [, extension] = newFile.type.split('/');\n const isTypeValid = fileTypes.find((validType) => validType.substring(1) === extension);\n const hasInvalidFormat = !isTypeValid;\n if (hasExceededMaxSize || hasInvalidFormat) {\n // Empty the inputRef's read-only fileList by clearing the value attribute,\n // since we have an invalid input.\n clearFileSelection();\n }\n else {\n // Update the files attribute of the input el, with the new file(s)\n setInputElFile({ fileList: files, elementId: id });\n }\n setInputValidation({\n invalidFormat: hasInvalidFormat,\n overMaxSize: hasExceededMaxSize,\n });\n setFile(newFile);\n }, [fileTypes, id, maxBytes]);\n // For focussing of input el and updating drop UI\n const onDragEnter = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n };\n // For unfocussing of input el and updating drop UI\n const onDragLeave = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n };\n // Prevents default browser behaviour\n const onDragOver = (event) => event.preventDefault();\n // Process file when dropped into eligible area\n const onDrop = (event) => {\n event.preventDefault();\n // Prevent reactions on dragging events that do not contain files\n if (!event.dataTransfer.files.length)\n return;\n updateFiles(event.dataTransfer.files);\n };\n // Removes input el's files, clears errors and removes file from react component\n const resetSelection = useCallback(() => {\n clearFileSelection();\n setFile(undefined);\n setInputValidation({\n invalidFormat: false,\n overMaxSize: false,\n });\n }, []);\n // Updates UI based on a native file input change. Attached via useEffect below\n const onInputChange = useCallback(() => {\n var _a;\n const files = (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.files;\n if ((files === null || files === void 0 ? void 0 : files.length) && (files === null || files === void 0 ? void 0 : files.length) > 0)\n updateFiles(files);\n else\n resetSelection();\n }, [resetSelection, updateFiles]);\n useEffect(() => {\n const ref = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current;\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('cancel', resetSelection);\n return () => {\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('cancel', resetSelection);\n };\n }, [onInputChange, resetSelection]);\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(Label, { htmlFor: id },\n label,\n React.createElement(Stack, { spacing: 3, alignX: \"stretch\", style: { paddingTop: sizes.sm } },\n React.createElement(Hint, null,\n React.createElement(\"div\", null, acceptedTypesCopy),\n React.createElement(\"div\", null, maxSizeCopy)),\n React.createElement(DropZoneContainer, { onDrop: onDrop, onDragEnter: onDragEnter, onDragOver: onDragOver, onDragLeave: onDragLeave },\n React.createElement(UploadCopy, null),\n React.createElement(\"input\", Object.assign({ ref: inputRef, id: id, type: \"file\", accept: acceptedTypesForInputEl, name: name, required: required, disabled: disabled }, otherProps))))),\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" },\n React.createElement(UploadedFile, { file: file, resetSelection: resetSelection, disabled: disabled }),\n React.createElement(UploadFileErrors, { acceptedTypesCopy: isInvalidFormat ? acceptedTypesCopy : undefined, maxSizeCopy: isOverMaxSize ? maxSizeCopy : undefined }))));\n});\n//# sourceMappingURL=UploadFile.js.map","import { FileSizeUnit } from '../../constants';\n/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property\n *\n * E.g.\n *\n * const maxSizeCopy = getFileSizeString({\n * maxBytes: 10000,\n * format: FileSizeUnit.MB\n * });\n *\n * Where @constant maxSizeCopy would equal \"Max size: 1 MB\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getFileSizeString = ({ maxBytes, format, baseString }) => {\n const base = baseString == null ? 'Max size: ' : baseString;\n switch (format) {\n case FileSizeUnit.KB:\n return `${base}${Number(maxBytes) / 1000} KB`;\n case FileSizeUnit.MB:\n return `${base}${Number(maxBytes) / 1000000} MB`;\n default:\n return `${base}${Number(maxBytes) / 1000} KB`;\n }\n};\n//# sourceMappingURL=getFileSizeString.js.map","import { AcceptedFileTypes } from '../../constants';\n/**\n * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the\n * fileTypes list passed as parameter.\n *\n * E.g.\n *\n * const validTypesCopy = getValidTypesString({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant validTypesCopy would equal \"Valid types: CSV\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * @param baseString - An optional string to override the default value of 'Valid types: ' prefixed to\n * the returned string\n */\nexport const getValidTypesString = ({ fileTypes, baseString }) => {\n let base = baseString == null ? 'Valid types: ' : baseString;\n fileTypes.forEach((fileType, index, list) => {\n const iterable = list.length > 1;\n const isLast = index === list.length - 1 && iterable;\n const isPenultimate = index === list.length - 2 && iterable;\n if (isLast)\n base += ' and ';\n switch (fileType) {\n case AcceptedFileTypes.CSV:\n base += 'CSV';\n break;\n case AcceptedFileTypes.GIF:\n base += 'GIF';\n break;\n case AcceptedFileTypes.JPEG:\n base += 'JPEG';\n break;\n case AcceptedFileTypes.JPG:\n base += 'JPG';\n break;\n case AcceptedFileTypes.PNG:\n base += 'PNG';\n break;\n default:\n break;\n }\n if (!isPenultimate && !isLast && list.length > 2)\n base += ', ';\n });\n return base;\n};\n//# sourceMappingURL=getValidTypesString.js.map","/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property.\n *\n * E.g.\n *\n * const inputElAcceptProperty = getTypePropForInputEl({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant inputElAcceptProperty would equal \".csv\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getTypePropForInputEl = ({ fileTypes }) => {\n if (fileTypes.length === 1)\n return fileTypes[0];\n let base = '';\n fileTypes.forEach((fileType, index, list) => {\n const isLastElement = list.length - 1 === index && list.length > 1;\n if (isLastElement)\n base += `${fileType}`;\n else\n base += `${fileType}, `;\n });\n return base.trim();\n};\n//# sourceMappingURL=getTypePropForInputEl.js.map","/**\n * Updates the value of the files attribute held within an input elment. Used during DnD operations where\n * the input element's files need to kept in sync and updated.\n *\n * @param fileList - A list of files, typically extracted from the \"files\" attribute of an input element\n * @param elementId - The ID of the input element\n */\nexport const setInputElFile = ({ fileList, elementId }) => {\n const inputEl = document.getElementById(elementId);\n if (fileList.length) {\n inputEl.files = fileList;\n }\n};\n//# sourceMappingURL=setInputElFile.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nconst commonStyles = `\n position: fixed;\n height: 100%;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`;\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1xg3v52\" }) `${commonStyles} display:${(props) => (props.shouldShow ? 'initial' : 'none')};z-index:${theme.layers.modal};`;\nexport const Shadow = styled(BaseContainer).withConfig({ displayName: \"vui--Shadow\", componentId: \"vui--nz3cc\" }) `${commonStyles} background-color:rgba(55,66,77,0.5);`;\nexport const Wrap = styled(BaseContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1pbqe6\" }) `position:relative;height:100%;width:100%;z-index:1;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\n// @ts-ignore\nimport ScrollLock from 'react-scrolllock-configurable';\nimport { Portal } from '../../Portal';\nimport { Container, Shadow, Wrap } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nconst WithPortal = ({ usePortal, children }) => (\n// eslint-disable-next-line react/jsx-no-useless-fragment\nReact.createElement(React.Fragment, null, usePortal ? React.createElement(Portal, null, children) : children));\nexport const Popup = ({ className, children = null, shouldShow = false, usePortal = true, }) => (React.createElement(WithPortal, { usePortal: usePortal },\n React.createElement(Container, { className: buildClassnames([`${className}-container`, className]), shouldShow: shouldShow },\n React.createElement(Shadow, null),\n React.createElement(ScrollLock, { isActive: shouldShow },\n React.createElement(Wrap, { className: buildClassnames([`${className}-wrap`, className]) }, children)))));\n//# sourceMappingURL=Popup.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nexport const PopupContent = styled.div.withConfig({ displayName: \"vui--PopupContent\", componentId: \"vui--17gmyeh\" }) `display:flex;justify-content:center;align-items:center;height:100%;`;\nexport const VideoWrapper = styled.div.withConfig({ displayName: \"vui--VideoWrapper\", componentId: \"vui--rcrl58\" }) `position:relative;iframe{width:57vw;height:calc(57vw * 0.5625);border-radius:8px;}`;\nexport const ButtonSC = styled(Button).withConfig({ displayName: \"vui--ButtonSC\", componentId: \"vui--srigr3\" }) `position:absolute;top:0px;right:-45px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Popup } from './components/Popup';\nimport { PopupContent, VideoWrapper, ButtonSC } from './styled';\nimport { useClickOutside } from '../../hooks';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const VideoModal = ({ id, youtubeVideoId, showVideoModal, handleCloseClick, }) => {\n const ref = useClickOutside(showVideoModal, handleCloseClick);\n return (React.createElement(Popup, { shouldShow: showVideoModal, className: `${id}-video` },\n React.createElement(PopupContent, { \"data-testid\": \"video-modal_popup-content\", className: `video-modal--${showVideoModal ? 'visible' : 'hidden'}` },\n React.createElement(VideoWrapper, { ref: ref },\n React.createElement(\"iframe\", { title: `${id}-video`, src: `https://www.youtube.com/embed/${youtubeVideoId}`, frameBorder: \"0\", allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\", allowFullScreen: true }),\n React.createElement(ButtonSC, { variant: \"flat\", onClick: handleCloseClick, \"data-testid\": \"video-modal--close\", iconSlot: React.createElement(CrossIcon, { color: \"white\" }) })))));\n};\n//# sourceMappingURL=VideoModal.js.map","export var ViewTypes;\n(function (ViewTypes) {\n ViewTypes[\"saved\"] = \"saved\";\n ViewTypes[\"fixed\"] = \"fixed\";\n ViewTypes[\"draft\"] = \"draft\";\n})(ViewTypes || (ViewTypes = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1vyyfhh\" }) `padding:14px 24px;`;\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--ycgtn6\" }) `line-height:1;`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--zy3oaf\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:0 12px;border:1px solid transparent;cursor:pointer;${({ colourPalette, customTextColour }) => `\n &:hover {\n border: 1px solid ${colourPalette.base};\n background-color: ${colourPalette.lightest};\n }\n\n ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n `} ${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.lightest};\n `}`;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--chq9kr\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:2px 4px;min-width:20px;height:20px;margin-left:8px;${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.base};\n\n & > ${CounterText} {\n color: #fff;\n }\n `}`;\nconst IconStyling = {\n style: {\n marginLeft: sizes.xs,\n padding: sizes.xs,\n height: sizes.base,\n width: sizes.base,\n },\n};\nexport const CustomIconWrapper = styled.div.withConfig({ displayName: \"vui--CustomIconWrapper\", componentId: \"vui--yu7dwm\" }) `display:flex;align-items:center;margin-right:${sizes.sm};svg{height:${sizes.base};width:${sizes.base};}`;\nexport { Container, Contour, Text, CounterContainer, CounterText, IconStyling };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const EditIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M3 18.0418V21.9996H6.95778L18.6306 10.3273L14.6728 6.36952L3 18.0418ZM21.6913 7.2661C22.1029 6.85501 22.1029 6.19011 21.6913 5.7785L19.2216 3.30831C18.81 2.89723 18.1451 2.89723 17.7335 3.30831L15.8021 5.23971L19.7599 9.19749L21.6913 7.2661Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EditIcon.js.map","import React, { useCallback } from 'react';\nimport { useHover } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { ViewTypes } from './types';\nimport { Container, Contour, CounterContainer, CounterText, CustomIconWrapper, IconStyling, Text, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { EditIcon } from '../../tempIcons/EditIcon';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n options: prefix ? `${prefix}-options` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\n/**\n *\n * @deprecated\n *\n * use ViewTab component instead\n *\n */\nexport const View = ({ id, iconSlot, name, type, className, colourPalette = colors.secondary.blue, customTextColour, count, active = false, onClick, onDelete, onEdit, e2eClassName, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isHovered, handleEnter, handleLeave] = useHover();\n const handleClick = useCallback(() => onClick(id), [id, onClick]);\n const handleDelete = useCallback((event) => {\n event.stopPropagation();\n if (onDelete)\n onDelete(id);\n }, [onDelete, id]);\n const handleEdit = useCallback((event) => {\n event.stopPropagation();\n if (onEdit)\n onEdit(id);\n }, [onEdit, id]);\n const isDraft = type === ViewTypes.draft;\n const isSaved = type === ViewTypes.saved;\n const fill = active ? colors.neutral.ink.dark : colors.neutral.ink.base;\n return (React.createElement(Container, { className: `${buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container])} ${(active && (e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.active)) || ''}`, onClick: handleClick },\n React.createElement(Contour, { active: active, onMouseEnter: handleEnter, onMouseLeave: handleLeave, colourPalette: colourPalette, customTextColour: customTextColour },\n iconSlot && React.createElement(CustomIconWrapper, null, iconSlot),\n React.createElement(Text, { variant: \"bodyBold\" }, name),\n count && (React.createElement(CounterContainer, { active: active || isHovered, colourPalette: colourPalette, customTextColour: customTextColour },\n React.createElement(CounterText, { className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.counter, variant: \"subheadingSmall\" }, count))),\n isDraft && (React.createElement(CrossIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.delete, onClick: handleDelete }))),\n isSaved && active && (React.createElement(EditIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.edit, onClick: handleEdit }))))));\n};\n//# sourceMappingURL=View.js.map","export var ViewTabTypes;\n(function (ViewTabTypes) {\n ViewTabTypes[\"saved\"] = \"saved\";\n ViewTabTypes[\"fixed\"] = \"fixed\";\n ViewTabTypes[\"draft\"] = \"draft\";\n})(ViewTabTypes || (ViewTabTypes = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const ThreeDotsIcon = (props) => (React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"4\", fill: \"none\", viewBox: \"0 -4 12 12\", role: \"presentation\" }, props),\n React.createElement(\"path\", { fill: \"currentColor\", d: \"M2 .667C1.267.667.667 1.267.667 2S1.267 3.333 2 3.333c.734 0 1.334-.6 1.334-1.333S2.734.667 2 .667m8 0c-.733 0-1.333.6-1.333 1.333s.6 1.333 1.333 1.333c.734 0 1.334-.6 1.334-1.333S10.734.667 10 .667m-4 0c-.733 0-1.333.6-1.333 1.333S5.267 3.333 6 3.333c.734 0 1.334-.6 1.334-1.333S6.734.667 6 .667\" })));\n//# sourceMappingURL=ThreeDotsIcon.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nimport { ThreeDotsIcon } from '../../tempIcons/ThreeDotsIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { FlatButton } from '../Button/components/styled';\nimport { theme } from '../../theme';\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--13z4q4k\" }) `line-height:1;`;\nconst ThreeDotsIconStyling = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--ThreeDotsIconStyling\", componentId: \"vui--lo8tpb\" }) ``;\nconst CrossIconStyling = styled(CrossIcon).withConfig({ displayName: \"vui--CrossIconStyling\", componentId: \"vui--u5oj4b\" }) ``;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--1nbpnol\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:2px 4px;min-width:20px;height:20px;margin-left:8px;${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.dark};\n\n & > ${CounterText} {\n color: ${colors.neutral.grey.lightest};\n }\n `}`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--1fc3r48\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:${theme.sizes.sm};border:1px solid transparent;cursor:pointer;background-color:transparent;${({ customTextColour }) => `\n\n &:hover {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterContainer} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterText} {\n color: ${colors.neutral.ink.base};\n }\n }\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n & > ${ThreeDotsIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n }\n\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n `} ${({ active, colourPalette, customTextColour }) => active &&\n `\n background-color: ${colourPalette.lightest};\n\n & > ${ThreeDotsIconStyling} {\n color: ${colourPalette.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colourPalette.dark};\n }\n\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colourPalette.dark};\n }\n `}`;\nconst ViewButton = styled(FlatButton).withConfig({ displayName: \"vui--ViewButton\", componentId: \"vui--i4ro1b\" }) `padding:${theme.sizes.sm};box-sizing:border-box;border-radius:4px;border:none;position:relative;margin:0;padding:0;${({ customTextColour }) => `\n &:focus-visible {\n ${Contour} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterContainer} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterText} {\n color: ${colors.neutral.ink.base};\n }\n }\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n & > ${ThreeDotsIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n }\n `}`;\nconst IconStyling = {\n style: {\n marginLeft: sizes.xs,\n padding: sizes.xs,\n height: sizes.base,\n width: sizes.base,\n },\n};\nexport const CustomIconWrapper = styled.div.withConfig({ displayName: \"vui--CustomIconWrapper\", componentId: \"vui--1cuc9yu\" }) `display:flex;align-items:center;margin-right:${sizes.sm};svg{height:${sizes.base};width:${sizes.base};}`;\nexport { ViewButton, Contour, Text, CounterContainer, CounterText, IconStyling, ThreeDotsIconStyling, CrossIconStyling, };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { useHover } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { ViewTabTypes } from './types';\nimport { Contour, CounterContainer, CounterText, CrossIconStyling, CustomIconWrapper, IconStyling, Text, ThreeDotsIconStyling, ViewButton, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-view` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\nexport const ViewTab = React.forwardRef((_a, ref) => {\n var { id, iconSlot, name, type, className, colourPalette = colors.secondary.blue, customTextColour, count, active = false, onClick, subAction, ariaContext } = _a, props = __rest(_a, [\"id\", \"iconSlot\", \"name\", \"type\", \"className\", \"colourPalette\", \"customTextColour\", \"count\", \"active\", \"onClick\", \"subAction\", \"ariaContext\"]);\n const classNames = generateClassNames(className);\n const [isHovered, handleEnter, handleLeave] = useHover();\n const action = active && subAction ? subAction : onClick;\n const handleAction = () => action(id);\n const isDraft = type === ViewTabTypes.draft;\n const isSaved = type === ViewTabTypes.saved;\n const getLabelAction = () => {\n if (active && isDraft)\n return 'Delete';\n if (active && isSaved)\n return 'Edit';\n return '';\n };\n return (React.createElement(ViewButton, Object.assign({ className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container]), onClick: handleAction, role: \"tab\", \"aria-selected\": active, \"aria-label\": `${getLabelAction()} ${name} view ${count ? `with ${count} ${ariaContext}` : ''}`, customTextColour: customTextColour, ref: ref }, props),\n React.createElement(Contour, { active: active, onMouseEnter: handleEnter, onMouseLeave: handleLeave, colourPalette: colourPalette, customTextColour: customTextColour },\n iconSlot && React.createElement(CustomIconWrapper, null, iconSlot),\n React.createElement(Text, { variant: \"bodyBold\" }, name),\n count !== undefined && count !== null && (React.createElement(CounterContainer, { \"data-testid\": \"countContainer\", active: active || isHovered, colourPalette: colourPalette, customTextColour: customTextColour },\n React.createElement(CounterText, { variant: \"subheadingSmall\" }, count))),\n isDraft && React.createElement(CrossIconStyling, Object.assign({}, IconStyling, { \"aria-label\": \"delete icon\" })),\n isSaved && active && React.createElement(ThreeDotsIconStyling, Object.assign({}, IconStyling, { \"aria-label\": \"edit icon\" })))));\n});\n//# sourceMappingURL=ViewTab.js.map","import styled from 'styled-components';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { colors } from '../../theme/modules/colors';\nimport { ThreeDotsIcon } from '../../tempIcons/ThreeDotsIcon';\nimport { InputGroup } from '../InputGroup';\nexport const ViewsWrapper = styled(Stack).withConfig({ displayName: \"vui--ViewsWrapper\", componentId: \"vui--x8ukf0\" }) `overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;::-webkit-scrollbar{display:none;}gap:8px;height:inherit;padding:8px 6px 8px 12px;margin-left:0;`;\nexport const Container = styled(Stack).withConfig({ displayName: \"vui--Container\", componentId: \"vui--mlh8wa\" }) `background-color:${colors.neutral.grey.lightest};`;\nexport const StyledLeftIcon = styled(LeftArrowIcon).withConfig({ displayName: \"vui--StyledLeftIcon\", componentId: \"vui--193620d\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledRightIcon = styled(RightArrowIcon).withConfig({ displayName: \"vui--StyledRightIcon\", componentId: \"vui--erlipg\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuIcon = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--StyledMenuIcon\", componentId: \"vui--eg23b0\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuButton = styled(Button).withConfig({ displayName: \"vui--StyledMenuButton\", componentId: \"vui--1o9jbht\" }) `background-color:white;&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledLeftButton = styled(Button).withConfig({ displayName: \"vui--StyledLeftButton\", componentId: \"vui--wtwmiz\" }) `background-color:white;&:disabled{background-color:white;${StyledLeftIcon}{color:${colors.neutral.ink.lightest};}}&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledRightButton = styled(Button).withConfig({ displayName: \"vui--StyledRightButton\", componentId: \"vui--1ycuwov\" }) `background-color:white;&:disabled{background-color:white;${StyledRightIcon}{color:${colors.neutral.ink.lightest};}}&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--StyledInputGroup\", componentId: \"vui--l3ez4z\" }) `padding-right:8px;margin-left:0;& > *:first-child:last-child{border-radius:4px !important;}`;\n//# sourceMappingURL=styled.js.map","import { useCallback, useEffect, useState } from 'react';\nimport { usePrevious } from 'react-use';\nimport { createViewPositionArray, getNextViewPosition, getPrevViewPosition } from '../utils';\nexport const useSetScrollPosition = (containerRef, children) => {\n var _a;\n const [leftDisabled, setLeftDisabled] = useState(true);\n const [rightDisabled, setRightDisabled] = useState(false);\n const [viewStartPositions, setViewStartPositions] = useState([]);\n const activeTab = (_a = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('[aria-selected = true]');\n const prevActiveTab = usePrevious(activeTab);\n const handleScroll = useCallback(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (((_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) > 0) {\n setLeftDisabled(false);\n }\n else {\n if (document.getElementById('left-arrow') === document.activeElement) {\n (_b = document.getElementById('right-arrow')) === null || _b === void 0 ? void 0 : _b.focus();\n }\n setLeftDisabled(true);\n }\n const maxScrollWidth = (_d = (_c = containerRef.current) === null || _c === void 0 ? void 0 : _c.scrollWidth) !== null && _d !== void 0 ? _d : 0;\n const maxClientWidth = (_f = (_e = containerRef.current) === null || _e === void 0 ? void 0 : _e.clientWidth) !== null && _f !== void 0 ? _f : 0;\n const maxScrollLeft = maxScrollWidth - maxClientWidth;\n // -10 to prevent javascript assertion errors on floating points\n if (((_g = containerRef.current) === null || _g === void 0 ? void 0 : _g.scrollLeft) >= maxScrollLeft - 10) {\n if (document.getElementById('right-arrow') === document.activeElement) {\n (_h = document.getElementById('left-arrow')) === null || _h === void 0 ? void 0 : _h.focus();\n }\n setRightDisabled(true);\n }\n else {\n setRightDisabled(false);\n }\n }, [containerRef]);\n const handleResize = useCallback(() => {\n if (!containerRef.current)\n return;\n if (containerRef.current.scrollWidth - containerRef.current.getBoundingClientRect().width < 5) {\n setRightDisabled(true);\n }\n else {\n setRightDisabled(false);\n }\n }, [containerRef]);\n const toNextScrollPosition = useCallback(() => {\n const newPosition = getNextViewPosition(viewStartPositions, containerRef.current.scrollLeft, containerRef.current.clientWidth);\n containerRef.current.scrollTo({\n left: newPosition,\n top: 0,\n behavior: 'smooth',\n });\n }, [containerRef, viewStartPositions]);\n const toPrevScrollPosition = useCallback(() => {\n const newPosition = getPrevViewPosition(viewStartPositions, containerRef.current.scrollLeft);\n containerRef.current.scrollTo({\n left: newPosition,\n top: 0,\n behavior: 'smooth',\n });\n }, [containerRef, viewStartPositions]);\n useEffect(() => {\n var _a, _b, _c, _d, _e, _f, _g;\n if (!(containerRef === null || containerRef === void 0 ? void 0 : containerRef.current))\n return;\n if (((_a = containerRef.current.children) === null || _a === void 0 ? void 0 : _a.length) &&\n ((_b = containerRef.current.children) === null || _b === void 0 ? void 0 : _b.length) !== viewStartPositions.length &&\n viewStartPositions.length > 0 &&\n viewStartPositions.length < children.length) {\n // scrolls to the last view, when a new item is added\n containerRef.current.scrollTo({\n left: containerRef.current.scrollWidth - containerRef.current.clientWidth,\n top: 0,\n behavior: 'smooth',\n });\n // computes the x position of the new item\n setViewStartPositions([\n ...viewStartPositions,\n viewStartPositions[viewStartPositions.length - 1] +\n ((_d = (_c = containerRef.current.children[viewStartPositions.length - 1]) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect().x) !== null && _d !== void 0 ? _d : 0) -\n 20,\n ]);\n }\n if (((_e = containerRef.current.children) === null || _e === void 0 ? void 0 : _e.length) && viewStartPositions.length === 0) {\n setViewStartPositions(createViewPositionArray(containerRef.current));\n }\n // scrolls to active tab when page loads\n if (activeTab !== prevActiveTab &&\n activeTab !== null &&\n ((_f = containerRef.current.children) === null || _f === void 0 ? void 0 : _f.length) === viewStartPositions.length) {\n const index = Array.from(containerRef.current.children).indexOf(activeTab);\n containerRef.current.scrollTo({\n left: viewStartPositions[index],\n top: 0,\n behavior: 'smooth',\n });\n }\n handleResize();\n window.addEventListener('resize', handleResize);\n (_g = containerRef.current) === null || _g === void 0 ? void 0 : _g.addEventListener('scroll', handleScroll);\n // eslint-disable-next-line consistent-return\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [\n containerRef,\n children,\n handleResize,\n handleScroll,\n viewStartPositions,\n activeTab,\n prevActiveTab,\n ]);\n return { rightDisabled, leftDisabled, toNextScrollPosition, toPrevScrollPosition };\n};\n//# sourceMappingURL=useSetScrollPosition.js.map","/**\n * A function to get the 3rd next scroll value using an array of start positions\n */\nexport const getNextViewPosition = (viewPositionsArray, currentScroll, containerWidth) => {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < viewPositionsArray.length; i++) {\n if (viewPositionsArray[i + 3] === undefined) {\n return currentScroll - containerWidth;\n }\n if (viewPositionsArray[i] >= currentScroll) {\n return viewPositionsArray[i + 3];\n }\n }\n return currentScroll - containerWidth; // if currentScroll is greater than the last ViewTab's start position, the new ScrollLeft value is 0.\n};\n/**\n * A function to get the 3rd previous scoll value using an array of start positions\n */\nexport const getPrevViewPosition = (viewPositionsArray, currentScroll) => {\n const reverseArray = viewPositionsArray.slice().reverse();\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < viewPositionsArray.length; i++) {\n if (reverseArray[i + 3] === undefined) {\n return 0;\n }\n if (reverseArray[i] < currentScroll) {\n return reverseArray[i + 3];\n }\n }\n return 0; // if currentScroll is less than the first ViewTab's start position, the new ScrollLeft value is 0.\n};\n/**\n * This produces an array of all x positions of child elements\n */\nexport const createViewPositionArray = (containerRef) => {\n const viewPositions = Object.values(containerRef.children).map((el) => {\n // -20 so movement stops at beginning of view, due to x value not accounting for padding\n return el.getBoundingClientRect().x - 20;\n });\n return viewPositions;\n};\n//# sourceMappingURL=utils.js.map","import React, { useRef } from 'react';\nimport { Container, StyledLeftButton, StyledLeftIcon, StyledMenuButton, StyledMenuIcon, StyledRightButton, StyledRightIcon, StyledInputGroup, ViewsWrapper, } from './styled';\nimport { useSetScrollPosition } from './hooks/useSetScrollPosition';\nexport const ViewsContainer = React.forwardRef(({ children, onClickMenu, ariaMenuControls, ariaMenuExpanded }, menuRef) => {\n const viewsRef = useRef(null);\n const { rightDisabled, leftDisabled, toNextScrollPosition, toPrevScrollPosition } = useSetScrollPosition(viewsRef, children);\n return (React.createElement(Container, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(ViewsWrapper, { ref: viewsRef, id: \"views\", role: \"tablist\", alignY: \"center\", direction: \"horizontal\" }, children),\n React.createElement(StyledInputGroup, null,\n (!leftDisabled || !rightDisabled) && (React.createElement(React.Fragment, null,\n React.createElement(StyledLeftButton, { id: \"left-arrow\", iconSlot: React.createElement(StyledLeftIcon, null), disabled: leftDisabled, onClick: toPrevScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the left\" }),\n React.createElement(StyledRightButton, { id: \"right-arrow\", iconSlot: React.createElement(StyledRightIcon, null), disabled: rightDisabled, onClick: toNextScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the right\" }))),\n React.createElement(StyledMenuButton, { iconSlot: React.createElement(StyledMenuIcon, null), variant: \"flat\", onClick: onClickMenu, \"aria-label\": \"open menu\", \"aria-controls\": ariaMenuControls, \"aria-expanded\": ariaMenuExpanded, \"aria-haspopup\": ariaMenuControls ? 'dialog' : undefined, ref: menuRef }))));\n});\n//# sourceMappingURL=ViewsContainer.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--18asccd\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--hefld1\" }) `display:flex;flex-direction:row;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1w2y0ok\" }) `&&&{text-align:left;width:52px;}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--fqwvpz\" }) `padding:0 4px;border-color:${theme.colors.neutral.ink.lightest};margin-right:4px;${(props) => props.hasError &&\n `\n border-color: ${theme.colors.secondary.red.base};\n `};`;\nexport { Container, Row, StyledTextField as TextField, StyledButton as Button };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { isWeightImperial, isWeightMetric } from './types';\nimport { ComponentSize } from '../types';\nimport { InputGroup } from '../InputGroup';\nimport { withLabels } from '../../hoc';\nimport { Container, TextField, Row, Button } from './styled';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\nexport const WeightInput = withLabels((_a) => {\n var { size = ComponentSize.base, hasError, className } = _a, rest = __rest(_a, [\"size\", \"hasError\", \"className\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n isWeightMetric(rest) && (React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeGram, name: \"gram\", type: \"number\", value: rest.gram, hasError: hasError, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"g\"))),\n isWeightImperial(rest) && (React.createElement(React.Fragment, null,\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangePound, name: \"pound\", type: \"number\", value: rest.pound, hasError: hasError, step: \"any\", min: \"0\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"lb\")),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeOunce, name: \"ounce\", type: \"number\", value: rest.ounce, hasError: hasError, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"oz\")))))));\n});\nWeightInput.displayName = 'WeightInput';\nWeightInput.defaultProps = {\n weightUnit: 'lb',\n};\n//# sourceMappingURL=WeightInput.js.map","export const isWeightMetric = (props) => {\n return props.weightUnit === 'g';\n};\nexport const isWeightImperial = (props) => {\n return props.weightUnit === 'lb' || props.weightUnit === 'oz';\n};\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { theme } from 'Theme';\nconst sizes = {\n base: '28px',\n sm: '20px',\n xs: '16px',\n};\nconst borderRadius = {\n base: '18px',\n sm: '10px',\n xs: '8px',\n};\nconst offset = {\n base: '-12px',\n sm: '-8px',\n xs: '-6px',\n};\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--gpqjtl\" }) `position:absolute;top:${({ size }) => offset[size]};right:${({ size }) => offset[size]};box-sizing:border-box;height:${({ size }) => sizes[size]};min-width:${({ size }) => sizes[size]};display:flex;align-items:center;justify-content:center;border-radius:${({ size }) => borderRadius[size]};padding:0 4px;background-color:${({ color }) => color || theme.colors.neutral.grey.base};border:2px solid white;font-weight:bold;font-size:12px;`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { theme } from 'Theme';\nimport { Wrapper } from './styled';\nexport const Indicator = (_a) => {\n var { color, style, textColour, size = 'base' } = _a, otherProps = __rest(_a, [\"color\", \"style\", \"textColour\", \"size\"]);\n const backgroundColor = color || theme.colors.neutral.grey.base;\n return (React.createElement(Wrapper, Object.assign({ role: \"status\", style: Object.assign({ backgroundColor, color: textColour }, style), size: size }, otherProps)));\n};\n//# sourceMappingURL=Indicator.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","getTextStyles","textTheme","css","theme","layers","popup","modal","tooltip","shadows","Text","span","attrs","muted","TapBarChild","Left","glyphColor","Right","AccordionSummary","summary","Top","Description","AccordionContent","motion","AccordionDetails","details","UnstyledAccordionContent","UnstyledAccordionSummary","UpArrowIcon","props","React","createElement","viewBox","fill","xmlns","role","height","fillRule","clipRule","d","Accordion","className","children","label","iconSlot","timeout","description","shouldOpenOnMount","summaryTextVariant","shouldOpen","setShouldOpen","useState","handleOpen","FRAMER_MOTION_CONFIG","initial","opacity","exit","animate","transition","from","type","duration","open","onClick","rotate","name","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","SuppressedError","TailSpin","width","x1","y1","x2","y2","id","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","ref","dropdown","loading","contentStyles","otherProps","VariantButton","hasChildren","undefined","style","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","DropdownContainer","generateId","prefix","randomId","uid","Portal","PureComponent","constructor","super","this","portalNode","state","isMounted","componentDidMount","rootElementRef","document","setAttribute","cssText","appendChild","setState","componentWillUnmount","removeChild","render","createPortal","PopoverDialog","dialog","zIndex","Backdrop","buildClassnames","names","filter","Boolean","join","hexToRgb","hex","hexTmp","replace","m","g","b","result","exec","parseInt","getOpaqueHexColor","rgb","defaultAllowedHostnames","isExternalLink","urlOrPath","allowedHostnames","startsWith","hostname","urlHostname","URL","some","toLowerCase","allowedHostname","TABBABLE_SELECTORS","useHandleFocus","popperElement","anchorElement","disableFocusLock","useEffect","focusableElements","querySelectorAll","setTimeout","focus","focusWithinPopper","event","key","shiftKey","stopPropagation","preventDefault","addEventListener","removeEventListener","handleKeyDown","firstElement","lastElement","activeElement","handleFocusTrap","Popover","passedId","placement","onShouldClose","removeBackdrop","useAnchorWidth","ignoreAriaWarnings","dialogProps","setPopperElement","styles","attributes","update","usePopper","useMemo","popoverId","hasAttribute","console","warn","_","useUpdateAriaAnchor","resizeObserver","ResizeObserver","observe","disconnect","window","popper","minWidth","clientWidth","onKeyDown","DropdownPopover","reversed","popoverProps","AnimatePresence","y","Dropdown","shouldShow","setShouldShow","ctaIconSlot","ctaProps","dropdownProps","anchorRef","useRef","Fragment","current","useClickOutside","isOpen","escapeListener","useCallback","clickListener","contains","target","useDebounce","handler","clearTimeout","useDropdown","shouldShowDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","FocusVisibleManager","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","useFocusVisible","isFocused","setIsFocused","useContext","onFocus","onBlur","focusVisible","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","scrollHeight","clientHeight","onScroll","scrollTop","useTabs","tabs","config","defaultActiveIndex","listOfTabs","active","setActive","newActiveTab","find","tab","useId","MenuItem","AriaMenuItem","AriaSection","ActionMenu","menuLabel","actions","idComputed","padding","code","Menu","toString","map","Alignments","Item","Stack","direction","alignX","alignY","spacing","alignItems","justifyContent","flexDirection","itemFlex","marginTop","marginLeft","AlertContainer","colours","SpacingMap","IconSizeMap","AttentionIcon","HelpIcon","InfoIcon","SuccessIcon","IconMap","warning","recommend","ColourMap","Alert","passedColours","rightActions","rightActionsSlot","titleSlot","messageSlot","message","divProps","IconSlot","isXsSize","margin","gap","minHeight","actionProps","TextColourMap","IconStyles","MiniAlertContainer","MiniAlert","customTitleColour","customIconColour","iconColour","titleColour","CommonAnchor","a","Anchor","href","rel","isExternal","setDefaultRelValue","Container","BasicDropdown","BasicContainer","Wrap","AnimatedDropdown","cta","onClickAway","transitionClassnames","onMouseEnter","onMouseLeave","dropdownRef","handleClickAway","useClickAway","CSSTransition","in","classNames","unmountOnExit","AvatarSC","textColor","bgColor","Avatar","userInitials","toUpperCase","match","slice","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","Sides","defaultConfig","side","TOP","triangleOffset","TooltipPopover","content","hoverableElement","withTriangle","usedConfig","modifiers","options","tooltipStyles","tip","triangleOffsetSize","wrap","triangle","Tooltip","initialShouldShow","useReactPortal","setHoverableElement","trim","container","hoverable","hasContent","tooltipMarkup","ReactDOM","BaseBadge","hideBorder","Badge","e2eClassName","BadgeVariant","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","Banner","Pill","marginRight","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","DefaultSeparator","DefaultLink","BreadcrumbText","Breadcrumbs","items","Separator","item","pathname","buttonStyles","calenderCellStyles","headerStyles","SharedCalendarStyles","StyledRangeCalendar","RangeCalendar","columns","SubCalendarOption","DodecadeCalendar","currentYear","onFocusYear","year","Array","MONTHS","YearCalendar","onFocusMonth","month","monthIndex","MonthCalendar","todayDate","today","getLocalTimeZone","AriaCalendarGrid","weekdayStyle","CalendarGridHeader","day","CalendarHeaderCell","CalendarGridBody","date","CalendarCell","compare","CalendarLevel","CalendarGrid","level","YEAR","DODECADE","visibleDurationMap","years","MONTH","months","levelMoveLabelMap","useCalendarLevels","setLevel","handleSwitchLevel","LeftArrowIcon","CalendarHeading","updatedProps","refUpdated","useContextProps","HeadingContext","generatedTitle","rest","entireMatch","group","test","whiteSpace","CalendarHeader","isDisabled","slot","VQBtn","disabled","useIsDateUnavailable","disabledRanges","disallowWeekends","minValue","maxValue","locale","useLocale","isDateUnavailable","isWeekend","disabledStart","disabledEnd","isDateRangeUnavailable","selectedRange","start","presortStart","end","presortEnd","sort","currentDate","add","days","onChange","focusedDate","setFocusedDate","initialValue","Date","getFullYear","currentMonth","getMonth","CalendarDate","useRangeCalendarState","focusedValue","onFocusChange","visibleDuration","StyledCalendar","Calendar","useCalendarState","alignMap","top","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","HintText","ErrorText","Wrapper","BorderedWrapper","BlockTooltip","Choice","hint","bordered","Accessory","labelVariant","inputPosition","contentMarkup","htmlFor","Input","input","Checkbox","checked","indeterminate","ariaLabel","checkboxRef","handleChange","currentTarget","Radio","Fieldset","fieldset","Legend","legend","ChoiceList","Component","arguments","allowMultiple","handleChangeMultiple","handleChangeSingle","selected","newSelected","selectedValue","InputComponent","option","includes","ClipboardIcon","iconSizes","XSButton","CopyToClipboard","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","Label","Hint","Error","RootStack","withLabels","marginBottom","hasError","withDeprecated","DateRangeGroup","Group","$hasError","DateInputField","shouldForceLeadingZeros","rightAction","startValue","endValue","isReadOnly","isRangeInput","ariaDescribedBy","ariaLabelledBy","onChangeStartDate","onChangeEndDate","rangeRef","rightActionRef","validationProps","isStartInvalid","setIsStartInvalid","isEndInvalid","setIsEndInvalid","validateDate","range","DateField","validate","isInvalid","DateInput","segment","DateSegment","CalendarIcon","DatePickerFooter","DatePicker","shouldCloseOnSelect","withLabelProps","resetToValue","openDropdownRef","onSelectDate","isSelectedDateInvalid","SelectInput","select","sizeVariant","Select","hidden","Slider","switched","Switch","small","Toggle","choiceProps","DEFAULT_PREVIOUS_PERIOD_OPTIONS","ComparePreviousPeriod","selectedPreviousPeriod","setSelectedPreviousPeriod","showCompareSelect","setShowCompareSelect","display","newValue","newOption","DateRanges","getDateRange","now","dateRange","TODAY","YESTERDAY","subtract","LAST_7_DAYS","LAST_30_DAYS","LAST_90_DAYS","LAST_MONTH","lastMonth","startOfMonth","endOfMonth","LAST_12_MONTHS","WEEK_TO_DATE","startOfWeek","language","MONTH_TO_DATE","YEAR_TO_DATE","startOfYear","timeRangeToDateRange","DATE_RANGE_OPTIONS","DEFAULT_SELECTION","DEFAULT_RANGE","DEFAULT_PRESET","Divider","DateRangePicker","showDatePresets","onReset","selectedPreset","setSelectedPreset","setSelectedRange","previousPeriodProps","updateDateSegment","newRange","isDateRangeInvalid","matchedPreset","reduce","optionDateRange","optionStart","optionEnd","checkForMatchingPreset","showPreviousPeriod","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","scrollPosition","stripingMode","columnWidths","pinnedLeftStyles","index","array","acc","val","sumAllBeforeIndex","pinnedRightStyles","sumAllAfterIndex","isLeftShadowVisible","leftShadow","isRightShadowVisible","rightShadow","stripingRow","stripingNested","column","SortDirection","DoubleArrowIcon","ArrowUpIcon","ArrowDownIcon","GetSortIcon","sortState","columnId","ascending","useCellWidths","tableRef","containerRef","setCellWidths","updateCellWidths","cells","widths","cell","getBoundingClientRect","resizeObserverCallback","throttle","CustomEvent","Event","eventType","data","bubbles","cancelable","useColumnWidths","columnIds","initialColumnWidths","setColumnWidths","obj","newColumnWidths","keys","forEach","JSON","stringify","setColumnWidth","lastColumn","newWidth","_b","_c","querySelector","calculateWidth","evt","dispatchEvent","customEventEmitter","useColumns","onResizeColumns","finalColumnWidths","originalSetColumnWidth","updatedColumnWidths","visible","col","pinned","notPinned","useDragToScroll","targetRef","isDragging","scrollTarget","position","left","x","mouseMoveHandler","dx","clientX","scrollLeft","cursor","userSelect","mouseUpHandler","removeProperty","mouseDownHandler","HTMLElement","classList","useNested","expandedRowIds","setExpandedRowIds","nestedTableProps","setExpanded","rowId","rowIds","findIndex","splice","useScrollPosition","setScrollPosition","updateScrollPosition","scrollWidth","headerCellHeight","th","SelectionHeader","selectionMode","headerProps","Cell","td","SelectionCell","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","selectedRowIds","setSelectedRowIds","toggleAllSelected","selectionColumn","renderHeader","renderCell","row","rowState","setSelected","SortIndicator","HeaderContent","ClickableHeaderContent","ResizerBar","ColumnDivider","createRef","mouseMove","minTranslate","dragDivider","dragInitX","tableHeaders","translate","Math","parentElement","initWidth","contentWidth","finalWidth","deltaX","mouseUp","remove","trackMouseStart","onMouseDown","onDragStart","onChangeSort","resizeableColumns","columnCount","columnI","sortable","String","ColumnHeaderContent","columnHeaderProps","nextSortState","isColumnSame","isDefaultDirection","newSortDirection","descending","getNextSortState","resizeMinWidth","shimmerLight","shimmerDark","LoadingCellContent","Content","ActionBar","intersectionTargetRef","isSticky","setIsSticky","intersectionObserver","IntersectionObserver","entries","entry","isIntersecting","containerRect","stickyPositionStyles","right","VisiblityIcon","VisiblityOffIcon","ReorderIcon","EmptyBodyContent","EmptyBodyGlyphWrapper","NoWrap","tr","ScrollContainer","TableGrid","table","Truncate","borderModeStyles","vertical","borderMode","StickyHead","tableCss","stickyHeaderTop","stickyContainerRef","isVisible","setIsVisible","setContainerRect","lastLeftValue","updateContainerDimensions","targetRect","newRect","updateContainerScrollPosition","xScrollOffset","scrollTo","rootMargin","threshold","scrollCallback","containerStyle","overflowX","overflowY","borderBottom","borderTop","boxShadow","allCss","getRowState","disabledRowIds","defaultEmptyState","heading","emptyAction","DataTable","actionBarSlot","initialColumns","emptyState","loadingRowCount","rows","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","calcColumnWidths","adjustedCellWidths","Number","isNaN","loadingRows","random","renderLoadingCell","subheading","renderRow","renderNestedRow","nestedRow","nestedRowE2eClassName","e2eClassNames","renderNestedCell","renderSection","isExpanded","nestedRows","headersMarkup","shouldRenderFooter","shouldRenderActionBar","hasNestedRows","renderBody","footerProps","defaultProps","ColumnMenu","columnGroups","setColumns","popoverAnchor","setPopoverAnchor","showPopover","setShowPopover","columnEntries","columnsMap","fromEntries","groups","setHidden","groupIndex","newColumns","border","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","DescriptionList","horizontal","renderDescription","isArray","term","ColumnGrid","showSidebar","ContentContainer","DetailPage","shouldShowSidebar","setShouldShowSidebar","InputGroup","ComponentSize","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","spellCheck","RegExp","StyledTextField","StyledButton","blockInvalidCharacters","invalidList","invalidCharsList","blockInvalidChars","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","step","NonSelectableText","GroupLabel","MainIcon","$shouldShow","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","FilterTag","shouldCloseOnClickAway","setAnchorElement","handleClick","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","Image","src","alt","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","isError","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","iconSize","icon","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","middle","WrapperBordered","Head","thead","tbody","fixedColumnsStyle","tfoot","grow","HeaderCell","alignmentMap","HeaderCellLayout","Table","isFixedLayout","striped","tableLoading","noWrap","StickyHeaderWrapper","FakeHeaderTable","SpecificStateContainer","EllipseContainer","TitleText","SubTitleText","SpecificState","CellButton","ClickableButton","SkeletonContentWrapper","SkeletonContentComponent","isLoading","SkeletonContent","SkeletonCell","StickyHeader","wrapperRef","wrapperStyle","headerWrapperRef","setHeaderWrapperRef","topOffset","handleScrollChange","bottom","sticky","useStickyHeader","wrapperWidth","useScroll","updateScroll","tableLayout","convertFixedColumnInlineStyleToStyled","push","abs","SkeletonHeaderCell","DoubleArrowAscIcon","DoubleArrowDescIcon","IconUnsorted","IconSortAsc","IconSortDesc","LegacyDataTable","borderless","headers","renderLoadingRow","renderFooterRow","renderFooterLoadingRow","omitFooterSelectionCell","disabledSelectionInputRowIds","onChangeSelectedRowIds","sortColumnId","sortDirection","skeletonRowsNumber","isHeaderSticky","stickyHeaderStyle","customSpecificState","bodyHeightInSpecificStates","startFixedColumnsNumber","endFixedColumnsNumber","WrapperComponent","isEmpty","isFixedColumnsNotEnabled","refValue","handleScroll","el","scrollValue","castWidthToNumber","generateFixedColumnInlineStyle","generateFixedColumnsStyle","startColumns","endColumns","totalStartOffset","totalEndOffset","headerWidth","handleSelectRow","newSelectedRowIds","handleSelectAll","handleClickSortableHeader","nextColumnId","nextDirection","renderHeaderCell","sortIcon","headerContents","renderSkeletonHeaderCell","selectionCellStyle","startHeaderIndex","endHeaderIndex","headerCellStyle","skeleton","skeletonStyle","renderSelectionInput","isSelected","inputProps","renderSkeletonSelectionInput","rowIndex","generalStyle","animationDuration","getNestedRow","isHidden","renderDefaultLoadingRow","unshift","getFooter","renderedRows","bodyClassName","rowE2eClassName","rowClassName","specificStateValues","ClickableCell","EditableCell","LoginButton","buttonImg","buttonDescription","LoginWithAmazonButton","setImage","onMouseUp","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","bounce","Dialog","Modal","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","removeAttribute","showModal","isContentOverflowing","close","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","StartArrowIcon","EndArrowIcon","Pagination","testId","onSubmit","StepButton","Stepper","onIncrement","onDecrement","PrefixContainer","PrefixText","PriceInputGroup","PriceInput","currency","onPriceChange","priceValue","callback","parseFloat","toFixed","roundedValue","form","blur","ScreenReaderOnlyElement","ScreenReaderOnly","IconContainer","iconPosition","SearchIcon","Search","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SegmentedControl","ShortcutKeysContainer","$inverse","Kbd","kbd","ValidModifierKeysMap","command","windows","shift","ctrl","enter","delete","escape","up","down","space","ValidModifierKeyssLabelMap","ShortcutKeys","shortcut","inverse","displayLabel","shortcutElements","split","previousKbdElement","currentKbdElement","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","Skeleton","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","onSlideStart","onSlideEnd","setIsDragging","draggingSliderIndex","setDraggingSliderIndex","startSliderRef","endSliderRef","handleMouseMove","sliderValue","containerSize","pageX","diff","ceil","floor","decimalPlaces","pop","resultValue","handleMouseUp","handleMouseDown","handleStartSliderMouseDown","handleEndSliderMouseDown","startSliderEl","endSliderEl","renderSlider","valueNow","sliderClassName","renderRangeSlider","rangeSliderValue","handleValueStart","handleValueEnd","rangeWidth","handleValue","renderSingleSlider","Tag","ToastsLayoutContainer","Toast","last","IconWrap","ContentStack","toastTypes","merge","closeIcon","ToastContainer","ToastsLayout","toasts","TransitionGroup","component","reverse","toast","borderColor","ToggleButton","tabIndex","DropZoneContainer","AcceptedFileTypes","FileSizeUnit","InputState","UploadGraphic","UploadCopy","pointerEvents","paddingTop","UploadFileErrors","acceptedTypesCopy","maxSizeCopy","SingleLineText","UploadedFilesListStack","UploadedFile","file","resetSelection","UploadFile","outerRef","maxBytes","format","MB","fileTypes","required","inputRef","useImperativeHandle","setFile","errorState","setErrorState","VALID","isInvalidFormat","INVALID_FORMAT","INVALID_FORMAT_AND_SIZE","isOverMaxSize","INVALID_SIZE","baseString","KB","getFileSizeString","fileType","list","iterable","isLast","isPenultimate","CSV","GIF","JPEG","JPG","PNG","getValidTypesString","acceptedTypesForInputEl","isLastElement","getTypePropForInputEl","clearFileSelection","setInputValidation","overMaxSize","invalidFormat","setCustomValidity","updateFiles","files","newFile","hasExceededMaxSize","extension","hasInvalidFormat","validType","substring","fileList","elementId","inputEl","getElementById","setInputElFile","onInputChange","onDrop","dataTransfer","onDragEnter","onDragOver","onDragLeave","accept","commonStyles","Shadow","WithPortal","usePortal","Popup","ScrollLock","isActive","PopupContent","VideoWrapper","ButtonSC","VideoModal","youtubeVideoId","showVideoModal","handleCloseClick","frameBorder","allow","allowFullScreen","ViewTypes","CounterText","Contour","colourPalette","customTextColour","CounterContainer","IconStyling","CustomIconWrapper","EditIcon","edit","counter","View","onDelete","onEdit","handleEnter","handleLeave","handleDelete","handleEdit","isDraft","draft","isSaved","saved","ViewTabTypes","ThreeDotsIcon","ThreeDotsIconStyling","CrossIconStyling","ViewButton","ViewTab","subAction","ariaContext","ViewsWrapper","StyledLeftIcon","StyledRightIcon","StyledMenuIcon","StyledMenuButton","StyledLeftButton","StyledRightButton","StyledInputGroup","useSetScrollPosition","leftDisabled","setLeftDisabled","rightDisabled","setRightDisabled","viewStartPositions","setViewStartPositions","activeTab","prevActiveTab","usePrevious","_d","_e","_f","_g","_h","maxScrollLeft","handleResize","toNextScrollPosition","newPosition","viewPositionsArray","currentScroll","containerWidth","getNextViewPosition","behavior","toPrevScrollPosition","reverseArray","getPrevViewPosition","createViewPositionArray","ViewsContainer","onClickMenu","ariaMenuControls","ariaMenuExpanded","menuRef","viewsRef","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce","Indicator","textColour"],"mappings":"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","x_google_ignoreList":[15]}