@veeqo/ui 6.3.0 → 7.1.0

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.
Files changed (46) hide show
  1. package/dist/components/Alert/Alert.d.ts +1 -1
  2. package/dist/components/Alert/types.d.ts +2 -0
  3. package/dist/components/Calendars/components/Calendar/Calendar.d.ts +12 -0
  4. package/dist/components/Calendars/components/Calendar/index.d.ts +1 -0
  5. package/dist/components/Calendars/components/Calendar/styled.d.ts +2 -0
  6. package/dist/components/{RangeCalendar → Calendars/components/RangeCalendar}/RangeCalendar.d.ts +1 -1
  7. package/dist/components/{RangeCalendar/components → Calendars/components/subcomponents}/CalendarGrid/CalendarGrid.d.ts +1 -1
  8. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.test.d.ts +1 -0
  9. package/dist/components/{RangeCalendar/components → Calendars/components/subcomponents}/CalendarHeader.d.ts +3 -2
  10. package/dist/components/{RangeCalendar/components → Calendars/components/subcomponents}/CalendarHeading.d.ts +1 -1
  11. package/dist/components/Calendars/components/subcomponents/CalendarStyles/CalendarStyles.d.ts +1 -0
  12. package/dist/components/Calendars/components/subcomponents/CalendarStyles/index.d.ts +1 -0
  13. package/dist/components/Calendars/components/subcomponents/utils.d.ts +6 -0
  14. package/dist/components/Calendars/components/subcomponents/utils.test.d.ts +1 -0
  15. package/dist/components/Calendars/data/useCalendar.d.ts +13 -0
  16. package/dist/components/Calendars/data/useCalendarLevels.d.ts +7 -0
  17. package/dist/components/Calendars/data/useIsDateUnavailable.d.ts +10 -0
  18. package/dist/components/{RangeCalendar → Calendars}/data/useRangeCalendar.d.ts +2 -3
  19. package/dist/components/Calendars/index.d.ts +2 -0
  20. package/dist/components/index.d.ts +1 -1
  21. package/dist/index.esm.js +1 -1
  22. package/dist/index.esm.js.map +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/theme/index.d.ts +1 -0
  26. package/dist/theme/utils.d.ts +2 -0
  27. package/package.json +2 -1
  28. package/dist/components/RangeCalendar/components/StyledRangeCalendar/index.d.ts +0 -1
  29. package/dist/components/RangeCalendar/components/utils.d.ts +0 -8
  30. /package/dist/components/{RangeCalendar/RangeCalendar.test.d.ts → Calendars/components/Calendar/Calendar.test.d.ts} +0 -0
  31. /package/dist/components/{RangeCalendar/components/CalendarGrid/subCalendars/DodecadeCalendar.test.d.ts → Calendars/components/RangeCalendar/RangeCalendar.test.d.ts} +0 -0
  32. /package/dist/components/{RangeCalendar → Calendars/components/RangeCalendar}/index.d.ts +0 -0
  33. /package/dist/components/{RangeCalendar/components/StyledRangeCalendar/StyledRangeCalendar.d.ts → Calendars/components/RangeCalendar/styled.d.ts} +0 -0
  34. /package/dist/components/{RangeCalendar/components → Calendars/components/subcomponents}/CalendarGrid/index.d.ts +0 -0
  35. /package/dist/components/{RangeCalendar/components → Calendars/components/subcomponents}/CalendarGrid/subCalendars/DodecadeCalendar.d.ts +0 -0
  36. /package/dist/components/{RangeCalendar/components/CalendarGrid/subCalendars/YearCalendar.test.d.ts → Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.test.d.ts} +0 -0
  37. /package/dist/components/{RangeCalendar/components → Calendars/components/subcomponents}/CalendarGrid/subCalendars/MonthCalendar.d.ts +0 -0
  38. /package/dist/components/{RangeCalendar/components → Calendars/components/subcomponents}/CalendarGrid/subCalendars/YearCalendar.d.ts +0 -0
  39. /package/dist/components/{RangeCalendar/components → Calendars/components/subcomponents}/CalendarGrid/subCalendars/index.d.ts +0 -0
  40. /package/dist/components/{RangeCalendar/components → Calendars/components/subcomponents}/CalendarGrid/subCalendars/styled.d.ts +0 -0
  41. /package/dist/components/{RangeCalendar/components → Calendars/components/subcomponents}/CalendarGrid/subCalendars/utils.d.ts +0 -0
  42. /package/dist/components/{RangeCalendar/components/StyledRangeCalendar → Calendars/components/subcomponents/CalendarStyles}/buttonStyles.d.ts +0 -0
  43. /package/dist/components/{RangeCalendar/components/StyledRangeCalendar → Calendars/components/subcomponents/CalendarStyles}/calendarCellStyles.d.ts +0 -0
  44. /package/dist/components/{RangeCalendar/components/StyledRangeCalendar → Calendars/components/subcomponents/CalendarStyles}/headerStyles.d.ts +0 -0
  45. /package/dist/components/{RangeCalendar → Calendars}/data/constants.d.ts +0 -0
  46. /package/dist/components/{RangeCalendar → Calendars}/types.d.ts +0 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/BaseContainer/BaseContainer.ts","../src/components/Text/utils.ts","../src/theme/modules/colors.ts","../src/theme/modules/breakpoints.ts","../src/theme/modules/radius.ts","../src/theme/modules/shadows.ts","../src/theme/modules/sizes.ts","../src/theme/modules/text.ts","../src/theme/index.ts","../src/theme/modules/layers.ts","../src/components/Text/Text.ts","../src/components/Accordion/styled.ts","../src/tempIcons/UpArrowIcon.tsx","../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/useDropdown.ts","../src/hooks/useFocusVisible.tsx","../src/hooks/useHover.ts","../src/hooks/useIsOverflowing.ts","../src/hooks/useId.ts","../src/components/RangeCalendar/components/utils.ts","../src/components/ActionMenu/styled.ts","../src/components/ActionMenu/ActionMenu.tsx","../src/components/Stack/Alignments.ts","../src/components/Stack/Stack.tsx","../src/components/Alert/styled.ts","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/HelpIcon.tsx","../src/tempIcons/InfoIcon.tsx","../src/tempIcons/SuccessIcon.tsx","../src/components/Alert/constants.ts","../src/tempIcons/WarningIcon.tsx","../src/tempIcons/RecommendIcon.tsx","../src/components/Anchor/styled.ts","../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/Tooltip/components/styled.ts","../src/components/Tooltip/types.ts","../src/components/Tooltip/components/TooltipPopover.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/Badge/styled.ts","../src/components/Badge/Badge.tsx","../src/components/Banner/styled.ts","../src/components/Banner/Banner.tsx","../src/components/Breadcrumbs/components/styled.ts","../src/tempIcons/RightArrowIcon.tsx","../src/components/Breadcrumbs/components/Breadcrumb.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/RangeCalendar/components/StyledRangeCalendar/buttonStyles.ts","../src/components/RangeCalendar/components/StyledRangeCalendar/calendarCellStyles.ts","../src/components/RangeCalendar/components/StyledRangeCalendar/headerStyles.ts","../src/components/RangeCalendar/components/StyledRangeCalendar/StyledRangeCalendar.ts","../src/components/Grid/index.ts","../src/components/RangeCalendar/components/CalendarGrid/subCalendars/styled.ts","../src/components/RangeCalendar/components/CalendarGrid/subCalendars/DodecadeCalendar.tsx","../src/components/RangeCalendar/components/CalendarGrid/subCalendars/utils.ts","../src/components/RangeCalendar/components/CalendarGrid/subCalendars/YearCalendar.tsx","../src/components/RangeCalendar/components/CalendarGrid/subCalendars/MonthCalendar.tsx","../src/components/RangeCalendar/types.ts","../src/components/RangeCalendar/components/CalendarGrid/CalendarGrid.tsx","../src/components/RangeCalendar/data/constants.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/RangeCalendar/components/CalendarHeading.tsx","../src/components/RangeCalendar/components/CalendarHeader.tsx","../src/components/RangeCalendar/RangeCalendar.tsx","../src/components/RangeCalendar/data/useRangeCalendar.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/components/DateInputField/styled.ts","../src/components/DateInputField/index.ts","../src/components/DateInputField/DateInputField.tsx","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/DateRangePicker/components/constants.ts","../src/components/DateRangePicker/components/ComparePreviousPeriod.tsx","../src/components/DateRangePicker/constants.ts","../src/components/DateRangePicker/utils.ts","../src/components/DateRangePicker/components/Divider.tsx","../src/components/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/utils/getColumnWidth.ts","../src/components/DataTable/hooks/useColumns.ts","../src/components/DataTable/hooks/useDragToScroll.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/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/LegacyDataTable/utils/constants.tsx","../src/tempIcons/CalendarIcon.tsx","../src/tempIcons/FailIcon.tsx","../src/components/LegacyDataTable/styled.ts","../src/components/LegacyDataTable/SpecificState/styled.ts","../src/components/LegacyDataTable/SpecificState/SpecificState.tsx","../src/components/LegacyDataTable/cells/styled.ts","../src/components/LegacyDataTable/cells/ClickableCell.tsx","../src/components/LegacyDataTable/cells/EditableCell.tsx","../src/components/LegacyDataTable/SkeletonContent/SkeletonContent.tsx","../src/components/LegacyDataTable/cells/SkeletonCell.tsx","../src/components/LegacyDataTable/utils/hooks.ts","../src/components/LegacyDataTable/StickyHeader.tsx","../src/components/LegacyDataTable/utils/index.ts","../src/components/LegacyDataTable/cells/SkeletonHeaderCell.tsx","../src/tempIcons/DoubleArrowAscIcon.tsx","../src/tempIcons/DoubleArrowDescIcon.tsx","../src/components/LegacyDataTable/LegacyDataTable.tsx","../src/components/LoginWithAmazonButton/styled.ts","../src/components/LoginWithAmazonButton/LoginWithAmazonButton.tsx","../src/components/Modal/components/styled.ts","../src/components/Modal/types.ts","../src/components/Modal/components/Dialog/constants.ts","../src/components/Modal/components/Dialog/styled.ts","../src/components/Modal/components/Dialog/Dialog.tsx","../src/components/Pagination/styled.ts","../src/components/Pagination/components.tsx","../src/components/Pagination/hooks/usePagination.ts","../src/tempIcons/StartArrowIcon.tsx","../src/tempIcons/EndArrowIcon.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/SegmentedControl/styled.ts","../src/components/ShortcutKeys/styled.ts","../src/components/ShortcutKeys/utils.ts","../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/ToggleButton/styled.ts","../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/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/Accordion/Accordion.tsx","../src/components/Alert/Alert.tsx","../src/components/Anchor/Anchor.tsx","../src/components/Avatar/Avatar.tsx","../src/components/DateRangePicker/DateRangePicker.tsx","../src/components/DetailPage/DetailPage.tsx","../src/components/Image/Image.tsx","../src/components/Modal/Modal.tsx","../src/components/Pagination/Pagination.tsx","../src/components/Search/Search.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/ShortcutKeys/ShortcutKeys.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/ToggleButton/ToggleButton.tsx","../src/components/VideoModal/VideoModal.tsx","../src/hooks/useDebounce.ts","../src/components/DataTable/hooks/useNested.ts","../src/hooks/useTabs.ts","../src/hoc/withDeprecated.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 { colors } from './modules/colors';\nimport { breakpoints } from './modules/breakpoints';\nimport { layers } from './modules/layers';\nimport { radius } from './modules/radius';\nimport { Shadows } from './modules/shadows';\nimport { sizes } from './modules/sizes';\nimport { text, common } from './modules/text';\nexport const theme = Object.assign(Object.assign({}, common), { breakpoints,\n colors,\n layers,\n radius, shadows: Shadows, sizes,\n text });\n//# sourceMappingURL=index.js.map","export const layers = {\n base: 0,\n popup: 1000,\n modal: 2000,\n tooltip: 3000,\n};\n//# sourceMappingURL=layers.js.map","import styled from 'styled-components';\nimport { getComponentOverride } from './utils';\nimport { theme } from '../../theme';\nconst { text, colors, fontFamily } = theme;\nexport const Text = styled.span.attrs(({ as, variant }) => ({\n as: getComponentOverride(as, variant),\n})).withConfig({ displayName: \"vui--Text\", componentId: \"vui--p74sf8\" }) `box-sizing:border-box;display:inline-block;margin:0;padding:0;font-style:normal;font-weight:normal;font-size:12px;font-family:${fontFamily};line-height:16px;color:#37424d;${({ variant }) => (variant === 'button' || variant === 'buttonSmall') &&\n `\n cursor: pointer;\n background-color: transparent;\n border: 0;\n `} ${({ variant, muted = false }) => {\n if (!variant)\n return '';\n const color = muted ? colors.neutral.ink.lightest : text[variant].color;\n return `\n font-family: ${text[variant].fontFamily};\n font-style: ${text[variant].fontStyle};\n font-weight: ${text[variant].fontWeight};\n font-size: ${text[variant].fontSize};\n line-height: ${text[variant].lineHeight};\n color: ${color};\n text-decoration: ${text[variant].textDecoration};\n letter-spacing: ${text[variant].letterSpacing};\n `;\n}}`;\n//# sourceMappingURL=Text.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nimport { sizes } from '../../theme/modules/sizes';\nconst TapBarChild = styled(BaseContainer).withConfig({ displayName: \"vui--TapBarChild\", componentId: \"vui--3ngcs3\" }) `display:flex;flex-direction:row;align-items:center;`;\nconst Left = styled(TapBarChild).withConfig({ displayName: \"vui--Left\", componentId: \"vui--sjvmul\" }) `svg{margin-right:12px;height:${sizes.base};width:${sizes.base};color:${({ glyphColor }) => glyphColor};}`;\nconst Right = styled(TapBarChild).withConfig({ displayName: \"vui--Right\", componentId: \"vui--1mm1lxm\" }) `justify-content:flex-end;flex-grow:2;`;\n/**\n * Due to unique behaviour observed in Safari, we override the outline property when\n * the accordion is focussed.\n */\nconst AccordionSummary = styled.summary.withConfig({ displayName: \"vui--AccordionSummary\", componentId: \"vui--1moens1\" }) `display:flex;flex-direction:column;padding:12px;border-radius:4px;user-select:none;cursor:pointer;border:1px solid ${theme.colors.neutral.grey.dark};:focus{outline:none;box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}:active{box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}`;\nconst Top = styled(BaseContainer).withConfig({ displayName: \"vui--Top\", componentId: \"vui--7euo6s\" }) `display:flex;flex-direction:row;align-items:center;height:16px;`;\nconst Description = styled(Text).withConfig({ displayName: \"vui--Description\", componentId: \"vui--1snn6nn\" }) `margin-top:8px;`;\nconst AccordionContent = styled(motion(BaseContainer)).withConfig({ displayName: \"vui--AccordionContent\", componentId: \"vui--to1g7a\" }) `margin-top:4px;background:rgba(217, 235, 248, 0.5);padding:10px 26px;`;\nconst AccordionDetails = styled.details.withConfig({ displayName: \"vui--AccordionDetails\", componentId: \"vui--g3berv\" }) `summary{list-style-type:none;::-webkit-details-marker{display:none;}}`;\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","/******************************************************************************\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, icon, variant = 'default', size = 'base', dropdown = false, loading = false } = _a, otherProps = __rest(_a, [\"className\", \"children\", \"icon\", \"variant\", \"size\", \"dropdown\", \"loading\"]);\n if (variant === 'unstyled') {\n return (React.createElement(UnstyledButton, Object.assign({ ref: ref, className: className }, otherProps), children));\n }\n const VariantButton = variantMap[variant];\n const hasChildren = children !== undefined;\n const hasIcon = !!icon;\n return (React.createElement(VariantButton, Object.assign({ ref: ref, className: className, size: size, hasText: hasChildren, hasIcon: hasIcon, hasDropdown: dropdown }, otherProps),\n (hasChildren || hasIcon) && (React.createElement(MainContent, { \"$loading\": loading, hasText: !!children, size: children || size === 'sm' ? 'base' : 'md' },\n icon && icon,\n children !== undefined && children,\n dropdown && React.createElement(DropdownIcon, null))),\n loading && (React.createElement(LoadingWrapper, null,\n React.createElement(Loader, null)))));\n});\n//# sourceMappingURL=Button.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--oa1a54\" }) `padding-top:${sizes.md};padding-right:${sizes.md};padding-left:${sizes.md};margin-bottom:${sizes.md};& > * + *{margin-top:${sizes.xs};}`;\nexport const HeaderGrid = styled.div.withConfig({ displayName: \"vui--HeaderGrid\", componentId: \"vui--129vg5d\" }) `/*${sizes.base}*/display:flex;justify-content:flex-end;align-items:center;& > *:first-child{flex:1;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const DownArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.0302 5.52997L7.97021 8.5833L4.91021 5.52997L3.97021 6.46997L7.97021 10.47L11.9702 6.46997L11.0302 5.52997Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DownArrowIcon.js.map","import React from 'react';\nexport const CrossIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: 24, width: 24 }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M19 6.51071L17.4893 5L11.5 10.9893L5.51071 5L4 6.51071L9.98929 12.5L4 18.4893L5.51071 20L11.5 14.0107L17.4893 20L19 18.4893L13.0107 12.5L19 6.51071Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CrossIcon.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const CardHeader = ({ id, title, subtitle, headerVariant = 'headingSmall', action, ActionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React.createElement(Header, null,\n React.createElement(HeaderGrid, null,\n React.createElement(Text, { id: id, variant: headerVariant }, title),\n action && (React.createElement(Button, { variant: \"link\", onClick: action.onClick }, action.title)),\n ActionSlot,\n onClickCollapse && (React.createElement(Button, { variant: \"flat\", icon: isCollapsed ? React.createElement(DownArrowIcon, null) : React.createElement(UpArrowIcon, null), onClick: onClickCollapse })),\n onClickClose && (React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\" }))),\n subtitle && React.createElement(Text, { variant: \"subheadingSmall\" }, subtitle)));\n//# sourceMappingURL=CardHeader.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { Shadows } from '../../theme/modules/shadows';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nimport { radius } from '../../theme/modules/radius';\nimport { text } from '../../theme/modules/text';\nconst { grey } = colors.neutral;\nconst elevationShadowMap = {\n 0: 'none',\n 1: Shadows.sm,\n 2: Shadows.base,\n 3: Shadows.md,\n 4: Shadows.lg,\n};\nconst accents = {\n info: colors.secondary.blue.base,\n success: colors.secondary.green.base,\n error: colors.secondary.red.base,\n};\nexport const Footer = styled.footer.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--livrdi\" }) `margin-top:${sizes.base};padding:${sizes.md};z-index:2;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--z99ese\" }) `padding-right:${sizes.md};padding-left:${sizes.md};margin-top:${sizes.md};margin-bottom:${sizes.md};font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};line-height:${text.body.lineHeight};color:${text.body.color};& + &{border-top:${sizes.line} solid ${grey.base};padding-top:${sizes.md};}`;\nexport const FullBleed = styled.div.withConfig({ displayName: \"vui--FullBleed\", componentId: \"vui--1lgjeo7\" }) `margin-left:-${sizes.md};margin-right:-${sizes.md};`;\nexport const Body = styled(motion.div).withConfig({ displayName: \"vui--Body\", componentId: \"vui--pfgeh3\" }) `overflow-y:hidden;&:not(:first-child)> ${Section}:first-child{margin-top:0;}`;\nexport const Surface = styled.div.withConfig({ displayName: \"vui--Surface\", componentId: \"vui--g1wpqa\" }) `position:relative;width:100%;background-color:white;border:${sizes.line} solid ${grey.base};box-shadow:${(props) => props.elevation !== undefined ? elevationShadowMap[props.elevation] : Shadows.sm};border-radius:${radius.md};overflow:hidden;box-sizing:border-box;${({ accent }) => accent &&\n `\n &::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: ${sizes.xs};\n background-color: ${accents[accent]};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { CardHeader } from '../CardHeader';\nimport { Surface, Body, FullBleed, Footer, Section } from './styled';\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\nexport const Card = ({ className, style, title, subtitle, HeaderActionSlot, action, collapsable, elevation, accent, children, onClose, renderFooter, }) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n const headerMarkup = title && (React.createElement(CardHeader, { title: title, subtitle: subtitle, ActionSlot: HeaderActionSlot, action: action, onClickClose: onClose, isCollapsed: isCollapsed, onClickCollapse: collapsable ? toggleCollapsed : undefined }));\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (React.createElement(Body, { animate: showBody ? 'expanded' : 'collapsed', variants: collapseAnimationVariants, transition: { duration: 0.3, ease: 'easeOut' } },\n React.createElement(Section, null, children)));\n const footerMarkup = renderFooter !== undefined && React.createElement(Footer, null, renderFooter());\n return (React.createElement(Surface, { className: className, style: style, elevation: elevation, accent: accent },\n headerMarkup,\n bodyMarkup,\n footerMarkup));\n};\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n//# sourceMappingURL=Card.js.map","import styled from 'styled-components';\nimport { 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 }) => {\n useEffect(() => {\n if (!anchorElement)\n return;\n // Try and set aria-expanded on the anchor.\n try {\n if (!anchorElement.hasAttribute('aria-expanded')) {\n console.warn('Popover - aria-expanded not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-expanded', 'true');\n }\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${true}`);\n }\n // Try and set aria controls, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-controls')) {\n console.warn('Popover - aria-controls not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-controls', popoverId);\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-controls for popover id: ${popoverId}`);\n }\n // Try and set aria-haspopup, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-haspopup')) {\n console.warn('Popover - aria-haspopup not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-haspopup', 'dialog');\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-haspopup for popover id: ${popoverId}`);\n }\n // On unmount set aria-expanded to false\n return () => {\n try {\n anchorElement.setAttribute('aria-expanded', 'false');\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${false}`);\n }\n };\n }, [anchorElement, popoverId]);\n};\n//# sourceMappingURL=useUpdateAriaAnchor.js.map","import { useEffect } from 'react';\nconst TABBABLE_SELECTORS = 'input:not([disabled]), summary:not([disabled]), a[href]:not([disabled]), button:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\nexport const useHandleFocus = ({ popperElement, anchorElement, onClose, disableFocusLock = false, }) => {\n /**\n * Focuses first element, when this gets rendered for the first time.\n */\n useEffect(() => {\n if (!popperElement || disableFocusLock)\n return;\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n if (focusableElements.length < 1)\n return;\n setTimeout(() => {\n focusableElements[0].focus();\n }, 0);\n }, [popperElement, disableFocusLock]);\n /**\n * Sets up tabbing into the popover.\n *\n * When the popover is open (pre-requisite for this being ran), and the user clicks `TAB`\n * then the tab should move **into** the popover, instead of the natural tab order.\n */\n useEffect(() => {\n if (!popperElement || !popperElement)\n return;\n const focusWithinPopper = (event) => {\n if (event.key === 'Tab' && !event.shiftKey) {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n // When nothing is focusable within the popover, close popover and allow natural tab order.\n if (focusableElements.length < 1) {\n onClose();\n return;\n }\n focusableElements[0].focus();\n event.stopPropagation();\n event.preventDefault();\n }\n };\n // When tab occurs on ref focus, if focusable elements in popover focus first.\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.addEventListener('keydown', focusWithinPopper);\n // eslint-disable-next-line consistent-return\n return () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.removeEventListener('keydown', focusWithinPopper);\n }, [anchorElement, popperElement, onClose]);\n /**\n * Creates focus trap within the popover itself. Stopping users tabbing back to outside the\n * popover, or forward past the last scrollable element within.\n */\n const handleFocusTrap = (event) => {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n const firstElement = focusableElements[0];\n const lastElement = focusableElements[focusableElements.length - 1];\n // If shift tabbing (BACK) and on the first element, loop to last element.\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n // If tabbing (FORWARD) and on the last element, loop to first element.\n }\n else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n };\n const handleKeyDown = (event) => {\n if (!popperElement)\n return;\n // Handle escape\n if (event.key === 'Escape') {\n onClose();\n // Check we should enforce focus trap.\n }\n else if (!disableFocusLock && event.key === 'Tab') {\n handleFocusTrap(event);\n }\n };\n return {\n handleKeyDown,\n };\n};\n//# sourceMappingURL=useHandleFocus.js.map","import { __rest } from \"tslib\";\n/* eslint-disable consistent-return */\nimport React, { useState, useEffect, useMemo } from 'react';\nimport { usePopper } from 'react-popper';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Portal } from '../Portal';\nimport { theme } from '../../theme';\nimport { PopoverDialog, Backdrop } from './styled';\nimport { generateId } from '../../utils';\nimport { useUpdateAriaAnchor } from './hooks/useUpdateAriaAnchor';\nimport { useHandleFocus } from './hooks/useHandleFocus';\nexport const Popover = (_a) => {\n var { id: passedId, children, zIndex = theme.layers.popup, placement = 'bottom', anchorElement, rootElementRef, onShouldClose, style, disableFocusLock, removeBackdrop = false, useAnchorWidth } = _a, dialogProps = __rest(_a, [\"id\", \"children\", \"zIndex\", \"placement\", \"anchorElement\", \"rootElementRef\", \"onShouldClose\", \"style\", \"disableFocusLock\", \"removeBackdrop\", \"useAnchorWidth\"]);\n // Set up PopperJS\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes, update } = usePopper(anchorElement, popperElement, { placement });\n // Setup popover id to use passed, or generate its' own.\n const id = useMemo(() => passedId || generateId('popover'), [passedId]);\n // Check and update aria for anchor, only works once this has rendered for the first time though.\n useUpdateAriaAnchor({ anchorElement, popoverId: id });\n const onClose = () => {\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus();\n onShouldClose === null || onShouldClose === void 0 ? void 0 : onShouldClose();\n };\n const { handleKeyDown } = useHandleFocus({\n popperElement,\n anchorElement,\n onClose,\n disableFocusLock,\n });\n /**\n * When content size is changed, force popper update\n */\n useEffect(() => {\n if (!update || !popperElement)\n return;\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(popperElement);\n return () => resizeObserver.disconnect();\n }, [update, popperElement]);\n /**\n * When window is resized, force popper update\n */\n useEffect(() => {\n if (!update)\n return;\n window.addEventListener('resize', update);\n return () => window.removeEventListener('resize', update);\n }, [update]);\n return (React.createElement(Portal, { rootElementRef: rootElementRef },\n !removeBackdrop && (React.createElement(Backdrop, { onClick: onClose, zIndex: zIndex, \"data-testid\": \"popover-backdrop\" })),\n React.createElement(PopoverDialog, Object.assign({ open: true, id: id, zIndex: zIndex, ref: setPopperElement, style: Object.assign(Object.assign(Object.assign({}, styles.popper), style), (useAnchorWidth ? { minWidth: anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.clientWidth } : {})), onKeyDown: handleKeyDown }, attributes.popper, dialogProps), children)));\n};\n//# sourceMappingURL=Popover.js.map","import { __rest } from \"tslib\";\nimport React, { useEffect } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { DropdownContainer } from './styled';\nimport { Popover } from '../Popover';\nexport const DropdownPopover = (_a) => {\n var { id, children, className, style, reversed, anchorElement, useAnchorWidth, onShouldClose } = _a, popoverProps = __rest(_a, [\"id\", \"children\", \"className\", \"style\", \"reversed\", \"anchorElement\", \"useAnchorWidth\", \"onShouldClose\"]);\n useEffect(() => () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus(), [anchorElement]); // Re-focus anchor when closed.\n return (React.createElement(Popover, Object.assign({ id: id, \"data-testid\": id, anchorElement: anchorElement, onShouldClose: onShouldClose, useAnchorWidth: useAnchorWidth, placement: \"bottom-start\" }, popoverProps),\n React.createElement(AnimatePresence, null,\n React.createElement(DropdownContainer, { className: className, style: style, useAnchorWidth: useAnchorWidth, reversed: reversed, initial: { opacity: 0, y: -6 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -6 }, transition: { duration: 0.2 } }, children))));\n};\n//# sourceMappingURL=DropdownPopover.js.map","import { __rest } from \"tslib\";\nimport React, { useRef } from 'react';\nimport { Button } from '../Button';\nimport { DropdownPopover } from './DropdownPopover';\nexport const Dropdown = (_a) => {\n var { id, shouldShow, setShouldShow, ctaIconSlot, ctaProps } = _a, dropdownProps = __rest(_a, [\"id\", \"shouldShow\", \"setShouldShow\", \"ctaIconSlot\", \"ctaProps\"]);\n const anchorRef = useRef(null);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, Object.assign({ ref: anchorRef, \"aria-haspopup\": \"dialog\", \"aria-expanded\": shouldShow, \"aria-controls\": id, onClick: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(!shouldShow), icon: ctaIconSlot, dropdown: true }, ctaProps)),\n shouldShow && (React.createElement(DropdownPopover, Object.assign({ id: id, anchorElement: anchorRef.current, onShouldClose: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(false) }, dropdownProps)))));\n};\n//# sourceMappingURL=Dropdown.js.map","import { useCallback, useEffect, useRef } from 'react';\n/**\n * Close a menu or modal by clicking out of it\n */\nexport const useClickOutside = (isOpen, onClose) => {\n const ref = useRef(null);\n const escapeListener = useCallback((e) => {\n if (e.key === 'Escape') {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n const clickListener = useCallback((e) => {\n if (!ref.current.contains(e.target)) {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', clickListener);\n document.addEventListener('keyup', escapeListener);\n return () => {\n document.removeEventListener('click', clickListener);\n document.removeEventListener('keyup', escapeListener);\n };\n }\n return undefined;\n }, [clickListener, escapeListener, isOpen]);\n return ref;\n};\n//# sourceMappingURL=useClickOutside.js.map","import { useState, 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 { useMemo } from 'react';\nimport { generateId } from '../utils';\nexport const useId = ({ id, prefix }) => useMemo(() => id || generateId(prefix), [id, prefix]);\n//# sourceMappingURL=useId.js.map","export const getTextStyles = (textTheme) => `\n font-family: ${textTheme.fontFamily};\n font-style: ${textTheme.fontStyle};\n font-weight: ${textTheme.fontWeight};\n font-size: ${textTheme.fontSize};\n line-height: ${textTheme.lineHeight};\n color: ${textTheme.color};\n text-decoration: ${textTheme.textDecoration};\n letter-spacing: ${textTheme.letterSpacing};\n`;\n/**\n * Replaces all words with the first three letter of that word. All numbers are left alone.\n *\n * @example \"January 2023\" => \"Jan 2023\"\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 { MenuItem as AriaMenuItem, Section as AriaSection } from 'react-aria-components';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { getTextStyles } from '../RangeCalendar/components/utils';\nexport const MenuItem = styled(AriaMenuItem).withConfig({ displayName: \"vui--MenuItem\", componentId: \"vui--1vhrzmz\" }) `display: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--u8ngai\" }) `border:1px solid ${({ colours: { primary } }) => primary};border-radius:${theme.radius.base};background-color:${({ colours: { background } }) => background};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const AttentionIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 15H13V17H11V15ZM11 7H13V13H11V7ZM11.99 2C6.47 2 2 6.48 2 12C2 17.52 6.47 22 11.99 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 11.99 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=AttentionIcon.js.map","import React from 'react';\nexport const HelpIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 18H13V16H11V18ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 12 11 11.75 11 15H13C13 12.75 16 12.5 16 10C16 7.79 14.21 6 12 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=HelpIcon.js.map","import React from 'react';\nexport const InfoIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M2 12C2 6.48 6.48 2 12 2C17.52 2 22 6.48 22 12C22 17.52 17.52 22 12 22C6.48 22 2 17.52 2 12ZM4 12C4 16.41 7.59 20 12 20C16.41 20 20 16.41 20 12C20 7.59 16.41 4 12 4C7.59 4 4 7.59 4 12Z\", fill: \"currentColor\" }),\n React.createElement(\"circle\", { cx: \"12\", cy: \"7\", r: \"1\", fill: \"currentColor\" }),\n React.createElement(\"path\", { d: \"M10 16H11V11H10V10H13V16H14V17H10V16Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=InfoIcon.js.map","import React from 'react';\nexport const SuccessIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM14.7708 8L10.0856 13.2468L8.22925 11.1679L7 12.5445L10.0856 16L16 9.37661L14.7708 8ZM20.1818 12C20.1818 16.5187 16.5187 20.1818 12 20.1818C7.48131 20.1818 3.81818 16.5187 3.81818 12C3.81818 7.48131 7.48131 3.81818 12 3.81818C16.5187 3.81818 20.1818 7.48131 20.1818 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SuccessIcon.js.map","import { AttentionIcon } from '../../tempIcons/AttentionIcon';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nimport { RecommendIcon } from '../../tempIcons/RecommendIcon';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { WarningIcon } from '../../tempIcons/WarningIcon';\nimport { theme } from '../../theme';\nexport const SpacingMap = {\n base: theme.sizes.base,\n sm: theme.sizes[3],\n xs: theme.sizes.sm,\n};\nexport const IconSizeMap = {\n base: theme.sizes.md,\n sm: theme.sizes[5],\n xs: theme.sizes[5],\n};\nexport const IconMap = {\n default: InfoIcon,\n error: AttentionIcon,\n success: SuccessIcon,\n info: HelpIcon,\n warning: WarningIcon,\n recommend: RecommendIcon,\n};\nexport const ColourMap = {\n default: {\n primary: theme.colors.neutral.ink.base,\n background: theme.colors.neutral.grey.lightest,\n },\n error: {\n primary: theme.colors.secondary.red.base,\n background: theme.colors.secondary.red.lightest,\n },\n success: {\n primary: theme.colors.secondary.green.base,\n background: theme.colors.secondary.green.lightest,\n },\n info: {\n primary: theme.colors.secondary.blue.base,\n background: theme.colors.secondary.blue.lightest,\n },\n warning: {\n primary: theme.colors.secondary.orange.base,\n background: theme.colors.secondary.orange.lightest,\n },\n recommend: {\n primary: theme.colors.secondary.purple.dark,\n background: theme.colors.secondary.purple.lightest,\n },\n};\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const WarningIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"currentColor\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\", fill: \"none\" }),\n React.createElement(\"path\", { d: \"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\" })));\n//# sourceMappingURL=WarningIcon.js.map","import React from 'react';\nexport const RecommendIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 22 22\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M18 8L19.25 5.25L22 4L19.25 2.75L18 0L16.75 2.75L14 4L16.75 5.25L18 8Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M18 14L16.75 16.75L14 18L16.75 19.25L18 22L19.25 19.25L22 18L19.25 16.75L18 14Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M10.5 8.5L8 3L5.5 8.5L0 11L5.5 13.5L8 19L10.5 13.5L16 11L10.5 8.5ZM8.99 11.99L8 14.17L7.01 11.99L4.83 11L7.01 10.01L8 7.83L8.99 10.01L11.17 11L8.99 11.99Z\", fill: \"#694090\" })));\n//# sourceMappingURL=RecommendIcon.js.map","import 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 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","import styled from 'styled-components';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1exlfc5\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--up3fpq\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--gpqzg1\" }) `color:${theme.colors.neutral.grey.lightest};white-space:pre-line;overflow-wrap:break-word;display:inline;`;\nconst Triangle = styled.div.withConfig({ displayName: \"vui--Triangle\", componentId: \"vui--1f7lcs5\" }) `background-color:#333;height:16px;width:16px;position:absolute;transform:rotate(45deg);z-index:12;`;\nconst Tip = styled.div.withConfig({ displayName: \"vui--Tip\", componentId: \"vui--143ip1u\" }) `transition:${({ duration }) => `opacity ${duration}ms`};&.tip-enter{opacity:0;}&.tip-enter-active{opacity:1;}&[data-popper-placement^='top-start'] > #veeqo-components-triangle{left:8px;bottom:0px;}&[data-popper-placement^='top-end'] > #veeqo-components-triangle{right:8px;bottom:0px;}&[data-popper-placement^='bottom-start'] > #veeqo-components-triangle{left:8px;top:-4px;}&[data-popper-placement^='bottom-end'] > #veeqo-components-triangle{right:8px;top:-4px;}`;\nconst Wrap = styled(Container).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--e33d0s\" }) `font-size:14px;overflow:hidden;padding:16px 20px;border-radius:4px;box-shadow:0 6px 1em -0.5em rgba(0, 0, 0, 0.35);background:#333;color:#fff;z-index:10;min-width:${({ tipMinWidth }) => tipMinWidth}px;max-width:${({ tipMaxWidth }) => tipMaxWidth}px;`;\nexport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle };\n//# sourceMappingURL=styled.js.map","export var Sides;\n(function (Sides) {\n Sides[\"BOTTOM\"] = \"bottom\";\n Sides[\"TOP\"] = \"top\";\n})(Sides || (Sides = {}));\n//# sourceMappingURL=types.js.map","import React, { useState } from 'react';\nimport { usePopper } from 'react-popper';\nimport { Tip, TooltipText, Triangle, Wrap } from './styled';\nimport { Sides } from '../types';\nimport { theme } from '../../../theme';\nconst defaultConfig = {\n duration: 400,\n side: Sides.TOP,\n triangleOffset: 8,\n tipMinWidth: 60,\n tipMaxWidth: 340,\n};\nexport const TooltipPopover = ({ content, text, hoverableElement, config, reversed, withTriangle, classNames, }) => {\n const [popperElement, setPopperElement] = useState(null);\n const usedConfig = Object.assign(Object.assign({}, defaultConfig), config);\n const { duration, side, triangleOffset, tipMinWidth, tipMaxWidth } = usedConfig;\n const { styles, attributes } = usePopper(hoverableElement, popperElement, {\n placement: `${side}-${reversed ? 'end' : 'start'}`,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 10],\n },\n },\n ],\n });\n const tooltipStyles = Object.assign(Object.assign({}, styles.popper), { zIndex: theme.layers.tooltip });\n return (React.createElement(Tip, Object.assign({ className: classNames.tip, ref: setPopperElement, duration: duration, triangleOffsetSize: triangleOffset, style: tooltipStyles }, attributes.popper, { role: \"tooltip\" }),\n React.createElement(Wrap, { className: classNames.wrap, tipMinWidth: tipMinWidth, tipMaxWidth: tipMaxWidth }, content !== null && content !== void 0 ? content : React.createElement(TooltipText, null, text)),\n withTriangle && React.createElement(Triangle, { id: \"veeqo-components-triangle\", className: classNames.triangle })));\n};\n//# sourceMappingURL=TooltipPopover.js.map","import React, { useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Container, Hoverable } from './components/styled';\nimport { TooltipPopover } from './components/TooltipPopover';\nexport const Tooltip = ({ children, text, content, config, reversed = false, className, withTriangle, initialShouldShow = false, useReactPortal = true, }) => {\n const [shouldShow, setShouldShow] = useState(initialShouldShow);\n const [hoverableElement, setHoverableElement] = useState(null);\n const hasText = text ? text.trim().length > 0 : false;\n const classNames = {\n container: className && `${className} ${className}-container`,\n tip: className && `${className}-tip`,\n wrap: className && `${className}-wrap`,\n triangle: className && `${className}-triangle`,\n hoverable: className && `${className}-hoverable`,\n };\n const hasContent = !!(content || hasText);\n if (!hasContent)\n return children;\n const show = () => setShouldShow(true);\n const hide = () => setShouldShow(false);\n const tooltipMarkup = shouldShow && hasContent && (React.createElement(TooltipPopover, { classNames: classNames, hoverableElement: hoverableElement, config: config, reversed: reversed, withTriangle: withTriangle, text: text, content: content }));\n return (React.createElement(Container, { className: classNames.container },\n useReactPortal ? ReactDOM.createPortal(tooltipMarkup, document.body) : tooltipMarkup,\n React.createElement(Hoverable, { ref: setHoverableElement, className: classNames.hoverable, onMouseEnter: show, onMouseLeave: hide }, children)));\n};\n//# sourceMappingURL=Tooltip.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nconst BaseBadge = styled(BaseContainer).withConfig({ displayName: \"vui--BaseBadge\", componentId: \"vui--1l3fzu\" }) `display:inline-flex;align-items:center;vertical-align:middle;gap:4px;padding:0.35em 0.65em;font-family:${text.bodySmall.fontFamily};font-weight:${text.bodySmall.fontWeight};font-size:75%;line-height:16px;border-radius:0.75rem;border:${(props) => (props.hideBorder ? 'none' : '1px solid transparent')};cursor:default;svg{width:${sizes.base};height:${sizes.base};}`;\nexport const DefaultBadge = styled(BaseBadge).withConfig({ displayName: \"vui--DefaultBadge\", componentId: \"vui--rwc6j0\" }) `background-color:inherit;border-color:${colors.secondary.blue.base};color:${colors.secondary.blue.base};`;\nexport const PrimaryBadge = styled(BaseBadge).withConfig({ displayName: \"vui--PrimaryBadge\", componentId: \"vui--1fakkjy\" }) `border-color:${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};color:${colors.secondary.blue.base};`;\nexport const WarningBadge = styled(BaseBadge).withConfig({ displayName: \"vui--WarningBadge\", componentId: \"vui--1r2egf1\" }) `border-color:${colors.secondary.yellow.base};background-color:${colors.secondary.yellow.lightest};color:${colors.secondary.orange.dark};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { DefaultBadge, PrimaryBadge, WarningBadge } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst variantMap = {\n default: DefaultBadge,\n primary: PrimaryBadge,\n warning: WarningBadge,\n};\nexport const Badge = ({ variant = 'default', hideBorder = false, iconSlot, tooltip, className, e2eClassName, children, }) => {\n const BadgeVariant = variantMap[variant];\n return (React.createElement(Tooltip, { text: tooltip },\n React.createElement(BadgeVariant, { className: buildClassnames([className, e2eClassName]), hideBorder: hideBorder },\n iconSlot && iconSlot,\n children && React.createElement(\"span\", null, children))));\n};\n//# sourceMappingURL=Badge.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst BannerLayout = styled(BaseContainer).withConfig({ displayName: \"vui--BannerLayout\", componentId: \"vui--c6sp3u\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:20px 24px 24px 24px;border-radius:4px;${({ accentColor }) => accentColor &&\n `\n box-shadow: 0px 1px 3px rgba(55, 66, 77, 0.15), inset 4px 0px 0px ${accentColor};\n `} background-color:${({ backgroundColor }) => backgroundColor || 'white'};`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--1rdjrmx\" }) `display:flex;flex-direction:row;`;\nconst Col = styled(BaseContainer).withConfig({ displayName: \"vui--Col\", componentId: \"vui--1ttgibs\" }) `display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;`;\nexport const IconCol = styled(Col).withConfig({ displayName: \"vui--IconCol\", componentId: \"vui--1z6c5f\" }) `svg{width:${sizes.md};height:${sizes.md};color:${({ accentColor }) => accentColor};}`;\nexport const ChildContainer = styled(BaseContainer).withConfig({ displayName: \"vui--ChildContainer\", componentId: \"vui--kn3qcr\" }) `width:100%;`;\nconst HeaderCol = styled(Col).withConfig({ displayName: \"vui--HeaderCol\", componentId: \"vui--1nlkkdb\" }) `flex-grow:2;margin-right:12px;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1ioilg\" }) `position:relative;top:-2px;`;\nexport { BannerLayout as Pill, StyledText as Text, Row, Col, HeaderCol };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { colors } from '../../theme/modules/colors';\nimport { Pill, Text, Row, Col, HeaderCol, ChildContainer, IconCol } from './styled';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst accentColors = {\n help: colors.secondary.blue.base,\n info: colors.neutral.ink.base,\n error: colors.secondary.red.base,\n success: colors.secondary.green.base,\n};\n/**\n * The `Banner` component was previously called `Alert` (and similarly `Pill`).\n */\nexport const Banner = (_a) => {\n var { type = 'info', text, icon, onClose, className, header, children, backgroundColor = 'white' } = _a, props = __rest(_a, [\"type\", \"text\", \"icon\", \"onClose\", \"className\", \"header\", \"children\", \"backgroundColor\"]);\n const accentColor = accentColors[type];\n return (React.createElement(Pill, Object.assign({ accentColor: accentColor, className: className, backgroundColor: backgroundColor }, props),\n React.createElement(Row, null,\n icon && (React.createElement(IconCol, { style: { marginRight: sizes.md }, accentColor: accentColor }, icon)),\n children ? (React.createElement(ChildContainer, null, children)) : (React.createElement(React.Fragment, null,\n React.createElement(HeaderCol, null, header || React.createElement(Text, { variant: \"headingSmall\" }, text)),\n React.createElement(Col, null, onClose && (React.createElement(Button, { variant: \"flat\", \"aria-label\": \"Close\", icon: React.createElement(CrossIcon, null), onClick: onClose }))))))));\n};\n//# sourceMappingURL=Banner.js.map","import styled from 'styled-components';\nimport { text } from '../../../theme/modules/text';\nexport const BreadcrumbsSC = styled.ul.withConfig({ displayName: \"vui--BreadcrumbsSC\", componentId: \"vui--1kzms7s\" }) `list-style:none;padding:0;margin:0;display:flex;align-items:center;font-family:${text.body.fontFamily};font-weight:${text.body.fontWeight};font-size:${text.body.fontSize};line-height:${text.body.lineHeight};`;\nexport const BreadcrumbSC = styled.li.withConfig({ displayName: \"vui--BreadcrumbSC\", componentId: \"vui--17agc2w\" }) `display:flex;align-items:center;.separator{display:flex;align-items:center;padding:0px 0.4rem;}a{color:inherit;text-decoration:none;text-transform:capitalize;}a:hover{text-decoration:underline;}span{font-weight:600;text-transform:capitalize;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const RightArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.99994 11.06L9.05327 8L5.99994 4.94L6.93994 4L10.9399 8L6.93994 12L5.99994 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=RightArrowIcon.js.map","import React from 'react';\nimport { BreadcrumbSC } from './styled';\nexport const Breadcrumb = ({ children, title, LinkComponent, href }) => {\n if (LinkComponent) {\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n React.createElement(LinkComponent, { href: href }, title),\n children));\n }\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n title,\n children));\n};\n//# sourceMappingURL=Breadcrumb.js.map","import React from 'react';\nimport { BreadcrumbsSC } from './components/styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Breadcrumb } from './components/Breadcrumb';\nconst DefaultSeparator = () => (React.createElement(RightArrowIcon, { className: \"separator\", width: sizes.base, height: sizes.base }));\nconst DefaultLink = ({ children, href }) => React.createElement(\"a\", { href: href }, children);\nconst BreadcrumbText = ({ children }) => React.createElement(\"span\", null, children);\nexport const Breadcrumbs = ({ items, Separator = React.createElement(DefaultSeparator, null), LinkComponent = DefaultLink, }) => (React.createElement(BreadcrumbsSC, { className: \"breadcrumbs\" }, items.map((item, i) => (React.createElement(Breadcrumb, { key: item.title, title: item.title, href: item.pathname, LinkComponent: i !== items.length - 1 ? LinkComponent : BreadcrumbText }, items.length !== i + 1 && Separator)))));\n//# sourceMappingURL=Breadcrumbs.js.map","import { 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 { theme } from '../../../../theme';\nimport { getTextStyles } from '../utils';\nexport const headerStyles = css `& header{display:flex;align-items:center;margin:0 4px 0.5rem 4px;.react-aria-Heading{flex:1;margin:0;text-align:center;${getTextStyles(theme.text.headingSmall)}}}.react-aria-CalendarHeaderCell{padding-bottom:${theme.sizes.sm};}`;\n//# sourceMappingURL=headerStyles.js.map","import { RangeCalendar } from 'react-aria-components';\nimport styled from 'styled-components';\nimport { theme } from '../../../../theme';\nimport { buttonStyles } from './buttonStyles';\nimport { calenderCellStyles } from './calendarCellStyles';\nimport { headerStyles } from './headerStyles';\nexport const StyledRangeCalendar = styled(RangeCalendar).withConfig({ displayName: \"vui--StyledRangeCalendar\", componentId: \"vui--1nu8m35\" }) `width:fit-content;max-width:100%;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=StyledRangeCalendar.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 { theme } from '../../../../../theme';\nimport { getTextStyles } from '../../utils';\nexport const SubCalendarOption = styled.button.withConfig({ displayName: \"vui--SubCalendarOption\", componentId: \"vui--1ezfgmx\" }) `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 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","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 }) => (React.createElement(Stack, { as: \"header\", direction: \"horizontal\", alignX: \"between\", alignY: \"center\", spacing: \"0\" },\n React.createElement(Button, { slot: \"previous\" },\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, { \"aria-label\": levelMoveLabelMap[level], variant: \"flat\", icon: level === CalendarLevel.DODECADE ? React.createElement(UpArrowIcon, null) : React.createElement(DownArrowIcon, null), size: \"sm\", onClick: handleSwitchLevel })),\n React.createElement(Button, { slot: \"next\" },\n React.createElement(RightArrowIcon, null))));\n//# sourceMappingURL=CalendarHeader.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledRangeCalendar } from './components/StyledRangeCalendar';\nimport { CalendarGrid } from './components/CalendarGrid';\nimport { visibleDurationMap } from './data/constants';\nimport { useRangeCalendarState } from './data/useRangeCalendar';\nimport { CalendarHeader } from './components/CalendarHeader';\nexport const RangeCalendar = (_a) => {\n var { disabledRanges = [], disallowWeekends = false, value, onChange } = _a, props = __rest(_a, [\"disabledRanges\", \"disallowWeekends\", \"value\", \"onChange\"]);\n const { level, focusedDate, setFocusedDate, currentYear, isDateUnavailable, onFocusMonth, onFocusYear, handleSwitchLevel, } = useRangeCalendarState(value, disabledRanges, disallowWeekends);\n return (React.createElement(StyledRangeCalendar, Object.assign({ focusedValue: focusedDate, onFocusChange: setFocusedDate, isDateUnavailable: isDateUnavailable, visibleDuration: visibleDurationMap[level], value: value, onChange: onChange }, props),\n React.createElement(CalendarHeader, { currentYear: currentYear, level: level, handleSwitchLevel: handleSwitchLevel }),\n React.createElement(CalendarGrid, { level: level, currentYear: currentYear, onFocusMonth: onFocusMonth, onFocusYear: onFocusYear })));\n};\n//# sourceMappingURL=RangeCalendar.js.map","import { useState, useEffect, useCallback } from 'react';\nimport { CalendarDate, getLocalTimeZone, isWeekend, today } from '@internationalized/date';\nimport { useLocale } from 'react-aria-components';\nimport { CalendarLevel } from '../types';\nexport const useRangeCalendarState = (initialValue, disabledRanges, disallowWeekends) => {\n const [level, setLevel] = useState(CalendarLevel.MONTH);\n const [focusedDate, setFocusedDate] = useState((initialValue === null || initialValue === void 0 ? void 0 : initialValue.start) || today(getLocalTimeZone()));\n const { locale } = useLocale();\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 const isDateUnavailable = useCallback((date) => (disallowWeekends ? isWeekend(date, locale) : false) ||\n disabledRanges.some((interval) => date.compare(interval[0]) >= 0 && date.compare(interval[1]) <= 0), [disabledRanges, disallowWeekends, locale]);\n useEffect(() => {\n 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 isDateUnavailable,\n onFocusMonth,\n onFocusYear,\n handleSwitchLevel,\n };\n};\n//# sourceMappingURL=useRangeCalendar.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`, icon: copied ? (React.createElement(SuccessIcon, Object.assign({ color: colors.secondary.green.base }, iconSizes))) : (React.createElement(ClipboardIcon, Object.assign({ color: colors.secondary.blue.base }, iconSizes))), onClick: handleCopy })));\n};\n//# sourceMappingURL=CopyToClipboard.js.map","import styled from 'styled-components';\nimport { Stack } from '../../components/Stack';\nimport { Tooltip } from '../../components/Tooltip';\nimport { theme } from '../../theme';\nexport const Label = styled.label.withConfig({ displayName: \"vui--Label\", componentId: \"vui--qydg5r\" }) `display:block;font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};color:${theme.text.inputLabel.color};`;\nexport const Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--1p3i1v3\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--9vxkaw\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nexport const RootStack = styled(Stack).withConfig({ displayName: \"vui--RootStack\", componentId: \"vui--10dmq2i\" }) `position:relative;`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1haf85r\" }) `display:block;&-hoverable{display:flex;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { Stack } from '../../components/Stack';\nimport { RootStack, Label, Hint, Error, BlockTooltip } from './styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { useId } from '../../hooks/useId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useId({ id: otherProps === null || otherProps === void 0 ? void 0 : otherProps.id, prefix: Component.name });\n if (!label)\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", { style: { marginBottom: theme.sizes.xs } },\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { id: `${componentId}-label`, htmlFor: componentId }, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { width: theme.sizes.base, height: theme.sizes.base, color: theme.colors.neutral.ink.light })))),\n hint && React.createElement(Hint, null, hint)),\n React.createElement(Component, Object.assign({ id: componentId, hasError: !!error }, otherProps)),\n error && React.createElement(Error, null, error)));\n};\n//# sourceMappingURL=withLabels.js.map","import styled from 'styled-components';\nimport { Group } from 'react-aria-components';\nimport { theme } from '../../theme';\nimport { getTextStyles } from '../RangeCalendar/components/utils';\nexport const DateRangeGroup = styled(Group).withConfig({ displayName: \"vui--DateRangeGroup\", componentId: \"vui--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.lightest};}.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-invalid]{color:${theme.colors.secondary.red.base};}&[data-focused]{color:white;background-color:${theme.colors.secondary.blue.dark};&[data-invalid]{background-color:${theme.colors.secondary.red.lightest};}}&[data-invalid]{font-weight:bold;color:${theme.colors.secondary.red.dark};}&:focus-visible{outline:none;}}}`;\n//# sourceMappingURL=styled.js.map","import { withLabels } from '../../hoc';\nimport { DateInputField as BasicDateInputField } from './DateInputField';\nexport const DateInputField = withLabels(BasicDateInputField);\n//# sourceMappingURL=index.js.map","import React from 'react';\nimport { DateField, DateInput, DateSegment } from 'react-aria-components';\nimport { DateRangeGroup } from './styled';\nimport { Button } from '../Button';\nimport { Stack } from '../Stack';\nexport const DateInputField = ({ id, className, style, shouldForceLeadingZeros = true, rightAction, minValue, maxvalue, startValue, endValue, isDisabled, isReadOnly, isRangeInput = false, hasError, 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, 'aria-labelledby': ariaLabelledBy, onChange, onChangeStartDate, onChangeEndDate, }) => (React.createElement(Stack, { direction: \"horizontal\", alignX: \"stretch\", alignY: \"center\", spacing: 0 },\n React.createElement(DateRangeGroup, { style: style, className: className, \"aria-label\": ariaLabel, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"$hasError\": hasError, isDisabled: isDisabled },\n React.createElement(Stack, { spacing: 0, direction: \"horizontal\", alignX: \"center\" },\n React.createElement(DateField, { shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: isRangeInput ? onChangeStartDate : onChange, value: startValue, minValue: minValue, maxValue: maxvalue, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": isRangeInput ? 'start date' : 'date', isDisabled: isDisabled, isReadOnly: isReadOnly },\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, { shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: onChangeEndDate, value: endValue, minValue: minValue, maxValue: maxvalue, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": \"end date\", isDisabled: isDisabled, isReadOnly: isReadOnly },\n React.createElement(DateInput, { slot: \"end\" }, (segment) => React.createElement(DateSegment, { segment: segment })))))),\n rightAction && (React.createElement(Button, Object.assign({ variant: \"flat\", style: {\n padding: '2px',\n height: 'unset',\n } }, rightAction))))));\n//# sourceMappingURL=DateInputField.js.map","import styled from 'styled-components';\nexport const SelectInput = styled.select.withConfig({ displayName: \"vui--SelectInput\", componentId: \"vui--1v4mu6a\" }) `box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;padding:0 2.5rem 0 0.5rem;border-radius:4px;background-color:white;border:1px solid #959fa8;color:#1b2126;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M4 6L8 10L12 6H4Z' fill='currentColor' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 0.5em top 50%,0 0;${({ sizeVariant }) => {\n let height = '40px';\n let fontSize = '14px';\n if (sizeVariant === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} &:focus{border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 4px #f7bcbc;outline:0;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { SelectInput } from './styled';\nimport { withLabels } from '../../hoc';\nexport const Select = withLabels(forwardRef((_a, ref) => {\n var { className, options, value, onChange, size, disabled, hasError } = _a, otherProps = __rest(_a, [\"className\", \"options\", \"value\", \"onChange\", \"size\", \"disabled\", \"hasError\"]);\n const handleChange = useCallback((e) => {\n if (!onChange)\n return;\n onChange(e.currentTarget.value);\n }, [onChange]);\n return (React.createElement(SelectInput, Object.assign({ className: className, sizeVariant: size, value: value !== null && value !== void 0 ? value : undefined, onChange: handleChange, disabled: disabled, hasError: hasError, ref: ref }, otherProps), !!options &&\n options.map((option) => (React.createElement(\"option\", { key: option.label, value: option.value, disabled: option.disabled, hidden: option.hidden }, option.label)))));\n}));\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Slider = styled.span.withConfig({ displayName: \"vui--Slider\", componentId: \"vui--x03mdi\" }) `content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:18px;background-color:#cdd1d5;-webkit-transition:0.3s;transition:0.3s;&:after{content:'';position:absolute;border-radius:50%;background-color:${({ disabled, switched }) => disabled && switched ? theme.colors.secondary.blue.lightest : 'white'};-webkit-transition:0.3s;transition:0.3s;}`;\nconst Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1ccelw2\" }) `width:100%;height:100%;border-radius:${theme.radius.base};z-index:2;margin:0;cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};&:focus-visible + ${Slider}{box-shadow:0 0 0 4px ${theme.colors.brand.blue.light};}&:checked + ${Slider}{background-color:#0079d1;}&:disabled + ${Slider}{background-color:${theme.colors.neutral.grey.base};}&:checked:disabled + ${Slider}{background-color:${theme.colors.secondary.blue.light};}`;\nconst Switch = styled.span.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--13yy1uj\" }) `display:flex;position:relative;height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};z-index:1;input{position:absolute;opacity:0;}${Slider}:after{height:${({ small }) => (small ? '22px' : '28px')};width:${({ small }) => (small ? '22px' : '28px')};left:${({ small }) => (small ? '3px' : '4px')};bottom:${({ small }) => (small ? '3px' : '4px')};}${Input}:checked + ${Slider}{&:after,svg{-webkit-transform:translateX(${({ small }) => (small ? '28px' : '36px')});-ms-transform:translateX(${({ small }) => (small ? '28px' : '36px')});transform:translateX(${({ small }) => (small ? '28px' : '36px')});}}`;\nconst Wrapper = styled(BaseContainer).withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--69792q\" }) `display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Input, Slider, Switch, Wrapper } from './styled';\nimport { Choice } from '../Choice';\n/**\n * A toggle switch component, use-cases should provide a label, wrap with a custom one or pass in an aria-label.\n */\nexport const Toggle = forwardRef((_a, ref) => {\n var { id = 'testid', className, name, switched, small, onClick = () => { }, disabled, ariaLabel, inputPosition = 'right' } = _a, choiceProps = __rest(_a, [\"id\", \"className\", \"name\", \"switched\", \"small\", \"onClick\", \"disabled\", \"ariaLabel\", \"inputPosition\"]);\n return (React.createElement(Choice, Object.assign({ id: id, inputPosition: inputPosition }, choiceProps),\n React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, className: className },\n React.createElement(Input, { id: id, role: \"switch\", type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: (e) => (disabled ? undefined : onClick(e)), disabled: disabled, ref: ref }),\n React.createElement(Slider, { switched: switched, disabled: disabled })))));\n});\n//# sourceMappingURL=Toggle.js.map","export const DEFAULT_PREVIOUS_PERIOD_OPTIONS = [\n { label: 'Previous Day', value: 'PREVIOUS_DAY' },\n { label: 'Previous Week', value: 'PREVIOUS_WEEK' },\n { label: 'Previous Month', value: 'PREVIOUS_MONTH' },\n { label: 'Previous Year', value: 'PREVIOUS_YEAR' },\n];\n//# sourceMappingURL=constants.js.map","import React, { useEffect, useState } from 'react';\nimport { Toggle } from '../../Toggle';\nimport { Text } from '../../Text';\nimport { Select } from '../../Select';\nimport { theme } from '../../../theme';\nimport { DEFAULT_PREVIOUS_PERIOD_OPTIONS } from './constants';\nexport const ComparePreviousPeriod = ({ options = DEFAULT_PREVIOUS_PERIOD_OPTIONS, selectedPreviousPeriod, setSelectedPreviousPeriod, }) => {\n const [showCompareSelect, setShowCompareSelect] = useState(!!selectedPreviousPeriod);\n const findAndSelectOption = (newValue) => {\n const newOption = options.find(({ value }) => value === newValue);\n if (newOption)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(newOption);\n };\n const toggleShowSelect = () => {\n // When toggled off, unselect show previous period.\n if (showCompareSelect)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(null);\n setShowCompareSelect(!showCompareSelect);\n };\n // If no option is currently selected, we set to the first option provided.\n useEffect(() => {\n if (!selectedPreviousPeriod)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(options[0]);\n }, [selectedPreviousPeriod, setSelectedPreviousPeriod, options]);\n return (React.createElement(React.Fragment, null,\n React.createElement(Text, { variant: \"inputLabel\", style: {\n display: 'flex',\n alignItems: 'center',\n gap: theme.sizes.sm,\n whiteSpace: 'nowrap',\n } },\n React.createElement(Toggle, { small: true, switched: showCompareSelect, onClick: toggleShowSelect }),\n \"Compare previous period\"),\n showCompareSelect && (React.createElement(Select, { \"aria-label\": \"Period to compare against\", options: options, \n // To avoid screen jumping (before useEffect kicks in, default value to first option)\n value: (selectedPreviousPeriod === null || selectedPreviousPeriod === void 0 ? void 0 : selectedPreviousPeriod.value) || options[0].value, onChange: findAndSelectOption }))));\n};\n//# sourceMappingURL=ComparePreviousPeriod.js.map","import { CalendarDate, endOfMonth, getLocalTimeZone, now, startOfMonth, startOfWeek, startOfYear, } from '@internationalized/date';\nexport var DateRanges;\n(function (DateRanges) {\n DateRanges[\"TODAY\"] = \"TODAY\";\n DateRanges[\"YESTERDAY\"] = \"YESTERDAY\";\n DateRanges[\"LAST_7_DAYS\"] = \"LAST_7_DAYS\";\n DateRanges[\"LAST_30_DAYS\"] = \"LAST_30_DAYS\";\n DateRanges[\"LAST_90_DAYS\"] = \"LAST_90_DAYS\";\n DateRanges[\"LAST_MONTH\"] = \"LAST_MONTH\";\n DateRanges[\"LAST_12_MONTHS\"] = \"LAST_12_MONTHS\";\n DateRanges[\"WEEK_TO_DATE\"] = \"WEEK_TO_DATE\";\n DateRanges[\"MONTH_TO_DATE\"] = \"MONTH_TO_DATE\";\n DateRanges[\"YEAR_TO_DATE\"] = \"YEAR_TO_DATE\";\n})(DateRanges || (DateRanges = {}));\nexport const timeRangeToDateRange = (range) => {\n const { start, end } = range;\n const startDate = new CalendarDate(start.year, start.month, start.day);\n const endDate = new CalendarDate(end.year, end.month, end.day);\n return { start: startDate, end: endDate };\n};\nexport const getDateRange = (option) => {\n // Getting today every time function is called. Don't want this to be stale\n const today = now(getLocalTimeZone());\n let dateRange;\n switch (option) {\n case DateRanges.TODAY:\n dateRange = { start: today, end: today };\n break;\n case DateRanges.YESTERDAY:\n dateRange = {\n start: today.subtract({ days: 1 }),\n end: today.subtract({ days: 1 }),\n };\n break;\n case DateRanges.LAST_7_DAYS:\n dateRange = {\n start: today.subtract({ days: 7 }),\n end: today,\n };\n break;\n case DateRanges.LAST_30_DAYS:\n dateRange = {\n start: today.subtract({ days: 30 }),\n end: today,\n };\n break;\n case DateRanges.LAST_90_DAYS:\n dateRange = { start: today.subtract({ days: 90 }), end: today };\n break;\n case DateRanges.LAST_MONTH: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = { start: lastMonth, end: endOfMonth(lastMonth) };\n break;\n }\n case DateRanges.LAST_12_MONTHS: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = {\n start: startOfMonth(lastMonth).subtract({ months: 12 }),\n end: endOfMonth(lastMonth),\n };\n break;\n }\n case DateRanges.WEEK_TO_DATE:\n dateRange = { start: startOfWeek(today, navigator.language), end: today };\n break;\n case DateRanges.MONTH_TO_DATE:\n dateRange = { start: startOfMonth(today), end: today };\n break;\n case DateRanges.YEAR_TO_DATE:\n dateRange = { start: startOfYear(today), end: today };\n break;\n default:\n return null;\n }\n return timeRangeToDateRange(dateRange);\n};\nexport const DATE_RANGE_OPTIONS = [\n { label: 'Custom', value: 'CUSTOM', disabled: true },\n { label: 'Today', value: DateRanges.TODAY },\n { label: 'Yesterday', value: DateRanges.YESTERDAY },\n { label: 'Last 7 Days', value: DateRanges.LAST_7_DAYS },\n { label: 'Last 30 Days', value: DateRanges.LAST_30_DAYS },\n { label: 'Last 90 Days', value: DateRanges.LAST_90_DAYS },\n { label: 'Last Month', value: DateRanges.LAST_MONTH },\n { label: 'Last 12 Months', value: DateRanges.LAST_12_MONTHS },\n { label: 'Week to Date', value: DateRanges.WEEK_TO_DATE },\n { label: 'Month to Date', value: DateRanges.MONTH_TO_DATE },\n { label: 'Year to Date', value: DateRanges.YEAR_TO_DATE },\n];\nexport const checkForMatchingPreset = (selectedRange) => DATE_RANGE_OPTIONS.reduce((match, option) => {\n if (option.hidden || match)\n return match; // Skip hidden options or if a match is already found\n const optionDateRange = getDateRange(option.value);\n if (!optionDateRange)\n return match; // Skip when no match.\n const { start: optionStart, end: optionEnd } = optionDateRange;\n if (selectedRange.start.compare(optionStart) === 0 &&\n selectedRange.end.compare(optionEnd) === 0) {\n return option;\n }\n return match;\n}, undefined);\nexport const DEFAULT_SELECTION = DateRanges.LAST_30_DAYS;\nexport const DEFAULT_RANGE = getDateRange(DEFAULT_SELECTION);\nexport const DEFAULT_PRESET = DATE_RANGE_OPTIONS.find(({ value }) => value === DEFAULT_SELECTION);\n//# sourceMappingURL=constants.js.map","export const checkIfDateRangeInvalid = ({ disabledRanges, selectedRange, }) => {\n if (!selectedRange || !disabledRanges || disabledRanges.length === 0)\n return false;\n const { start: presortStart, end: presortEnd } = selectedRange;\n const [start, end] = [presortStart, presortEnd].sort();\n return disabledRanges.some(([disabledStart, disabledEnd]) => (start >= disabledStart && start <= disabledEnd) || // Case 1: selectedRange.start is within the disabledRange\n (end >= disabledStart && end <= disabledEnd) || // Case 2: selectedRange.end is within the disabledRange\n (start <= disabledStart && end >= disabledEnd));\n};\n//# sourceMappingURL=utils.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Divider = styled.div.withConfig({ displayName: \"vui--Divider\", componentId: \"vui--ssvmxc\" }) `margin:0 -${theme.sizes.base};border-top:1px solid ${theme.colors.neutral.grey.base};`;\n//# sourceMappingURL=Divider.js.map","export function alignmentToFlex(align) {\n switch (align) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n}\n//# sourceMappingURL=alignmentToFlex.js.map","export function parseWidth(width, fallback) {\n switch (typeof width) {\n case 'string':\n return width;\n case 'number':\n return `${width}px`;\n case 'object':\n return `minmax(${parseWidth(width.min, 'max-content')}, ${parseWidth(width.max)})`;\n default:\n return fallback || '1fr';\n }\n}\n//# sourceMappingURL=parseWidth.js.map","import { theme } from '../../../theme';\nimport { parseWidth } from './parseWidth';\nimport { sumAllAfterIndex, sumAllBeforeIndex } from './sumAll';\nexport function generateTableCss({ pinnedLeft, pinnedRight, cellWidths, scrollPosition, visible, stripingMode, }) {\n const pinnedLeftStyles = pinnedLeft.map((_, index) => `\n th:nth-child(${index + 1}),\n td:nth-child(${index + 1}) {\n position: sticky;\n left: ${cellWidths ? sumAllBeforeIndex(cellWidths, index + 1) : 0}px;\n z-index: 2;\n }\n `);\n const pinnedRightStyles = pinnedRight.map((_, index) => `\n th:nth-last-child(${index + 1}),\n td:nth-last-child(${index + 1}) {\n position: sticky;\n right: ${cellWidths ? sumAllAfterIndex(cellWidths, cellWidths.length - index) : 0}px;\n }\n `);\n const isLeftShadowVisible = scrollPosition !== 'start' && scrollPosition !== 'none';\n const leftShadow = `\n th:nth-child(${pinnedLeft.length})::after,\n td:nth-child(${pinnedLeft.length})::after {\n position: absolute;\n transform: translate(100%);\n top: 0;\n right: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isLeftShadowVisible ? 'inset 10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const isRightShadowVisible = scrollPosition !== 'end' && scrollPosition !== 'none';\n const rightShadow = `\n th:nth-last-child(${pinnedRight.length})::after,\n td:nth-last-child(${pinnedRight.length})::after {\n position: absolute;\n transform: translate(-100%);\n top: 0;\n left: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isRightShadowVisible ? 'inset -10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const stripingRow = `\n tr:nth-child(odd) > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tr + tr > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n const stripingNested = `\n tbody:nth-of-type(odd) > tr > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tbody + tbody > tr:first-child > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n return `\n grid-template-columns: ${visible.map((col) => parseWidth(col.width)).join(' ')};\n\n th::after, td::after {\n transition: box-shadow .3s;\n }\n\n ${pinnedLeft.length > 0 ? pinnedLeftStyles : ''}\n ${pinnedRight.length > 0 ? pinnedRightStyles : ''}\n\n ${leftShadow}\n ${rightShadow}\n\n ${stripingMode === 'nested' ? stripingNested : stripingRow}\n `;\n}\n//# sourceMappingURL=generateTableCss.js.map","export function sumAllBeforeIndex(array, index) {\n return array.slice(0, index - 1).reduce((acc, val) => acc + val, 0);\n}\nexport function sumAllAfterIndex(array, index) {\n return array.slice(index).reduce((acc, val) => acc + val, 0);\n}\n//# sourceMappingURL=sumAll.js.map","/* Sorting */\nexport var SortDirection;\n(function (SortDirection) {\n SortDirection[\"ascending\"] = \"ascending\";\n SortDirection[\"descending\"] = \"descending\";\n})(SortDirection || (SortDirection = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const DoubleArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DoubleArrowIconIcon.js.map","import React from 'react';\nexport const ArrowUpIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M13 20V7.83L18.59 13.42L20 12L12 4L4 12L5.41 13.41L11 7.83L11 20H13Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowUpIcon.js.map","import React from 'react';\nexport const ArrowDownIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11 4V16.17L5.41 10.58L4 12L12 20L20 12L18.59 10.59L13 16.17L13 4H11Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowDownIcon.js.map","import React from 'react';\nimport { theme } from '../../../theme';\nimport { SortDirection } from '../types';\nimport { DoubleArrowIcon } from '../../../tempIcons/DoubleArrowIconIcon';\nimport { ArrowUpIcon } from '../../../tempIcons/ArrowUpIcon';\nimport { ArrowDownIcon } from '../../../tempIcons/ArrowDownIcon';\nexport const GetSortIcon = ({ sortState, columnId, size }) => {\n if (!sortState || sortState.columnId !== columnId)\n return React.createElement(DoubleArrowIcon, { size: size });\n if (sortState.direction === SortDirection.ascending) {\n return React.createElement(ArrowUpIcon, { color: theme.colors.neutral.ink.dark, size: size });\n }\n return React.createElement(ArrowDownIcon, { color: theme.colors.neutral.ink.dark, size: size });\n};\n//# sourceMappingURL=GetSortIcon.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nexport function useCellWidths(tableRef, containerRef) {\n const [cellWidths, setCellWidths] = useState([]);\n const updateCellWidths = () => {\n if (!tableRef.current)\n return;\n const cells = tableRef.current.querySelectorAll('tbody tr:first-child td');\n const widths = Array.from(cells).map((cell) => cell.getBoundingClientRect().width);\n setCellWidths(widths);\n };\n useEffect(() => {\n updateCellWidths();\n }, [tableRef.current]);\n // Update cell widths when container is resized.\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateCellWidths, 50); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n // eslint-disable-next-line consistent-return\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return cellWidths;\n}\n//# sourceMappingURL=useCellWidths.js.map","class CustomEvent extends Event {\n constructor(eventType, data) {\n super(eventType, { bubbles: true, cancelable: true });\n this.data = data;\n }\n}\nexport const customEventEmitter = (eventType, data) => {\n const evt = new CustomEvent(eventType, data);\n document.dispatchEvent(evt);\n};\n//# sourceMappingURL=customEventEmitter.js.map","import { useEffect, useState } from 'react';\nimport { customEventEmitter } from '../utils/customEventEmitter';\nexport const useColumnWidths = ({ tableRef, columns, columnIds, }) => {\n const getColumnWidths = (cols) => cols.reduce((obj, item) => {\n // eslint-disable-next-line no-param-reassign\n obj[item.id] = item.width;\n return obj;\n }, {});\n const [columnWidths, setColumnWidths] = useState(getColumnWidths(columns));\n const setColumnWidth = ({ columnId, width }) => {\n const calculateWidth = (column, lastColumn) => {\n var _a, _b, _c;\n if (lastColumn)\n return columnWidths[column.id] || column.width;\n const val = columnWidths[column.id] ||\n column.width ||\n ((_c = (_b = (_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`th[data-columnid=\"${column.id}\"]`)) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect()) === null || _c === void 0 ? void 0 : _c.width) ||\n undefined;\n return val;\n };\n const newColumnWidths = Object.assign({}, columnWidths);\n columns.forEach((column, i) => {\n const lastColumn = i === columns.length - 1;\n const newWidth = column.id === columnId ? width : calculateWidth(column, lastColumn);\n newColumnWidths[column.id] = newWidth;\n });\n setColumnWidths(newColumnWidths);\n customEventEmitter('columnWidthUpdated', {\n tableRef,\n // eslint-disable-next-line @typescript-eslint/no-shadow\n columnWidths: newColumnWidths,\n });\n };\n useEffect(() => {\n const widths = getColumnWidths(columns);\n const newColumnWidths = Object.assign({}, columnWidths);\n Object.keys(widths).forEach((key) => {\n if (typeof columnWidths[key] === undefined) {\n newColumnWidths[key] = widths[key];\n }\n });\n setColumnWidths(newColumnWidths);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(columnIds)]);\n return {\n setColumnWidth,\n columnWidths,\n };\n};\n//# sourceMappingURL=useColumnWidths.js.map","export function getColumnWidth(columnId, columnWidths, columns) {\n if (columnWidths[columnId]) {\n return columnWidths[columnId];\n }\n const column = columns.find((col) => col.id === columnId);\n return column === null || column === void 0 ? void 0 : column.width;\n}\n//# sourceMappingURL=getColumnWidth.js.map","import { useCallback } from 'react';\nimport { useColumnWidths } from './useColumnWidths';\nimport { getColumnWidth } from '../utils/getColumnWidth';\nexport function useColumns(columns, tableRef, onResizeColumns) {\n const { columnWidths, setColumnWidth: originalSetColumnWidth } = useColumnWidths({\n tableRef,\n columns,\n columnIds: columns.map(({ id }) => id),\n });\n const newColumns = columns.map((column) => (Object.assign(Object.assign({}, column), { width: columnWidths[column.id] || column.width })));\n const setColumnWidth = useCallback(({ columnId, width }) => {\n originalSetColumnWidth({ columnId, width });\n if (onResizeColumns) {\n const updatedColumnWidths = columns.map(({ id }) => ({\n id,\n columnWidth: id === columnId ? width : getColumnWidth(id, columnWidths, columns),\n }));\n onResizeColumns(updatedColumnWidths);\n }\n }, [originalSetColumnWidth, onResizeColumns, columns, columnWidths]);\n const visible = newColumns.filter((col) => col.hidden !== true);\n const pinnedLeft = visible.filter((col) => col.pinned === 'left');\n const pinnedRight = visible.filter((col) => col.pinned === 'right');\n const notPinned = visible.filter((col) => col.pinned === 'none' || !col.pinned);\n return {\n visible: [...pinnedLeft, ...notPinned, ...pinnedRight],\n pinnedLeft,\n pinnedRight,\n setColumnWidth,\n };\n}\n//# sourceMappingURL=useColumns.js.map","import { useEffect } from 'react';\nexport function useDragToScroll(targetRef) {\n useEffect(() => {\n if (!targetRef.current)\n return;\n let isDragging = false;\n const scrollTarget = targetRef.current;\n const position = {\n left: 0,\n x: 0,\n };\n const mouseMoveHandler = (e) => {\n if (!scrollTarget)\n return;\n const dx = e.clientX - position.x;\n scrollTarget.scrollLeft = position.left - dx;\n if (!isDragging) {\n scrollTarget.style.cursor = 'grabbing';\n scrollTarget.style.userSelect = 'none';\n }\n isDragging = true;\n };\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n isDragging = false;\n if (!scrollTarget)\n return;\n scrollTarget.style.removeProperty('cursor');\n scrollTarget.style.removeProperty('user-select');\n };\n const mouseDownHandler = (e) => {\n if (!scrollTarget)\n return;\n position.left = scrollTarget.scrollLeft;\n position.x = e.clientX;\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n };\n scrollTarget.addEventListener('mousedown', mouseDownHandler);\n /* eslint-disable-next-line consistent-return */\n return () => scrollTarget === null || scrollTarget === void 0 ? void 0 : scrollTarget.removeEventListener('mousedown', mouseDownHandler);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [targetRef.current]);\n}\n//# sourceMappingURL=useDragToScroll.js.map","/* eslint-disable consistent-return */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport throttle from 'lodash.throttle';\nexport function useScrollPosition(containerRef) {\n const [scrollPosition, setScrollPosition] = useState('start');\n const updateScrollPosition = () => {\n if (!containerRef.current)\n return;\n const { width } = containerRef.current.getBoundingClientRect();\n const { scrollLeft, scrollWidth } = containerRef.current;\n if (scrollWidth < width) {\n setScrollPosition('none');\n return;\n }\n if (scrollLeft === 0) {\n setScrollPosition('start');\n return;\n }\n if (scrollLeft + width >= scrollWidth) {\n setScrollPosition('end');\n return;\n }\n setScrollPosition('middle');\n };\n useEffect(() => {\n if (!containerRef.current)\n return;\n containerRef.current.addEventListener('scroll', updateScrollPosition);\n return () => { var _a; return (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateScrollPosition); };\n }, [containerRef.current]);\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateScrollPosition, 50);\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return { scrollPosition, containerRef };\n}\n//# sourceMappingURL=useScrollPosition.js.map","export const defaultCellSpacing = 3;\nexport const headerCellHeight = '56px';\nexport const footerCellHeight = '56px';\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, headerCellHeight } from '../constants';\nexport const Header = styled.th.withConfig({ displayName: \"vui--Header\", componentId: \"vui--12e6ib8\" }) `height:${headerCellHeight};position:relative;display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};z-index:${({ zIndex = 0 }) => zIndex};background-color:white;padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};border-bottom:1px solid ${theme.colors.neutral.grey.base};grid-column-end:${({ span = 1 }) => `span ${span}`};`;\n//# sourceMappingURL=Header.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Header } from './Header';\nexport function SelectionHeader(_a) {\n var { selected, indeterminate, onChange, selectionMode } = _a, headerProps = __rest(_a, [\"selected\", \"indeterminate\", \"onChange\", \"selectionMode\"]);\n if (selectionMode === 'single')\n return React.createElement(Header, Object.assign({}, headerProps));\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Checkbox, { checked: selected, indeterminate: indeterminate, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, footerCellHeight } from '../constants';\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--1oz46st\" }) `display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-bottom:var(--density);padding-top:var(--density);padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};color:${theme.text.bodySmall.color};font-family:${theme.text.bodySmall.fontFamily};font-size:${theme.text.bodySmall.fontSize};font-style:${theme.text.bodySmall.fontStyle};font-weight:${theme.text.bodySmall.fontWeight};line-height:${theme.text.bodySmall.lineHeight};grid-column-end:${({ span = 1 }) => `span ${span}`};tfoot &{min-height:${footerCellHeight};border-top:1px solid ${theme.colors.secondary.blue.base};background-color:${theme.colors.neutral.grey.lightest};}`;\n//# sourceMappingURL=Cell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Radio } from '../../Radio';\nimport { Cell } from './Cell';\nexport function SelectionCell(_a) {\n var { selected, rowId, onChange, selectionMode, disabled } = _a, cellProps = __rest(_a, [\"selected\", \"rowId\", \"onChange\", \"selectionMode\", \"disabled\"]);\n if (selectionMode === 'single') {\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Radio, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n }\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Checkbox, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionCell.js.map","/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { SelectionHeader } from '../components/SelectionHeader';\nimport { SelectionCell } from '../components/SelectionCell';\nconst emptySelectionState = [[], () => { }];\nexport function useSelection({ selectionMode = 'multiple', selectionState, enabledRowIds, }) {\n const selectionEnabled = !!selectionState;\n const [selectedRowIds, setSelectedRowIds] = selectionState || emptySelectionState;\n // TODO: Memoise this\n const setSelected = (selected, rowId) => {\n if (rowId === undefined || rowId === null)\n return; // Can't use falsey, must allow number 0\n if (selected && selectionMode === 'single') {\n // Replace selectedRowIds with only the current rowId\n setSelectedRowIds([rowId]);\n return;\n }\n if (selected) {\n // Add rowId to selectedRowIds\n if (selectedRowIds.includes(rowId))\n return;\n const rowIds = [...selectedRowIds, rowId];\n setSelectedRowIds(rowIds);\n }\n else {\n // Remove rowIds from selectedRowIds\n const index = selectedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...selectedRowIds];\n rowIds.splice(index, 1);\n setSelectedRowIds(rowIds);\n }\n };\n // TODO: Memoise this\n const toggleAllSelected = () => {\n if (selectedRowIds.length === enabledRowIds.length) {\n setSelectedRowIds([]);\n return;\n }\n setSelectedRowIds(enabledRowIds);\n };\n // TODO: Memoise this\n const selectionColumn = {\n id: 'selection',\n title: 'Selection',\n width: '40px',\n align: 'center',\n pinned: 'left',\n renderHeader: (column, headerProps) => (React.createElement(SelectionHeader, Object.assign({}, headerProps, { selected: selectedRowIds.length === enabledRowIds.length, indeterminate: selectedRowIds.length > 0 && selectedRowIds.length < enabledRowIds.length, onChange: toggleAllSelected, selectionMode: selectionMode }))),\n renderCell: (row, cellProps, actions, rowState) => (React.createElement(SelectionCell, Object.assign({}, cellProps, { rowId: row.id, selected: rowState.selected, onChange: actions.setSelected, selectionMode: selectionMode, disabled: rowState.disabled }))),\n };\n return {\n selectionEnabled,\n selectedRowIds,\n selectionColumn,\n setSelected,\n };\n}\n//# sourceMappingURL=useSelection.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const SortIndicator = styled.div.withConfig({ displayName: \"vui--SortIndicator\", componentId: \"vui--o7masx\" }) `width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:white;color:${theme.colors.neutral.ink.lightest};`;\nexport const HeaderContent = styled.span.withConfig({ displayName: \"vui--HeaderContent\", componentId: \"vui--vlccds\" }) `display:flex;height:28px;align-items:center;gap:4px;white-space:nowrap;color:${theme.text.headingTable.color};font-family:${theme.text.headingTable.fontFamily};font-size:${theme.text.headingTable.fontSize};font-style:${theme.text.headingTable.fontStyle};font-weight:${theme.text.headingTable.fontWeight};line-height:${theme.text.headingTable.lineHeight};`;\nexport const ClickableHeaderContent = styled(HeaderContent).attrs(() => ({\n as: 'button',\n type: 'button',\n})).withConfig({ displayName: \"vui--ClickableHeaderContent\", componentId: \"vui--xbox8h\" }) `appearance:none;padding:0;border:0;border-radius:4px;background-color:transparent;&:not(:disabled):hover{cursor:pointer;}&:hover ${SortIndicator}{background-color:${theme.colors.neutral.grey.light};color:${theme.colors.neutral.ink.base};}&:focus-visible{outline:0;box-shadow:0px 0px 0px 2px ${theme.colors.secondary.blue.light};}`;\n//# sourceMappingURL=ColumnHeader.js.map","import React, { createRef } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const ResizerBar = styled.div.withConfig({ displayName: \"vui--ResizerBar\", componentId: \"vui--115ilx\" }) `position:absolute;right:0;top:37.5%;width:1px;background:${theme.colors.neutral.grey.dark};min-height:25%;cursor:col-resize;&::before{content:'';position:absolute;top:-150%;left:0;width:12px;min-height:400%;z-index:1;transform:translateX(-6px);}`;\nexport const ColumnDivider = ({ columnId, setColumnWidth, 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.log('DataGrid::renderHeader::handleClickSort - sortState is not defined');\n return;\n }\n const nextSortState = getNextSortState({ sortState, columnId: column.id });\n if (!onChangeSort) {\n console.log('DataGrid::renderHeader::handleClickSort - onChangeSort is not defined');\n return;\n }\n onChangeSort(nextSortState);\n };\n const ColumnHeaderContent = column.sortable ? ClickableHeaderContent : HeaderContent;\n const columnHeaderProps = column.sortable ? { onClick: handleClickSort } : {};\n return (React.createElement(Header, Object.assign({}, headerProps, { zIndex: 3 }),\n React.createElement(Tooltip, { text: column.tooltip },\n React.createElement(ColumnHeaderContent, Object.assign({}, columnHeaderProps, { className: \"headerContent\" }),\n column.icon && column.icon,\n column.title && React.createElement(\"span\", null, column.title),\n column.sortable && (React.createElement(SortIndicator, null,\n React.createElement(GetSortIcon, { sortState: sortState, columnId: column.id, size: 5 }))))),\n resizeableColumns && columnI < columnCount - 1 && (React.createElement(ColumnDivider, { columnId: column.id, setColumnWidth: setColumnWidth, 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';\nexport function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths, tableCss, }) {\n const stickyContainerRef = useRef(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const updateContainerDimensions = () => {\n var _a;\n const targetRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const newRect = {\n left: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.left) || 0,\n width: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.width) || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n const updateContainerScrollPosition = () => {\n var _a;\n if (!containerRef.current)\n return;\n const xScrollOffset = containerRef.current.scrollLeft;\n (_a = stickyContainerRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo(xScrollOffset, 0);\n };\n // Configure intersection observer to toggle sticky header on/off\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const options = {\n threshold: 1.0,\n };\n const intersectionCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n // Calculate sticky header position and size to match table container\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n // Update dimensions when container element is resized\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateContainerDimensions, 33); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n // Sync container scrolling\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n useEffect(() => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n // Render sticky header\n if (!isVisible)\n return null;\n const containerStyle = Object.assign(Object.assign({}, containerRect), { height: headerCellHeight, position: 'fixed', zIndex: 5, overflowX: 'hidden', overflowY: 'hidden', borderBottom: `1px solid ${theme.colors.neutral.grey.base}` });\n // Generate styles to sync sticky columns with \"real\" columns\n const columnsCss = cellWidths\n .map((width, index) => `\n & th:nth-child(${index + 1}) {\n width: ${width}px;\n }\n `)\n .join('');\n // Append to generated table styles\n const allCss = tableCss + columnsCss;\n return (React.createElement(\"div\", { style: containerStyle, ref: stickyContainerRef },\n React.createElement(TableGrid, { css: allCss },\n React.createElement(\"thead\", null, children))));\n}\n//# sourceMappingURL=StickyHead.js.map","export const getRowState = (rowId, { selectedRowIds, expandedRowIds, disabledRowIds, }) => {\n const rowState = {\n selected: (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.includes(rowId)) || false,\n expanded: (expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(rowId)) || false,\n disabled: (disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(rowId)) || false,\n };\n return rowState;\n};\n//# sourceMappingURL=getRowState.js.map","/* eslint-disable jsx-a11y/no-redundant-roles */\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\nimport { generateTableCss } from './utils';\nimport { useCellWidths, useColumns, useDragToScroll, useScrollPosition, useSelection, } from './hooks';\nimport { renderCell, renderFooter, renderHeader, renderLoadingCell, renderNestedCell, } from './renderers';\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nconst defaultEmptyState = {\n icon: React.createElement(InfoIcon, { width: 48, height: 48 }),\n heading: 'No results',\n};\nconst emptyAction = () => { };\nexport const DataTable = ({ ActionBarSlot, borderMode, columns: initialColumns, emptyState = defaultEmptyState, expandedRowIds, loading, loadingRowCount, onChangeSort, rows, disabledRowIds, selectionMode, selectionState, setExpanded, sortState, stripingMode, enableStickyHeader, resizeableColumns, onResizeColumns, }) => {\n // Refs\n const scrollContainerRef = useRef(null);\n const tableRef = useRef(null);\n const intersectionTargetRef = useRef(null);\n useDragToScroll(scrollContainerRef);\n // Configure row selection\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !(disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(id)));\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n // Assign actions\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n // Process columns\n const columnsWithSelection = [selectionColumn, ...initialColumns];\n const allColumns = selectionEnabled ? columnsWithSelection : initialColumns;\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const { visible, pinnedLeft, pinnedRight, setColumnWidth } = useColumns(allColumns, tableRef, onResizeColumns);\n const adjustedCellWidths = cellWidths.length === visible.length\n ? visible.map((col, i) => Number.isNaN(col.width || '') ? cellWidths[i] : col.width)\n : cellWidths;\n // Generate styles\n const { scrollPosition } = useScrollPosition(scrollContainerRef);\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths: adjustedCellWidths,\n scrollPosition,\n visible,\n stripingMode,\n });\n // Render states\n if (loading) {\n const loadingRows = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" }, loadingRows.map((row) => (React.createElement(Row, { key: row.id }, visible.map((col) => renderLoadingCell(row, col))))))))));\n }\n if (rows.length === 0) {\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" },\n React.createElement(EmptyBodyContent, { columnCount: visible.length },\n React.createElement(EmptyBodyGlyphWrapper, null, emptyState.icon),\n React.createElement(Stack, { spacing: \"sm\", alignX: \"center\" },\n React.createElement(Text, { variant: \"headingMedium\" }, emptyState.heading),\n emptyState.subheading && (React.createElement(Text, { variant: \"subheadingMedium\" }, emptyState.subheading)))))))));\n }\n const renderRow = (row) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, Object.assign({ role: \"row\", key: row.id, accentColor: accentColor, className: e2eClassName }, rowState), visible.map((col) => renderCell(row, col, actions, rowState))));\n };\n const renderNestedRow = (nestedRow, rowId) => {\n var _a, _b;\n const nestedRowE2eClassName = (_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, { role: \"row\", key: nestedRow.id, className: nestedRowE2eClassName }, visible.map((col) => renderNestedCell(nestedRow, col, rowState))));\n };\n const renderSection = (row) => {\n var _a;\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n return (React.createElement(\"tbody\", { role: \"rowgroup\", key: row.id },\n renderRow(row),\n isExpanded && ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))));\n };\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n if (hasNestedRows) {\n return (React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map((row) => {\n var _a;\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n const nestedRowElements = (isExpanded &&\n ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })));\n }\n return React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map(renderRow));\n };\n const headersMarkup = (React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }))));\n const shouldRenderFooter = initialColumns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!ActionBarSlot;\n return (React.createElement(Wrapper, { borderMode: borderMode },\n shouldRenderActionBar && (React.createElement(ActionBar, { selectionColumn: selectionColumn, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef }, ActionBarSlot)),\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n enableStickyHeader && (React.createElement(StickyHead, { tableCss: tableCss, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef, cellWidths: adjustedCellWidths }, headersMarkup)),\n React.createElement(\"div\", { ref: intersectionTargetRef, style: { height: 0 } }),\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" }, headersMarkup),\n renderBody(),\n shouldRenderFooter && (React.createElement(\"tfoot\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderFooter({ column })))))))));\n};\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n//# sourceMappingURL=DataTable.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\nimport { LoadingCellContent } from '../components/LoadingCellContent';\n/**\n * Default renderer for loading cells\n * @param row\n * @param column\n * @returns\n */\nexport function renderLoadingCell(row, column) {\n if (column.hidden === true) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(LoadingCellContent, null)));\n}\n//# sourceMappingURL=renderLoadingCell.js.map","/**\n * Default renderer for table cells\n *\n * @param row\n * @param column\n * @returns\n */\nexport function renderCell(row, column, actions, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n span: column.span,\n };\n return column.renderCell(row, cellProps, actions, rowState);\n}\n//# sourceMappingURL=renderCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table cells in nested rows\n *\n * @param nestedRow\n * @param column\n * @returns\n */\nexport function renderNestedCell(nestedRow, column, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${nestedRow.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n if (!column.renderNestedCell) {\n return React.createElement(Cell, Object.assign({}, cellProps));\n }\n return column.renderNestedCell(nestedRow, cellProps, rowState);\n}\n//# sourceMappingURL=renderNestedCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table footer cells\n *\n * @param column Column configuration object\n * @returns Footer cell instance\n */\nexport function renderFooter({ column }) {\n if (column.hidden) {\n return null;\n }\n const footerProps = {\n key: column.id,\n role: 'cell',\n align: column.align,\n spacing: column.spacing,\n };\n if (!column.renderFooter) {\n return React.createElement(Cell, Object.assign({}, footerProps));\n }\n return column.renderFooter(column, footerProps);\n}\n//# sourceMappingURL=renderFooter.js.map","import React, { useState } from 'react';\nimport { Button } from '../../Button';\nimport { Card } from '../../Card';\nimport { Popover } from '../../Popover';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nimport { VisiblityIcon } from '../../../tempIcons/VisibilityIcon';\nimport { VisiblityOffIcon } from '../../../tempIcons/VisibilityOffIcon';\nimport { ReorderIcon } from '../../../tempIcons/ReorderIcon';\nexport function ColumnMenu({ columns, columnGroups, setColumns }) {\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n const [showPopover, setShowPopover] = useState(false);\n const columnEntries = columns.map((column) => [column.id, column]);\n const columnsMap = Object.fromEntries(columnEntries);\n const groups = columnGroups.map((group) => group.map((columnId) => columnsMap[columnId]));\n const setHidden = (groupIndex, hidden) => {\n const columnIds = groups[groupIndex].map((column) => column.id);\n const newColumns = [...columns];\n columnIds.forEach((columnId) => {\n const index = newColumns.findIndex((column) => column.id === columnId);\n if (index < 0)\n return;\n newColumns[index] = Object.assign(Object.assign({}, newColumns[index]), { hidden });\n });\n setColumns(newColumns);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { ref: setPopoverAnchor, dropdown: true, onClick: () => setShowPopover(true) }, \"Columns\"),\n showPopover && (React.createElement(Popover, { anchorElement: popoverAnchor, onShouldClose: () => setShowPopover(false) },\n React.createElement(Card, { style: { width: 600 } },\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" }, groups.map((group, groupIndex) => (React.createElement(Stack, { key: group[0].id, direction: \"horizontal\", alignY: \"center\", spacing: \"sm\", style: {\n border: '1px solid black',\n padding: 8,\n } },\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(ReorderIcon, null) }),\n React.createElement(Stack, { spacing: \"sm\", style: { flex: 1 } }, group.map((column) => (React.createElement(\"div\", { key: column.id }, column.title)))),\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"sm\" }, group[0].hidden ? (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityOffIcon, null), onClick: () => setHidden(groupIndex, false), style: { color: theme.colors.neutral.ink.lightest } })) : (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityIcon, null), onClick: () => setHidden(groupIndex, true) }))))))))))));\n}\n//# sourceMappingURL=ColumnMenu.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nconst List = styled.dl.withConfig({ displayName: \"vui--List\", componentId: \"vui--syirga\" }) `margin:unset;& > * + *{margin-top:${theme.sizes.base};}`;\nconst Item = styled.div.withConfig({ displayName: \"vui--Item\", componentId: \"vui--dz7dgm\" }) `& > * + *{margin-top:${theme.sizes.xs};}`;\nconst ItemRow = styled.div.withConfig({ displayName: \"vui--ItemRow\", componentId: \"vui--1b0o5wp\" }) `display:flex;justify-content:space-between;& > * + *{margin-left:${theme.sizes.base};}`;\nconst DescriptionContainer = styled.div.withConfig({ displayName: \"vui--DescriptionContainer\", componentId: \"vui--foltw8\" }) `text-align:right;& > * + *{margin-top:${theme.sizes.xs};}`;\nconst Term = styled.dt.withConfig({ displayName: \"vui--Term\", componentId: \"vui--s2cfux\" }) `font-family:${theme.text.bodyBold.fontFamily};font-size:${theme.text.bodyBold.fontSize};font-weight:${theme.text.bodyBold.fontWeight};line-height:${theme.text.bodyBold.lineHeight};color:${theme.text.bodyBold.color};`;\nconst Description = styled.dd.withConfig({ displayName: \"vui--Description\", componentId: \"vui--1915ejg\" }) `margin-left:unset;font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.text.body.lineHeight};color:${theme.text.body.color};`;\nexport const DescriptionList = ({ items, horizontal }) => {\n const renderDescription = (description) => {\n if (Array.isArray(description)) {\n return description.map((d) => React.createElement(Description, { key: d }, d));\n }\n return React.createElement(Description, null, description);\n };\n const renderItem = (item) => {\n if (horizontal) {\n return (React.createElement(ItemRow, { key: item.term },\n React.createElement(Term, null, item.term),\n React.createElement(DescriptionContainer, null, renderDescription(item.description))));\n }\n return (React.createElement(Item, { key: item.term },\n React.createElement(Term, null, item.term),\n renderDescription(item.description)));\n };\n return React.createElement(List, null, items.map(renderItem));\n};\n//# sourceMappingURL=DescriptionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { sizes, colors } = theme;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--2wnu9m\" }) `width:100%;display:grid;grid-template-columns:${({ showSidebar = true }) => showSidebar ? `calc(100% - 312px - ${sizes.md}) 312px` : '100% 312px'};align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\nexport const ContentContainer = styled.div.withConfig({ displayName: \"vui--ContentContainer\", componentId: \"vui--nvukr5\" }) `width:100%;box-sizing:border-box;padding:${sizes.md};overflow-x:hidden;background-color:${colors.neutral.grey.lightest};`;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nexport const InputGroup = styled.div.withConfig({ displayName: \"vui--InputGroup\", componentId: \"vui--1w0e9jz\" }) `display:flex;& > *{margin-left:0;margin-right:0;box-shadow:none;}& > *:not(:last-child){border-right-width:0 !important;}& > *:hover{}& > *:focus,& > *:active{z-index:5;border-right-width:1px !important;}& > *:focus + *,& > *:active + *{border-left-width:0 !important;}& > *:not(:first-child):not(:last-child){border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:first-child{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:last-child{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important;}`;\n//# sourceMappingURL=index.js.map","export var ComponentSize;\n(function (ComponentSize) {\n ComponentSize[\"base\"] = \"base\";\n ComponentSize[\"sm\"] = \"sm\";\n})(ComponentSize || (ComponentSize = {}));\n//# sourceMappingURL=types.js.map","import styled, { css } from 'styled-components';\nimport { theme } from '../../theme';\nconst pseudoStates = ({ hasError, inputSize }) => css `&{--outline-size:${inputSize === 'sm' ? '2px' : '4px'};}&:focus{border-color:#0079d1;box-shadow:0 0 0 var(--outline-size)#80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 var(--outline-size)#f7bcbc;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}${hasError &&\n `\n &,\n &:focus {\n border-color: #EB5757;\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--outline-size) #F7BCBC;\n }\n `}`;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--3jt15a\" }) `font-family:${theme.fontFamily};box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 12px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${({ inputSize }) => {\n let height = '40px';\n let fontSize = '14px';\n if (inputSize === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} ${pseudoStates} &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;width:8ch;text-align:right;}`;\nexport const Textarea = styled.textarea.withConfig({ displayName: \"vui--Textarea\", componentId: \"vui--1k04ik\" }) `box-sizing:border-box;width:100%;padding:8px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${pseudoStates}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, forwardRef } from 'react';\nimport { generateId } from '../../utils/generateId';\nimport { Input, Textarea } from './styled';\nimport { ComponentSize } from '../types';\nconst NUMBER_REGEX = /^-?[0-9]*\\.?[0-9]+$/;\nexport const TextField = forwardRef((_a, ref) => {\n var { id, className, disabled = false, hasError, max, min, multiline = false, name, onChange, pattern, placeholder, rows = '3', size = ComponentSize.base, step, type = 'text', value, spellCheck = false } = _a, otherProps = __rest(_a, [\"id\", \"className\", \"disabled\", \"hasError\", \"max\", \"min\", \"multiline\", \"name\", \"onChange\", \"pattern\", \"placeholder\", \"rows\", \"size\", \"step\", \"type\", \"value\", \"spellCheck\"]);\n const handleChange = useCallback((event) => {\n if (!onChange)\n return;\n const newValue = event.currentTarget.value;\n if (newValue === '') {\n onChange(newValue);\n return;\n }\n if (type !== 'number') {\n onChange(newValue);\n return;\n }\n const reg = new RegExp(NUMBER_REGEX);\n if (!reg.test(newValue)) {\n return;\n }\n onChange(newValue);\n }, [onChange, type]);\n const componentId = id !== null && id !== void 0 ? id : generateId('textfield');\n if (type === 'text' && multiline) {\n return (React.createElement(Textarea, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, name: name, onChange: handleChange, placeholder: placeholder, rows: rows, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n }\n return (React.createElement(Input, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, inputSize: size, max: max, min: min, name: name, \"aria-label\": name, onChange: handleChange, placeholder: placeholder, step: step, type: type, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n});\n//# sourceMappingURL=TextField.js.map","import { withLabels } from '../../hoc';\nimport { TextField as StandardTextField } from './TextField';\nexport const TextField = withLabels(StandardTextField);\nTextField.displayName = 'TextField';\n//# sourceMappingURL=index.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { TextField } from '../TextField';\nimport { Button } from '../Button';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--oxhxoy\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--w9sg63\" }) `display:flex;align-items:center;margin-top:4px;gap:8px;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1dp86fg\" }) `width:52px;margin:0;padding:0 6px;&&&{text-align:left;border-color:${theme.colors.neutral.ink.lightest};}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--1h9einl\" }) `padding:0 6px;border-color:${theme.colors.neutral.ink.lightest};`;\nconst Label = styled(Text).withConfig({ displayName: \"vui--Label\", componentId: \"vui--2iwwsg\" }) ``;\nconst Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1ln478r\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nconst Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--5lfadq\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport { Container, Row, Error, Hint, StyledTextField as TextField, StyledButton as Button, Label };\n//# sourceMappingURL=styled.js.map","export const blockInvalidCharacters = (e, invalidList) => {\n if (invalidList.includes(e.key))\n e.preventDefault();\n};\n//# sourceMappingURL=blockInvalidCharacters.js.map","export const invalidCharsList = ['-', '+', 'E', 'e'];\n//# sourceMappingURL=invalidCharactersNumeric.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { InputGroup } from '../InputGroup';\nimport { ComponentSize } from '../types';\nimport { withLabels } from '../../hoc';\nimport { Container, Row, TextField, Button } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { theme } from '../../theme';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\nexport const DimensionsInput = withLabels((_a) => {\n var { size = ComponentSize.base, handleChangeHeight, handleChangeWidth, handleChangeLength, className, height, width, length, unit } = _a, rest = __rest(_a, [\"size\", \"handleChangeHeight\", \"handleChangeWidth\", \"handleChangeLength\", \"className\", \"height\", \"width\", \"length\", \"unit\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeLength, size: size, name: \"length\", type: \"number\", placeholder: \"L\", value: length, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(TextField, Object.assign({ onChange: handleChangeWidth, size: size, name: \"width\", type: \"number\", placeholder: \"W\", value: width, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeHeight, size: size, name: \"height\", type: \"number\", placeholder: \"H\", value: height, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\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 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 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 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 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 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 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 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 styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nconst { blue } = colors.secondary;\nconst { grey } = colors.neutral;\nexport const TableHeader = styled.thead.withConfig({ displayName: \"vui--TableHeader\", componentId: \"vui--o0sot\" }) `background-color:white;`;\nexport const TableBody = styled.tbody.withConfig({ displayName: \"vui--TableBody\", componentId: \"vui--nuzcgp\" }) `&&& tr:hover td{background-color:${blue.lightest};}`;\nexport const TableRow = styled.tr.withConfig({ displayName: \"vui--TableRow\", componentId: \"vui--1uhgfx1\" }) ``;\nexport const TableCell = styled.td.withConfig({ displayName: \"vui--TableCell\", componentId: \"vui--s41x8b\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};& > *{vertical-align:middle;}`;\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--TableHeaderCell\", componentId: \"vui--2nps2x\" }) `border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--lcbl46\" }) `width:100%;border-spacing:0;${({ striped }) => striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { TableBody, TableCell, TableHeader, TableRow, TableHeaderCell, Table } from './styled';\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }) => (React.createElement(Table, { striped: striped, className: className }, children));\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n//# sourceMappingURL=SimpleTable.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nexport const Skeleton = styled(BaseContainer).attrs(() => ({\n 'aria-hidden': true,\n})).withConfig({ displayName: \"vui--Skeleton\", componentId: \"vui--7bl1ak\" }) `display:block;background:#f6f7f8;background:linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);background-size:2500px 104px;cursor:progress;border-radius:4px;${({ width = '', height = '' }) => `\n width: ${width || '100%'};\n min-width: ${width};\n height: ${height || '20px'};\n min-height: ${height};\n `};@media (prefers-reduced-motion: no-preference){animation-duration:2s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;}@keyframes placeHolderShimmer{0%{background-position:-1080px 0;}100%{background-position:1080px 0;}}`;\nSkeleton.displayName = 'Skeleton';\n//# sourceMappingURL=Skeleton.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst TRACK_HEIGHT = 4;\nconst BORDER_SIZE = 4;\nconst SLIDER_SIZE = 12;\nconst ADDITIONAL_PADDING = 2;\nconst SliderContainer = styled.div.withConfig({ displayName: \"vui--SliderContainer\", componentId: \"vui--103oce3\" }) `min-width:128px;display:inline-block;position:relative;padding:${SLIDER_SIZE / 2 + ADDITIONAL_PADDING}px 0px;`;\nconst SliderTrack = styled.div.withConfig({ displayName: \"vui--SliderTrack\", componentId: \"vui--1ctzbzj\" }) `background:${theme.colors.neutral.grey.base};height:${TRACK_HEIGHT}px;border-radius:20px;`;\nconst SliderDiv = styled.div.withConfig({ displayName: \"vui--SliderDiv\", componentId: \"vui--1tltjvk\" }) `position:absolute;top:-${(SLIDER_SIZE - TRACK_HEIGHT) / 2 - ADDITIONAL_PADDING * 2}px;left:${(props) => `${props.left}%`};width:${SLIDER_SIZE}px;height:${SLIDER_SIZE}px;background:white;border:${BORDER_SIZE}px solid ${theme.colors.secondary.blue.base};border-radius:50%;touch-action:none;cursor:pointer;margin-left:-${SLIDER_SIZE}px;&:active,&:focus,&:focus-visible,&:focus-within{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}`;\nconst SliderRange = styled(SliderTrack).withConfig({ displayName: \"vui--SliderRange\", componentId: \"vui--t3v3py\" }) `position:relative;width:${(props) => `${props.width}%`};left:${(props) => `${props.left}%`};background:${theme.colors.secondary.blue.light};bottom:${TRACK_HEIGHT}px;border-radius:0;`;\nexport { SliderContainer, SliderTrack, SliderRange, SliderDiv };\n//# sourceMappingURL=styled.js.map","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { SliderContainer, SliderTrack, SliderRange, SliderDiv } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-slider-container` : undefined,\n sliderRange: prefix ? `${prefix}-slider-range` : undefined,\n slider: prefix ? `${prefix}-slider` : undefined,\n startSlider: prefix ? `${prefix}-start-slider` : undefined,\n endSlider: prefix ? `${prefix}-end-slider` : undefined,\n});\nexport const Slider = ({ id, value, min, max, step = 1, onChange, className, e2eClassName, onSlideStart = () => { }, onSlideEnd = () => { }, }) => {\n const [isDragging, setIsDragging] = useState(false);\n const [draggingSliderIndex, setDraggingSliderIndex] = useState(-1);\n const containerRef = useRef(null);\n const startSliderRef = useRef(null);\n const endSliderRef = useRef(null);\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const handleMouseMove = useCallback((e) => {\n var _a;\n if (!isDragging || !containerRef.current)\n return;\n const sliderValue = draggingSliderIndex > -1 ? value[draggingSliderIndex] : value;\n const containerSize = containerRef.current.getBoundingClientRect();\n // slider position relative to the container in percents\n const handleValue = ((e.pageX - containerSize.x) * 100) / containerSize.width;\n // current value by slider position\n let newValue = (max - min) * (handleValue / 100) + min;\n const diff = sliderValue - newValue;\n // use to apply step to new value\n if (diff > 0) {\n newValue = sliderValue + Math.ceil(newValue / step - sliderValue / step) * step;\n }\n if (diff < 0) {\n newValue = sliderValue + Math.floor(newValue / step - sliderValue / step) * step;\n }\n if (sliderValue === newValue)\n return;\n if (newValue > max)\n newValue = max;\n if (newValue < min)\n newValue = min;\n if (Array.isArray(value)) {\n if (draggingSliderIndex === 0 && newValue > value[1])\n [, newValue] = value;\n if (draggingSliderIndex === 1 && newValue < value[0])\n [newValue] = value;\n }\n // used to fix 0.30000000000000004 problem\n const decimalPlaces = step.toString().includes('.')\n ? (_a = step.toString().split('.').pop()) === null || _a === void 0 ? void 0 : _a.length\n : 0;\n newValue = Number(newValue.toFixed(decimalPlaces));\n let resultValue;\n if (Array.isArray(value)) {\n resultValue = draggingSliderIndex === 0 ? [newValue, value[1]] : [value[0], newValue];\n }\n else {\n resultValue = newValue;\n }\n onChange(resultValue);\n if (Array.isArray(resultValue) && resultValue[0] === resultValue[1]) {\n if (draggingSliderIndex === 0)\n setDraggingSliderIndex(1);\n if (draggingSliderIndex === 1)\n setDraggingSliderIndex(0);\n }\n }, [draggingSliderIndex, isDragging, max, min, onChange, step, value]);\n const handleMouseUp = useCallback(() => {\n setIsDragging(false);\n onSlideEnd();\n }, [onSlideEnd]);\n const handleMouseDown = useCallback((e, index) => {\n setIsDragging(true);\n onSlideStart();\n if (typeof index === 'number')\n setDraggingSliderIndex(index);\n e.preventDefault();\n }, [onSlideStart]);\n useEffect(() => {\n const handleStartSliderMouseDown = (e) => handleMouseDown(e, Array.isArray(value) ? 0 : 1);\n const handleEndSliderMouseDown = (e) => handleMouseDown(e, 1);\n const startSliderEl = startSliderRef.current;\n const endSliderEl = endSliderRef.current;\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.addEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.addEventListener('mousedown', handleEndSliderMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n return () => {\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.removeEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.removeEventListener('mousedown', handleEndSliderMouseDown);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [handleMouseDown, handleMouseMove, handleMouseUp, value]);\n const renderSlider = (left, valueNow, index) => {\n let sliderClassName;\n if (typeof index === 'number') {\n sliderClassName = buildClassnames(index === 0\n ? [classNames === null || classNames === void 0 ? void 0 : classNames.startSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.startSlider]\n : [classNames === null || classNames === void 0 ? void 0 : classNames.endSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.endSlider]);\n }\n else {\n sliderClassName = buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.slider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.slider]);\n }\n return (React.createElement(SliderDiv, { role: \"slider\", ref: index === 1 ? endSliderRef : startSliderRef, className: sliderClassName, left: left, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-valuenow\": valueNow }));\n };\n const renderRangeSlider = (rangeSliderValue) => {\n // handle value used to get slider position relative to container from value\n const handleValueStart = ((rangeSliderValue[0] < min ? 0 : rangeSliderValue[0] - min) * 100) / (max - min);\n const handleValueEnd = ((rangeSliderValue[1] > max ? 100 : rangeSliderValue[1] - min) * 100) / (max - min);\n const rangeWidth = handleValueEnd - handleValueStart;\n return (React.createElement(React.Fragment, null,\n React.createElement(SliderRange, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.sliderRange, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.sliderRange]), left: handleValueStart, width: rangeWidth }),\n renderSlider(handleValueStart, rangeSliderValue[0], 0),\n renderSlider(handleValueEnd, rangeSliderValue[1], 1)));\n };\n const renderSingleSlider = (sliderValue) => {\n if (Array.isArray(value))\n return renderRangeSlider(value);\n let handleValue;\n if (value > max)\n handleValue = 100;\n else if (value < min)\n handleValue = 0;\n else\n handleValue = ((sliderValue - min) * 100) / (max - min);\n return renderSlider(handleValue, sliderValue);\n };\n let render;\n if (Array.isArray(value))\n render = renderRangeSlider(value);\n else\n render = renderSingleSlider(value);\n return (React.createElement(SliderContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), id: id, ref: containerRef },\n React.createElement(SliderTrack, null),\n render));\n};\n//# sourceMappingURL=Slider.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nexport const Tag = styled(BaseContainer).withConfig({ displayName: \"vui--Tag\", componentId: \"vui--1rdo7hk\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:4px 8px;${({ backgroundColor, color }) => `\n color: ${color !== null && color !== void 0 ? color : colors.neutral.ink.base};\n background-color: ${backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : colors.neutral.grey.base};\n `}`;\n//# sourceMappingURL=Tag.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const ToastsLayoutContainer = styled(Stack).withConfig({ displayName: \"vui--ToastsLayoutContainer\", componentId: \"vui--1iztsl9\" }) `position:fixed;bottom:24px;width:100%;pointer-events:none;z-index:${theme.layers.tooltip};`;\nexport const Toast = styled(Stack).withConfig({ displayName: \"vui--Toast\", componentId: \"vui--1o64628\" }) `background-color:${theme.colors.neutral.ink.dark};padding:12px 24px 12px 12px;box-shadow:${theme.shadows.lg};border-radius:${theme.radius.md};pointer-events:auto;z-index:40;min-width:${({ minWidth }) => minWidth};max-width:80vw;&.veeqo-components-toast-enter{transform:translateY(12px);opacity:0;}&.veeqo-components-toast-enter-active{transform:translateY(0);opacity:1;transition:500ms ease;}&.veeqo-components-toast-exit{transform:${({ last }) => (last ? 'translateY(0)' : 'translateX(0)')};opacity:1;}&.veeqo-components-toast-exit-active{transform:${({ last }) => (last ? 'translateY(12px)' : 'translateX(12px)')};opacity:0;transition:500ms ease;}`;\nexport const IconWrap = styled(BaseContainer).withConfig({ displayName: \"vui--IconWrap\", componentId: \"vui--1nmtetq\" }) `display:flex;flex-direction:row;align-items:center;justify-content:center;height:40px;width:40px;border-radius:${theme.radius.md};background-color:${({ color }) => color};color:#fff;svg{width:${sizes.md};height:${sizes.md};}`;\nexport const ContentStack = styled(Stack).withConfig({ displayName: \"vui--ContentStack\", componentId: \"vui--fvpujj\" }) `flex-grow:1;`;\nexport const StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--ppieao\" }) `color:white;font-size:16px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { colors } from '../../../theme/modules/colors';\nimport { IconWrap, Toast as ToastContainer, StyledText as Text, ContentStack } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nimport { Button } from '../../Button';\nimport { SuccessIcon } from '../../../tempIcons/SuccessIcon';\nimport { InfoIcon } from '../../../tempIcons/InfoIcon';\nimport { AttentionIcon } from '../../../tempIcons/AttentionIcon';\nimport { MergeIcon } from '../../../tempIcons/MergeIcon';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nconst toastTypes = {\n info: {\n accentColor: colors.brand.blue.base,\n icon: React.createElement(InfoIcon, null),\n },\n success: {\n accentColor: colors.secondary.green.base,\n icon: React.createElement(SuccessIcon, null),\n },\n error: {\n accentColor: colors.secondary.red.base,\n icon: React.createElement(AttentionIcon, null),\n },\n merge: {\n accentColor: colors.secondary.purple.base,\n icon: React.createElement(MergeIcon, null),\n },\n};\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-toast-container` : undefined,\n icon: prefix ? `${prefix}-toast-icon` : undefined,\n closeIcon: prefix ? `${prefix}-toast-close-icon` : undefined,\n});\nexport const Toast = ({ className, e2eClassName, type, iconSlot, text, last, minWidth, cta, onClose, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n return (React.createElement(ToastContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), direction: \"horizontal\", alignY: \"center\", minWidth: minWidth, last: last },\n React.createElement(IconWrap, { color: toastTypes[type].accentColor, className: buildClassnames([classNames.icon, e2eClassNames.icon]) }, iconSlot !== null && iconSlot !== void 0 ? iconSlot : toastTypes[type].icon),\n React.createElement(ContentStack, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(Text, { variant: \"body\" }, text),\n cta),\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, { color: \"white\" }), onClick: onClose, \"aria-label\": \"Close\" })));\n};\n//# sourceMappingURL=Toast.js.map","import React from 'react';\nexport const MergeIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.9887 6.82229H6.84911L12.1714 1.5L17.4937 6.82229H13.3541V14.4036L6.25774 21.5L4.59009 19.8323L10.9887 13.4338V6.82229ZM19.7527 19.8323L18.0851 21.5L14.0519 17.4669L15.7196 15.7992L19.7527 19.8323Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MergeIcon.js.map","import 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 styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { radius } from '../../theme/modules/radius';\nimport { sizes } from '../../theme/modules/sizes';\nexport const DropZoneContainer = styled.div.withConfig({ displayName: \"vui--DropZoneContainer\", componentId: \"vui--17v0v3c\" }) `display:flex;align-items:center;justify-content:center;padding:${sizes.md};border-radius:${radius.base};input[type='file']{position:absolute;opacity:0;width:1px;height:1px;cursor:pointer;}cursor:pointer;border:2px dashed ${colors.neutral.ink.lightest};background-color:${colors.neutral.grey.lightest};:hover{border:2px dashed ${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};}:active{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}:focus-within{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}&:has(input:invalid){border:2px dashed ${colors.secondary.red.base};:hover{border:2px dashed ${colors.secondary.red.base};background-color:${colors.secondary.red.lightest};}:active{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}:focus-within{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}}&:has(input:disabled){cursor:not-allowed;box-shadow:none;background-color:${colors.neutral.grey.light};border-color:${colors.neutral.ink.lightest};color:${colors.neutral.ink.light};}`;\n//# sourceMappingURL=styled.js.map","export var AcceptedFileTypes;\n(function (AcceptedFileTypes) {\n AcceptedFileTypes[\"CSV\"] = \".csv\";\n AcceptedFileTypes[\"JPEG\"] = \".jpeg\";\n AcceptedFileTypes[\"JPG\"] = \".jpg\";\n AcceptedFileTypes[\"GIF\"] = \".gif\";\n AcceptedFileTypes[\"PNG\"] = \".png\";\n})(AcceptedFileTypes || (AcceptedFileTypes = {}));\nexport var FileSizeUnit;\n(function (FileSizeUnit) {\n FileSizeUnit[\"KB\"] = \"KB\";\n FileSizeUnit[\"MB\"] = \"MB\";\n})(FileSizeUnit || (FileSizeUnit = {}));\nexport var InputState;\n(function (InputState) {\n InputState[\"VALID\"] = \"\";\n InputState[\"INVALID_FORMAT\"] = \"File is incorrect format\";\n InputState[\"INVALID_SIZE\"] = \"File size is too big\";\n InputState[\"INVALID_FORMAT_AND_SIZE\"] = \"File is incorrect format and too big\";\n})(InputState || (InputState = {}));\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const UploadGraphic = () => (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"56\", height: \"56\", fill: \"none\", role: \"presentation\" },\n React.createElement(\"path\", { fill: \"#fff\", d: \"M0 28C0 12.536 12.536 0 28 0s28 12.536 28 28-12.536 28-28 28S0 43.464 0 28\" }),\n React.createElement(\"path\", { fill: \"#37424D\", d: \"M22.5 36c-1.517 0-2.812-.525-3.887-1.575-1.075-1.05-1.613-2.333-1.613-3.85 0-1.3.392-2.458 1.175-3.475s1.808-1.667 3.075-1.95c.417-1.533 1.25-2.775 2.5-3.725C25 20.475 26.417 20 28 20c1.95 0 3.604.68 4.962 2.038C34.322 23.396 35 25.05 35 27c1.15.133 2.104.63 2.862 1.488A4.407 4.407 0 0 1 39 31.5c0 1.25-.437 2.313-1.312 3.188C36.812 35.562 35.75 36 34.5 36H29c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 27 34v-5.15l-1.6 1.55L24 29l4-4 4 4-1.4 1.4-1.6-1.55V34h5.5c.7 0 1.292-.242 1.775-.725.483-.483.725-1.075.725-1.775s-.242-1.292-.725-1.775C35.792 29.242 35.2 29 34.5 29H33v-2c0-1.383-.487-2.562-1.462-3.538C30.562 22.489 29.383 22 28 22s-2.562.488-3.538 1.462C23.489 24.438 23 25.618 23 27h-.5c-.967 0-1.792.342-2.475 1.025A3.372 3.372 0 0 0 19 30.5c0 .967.342 1.792 1.025 2.475A3.372 3.372 0 0 0 22.5 34H25v2z\" })));\n//# sourceMappingURL=UploadGraphic.js.map","import React from 'react';\nimport { UploadGraphic } from '../../UploadGraphic';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadCopy = () => (React.createElement(Stack, { alignX: \"center\", alignY: \"center\", spacing: \"sm\", style: { pointerEvents: 'none' } },\n React.createElement(UploadGraphic, null),\n React.createElement(Text, { variant: \"subheadingSmall\", style: { paddingTop: sizes.sm } }, \"Browse files or drag them here\")));\n//# sourceMappingURL=UploadCopy.js.map","import React from 'react';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadFileErrors = ({ acceptedTypesCopy, maxSizeCopy }) => {\n if (!acceptedTypesCopy && !maxSizeCopy)\n return null;\n return (React.createElement(Stack, { alignX: \"start\", spacing: \"xs\" },\n acceptedTypesCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"Invalid format (\",\n acceptedTypesCopy,\n \")\"),\n maxSizeCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"File is too big (\",\n maxSizeCopy,\n \")\")));\n};\n//# sourceMappingURL=UploadFileErrors.js.map","import styled from 'styled-components';\nimport { Text } from '../../../Text';\nimport { colors } from '../../../../theme/modules/colors';\nimport { radius } from '../../../../theme/modules/radius';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nexport const SingleLineText = styled(Text).withConfig({ displayName: \"vui--SingleLineText\", componentId: \"vui--1aguyhc\" }) `display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;`;\nexport const UploadedFilesListStack = styled(Stack).withConfig({ displayName: \"vui--UploadedFilesListStack\", componentId: \"vui--1g0ca18\" }) `border:1px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};padding:${sizes.xs};${Text}{padding-left:${sizes.xs};}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../../../Button';\nimport { CrossIcon } from '../../../../tempIcons/CrossIcon';\nimport { SingleLineText, UploadedFilesListStack } from './styled';\nexport const UploadedFile = ({ file, resetSelection, disabled }) => {\n if (!file)\n return null;\n return (React.createElement(UploadedFilesListStack, { alignX: \"between\", direction: \"horizontal\", alignY: \"center\" },\n React.createElement(SingleLineText, { variant: \"body\" }, file === null || file === void 0 ? void 0 : file.name),\n React.createElement(Button, { size: \"sm\", variant: \"flat\", onClick: resetSelection, icon: React.createElement(CrossIcon, null), \"aria-label\": \"Remove file\", disabled: disabled })));\n};\n//# sourceMappingURL=UploadedFile.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useState, forwardRef, useImperativeHandle, useRef, } from 'react';\nimport { DropZoneContainer } from './styled';\nimport { InputState, FileSizeUnit } from './constants';\nimport { UploadCopy } from './components/UploadCopy/UploadCopy';\nimport { setInputElFile } from './utils/setInputElFile/setInputElFile';\nimport { getFileSizeString, getTypePropForInputEl, getValidTypesString } from './utils';\nimport { Hint, Label, RootStack } from '../../hoc/withLabels/styled';\nimport { Stack } from '../Stack';\nimport { UploadFileErrors } from './components/UploadFileErrors/UploadFileErrors';\nimport { UploadedFile } from './components/UploadedFile/UploadedFile';\nimport { sizes } from '../../theme/modules/sizes';\nexport const UploadFile = forwardRef((_a, outerRef) => {\n var { id, name, maxBytes = 1000000, format = FileSizeUnit.MB, fileTypes, label = 'Upload file', required, disabled } = _a, otherProps = __rest(_a, [\"id\", \"name\", \"maxBytes\", \"format\", \"fileTypes\", \"label\", \"required\", \"disabled\"]);\n const inputRef = useRef(null);\n useImperativeHandle(outerRef, () => inputRef.current, []);\n const [file, setFile] = useState();\n const [errorState, setErrorState] = useState(InputState.VALID);\n const isInvalidFormat = errorState === InputState.INVALID_FORMAT || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n const isOverMaxSize = errorState === InputState.INVALID_SIZE || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n // Computed properties based on params\n const maxSizeCopy = getFileSizeString({ maxBytes, format });\n const acceptedTypesCopy = getValidTypesString({ fileTypes });\n const acceptedTypesForInputEl = getTypePropForInputEl({ fileTypes });\n const clearFileSelection = () => {\n var _a;\n if ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value)\n inputRef.current.value = '';\n };\n // Tracks error states within the input element itself, using preset\n // error messages and assigns these to the input component based on the file\n const setInputValidation = ({ overMaxSize, invalidFormat, }) => {\n var _a;\n let error = InputState.VALID;\n if (invalidFormat && !overMaxSize) {\n error = InputState.INVALID_FORMAT;\n }\n else if (!invalidFormat && overMaxSize) {\n error = InputState.INVALID_SIZE;\n }\n else if (invalidFormat && overMaxSize) {\n error = InputState.INVALID_FORMAT_AND_SIZE;\n }\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.setCustomValidity(error);\n setErrorState(error);\n };\n // Processes file and updates the UI appropriately:\n const updateFiles = useCallback((files) => {\n if (!files.length) {\n setInputValidation({ invalidFormat: true });\n return;\n }\n const [newFile] = files;\n const hasExceededMaxSize = newFile.size > maxBytes;\n const [, extension] = newFile.type.split('/');\n const isTypeValid = fileTypes.find((validType) => validType.substring(1) === extension);\n const hasInvalidFormat = !isTypeValid;\n if (hasExceededMaxSize || hasInvalidFormat) {\n // Empty the inputRef's read-only fileList by clearing the value attribute,\n // since we have an invalid input.\n clearFileSelection();\n }\n else {\n // Update the files attribute of the input el, with the new file(s)\n setInputElFile({ fileList: files, elementId: id });\n }\n setInputValidation({\n invalidFormat: hasInvalidFormat,\n overMaxSize: hasExceededMaxSize,\n });\n setFile(newFile);\n }, [fileTypes, id, maxBytes]);\n // For focussing of input el and updating drop UI\n const onDragEnter = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n };\n // For unfocussing of input el and updating drop UI\n const onDragLeave = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n };\n // Prevents default browser behaviour\n const onDragOver = (event) => event.preventDefault();\n // Process file when dropped into eligible area\n const onDrop = (event) => {\n event.preventDefault();\n // Prevent reactions on dragging events that do not contain files\n if (!event.dataTransfer.files.length)\n return;\n updateFiles(event.dataTransfer.files);\n };\n // Removes input el's files, clears errors and removes file from react component\n const resetSelection = useCallback(() => {\n clearFileSelection();\n setFile(undefined);\n setInputValidation({\n invalidFormat: false,\n overMaxSize: false,\n });\n }, []);\n // Updates UI based on a native file input change. Attached via useEffect below\n const onInputChange = useCallback(() => {\n var _a;\n const files = (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.files;\n if ((files === null || files === void 0 ? void 0 : files.length) && (files === null || files === void 0 ? void 0 : files.length) > 0)\n updateFiles(files);\n else\n resetSelection();\n }, [resetSelection, updateFiles]);\n useEffect(() => {\n const ref = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current;\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('cancel', resetSelection);\n return () => {\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('cancel', resetSelection);\n };\n }, [onInputChange, resetSelection]);\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(Label, { htmlFor: id },\n label,\n React.createElement(Stack, { spacing: 3, alignX: \"stretch\", style: { paddingTop: sizes.sm } },\n React.createElement(Hint, null,\n React.createElement(\"div\", null, acceptedTypesCopy),\n React.createElement(\"div\", null, maxSizeCopy)),\n React.createElement(DropZoneContainer, { onDrop: onDrop, onDragEnter: onDragEnter, onDragOver: onDragOver, onDragLeave: onDragLeave },\n React.createElement(UploadCopy, null),\n React.createElement(\"input\", Object.assign({ ref: inputRef, id: id, type: \"file\", accept: acceptedTypesForInputEl, name: name, required: required, disabled: disabled }, otherProps))))),\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" },\n React.createElement(UploadedFile, { file: file, resetSelection: resetSelection, disabled: disabled }),\n React.createElement(UploadFileErrors, { acceptedTypesCopy: isInvalidFormat ? acceptedTypesCopy : undefined, maxSizeCopy: isOverMaxSize ? maxSizeCopy : undefined }))));\n});\n//# sourceMappingURL=UploadFile.js.map","import { FileSizeUnit } from '../../constants';\n/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property\n *\n * E.g.\n *\n * const maxSizeCopy = getFileSizeString({\n * maxBytes: 10000,\n * format: FileSizeUnit.MB\n * });\n *\n * Where @constant maxSizeCopy would equal \"Max size: 1 MB\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getFileSizeString = ({ maxBytes, format, baseString }) => {\n const base = baseString == null ? 'Max size: ' : baseString;\n switch (format) {\n case FileSizeUnit.KB:\n return `${base}${Number(maxBytes) / 1000} KB`;\n case FileSizeUnit.MB:\n return `${base}${Number(maxBytes) / 1000000} MB`;\n default:\n return `${base}${Number(maxBytes) / 1000} KB`;\n }\n};\n//# sourceMappingURL=getFileSizeString.js.map","import { AcceptedFileTypes } from '../../constants';\n/**\n * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the\n * fileTypes list passed as parameter.\n *\n * E.g.\n *\n * const validTypesCopy = getValidTypesString({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant validTypesCopy would equal \"Valid types: CSV\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * @param baseString - An optional string to override the default value of 'Valid types: ' prefixed to\n * the returned string\n */\nexport const getValidTypesString = ({ fileTypes, baseString }) => {\n let base = baseString == null ? 'Valid types: ' : baseString;\n fileTypes.forEach((fileType, index, list) => {\n const iterable = list.length > 1;\n const isLast = index === list.length - 1 && iterable;\n const isPenultimate = index === list.length - 2 && iterable;\n if (isLast)\n base += ' and ';\n switch (fileType) {\n case AcceptedFileTypes.CSV:\n base += 'CSV';\n break;\n case AcceptedFileTypes.GIF:\n base += 'GIF';\n break;\n case AcceptedFileTypes.JPEG:\n base += 'JPEG';\n break;\n case AcceptedFileTypes.JPG:\n base += 'JPG';\n break;\n case AcceptedFileTypes.PNG:\n base += 'PNG';\n break;\n default:\n break;\n }\n if (!isPenultimate && !isLast && list.length > 2)\n base += ', ';\n });\n return base;\n};\n//# sourceMappingURL=getValidTypesString.js.map","/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property.\n *\n * E.g.\n *\n * const inputElAcceptProperty = getTypePropForInputEl({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant inputElAcceptProperty would equal \".csv\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getTypePropForInputEl = ({ fileTypes }) => {\n if (fileTypes.length === 1)\n return fileTypes[0];\n let base = '';\n fileTypes.forEach((fileType, index, list) => {\n const isLastElement = list.length - 1 === index && list.length > 1;\n if (isLastElement)\n base += `${fileType}`;\n else\n base += `${fileType}, `;\n });\n return base.trim();\n};\n//# sourceMappingURL=getTypePropForInputEl.js.map","/**\n * Updates the value of the files attribute held within an input elment. Used during DnD operations where\n * the input element's files need to kept in sync and updated.\n *\n * @param fileList - A list of files, typically extracted from the \"files\" attribute of an input element\n * @param elementId - The ID of the input element\n */\nexport const setInputElFile = ({ fileList, elementId }) => {\n const inputEl = document.getElementById(elementId);\n if (fileList.length) {\n inputEl.files = fileList;\n }\n};\n//# sourceMappingURL=setInputElFile.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nconst commonStyles = `\n position: fixed;\n height: 100%;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`;\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1xg3v52\" }) `${commonStyles} display:${(props) => (props.shouldShow ? 'initial' : 'none')};z-index:${theme.layers.modal};`;\nexport const Shadow = styled(BaseContainer).withConfig({ displayName: \"vui--Shadow\", componentId: \"vui--nz3cc\" }) `${commonStyles} background-color:rgba(55,66,77,0.5);`;\nexport const Wrap = styled(BaseContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1pbqe6\" }) `position:relative;height:100%;width:100%;z-index:1;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\n// @ts-ignore\nimport ScrollLock from 'react-scrolllock-configurable';\nimport { Portal } from '../../Portal';\nimport { Container, Shadow, Wrap } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nconst WithPortal = ({ usePortal, children }) => (\n// eslint-disable-next-line react/jsx-no-useless-fragment\nReact.createElement(React.Fragment, null, usePortal ? React.createElement(Portal, null, children) : children));\nexport const Popup = ({ className, children = null, shouldShow = false, usePortal = true, }) => (React.createElement(WithPortal, { usePortal: usePortal },\n React.createElement(Container, { className: buildClassnames([`${className}-container`, className]), shouldShow: shouldShow },\n React.createElement(Shadow, null),\n React.createElement(ScrollLock, { isActive: shouldShow },\n React.createElement(Wrap, { className: buildClassnames([`${className}-wrap`, className]) }, children)))));\n//# sourceMappingURL=Popup.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nexport const PopupContent = styled.div.withConfig({ displayName: \"vui--PopupContent\", componentId: \"vui--17gmyeh\" }) `display:flex;justify-content:center;align-items:center;height:100%;`;\nexport const VideoWrapper = styled.div.withConfig({ displayName: \"vui--VideoWrapper\", componentId: \"vui--rcrl58\" }) `position:relative;iframe{width:57vw;height:calc(57vw * 0.5625);border-radius:8px;}`;\nexport const ButtonSC = styled(Button).withConfig({ displayName: \"vui--ButtonSC\", componentId: \"vui--srigr3\" }) `position:absolute;top:0px;right:-45px;`;\n//# sourceMappingURL=styled.js.map","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\", icon: React.createElement(StyledLeftIcon, null), disabled: leftDisabled, onClick: toPrevScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the left\" }),\n React.createElement(StyledRightButton, { id: \"right-arrow\", icon: React.createElement(StyledRightIcon, null), disabled: rightDisabled, onClick: toNextScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the right\" }))),\n React.createElement(StyledMenuButton, { icon: React.createElement(StyledMenuIcon, null), variant: \"flat\", onClick: onClickMenu, \"aria-label\": \"open menu\", \"aria-controls\": ariaMenuControls, \"aria-expanded\": ariaMenuExpanded, \"aria-haspopup\": ariaMenuControls ? 'dialog' : undefined, ref: menuRef }))));\n});\n//# sourceMappingURL=ViewsContainer.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--18asccd\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--hefld1\" }) `display:flex;flex-direction:row;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1w2y0ok\" }) `&&&{text-align:left;width:52px;}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--fqwvpz\" }) `padding:0 4px;border-color:${theme.colors.neutral.ink.lightest};margin-right:4px;${(props) => props.hasError &&\n `\n border-color: ${theme.colors.secondary.red.base};\n `};`;\nexport { Container, Row, StyledTextField as TextField, StyledButton as Button };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { isWeightImperial, isWeightMetric } from './types';\nimport { ComponentSize } from '../types';\nimport { InputGroup } from '../InputGroup';\nimport { withLabels } from '../../hoc';\nimport { Container, TextField, Row, Button } from './styled';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\nexport const WeightInput = withLabels((_a) => {\n var { size = ComponentSize.base, hasError, className } = _a, rest = __rest(_a, [\"size\", \"hasError\", \"className\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n isWeightMetric(rest) && (React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeGram, name: \"gram\", type: \"number\", value: rest.gram, hasError: hasError, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"g\"))),\n isWeightImperial(rest) && (React.createElement(React.Fragment, null,\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangePound, name: \"pound\", type: \"number\", value: rest.pound, hasError: hasError, step: \"any\", min: \"0\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"lb\")),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeOunce, name: \"ounce\", type: \"number\", value: rest.ounce, hasError: hasError, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"oz\")))))));\n});\nWeightInput.displayName = 'WeightInput';\nWeightInput.defaultProps = {\n weightUnit: 'lb',\n};\n//# sourceMappingURL=WeightInput.js.map","export const isWeightMetric = (props) => {\n return props.weightUnit === 'g';\n};\nexport const isWeightImperial = (props) => {\n return props.weightUnit === 'lb' || props.weightUnit === 'oz';\n};\n//# sourceMappingURL=types.js.map","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","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { AlertContainer } from './styled';\nimport { ColourMap, IconMap, IconSizeMap, SpacingMap } from './constants';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const Alert = (_a) => {\n var { size = 'base', variant = 'default', colours: passedColours, rightActions, title, titleSlot, message, children, iconSlot, onClickClose } = _a, divProps = __rest(_a, [\"size\", \"variant\", \"colours\", \"rightActions\", \"title\", \"titleSlot\", \"message\", \"children\", \"iconSlot\", \"onClickClose\"]);\n const colours = passedColours !== null && passedColours !== void 0 ? passedColours : ColourMap[variant];\n const IconSlot = iconSlot || IconMap[variant];\n const isXsSize = size === 'xs';\n return (React.createElement(AlertContainer, Object.assign({ colours: colours, direction: \"horizontal\", alignX: \"between\", spacing: \"0\" }, divProps),\n React.createElement(Stack, { direction: \"horizontal\", alignY: isXsSize ? 'center' : 'start', style: { margin: SpacingMap[size], gap: SpacingMap[size] }, spacing: 0 },\n React.createElement(IconSlot, { \"aria-hidden\": true, style: {\n minWidth: IconSizeMap[size],\n minHeight: IconSizeMap[size],\n width: IconSizeMap[size],\n height: IconSizeMap[size],\n }, color: colours.primary }),\n React.createElement(Stack, { direction: \"vertical\", spacing: isXsSize ? 0 : 'xs' },\n titleSlot || (React.createElement(Text, { variant: isXsSize ? 'bodySmallBold' : 'bodyBold', style: size === 'base' ? { lineHeight: '24px' } : {} }, title)),\n children || React.createElement(Text, { variant: isXsSize ? 'bodySmall' : 'body' }, message))),\n React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", spacing: 0, style: {\n margin: isXsSize ? undefined : theme.sizes[3],\n gap: isXsSize ? undefined : SpacingMap[size],\n alignItems: 'center',\n } },\n rightActions && (React.createElement(Stack, { alignY: \"center\", spacing: 0, style: { gap: SpacingMap[size] } }, rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\", size: \"sm\" }, actionProps), label));\n }))),\n onClickClose && (React.createElement(Stack, { alignY: isXsSize ? 'center' : 'start', style: { height: '100%', padding: isXsSize ? theme.sizes.xs : undefined } },\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\", size: \"sm\" }))))));\n};\n//# sourceMappingURL=Alert.js.map","import { __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","/* 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 { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { Button } from '../Button';\nimport { Select } from '../Select';\nimport { DateInputField } from '../DateInputField';\nimport { RangeCalendar } from '../RangeCalendar';\nimport { Card } from '../Card';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { ComparePreviousPeriod } from './components/ComparePreviousPeriod';\nimport { DATE_RANGE_OPTIONS, DateRanges, checkForMatchingPreset, getDateRange } from './constants';\nimport { checkIfDateRangeInvalid } from './utils';\nimport { Divider } from './components/Divider';\nexport const DateRangePicker = (_a) => {\n var { \n // Style props\n className, style, isDisabled, \n // Customizable options\n showDatePresets = true, onReset, \n // Calendar props\n disabledRanges, selectedPreset, setSelectedPreset, selectedRange, setSelectedRange, \n // Previous period props\n 'aria-describedby': ariaDescribedBy, 'aria-label': ariaLabel } = _a, previousPeriodProps = __rest(_a, [\"className\", \"style\", \"isDisabled\", \"showDatePresets\", \"onReset\", \"disabledRanges\", \"selectedPreset\", \"setSelectedPreset\", \"selectedRange\", \"setSelectedRange\", 'aria-describedby', 'aria-label']);\n const updateRangePreset = (selectedValue) => {\n setSelectedRange(getDateRange(DateRanges[selectedValue]));\n setSelectedPreset(DATE_RANGE_OPTIONS.find(({ value }) => value === selectedValue) || DATE_RANGE_OPTIONS[0]);\n };\n const updateDateSegment = useCallback((slot) => (value) => {\n const newRange = {\n start: slot === 'start' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start,\n end: slot === 'end' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end,\n };\n setSelectedRange(newRange);\n }, [selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end, selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start, setSelectedRange]);\n const isDateRangeInvalid = useMemo(() => checkIfDateRangeInvalid({ disabledRanges, selectedRange }), [disabledRanges, selectedRange]);\n // Memoize finding preset since checkForMatchingPreset isn't quick.\n const matchedPreset = useMemo(() => {\n if (!selectedRange)\n return null;\n return checkForMatchingPreset(selectedRange);\n }, [selectedRange]);\n useEffect(() => {\n if (matchedPreset)\n setSelectedPreset(matchedPreset); // If selected value is a preset, set it.\n else\n setSelectedPreset(DATE_RANGE_OPTIONS[0]); // Otherwise, select \"custom\" option.\n }, [matchedPreset, setSelectedPreset]);\n return (React.createElement(Stack, { direction: \"vertical\", alignX: \"stretch\", spacing: \"0\", style: Object.assign({ gap: theme.sizes.base }, style), className: className, \"aria-describedby\": ariaDescribedBy, \"aria-label\": ariaLabel },\n showDatePresets && (React.createElement(Select, { disabled: isDisabled, label: \"Date Range\", options: DATE_RANGE_OPTIONS, value: selectedPreset === null || selectedPreset === void 0 ? void 0 : selectedPreset.value, onChange: updateRangePreset })),\n React.createElement(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 }),\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 })),\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","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 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 { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { MainSection, NonScrollableBody } from './components/styled';\nimport { hasFooterSlot, hasHeaderSlot } from './types';\nimport { Dialog } from './components/Dialog/Dialog';\nimport { useIsOverflowing } from '../../hooks/useIsOverflowing';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { CardHeader } from '../CardHeader';\nimport { Stack } from '../Stack';\nexport const Modal = (props) => {\n const { shouldShow, showHeaderCloseButton = true, fullBleed = false, variant = 'base', onClose: parentOnClose, children, } = props;\n const modalRef = useRef(null);\n const [mainSectionRef, setMainSectionRef] = useState(null);\n useEffect(() => {\n var _a, _b;\n if (shouldShow) {\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.removeAttribute('open'); // Allows for conditional rendering.\n (_b = modalRef.current) === null || _b === void 0 ? void 0 : _b.showModal();\n }\n }, [shouldShow]);\n const { isOverflowing: isContentOverflowing, onScroll } = useIsOverflowing(mainSectionRef);\n const onClose = () => {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close();\n parentOnClose();\n };\n return (React.createElement(AnimatePresence, null, shouldShow && (React.createElement(\"div\", { \"data-testid\": \"dialog-wrapper\" },\n React.createElement(NonScrollableBody, null),\n React.createElement(Dialog, { ref: modalRef, onClose: onClose, variant: variant, \"aria-describedby\": \"modal_title\" },\n React.createElement(Card.Surface, null,\n hasHeaderSlot(props) ? (props.headerSlot) : (React.createElement(CardHeader, Object.assign({ id: \"modal_title\", headerVariant: \"headingLarge\", title: props.headerTitle, subtitle: props.headerSubtitle }, (showHeaderCloseButton && { onClickClose: onClose })))),\n React.createElement(MainSection, { onScroll: onScroll, ref: setMainSectionRef, isScrollable: isContentOverflowing, fullBleed: fullBleed }, children),\n hasFooterSlot(props) && props.footerSlot,\n !hasFooterSlot(props) && (props.leftActions || props.rightActions) && (React.createElement(Card.Footer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: props.leftActions ? 'between' : 'end' },\n props.leftActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"start\", \"data-testid\": \"left-actions-container\" }, props.leftActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))),\n props.rightActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", \"data-testid\": \"right-actions-container\" }, props.rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))))))))))));\n};\n//# sourceMappingURL=Modal.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { PageInput, PaginationButton } from './styled';\nimport { PageCount } from './components';\nimport { usePagination } from './hooks/usePagination';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { StartArrowIcon } from '../../tempIcons/StartArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { EndArrowIcon } from '../../tempIcons/EndArrowIcon';\nimport { ComponentSize } from '../types';\nexport const Pagination = ({ testId, e2eClassName, currentPage, totalPagesCount, handleChangePage, }) => {\n const { pageInputValue, handleIncrement, handleDecrement, handleFormSubmit, handleInputChange, handleSubmit, } = usePagination({\n currentPage,\n totalPagesCount,\n handleChangePage,\n });\n /**\n * A function to go back to the first page, provided we aren't already there.\n */\n const handleSkipBack = () => {\n if (currentPage !== 1)\n handleChangePage(1);\n };\n /**\n * A function to go to the last page, provided we aren't already there.\n */\n const handleSkipToEnd = () => {\n if (currentPage !== totalPagesCount)\n handleChangePage(totalPagesCount);\n };\n return (React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"xs\", \"data-testid\": testId, className: e2eClassName },\n React.createElement(PaginationButton, { onClick: handleSkipBack, icon: React.createElement(StartArrowIcon, null), size: \"sm\", \"aria-label\": \"go to first page\" }),\n React.createElement(PaginationButton, { onClick: handleDecrement, icon: React.createElement(LeftArrowIcon, null), size: \"sm\", \"aria-label\": \"go to previous page\", \"aria-disabled\": currentPage <= 1 }),\n React.createElement(\"form\", { onSubmit: handleFormSubmit },\n React.createElement(PageInput, { \"aria-live\": \"polite\", \"aria-label\": `page ${currentPage} of ${totalPagesCount}`, size: ComponentSize.sm, type: \"number\", value: pageInputValue, min: \"1\", max: `${totalPagesCount}`, onChange: handleInputChange, onBlur: handleSubmit })),\n React.createElement(PageCount, { count: totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleIncrement, icon: React.createElement(RightArrowIcon, null), size: \"sm\", \"aria-label\": \"go to next page\", \"aria-disabled\": currentPage >= totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleSkipToEnd, icon: React.createElement(EndArrowIcon, null), size: \"sm\", \"aria-label\": \"go to last page\", \"aria-disabled\": currentPage >= totalPagesCount })));\n};\n//# sourceMappingURL=Pagination.js.map","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 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 { __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 { 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 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 React from 'react';\nimport { Popup } from './components/Popup';\nimport { PopupContent, VideoWrapper, ButtonSC } from './styled';\nimport { useClickOutside } from '../../hooks';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const VideoModal = ({ id, youtubeVideoId, showVideoModal, handleCloseClick, }) => {\n const ref = useClickOutside(showVideoModal, handleCloseClick);\n return (React.createElement(Popup, { shouldShow: showVideoModal, className: `${id}-video` },\n React.createElement(PopupContent, { \"data-testid\": \"video-modal_popup-content\", className: `video-modal--${showVideoModal ? 'visible' : 'hidden'}` },\n React.createElement(VideoWrapper, { ref: ref },\n React.createElement(\"iframe\", { title: `${id}-video`, src: `https://www.youtube.com/embed/${youtubeVideoId}`, frameBorder: \"0\", allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\", allowFullScreen: true }),\n React.createElement(ButtonSC, { variant: \"flat\", onClick: handleCloseClick, \"data-testid\": \"video-modal--close\", icon: React.createElement(CrossIcon, { color: \"white\" }) })))));\n};\n//# sourceMappingURL=VideoModal.js.map","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 } 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","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 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"],"names":["BaseContainer","styled","default","div","withConfig","displayName","componentId","componentMap","inputLabel","inputLabelSmall","headingSmall","headingMedium","headingLarge","headingXL","headingXXL","button","buttonSmall","getComponentOverride","as","variant","colors","brand","blue","lightest","light","base","dark","darkest","peach","neutral","ink","grey","greyBlue","secondary","red","yellow","green","lime","teal","aqua","purple","pink","orange","system","scrollbar","thumb","background","breakpoints","mobile","tablet","lgTablet","desktop","lgDesktop","radius","sm","md","lg","full","Shadows","SizeAlias","sizeScale","increment","unit","count","sizes","i","value","buildSizeScale","sizeAliases","none","line","xs","xl","xxl","Object","assign","common","fontFamily","text","fontStyle","fontWeight","fontSize","lineHeight","color","textDecoration","letterSpacing","headingTable","subheadingLarge","subheadingMedium","subheadingSmall","subheadingSmallBold","body","bodySmall","bodyBold","bodyBoldDark","bodySmallBold","linkLarge","linkMedium","link","linkSmall","hintText","placeholder","placeholderSmall","placeholderCode","placeholderCodeSmall","error","errorSmall","successSmall","theme","layers","popup","modal","tooltip","shadows","Text","span","attrs","muted","TapBarChild","Left","glyphColor","Right","AccordionSummary","summary","Top","Description","AccordionContent","motion","AccordionDetails","details","UnstyledAccordionContent","UnstyledAccordionSummary","UpArrowIcon","props","React","createElement","viewBox","fill","xmlns","role","height","fillRule","clipRule","d","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","SuppressedError","TailSpin","width","className","label","x1","y1","x2","y2","id","stopColor","stopOpacity","offset","transform","stroke","strokeWidth","attributeName","type","from","to","dur","repeatCount","cx","cy","r","Grid","begin","values","calcMode","ThreeDots","Loader","MainContent","hasText","$loading","size","BaseButton","paddingLeft","paddingRight","borderRadius","outlineWidth","hasIcon","hasDropdown","DefaultButton","DefaultDestructiveButton","PrimaryButton","PrimaryDestructiveButton","FlatButton","UnstyledButton","LinkButton","LoadingWrapper","DropdownIcon","variantMap","primary","destructive","primaryDestructive","flat","unstyled","Button","forwardRef","_a","ref","children","icon","dropdown","loading","otherProps","VariantButton","hasChildren","undefined","Header","header","HeaderGrid","DownArrowIcon","CrossIcon","CardHeader","title","subtitle","headerVariant","action","ActionSlot","isCollapsed","onClickCollapse","onClickClose","onClick","elevationShadowMap","accents","info","success","Footer","footer","Section","section","FullBleed","Body","Surface","elevation","accent","collapseAnimationVariants","expanded","collapsed","Card","style","HeaderActionSlot","collapsable","onClose","renderFooter","setIsCollapsed","useState","headerMarkup","showBody","bodyMarkup","animate","variants","transition","duration","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","opacity","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","dialogProps","setPopperElement","styles","attributes","update","usePopper","useMemo","popoverId","hasAttribute","console","warn","_","useUpdateAriaAnchor","resizeObserver","ResizeObserver","observe","disconnect","window","open","popper","minWidth","clientWidth","onKeyDown","DropdownPopover","reversed","popoverProps","AnimatePresence","initial","y","exit","Dropdown","shouldShow","setShouldShow","ctaIconSlot","ctaProps","dropdownProps","anchorRef","useRef","Fragment","current","useClickOutside","isOpen","escapeListener","useCallback","clickListener","contains","target","useDropdown","shouldShowDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","scrollHeight","clientHeight","onScroll","scrollTop","useId","getTextStyles","textTheme","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","AttentionIcon","HelpIcon","InfoIcon","SuccessIcon","SpacingMap","IconSizeMap","IconMap","warning","recommend","ColourMap","CommonAnchor","a","Container","BasicDropdown","BasicContainer","Wrap","AnimatedDropdown","cta","onClickAway","timeout","transitionClassnames","onMouseEnter","onMouseLeave","dropdownRef","handleClickAway","useClickAway","CSSTransition","in","classNames","unmountOnExit","AvatarSC","textColor","bgColor","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","Sides","defaultConfig","side","TOP","triangleOffset","TooltipPopover","content","hoverableElement","config","withTriangle","usedConfig","modifiers","name","options","tooltipStyles","tip","triangleOffsetSize","wrap","triangle","Tooltip","initialShouldShow","useReactPortal","setHoverableElement","trim","container","hoverable","hasContent","tooltipMarkup","ReactDOM","BaseBadge","hideBorder","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","href","DefaultSeparator","DefaultLink","BreadcrumbText","buttonStyles","css","calenderCellStyles","headerStyles","StyledRangeCalendar","RangeCalendar","columns","SubCalendarOption","DodecadeCalendar","currentYear","onFocusYear","year","Array","MONTHS","YearCalendar","onFocusMonth","month","monthIndex","MonthCalendar","todayDate","today","getLocalTimeZone","AriaCalendarGrid","weekdayStyle","CalendarGridHeader","day","CalendarHeaderCell","slice","CalendarGridBody","date","CalendarCell","compare","CalendarLevel","CalendarGrid","level","YEAR","DODECADE","visibleDurationMap","years","MONTH","months","levelMoveLabelMap","LeftArrowIcon","CalendarHeading","updatedProps","refUpdated","useContextProps","HeadingContext","generatedTitle","rest","entireMatch","group","test","whiteSpace","CalendarHeader","handleSwitchLevel","slot","margin","VQBtn","disabledRanges","disallowWeekends","onChange","focusedDate","setFocusedDate","isDateUnavailable","initialValue","setLevel","start","locale","useLocale","isWeekend","interval","Date","getFullYear","currentMonth","getMonth","CalendarDate","useRangeCalendarState","focusedValue","onFocusChange","visibleDuration","alignMap","top","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","HintText","ErrorText","Wrapper","disabled","BorderedWrapper","BlockTooltip","Choice","hint","bordered","Badge","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","Label","Hint","Error","RootStack","withLabels","marginBottom","hasError","DateRangeGroup","Group","$hasError","DateInputField","shouldForceLeadingZeros","rightAction","minValue","maxvalue","startValue","endValue","isDisabled","isReadOnly","isRangeInput","ariaDescribedBy","ariaLabelledBy","onChangeStartDate","onChangeEndDate","DateField","maxValue","DateInput","segment","DateSegment","SelectInput","select","sizeVariant","Select","hidden","Slider","switched","Switch","small","Toggle","choiceProps","DEFAULT_PREVIOUS_PERIOD_OPTIONS","ComparePreviousPeriod","selectedPreviousPeriod","setSelectedPreviousPeriod","showCompareSelect","setShowCompareSelect","display","gap","newValue","newOption","find","DateRanges","getDateRange","now","dateRange","TODAY","end","YESTERDAY","subtract","days","LAST_7_DAYS","LAST_30_DAYS","LAST_90_DAYS","LAST_MONTH","lastMonth","startOfMonth","endOfMonth","LAST_12_MONTHS","WEEK_TO_DATE","startOfWeek","navigator","language","MONTH_TO_DATE","YEAR_TO_DATE","startOfYear","range","timeRangeToDateRange","DATE_RANGE_OPTIONS","DEFAULT_SELECTION","DEFAULT_RANGE","DEFAULT_PRESET","checkIfDateRangeInvalid","selectedRange","presortStart","presortEnd","sort","disabledStart","disabledEnd","Divider","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","scrollPosition","visible","stripingMode","pinnedLeftStyles","index","array","reduce","acc","val","sumAllBeforeIndex","pinnedRightStyles","sumAllAfterIndex","isLeftShadowVisible","leftShadow","isRightShadowVisible","rightShadow","stripingRow","stripingNested","col","SortDirection","DoubleArrowIcon","ArrowUpIcon","ArrowDownIcon","GetSortIcon","sortState","columnId","ascending","useCellWidths","tableRef","containerRef","setCellWidths","updateCellWidths","cells","widths","cell","getBoundingClientRect","resizeObserverCallback","throttle","CustomEvent","Event","eventType","data","bubbles","cancelable","useColumnWidths","columnIds","getColumnWidths","cols","obj","item","columnWidths","setColumnWidths","newColumnWidths","keys","forEach","JSON","stringify","setColumnWidth","column","lastColumn","newWidth","_b","_c","querySelector","calculateWidth","evt","dispatchEvent","customEventEmitter","getColumnWidth","useColumns","onResizeColumns","originalSetColumnWidth","newColumns","updatedColumnWidths","columnWidth","pinned","notPinned","useDragToScroll","targetRef","isDragging","scrollTarget","position","left","x","mouseMoveHandler","dx","clientX","scrollLeft","cursor","userSelect","mouseUpHandler","removeProperty","mouseDownHandler","useScrollPosition","setScrollPosition","updateScrollPosition","scrollWidth","headerCellHeight","th","SelectionHeader","selectionMode","headerProps","Cell","td","SelectionCell","rowId","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","selectedRowIds","setSelectedRowIds","toggleAllSelected","selectionColumn","renderHeader","renderCell","row","rowState","setSelected","rowIds","findIndex","splice","SortIndicator","HeaderContent","ClickableHeaderContent","ResizerBar","ColumnDivider","createRef","mouseMove","minTranslate","dragDivider","dragInitX","tableHeaders","translate","Math","parentElement","classList","add","initWidth","contentWidth","finalWidth","deltaX","mouseUp","remove","trackMouseStart","onMouseDown","onDragStart","onChangeSort","resizeableColumns","columnCount","columnI","sortable","String","ColumnHeaderContent","columnHeaderProps","log","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","stickyContainerRef","isVisible","setIsVisible","setContainerRect","updateContainerDimensions","targetRect","newRect","updateContainerScrollPosition","xScrollOffset","scrollTo","threshold","containerStyle","overflowX","overflowY","borderBottom","allCss","getRowState","expandedRowIds","disabledRowIds","defaultEmptyState","heading","emptyAction","DataTable","ActionBarSlot","initialColumns","emptyState","loadingRowCount","rows","setExpanded","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","adjustedCellWidths","Number","isNaN","loadingRows","random","renderLoadingCell","subheading","renderRow","e2eClassName","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","border","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","ColumnGrid","showSidebar","ContentContainer","InputGroup","ComponentSize","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","step","spellCheck","RegExp","StyledTextField","StyledButton","blockInvalidCharacters","invalidList","invalidCharsList","blockInvalidChars","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","NonSelectableText","GroupLabel","MainIcon","$shouldShow","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","iconSize","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","middle","WrapperBordered","Head","thead","tbody","fixedColumnsStyle","tfoot","grow","HeaderCell","alignmentMap","HeaderCellLayout","Table","isFixedLayout","striped","tableLoading","noWrap","StickyHeaderWrapper","FakeHeaderTable","SpecificStateContainer","EllipseContainer","TitleText","SubTitleText","SpecificState","CellButton","ClickableButton","SkeletonContentWrapper","SkeletonContentComponent","isLoading","SkeletonContent","SkeletonCell","StickyHeader","wrapperRef","wrapperStyle","headerWrapperRef","setHeaderWrapperRef","topOffset","handleScrollChange","bottom","sticky","useStickyHeader","wrapperWidth","useScroll","updateScroll","tableLayout","convertFixedColumnInlineStyleToStyled","push","abs","SkeletonHeaderCell","DoubleArrowAscIcon","DoubleArrowDescIcon","IconUnsorted","IconSortAsc","IconSortDesc","LegacyDataTable","borderless","headers","renderLoadingRow","renderFooterRow","renderFooterLoadingRow","omitFooterSelectionCell","disabledSelectionInputRowIds","onChangeSelectedRowIds","sortColumnId","sortDirection","isError","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","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","bounce","Dialog","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","StartArrowIcon","EndArrowIcon","StepButton","Stepper","onIncrement","onDecrement","PrefixContainer","PrefixText","PriceInputGroup","PriceInput","currency","onPriceChange","priceValue","callback","parseFloat","toFixed","onBlur","roundedValue","form","blur","ScreenReaderOnlyElement","IconContainer","iconPosition","SearchIcon","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","ShortcutKeysContainer","$inverse","Kbd","kbd","ValidModifierKeysMap","command","windows","shift","ctrl","alt","enter","delete","escape","up","down","space","ValidModifierKeyssLabelMap","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","Skeleton","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","Tag","ToastsLayoutContainer","Toast","last","IconWrap","ContentStack","toastTypes","merge","closeIcon","iconSlot","ToastContainer","borderColor","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","split","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","ViewTypes","CounterText","Contour","colourPalette","customTextColour","active","CounterContainer","IconStyling","CustomIconWrapper","EditIcon","edit","counter","ViewTabTypes","ThreeDotsIcon","ThreeDotsIconStyling","CrossIconStyling","ViewButton","ViewTab","subAction","ariaContext","handleEnter","handleLeave","isDraft","draft","isSaved","saved","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","reverse","getPrevViewPosition","createViewPositionArray","ViewsContainer","onClickMenu","ariaMenuControls","ariaMenuExpanded","menuRef","viewsRef","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce","description","shouldOpenOnMount","summaryTextVariant","shouldOpen","setShouldOpen","handleOpen","FRAMER_MOTION_CONFIG","rotate","passedColours","rightActions","titleSlot","message","divProps","IconSlot","isXsSize","minHeight","actionProps","rel","isExternal","setDefaultRelValue","userInitials","toUpperCase","match","BadgeVariant","Pill","marginRight","items","Separator","pathname","onCopy","copied","setCopied","handleCopy","clipboard","writeText","showDatePresets","onReset","selectedPreset","setSelectedPreset","setSelectedRange","previousPeriodProps","updateDateSegment","newRange","isDateRangeInvalid","matchedPreset","optionDateRange","optionStart","optionEnd","checkForMatchingPreset","showPreviousPeriod","horizontal","renderDescription","isArray","term","shouldShowSidebar","setShouldShowSidebar","shouldCloseOnClickAway","setAnchorElement","handleClick","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","src","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","setImage","onMouseUp","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","removeAttribute","showModal","isContentOverflowing","close","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","testId","onSubmit","onClearClick","onFocus","onKeyUp","onKeyPress","autoComplete","shouldShowClear","shortcut","inverse","displayLabel","shortcutElements","previousKbdElement","currentKbdElement","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","toasts","TransitionGroup","component","toast","tabIndex","youtubeVideoId","showVideoModal","handleCloseClick","frameBorder","allow","allowFullScreen","onDelete","onEdit","handleDelete","handleEdit","handler","clearTimeout","isFocused","setIsFocused","useContext","focusVisible","setExpandedRowIds","nestedTableProps","tabs","defaultActiveIndex","listOfTabs","setActive","newActiveTab","tab"],"mappings":"8gBACY,MAACA,EAAgBC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,qBAAsBC,YAAa,eAAiB,8DCDhHC,EAAe,CACjBC,WAAY,QACZC,gBAAiB,QACjBC,aAAc,KACdC,cAAe,KACfC,aAAc,KACdC,UAAW,KACXC,WAAY,KAEZC,OAAQ,SACRC,YAAa,UAEJC,EAAuB,CAACC,EAAIC,IACjCD,IAEAC,EACOZ,EAAaY,QADxB,GCfSC,EAAS,CAClBC,MAAO,CACHC,KAAM,CACFC,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,WAEbC,MAAO,CACHL,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,YAGjBE,QAAS,CACLC,IAAK,CACDP,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,WAEVK,KAAM,CACFR,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,WAEVM,SAAU,CACNT,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,YAGdO,UAAW,CACPC,IAAK,CACDX,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,WAEbQ,OAAQ,CACJZ,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,WAEbS,MAAO,CACHb,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,WAEbU,KAAM,CACFd,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,WAEbW,KAAM,CACFf,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,WAEbY,KAAM,CACFhB,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,WAEba,OAAQ,CACJjB,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,WAEbL,KAAM,CACFC,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,WAEbc,KAAM,CACFlB,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,WAEbe,OAAQ,CACJnB,SAAU,UACVC,MAAO,UACPC,KAAM,UACNC,KAAM,UACNC,QAAS,YAGjBgB,OAAQ,CACJC,UAAW,CACPC,MAAO,yBACPC,WAAY,iBChHXC,EAAc,CACvBC,OAAQ,QACRC,OAAQ,QACRC,SAAU,QACVC,QAAS,SACTC,UAAW,UCLFC,EAAS,CAClBC,GAAI,WACJ7B,KAAM,UACN8B,GAAI,SACJC,GAAI,UACJC,KAAM,OCLH,IAAIC,ECAPC,GDCJ,SAAWD,GACPA,EAAY,GAAI,qCAChBA,EAAc,KAAI,oCAClBA,EAAY,GAAI,sCAChBA,EAAY,GAAI,qCACnB,CALD,CAKGA,IAAYA,EAAU,CAAA,ICLzB,SAAWC,GACPA,EAAgB,KAAI,OACpBA,EAAgB,KAAI,OACpBA,EAAc,GAAI,KAClBA,EAAc,GAAI,KAClBA,EAAgB,KAAI,OACpBA,EAAc,GAAI,KAClBA,EAAc,GAAI,KAClBA,EAAc,GAAI,KAClBA,EAAe,IAAI,KACtB,CAVD,CAUGA,IAAcA,EAAY,CAAE,IAUxB,MAAMC,EATb,UAAwBC,UAAEA,EAASC,KAAEA,EAAIC,MAAEA,IACvC,MAAMC,EAAQ,CAAA,EAEd,IAAK,IAAIC,EAAI,EAAGA,GAAKF,EAAOE,IAAK,CAC7B,MAAMC,EAAQD,EAAIJ,EAClBG,EAAMC,GAAK,GAAGC,IAAQJ,GACzB,CACD,OAAOE,CACX,CACyBG,CAAe,CAAEN,UAAW,IAAMC,KAAM,MAAOC,MAAO,KAClEK,EAAc,CACvB,CAACT,EAAUU,MAAO,IAClB,CAACV,EAAUW,MAAO,MAClB,CAACX,EAAUY,IAAKX,EAAU,GAC1B,CAACD,EAAUL,IAAKM,EAAU,GAC1B,CAACD,EAAUlC,MAAOmC,EAAU,GAC5B,CAACD,EAAUJ,IAAKK,EAAU,GAC1B,CAACD,EAAUH,IAAKI,EAAU,GAC1B,CAACD,EAAUa,IAAKZ,EAAU,IAC1B,CAACD,EAAUc,KAAMb,EAAU,KAElBI,EAAQU,OAAOC,OAAOD,OAAOC,OAAO,GAAIP,GAAcR,GChCtDgB,EAAS,CAClBC,WAAY,gJAEHC,EAAO,CAChBhE,WAAY,CACR+D,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,aAEnBxE,UAAW,CACPgE,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,YAEnBzE,aAAc,CACViE,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,aAEnB1E,cAAe,CACXkE,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,aAEnB3E,aAAc,CACVmE,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,aAEnBC,aAAc,CACVT,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,KAEnBE,gBAAiB,CACbV,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIN,MAC1B4D,eAAgB,OAChBC,cAAe,aAEnBG,iBAAkB,CACdX,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIN,MAC1B4D,eAAgB,OAChBC,cAAe,aAEnBI,gBAAiB,CACbZ,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIN,MAC1B4D,eAAgB,OAChBC,cAAe,KAEnBK,oBAAqB,CACjBb,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,KAEnBM,KAAM,CACFd,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,aAEnBO,UAAW,CACPf,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,KAEnBQ,SAAU,CACNhB,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,aAEnBS,aAAc,CACVjB,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIJ,KAC1B0D,eAAgB,OAChBC,cAAe,KAEnBU,cAAe,CACXlB,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,KAEnBtE,OAAQ,CACJ8D,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOa,UAAUX,KAAKG,KAC7B2D,eAAgB,OAChBC,cAAe,aAEnBrE,YAAa,CACT6D,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOa,UAAUX,KAAKG,KAC7B2D,eAAgB,OAChBC,cAAe,aAEnBW,UAAW,CACPnB,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOa,UAAUX,KAAKG,KAC7B2D,eAAgB,YAChBC,cAAe,aAEnBY,WAAY,CACRpB,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOa,UAAUX,KAAKG,KAC7B2D,eAAgB,YAChBC,cAAe,aAEnBa,KAAM,CACFrB,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOa,UAAUX,KAAKG,KAC7B2D,eAAgB,YAChBC,cAAe,aAEnBc,UAAW,CACPtB,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOa,UAAUX,KAAKG,KAC7B2D,eAAgB,YAChBC,cAAe,KAEnB7E,WAAY,CACRqE,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,aAEnB5E,gBAAiB,CACboE,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIL,KAC1B2D,eAAgB,OAChBC,cAAe,KAEnBe,SAAU,CACNvB,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIN,MAC1B4D,eAAgB,OAChBC,cAAe,KAEnBgB,YAAa,CACTxB,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIP,SAC1B6D,eAAgB,OAChBC,cAAe,aAEnBiB,iBAAkB,CACdzB,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIP,SAC1B6D,eAAgB,OAChBC,cAAe,KAEnBkB,gBAAiB,CACb1B,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIP,SAC1B6D,eAAgB,OAChBC,cAAe,UAEnBmB,qBAAsB,CAClB3B,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOS,QAAQC,IAAIP,SAC1B6D,eAAgB,OAChBC,cAAe,YAEnBoB,MAAO,CACH5B,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOa,UAAUC,IAAIT,KAC5B2D,eAAgB,OAChBC,cAAe,aAEnBqB,WAAY,CACR7B,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOa,UAAUC,IAAIT,KAC5B2D,eAAgB,OAChBC,cAAe,KAEnBsB,aAAc,CACV9B,WAAYD,EAAOC,WACnBE,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,OACZC,MAAO/D,EAAOa,UAAUG,MAAMX,KAC9B2D,eAAgB,OAChBC,cAAe,MClTVuB,EAAQlC,OAAOC,OAAOD,OAAOC,OAAO,GAAIC,GAAS,aAAE7B,EAChE3B,OAAIA,EACAyF,OCTkB,CAClBpF,KAAM,EACNqF,MAAO,IACPC,MAAO,IACPC,QAAS,KDMb3D,OAAIA,EAAQ4D,QAASvD,QAASM,EAC9Bc,KAAIA,KEREA,KAAEA,EAAM1D,OAAAA,EAAMyD,WAAEA,GAAe+B,EACxBM,EAAOjH,EAAMC,QAACiH,KAAKC,OAAM,EAAGlG,KAAIC,cAAe,CACxDD,GAAID,EAAqBC,EAAIC,OAC7Bf,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,iIAAiIuE,oCAA6C,EAAG1D,cAA2B,WAAZA,GAAoC,gBAAZA,IAC7R,oFAIG,EAAGA,UAASkG,SAAQ,MACvB,IAAKlG,EACD,MAAO,GACX,MAAMgE,EAAQkC,EAAQjG,EAAOS,QAAQC,IAAIP,SAAWuD,EAAK3D,GAASgE,MAClE,MAAO,wBACUL,EAAK3D,GAAS0D,kCACfC,EAAK3D,GAAS4D,kCACbD,EAAK3D,GAAS6D,iCAChBF,EAAK3D,GAAS8D,iCACZH,EAAK3D,GAAS+D,6BACpBC,8BACUL,EAAK3D,GAASiE,0CACfN,EAAK3D,GAASkE,sBACjC,IClBCiC,EAAcrH,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,eAAiB,sDAChHiH,EAAOtH,EAAMC,QAACoH,GAAalH,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,gCAAgC0D,EAAMvC,cAAcuC,EAAMvC,cAAc,EAAG+F,gBAAiBA,MAC5LC,EAAQxH,EAAMC,QAACoH,GAAalH,WAAW,CAAEC,YAAa,aAAcC,YAAa,gBAAkB,wCAKnGoH,EAAmBzH,EAAAA,QAAO0H,QAAQvH,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,gBAAkB,sHAAsHsG,EAAMxF,OAAOS,QAAQE,KAAKL,iDAAiDkF,EAAMxF,OAAOa,UAAUX,KAAKE,uCAAuCoF,EAAMxF,OAAOa,UAAUX,KAAKE,UACpZoG,EAAM3H,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,WAAYC,YAAa,eAAiB,kEAChGuH,EAAc5H,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,gBAAkB,kBACxGwH,EAAmB7H,EAAAA,QAAO8H,EAAAA,OAAO/H,IAAgBI,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,eAAiB,wEAClI0H,EAAmB/H,EAAMC,QAAC+H,QAAQ7H,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,eAAiB,wEACnH4H,EAA2BjI,EAAAA,QAAO8H,EAAAA,OAAO/H,IAAgBI,WAAW,CAAEC,YAAa,gCAAiCC,YAAa,eAAiB,GAClJ6H,EAA2BlI,EAAMC,QAACyH,QAAQvH,WAAW,CAAEC,YAAa,gCAAiCC,YAAa,eAAiB,6CAA6CsG,EAAMxF,OAAOa,UAAUX,KAAKE,UCjBrM4G,EAAeC,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,6BAA8BC,KAAM,eAAgBC,OAAQ5E,EAAMT,IAAM8E,GACjMC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,6GAA8GN,KAAM,kBCuC5L,SAASO,EAAOC,EAAGC,GACtB,IAAIC,EAAI,CAAA,EACR,IAAK,IAAIC,KAAKH,EAAOvE,OAAO2E,UAAUC,eAAeC,KAAKN,EAAGG,IAAMF,EAAEM,QAAQJ,GAAK,IAC9ED,EAAEC,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,mBAAjCvE,OAAO+E,sBACtB,KAAIxF,EAAI,EAAb,IAAgBmF,EAAI1E,OAAO+E,sBAAsBR,GAAIhF,EAAImF,EAAEM,OAAQzF,IAC3DiF,EAAEM,QAAQJ,EAAEnF,IAAM,GAAKS,OAAO2E,UAAUM,qBAAqBJ,KAAKN,EAAGG,EAAEnF,MACvEkF,EAAEC,EAAEnF,IAAMgF,EAAEG,EAAEnF,IAF4B,CAItD,OAAOkF,CACX,CAuQkD,mBAApBS,iBAAiCA,gBC1TxD,MAAMC,EAAW,EAAGC,QAAOlB,SAAQmB,YAAW5E,QAAO6E,WAAa1B,EAAAA,QAAMC,cAAc,MAAO,CAAEuB,MAAOA,EAAOlB,OAAQA,EAAQmB,UAAWA,EAAWvB,QAAS,YAAaE,MAAO,6BAA8B,aAAcsB,GAC/N1B,UAAMC,cAAc,OAAQ,KACxBD,EAAAA,QAAMC,cAAc,iBAAkB,CAAE0B,GAAI,SAAUC,GAAI,KAAMC,GAAI,UAAWC,GAAI,UAAWC,GAAI,KAC9F/B,UAAMC,cAAc,OAAQ,CAAE+B,UAAWnF,EAAOoF,YAAa,IAAKC,OAAQ,OAC1ElC,UAAMC,cAAc,OAAQ,CAAE+B,UAAWnF,EAAOoF,YAAa,OAAQC,OAAQ,YAC7ElC,UAAMC,cAAc,OAAQ,CAAE+B,UAAWnF,EAAOqF,OAAQ,WAChElC,EAAKpI,QAACqI,cAAc,IAAK,CAAEE,KAAM,OAAQI,SAAU,WAC/CP,EAAAA,QAAMC,cAAc,IAAK,CAAEkC,UAAW,kBAClCnC,EAAAA,QAAMC,cAAc,OAAQ,CAAEQ,EAAG,8BAA+BsB,GAAI,SAAUK,OAAQvF,EAAOwF,YAAa,KACtGrC,EAAKpI,QAACqI,cAAc,mBAAoB,CAAEqC,cAAe,YAAaC,KAAM,SAAUC,KAAM,UAAWC,GAAI,YAAaC,IAAK,OAAQC,YAAa,gBACtJ3C,EAAAA,QAAMC,cAAc,SAAU,CAAEE,KAAM,OAAQyC,GAAI,KAAMC,GAAI,KAAMC,EAAG,KACjE9C,UAAMC,cAAc,mBAAoB,CAAEqC,cAAe,YAAaC,KAAM,SAAUC,KAAM,UAAWC,GAAI,YAAaC,IAAK,OAAQC,YAAa,mBCXrJI,EAAO,EAAGvB,QAAOlB,SAAQmB,YAAW5E,QAAO6E,WAAa1B,EAAAA,QAAMC,cAAc,MAAO,CAAEuB,MAAOA,EAAOlB,OAAQA,EAAQmB,UAAWA,EAAWvB,QAAS,cAAeC,KAAMtD,EAAO,aAAc6E,GACrM1B,UAAMC,cAAc,SAAU,CAAE2C,GAAI,OAAQC,GAAI,OAAQC,EAAG,QACvD9C,EAAKpI,QAACqI,cAAc,UAAW,CAAEqC,cAAe,eAAgBU,MAAO,KAAMN,IAAK,KAAMO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,gBAC/I3C,UAAMC,cAAc,SAAU,CAAE2C,GAAI,OAAQC,GAAI,OAAQC,EAAG,QACvD9C,EAAKpI,QAACqI,cAAc,UAAW,CAAEqC,cAAe,eAAgBU,MAAO,QAASN,IAAK,KAAMO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,gBAClJ3C,UAAMC,cAAc,SAAU,CAAE2C,GAAI,OAAQC,GAAI,OAAQC,EAAG,QACvD9C,EAAKpI,QAACqI,cAAc,UAAW,CAAEqC,cAAe,eAAgBU,MAAO,QAASN,IAAK,KAAMO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,gBAClJ3C,UAAMC,cAAc,SAAU,CAAE2C,GAAI,OAAQC,GAAI,OAAQC,EAAG,QACvD9C,EAAKpI,QAACqI,cAAc,UAAW,CAAEqC,cAAe,eAAgBU,MAAO,QAASN,IAAK,KAAMO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,gBAClJ3C,UAAMC,cAAc,SAAU,CAAE2C,GAAI,OAAQC,GAAI,OAAQC,EAAG,QACvD9C,EAAKpI,QAACqI,cAAc,UAAW,CAAEqC,cAAe,eAAgBU,MAAO,QAASN,IAAK,KAAMO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,gBAClJ3C,UAAMC,cAAc,SAAU,CAAE2C,GAAI,OAAQC,GAAI,OAAQC,EAAG,QACvD9C,EAAKpI,QAACqI,cAAc,UAAW,CAAEqC,cAAe,eAAgBU,MAAO,QAASN,IAAK,KAAMO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,gBAClJ3C,UAAMC,cAAc,SAAU,CAAE2C,GAAI,OAAQC,GAAI,OAAQC,EAAG,QACvD9C,EAAKpI,QAACqI,cAAc,UAAW,CAAEqC,cAAe,eAAgBU,MAAO,QAASN,IAAK,KAAMO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,gBAClJ3C,UAAMC,cAAc,SAAU,CAAE2C,GAAI,OAAQC,GAAI,OAAQC,EAAG,QACvD9C,EAAKpI,QAACqI,cAAc,UAAW,CAAEqC,cAAe,eAAgBU,MAAO,QAASN,IAAK,KAAMO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,gBAClJ3C,UAAMC,cAAc,SAAU,CAAE2C,GAAI,OAAQC,GAAI,OAAQC,EAAG,QACvD9C,EAAKpI,QAACqI,cAAc,UAAW,CAAEqC,cAAe,eAAgBU,MAAO,QAASN,IAAK,KAAMO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,iBClBzIQ,EAAY,EAAG3B,QAAOlB,SAAQmB,YAAW5E,QAAO6E,WAAa1B,EAAKpI,QAACqI,cAAc,MAAO,CAAEuB,MAAOA,EAAOlB,OAAQA,EAAQmB,UAAWA,EAAWvB,QAAS,aAAcE,MAAO,6BAA8BD,KAAMtD,EAAO,aAAc6E,GAC9O1B,UAAMC,cAAc,SAAU,CAAE2C,GAAI,KAAMC,GAAI,KAAMC,EAAG,MACnD9C,UAAMC,cAAc,UAAW,CAAEqC,cAAe,IAAKE,KAAM,KAAMC,GAAI,KAAMO,MAAO,KAAMN,IAAK,OAAQO,OAAQ,UAAWC,SAAU,SAAUP,YAAa,eACzJ3C,UAAMC,cAAc,UAAW,CAAEqC,cAAe,cAAeE,KAAM,IAAKC,GAAI,IAAKO,MAAO,KAAMN,IAAK,OAAQO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,gBACpK3C,EAAKpI,QAACqI,cAAc,SAAU,CAAE2C,GAAI,KAAMC,GAAI,KAAMC,EAAG,IAAKR,cAAe,cAAeE,KAAM,IAAKC,GAAI,OACrGzC,UAAMC,cAAc,UAAW,CAAEqC,cAAe,IAAKE,KAAM,IAAKC,GAAI,IAAKO,MAAO,KAAMN,IAAK,OAAQO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,eACtJ3C,UAAMC,cAAc,UAAW,CAAEqC,cAAe,cAAeE,KAAM,MAAOC,GAAI,MAAOO,MAAO,KAAMN,IAAK,OAAQO,OAAQ,UAAWC,SAAU,SAAUP,YAAa,gBACzK3C,UAAMC,cAAc,SAAU,CAAE2C,GAAI,MAAOC,GAAI,KAAMC,EAAG,MACpD9C,UAAMC,cAAc,UAAW,CAAEqC,cAAe,IAAKE,KAAM,KAAMC,GAAI,KAAMO,MAAO,KAAMN,IAAK,OAAQO,OAAQ,UAAWC,SAAU,SAAUP,YAAa,eACzJ3C,UAAMC,cAAc,UAAW,CAAEqC,cAAe,cAAeE,KAAM,IAAKC,GAAI,IAAKO,MAAO,KAAMN,IAAK,OAAQO,OAAQ,SAAUC,SAAU,SAAUP,YAAa,iBCN3JS,EAAS,EAAG3B,YAAWnB,SAAS,GAAIkB,QAAQ,GAAI3E,QAAQ,UAAW0F,OAAO,eACnF,OAAQA,GACJ,IAAK,OACD,OAAOvC,EAAKpI,QAACqI,cAAc8C,EAAM,CAAEtB,UAAWA,EAAWnB,OAAQA,EAAQkB,MAAOA,EAAO3E,MAAOA,IAElG,IAAK,YACD,OAAOmD,EAAKpI,QAACqI,cAAckD,EAAW,CAAE1B,UAAWA,EAAWnB,OAAQA,EAAQkB,MAAOA,EAAO3E,MAAOA,IAGvG,QACI,OAAOmD,EAAKpI,QAACqI,cAAcsB,EAAU,CAAEE,UAAWA,EAAWnB,OAAQA,EAAQkB,MAAOA,EAAO3E,MAAOA,IAEzG,ECbQwG,GAAc1L,EAAMC,QAACiH,KAAK/G,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,eAAiB,8CAA8C,EAAGsL,aAAeA,EAAU,MAAQ,SAAU,EAAGC,cAAgBA,EAAW,cAAgB,kBAAmB,EAAGC,UAAW9H,EAAM8H,aAAgB,EAAGA,UAAW9H,EAAM8H,OAClUC,GAAa9L,EAAMC,QAACa,OAAOX,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,eAAiB,4IAA4IsG,EAAM/B,+FAAgGwD,IAC1V,IAAIO,EAAS,OACToD,EAAc,OACdC,EAAe,OACfC,EAAe,MACfjH,EAAW,OACXkH,EAAe,MAyBnB,OAxBI9D,EAAM+D,UACNJ,EAAc,QAEd3D,EAAMgE,cACNJ,EAAe,QAEA,OAAf5D,EAAMyD,OACNlD,EAAS,OACToD,EAAc,OACdC,EAAe,OACfC,EAAe,MACfjH,EAAW,OACXkH,EAAe,MACX9D,EAAM+D,UACNJ,EAAc,OAEd3D,EAAMgE,cACNJ,EAAe,QAGlB5D,EAAMuD,UACPI,EAAc,MACdC,EAAe,OAEZ,4BACcE,uBAETvD,2BACMoD,4BACCC,4BACAC,wBACJjH,0BACEA,UAChB,qFAEQqH,GAAgBrM,EAAAA,QAAO8L,IAAY3L,WAAW,CAAEC,YAAa,qBAAsBC,YAAa,gBAAkB,gBAAgBsG,EAAMxF,OAAOS,QAAQE,KAAKL,iFAAiF,EAAGkK,aAAcA,EAAUhF,EAAMxF,OAAOS,QAAQC,IAAIL,KAAOmF,EAAMxF,OAAOa,UAAUX,KAAKG,iCAAiCmF,EAAMxF,OAAOS,QAAQE,KAAKR,uCAAuCqF,EAAMxF,OAAOS,QAAQE,KAAKR,yBAAyBqF,EAAMxF,OAAOa,UAAUX,KAAKG,6CAA6CmF,EAAMxF,OAAOa,UAAUX,KAAKE,+DAA+DoF,EAAMxF,OAAOa,UAAUX,KAAKE,2EAA2EoF,EAAMxF,OAAOS,QAAQE,KAAKN,gCAAgCmF,EAAMxF,OAAOS,QAAQE,KAAKN,yBAAyBmF,EAAMxF,OAAOS,QAAQC,IAAIN,qBAC12B+K,GAA2BtM,EAAMC,QAACoM,IAAelM,WAAW,CAAEC,YAAa,gCAAiCC,YAAa,gBAAkB,SAASsG,EAAMxF,OAAOa,UAAUC,IAAIT,sBAAsBmF,EAAMxF,OAAOa,UAAUC,IAAIR,+BAA+BkF,EAAMxF,OAAOa,UAAUC,IAAIT,6CAA6CmF,EAAMxF,OAAOa,UAAUC,IAAIV,eAAeoF,EAAMxF,OAAOa,UAAUC,IAAIR,8DAA8DkF,EAAMxF,OAAOa,UAAUC,IAAIV,UACregL,GAAgBvM,EAAAA,QAAOqM,IAAelM,WAAW,CAAEC,YAAa,qBAAsBC,YAAa,gBAAkB,oBAAoBsG,EAAMxF,OAAOa,UAAUX,KAAKG,qBAAqBmF,EAAMxF,OAAOa,UAAUX,KAAKG,6CAA6CmF,EAAMxF,OAAOa,UAAUX,KAAKI,qBAAqBkF,EAAMxF,OAAOa,UAAUX,KAAKI,mCAAmCkF,EAAMxF,OAAOa,UAAUX,KAAKI,qBAAqBkF,EAAMxF,OAAOa,UAAUX,KAAKI,6CAA6CkF,EAAMxF,OAAOa,UAAUX,KAAKE,+DAA+DoF,EAAMxF,OAAOa,UAAUX,KAAKE,UACpmBiL,GAA2BxM,EAAAA,QAAOuM,IAAepM,WAAW,CAAEC,YAAa,gCAAiCC,YAAa,gBAAkB,oBAAoBsG,EAAMxF,OAAOa,UAAUC,IAAIT,qBAAqBmF,EAAMxF,OAAOa,UAAUC,IAAIT,6CAA6CmF,EAAMxF,OAAOa,UAAUC,IAAIR,qBAAqBkF,EAAMxF,OAAOa,UAAUC,IAAIR,mCAAmCkF,EAAMxF,OAAOa,UAAUC,IAAIR,qBAAqBkF,EAAMxF,OAAOa,UAAUC,IAAIR,6CAA6CkF,EAAMxF,OAAOa,UAAUC,IAAIV,+DAA+DoF,EAAMxF,OAAOa,UAAUC,IAAIV,UAClnBkL,GAAazM,EAAAA,QAAO8L,IAAY3L,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,eAAiB,kDAAkDsG,EAAMxF,OAAOS,QAAQC,IAAIL,iCAAiCmF,EAAMxF,OAAOS,QAAQE,KAAKP,oCAAoCoF,EAAMxF,OAAOS,QAAQE,KAAKP,8CAA8CoF,EAAMxF,OAAOa,UAAUX,KAAKE,+DAA+DoF,EAAMxF,OAAOa,UAAUX,KAAKE,sFACpdmL,GAAiB1M,EAAMC,QAACa,OAAOX,WAAW,CAAEC,YAAa,sBAAuBC,YAAa,eAAiB,wGAC9GsM,GAAa3M,EAAMC,QAACyM,IAAgBvM,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,eAAiB,yEAAyEsG,EAAM9B,KAAKoB,KAAKrB,wBAAwB+B,EAAM9B,KAAKoB,KAAKjB,wBAAwB2B,EAAM9B,KAAKoB,KAAKjB,wBAAwB2B,EAAM9B,KAAKoB,KAAKlB,0BAA0B4B,EAAM9B,KAAKoB,KAAKhB,8BAA8B0B,EAAM9B,KAAKoB,KAAKd,wBAAwBwB,EAAMxF,OAAOa,UAAUX,KAAKG,sBAAsBmF,EAAMxF,OAAOa,UAAUX,KAAKI,+BAA+BkF,EAAM5C,MAAMO,sEAAsEqC,EAAMxF,OAAOa,UAAUX,KAAKE,4BAC3oBqL,GAAiB5M,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,sBAAuBC,YAAa,gBAAkB,wHCpD5GwM,GAAgBzE,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC1JC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,oBAAqBN,KAAM,kBCGpGsE,GAAa,CACf7M,QAASoM,GACTU,QAASR,GACTS,YAAaV,GACbW,mBAAoBT,GACpBU,KAAMT,GACNxG,KAAM0G,GACNQ,SAAUT,IAEDU,GAASC,EAAUA,YAAC,CAACC,EAAIC,KAClC,IAAIzD,UAAEA,EAAS0D,SAAEA,EAAQC,KAAEA,EAAIvM,QAAEA,EAAU,UAAS2K,KAAEA,EAAO,OAAM6B,SAAEA,GAAW,EAAKC,QAAEA,GAAU,GAAUL,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,YAAa,WAAY,OAAQ,UAAW,OAAQ,WAAY,YACxM,GAAgB,aAAZpM,EACA,OAAQmH,EAAKpI,QAACqI,cAAcoE,GAAgBjI,OAAOC,OAAO,CAAE6I,IAAKA,EAAKzD,UAAWA,GAAa8D,GAAaJ,GAE/G,MAAMK,EAAgBf,GAAW5L,GAC3B4M,OAA2BC,IAAbP,EACdrB,IAAYsB,EAClB,OAAQpF,EAAKpI,QAACqI,cAAcuF,EAAepJ,OAAOC,OAAO,CAAE6I,IAAKA,EAAKzD,UAAWA,EAAW+B,KAAMA,EAAMF,QAASmC,EAAa3B,QAASA,EAASC,YAAasB,GAAYE,IACnKE,GAAe3B,IAAa9D,EAAKpI,QAACqI,cAAcoD,GAAa,CAAEE,SAAY+B,EAAShC,UAAW6B,EAAU3B,KAAM2B,GAAqB,OAAT3B,EAAgB,OAAS,MACjJ4B,GAAQA,OACKM,IAAbP,GAA0BA,EAC1BE,GAAYrF,EAAAA,QAAMC,cAAcuE,GAAc,OAClDc,GAAYtF,EAAKpI,QAACqI,cAAcsE,GAAgB,KAC5CvE,EAAAA,QAAMC,cAAcmD,EAAQ,OAAU,IC1BrCuC,GAAShO,EAAAA,QAAOiO,OAAO9N,WAAW,CAAEC,YAAa,cAAeC,YAAa,eAAiB,eAAe0D,EAAMT,oBAAoBS,EAAMT,mBAAmBS,EAAMT,oBAAoBS,EAAMT,2BAA2BS,EAAMO,OACjO4J,GAAalO,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,gBAAkB,KAAK0D,EAAMvC,4FCD/G2M,GAAiB/F,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,6BAA8BC,KAAM,eAAgBC,OAAQ5E,EAAMT,IAAM8E,GACnMC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,iHAAkHN,KAAM,kBCF1L4F,GAAahG,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,6BAA8BC,KAAM,eAAgBC,OAAQ,GAAIkB,MAAO,IAAMzB,GACpMC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,uJAAwJN,KAAM,kBCKhO6F,GAAa,EAAGjE,KAAIkE,QAAOC,WAAUC,gBAAgB,eAAgBC,SAAQC,aAAYC,cAAaC,kBAAiBC,kBAAqBxG,EAAAA,QAAMC,cAAc0F,GAAQ,KACjL3F,UAAMC,cAAc4F,GAAY,KAC5B7F,UAAMC,cAAcrB,EAAM,CAAEmD,GAAIA,EAAIlJ,QAASsN,GAAiBF,GAC9DG,GAAWpG,EAAAA,QAAMC,cAAc8E,GAAQ,CAAElM,QAAS,OAAQ4N,QAASL,EAAOK,SAAWL,EAAOH,OAC5FI,EACAE,GAAoBvG,EAAAA,QAAMC,cAAc8E,GAAQ,CAAElM,QAAS,OAAQuM,KAAMkB,EAActG,UAAMC,cAAc6F,GAAe,MAAQ9F,EAAKpI,QAACqI,cAAcH,EAAa,MAAO2G,QAASF,IACnLC,GAAiBxG,EAAKpI,QAACqI,cAAc8E,GAAQ,CAAElM,QAAS,OAAQuM,KAAMpF,EAAKpI,QAACqI,cAAc8F,GAAW,MAAOU,QAASD,EAAc,aAAc,WACrJN,GAAYlG,EAAAA,QAAMC,cAAcrB,EAAM,CAAE/F,QAAS,mBAAqBqN,UCPlEzM,IAASX,EAAOS,QAClBmN,GAAqB,CACvB,EAAG,OACH,EAAGtL,EAAQJ,GACX,EAAGI,EAAQjC,KACX,EAAGiC,EAAQH,GACX,EAAGG,EAAQF,IAETyL,GAAU,CACZC,KAAM9N,EAAOa,UAAUX,KAAKG,KAC5B0N,QAAS/N,EAAOa,UAAUG,MAAMX,KAChCgF,MAAOrF,EAAOa,UAAUC,IAAIT,MAEnB2N,GAASnP,EAAMC,QAACmP,OAAOjP,WAAW,CAAEC,YAAa,cAAeC,YAAa,eAAiB,cAAc0D,EAAMvC,gBAAgBuC,EAAMT,gBACxI+L,GAAUrP,EAAMC,QAACqP,QAAQnP,WAAW,CAAEC,YAAa,eAAgBC,YAAa,eAAiB,iBAAiB0D,EAAMT,mBAAmBS,EAAMT,iBAAiBS,EAAMT,oBAAoBS,EAAMT,kBAAkBuB,EAAKa,KAAKd,wBAAwBC,EAAKa,KAAKV,wBAAwBH,EAAKa,KAAKX,0BAA0BF,EAAKa,KAAKT,oBAAoBJ,EAAKa,KAAKR,0BAA0BnB,EAAMM,cAAcvC,GAAKN,oBAAoBuC,EAAMT,OACjbiM,GAAYvP,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,gBAAgB0D,EAAMT,oBAAoBS,EAAMT,MAClJkM,GAAOxP,EAAMC,QAAC6H,EAAMA,OAAC5H,KAAKC,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,0CAA0CgP,gCACzII,GAAUzP,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,eAAgBC,YAAa,eAAiB,8DAA8D0D,EAAMM,cAAcvC,GAAKN,mBAAoB4G,QAA8B2F,IAApB3F,EAAMsH,UAA0BX,GAAmB3G,EAAMsH,WAAajM,EAAQJ,oBAAoBD,EAAOE,4CAA4C,EAAGqM,YAAaA,GAChY,kIAOY5L,EAAMO,gCACI0K,GAAQW,mBC9B5BC,GAA4B,CAC9BC,SAAU,CAAElH,OAAQ,QACpBmH,UAAW,CAAEnH,OAAQ,IAEZoH,GAAO,EAAGjG,YAAWkG,QAAO1B,QAAOC,WAAU0B,mBAAkBxB,SAAQyB,cAAaR,YAAWC,SAAQnC,WAAU2C,UAASC,mBACnI,MAAOzB,EAAa0B,GAAkBC,EAAQA,UAAC,GAIzCC,EAAejC,GAAUjG,EAAKpI,QAACqI,cAAc+F,GAAY,CAAEC,MAAOA,EAAOC,SAAUA,EAAUG,WAAYuB,EAAkBxB,OAAQA,EAAQI,aAAcsB,EAASxB,YAAaA,EAAaC,gBAAiBsB,EAH3L,KACpBG,GAAgB1B,EAAY,OAEmNZ,IAC7OyC,EAAYN,IAAgBvB,IAAiBuB,EAC7CO,EAAcpI,EAAAA,QAAMC,cAAckH,GAAM,CAAEkB,QAASF,EAAW,WAAa,YAAaG,SAAUf,GAA2BgB,WAAY,CAAEC,SAAU,GAAKC,KAAM,YAClKzI,EAAKpI,QAACqI,cAAc+G,GAAS,KAAM7B,IACjCuD,OAAgChD,IAAjBqC,GAA8B/H,EAAKpI,QAACqI,cAAc6G,GAAQ,KAAMiB,KACrF,OAAQ/H,UAAMC,cAAcmH,GAAS,CAAE3F,UAAWA,EAAWkG,MAAOA,EAAON,UAAWA,EAAWC,OAAQA,GACrGY,EACAE,EACAM,EAAe,EAEvBhB,GAAKN,QAAUA,GACfM,GAAKV,QAAUA,GACfU,GAAKR,UAAYA,GACjBQ,GAAKZ,OAASA,GCrBP,MAAM6B,GAAoBhR,EAAAA,QAAO8H,EAAAA,OAAOiI,GAAKN,UAAUtP,WAAW,CAAEC,YAAa,yBAA0BC,YAAa,gBAAkB,4GAA4GsG,EAAMxF,OAAOS,QAAQE,KAAKN,sBAAsBmF,EAAMvD,OAAO5B,gBAAgBmF,EAAM5C,MAAMvC,QCHzUyP,GAAcC,IACvB,MAAMC,EAAWC,EAAAA,MACjB,OAAKF,EAEE,GAAGA,KAAUC,IADTA,CACmB,ECC3B,MAAME,WAAeC,EAAAA,cACxB,WAAAC,CAAYnJ,GACRoJ,MAAMpJ,GACNqJ,KAAKrH,GAAK6G,GAAW,UACrBQ,KAAKC,WAAa,KAClBD,KAAKE,MAAQ,CACTC,WAAW,EAElB,CACD,iBAAAC,GACI,MAAMC,eAAEA,GAAmBL,KAAKrJ,MAChCqJ,KAAKC,WAAaK,SAASzJ,cAAc,OACzCmJ,KAAKC,WAAWM,aAAa,KAAM,UAAUP,KAAKrH,MAClDqH,KAAKC,WAAW1B,MAAMiC,QAAU,uCAC5BH,EACAA,SAAgEA,EAAeI,YAAYT,KAAKC,YAGhGK,SAASrM,KAAKwM,YAAYT,KAAKC,YAEnCD,KAAKU,SAAS,CAAEP,WAAW,GAC9B,CACD,oBAAAQ,GACI,GAAIX,KAAKC,WAAY,CACjB,MAAMI,eAAEA,GAAmBL,KAAKrJ,MAC5B0J,EACAA,EAAeO,YAAYZ,KAAKC,YAGhCK,SAASrM,KAAK2M,YAAYZ,KAAKC,WAEtC,CACJ,CACD,MAAAY,GACI,MAAM9E,SAAEA,GAAaiE,KAAKrJ,OACpBwJ,UAAEA,GAAcH,KAAKE,MAC3B,OAAOF,KAAKC,YAAcE,EAAYW,EAAAA,aAAa/E,EAAUiE,KAAKC,YAAc,IACnF,EC1CE,MAAMc,GAAgBxS,EAAMC,QAACwS,OAAOtS,WAAW,CAAEC,YAAa,qBAAsBC,YAAa,eAAiB,WAAW,EAAGqS,YAAaA,EAAS,2DAChJC,GAAW3S,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,eAAiB,wDAAwD,EAAGqS,YAAaA,KCFvKE,GAAmBC,GAAUA,EAAMC,OAAOC,SAASC,KAAK,KCGxDC,GAAYC,IACrB,MACMC,EAASD,EAAIE,QADI,oCACoB,CAACC,EAAGlI,EAAGmI,EAAGC,IAAMpI,EAAIA,EAAImI,EAAIA,EAAIC,EAAIA,IACzEC,EAAS,4CAA4CC,KAAKN,GAChE,OAAOK,EACD,CACErI,EAAGuI,SAASF,EAAO,GAAI,IACvBF,EAAGI,SAASF,EAAO,GAAI,IACvBD,EAAGG,SAASF,EAAO,GAAI,KAEzB,IAAI,EAMDG,GAAoB,CAACT,EAAKU,KACnC,MAAMC,EAAMZ,GAASC,GACrB,OAAKW,EAEE,QAAQA,EAAI1I,MAAM0I,EAAIP,MAAMO,EAAIN,MAAMK,KADlCV,CAC4C,ECvB9CY,GAA0B,CAAC,iBAQjC,SAASC,GAAeC,EAAWC,EAAmBH,IAEzD,GAAIE,EAAUE,WAAW,YAAcF,EAAUE,WAAW,YAAa,CACrE,MAAQC,SAAUC,GAAgB,IAAIC,IAAIL,GAE1C,OAAQC,EAAiBK,MAAMH,GAAaC,EAAYG,gBAAkBJ,EAASI,eACtF,CAED,GAAIP,EAAUE,WAAW,MAAO,CAC5B,MAAMC,SAAEA,GAAa,IAAIE,IAAI,QAAQL,KAErC,OAAQC,EAAiBK,MAAME,GAAoBL,EAASI,gBAAkBC,EAAgBD,eACjG,CAED,OAAO,CACX,CCfO,MCPDE,GAAqB,qMACdC,GAAiB,EAAGC,gBAAeC,gBAAezE,UAAS0E,oBAAmB,MAIvFC,EAAAA,WAAU,KACN,IAAKH,GAAiBE,EAClB,OACJ,MAAME,EAAoBJ,EAAcK,iBAAiBP,IACrDM,EAAkBtL,OAAS,GAE/BwL,YAAW,KACPF,EAAkB,GAAGG,OAAO,GAC7B,EAAE,GACN,CAACP,EAAeE,IAOnBC,EAAAA,WAAU,KACN,IAAKH,IAAkBA,EACnB,OACJ,MAAMQ,EAAqBC,IACvB,GAAkB,QAAdA,EAAMC,MAAkBD,EAAME,SAAU,CACxC,MAAMP,EAAoBJ,EAAcK,iBAAiBP,IAEzD,GAAIM,EAAkBtL,OAAS,EAE3B,YADA0G,IAGJ4E,EAAkB,GAAGG,QACrBE,EAAMG,kBACNH,EAAMI,gBACT,GAKL,OAFAZ,SAA8DA,EAAca,iBAAiB,UAAWN,GAEjG,IAAMP,aAAqD,EAASA,EAAcc,oBAAoB,UAAWP,EAAkB,GAC3I,CAACP,EAAeD,EAAexE,IAgClC,MAAO,CACHwF,cAbmBP,IACdT,IAGa,WAAdS,EAAMC,IACNlF,IAGM0E,GAAkC,QAAdO,EAAMC,KAvBhB,CAACD,IACrB,MAAML,EAAoBJ,EAAcK,iBAAiBP,IACnDmB,EAAeb,EAAkB,GACjCc,EAAcd,EAAkBA,EAAkBtL,OAAS,GAE7D2L,EAAME,UAAYvD,SAAS+D,gBAAkBF,GAC7CR,EAAMI,iBACNK,EAAYX,SAGNE,EAAME,UAAYvD,SAAS+D,gBAAkBD,IACnDT,EAAMI,iBACNI,EAAaV,QAChB,EAWGa,CAAgBX,GACnB,EAIJ,ECjEQY,GAAW1I,IACpB,IAAMlD,GAAI6L,EAAQzI,SAAEA,EAAQkF,OAAEA,EAAS/L,EAAMC,OAAOC,MAAKqP,UAAEA,EAAY,SAAQtB,cAAEA,EAAa9C,eAAEA,EAAcqE,cAAEA,EAAanG,MAAEA,EAAK6E,iBAAEA,EAAgBuB,eAAEA,GAAiB,EAAKC,eAAEA,GAAmB/I,EAAIgJ,EAAcvN,EAAOuE,EAAI,CAAC,KAAM,WAAY,SAAU,YAAa,gBAAiB,iBAAkB,gBAAiB,QAAS,mBAAoB,iBAAkB,mBAE7W,MAAOqH,EAAe4B,GAAoBjG,EAAQA,SAAC,OAC7CkG,OAAEA,EAAMC,WAAEA,EAAUC,OAAEA,GAAWC,YAAU/B,EAAeD,EAAe,CAAEuB,cAE3E9L,EAAKwM,EAAOA,SAAC,IAAMX,GAAYhF,GAAW,YAAY,CAACgF,IFT9B,GAAGrB,gBAAeiC,gBACjD/B,EAAAA,WAAU,KACN,GAAKF,EAAL,CAGA,IACSA,EAAckC,aAAa,mBAC5BC,QAAQC,KAAK,qDAAsDpC,GACnEA,EAAc5C,aAAa,gBAAiB,QAEnD,CACD,MAAOiF,GACHF,QAAQC,KAAK,6DAChB,CAED,IACSpC,EAAckC,aAAa,mBAC5BC,QAAQC,KAAK,qDAAsDpC,GACnEA,EAAc5C,aAAa,gBAAiB6E,GAEnD,CACD,MAAOI,GACHF,QAAQC,KAAK,+CAA+CH,IAC/D,CAED,IACSjC,EAAckC,aAAa,mBAC5BC,QAAQC,KAAK,qDAAsDpC,GACnEA,EAAc5C,aAAa,gBAAiB,UAEnD,CACD,MAAOiF,GACHF,QAAQC,KAAK,+CAA+CH,IAC/D,CAED,MAAO,KACH,IACIjC,EAAc5C,aAAa,gBAAiB,QAC/C,CACD,MAAOiF,GACHF,QAAQC,KAAK,8DAChB,EAtCM,CAuCV,GACF,CAACpC,EAAeiC,GAAW,EEhC9BK,CAAoB,CAAEtC,gBAAeiC,UAAWzM,IAChD,MAAM+F,EAAU,KACZyE,SAA8DA,EAAcM,QAC5EiB,SAA8DA,GAAe,GAE3ER,cAAEA,GAAkBjB,GAAe,CACrCC,gBACAC,gBACAzE,UACA0E,qBAqBJ,OAhBAC,EAAAA,WAAU,KACN,IAAK4B,IAAW/B,EACZ,OACJ,MAAMwC,EAAiB,IAAIC,UAAeV,GAE1C,OADAS,EAAeE,QAAQ1C,GAChB,IAAMwC,EAAeG,YAAY,GACzC,CAACZ,EAAQ/B,IAIZG,EAAAA,WAAU,KACN,GAAK4B,EAGL,OADAa,OAAO9B,iBAAiB,SAAUiB,GAC3B,IAAMa,OAAO7B,oBAAoB,SAAUgB,EAAO,GAC1D,CAACA,IACIrO,EAAKpI,QAACqI,cAAc+I,GAAQ,CAAES,eAAgBA,IACjDsE,GAAmB/N,EAAAA,QAAMC,cAAcqK,GAAU,CAAE7D,QAASqB,EAASuC,OAAQA,EAAQ,cAAe,qBACrGrK,UAAMC,cAAckK,GAAe/N,OAAOC,OAAO,CAAE8S,MAAM,EAAMpN,GAAIA,EAAIsI,OAAQA,EAAQnF,IAAKgJ,EAAkBvG,MAAOvL,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAO,CAAA,EAAI8R,EAAOiB,QAASzH,GAASqG,EAAiB,CAAEqB,SAAU9C,aAAqD,EAASA,EAAc+C,aAAgB,CAAE,GAAIC,UAAWjC,GAAiBc,EAAWgB,OAAQnB,GAAc9I,GAAY,EC9C/XqK,GAAmBvK,IAC5B,IAAIlD,GAAEA,EAAEoD,SAAEA,EAAQ1D,UAAEA,EAASkG,MAAEA,EAAK8H,SAAEA,EAAQlD,cAAEA,EAAayB,eAAEA,EAAcF,cAAEA,GAAkB7I,EAAIyK,EAAehP,EAAOuE,EAAI,CAAC,KAAM,WAAY,YAAa,QAAS,WAAY,gBAAiB,iBAAkB,kBAEvN,OADAwH,EAAAA,WAAU,IAAM,IAAMF,aAAqD,EAASA,EAAcM,SAAS,CAACN,IACpGvM,EAAKpI,QAACqI,cAAc0N,GAASvR,OAAOC,OAAO,CAAE0F,GAAIA,EAAI,cAAeA,EAAIwK,cAAeA,EAAeuB,cAAeA,EAAeE,eAAgBA,EAAgBH,UAAW,gBAAkB6B,GACrM1P,UAAMC,cAAc0P,EAAAA,gBAAiB,KACjC3P,EAAKpI,QAACqI,cAAc0I,GAAmB,CAAElH,UAAWA,EAAWkG,MAAOA,EAAOqG,eAAgBA,EAAgByB,SAAUA,EAAUG,QAAS,CAAErE,QAAS,EAAGsE,GAAI,GAAKxH,QAAS,CAAEkD,QAAS,EAAGsE,EAAG,GAAKC,KAAM,CAAEvE,QAAS,EAAGsE,GAAI,GAAKtH,WAAY,CAAEC,SAAU,KAASrD,IAAa,ECN1Q4K,GAAY9K,IACrB,IAAIlD,GAAEA,EAAEiO,WAAEA,EAAUC,cAAEA,EAAaC,YAAEA,EAAWC,SAAEA,GAAalL,EAAImL,EAAgB1P,EAAOuE,EAAI,CAAC,KAAM,aAAc,gBAAiB,cAAe,aACnJ,MAAMoL,EAAYC,SAAO,MACzB,OAAQtQ,UAAMC,cAAcD,EAAKpI,QAAC2Y,SAAU,KACxCvQ,EAAAA,QAAMC,cAAc8E,GAAQ3I,OAAOC,OAAO,CAAE6I,IAAKmL,EAAW,gBAAiB,SAAU,gBAAiBL,EAAY,gBAAiBjO,EAAI0E,QAAS,IAAMwJ,aAAqD,EAASA,GAAeD,GAAa5K,KAAM8K,EAAa7K,UAAU,GAAQ8K,IACvRH,GAAehQ,EAAKpI,QAACqI,cAAcuP,GAAiBpT,OAAOC,OAAO,CAAE0F,GAAIA,EAAIwK,cAAe8D,EAAUG,QAAS1C,cAAe,IAAMmC,aAAqD,EAASA,GAAc,IAAUG,IAAmB,ECLvOK,GAAkB,CAACC,EAAQ5I,KACpC,MAAM5C,EAAMoL,SAAO,MACbK,EAAiBC,eAAahQ,IAClB,WAAVA,EAAEoM,MACFlF,SAAkDA,IACrD,GACF,CAACA,IACE+I,EAAgBD,eAAahQ,IAC1BsE,EAAIsL,QAAQM,SAASlQ,EAAEmQ,SACxBjJ,SAAkDA,GACrD,GACF,CAACA,IAYJ,OAXA2E,EAAAA,WAAU,KACN,GAAIiE,EAGA,OAFAhH,SAAS0D,iBAAiB,QAASyD,GACnCnH,SAAS0D,iBAAiB,QAASuD,GAC5B,KACHjH,SAAS2D,oBAAoB,QAASwD,GACtCnH,SAAS2D,oBAAoB,QAASsD,EAAe,CAG7C,GACjB,CAACE,EAAeF,EAAgBD,IAC5BxL,CAAG,EC1BD8L,GAAc,EAAGzE,iBAAkB,MAC5C,MAAO0E,EAAoBC,GAAyBjJ,EAAQA,UAAC,GACvDkJ,EAA2BP,eAAY,IAAMM,GAAuBD,IAAqB,CAACA,EAAoBC,IAC9GE,EAAgBR,EAAAA,aAAY,KAC9BM,GAAsB,GAEtBtE,YAAW,KACPL,SAA8DA,EAAcM,OAAO,GACpF,EAAE,GACN,CAACqE,EAAuB3E,IAC3B,MAAO,CACH0E,qBACAE,2BACAD,wBACAE,gBACH,ECdQC,GAAsBrR,EAAKpI,QAAC0Z,cAAc,CACnDC,kBAAkB,EAClBC,eAAe,ICHP,MAACC,GAAW,CAACC,GAAe,KACpC,MAAOC,EAAWC,GAAgB3J,EAAQA,SAACyJ,GAG3C,MAAO,CAACC,EAFYf,EAAAA,aAAY,IAAMgB,GAAa,IAAO,CAACA,IACvChB,EAAAA,aAAY,IAAMgB,GAAa,IAAQ,CAACA,IAChB,ECAnCC,GAAoB3M,IAC7B,MAAO4M,EAAeC,GAAoB9J,EAAQA,UAAC,IAC5C+J,EAAYC,GAAiBhK,EAAQA,UAAC,GAC7CwE,EAAAA,WAAU,KACN,IAAKvH,EACD,OACJ,MAAM4J,EAAiB,IAAIC,gBAAe,KACtC,MAAMmD,EAAchN,EAAIiN,aAAejN,EAAIkN,aAC3CL,EAAiBG,EAAY,IAIjC,OAFApD,EAAeE,QAAQ9J,GAEhB,KAAQ4J,EAAeG,YAAY,CAAG,GAC9C,CAAC/J,IAOJ,MAAO,CAAE4M,cAAeA,IAAkBE,EAAYK,SANpCtF,IACd,IAAK7H,EACD,OACJ,MAAMoN,UAAEA,EAASH,aAAEA,EAAYC,aAAEA,GAAiBrF,EAAMgE,OACxDkB,EAAcE,EAAeG,EAAYF,GAAgB,EAAE,EAEC,ECvBvDG,GAAQ,EAAGxQ,KAAI8G,YAAa0F,EAAOA,SAAC,IAAMxM,GAAM6G,GAAWC,IAAS,CAAC9G,EAAI8G,ICFzE2J,GAAiBC,GAAc,oBAC3BA,EAAUlW,8BACXkW,EAAUhW,8BACTgW,EAAU/V,6BACZ+V,EAAU9V,6BACR8V,EAAU7V,yBAChB6V,EAAU5V,8BACA4V,EAAU3V,sCACX2V,EAAU1V,mBCJjB2V,GAAW/a,EAAMC,QAAC+a,YAAc7a,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,gBAAkB,+EAA+EsG,EAAM5C,MAAMO,cAAcqC,EAAM5C,MAAMV,oBAAoBsD,EAAMvD,OAAO5B,0BAA0BqZ,GAAclU,EAAM9B,KAAKoB,mBAAmB4U,GAAclU,EAAM9B,KAAKa,kDAAkDiB,EAAMxF,OAAOa,UAAUX,KAAKG,6BAA6BmF,EAAMxF,OAAOa,UAAUX,KAAKE,2CAA2CoF,EAAMxF,OAAOS,QAAQE,KAAKP,+DAA+DoF,EAAMxF,OAAOS,QAAQE,KAAKR,kBAAkBqF,EAAMxF,OAAOS,QAAQC,IAAIN,2FAA2FoF,EAAMxF,OAAOS,QAAQC,IAAIN,yBACnyB8N,GAAUrP,EAAMC,QAACgb,WAAa9a,WAAW,CAAEC,YAAa,eAAgBC,YAAa,gBAAkB,8DAA8DsG,EAAMxF,OAAOS,QAAQE,KAAKN,4BCA/L0Z,GAAa,EAAG9Q,KAAI+Q,YAAW3C,WAAU4C,UAAS5N,eAC3D,IAAIF,EACJ,MAAO+K,EAAYC,GAAiBhI,EAAQA,UAAC,GACvC+K,EAAaT,GAAM,CAAExQ,KAAI8G,OAAQ,gBAMvC,OAAQ7I,UAAMC,cAAc8P,GAAU,CAAEhO,GAAIiR,EAAYrL,MAAO,CAAEsL,QAAS,KAAOjD,WAAYA,EAAYC,cAAeA,EAAeE,SAAU/T,OAAOC,OAAO,CAAEmH,KAAM,MAAQ2M,GAAWnC,gBAAgB,EAAMuB,UAL7L3O,IACA,WAAXA,EAAEsS,MAAgC,QAAXtS,EAAEsS,MACzBjD,GAAc,GAClBrP,EAAEuM,gBAAgB,GAGlBnN,EAAAA,QAAMC,cAAckT,EAAAA,KAAM,CAAErL,QAAS,IAAMmI,GAAc,GAAQ,aAAc6C,IAA2C,QAA5B7N,EAAKkL,EAAShL,gBAA6B,IAAPF,OAAgB,EAASA,EAAGmO,aAAeL,aAAyC,EAClNA,EAAQM,KAAKjN,IACT,IAAInB,EACJ,OAAQjF,UAAMC,cAAcyS,GAAUtW,OAAOC,OAAO,CAAE,EAAE+J,EAAQ,CAAE4G,IAAK5G,EAAOrE,KAAkC,QAA1BkD,EAAKmB,EAAOjB,gBAA6B,IAAPF,OAAgB,EAASA,EAAGmO,cAAiB,IAEzKjO,GAAY,ECpBjB,IAAImO,GDsBXT,GAAWU,KAAOb,GAClBG,GAAW7L,QAAUA,GACrB6L,GAAWjU,KAAOA,EAAIA,KCvBtB,SAAW0U,GACPA,EAAkB,MAAI,aACtBA,EAAmB,OAAI,SACvBA,EAAgB,IAAI,WACpBA,EAAoB,QAAI,UACxBA,EAAoB,QAAI,gBACxBA,EAAmB,OAAI,cAC1B,CAPD,CAOGA,KAAeA,GAAa,CAAA,ICFnB,MAACE,GAAQ7b,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,aAAcC,YAAa,gBAAkB,gBAAiB+H,IACpH,MAAM0T,UAAEA,EAAY,WAAUC,OAAEA,EAAS,QAAOC,OAAEA,EAAS,QAAOC,QAAEA,EAAU,QAAW7T,EACzF,IAAI8T,EACAC,EACAC,EACAC,EACAC,EAAY,GACZC,EAAa,GAmBjB,MAlBkB,aAAdT,GACAI,EAAaH,GAAUJ,GAAWI,GAClCI,EAAiBH,GAAUL,GAAWK,GACtCM,EAAY3V,EAAM5C,MAAMkY,GACxBG,EAAgB,WAGhBF,EAAaF,GAAUL,GAAWK,GAClCG,EAAiBJ,GAAUJ,GAAWI,GACtCQ,EAAa5V,EAAM5C,MAAMkY,GACzBG,EAAgB,QAID,aAAdN,GAAuC,YAAXE,GACd,eAAdF,GAAyC,YAAXC,KAC/BM,EAAW,GAER,wBACUH,8BACIC,6BACDC,sCAGRC,yDAIMC,4BACCC,mBAElB,IAELV,GAAMzb,YAAc,QC5Cb,MAAMoc,GAAiBxc,EAAMC,QAAC4b,IAAO1U,MAAM,CAC9C2U,UAAW,aACXC,OAAQ,UACRC,OAAQ,MACRC,QAAS,IACV9b,WAAW,CAAEC,YAAa,sBAAuBC,YAAa,eAAiB,oBAAoB,EAAGoc,SAAW1P,cAAgBA,mBAAyBpG,EAAMvD,OAAO5B,yBAAyB,EAAGib,SAAW5Z,iBAAmBA,KCPvN6Z,GAAiBtU,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC3JC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,yOAA0ON,KAAM,kBCDlTmU,GAAYvU,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GACtJC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,sVAAuVN,KAAM,kBCD/ZoU,GAAYxU,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GACtJC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,2LAA4LN,KAAM,iBAC7QH,EAAAA,QAAMC,cAAc,SAAU,CAAE2C,GAAI,KAAMC,GAAI,IAAKC,EAAG,IAAK3C,KAAM,iBACjEH,UAAMC,cAAc,OAAQ,CAAEQ,EAAG,wCAAyCN,KAAM,kBCHvEqU,GAAezU,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GACzJC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,iYAAkYN,KAAM,kBCK1csU,GAAa,CACtBtb,KAAMmF,EAAM5C,MAAMvC,KAClB6B,GAAIsD,EAAM5C,MAAM,GAChBO,GAAIqC,EAAM5C,MAAMV,IAEP0Z,GAAc,CACvBvb,KAAMmF,EAAM5C,MAAMT,GAClBD,GAAIsD,EAAM5C,MAAM,GAChBO,GAAIqC,EAAM5C,MAAM,IAEPiZ,GAAU,CACnB/c,QAAS2c,GACTpW,MAAOkW,GACPxN,QAAS2N,GACT5N,KAAM0N,GACNM,QCrBwB7U,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,eAAgBC,MAAO,8BAAgCL,GACjKC,EAAKpI,QAACqI,cAAc,OAAQ,CAAEQ,EAAG,gBAAiBN,KAAM,SACxDH,EAAKpI,QAACqI,cAAc,OAAQ,CAAEQ,EAAG,wDDoBjCoU,UEtB0B9U,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC3JC,EAAKpI,QAACqI,cAAc,OAAQ,CAAEQ,EAAG,yEAA0EN,KAAM,YACjHH,EAAKpI,QAACqI,cAAc,OAAQ,CAAEQ,EAAG,kFAAmFN,KAAM,YAC1HH,UAAMC,cAAc,OAAQ,CAAEQ,EAAG,6JAA8JN,KAAM,cFqB5L2U,GAAY,CACrBld,QAAS,CACL8M,QAASpG,EAAMxF,OAAOS,QAAQC,IAAIL,KAClCqB,WAAY8D,EAAMxF,OAAOS,QAAQE,KAAKR,UAE1CkF,MAAO,CACHuG,QAASpG,EAAMxF,OAAOa,UAAUC,IAAIT,KACpCqB,WAAY8D,EAAMxF,OAAOa,UAAUC,IAAIX,UAE3C4N,QAAS,CACLnC,QAASpG,EAAMxF,OAAOa,UAAUG,MAAMX,KACtCqB,WAAY8D,EAAMxF,OAAOa,UAAUG,MAAMb,UAE7C2N,KAAM,CACFlC,QAASpG,EAAMxF,OAAOa,UAAUX,KAAKG,KACrCqB,WAAY8D,EAAMxF,OAAOa,UAAUX,KAAKC,UAE5C2b,QAAS,CACLlQ,QAASpG,EAAMxF,OAAOa,UAAUS,OAAOjB,KACvCqB,WAAY8D,EAAMxF,OAAOa,UAAUS,OAAOnB,UAE9C4b,UAAW,CACPnQ,QAASpG,EAAMxF,OAAOa,UAAUO,OAAOd,KACvCoB,WAAY8D,EAAMxF,OAAOa,UAAUO,OAAOjB,WG9CrC8b,GAAepd,EAAMC,QAACod,EAAEld,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,gBAAkB,4EAA4EsG,EAAM9B,KAAKoB,KAAKrB,yBAAyB+B,EAAM9B,KAAKoB,KAAKnB,yBAAyB6B,EAAM9B,KAAKoB,KAAKlB,wBAAwB4B,EAAM9B,KAAKoB,KAAKjB,wBAAwB2B,EAAM9B,KAAKoB,KAAKhB,oBAAoB0B,EAAMxF,OAAOa,UAAUX,KAAKG,wBAAwBmF,EAAM9B,KAAKoB,KAAKd,gCAAgCwB,EAAMxF,OAAOa,UAAUX,KAAKI,SCAxf6b,GAAYtd,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,iICA5Gkd,GAAgBlQ,EAAUA,YAAC,CAACjF,EAAOmF,KAC5C,MAAMC,SAAEA,EAAQ1D,UAAEA,EAASpB,KAAEA,GAASN,EACtC,OAAQC,UAAMC,cAAcgV,GAAW,CAAExT,UAAWA,EAAWyD,IAAKA,EAAK7E,KAAMA,GAAQ8E,EAAW,ICAhG8P,GAAYtd,EAAMC,QAACud,GAAgBrd,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,wFAC7God,GAAOzd,EAAMC,QAACud,GAAgBrd,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,uGACnG+X,GAAWpY,EAAMC,QAACsd,IAAepd,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,eAAiB,mDAAmDsG,EAAMC,OAAOC,SAAUuB,GAAWA,EAAM0P,SAAW,eAAiB,+RCF1N4F,GAAmB,EAAGC,MAAKrE,qBAAoB9L,WAAU1D,YAAY,oBAAqBgO,YAAW,EAAO8F,cAAc,SAAWC,UAAU,IAAKC,uBAAuB,WAAYhP,UAASiP,eAAcC,mBACvN,MAAMC,EAActF,SAAO,MAM3B,MCVwB,EAACpL,EAAKqQ,KAC9B9I,EAAAA,WAAU,KACN,MAAMoJ,EAAmB9I,IACjB7H,EAAIsL,UAAYtL,EAAIsL,QAAQM,SAAS/D,EAAMgE,SAC3CwE,EAAYxI,EACf,EAGL,OADArD,SAAS0D,iBAAiB,YAAayI,GAChC,KACHnM,SAAS2D,oBAAoB,YAAawI,EAAgB,CAC7D,GACF,CAAC3Q,EAAKqQ,GAAa,EDNtBO,CAAaF,GAAc7I,IACnBkE,GACAsE,EAAYxI,EACf,IAEG/M,EAAAA,QAAMC,cAAcgV,GAAW,CAAExT,UAAW,GAAGA,eAAuBA,IAAagF,QAASA,EAASiP,aAAcA,EAAcC,aAAcA,EAAczQ,IAAK0Q,IACrKnG,GAAY6F,EACbtV,UAAMC,cAAcmV,GAAM,CAAE3T,UAAW,GAAGA,UAAkBA,KACxDzB,EAAAA,QAAMC,cAAc8V,gBAAe,CAAEC,GAAI/E,EAAoBuE,QAASA,EAASS,WAAYR,EAAsBS,eAAe,GAC5HlW,EAAKpI,QAACqI,cAAc8P,GAAU,CAAE1P,KAAM,SAAUoP,SAAUA,EAAUhO,UAAW,GAAGA,oBAA4BA,KAAe0D,KACrIsK,GAAY6F,EAAM,EEdba,GAAWxe,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,gBAAkB,SAAU+H,GAAUA,EAAMyB,gBAAiBzB,GAAUA,EAAMyB,0BAA0BlD,EAAMxF,OAAOS,QAAQE,KAAKN,cAAe4G,GAAUA,EAAMqW,8BAA+BrW,GAAUA,EAAMsW,0IAA0I/X,EAAM9B,KAAKiB,cAAclB,0BAA0B+B,EAAM9B,KAAKiB,cAAcf,wBAAwB4B,EAAM9B,KAAKiB,cAAcd,wBAAwB2B,EAAM9B,KAAKiB,cAAcb,eCC5lBqY,GAAYtd,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,wBAClGse,GAAY3e,EAAMC,QAACqd,IAAWnd,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,GACxGue,GAAc5e,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,eAAiB,SAASsG,EAAMxF,OAAOS,QAAQE,KAAKR,yEAC1Iud,GAAW7e,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,gBAAkB,qGAChGye,GAAM9e,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,WAAYC,YAAa,gBAAkB,cAAc,EAAGwQ,cAAe,WAAWA,8ZACjI4M,GAAOzd,EAAAA,QAAOsd,IAAWnd,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,sKAAsK,EAAG0e,iBAAkBA,iBAA2B,EAAGC,iBAAkBA,OCRxU,IAAIC,IACX,SAAWA,GACPA,EAAc,OAAI,SAClBA,EAAW,IAAI,KAClB,CAHD,CAGGA,KAAUA,GAAQ,CAAA,ICCrB,MAAMC,GAAgB,CAClBrO,SAAU,IACVsO,KAAMF,GAAMG,IACZC,eAAgB,EAChBN,YAAa,GACbC,YAAa,KAEJM,GAAiB,EAAGC,UAAS1a,OAAM2a,mBAAkBC,SAAQ3H,WAAU4H,eAAcpB,iBAC9F,MAAO3J,EAAe4B,GAAoBjG,EAAQA,SAAC,MAC7CqP,EAAalb,OAAOC,OAAOD,OAAOC,OAAO,GAAIwa,IAAgBO,IAC7D5O,SAAEA,EAAQsO,KAAEA,EAAIE,eAAEA,EAAcN,YAAEA,EAAWC,YAAEA,GAAgBW,GAC/DnJ,OAAEA,EAAMC,WAAEA,GAAeE,EAAAA,UAAU6I,EAAkB7K,EAAe,CACtEuB,UAAW,GAAGiJ,KAAQrH,EAAW,MAAQ,UACzC8H,UAAW,CACP,CACIC,KAAM,SACNC,QAAS,CACLvV,OAAQ,CAAC,EAAG,SAKtBwV,EAAgBtb,OAAOC,OAAOD,OAAOC,OAAO,CAAA,EAAI8R,EAAOiB,QAAS,CAAE/E,OAAQ/L,EAAMC,OAAOG,UAC7F,OAAQsB,UAAMC,cAAcwW,GAAKra,OAAOC,OAAO,CAAEoF,UAAWwU,EAAW0B,IAAKzS,IAAKgJ,EAAkB1F,SAAUA,EAAUoP,mBAAoBZ,EAAgBrP,MAAO+P,GAAiBtJ,EAAWgB,OAAQ,CAAE/O,KAAM,YAC1ML,UAAMC,cAAcmV,GAAM,CAAE3T,UAAWwU,EAAW4B,KAAMnB,YAAaA,EAAaC,YAAaA,GAAeO,QAAyCA,EAAUlX,UAAMC,cAAcsW,GAAa,KAAM/Z,IACxM6a,GAAgBrX,EAAKpI,QAACqI,cAAcuW,GAAU,CAAEzU,GAAI,4BAA6BN,UAAWwU,EAAW6B,WAAc,EC1BhHC,GAAU,EAAG5S,WAAU3I,OAAM0a,UAASE,SAAQ3H,YAAW,EAAOhO,YAAW4V,eAAcW,qBAAoB,EAAOC,kBAAiB,MAC9I,MAAOjI,EAAYC,GAAiBhI,EAAQA,SAAC+P,IACtCb,EAAkBe,GAAuBjQ,EAAQA,SAAC,MACnD3E,IAAU9G,GAAOA,EAAK2b,OAAO/W,OAAS,EACtC6U,EAAa,CACfmC,UAAW3W,GAAa,GAAGA,KAAaA,cACxCkW,IAAKlW,GAAa,GAAGA,QACrBoW,KAAMpW,GAAa,GAAGA,SACtBqW,SAAUrW,GAAa,GAAGA,aAC1B4W,UAAW5W,GAAa,GAAGA,eAEzB6W,KAAgBpB,IAAW5T,GACjC,IAAKgV,EACD,OAAOnT,EACX,MAEMoT,EAAgBvI,GAAcsI,GAAetY,UAAMC,cAAcgX,GAAgB,CAAEhB,WAAYA,EAAYkB,iBAAkBA,EAAkBC,OAAQA,EAAQ3H,SAAUA,EAAU4H,aAAcA,EAAc7a,KAAMA,EAAM0a,QAASA,IAC1O,OAAQlX,EAAAA,QAAMC,cAAcgV,GAAW,CAAExT,UAAWwU,EAAWmC,WAC3DH,EAAiBO,EAAQ5gB,QAACsS,aAAaqO,EAAe7O,SAASrM,MAAQkb,EACvEvY,EAAKpI,QAACqI,cAAcqW,GAAW,CAAEpR,IAAKgT,EAAqBzW,UAAWwU,EAAWoC,UAAW3C,aALnF,IAAMzF,GAAc,GAKmF0F,aAJvG,IAAM1F,GAAc,IAIyG9K,GAAY,EClBpJsT,GAAY9gB,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,0GAA0GwE,EAAKc,UAAUf,0BAA0BC,EAAKc,UAAUZ,0EAA2EqD,GAAWA,EAAM2Y,WAAa,OAAS,oDAAqDhd,EAAMvC,eAAeuC,EAAMvC,SCDhdsL,GAAa,CACf7M,QDCwBD,EAAAA,QAAO8gB,IAAW3gB,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,eAAiB,yCAAyCc,EAAOa,UAAUX,KAAKG,cAAcL,EAAOa,UAAUX,KAAKG,QCA1NuL,QDCwB/M,EAAAA,QAAO8gB,IAAW3gB,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,gBAAkB,gBAAgBc,EAAOa,UAAUX,KAAKG,yBAAyBL,EAAOa,UAAUX,KAAKC,kBAAkBH,EAAOa,UAAUX,KAAKG,QCArPyb,QDCwBjd,EAAAA,QAAO8gB,IAAW3gB,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,gBAAkB,gBAAgBc,EAAOa,UAAUE,OAAOV,yBAAyBL,EAAOa,UAAUE,OAAOZ,kBAAkBH,EAAOa,UAAUS,OAAOhB,SEJzPuf,GAAehhB,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,eAAiB,mIAAmI,EAAG4gB,iBAAkBA,GAC5Q,6EACsEA,+BAChD,EAAGC,qBAAsBA,GAAmB,WAChEC,GAAMnhB,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,WAAYC,YAAa,gBAAkB,mCACjG+gB,GAAMphB,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,WAAYC,YAAa,gBAAkB,qEAC1FghB,GAAUrhB,EAAMC,QAACmhB,IAAKjhB,WAAW,CAAEC,YAAa,eAAgBC,YAAa,eAAiB,aAAa0D,EAAMT,aAAaS,EAAMT,YAAY,EAAG2d,iBAAkBA,MACrKK,GAAiBthB,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,sBAAuBC,YAAa,eAAiB,cAC7HkhB,GAAYvhB,EAAMC,QAACmhB,IAAKjhB,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,iCACnGmhB,GAAaxhB,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,eAAiB,8BCNrGohB,GAAe,CACjBC,KAAMvgB,EAAOa,UAAUX,KAAKG,KAC5ByN,KAAM9N,EAAOS,QAAQC,IAAIL,KACzBgF,MAAOrF,EAAOa,UAAUC,IAAIT,KAC5B0N,QAAS/N,EAAOa,UAAUG,MAAMX,MCTvBmgB,GAAgB3hB,EAAAA,QAAO4hB,GAAGzhB,WAAW,CAAEC,YAAa,qBAAsBC,YAAa,gBAAkB,kFAAkFwE,EAAKa,KAAKd,0BAA0BC,EAAKa,KAAKX,wBAAwBF,EAAKa,KAAKV,wBAAwBH,EAAKa,KAAKT,cAC7S4c,GAAe7hB,EAAMC,QAAC6hB,GAAG3hB,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,gBAAkB,qPCFvG0hB,GAAkB3Z,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC5JC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,sFAAuFN,KAAM,kBCA/JwZ,GAAa,EAAGxU,WAAUc,QAAO2T,gBAAeC,UACrDD,EACQ5Z,EAAKpI,QAACqI,cAAcuZ,GAAc,CAAE/X,UAAW,cACnDzB,EAAKpI,QAACqI,cAAc2Z,EAAe,CAAEC,KAAMA,GAAQ5T,GACnDd,GAEAnF,EAAKpI,QAACqI,cAAcuZ,GAAc,CAAE/X,UAAW,cACnDwE,EACAd,GCLF2U,GAAmB,IAAO9Z,EAAAA,QAAMC,cAAcyZ,GAAgB,CAAEjY,UAAW,YAAaD,MAAO9F,EAAMvC,KAAMmH,OAAQ5E,EAAMvC,OACzH4gB,GAAc,EAAG5U,WAAU0U,UAAW7Z,EAAKpI,QAACqI,cAAc,IAAK,CAAE4Z,KAAMA,GAAQ1U,GAC/E6U,GAAiB,EAAG7U,cAAenF,EAAAA,QAAMC,cAAc,OAAQ,KAAMkF,GCL9D8U,GAAeC,EAAGA,GAAC,4BAA4B5b,EAAMxF,OAAOS,QAAQC,IAAIL,iNAAiNmF,EAAM5C,MAAMvC,eAAemF,EAAM5C,MAAMvC,uEAAuEmF,EAAMxF,OAAOa,UAAUX,KAAKE,4CAA4CoF,EAAMxF,OAAOS,QAAQE,KAAKP,kGAAkGoF,EAAMxF,OAAOS,QAAQE,KAAKN,yBCArmBghB,GAAqBD,EAAAA,GAAI,sEAAsE5b,EAAMvD,OAAOE,qGAAqGqD,EAAMxF,OAAOS,QAAQE,KAAKN,iEAAiEmF,EAAMxF,OAAOa,UAAUX,KAAKE,sCAAsCoF,EAAMxF,OAAOa,UAAUX,KAAKG,wEAAwEmF,EAAMxF,OAAOa,UAAUX,KAAKE,gJAAgJoF,EAAMxF,OAAOa,UAAUC,IAAIR,wFAAwFkF,EAAMxF,OAAOS,QAAQC,IAAIP,8KCC1wBmhB,GAAeF,EAAAA,GAAI,0HAA0H1H,GAAclU,EAAM9B,KAAKpE,gEAAgEkG,EAAM5C,MAAMV,OCGlPqf,GAAsB1iB,EAAMC,QAAC0iB,iBAAexiB,WAAW,CAAEC,YAAa,2BAA4BC,YAAa,gBAAkB,0DAA0DsG,EAAMxF,OAAOS,QAAQC,IAAIL,mCAAmCmF,EAAM/B,cAAc6d,MAAgBH,MAAgBE,2EAA2F7b,EAAM5C,MAAMO,4EAA4EqC,EAAMxF,OAAOS,QAAQC,IAAIP,wDAAwDqF,EAAMxF,OAAOa,UAAUX,KAAKG,iCAAiCmF,EAAMxF,OAAOa,UAAUX,KAAKK,yBAAyBiF,EAAMvD,OAAOE,6LCH9qB8H,GAAOpL,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,YAAaC,YAAa,gBAAkB,6CAA6C,EAAGuiB,aAAcA,oBAA0B,EAAG3G,UAAU,UAAcA,EAAUlY,EAAMkY,GAAW,KCAjP4G,GAAoB7iB,EAAAA,QAAOc,OAAOX,WAAW,CAAEC,YAAa,yBAA0BC,YAAa,gBAAkB,gFAAgFwa,GAAclU,EAAM9B,KAAKa,iFAAiFiB,EAAMvD,OAAOE,qEAAqEqD,EAAMxF,OAAOS,QAAQE,KAAKN,+DAA+DmF,EAAMxF,OAAOa,UAAUX,KAAKG,iDAAiDmF,EAAMxF,OAAOa,UAAUX,KAAKE,WCCnkBuhB,GAAmB,EAAGC,cAAaC,kBAAmB3a,OAAAA,EAAAA,QAAMC,cAAc8C,GAAM,CAAEwX,QAAS,EAAG3G,QAAS,KAAMvT,KAAM,SCCjGua,EDD0HF,ECCjHG,MAAMrY,KAAK,CAAEpB,OAAQ,KAAM,CAACwN,EAAGjT,IAAMif,EAAO,EAAIjf,KDD8E0X,KAAKuH,GAAU5a,EAAAA,QAAMC,cAAcua,GAAmB,CAAExN,IAAK,eAAe4N,IAAQ,aAAc,SAASA,IAAQnU,QAASkU,EAAYC,IAASA,MCCzR,IAACA,CDDiS,EED1TE,GAAS,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAChFC,GAAe,EAAGC,kBACnBhb,EAAAA,QAAMC,cAAc8C,GAAM,CAAEwX,QAAS,EAAG3G,QAAS,KAAMvT,KAAM,QAAUya,GAAOzH,KAAI,CAAC4H,EAAOC,IAAgBlb,EAAAA,QAAMC,cAAcua,GAAmB,CAAExN,IAAK,gBAAgBiO,IAAS,aAAc,SAASA,IAASxU,QAASuU,EAAaE,IAAeD,MCFrPE,GAAiBpb,IAC1B,MAAMqb,EAAYC,EAAAA,MAAMC,EAAgBA,oBACxC,OAAQtb,EAAKpI,QAACqI,cAAcsb,EAAAA,aAAkBnf,OAAOC,OAAO,CAAEmf,aAAc,SAAWzb,GACnFC,EAAKpI,QAACqI,cAAcwb,EAAkBA,mBAAE,MAAOC,GAAQ1b,EAAAA,QAAMC,cAAc0b,EAAAA,mBAAoB,KAAMD,EAAIE,MAAM,EAAG,MAClH5b,UAAMC,cAAc4b,EAAAA,iBAAkB,MAAOC,GAAS9b,EAAKpI,QAACqI,cAAc8b,eAAc,CAAED,KAAMA,EAAM,aAA0C,IAA5BA,EAAKE,QAAQZ,OAAuB,ECPzJ,IAAIa,IACX,SAAWA,GACPA,EAAcA,EAAwB,SAAI,GAAK,WAC/CA,EAAcA,EAAoB,KAAI,GAAK,OAC3CA,EAAcA,EAAqB,MAAI,GAAK,OAC/C,CAJD,CAIGA,KAAkBA,GAAgB,CAAA,ICF9B,MAAMC,GAAe,EAAGC,QAAOzB,cAAaM,eAAcL,iBACzDwB,IAAUF,GAAcG,KACjBpc,EAAAA,QAAMC,cAAc8a,GAAc,CAAEC,aAAcA,IAEzDmB,IAAUF,GAAcI,SACjBrc,EAAKpI,QAACqI,cAAcwa,GAAkB,CAAEC,YAAaA,EAAaC,YAAaA,IAEnF3a,UAAMC,cAAckb,GAAe,MCTjCmB,GAAqB,CAC9B,CAACL,GAAcI,UAAW,CAAEE,MAAO,IACnC,CAACN,GAAcG,MAAO,CAAEG,MAAO,GAC/B,CAACN,GAAcO,OAAQ,CAAEC,OAAQ,IAExBC,GAAoB,CAC7B,CAACT,GAAcI,UAAW,qBAC1B,CAACJ,GAAcG,MAAO,sBACtB,CAACH,GAAcO,OAAQ,wBCRdG,GAAiB5c,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC3JC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,oEAAqEN,KAAM,kBCI7Iyc,GAAkB5X,EAAUA,YAAC,CAACjF,EAAOmF,KAC9C,MAAO2X,EAAcC,GAAcC,EAAeA,gBAAChd,EAAOmF,EAAK8X,EAAAA,iBACvD7X,SAAU8X,EAAcd,MAAEA,EAAKzB,YAAEA,GAAgBmC,EAAcK,EAAOxc,EAAOmc,EAAc,CAAC,WAAY,QAAS,gBACnHrgB,EAAO+R,EAAAA,SAAQ,IACb4N,IAAUF,GAAcI,SACjB,GAAG3B,EAAc,OAAOA,EAAc,IAC7CyB,IAAUF,GAAcG,KACjB1B,EAAYtH,WACL6J,E9CC2BlS,QAAQ,uBAAuB,CAACoS,EAAaC,IAC1F,KAAKC,KAAKF,GACHA,EACJC,K8CHJ,CAACjB,EAAOzB,EAAauC,IACxB,OAAQjd,EAAKpI,QAACqI,cAAcrB,EAAMxC,OAAOC,OAAO,CAAExD,QAAS,gBAAkBqkB,EAAM,CAAEhY,IAAK4X,EAAYnV,MAAO,CAAE2V,WAAY,YAAe9gB,EAAO,ICLxI+gB,GAAiB,EAAGpB,QAAOzB,cAAa8C,uBAAyBxd,EAAKpI,QAACqI,cAAcuT,GAAO,CAAE5a,GAAI,SAAU6a,UAAW,aAAcC,OAAQ,UAAWC,OAAQ,SAAUC,QAAS,KAC5L5T,EAAAA,QAAMC,cAAc8E,EAAAA,OAAQ,CAAE0Y,KAAM,YAChCzd,EAAAA,QAAMC,cAAc0c,GAAe,OACvC3c,EAAKpI,QAACqI,cAAcuT,GAAO,CAAEC,UAAW,aAAcE,OAAQ,SAAUD,OAAQ,UAAWE,QAAS,KAAMjM,MAAO,CAAE+V,OAAQ,UACvH1d,EAAKpI,QAACqI,cAAc2c,GAAiB,CAAET,MAAOA,EAAOzB,YAAaA,IAClE1a,EAAAA,QAAMC,cAAc0d,GAAO,CAAE,aAAcjB,GAAkBP,GAAQtjB,QAAS,OAAQuM,KAAM+W,IAAUF,GAAcI,SAAWrc,UAAMC,cAAcH,EAAa,MAAQE,EAAAA,QAAMC,cAAc6F,GAAe,MAAOtC,KAAM,KAAMiD,QAAS+W,KAC3Oxd,EAAAA,QAAMC,cAAc8E,EAAAA,OAAQ,CAAE0Y,KAAM,QAChCzd,EAAAA,QAAMC,cAAcyZ,GAAgB,QCX/BY,GAAiBrV,IAC1B,IAAI2Y,eAAEA,EAAiB,GAAEC,iBAAEA,GAAmB,EAAKjiB,MAAEA,EAAKkiB,SAAEA,GAAa7Y,EAAIlF,EAAQW,EAAOuE,EAAI,CAAC,iBAAkB,mBAAoB,QAAS,aAChJ,MAAMkX,MAAEA,EAAK4B,YAAEA,EAAWC,eAAEA,EAActD,YAAEA,EAAWuD,kBAAEA,EAAiBjD,aAAEA,EAAYL,YAAEA,EAAW6C,kBAAEA,GCLtE,EAACU,EAAcN,EAAgBC,KAChE,MAAO1B,EAAOgC,GAAYlW,EAAAA,SAASgU,GAAcO,QAC1CuB,EAAaC,GAAkB/V,EAAQA,UAAEiW,aAAmD,EAASA,EAAaE,QAAU/C,EAAAA,MAAMC,EAAAA,sBACnI+C,OAAEA,GAAWC,EAAAA,YAYbL,EAAoBrN,eAAakL,KAAU+B,GAAmBU,YAAUzC,EAAMuC,IAChFT,EAAe3R,MAAMuS,GAAa1C,EAAKE,QAAQwC,EAAS,KAAO,GAAK1C,EAAKE,QAAQwC,EAAS,KAAO,KAAI,CAACZ,EAAgBC,EAAkBQ,IAC5I5R,EAAAA,WAAU,KACFyR,GACAF,EAAeE,EAAaE,MAAM,GACvC,CAACF,IACJ,MAAMxD,GAAeqD,aAAiD,EAASA,EAAYnD,QAAUsD,aAAmD,EAASA,EAAaE,MAAMxD,QAAS,IAAI6D,MAAOC,cAClMC,GAAgBZ,aAAiD,EAASA,EAAY9C,SAAWiD,aAAmD,EAASA,EAAaE,MAAMnD,SAAU,IAAIwD,MAAOG,WAAa,EASxN,MAAO,CACHzC,QACA4B,cACAC,iBACAtD,cACAuD,oBACAjD,aAdkBE,GAAe,KACjC8C,EAAe,IAAIa,EAAAA,aAAanE,EAAaQ,EAAa,EAAG,IAC7DiD,EAASlC,GAAcO,MAAM,EAa7B7B,YAXiBC,GAAS,KAC1BoD,EAAe,IAAIa,EAAAA,aAAajE,EAAM+D,EAAc,IACpDR,EAASlC,GAAcG,KAAK,EAU5BoB,kBAnCsB,KAClBrB,IAAUF,GAAcO,MACxB2B,EAASlC,GAAcG,MAElBD,IAAUF,GAAcG,KAC7B+B,EAASlC,GAAcI,UAGvB8B,EAASlC,GAAcO,MAC1B,EA2BJ,EDnC6HsC,CAAsBljB,EAAOgiB,EAAgBC,GAC3K,OAAQ7d,EAAKpI,QAACqI,cAAcoa,GAAqBje,OAAOC,OAAO,CAAE0iB,aAAchB,EAAaiB,cAAehB,EAAgBC,kBAAmBA,EAAmBgB,gBAAiB3C,GAAmBH,GAAQvgB,MAAOA,EAAOkiB,SAAUA,GAAY/d,GAC7OC,UAAMC,cAAcsd,GAAgB,CAAE7C,YAAaA,EAAayB,MAAOA,EAAOqB,kBAAmBA,IACjGxd,EAAAA,QAAMC,cAAcic,GAAc,CAAEC,MAAOA,EAAOzB,YAAaA,EAAaM,aAAcA,EAAcL,YAAaA,IAAiB,EETxIuE,GAAW,CACbC,IAAK,aACLC,OAAQ,UAECC,GAAa1nB,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,gBAAkB,yDAAyDsG,EAAM5C,MAAMvC,SACzKmmB,GAAc3nB,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,gBAAkB,+CAAgD+H,GAAUmf,GAASnf,EAAMwf,UAC/KC,GAAkB7nB,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,eAAiB,qDAC7GynB,GAAa9nB,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,gBAAkB,+BAA+BsG,EAAM5C,MAAMV,OAC/I0kB,GAAW/nB,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,cAAgB,eAAesG,EAAM/B,wBAAwB+B,EAAM5C,MAAM,kBAAkB4C,EAAM5C,MAAM,YAAY4C,EAAMxF,OAAOS,QAAQC,IAAIN,SAC1NymB,GAAYhoB,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,eAAesG,EAAM9B,KAAK2B,MAAM5B,wBAAwB+B,EAAM9B,KAAK2B,MAAMxB,wBAAwB2B,EAAM9B,KAAK2B,MAAMzB,0BAA0B4B,EAAM9B,KAAK2B,MAAMvB,oBAAoB0B,EAAM9B,KAAK2B,MAAMtB,SACnS+iB,GAAUjoB,EAAAA,QAAO+J,MAAM5J,WAAW,CAAEC,YAAa,eAAgBC,YAAa,eAAiB,wCAAyC+H,GAAWA,EAAM8f,SAAW,UAAY,cAChLC,GAAkBnoB,EAAMC,QAACgoB,IAAS9nB,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,gBAAkB,oBAAoBsG,EAAMxF,OAAOS,QAAQE,KAAKL,sBAAsBkF,EAAMvD,OAAOE,cAAcqD,EAAM5C,MAAMvC,qCAAqCmF,EAAMxF,OAAOa,UAAUX,KAAKG,SAC/R4mB,GAAepoB,EAAMC,QAACmgB,IAASjgB,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,gBAAkB,4CCH7GgoB,GAAS,EAAGje,KAAIN,YAAWC,QAAOue,OAAMvhB,UAASP,QAAO+hB,WAAUC,QAAOC,YAAWtZ,SAAQ3B,WAAU0a,YAAW,EAAOQ,eAAe,OAAQC,gBAAgB,WACxK,MAAMrK,EAP8B,CACpCgK,MADwBpX,EAOcpH,GANvB,oBAAiBiE,EAChChE,MAAOmH,EAAS,qBAAkBnD,EAClChH,QAASmK,EAAS,uBAAoBnD,EACtCvH,MAAO0K,EAAS,qBAAkBnD,GAJX,IAACmD,EAQxB,MAAM0X,EAAiBvgB,EAAAA,QAAMC,cAAcof,GAAY,KACjC,SAAlBiB,GAA6BtgB,UAAMC,cAAcqf,GAAa,CAAEC,MAAOa,EAAY,SAAW,OAASjb,GACvGib,GAAapgB,EAAAA,QAAMC,cAAcuf,GAAiB,KAAMY,GACxD1e,GAASue,GAAQ9hB,GAASgiB,GAASrZ,EAAU9G,UAAMC,cAAcwf,GAAY,KACzEzf,UAAMC,cAAcuT,GAAO,CAAEC,UAAW,aAAcE,OAAQ,SAAUC,QAAS,MAC7EuM,EACAze,GAAU1B,EAAKpI,QAACqI,cAAcrB,EAAM,CAAE/F,QAASwnB,EAAc5e,UAAWwU,EAAWvU,OAASA,GAC5FhD,GAAYsB,EAAAA,QAAMC,cAAc8f,GAAc,CAAEvjB,KAAMkC,EAAS+C,UAAWwU,EAAWvX,SACjFsB,EAAKpI,QAACqI,cAAcqU,GAAU,CAAEkD,KAAM,OAAQhW,MAAOlD,EAAM5C,MAAMvC,KAAM0D,MAAOyB,EAAMxF,OAAOS,QAAQC,IAAIP,aAC/GgnB,GAAQjgB,EAAAA,QAAMC,cAAcyf,GAAU,CAAEje,UAAWwU,EAAWgK,MAAQA,GACtE9hB,GAAS6B,EAAAA,QAAMC,cAAc0f,GAAW,CAAEle,UAAWwU,EAAW9X,OAASA,GACzE2I,GAAW,KACG,UAAlBwZ,GAA8BtgB,EAAAA,QAAMC,cAAcqf,GAAa,CAAEC,MAAOa,EAAY,SAAW,OAASjb,IAC5G,OAAI+a,EACQlgB,UAAMC,cAAc6f,GAAiB,CAAED,SAAUA,EAAUW,QAASze,EAAIN,UAAWA,GAAa8e,GAEpGvgB,UAAMC,cAAc2f,GAAS,CAAEC,SAAUA,EAAUW,QAASze,EAAIN,UAAWA,GAAa8e,EAAgB,GC5B9GznB,OAAEA,GAAQ4C,MAAAA,GAAKX,OAAEA,IAAWuD,EACrBmiB,GAAQ9oB,EAAMC,QAAC8oB,MAAM5oB,WAAW,CAAEC,YAAa,aAAcC,YAAa,eAAiB,wFAAwFc,GAAOS,QAAQC,IAAIP,0BAA0B8B,GAAO5B,iHAAiHL,GAAOa,UAAUX,KAAKG,qBAAqBL,GAAOa,UAAUX,KAAKG,8UAA8UuC,GAAM,uDAAuD5C,GAAOa,UAAUX,KAAKG,+BAA+BL,GAAOa,UAAUX,KAAKG,sCAAsCL,GAAOa,UAAUX,KAAKE,qDAAqDJ,GAAOa,UAAUX,KAAKG,qBAAqBL,GAAOa,UAAUX,KAAKG,kQAAkQuC,GAAM,8EAA8E5C,GAAOS,QAAQE,KAAKN,qBAAqBL,GAAOS,QAAQE,KAAKN,cAAcL,GAAOS,QAAQC,IAAIN,2iBCEr9CynB,GAAY1b,IACrB,IAAI2b,QAAEA,EAAOC,cAAEA,EAAajlB,MAAEA,EAAK4b,KAAEA,EAAIqI,SAAEA,EAAQiB,UAAEA,EAASrf,UAAEA,EAASqc,SAAEA,GAAa7Y,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,UAAW,gBAAiB,QAAS,OAAQ,WAAY,YAAa,YAAa,aACxM,MAAMlD,EAAKwM,EAAAA,SAAQ,IAAM3F,GAAW,aAAa,IAC3CmY,EAAczQ,SAAO,MACrB0Q,EAAepQ,eAAahQ,IAC9Bkd,EAASld,EAAEqgB,cAAcL,QAAShlB,EAAM,GACzC,CAACkiB,EAAUliB,IAUd,OATA6Q,EAAAA,WAAU,KACDsU,EAAYvQ,UAMjBuQ,EAAYvQ,QAAQqQ,eAJE,IAAlBA,EAIqC,GAC1C,CAACA,IACI7gB,EAAKpI,QAACqI,cAAc+f,GAAQ5jB,OAAOC,OAAO,CAAE0F,GAAIA,EAAI8d,SAAUA,EAAUpe,UAAWA,GAAa8D,GACpGvF,EAAAA,QAAMC,cAAcwgB,GAAO,CAAEvb,IAAK6b,EAAahf,GAAIA,EAAIQ,KAAM,WAAYqe,QAASA,EAAShlB,MAAOA,EAAO4b,KAAMA,EAAMqI,SAAUA,EAAU,aAAciB,EAAWhD,SAAUkD,IAAkB,ECrBzLP,GAAQ9oB,EAAMC,QAAC8oB,MAAM5oB,WAAW,CAAEC,YAAa,aAAcC,YAAa,gBAAkB,8oBCI5FkpB,GAAQlc,EAAUA,YAAC,CAACC,EAAIC,KACjC,IAAI0b,QAAEA,EAAOhlB,MAAEA,EAAK4b,KAAEA,EAAIqI,SAAEA,EAAQ/B,SAAEA,EAAQ/b,GAAEA,EAAEoD,SAAEA,GAAaF,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,UAAW,QAAS,OAAQ,WAAY,WAAY,KAAM,aACxJ,MAAM+b,EAAepQ,eAAahQ,IAC9Bkd,EAASld,EAAEqgB,cAAcL,QAAShlB,EAAM,GACzC,CAACkiB,EAAUliB,IACR5D,EAAc+J,QAA+BA,EAAK6G,GAAW,SACnE,OAAQ5I,UAAMC,cAAc+f,GAAQ5jB,OAAOC,OAAO,CAAE0F,GAAI/J,EAAa6nB,SAAUA,GAAYta,GACvFvF,UAAMC,cAAcwgB,GAAO,CAAE1e,GAAI/J,EAAauK,KAAM,QAASqe,QAASA,EAAShlB,MAAOA,EAAO4b,KAAMA,EAAMqI,SAAUA,EAAU/B,SAAUkD,EAAc9b,IAAKA,IAC1JC,EAAW,ICXNgc,GAAWxpB,EAAMC,QAACwpB,SAAStpB,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,eAAiB,oFACpGqpB,GAAS1pB,EAAAA,QAAO2pB,OAAOxpB,WAAW,CAAEC,YAAa,cAAeC,YAAa,gBAAkB,eAAesG,EAAM9B,KAAKtE,WAAWqE,wBAAwB+B,EAAM9B,KAAKtE,WAAWyE,uBAAuB2B,EAAM9B,KAAKtE,WAAWuE,yBAAyB6B,EAAM9B,KAAKtE,WAAWwE,0BAA0B4B,EAAM9B,KAAKtE,WAAW0E,8BAA8B0B,EAAM9B,KAAKtE,WAAW4E,wBAAwBwB,EAAM9B,KAAKtE,WAAW2E,SCCta,MAAM0kB,WAAmBC,EAAAA,UAC5B,WAAAtY,GACIC,SAASsY,WACTrY,KAAK4X,aAAe,CAACplB,EAAOglB,KACxB,MAAMc,cAAEA,GAAkBtY,KAAKrJ,MAC3B2hB,EACAtY,KAAKuY,qBAAqB/lB,EAAOglB,GAGrCxX,KAAKwY,mBAAmBhmB,EAAOglB,EAAQ,EAE3CxX,KAAKwY,mBAAqB,CAAChmB,EAAOglB,KAC9B,MAAM9C,SAAEA,GAAa1U,KAAKrJ,MACtB6gB,GACA9C,EAAS,CAACliB,GACb,EAELwN,KAAKuY,qBAAuB,CAAC/lB,EAAOglB,KAChC,MAAMiB,SAAEA,EAAQ/D,SAAEA,GAAa1U,KAAKrJ,MACpC,IAAI+hB,EAAc,GAEdA,EADAlB,EACc,IAAIiB,EAAUjmB,GAGdimB,EAASpX,QAAQsX,GAAkBA,IAAkBnmB,IAEvEkiB,EAASgE,EAAY,CAE5B,CACD,MAAA7X,GACI,MAAMyX,cAAEA,EAAajK,QAAEA,EAAOoK,SAAEA,EAAQ5b,MAAEA,EAAK4Z,SAAEA,EAAQK,SAAEA,GAAa9W,KAAKrJ,MACvEiiB,EAAiBN,EAAgBf,GAAWO,GAClD,OAAQlhB,EAAKpI,QAACqI,cAAckhB,GAAU,CAAEtB,SAAUA,GAC9C5Z,GAASjG,EAAAA,QAAMC,cAAcohB,GAAQ,KAAMpb,GAC3CwR,EAAQpE,KAAK4O,GAAYjiB,EAAAA,QAAMC,cAAc+hB,EAAgB5lB,OAAOC,OAAO,CAAE2Q,IAAKiV,EAAOrmB,MAAOskB,SAAUA,EAAUU,QAASiB,EAASK,SAASD,EAAOrmB,OAAQkiB,SAAW8C,GAAYxX,KAAK4X,aAAaiB,EAAOrmB,MAAOglB,IAAYqB,MACxO,ECtCE,MAAME,GAAiBpiB,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC3JC,UAAMC,cAAc,OAAQ,CAAEQ,EAAG,sQAAuQN,KAAM,kBCM5SiiB,GAAY,CAAE5gB,MAAO9F,EAAMvC,KAAMmH,OAAQ5E,EAAMvC,MAK/CkpB,GAAW1qB,EAAMC,QAACmN,IAAQjN,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,eAAiB,wCAAwC0D,EAAMvC,cAAcuC,EAAMvC,mBCT9JmpB,GAAQ3qB,EAAMC,QAAC8J,MAAM5J,WAAW,CAAEC,YAAa,aAAcC,YAAa,eAAiB,6BAA6BsG,EAAM9B,KAAKtE,WAAWqE,wBAAwB+B,EAAM9B,KAAKtE,WAAWyE,wBAAwB2B,EAAM9B,KAAKtE,WAAWwE,0BAA0B4B,EAAM9B,KAAKtE,WAAW0E,oBAAoB0B,EAAM9B,KAAKtE,WAAW2E,SACpU0lB,GAAO5qB,EAAAA,QAAOkH,KAAK/G,WAAW,CAAEC,YAAa,YAAaC,YAAa,gBAAkB,6BAA6BsG,EAAM/B,wBAAwB+B,EAAM5C,MAAM,kBAAkB4C,EAAM5C,MAAM,YAAY4C,EAAMxF,OAAOS,QAAQC,IAAIN,SACnOspB,GAAQ7qB,EAAMC,QAACiH,KAAK/G,WAAW,CAAEC,YAAa,aAAcC,YAAa,eAAiB,6BAA6BsG,EAAM9B,KAAK2B,MAAM5B,wBAAwB+B,EAAM9B,KAAK2B,MAAMxB,wBAAwB2B,EAAM9B,KAAK2B,MAAMzB,0BAA0B4B,EAAM9B,KAAK2B,MAAMvB,oBAAoB0B,EAAM9B,KAAK2B,MAAMtB,yEAAyEyB,EAAM5C,MAAM,uCAAuC4C,EAAMxF,OAAOa,UAAUC,IAAIT,SACjcspB,GAAY9qB,EAAMC,QAAC4b,IAAO1b,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,qBACrG+nB,GAAepoB,EAAMC,QAACmgB,IAASjgB,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,gBAAkB,2CCD7G0qB,GAAclB,GAAevc,IACtC,IAAIvD,MAAEA,EAAKue,KAAEA,EAAI9hB,MAAEA,EAAKO,QAAEA,GAAYuG,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,QAAS,OAAQ,QAAS,YAC7F,MAAMjN,EAAcua,GAAM,CAAExQ,GAAIwD,aAA+C,EAASA,EAAWxD,GAAI8G,OAAQ2Y,EAAUhK,OACzH,OAAK9V,EAEG1B,EAAAA,QAAMC,cAAcwiB,GAAW,CAAE7O,QAAS,KAAMF,OAAQ,WAC5D1T,UAAMC,cAAc,MAAO,CAAE0H,MAAO,CAAEgb,aAAcrkB,EAAM5C,MAAMO,KAC5D+D,UAAMC,cAAcuT,GAAO,CAAEC,UAAW,aAAcE,OAAQ,SAAUC,QAAS,MAC7E5T,EAAAA,QAAMC,cAAcqiB,GAAO,CAAEvgB,GAAI,GAAG/J,UAAqBwoB,QAASxoB,GAAe0J,GACjFhD,GAAYsB,EAAKpI,QAACqI,cAAc8f,GAAc,CAAEvjB,KAAMkC,GAClDsB,UAAMC,cAAcqU,GAAU,CAAE9S,MAAOlD,EAAM5C,MAAMvC,KAAMmH,OAAQhC,EAAM5C,MAAMvC,KAAM0D,MAAOyB,EAAMxF,OAAOS,QAAQC,IAAIN,UAC3H+mB,GAAQjgB,EAAKpI,QAACqI,cAAcsiB,GAAM,KAAMtC,IAC5CjgB,EAAAA,QAAMC,cAAcuhB,EAAWplB,OAAOC,OAAO,CAAE0F,GAAI/J,EAAa4qB,WAAYzkB,GAASoH,IACrFpH,GAAS6B,EAAKpI,QAACqI,cAAcuiB,GAAO,KAAMrkB,IATnC6B,UAAMC,cAAcuhB,EAAWplB,OAAOC,OAAO,CAAEumB,WAAYzkB,GAASoH,GASxB,EChB9Csd,GAAiBlrB,EAAAA,QAAOmrB,EAAAA,OAAOhrB,WAAW,CAAEC,YAAa,sBAAuBC,YAAa,eAAiB,GAAGwa,GAAclU,EAAM9B,KAAKa,sHAAsHiB,EAAMxF,OAAOS,QAAQC,IAAIP,0BAA0BqF,EAAMvD,OAAO5B,YAAYmF,EAAM5C,MAAMO,cAAcqC,EAAM5C,MAAMV,gDAAgDsD,EAAMxF,OAAOa,UAAUX,KAAKE,sDAAsDoF,EAAMxF,OAAOa,UAAUC,IAAIV,0BAA0BoF,EAAMxF,OAAOa,UAAUC,IAAIT,SAAS,EAAG4pB,iBAAkBA,GAC3mB,+BACwBzkB,EAAMxF,OAAOa,UAAUC,IAAIV,iCAC/BoF,EAAMxF,OAAOa,UAAUC,IAAIT,0HAC+DmF,EAAMxF,OAAOS,QAAQC,IAAIP,iDAAiDqF,EAAM5C,MAAMV,4DAA4DsD,EAAMxF,OAAOS,QAAQE,KAAKP,2GAA2GoF,EAAMxF,OAAOS,QAAQC,IAAIN,yJAAyJoF,EAAMvD,OAAO5B,8BAA8BmF,EAAMxF,OAAOa,UAAUC,IAAIT,sDAAsDmF,EAAMxF,OAAOa,UAAUX,KAAKI,yCAAyCkF,EAAMxF,OAAOa,UAAUC,IAAIX,qDAAqDqF,EAAMxF,OAAOa,UAAUC,IAAIR,yCCN11B4pB,GAAiBN,ICGA,EAAG3gB,KAAIN,YAAWkG,QAAOsb,2BAA0B,EAAMC,cAAaC,WAAUC,WAAUC,aAAYC,WAAUC,aAAYC,aAAYC,gBAAe,EAAOb,WAAU,aAAc9B,EAAW,mBAAoB4C,EAAiB,kBAAmBC,EAAgB7F,WAAU8F,oBAAmBC,qBAAwB7jB,EAAAA,QAAMC,cAAcuT,GAAO,CAAEC,UAAW,aAAcC,OAAQ,UAAWC,OAAQ,SAAUC,QAAS,GAC5b5T,EAAAA,QAAMC,cAAc4iB,GAAgB,CAAElb,MAAOA,EAAOlG,UAAWA,EAAW,aAAcqf,EAAW,mBAAoB4C,EAAiB,kBAAmBC,QAAuDA,EAAiB,GAAG5hB,UAAYghB,UAAaH,EAAUW,WAAYA,GACjRvjB,UAAMC,cAAcuT,GAAO,CAAEI,QAAS,EAAGH,UAAW,aAAcC,OAAQ,UACtE1T,EAAKpI,QAACqI,cAAc6jB,YAAW,CAAEb,wBAAyBA,EAAyBnF,SAAU2F,EAAeG,EAAoB9F,EAAUliB,MAAOynB,EAAYF,SAAUA,EAAUY,SAAUX,EAAU,mBAAoBM,EAAiB,kBAAmBC,QAAuDA,EAAiB,GAAG5hB,UAAY,aAAc0hB,EAAe,aAAe,OAAQF,WAAYA,EAAYC,WAAYA,GACxaxjB,EAAKpI,QAACqI,cAAc+jB,EAASA,UAAE,CAAEvG,KAAM,UAAYwG,GAAYjkB,EAAAA,QAAMC,cAAcikB,EAAAA,YAAa,CAAED,QAASA,OAC/GR,GAAiBzjB,EAAAA,QAAMC,cAAcD,EAAKpI,QAAC2Y,SAAU,KACjDvQ,UAAMC,cAAc,OAAQ,CAAEwB,UAAW,4BAA6B,cAAe,QAAU,KAC/FzB,EAAKpI,QAACqI,cAAc6jB,EAASA,UAAE,CAAEb,wBAAyBA,EAAyBnF,SAAU+F,EAAiBjoB,MAAO0nB,EAAUH,SAAUA,EAAUY,SAAUX,EAAU,mBAAoBM,EAAiB,kBAAmBC,QAAuDA,EAAiB,GAAG5hB,UAAY,aAAc,WAAYwhB,WAAYA,EAAYC,WAAYA,GAChXxjB,EAAKpI,QAACqI,cAAc+jB,EAASA,UAAE,CAAEvG,KAAM,QAAUwG,GAAYjkB,EAAKpI,QAACqI,cAAcikB,EAAWA,YAAE,CAAED,QAASA,SACrHf,GAAgBljB,EAAAA,QAAMC,cAAc8E,GAAQ3I,OAAOC,OAAO,CAAExD,QAAS,OAAQ8O,MAAO,CAC5EsL,QAAS,MACT3S,OAAQ,UACP4iB,QChBJiB,GAAcxsB,EAAAA,QAAOysB,OAAOtsB,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,gBAAkB,ugBAAugB,EAAGqsB,kBAC5nB,IAAI/jB,EAAS,OACT3D,EAAW,OAKf,MAJoB,OAAhB0nB,IACA/jB,EAAS,OACT3D,EAAW,QAER,mBACK2D,wBACG3D,UACd,4PCPQ2nB,GAAS5B,GAAW1d,EAAAA,YAAW,CAACC,EAAIC,KAC7C,IAAIzD,UAAEA,EAASgW,QAAEA,EAAO7b,MAAEA,EAAKkiB,SAAEA,EAAQta,KAAEA,EAAIqc,SAAEA,EAAQ+C,SAAEA,GAAa3d,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,YAAa,UAAW,QAAS,WAAY,OAAQ,WAAY,aACtK,MAAM+b,EAAepQ,eAAahQ,IACzBkd,GAELA,EAASld,EAAEqgB,cAAcrlB,MAAM,GAChC,CAACkiB,IACJ,OAAQ9d,EAAKpI,QAACqI,cAAckkB,GAAa/nB,OAAOC,OAAO,CAAEoF,UAAWA,EAAW4iB,YAAa7gB,EAAM5H,MAAOA,QAAqCA,OAAQ8J,EAAWoY,SAAUkD,EAAcnB,SAAUA,EAAU+C,SAAUA,EAAU1d,IAAKA,GAAOK,KAAekS,GACxPA,EAAQpE,KAAK4O,GAAYjiB,UAAMC,cAAc,SAAU,CAAE+M,IAAKiV,EAAOvgB,MAAO9F,MAAOqmB,EAAOrmB,MAAOikB,SAAUoC,EAAOpC,SAAU0E,OAAQtC,EAAOsC,QAAUtC,EAAOvgB,SAAW,KAE/K4iB,GAAOvsB,YAAc,SCXrB,MAAMysB,GAAS7sB,EAAMC,QAACiH,KAAK/G,WAAW,CAAEC,YAAa,cAAeC,YAAa,eAAiB,0NAA0N,EAAG6nB,WAAU4E,cAAe5E,GAAY4E,EAAWnmB,EAAMxF,OAAOa,UAAUX,KAAKC,SAAW,oDAChZwnB,GAAQ9oB,EAAMC,QAAC8oB,MAAM5oB,WAAW,CAAEC,YAAa,aAAcC,YAAa,gBAAkB,wCAAwCsG,EAAMvD,OAAO5B,kCAAkC,EAAG0mB,cAAgBA,EAAW,cAAgB,+BAAgC2E,2BAA+BlmB,EAAMxF,OAAOC,MAAMC,KAAKE,sBAAsBsrB,6CAAiDA,uBAA2BlmB,EAAMxF,OAAOS,QAAQE,KAAKN,8BAA8BqrB,uBAA2BlmB,EAAMxF,OAAOa,UAAUX,KAAKE,UACzgBwrB,GAAS/sB,EAAAA,QAAOkH,KAAK/G,WAAW,CAAEC,YAAa,cAAeC,YAAa,gBAAkB,yCAAyC,EAAG2sB,WAAaA,EAAQ,OAAS,gBAAiB,EAAGA,WAAaA,EAAQ,OAAS,uDAAwDH,mBAAuB,EAAGG,WAAaA,EAAQ,OAAS,gBAAiB,EAAGA,WAAaA,EAAQ,OAAS,eAAgB,EAAGA,WAAaA,EAAQ,MAAQ,gBAAiB,EAAGA,WAAaA,EAAQ,MAAQ,UAAWlE,gBAAmB+D,+CAAmD,EAAGG,WAAaA,EAAQ,OAAS,oCAAqC,EAAGA,WAAaA,EAAQ,OAAS,gCAAiC,EAAGA,WAAaA,EAAQ,OAAS,aACttB/E,GAAUjoB,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,eAAgBC,YAAa,eAAiB,yCCCjG4sB,GAAS5f,EAAUA,YAAC,CAACC,EAAIC,KAClC,IAAInD,GAAEA,EAAK,SAAQN,UAAEA,EAAS+V,KAAEA,EAAIiN,SAAEA,EAAQE,MAAEA,EAAKle,QAAEA,EAAU,SAASoZ,SAAEA,EAAQiB,UAAEA,EAASR,cAAEA,EAAgB,SAAYrb,EAAI4f,EAAcnkB,EAAOuE,EAAI,CAAC,KAAM,YAAa,OAAQ,WAAY,QAAS,UAAW,WAAY,YAAa,kBAC/O,OAAQjF,UAAMC,cAAc+f,GAAQ5jB,OAAOC,OAAO,CAAE0F,GAAIA,EAAIue,cAAeA,GAAiBuE,GACxF7kB,EAAKpI,QAACqI,cAAc2f,GAAS,CAAEne,UAAWA,EAAWoe,SAAUA,GAC3D7f,UAAMC,cAAcykB,GAAQ,CAAEC,MAAOA,EAAO9E,SAAUA,EAAUpe,UAAWA,GACvEzB,EAAAA,QAAMC,cAAcwgB,GAAO,CAAE1e,GAAIA,EAAI1B,KAAM,SAAUkC,KAAM,WAAYiV,KAAMA,EAAM,aAAcsJ,EAAWF,UAAW6D,EAAU3G,SAAWld,GAAOif,OAAWna,EAAYe,EAAQ7F,GAAKif,SAAUA,EAAU3a,IAAKA,IAChNlF,UAAMC,cAAcukB,GAAQ,CAAEC,SAAUA,EAAU5E,SAAUA,MAAgB,ICb/EiF,GAAkC,CAC3C,CAAEpjB,MAAO,eAAgB9F,MAAO,gBAChC,CAAE8F,MAAO,gBAAiB9F,MAAO,iBACjC,CAAE8F,MAAO,iBAAkB9F,MAAO,kBAClC,CAAE8F,MAAO,gBAAiB9F,MAAO,kBCExBmpB,GAAwB,EAAGtN,UAAUqN,GAAiCE,yBAAwBC,gCACvG,MAAOC,EAAmBC,GAAwBld,EAAAA,WAAW+c,GAiB7D,OAJAvY,EAAAA,WAAU,KACDuY,GACDC,SAAsFA,EAA0BxN,EAAQ,GAAG,GAChI,CAACuN,EAAwBC,EAA2BxN,IAC/CzX,UAAMC,cAAcD,EAAKpI,QAAC2Y,SAAU,KACxCvQ,EAAKpI,QAACqI,cAAcrB,EAAM,CAAE/F,QAAS,aAAc8O,MAAO,CAClDyd,QAAS,OACTvR,WAAY,SACZwR,IAAK/mB,EAAM5C,MAAMV,GACjBsiB,WAAY,WAEhBtd,UAAMC,cAAc2kB,GAAQ,CAAED,OAAO,EAAMF,SAAUS,EAAmBze,QAlBvD,KAEjBye,IACAD,SAAsFA,EAA0B,OACpHE,GAAsBD,EAAkB,IAepC,2BACJA,GAAsBllB,EAAKpI,QAACqI,cAAcqkB,GAAQ,CAAE,aAAc,4BAA6B7M,QAASA,EAEpG7b,OAAQopB,aAAuE,EAASA,EAAuBppB,QAAU6b,EAAQ,GAAG7b,MAAOkiB,SA3BtHwH,IACzB,MAAMC,EAAY9N,EAAQ+N,MAAK,EAAG5pB,WAAYA,IAAU0pB,IACpDC,IACAN,SAAsFA,EAA0BM,GAAU,IAwBqD,ECjC3L,IAAWE,GADAA,QAAWA,gBAAA,GACXA,GAWRA,qBAAeA,QAAAA,WAAa,CAAE,IAVX,MAAI,QACtBA,GAAsB,UAAI,YAC1BA,GAAwB,YAAI,cAC5BA,GAAyB,aAAI,eAC7BA,GAAyB,aAAI,eAC7BA,GAAuB,WAAI,aAC3BA,GAA2B,eAAI,iBAC/BA,GAAyB,aAAI,eAC7BA,GAA0B,cAAI,gBAC9BA,GAAyB,aAAI,eAE1B,MAMMC,GAAgBzD,IAEzB,MAAM5G,EAAQsK,EAAAA,IAAIrK,EAAgBA,oBAClC,IAAIsK,EACJ,OAAQ3D,GACJ,KAAKwD,QAAUA,WAACI,MACZD,EAAY,CAAExH,MAAO/C,EAAOyK,IAAKzK,GACjC,MACJ,KAAKoK,QAAUA,WAACM,UACZH,EAAY,CACRxH,MAAO/C,EAAM2K,SAAS,CAAEC,KAAM,IAC9BH,IAAKzK,EAAM2K,SAAS,CAAEC,KAAM,KAEhC,MACJ,KAAKR,QAAUA,WAACS,YACZN,EAAY,CACRxH,MAAO/C,EAAM2K,SAAS,CAAEC,KAAM,IAC9BH,IAAKzK,GAET,MACJ,KAAKoK,QAAUA,WAACU,aACZP,EAAY,CACRxH,MAAO/C,EAAM2K,SAAS,CAAEC,KAAM,KAC9BH,IAAKzK,GAET,MACJ,KAAKoK,QAAUA,WAACW,aACZR,EAAY,CAAExH,MAAO/C,EAAM2K,SAAS,CAAEC,KAAM,KAAOH,IAAKzK,GACxD,MACJ,KAAKoK,QAAAA,WAAWY,WAAY,CACxB,MAAMC,EAAYC,EAAYA,aAAClL,EAAM2K,SAAS,CAAEvJ,OAAQ,KACxDmJ,EAAY,CAAExH,MAAOkI,EAAWR,IAAKU,EAAUA,WAACF,IAChD,KACH,CACD,KAAKb,QAAAA,WAAWgB,eAAgB,CAC5B,MAAMH,EAAYC,EAAYA,aAAClL,EAAM2K,SAAS,CAAEvJ,OAAQ,KACxDmJ,EAAY,CACRxH,MAAOmI,EAAYA,aAACD,GAAWN,SAAS,CAAEvJ,OAAQ,KAClDqJ,IAAKU,EAAUA,WAACF,IAEpB,KACH,CACD,KAAKb,QAAUA,WAACiB,aACZd,EAAY,CAAExH,MAAOuI,EAAAA,YAAYtL,EAAOuL,UAAUC,UAAWf,IAAKzK,GAClE,MACJ,KAAKoK,QAAUA,WAACqB,cACZlB,EAAY,CAAExH,MAAOmI,EAAYA,aAAClL,GAAQyK,IAAKzK,GAC/C,MACJ,KAAKoK,QAAUA,WAACsB,aACZnB,EAAY,CAAExH,MAAO4I,EAAWA,YAAC3L,GAAQyK,IAAKzK,GAC9C,MACJ,QACI,OAAO,KAEf,MA5DgC,CAAC4L,IACjC,MAAM7I,MAAEA,EAAK0H,IAAEA,GAAQmB,EAGvB,MAAO,CAAE7I,MAFS,IAAIS,EAAYA,aAACT,EAAMxD,KAAMwD,EAAMnD,MAAOmD,EAAM1C,KAEvCoK,IADX,IAAIjH,EAAYA,aAACiH,EAAIlL,KAAMkL,EAAI7K,MAAO6K,EAAIpK,KACjB,EAwDlCwL,CAAqBtB,EAAU,EAE7BuB,GAAqB,CAC9B,CAAEzlB,MAAO,SAAU9F,MAAO,SAAUikB,UAAU,GAC9C,CAAEne,MAAO,QAAS9F,MAAO6pB,QAAAA,WAAWI,OACpC,CAAEnkB,MAAO,YAAa9F,MAAO6pB,QAAAA,WAAWM,WACxC,CAAErkB,MAAO,cAAe9F,MAAO6pB,QAAAA,WAAWS,aAC1C,CAAExkB,MAAO,eAAgB9F,MAAO6pB,QAAAA,WAAWU,cAC3C,CAAEzkB,MAAO,eAAgB9F,MAAO6pB,QAAAA,WAAWW,cAC3C,CAAE1kB,MAAO,aAAc9F,MAAO6pB,QAAAA,WAAWY,YACzC,CAAE3kB,MAAO,iBAAkB9F,MAAO6pB,QAAAA,WAAWgB,gBAC7C,CAAE/kB,MAAO,eAAgB9F,MAAO6pB,QAAAA,WAAWiB,cAC3C,CAAEhlB,MAAO,gBAAiB9F,MAAO6pB,QAAAA,WAAWqB,eAC5C,CAAEplB,MAAO,eAAgB9F,MAAO6pB,QAAAA,WAAWsB,eAelCK,GAAoB3B,QAAUA,WAACU,aAC/BkB,GAAgB3B,GAAa0B,IAC7BE,GAAiBH,GAAmB3B,MAAK,EAAG5pB,WAAYA,IAAUwrB,KCxGlEG,GAA0B,EAAG3J,iBAAgB4J,oBACtD,IAAKA,IAAkB5J,GAA4C,IAA1BA,EAAexc,OACpD,OAAO,EACX,MAAQgd,MAAOqJ,EAAc3B,IAAK4B,GAAeF,GAC1CpJ,EAAO0H,GAAO,CAAC2B,EAAcC,GAAYC,OAChD,OAAO/J,EAAe3R,MAAK,EAAE2b,EAAeC,KAAkBzJ,GAASwJ,GAAiBxJ,GAASyJ,GAC5F/B,GAAO8B,GAAiB9B,GAAO+B,GAC/BzJ,GAASwJ,GAAiB9B,GAAO+B,GAAa,ECL1CC,GAAUnwB,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,eAAgBC,YAAa,eAAiB,aAAasG,EAAM5C,MAAMvC,6BAA6BmF,EAAMxF,OAAOS,QAAQE,KAAKN,QCFnL,SAAS4uB,GAAgBxI,GAC5B,OAAQA,GACJ,IAAK,OAML,QACI,MAAO,aALX,IAAK,SACD,MAAO,SACX,IAAK,QACD,MAAO,WAInB,CCXO,SAASyI,GAAWxmB,EAAOymB,GAC9B,cAAezmB,GACX,IAAK,SACD,OAAOA,EACX,IAAK,SACD,MAAO,GAAGA,MACd,IAAK,SACD,MAAO,UAAUwmB,GAAWxmB,EAAM0mB,IAAK,mBAAmBF,GAAWxmB,EAAM2mB,QAC/E,QACI,OAAOF,GAAY,MAE/B,CCRO,SAASG,IAAiBC,WAAEA,EAAUC,YAAEA,EAAWC,WAAEA,EAAUC,eAAEA,EAAcC,QAAEA,EAAOC,aAAEA,IAC7F,MAAMC,EAAmBN,EAAWhV,KAAI,CAACzE,EAAGga,IAAU,sBACvCA,EAAQ,yBACRA,EAAQ,8CAEbL,ECRP,SAA2BM,EAAOD,GACrC,OAAOC,EAAMjN,MAAM,EAAGgN,EAAQ,GAAGE,QAAO,CAACC,EAAKC,IAAQD,EAAMC,GAAK,EACrE,CDM2BC,CAAkBV,EAAYK,EAAQ,GAAK,uCAI5DM,EAAoBZ,EAAYjV,KAAI,CAACzE,EAAGga,IAAU,2BACpCA,EAAQ,8BACRA,EAAQ,+CAEjBL,ECbR,SAA0BM,EAAOD,GACpC,OAAOC,EAAMjN,MAAMgN,GAAOE,QAAO,CAACC,EAAKC,IAAQD,EAAMC,GAAK,EAC9D,CDW4BG,CAAiBZ,EAAYA,EAAWnnB,OAASwnB,GAAS,oBAG5EQ,EAAyC,UAAnBZ,GAAiD,SAAnBA,EACpDa,EAAa,sBACJhB,EAAWjnB,qCACXinB,EAAWjnB,8PAUVgoB,EAAsB,0CAA4C,qBAG5EE,EAA0C,QAAnBd,GAA+C,SAAnBA,EACnDe,EAAc,2BACAjB,EAAYlnB,0CACZknB,EAAYlnB,8PAUhBkoB,EAAuB,2CAA6C,qBAG9EE,EAAc,2DAEElrB,EAAMxF,OAAOS,QAAQE,KAAKR,uEAItBqF,EAAMxF,OAAOS,QAAQE,KAAKN,mBAG9CswB,EAAiB,qEAEDnrB,EAAMxF,OAAOS,QAAQE,KAAKR,8FAItBqF,EAAMxF,OAAOS,QAAQE,KAAKN,mBAGpD,MAAO,gCACkBsvB,EAAQpV,KAAKqW,GAAQ1B,GAAW0B,EAAIloB,SAAQmJ,KAAK,wFAMxE0d,EAAWjnB,OAAS,EAAIunB,EAAmB,WAC3CL,EAAYlnB,OAAS,EAAI8nB,EAAoB,aAE7CG,UACAE,YAEiB,WAAjBb,EAA4Be,EAAiBD,OAEnD,CEnFO,IAAIG,IACX,SAAWA,GACPA,EAAyB,UAAI,YAC7BA,EAA0B,WAAI,YACjC,CAHD,CAGGA,KAAkBA,GAAgB,CAAA,ICJ9B,MAAMC,GAAmB7pB,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC7JC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,sBAAuBN,KAAM,iBACxGH,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,sBAAuBN,KAAM,kBCF/F0pB,GAAe9pB,GAChBC,EAAKpI,QAACqI,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC1HC,UAAMC,cAAc,OAAQ,CAAEQ,EAAG,uEAAwEN,KAAM,kBCF1G2pB,GAAiB/pB,GAClBC,EAAKpI,QAACqI,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC1HC,UAAMC,cAAc,OAAQ,CAAEQ,EAAG,wEAAyEN,KAAM,kBCG3G4pB,GAAc,EAAGC,YAAWC,WAAUzmB,UAC1CwmB,GAAaA,EAAUC,WAAaA,EAErCD,EAAUvW,YAAckW,GAAcO,UAC/BlqB,EAAKpI,QAACqI,cAAc4pB,GAAa,CAAEhtB,MAAOyB,EAAMxF,OAAOS,QAAQC,IAAIJ,KAAMoK,KAAMA,IAEnFxD,EAAKpI,QAACqI,cAAc6pB,GAAe,CAAEjtB,MAAOyB,EAAMxF,OAAOS,QAAQC,IAAIJ,KAAMoK,KAAMA,IAJ7ExD,EAAAA,QAAMC,cAAc2pB,GAAiB,CAAEpmB,KAAMA,ICJrD,SAAS2mB,GAAcC,EAAUC,GACpC,MAAO9B,EAAY+B,GAAiBriB,EAAQA,SAAC,IACvCsiB,EAAmB,KACrB,IAAKH,EAAS5Z,QACV,OACJ,MAAMga,EAAQJ,EAAS5Z,QAAQ7D,iBAAiB,2BAC1C8d,EAAS5P,MAAMrY,KAAKgoB,GAAOnX,KAAKqX,GAASA,EAAKC,wBAAwBnpB,QAC5E8oB,EAAcG,EAAO,EAezB,OAbAhe,EAAAA,WAAU,KACN8d,GAAkB,GACnB,CAACH,EAAS5Z,UAEb/D,EAAAA,WAAU,KACN,IAAK4d,EAAa7Z,QACd,OACJ,MAAMoa,EAAyBC,EAAAA,QAASN,EAAkB,IACpDzb,EAAiB,IAAIC,UAAe6b,GAG1C,OAFA9b,EAAeE,QAAQqb,EAAa7Z,SAE7B,IAAM1B,EAAeG,YAAY,GACzC,CAACob,EAAa7Z,UACV+X,CACX,CC3BA,MAAMuC,WAAoBC,MACtB,WAAA7hB,CAAY8hB,EAAWC,GACnB9hB,MAAM6hB,EAAW,CAAEE,SAAS,EAAMC,YAAY,IAC9C/hB,KAAK6hB,KAAOA,CACf,EAEE,MCJMG,GAAkB,EAAGhB,WAAU7P,UAAS8Q,gBACjD,MAAMC,EAAmBC,GAASA,EAAKzC,QAAO,CAAC0C,EAAKC,KAEhDD,EAAIC,EAAK1pB,IAAM0pB,EAAKjqB,MACbgqB,IACR,CAAE,IACEE,EAAcC,GAAmB1jB,EAAQA,SAACqjB,EAAgB/Q,IAoCjE,OAXA9N,EAAAA,WAAU,KACN,MAAMge,EAASa,EAAgB/Q,GACzBqR,EAAkBxvB,OAAOC,OAAO,CAAE,EAAEqvB,GAC1CtvB,OAAOyvB,KAAKpB,GAAQqB,SAAS9e,SACQtH,WAAtBgmB,EAAa1e,KACpB4e,EAAgB5e,GAAOyd,EAAOzd,GACjC,IAEL2e,EAAgBC,EAAgB,GAEjC,CAACG,KAAKC,UAAUX,KACZ,CACHY,eApCmB,EAAGhC,WAAUzoB,YAChC,MAUMoqB,EAAkBxvB,OAAOC,OAAO,CAAE,EAAEqvB,GAC1CnR,EAAQuR,SAAQ,CAACI,EAAQvwB,KACrB,MAAMwwB,EAAaxwB,IAAM4e,EAAQnZ,OAAS,EACpCgrB,EAAWF,EAAOnqB,KAAOkoB,EAAWzoB,EAbvB,EAAC0qB,EAAQC,KAC5B,IAAIlnB,EAAIonB,EAAIC,EACZ,OAAIH,EACOT,EAAaQ,EAAOnqB,KAAOmqB,EAAO1qB,MACjCkqB,EAAaQ,EAAOnqB,KAC5BmqB,EAAO1qB,QAC8L,QAAnM8qB,EAAkI,QAA5HD,EAAiC,QAA3BpnB,EAAKmlB,EAAS5Z,eAA4B,IAAPvL,OAAgB,EAASA,EAAGsnB,cAAc,qBAAqBL,EAAOnqB,eAA4B,IAAPsqB,OAAgB,EAASA,EAAG1B,+BAA4C,IAAP2B,OAAgB,EAASA,EAAG9qB,aACzOkE,CACM,EAKwC8mB,CAAeN,EAAQC,GACzEP,EAAgBM,EAAOnqB,IAAMqqB,CAAQ,IAEzCT,EAAgBC,GDpBU,EAACZ,EAAWC,KAC1C,MAAMwB,EAAM,IAAI3B,GAAYE,EAAWC,GACvCvhB,SAASgjB,cAAcD,EAAI,ECmBvBE,CAAmB,qBAAsB,CACrCvC,WAEAsB,aAAcE,GAChB,EAeFF,eACH,EC/CE,SAASkB,GAAe3C,EAAUyB,EAAcnR,GACnD,GAAImR,EAAazB,GACb,OAAOyB,EAAazB,GAExB,MAAMiC,EAAS3R,EAAQiL,MAAMkE,GAAQA,EAAI3nB,KAAOkoB,IAChD,OAAOiC,aAAuC,EAASA,EAAO1qB,KAClE,CCHO,SAASqrB,GAAWtS,EAAS6P,EAAU0C,GAC1C,MAAMpB,aAAEA,EAAcO,eAAgBc,GAA2B3B,GAAgB,CAC7EhB,WACA7P,UACA8Q,UAAW9Q,EAAQlH,KAAI,EAAGtR,QAASA,MAEjCirB,EAAazS,EAAQlH,KAAK6Y,GAAY9vB,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAAE6vB,GAAS,CAAE1qB,MAAOkqB,EAAaQ,EAAOnqB,KAAOmqB,EAAO1qB,UAC1HyqB,EAAiBrb,EAAWA,aAAC,EAAGqZ,WAAUzoB,YAE5C,GADAurB,EAAuB,CAAE9C,WAAUzoB,UAC/BsrB,EAAiB,CACjB,MAAMG,EAAsB1S,EAAQlH,KAAI,EAAGtR,SAAU,CACjDA,KACAmrB,YAAanrB,IAAOkoB,EAAWzoB,EAAQorB,GAAe7qB,EAAI2pB,EAAcnR,OAE5EuS,EAAgBG,EACnB,IACF,CAACF,EAAwBD,EAAiBvS,EAASmR,IAChDjD,EAAUuE,EAAWviB,QAAQif,IAAuB,IAAfA,EAAInF,SACzC8D,EAAaI,EAAQhe,QAAQif,GAAuB,SAAfA,EAAIyD,SACzC7E,EAAcG,EAAQhe,QAAQif,GAAuB,UAAfA,EAAIyD,SAC1CC,EAAY3E,EAAQhe,QAAQif,GAAuB,SAAfA,EAAIyD,SAAsBzD,EAAIyD,SACxE,MAAO,CACH1E,QAAS,IAAIJ,KAAe+E,KAAc9E,GAC1CD,aACAC,cACA2D,iBAER,CC7BO,SAASoB,GAAgBC,GAC5B7gB,EAAAA,WAAU,KACN,IAAK6gB,EAAU9c,QACX,OACJ,IAAI+c,GAAa,EACjB,MAAMC,EAAeF,EAAU9c,QACzBid,EAAW,CACbC,KAAM,EACNC,EAAG,GAEDC,EAAoBhtB,IACtB,IAAK4sB,EACD,OACJ,MAAMK,EAAKjtB,EAAEktB,QAAUL,EAASE,EAChCH,EAAaO,WAAaN,EAASC,KAAOG,EACrCN,IACDC,EAAa7lB,MAAMqmB,OAAS,WAC5BR,EAAa7lB,MAAMsmB,WAAa,QAEpCV,GAAa,CAAI,EAEfW,EAAiB,KACnBxkB,SAAS2D,oBAAoB,YAAaugB,GAC1ClkB,SAAS2D,oBAAoB,UAAW6gB,GACxCX,GAAa,EACRC,IAELA,EAAa7lB,MAAMwmB,eAAe,UAClCX,EAAa7lB,MAAMwmB,eAAe,eAAc,EAE9CC,EAAoBxtB,IACjB4sB,IAELC,EAASC,KAAOF,EAAaO,WAC7BN,EAASE,EAAI/sB,EAAEktB,QACfpkB,SAAS0D,iBAAiB,YAAawgB,GACvClkB,SAAS0D,iBAAiB,UAAW8gB,GAAe,EAIxD,OAFAV,EAAapgB,iBAAiB,YAAaghB,GAEpC,IAAMZ,aAAmD,EAASA,EAAangB,oBAAoB,YAAa+gB,EAAiB,GAEzI,CAACd,EAAU9c,SAClB,CCvCO,SAAS6d,GAAkBhE,GAC9B,MAAO7B,EAAgB8F,GAAqBrmB,EAAQA,SAAC,SAC/CsmB,EAAuB,KACzB,IAAKlE,EAAa7Z,QACd,OACJ,MAAMhP,MAAEA,GAAU6oB,EAAa7Z,QAAQma,yBACjCoD,WAAEA,EAAUS,YAAEA,GAAgBnE,EAAa7Z,QAE7C8d,EADAE,EAAchtB,EACI,OAGH,IAAfusB,EAIAA,EAAavsB,GAASgtB,EACJ,MAGJ,SAPI,QAOK,EAgB/B,OAdA/hB,EAAAA,WAAU,KACN,GAAK4d,EAAa7Z,QAGlB,OADA6Z,EAAa7Z,QAAQpD,iBAAiB,SAAUmhB,GACzC,KAAQ,IAAItpB,EAAI,OAAuC,QAA/BA,EAAKolB,EAAa7Z,eAA4B,IAAPvL,OAAgB,EAASA,EAAGoI,oBAAoB,SAAUkhB,EAAqB,CAAG,GACzJ,CAAClE,EAAa7Z,UACjB/D,EAAAA,WAAU,KACN,IAAK4d,EAAa7Z,QACd,OACJ,MAAMoa,EAAyBC,EAAAA,QAAS0D,EAAsB,IACxDzf,EAAiB,IAAIC,UAAe6b,GAE1C,OADA9b,EAAeE,QAAQqb,EAAa7Z,SAC7B,IAAM1B,EAAeG,YAAY,GACzC,CAACob,EAAa7Z,UACV,CAAEgY,iBAAgB6B,eAC7B,CCzCO,MACMoE,GAAmB,OCGnB9oB,GAAShO,EAAAA,QAAO+2B,GAAG52B,WAAW,CAAEC,YAAa,cAAeC,YAAa,gBAAkB,UAAUy2B,wEAAsF,EAAGlP,QAAQ,UAAawI,GAAgBxI,cAAkB,EAAGlV,SAAS,KAAQA,yCAA8C,EAAGuJ,UDJrS,KCIwUtV,EAAM5C,MAAMkY,oBAA0B,EAAGA,UDJjX,KCIoZtV,EAAM5C,MAAMkY,8BAAoCtV,EAAMxF,OAAOS,QAAQE,KAAKN,wBAAwB,EAAG0F,OAAO,KAAQ,QAAQA,OCA3iB,SAAS8vB,GAAgB1pB,GAC5B,IAAI4c,SAAEA,EAAQhB,cAAEA,EAAa/C,SAAEA,EAAQ8Q,cAAEA,GAAkB3pB,EAAI4pB,EAAcnuB,EAAOuE,EAAI,CAAC,WAAY,gBAAiB,WAAY,kBAClI,MAAsB,WAAlB2pB,EACO5uB,EAAKpI,QAACqI,cAAc0F,GAAQvJ,OAAOC,OAAO,CAAE,EAAEwyB,IACjD7uB,EAAAA,QAAMC,cAAc0F,GAAQvJ,OAAOC,OAAO,CAAE,EAAEwyB,GAClD7uB,EAAAA,QAAMC,cAAc0gB,GAAU,CAAEC,QAASiB,EAAUhB,cAAeA,EAAe/C,SAAUA,IACnG,CCNO,MAAMgR,GAAOn3B,EAAAA,QAAOo3B,GAAGj3B,WAAW,CAAEC,YAAa,YAAaC,YAAa,gBAAkB,mDAAmD,EAAGunB,QAAQ,UAAawI,GAAgBxI,mGAAuG,EAAG3L,UHJvQ,KGI0StV,EAAM5C,MAAMkY,oBAA0B,EAAGA,UHJnV,KGIsXtV,EAAM5C,MAAMkY,YAAkBtV,EAAM9B,KAAKc,UAAUT,qBAAqByB,EAAM9B,KAAKc,UAAUf,wBAAwB+B,EAAM9B,KAAKc,UAAUX,uBAAuB2B,EAAM9B,KAAKc,UAAUb,yBAAyB6B,EAAM9B,KAAKc,UAAUZ,0BAA0B4B,EAAM9B,KAAKc,UAAUV,8BAA8B,EAAGiC,OAAO,KAAQ,QAAQA,0BHFnsB,+BGEywBP,EAAMxF,OAAOa,UAAUX,KAAKG,yBAAyBmF,EAAMxF,OAAOS,QAAQE,KAAKR,aCCj3B,SAAS+1B,GAAc/pB,GAC1B,IAAI4c,SAAEA,EAAQoN,MAAEA,EAAKnR,SAAEA,EAAQ8Q,cAAEA,EAAa/O,SAAEA,GAAa5a,EAAIiqB,EAAYxuB,EAAOuE,EAAI,CAAC,WAAY,QAAS,WAAY,gBAAiB,aAC3I,MAAsB,WAAlB2pB,EACQ5uB,EAAAA,QAAMC,cAAc6uB,GAAM1yB,OAAOC,OAAO,CAAE,EAAE6yB,GAChDlvB,EAAAA,QAAMC,cAAcihB,GAAO,CAAEtlB,MAAOqzB,EAAOrO,QAASiB,EAAUhC,SAAUA,EAAU/B,SAAUA,KAE5F9d,EAAAA,QAAMC,cAAc6uB,GAAM1yB,OAAOC,OAAO,CAAE,EAAE6yB,GAChDlvB,EAAAA,QAAMC,cAAc0gB,GAAU,CAAE/kB,MAAOqzB,EAAOrO,QAASiB,EAAUhC,SAAUA,EAAU/B,SAAUA,IACvG,CCTA,MAAMqR,GAAsB,CAAC,GAAI,QAC1B,SAASC,IAAaR,cAAEA,EAAgB,WAAUS,eAAEA,EAAcC,cAAEA,IACvE,MAAMC,IAAqBF,GACpBG,EAAgBC,GAAqBJ,GAAkBF,GA4BxDO,EAAoB,KAClBF,EAAepuB,SAAWkuB,EAAcluB,OAI5CquB,EAAkBH,GAHdG,EAAkB,GAGU,EAYpC,MAAO,CACHF,mBACAC,iBACAG,gBAZoB,CACpB5tB,GAAI,YACJkE,MAAO,YACPzE,MAAO,OACP+d,MAAO,SACP4N,OAAQ,OACRyC,aAAc,CAAC1D,EAAQ2C,IAAiB7uB,EAAKpI,QAACqI,cAAc0uB,GAAiBvyB,OAAOC,OAAO,CAAE,EAAEwyB,EAAa,CAAEhN,SAAU2N,EAAepuB,SAAWkuB,EAAcluB,OAAQyf,cAAe2O,EAAepuB,OAAS,GAAKouB,EAAepuB,OAASkuB,EAAcluB,OAAQ0c,SAAU4R,EAAmBd,cAAeA,KAC9SiB,WAAY,CAACC,EAAKZ,EAAWnc,EAASgd,IAAc/vB,EAAKpI,QAACqI,cAAc+uB,GAAe5yB,OAAOC,OAAO,CAAA,EAAI6yB,EAAW,CAAED,MAAOa,EAAI/tB,GAAI8f,SAAUkO,EAASlO,SAAU/D,SAAU/K,EAAQid,YAAapB,cAAeA,EAAe/O,SAAUkQ,EAASlQ,aAMlPmQ,YA/CgB,CAACnO,EAAUoN,KAC3B,GAAIA,QAEJ,GAAIpN,GAA8B,WAAlB+M,EAEZa,EAAkB,CAACR,SAGvB,GAAIpN,EAAU,CAEV,GAAI2N,EAAetN,SAAS+M,GACxB,OACJ,MAAMgB,EAAS,IAAIT,EAAgBP,GACnCQ,EAAkBQ,EACrB,KACI,CAED,MAAMrH,EAAQ4G,EAAeU,WAAWnuB,GAAOA,IAAOktB,IACtD,GAAIrG,EAAQ,EACR,OACJ,MAAMqH,EAAS,IAAIT,GACnBS,EAAOE,OAAOvH,EAAO,GACrB6G,EAAkBQ,EACrB,GA0BT,CCxDO,MAAMG,GAAgBz4B,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,qBAAsBC,YAAa,eAAiB,8GAA8GsG,EAAMxF,OAAOS,QAAQC,IAAIP,YAChPo3B,GAAgB14B,EAAAA,QAAOkH,KAAK/G,WAAW,CAAEC,YAAa,qBAAsBC,YAAa,eAAiB,gFAAgFsG,EAAM9B,KAAKQ,aAAaH,qBAAqByB,EAAM9B,KAAKQ,aAAaT,wBAAwB+B,EAAM9B,KAAKQ,aAAaL,uBAAuB2B,EAAM9B,KAAKQ,aAAaP,yBAAyB6B,EAAM9B,KAAKQ,aAAaN,0BAA0B4B,EAAM9B,KAAKQ,aAAaJ,cACjc0zB,GAAyB34B,EAAMC,QAACy4B,IAAevxB,OAAM,KAAO,CACrElG,GAAI,SACJ2J,KAAM,aACNzK,WAAW,CAAEC,YAAa,8BAA+BC,YAAa,eAAiB,oIAAoIo4B,uBAAkC9xB,EAAMxF,OAAOS,QAAQE,KAAKP,eAAeoF,EAAMxF,OAAOS,QAAQC,IAAIL,8DAA8DmF,EAAMxF,OAAOa,UAAUX,KAAKE,UCJhZq3B,GAAa54B,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,eAAiB,4DAA4DsG,EAAMxF,OAAOS,QAAQE,KAAKL,kKACzLo3B,GAAgB,EAAGvG,WAAUgC,iBAAgB5c,eACtD,MAAMnK,EAAMurB,EAAAA,YAENC,EAAa3jB,IACf,MAAM4jB,aAAEA,EAAYC,YAAEA,EAAWC,UAAEA,GAAc3hB,OAAO4hB,aAClDC,EAAYC,KAAK7I,IAAIpb,EAAM+gB,SAAW+C,GAAa,GAAIF,GAAgB,GAC7EC,EAAYK,cAAcA,cAAcC,UAAUC,IAAI,qBACtDP,EAAYjpB,MAAMxF,UAAY,cAAc4uB,MAAc,EAUxDvE,EAAiB,EAAGzf,YACtB,MAAM8jB,UAAEA,EAASD,YAAEA,GAAgB1hB,OAAO4hB,cACpCG,cAAEA,GAAkBL,EACpBQ,EAAYH,aAAqD,EAASA,EAActG,wBAAwBnpB,MAChH6vB,EAAeJ,EAChB1E,cAAc,kBACd5B,wBAAwBnpB,MACvB8vB,EAAajiB,GAAYgiB,EAAehiB,EAAWA,EAAWgiB,EAC9DE,GAAUxkB,EAAM+gB,SAAW,IAAM+C,GAAa,GACpD,OAAOG,KAAK7I,KAAKiJ,GAAa,GAAKG,EAAQD,EAxB/B,GAwBoD,EAE9DE,EAAWzkB,IACbmC,OAAO7B,oBAAoB,UAAWmkB,GACtCtiB,OAAO7B,oBAAoB,UAAWmkB,GACtCtiB,OAAO7B,oBAAoB,YAAaqjB,GACxCxhB,OAAO7B,oBAAoB,OAAQqjB,GACnCzE,SAAgEA,EAAe,CAAEhC,WAAUzoB,MAAOgrB,EAAe,CAAEzf,YAC/GmC,OAAO4hB,eACP5hB,OAAO4hB,aAAaF,YAAYjpB,MAAMxF,UAAY,gBAClD+M,OAAO4hB,aAAaF,YAAYK,cAActpB,MAAMmM,eAAiB,GACrE5E,OAAO4hB,aAAaD,eAAYnrB,EAChCwJ,OAAO4hB,aAAaH,kBAAejrB,EACnCwJ,OAAO4hB,aAAaF,YAAYK,cAAcA,cAAcC,UAAUO,OAAO,qBAChF,EAECC,EAAmB3kB,IACA,IAAjBA,EAAMtU,QAA+B,cAAfsU,EAAMxK,OAEhC2M,OAAO4hB,aAAe,CAClBD,UAAW9jB,EAAM+gB,QACjB8C,YAAa1rB,EAAIsL,SAErBtB,OAAO4hB,aAAaH,aAxCH,MACjB,MAAMM,cAAEA,GAAkB/hB,OAAO4hB,aAAaF,YAK9C,OAJqBK,EAChB1E,cAAc,kBACd5B,wBAAwBnpB,MACXyvB,EAActG,wBAAwBnpB,MAZ5C,EAa6B,EAkCNmvB,GACnCzhB,OAAO9B,iBAAiB,UAAWokB,GACnCtiB,OAAO9B,iBAAiB,UAAWokB,GACnCtiB,OAAO9B,iBAAiB,YAAasjB,GACrCxhB,OAAO9B,iBAAiB,OAAQsjB,GAAU,EAE9C,OAAQ1wB,EAAKpI,QAACqI,cAAcswB,GAAY,CAAErrB,IAAKA,EAAKzD,UAAW,aAAckwB,YAAaD,EAAiBE,YAAaF,GAAoB,EC/CzI,SAAS9B,IAAa1D,OAAEA,EAAMlC,UAAEA,EAAS6H,aAAEA,EAAYC,kBAAEA,EAAiB7F,eAAEA,EAAc8F,YAAEA,EAAc,EAACC,QAAEA,EAAU,IAC1H,GAAI9F,EAAO+F,WAAajI,EACpB,MAAM,IAAIxH,MAAM,WAAW0J,EAAOnqB,yEAEtC,GAAImqB,EAAO3H,OACP,OAAO,KAEX,MAAMsK,EAAc,CAChB7hB,IAAKkf,EAAOnqB,GAAGqR,WACfrR,GAAI,oBAAoBmqB,EAAOnqB,KAC/B,gBAAiBmwB,OAAOhG,EAAOnqB,IAC/B1B,KAAM,eACNkf,MAAO2M,EAAO3M,MACd3L,QAASsY,EAAOtY,QAChBnS,UAAWyqB,EAAO+F,SAAW,gBAAavsB,GAG9C,GAAIwmB,EAAO0D,aACP,OAAO1D,EAAO0D,aAAa1D,EAAQ2C,GAEvC,MAYMsD,EAAsBjG,EAAO+F,SAAW3B,GAAyBD,GACjE+B,EAAoBlG,EAAO+F,SAAW,CAAExrB,QAbtB,KACpB,IAAKujB,EAED,YADAtb,QAAQ2jB,IAAI,sEAGhB,MAAMC,ECpCP,UAA0BtI,UAAEA,EAASC,SAAEA,IAC1C,MAAMsI,EAAevI,EAAUC,WAAaA,EACtCuI,EAAqBxI,EAAUvW,YAAckW,GAAcO,UACjE,IAAIuI,EAAmB9I,GAAcO,UAIrC,OAHIqI,GAAgBC,IAChBC,EAAmB9I,GAAc+I,YAE9B,CAAEzI,WAAUxW,UAAWgf,EAClC,CD4B8BE,CAAiB,CAAE3I,YAAWC,SAAUiC,EAAOnqB,KAChE8vB,EAILA,EAAaS,GAHT5jB,QAAQ2jB,IAAI,wEAGW,GAG4C,GAC3E,OAAQryB,UAAMC,cAAc0F,GAAQvJ,OAAOC,OAAO,CAAE,EAAEwyB,EAAa,CAAExkB,OAAQ,IACzErK,EAAKpI,QAACqI,cAAc8X,GAAS,CAAEvb,KAAM0vB,EAAOxtB,SACxCsB,UAAMC,cAAckyB,EAAqB/1B,OAAOC,OAAO,CAAE,EAAE+1B,EAAmB,CAAE3wB,UAAW,kBACvFyqB,EAAO9mB,MAAQ8mB,EAAO9mB,KACtB8mB,EAAOjmB,OAASjG,UAAMC,cAAc,OAAQ,KAAMisB,EAAOjmB,OACzDimB,EAAO+F,UAAajyB,EAAAA,QAAMC,cAAcmwB,GAAe,KACnDpwB,EAAAA,QAAMC,cAAc8pB,GAAa,CAAEC,UAAWA,EAAWC,SAAUiC,EAAOnqB,GAAIyB,KAAM,OAChGsuB,GAAqBE,EAAUD,EAAc,GAAM/xB,EAAKpI,QAACqI,cAAcuwB,GAAe,CAAEvG,SAAUiC,EAAOnqB,GAAIkqB,eAAgBA,EAAgB5c,SAAU6c,aAAuC,EAASA,EAAO0G,iBACtN,CEnDA,MAAMC,GAAev0B,EAAMxF,OAAOS,QAAQE,KAAKN,KACzC25B,GAAcx0B,EAAMxF,OAAOS,QAAQE,KAAKL,KACjC25B,GAAqBp7B,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,0BAA2BC,YAAa,gBAAkB,uCAAuCsG,EAAMvD,OAAO5B,mBAAmB05B,4DAAsEA,eAAyBC,gBAAyBD,gBAA0BA,mUCA1V,MAAM5d,GAAYtd,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,2HAA2Hy2B,6BAC7NuE,GAAUr7B,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,eAAgBC,YAAa,eAAiB,mGAAmGsG,EAAMxF,OAAOS,QAAQE,KAAKN,sBACzN,SAAS85B,IAAUtD,gBAAEA,EAAeuD,sBAAEA,EAAqB7I,aAAEA,EAAYllB,SAAEA,IAC9E,IAAIF,EACJ,MAAOkuB,EAAUC,GAAenrB,EAAQA,UAAC,GACzCwE,EAAAA,WAAU,KACN,IAAKymB,EAAsB1iB,QACvB,OACJ,MAKM6iB,EAAuB,IAAIC,sBALfC,IACdA,EAAQzH,SAAS0H,IACbJ,GAAaI,EAAMC,eAAe,GACpC,IAKN,OAFAJ,EAAqBrkB,QAAQkkB,EAAsB1iB,SAE5C,IAAM6iB,EAAqBpkB,YAAY,GAE/C,CAACikB,EAAsB1iB,UAC1B,MAAMkjB,EAAgD,QAA/BzuB,EAAKolB,EAAa7Z,eAA4B,IAAPvL,OAAgB,EAASA,EAAG0lB,wBAOpFgJ,EAAuB,CACzBlG,SAAU,QACVtO,IAAK,EACLuO,KAAMgG,aAAqD,EAASA,EAAchG,KAClFlsB,MAAOkyB,aAAqD,EAASA,EAAclyB,OAEjFmG,EAAQwrB,EAAWQ,EAZK,CAC1BlG,SAAU,WACVtO,IAAK,EACLuO,KAAM,EACNkG,MAAO,GASX,OAAQ5zB,EAAKpI,QAACqI,cAAcgV,GAAW,CAAEtN,MAAOA,GAC5CioB,GAAa,CAAE1D,OAAQyD,IACvB3vB,EAAAA,QAAMC,cAAc+yB,GAAS,KAAM7tB,GAC3C,CCxCO,MAAM0uB,GAAiB9zB,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC3JC,UAAMC,cAAc,OAAQ,CAAEQ,EAAG,0SAA2SN,KAAM,kBCDzU2zB,GAAoB/zB,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC9JC,UAAMC,cAAc,OAAQ,CAAEQ,EAAG,mnBAAonBN,KAAM,kBCDlpB4zB,GAAeh0B,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GACzJC,UAAMC,cAAc,OAAQ,CAAEQ,EAAG,mEAAoEN,KAAM,kBCAxG,MAAM6zB,GAAmBr8B,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,eAAiB,eAAesG,EAAM5C,MAAMR,qBAAqBoD,EAAM5C,MAAMR,kBAAkB,EAAG62B,iBAAkB,YAAYA,wFAAkGzzB,EAAM5C,MAAMT,MAC5Ug5B,GAAwBt8B,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,6BAA8BC,YAAa,gBAAkB,WAAWsG,EAAM5C,MAAMT,uBAAuBqD,EAAMxF,OAAOS,QAAQE,KAAKP,uBAAuBoF,EAAMvD,OAAOI,QCFtO+4B,GAASv8B,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,cAAeC,YAAa,eAAiB,sBCC3F8gB,GAAMnhB,EAAAA,QAAOw8B,GAAGr8B,WAAW,CAAEC,YAAa,WAAYC,YAAa,eAAiB,oBAAoB,EAAG6pB,cAAeA,GACnI,8CAEsBvjB,EAAMxF,OAAOC,MAAMC,KAAKC,0BAE3C,EAAG2f,iBAAkBA,GACxB,6OAYsBA,kBCnBbwb,GAAkBz8B,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,gBAAkB,kECE9Gq8B,GAAY18B,EAAAA,QAAO28B,MAAMx8B,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,qGAAqGsG,EAAM5C,MAAoB,iDAA8C,EAAGwe,SAAUA,ICF9Rqa,GAAW58B,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,gBAAkB,6DCCvGw8B,GAAmB,CACrBr5B,KAAM,qCAAqCmD,EAAMvD,OAAO5B,QACxDs7B,SAAU,oEACV14B,KAAM,oBAEG6jB,GAAUjoB,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,eAAgBC,YAAa,eAAiB,gEAAgEsG,EAAMxF,OAAOS,QAAQE,KAAKL,QAAQ,EAAGs7B,aAAa,UAAaF,GAAiBE,kGCAnP,SAASC,IAAWxvB,SAAEA,EAAQ+tB,sBAAEA,EAAqB7I,aAAEA,EAAY9B,WAAEA,EAAUqM,SAAEA,IACpF,MAAMC,EAAqBvkB,SAAO,OAC3BwkB,EAAWC,GAAgB9sB,EAAQA,UAAC,IACpCyrB,EAAesB,GAAoB/sB,WAAS,CAC/CkX,IAAK,EACLuO,KAAM,EACNlsB,MAAO,EACPlB,OAAQ,IAEN20B,EAA4B,KAC9B,IAAIhwB,EACJ,MAAMiwB,EAA6C,QAA/BjwB,EAAKolB,EAAa7Z,eAA4B,IAAPvL,OAAgB,EAASA,EAAG0lB,wBACjFwK,EAAU,CACZzH,MAAOwH,aAA+C,EAASA,EAAWxH,OAAS,EACnFlsB,OAAQ0zB,aAA+C,EAASA,EAAW1zB,QAAU,EACrF2d,IAAK,EACL7e,OAAQ,IAEZ00B,EAAiBG,EAAQ,EAEvBC,EAAgC,KAClC,IAAInwB,EACJ,IAAKolB,EAAa7Z,QACd,OACJ,MAAM6kB,EAAgBhL,EAAa7Z,QAAQud,WACL,QAArC9oB,EAAK4vB,EAAmBrkB,eAA4B,IAAPvL,GAAyBA,EAAGqwB,SAASD,EAAe,EAAE,EAkDxG,GA/CA5oB,EAAAA,WAAU,KACN,IAAKymB,EAAsB1iB,QACvB,OACJ,MAQM6iB,EAAuB,IAAIC,sBALHC,IAC1BA,EAAQzH,SAAS0H,IACbuB,GAAcvB,EAAMC,eAAe,GACrC,GANU,CACZ8B,UAAW,IASf,OADAlC,EAAqBrkB,QAAQkkB,EAAsB1iB,SAC5C,IAAM6iB,EAAqBpkB,YAAY,GAC/C,CAACikB,EAAsB1iB,UAE1B/D,EAAAA,WAAU,KACDqoB,GAEAzK,EAAa7Z,SAElBykB,GAA2B,GAC5B,CAAC5K,EAAa7Z,QAASskB,IAE1BroB,EAAAA,WAAU,KACN,IAAKqoB,EACD,OACJ,IAAKzK,EAAa7Z,QACd,OACJ,MAAMoa,EAAyBC,EAAAA,QAASoK,EAA2B,IAC7DnmB,EAAiB,IAAIC,UAAe6b,GAE1C,OADA9b,EAAeE,QAAQqb,EAAa7Z,SAC7B,IAAM1B,EAAeG,YAAY,GACzC,CAACob,EAAa7Z,QAASskB,IAE1BroB,EAAAA,WAAU,KACN2oB,GAA+B,GAChC,CAACN,IACJroB,EAAAA,WAAU,KACN,IAAIxH,EAEJ,OADgC,QAA/BA,EAAKolB,EAAa7Z,eAA4B,IAAPvL,GAAyBA,EAAGmI,iBAAiB,SAAUgoB,GACxF,KACH,IAAInwB,EAC4B,QAA/BA,EAAKolB,EAAa7Z,eAA4B,IAAPvL,GAAyBA,EAAGoI,oBAAoB,SAAU+nB,EAA8B,CACnI,GACF,CAAC/K,EAAa7Z,WAEZskB,EACD,OAAO,KACX,MAAMU,EAAiBp5B,OAAOC,OAAOD,OAAOC,OAAO,CAAA,EAAIq3B,GAAgB,CAAEpzB,OAAQmuB,GAAkBhB,SAAU,QAASpjB,OAAQ,EAAGorB,UAAW,SAAUC,UAAW,SAAUC,aAAc,aAAar3B,EAAMxF,OAAOS,QAAQE,KAAKN,SAU1Ny8B,EAAShB,EARIrM,EACdlV,KAAI,CAAC7R,EAAOonB,IAAU,wBACVA,EAAQ,sBACdpnB,oBAGNmJ,KAAK,IAGV,OAAQ3K,EAAAA,QAAMC,cAAc,MAAO,CAAE0H,MAAO6tB,EAAgBtwB,IAAK2vB,GAC7D70B,EAAAA,QAAMC,cAAco0B,GAAW,CAAEna,IAAK0b,GAClC51B,EAAKpI,QAACqI,cAAc,QAAS,KAAMkF,IAC/C,CClGO,MAAM0wB,GAAc,CAAC5G,GAASO,iBAAgBsG,iBAAgBC,qBAChD,CACblU,UAAW2N,aAAuD,EAASA,EAAetN,SAAS+M,MAAW,EAC9GznB,UAAWsuB,aAAuD,EAASA,EAAe5T,SAAS+M,MAAW,EAC9GpP,UAAWkW,aAAuD,EAASA,EAAe7T,SAAS+M,MAAW,ICmBhH+G,GAAoB,CACtB5wB,KAAMpF,EAAAA,QAAMC,cAAcsU,GAAU,CAAE/S,MAAO,GAAIlB,OAAQ,KACzD21B,QAAS,cAEPC,GAAc,OACPC,GAAY,EAAGC,gBAAe1B,aAAYna,QAAS8b,EAAgBC,aAAaN,GAAmBF,iBAAgBxwB,UAASixB,kBAAiB1E,eAAc2E,OAAMT,iBAAgBnH,gBAAeS,iBAAgBoH,cAAazM,YAAWtB,eAAcgO,qBAAoB5E,oBAAmBhF,sBAEtS,MAAM6J,EAAqBrmB,SAAO,MAC5B8Z,EAAW9Z,SAAO,MAClB4iB,EAAwB5iB,SAAO,MACrC+c,GAAgBsJ,GAEhB,MAAMrH,EAAgBkH,EAAKnjB,KAAKyc,GAAQA,EAAI/tB,KAAI0I,QAAQ1I,KAASg0B,aAAuD,EAASA,EAAe7T,SAASngB,OACnJwtB,iBAAEA,EAAgBC,eAAEA,EAAcG,gBAAEA,EAAeK,YAAEA,GAAgBZ,GAAa,CACpFR,gBACAS,iBACAC,kBAGEvc,EAAU,CACZid,YAAaA,GAAekG,GAC5BO,YAAaA,GAAeP,IAG1BU,EAAuB,CAACjH,KAAoB0G,GAC5CQ,EAAatH,EAAmBqH,EAAuBP,EACvD9N,EAAa4B,GAAcC,EAAUuM,IACrClO,QAAEA,EAAOJ,WAAEA,EAAUC,YAAEA,EAAW2D,eAAEA,GAAmBY,GAAWgK,EAAYzM,EAAU0C,GACxFgK,EAAqBvO,EAAWnnB,SAAWqnB,EAAQrnB,OACnDqnB,EAAQpV,KAAI,CAACqW,EAAK/tB,IAAMo7B,OAAOC,MAAMtN,EAAIloB,OAAS,IAAM+mB,EAAW5sB,GAAK+tB,EAAIloB,QAC5E+mB,GAEAC,eAAEA,GAAmB6F,GAAkBsI,GACvC/B,EAAWxM,GAAiB,CAC9BC,aACAC,cACAC,WAAYuO,EACZtO,iBACAC,UACAC,iBAGJ,GAAIpjB,EAAS,CACT,MAAM2xB,EAAc,IAAIpc,MAAM0b,GAAiBp2B,MAAK,GAAMkT,KAAI,KAAO,CAEjEtR,GAAoB,IAAhBivB,KAAKkG,SACTjM,KAAM,SAEV,OAAQjrB,EAAKpI,QAACqI,cAAc2f,GAAS,CAAE8U,WAAYA,GAC/C10B,EAAAA,QAAMC,cAAcm0B,GAAiB,CAAElvB,IAAKyxB,GACxC32B,UAAMC,cAAco0B,GAAW,CAAEna,IAAK0a,EAAU1vB,IAAKklB,EAAU/pB,KAAM,SACjEL,EAAAA,QAAMC,cAAc,QAAS,CAAEI,KAAM,YACjCL,EAAAA,QAAMC,cAAc6Y,GAAK,CAAEzY,KAAM,OAASooB,EAAQpV,KAAI,CAAC6Y,EAAQvwB,IAAMi0B,GAAa,CAC9E1D,SACAlC,YACA6H,eACAC,oBACA7F,iBACA8F,YAAatJ,EAAQrnB,OACrB4wB,QAASr2B,QAEjBqE,EAAAA,QAAMC,cAAc,QAAS,CAAEI,KAAM,YAAc42B,EAAY5jB,KAAKyc,GAAS9vB,EAAKpI,QAACqI,cAAc6Y,GAAK,CAAE9L,IAAK8iB,EAAI/tB,IAAM0mB,EAAQpV,KAAKqW,GC3EjJ,SAA2BoG,EAAK5D,GACnC,IAAsB,IAAlBA,EAAO3H,OACP,OAAO,KAEX,MAAM2K,EAAY,CACd3P,MAAO2M,EAAO3M,MACdvS,IAAK,GAAG8iB,EAAI/tB,MAAMmqB,EAAOnqB,KACzB1B,KAAM,OACNuT,QAASsY,EAAOtY,SAEpB,OAAQ5T,EAAAA,QAAMC,cAAc6uB,GAAM1yB,OAAOC,OAAO,CAAE,EAAE6yB,GAChDlvB,EAAAA,QAAMC,cAAc8yB,GAAoB,MAChD,CD+DgKoE,CAAkBrH,EAAKpG,WAClL,CACD,GAAoB,IAAhB8M,EAAKp1B,OACL,OAAQpB,EAAKpI,QAACqI,cAAc2f,GAAS,CAAE8U,WAAYA,GAC/C10B,EAAAA,QAAMC,cAAcm0B,GAAiB,CAAElvB,IAAKyxB,GACxC32B,UAAMC,cAAco0B,GAAW,CAAEna,IAAK0a,EAAU1vB,IAAKklB,EAAU/pB,KAAM,SACjEL,EAAAA,QAAMC,cAAc,QAAS,CAAEI,KAAM,YACjCL,EAAAA,QAAMC,cAAc6Y,GAAK,CAAEzY,KAAM,OAASooB,EAAQpV,KAAI,CAAC6Y,EAAQvwB,IAAMi0B,GAAa,CAC9E1D,SACAlC,YACA6H,eACAC,oBACA7F,iBACA8F,YAAatJ,EAAQrnB,OACrB4wB,QAASr2B,QAEjBqE,EAAAA,QAAMC,cAAc,QAAS,CAAEI,KAAM,YACjCL,EAAKpI,QAACqI,cAAc+zB,GAAkB,CAAEjC,YAAatJ,EAAQrnB,QACzDpB,EAAAA,QAAMC,cAAcg0B,GAAuB,KAAMqC,EAAWlxB,MAC5DpF,EAAKpI,QAACqI,cAAcuT,GAAO,CAAEI,QAAS,KAAMF,OAAQ,UAChD1T,EAAKpI,QAACqI,cAAcrB,EAAM,CAAE/F,QAAS,iBAAmBy9B,EAAWL,SACnEK,EAAWc,YAAep3B,EAAAA,QAAMC,cAAcrB,EAAM,CAAE/F,QAAS,oBAAsBy9B,EAAWc,kBAE5H,MAAMC,EAAavH,IACf,MAAMwH,aAAEA,EAAe,GAAE1e,YAAEA,GAAgBkX,EACrCC,EAAW8F,GAAY/F,EAAI/tB,GAAI,CAAEytB,iBAAgBsG,iBAAgBC,mBACvE,OAAQ/1B,EAAKpI,QAACqI,cAAc6Y,GAAK1c,OAAOC,OAAO,CAAEgE,KAAM,MAAO2M,IAAK8iB,EAAI/tB,GAAI6W,YAAaA,EAAanX,UAAW61B,GAAgBvH,GAAWtH,EAAQpV,KAAKqW,GEvGzJ,SAAoBoG,EAAK5D,EAAQnZ,EAASgd,GAC7C,GAAI7D,EAAO3H,OACP,OAAO,KAEX,MAAM2K,EAAY,CACd3P,MAAO2M,EAAO3M,MACdvS,IAAK,GAAG8iB,EAAI/tB,MAAMmqB,EAAOnqB,KACzB1B,KAAM,OACNuT,QAASsY,EAAOtY,QAChB/U,KAAMqtB,EAAOrtB,MAEjB,OAAOqtB,EAAO2D,WAAWC,EAAKZ,EAAWnc,EAASgd,EACtD,CF2FwKF,CAAWC,EAAKpG,EAAK3W,EAASgd,KAAa,EAEzMwH,EAAkB,CAACC,EAAWvI,KAChC,IAAIhqB,EAAIonB,EACR,MAAMoL,EAAqK,QAA5IpL,EAAqF,QAA/EpnB,EAAKuyB,aAA6C,EAASA,EAAUvM,YAAyB,IAAPhmB,OAAgB,EAASA,EAAGyyB,qBAAkC,IAAPrL,OAAgB,EAASA,EAAGyD,IACzMC,EAAW8F,GAAY5G,EAAO,CAAEO,iBAAgBsG,iBAAgBC,mBACtE,OAAQ/1B,EAAKpI,QAACqI,cAAc6Y,GAAK,CAAEzY,KAAM,MAAO2M,IAAKwqB,EAAUz1B,GAAIN,UAAWg2B,GAAyBhP,EAAQpV,KAAKqW,GG3GrH,SAA0B8N,EAAWtL,EAAQ6D,GAChD,GAAI7D,EAAO3H,OACP,OAAO,KAEX,MAAM2K,EAAY,CACd3P,MAAO2M,EAAO3M,MACdvS,IAAK,GAAGwqB,EAAUz1B,MAAMmqB,EAAOnqB,KAC/B1B,KAAM,OACNuT,QAASsY,EAAOtY,SAEpB,OAAKsY,EAAOyL,iBAGLzL,EAAOyL,iBAAiBH,EAAWtI,EAAWa,GAF1C/vB,EAAKpI,QAACqI,cAAc6uB,GAAM1yB,OAAOC,OAAO,CAAE,EAAE6yB,GAG3D,CH6FoIyI,CAAiBH,EAAW9N,EAAKqG,KAAa,EAExK6H,EAAiB9H,IACnB,IAAI7qB,EACJ,MAAM4yB,EAAa/B,aAAuD,EAASA,EAAe5T,SAAS4N,EAAI/tB,IAC/G,OAAQ/B,EAAKpI,QAACqI,cAAc,QAAS,CAAEI,KAAM,WAAY2M,IAAK8iB,EAAI/tB,IAC9Ds1B,EAAUvH,GACV+H,IAAyC,QAAzB5yB,EAAK6qB,EAAIgI,kBAA+B,IAAP7yB,OAAgB,EAASA,EAAGoO,KAAKmkB,GAAcD,EAAgBC,EAAW1H,EAAI/tB,OAAQ,EAqBzIg2B,EAAiB/3B,EAAKpI,QAACqI,cAAc6Y,GAAK,CAAEzY,KAAM,OAASooB,EAAQpV,KAAI,CAAC6Y,EAAQvwB,IAAMi0B,GAAa,CACrG1D,SACAlC,YACA6H,eACAC,oBACA7F,iBACA8F,YAAatJ,EAAQrnB,OACrB4wB,QAASr2B,OAEPq8B,EAAqB3B,EAAepqB,MAAMigB,KAAaA,EAAOnkB,eAC9DkwB,EAAwBzI,EAAepuB,OAAS,KAAOg1B,EAC7D,OAAQp2B,EAAKpI,QAACqI,cAAc2f,GAAS,CAAE8U,WAAYA,GAC/CuD,GAA0Bj4B,EAAAA,QAAMC,cAAcgzB,GAAW,CAAEtD,gBAAiBA,EAAiBuD,sBAAuBA,EAAuB7I,aAAcsM,GAAsBP,GAC/Kp2B,EAAAA,QAAMC,cAAcm0B,GAAiB,CAAElvB,IAAKyxB,GACxCD,GAAuB12B,EAAKpI,QAACqI,cAAc00B,GAAY,CAAEC,SAAUA,EAAU1B,sBAAuBA,EAAuB7I,aAAcsM,EAAoBpO,WAAYuO,GAAsBiB,GAC/L/3B,UAAMC,cAAc,MAAO,CAAEiF,IAAKguB,EAAuBvrB,MAAO,CAAErH,OAAQ,KAC1EN,UAAMC,cAAco0B,GAAW,CAAEna,IAAK0a,EAAU1vB,IAAKklB,EAAU/pB,KAAM,SACjEL,EAAKpI,QAACqI,cAAc,QAAS,CAAEI,KAAM,YAAc03B,GApC5C,MACf,MAAMG,IAAkBpC,EAExB,OAD4BoC,GAAkC,WAAjBxP,EAElC8N,EAAKnjB,IAAIukB,GAEhBM,EACQl4B,EAAKpI,QAACqI,cAAc,QAAS,CAAEI,KAAM,YAAcm2B,EAAKnjB,KAAKyc,IACjE,IAAI7qB,EAMJ,MAAO,CALYoyB,EAAUvH,OACVgG,aAAuD,EAASA,EAAe5T,SAAS4N,EAAI/tB,OAEhF,QAAzBkD,EAAK6qB,EAAIgI,kBAA+B,IAAP7yB,OAAgB,EAASA,EAAGoO,KAAKmkB,GAAcD,EAAgBC,EAAW1H,EAAI/tB,QACjH,GACqC,KAG1C/B,UAAMC,cAAc,QAAS,CAAEI,KAAM,YAAcm2B,EAAKnjB,IAAIgkB,GAAW,EAoBtEc,GACAH,GAAuBh4B,EAAKpI,QAACqI,cAAc,QAAS,CAAEI,KAAM,YACxDL,EAAKpI,QAACqI,cAAc6Y,GAAK,CAAEzY,KAAM,OAASooB,EAAQpV,KAAK6Y,GI5JpE,UAAsBA,OAAEA,IAC3B,GAAIA,EAAO3H,OACP,OAAO,KAEX,MAAM6T,EAAc,CAChBprB,IAAKkf,EAAOnqB,GACZ1B,KAAM,OACNkf,MAAO2M,EAAO3M,MACd3L,QAASsY,EAAOtY,SAEpB,OAAKsY,EAAOnkB,aAGLmkB,EAAOnkB,aAAamkB,EAAQkM,GAFxBp4B,EAAKpI,QAACqI,cAAc6uB,GAAM1yB,OAAOC,OAAO,CAAE,EAAE+7B,GAG3D,CJ8IsFrwB,CAAa,CAAEmkB,iBAAkB,EAEvHiK,GAAUkC,aAAe,CACrB/yB,SAAS,EACTixB,gBAAiB,EACjB3H,cAAe,WACflG,aAAc,MACdgO,oBAAoB,GAExBP,GAAUrH,KAAOA,GACjBqH,GAAUmC,WKrKH,UAAoB/d,QAAEA,EAAOge,aAAEA,EAAYC,WAAEA,IAChD,MAAOC,EAAeC,GAAoBzwB,EAAQA,SAAC,OAC5C0wB,EAAaC,GAAkB3wB,EAAQA,UAAC,GACzC4wB,EAAgBte,EAAQlH,KAAK6Y,GAAW,CAACA,EAAOnqB,GAAImqB,KACpD4M,EAAa18B,OAAO28B,YAAYF,GAChCG,EAAST,EAAallB,KAAK+J,GAAUA,EAAM/J,KAAK4W,GAAa6O,EAAW7O,OACxEgP,EAAY,CAACC,EAAY3U,KAC3B,MAAM8G,EAAY2N,EAAOE,GAAY7lB,KAAK6Y,GAAWA,EAAOnqB,KACtDirB,EAAa,IAAIzS,GACvB8Q,EAAUS,SAAS7B,IACf,MAAMrB,EAAQoE,EAAWkD,WAAWhE,GAAWA,EAAOnqB,KAAOkoB,IACzDrB,EAAQ,IAEZoE,EAAWpE,GAASxsB,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAAE2wB,EAAWpE,IAAS,CAAErE,WAAS,IAEvFiU,EAAWxL,EAAW,EAE1B,OAAQhtB,UAAMC,cAAcD,EAAKpI,QAAC2Y,SAAU,KACxCvQ,EAAAA,QAAMC,cAAc8E,GAAQ,CAAEG,IAAKwzB,EAAkBrzB,UAAU,EAAMoB,QAAS,IAAMmyB,GAAe,IAAS,WAC5GD,GAAgB34B,EAAKpI,QAACqI,cAAc0N,GAAS,CAAEpB,cAAeksB,EAAe3qB,cAAe,IAAM8qB,GAAe,IAC7G54B,EAAKpI,QAACqI,cAAcyH,GAAM,CAAEC,MAAO,CAAEnG,MAAO,MACxCxB,EAAAA,QAAMC,cAAcuT,GAAO,CAAEE,OAAQ,UAAWE,QAAS,MAAQolB,EAAO3lB,KAAI,CAAC+J,EAAO8b,IAAgBl5B,EAAKpI,QAACqI,cAAcuT,GAAO,CAAExG,IAAKoQ,EAAM,GAAGrb,GAAI0R,UAAW,aAAcE,OAAQ,SAAUC,QAAS,KAAMjM,MAAO,CAC5MwxB,OAAQ,kBACRlmB,QAAS,IAEbjT,EAAAA,QAAMC,cAAc8E,GAAQ,CAAElM,QAAS,OAAQuM,KAAMpF,EAAAA,QAAMC,cAAc8zB,GAAa,QACtF/zB,EAAAA,QAAMC,cAAcuT,GAAO,CAAEI,QAAS,KAAMjM,MAAO,CAAEyxB,KAAM,IAAOhc,EAAM/J,KAAK6Y,GAAYlsB,EAAKpI,QAACqI,cAAc,MAAO,CAAE+M,IAAKkf,EAAOnqB,IAAMmqB,EAAOjmB,UAC/IjG,EAAAA,QAAMC,cAAcuT,GAAO,CAAEC,UAAW,aAAcG,QAAS,MAAQwJ,EAAM,GAAGmH,OAAUvkB,EAAAA,QAAMC,cAAc8E,GAAQ,CAAElM,QAAS,OAAQuM,KAAMpF,EAAAA,QAAMC,cAAc6zB,GAAkB,MAAOrtB,QAAS,IAAMwyB,EAAUC,GAAY,GAAQvxB,MAAO,CAAE9K,MAAOyB,EAAMxF,OAAOS,QAAQC,IAAIP,YAAkB+G,UAAMC,cAAc8E,GAAQ,CAAElM,QAAS,OAAQuM,KAAMpF,EAAKpI,QAACqI,cAAc4zB,GAAe,MAAOptB,QAAS,IAAMwyB,EAAUC,GAAY,YAC5b,EL0IA/C,GAAUnH,cAAgBA,GAC1BmH,GAAUxH,gBAAkBA,GAC5BwH,GAAUxwB,OAASA,GACnBwwB,GAAU5B,SAAWA,GACrB4B,GAAUjC,OAASA,GMhLnB,MAAMmF,GAAO1hC,EAAMC,QAAC0hC,GAAGxhC,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,qCAAqCsG,EAAM5C,MAAMvC,SACvIoa,GAAO5b,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,wBAAwBsG,EAAM5C,MAAMO,OAC3Hs9B,GAAU5hC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,eAAgBC,YAAa,gBAAkB,oEAAoEsG,EAAM5C,MAAMvC,SAC9KqgC,GAAuB7hC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,4BAA6BC,YAAa,eAAiB,yCAAyCsG,EAAM5C,MAAMO,OAC5Kw9B,GAAO9hC,EAAMC,QAAC8hC,GAAG5hC,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,eAAesG,EAAM9B,KAAKe,SAAShB,wBAAwB+B,EAAM9B,KAAKe,SAASZ,wBAAwB2B,EAAM9B,KAAKe,SAASb,0BAA0B4B,EAAM9B,KAAKe,SAASX,oBAAoB0B,EAAM9B,KAAKe,SAASV,SACvS0C,GAAc5H,EAAMC,QAAC+hC,GAAG7hC,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,gBAAkB,iCAAiCsG,EAAM9B,KAAKa,KAAKd,wBAAwB+B,EAAM9B,KAAKa,KAAKV,wBAAwB2B,EAAM9B,KAAKa,KAAKX,0BAA0B4B,EAAM9B,KAAKa,KAAKT,oBAAoB0B,EAAM9B,KAAKa,KAAKR,gBCNlTnB,GAAK5C,OAAEA,IAAWwF,EACbs7B,GAAajiC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,eAAiB,iDAAiD,EAAG6hC,eAAc,KAAWA,EAAc,uBAAuBn+B,GAAMT,YAAc,gDAAgDS,GAAMT,iEAAiE,EAAG4+B,eAAc,KAAYA,EAAc,MAAQ,gCACnZC,GAAmBniC,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,eAAiB,4CAA4C0D,GAAMT,yCAAyCnC,GAAOS,QAAQE,KAAKR,YCH9N8gC,GAAapiC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,gBAAkB,+oBCD1G,IAAIgiC,IACX,SAAWA,GACPA,EAAoB,KAAI,OACxBA,EAAkB,GAAI,IACzB,CAHD,CAGGA,KAAkBA,GAAgB,CAAA,ICFrC,MAAMC,GAAe,EAAGrX,WAAUsX,eAAgBhgB,EAAAA,GAAI,oBAAkC,OAAdggB,EAAqB,MAAQ,kQAAkQtX,GACrW,mJAUSnC,GAAQ9oB,EAAMC,QAAC8oB,MAAM5oB,WAAW,CAAEC,YAAa,aAAcC,YAAa,eAAiB,eAAesG,EAAM/B,mKAAmK,EAAG29B,gBAC/R,IAAI55B,EAAS,OACT3D,EAAW,OAKf,MAJkB,OAAdu9B,IACA55B,EAAS,OACT3D,EAAW,QAER,mBACK2D,wBACG3D,UACd,KACAs9B,yKACQE,GAAWxiC,EAAAA,QAAOyiC,SAAStiC,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,eAAiB,yGAAyGiiC,KCpBpNI,GAAe,sBCHRC,GAAY5X,GDIA1d,EAAUA,YAAC,CAACC,EAAIC,KACrC,IAAInD,GAAEA,EAAEN,UAAEA,EAASoe,SAAEA,GAAW,EAAK+C,SAAEA,EAAQuF,IAAEA,EAAGD,IAAEA,EAAGqS,UAAEA,GAAY,EAAK/iB,KAAEA,EAAIsG,SAAEA,EAAQ0c,QAAEA,EAAOz8B,YAAEA,EAAWy4B,KAAEA,EAAO,IAAGhzB,KAAEA,EAAOw2B,GAAc7gC,KAAIshC,KAAEA,EAAIl4B,KAAEA,EAAO,OAAM3G,MAAEA,EAAK8+B,WAAEA,GAAa,GAAUz1B,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,KAAM,YAAa,WAAY,WAAY,MAAO,MAAO,YAAa,OAAQ,WAAY,UAAW,cAAe,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,eACxY,MAAM+b,EAAepQ,eAAa7D,IAC9B,IAAK+Q,EACD,OACJ,MAAMwH,EAAWvY,EAAMkU,cAAcrlB,MACrC,GAAiB,KAAb0pB,EAEA,YADAxH,EAASwH,GAGb,GAAa,WAAT/iB,EAEA,YADAub,EAASwH,GAGD,IAAIqV,OAAON,IACdhd,KAAKiI,IAGdxH,EAASwH,EAAS,GACnB,CAACxH,EAAUvb,IACRvK,EAAc+J,QAA+BA,EAAK6G,GAAW,aACnE,MAAa,SAATrG,GAAmBg4B,EACXv6B,EAAAA,QAAMC,cAAck6B,GAAU/9B,OAAOC,OAAO,CAAEoF,UAAWA,EAAWoe,SAAUA,EAAU+C,SAAUA,EAAU7gB,GAAI/J,EAAawf,KAAMA,EAAMsG,SAAUkD,EAAcjjB,YAAaA,EAAay4B,KAAMA,EAAM56B,MAAOA,EAAO8+B,WAAYA,EAAYx1B,IAAKA,GAAOK,IAE7PvF,EAAKpI,QAACqI,cAAcwgB,GAAOrkB,OAAOC,OAAO,CAAEoF,UAAWA,EAAWoe,SAAUA,EAAU+C,SAAUA,EAAU7gB,GAAI/J,EAAakiC,UAAW12B,EAAM2kB,IAAKA,EAAKD,IAAKA,EAAK1Q,KAAMA,EAAM,aAAcA,EAAMsG,SAAUkD,EAAcjjB,YAAaA,EAAa08B,KAAMA,EAAMl4B,KAAMA,EAAM3G,MAAOA,EAAO8+B,WAAYA,EAAYx1B,IAAKA,GAAOK,GAAc,KC3BrV+0B,GAAUviC,YAAc,YCGxB,MAAMkd,GAAYtd,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,wDAC5G8gB,GAAMnhB,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,WAAYC,YAAa,eAAiB,0DAChG4iC,GAAkBjjC,EAAMC,QAAC0iC,IAAWxiC,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,gBAAkB,sEAAsEsG,EAAMxF,OAAOS,QAAQC,IAAIP,aACpN4hC,GAAeljC,EAAMC,QAACmN,IAAQjN,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,gBAAkB,8BAA8BsG,EAAMxF,OAAOS,QAAQC,IAAIP,YAC3JtB,EAAAA,QAAOiH,GAAM9G,WAAW,CAAEC,YAAa,aAAcC,YAAa,eAAiB,GACnFL,EAAAA,QAAOkH,KAAK/G,WAAW,CAAEC,YAAa,aAAcC,YAAa,gBAAkB,6BAA6BsG,EAAM9B,KAAK2B,MAAM5B,wBAAwB+B,EAAM9B,KAAK2B,MAAMxB,wBAAwB2B,EAAM9B,KAAK2B,MAAMzB,0BAA0B4B,EAAM9B,KAAK2B,MAAMvB,oBAAoB0B,EAAM9B,KAAK2B,MAAMtB,yEAAyEyB,EAAM5C,MAAM,uCAAuC4C,EAAMxF,OAAOa,UAAUC,IAAIT,SAC3bxB,EAAMC,QAACiH,KAAK/G,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,6BAA6BsG,EAAM/B,wBAAwB+B,EAAM5C,MAAM,kBAAkB4C,EAAM5C,MAAM,YAAY4C,EAAMxF,OAAOS,QAAQC,IAAIN,SCZjO,MAAM4hC,GAAyB,CAACl6B,EAAGm6B,KAClCA,EAAY7Y,SAASthB,EAAEoM,MACvBpM,EAAEuM,gBAAgB,ECFb6tB,GAAmB,CAAC,IAAK,IAAK,IAAK,KCU1CC,GAAqBr6B,GAAMk6B,GAAuBl6B,EAAGo6B,IAC9CE,GAAkBxY,IAAYzd,IACvC,IAAIzB,KAAEA,EAAOw2B,GAAc7gC,KAAIgiC,mBAAEA,EAAkBC,kBAAEA,EAAiBC,mBAAEA,EAAkB55B,UAAEA,EAASnB,OAAEA,EAAMkB,MAAEA,EAAKJ,OAAEA,EAAM5F,KAAEA,GAASyJ,EAAIiY,EAAOxc,EAAOuE,EAAI,CAAC,OAAQ,qBAAsB,oBAAqB,qBAAsB,YAAa,SAAU,QAAS,SAAU,SACjR,OAAQjF,EAAKpI,QAACqI,cAAcgV,GAAW,CAAExT,UAAWA,GAChDzB,UAAMC,cAAc6Y,GAAK,KACrB9Y,EAAAA,QAAMC,cAAcq6B,GAAWl+B,OAAOC,OAAO,CAAEyhB,SAAUud,EAAoB73B,KAAMA,EAAMgU,KAAM,SAAUjV,KAAM,SAAUxE,YAAa,IAAKnC,MAAOwF,EAAQ8mB,IAAK,IAAKuS,KAAM,MAAOlrB,UAAW0rB,IAAqB/d,IACjNld,EAAAA,QAAMC,cAAc8F,GAAW,CAAEzF,OAAQhC,EAAM5C,MAAMvC,KAAMqI,MAAOlD,EAAM5C,MAAMvC,OAC9E6G,EAAAA,QAAMC,cAAcq6B,GAAWl+B,OAAOC,OAAO,CAAEyhB,SAAUsd,EAAmB53B,KAAMA,EAAMgU,KAAM,QAASjV,KAAM,SAAUxE,YAAa,IAAKnC,MAAO4F,EAAO0mB,IAAK,IAAKuS,KAAM,MAAOlrB,UAAW0rB,IAAqB/d,IAC9Mld,EAAAA,QAAMC,cAAc8F,GAAW,CAAEzF,OAAQhC,EAAM5C,MAAMvC,KAAMqI,MAAOlD,EAAM5C,MAAMvC,OAC9E6G,UAAMC,cAAc85B,GAAY,KAC5B/5B,EAAAA,QAAMC,cAAcq6B,GAAWl+B,OAAOC,OAAO,CAAEyhB,SAAUqd,EAAoB33B,KAAMA,EAAMgU,KAAM,SAAUjV,KAAM,SAAUxE,YAAa,IAAKnC,MAAO0E,EAAQ4nB,IAAK,IAAKuS,KAAM,MAAOlrB,UAAW0rB,IAAqB/d,IACjNld,UAAMC,cAAc8E,GAAQ,CAAEvB,KAAMA,GAAQhI,KAAU,IAEtE0/B,GAAgBnjC,YAAc,kBCd9B,MAAMkd,GAAYtd,EAAMC,QAACF,GAAeoH,MAAM,CAC1ClG,GAAI,WACLd,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,8EAA8Ec,EAAOS,QAAQE,KAAKN,wDAAwDL,EAAOS,QAAQE,KAAKL,oCAAoCsC,EAAMvC,eAAeuC,EAAMvC,mDAAmDmF,EAAMxF,OAAOa,UAAUX,KAAKE,UACpYoiC,GAAoB3jC,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,yBAA0BC,YAAa,eAAiB,oBACnHujC,GAAa5jC,EAAMC,QAAC0jC,IAAmBxjC,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,gBAAkB,oBACnHwjC,GAAW7jC,EAAAA,QAAOmO,IAAehO,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,eAAiB,oCAAqC+H,GAAWA,EAAM07B,YAAc,SAAW,+BACzLC,GAAkB/jC,EAAMC,QAACmO,IAAWjO,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,gBAAkB,0CACrHg7B,GAAUr7B,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,eAAgBC,YAAa,eAAiB,qFACxG2N,GAAShO,EAAAA,QAAOD,GAAeI,WAAW,CAAEC,YAAa,cAAeC,YAAa,eAAiB,2HAA2Hc,EAAOS,QAAQE,KAAKN,kBAAkB,EAAG0D,WAAYA,WAAenB,EAAM,aAAaA,EAAM,yBCX9TigC,GAAsB9yB,IAAY,CACpC+yB,kBAAmB/yB,EAAS,GAAGA,6BAA+BnD,EAC9D0S,UAAWvP,EAAS,GAAGA,mBAAqBnD,EAC5Cm2B,MAAOhzB,EAAS,GAAGA,eAAiBnD,ICR3Bo2B,GAAoB/7B,GAAWC,UAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAEmF,MAAO,KAAMlB,OAAQ,KAAMJ,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GACzLC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,0NAA2NN,KAAM,aCDnS8U,GAAYtd,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,GACjG+jC,GAAcpkC,EAAAA,QAAOqkC,IAAIlkC,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,eAAiB,gCAAgC,EAAGikC,oBAAsBA,EAAiB,UAAY,aAC3LC,GAAwBvkC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,6BAA8BC,YAAa,eAAiB,2CACzHmkC,GAAexkC,EAAMC,QAACokC,IAAIlkC,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,eAAiB,+CCJvG2jC,GAAsB9yB,IAAY,CAC3CuP,UAAWvP,EAAS,GAAGA,yBAA2BnD,EAClD02B,MAAOvzB,EAAS,GAAGA,eAAiBnD,EACpC3H,YAAa8K,EAAS,GAAGA,2BAA6BnD,EACtD22B,sBAAuBxzB,EAAS,GAAGA,iCAAmCnD,ICDpE42B,GAAW,CAAE96B,MAAO,GAAIlB,OAAQ,IACzB01B,GAAoB,CAC7B5wB,KAAMpF,EAAAA,QAAMC,eCJaF,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC1JC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,8WAA+WN,KAAM,mBDGxZ/D,OAAOC,OAAO,CAAA,EAAIigC,KAC1Dr2B,MAAO,iBAEEs2B,GAAoB,CAC7Bn3B,KAAMpF,EAAAA,QAAMC,eERSF,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GACtJC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,8pBAA+pBN,KAAM,mBFO5sB/D,OAAOC,OAAO,CAAA,EAAIigC,KACtDr2B,MAAO,4CACPu2B,SAAU,2FAEP,IAAIC,IACX,SAAWA,GACPA,EAAsB,MAAI,QAC1BA,EAAuB,OAAI,SAC3BA,EAAoB,IAAI,MACxBA,EAAqB,KAAI,MAC5B,CALD,CAKGA,KAAmBA,GAAiB,CAAA,IGhBvC,MAAMjgC,KAAEA,GAAId,MAAEA,IAAU4C,GAClBtF,KAAEA,IAASsF,EAAMxF,OAAOa,WACxBF,KAAEA,IAAS6E,EAAMxF,OAAOS,SACxBe,UAAEA,IAAcgE,EAAMxF,OAAOuB,OAC7BqiC,GAAoB,2KAgBbC,GAAiBhlC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,sBAAuBC,YAAa,gBAAkB,sDAC5G4nB,GAAUjoB,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,eAAgBC,YAAa,gBAAkB,yBAA0B+H,GAAWA,EAAM68B,eAAiB,SAAW,mEAAoEnjC,GAAKL,gCAAgCK,GAAKL,QAAQ,EAAGyjC,mBAAoBA,EACzT,gMAUcviC,GAAUE,kFAIVF,GAAUC,kDAIxB,MAAM,EAAGqiC,iBAAgBE,6BAA4BC,4BAA2BvU,oBAAqBoU,EACrG,GACA,sBACaE,+BACAA,yEAGXJ,gBAEAlU,IAAmBiU,GAAeO,QAAUxU,IAAmBiU,GAAe3W,IAnCvD,6DAqCrB,wCAGciX,oCACAA,yEAGhBL,gBAEAlU,IAAmBiU,GAAere,OAASoK,IAAmBiU,GAAeO,OA3CxD,8DA6CnB,oBAGGC,GAAkBtlC,EAAMC,QAACgoB,IAAS9nB,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,eAAiB,oBAAoByB,GAAKL,0BAC3I8jC,GAAOvlC,EAAMC,QAACulC,MAAMrlC,WAAW,CAAEC,YAAa,YAAaC,YAAa,gBAAkB,0BAC1FmP,GAAOxP,EAAAA,QAAOylC,MAAMtlC,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,MAAM,EAAGqlC,uBAAwBA,uDAAuE5jC,GAAKN,8GAC/LxB,EAAAA,QAAO2lC,MAAMxlC,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,yBAAyByB,GAAKR,qDAAqDD,GAAKG,SACvL,MAAM2f,GAAMnhB,EAAAA,QAAOw8B,GAAGr8B,WAAW,CAAEC,YAAa,WAAYC,YAAa,gBAAkB,iCAAiC,EAAG4gB,iBAAkBA,GACpJ,kLAQsBA,oBAGbkW,GAAOn3B,EAAAA,QAAOo3B,GAAGj3B,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,qDAAqD,EAAGunB,WAAYA,GAAS,6CAA6C/iB,GAAKc,UAAUf,wBAAwBC,GAAKc,UAAUX,wBAAwBH,GAAKc,UAAUZ,oBAAoBF,GAAKc,UAAUT,qBAAqBnB,GAAMvC,cAAc,EAAGokC,UAAYA,EAAO,OAAS,uCACxZC,GAAa7lC,EAAMC,QAACk3B,IAAMhwB,MAAM,CACzClG,GAAI,OACLd,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,gBAAkB,4CAA4CyB,GAAKL,oBAAoBoD,GAAKiB,cAAclB,wBAAwBC,GAAKiB,cAAcd,wBAAwBH,GAAKiB,cAAcf,oBAAoBF,GAAKiB,cAAcZ,uFAAuFpD,GAAKP,UAC1XukC,GAAe,CACjB/P,KAAM,aACNtO,OAAQ,SACRwU,MAAO,YAEE8J,GAAmB/lC,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,gBAAkB,mDAAmD,EAAGunB,WAAaA,EAAQke,GAAale,GAAS,+CACjNoe,GAAQhmC,EAAAA,QAAO28B,MAAMx8B,WAAW,CAAEC,YAAa,aAAcC,YAAa,gBAAkB,4CAA4C,EAAG4lC,mBAAqBA,EAAgB,QAAU,UAAW,EAAGC,aAAcA,GAC/N,WACI12B,oDACkB1N,GAAKR,oDAEE,EAAG6kC,kBAAmBA,GACnD,mEAGK,EAAGC,YAAaA,GACrB,WACIP,SAAiBA,qDAIZ12B,GAASnP,EAAAA,QAAO2lC,MAAMxlC,WAAW,CAAEC,YAAa,cAAeC,YAAa,eAAiB,MAAM,EAAGqlC,uBAAwBA,QAAwBvO,2BAA6Br1B,GAAKL,yBAAyBK,GAAKR,wBAAwByC,GAAMvC,uBAAuBuC,GAAMvC,0BACjR6kC,GAAsBrmC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,2BAA4BC,YAAa,eAAiB,oDACrHimC,GAAkBtmC,EAAMC,QAAC+lC,IAAO7lC,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,eAAiB,GC3GvHkmC,GAAyBvmC,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,8BAA+BC,YAAa,eAAiB,uFAAwF+H,GAAUA,EAAMO,6BAC9O69B,GAAmBxmC,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,gBAAkB,kHAAkHsG,EAAMxF,OAAOS,QAAQE,KAAKN,0DACvQilC,GAAYzmC,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,mBACnGqmC,GAAe1mC,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,gBAAkB,kBCLnGsmC,GAAgB,EAAGh+B,SAAQ8E,OAAMa,QAAOu2B,cAAgBx8B,EAAAA,QAAMC,cAAci+B,GAAwB,CAAE59B,OAAQA,GACvHN,EAAAA,QAAMC,cAAck+B,GAAkB,KAAM/4B,GAC5CpF,EAAKpI,QAACqI,cAAcm+B,GAAW,CAAEvlC,QAAS,gBAAkBoN,GAC5Du2B,GAAYx8B,EAAAA,QAAMC,cAAco+B,GAAc,CAAExlC,QAAS,oBAAsB2jC,ICFtE+B,GAAa5mC,EAAMC,QAACa,OAAOX,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,gBAAkB,2NAA2NsG,EAAM5C,MAAMvC,sBAAsBmF,EAAMvD,OAAO5B,gDAAgDmF,EAAMxF,OAAOa,UAAUX,KAAKC,aCGpculC,GAAkB7mC,EAAAA,QAAO4mC,IAAYzmC,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,gBAAkB,SAASsG,EAAM9B,KAAKoB,KAAKf,yBAAyByB,EAAM9B,KAAKoB,KAAKd,kBCDxLk2B,GAAUr7B,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,eAAgBC,YAAa,eAAiB,sDCF7FyB,KAAEA,IAAS6E,EAAMxF,OAAOS,QACxBklC,GAAyB9mC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,8BAA+BC,YAAa,eAAiB,0BAC3H0mC,GAA2B/mC,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,gCAAiCC,YAAa,eAAiB,+EAA+E,EAAG2mC,aAAY,KAAYA,EAAY,KAAO,6KAA8KllC,GAAKN,YAAYM,GAAKL,aAAaK,GAAKN,2KAC3cylC,GAAkB,EAAGD,YAAWh3B,WAAa3H,UAAMC,cAAcw+B,GAAwB,CAAE92B,MAAOA,GAC3G3H,EAAKpI,QAACqI,cAAcy+B,GAA0B,CAAEC,UAAWA,KCHlDE,GAAgB55B,IACzB,IAAI0C,MAAEA,GAAU1C,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,UAC7C,OAAQjF,EAAAA,QAAMC,cAAc6uB,GAAM1yB,OAAOC,OAAO,CAAE,EAAEkJ,GAChDvF,EAAKpI,QAACqI,cAAc2+B,GAAiB,CAAEj3B,MAAOA,IAAW,EAEjEk3B,GAAaxG,aAAe,CACxB1wB,MAAO,CAAE,GCTN,MCGMm3B,GAAe,EAAGlP,eAAcxF,WAAU2U,aAAYnB,gBAAeoB,mBAC9E,IAAI/5B,EACJ,MAAOg6B,EAAkBC,GAAuBj3B,EAAQA,SAAC,OACnDkrB,SAAEA,GDNmB,EAAC/I,EAAU+U,KACtC,MAAOhM,EAAUC,GAAenrB,EAAQA,UAAC,GACnCm3B,EAAqBxuB,EAAWA,aAAC,EAAGuO,MAAKkgB,aAC3C,IAAIC,EAASnM,EAETmM,EADAngB,IAAQggB,GAAa,IAAME,EAAS,GAC1BlM,GAAkBmM,GAGnBnM,GAAmBmM,EAE5BA,IAAWnM,GACXC,EAAYkM,EAAO,GACxB,CAACnM,EAAUgM,IAad,OAZA1yB,EAAAA,WAAU,KACN,MAAM4F,EAAW,KACb,IAAIpN,EACAmlB,EAAS5Z,SACT4uB,EAA+C,QAA3Bn6B,EAAKmlB,EAAS5Z,eAA4B,IAAPvL,OAAgB,EAASA,EAAG0lB,wBACtF,EAGL,OADAzb,OAAO9B,iBAAiB,SAAUiF,GAC3B,KACHnD,OAAO7B,oBAAoB,SAAUgF,EAAS,CACjD,GACF,CAAC+sB,EAAoBhV,IACjB,CAAE+I,WAAU,ECnBEoM,CAAgBnV,EAAU/e,SAAmG,iBAAlF2zB,aAAmD,EAASA,EAAa7f,KAAoB6f,aAAmD,EAASA,EAAa7f,IAAM,GAAG6f,aAAmD,EAASA,EAAa7f,MAAO,KAEzTqgB,IAA+C,QAA7Bv6B,EAAK85B,EAAWvuB,eAA4B,IAAPvL,OAAgB,EAASA,EAAG0lB,wBAAwBnpB,QAAU,GAAK,EAGhIi+B,EAASA,UAACV,GACV,MAAMW,EAAgBx6B,IAClB,IAAID,EACJ,MAAM8oB,GAA4C,QAA7B9oB,EAAK85B,EAAWvuB,eAA4B,IAAPvL,OAAgB,EAASA,EAAG8oB,aAAe,EACjG7oB,EAEAA,EAAI6oB,WAAaA,EAGjBkR,IACAA,EAAiBlR,WAAaA,EAAU,EAGhD,OADA2R,IACOvM,EAAYnzB,EAAAA,QAAMC,cAAc+9B,GAAqB,CAAE94B,IAAMA,IAC5Dg6B,EAAoBh6B,GACpBw6B,EAAax6B,EAAI,EAClByC,MAAOvL,OAAOC,OAAO,CAAEmF,MAAOg+B,GAAgBR,IACjDh/B,EAAAA,QAAMC,cAAcg+B,GAAiB,CAAEt2B,MAAO,CAAEg4B,YAAa/B,EAAgB,QAAU,SAAYhO,MAAoB,IAAI,EC7BtHgQ,GAAyCvC,IAClD,MAAMlvB,EAAS,GAQf,OAPAkvB,EAAkBvR,SAAQ,EAAGlD,QAAOjhB,WAAYwG,EAAO0xB,KAAK,qBACpCn6B,IAAfiC,EAAM+lB,KAAqB,YAAc,oBAAoBsD,KAAK8O,IAAIlX,kDAE1DljB,IAAfiC,EAAM+lB,KAAqB,OAAS,iBAA2BhoB,IAAfiC,EAAM+lB,KAAqB/lB,EAAM+lB,KAAO/lB,EAAMisB,8BACrFjsB,EAAM0C,4BAGd8D,EAAOxD,KAAK,OAAO,ECLjBo1B,GAAsB96B,IAC/B,IAAI0C,MAAEA,EAAKnG,MAAEA,EAAKm9B,UAAEA,GAAc15B,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,QAAS,QAAS,cACjF,OAAQjF,UAAMC,cAAcu9B,GAAYphC,OAAOC,OAAO,GAAIkJ,EAAY,CAAEoC,MAAO,CAAEnG,WAC7ExB,UAAMC,cAAc2+B,GAAiB,CAAEj3B,MAAOA,EAAOg3B,UAAWA,IAAe,ECN1EqB,GAAsBjgC,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAChKC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,sBAAuBN,KAAM,YACxGH,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,sBAAuBN,KAAM,aCF/F8/B,GAAuBlgC,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GACjKC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,sBAAuBN,KAAM,YACxGH,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,sBAAuBN,KAAM,aCc/F+/B,GAAe,IAAOlgC,EAAAA,QAAMC,cAAc2pB,GAAiB,CAAEpoB,MAAOlD,EAAM5C,MAAMvC,KAAMmH,OAAQhC,EAAM5C,MAAMvC,KAAM0D,MAAO,cACvHsjC,GAAc,IAAOngC,EAAAA,QAAMC,cAAc+/B,GAAoB,CAAEx+B,MAAOlD,EAAM5C,MAAMvC,KAAMmH,OAAQhC,EAAM5C,MAAMvC,KAAM0D,MAAO,cACzHujC,GAAe,IAAOpgC,EAAAA,QAAMC,cAAcggC,GAAqB,CAAEz+B,MAAOlD,EAAM5C,MAAMvC,KAAMmH,OAAQhC,EAAM5C,MAAMvC,KAAM0D,MAAO,cAM3HwjC,GAAkB,EAAGC,cAAa,EAAOzC,WAAU,EAAME,UAAS,EAAOlB,iBAAgB,EAAO0D,UAAS/J,OAAMa,YAAWE,kBAAiBzB,iBAAgB0K,mBAAkBC,kBAAiBC,yBAAwBC,2BAA0B,EAAOnR,iBAAgBoR,+BAA8BhS,gBAAgB,WAAYiS,yBAAwBC,eAAcC,gBAAelP,eAAcmP,WAAU,EAAOrC,aAAY,EAAOsC,qBAAqB,EAAGC,kBAAiB,EAAMC,oBAAmBC,sBAAqBC,6BAA6B,IAAKC,0BAAyBC,4BACnkB,MAAMC,EAAmBlB,EAAa1gB,GAAUqd,GAC1CwE,IAAUjL,GAAuB,IAAhBA,EAAKp1B,OACtBw8B,EAAgBlzB,QAAQ42B,GAA2BC,GACnDG,GAA4BJ,IAA4BC,EACxDnX,EAAW9Z,SAAO,MAClByuB,EAAazuB,SAAO,OAEnBkY,EAAgB8F,GAAqBrmB,EAAAA,SAASw0B,GAAe1gC,MACpE0Q,EAAAA,WAAU,KACN,IAAIxH,EACJ,IAAI08B,EAAW,KACf,MAAMC,EAAe,KACjB,IAAK7C,EAAWvuB,SAAWkxB,EACvB,OACJ,MAAMG,EAAK9C,EAAWvuB,QAChBge,EAAcqT,EAAGrT,YAAc,GAC/BT,WAAEA,GAAe8T,GACjBrgC,MAAEA,GAAUqgC,EAAGlX,wBACfmX,EAAc/T,EAAavsB,EAC7BgtB,IAAgBhtB,EAChB8sB,EAAkBmO,GAAe1gC,MACb,IAAfgyB,EACLO,EAAkBmO,GAAere,OAC5B2P,EAAa,GAAK+T,EAActT,EACrCF,EAAkBmO,GAAeO,QAC5B8E,IAAgBtT,GACrBF,EAAkBmO,GAAe3W,IAAI,EAO7C,OALIiZ,EAAWvuB,UACXmxB,EAAW5C,EAAWvuB,QACtBoxB,IAC8B,QAA7B38B,EAAK85B,EAAWvuB,eAA4B,IAAPvL,GAAyBA,EAAGmI,iBAAiB,SAAUw0B,IAE1F,KACHD,SAAoDA,EAASt0B,oBAAoB,SAAUu0B,EAAa,CAC3G,GACF,CAACxX,EAAUsX,IACd,MAAMK,EAAoBnxB,eAAapP,GACd,iBAAVA,GAEPkN,QAAQvQ,MAAM,uFACP,WAEGuH,IAAVlE,GAEAkN,QAAQvQ,MAAM,6GACP,MAEJqD,GACR,IACGwgC,EAAiCpxB,EAAWA,aAAC,CAACgY,EAAO1mB,EAAQ4U,KAAU,CACzE8R,MAAgB,SAAT9R,EAAkB8R,GAASA,EAClCjhB,MAAO,CACH8lB,SAAU,SACV3W,CAACA,GAAO5U,EACRmI,OAAQ,MAEZ,IACE43B,EAA4BrxB,EAAAA,aAAY,KAC1C,IAAK2vB,GAAW5B,EACZ,OAAO,KACX,MAAMuD,EAAe,GACfC,EAAa,GACnB,IAAIC,EAAmB,EACnBC,EAAiB,EACrB,GAAIf,EAAyB,CACrB9R,IACA0S,EAAarC,KAAKmC,EAA+B,EAAGI,EAAkB,SACtEA,GA9DiB,IAgErB,IAAK,IAAIzmC,EAAI,EAAGA,EAAI2lC,EAAyB3lC,GAAK,EAAG,CACjD,MAAM2mC,EAAcP,EAAkBxB,EAAQ5kC,GAAG6F,OAC7C8gC,IACAJ,EAAarC,KAAKmC,EAA+BxS,EAAiB7zB,EAAI,EAAIA,EAAI,EAAGymC,EAAkB,SACnGA,GAAoBE,EAE3B,CACJ,CACD,GAAIf,EACA,IAAK,IAAI5lC,EAAI,EAAGA,EAAI4lC,EAAuB5lC,GAAK,EAAG,CAC/C,MAAM2mC,EAAcP,EAAkBxB,EAAQ3kB,OAAOjgB,EAAI,GAAG,GAAG6F,OAC3D8gC,IACAH,EAAWtC,KAAKmC,EAA+BrmC,EAAI,EAAG0mC,EAAgB,UACtEA,GAAkBC,EAEzB,CAEL,OAA4B,IAAxBJ,EAAa9gC,QAAsC,IAAtB+gC,EAAW/gC,OACjC,KACJ,IAAI8gC,KAAiBC,EAAW,GACxC,CACCxD,EACAoD,EACAR,EACAS,EACAzB,EACAe,EACA9R,IAEE6N,EAAoB9uB,EAAAA,SAAQ,IAAM0zB,KAA6B,CAACA,IAChEM,EAAkB3xB,EAAAA,aAAY,CAACgQ,EAASkP,KAC1C,IAAKN,IAAmBqR,EACpB,OACJ,GAAIjgB,EACA,MAAsB,WAAlBgO,OACAiS,EAAuB,CAAC/Q,EAAI/tB,UAGhC8+B,EAAuB,IAAIrR,EAAgBM,EAAI/tB,KAGnD,MAAMygC,EAAoB,IAAIhT,GACxB5G,EAAQ4Z,EAAkBtS,WAAWnuB,GAAOA,IAAO+tB,EAAI/tB,KAC7DygC,EAAkBrS,OAAOvH,EAAO,GAChCiY,EAAuB2B,EAAkB,GAC1C,CAAC3B,EAAwBrR,EAAgBZ,IACtC6T,EAAkB7xB,EAAAA,aAAY,KAChC,IAAK4e,IAAmBqR,EACpB,OACJ,GAAIrR,EAAepuB,SAAWo1B,EAAKp1B,OAE/B,YADAy/B,EAAuB,IAG3B,MAAM5Q,EAASuG,EAAKnjB,KAAKyc,GAAQA,EAAI/tB,KACrC8+B,EAAuB5Q,EAAO,GAC/B,CAAC4Q,EAAwBrK,EAAMhH,IAC5BkT,EAA4B9xB,eAAaqZ,IAC3C,QAAqBvkB,IAAjBo7B,QAA+Cp7B,IAAjBmsB,EAC9B,OACJ,IAAI8Q,EAAe7B,EACf8B,EAAgB,YACE,cAAlB7B,IACA6B,EAAgB,cAEhB3Y,IAAa6W,IACb6B,EAAe1Y,EACf2Y,EAAgB,aAEpB/Q,EAAa8Q,EAAcC,EAAc,GAC1C,CAAC/Q,EAAciP,EAAcC,IAC1B8B,EAAmBjyB,EAAAA,aAAY,CAAChL,EAAQ+B,KAC1C,IAAIlG,EAAY,GACZgF,EAAU,OACVq8B,EAAW9iC,EAAKpI,QAACqI,cAAcigC,GAAc,MACjD,MAAMxhC,QAAEA,EAAO6gB,MAAEA,EAAKna,KAAEA,EAAIa,MAAEA,EAAKgsB,SAAEA,EAAQlwB,GAAEA,GAAO6D,EAClDqsB,IACAxwB,EAAY,WACZgF,EAAU,IAAMi8B,EAA0B3gC,GACtC++B,IAAiB/+B,IACjB+gC,EAA6B,cAAlB/B,EAAgC/gC,EAAAA,QAAMC,cAAckgC,GAAa,MAAQngC,EAAAA,QAAMC,cAAcmgC,GAAc,QAG9H,MAAM2C,EAAkB/iC,EAAAA,QAAMC,cAAcy9B,GAAkB,CAAEne,MAAOA,GACnEna,GAAQA,EACRa,GAASjG,EAAAA,QAAMC,cAAc,OAAQ,KAAMgG,GAC3CgsB,GAAY6Q,GAChB,OAAQ9iC,EAAAA,QAAMC,cAAcu9B,GAAY,CAAExwB,IAAKjL,EAAIA,GAAI,qBAAqBA,IAAMN,UAAWA,EAAWgF,QAASA,EAAS8Y,MAAO3Z,EAAO2Z,MAAOge,KAAM33B,EAAO23B,KAAM51B,MAAOvL,OAAOC,OAAO,CAAEmF,MAAOoE,EAAOpE,OAAS,QAAUmG,IAAUjJ,EAAWsB,EAAKpI,QAACqI,cAAc8X,GAAS,CAAEvb,KAAMkC,GAChRsB,EAAKpI,QAACqI,cAAc08B,GAAgB,KAAMoG,IAAgB,EAAuB,GACtF,CAACL,EAA2B5B,EAAcC,IACvCiC,EAA2BpyB,EAAAA,aAAY,CAAChL,EAAQ+B,IAAW3H,UAAMC,cAAc8/B,GAAoB,CAAE/yB,IAAKpH,EAAO7D,GAAIP,MAAOoE,EAAOpE,OAAS,OAAQmG,MAAOA,EAAOg3B,UAAWA,KAAe,CAACA,IAC7L/O,EAAehf,EAAAA,aAAY,KAC7B,IAAK2vB,EACD,OAAO,KACX,MAAMpyB,EAAS8zB,IACTgB,EAAqB90B,EAASA,EAAO,GAAGxG,MAAQ,GACtD,OAAQ3H,EAAKpI,QAACqI,cAAci9B,GAAM,KAC9Bl9B,UAAMC,cAAc6Y,GAAK,KACrB0W,GAAmBxvB,EAAAA,QAAMC,cAAcu9B,GAAY,CAAE71B,MAAOvL,OAAOC,OAAO,CAAEmF,MAjK3D,IAiK0FyhC,IAAyC,aAAlBrU,GAAiC5uB,EAAKpI,QAACqI,cAAc0gB,GAAU,CAAEC,QAAU4V,EAAKp1B,OAAS,IAAMouB,aAAuD,EAASA,EAAepuB,UAAYo1B,EAAKp1B,SAAW,EAAO0c,SAAU2kB,EAAiB5iB,SAAW+gB,GAAgCA,EAA6Bx/B,OAAS,GACvbu9B,GACA8C,EAAS3gB,UAAW,gBAC5Byf,EAAQltB,KAAI,CAACzN,EAAQgjB,KACjB,MAAMsa,EAAmB1T,EAAiB5G,EAAQ,EAAIA,EAAQ,EACxDua,EAAiBva,EAAQ2X,EAAQn/B,OACjCgiC,EAAkBj1B,aAAuC,EAASA,EAAOqX,MAAM7d,GAAUA,EAAMihB,QAAUsa,GAAoBv7B,EAAMihB,QAAUua,IACnJ,OAAOv9B,EAAOy9B,WAAa1E,GAAaqC,GAAWS,GAC7CuB,EAAyBp9B,EAAQA,EAAO09B,eAAiB,CAAA,GACzDT,EAAiBj9B,GAASw9B,aAAyD,EAASA,EAAgBz7B,QAAU,CAAE,EAAC,KAC7H,GACf,CACCs6B,EACAQ,EACAlC,EACAkB,EACAT,EACArC,EACAqE,EACAH,EACArM,EAAKp1B,OACLouB,EACAZ,EACAgS,IAEE2C,EAAuB3yB,EAAAA,aAAY,CAAC4yB,EAAY1T,KAClD,MAAM2T,EAAa,CACf7iB,QAAS4iB,EACT1lB,SAAW8C,GAAY2hB,EAAgB3hB,EAASkP,GAChDjQ,UAAW+gB,aAAmF,EAASA,EAA6B1e,SAAS4N,EAAI/tB,OAAQ,GAE7J,MAAsB,WAAlB6sB,EACO5uB,EAAKpI,QAACqI,cAAcihB,GAAO9kB,OAAOC,OAAO,CAAE,EAAEonC,IAEjDzjC,EAAKpI,QAACqI,cAAc0gB,GAAUvkB,OAAOC,OAAO,CAAE,EAAEonC,GAAY,GACpE,CAAClB,EAAiB3T,EAAegS,IAC9B8C,EAA+B9yB,eAAa+yB,IAC9C,MAAMC,EAAe,CACjBpiC,MAAO,GACPlB,OAAQ,GACRod,OAAQ,EACRmmB,kBAAmB,MAEvB,MAAsB,WAAlBjV,EACQ5uB,UAAMC,cAAc4+B,GAAc,CAAE7xB,SAAkBtH,IAAbi+B,EAAyB,KAAO,kBAAkBA,IAAYh8B,MAAOvL,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAAEunC,GAAe,CAAEhgC,aAAc,UAEjL5D,UAAMC,cAAc4+B,GAAc,CAAE7xB,SAAkBtH,IAAbi+B,EAAyB,KAAO,qBAAqBA,IAAYh8B,MAAOvL,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAAEunC,GAAe,CAAEhgC,aAAc,aAAiB,GAC1M,CAACgrB,IACEkV,EAAelzB,EAAAA,aAAY,CAAC4mB,EAAWuM,KACzC,IAAI9+B,EAAIonB,EACR,IAAKkL,EACD,OAAO,KACX,MAAMrgB,EAAUqgB,EAAgBC,GAChC,IAAKtgB,EACD,OAAO,KACX,MAAMugB,GAAsK,QAA5IpL,EAAqF,QAA/EpnB,EAAKuyB,aAA6C,EAASA,EAAUvM,YAAyB,IAAPhmB,OAAgB,EAASA,EAAGyyB,qBAAkC,IAAPrL,OAAgB,EAASA,EAAGyD,MAAQ,GACxN,OAAQ9vB,EAAAA,QAAMC,cAAc6Y,GAAK,CAAE9L,IAAKwqB,EAAUz1B,GAAIN,UAAW,GAAGg2B,KAAyBsM,EAAW,SAAW,MAC/GvU,GAAkBxvB,EAAKpI,QAACqI,cAAc6uB,GAAM,MAC5C5X,EAAU,GACf,CAACqgB,EAAiB/H,IACfwU,EAA0BpzB,eAAa+yB,IACzC,IAAKpD,EACD,OAAOvgC,UAAMC,cAAc4+B,GAAc,MAE7C,MAAMrU,EAAQ+V,EAAQltB,KAAKzN,GAAW5F,EAAAA,QAAMC,cAAc4+B,GAAc,CAAE7xB,IAAK,GAAG22B,KAAY/9B,EAAO7D,SAGrG,OAFIytB,GACAhF,EAAMyZ,QAAQP,EAA6BC,IACxCnZ,CAAK,GACb,CAAC+V,EAASmD,EAA8BlU,IACrC0U,EAAY,IACTzD,EAED9B,IAAc+B,IAEb/B,GAAa8C,EADP,KAGHzhC,EAAKpI,QAACqI,cAAc6G,GAAQ,CAAEu2B,kBAAmBuC,GAAsCvC,GAAqB,KAChHr9B,UAAMC,cAAc6Y,GAAK,KACrB0W,IAAmBmR,GAA2B3gC,EAAAA,QAAMC,cAAc6uB,GAAM,OACvE6P,GAAa8B,EAAgBjK,GAC9BmI,GAAa+B,GAA0BA,MATpC,KAWf,IAAI5D,GAA6BwE,EAC7B9R,GAAkBsN,KAClBA,IAA8B,GAClC,MAAMqH,GAAe51B,EAAAA,SAAQ,IAAMioB,EAAKnjB,KAAKyc,IACzC,IAAI7qB,EAAIonB,EAAIC,EACZ,MAAMrB,KAAEA,GAAS6E,EACX0T,IAAahU,GAAiBA,EAAetN,SAAS4N,EAAI/tB,IAC1D81B,GAAa/B,GAAiBA,EAAe5T,SAAS4N,EAAI/tB,IAC1DqiC,EAA0F,QAAzEn/B,EAAKgmB,aAAmC,EAASA,EAAKyM,qBAAkC,IAAPzyB,OAAgB,EAASA,EAAG5H,KAC9HgnC,EAA+I,QAA5H/X,EAA+E,QAAzED,EAAKpB,aAAmC,EAASA,EAAKyM,qBAAkC,IAAPrL,OAAgB,EAASA,EAAGyD,WAAwB,IAAPxD,EAAgBA,EAAK,GAC5KgY,EAAed,EAAa,YAAYa,IAAoB,GAAGA,IACrE,OAAQrkC,EAAKpI,QAACqI,cAAckH,GAAM,CAAE6F,IAAK8iB,EAAI/tB,GAAIN,UAAW2iC,EAAe/G,kBAAmBuC,GAAsCvC,GAAqB,KACrJr9B,EAAAA,QAAMC,cAAc6Y,GAAK,CAAE9L,IAAK8iB,EAAI/tB,GAAIN,UAAW6iC,EAAc1rB,YAAakX,EAAIlX,aAC9E4W,GAAkBxvB,EAAAA,QAAMC,cAAc6uB,GAAM,KAAMyU,EAAqBC,EAAY1T,IACnFuH,EAAUvH,IACdA,EAAIgI,YAAchI,EAAIgI,WAAWzkB,KAAKoY,GAASqY,EAAarY,GAAOoM,KAAe,KACtF,CACArB,EACAV,EACAuH,EACAyG,EACAzM,EACAkM,EACA/T,IAGJ,GAAImP,EAAW,CACX,MAAM1H,EAAc,GACpB,IAAK,IAAIt7B,EAAI,EAAGA,EAAIslC,EAAoBtlC,GAAK,EACzCs7B,EAAY4I,KAAK7/B,EAAKpI,QAACqI,cAAckH,GAAM,CAAE6F,IAAK,eAAerR,IAAK0hC,kBAAmBuC,GAAsCvC,GAAqB,KAChJr9B,UAAMC,cAAc6Y,GAAK,KAAM0nB,EAAoBxgC,EAAAA,QAAMC,cAAcD,UAAMuQ,SAAU,KACnFif,GAAkBkU,IAClBlD,KAAwBwD,EAAwBroC,MAE5D,OAAQqE,EAAKpI,QAACqI,cAAcuhC,EAAkB,CAAEt8B,IAAK65B,EAAYnC,gBAAgB,EAAMpU,eAAgBA,EAAgBsU,2BAA4BA,GAA4BC,0BAA2BwE,GACtML,GAAkBX,GAAYvgC,UAAMC,cAAc6+B,GAAc,CAAElP,aAAcA,EAAcxF,SAAUA,EAAU2U,WAAYA,EAAYnB,cAAeA,EAAeoB,aAAcmC,IACtLnhC,EAAAA,QAAMC,cAAc09B,GAAO,CAAEz4B,IAAKklB,EAAUyT,QAASA,EAASE,OAAQA,EAAQD,cAAc,EAAMF,cAAeA,GAC7GhO,IACAqH,EACAiN,KACX,CAED,GAAIzC,GAAWT,EAAS,CACpB,IAAIuD,EAAsBvO,GAK1B,OAJIoL,EACAmD,EAAsBnD,EACjBJ,IACLuD,EAAsBhI,IAClBv8B,EAAKpI,QAACqI,cAAcuhC,EAAkB,CAAE5E,gBAAgB,GAC5D58B,EAAAA,QAAMC,cAAc09B,GAAO,CAAEz4B,IAAKklB,EAAUyT,QAASA,EAASE,OAAQA,EAAQD,cAAc,EAAOF,cAAeA,GAC9GhO,IACAsU,KACJlkC,EAAAA,QAAMC,cAAcq+B,GAAeliC,OAAOC,OAAO,CAAEiE,OAAQ+gC,GAA8BkD,IAChG,CAED,OAAQvkC,EAAAA,QAAMC,cAAcuhC,EAAkB,CAAE5E,gBAAgB,EAAO13B,IAAK65B,EAAYvW,eAAgBA,EAAgBsU,2BAA4BA,GAA4BC,0BAA2BwE,EAAuB1E,cAAeA,GAC7OqE,GAAkBX,GAAYvgC,UAAMC,cAAc6+B,GAAc,CAAElP,aAAcA,EAAcxF,SAAUA,EAAU2U,WAAYA,EAAYnB,cAAeA,EAAeoB,aAAcmC,IACtLnhC,EAAAA,QAAMC,cAAc09B,GAAO,CAAEz4B,IAAKklB,EAAUyT,QAASA,EAASE,OAAQA,EAAQD,cAAc,EAAOF,cAAeA,GAC9GhO,IACAuU,GACAD,KAAe,EAE3B7D,GAAgBvR,KAAOA,GACvBuR,GAAgBmE,cV3Ucv/B,IAC1B,IAAIwB,QAAEA,EAAOtB,SAAEA,GAAaF,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,UAAW,aACpE,OAAQjF,EAAAA,QAAMC,cAAc6uB,GAAM1yB,OAAOC,OAAO,CAAE,EAAEkJ,GAChDvF,EAAKpI,QAACqI,cAAcu+B,GAAiB,CAAE/3B,QAASA,GAAWtB,GAAY,EUyU/Ek7B,GAAgBoE,aT7Uax/B,IACzB,IAAIwB,QAAEA,EAAOtB,SAAEA,GAAaF,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,UAAW,aACpE,OAAQjF,EAAAA,QAAMC,cAAc6uB,GAAM1yB,OAAOC,OAAO,CAAE,EAAEkJ,GAChDvF,EAAAA,QAAMC,cAAcs+B,GAAY,CAAE93B,QAASA,GACvCzG,EAAKpI,QAACqI,cAAc+yB,GAAS,KAAM7tB,IAAa,ES0U5Dk7B,GAAgBxB,aAAeA,GAC/BwB,GAAgBzB,gBAAkBA,GCpV3B,MAAM8F,GAAc/sC,EAAMC,QAACa,OAAOX,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,eAAiB,qFCC/G2sC,GAAY,iFAELC,GAAoB,qBCDpBC,GAAoBC,EAAAA,iBAAkB,iDACtCC,GAAcptC,EAAMC,QAACqP,QAAQnP,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,gBAAkB,0BAA0B,EAAGgtC,gBAAiBA,GAAa,cAAc1mC,EAAM5C,MAAMT,SAAS,EAAGgqC,kBAAmBA,GACvO,aACMv9B,GAAKZ,iDACuBxI,EAAMxF,OAAOS,QAAQC,IAAIJ,qBCElD8rC,GAAiBnlC,KACjBA,EAAMolC,WCTNC,GAAY,CACrBnpC,GAAI,OACJjB,GAAI,OACJ7B,KAAM,OACN+B,GAAI,QAEKmqC,GAAW,CACpB,CAAC5qC,EAAYC,QAAS,CAClBuB,GAAI,OACJjB,GAAI,OACJ7B,KAAM,QACN+B,GAAI,SAER,CAACT,EAAYE,QAAS,CAClBsB,GAAI,OACJjB,GAAI,OACJ7B,KAAM,QACN+B,GAAI,SAER,CAACT,EAAYG,UAAW,CACpBqB,GAAI,OACJjB,GAAI,OACJ7B,KAAM,OACN+B,GAAI,SAER,CAACT,EAAYI,SAAU,CACnBoB,GAAI,OACJjB,GAAI,OACJ7B,KAAM,OACN+B,GAAI,QAER,CAACT,EAAYK,WAAY,CACrBmB,GAAI,OACJjB,GAAI,OACJ7B,KAAM,OACN+B,GAAI,SAGCoqC,GAA0B,CACnCrpC,GAAIxB,EAAYC,OAChBM,GAAIP,EAAYC,OAChBvB,KAAMsB,EAAYE,OAClBO,GAAIT,EAAYG,WCpCdH,YAAEA,IAAgB6D,EACXinC,GAAe5tC,EAAAA,QAAO8H,EAAAA,OAAO2K,QAAQtL,MAAM,CACpD8Q,QAAS,CAAErE,QAAS,EAAGsE,GAAI,GAAI21B,OAAQ,GACvC11B,KAAM,CAAEvE,QAAS,EAAGsE,GAAI,GAAI21B,OAAQ,GACpCn9B,QAAS,CAAEkD,QAAS,EAAGsE,EAAG,EAAG21B,OAAQ,GACrCj9B,WAAY,CAAEhG,KAAM,QAASiG,SAAU,OACxC1Q,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,gBAAkB,uCAAuCsG,EAAM5C,MAAMV,iBAAiBsD,EAAMK,QAAQzD,4EAA4EwM,GAAKN,8CAA8C,EAAGvO,aAAc,eAAeusC,GAAUvsC,SAAeksC,qBAA8BzmC,EAAM5C,MAAMT,OAAOyM,GAAKZ,kGAAkGrM,GAAYC,iCAAiCD,GAAYE,qBAAqB,EAAG9B,aAAcwsC,GAAS5qC,GAAYE,QAAQ9B,0BAAgC4B,GAAYE,0BAA0BF,GAAYG,uBAAuB,EAAG/B,aAAcwsC,GAAS5qC,GAAYG,UAAU/B,0BAAgC4B,GAAYG,4BAA4BH,GAAYI,sBAAsB,EAAGhC,aAAcwsC,GAAS5qC,GAAYI,SAAShC,0BAAgC4B,GAAYI,sBAAsB,EAAGhC,aAAcwsC,GAAS5qC,GAAYK,WAAWjC,0BAAgC,EAAGA,aAAcysC,GAAwBzsC,kEAAwE6O,GAAKN,kGAAkGkE,GAAkBhN,EAAMxF,OAAOS,QAAQC,IAAIL,KAAM,kHCVhzCssC,GAASzlC,EAAAA,QAAMgF,YAAW,CAACC,EAAIC,KACxC,IAAIgY,EAAOxc,EAAOuE,EAAI,IACtB,OAAOjF,UAAMC,cAAcslC,GAAcnpC,OAAOC,OAAO,CAAE6I,IAAKA,GAAOgY,GAAM,ICAlEwoB,GAAqB/tC,EAAMC,QAAC4b,IAAO1b,WAAW,CAAEC,YAAa,0BAA2BC,YAAa,gBAAkB,SAASsG,EAAM5C,MAAMR,mCAAmCoD,EAAMxF,OAAOS,QAAQE,KAAKP,0BAA0BoF,EAAMxF,OAAOS,QAAQE,KAAKN,sBAAsBmF,EAAM5C,MAAMO,MAC/R0pC,GAAmBhuC,EAAMC,QAACmN,IAAQjN,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,gBAAkB,SAASsG,EAAMxF,OAAOS,QAAQC,IAAIL,2DACtJysC,GAAYjuC,EAAMC,QAAC0iC,IAAWxiC,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,iCCJxG6tC,GAAY,EAAGpqC,WAAauE,EAAKpI,QAACqI,cAAcD,EAAAA,QAAMuQ,SAAU,KACzEvQ,UAAMC,cAAc,MAAO,KACvBD,UAAMC,cAAcrB,EAAM,CAAE/F,QAAS,YAAa,eAAe,GAAQ,MAC7EmH,UAAMC,cAAcylC,GAAoB,CAAEhyB,OAAQ,SAAUC,OAAQ,SAAU,eAAe,GACzF3T,UAAMC,cAAcrB,EAAM,CAAE/F,QAAS,aAAe4C,KCH/CqqC,GAAgB,EAAGC,cAAaC,kBAAiBC,uBAC1D,MAAOC,EAAgBC,GAAqBl+B,EAAQA,SAAC,GAAG89B,KAKxDt5B,EAAAA,WAAU,KACN05B,EAAkB,GAAGJ,IAAc,GACpC,CAACA,IACJ,MAAMK,EAAqBxqC,GAAUA,GAAS,GAAKA,GAASoqC,EAuCtDK,EAAe,KAGjB,GAFKH,GACDC,EAAkB,GAAGJ,KACrBG,IAAmB,GAAGH,IACtB,OACJ,MAAMzgB,EAAWja,SAAS66B,EAAgB,IACtCE,EAAkB9gB,IAClB2gB,EAAiB3gB,EAAS,EAWlC,MAAO,CACH4gB,iBACAI,gBAvCoB,KAChBF,EAAkBL,EAAc,IAChCE,EAAiBF,EAAc,EAAE,EAsCrCQ,gBAhCoB,KAChBH,EAAkBL,EAAc,IAChCE,EAAiBF,EAAc,EAAE,EA+BrCS,kBAnDuBlhB,IAClBA,GACD6gB,EAAkB7gB,GACtB,MAAMmhB,EAAWp7B,SAASia,EAAU,IAZX,IAACohB,EACtBN,EADsBM,EAaLD,IAXjBN,EAAkB,GAAGO,IAWK,EAgD9BL,eACAM,iBAVsB55B,IACtBA,EAAMI,iBACNk5B,GAAc,EASjB,EC5EQO,GAAkB7mC,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC5JC,EAAKpI,QAACqI,cAAc,OAAQ,CAAEQ,EAAG,sFAAuFN,KAAM,iBAC9HH,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,yDAA0DN,KAAM,kBCFlI0mC,GAAgB9mC,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GAC1JC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,sFAAuFN,KAAM,iBACxKH,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,kDAAmDN,KAAM,kBCF3H8U,GAAYtd,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,0EAA0E,EAAGwL,UAAqB,OAATA,EAAgB,OAAS,4BAA6B,EAAGA,UAAoB,OAATA,EACtQ,kGAGA,4VACOsjC,GAAanvC,EAAMC,QAACa,OAAOX,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,eAAiB,wbCDtG+uC,GAAU,EAAGC,cAAaC,cAAapnB,YAAW,EAAOrc,UAAYxD,EAAKpI,QAACqI,cAAcgV,GAAW,CAAEzR,KAAMA,GACrHxD,UAAMC,cAAc6mC,GAAY,CAAEvkC,KAAM,SAAUkE,QAASugC,EAAannB,SAAUA,GAC9E7f,UAAMC,cAAcH,EAAa,CAAEQ,OAAQhC,EAAM5C,MAAMvC,KAAMqI,MAAOlD,EAAM5C,MAAMvC,KAAM0D,MAAOyB,EAAMxF,OAAOS,QAAQC,IAAIL,QAC1H6G,UAAMC,cAAc6mC,GAAY,CAAEvkC,KAAM,SAAUkE,QAASwgC,EAAapnB,SAAUA,GAC9E7f,UAAMC,cAAc6F,GAAe,CAAExF,OAAQhC,EAAM5C,MAAMvC,KAAMqI,MAAOlD,EAAM5C,MAAMvC,KAAM0D,MAAOyB,EAAMxF,OAAOS,QAAQC,IAAIL,SCHnHyhC,GAAkBjjC,EAAMC,QAAC0iC,IAAWxiC,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,eAAiB,SAASsG,EAAMxF,OAAOS,QAAQC,IAAIJ,+FAA+FkF,EAAMxF,OAAOS,QAAQC,IAAIP,aAC9QiuC,GAAkBvvC,EAAAA,QAAOD,GAAeI,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,eAAiB,qCAAqCsG,EAAMxF,OAAOS,QAAQC,IAAIP,2FAA2F,EAAGuK,UAAqB,OAATA,EAAgB,OAAS,2BAA4B,EAAGqc,cAAgBA,EAAWvhB,EAAMxF,OAAOS,QAAQE,KAAKP,MAAQ,yBAA0B,EAAGsK,UAAqB,OAATA,EAAgB,6BAA+B,wFAC7e2jC,GAAaxvC,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,cAAgB,kBACpGovC,GAAkBzvC,EAAMC,QAACmiC,IAAYjiC,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,eAAiB,oEAAoE,EAAG4qB,cAAeA,GACpN,+BACwBtkB,EAAMxF,OAAOa,UAAUC,IAAIV,gDAG7BoF,EAAMxF,OAAOa,UAAUC,IAAIT,qCACxBmF,EAAMxF,OAAOa,UAAUC,IAAIT,mEAI7BmF,EAAMxF,OAAOa,UAAUC,IAAIT,mGAK1BmF,EAAMxF,OAAOa,UAAUC,IAAIT,sCACzBmF,EAAMxF,OAAOa,UAAUC,IAAIT,8EAI3BmF,EAAMxF,OAAOa,UAAUC,IAAIT,uCAC1BmF,EAAMxF,OAAOa,UAAUC,IAAIT,mEAGf,EAAGypB,cAAeA,EAAW,GAAK,aAAatkB,EAAMxF,OAAOa,UAAUX,KAAKE,gDAAgD,EAAG0pB,cAAeA,EAAWtkB,EAAMxF,OAAOa,UAAUC,IAAIT,KAAOmF,EAAMxF,OAAOa,UAAUX,KAAKG,4BAA4B,EAAGypB,cAAeA,EAAWtkB,EAAMxF,OAAOa,UAAUC,IAAIT,KAAOmF,EAAMxF,OAAOa,UAAUX,KAAKG,0DAA0D,EAAGypB,cAAeA,EAAWtkB,EAAMxF,OAAOa,UAAUC,IAAIT,KAAOmF,EAAMxF,OAAOa,UAAUX,KAAKG,+EAA+E,EAAGypB,cAAeA,EAAWtkB,EAAMxF,OAAOa,UAAUC,IAAIT,KAAOmF,EAAMxF,OAAOa,UAAUX,KAAKG,2BAA2B,EAAGypB,cAAeA,EAAWtkB,EAAMxF,OAAOa,UAAUC,IAAIT,KAAOmF,EAAMxF,OAAOa,UAAUX,KAAKG,gDAAgD,EAAGypB,cAAeA,EAAWtkB,EAAMxF,OAAOa,UAAUC,IAAIT,KAAOmF,EAAMxF,OAAOa,UAAUX,KAAKG,4BAA4B,EAAGypB,cAAeA,EAAWtkB,EAAMxF,OAAOa,UAAUC,IAAIT,KAAOmF,EAAMxF,OAAOa,UAAUX,KAAKG,UCtBniC,MAACkuC,GAAa3kB,IAAYzd,IAClC,IAAIxD,UAAEA,EAAY,GAAEmhB,SAAEA,EAAQ0kB,SAAEA,EAAQznB,SAAEA,GAAW,EAAK/B,SAAEA,EAAQypB,cAAEA,EAAaC,WAAEA,EAAU/M,KAAEA,EAAO,MAAKj3B,KAAEA,EAAOw2B,GAAc7gC,MAAS8L,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,YAAa,WAAY,WAAY,WAAY,WAAY,gBAAiB,aAAc,OAAQ,SAC9Q,MAWMqhC,EAAkB,CAACmB,EAAWF,KAGhCE,IAFqBC,WAAWF,IAAe,GAC3BE,WAAWjN,IACOkN,QArBvB,GAqB+C,EAE5DpB,EAAkB,CAACkB,EAAWF,KAGhCE,IAFqBC,WAAWF,IAAe,GAC3BE,WAAWjN,IACOkN,QA1BvB,GA0B+C,EAelE,OAAQ3nC,EAAAA,QAAMC,cAAcmnC,GAAiB,CAAE3lC,UAAWA,EAAWmhB,SAAUA,GAC3E5iB,EAAKpI,QAACqI,cAAcinC,GAAiB,CAAErnB,SAAUA,EAAUrc,KAAMA,GAC7DxD,EAAKpI,QAACqI,cAAcknC,GAAY,CAAEtuC,QAAS,YAAcyuC,IAC7DtnC,EAAAA,QAAMC,cAAc26B,GAAiBx+B,OAAOC,OAAO,CAAE0B,YAAa,OAAQwE,KAAM,WAAY3G,MAAO4rC,EAAY/M,KAAMA,EAAM3c,SArCzGliB,GAAUkiB,EAASliB,EAAMmP,QAAQ,YAAa,IAAIA,QAAQ,IAAK,MAqCkE68B,OApCnIhnC,IAChB,MAAMmQ,EAASnQ,EAAEmQ,QACXnV,MAAEA,GAAUmV,EAClB,IAAKnV,EAED,YADA2rC,EAAc,IAGlB,MAAMM,EAbSH,WAaoB9rC,EAbHmP,QAAQ,IAAK,MAC/B48B,QAHC,GAgBfJ,EAAcM,EAAa,EA4B4It4B,UAhBpJ3O,IACnB,MAAMoM,IAAEA,GAAQpM,EACVmQ,EAASnQ,EAAEmQ,OACAA,EAAO+2B,MAER,UAAR96B,GACA+D,EAAOg3B,OAEH,YAAR/6B,GACAs5B,EAAgBxoB,GACR,cAAR9Q,GACAu5B,EAAgBzoB,EAAS,EAKoK+B,SAAUA,EAAUrc,KAAMA,GAAQ+B,IACnOvF,EAAKpI,QAACqI,cAAc8mC,GAAS,CAAEC,YAAa,IAAMV,IAAmBW,YAAa,IAAMV,IAAmB1mB,SAAUA,EAAUrc,KAAMA,IAAU,IAEvJ6jC,GAAWtvC,YAAc,aCnDzB,MAAMiwC,GAA0BrwC,EAAMC,QAACiH,KAAK/G,WAAW,CAAEC,YAAa,+BAAgCC,YAAa,eAAiB,kICE9HyoB,GAAQ9oB,EAAMC,QAAC0iC,IAAWxiC,WAAW,CAAEC,YAAa,aAAcC,YAAa,eAAiB,4CAChGiwC,GAAgBtwC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,qBAAsBC,YAAa,gBAAkB,qBAC1Gid,GAAYtd,EAAAA,QAAOD,GAAeI,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,sGAAsG,EAAGkwC,mBACxN,IAAIj1B,EAAU,yBACVwa,EAAW,iBAKf,MAJqB,SAAjBya,IACAj1B,EAAU,uBACVwa,EAAW,iBAER,aACDhN,iBACAxN,yBAGAg1B,iBACAxa,kBAEL,ICpBQ0a,GAAcpoC,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GACxJC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,8fAA+fN,KAAM,kBCC9kBioC,GAAwB9pC,EAAMxF,OAAOS,QAAQE,KAAKR,SAClDovC,GAAoB/pC,EAAMxF,OAAOS,QAAQE,KAAKL,KAC9CkvC,GAAoBhqC,EAAMxF,OAAOa,UAAUX,KAAKI,KACzCmvC,GAA4B5wC,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,iCAAkCC,YAAa,eAAiB,qGAAqGowC,mBAAsCC,mDAAkE/pC,EAAMxF,OAAOa,UAAUX,KAAKE,0FAA0FovC,mBAAkCA,sHAAqIhqC,EAAMxF,OAAOS,QAAQE,KAAKL,oHCJhpBovC,GAAwB7wC,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,6BAA8BC,YAAa,eAAiB,kBAAmB+H,GAAWA,EAAM0oC,SAAW,UAAY,8FAA+FnqC,EAAMxF,OAAOS,QAAQC,IAAIL,qBAAqBmF,EAAM9B,KAAKc,UAAUf,yBAAyB+B,EAAM9B,KAAKc,UAAUb,uBAAuB6B,EAAM9B,KAAKc,UAAUX,wBAAwB2B,EAAM9B,KAAKc,UAAUV,0BAA0B0B,EAAM9B,KAAKc,UAAUZ,8BAA8B4B,EAAM9B,KAAKc,UAAUR,iCAAiCwB,EAAM9B,KAAKc,UAAUP,iBACrnB2rC,GAAM/wC,EAAMC,QAAC+wC,IAAI7wC,WAAW,CAAEC,YAAa,WAAYC,YAAa,eAAiB,mDAAmDsG,EAAMxF,OAAOS,QAAQC,IAAIL,wGAAwGmF,EAAMxF,OAAOS,QAAQC,IAAIL,4GAA4GmF,EAAM9B,KAAKc,UAAUf,yBAAyB+B,EAAM9B,KAAKc,UAAUb,aCFjdmsC,GAAuB,CAChCC,QAAS,IACTC,QAAS,IACTC,MAAO,IACPC,KAAM,IACN/mB,OAAQ,IACRgnB,IAAK,MACLC,MAAO,IACPC,OAAQ,IACRC,OAAQ,MACRC,GAAI,IACJzV,MAAO,IACP0V,KAAM,IACN5b,KAAM,IACN6b,MAAO,SAGEC,GAA6B,CACtCX,QAAS,UACTC,QAAS,UACTC,MAAO,QACPC,KAAM,UACN/mB,OAAQ,SACRgnB,IAAK,MACLC,MAAO,QACPC,OAAQ,SACRC,OAAQ,SACRC,GAAI,KACJzV,MAAO,QACP0V,KAAM,OACN5b,KAAM,OACN6b,MAAO,UC5BLvwC,KAAEA,IAASF,EAAOa,WAClBF,KAAEA,IAASX,EAAOS,QACXkwC,GAAc9xC,EAAMC,QAACulC,MAAMrlC,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,cAAgB,0BACtG0xC,GAAY/xC,EAAMC,QAACwlC,MAAMtlC,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,oCAAoCgB,GAAKC,aAC5I0wC,GAAWhyC,EAAMC,QAACu8B,GAAGr8B,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,gBAAkB,GAC/F4xC,GAAYjyC,EAAMC,QAACm3B,GAAGj3B,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,qDAAqD,EAAGunB,WAAYA,GAAS,6CAA6C/iB,EAAKc,UAAUf,wBAAwBC,EAAKc,UAAUX,wBAAwBH,EAAKc,UAAUZ,oBAAoBF,EAAKc,UAAUT,qBAAqBnB,EAAMvC,qCACrX0wC,GAAkBlyC,EAAMC,QAACgyC,IAAW9qC,MAAM,CACnDlG,GAAI,OACLd,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,eAAiB,2BAA2ByB,GAAKL,oBAAoBoD,EAAKiB,cAAclB,wBAAwBC,EAAKiB,cAAcd,wBAAwBH,EAAKiB,cAAcf,oBAAoBF,EAAKiB,cAAcZ,SAC1Q8gC,GAAQhmC,EAAAA,QAAO28B,MAAMx8B,WAAW,CAAEC,YAAa,aAAcC,YAAa,eAAiB,+BAA+B,EAAG6lC,aAAcA,GACpJ,UACG6L,sDACkBjwC,GAAKR,uBCXjB6wC,GAAc,EAAGjM,WAAU,EAAMp8B,YAAW0D,cAAgBnF,EAAKpI,QAACqI,cAAc09B,GAAO,CAAEE,QAASA,EAASp8B,UAAWA,GAAa0D,GAChJ2kC,GAAYnkC,OAAS8jC,GACrBK,GAAY3iC,KAAOuiC,GACnBI,GAAYhxB,IAAM6wB,GAClBG,GAAYtM,WAAaqM,GACzBC,GAAYhb,KAAO8a,GCRP,MAACG,GAAWpyC,EAAMC,QAACF,GAAeoH,OAAM,KAAO,CACvD,eAAe,MACfhH,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,eAAiB,8KAA8K,EAAGwJ,QAAQ,GAAIlB,SAAS,MAAS,gBAC/QkB,GAAS,2BACLA,mBACHlB,GAAU,4BACNA,yTAElBypC,GAAShyC,YAAc,WCRvB,MAIMiyC,GAAkBryC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,gBAAkB,kEAAkEiyC,WAChLC,GAAcvyC,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,gBAAkB,cAAcsG,EAAMxF,OAAOS,QAAQE,KAAKN,eAL/H,0BAMfgxC,GAAYxyC,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,0BAA0B,YAAqE+H,GAAU,GAAGA,EAAM2tB,iBAJtM,+CADA,aAK+SpvB,EAAMxF,OAAOa,UAAUX,KAAKG,wEAJ3U,6EAIyemF,EAAMxF,OAAOa,UAAUX,KAAKE,UACnhBkxC,GAAczyC,EAAMC,QAACsyC,IAAapyC,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,eAAiB,2BAA4B+H,GAAU,GAAGA,EAAMyB,iBAAkBzB,GAAU,GAAGA,EAAM2tB,sBAAsBpvB,EAAMxF,OAAOa,UAAUX,KAAKE,gBAPrO,uBCCfyiC,GAAsB9yB,IAAY,CACpCuP,UAAWvP,EAAS,GAAGA,0BAA4BnD,EACnD2kC,YAAaxhC,EAAS,GAAGA,sBAAwBnD,EACjD4kC,OAAQzhC,EAAS,GAAGA,gBAAkBnD,EACtC6kC,YAAa1hC,EAAS,GAAGA,sBAAwBnD,EACjD8kC,UAAW3hC,EAAS,GAAGA,oBAAsBnD,ICLpC+kC,GAAM9yC,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,WAAYC,YAAa,gBAAkB,sHAAsH,EAAG6gB,kBAAiBhc,WAAY,gBACvPA,QAAqCA,EAAQ/D,EAAOS,QAAQC,IAAIL,gCACrD0f,QAAyDA,EAAkB/f,EAAOS,QAAQE,KAAKN,cCC1GuxC,GAAwB/yC,EAAMC,QAAC4b,IAAO1b,WAAW,CAAEC,YAAa,6BAA8BC,YAAa,gBAAkB,qEAAqEsG,EAAMC,OAAOG,WAC/MisC,GAAQhzC,EAAAA,QAAO6b,IAAO1b,WAAW,CAAEC,YAAa,aAAcC,YAAa,gBAAkB,oBAAoBsG,EAAMxF,OAAOS,QAAQC,IAAIJ,+CAA+CkF,EAAMK,QAAQzD,oBAAoBoD,EAAMvD,OAAOE,+CAA+C,EAAGoU,cAAeA,gOAAuO,EAAGu7B,UAAYA,EAAO,gBAAkB,6EAA8E,EAAGA,UAAYA,EAAO,mBAAqB,uDACjrBC,GAAWlzC,EAAAA,QAAOD,GAAeI,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,gBAAkB,kHAAkHsG,EAAMvD,OAAOE,uBAAuB,EAAG4B,WAAYA,0BAA8BnB,EAAMT,aAAaS,EAAMT,OACvU6vC,GAAenzC,EAAMC,QAAC4b,IAAO1b,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,eAAiB,eAC1GmhB,GAAaxhB,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,eAAiB,8BCA5G+yC,GAAa,CACfnkC,KAAM,CACFgS,YAAa9f,EAAOC,MAAMC,KAAKG,KAC/BiM,KAAMpF,EAAKpI,QAACqI,cAAcsU,GAAU,OAExC1N,QAAS,CACL+R,YAAa9f,EAAOa,UAAUG,MAAMX,KACpCiM,KAAMpF,EAAKpI,QAACqI,cAAcuU,GAAa,OAE3CrW,MAAO,CACHya,YAAa9f,EAAOa,UAAUC,IAAIT,KAClCiM,KAAMpF,EAAKpI,QAACqI,cAAcoU,GAAe,OAE7C22B,MAAO,CACHpyB,YAAa9f,EAAOa,UAAUO,OAAOf,KACrCiM,KAAMpF,EAAKpI,QAACqI,eCxBMF,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GACvJC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,2MAA4MN,KAAM,mBDuBpP,QAGvCw7B,GAAsB9yB,IAAY,CACpCuP,UAAWvP,EAAS,GAAGA,yBAA2BnD,EAClDN,KAAMyD,EAAS,GAAGA,oBAAsBnD,EACxCulC,UAAWpiC,EAAS,GAAGA,0BAA4BnD,IAE1CilC,GAAQ,EAAGlpC,YAAW61B,eAAc/0B,OAAM2oC,WAAU1uC,OAAMouC,OAAMv7B,WAAUiG,MAAKxN,cACxF,MAAMmO,EAAa0lB,GAAmBl6B,GAChCi2B,EAAgBiE,GAAmBrE,GACzC,OAAQt3B,EAAAA,QAAMC,cAAckrC,GAAgB,CAAE1pC,UAAW8I,GAAgB,CAAC0L,aAA+C,EAASA,EAAWmC,UAAWsf,aAAqD,EAASA,EAActf,YAAa3E,UAAW,aAAcE,OAAQ,SAAUtE,SAAUA,EAAUu7B,KAAMA,GAClT5qC,EAAAA,QAAMC,cAAc4qC,GAAU,CAAEhuC,MAAOkuC,GAAWxoC,GAAMqW,YAAanX,UAAW8I,GAAgB,CAAC0L,EAAW7Q,KAAMsyB,EAActyB,QAAU8lC,QAA2CA,EAAWH,GAAWxoC,GAAM6C,MACjNpF,UAAMC,cAAc6qC,GAAc,CAAEr3B,UAAW,aAAcE,OAAQ,SAAUD,OAAQ,WACnF1T,EAAKpI,QAACqI,cAAcrB,GAAM,CAAE/F,QAAS,QAAU2D,GAC/C8Y,GACJtV,UAAMC,cAAc8E,GAAQ,CAAElM,QAAS,OAAQuM,KAAMpF,EAAKpI,QAACqI,cAAc8F,GAAW,CAAElJ,MAAO,UAAY4J,QAASqB,EAAS,aAAc,UAAa,EEvCjJ+yB,GAAeljC,EAAMC,QAACa,OAAOX,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,eAAiB,kIAAkIsG,EAAM/B,2FAA2F,EAAGiH,OAAMod,cAC/V,IAAItgB,EAAS,OACToD,EAAc,OACdC,EAAe,OACfC,EAAe,MACfjH,EAAW,OACXkH,EAAe,MACfgV,EAAkB,QAClBuyB,EAAc,UACdvuC,EAAQ,UAcZ,MAba,OAAT2G,IACAlD,EAAS,OACToD,EAAc,OACdC,EAAe,OACfC,EAAe,MACfjH,EAAW,OACXkH,EAAe,OAEf+c,IACA/H,EAAkB,UAClBuyB,EAAc,UACdvuC,EAAQ,SAEL,4BACcgH,uBAETvD,2BACMoD,4BACCC,4BACAC,wBACJjH,iCAEOkc,2BACJuyB,oBACPvuC,UACV,wEACmE,EAAG+jB,aAAeA,EAAU,UAAY,wCAAyC,EAAGA,aAAeA,EAAU,UAAY,0BAA2B,EAAGA,aAAeA,EAAU,UAAY,qQClCvPyqB,GAAoB1zC,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,yBAA0BC,YAAa,gBAAkB,kEAAkE0D,EAAMT,oBAAoBF,EAAO5B,6HAA6HL,EAAOS,QAAQC,IAAIP,6BAA6BH,EAAOS,QAAQE,KAAKR,qCAAqCH,EAAOa,UAAUX,KAAKG,yBAAyBL,EAAOa,UAAUX,KAAKC,uCAAuCH,EAAOa,UAAUX,KAAKG,6BAA6BL,EAAOa,UAAUX,KAAKE,0BAA0BJ,EAAOa,UAAUX,KAAKC,6CAA6CH,EAAOa,UAAUX,KAAKG,6BAA6BL,EAAOa,UAAUX,KAAKE,0BAA0BJ,EAAOa,UAAUX,KAAKC,oDAAoDH,EAAOa,UAAUC,IAAIT,iCAAiCL,EAAOa,UAAUC,IAAIT,yBAAyBL,EAAOa,UAAUC,IAAIX,uCAAuCH,EAAOa,UAAUC,IAAIT,6BAA6BL,EAAOa,UAAUC,IAAIV,0BAA0BJ,EAAOa,UAAUC,IAAIX,6CAA6CH,EAAOa,UAAUC,IAAIT,6BAA6BL,EAAOa,UAAUC,IAAIV,0BAA0BJ,EAAOa,UAAUC,IAAIX,wFAAwFH,EAAOS,QAAQE,KAAKP,sBAAsBJ,EAAOS,QAAQC,IAAIP,kBAAkBH,EAAOS,QAAQC,IAAIN,UCH1/C,IAAWoyC,GAQAC,GAIAC,GAbAF,QAAkBA,uBAAA,GAClBA,GAMRA,4BAAsBA,QAAAA,kBAAoB,CAAE,IALpB,IAAI,OAC3BA,GAAwB,KAAI,QAC5BA,GAAuB,IAAI,OAC3BA,GAAuB,IAAI,OAC3BA,GAAuB,IAAI,OAEpBC,QAAaA,kBAAA,GACbA,GAGRA,uBAAiBA,QAAAA,aAAe,CAAE,IAFhB,GAAI,KACrBA,GAAiB,GAAI,KAGzB,SAAWC,GACPA,EAAkB,MAAI,GACtBA,EAA2B,eAAI,2BAC/BA,EAAyB,aAAI,uBAC7BA,EAAoC,wBAAI,sCAC3C,CALD,CAKGA,KAAeA,GAAa,CAAA,IClBxB,MAAMC,GAAgB,IAAOzrC,EAAAA,QAAMC,cAAc,MAAO,CAAEG,MAAO,6BAA8BoB,MAAO,KAAMlB,OAAQ,KAAMH,KAAM,OAAQE,KAAM,gBACjJL,EAAKpI,QAACqI,cAAc,OAAQ,CAAEE,KAAM,OAAQM,EAAG,+EAC/CT,UAAMC,cAAc,OAAQ,CAAEE,KAAM,UAAWM,EAAG,szBCEzCirC,GAAa,IAAO1rC,EAAAA,QAAMC,cAAcuT,GAAO,CAAEE,OAAQ,SAAUC,OAAQ,SAAUC,QAAS,KAAMjM,MAAO,CAAEgkC,cAAe,SACrI3rC,UAAMC,cAAcwrC,GAAe,MACnCzrC,EAAAA,QAAMC,cAAcrB,EAAM,CAAE/F,QAAS,kBAAmB8O,MAAO,CAAEikC,WAAYlwC,EAAMV,KAAQ,mCCJlF6wC,GAAmB,EAAGC,oBAAmBC,iBAC7CD,GAAsBC,EAEnB/rC,EAAAA,QAAMC,cAAcuT,GAAO,CAAEE,OAAQ,QAASE,QAAS,MAC3Dk4B,GAAqB9rC,EAAKpI,QAACqI,cAAcrB,EAAM,CAAE/F,QAAS,cACtD,mBACAizC,EACA,KACJC,GAAe/rC,EAAKpI,QAACqI,cAAcrB,EAAM,CAAE/F,QAAS,cAChD,oBACAkzC,EACA,MATG,KCCFC,GAAiBr0C,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,sBAAuBC,YAAa,gBAAkB,wFAC9Gi0C,GAAyBt0C,EAAAA,QAAO6b,IAAO1b,WAAW,CAAEC,YAAa,8BAA+BC,YAAa,gBAAkB,oBAAoBc,EAAOS,QAAQC,IAAIP,0BAA0B8B,EAAO5B,gBAAgBuC,EAAMO,MAAM2C,kBAAqBlD,EAAMO,OCH9PiwC,GAAe,EAAGC,OAAMC,iBAAgBvsB,cAC5CssB,EAEGnsC,EAAKpI,QAACqI,cAAcgsC,GAAwB,CAAEv4B,OAAQ,UAAWD,UAAW,aAAcE,OAAQ,UACtG3T,EAAAA,QAAMC,cAAc+rC,GAAgB,CAAEnzC,QAAS,QAAUszC,aAAmC,EAASA,EAAK30B,MAC1GxX,UAAMC,cAAc8E,GAAQ,CAAEvB,KAAM,KAAM3K,QAAS,OAAQ4N,QAAS2lC,EAAgBhnC,KAAMpF,EAAAA,QAAMC,cAAc8F,GAAW,MAAO,aAAc,cAAe8Z,SAAUA,KAHhK,KCMFwsB,GAAarnC,EAAUA,YAAC,CAACC,EAAIqnC,KACtC,IAAIvqC,GAAEA,EAAEyV,KAAEA,EAAI+0B,SAAEA,EAAW,IAAOC,OAAEA,EAASjB,qBAAakB,GAAEC,UAAEA,EAAShrC,MAAEA,EAAQ,cAAairC,SAAEA,EAAQ9sB,SAAEA,GAAa5a,EAAIM,EAAa7E,EAAOuE,EAAI,CAAC,KAAM,OAAQ,WAAY,SAAU,YAAa,QAAS,WAAY,aAC1N,MAAM2nC,EAAWt8B,SAAO,MACxBu8B,EAAAA,oBAAoBP,GAAU,IAAMM,EAASp8B,SAAS,IACtD,MAAO27B,EAAMW,GAAW7kC,EAAQA,YACzB8kC,EAAYC,GAAiB/kC,EAAAA,SAASujC,GAAWyB,OAClDC,EAAkBH,IAAevB,GAAW2B,gBAAkBJ,IAAevB,GAAW4B,wBACxFC,EAAgBN,IAAevB,GAAW8B,cAAgBP,IAAevB,GAAW4B,wBAEpFrB,ECJuB,GAAGQ,WAAUC,SAAQe,iBAClD,MAAMp0C,EAAqB,MAAdo0C,EAAqB,aAAeA,EACjD,OAAQf,GACJ,KAAKjB,QAAYA,aAACiC,GACd,MAAO,GAAGr0C,IAAO49B,OAAOwV,GAAY,SACxC,KAAKhB,QAAYA,aAACkB,GACd,MAAO,GAAGtzC,IAAO49B,OAAOwV,GAAY,SACxC,QACI,MAAO,GAAGpzC,IAAO49B,OAAOwV,GAAY,SAC3C,EDLmBkB,CAAkB,CAAElB,WAAUC,WAC5CV,EEHyB,GAAGY,YAAWa,iBAC7C,IAAIp0C,EAAqB,MAAdo0C,EAAqB,gBAAkBA,EA6BlD,OA5BAb,EAAU5gB,SAAQ,CAAC4hB,EAAU9kB,EAAO+kB,KAChC,MAAMC,EAAWD,EAAKvsC,OAAS,EACzBysC,EAASjlB,IAAU+kB,EAAKvsC,OAAS,GAAKwsC,EACtCE,EAAgBllB,IAAU+kB,EAAKvsC,OAAS,GAAKwsC,EAGnD,OAFIC,IACA10C,GAAQ,SACJu0C,GACJ,KAAKpC,QAAiBA,kBAACyC,IACnB50C,GAAQ,MACR,MACJ,KAAKmyC,QAAiBA,kBAAC0C,IACnB70C,GAAQ,MACR,MACJ,KAAKmyC,QAAiBA,kBAAC2C,KACnB90C,GAAQ,OACR,MACJ,KAAKmyC,QAAiBA,kBAAC4C,IACnB/0C,GAAQ,MACR,MACJ,KAAKmyC,QAAiBA,kBAAC6C,IACnBh1C,GAAQ,OAKX20C,IAAkBD,GAAUF,EAAKvsC,OAAS,IAC3CjI,GAAQ,KAAI,IAEbA,CAAI,EF3Bei1C,CAAoB,CAAE1B,cAC1C2B,EGN2B,GAAG3B,gBACpC,GAAyB,IAArBA,EAAUtrC,OACV,OAAOsrC,EAAU,GACrB,IAAIvzC,EAAO,GAQX,OAPAuzC,EAAU5gB,SAAQ,CAAC4hB,EAAU9kB,EAAO+kB,KAChC,MAAMW,EAAgBX,EAAKvsC,OAAS,IAAMwnB,GAAS+kB,EAAKvsC,OAAS,EAE7DjI,GADAm1C,EACQ,GAAGZ,IAEH,GAAGA,KAAY,IAExBv0C,EAAKgf,MAAM,EHLco2B,CAAsB,CAAE7B,cAClD8B,EAAqB,KACvB,IAAIvpC,GAC4B,QAA3BA,EAAK2nC,EAASp8B,eAA4B,IAAPvL,OAAgB,EAASA,EAAGrJ,SAChEgxC,EAASp8B,QAAQ5U,MAAQ,GAAE,EAI7B6yC,EAAqB,EAAGC,cAAaC,oBACvC,IAAI1pC,EACJ,IAAI9G,EAAQqtC,GAAWyB,MACnB0B,IAAkBD,EAClBvwC,EAAQqtC,GAAW2B,gBAEbwB,GAAiBD,EACvBvwC,EAAQqtC,GAAW8B,aAEdqB,GAAiBD,IACtBvwC,EAAQqtC,GAAW4B,yBAEK,QAA3BnoC,EAAK2nC,EAASp8B,eAA4B,IAAPvL,GAAyBA,EAAG2pC,kBAAkBzwC,GAClF6uC,EAAc7uC,EAAM,EAGlB0wC,EAAcj+B,eAAak+B,IAC7B,IAAKA,EAAM1tC,OAEP,YADAqtC,EAAmB,CAAEE,eAAe,IAGxC,MAAOI,GAAWD,EACZE,EAAqBD,EAAQvrC,KAAO+oC,GACpC,CAAG0C,GAAaF,EAAQxsC,KAAK2sC,MAAM,KAEnCC,GADczC,EAAUlnB,MAAM4pB,GAAcA,EAAUC,UAAU,KAAOJ,IAEzED,GAAsBG,EAGtBX,IIrDkB,GAAGc,WAAUC,gBACvC,MAAMC,EAAU9lC,SAAS+lC,eAAeF,GACpCD,EAASluC,SACTouC,EAAQV,MAAQQ,EACnB,EJqDOI,CAAe,CAAEJ,SAAUR,EAAOS,UAAWxtC,IAEjD0sC,EAAmB,CACfE,cAAeQ,EACfT,YAAaM,IAEjBlC,EAAQiC,EAAQ,GACjB,CAACrC,EAAW3qC,EAAIwqC,IAwBbH,EAAiBx7B,EAAAA,aAAY,KAC/B49B,IACA1B,OAAQpnC,GACR+oC,EAAmB,CACfE,eAAe,EACfD,aAAa,GACf,GACH,IAEGiB,EAAgB/+B,EAAAA,aAAY,KAC9B,IAAI3L,EACJ,MAAM6pC,EAAwF,QAA/E7pC,EAAK2nC,aAA2C,EAASA,EAASp8B,eAA4B,IAAPvL,OAAgB,EAASA,EAAG6pC,OAC7HA,aAAqC,EAASA,EAAM1tC,UAAY0tC,aAAqC,EAASA,EAAM1tC,QAAU,EAC/HytC,EAAYC,GAEZ1C,GAAgB,GACrB,CAACA,EAAgByC,IAUpB,OATApiC,EAAAA,WAAU,KACN,MAAMvH,EAAM0nC,aAA2C,EAASA,EAASp8B,QAGzE,OAFAtL,SAA0CA,EAAIkI,iBAAiB,SAAUuiC,GACzEzqC,SAA0CA,EAAIkI,iBAAiB,SAAUg/B,GAClE,KACHlnC,SAA0CA,EAAImI,oBAAoB,SAAUsiC,GAC5EzqC,SAA0CA,EAAImI,oBAAoB,SAAU++B,EAAe,CAC9F,GACF,CAACuD,EAAevD,IACXpsC,EAAAA,QAAMC,cAAcwiB,GAAW,CAAE7O,QAAS,KAAMF,OAAQ,WAC5D1T,EAAAA,QAAMC,cAAcqiB,GAAO,CAAE9B,QAASze,GAClCL,EACA1B,EAAAA,QAAMC,cAAcuT,GAAO,CAAEI,QAAS,EAAGF,OAAQ,UAAW/L,MAAO,CAAEikC,WAAYlwC,EAAMV,KACnFgF,UAAMC,cAAcsiB,GAAM,KACtBviB,EAAAA,QAAMC,cAAc,MAAO,KAAM6rC,GACjC9rC,EAAAA,QAAMC,cAAc,MAAO,KAAM8rC,IACrC/rC,EAAAA,QAAMC,cAAcorC,GAAmB,CAAEuE,OAzCrC7iC,IACZA,EAAMI,iBAEDJ,EAAM8iC,aAAaf,MAAM1tC,QAE9BytC,EAAY9hC,EAAM8iC,aAAaf,MAAM,EAoC4BgB,YAvDhD/iC,IACjB,IAAI9H,EACJ8H,EAAMI,iBACsB,QAA3BlI,EAAK2nC,EAASp8B,eAA4B,IAAPvL,GAAyBA,EAAG4H,OAAO,EAoDoBkjC,WA3C3EhjC,GAAUA,EAAMI,iBA2CmF6iC,YAjDlGjjC,IACjB,IAAI9H,EACJ8H,EAAMI,iBACsB,QAA3BlI,EAAK2nC,EAASp8B,eAA4B,IAAPvL,GAAyBA,EAAG8iC,MAAM,GA+C1D/nC,UAAMC,cAAcyrC,GAAY,MAChC1rC,EAAAA,QAAMC,cAAc,QAAS7D,OAAOC,OAAO,CAAE6I,IAAK0nC,EAAU7qC,GAAIA,EAAIQ,KAAM,OAAQ0tC,OAAQ5B,EAAyB72B,KAAMA,EAAMm1B,SAAUA,EAAU9sB,SAAUA,GAAYta,OACrLvF,EAAKpI,QAACqI,cAAcuT,GAAO,CAAEE,OAAQ,UAAWE,QAAS,MACrD5T,UAAMC,cAAcisC,GAAc,CAAEC,KAAMA,EAAMC,eAAgBA,EAAgBvsB,SAAUA,IAC1F7f,EAAAA,QAAMC,cAAc4rC,GAAkB,CAAEC,kBAAmBoB,EAAkBpB,OAAoBpmC,EAAWqmC,YAAasB,EAAgBtB,OAAcrmC,KAAgB,IKlI7KwqC,GAAe,4FAQRj7B,GAAYtd,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,GAAGk4C,cAAyBnwC,GAAWA,EAAMiQ,WAAa,UAAY,kBAAmB1R,EAAMC,OAAOE,SACnN0xC,GAASx4C,EAAAA,QAAOD,GAAeI,WAAW,CAAEC,YAAa,cAAeC,YAAa,cAAgB,GAAGk4C,0CACxG96B,GAAOzd,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,YAAaC,YAAa,eAAiB,sDCPzGo4C,GAAa,EAAGC,YAAWlrC,cAEjCnF,EAAKpI,QAACqI,cAAcD,EAAKpI,QAAC2Y,SAAU,KAAM8/B,EAAYrwC,EAAAA,QAAMC,cAAc+I,GAAQ,KAAM7D,GAAYA,GACvFmrC,GAAQ,EAAG7uC,YAAW0D,WAAW,KAAM6K,cAAa,EAAOqgC,aAAY,KAAarwC,EAAAA,QAAMC,cAAcmwC,GAAY,CAAEC,UAAWA,GAC1IrwC,EAAAA,QAAMC,cAAcgV,GAAW,CAAExT,UAAW8I,GAAgB,CAAC,GAAG9I,cAAuBA,IAAauO,WAAYA,GAC5GhQ,UAAMC,cAAckwC,GAAQ,MAC5BnwC,EAAAA,QAAMC,cAAcswC,EAAAA,QAAY,CAAEC,SAAUxgC,GACxChQ,EAAKpI,QAACqI,cAAcmV,GAAM,CAAE3T,UAAW8I,GAAgB,CAAC,GAAG9I,SAAkBA,KAAe0D,MCX3FsrC,GAAe94C,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,gBAAkB,sEACxG04C,GAAe/4C,EAAMC,QAACC,IAAIC,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,eAAiB,qFACvG24C,GAAWh5C,EAAMC,QAACmN,IAAQjN,WAAW,CAAEC,YAAa,gBAAiBC,YAAa,eAAiB,yCCJzG,IAAI44C,IACX,SAAWA,GACPA,EAAiB,MAAI,QACrBA,EAAiB,MAAI,QACrBA,EAAiB,MAAI,OACxB,CAJD,CAIGA,KAAcA,GAAY,CAAA,ICA7B,MAAM37B,GAAYtd,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,qBAC7G64C,GAAcl5C,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,eAAiB,iBACvG84C,GAAUn5C,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,eAAgBC,YAAa,eAAiB,iKAAiK,EAAG+4C,gBAAeC,sBAAuB,4CAE9RD,EAAc53C,kCACd43C,EAAc93C,2BAGlC2F,qBACSoyC,QAA2DA,EAAmBl4C,EAAOS,QAAQC,IAAIJ,sBAEzG,EAAG63C,SAAQF,mBAAoBE,GAClC,2BACoBF,EAAc93C,kBAEhCi4C,GAAmBv5C,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,eAAiB,iKAAiK,EAAGi5C,SAAQF,mBAAoBE,GACnT,2BACoBF,EAAc53C,oBAE5B03C,wCAIJM,GAAc,CAChBxpC,MAAO,CACHuM,WAAYxY,EAAMO,GAClBgX,QAASvX,EAAMO,GACfqE,OAAQ5E,EAAMvC,KACdqI,MAAO9F,EAAMvC,OAGRi4C,GAAoBz5C,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,yBAA0BC,YAAa,eAAiB,gDAAgD0D,EAAMV,iBAAiBU,EAAMvC,cAAcuC,EAAMvC,SCnClNk4C,GAAYtxC,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE6D,QAAS,YAAaC,KAAM,OAAQC,MAAO,8BAAgCL,GACtJC,EAAAA,QAAMC,cAAc,OAAQ,CAAEM,SAAU,UAAWC,SAAU,UAAWC,EAAG,oPAAqPN,KAAM,kBCMpUw7B,GAAsB9yB,IAAY,CACpCsgC,OAAQtgC,EAAS,GAAGA,gBAAkBnD,EACtC+R,QAAS5O,EAAS,GAAGA,iBAAmBnD,EACxC4rC,KAAMzoC,EAAS,GAAGA,cAAgBnD,EAClC0S,UAAWvP,EAAS,GAAGA,mBAAqBnD,EAC5CurC,OAAQpoC,EAAS,GAAGA,gBAAkBnD,EACtC6rC,QAAS1oC,EAAS,GAAGA,iBAAmBnD,ICdrC,IAAI8rC,IACX,SAAWA,GACPA,EAAoB,MAAI,QACxBA,EAAoB,MAAI,QACxBA,EAAoB,MAAI,OAC3B,CAJD,CAIGA,KAAiBA,GAAe,CAAA,ICJ5B,MAAMC,GAAiB1xC,GAAWC,EAAAA,QAAMC,cAAc,MAAO7D,OAAOC,OAAO,CAAE+D,MAAO,6BAA8BoB,MAAO,KAAMlB,OAAQ,IAAKH,KAAM,OAAQD,QAAS,aAAcG,KAAM,gBAAkBN,GAC5MC,UAAMC,cAAc,OAAQ,CAAEE,KAAM,eAAgBM,EAAG,8SCOrDowC,GAAcl5C,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,mBAAoBC,YAAa,gBAAkB,iBACxG05C,GAAuB/5C,EAAMC,QAAC65C,IAAe35C,WAAW,CAAEC,YAAa,4BAA6BC,YAAa,eAAiB,GAClI25C,GAAmBh6C,EAAMC,QAACmO,IAAWjO,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,eAAiB,GACtHk5C,GAAmBv5C,EAAMC,QAACgH,GAAM9G,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,gBAAkB,iKAAiK,EAAGi5C,SAAQF,mBAAoBE,GACpT,6BACsBF,EAAc33C,sBAE5By3C,wBACK/3C,EAAOS,QAAQE,KAAKR,2BAG/B63C,GAAUn5C,EAAAA,QAAOD,GAAeI,WAAW,CAAEC,YAAa,eAAgBC,YAAa,gBAAkB,8GAA8GsG,EAAM5C,MAAMV,+EAA+E,EAAGg2C,sBAAuB,0CAG1Tl4C,EAAOS,QAAQE,KAAKN,kBAClC+3C,iCACgBp4C,EAAOS,QAAQE,KAAKN,oBAClC03C,wBACK/3C,EAAOS,QAAQC,IAAIL,kCAG1ByF,qBACKoyC,QAA2DA,EAAmBl4C,EAAOS,QAAQC,IAAIJ,yBAEtGs4C,sBACK54C,EAAOS,QAAQC,IAAIJ,yBAExBu4C,sBACK74C,EAAOS,QAAQC,IAAIJ,8BAI1BwF,mBACKoyC,QAA2DA,EAAmBl4C,EAAOS,QAAQC,IAAIJ,oBAEvG,EAAG63C,SAAQF,gBAAeC,sBAAuBC,GACpD,2BACoBF,EAAc93C,wBAE5By4C,sBACKX,EAAc33C,yBAEnBu4C,sBACKZ,EAAc33C,2BAGnBwF,qBACKoyC,QAA2DA,EAAmBD,EAAc33C,qBAGrGw4C,GAAaj6C,EAAAA,QAAOyM,IAAYtM,WAAW,CAAEC,YAAa,kBAAmBC,YAAa,eAAiB,WAAWsG,EAAM5C,MAAMV,+FAA+F,EAAGg2C,sBAAuB,8BAE3PF,iCACoBh4C,EAAOS,QAAQE,KAAKN,oBAClC+3C,mCACgBp4C,EAAOS,QAAQE,KAAKN,sBAClC03C,0BACK/3C,EAAOS,QAAQC,IAAIL,wCAG1ByF,uBACKoyC,QAA2DA,EAAmBl4C,EAAOS,QAAQC,IAAIJ,6BAEtGs4C,wBACK54C,EAAOS,QAAQC,IAAIJ,6BAExBu4C,wBACK74C,EAAOS,QAAQC,IAAIJ,8BAI9B+3C,GAAc,CAChBxpC,MAAO,CACHuM,WAAYxY,EAAMO,GAClBgX,QAASvX,EAAMO,GACfqE,OAAQ5E,EAAMvC,KACdqI,MAAO9F,EAAMvC,OAGRi4C,GAAoBz5C,EAAAA,QAAOE,IAAIC,WAAW,CAAEC,YAAa,yBAA0BC,YAAa,gBAAkB,gDAAgD0D,EAAMV,iBAAiBU,EAAMvC,cAAcuC,EAAMvC,SC1EnN04C,GAAU7xC,EAAAA,QAAMgF,YAAW,CAACC,EAAIC,KACzC,IAAInD,GAAEA,EAAEmpC,SAAEA,EAAQ1zB,KAAEA,EAAIjV,KAAEA,EAAId,UAAEA,EAASsvC,cAAEA,EAAgBj4C,EAAOa,UAAUX,KAAIg4C,iBAAEA,EAAgBv1C,MAAEA,EAAKw1C,OAAEA,GAAS,EAAKxqC,QAAEA,EAAOqrC,UAAEA,EAASC,YAAEA,GAAgB9sC,EAAIlF,EAAQW,EAAOuE,EAAI,CAAC,KAAM,WAAY,OAAQ,OAAQ,YAAa,gBAAiB,mBAAoB,QAAS,SAAU,UAAW,YAAa,gBACtT,MAAMgR,EAT8B,CACpCkzB,QADwBtgC,EAScpH,GARrB,GAAGoH,gBAAkBnD,EACtC4rC,KAAMzoC,EAAS,GAAGA,cAAgBnD,EAClC0S,UAAWvP,EAAS,GAAGA,cAAgBnD,EACvCurC,OAAQpoC,EAAS,GAAGA,gBAAkBnD,EACtC6rC,QAAS1oC,EAAS,GAAGA,iBAAmBnD,GALjB,IAACmD,EAUxB,MAAO8I,EAAWqgC,EAAaC,GAAexgC,KACxCrL,EAAS6qC,GAAUa,EAAYA,EAAYrrC,EAE3CyrC,EAAU3vC,IAASivC,GAAaW,MAChCC,EAAU7vC,IAASivC,GAAaa,MAQtC,OAAQryC,EAAKpI,QAACqI,cAAc2xC,GAAYx1C,OAAOC,OAAO,CAAEoF,UAAW8I,GAAgB,CAAC0L,aAA+C,EAASA,EAAWmC,YAAa3R,QAV/I,IAAML,EAAOrE,GAUyJ1B,KAAM,MAAO,gBAAiB4wC,EAAQ,aAAc,GANvOA,GAAUiB,EACH,SACPjB,GAAUmB,EACH,OACJ,MAE2P56B,UAAa/b,EAAQ,QAAQA,KAASs2C,IAAgB,KAAMf,iBAAkBA,EAAkB9rC,IAAKA,GAAOnF,GAC9WC,EAAAA,QAAMC,cAAc6wC,GAAS,CAAEG,OAAQA,EAAQv7B,aAAcs8B,EAAar8B,aAAcs8B,EAAalB,cAAeA,EAAeC,iBAAkBA,GACjJ9F,GAAYlrC,EAAAA,QAAMC,cAAcmxC,GAAmB,KAAMlG,GACzDlrC,EAAKpI,QAACqI,cAAcrB,EAAM,CAAE/F,QAAS,YAAc2e,GACnD/b,SAA0CuE,EAAAA,QAAMC,cAAcixC,GAAkB,CAAE,cAAe,iBAAkBD,OAAQA,GAAUt/B,EAAWo/B,cAAeA,EAAeC,iBAAkBA,GAC5LhxC,EAAKpI,QAACqI,cAAc4wC,GAAa,CAAEh4C,QAAS,mBAAqB4C,IACrEy2C,GAAWlyC,EAAKpI,QAACqI,cAAc0xC,GAAkBv1C,OAAOC,OAAO,CAAE,EAAE80C,GAAa,CAAE,aAAc,iBAChGiB,GAAWnB,GAAUjxC,EAAAA,QAAMC,cAAcyxC,GAAsBt1C,OAAOC,OAAO,CAAA,EAAI80C,GAAa,CAAE,aAAc,gBAAmB,IC5BhImB,GAAe36C,EAAMC,QAAC4b,IAAO1b,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,eAAiB,kKAC1Gid,GAAYtd,EAAMC,QAAC4b,IAAO1b,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,eAAiB,oBAAoBc,EAAOS,QAAQE,KAAKR,YAC5Is5C,GAAiB56C,EAAMC,QAAC+kB,IAAe7kB,WAAW,CAAEC,YAAa,sBAAuBC,YAAa,gBAAkB,SAASc,EAAOS,QAAQC,IAAIL,QACnJq5C,GAAkB76C,EAAMC,QAAC8hB,IAAgB5hB,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,eAAiB,SAASc,EAAOS,QAAQC,IAAIL,QACrJs5C,GAAiB96C,EAAMC,QAAC65C,IAAe35C,WAAW,CAAEC,YAAa,sBAAuBC,YAAa,eAAiB,SAASc,EAAOS,QAAQC,IAAIL,QAClJu5C,GAAmB/6C,EAAMC,QAACmN,IAAQjN,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,gBAAkB,mDAAmDc,EAAOS,QAAQE,KAAKR,aAC3L05C,GAAmBh7C,EAAMC,QAACmN,IAAQjN,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,eAAiB,4DAA4Du6C,YAAwBz5C,EAAOS,QAAQC,IAAIP,uCAAuCH,EAAOS,QAAQE,KAAKR,aACrR25C,GAAoBj7C,EAAMC,QAACmN,IAAQjN,WAAW,CAAEC,YAAa,yBAA0BC,YAAa,gBAAkB,4DAA4Dw6C,YAAyB15C,EAAOS,QAAQC,IAAIP,uCAAuCH,EAAOS,QAAQE,KAAKR,aACzR45C,GAAmBl7C,EAAMC,QAACmiC,IAAYjiC,WAAW,CAAEC,YAAa,wBAAyBC,YAAa,eAAiB,8FCbvH86C,GAAuB,CAACzoB,EAAcllB,KAC/C,IAAIF,EACJ,MAAO8tC,EAAcC,GAAmB/qC,EAAQA,UAAC,IAC1CgrC,EAAeC,GAAoBjrC,EAAQA,UAAC,IAC5CkrC,EAAoBC,GAAyBnrC,EAAQA,SAAC,IACvDorC,EAAwG,QAA3FpuC,EAAKolB,aAAmD,EAASA,EAAa7Z,eAA4B,IAAPvL,OAAgB,EAASA,EAAGsnB,cAAc,0BAC1J+mB,EAAgBC,cAAYF,GAC5BzR,EAAehxB,EAAAA,aAAY,KAC7B,IAAI3L,EAAIonB,EAAIC,EAAIknB,EAAIC,EAAIC,EAAIC,EAAIC,GACK,QAA/B3uC,EAAKolB,EAAa7Z,eAA4B,IAAPvL,OAAgB,EAASA,EAAG8oB,YAAc,EACnFilB,GAAgB,IAGZtpC,SAAS+lC,eAAe,gBAAkB/lC,SAAS+D,gBACD,QAAjD4e,EAAK3iB,SAAS+lC,eAAe,sBAAmC,IAAPpjB,GAAyBA,EAAGxf,SAE1FmmC,GAAgB,IAEpB,MAEMa,GAF4G,QAA1FL,EAAqC,QAA/BlnB,EAAKjC,EAAa7Z,eAA4B,IAAP8b,OAAgB,EAASA,EAAGkC,mBAAgC,IAAPglB,EAAgBA,EAAK,IAC7B,QAA1FE,EAAqC,QAA/BD,EAAKppB,EAAa7Z,eAA4B,IAAPijC,OAAgB,EAASA,EAAGnkC,mBAAgC,IAAPokC,EAAgBA,EAAK,IAG1G,QAA/BC,EAAKtpB,EAAa7Z,eAA4B,IAAPmjC,OAAgB,EAASA,EAAG5lB,aAAe8lB,EAAgB,IAChGnqC,SAAS+lC,eAAe,iBAAmB/lC,SAAS+D,gBACH,QAAhDmmC,EAAKlqC,SAAS+lC,eAAe,qBAAkC,IAAPmE,GAAyBA,EAAG/mC,SAEzFqmC,GAAiB,IAGjBA,GAAiB,EACpB,GACF,CAAC7oB,IACEypB,EAAeljC,EAAAA,aAAY,KACxByZ,EAAa7Z,UAEd6Z,EAAa7Z,QAAQge,YAAcnE,EAAa7Z,QAAQma,wBAAwBnpB,MAAQ,EACxF0xC,GAAiB,GAGjBA,GAAiB,GACpB,GACF,CAAC7oB,IACE0pB,EAAuBnjC,EAAAA,aAAY,KACrC,MAAMojC,EC3CqB,EAACC,EAAoBC,EAAeC,KAEnE,IAAK,IAAIx4C,EAAI,EAAGA,EAAIs4C,EAAmB7yC,OAAQzF,IAAK,CAChD,QAAkC+J,IAA9BuuC,EAAmBt4C,EAAI,GACvB,OAAOu4C,EAAgBC,EAE3B,GAAIF,EAAmBt4C,IAAMu4C,EACzB,OAAOD,EAAmBt4C,EAAI,EAErC,CACD,OAAOu4C,EAAgBC,CAAc,EDiCbC,CAAoBjB,EAAoB9oB,EAAa7Z,QAAQud,WAAY1D,EAAa7Z,QAAQlB,aAClH+a,EAAa7Z,QAAQ8kB,SAAS,CAC1B5H,KAAMsmB,EACN70B,IAAK,EACLk1B,SAAU,UACZ,GACH,CAAChqB,EAAc8oB,IACZmB,EAAuB1jC,EAAAA,aAAY,KACrC,MAAMojC,ECpCqB,EAACC,EAAoBC,KACpD,MAAMK,EAAeN,EAAmBr4B,QAAQ44B,UAEhD,IAAK,IAAI74C,EAAI,EAAGA,EAAIs4C,EAAmB7yC,OAAQzF,IAAK,CAChD,QAA4B+J,IAAxB6uC,EAAa54C,EAAI,GACjB,OAAO,EAEX,GAAI44C,EAAa54C,GAAKu4C,EAClB,OAAOK,EAAa54C,EAAI,EAE/B,CACD,OAAO,CAAC,EDyBgB84C,CAAoBtB,EAAoB9oB,EAAa7Z,QAAQud,YACjF1D,EAAa7Z,QAAQ8kB,SAAS,CAC1B5H,KAAMsmB,EACN70B,IAAK,EACLk1B,SAAU,UACZ,GACH,CAAChqB,EAAc8oB,IAqDlB,OApDA1mC,EAAAA,WAAU,KACN,IAAIxH,EAAIonB,EAAIC,EAAIknB,EAAIC,EAAIC,EAAIC,EAC5B,GAAMtpB,aAAmD,EAASA,EAAa7Z,QAA/E,CAwBA,IAtB8C,QAAxCvL,EAAKolB,EAAa7Z,QAAQrL,gBAA6B,IAAPF,OAAgB,EAASA,EAAG7D,UACpC,QAAxCirB,EAAKhC,EAAa7Z,QAAQrL,gBAA6B,IAAPknB,OAAgB,EAASA,EAAGjrB,UAAY+xC,EAAmB/xC,QAC7G+xC,EAAmB/xC,OAAS,GAC5B+xC,EAAmB/xC,OAAS+D,EAAS/D,SAErCipB,EAAa7Z,QAAQ8kB,SAAS,CAC1B5H,KAAMrD,EAAa7Z,QAAQge,YAAcnE,EAAa7Z,QAAQlB,YAC9D6P,IAAK,EACLk1B,SAAU,WAGdjB,EAAsB,IACfD,EACHA,EAAmBA,EAAmB/xC,OAAS,IACuG,QAAhJoyC,EAA6E,QAAvElnB,EAAKjC,EAAa7Z,QAAQrL,SAASguC,EAAmB/xC,OAAS,UAAuB,IAAPkrB,OAAgB,EAASA,EAAG3B,wBAAwBgD,SAAsB,IAAP6lB,EAAgBA,EAAK,GAC/K,OAGkC,QAAxCC,EAAKppB,EAAa7Z,QAAQrL,gBAA6B,IAAPsuC,OAAgB,EAASA,EAAGryC,SAAyC,IAA9B+xC,EAAmB/xC,QAC5GgyC,EClD2B,CAAC/oB,GACdjuB,OAAO6G,OAAOonB,EAAallB,UAAUkO,KAAKwuB,GAErDA,EAAGlX,wBAAwBgD,EAAI,KD+CZ+mB,CAAwBrqB,EAAa7Z,UAG3D6iC,IAAcC,GACA,OAAdD,IAC0C,QAAxCK,EAAKrpB,EAAa7Z,QAAQrL,gBAA6B,IAAPuuC,OAAgB,EAASA,EAAGtyC,UAAY+xC,EAAmB/xC,OAAQ,CACrH,MAAMwnB,EAAQ/N,MAAMrY,KAAK6nB,EAAa7Z,QAAQrL,UAAUjE,QAAQmyC,GAChEhpB,EAAa7Z,QAAQ8kB,SAAS,CAC1B5H,KAAMylB,EAAmBvqB,GACzBzJ,IAAK,EACLk1B,SAAU,UAEjB,CAKD,OAJAP,IACA5kC,OAAO9B,iBAAiB,SAAU0mC,GACF,QAA/BH,EAAKtpB,EAAa7Z,eAA4B,IAAPmjC,GAAyBA,EAAGvmC,iBAAiB,SAAUw0B,GAExF,KACH1yB,OAAO7B,oBAAoB,SAAUymC,EAAa,CAtC3C,CAuCV,GACF,CACCzpB,EACAllB,EACA2uC,EACAlS,EACAuR,EACAE,EACAC,IAEG,CAAEL,gBAAeF,eAAcgB,uBAAsBO,uBAAsB,EE9GzEK,GAAiB30C,EAAAA,QAAMgF,YAAW,EAAGG,WAAUyvC,cAAaC,mBAAkBC,oBAAoBC,KAC3G,MAAMC,EAAW1kC,SAAO,OAClB2iC,cAAEA,EAAaF,aAAEA,EAAYgB,qBAAEA,EAAoBO,qBAAEA,GAAyBxB,GAAqBkC,EAAU7vC,GACnH,OAAQnF,EAAKpI,QAACqI,cAAcgV,GAAW,CAAExB,UAAW,aAAcE,OAAQ,SAAUD,OAAQ,WACxF1T,EAAKpI,QAACqI,cAAcqyC,GAAc,CAAEptC,IAAK8vC,EAAUjzC,GAAI,QAAS1B,KAAM,UAAWsT,OAAQ,SAAUF,UAAW,cAAgBtO,GAC9HnF,UAAMC,cAAc4yC,GAAkB,OAChCE,IAAiBE,IAAmBjzC,EAAKpI,QAACqI,cAAcD,EAAAA,QAAMuQ,SAAU,KACtEvQ,UAAMC,cAAc0yC,GAAkB,CAAE5wC,GAAI,aAAcqD,KAAMpF,UAAMC,cAAcsyC,GAAgB,MAAO1yB,SAAUkzB,EAActsC,QAAS6tC,EAAsBz7C,QAAS,OAAQ,aAAc,2BACjMmH,UAAMC,cAAc2yC,GAAmB,CAAE7wC,GAAI,cAAeqD,KAAMpF,EAAAA,QAAMC,cAAcuyC,GAAiB,MAAO3yB,SAAUozB,EAAexsC,QAASstC,EAAsBl7C,QAAS,OAAQ,aAAc,6BACzMmH,EAAAA,QAAMC,cAAcyyC,GAAkB,CAAEttC,KAAMpF,EAAAA,QAAMC,cAAcwyC,GAAgB,MAAO55C,QAAS,OAAQ4N,QAASmuC,EAAa,aAAc,YAAa,gBAAiBC,EAAkB,gBAAiBC,EAAkB,gBAAiBD,EAAmB,cAAWnvC,EAAWR,IAAK6vC,KAAc,ICPpT9/B,GAAYtd,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,iBAAkBC,YAAa,gBAAkB,wDAC7G8gB,GAAMnhB,EAAMC,QAACF,GAAeI,WAAW,CAAEC,YAAa,WAAYC,YAAa,eAAiB,mCAChG4iC,GAAkBjjC,EAAMC,QAAC0iC,IAAWxiC,WAAW,CAAEC,YAAa,uBAAwBC,YAAa,gBAAkB,mCACrH6iC,GAAeljC,EAAAA,QAAOoN,IAAQjN,WAAW,CAAEC,YAAa,oBAAqBC,YAAa,eAAiB,8BAA8BsG,EAAMxF,OAAOS,QAAQC,IAAIP,6BAA8B8G,GAAUA,EAAM6iB,UAClN,uBACgBtkB,EAAMxF,OAAOa,UAAUC,IAAIT,eCDzC8hC,GAAqBr6B,GAAMk6B,GAAuBl6B,EAAGo6B,IAC9Cia,GAAcvyB,IAAYzd,IACnC,IAAIzB,KAAEA,EAAOw2B,GAAc7gC,KAAIypB,SAAEA,EAAQnhB,UAAEA,GAAcwD,EAAIiY,EAAOxc,EAAOuE,EAAI,CAAC,OAAQ,WAAY,cACpG,OAAQjF,EAAKpI,QAACqI,cAAcgV,GAAW,CAAExT,UAAWA,GAChDzB,UAAMC,cAAc6Y,GAAK,KCZD,MDaLoE,ECbVg4B,YDaoBl1C,EAAKpI,QAACqI,cAAc85B,GAAY,KACrD/5B,EAAAA,QAAMC,cAAcq6B,GAAWl+B,OAAOC,OAAO,CAAEmH,KAAMA,EAAMsa,SAAUZ,EAAKi4B,iBAAkB39B,KAAM,OAAQjV,KAAM,SAAU3G,MAAOshB,EAAKk4B,KAAMxyB,SAAUA,EAAUsF,IAAK,IAAKuS,KAAM,MAAOlrB,UAAW0rB,IAAqB/d,IACvNld,UAAMC,cAAc8E,GAAQ,CAAE6d,SAAUA,EAAUpf,KAAMA,GAAQ,MCbhD,CAACzD,GACD,OAArBA,EAAMm1C,YAA4C,OAArBn1C,EAAMm1C,WDalCG,CAAiBn4B,IAAUld,EAAAA,QAAMC,cAAcD,EAAAA,QAAMuQ,SAAU,KAC3DvQ,UAAMC,cAAc85B,GAAY,KAC5B/5B,EAAAA,QAAMC,cAAcq6B,GAAWl+B,OAAOC,OAAO,CAAEmH,KAAMA,EAAMsa,SAAUZ,EAAKo4B,kBAAmB99B,KAAM,QAASjV,KAAM,SAAU3G,MAAOshB,EAAKq4B,MAAO3yB,SAAUA,EAAU6X,KAAM,MAAOvS,IAAK,IAAK3Y,UAAW0rB,IAAqB/d,IAC1Nld,UAAMC,cAAc8E,GAAQ,CAAE6d,SAAUA,EAAUpf,KAAMA,GAAQ,OACpExD,UAAMC,cAAc85B,GAAY,KAC5B/5B,EAAAA,QAAMC,cAAcq6B,GAAWl+B,OAAOC,OAAO,CAAEmH,KAAMA,EAAMsa,SAAUZ,EAAKs4B,kBAAmBh+B,KAAM,QAASjV,KAAM,SAAU3G,MAAOshB,EAAKu4B,MAAO7yB,SAAUA,EAAUsF,IAAK,IAAKuS,KAAM,MAAOlrB,UAAW0rB,IAAqB/d,IAC1Nld,EAAAA,QAAMC,cAAc8E,GAAQ,CAAE6d,SAAUA,EAAUpf,KAAMA,GAAQ,SAAY,IAEhGyxC,GAAYl9C,YAAc,cAC1Bk9C,GAAY5c,aAAe,CACvB6c,WAAY,wBEtBS,EAAGzzC,YAAW0D,WAAUzD,QAAOwpC,WAAUhsC,aAAapG,EAAOS,QAAQC,IAAIP,SAAUuc,UAAU,IAAKkgC,cAAaC,oBAAmB98C,UAAU,UAAW+8C,qBAAqB,WACjM,MAAOC,EAAYC,GAAiB7tC,EAAAA,WAAW0tC,GACzCI,EAAa,IAAMD,GAAeD,GAClCG,EAAuB,CACzBpmC,QAAS,CAAErE,QAAS,GACpBuE,KAAM,CAAEvE,QAAS,GACjBlD,QAAS,CAAEkD,QAAS,GACpBhD,WAAY,CAAE/F,KAAM,EAAGD,KAAM,QAASiG,SAAUgN,EAAU,MAE9D,MAAgB,aAAZ3c,EACQmH,EAAKpI,QAACqI,cAAcP,EAAkB,CAAEyP,OAAQwmC,EAAmBl0C,UAAWA,GAClFzB,EAAAA,QAAMC,cAAcJ,EAA0B,CAAE4G,QAASsvC,GACrD/1C,UAAMC,cAAcX,EAAK,KACrBU,EAAAA,QAAMC,cAAchB,EAAM,CAAEC,WAAYA,GACpCgsC,EACAlrC,EAAKpI,QAACqI,cAAcrB,EAAM,CAAE/F,QAAS+8C,GAAsBl0C,IAC/D1B,UAAMC,cAAcd,EAAO,KACvBa,EAAAA,QAAMC,cAAcR,EAAAA,OAAOZ,KAAM,CAAEwJ,QAAS,CACpC4tC,OAAQJ,EAAa,IAAM,IAE/B71C,UAAMC,cAAcH,EAAa,CAAE0X,KAAMq+B,EAAa,YAAc,iBAC9EH,GAAe11C,EAAKpI,QAACqI,cAAcV,EAAa,CAAE1G,QAAS,YAAc68C,IAC/EG,GAAe71C,EAAKpI,QAACqI,cAAcL,EAA0BxD,OAAOC,OAAO,CAAA,EAAI25C,GAAuB7wC,IAEtGnF,EAAKpI,QAACqI,cAAcP,EAAkB,CAAEyP,OAAQwmC,EAAmBl0C,UAAWA,GAClFzB,EAAAA,QAAMC,cAAcb,EAAkB,CAAEqH,QAASsvC,GAC7C/1C,UAAMC,cAAcX,EAAK,KACrBU,EAAAA,QAAMC,cAAchB,EAAM,CAAEC,WAAYA,GACpCgsC,EACAlrC,EAAKpI,QAACqI,cAAcrB,EAAM,CAAE/F,QAAS+8C,GAAsBl0C,IAC/D1B,UAAMC,cAAcd,EAAO,KACvBa,EAAAA,QAAMC,cAAcR,EAAAA,OAAOZ,KAAM,CAAEwJ,QAAS,CACpC4tC,OAAQJ,EAAa,IAAM,IAE/B71C,UAAMC,cAAcH,EAAa,CAAE0X,KAAMq+B,EAAa,YAAc,iBAC9EH,GAAe11C,EAAKpI,QAACqI,cAAcV,EAAa,CAAE1G,QAAS,YAAc68C,IAC/EG,GAAc71C,EAAKpI,QAACqI,cAAcT,EAAkBpD,OAAOC,OAAO,CAAA,EAAI25C,GAAuB7wC,GAAY,sCC/B3FF,IAClB,IAAIzB,KAAEA,EAAO,OAAM3K,QAAEA,EAAU,UAAWub,QAAS8hC,EAAaC,aAAEA,EAAYlwC,MAAEA,EAAKmwC,UAAEA,EAASC,QAAEA,EAAOlxC,SAAEA,EAAQ+lC,SAAEA,EAAQ1kC,aAAEA,GAAiBvB,EAAIqxC,EAAW51C,EAAOuE,EAAI,CAAC,OAAQ,UAAW,UAAW,eAAgB,QAAS,YAAa,UAAW,WAAY,WAAY,iBAClR,MAAMmP,EAAU8hC,QAAqDA,EAAgBphC,GAAUjc,GACzF09C,EAAWrL,GAAYv2B,GAAQ9b,GAC/B29C,EAAoB,OAAThzC,EACjB,OAAQxD,EAAAA,QAAMC,cAAckU,GAAgB/X,OAAOC,OAAO,CAAE+X,QAASA,EAASX,UAAW,aAAcC,OAAQ,UAAWE,QAAS,KAAO0iC,GACtIt2C,UAAMC,cAAcuT,GAAO,CAAEC,UAAW,aAAcE,OAAQ6iC,EAAW,SAAW,QAAS7uC,MAAO,CAAE+V,OAAQjJ,GAAWjR,GAAO6hB,IAAK5Q,GAAWjR,IAASoQ,QAAS,GAC9J5T,EAAKpI,QAACqI,cAAcs2C,EAAU,CAAE,eAAe,EAAM5uC,MAAO,CACpD0H,SAAUqF,GAAYlR,GACtBizC,UAAW/hC,GAAYlR,GACvBhC,MAAOkT,GAAYlR,GACnBlD,OAAQoU,GAAYlR,IACrB3G,MAAOuX,EAAQ1P,UACtB1E,UAAMC,cAAcuT,GAAO,CAAEC,UAAW,WAAYG,QAAS4iC,EAAW,EAAI,MACxEJ,GAAcp2C,EAAKpI,QAACqI,cAAcrB,EAAM,CAAE/F,QAAS29C,EAAW,gBAAkB,WAAY7uC,MAAgB,SAATnE,EAAkB,CAAE5G,WAAY,QAAW,CAAE,GAAIqJ,GACpJd,GAAYnF,EAAKpI,QAACqI,cAAcrB,EAAM,CAAE/F,QAAS29C,EAAW,YAAc,QAAUH,KAC5Fr2C,EAAAA,QAAMC,cAAcuT,GAAO,CAAEC,UAAW,aAAcC,OAAQ,MAAOE,QAAS,EAAGjM,MAAO,CAChF+V,OAAQ84B,OAAW9wC,EAAYpH,EAAM5C,MAAM,GAC3C2pB,IAAKmxB,OAAW9wC,EAAY+O,GAAWjR,GACvCqQ,WAAY,WAEhBsiC,GAAiBn2C,EAAKpI,QAACqI,cAAcuT,GAAO,CAAEG,OAAQ,SAAUC,QAAS,EAAGjM,MAAO,CAAE0d,IAAK5Q,GAAWjR,KAAW2yC,EAAa9iC,KAAKpO,IAC9H,IAAIvD,MAAEA,GAAUuD,EAAIyxC,EAAch2C,EAAOuE,EAAI,CAAC,UAC9C,OAAQjF,EAAAA,QAAMC,cAAc8E,GAAQ3I,OAAOC,OAAO,CAAE2Q,IAAKtL,EAAOa,KAAM,SAAUiB,KAAM,MAAQkzC,GAAch1C,EAAQ,KAExH8E,GAAiBxG,EAAAA,QAAMC,cAAcuT,GAAO,CAAEG,OAAQ6iC,EAAW,SAAW,QAAS7uC,MAAO,CAAErH,OAAQ,OAAQ2S,QAASujC,EAAWl4C,EAAM5C,MAAMO,QAAKyJ,IAC/I1F,UAAMC,cAAc8E,GAAQ,CAAElM,QAAS,OAAQuM,KAAMpF,UAAMC,cAAc8F,GAAW,MAAOU,QAASD,EAAc,aAAc,QAAShD,KAAM,SAAa,iBChCrJyB,IACnB,IAAIE,SAAEA,EAAQ0U,KAAEA,EAAI88B,IAAEA,EAAG/qC,iBAAEA,EAAmBH,IAA4BxG,EAAIlF,EAAQW,EAAOuE,EAAI,CAAC,WAAY,OAAQ,MAAO,qBAE7H,MAAM2xC,EAAalrC,GAAemO,EAAMjO,GAElCirC,EAAqBF,IAAQC,EAAa,2BAAwBlxC,GACxE,OAAQ1F,EAAKpI,QAACqI,cAAc8U,GAAc3Y,OAAOC,OAAO,CAAEwd,KAAMA,EAAM88B,IAAKE,GAAsB92C,GAAQoF,EAAW,6CCNlG,EAAG3D,QAAQ,OAAQgW,OAAO,QAASnB,UAAU/X,EAAMxF,OAAOa,UAAUX,KAAKG,KAAMid,YAAY,cAC7G,MAAM0gC,EAAet/B,EAAKu/B,cAAcC,MAAM,WAC9C,OAAQh3C,EAAKpI,QAACqI,cAAckW,GAAU,CAAE3U,MAAOA,EAAO6U,QAASA,EAASD,UAAWA,EAAW3U,UAAW,UAAYq1C,aAAmD,EAASA,EAAal7B,MAAM,EAAG,GAAGvI,KAAI,CAACzD,EAASjU,IAAMqE,EAAKpI,QAACqI,cAAc,OAAQ,CAAE+M,IAAK,GAAG4C,KAAWjU,KAAOiU,KAAY,gBlMGjR,EAAG/W,UAAU,UAAW6f,cAAa,EAAOwyB,WAAUxsC,UAAS+C,YAAW61B,eAAcnyB,eACzG,MAAM8xC,EAAexyC,GAAW5L,GAChC,OAAQmH,EAAKpI,QAACqI,cAAc8X,GAAS,CAAEvb,KAAMkC,GACzCsB,EAAAA,QAAMC,cAAcg3C,EAAc,CAAEx1C,UAAW8I,GAAgB,CAAC9I,EAAW61B,IAAgB5e,WAAYA,GACnGwyB,GAAYA,EACZ/lC,GAAYnF,EAAKpI,QAACqI,cAAc,OAAQ,KAAMkF,IAAa,iBEEhDF,IACnB,IAAI1C,KAAEA,EAAO,OAAM/F,KAAEA,EAAI4I,KAAEA,EAAI0C,QAAEA,EAAOrG,UAAEA,EAASmE,OAAEA,EAAMT,SAAEA,EAAQ0T,gBAAEA,EAAkB,SAAY5T,EAAIlF,EAAQW,EAAOuE,EAAI,CAAC,OAAQ,OAAQ,OAAQ,UAAW,YAAa,SAAU,WAAY,oBACnM,MAAM2T,EAAcQ,GAAa7W,GACjC,OAAQvC,EAAKpI,QAACqI,cAAci3C,GAAM96C,OAAOC,OAAO,CAAEuc,YAAaA,EAAanX,UAAWA,EAAWoX,gBAAiBA,GAAmB9Y,GAClIC,UAAMC,cAAc6Y,GAAK,KACrB1T,GAASpF,EAAAA,QAAMC,cAAc+Y,GAAS,CAAErR,MAAO,CAAEwvC,YAAaz7C,EAAMT,IAAM2d,YAAaA,GAAexT,GACtGD,EAAYnF,EAAKpI,QAACqI,cAAcgZ,GAAgB,KAAM9T,GAAcnF,UAAMC,cAAcD,EAAKpI,QAAC2Y,SAAU,KACpGvQ,EAAAA,QAAMC,cAAciZ,GAAW,KAAMtT,GAAU5F,EAAKpI,QAACqI,cAAcrB,GAAM,CAAE/F,QAAS,gBAAkB2D,IACtGwD,EAAAA,QAAMC,cAAc8Y,GAAK,KAAMjR,GAAY9H,UAAMC,cAAc8E,GAAQ,CAAElM,QAAS,OAAQ,aAAc,QAASuM,KAAMpF,EAAKpI,QAACqI,cAAc8F,GAAW,MAAOU,QAASqB,OAAkB,8CIhB7K,EAAGsvC,QAAOC,YAAYr3C,EAAKpI,QAACqI,cAAc6Z,GAAkB,MAAOF,gBAAgBG,MAAoB/Z,UAAMC,cAAcqZ,GAAe,CAAE7X,UAAW,eAAiB21C,EAAM/jC,KAAI,CAACoY,EAAM9vB,IAAOqE,EAAKpI,QAACqI,cAAc0Z,GAAY,CAAE3M,IAAKye,EAAKxlB,MAAOA,MAAOwlB,EAAKxlB,MAAO4T,KAAM4R,EAAK6rB,SAAU19B,cAAeje,IAAMy7C,EAAMh2C,OAAS,EAAIwY,EAAgBI,IAAkBo9B,EAAMh2C,SAAWzF,EAAI,GAAK07C,kJ4BS3X,EAAG51C,YAAWjF,OAAM+6C,aAC/C,MAAOC,EAAQC,GAAaz3C,EAAAA,QAAMiI,UAAS,GACrCyvC,EAAa9mC,EAAAA,aAAY,KAC3BgW,UAAU+wB,UAAUC,UAAUp7C,GAC1B+6C,GACAA,IACJE,GAAU,GACV7qC,YAAW,IAAM6qC,GAAU,IAAQ,KAAK,GACzC,CAACF,EAAQ/6C,IACZ,OAAQwD,EAAAA,QAAMC,cAAc8X,GAAS,CAAEvb,KAAMg7C,EAAS,UAAY,qBAC9Dx3C,EAAAA,QAAMC,cAAcoiB,GAAU,CAAExpB,QAAS,OAAQ2K,KAAM,KAAM/B,UAAWA,EAAW,aAAc,GAAG+1C,EAAS,SAAW,WAAWh7C,kBAAsB4I,KAAMoyC,EAAUx3C,EAAKpI,QAACqI,cAAcuU,GAAapY,OAAOC,OAAO,CAAEQ,MAAO/D,EAAOa,UAAUG,MAAMX,MAAQipB,KAAgBpiB,EAAKpI,QAACqI,cAAckiB,GAAe/lB,OAAOC,OAAO,CAAEQ,MAAO/D,EAAOa,UAAUX,KAAKG,MAAQipB,KAAc3b,QAASixC,IAAgB,0JiKdvXzyC,IAC5B,IAAIxD,UAEJA,EAASkG,MAAEA,EAAK4b,WAAEA,EAAUs0B,gBAE5BA,GAAkB,EAAIC,QAAEA,EAAOl6B,eAE/BA,EAAcm6B,eAAEA,EAAcC,kBAAEA,EAAiBxwB,cAAEA,EAAaywB,iBAAEA,EAElE,mBAAoBv0B,EAAiB,aAAc5C,GAAc7b,EAAIizC,EAAsBx3C,EAAOuE,EAAI,CAAC,YAAa,QAAS,aAAc,kBAAmB,UAAW,iBAAkB,iBAAkB,oBAAqB,gBAAiB,mBAAoB,mBAAoB,eAC3R,MAIMkzC,EAAoBvnC,EAAWA,aAAE6M,GAAU7hB,IAC7C,MAAMw8C,EAAW,CACbh6B,MAAgB,UAATX,EAAmB7hB,EAAQ4rB,aAAqD,EAASA,EAAcpJ,MAC9G0H,IAAc,QAATrI,EAAiB7hB,EAAQ4rB,aAAqD,EAASA,EAAc1B,KAE9GmyB,EAAiBG,EAAS,GAC3B,CAAC5wB,aAAqD,EAASA,EAAc1B,IAAK0B,aAAqD,EAASA,EAAcpJ,MAAO65B,IAClKI,EAAqB9pC,EAAAA,SAAQ,IAAMgZ,GAAwB,CAAE3J,iBAAgB4J,mBAAkB,CAAC5J,EAAgB4J,IAEhH8wB,EAAgB/pC,EAAAA,SAAQ,IACrBiZ,ErJoDyB,CAACA,GAAkBL,GAAmB2B,QAAO,CAACkuB,EAAO/0B,KACvF,GAAIA,EAAOsC,QAAUyyB,EACjB,OAAOA,EACX,MAAMuB,EAAkB7yB,GAAazD,EAAOrmB,OAC5C,IAAK28C,EACD,OAAOvB,EACX,MAAQ54B,MAAOo6B,EAAa1yB,IAAK2yB,GAAcF,EAC/C,OAAiD,IAA7C/wB,EAAcpJ,MAAMpC,QAAQw8B,IACa,IAAzChxB,EAAc1B,IAAI9J,QAAQy8B,GACnBx2B,EAEJ+0B,CAAK,QACbtxC,GqJ9DYgzC,CAAuBlxB,GADnB,MAEZ,CAACA,IAOJ,OANA/a,EAAAA,WAAU,KAEFurC,EADAM,GAGkBnxB,GAAmB,GAAG,GAC7C,CAACmxB,EAAeN,IACXh4C,UAAMC,cAAcuT,GAAO,CAAEC,UAAW,WAAYC,OAAQ,UAAWE,QAAS,IAAKjM,MAAOvL,OAAOC,OAAO,CAAEgpB,IAAK/mB,EAAM5C,MAAMvC,MAAQwO,GAAQlG,UAAWA,EAAW,mBAAoBiiB,EAAiB,aAAc5C,GAC1N+2B,GAAoB73C,EAAKpI,QAACqI,cAAcqkB,GAAQ,CAAEzE,SAAU0D,EAAY7hB,MAAO,aAAc+V,QAAS0P,GAAoBvrB,MAAOm8C,aAAuD,EAASA,EAAen8C,MAAOkiB,SAzBhMiE,IACvBk2B,EAAiBvyB,GAAaD,QAAAA,WAAW1D,KACzCi2B,EAAkB7wB,GAAmB3B,MAAK,EAAG5pB,WAAYA,IAAUmmB,KAAkBoF,GAAmB,GAAG,IAwB3GnnB,EAAAA,QAAMC,cAAc+iB,GAAgB,CAAES,cAAc,EAAMF,WAAYA,EAAY7hB,MAAO,wBAAyBkiB,kBAAmBu0B,EAAkB,SAAUt0B,gBAAiBs0B,EAAkB,OAAQ90B,WAAYmE,GAAiBA,EAAcpJ,MAAOkF,SAAUkE,GAAiBA,EAAc1B,IAAK3nB,MAAOk6C,EAAqB,oCAAiC3yC,IACzWwyC,EAAoBS,oBAAsB34C,EAAKpI,QAACqI,cAAc8kB,GAAuB3oB,OAAOC,OAAO,GAAI67C,IACvGl4C,UAAMC,cAAc6nB,GAAS,MAC7B9nB,EAAAA,QAAMC,cAAcuT,GAAO,CAAEE,OAAQ,UACjC1T,EAAKpI,QAACqI,cAAcqa,GAAe,CAAE,aAAc,sBAAuBiJ,WAAYA,EAAY3nB,MAAO4rB,EAAe1J,SAAUm6B,EAAkBr6B,eAAgBA,OACtKk6B,GAAY93C,EAAKpI,QAACqI,cAAcD,EAAKpI,QAAC2Y,SAAU,KAC9CvQ,UAAMC,cAAc6nB,GAAS,MAC7B9nB,EAAKpI,QAACqI,cAAcyH,GAAKZ,OAAQ,CAAEa,MAAO,CAAEyd,QAAS,OAAQtR,eAAgB,MAAOb,QAAS,EAAGyK,OAAQ,IACpG1d,EAAKpI,QAACqI,cAAc8E,GAAQ,CAAElM,QAAS,UAAW2K,KAAM,KAAMiD,QAASqxC,EAASj4B,SAAU0D,GAAc,WAAc,0BpGhDvG,EAAG6zB,QAAOwB,iBACrC,MAAMC,EAAqBnD,GACnB76B,MAAMi+B,QAAQpD,GACPA,EAAYriC,KAAK5S,GAAMT,EAAAA,QAAMC,cAAcV,GAAa,CAAEyN,IAAKvM,GAAKA,KAExET,EAAKpI,QAACqI,cAAcV,GAAa,KAAMm2C,GAYlD,OAAO11C,EAAKpI,QAACqI,cAAco5B,GAAM,KAAM+d,EAAM/jC,KAVzBoY,GACZmtB,EACQ54C,EAAAA,QAAMC,cAAcs5B,GAAS,CAAEvsB,IAAKye,EAAKstB,MAC7C/4C,EAAAA,QAAMC,cAAcw5B,GAAM,KAAMhO,EAAKstB,MACrC/4C,UAAMC,cAAcu5B,GAAsB,KAAMqf,EAAkBptB,EAAKiqB,eAEvE11C,EAAAA,QAAMC,cAAcsT,GAAM,CAAEvG,IAAKye,EAAKstB,MAC1C/4C,EAAAA,QAAMC,cAAcw5B,GAAM,KAAMhO,EAAKstB,MACrCF,EAAkBptB,EAAKiqB,gBAE8B,qBqGxBvC,EAAG9lB,eAAczqB,eACvC,MAAO6zC,EAAmBC,GAAwBhxC,EAAQA,UAAC,GAE3D,OAAQjI,EAAKpI,QAACqI,cAAc,OAAQ,KAChC2vB,GAFkB,IAAMqpB,GAAsBD,IAElBA,GAC5Bh5C,UAAMC,cAAc65B,GAAkB,KAClC95B,UAAMC,cAAc25B,GAAY,CAAEC,YAAamf,GAAqB7zC,IAAa,mEzFGpE,EAAG1D,YAAW61B,eAAc51B,QAAOlF,OAAM0uC,WAAU/qC,OAAOrH,EAAOa,UAAUX,KAAKG,KAAM+d,UAASnQ,SAAQnB,SAAQ2P,cAAa9O,UAASyyC,0BAAyB,MACnL,MAAMjjC,EAAa0lB,GAAmBl6B,GAChCi2B,EAAgBiE,GAAmBrE,IAClC/qB,EAAe4sC,GAAoBlxC,EAAQA,SAAC,OAC5CqE,EAAe4B,GAAoBjG,EAAQA,SAAC,OAC7CgJ,mBAAEA,EAAkBE,yBAAEA,EAAwBC,cAAEA,GAAkBJ,GAAY,CAChFzE,mBAEEe,cAAEA,GAAkBjB,GAAe,CACrCC,gBACAC,gBACAzE,QAASsJ,IAEPgoC,EAAcxoC,eAAa7D,IACzBkE,EACAG,IAEAD,IACAoE,GAAetE,GACfsE,EAAYxI,EAAM,GACvB,CAACkE,EAAoBG,EAAeD,EAA0BoE,IAC3DM,EAAkBjF,eAAa7D,IAE7BwI,GACAA,EAAYxI,EAAOqE,GAEnB8nC,GACA9nC,GAAe,GACpB,CAACmE,EAAanE,EAAe8nC,IAEhC,OAD0BhiC,EAEdlX,UAAMC,cAAcgV,GAAW,CAAExT,UAAW8I,GAAgB,CAAC0L,aAA+C,EAASA,EAAWmC,UAAWsf,aAAqD,EAASA,EAActf,YAAa3R,QAASA,GACjP/E,GAAS1B,EAAKpI,QAACqI,cAAcs7B,GAAY,CAAE1iC,QAAS,uBAAyB,GAAG6I,MAChF1B,EAAAA,QAAMC,cAAcrB,EAAM,KAAMpC,GAChCwD,EAAKpI,QAACqI,cAAc8F,GAAW,CAAEtE,UAAW8I,GAAgB,CAAC0L,aAA+C,EAASA,EAAW4lB,MAAOnE,aAAqD,EAASA,EAAcmE,QAASrkB,KAAM,QAAShU,KAAM,OAAQ3G,MAAO/D,EAAOS,QAAQC,IAAIL,QAEnR6G,UAAMC,cAAc8P,GAAU,CAAEtO,UAAWwU,EAAW2lB,kBAAmB3qB,mBAAoBA,EAAoBsE,YAAaM,EAAiBP,IAAKtV,EAAAA,QAAMC,cAAcgV,GAAW,CAAExT,UAAWwU,EAAWmC,UAAW3R,QAAS2yC,EAAal0C,IAAKi0C,GACjPz3C,GAAS1B,EAAKpI,QAACqI,cAAcs7B,GAAY,CAAE1iC,QAAS,uBAAyB,GAAG6I,MAChF1B,EAAAA,QAAMC,cAAcrB,EAAM,KAAMpC,GAChCwD,EAAAA,QAAMC,cAAcu7B,GAAU,CAAE3+B,MAAO/D,EAAOS,QAAQC,IAAIL,KAAMqe,KAAM,YAAaikB,YAAexqB,MACtGjR,EAAKpI,QAACqI,cAAc+yB,GAAS,CAAE9tB,IAAKgJ,EAAkBqB,UAAWjC,GAC7DtN,EAAAA,QAAMC,cAAc0F,GAAQ,CAAE9I,MAAOsD,GAAQyF,GAAW5F,UAAMC,cAAcD,EAAKpI,QAAC2Y,SAAU,KACxF26B,EACAlrC,UAAMC,cAAcrB,EAAM,CAAE/F,QAAS,YAAc6I,KACvDwV,EACAnQ,GAAU,8BxIlDf,UAA6B5B,SAAEA,IAClC,MAAOoM,EAAkB8nC,GAAuBpxC,EAAQA,UAAC,GAkGzD,OAjGAwE,EAAAA,WAAU,KACN,SAAS6sC,IACLD,GAAoB,EACvB,CASD,SAASE,EAAqB34C,GAGtBA,EAAEmQ,OAAOyoC,UAAgD,SAApC54C,EAAEmQ,OAAOyoC,SAASttC,gBAG3CmtC,GAAoB,GAEpBI,IACH,CAOD,SAASC,IACLhwC,SAAS0D,iBAAiB,YAAamsC,GACvC7vC,SAAS0D,iBAAiB,YAAamsC,GACvC7vC,SAAS0D,iBAAiB,UAAWmsC,GACrC7vC,SAAS0D,iBAAiB,cAAemsC,GACzC7vC,SAAS0D,iBAAiB,cAAemsC,GACzC7vC,SAAS0D,iBAAiB,YAAamsC,GACvC7vC,SAAS0D,iBAAiB,YAAamsC,GACvC7vC,SAAS0D,iBAAiB,aAAcmsC,GACxC7vC,SAAS0D,iBAAiB,WAAYmsC,EACzC,CACD,SAASE,IACL/vC,SAAS2D,oBAAoB,YAAaksC,GAC1C7vC,SAAS2D,oBAAoB,YAAaksC,GAC1C7vC,SAAS2D,oBAAoB,UAAWksC,GACxC7vC,SAAS2D,oBAAoB,cAAeksC,GAC5C7vC,SAAS2D,oBAAoB,cAAeksC,GAC5C7vC,SAAS2D,oBAAoB,YAAaksC,GAC1C7vC,SAAS2D,oBAAoB,YAAaksC,GAC1C7vC,SAAS2D,oBAAoB,aAAcksC,GAC3C7vC,SAAS2D,oBAAoB,WAAYksC,EAC5C,CASD,SAAShqC,EAAU3O,GACXA,EAAE+4C,SAAW/4C,EAAEg5C,QAAUh5C,EAAEi5C,SAG/BR,GAAoB,EACvB,CAMD,SAASS,IAC4B,WAA7BpwC,SAASqwC,kBAKTV,GAAoB,GACpBK,IAEP,CAUD,OANAhwC,SAAS0D,iBAAiB,UAAWmC,GAAW,GAChD7F,SAAS0D,iBAAiB,YAAaksC,GAAe,GACtD5vC,SAAS0D,iBAAiB,cAAeksC,GAAe,GACxD5vC,SAAS0D,iBAAiB,aAAcksC,GAAe,GACvD5vC,SAAS0D,iBAAiB,mBAAoB0sC,GAAoB,GAClEJ,IACO,KACHhwC,SAAS2D,oBAAoB,UAAWkC,GAAW,GACnD7F,SAAS2D,oBAAoB,YAAaisC,GAAe,GACzD5vC,SAAS2D,oBAAoB,cAAeisC,GAAe,GAC3D5vC,SAAS2D,oBAAoB,aAAcisC,GAAe,GAC1D5vC,SAAS2D,oBAAoB,mBAAoBysC,GAAoB,GACrEL,GAAmC,CACtC,GACF,CAACJ,IAGJr5C,EAAAA,QAAMC,cAAcoR,GAAoB2oC,SAAU,CAAEp+C,MAAO,CAAE2V,mBAAkBC,eAAe,IAAUrM,EAC5G,gCkOrGqB,EAAG80C,MAAKhR,MAAM,GAAIxnC,YAAW61B,eAAc91B,QAAOlB,SAAQ45C,eAAcC,gBAAeC,mBAAmB,QAASne,kBAAiB,EAAOl+B,cAAas8C,mBAAkBC,oBAAmBC,sBAAqB,MACnO,MAAMtkC,EAAa0lB,GAAmBl6B,GAChCi2B,EAAgBiE,GAAmBrE,IAClCkjB,EAAeC,GAAoBxyC,EAAQA,UAAC,IAC5CyyC,EAAYC,GAAiB1yC,EAAQA,SAAC,CAAE2yC,UAAU,EAAO5Z,SAAS,KAClE6Z,EAAkBC,GAAuB96C,EAAAA,QAAMiI,SAAS,OACxDqE,EAAe4B,GAAoBlO,EAAAA,QAAMiI,SAAS,OACnDkG,OAAEA,EAAMC,WAAEA,GAAeE,EAAAA,UAAUusC,EAAkBvuC,EAAe,CACtEuB,UAAWusC,EACX7iC,UAAW,CACP,CACIC,KAAM,SACNC,QAAS,CACLvV,OAAQ,CAAC,EAAG,SAKtB64C,EAAmBnqC,EAAAA,aAAY,IAAOqrB,EAAiBwe,GAAiB,GAAQ,IAAK,CAACxe,IACtF+e,EAAoBpqC,EAAAA,aAAY,IAAOqrB,EAAiBwe,GAAiB,GAAS,IAAK,CAACxe,IAGxFgf,GAAiBP,EAAWE,UAAYF,EAAW1Z,QACzD,OAAQhhC,UAAMC,cAAcgV,GAAW,CAAExT,UAAW8I,GAAgB,CAAC0L,aAA+C,EAASA,EAAWmC,UAAWsf,aAAqD,EAASA,EAActf,UAAW3W,KACtOzB,EAAAA,QAAMC,cAAc87B,GAAa,CAAEke,IAAKA,EAAKhR,IAAKA,EAAKxnC,UAAW8I,GAAgB,CAAC0L,aAA+C,EAASA,EAAWmmB,MAAO1E,aAAqD,EAASA,EAAc0E,QAAS56B,MAAOA,EAAOlB,OAAQA,EAAQ46C,OAJrQ,IAAMP,EAAc,CAAEC,UAAU,EAAM5Z,SAAS,IAIsOma,QAHpR,IAAMR,EAAc,CAAEC,UAAU,EAAM5Z,SAAS,IAGuP/E,eAAgBA,EAAgBvmB,aAAcqlC,EAAkBplC,aAAcqlC,EAAmBrzC,MAAOszC,EAAgB,CAAE71B,QAAS,QAAW,CAAA,EAAIlgB,IAAK41C,KACxcP,GACGU,IACCl9C,GAAgBiC,EAAKpI,QAACqI,cAAc67B,GAAkB,CAAEr6B,UAAW8I,GAAgB,CAAC0L,aAA+C,EAASA,EAAWlY,YAAa25B,aAAqD,EAASA,EAAc35B,cAAeyD,MAAO64C,GAAoB74C,EAAOlB,OAAQg6C,GAAqBh6C,KACnUk6C,GACItwC,EAAYA,aAAClK,EAAKpI,QAACqI,cAAci8B,GAAuB9/B,OAAOC,OAAO,CAAE6I,IAAKgJ,EAAkBvG,MAAOwG,EAAOiB,QAAUhB,EAAWgB,OAAQ,CAAE3N,UAAW8I,GAAgB,CAC/J0L,aAA+C,EAASA,EAAWomB,sBACnE3E,aAAqD,EAASA,EAAc2E,0BAEhFr8B,EAAKpI,QAACqI,cAAck8B,GAAc,CAAE8d,IAAKA,EAAKhR,IAAK,GAAIznC,MAAO04C,EAAc55C,OAAQ65C,KAAmBzwC,SAASrM,MAAQ,kGnE/BlG0C,IAClC,MAAOq8B,EAAOgf,GAAYnzC,EAAQA,SAAC08B,IAOnC,OAAQ3kC,EAAKpI,QAACqI,cAAcykC,GAAatoC,OAAOC,OAAO,CAAEs1B,YANjC,KACpBypB,EATiB,yFASS,EAKyDC,UAHjE,KAClBD,EAASzW,GAAU,EAE0F,aAAcC,IAAqB7kC,GAChJC,UAAMC,cAAc,MAAO,CAAEg6C,IAAK7d,EAAO6M,IAAKrE,KAAuB,gBoENvD7kC,IAClB,MAAMiQ,WAAEA,EAAUsrC,sBAAEA,GAAwB,EAAItW,UAAEA,GAAY,EAAKnsC,QAAEA,EAAU,OAAQiP,QAASyzC,EAAap2C,SAAEA,GAAcpF,EACvHy7C,EAAWlrC,SAAO,OACjBmrC,EAAgBC,GAAqBzzC,EAAQA,SAAC,MACrDwE,EAAAA,WAAU,KACN,IAAIxH,EAAIonB,EACJrc,IAC4B,QAA3B/K,EAAKu2C,EAAShrC,eAA4B,IAAPvL,GAAyBA,EAAG02C,gBAAgB,QACpD,QAA3BtvB,EAAKmvB,EAAShrC,eAA4B,IAAP6b,GAAyBA,EAAGuvB,YACnE,GACF,CAAC5rC,IACJ,MAAQ8B,cAAe+pC,EAAoBxpC,SAAEA,GAAaR,GAAiB4pC,GACrE3zC,EAAU,KACZ,IAAI7C,EACwB,QAA3BA,EAAKu2C,EAAShrC,eAA4B,IAAPvL,GAAyBA,EAAG62C,QAChEP,GAAe,EAEnB,OAAQv7C,UAAMC,cAAc0P,EAAeA,gBAAE,KAAMK,GAAehQ,EAAKpI,QAACqI,cAAc,MAAO,CAAE,cAAe,kBAC1GD,UAAMC,cAAc4kC,GAAmB,MACvC7kC,EAAAA,QAAMC,cAAcwlC,GAAQ,CAAEvgC,IAAKs2C,EAAU1zC,QAASA,EAASjP,QAASA,EAAS,mBAAoB,eACjGmH,EAAAA,QAAMC,cAAcyH,GAAKN,QAAS,KlE7BjB,CAACrH,KACjBA,EAAMg8C,WkE6BHC,CAAcj8C,GAAUA,EAAgB,WAAKC,EAAKpI,QAACqI,cAAc+F,GAAY5J,OAAOC,OAAO,CAAE0F,GAAI,cAAeoE,cAAe,eAAgBF,MAAOlG,EAAMk8C,YAAa/1C,SAAUnG,EAAMm8C,gBAAmBZ,GAAyB,CAAE90C,aAAcsB,KACrP9H,EAAAA,QAAMC,cAAc8kC,GAAa,CAAE1yB,SAAUA,EAAUnN,IAAKw2C,EAAmBzW,aAAc4W,EAAsB7W,UAAWA,GAAa7/B,GAC3I+/B,GAAcnlC,IAAUA,EAAMolC,YAC7BD,GAAcnlC,KAAWA,EAAMo8C,aAAep8C,EAAMo2C,eAAkBn2C,EAAAA,QAAMC,cAAcyH,GAAKZ,OAAQ,KACpG9G,EAAAA,QAAMC,cAAcuT,GAAO,CAAEC,UAAW,aAAcC,OAAQ3T,EAAMo8C,YAAc,UAAY,OAC1Fp8C,EAAMo8C,aAAgBn8C,UAAMC,cAAcuT,GAAO,CAAEC,UAAW,aAAcC,OAAQ,QAAS,cAAe,0BAA4B3T,EAAMo8C,YAAY9oC,KAAKpO,IAC3J,IAAIvD,MAAEA,GAAUuD,EAAIyxC,EAAch2C,EAAOuE,EAAI,CAAC,UAC9C,OAAQjF,EAAKpI,QAACqI,cAAc8E,GAAQ3I,OAAOC,OAAO,CAAE2Q,IAAKtL,EAAOa,KAAM,UAAYm0C,GAAch1C,EAAQ,KAE5G3B,EAAMo2C,cAAiBn2C,UAAMC,cAAcuT,GAAO,CAAEC,UAAW,aAAcC,OAAQ,MAAO,cAAe,2BAA6B3T,EAAMo2C,aAAa9iC,KAAKpO,IAC5J,IAAIvD,MAAEA,GAAUuD,EAAIyxC,EAAch2C,EAAOuE,EAAI,CAAC,UAC9C,OAAQjF,EAAKpI,QAACqI,cAAc8E,GAAQ3I,OAAOC,OAAO,CAAE2Q,IAAKtL,EAAOa,KAAM,UAAYm0C,GAAch1C,EAAQ,UAC9F,qBCnCZ,EAAG06C,SAAQ9kB,eAAcyO,cAAaC,kBAAiBC,uBAC7E,MAAMC,eAAEA,EAAcI,gBAAEA,EAAeC,gBAAEA,EAAeI,iBAAEA,EAAgBH,kBAAEA,EAAiBH,aAAEA,GAAkBP,GAAc,CAC3HC,cACAC,kBACAC,qBAgBJ,OAAQjmC,EAAKpI,QAACqI,cAAcuT,GAAO,CAAEC,UAAW,aAAcE,OAAQ,SAAUC,QAAS,KAAM,cAAewoC,EAAQ36C,UAAW61B,GAC7Ht3B,EAAKpI,QAACqI,cAAc0lC,GAAkB,CAAEl/B,QAZrB,KACC,IAAhBs/B,GACAE,EAAiB,EAAE,EAU0C7gC,KAAMpF,EAAKpI,QAACqI,cAAc2mC,GAAgB,MAAOpjC,KAAM,KAAM,aAAc,qBAC5IxD,UAAMC,cAAc0lC,GAAkB,CAAEl/B,QAAS8/B,EAAiBnhC,KAAMpF,EAAKpI,QAACqI,cAAc0c,GAAe,MAAOnZ,KAAM,KAAM,aAAc,sBAAuB,gBAAiBuiC,GAAe,IACnM/lC,EAAAA,QAAMC,cAAc,OAAQ,CAAEo8C,SAAU1V,GACpC3mC,EAAAA,QAAMC,cAAc2lC,GAAW,CAAE,YAAa,SAAU,aAAc,QAAQG,QAAkBC,IAAmBxiC,KAAMw2B,GAAch/B,GAAIuH,KAAM,SAAU3G,MAAOsqC,EAAgBhe,IAAK,IAAKC,IAAK,GAAG6d,IAAmBloB,SAAU0oB,EAAmBoB,OAAQvB,KAChQrmC,EAAAA,QAAMC,cAAc4lC,GAAW,CAAEpqC,MAAOuqC,IACxChmC,UAAMC,cAAc0lC,GAAkB,CAAEl/B,QAAS6/B,EAAiBlhC,KAAMpF,EAAKpI,QAACqI,cAAcyZ,GAAgB,MAAOlW,KAAM,KAAM,aAAc,kBAAmB,gBAAiBuiC,GAAeC,IAChMhmC,UAAMC,cAAc0lC,GAAkB,CAAEl/B,QAXpB,KAChBs/B,IAAgBC,GAChBC,EAAiBD,EAAgB,EAS6B5gC,KAAMpF,UAAMC,cAAc4mC,GAAc,MAAOrjC,KAAM,KAAM,aAAc,kBAAmB,gBAAiBuiC,GAAeC,IAAqB,iJtDpB3L,EAAG7gC,cACxBnF,EAAKpI,QAACqI,cAAc+nC,GAAyB,KAAM7iC,kBuDXxC,EAAG5C,OAAO,OAAQsd,YAAW,EAAOy8B,eAAcx+B,WAAU8pB,SAAQ2U,UAASC,UAASjtC,YAAWktC,aAAY7gD,QAAQ,GAAIuC,QAAOJ,cAAc,GAAI0D,YAAY,GAAI+V,OAAMmnB,aAAY,EAAOx+B,OAAMsP,YAAW,EAAOitC,eAAe,KAAMl5C,OAAO,WACjQ,MAAMm5C,EAAkB/gD,GAASA,EAAMwF,OAAS,EAYhD,OAAQpB,EAAKpI,QAACqI,cAAcgV,GAAW,CAAExT,UAAWA,EAAWymC,aAAcz4B,EAAW,OAAS,SAC7FzP,EAAKpI,QAACqI,cAAcwgB,GAAO,CAAEjd,KAAMA,EAAMjB,KAAMA,EAAM3G,MAAOA,EAAOkiB,SAAUA,EAAU8pB,OAAQA,EAAQ2U,QAASA,EAASC,QAASA,EAASjtC,UAAWA,EAAWktC,WAAYA,EAAY1+C,YAAaA,EAAayZ,KAAMA,EAAMqI,SAAUA,EAAU1hB,MAAOA,EAAOu+C,aAAcA,IAC/Q18C,EAAKpI,QAACqI,cAAcgoC,GAAe,KAZ/BtJ,EACO3+B,EAAKpI,QAACqI,cAAcmD,EAAQ,CAAE9C,OAAQ,GAAIzD,MAAOsD,GAAQ7B,EAAMxF,OAAOa,UAAUX,KAAKG,OAE5FwjD,GAAmBL,EACXt8C,EAAAA,QAAMC,cAAc8E,GAAQ,CAAElM,QAAS,WAAY4N,QAAS61C,EAAc30C,MAAO,CAAEyd,QAAS,QAAU,aAAc,aAAc7iB,KAAM,UAC5IvC,EAAAA,QAAMC,cAAc8F,GAAW,CAAElJ,MAAOsD,GAAQ7B,EAAMxF,OAAOS,QAAQC,IAAIJ,QAEzE4G,EAAAA,QAAMC,cAAc8E,GAAQ,CAAElM,QAAS,WAAY4N,QAAS,IAAMqX,EAASliB,GAAQ+L,MAAO,CAAEyd,QAAS,QAAU,aAAc,SAAU7iB,KAAM,UACjJvC,EAAKpI,QAACqI,cAAckoC,GAAY,CAAEtrC,MAAOsD,GAAQ7B,EAAMxF,OAAOS,QAAQC,IAAIJ,KAAMkH,OAAQ5E,EAAMT,GAAIuG,MAAO9F,EAAMT,OAI1D,2BCnBjC,EAAGwc,UAASoK,WAAUpgB,YAAWqc,cAAiB9d,EAAKpI,QAACqI,cAAcsoC,GAA2B,CAAE9mC,UAAWA,EAAY,GAAGA,mBAAwBiE,GAAa+R,EAAQpE,KAAK4O,GAAYjiB,UAAMC,cAAc8E,GAAQ,CAAExC,KAAM,SAAU,eAAgB0f,EAAOrmB,QAAUimB,EAAUhpB,QAASopB,EAAOrmB,QAAUimB,EAAW,UAAY,UAAW7U,IAAKiV,EAAOjV,IAAKvG,QAAS,IAAMqX,EAASmE,EAAOrmB,OAAQikB,SAAUoC,EAAOpC,SAAUpe,UAAWwgB,EAAOrmB,QAAUimB,EAAW,iCAAmC,IAAMI,EAAOvgB,iDCa7fuD,IACzB,IAAI23C,SAAEA,EAAQl7C,MAAEA,EAAKm7C,QAAEA,GAAU,EAAKC,aAAEA,GAAe,GAAU73C,EAAIlF,EAAQW,EAAOuE,EAAI,CAAC,WAAY,QAAS,UAAW,iBAEzH,MASM83C,EATeH,EAAS1N,MAAM,KAEQ77B,KAAKrG,GACzC47B,GAAqB57B,GACbhN,EAAAA,QAAMC,cAAcyoC,GAAK,CAAE17B,IAAK,QAAQA,IAAO,aAAcw8B,GAA2Bx8B,IAAQ47B,GAAqB57B,IAE1HhN,UAAMC,cAAcyoC,GAAK,CAAE17B,IAAK,QAAQA,KAASA,KAGZ8b,QAAO,CAACk0B,EAAoBC,IAAuBj9C,EAAAA,QAAMC,cAAcD,UAAMuQ,SAAU,KACnIysC,EACA,IACAC,KACJ,OAAQj9C,UAAMC,cAAcuoC,GAAuBpsC,OAAOC,OAAO,CAAE,aAAcqF,EAAO+mC,SAAYoU,GAAW98C,GAC3Gg9C,EACA,IACAD,EAAe98C,EAAKpI,QAACqI,cAAc,OAAQ,KAAMyB,GAAS,KAAO,4D/CzBnD,EAAGK,KAAInG,QAAOssB,MAAKC,MAAKsS,OAAO,EAAG3c,WAAUrc,YAAW61B,eAAc4lB,eAAe,SAAWC,aAAa,aAC9H,MAAO5vB,EAAY6vB,GAAiBn1C,EAAQA,UAAC,IACtCo1C,EAAqBC,GAA0Br1C,EAAAA,UAAU,GAC1DoiB,EAAe/Z,SAAO,MACtBitC,EAAiBjtC,SAAO,MACxBktC,EAAeltC,SAAO,MACtB2F,EAAa0lB,GAAmBl6B,GAChCi2B,EAAgBiE,GAAmBrE,GACnCmmB,EAAkB7sC,eAAahQ,IACjC,IAAIqE,EACJ,IAAKsoB,IAAelD,EAAa7Z,QAC7B,OACJ,MAAMktC,EAAcL,GAAuB,EAAIzhD,EAAMyhD,GAAuBzhD,EACtE+hD,EAAgBtzB,EAAa7Z,QAAQma,wBAI3C,IAAIrF,EAF+C,KAA7B1kB,EAAEg9C,MAAQD,EAAchwB,GAAYgwB,EAAcn8C,MAE5B,KAA5B2mB,EAAMD,GAA6BA,EACnD,MAAM21B,EAAOH,EAAcp4B,EAQ3B,GANIu4B,EAAO,IACPv4B,EAAWo4B,EAAc1sB,KAAK8sB,KAAKx4B,EAAWmV,EAAOijB,EAAcjjB,GAAQA,GAE3EojB,EAAO,IACPv4B,EAAWo4B,EAAc1sB,KAAK+sB,MAAMz4B,EAAWmV,EAAOijB,EAAcjjB,GAAQA,GAE5EijB,IAAgBp4B,EAChB,OACAA,EAAW6C,IACX7C,EAAW6C,GACX7C,EAAW4C,IACX5C,EAAW4C,GACXrN,MAAMi+B,QAAQl9C,KACc,IAAxByhD,GAA6B/3B,EAAW1pB,EAAM,MAC3C,CAAA0pB,GAAY1pB,GACS,IAAxByhD,GAA6B/3B,EAAW1pB,EAAM,MAC7C0pB,GAAY1pB,IAGrB,MAAMoiD,EAAgBvjB,EAAKrnB,WAAW8O,SAAS,KACG,QAA3Cjd,EAAKw1B,EAAKrnB,WAAW87B,MAAM,KAAK+O,aAA0B,IAAPh5C,OAAgB,EAASA,EAAG7D,OAChF,EAEN,IAAI88C,EADJ54B,EAAWyR,OAAOzR,EAASqiB,QAAQqW,IAG/BE,EADArjC,MAAMi+B,QAAQl9C,GACwB,IAAxByhD,EAA4B,CAAC/3B,EAAU1pB,EAAM,IAAM,CAACA,EAAM,GAAI0pB,GAG9DA,EAElBxH,EAASogC,GACLrjC,MAAMi+B,QAAQoF,IAAgBA,EAAY,KAAOA,EAAY,KACjC,IAAxBb,GACAC,EAAuB,GACC,IAAxBD,GACAC,EAAuB,GAC9B,GACF,CAACD,EAAqB9vB,EAAYpF,EAAKD,EAAKpK,EAAU2c,EAAM7+B,IACzDuiD,EAAgBvtC,EAAAA,aAAY,KAC9BwsC,GAAc,GACdD,GAAY,GACb,CAACA,IACEiB,EAAkBxtC,EAAAA,aAAY,CAAChQ,EAAGgoB,KACpCw0B,GAAc,GACdF,IACqB,iBAAVt0B,GACP00B,EAAuB10B,GAC3BhoB,EAAEuM,gBAAgB,GACnB,CAAC+vC,IACJzwC,EAAAA,WAAU,KACN,MAAM4xC,EAA8Bz9C,GAAMw9C,EAAgBx9C,EAAGia,MAAMi+B,QAAQl9C,GAAS,EAAI,GAClF0iD,EAA4B19C,GAAMw9C,EAAgBx9C,EAAG,GACrD29C,EAAgBhB,EAAe/sC,QAC/BguC,EAAchB,EAAahtC,QAKjC,OAJA+tC,SAA8DA,EAAcnxC,iBAAiB,YAAaixC,GAC1GG,SAA0DA,EAAYpxC,iBAAiB,YAAakxC,GACpG50C,SAAS0D,iBAAiB,YAAaqwC,GACvC/zC,SAAS0D,iBAAiB,UAAW+wC,GAC9B,KACHI,SAA8DA,EAAclxC,oBAAoB,YAAagxC,GAC7GG,SAA0DA,EAAYnxC,oBAAoB,YAAaixC,GACvG50C,SAAS2D,oBAAoB,YAAaowC,GAC1C/zC,SAAS2D,oBAAoB,UAAW8wC,EAAc,CACzD,GACF,CAACC,EAAiBX,EAAiBU,EAAeviD,IACrD,MAAM6iD,EAAe,CAAC/wB,EAAMgxB,EAAU91B,KAClC,IAAI+1B,EASJ,OAPIA,EAAkBp0C,GADD,iBAAVqe,EACqC,IAAVA,EAC5B,CAAC3S,aAA+C,EAASA,EAAWs0B,YAAa7S,aAAqD,EAASA,EAAc6S,aAC7J,CAACt0B,aAA+C,EAASA,EAAWu0B,UAAW9S,aAAqD,EAASA,EAAc8S,WAG/H,CAACv0B,aAA+C,EAASA,EAAWq0B,OAAQ5S,aAAqD,EAASA,EAAc4S,SAEtLtqC,EAAKpI,QAACqI,cAAckqC,GAAW,CAAE9pC,KAAM,SAAU6E,IAAe,IAAV0jB,EAAc40B,EAAeD,EAAgB97C,UAAWk9C,EAAiBjxB,KAAMA,EAAM,gBAAiBxF,EAAK,gBAAiBC,EAAK,gBAAiBu2B,GAAa,EAE3NE,EAAqBC,IAEvB,MAAMC,EAAkF,KAA7DD,EAAiB,GAAK32B,EAAM,EAAI22B,EAAiB,GAAK32B,IAAeC,EAAMD,GAChG62B,EAAkF,KAA/DF,EAAiB,GAAK12B,EAAM,IAAM02B,EAAiB,GAAK32B,IAAeC,EAAMD,GAChG82B,EAAaD,EAAiBD,EACpC,OAAQ9+C,UAAMC,cAAcD,EAAKpI,QAAC2Y,SAAU,KACxCvQ,EAAAA,QAAMC,cAAcmqC,GAAa,CAAE3oC,UAAW8I,GAAgB,CAAC0L,aAA+C,EAASA,EAAWo0B,YAAa3S,aAAqD,EAASA,EAAc2S,cAAe3c,KAAMoxB,EAAkBt9C,MAAOw9C,IACzQP,EAAaK,EAAkBD,EAAiB,GAAI,GACpDJ,EAAaM,EAAgBF,EAAiB,GAAI,GAAK,EAc/D,IAAI50C,EAKJ,OAHIA,EADA4Q,MAAMi+B,QAAQl9C,GACLgjD,EAAkBhjD,GAdJ,CAAC8hD,IACxB,GAAI7iC,MAAMi+B,QAAQl9C,GACd,OAAOgjD,EAAkBhjD,GAC7B,IAAIqjD,EAOJ,OALIA,EADArjD,EAAQusB,EACM,IACTvsB,EAAQssB,EACC,EAEuB,KAArBw1B,EAAcx1B,IAAeC,EAAMD,GAChDu2B,EAAaQ,EAAavB,EAAY,EAMpCwB,CAAmBtjD,GACxBoE,EAAKpI,QAACqI,cAAc+pC,GAAiB,CAAEvoC,UAAW8I,GAAgB,CAAC0L,aAA+C,EAASA,EAAWmC,UAAWsf,aAAqD,EAASA,EAActf,YAAarW,GAAIA,EAAImD,IAAKmlB,GAC3PrqB,UAAMC,cAAciqC,GAAa,MACjCjgC,EAAS,8GgDnIW,EAAGxI,YAAW61B,eAAc6nB,SAAQ9vC,WAAW,OAAQ8Y,MAAM,EAAGrgB,cACxF2E,EAAAA,WAAU,KACF0b,GAAOg3B,EAAO/9C,OAAS+mB,GACvBrgB,EAAQq3C,EAAO,GAAGnyC,IAAI,GAC3B,CAACmyC,EAAQh3B,EAAKrgB,IACVoC,eAAalK,EAAAA,QAAMC,cAAcyqC,GAAuB,CAAEj3B,UAAW,WAAYC,OAAQ,SAAUE,QAAS,GAC/G5T,EAAAA,QAAMC,cAAcm/C,kBAAiB,CAAEC,UAAW,MAAQ,IAAIF,GAAQ3K,UAAUnhC,KAAI,CAACisC,EAAO12B,IAAW5oB,EAAKpI,QAACqI,cAAc8V,EAAAA,cAAe,CAAE/I,IAAKsyC,EAAMtyC,IAAKwI,QAAS,IAAKS,WAAY,0BAClLjW,EAAAA,QAAMC,cAAc0qC,GAAOvuC,OAAOC,OAAO,CAAEoF,UAAWA,EAAW61B,aAAcA,EAAcjoB,SAAUA,EAAUu7B,KAAMhiB,IAAUu2B,EAAO/9C,OAAS,EAAG0G,QAAS,IAAMA,EAAQw3C,EAAMtyC,MAAQsyC,SAAc51C,SAASrM,8CCVhM,EAAG8H,WAAUyb,UAASpd,OAAO,OAAQqc,YAAW,EAAO/B,cAAiB9d,EAAAA,QAAMC,cAAc46B,GAAc,CAAEt4B,KAAM,SAAUqe,QAASA,EAASpd,KAAMA,EAAMqc,SAAUA,EAAU,eAAgBe,EAAS2+B,SAAU,IAAK94C,QAAS,IAAMqX,GAAU8C,IAAYzb,+DCG7P,EAAGpD,KAAIy9C,iBAAgBC,iBAAgBC,uBAC7D,MAAMx6C,EAAMuL,GAAgBgvC,EAAgBC,GAC5C,OAAQ1/C,UAAMC,cAAcqwC,GAAO,CAAEtgC,WAAYyvC,EAAgBh+C,UAAW,GAAGM,WAC3E/B,EAAAA,QAAMC,cAAcwwC,GAAc,CAAE,cAAe,4BAA6BhvC,UAAW,iBAAgBg+C,EAAiB,UAAY,WACpIz/C,EAAAA,QAAMC,cAAcywC,GAAc,CAAExrC,IAAKA,GACrClF,UAAMC,cAAc,SAAU,CAAEgG,MAAO,GAAGlE,UAAYk4C,IAAK,iCAAiCuF,IAAkBG,YAAa,IAAKC,MAAO,2FAA4FC,iBAAiB,IACpP7/C,UAAMC,cAAc0wC,GAAU,CAAE93C,QAAS,OAAQ4N,QAASi5C,EAAkB,cAAe,qBAAsBt6C,KAAMpF,UAAMC,cAAc8F,GAAW,CAAElJ,MAAO,cAAkB,e1BY7K,EAAGkF,KAAImpC,WAAU1zB,OAAMjV,OAAMd,YAAWsvC,gBAAgBj4C,EAAOa,UAAUX,KAAMg4C,mBAAkBv1C,QAAOw1C,UAAS,EAAOxqC,UAASq5C,WAAUC,SAAQzoB,mBACnK,MAAMrhB,EAAa0lB,GAAmBl6B,GAChCi2B,EAAgBiE,GAAmBrE,IAClC3lB,EAAWqgC,EAAaC,GAAexgC,KACxC2nC,EAAcxoC,EAAWA,aAAC,IAAMnK,EAAQ1E,IAAK,CAACA,EAAI0E,IAClDu5C,EAAepvC,eAAa7D,IAC9BA,EAAMG,kBACF4yC,GACAA,EAAS/9C,EAAG,GACjB,CAAC+9C,EAAU/9C,IACRk+C,EAAarvC,eAAa7D,IAC5BA,EAAMG,kBACF6yC,GACAA,EAAOh+C,EAAG,GACf,CAACg+C,EAAQh+C,IACNmwC,EAAU3vC,IAASquC,GAAUuB,MAC7BC,EAAU7vC,IAASquC,GAAUyB,MAC7BlyC,EAAO8wC,EAASn4C,EAAOS,QAAQC,IAAIJ,KAAON,EAAOS,QAAQC,IAAIL,KACnE,OAAQ6G,EAAKpI,QAACqI,cAAcgV,GAAW,CAAExT,UAAW,GAAG8I,GAAgB,CAAC0L,aAA+C,EAASA,EAAWmC,UAAWsf,aAAqD,EAASA,EAActf,eAAgB64B,IAAWvZ,aAAqD,EAASA,EAAcuZ,SAAY,KAAMxqC,QAAS2yC,GAChWp5C,EAAAA,QAAMC,cAAc6wC,GAAS,CAAEG,OAAQA,EAAQv7B,aAAcs8B,EAAar8B,aAAcs8B,EAAalB,cAAeA,EAAeC,iBAAkBA,GACjJ9F,GAAYlrC,EAAAA,QAAMC,cAAcmxC,GAAmB,KAAMlG,GACzDlrC,EAAKpI,QAACqI,cAAcrB,EAAM,CAAE/F,QAAS,YAAc2e,GACnD/b,GAAUuE,EAAKpI,QAACqI,cAAcixC,GAAkB,CAAED,OAAQA,GAAUt/B,EAAWo/B,cAAeA,EAAeC,iBAAkBA,GAC3HhxC,EAAKpI,QAACqI,cAAc4wC,GAAa,CAAEpvC,UAAWi2B,aAAqD,EAASA,EAAc6Z,QAAS14C,QAAS,mBAAqB4C,IACrKy2C,GAAYlyC,EAAKpI,QAACqI,cAAc8F,GAAW3J,OAAOC,OAAO,CAAA,EAAI80C,GAAa,CAAEt0C,MAAOsD,EAAMsB,UAAWi2B,aAAqD,EAASA,EAAcyR,OAAQ1iC,QAASu5C,KACjM5N,GAAWnB,GAAWjxC,UAAMC,cAAcoxC,GAAUj1C,OAAOC,OAAO,CAAE,EAAE80C,GAAa,CAAEt0C,MAAOsD,EAAMsB,UAAWi2B,aAAqD,EAASA,EAAc4Z,KAAM7qC,QAASw5C,MAAmB,2W2B/C5M,CAACrkD,EAAO4Z,KAC/B,MAAOlM,EAAOQ,GAAY7B,EAAQA,SAACrM,GAOnC,OANA6Q,EAAAA,WAAU,KAEN,MAAMyzC,EAAUtzC,YAAW,IAAM9C,EAASlO,IAAQ4Z,GAElD,MAAO,IAAM2qC,aAAaD,EAAQ,GACnC,CAACtkD,EAAO4Z,IACJlM,CAAK,4E3OoGT,WACH,MAAO82C,EAAWC,GAAgBrgD,EAAAA,QAAMiI,UAAS,IAC3CsJ,iBAAEA,EAAgBC,cAAEA,GAAkBxR,EAAAA,QAAMsgD,WAAWjvC,IACvDkrC,EAAUv8C,UAAM4Q,aAAY,KACzBwvC,GACDC,GAAa,EAAK,GACvB,CAACD,IACExY,EAAS5nC,UAAM4Q,aAAY,KACzBwvC,GACAC,GAAa,EAAM,GACxB,CAACD,IACJ,IAAIG,EAQJ,OANIA,EADA/uC,EACeD,GAAoB6uC,EAIpBA,EAEZpgD,EAAAA,QAAMuO,SAAQ,KAAO,CACxBgyC,eACAhE,UACA3U,YACA,CAAC2Y,EAAc3Y,EAAQ2U,GAC/B,qF4OpIO,WACH,MAAOzmB,EAAgB0qB,GAAqBv4C,EAAQA,SAAC,IAsBrD,MAAO,CACHw4C,iBAAkB,CACd3qB,iBACAW,YAvBY,CAACjvB,EAAUynB,KAC3B,GAAKA,EAEL,GAAIznB,EAAU,CAEV,GAAIsuB,EAAe5T,SAAS+M,GACxB,OACJ,MAAMgB,EAAS,IAAI6F,EAAgB7G,GACnCuxB,EAAkBvwB,EACrB,KACI,CAED,MAAMrH,EAAQkN,EAAe5F,WAAWnuB,GAAOA,IAAOktB,IACtD,GAAIrG,EAAQ,EACR,OACJ,MAAMqH,EAAS,IAAI6F,GACnB7F,EAAOE,OAAOvH,EAAO,GACrB43B,EAAkBvwB,EACrB,IAQT,uEC7BuB,CAACywB,EAAMtpC,KAC1B,MAAMupC,mBAAEA,EAAqB,GAAMvpC,GAAU,CAAA,GACtCwpC,GAAc34C,EAAQA,SAACy4C,IACvBzP,EAAQ4P,GAAa54C,EAAQA,SAAC24C,EAAWD,IAChD,MAAO,CACH1P,EACCjkC,IACG,MAAM8zC,EAAeF,EAAWp7B,MAAMu7B,GAAQA,EAAI/zC,MAAQA,IACtD8zC,GACAD,EAAUC,EACb,EAER,yBCZ0Bt/B,GAAezhB,IAC1C0M,EAAAA,WAAU,KAENiC,QAAQC,KAAK,GAAG6S,EAAUhK,sBAAsB,GACjD,IACIxX,EAAKpI,QAACqI,cAAcuhB,EAAWplB,OAAOC,OAAO,CAAE,EAAE0D","x_google_ignoreList":[13]}
1
+ {"version":3,"file":"index.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","../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/useDropdown.ts","../src/hooks/useFocusVisible.tsx","../src/hooks/useHover.ts","../src/hooks/useIsOverflowing.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/Alert/styled.ts","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/HelpIcon.tsx","../src/tempIcons/InfoIcon.tsx","../src/tempIcons/SuccessIcon.tsx","../src/components/Alert/constants.ts","../src/tempIcons/WarningIcon.tsx","../src/tempIcons/RecommendIcon.tsx","../src/components/Anchor/styled.ts","../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/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/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/components/DateInputField/styled.ts","../src/components/DateInputField/index.ts","../src/components/DateInputField/DateInputField.tsx","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/DateRangePicker/components/constants.ts","../src/components/DateRangePicker/components/ComparePreviousPeriod.tsx","../src/components/DateRangePicker/constants.ts","../src/components/DateRangePicker/utils.ts","../src/components/DateRangePicker/components/Divider.tsx","../src/components/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/utils/getColumnWidth.ts","../src/components/DataTable/hooks/useColumns.ts","../src/components/DataTable/hooks/useDragToScroll.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/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/LegacyDataTable/utils/constants.tsx","../src/tempIcons/CalendarIcon.tsx","../src/tempIcons/FailIcon.tsx","../src/components/LegacyDataTable/styled.ts","../src/components/LegacyDataTable/SpecificState/styled.ts","../src/components/LegacyDataTable/SpecificState/SpecificState.tsx","../src/components/LegacyDataTable/cells/styled.ts","../src/components/LegacyDataTable/cells/ClickableCell.tsx","../src/components/LegacyDataTable/cells/EditableCell.tsx","../src/components/LegacyDataTable/SkeletonContent/SkeletonContent.tsx","../src/components/LegacyDataTable/cells/SkeletonCell.tsx","../src/components/LegacyDataTable/utils/hooks.ts","../src/components/LegacyDataTable/StickyHeader.tsx","../src/components/LegacyDataTable/utils/index.ts","../src/components/LegacyDataTable/cells/SkeletonHeaderCell.tsx","../src/tempIcons/DoubleArrowAscIcon.tsx","../src/tempIcons/DoubleArrowDescIcon.tsx","../src/components/LegacyDataTable/LegacyDataTable.tsx","../src/components/LoginWithAmazonButton/styled.ts","../src/components/LoginWithAmazonButton/LoginWithAmazonButton.tsx","../src/components/Modal/components/styled.ts","../src/components/Modal/types.ts","../src/components/Modal/components/Dialog/constants.ts","../src/components/Modal/components/Dialog/styled.ts","../src/components/Modal/components/Dialog/Dialog.tsx","../src/components/Pagination/styled.ts","../src/components/Pagination/components.tsx","../src/components/Pagination/hooks/usePagination.ts","../src/tempIcons/StartArrowIcon.tsx","../src/tempIcons/EndArrowIcon.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/SegmentedControl/styled.ts","../src/components/ShortcutKeys/styled.ts","../src/components/ShortcutKeys/utils.ts","../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/ToggleButton/styled.ts","../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/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/Accordion/Accordion.tsx","../src/components/Alert/Alert.tsx","../src/components/Anchor/Anchor.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Calendars/components/Calendar/Calendar.tsx","../src/components/Calendars/data/useCalendar.ts","../src/components/DateRangePicker/DateRangePicker.tsx","../src/components/DetailPage/DetailPage.tsx","../src/components/Image/Image.tsx","../src/components/Modal/Modal.tsx","../src/components/Pagination/Pagination.tsx","../src/components/Search/Search.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/ShortcutKeys/ShortcutKeys.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/ToggleButton/ToggleButton.tsx","../src/components/VideoModal/VideoModal.tsx","../src/hooks/useDebounce.ts","../src/components/DataTable/hooks/useNested.ts","../src/hooks/useTabs.ts","../src/hoc/withDeprecated.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","/******************************************************************************\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, icon, variant = 'default', size = 'base', dropdown = false, loading = false } = _a, otherProps = __rest(_a, [\"className\", \"children\", \"icon\", \"variant\", \"size\", \"dropdown\", \"loading\"]);\n if (variant === 'unstyled') {\n return (React.createElement(UnstyledButton, Object.assign({ ref: ref, className: className }, otherProps), children));\n }\n const VariantButton = variantMap[variant];\n const hasChildren = children !== undefined;\n const hasIcon = !!icon;\n return (React.createElement(VariantButton, Object.assign({ ref: ref, className: className, size: size, hasText: hasChildren, hasIcon: hasIcon, hasDropdown: dropdown }, otherProps),\n (hasChildren || hasIcon) && (React.createElement(MainContent, { \"$loading\": loading, hasText: !!children, size: children || size === 'sm' ? 'base' : 'md' },\n icon && icon,\n children !== undefined && children,\n dropdown && React.createElement(DropdownIcon, null))),\n loading && (React.createElement(LoadingWrapper, null,\n React.createElement(Loader, null)))));\n});\n//# sourceMappingURL=Button.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--oa1a54\" }) `padding-top:${sizes.md};padding-right:${sizes.md};padding-left:${sizes.md};margin-bottom:${sizes.md};& > * + *{margin-top:${sizes.xs};}`;\nexport const HeaderGrid = styled.div.withConfig({ displayName: \"vui--HeaderGrid\", componentId: \"vui--129vg5d\" }) `/*${sizes.base}*/display:flex;justify-content:flex-end;align-items:center;& > *:first-child{flex:1;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const DownArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.0302 5.52997L7.97021 8.5833L4.91021 5.52997L3.97021 6.46997L7.97021 10.47L11.9702 6.46997L11.0302 5.52997Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DownArrowIcon.js.map","import React from 'react';\nexport const CrossIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: 24, width: 24 }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M19 6.51071L17.4893 5L11.5 10.9893L5.51071 5L4 6.51071L9.98929 12.5L4 18.4893L5.51071 20L11.5 14.0107L17.4893 20L19 18.4893L13.0107 12.5L19 6.51071Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CrossIcon.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const CardHeader = ({ id, title, subtitle, headerVariant = 'headingSmall', action, ActionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React.createElement(Header, null,\n React.createElement(HeaderGrid, null,\n React.createElement(Text, { id: id, variant: headerVariant }, title),\n action && (React.createElement(Button, { variant: \"link\", onClick: action.onClick }, action.title)),\n ActionSlot,\n onClickCollapse && (React.createElement(Button, { variant: \"flat\", icon: isCollapsed ? React.createElement(DownArrowIcon, null) : React.createElement(UpArrowIcon, null), onClick: onClickCollapse })),\n onClickClose && (React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\" }))),\n subtitle && React.createElement(Text, { variant: \"subheadingSmall\" }, subtitle)));\n//# sourceMappingURL=CardHeader.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { Shadows } from '../../theme/modules/shadows';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nimport { radius } from '../../theme/modules/radius';\nimport { text } from '../../theme/modules/text';\nconst { grey } = colors.neutral;\nconst elevationShadowMap = {\n 0: 'none',\n 1: Shadows.sm,\n 2: Shadows.base,\n 3: Shadows.md,\n 4: Shadows.lg,\n};\nconst accents = {\n info: colors.secondary.blue.base,\n success: colors.secondary.green.base,\n error: colors.secondary.red.base,\n};\nexport const Footer = styled.footer.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--livrdi\" }) `margin-top:${sizes.base};padding:${sizes.md};z-index:2;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--z99ese\" }) `padding-right:${sizes.md};padding-left:${sizes.md};margin-top:${sizes.md};margin-bottom:${sizes.md};font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};line-height:${text.body.lineHeight};color:${text.body.color};& + &{border-top:${sizes.line} solid ${grey.base};padding-top:${sizes.md};}`;\nexport const FullBleed = styled.div.withConfig({ displayName: \"vui--FullBleed\", componentId: \"vui--1lgjeo7\" }) `margin-left:-${sizes.md};margin-right:-${sizes.md};`;\nexport const Body = styled(motion.div).withConfig({ displayName: \"vui--Body\", componentId: \"vui--pfgeh3\" }) `overflow-y:hidden;&:not(:first-child)> ${Section}:first-child{margin-top:0;}`;\nexport const Surface = styled.div.withConfig({ displayName: \"vui--Surface\", componentId: \"vui--g1wpqa\" }) `position:relative;width:100%;background-color:white;border:${sizes.line} solid ${grey.base};box-shadow:${(props) => props.elevation !== undefined ? elevationShadowMap[props.elevation] : Shadows.sm};border-radius:${radius.md};overflow:hidden;box-sizing:border-box;${({ accent }) => accent &&\n `\n &::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: ${sizes.xs};\n background-color: ${accents[accent]};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { CardHeader } from '../CardHeader';\nimport { Surface, Body, FullBleed, Footer, Section } from './styled';\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\nexport const Card = ({ className, style, title, subtitle, HeaderActionSlot, action, collapsable, elevation, accent, children, onClose, renderFooter, }) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n const headerMarkup = title && (React.createElement(CardHeader, { title: title, subtitle: subtitle, ActionSlot: HeaderActionSlot, action: action, onClickClose: onClose, isCollapsed: isCollapsed, onClickCollapse: collapsable ? toggleCollapsed : undefined }));\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (React.createElement(Body, { animate: showBody ? 'expanded' : 'collapsed', variants: collapseAnimationVariants, transition: { duration: 0.3, ease: 'easeOut' } },\n React.createElement(Section, null, children)));\n const footerMarkup = renderFooter !== undefined && React.createElement(Footer, null, renderFooter());\n return (React.createElement(Surface, { className: className, style: style, elevation: elevation, accent: accent },\n headerMarkup,\n bodyMarkup,\n footerMarkup));\n};\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n//# sourceMappingURL=Card.js.map","import styled from 'styled-components';\nimport { 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 }) => {\n useEffect(() => {\n if (!anchorElement)\n return;\n // Try and set aria-expanded on the anchor.\n try {\n if (!anchorElement.hasAttribute('aria-expanded')) {\n console.warn('Popover - aria-expanded not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-expanded', 'true');\n }\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${true}`);\n }\n // Try and set aria controls, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-controls')) {\n console.warn('Popover - aria-controls not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-controls', popoverId);\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-controls for popover id: ${popoverId}`);\n }\n // Try and set aria-haspopup, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-haspopup')) {\n console.warn('Popover - aria-haspopup not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-haspopup', 'dialog');\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-haspopup for popover id: ${popoverId}`);\n }\n // On unmount set aria-expanded to false\n return () => {\n try {\n anchorElement.setAttribute('aria-expanded', 'false');\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${false}`);\n }\n };\n }, [anchorElement, popoverId]);\n};\n//# sourceMappingURL=useUpdateAriaAnchor.js.map","import { useEffect } from 'react';\nconst TABBABLE_SELECTORS = 'input:not([disabled]), summary:not([disabled]), a[href]:not([disabled]), button:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\nexport const useHandleFocus = ({ popperElement, anchorElement, onClose, disableFocusLock = false, }) => {\n /**\n * Focuses first element, when this gets rendered for the first time.\n */\n useEffect(() => {\n if (!popperElement || disableFocusLock)\n return;\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n if (focusableElements.length < 1)\n return;\n setTimeout(() => {\n focusableElements[0].focus();\n }, 0);\n }, [popperElement, disableFocusLock]);\n /**\n * Sets up tabbing into the popover.\n *\n * When the popover is open (pre-requisite for this being ran), and the user clicks `TAB`\n * then the tab should move **into** the popover, instead of the natural tab order.\n */\n useEffect(() => {\n if (!popperElement || !popperElement)\n return;\n const focusWithinPopper = (event) => {\n if (event.key === 'Tab' && !event.shiftKey) {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n // When nothing is focusable within the popover, close popover and allow natural tab order.\n if (focusableElements.length < 1) {\n onClose();\n return;\n }\n focusableElements[0].focus();\n event.stopPropagation();\n event.preventDefault();\n }\n };\n // When tab occurs on ref focus, if focusable elements in popover focus first.\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.addEventListener('keydown', focusWithinPopper);\n // eslint-disable-next-line consistent-return\n return () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.removeEventListener('keydown', focusWithinPopper);\n }, [anchorElement, popperElement, onClose]);\n /**\n * Creates focus trap within the popover itself. Stopping users tabbing back to outside the\n * popover, or forward past the last scrollable element within.\n */\n const handleFocusTrap = (event) => {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n const firstElement = focusableElements[0];\n const lastElement = focusableElements[focusableElements.length - 1];\n // If shift tabbing (BACK) and on the first element, loop to last element.\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n // If tabbing (FORWARD) and on the last element, loop to first element.\n }\n else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n };\n const handleKeyDown = (event) => {\n if (!popperElement)\n return;\n // Handle escape\n if (event.key === 'Escape') {\n onClose();\n // Check we should enforce focus trap.\n }\n else if (!disableFocusLock && event.key === 'Tab') {\n handleFocusTrap(event);\n }\n };\n return {\n handleKeyDown,\n };\n};\n//# sourceMappingURL=useHandleFocus.js.map","import { __rest } from \"tslib\";\n/* eslint-disable consistent-return */\nimport React, { useState, useEffect, useMemo } from 'react';\nimport { usePopper } from 'react-popper';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Portal } from '../Portal';\nimport { theme } from '../../theme';\nimport { PopoverDialog, Backdrop } from './styled';\nimport { generateId } from '../../utils';\nimport { useUpdateAriaAnchor } from './hooks/useUpdateAriaAnchor';\nimport { useHandleFocus } from './hooks/useHandleFocus';\nexport const Popover = (_a) => {\n var { id: passedId, children, zIndex = theme.layers.popup, placement = 'bottom', anchorElement, rootElementRef, onShouldClose, style, disableFocusLock, removeBackdrop = false, useAnchorWidth } = _a, dialogProps = __rest(_a, [\"id\", \"children\", \"zIndex\", \"placement\", \"anchorElement\", \"rootElementRef\", \"onShouldClose\", \"style\", \"disableFocusLock\", \"removeBackdrop\", \"useAnchorWidth\"]);\n // Set up PopperJS\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes, update } = usePopper(anchorElement, popperElement, { placement });\n // Setup popover id to use passed, or generate its' own.\n const id = useMemo(() => passedId || generateId('popover'), [passedId]);\n // Check and update aria for anchor, only works once this has rendered for the first time though.\n useUpdateAriaAnchor({ anchorElement, popoverId: id });\n const onClose = () => {\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus();\n onShouldClose === null || onShouldClose === void 0 ? void 0 : onShouldClose();\n };\n const { handleKeyDown } = useHandleFocus({\n popperElement,\n anchorElement,\n onClose,\n disableFocusLock,\n });\n /**\n * When content size is changed, force popper update\n */\n useEffect(() => {\n if (!update || !popperElement)\n return;\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(popperElement);\n return () => resizeObserver.disconnect();\n }, [update, popperElement]);\n /**\n * When window is resized, force popper update\n */\n useEffect(() => {\n if (!update)\n return;\n window.addEventListener('resize', update);\n return () => window.removeEventListener('resize', update);\n }, [update]);\n return (React.createElement(Portal, { rootElementRef: rootElementRef },\n !removeBackdrop && (React.createElement(Backdrop, { onClick: onClose, zIndex: zIndex, \"data-testid\": \"popover-backdrop\" })),\n React.createElement(PopoverDialog, Object.assign({ open: true, id: id, zIndex: zIndex, ref: setPopperElement, style: Object.assign(Object.assign(Object.assign({}, styles.popper), style), (useAnchorWidth ? { minWidth: anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.clientWidth } : {})), onKeyDown: handleKeyDown }, attributes.popper, dialogProps), children)));\n};\n//# sourceMappingURL=Popover.js.map","import { __rest } from \"tslib\";\nimport React, { useEffect } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { DropdownContainer } from './styled';\nimport { Popover } from '../Popover';\nexport const DropdownPopover = (_a) => {\n var { id, children, className, style, reversed, anchorElement, useAnchorWidth, onShouldClose } = _a, popoverProps = __rest(_a, [\"id\", \"children\", \"className\", \"style\", \"reversed\", \"anchorElement\", \"useAnchorWidth\", \"onShouldClose\"]);\n useEffect(() => () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus(), [anchorElement]); // Re-focus anchor when closed.\n return (React.createElement(Popover, Object.assign({ id: id, \"data-testid\": id, anchorElement: anchorElement, onShouldClose: onShouldClose, useAnchorWidth: useAnchorWidth, placement: \"bottom-start\" }, popoverProps),\n React.createElement(AnimatePresence, null,\n React.createElement(DropdownContainer, { className: className, style: style, useAnchorWidth: useAnchorWidth, reversed: reversed, initial: { opacity: 0, y: -6 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -6 }, transition: { duration: 0.2 } }, children))));\n};\n//# sourceMappingURL=DropdownPopover.js.map","import { __rest } from \"tslib\";\nimport React, { useRef } from 'react';\nimport { Button } from '../Button';\nimport { DropdownPopover } from './DropdownPopover';\nexport const Dropdown = (_a) => {\n var { id, shouldShow, setShouldShow, ctaIconSlot, ctaProps } = _a, dropdownProps = __rest(_a, [\"id\", \"shouldShow\", \"setShouldShow\", \"ctaIconSlot\", \"ctaProps\"]);\n const anchorRef = useRef(null);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, Object.assign({ ref: anchorRef, \"aria-haspopup\": \"dialog\", \"aria-expanded\": shouldShow, \"aria-controls\": id, onClick: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(!shouldShow), icon: ctaIconSlot, dropdown: true }, ctaProps)),\n shouldShow && (React.createElement(DropdownPopover, Object.assign({ id: id, anchorElement: anchorRef.current, onShouldClose: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(false) }, dropdownProps)))));\n};\n//# sourceMappingURL=Dropdown.js.map","import { useCallback, useEffect, useRef } from 'react';\n/**\n * Close a menu or modal by clicking out of it\n */\nexport const useClickOutside = (isOpen, onClose) => {\n const ref = useRef(null);\n const escapeListener = useCallback((e) => {\n if (e.key === 'Escape') {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n const clickListener = useCallback((e) => {\n if (!ref.current.contains(e.target)) {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', clickListener);\n document.addEventListener('keyup', escapeListener);\n return () => {\n document.removeEventListener('click', clickListener);\n document.removeEventListener('keyup', escapeListener);\n };\n }\n return undefined;\n }, [clickListener, escapeListener, isOpen]);\n return ref;\n};\n//# sourceMappingURL=useClickOutside.js.map","import { useState, 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 { 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--u8ngai\" }) `border:1px solid ${({ colours: { primary } }) => primary};border-radius:${theme.radius.base};background-color:${({ colours: { background } }) => background};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const AttentionIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 15H13V17H11V15ZM11 7H13V13H11V7ZM11.99 2C6.47 2 2 6.48 2 12C2 17.52 6.47 22 11.99 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 11.99 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=AttentionIcon.js.map","import React from 'react';\nexport const HelpIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 18H13V16H11V18ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 12 11 11.75 11 15H13C13 12.75 16 12.5 16 10C16 7.79 14.21 6 12 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=HelpIcon.js.map","import React from 'react';\nexport const InfoIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M2 12C2 6.48 6.48 2 12 2C17.52 2 22 6.48 22 12C22 17.52 17.52 22 12 22C6.48 22 2 17.52 2 12ZM4 12C4 16.41 7.59 20 12 20C16.41 20 20 16.41 20 12C20 7.59 16.41 4 12 4C7.59 4 4 7.59 4 12Z\", fill: \"currentColor\" }),\n React.createElement(\"circle\", { cx: \"12\", cy: \"7\", r: \"1\", fill: \"currentColor\" }),\n React.createElement(\"path\", { d: \"M10 16H11V11H10V10H13V16H14V17H10V16Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=InfoIcon.js.map","import React from 'react';\nexport const SuccessIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM14.7708 8L10.0856 13.2468L8.22925 11.1679L7 12.5445L10.0856 16L16 9.37661L14.7708 8ZM20.1818 12C20.1818 16.5187 16.5187 20.1818 12 20.1818C7.48131 20.1818 3.81818 16.5187 3.81818 12C3.81818 7.48131 7.48131 3.81818 12 3.81818C16.5187 3.81818 20.1818 7.48131 20.1818 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SuccessIcon.js.map","import { AttentionIcon } from '../../tempIcons/AttentionIcon';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nimport { RecommendIcon } from '../../tempIcons/RecommendIcon';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { WarningIcon } from '../../tempIcons/WarningIcon';\nimport { theme } from '../../theme';\nexport const SpacingMap = {\n base: theme.sizes.base,\n sm: theme.sizes[3],\n xs: theme.sizes.sm,\n};\nexport const IconSizeMap = {\n base: theme.sizes.md,\n sm: theme.sizes[5],\n xs: theme.sizes[5],\n};\nexport const IconMap = {\n default: InfoIcon,\n error: AttentionIcon,\n success: SuccessIcon,\n info: HelpIcon,\n warning: WarningIcon,\n recommend: RecommendIcon,\n};\nexport const ColourMap = {\n default: {\n primary: theme.colors.neutral.ink.base,\n background: theme.colors.neutral.grey.lightest,\n },\n error: {\n primary: theme.colors.secondary.red.base,\n background: theme.colors.secondary.red.lightest,\n },\n success: {\n primary: theme.colors.secondary.green.base,\n background: theme.colors.secondary.green.lightest,\n },\n info: {\n primary: theme.colors.secondary.blue.base,\n background: theme.colors.secondary.blue.lightest,\n },\n warning: {\n primary: theme.colors.secondary.orange.base,\n background: theme.colors.secondary.orange.lightest,\n },\n recommend: {\n primary: theme.colors.secondary.purple.dark,\n background: theme.colors.secondary.purple.lightest,\n },\n};\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const WarningIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"currentColor\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\", fill: \"none\" }),\n React.createElement(\"path\", { d: \"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\" })));\n//# sourceMappingURL=WarningIcon.js.map","import React from 'react';\nexport const RecommendIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 22 22\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M18 8L19.25 5.25L22 4L19.25 2.75L18 0L16.75 2.75L14 4L16.75 5.25L18 8Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M18 14L16.75 16.75L14 18L16.75 19.25L18 22L19.25 19.25L22 18L19.25 16.75L18 14Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M10.5 8.5L8 3L5.5 8.5L0 11L5.5 13.5L8 19L10.5 13.5L16 11L10.5 8.5ZM8.99 11.99L8 14.17L7.01 11.99L4.83 11L7.01 10.01L8 7.83L8.99 10.01L11.17 11L8.99 11.99Z\", fill: \"#694090\" })));\n//# sourceMappingURL=RecommendIcon.js.map","import 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 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","import styled from 'styled-components';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1exlfc5\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--up3fpq\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--gpqzg1\" }) `color:${theme.colors.neutral.grey.lightest};white-space:pre-line;overflow-wrap:break-word;display:inline;`;\nconst Triangle = styled.div.withConfig({ displayName: \"vui--Triangle\", componentId: \"vui--1f7lcs5\" }) `background-color:#333;height:16px;width:16px;position:absolute;transform:rotate(45deg);z-index:12;`;\nconst Tip = styled.div.withConfig({ displayName: \"vui--Tip\", componentId: \"vui--143ip1u\" }) `transition:${({ duration }) => `opacity ${duration}ms`};&.tip-enter{opacity:0;}&.tip-enter-active{opacity:1;}&[data-popper-placement^='top-start'] > #veeqo-components-triangle{left:8px;bottom:0px;}&[data-popper-placement^='top-end'] > #veeqo-components-triangle{right:8px;bottom:0px;}&[data-popper-placement^='bottom-start'] > #veeqo-components-triangle{left:8px;top:-4px;}&[data-popper-placement^='bottom-end'] > #veeqo-components-triangle{right:8px;top:-4px;}`;\nconst Wrap = styled(Container).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--e33d0s\" }) `font-size:14px;overflow:hidden;padding:16px 20px;border-radius:4px;box-shadow:0 6px 1em -0.5em rgba(0, 0, 0, 0.35);background:#333;color:#fff;z-index:10;min-width:${({ tipMinWidth }) => tipMinWidth}px;max-width:${({ tipMaxWidth }) => tipMaxWidth}px;`;\nexport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle };\n//# sourceMappingURL=styled.js.map","export var Sides;\n(function (Sides) {\n Sides[\"BOTTOM\"] = \"bottom\";\n Sides[\"TOP\"] = \"top\";\n})(Sides || (Sides = {}));\n//# sourceMappingURL=types.js.map","import React, { useState } from 'react';\nimport { usePopper } from 'react-popper';\nimport { Tip, TooltipText, Triangle, Wrap } from './styled';\nimport { Sides } from '../types';\nimport { theme } from '../../../theme';\nconst defaultConfig = {\n duration: 400,\n side: Sides.TOP,\n triangleOffset: 8,\n tipMinWidth: 60,\n tipMaxWidth: 340,\n};\nexport const TooltipPopover = ({ content, text, hoverableElement, config, reversed, withTriangle, classNames, }) => {\n const [popperElement, setPopperElement] = useState(null);\n const usedConfig = Object.assign(Object.assign({}, defaultConfig), config);\n const { duration, side, triangleOffset, tipMinWidth, tipMaxWidth } = usedConfig;\n const { styles, attributes } = usePopper(hoverableElement, popperElement, {\n placement: `${side}-${reversed ? 'end' : 'start'}`,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 10],\n },\n },\n ],\n });\n const tooltipStyles = Object.assign(Object.assign({}, styles.popper), { zIndex: theme.layers.tooltip });\n return (React.createElement(Tip, Object.assign({ className: classNames.tip, ref: setPopperElement, duration: duration, triangleOffsetSize: triangleOffset, style: tooltipStyles }, attributes.popper, { role: \"tooltip\" }),\n React.createElement(Wrap, { className: classNames.wrap, tipMinWidth: tipMinWidth, tipMaxWidth: tipMaxWidth }, content !== null && content !== void 0 ? content : React.createElement(TooltipText, null, text)),\n withTriangle && React.createElement(Triangle, { id: \"veeqo-components-triangle\", className: classNames.triangle })));\n};\n//# sourceMappingURL=TooltipPopover.js.map","import React, { useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Container, Hoverable } from './components/styled';\nimport { TooltipPopover } from './components/TooltipPopover';\nexport const Tooltip = ({ children, text, content, config, reversed = false, className, withTriangle, initialShouldShow = false, useReactPortal = true, }) => {\n const [shouldShow, setShouldShow] = useState(initialShouldShow);\n const [hoverableElement, setHoverableElement] = useState(null);\n const hasText = text ? text.trim().length > 0 : false;\n const classNames = {\n container: className && `${className} ${className}-container`,\n tip: className && `${className}-tip`,\n wrap: className && `${className}-wrap`,\n triangle: className && `${className}-triangle`,\n hoverable: className && `${className}-hoverable`,\n };\n const hasContent = !!(content || hasText);\n if (!hasContent)\n return children;\n const show = () => setShouldShow(true);\n const hide = () => setShouldShow(false);\n const tooltipMarkup = shouldShow && hasContent && (React.createElement(TooltipPopover, { classNames: classNames, hoverableElement: hoverableElement, config: config, reversed: reversed, withTriangle: withTriangle, text: text, content: content }));\n return (React.createElement(Container, { className: classNames.container },\n useReactPortal ? ReactDOM.createPortal(tooltipMarkup, document.body) : tooltipMarkup,\n React.createElement(Hoverable, { ref: setHoverableElement, className: classNames.hoverable, onMouseEnter: show, onMouseLeave: hide }, children)));\n};\n//# sourceMappingURL=Tooltip.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nconst BaseBadge = styled(BaseContainer).withConfig({ displayName: \"vui--BaseBadge\", componentId: \"vui--1l3fzu\" }) `display:inline-flex;align-items:center;vertical-align:middle;gap:4px;padding:0.35em 0.65em;font-family:${text.bodySmall.fontFamily};font-weight:${text.bodySmall.fontWeight};font-size:75%;line-height:16px;border-radius:0.75rem;border:${(props) => (props.hideBorder ? 'none' : '1px solid transparent')};cursor:default;svg{width:${sizes.base};height:${sizes.base};}`;\nexport const DefaultBadge = styled(BaseBadge).withConfig({ displayName: \"vui--DefaultBadge\", componentId: \"vui--rwc6j0\" }) `background-color:inherit;border-color:${colors.secondary.blue.base};color:${colors.secondary.blue.base};`;\nexport const PrimaryBadge = styled(BaseBadge).withConfig({ displayName: \"vui--PrimaryBadge\", componentId: \"vui--1fakkjy\" }) `border-color:${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};color:${colors.secondary.blue.base};`;\nexport const WarningBadge = styled(BaseBadge).withConfig({ displayName: \"vui--WarningBadge\", componentId: \"vui--1r2egf1\" }) `border-color:${colors.secondary.yellow.base};background-color:${colors.secondary.yellow.lightest};color:${colors.secondary.orange.dark};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { DefaultBadge, PrimaryBadge, WarningBadge } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst variantMap = {\n default: DefaultBadge,\n primary: PrimaryBadge,\n warning: WarningBadge,\n};\nexport const Badge = ({ variant = 'default', hideBorder = false, iconSlot, tooltip, className, e2eClassName, children, }) => {\n const BadgeVariant = variantMap[variant];\n return (React.createElement(Tooltip, { text: tooltip },\n React.createElement(BadgeVariant, { className: buildClassnames([className, e2eClassName]), hideBorder: hideBorder },\n iconSlot && iconSlot,\n children && React.createElement(\"span\", null, children))));\n};\n//# sourceMappingURL=Badge.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst BannerLayout = styled(BaseContainer).withConfig({ displayName: \"vui--BannerLayout\", componentId: \"vui--c6sp3u\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:20px 24px 24px 24px;border-radius:4px;${({ accentColor }) => accentColor &&\n `\n box-shadow: 0px 1px 3px rgba(55, 66, 77, 0.15), inset 4px 0px 0px ${accentColor};\n `} background-color:${({ backgroundColor }) => backgroundColor || 'white'};`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--1rdjrmx\" }) `display:flex;flex-direction:row;`;\nconst Col = styled(BaseContainer).withConfig({ displayName: \"vui--Col\", componentId: \"vui--1ttgibs\" }) `display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;`;\nexport const IconCol = styled(Col).withConfig({ displayName: \"vui--IconCol\", componentId: \"vui--1z6c5f\" }) `svg{width:${sizes.md};height:${sizes.md};color:${({ accentColor }) => accentColor};}`;\nexport const ChildContainer = styled(BaseContainer).withConfig({ displayName: \"vui--ChildContainer\", componentId: \"vui--kn3qcr\" }) `width:100%;`;\nconst HeaderCol = styled(Col).withConfig({ displayName: \"vui--HeaderCol\", componentId: \"vui--1nlkkdb\" }) `flex-grow:2;margin-right:12px;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1ioilg\" }) `position:relative;top:-2px;`;\nexport { BannerLayout as Pill, StyledText as Text, Row, Col, HeaderCol };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { colors } from '../../theme/modules/colors';\nimport { Pill, Text, Row, Col, HeaderCol, ChildContainer, IconCol } from './styled';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst accentColors = {\n help: colors.secondary.blue.base,\n info: colors.neutral.ink.base,\n error: colors.secondary.red.base,\n success: colors.secondary.green.base,\n};\n/**\n * The `Banner` component was previously called `Alert` (and similarly `Pill`).\n */\nexport const Banner = (_a) => {\n var { type = 'info', text, icon, onClose, className, header, children, backgroundColor = 'white' } = _a, props = __rest(_a, [\"type\", \"text\", \"icon\", \"onClose\", \"className\", \"header\", \"children\", \"backgroundColor\"]);\n const accentColor = accentColors[type];\n return (React.createElement(Pill, Object.assign({ accentColor: accentColor, className: className, backgroundColor: backgroundColor }, props),\n React.createElement(Row, null,\n icon && (React.createElement(IconCol, { style: { marginRight: sizes.md }, accentColor: accentColor }, icon)),\n children ? (React.createElement(ChildContainer, null, children)) : (React.createElement(React.Fragment, null,\n React.createElement(HeaderCol, null, header || React.createElement(Text, { variant: \"headingSmall\" }, text)),\n React.createElement(Col, null, onClose && (React.createElement(Button, { variant: \"flat\", \"aria-label\": \"Close\", icon: React.createElement(CrossIcon, null), onClick: onClose }))))))));\n};\n//# sourceMappingURL=Banner.js.map","import styled from 'styled-components';\nimport { text } from '../../../theme/modules/text';\nexport const BreadcrumbsSC = styled.ul.withConfig({ displayName: \"vui--BreadcrumbsSC\", componentId: \"vui--1kzms7s\" }) `list-style:none;padding:0;margin:0;display:flex;align-items:center;font-family:${text.body.fontFamily};font-weight:${text.body.fontWeight};font-size:${text.body.fontSize};line-height:${text.body.lineHeight};`;\nexport const BreadcrumbSC = styled.li.withConfig({ displayName: \"vui--BreadcrumbSC\", componentId: \"vui--17agc2w\" }) `display:flex;align-items:center;.separator{display:flex;align-items:center;padding:0px 0.4rem;}a{color:inherit;text-decoration:none;text-transform:capitalize;}a:hover{text-decoration:underline;}span{font-weight:600;text-transform:capitalize;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const RightArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.99994 11.06L9.05327 8L5.99994 4.94L6.93994 4L10.9399 8L6.93994 12L5.99994 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=RightArrowIcon.js.map","import React from 'react';\nimport { BreadcrumbSC } from './styled';\nexport const Breadcrumb = ({ children, title, LinkComponent, href }) => {\n if (LinkComponent) {\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n React.createElement(LinkComponent, { href: href }, title),\n children));\n }\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n title,\n children));\n};\n//# sourceMappingURL=Breadcrumb.js.map","import React from 'react';\nimport { BreadcrumbsSC } from './components/styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Breadcrumb } from './components/Breadcrumb';\nconst DefaultSeparator = () => (React.createElement(RightArrowIcon, { className: \"separator\", width: sizes.base, height: sizes.base }));\nconst DefaultLink = ({ children, href }) => React.createElement(\"a\", { href: href }, children);\nconst BreadcrumbText = ({ children }) => React.createElement(\"span\", null, children);\nexport const Breadcrumbs = ({ items, Separator = React.createElement(DefaultSeparator, null), LinkComponent = DefaultLink, }) => (React.createElement(BreadcrumbsSC, { className: \"breadcrumbs\" }, items.map((item, i) => (React.createElement(Breadcrumb, { key: item.title, title: item.title, href: item.pathname, LinkComponent: i !== items.length - 1 ? LinkComponent : BreadcrumbText }, items.length !== i + 1 && Separator)))));\n//# sourceMappingURL=Breadcrumbs.js.map","import { 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 },\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, { \"aria-label\": levelMoveLabelMap[level], variant: \"flat\", icon: 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 },\n React.createElement(RightArrowIcon, null))));\n//# sourceMappingURL=CalendarHeader.js.map","import { useLocale } from 'react-aria-components';\nimport { isWeekend } from '@internationalized/date';\nexport const useIsDateUnavailable = ({ disabledRanges, disallowWeekends, }) => {\n const { locale } = useLocale();\n const isDateUnavailable = (date) => (disallowWeekends ? isWeekend(date, locale) : false) ||\n disabledRanges.some((interval) => date.compare(interval[0]) >= 0 && date.compare(interval[1]) <= 0);\n return {\n isDateUnavailable,\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 { disabledRanges = [], disallowWeekends = false, value, onChange, isDisabled } = _a, props = __rest(_a, [\"disabledRanges\", \"disallowWeekends\", \"value\", \"onChange\", \"isDisabled\"]);\n const { level, focusedDate, setFocusedDate, currentYear, onFocusMonth, onFocusYear, handleSwitchLevel, } = useRangeCalendarState(value);\n const { isDateUnavailable } = useIsDateUnavailable({ disabledRanges, disallowWeekends });\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 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`, icon: copied ? (React.createElement(SuccessIcon, Object.assign({ color: colors.secondary.green.base }, iconSizes))) : (React.createElement(ClipboardIcon, Object.assign({ color: colors.secondary.blue.base }, iconSizes))), onClick: handleCopy })));\n};\n//# sourceMappingURL=CopyToClipboard.js.map","import styled from 'styled-components';\nimport { Stack } from '../../components/Stack';\nimport { Tooltip } from '../../components/Tooltip';\nimport { theme } from '../../theme';\nexport const Label = styled.label.withConfig({ displayName: \"vui--Label\", componentId: \"vui--qydg5r\" }) `display:block;font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};color:${theme.text.inputLabel.color};`;\nexport const Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--1p3i1v3\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--9vxkaw\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nexport const RootStack = styled(Stack).withConfig({ displayName: \"vui--RootStack\", componentId: \"vui--10dmq2i\" }) `position:relative;`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1haf85r\" }) `display:block;&-hoverable{display:flex;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { Stack } from '../../components/Stack';\nimport { RootStack, Label, Hint, Error, BlockTooltip } from './styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { useId } from '../../hooks/useId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useId({ id: otherProps === null || otherProps === void 0 ? void 0 : otherProps.id, prefix: Component.name });\n if (!label)\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", { style: { marginBottom: theme.sizes.xs } },\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { id: `${componentId}-label`, htmlFor: componentId }, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { width: theme.sizes.base, height: theme.sizes.base, color: theme.colors.neutral.ink.light })))),\n hint && React.createElement(Hint, null, hint)),\n React.createElement(Component, Object.assign({ id: componentId, hasError: !!error }, otherProps)),\n error && React.createElement(Error, null, error)));\n};\n//# sourceMappingURL=withLabels.js.map","import 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.lightest};}.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-invalid]{color:${theme.colors.secondary.red.base};}&[data-focused]{color:white;background-color:${theme.colors.secondary.blue.dark};&[data-invalid]{background-color:${theme.colors.secondary.red.lightest};}}&[data-invalid]{font-weight:bold;color:${theme.colors.secondary.red.dark};}&:focus-visible{outline:none;}}}`;\n//# sourceMappingURL=styled.js.map","import { withLabels } from '../../hoc';\nimport { DateInputField as BasicDateInputField } from './DateInputField';\nexport const DateInputField = withLabels(BasicDateInputField);\n//# sourceMappingURL=index.js.map","import React from 'react';\nimport { DateField, DateInput, DateSegment } from 'react-aria-components';\nimport { DateRangeGroup } from './styled';\nimport { Button } from '../Button';\nimport { Stack } from '../Stack';\nexport const DateInputField = ({ id, className, style, shouldForceLeadingZeros = true, rightAction, minValue, maxvalue, startValue, endValue, isDisabled, isReadOnly, isRangeInput = false, hasError, 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, 'aria-labelledby': ariaLabelledBy, onChange, onChangeStartDate, onChangeEndDate, }) => (React.createElement(Stack, { direction: \"horizontal\", alignX: \"stretch\", alignY: \"center\", spacing: 0 },\n React.createElement(DateRangeGroup, { style: style, className: className, \"aria-label\": ariaLabel, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"$hasError\": hasError, isDisabled: isDisabled },\n React.createElement(Stack, { spacing: 0, direction: \"horizontal\", alignX: \"center\" },\n React.createElement(DateField, { shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: isRangeInput ? onChangeStartDate : onChange, value: startValue, minValue: minValue, maxValue: maxvalue, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": isRangeInput ? 'start date' : 'date', isDisabled: isDisabled, isReadOnly: isReadOnly },\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, { shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: onChangeEndDate, value: endValue, minValue: minValue, maxValue: maxvalue, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": \"end date\", isDisabled: isDisabled, isReadOnly: isReadOnly },\n React.createElement(DateInput, { slot: \"end\" }, (segment) => React.createElement(DateSegment, { segment: segment })))))),\n rightAction && (React.createElement(Button, Object.assign({ variant: \"flat\", style: {\n padding: '2px',\n height: 'unset',\n } }, rightAction))))));\n//# sourceMappingURL=DateInputField.js.map","import styled from 'styled-components';\nexport const SelectInput = styled.select.withConfig({ displayName: \"vui--SelectInput\", componentId: \"vui--1v4mu6a\" }) `box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;padding:0 2.5rem 0 0.5rem;border-radius:4px;background-color:white;border:1px solid #959fa8;color:#1b2126;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M4 6L8 10L12 6H4Z' fill='currentColor' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 0.5em top 50%,0 0;${({ sizeVariant }) => {\n let height = '40px';\n let fontSize = '14px';\n if (sizeVariant === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} &:focus{border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 4px #f7bcbc;outline:0;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { SelectInput } from './styled';\nimport { withLabels } from '../../hoc';\nexport const Select = withLabels(forwardRef((_a, ref) => {\n var { className, options, value, onChange, size, disabled, hasError } = _a, otherProps = __rest(_a, [\"className\", \"options\", \"value\", \"onChange\", \"size\", \"disabled\", \"hasError\"]);\n const handleChange = useCallback((e) => {\n if (!onChange)\n return;\n onChange(e.currentTarget.value);\n }, [onChange]);\n return (React.createElement(SelectInput, Object.assign({ className: className, sizeVariant: size, value: value !== null && value !== void 0 ? value : undefined, onChange: handleChange, disabled: disabled, hasError: hasError, ref: ref }, otherProps), !!options &&\n options.map((option) => (React.createElement(\"option\", { key: option.label, value: option.value, disabled: option.disabled, hidden: option.hidden }, option.label)))));\n}));\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Slider = styled.span.withConfig({ displayName: \"vui--Slider\", componentId: \"vui--x03mdi\" }) `content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:18px;background-color:#cdd1d5;-webkit-transition:0.3s;transition:0.3s;&:after{content:'';position:absolute;border-radius:50%;background-color:${({ disabled, switched }) => disabled && switched ? theme.colors.secondary.blue.lightest : 'white'};-webkit-transition:0.3s;transition:0.3s;}`;\nconst Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1ccelw2\" }) `width:100%;height:100%;border-radius:${theme.radius.base};z-index:2;margin:0;cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};&:focus-visible + ${Slider}{box-shadow:0 0 0 4px ${theme.colors.brand.blue.light};}&:checked + ${Slider}{background-color:#0079d1;}&:disabled + ${Slider}{background-color:${theme.colors.neutral.grey.base};}&:checked:disabled + ${Slider}{background-color:${theme.colors.secondary.blue.light};}`;\nconst Switch = styled.span.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--13yy1uj\" }) `display:flex;position:relative;height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};z-index:1;input{position:absolute;opacity:0;}${Slider}:after{height:${({ small }) => (small ? '22px' : '28px')};width:${({ small }) => (small ? '22px' : '28px')};left:${({ small }) => (small ? '3px' : '4px')};bottom:${({ small }) => (small ? '3px' : '4px')};}${Input}:checked + ${Slider}{&:after,svg{-webkit-transform:translateX(${({ small }) => (small ? '28px' : '36px')});-ms-transform:translateX(${({ small }) => (small ? '28px' : '36px')});transform:translateX(${({ small }) => (small ? '28px' : '36px')});}}`;\nconst Wrapper = styled(BaseContainer).withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--69792q\" }) `display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Input, Slider, Switch, Wrapper } from './styled';\nimport { Choice } from '../Choice';\n/**\n * A toggle switch component, use-cases should provide a label, wrap with a custom one or pass in an aria-label.\n */\nexport const Toggle = forwardRef((_a, ref) => {\n var { id = 'testid', className, name, switched, small, onClick = () => { }, disabled, ariaLabel, inputPosition = 'right' } = _a, choiceProps = __rest(_a, [\"id\", \"className\", \"name\", \"switched\", \"small\", \"onClick\", \"disabled\", \"ariaLabel\", \"inputPosition\"]);\n return (React.createElement(Choice, Object.assign({ id: id, inputPosition: inputPosition }, choiceProps),\n React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, className: className },\n React.createElement(Input, { id: id, role: \"switch\", type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: (e) => (disabled ? undefined : onClick(e)), disabled: disabled, ref: ref }),\n React.createElement(Slider, { switched: switched, disabled: disabled })))));\n});\n//# sourceMappingURL=Toggle.js.map","export const DEFAULT_PREVIOUS_PERIOD_OPTIONS = [\n { label: 'Previous Day', value: 'PREVIOUS_DAY' },\n { label: 'Previous Week', value: 'PREVIOUS_WEEK' },\n { label: 'Previous Month', value: 'PREVIOUS_MONTH' },\n { label: 'Previous Year', value: 'PREVIOUS_YEAR' },\n];\n//# sourceMappingURL=constants.js.map","import React, { useEffect, useState } from 'react';\nimport { Toggle } from '../../Toggle';\nimport { Text } from '../../Text';\nimport { Select } from '../../Select';\nimport { theme } from '../../../theme';\nimport { DEFAULT_PREVIOUS_PERIOD_OPTIONS } from './constants';\nexport const ComparePreviousPeriod = ({ options = DEFAULT_PREVIOUS_PERIOD_OPTIONS, selectedPreviousPeriod, setSelectedPreviousPeriod, }) => {\n const [showCompareSelect, setShowCompareSelect] = useState(!!selectedPreviousPeriod);\n const findAndSelectOption = (newValue) => {\n const newOption = options.find(({ value }) => value === newValue);\n if (newOption)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(newOption);\n };\n const toggleShowSelect = () => {\n // When toggled off, unselect show previous period.\n if (showCompareSelect)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(null);\n setShowCompareSelect(!showCompareSelect);\n };\n // If no option is currently selected, we set to the first option provided.\n useEffect(() => {\n if (!selectedPreviousPeriod)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(options[0]);\n }, [selectedPreviousPeriod, setSelectedPreviousPeriod, options]);\n return (React.createElement(React.Fragment, null,\n React.createElement(Text, { variant: \"inputLabel\", style: {\n display: 'flex',\n alignItems: 'center',\n gap: theme.sizes.sm,\n whiteSpace: 'nowrap',\n } },\n React.createElement(Toggle, { small: true, switched: showCompareSelect, onClick: toggleShowSelect }),\n \"Compare previous period\"),\n showCompareSelect && (React.createElement(Select, { \"aria-label\": \"Period to compare against\", options: options, \n // To avoid screen jumping (before useEffect kicks in, default value to first option)\n value: (selectedPreviousPeriod === null || selectedPreviousPeriod === void 0 ? void 0 : selectedPreviousPeriod.value) || options[0].value, onChange: findAndSelectOption }))));\n};\n//# sourceMappingURL=ComparePreviousPeriod.js.map","import { CalendarDate, endOfMonth, getLocalTimeZone, now, startOfMonth, startOfWeek, startOfYear, } from '@internationalized/date';\nexport var DateRanges;\n(function (DateRanges) {\n DateRanges[\"TODAY\"] = \"TODAY\";\n DateRanges[\"YESTERDAY\"] = \"YESTERDAY\";\n DateRanges[\"LAST_7_DAYS\"] = \"LAST_7_DAYS\";\n DateRanges[\"LAST_30_DAYS\"] = \"LAST_30_DAYS\";\n DateRanges[\"LAST_90_DAYS\"] = \"LAST_90_DAYS\";\n DateRanges[\"LAST_MONTH\"] = \"LAST_MONTH\";\n DateRanges[\"LAST_12_MONTHS\"] = \"LAST_12_MONTHS\";\n DateRanges[\"WEEK_TO_DATE\"] = \"WEEK_TO_DATE\";\n DateRanges[\"MONTH_TO_DATE\"] = \"MONTH_TO_DATE\";\n DateRanges[\"YEAR_TO_DATE\"] = \"YEAR_TO_DATE\";\n})(DateRanges || (DateRanges = {}));\nexport const timeRangeToDateRange = (range) => {\n const { start, end } = range;\n const startDate = new CalendarDate(start.year, start.month, start.day);\n const endDate = new CalendarDate(end.year, end.month, end.day);\n return { start: startDate, end: endDate };\n};\nexport const getDateRange = (option) => {\n // Getting today every time function is called. Don't want this to be stale\n const today = now(getLocalTimeZone());\n let dateRange;\n switch (option) {\n case DateRanges.TODAY:\n dateRange = { start: today, end: today };\n break;\n case DateRanges.YESTERDAY:\n dateRange = {\n start: today.subtract({ days: 1 }),\n end: today.subtract({ days: 1 }),\n };\n break;\n case DateRanges.LAST_7_DAYS:\n dateRange = {\n start: today.subtract({ days: 7 }),\n end: today,\n };\n break;\n case DateRanges.LAST_30_DAYS:\n dateRange = {\n start: today.subtract({ days: 30 }),\n end: today,\n };\n break;\n case DateRanges.LAST_90_DAYS:\n dateRange = { start: today.subtract({ days: 90 }), end: today };\n break;\n case DateRanges.LAST_MONTH: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = { start: lastMonth, end: endOfMonth(lastMonth) };\n break;\n }\n case DateRanges.LAST_12_MONTHS: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = {\n start: startOfMonth(lastMonth).subtract({ months: 12 }),\n end: endOfMonth(lastMonth),\n };\n break;\n }\n case DateRanges.WEEK_TO_DATE:\n dateRange = { start: startOfWeek(today, navigator.language), end: today };\n break;\n case DateRanges.MONTH_TO_DATE:\n dateRange = { start: startOfMonth(today), end: today };\n break;\n case DateRanges.YEAR_TO_DATE:\n dateRange = { start: startOfYear(today), end: today };\n break;\n default:\n return null;\n }\n return timeRangeToDateRange(dateRange);\n};\nexport const DATE_RANGE_OPTIONS = [\n { label: 'Custom', value: 'CUSTOM', disabled: true },\n { label: 'Today', value: DateRanges.TODAY },\n { label: 'Yesterday', value: DateRanges.YESTERDAY },\n { label: 'Last 7 Days', value: DateRanges.LAST_7_DAYS },\n { label: 'Last 30 Days', value: DateRanges.LAST_30_DAYS },\n { label: 'Last 90 Days', value: DateRanges.LAST_90_DAYS },\n { label: 'Last Month', value: DateRanges.LAST_MONTH },\n { label: 'Last 12 Months', value: DateRanges.LAST_12_MONTHS },\n { label: 'Week to Date', value: DateRanges.WEEK_TO_DATE },\n { label: 'Month to Date', value: DateRanges.MONTH_TO_DATE },\n { label: 'Year to Date', value: DateRanges.YEAR_TO_DATE },\n];\nexport const checkForMatchingPreset = (selectedRange) => DATE_RANGE_OPTIONS.reduce((match, option) => {\n if (option.hidden || match)\n return match; // Skip hidden options or if a match is already found\n const optionDateRange = getDateRange(option.value);\n if (!optionDateRange)\n return match; // Skip when no match.\n const { start: optionStart, end: optionEnd } = optionDateRange;\n if (selectedRange.start.compare(optionStart) === 0 &&\n selectedRange.end.compare(optionEnd) === 0) {\n return option;\n }\n return match;\n}, undefined);\nexport const DEFAULT_SELECTION = DateRanges.LAST_30_DAYS;\nexport const DEFAULT_RANGE = getDateRange(DEFAULT_SELECTION);\nexport const DEFAULT_PRESET = DATE_RANGE_OPTIONS.find(({ value }) => value === DEFAULT_SELECTION);\n//# sourceMappingURL=constants.js.map","export const checkIfDateRangeInvalid = ({ disabledRanges, selectedRange, }) => {\n if (!selectedRange || !disabledRanges || disabledRanges.length === 0)\n return false;\n const { start: presortStart, end: presortEnd } = selectedRange;\n const [start, end] = [presortStart, presortEnd].sort();\n return disabledRanges.some(([disabledStart, disabledEnd]) => (start >= disabledStart && start <= disabledEnd) || // Case 1: selectedRange.start is within the disabledRange\n (end >= disabledStart && end <= disabledEnd) || // Case 2: selectedRange.end is within the disabledRange\n (start <= disabledStart && end >= disabledEnd));\n};\n//# sourceMappingURL=utils.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Divider = styled.div.withConfig({ displayName: \"vui--Divider\", componentId: \"vui--ssvmxc\" }) `margin:0 -${theme.sizes.base};border-top:1px solid ${theme.colors.neutral.grey.base};`;\n//# sourceMappingURL=Divider.js.map","export function alignmentToFlex(align) {\n switch (align) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n}\n//# sourceMappingURL=alignmentToFlex.js.map","export function parseWidth(width, fallback) {\n switch (typeof width) {\n case 'string':\n return width;\n case 'number':\n return `${width}px`;\n case 'object':\n return `minmax(${parseWidth(width.min, 'max-content')}, ${parseWidth(width.max)})`;\n default:\n return fallback || '1fr';\n }\n}\n//# sourceMappingURL=parseWidth.js.map","import { theme } from '../../../theme';\nimport { parseWidth } from './parseWidth';\nimport { sumAllAfterIndex, sumAllBeforeIndex } from './sumAll';\nexport function generateTableCss({ pinnedLeft, pinnedRight, cellWidths, scrollPosition, visible, stripingMode, }) {\n const pinnedLeftStyles = pinnedLeft.map((_, index) => `\n th:nth-child(${index + 1}),\n td:nth-child(${index + 1}) {\n position: sticky;\n left: ${cellWidths ? sumAllBeforeIndex(cellWidths, index + 1) : 0}px;\n z-index: 2;\n }\n `);\n const pinnedRightStyles = pinnedRight.map((_, index) => `\n th:nth-last-child(${index + 1}),\n td:nth-last-child(${index + 1}) {\n position: sticky;\n right: ${cellWidths ? sumAllAfterIndex(cellWidths, cellWidths.length - index) : 0}px;\n }\n `);\n const isLeftShadowVisible = scrollPosition !== 'start' && scrollPosition !== 'none';\n const leftShadow = `\n th:nth-child(${pinnedLeft.length})::after,\n td:nth-child(${pinnedLeft.length})::after {\n position: absolute;\n transform: translate(100%);\n top: 0;\n right: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isLeftShadowVisible ? 'inset 10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const isRightShadowVisible = scrollPosition !== 'end' && scrollPosition !== 'none';\n const rightShadow = `\n th:nth-last-child(${pinnedRight.length})::after,\n td:nth-last-child(${pinnedRight.length})::after {\n position: absolute;\n transform: translate(-100%);\n top: 0;\n left: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isRightShadowVisible ? 'inset -10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const stripingRow = `\n tr:nth-child(odd) > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tr + tr > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n const stripingNested = `\n tbody:nth-of-type(odd) > tr > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tbody + tbody > tr:first-child > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n return `\n grid-template-columns: ${visible.map((col) => parseWidth(col.width)).join(' ')};\n\n th::after, td::after {\n transition: box-shadow .3s;\n }\n\n ${pinnedLeft.length > 0 ? pinnedLeftStyles : ''}\n ${pinnedRight.length > 0 ? pinnedRightStyles : ''}\n\n ${leftShadow}\n ${rightShadow}\n\n ${stripingMode === 'nested' ? stripingNested : stripingRow}\n `;\n}\n//# sourceMappingURL=generateTableCss.js.map","export function sumAllBeforeIndex(array, index) {\n return array.slice(0, index - 1).reduce((acc, val) => acc + val, 0);\n}\nexport function sumAllAfterIndex(array, index) {\n return array.slice(index).reduce((acc, val) => acc + val, 0);\n}\n//# sourceMappingURL=sumAll.js.map","/* Sorting */\nexport var SortDirection;\n(function (SortDirection) {\n SortDirection[\"ascending\"] = \"ascending\";\n SortDirection[\"descending\"] = \"descending\";\n})(SortDirection || (SortDirection = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const DoubleArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DoubleArrowIconIcon.js.map","import React from 'react';\nexport const ArrowUpIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M13 20V7.83L18.59 13.42L20 12L12 4L4 12L5.41 13.41L11 7.83L11 20H13Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowUpIcon.js.map","import React from 'react';\nexport const ArrowDownIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11 4V16.17L5.41 10.58L4 12L12 20L20 12L18.59 10.59L13 16.17L13 4H11Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowDownIcon.js.map","import React from 'react';\nimport { theme } from '../../../theme';\nimport { SortDirection } from '../types';\nimport { DoubleArrowIcon } from '../../../tempIcons/DoubleArrowIconIcon';\nimport { ArrowUpIcon } from '../../../tempIcons/ArrowUpIcon';\nimport { ArrowDownIcon } from '../../../tempIcons/ArrowDownIcon';\nexport const GetSortIcon = ({ sortState, columnId, size }) => {\n if (!sortState || sortState.columnId !== columnId)\n return React.createElement(DoubleArrowIcon, { size: size });\n if (sortState.direction === SortDirection.ascending) {\n return React.createElement(ArrowUpIcon, { color: theme.colors.neutral.ink.dark, size: size });\n }\n return React.createElement(ArrowDownIcon, { color: theme.colors.neutral.ink.dark, size: size });\n};\n//# sourceMappingURL=GetSortIcon.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nexport function useCellWidths(tableRef, containerRef) {\n const [cellWidths, setCellWidths] = useState([]);\n const updateCellWidths = () => {\n if (!tableRef.current)\n return;\n const cells = tableRef.current.querySelectorAll('tbody tr:first-child td');\n const widths = Array.from(cells).map((cell) => cell.getBoundingClientRect().width);\n setCellWidths(widths);\n };\n useEffect(() => {\n updateCellWidths();\n }, [tableRef.current]);\n // Update cell widths when container is resized.\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateCellWidths, 50); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n // eslint-disable-next-line consistent-return\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return cellWidths;\n}\n//# sourceMappingURL=useCellWidths.js.map","class CustomEvent extends Event {\n constructor(eventType, data) {\n super(eventType, { bubbles: true, cancelable: true });\n this.data = data;\n }\n}\nexport const customEventEmitter = (eventType, data) => {\n const evt = new CustomEvent(eventType, data);\n document.dispatchEvent(evt);\n};\n//# sourceMappingURL=customEventEmitter.js.map","import { useEffect, useState } from 'react';\nimport { customEventEmitter } from '../utils/customEventEmitter';\nexport const useColumnWidths = ({ tableRef, columns, columnIds, }) => {\n const getColumnWidths = (cols) => cols.reduce((obj, item) => {\n // eslint-disable-next-line no-param-reassign\n obj[item.id] = item.width;\n return obj;\n }, {});\n const [columnWidths, setColumnWidths] = useState(getColumnWidths(columns));\n const setColumnWidth = ({ columnId, width }) => {\n const calculateWidth = (column, lastColumn) => {\n var _a, _b, _c;\n if (lastColumn)\n return columnWidths[column.id] || column.width;\n const val = columnWidths[column.id] ||\n column.width ||\n ((_c = (_b = (_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`th[data-columnid=\"${column.id}\"]`)) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect()) === null || _c === void 0 ? void 0 : _c.width) ||\n undefined;\n return val;\n };\n const newColumnWidths = Object.assign({}, columnWidths);\n columns.forEach((column, i) => {\n const lastColumn = i === columns.length - 1;\n const newWidth = column.id === columnId ? width : calculateWidth(column, lastColumn);\n newColumnWidths[column.id] = newWidth;\n });\n setColumnWidths(newColumnWidths);\n customEventEmitter('columnWidthUpdated', {\n tableRef,\n // eslint-disable-next-line @typescript-eslint/no-shadow\n columnWidths: newColumnWidths,\n });\n };\n useEffect(() => {\n const widths = getColumnWidths(columns);\n const newColumnWidths = Object.assign({}, columnWidths);\n Object.keys(widths).forEach((key) => {\n if (typeof columnWidths[key] === undefined) {\n newColumnWidths[key] = widths[key];\n }\n });\n setColumnWidths(newColumnWidths);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(columnIds)]);\n return {\n setColumnWidth,\n columnWidths,\n };\n};\n//# sourceMappingURL=useColumnWidths.js.map","export function getColumnWidth(columnId, columnWidths, columns) {\n if (columnWidths[columnId]) {\n return columnWidths[columnId];\n }\n const column = columns.find((col) => col.id === columnId);\n return column === null || column === void 0 ? void 0 : column.width;\n}\n//# sourceMappingURL=getColumnWidth.js.map","import { useCallback } from 'react';\nimport { useColumnWidths } from './useColumnWidths';\nimport { getColumnWidth } from '../utils/getColumnWidth';\nexport function useColumns(columns, tableRef, onResizeColumns) {\n const { columnWidths, setColumnWidth: originalSetColumnWidth } = useColumnWidths({\n tableRef,\n columns,\n columnIds: columns.map(({ id }) => id),\n });\n const newColumns = columns.map((column) => (Object.assign(Object.assign({}, column), { width: columnWidths[column.id] || column.width })));\n const setColumnWidth = useCallback(({ columnId, width }) => {\n originalSetColumnWidth({ columnId, width });\n if (onResizeColumns) {\n const updatedColumnWidths = columns.map(({ id }) => ({\n id,\n columnWidth: id === columnId ? width : getColumnWidth(id, columnWidths, columns),\n }));\n onResizeColumns(updatedColumnWidths);\n }\n }, [originalSetColumnWidth, onResizeColumns, columns, columnWidths]);\n const visible = newColumns.filter((col) => col.hidden !== true);\n const pinnedLeft = visible.filter((col) => col.pinned === 'left');\n const pinnedRight = visible.filter((col) => col.pinned === 'right');\n const notPinned = visible.filter((col) => col.pinned === 'none' || !col.pinned);\n return {\n visible: [...pinnedLeft, ...notPinned, ...pinnedRight],\n pinnedLeft,\n pinnedRight,\n setColumnWidth,\n };\n}\n//# sourceMappingURL=useColumns.js.map","import { useEffect } from 'react';\nexport function useDragToScroll(targetRef) {\n useEffect(() => {\n if (!targetRef.current)\n return;\n let isDragging = false;\n const scrollTarget = targetRef.current;\n const position = {\n left: 0,\n x: 0,\n };\n const mouseMoveHandler = (e) => {\n if (!scrollTarget)\n return;\n const dx = e.clientX - position.x;\n scrollTarget.scrollLeft = position.left - dx;\n if (!isDragging) {\n scrollTarget.style.cursor = 'grabbing';\n scrollTarget.style.userSelect = 'none';\n }\n isDragging = true;\n };\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n isDragging = false;\n if (!scrollTarget)\n return;\n scrollTarget.style.removeProperty('cursor');\n scrollTarget.style.removeProperty('user-select');\n };\n const mouseDownHandler = (e) => {\n if (!scrollTarget)\n return;\n position.left = scrollTarget.scrollLeft;\n position.x = e.clientX;\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n };\n scrollTarget.addEventListener('mousedown', mouseDownHandler);\n /* eslint-disable-next-line consistent-return */\n return () => scrollTarget === null || scrollTarget === void 0 ? void 0 : scrollTarget.removeEventListener('mousedown', mouseDownHandler);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [targetRef.current]);\n}\n//# sourceMappingURL=useDragToScroll.js.map","/* eslint-disable consistent-return */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport throttle from 'lodash.throttle';\nexport function useScrollPosition(containerRef) {\n const [scrollPosition, setScrollPosition] = useState('start');\n const updateScrollPosition = () => {\n if (!containerRef.current)\n return;\n const { width } = containerRef.current.getBoundingClientRect();\n const { scrollLeft, scrollWidth } = containerRef.current;\n if (scrollWidth < width) {\n setScrollPosition('none');\n return;\n }\n if (scrollLeft === 0) {\n setScrollPosition('start');\n return;\n }\n if (scrollLeft + width >= scrollWidth) {\n setScrollPosition('end');\n return;\n }\n setScrollPosition('middle');\n };\n useEffect(() => {\n if (!containerRef.current)\n return;\n containerRef.current.addEventListener('scroll', updateScrollPosition);\n return () => { var _a; return (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateScrollPosition); };\n }, [containerRef.current]);\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateScrollPosition, 50);\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return { scrollPosition, containerRef };\n}\n//# sourceMappingURL=useScrollPosition.js.map","export const defaultCellSpacing = 3;\nexport const headerCellHeight = '56px';\nexport const footerCellHeight = '56px';\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, headerCellHeight } from '../constants';\nexport const Header = styled.th.withConfig({ displayName: \"vui--Header\", componentId: \"vui--12e6ib8\" }) `height:${headerCellHeight};position:relative;display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};z-index:${({ zIndex = 0 }) => zIndex};background-color:white;padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};border-bottom:1px solid ${theme.colors.neutral.grey.base};grid-column-end:${({ span = 1 }) => `span ${span}`};`;\n//# sourceMappingURL=Header.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Header } from './Header';\nexport function SelectionHeader(_a) {\n var { selected, indeterminate, onChange, selectionMode } = _a, headerProps = __rest(_a, [\"selected\", \"indeterminate\", \"onChange\", \"selectionMode\"]);\n if (selectionMode === 'single')\n return React.createElement(Header, Object.assign({}, headerProps));\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Checkbox, { checked: selected, indeterminate: indeterminate, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, footerCellHeight } from '../constants';\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--1oz46st\" }) `display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-bottom:var(--density);padding-top:var(--density);padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};color:${theme.text.bodySmall.color};font-family:${theme.text.bodySmall.fontFamily};font-size:${theme.text.bodySmall.fontSize};font-style:${theme.text.bodySmall.fontStyle};font-weight:${theme.text.bodySmall.fontWeight};line-height:${theme.text.bodySmall.lineHeight};grid-column-end:${({ span = 1 }) => `span ${span}`};tfoot &{min-height:${footerCellHeight};border-top:1px solid ${theme.colors.secondary.blue.base};background-color:${theme.colors.neutral.grey.lightest};}`;\n//# sourceMappingURL=Cell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Radio } from '../../Radio';\nimport { Cell } from './Cell';\nexport function SelectionCell(_a) {\n var { selected, rowId, onChange, selectionMode, disabled } = _a, cellProps = __rest(_a, [\"selected\", \"rowId\", \"onChange\", \"selectionMode\", \"disabled\"]);\n if (selectionMode === 'single') {\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Radio, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n }\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Checkbox, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionCell.js.map","/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { SelectionHeader } from '../components/SelectionHeader';\nimport { SelectionCell } from '../components/SelectionCell';\nconst emptySelectionState = [[], () => { }];\nexport function useSelection({ selectionMode = 'multiple', selectionState, enabledRowIds, }) {\n const selectionEnabled = !!selectionState;\n const [selectedRowIds, setSelectedRowIds] = selectionState || emptySelectionState;\n // TODO: Memoise this\n const setSelected = (selected, rowId) => {\n if (rowId === undefined || rowId === null)\n return; // Can't use falsey, must allow number 0\n if (selected && selectionMode === 'single') {\n // Replace selectedRowIds with only the current rowId\n setSelectedRowIds([rowId]);\n return;\n }\n if (selected) {\n // Add rowId to selectedRowIds\n if (selectedRowIds.includes(rowId))\n return;\n const rowIds = [...selectedRowIds, rowId];\n setSelectedRowIds(rowIds);\n }\n else {\n // Remove rowIds from selectedRowIds\n const index = selectedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...selectedRowIds];\n rowIds.splice(index, 1);\n setSelectedRowIds(rowIds);\n }\n };\n // TODO: Memoise this\n const toggleAllSelected = () => {\n if (selectedRowIds.length === enabledRowIds.length) {\n setSelectedRowIds([]);\n return;\n }\n setSelectedRowIds(enabledRowIds);\n };\n // TODO: Memoise this\n const selectionColumn = {\n id: 'selection',\n title: 'Selection',\n width: '40px',\n align: 'center',\n pinned: 'left',\n renderHeader: (column, headerProps) => (React.createElement(SelectionHeader, Object.assign({}, headerProps, { selected: selectedRowIds.length === enabledRowIds.length, indeterminate: selectedRowIds.length > 0 && selectedRowIds.length < enabledRowIds.length, onChange: toggleAllSelected, selectionMode: selectionMode }))),\n renderCell: (row, cellProps, actions, rowState) => (React.createElement(SelectionCell, Object.assign({}, cellProps, { rowId: row.id, selected: rowState.selected, onChange: actions.setSelected, selectionMode: selectionMode, disabled: rowState.disabled }))),\n };\n return {\n selectionEnabled,\n selectedRowIds,\n selectionColumn,\n setSelected,\n };\n}\n//# sourceMappingURL=useSelection.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const SortIndicator = styled.div.withConfig({ displayName: \"vui--SortIndicator\", componentId: \"vui--o7masx\" }) `width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:white;color:${theme.colors.neutral.ink.lightest};`;\nexport const HeaderContent = styled.span.withConfig({ displayName: \"vui--HeaderContent\", componentId: \"vui--vlccds\" }) `display:flex;height:28px;align-items:center;gap:4px;white-space:nowrap;color:${theme.text.headingTable.color};font-family:${theme.text.headingTable.fontFamily};font-size:${theme.text.headingTable.fontSize};font-style:${theme.text.headingTable.fontStyle};font-weight:${theme.text.headingTable.fontWeight};line-height:${theme.text.headingTable.lineHeight};`;\nexport const ClickableHeaderContent = styled(HeaderContent).attrs(() => ({\n as: 'button',\n type: 'button',\n})).withConfig({ displayName: \"vui--ClickableHeaderContent\", componentId: \"vui--xbox8h\" }) `appearance:none;padding:0;border:0;border-radius:4px;background-color:transparent;&:not(:disabled):hover{cursor:pointer;}&:hover ${SortIndicator}{background-color:${theme.colors.neutral.grey.light};color:${theme.colors.neutral.ink.base};}&:focus-visible{outline:0;box-shadow:0px 0px 0px 2px ${theme.colors.secondary.blue.light};}`;\n//# sourceMappingURL=ColumnHeader.js.map","import React, { createRef } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const ResizerBar = styled.div.withConfig({ displayName: \"vui--ResizerBar\", componentId: \"vui--115ilx\" }) `position:absolute;right:0;top:37.5%;width:1px;background:${theme.colors.neutral.grey.dark};min-height:25%;cursor:col-resize;&::before{content:'';position:absolute;top:-150%;left:0;width:12px;min-height:400%;z-index:1;transform:translateX(-6px);}`;\nexport const ColumnDivider = ({ columnId, setColumnWidth, 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.log('DataGrid::renderHeader::handleClickSort - sortState is not defined');\n return;\n }\n const nextSortState = getNextSortState({ sortState, columnId: column.id });\n if (!onChangeSort) {\n console.log('DataGrid::renderHeader::handleClickSort - onChangeSort is not defined');\n return;\n }\n onChangeSort(nextSortState);\n };\n const ColumnHeaderContent = column.sortable ? ClickableHeaderContent : HeaderContent;\n const columnHeaderProps = column.sortable ? { onClick: handleClickSort } : {};\n return (React.createElement(Header, Object.assign({}, headerProps, { zIndex: 3 }),\n React.createElement(Tooltip, { text: column.tooltip },\n React.createElement(ColumnHeaderContent, Object.assign({}, columnHeaderProps, { className: \"headerContent\" }),\n column.icon && column.icon,\n column.title && React.createElement(\"span\", null, column.title),\n column.sortable && (React.createElement(SortIndicator, null,\n React.createElement(GetSortIcon, { sortState: sortState, columnId: column.id, size: 5 }))))),\n resizeableColumns && columnI < columnCount - 1 && (React.createElement(ColumnDivider, { columnId: column.id, setColumnWidth: setColumnWidth, 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';\nexport function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths, tableCss, }) {\n const stickyContainerRef = useRef(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const updateContainerDimensions = () => {\n var _a;\n const targetRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const newRect = {\n left: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.left) || 0,\n width: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.width) || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n const updateContainerScrollPosition = () => {\n var _a;\n if (!containerRef.current)\n return;\n const xScrollOffset = containerRef.current.scrollLeft;\n (_a = stickyContainerRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo(xScrollOffset, 0);\n };\n // Configure intersection observer to toggle sticky header on/off\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const options = {\n threshold: 1.0,\n };\n const intersectionCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n // Calculate sticky header position and size to match table container\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n // Update dimensions when container element is resized\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateContainerDimensions, 33); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n // Sync container scrolling\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n useEffect(() => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n // Render sticky header\n if (!isVisible)\n return null;\n const containerStyle = Object.assign(Object.assign({}, containerRect), { height: headerCellHeight, position: 'fixed', zIndex: 5, overflowX: 'hidden', overflowY: 'hidden', borderBottom: `1px solid ${theme.colors.neutral.grey.base}` });\n // Generate styles to sync sticky columns with \"real\" columns\n const columnsCss = cellWidths\n .map((width, index) => `\n & th:nth-child(${index + 1}) {\n width: ${width}px;\n }\n `)\n .join('');\n // Append to generated table styles\n const allCss = tableCss + columnsCss;\n return (React.createElement(\"div\", { style: containerStyle, ref: stickyContainerRef },\n React.createElement(TableGrid, { css: allCss },\n React.createElement(\"thead\", null, children))));\n}\n//# sourceMappingURL=StickyHead.js.map","export const getRowState = (rowId, { selectedRowIds, expandedRowIds, disabledRowIds, }) => {\n const rowState = {\n selected: (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.includes(rowId)) || false,\n expanded: (expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(rowId)) || false,\n disabled: (disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(rowId)) || false,\n };\n return rowState;\n};\n//# sourceMappingURL=getRowState.js.map","/* eslint-disable jsx-a11y/no-redundant-roles */\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\nimport { generateTableCss } from './utils';\nimport { useCellWidths, useColumns, useDragToScroll, useScrollPosition, useSelection, } from './hooks';\nimport { renderCell, renderFooter, renderHeader, renderLoadingCell, renderNestedCell, } from './renderers';\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nconst defaultEmptyState = {\n icon: React.createElement(InfoIcon, { width: 48, height: 48 }),\n heading: 'No results',\n};\nconst emptyAction = () => { };\nexport const DataTable = ({ ActionBarSlot, borderMode, columns: initialColumns, emptyState = defaultEmptyState, expandedRowIds, loading, loadingRowCount, onChangeSort, rows, disabledRowIds, selectionMode, selectionState, setExpanded, sortState, stripingMode, enableStickyHeader, resizeableColumns, onResizeColumns, }) => {\n // Refs\n const scrollContainerRef = useRef(null);\n const tableRef = useRef(null);\n const intersectionTargetRef = useRef(null);\n useDragToScroll(scrollContainerRef);\n // Configure row selection\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !(disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(id)));\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n // Assign actions\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n // Process columns\n const columnsWithSelection = [selectionColumn, ...initialColumns];\n const allColumns = selectionEnabled ? columnsWithSelection : initialColumns;\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const { visible, pinnedLeft, pinnedRight, setColumnWidth } = useColumns(allColumns, tableRef, onResizeColumns);\n const adjustedCellWidths = cellWidths.length === visible.length\n ? visible.map((col, i) => Number.isNaN(col.width || '') ? cellWidths[i] : col.width)\n : cellWidths;\n // Generate styles\n const { scrollPosition } = useScrollPosition(scrollContainerRef);\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths: adjustedCellWidths,\n scrollPosition,\n visible,\n stripingMode,\n });\n // Render states\n if (loading) {\n const loadingRows = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" }, loadingRows.map((row) => (React.createElement(Row, { key: row.id }, visible.map((col) => renderLoadingCell(row, col))))))))));\n }\n if (rows.length === 0) {\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" },\n React.createElement(EmptyBodyContent, { columnCount: visible.length },\n React.createElement(EmptyBodyGlyphWrapper, null, emptyState.icon),\n React.createElement(Stack, { spacing: \"sm\", alignX: \"center\" },\n React.createElement(Text, { variant: \"headingMedium\" }, emptyState.heading),\n emptyState.subheading && (React.createElement(Text, { variant: \"subheadingMedium\" }, emptyState.subheading)))))))));\n }\n const renderRow = (row) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, Object.assign({ role: \"row\", key: row.id, accentColor: accentColor, className: e2eClassName }, rowState), visible.map((col) => renderCell(row, col, actions, rowState))));\n };\n const renderNestedRow = (nestedRow, rowId) => {\n var _a, _b;\n const nestedRowE2eClassName = (_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, { role: \"row\", key: nestedRow.id, className: nestedRowE2eClassName }, visible.map((col) => renderNestedCell(nestedRow, col, rowState))));\n };\n const renderSection = (row) => {\n var _a;\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n return (React.createElement(\"tbody\", { role: \"rowgroup\", key: row.id },\n renderRow(row),\n isExpanded && ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))));\n };\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n if (hasNestedRows) {\n return (React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map((row) => {\n var _a;\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n const nestedRowElements = (isExpanded &&\n ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })));\n }\n return React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map(renderRow));\n };\n const headersMarkup = (React.createElement(Row, { role: \"row\" }, visible.map((column, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }))));\n const shouldRenderFooter = initialColumns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!ActionBarSlot;\n return (React.createElement(Wrapper, { borderMode: borderMode },\n shouldRenderActionBar && (React.createElement(ActionBar, { selectionColumn: selectionColumn, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef }, ActionBarSlot)),\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n enableStickyHeader && (React.createElement(StickyHead, { tableCss: tableCss, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef, cellWidths: adjustedCellWidths }, headersMarkup)),\n React.createElement(\"div\", { ref: intersectionTargetRef, style: { height: 0 } }),\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" }, headersMarkup),\n renderBody(),\n shouldRenderFooter && (React.createElement(\"tfoot\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderFooter({ column })))))))));\n};\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n//# sourceMappingURL=DataTable.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\nimport { LoadingCellContent } from '../components/LoadingCellContent';\n/**\n * Default renderer for loading cells\n * @param row\n * @param column\n * @returns\n */\nexport function renderLoadingCell(row, column) {\n if (column.hidden === true) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(LoadingCellContent, null)));\n}\n//# sourceMappingURL=renderLoadingCell.js.map","/**\n * Default renderer for table cells\n *\n * @param row\n * @param column\n * @returns\n */\nexport function renderCell(row, column, actions, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n span: column.span,\n };\n return column.renderCell(row, cellProps, actions, rowState);\n}\n//# sourceMappingURL=renderCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table cells in nested rows\n *\n * @param nestedRow\n * @param column\n * @returns\n */\nexport function renderNestedCell(nestedRow, column, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${nestedRow.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n if (!column.renderNestedCell) {\n return React.createElement(Cell, Object.assign({}, cellProps));\n }\n return column.renderNestedCell(nestedRow, cellProps, rowState);\n}\n//# sourceMappingURL=renderNestedCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table footer cells\n *\n * @param column Column configuration object\n * @returns Footer cell instance\n */\nexport function renderFooter({ column }) {\n if (column.hidden) {\n return null;\n }\n const footerProps = {\n key: column.id,\n role: 'cell',\n align: column.align,\n spacing: column.spacing,\n };\n if (!column.renderFooter) {\n return React.createElement(Cell, Object.assign({}, footerProps));\n }\n return column.renderFooter(column, footerProps);\n}\n//# sourceMappingURL=renderFooter.js.map","import React, { useState } from 'react';\nimport { Button } from '../../Button';\nimport { Card } from '../../Card';\nimport { Popover } from '../../Popover';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nimport { VisiblityIcon } from '../../../tempIcons/VisibilityIcon';\nimport { VisiblityOffIcon } from '../../../tempIcons/VisibilityOffIcon';\nimport { ReorderIcon } from '../../../tempIcons/ReorderIcon';\nexport function ColumnMenu({ columns, columnGroups, setColumns }) {\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n const [showPopover, setShowPopover] = useState(false);\n const columnEntries = columns.map((column) => [column.id, column]);\n const columnsMap = Object.fromEntries(columnEntries);\n const groups = columnGroups.map((group) => group.map((columnId) => columnsMap[columnId]));\n const setHidden = (groupIndex, hidden) => {\n const columnIds = groups[groupIndex].map((column) => column.id);\n const newColumns = [...columns];\n columnIds.forEach((columnId) => {\n const index = newColumns.findIndex((column) => column.id === columnId);\n if (index < 0)\n return;\n newColumns[index] = Object.assign(Object.assign({}, newColumns[index]), { hidden });\n });\n setColumns(newColumns);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { ref: setPopoverAnchor, dropdown: true, onClick: () => setShowPopover(true) }, \"Columns\"),\n showPopover && (React.createElement(Popover, { anchorElement: popoverAnchor, onShouldClose: () => setShowPopover(false) },\n React.createElement(Card, { style: { width: 600 } },\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" }, groups.map((group, groupIndex) => (React.createElement(Stack, { key: group[0].id, direction: \"horizontal\", alignY: \"center\", spacing: \"sm\", style: {\n border: '1px solid black',\n padding: 8,\n } },\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(ReorderIcon, null) }),\n React.createElement(Stack, { spacing: \"sm\", style: { flex: 1 } }, group.map((column) => (React.createElement(\"div\", { key: column.id }, column.title)))),\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"sm\" }, group[0].hidden ? (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityOffIcon, null), onClick: () => setHidden(groupIndex, false), style: { color: theme.colors.neutral.ink.lightest } })) : (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityIcon, null), onClick: () => setHidden(groupIndex, true) }))))))))))));\n}\n//# sourceMappingURL=ColumnMenu.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nconst List = styled.dl.withConfig({ displayName: \"vui--List\", componentId: \"vui--syirga\" }) `margin:unset;& > * + *{margin-top:${theme.sizes.base};}`;\nconst Item = styled.div.withConfig({ displayName: \"vui--Item\", componentId: \"vui--dz7dgm\" }) `& > * + *{margin-top:${theme.sizes.xs};}`;\nconst ItemRow = styled.div.withConfig({ displayName: \"vui--ItemRow\", componentId: \"vui--1b0o5wp\" }) `display:flex;justify-content:space-between;& > * + *{margin-left:${theme.sizes.base};}`;\nconst DescriptionContainer = styled.div.withConfig({ displayName: \"vui--DescriptionContainer\", componentId: \"vui--foltw8\" }) `text-align:right;& > * + *{margin-top:${theme.sizes.xs};}`;\nconst Term = styled.dt.withConfig({ displayName: \"vui--Term\", componentId: \"vui--s2cfux\" }) `font-family:${theme.text.bodyBold.fontFamily};font-size:${theme.text.bodyBold.fontSize};font-weight:${theme.text.bodyBold.fontWeight};line-height:${theme.text.bodyBold.lineHeight};color:${theme.text.bodyBold.color};`;\nconst Description = styled.dd.withConfig({ displayName: \"vui--Description\", componentId: \"vui--1915ejg\" }) `margin-left:unset;font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.text.body.lineHeight};color:${theme.text.body.color};`;\nexport const DescriptionList = ({ items, horizontal }) => {\n const renderDescription = (description) => {\n if (Array.isArray(description)) {\n return description.map((d) => React.createElement(Description, { key: d }, d));\n }\n return React.createElement(Description, null, description);\n };\n const renderItem = (item) => {\n if (horizontal) {\n return (React.createElement(ItemRow, { key: item.term },\n React.createElement(Term, null, item.term),\n React.createElement(DescriptionContainer, null, renderDescription(item.description))));\n }\n return (React.createElement(Item, { key: item.term },\n React.createElement(Term, null, item.term),\n renderDescription(item.description)));\n };\n return React.createElement(List, null, items.map(renderItem));\n};\n//# sourceMappingURL=DescriptionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { sizes, colors } = theme;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--2wnu9m\" }) `width:100%;display:grid;grid-template-columns:${({ showSidebar = true }) => showSidebar ? `calc(100% - 312px - ${sizes.md}) 312px` : '100% 312px'};align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\nexport const ContentContainer = styled.div.withConfig({ displayName: \"vui--ContentContainer\", componentId: \"vui--nvukr5\" }) `width:100%;box-sizing:border-box;padding:${sizes.md};overflow-x:hidden;background-color:${colors.neutral.grey.lightest};`;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nexport const InputGroup = styled.div.withConfig({ displayName: \"vui--InputGroup\", componentId: \"vui--1w0e9jz\" }) `display:flex;& > *{margin-left:0;margin-right:0;box-shadow:none;}& > *:not(:last-child){border-right-width:0 !important;}& > *:hover{}& > *:focus,& > *:active{z-index:5;border-right-width:1px !important;}& > *:focus + *,& > *:active + *{border-left-width:0 !important;}& > *:not(:first-child):not(:last-child){border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:first-child{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:last-child{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important;}`;\n//# sourceMappingURL=index.js.map","export var ComponentSize;\n(function (ComponentSize) {\n ComponentSize[\"base\"] = \"base\";\n ComponentSize[\"sm\"] = \"sm\";\n})(ComponentSize || (ComponentSize = {}));\n//# sourceMappingURL=types.js.map","import styled, { css } from 'styled-components';\nimport { theme } from '../../theme';\nconst pseudoStates = ({ hasError, inputSize }) => css `&{--outline-size:${inputSize === 'sm' ? '2px' : '4px'};}&:focus{border-color:#0079d1;box-shadow:0 0 0 var(--outline-size)#80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 var(--outline-size)#f7bcbc;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}${hasError &&\n `\n &,\n &:focus {\n border-color: #EB5757;\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--outline-size) #F7BCBC;\n }\n `}`;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--3jt15a\" }) `font-family:${theme.fontFamily};box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 12px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${({ inputSize }) => {\n let height = '40px';\n let fontSize = '14px';\n if (inputSize === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} ${pseudoStates} &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;width:8ch;text-align:right;}`;\nexport const Textarea = styled.textarea.withConfig({ displayName: \"vui--Textarea\", componentId: \"vui--1k04ik\" }) `box-sizing:border-box;width:100%;padding:8px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${pseudoStates}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, forwardRef } from 'react';\nimport { generateId } from '../../utils/generateId';\nimport { Input, Textarea } from './styled';\nimport { ComponentSize } from '../types';\nconst NUMBER_REGEX = /^-?[0-9]*\\.?[0-9]+$/;\nexport const TextField = forwardRef((_a, ref) => {\n var { id, className, disabled = false, hasError, max, min, multiline = false, name, onChange, pattern, placeholder, rows = '3', size = ComponentSize.base, step, type = 'text', value, spellCheck = false } = _a, otherProps = __rest(_a, [\"id\", \"className\", \"disabled\", \"hasError\", \"max\", \"min\", \"multiline\", \"name\", \"onChange\", \"pattern\", \"placeholder\", \"rows\", \"size\", \"step\", \"type\", \"value\", \"spellCheck\"]);\n const handleChange = useCallback((event) => {\n if (!onChange)\n return;\n const newValue = event.currentTarget.value;\n if (newValue === '') {\n onChange(newValue);\n return;\n }\n if (type !== 'number') {\n onChange(newValue);\n return;\n }\n const reg = new RegExp(NUMBER_REGEX);\n if (!reg.test(newValue)) {\n return;\n }\n onChange(newValue);\n }, [onChange, type]);\n const componentId = id !== null && id !== void 0 ? id : generateId('textfield');\n if (type === 'text' && multiline) {\n return (React.createElement(Textarea, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, name: name, onChange: handleChange, placeholder: placeholder, rows: rows, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n }\n return (React.createElement(Input, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, inputSize: size, max: max, min: min, name: name, \"aria-label\": name, onChange: handleChange, placeholder: placeholder, step: step, type: type, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n});\n//# sourceMappingURL=TextField.js.map","import { withLabels } from '../../hoc';\nimport { TextField as StandardTextField } from './TextField';\nexport const TextField = withLabels(StandardTextField);\nTextField.displayName = 'TextField';\n//# sourceMappingURL=index.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { TextField } from '../TextField';\nimport { Button } from '../Button';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--oxhxoy\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--w9sg63\" }) `display:flex;align-items:center;margin-top:4px;gap:8px;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1dp86fg\" }) `width:52px;margin:0;padding:0 6px;&&&{text-align:left;border-color:${theme.colors.neutral.ink.lightest};}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--1h9einl\" }) `padding:0 6px;border-color:${theme.colors.neutral.ink.lightest};`;\nconst Label = styled(Text).withConfig({ displayName: \"vui--Label\", componentId: \"vui--2iwwsg\" }) ``;\nconst Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1ln478r\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nconst Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--5lfadq\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport { Container, Row, Error, Hint, StyledTextField as TextField, StyledButton as Button, Label };\n//# sourceMappingURL=styled.js.map","export const blockInvalidCharacters = (e, invalidList) => {\n if (invalidList.includes(e.key))\n e.preventDefault();\n};\n//# sourceMappingURL=blockInvalidCharacters.js.map","export const invalidCharsList = ['-', '+', 'E', 'e'];\n//# sourceMappingURL=invalidCharactersNumeric.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { InputGroup } from '../InputGroup';\nimport { ComponentSize } from '../types';\nimport { withLabels } from '../../hoc';\nimport { Container, Row, TextField, Button } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { theme } from '../../theme';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\nexport const DimensionsInput = withLabels((_a) => {\n var { size = ComponentSize.base, handleChangeHeight, handleChangeWidth, handleChangeLength, className, height, width, length, unit } = _a, rest = __rest(_a, [\"size\", \"handleChangeHeight\", \"handleChangeWidth\", \"handleChangeLength\", \"className\", \"height\", \"width\", \"length\", \"unit\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeLength, size: size, name: \"length\", type: \"number\", placeholder: \"L\", value: length, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(TextField, Object.assign({ onChange: handleChangeWidth, size: size, name: \"width\", type: \"number\", placeholder: \"W\", value: width, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeHeight, size: size, name: \"height\", type: \"number\", placeholder: \"H\", value: height, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\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 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 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 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 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 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 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 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 styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nconst { blue } = colors.secondary;\nconst { grey } = colors.neutral;\nexport const TableHeader = styled.thead.withConfig({ displayName: \"vui--TableHeader\", componentId: \"vui--o0sot\" }) `background-color:white;`;\nexport const TableBody = styled.tbody.withConfig({ displayName: \"vui--TableBody\", componentId: \"vui--nuzcgp\" }) `&&& tr:hover td{background-color:${blue.lightest};}`;\nexport const TableRow = styled.tr.withConfig({ displayName: \"vui--TableRow\", componentId: \"vui--1uhgfx1\" }) ``;\nexport const TableCell = styled.td.withConfig({ displayName: \"vui--TableCell\", componentId: \"vui--s41x8b\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};& > *{vertical-align:middle;}`;\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--TableHeaderCell\", componentId: \"vui--2nps2x\" }) `border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--lcbl46\" }) `width:100%;border-spacing:0;${({ striped }) => striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { TableBody, TableCell, TableHeader, TableRow, TableHeaderCell, Table } from './styled';\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }) => (React.createElement(Table, { striped: striped, className: className }, children));\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n//# sourceMappingURL=SimpleTable.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nexport const Skeleton = styled(BaseContainer).attrs(() => ({\n 'aria-hidden': true,\n})).withConfig({ displayName: \"vui--Skeleton\", componentId: \"vui--7bl1ak\" }) `display:block;background:#f6f7f8;background:linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);background-size:2500px 104px;cursor:progress;border-radius:4px;${({ width = '', height = '' }) => `\n width: ${width || '100%'};\n min-width: ${width};\n height: ${height || '20px'};\n min-height: ${height};\n `};@media (prefers-reduced-motion: no-preference){animation-duration:2s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;}@keyframes placeHolderShimmer{0%{background-position:-1080px 0;}100%{background-position:1080px 0;}}`;\nSkeleton.displayName = 'Skeleton';\n//# sourceMappingURL=Skeleton.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst TRACK_HEIGHT = 4;\nconst BORDER_SIZE = 4;\nconst SLIDER_SIZE = 12;\nconst ADDITIONAL_PADDING = 2;\nconst SliderContainer = styled.div.withConfig({ displayName: \"vui--SliderContainer\", componentId: \"vui--103oce3\" }) `min-width:128px;display:inline-block;position:relative;padding:${SLIDER_SIZE / 2 + ADDITIONAL_PADDING}px 0px;`;\nconst SliderTrack = styled.div.withConfig({ displayName: \"vui--SliderTrack\", componentId: \"vui--1ctzbzj\" }) `background:${theme.colors.neutral.grey.base};height:${TRACK_HEIGHT}px;border-radius:20px;`;\nconst SliderDiv = styled.div.withConfig({ displayName: \"vui--SliderDiv\", componentId: \"vui--1tltjvk\" }) `position:absolute;top:-${(SLIDER_SIZE - TRACK_HEIGHT) / 2 - ADDITIONAL_PADDING * 2}px;left:${(props) => `${props.left}%`};width:${SLIDER_SIZE}px;height:${SLIDER_SIZE}px;background:white;border:${BORDER_SIZE}px solid ${theme.colors.secondary.blue.base};border-radius:50%;touch-action:none;cursor:pointer;margin-left:-${SLIDER_SIZE}px;&:active,&:focus,&:focus-visible,&:focus-within{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}`;\nconst SliderRange = styled(SliderTrack).withConfig({ displayName: \"vui--SliderRange\", componentId: \"vui--t3v3py\" }) `position:relative;width:${(props) => `${props.width}%`};left:${(props) => `${props.left}%`};background:${theme.colors.secondary.blue.light};bottom:${TRACK_HEIGHT}px;border-radius:0;`;\nexport { SliderContainer, SliderTrack, SliderRange, SliderDiv };\n//# sourceMappingURL=styled.js.map","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { SliderContainer, SliderTrack, SliderRange, SliderDiv } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-slider-container` : undefined,\n sliderRange: prefix ? `${prefix}-slider-range` : undefined,\n slider: prefix ? `${prefix}-slider` : undefined,\n startSlider: prefix ? `${prefix}-start-slider` : undefined,\n endSlider: prefix ? `${prefix}-end-slider` : undefined,\n});\nexport const Slider = ({ id, value, min, max, step = 1, onChange, className, e2eClassName, onSlideStart = () => { }, onSlideEnd = () => { }, }) => {\n const [isDragging, setIsDragging] = useState(false);\n const [draggingSliderIndex, setDraggingSliderIndex] = useState(-1);\n const containerRef = useRef(null);\n const startSliderRef = useRef(null);\n const endSliderRef = useRef(null);\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const handleMouseMove = useCallback((e) => {\n var _a;\n if (!isDragging || !containerRef.current)\n return;\n const sliderValue = draggingSliderIndex > -1 ? value[draggingSliderIndex] : value;\n const containerSize = containerRef.current.getBoundingClientRect();\n // slider position relative to the container in percents\n const handleValue = ((e.pageX - containerSize.x) * 100) / containerSize.width;\n // current value by slider position\n let newValue = (max - min) * (handleValue / 100) + min;\n const diff = sliderValue - newValue;\n // use to apply step to new value\n if (diff > 0) {\n newValue = sliderValue + Math.ceil(newValue / step - sliderValue / step) * step;\n }\n if (diff < 0) {\n newValue = sliderValue + Math.floor(newValue / step - sliderValue / step) * step;\n }\n if (sliderValue === newValue)\n return;\n if (newValue > max)\n newValue = max;\n if (newValue < min)\n newValue = min;\n if (Array.isArray(value)) {\n if (draggingSliderIndex === 0 && newValue > value[1])\n [, newValue] = value;\n if (draggingSliderIndex === 1 && newValue < value[0])\n [newValue] = value;\n }\n // used to fix 0.30000000000000004 problem\n const decimalPlaces = step.toString().includes('.')\n ? (_a = step.toString().split('.').pop()) === null || _a === void 0 ? void 0 : _a.length\n : 0;\n newValue = Number(newValue.toFixed(decimalPlaces));\n let resultValue;\n if (Array.isArray(value)) {\n resultValue = draggingSliderIndex === 0 ? [newValue, value[1]] : [value[0], newValue];\n }\n else {\n resultValue = newValue;\n }\n onChange(resultValue);\n if (Array.isArray(resultValue) && resultValue[0] === resultValue[1]) {\n if (draggingSliderIndex === 0)\n setDraggingSliderIndex(1);\n if (draggingSliderIndex === 1)\n setDraggingSliderIndex(0);\n }\n }, [draggingSliderIndex, isDragging, max, min, onChange, step, value]);\n const handleMouseUp = useCallback(() => {\n setIsDragging(false);\n onSlideEnd();\n }, [onSlideEnd]);\n const handleMouseDown = useCallback((e, index) => {\n setIsDragging(true);\n onSlideStart();\n if (typeof index === 'number')\n setDraggingSliderIndex(index);\n e.preventDefault();\n }, [onSlideStart]);\n useEffect(() => {\n const handleStartSliderMouseDown = (e) => handleMouseDown(e, Array.isArray(value) ? 0 : 1);\n const handleEndSliderMouseDown = (e) => handleMouseDown(e, 1);\n const startSliderEl = startSliderRef.current;\n const endSliderEl = endSliderRef.current;\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.addEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.addEventListener('mousedown', handleEndSliderMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n return () => {\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.removeEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.removeEventListener('mousedown', handleEndSliderMouseDown);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [handleMouseDown, handleMouseMove, handleMouseUp, value]);\n const renderSlider = (left, valueNow, index) => {\n let sliderClassName;\n if (typeof index === 'number') {\n sliderClassName = buildClassnames(index === 0\n ? [classNames === null || classNames === void 0 ? void 0 : classNames.startSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.startSlider]\n : [classNames === null || classNames === void 0 ? void 0 : classNames.endSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.endSlider]);\n }\n else {\n sliderClassName = buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.slider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.slider]);\n }\n return (React.createElement(SliderDiv, { role: \"slider\", ref: index === 1 ? endSliderRef : startSliderRef, className: sliderClassName, left: left, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-valuenow\": valueNow }));\n };\n const renderRangeSlider = (rangeSliderValue) => {\n // handle value used to get slider position relative to container from value\n const handleValueStart = ((rangeSliderValue[0] < min ? 0 : rangeSliderValue[0] - min) * 100) / (max - min);\n const handleValueEnd = ((rangeSliderValue[1] > max ? 100 : rangeSliderValue[1] - min) * 100) / (max - min);\n const rangeWidth = handleValueEnd - handleValueStart;\n return (React.createElement(React.Fragment, null,\n React.createElement(SliderRange, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.sliderRange, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.sliderRange]), left: handleValueStart, width: rangeWidth }),\n renderSlider(handleValueStart, rangeSliderValue[0], 0),\n renderSlider(handleValueEnd, rangeSliderValue[1], 1)));\n };\n const renderSingleSlider = (sliderValue) => {\n if (Array.isArray(value))\n return renderRangeSlider(value);\n let handleValue;\n if (value > max)\n handleValue = 100;\n else if (value < min)\n handleValue = 0;\n else\n handleValue = ((sliderValue - min) * 100) / (max - min);\n return renderSlider(handleValue, sliderValue);\n };\n let render;\n if (Array.isArray(value))\n render = renderRangeSlider(value);\n else\n render = renderSingleSlider(value);\n return (React.createElement(SliderContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), id: id, ref: containerRef },\n React.createElement(SliderTrack, null),\n render));\n};\n//# sourceMappingURL=Slider.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nexport const Tag = styled(BaseContainer).withConfig({ displayName: \"vui--Tag\", componentId: \"vui--1rdo7hk\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:4px 8px;${({ backgroundColor, color }) => `\n color: ${color !== null && color !== void 0 ? color : colors.neutral.ink.base};\n background-color: ${backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : colors.neutral.grey.base};\n `}`;\n//# sourceMappingURL=Tag.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const ToastsLayoutContainer = styled(Stack).withConfig({ displayName: \"vui--ToastsLayoutContainer\", componentId: \"vui--1iztsl9\" }) `position:fixed;bottom:24px;width:100%;pointer-events:none;z-index:${theme.layers.tooltip};`;\nexport const Toast = styled(Stack).withConfig({ displayName: \"vui--Toast\", componentId: \"vui--1o64628\" }) `background-color:${theme.colors.neutral.ink.dark};padding:12px 24px 12px 12px;box-shadow:${theme.shadows.lg};border-radius:${theme.radius.md};pointer-events:auto;z-index:40;min-width:${({ minWidth }) => minWidth};max-width:80vw;&.veeqo-components-toast-enter{transform:translateY(12px);opacity:0;}&.veeqo-components-toast-enter-active{transform:translateY(0);opacity:1;transition:500ms ease;}&.veeqo-components-toast-exit{transform:${({ last }) => (last ? 'translateY(0)' : 'translateX(0)')};opacity:1;}&.veeqo-components-toast-exit-active{transform:${({ last }) => (last ? 'translateY(12px)' : 'translateX(12px)')};opacity:0;transition:500ms ease;}`;\nexport const IconWrap = styled(BaseContainer).withConfig({ displayName: \"vui--IconWrap\", componentId: \"vui--1nmtetq\" }) `display:flex;flex-direction:row;align-items:center;justify-content:center;height:40px;width:40px;border-radius:${theme.radius.md};background-color:${({ color }) => color};color:#fff;svg{width:${sizes.md};height:${sizes.md};}`;\nexport const ContentStack = styled(Stack).withConfig({ displayName: \"vui--ContentStack\", componentId: \"vui--fvpujj\" }) `flex-grow:1;`;\nexport const StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--ppieao\" }) `color:white;font-size:16px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { colors } from '../../../theme/modules/colors';\nimport { IconWrap, Toast as ToastContainer, StyledText as Text, ContentStack } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nimport { Button } from '../../Button';\nimport { SuccessIcon } from '../../../tempIcons/SuccessIcon';\nimport { InfoIcon } from '../../../tempIcons/InfoIcon';\nimport { AttentionIcon } from '../../../tempIcons/AttentionIcon';\nimport { MergeIcon } from '../../../tempIcons/MergeIcon';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nconst toastTypes = {\n info: {\n accentColor: colors.brand.blue.base,\n icon: React.createElement(InfoIcon, null),\n },\n success: {\n accentColor: colors.secondary.green.base,\n icon: React.createElement(SuccessIcon, null),\n },\n error: {\n accentColor: colors.secondary.red.base,\n icon: React.createElement(AttentionIcon, null),\n },\n merge: {\n accentColor: colors.secondary.purple.base,\n icon: React.createElement(MergeIcon, null),\n },\n};\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-toast-container` : undefined,\n icon: prefix ? `${prefix}-toast-icon` : undefined,\n closeIcon: prefix ? `${prefix}-toast-close-icon` : undefined,\n});\nexport const Toast = ({ className, e2eClassName, type, iconSlot, text, last, minWidth, cta, onClose, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n return (React.createElement(ToastContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), direction: \"horizontal\", alignY: \"center\", minWidth: minWidth, last: last },\n React.createElement(IconWrap, { color: toastTypes[type].accentColor, className: buildClassnames([classNames.icon, e2eClassNames.icon]) }, iconSlot !== null && iconSlot !== void 0 ? iconSlot : toastTypes[type].icon),\n React.createElement(ContentStack, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(Text, { variant: \"body\" }, text),\n cta),\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, { color: \"white\" }), onClick: onClose, \"aria-label\": \"Close\" })));\n};\n//# sourceMappingURL=Toast.js.map","import React from 'react';\nexport const MergeIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.9887 6.82229H6.84911L12.1714 1.5L17.4937 6.82229H13.3541V14.4036L6.25774 21.5L4.59009 19.8323L10.9887 13.4338V6.82229ZM19.7527 19.8323L18.0851 21.5L14.0519 17.4669L15.7196 15.7992L19.7527 19.8323Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MergeIcon.js.map","import 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 styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { radius } from '../../theme/modules/radius';\nimport { sizes } from '../../theme/modules/sizes';\nexport const DropZoneContainer = styled.div.withConfig({ displayName: \"vui--DropZoneContainer\", componentId: \"vui--17v0v3c\" }) `display:flex;align-items:center;justify-content:center;padding:${sizes.md};border-radius:${radius.base};input[type='file']{position:absolute;opacity:0;width:1px;height:1px;cursor:pointer;}cursor:pointer;border:2px dashed ${colors.neutral.ink.lightest};background-color:${colors.neutral.grey.lightest};:hover{border:2px dashed ${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};}:active{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}:focus-within{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}&:has(input:invalid){border:2px dashed ${colors.secondary.red.base};:hover{border:2px dashed ${colors.secondary.red.base};background-color:${colors.secondary.red.lightest};}:active{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}:focus-within{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}}&:has(input:disabled){cursor:not-allowed;box-shadow:none;background-color:${colors.neutral.grey.light};border-color:${colors.neutral.ink.lightest};color:${colors.neutral.ink.light};}`;\n//# sourceMappingURL=styled.js.map","export var AcceptedFileTypes;\n(function (AcceptedFileTypes) {\n AcceptedFileTypes[\"CSV\"] = \".csv\";\n AcceptedFileTypes[\"JPEG\"] = \".jpeg\";\n AcceptedFileTypes[\"JPG\"] = \".jpg\";\n AcceptedFileTypes[\"GIF\"] = \".gif\";\n AcceptedFileTypes[\"PNG\"] = \".png\";\n})(AcceptedFileTypes || (AcceptedFileTypes = {}));\nexport var FileSizeUnit;\n(function (FileSizeUnit) {\n FileSizeUnit[\"KB\"] = \"KB\";\n FileSizeUnit[\"MB\"] = \"MB\";\n})(FileSizeUnit || (FileSizeUnit = {}));\nexport var InputState;\n(function (InputState) {\n InputState[\"VALID\"] = \"\";\n InputState[\"INVALID_FORMAT\"] = \"File is incorrect format\";\n InputState[\"INVALID_SIZE\"] = \"File size is too big\";\n InputState[\"INVALID_FORMAT_AND_SIZE\"] = \"File is incorrect format and too big\";\n})(InputState || (InputState = {}));\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const UploadGraphic = () => (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"56\", height: \"56\", fill: \"none\", role: \"presentation\" },\n React.createElement(\"path\", { fill: \"#fff\", d: \"M0 28C0 12.536 12.536 0 28 0s28 12.536 28 28-12.536 28-28 28S0 43.464 0 28\" }),\n React.createElement(\"path\", { fill: \"#37424D\", d: \"M22.5 36c-1.517 0-2.812-.525-3.887-1.575-1.075-1.05-1.613-2.333-1.613-3.85 0-1.3.392-2.458 1.175-3.475s1.808-1.667 3.075-1.95c.417-1.533 1.25-2.775 2.5-3.725C25 20.475 26.417 20 28 20c1.95 0 3.604.68 4.962 2.038C34.322 23.396 35 25.05 35 27c1.15.133 2.104.63 2.862 1.488A4.407 4.407 0 0 1 39 31.5c0 1.25-.437 2.313-1.312 3.188C36.812 35.562 35.75 36 34.5 36H29c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 27 34v-5.15l-1.6 1.55L24 29l4-4 4 4-1.4 1.4-1.6-1.55V34h5.5c.7 0 1.292-.242 1.775-.725.483-.483.725-1.075.725-1.775s-.242-1.292-.725-1.775C35.792 29.242 35.2 29 34.5 29H33v-2c0-1.383-.487-2.562-1.462-3.538C30.562 22.489 29.383 22 28 22s-2.562.488-3.538 1.462C23.489 24.438 23 25.618 23 27h-.5c-.967 0-1.792.342-2.475 1.025A3.372 3.372 0 0 0 19 30.5c0 .967.342 1.792 1.025 2.475A3.372 3.372 0 0 0 22.5 34H25v2z\" })));\n//# sourceMappingURL=UploadGraphic.js.map","import React from 'react';\nimport { UploadGraphic } from '../../UploadGraphic';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadCopy = () => (React.createElement(Stack, { alignX: \"center\", alignY: \"center\", spacing: \"sm\", style: { pointerEvents: 'none' } },\n React.createElement(UploadGraphic, null),\n React.createElement(Text, { variant: \"subheadingSmall\", style: { paddingTop: sizes.sm } }, \"Browse files or drag them here\")));\n//# sourceMappingURL=UploadCopy.js.map","import React from 'react';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadFileErrors = ({ acceptedTypesCopy, maxSizeCopy }) => {\n if (!acceptedTypesCopy && !maxSizeCopy)\n return null;\n return (React.createElement(Stack, { alignX: \"start\", spacing: \"xs\" },\n acceptedTypesCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"Invalid format (\",\n acceptedTypesCopy,\n \")\"),\n maxSizeCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"File is too big (\",\n maxSizeCopy,\n \")\")));\n};\n//# sourceMappingURL=UploadFileErrors.js.map","import styled from 'styled-components';\nimport { Text } from '../../../Text';\nimport { colors } from '../../../../theme/modules/colors';\nimport { radius } from '../../../../theme/modules/radius';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nexport const SingleLineText = styled(Text).withConfig({ displayName: \"vui--SingleLineText\", componentId: \"vui--1aguyhc\" }) `display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;`;\nexport const UploadedFilesListStack = styled(Stack).withConfig({ displayName: \"vui--UploadedFilesListStack\", componentId: \"vui--1g0ca18\" }) `border:1px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};padding:${sizes.xs};${Text}{padding-left:${sizes.xs};}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../../../Button';\nimport { CrossIcon } from '../../../../tempIcons/CrossIcon';\nimport { SingleLineText, UploadedFilesListStack } from './styled';\nexport const UploadedFile = ({ file, resetSelection, disabled }) => {\n if (!file)\n return null;\n return (React.createElement(UploadedFilesListStack, { alignX: \"between\", direction: \"horizontal\", alignY: \"center\" },\n React.createElement(SingleLineText, { variant: \"body\" }, file === null || file === void 0 ? void 0 : file.name),\n React.createElement(Button, { size: \"sm\", variant: \"flat\", onClick: resetSelection, icon: React.createElement(CrossIcon, null), \"aria-label\": \"Remove file\", disabled: disabled })));\n};\n//# sourceMappingURL=UploadedFile.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useState, forwardRef, useImperativeHandle, useRef, } from 'react';\nimport { DropZoneContainer } from './styled';\nimport { InputState, FileSizeUnit } from './constants';\nimport { UploadCopy } from './components/UploadCopy/UploadCopy';\nimport { setInputElFile } from './utils/setInputElFile/setInputElFile';\nimport { getFileSizeString, getTypePropForInputEl, getValidTypesString } from './utils';\nimport { Hint, Label, RootStack } from '../../hoc/withLabels/styled';\nimport { Stack } from '../Stack';\nimport { UploadFileErrors } from './components/UploadFileErrors/UploadFileErrors';\nimport { UploadedFile } from './components/UploadedFile/UploadedFile';\nimport { sizes } from '../../theme/modules/sizes';\nexport const UploadFile = forwardRef((_a, outerRef) => {\n var { id, name, maxBytes = 1000000, format = FileSizeUnit.MB, fileTypes, label = 'Upload file', required, disabled } = _a, otherProps = __rest(_a, [\"id\", \"name\", \"maxBytes\", \"format\", \"fileTypes\", \"label\", \"required\", \"disabled\"]);\n const inputRef = useRef(null);\n useImperativeHandle(outerRef, () => inputRef.current, []);\n const [file, setFile] = useState();\n const [errorState, setErrorState] = useState(InputState.VALID);\n const isInvalidFormat = errorState === InputState.INVALID_FORMAT || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n const isOverMaxSize = errorState === InputState.INVALID_SIZE || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n // Computed properties based on params\n const maxSizeCopy = getFileSizeString({ maxBytes, format });\n const acceptedTypesCopy = getValidTypesString({ fileTypes });\n const acceptedTypesForInputEl = getTypePropForInputEl({ fileTypes });\n const clearFileSelection = () => {\n var _a;\n if ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value)\n inputRef.current.value = '';\n };\n // Tracks error states within the input element itself, using preset\n // error messages and assigns these to the input component based on the file\n const setInputValidation = ({ overMaxSize, invalidFormat, }) => {\n var _a;\n let error = InputState.VALID;\n if (invalidFormat && !overMaxSize) {\n error = InputState.INVALID_FORMAT;\n }\n else if (!invalidFormat && overMaxSize) {\n error = InputState.INVALID_SIZE;\n }\n else if (invalidFormat && overMaxSize) {\n error = InputState.INVALID_FORMAT_AND_SIZE;\n }\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.setCustomValidity(error);\n setErrorState(error);\n };\n // Processes file and updates the UI appropriately:\n const updateFiles = useCallback((files) => {\n if (!files.length) {\n setInputValidation({ invalidFormat: true });\n return;\n }\n const [newFile] = files;\n const hasExceededMaxSize = newFile.size > maxBytes;\n const [, extension] = newFile.type.split('/');\n const isTypeValid = fileTypes.find((validType) => validType.substring(1) === extension);\n const hasInvalidFormat = !isTypeValid;\n if (hasExceededMaxSize || hasInvalidFormat) {\n // Empty the inputRef's read-only fileList by clearing the value attribute,\n // since we have an invalid input.\n clearFileSelection();\n }\n else {\n // Update the files attribute of the input el, with the new file(s)\n setInputElFile({ fileList: files, elementId: id });\n }\n setInputValidation({\n invalidFormat: hasInvalidFormat,\n overMaxSize: hasExceededMaxSize,\n });\n setFile(newFile);\n }, [fileTypes, id, maxBytes]);\n // For focussing of input el and updating drop UI\n const onDragEnter = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n };\n // For unfocussing of input el and updating drop UI\n const onDragLeave = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n };\n // Prevents default browser behaviour\n const onDragOver = (event) => event.preventDefault();\n // Process file when dropped into eligible area\n const onDrop = (event) => {\n event.preventDefault();\n // Prevent reactions on dragging events that do not contain files\n if (!event.dataTransfer.files.length)\n return;\n updateFiles(event.dataTransfer.files);\n };\n // Removes input el's files, clears errors and removes file from react component\n const resetSelection = useCallback(() => {\n clearFileSelection();\n setFile(undefined);\n setInputValidation({\n invalidFormat: false,\n overMaxSize: false,\n });\n }, []);\n // Updates UI based on a native file input change. Attached via useEffect below\n const onInputChange = useCallback(() => {\n var _a;\n const files = (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.files;\n if ((files === null || files === void 0 ? void 0 : files.length) && (files === null || files === void 0 ? void 0 : files.length) > 0)\n updateFiles(files);\n else\n resetSelection();\n }, [resetSelection, updateFiles]);\n useEffect(() => {\n const ref = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current;\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('cancel', resetSelection);\n return () => {\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('cancel', resetSelection);\n };\n }, [onInputChange, resetSelection]);\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(Label, { htmlFor: id },\n label,\n React.createElement(Stack, { spacing: 3, alignX: \"stretch\", style: { paddingTop: sizes.sm } },\n React.createElement(Hint, null,\n React.createElement(\"div\", null, acceptedTypesCopy),\n React.createElement(\"div\", null, maxSizeCopy)),\n React.createElement(DropZoneContainer, { onDrop: onDrop, onDragEnter: onDragEnter, onDragOver: onDragOver, onDragLeave: onDragLeave },\n React.createElement(UploadCopy, null),\n React.createElement(\"input\", Object.assign({ ref: inputRef, id: id, type: \"file\", accept: acceptedTypesForInputEl, name: name, required: required, disabled: disabled }, otherProps))))),\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" },\n React.createElement(UploadedFile, { file: file, resetSelection: resetSelection, disabled: disabled }),\n React.createElement(UploadFileErrors, { acceptedTypesCopy: isInvalidFormat ? acceptedTypesCopy : undefined, maxSizeCopy: isOverMaxSize ? maxSizeCopy : undefined }))));\n});\n//# sourceMappingURL=UploadFile.js.map","import { FileSizeUnit } from '../../constants';\n/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property\n *\n * E.g.\n *\n * const maxSizeCopy = getFileSizeString({\n * maxBytes: 10000,\n * format: FileSizeUnit.MB\n * });\n *\n * Where @constant maxSizeCopy would equal \"Max size: 1 MB\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getFileSizeString = ({ maxBytes, format, baseString }) => {\n const base = baseString == null ? 'Max size: ' : baseString;\n switch (format) {\n case FileSizeUnit.KB:\n return `${base}${Number(maxBytes) / 1000} KB`;\n case FileSizeUnit.MB:\n return `${base}${Number(maxBytes) / 1000000} MB`;\n default:\n return `${base}${Number(maxBytes) / 1000} KB`;\n }\n};\n//# sourceMappingURL=getFileSizeString.js.map","import { AcceptedFileTypes } from '../../constants';\n/**\n * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the\n * fileTypes list passed as parameter.\n *\n * E.g.\n *\n * const validTypesCopy = getValidTypesString({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant validTypesCopy would equal \"Valid types: CSV\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * @param baseString - An optional string to override the default value of 'Valid types: ' prefixed to\n * the returned string\n */\nexport const getValidTypesString = ({ fileTypes, baseString }) => {\n let base = baseString == null ? 'Valid types: ' : baseString;\n fileTypes.forEach((fileType, index, list) => {\n const iterable = list.length > 1;\n const isLast = index === list.length - 1 && iterable;\n const isPenultimate = index === list.length - 2 && iterable;\n if (isLast)\n base += ' and ';\n switch (fileType) {\n case AcceptedFileTypes.CSV:\n base += 'CSV';\n break;\n case AcceptedFileTypes.GIF:\n base += 'GIF';\n break;\n case AcceptedFileTypes.JPEG:\n base += 'JPEG';\n break;\n case AcceptedFileTypes.JPG:\n base += 'JPG';\n break;\n case AcceptedFileTypes.PNG:\n base += 'PNG';\n break;\n default:\n break;\n }\n if (!isPenultimate && !isLast && list.length > 2)\n base += ', ';\n });\n return base;\n};\n//# sourceMappingURL=getValidTypesString.js.map","/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property.\n *\n * E.g.\n *\n * const inputElAcceptProperty = getTypePropForInputEl({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant inputElAcceptProperty would equal \".csv\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getTypePropForInputEl = ({ fileTypes }) => {\n if (fileTypes.length === 1)\n return fileTypes[0];\n let base = '';\n fileTypes.forEach((fileType, index, list) => {\n const isLastElement = list.length - 1 === index && list.length > 1;\n if (isLastElement)\n base += `${fileType}`;\n else\n base += `${fileType}, `;\n });\n return base.trim();\n};\n//# sourceMappingURL=getTypePropForInputEl.js.map","/**\n * Updates the value of the files attribute held within an input elment. Used during DnD operations where\n * the input element's files need to kept in sync and updated.\n *\n * @param fileList - A list of files, typically extracted from the \"files\" attribute of an input element\n * @param elementId - The ID of the input element\n */\nexport const setInputElFile = ({ fileList, elementId }) => {\n const inputEl = document.getElementById(elementId);\n if (fileList.length) {\n inputEl.files = fileList;\n }\n};\n//# sourceMappingURL=setInputElFile.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nconst commonStyles = `\n position: fixed;\n height: 100%;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`;\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1xg3v52\" }) `${commonStyles} display:${(props) => (props.shouldShow ? 'initial' : 'none')};z-index:${theme.layers.modal};`;\nexport const Shadow = styled(BaseContainer).withConfig({ displayName: \"vui--Shadow\", componentId: \"vui--nz3cc\" }) `${commonStyles} background-color:rgba(55,66,77,0.5);`;\nexport const Wrap = styled(BaseContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1pbqe6\" }) `position:relative;height:100%;width:100%;z-index:1;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\n// @ts-ignore\nimport ScrollLock from 'react-scrolllock-configurable';\nimport { Portal } from '../../Portal';\nimport { Container, Shadow, Wrap } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nconst WithPortal = ({ usePortal, children }) => (\n// eslint-disable-next-line react/jsx-no-useless-fragment\nReact.createElement(React.Fragment, null, usePortal ? React.createElement(Portal, null, children) : children));\nexport const Popup = ({ className, children = null, shouldShow = false, usePortal = true, }) => (React.createElement(WithPortal, { usePortal: usePortal },\n React.createElement(Container, { className: buildClassnames([`${className}-container`, className]), shouldShow: shouldShow },\n React.createElement(Shadow, null),\n React.createElement(ScrollLock, { isActive: shouldShow },\n React.createElement(Wrap, { className: buildClassnames([`${className}-wrap`, className]) }, children)))));\n//# sourceMappingURL=Popup.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nexport const PopupContent = styled.div.withConfig({ displayName: \"vui--PopupContent\", componentId: \"vui--17gmyeh\" }) `display:flex;justify-content:center;align-items:center;height:100%;`;\nexport const VideoWrapper = styled.div.withConfig({ displayName: \"vui--VideoWrapper\", componentId: \"vui--rcrl58\" }) `position:relative;iframe{width:57vw;height:calc(57vw * 0.5625);border-radius:8px;}`;\nexport const ButtonSC = styled(Button).withConfig({ displayName: \"vui--ButtonSC\", componentId: \"vui--srigr3\" }) `position:absolute;top:0px;right:-45px;`;\n//# sourceMappingURL=styled.js.map","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\", icon: React.createElement(StyledLeftIcon, null), disabled: leftDisabled, onClick: toPrevScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the left\" }),\n React.createElement(StyledRightButton, { id: \"right-arrow\", icon: React.createElement(StyledRightIcon, null), disabled: rightDisabled, onClick: toNextScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the right\" }))),\n React.createElement(StyledMenuButton, { icon: React.createElement(StyledMenuIcon, null), variant: \"flat\", onClick: onClickMenu, \"aria-label\": \"open menu\", \"aria-controls\": ariaMenuControls, \"aria-expanded\": ariaMenuExpanded, \"aria-haspopup\": ariaMenuControls ? 'dialog' : undefined, ref: menuRef }))));\n});\n//# sourceMappingURL=ViewsContainer.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--18asccd\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--hefld1\" }) `display:flex;flex-direction:row;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1w2y0ok\" }) `&&&{text-align:left;width:52px;}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--fqwvpz\" }) `padding:0 4px;border-color:${theme.colors.neutral.ink.lightest};margin-right:4px;${(props) => props.hasError &&\n `\n border-color: ${theme.colors.secondary.red.base};\n `};`;\nexport { Container, Row, StyledTextField as TextField, StyledButton as Button };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { isWeightImperial, isWeightMetric } from './types';\nimport { ComponentSize } from '../types';\nimport { InputGroup } from '../InputGroup';\nimport { withLabels } from '../../hoc';\nimport { Container, TextField, Row, Button } from './styled';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\nexport const WeightInput = withLabels((_a) => {\n var { size = ComponentSize.base, hasError, className } = _a, rest = __rest(_a, [\"size\", \"hasError\", \"className\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n isWeightMetric(rest) && (React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeGram, name: \"gram\", type: \"number\", value: rest.gram, hasError: hasError, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"g\"))),\n isWeightImperial(rest) && (React.createElement(React.Fragment, null,\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangePound, name: \"pound\", type: \"number\", value: rest.pound, hasError: hasError, step: \"any\", min: \"0\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"lb\")),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeOunce, name: \"ounce\", type: \"number\", value: rest.ounce, hasError: hasError, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"oz\")))))));\n});\nWeightInput.displayName = 'WeightInput';\nWeightInput.defaultProps = {\n weightUnit: 'lb',\n};\n//# sourceMappingURL=WeightInput.js.map","export const isWeightMetric = (props) => {\n return props.weightUnit === 'g';\n};\nexport const isWeightImperial = (props) => {\n return props.weightUnit === 'lb' || props.weightUnit === 'oz';\n};\n//# sourceMappingURL=types.js.map","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","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { AlertContainer } from './styled';\nimport { ColourMap, IconMap, IconSizeMap, SpacingMap } from './constants';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const Alert = (_a) => {\n var { size = 'base', variant = 'default', colours: passedColours, rightActions, 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\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\", size: \"sm\" }))))));\n};\n//# sourceMappingURL=Alert.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","/* 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 { __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 { disabledRanges = [], disallowWeekends = false, value, onChange, isDisabled } = _a, props = __rest(_a, [\"disabledRanges\", \"disallowWeekends\", \"value\", \"onChange\", \"isDisabled\"]);\n const { level, focusedDate, setFocusedDate, currentYear, onFocusMonth, onFocusYear, handleSwitchLevel, } = useCalendarState(value);\n const { isDateUnavailable } = useIsDateUnavailable({ disabledRanges, disallowWeekends });\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 { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { Button } from '../Button';\nimport { Select } from '../Select';\nimport { DateInputField } from '../DateInputField';\nimport { RangeCalendar } 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 { checkIfDateRangeInvalid } from './utils';\nimport { Divider } from './components/Divider';\nexport const DateRangePicker = (_a) => {\n var { \n // Style props\n className, style, isDisabled, \n // Customizable options\n showDatePresets = true, onReset, \n // Calendar props\n disabledRanges, selectedPreset, setSelectedPreset, selectedRange, setSelectedRange, \n // Previous period props\n 'aria-describedby': ariaDescribedBy, 'aria-label': ariaLabel } = _a, previousPeriodProps = __rest(_a, [\"className\", \"style\", \"isDisabled\", \"showDatePresets\", \"onReset\", \"disabledRanges\", \"selectedPreset\", \"setSelectedPreset\", \"selectedRange\", \"setSelectedRange\", 'aria-describedby', 'aria-label']);\n const updateRangePreset = (selectedValue) => {\n setSelectedRange(getDateRange(DateRanges[selectedValue]));\n setSelectedPreset(DATE_RANGE_OPTIONS.find(({ value }) => value === selectedValue) || DATE_RANGE_OPTIONS[0]);\n };\n const updateDateSegment = useCallback((slot) => (value) => {\n const newRange = {\n start: slot === 'start' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start,\n end: slot === 'end' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end,\n };\n setSelectedRange(newRange);\n }, [selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end, selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start, setSelectedRange]);\n const isDateRangeInvalid = useMemo(() => checkIfDateRangeInvalid({ disabledRanges, selectedRange }), [disabledRanges, selectedRange]);\n // Memoize finding preset since checkForMatchingPreset isn't quick.\n const matchedPreset = useMemo(() => {\n if (!selectedRange)\n return null;\n return checkForMatchingPreset(selectedRange);\n }, [selectedRange]);\n useEffect(() => {\n if (matchedPreset)\n setSelectedPreset(matchedPreset); // If selected value is a preset, set it.\n else\n setSelectedPreset(DATE_RANGE_OPTIONS[0]); // Otherwise, select \"custom\" option.\n }, [matchedPreset, setSelectedPreset]);\n return (React.createElement(Stack, { direction: \"vertical\", alignX: \"stretch\", spacing: \"0\", style: Object.assign({ gap: theme.sizes.base }, style), className: className, \"aria-describedby\": ariaDescribedBy, \"aria-label\": ariaLabel },\n showDatePresets && (React.createElement(Select, { disabled: isDisabled, label: \"Date Range\", options: DATE_RANGE_OPTIONS, value: selectedPreset === null || selectedPreset === void 0 ? void 0 : selectedPreset.value, onChange: updateRangePreset })),\n React.createElement(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 }),\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 })),\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","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 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 { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { MainSection, NonScrollableBody } from './components/styled';\nimport { hasFooterSlot, hasHeaderSlot } from './types';\nimport { Dialog } from './components/Dialog/Dialog';\nimport { useIsOverflowing } from '../../hooks/useIsOverflowing';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { CardHeader } from '../CardHeader';\nimport { Stack } from '../Stack';\nexport const Modal = (props) => {\n const { shouldShow, showHeaderCloseButton = true, fullBleed = false, variant = 'base', onClose: parentOnClose, children, } = props;\n const modalRef = useRef(null);\n const [mainSectionRef, setMainSectionRef] = useState(null);\n useEffect(() => {\n var _a, _b;\n if (shouldShow) {\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.removeAttribute('open'); // Allows for conditional rendering.\n (_b = modalRef.current) === null || _b === void 0 ? void 0 : _b.showModal();\n }\n }, [shouldShow]);\n const { isOverflowing: isContentOverflowing, onScroll } = useIsOverflowing(mainSectionRef);\n const onClose = () => {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close();\n parentOnClose();\n };\n return (React.createElement(AnimatePresence, null, shouldShow && (React.createElement(\"div\", { \"data-testid\": \"dialog-wrapper\" },\n React.createElement(NonScrollableBody, null),\n React.createElement(Dialog, { ref: modalRef, onClose: onClose, variant: variant, \"aria-describedby\": \"modal_title\" },\n React.createElement(Card.Surface, null,\n hasHeaderSlot(props) ? (props.headerSlot) : (React.createElement(CardHeader, Object.assign({ id: \"modal_title\", headerVariant: \"headingLarge\", title: props.headerTitle, subtitle: props.headerSubtitle }, (showHeaderCloseButton && { onClickClose: onClose })))),\n React.createElement(MainSection, { onScroll: onScroll, ref: setMainSectionRef, isScrollable: isContentOverflowing, fullBleed: fullBleed }, children),\n hasFooterSlot(props) && props.footerSlot,\n !hasFooterSlot(props) && (props.leftActions || props.rightActions) && (React.createElement(Card.Footer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: props.leftActions ? 'between' : 'end' },\n props.leftActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"start\", \"data-testid\": \"left-actions-container\" }, props.leftActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))),\n props.rightActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", \"data-testid\": \"right-actions-container\" }, props.rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))))))))))));\n};\n//# sourceMappingURL=Modal.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { PageInput, PaginationButton } from './styled';\nimport { PageCount } from './components';\nimport { usePagination } from './hooks/usePagination';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { StartArrowIcon } from '../../tempIcons/StartArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { EndArrowIcon } from '../../tempIcons/EndArrowIcon';\nimport { ComponentSize } from '../types';\nexport const Pagination = ({ testId, e2eClassName, currentPage, totalPagesCount, handleChangePage, }) => {\n const { pageInputValue, handleIncrement, handleDecrement, handleFormSubmit, handleInputChange, handleSubmit, } = usePagination({\n currentPage,\n totalPagesCount,\n handleChangePage,\n });\n /**\n * A function to go back to the first page, provided we aren't already there.\n */\n const handleSkipBack = () => {\n if (currentPage !== 1)\n handleChangePage(1);\n };\n /**\n * A function to go to the last page, provided we aren't already there.\n */\n const handleSkipToEnd = () => {\n if (currentPage !== totalPagesCount)\n handleChangePage(totalPagesCount);\n };\n return (React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"xs\", \"data-testid\": testId, className: e2eClassName },\n React.createElement(PaginationButton, { onClick: handleSkipBack, icon: React.createElement(StartArrowIcon, null), size: \"sm\", \"aria-label\": \"go to first page\" }),\n React.createElement(PaginationButton, { onClick: handleDecrement, icon: React.createElement(LeftArrowIcon, null), size: \"sm\", \"aria-label\": \"go to previous page\", \"aria-disabled\": currentPage <= 1 }),\n React.createElement(\"form\", { onSubmit: handleFormSubmit },\n React.createElement(PageInput, { \"aria-live\": \"polite\", \"aria-label\": `page ${currentPage} of ${totalPagesCount}`, size: ComponentSize.sm, type: \"number\", value: pageInputValue, min: \"1\", max: `${totalPagesCount}`, onChange: handleInputChange, onBlur: handleSubmit })),\n React.createElement(PageCount, { count: totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleIncrement, icon: React.createElement(RightArrowIcon, null), size: \"sm\", \"aria-label\": \"go to next page\", \"aria-disabled\": currentPage >= totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleSkipToEnd, icon: React.createElement(EndArrowIcon, null), size: \"sm\", \"aria-label\": \"go to last page\", \"aria-disabled\": currentPage >= totalPagesCount })));\n};\n//# sourceMappingURL=Pagination.js.map","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 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 { __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 { 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 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 React from 'react';\nimport { Popup } from './components/Popup';\nimport { PopupContent, VideoWrapper, ButtonSC } from './styled';\nimport { useClickOutside } from '../../hooks';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const VideoModal = ({ id, youtubeVideoId, showVideoModal, handleCloseClick, }) => {\n const ref = useClickOutside(showVideoModal, handleCloseClick);\n return (React.createElement(Popup, { shouldShow: showVideoModal, className: `${id}-video` },\n React.createElement(PopupContent, { \"data-testid\": \"video-modal_popup-content\", className: `video-modal--${showVideoModal ? 'visible' : 'hidden'}` },\n React.createElement(VideoWrapper, { ref: ref },\n React.createElement(\"iframe\", { title: `${id}-video`, src: `https://www.youtube.com/embed/${youtubeVideoId}`, frameBorder: \"0\", allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\", allowFullScreen: true }),\n React.createElement(ButtonSC, { variant: \"flat\", onClick: handleCloseClick, \"data-testid\": \"video-modal--close\", icon: React.createElement(CrossIcon, { color: \"white\" }) })))));\n};\n//# sourceMappingURL=VideoModal.js.map","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 } 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","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 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"],"names":["BaseContainer","styled","default","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","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","SuppressedError","TailSpin","width","className","label","x1","y1","x2","y2","id","stopColor","stopOpacity","offset","transform","stroke","strokeWidth","attributeName","type","from","to","dur","repeatCount","cx","cy","r","Grid","begin","values","calcMode","ThreeDots","Loader","MainContent","hasText","$loading","size","BaseButton","paddingLeft","paddingRight","borderRadius","outlineWidth","hasIcon","hasDropdown","DefaultButton","DefaultDestructiveButton","PrimaryButton","PrimaryDestructiveButton","FlatButton","UnstyledButton","LinkButton","LoadingWrapper","DropdownIcon","variantMap","primary","destructive","primaryDestructive","flat","unstyled","Button","forwardRef","_a","ref","children","icon","dropdown","loading","otherProps","VariantButton","hasChildren","undefined","Header","header","HeaderGrid","DownArrowIcon","CrossIcon","CardHeader","title","subtitle","headerVariant","action","ActionSlot","isCollapsed","onClickCollapse","onClickClose","onClick","elevationShadowMap","accents","info","success","Footer","footer","Section","section","FullBleed","Body","Surface","elevation","accent","collapseAnimationVariants","expanded","collapsed","Card","style","HeaderActionSlot","collapsable","onClose","renderFooter","setIsCollapsed","useState","headerMarkup","showBody","bodyMarkup","animate","variants","transition","duration","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","opacity","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","dialogProps","setPopperElement","styles","attributes","update","usePopper","useMemo","popoverId","hasAttribute","console","warn","_","useUpdateAriaAnchor","resizeObserver","ResizeObserver","observe","disconnect","window","open","popper","minWidth","clientWidth","onKeyDown","DropdownPopover","reversed","popoverProps","AnimatePresence","initial","y","exit","Dropdown","shouldShow","setShouldShow","ctaIconSlot","ctaProps","dropdownProps","anchorRef","useRef","Fragment","current","useClickOutside","isOpen","escapeListener","useCallback","clickListener","contains","target","useDropdown","shouldShowDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","scrollHeight","clientHeight","onScroll","scrollTop","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","AttentionIcon","HelpIcon","InfoIcon","SuccessIcon","SpacingMap","IconSizeMap","IconMap","warning","recommend","ColourMap","CommonAnchor","a","Container","BasicDropdown","BasicContainer","Wrap","AnimatedDropdown","cta","onClickAway","timeout","transitionClassnames","onMouseEnter","onMouseLeave","dropdownRef","handleClickAway","useClickAway","CSSTransition","in","classNames","unmountOnExit","AvatarSC","textColor","bgColor","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","Sides","defaultConfig","side","TOP","triangleOffset","TooltipPopover","content","hoverableElement","config","withTriangle","usedConfig","modifiers","name","options","tooltipStyles","tip","triangleOffsetSize","wrap","triangle","Tooltip","initialShouldShow","useReactPortal","setHoverableElement","trim","container","hoverable","hasContent","tooltipMarkup","ReactDOM","BaseBadge","hideBorder","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","href","DefaultSeparator","DefaultLink","BreadcrumbText","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","slice","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","margin","VQBtn","disabled","useIsDateUnavailable","disabledRanges","disallowWeekends","locale","useLocale","isDateUnavailable","isWeekend","interval","onChange","focusedDate","setFocusedDate","initialValue","start","Date","getFullYear","currentMonth","getMonth","CalendarDate","useRangeCalendarState","focusedValue","onFocusChange","visibleDuration","StyledCalendar","Calendar","alignMap","top","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","HintText","ErrorText","Wrapper","BorderedWrapper","BlockTooltip","Choice","hint","bordered","Badge","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","Label","Hint","Error","RootStack","withLabels","marginBottom","hasError","DateRangeGroup","Group","$hasError","DateInputField","shouldForceLeadingZeros","rightAction","minValue","maxvalue","startValue","endValue","isReadOnly","isRangeInput","ariaDescribedBy","ariaLabelledBy","onChangeStartDate","onChangeEndDate","DateField","maxValue","DateInput","segment","DateSegment","SelectInput","select","sizeVariant","Select","hidden","Slider","switched","Switch","small","Toggle","choiceProps","DEFAULT_PREVIOUS_PERIOD_OPTIONS","ComparePreviousPeriod","selectedPreviousPeriod","setSelectedPreviousPeriod","showCompareSelect","setShowCompareSelect","display","gap","newValue","newOption","find","DateRanges","getDateRange","now","dateRange","TODAY","end","YESTERDAY","subtract","days","LAST_7_DAYS","LAST_30_DAYS","LAST_90_DAYS","LAST_MONTH","lastMonth","startOfMonth","endOfMonth","LAST_12_MONTHS","WEEK_TO_DATE","startOfWeek","navigator","language","MONTH_TO_DATE","YEAR_TO_DATE","startOfYear","range","timeRangeToDateRange","DATE_RANGE_OPTIONS","DEFAULT_SELECTION","DEFAULT_RANGE","DEFAULT_PRESET","checkIfDateRangeInvalid","selectedRange","presortStart","presortEnd","sort","disabledStart","disabledEnd","Divider","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","scrollPosition","visible","stripingMode","pinnedLeftStyles","index","array","reduce","acc","val","sumAllBeforeIndex","pinnedRightStyles","sumAllAfterIndex","isLeftShadowVisible","leftShadow","isRightShadowVisible","rightShadow","stripingRow","stripingNested","col","SortDirection","DoubleArrowIcon","ArrowUpIcon","ArrowDownIcon","GetSortIcon","sortState","columnId","ascending","useCellWidths","tableRef","containerRef","setCellWidths","updateCellWidths","cells","widths","cell","getBoundingClientRect","resizeObserverCallback","throttle","CustomEvent","Event","eventType","data","bubbles","cancelable","useColumnWidths","columnIds","getColumnWidths","cols","obj","item","columnWidths","setColumnWidths","newColumnWidths","keys","forEach","JSON","stringify","setColumnWidth","column","lastColumn","newWidth","_b","_c","querySelector","calculateWidth","evt","dispatchEvent","customEventEmitter","getColumnWidth","useColumns","onResizeColumns","originalSetColumnWidth","newColumns","updatedColumnWidths","columnWidth","pinned","notPinned","useDragToScroll","targetRef","isDragging","scrollTarget","position","left","x","mouseMoveHandler","dx","clientX","scrollLeft","cursor","userSelect","mouseUpHandler","removeProperty","mouseDownHandler","useScrollPosition","setScrollPosition","updateScrollPosition","scrollWidth","headerCellHeight","th","SelectionHeader","selectionMode","headerProps","Cell","td","SelectionCell","rowId","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","selectedRowIds","setSelectedRowIds","toggleAllSelected","selectionColumn","renderHeader","renderCell","row","rowState","setSelected","rowIds","findIndex","splice","SortIndicator","HeaderContent","ClickableHeaderContent","ResizerBar","ColumnDivider","createRef","mouseMove","minTranslate","dragDivider","dragInitX","tableHeaders","translate","Math","parentElement","classList","add","initWidth","contentWidth","finalWidth","deltaX","mouseUp","remove","trackMouseStart","onMouseDown","onDragStart","onChangeSort","resizeableColumns","columnCount","columnI","sortable","String","ColumnHeaderContent","columnHeaderProps","log","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","stickyContainerRef","isVisible","setIsVisible","setContainerRect","updateContainerDimensions","targetRect","newRect","updateContainerScrollPosition","xScrollOffset","scrollTo","threshold","containerStyle","overflowX","overflowY","borderBottom","allCss","getRowState","expandedRowIds","disabledRowIds","defaultEmptyState","heading","emptyAction","DataTable","ActionBarSlot","initialColumns","emptyState","loadingRowCount","rows","setExpanded","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","adjustedCellWidths","Number","isNaN","loadingRows","random","renderLoadingCell","subheading","renderRow","e2eClassName","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","border","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","ColumnGrid","showSidebar","ContentContainer","InputGroup","ComponentSize","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","step","spellCheck","RegExp","StyledTextField","StyledButton","blockInvalidCharacters","invalidList","invalidCharsList","blockInvalidChars","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","NonSelectableText","GroupLabel","MainIcon","$shouldShow","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","iconSize","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","middle","WrapperBordered","Head","thead","tbody","fixedColumnsStyle","tfoot","grow","HeaderCell","alignmentMap","HeaderCellLayout","Table","isFixedLayout","striped","tableLoading","noWrap","StickyHeaderWrapper","FakeHeaderTable","SpecificStateContainer","EllipseContainer","TitleText","SubTitleText","SpecificState","CellButton","ClickableButton","SkeletonContentWrapper","SkeletonContentComponent","isLoading","SkeletonContent","SkeletonCell","StickyHeader","wrapperRef","wrapperStyle","headerWrapperRef","setHeaderWrapperRef","topOffset","handleScrollChange","bottom","sticky","useStickyHeader","wrapperWidth","useScroll","updateScroll","tableLayout","convertFixedColumnInlineStyleToStyled","push","abs","SkeletonHeaderCell","DoubleArrowAscIcon","DoubleArrowDescIcon","IconUnsorted","IconSortAsc","IconSortDesc","LegacyDataTable","borderless","headers","renderLoadingRow","renderFooterRow","renderFooterLoadingRow","omitFooterSelectionCell","disabledSelectionInputRowIds","onChangeSelectedRowIds","sortColumnId","sortDirection","isError","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","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","bounce","Dialog","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","StartArrowIcon","EndArrowIcon","StepButton","Stepper","onIncrement","onDecrement","PrefixContainer","PrefixText","PriceInputGroup","PriceInput","currency","onPriceChange","priceValue","callback","parseFloat","toFixed","onBlur","roundedValue","form","blur","ScreenReaderOnlyElement","IconContainer","iconPosition","SearchIcon","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","ShortcutKeysContainer","$inverse","Kbd","kbd","ValidModifierKeysMap","command","windows","shift","ctrl","alt","enter","delete","escape","up","down","space","ValidModifierKeyssLabelMap","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","Skeleton","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","Tag","ToastsLayoutContainer","Toast","last","IconWrap","ContentStack","toastTypes","merge","closeIcon","iconSlot","ToastContainer","borderColor","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","split","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","ViewTypes","CounterText","Contour","colourPalette","customTextColour","active","CounterContainer","IconStyling","CustomIconWrapper","EditIcon","edit","counter","ViewTabTypes","ThreeDotsIcon","ThreeDotsIconStyling","CrossIconStyling","ViewButton","ViewTab","subAction","ariaContext","handleEnter","handleLeave","isDraft","draft","isSaved","saved","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","reverse","getPrevViewPosition","createViewPositionArray","ViewsContainer","onClickMenu","ariaMenuControls","ariaMenuExpanded","menuRef","viewsRef","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce","description","shouldOpenOnMount","summaryTextVariant","shouldOpen","setShouldOpen","handleOpen","FRAMER_MOTION_CONFIG","rotate","passedColours","rightActions","rightActionsSlot","titleSlot","messageSlot","message","divProps","IconSlot","isXsSize","minHeight","actionProps","rel","isExternal","setDefaultRelValue","userInitials","toUpperCase","match","BadgeVariant","Pill","marginRight","items","Separator","pathname","useCalendarState","onCopy","copied","setCopied","handleCopy","clipboard","writeText","showDatePresets","onReset","selectedPreset","setSelectedPreset","setSelectedRange","previousPeriodProps","updateDateSegment","newRange","isDateRangeInvalid","matchedPreset","optionDateRange","optionStart","optionEnd","checkForMatchingPreset","showPreviousPeriod","horizontal","renderDescription","isArray","term","shouldShowSidebar","setShouldShowSidebar","shouldCloseOnClickAway","setAnchorElement","handleClick","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","src","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","setImage","onMouseUp","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","removeAttribute","showModal","isContentOverflowing","close","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","testId","onSubmit","onClearClick","onFocus","onKeyUp","onKeyPress","autoComplete","shouldShowClear","shortcut","inverse","displayLabel","shortcutElements","previousKbdElement","currentKbdElement","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","toasts","TransitionGroup","component","toast","tabIndex","youtubeVideoId","showVideoModal","handleCloseClick","frameBorder","allow","allowFullScreen","onDelete","onEdit","handleDelete","handleEdit","handler","clearTimeout","isFocused","setIsFocused","useContext","focusVisible","setExpandedRowIds","nestedTableProps","tabs","defaultActiveIndex","listOfTabs","setActive","newActiveTab","tab"],"mappings":"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","x_google_ignoreList":[14]}