@luscii-healthtech/web-ui 2.44.2 → 2.44.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"web-ui.cjs.development.js","sources":["../src/components/Container/FlexContainer.tsx","../src/components/Container/FlexColumn.tsx","../src/components/Container/FlexRow.tsx","../node_modules/style-inject/dist/style-inject.es.js","../src/components/Text/Text.tsx","../src/components/Icons/CheckIcon.tsx","../src/components/Icons/CrossIcon.tsx","../src/components/Icons/WarningIcon.tsx","../src/components/Toaster/Toaster.tsx","../src/components/Toaster/toast-elements-getter.ts","../src/components/Toaster/toast-progress-animator.ts","../src/components/Toaster/toast.ts","../src/components/Icons/ChevronRightIcon.tsx","../src/components/Icons/ChevronDownIcon.tsx","../src/components/Title/Title.tsx","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Icons/DragIcon.tsx","../src/components/Icons/ImageIcon.tsx","../src/components/List/ListItem.tsx","../src/components/List/ListItemSkeleton.tsx","../src/components/List/ListSkeleton.tsx","../src/components/List/List.tsx","../src/components/Icons/SearchIcon.tsx","../src/components/Input/Input.tsx","../src/components/Input/SearchInput.tsx","../src/components/Spinner/Spinner.tsx","../src/components/ButtonV2/ButtonV2.tsx","../src/components/ButtonV2/SecondaryButton.tsx","../src/utils/string.utils.ts","../src/assets/no-open-alerts.svg","../src/assets/search-not-found.svg","../src/assets/happy-star.svg","../src/components/EmptyListMessage/EmptyListMessage.tsx","../src/assets/loading.svg","../src/assets/spinner.svg","../src/assets/spinner-gray.svg","../src/components/LoadingIndicator/LoadingIndicator.tsx","../src/components/AccordionList/AccordionList.tsx","../src/components/ButtonV2/TertiaryButton.tsx","../src/components/Modal/ModalHeader.tsx","../src/components/ButtonV2/PrimaryButton.tsx","../src/components/Modal/ModalFooter.tsx","../src/components/Modal/ModalBase.tsx","../src/components/Modal/Modal.tsx","../src/components/Avatar/Avatar.js","../src/components/Badge/Badge.tsx","../src/components/Icons/AddIcon.tsx","../src/components/Icons/DeleteIcon.tsx","../src/components/Icons/EditIcon.tsx","../src/components/Icons/LeftArrowIcon.tsx","../src/components/Icons/RightArrowIcon.tsx","../src/components/Icons/ChartIcon.tsx","../src/components/Icons/PrintIcon.tsx","../src/assets/close.svg","../src/assets/hamburger.svg","../src/assets/right-arrow-blue.svg","../src/assets/right-arrow-grey.svg","../src/assets/left-arrow-blue.svg","../src/assets/left-arrow-grey.svg","../src/assets/search.svg","../src/assets/search-cancel.svg","../src/assets/starIcon.svg","../src/assets/check-icon-primary.svg","../src/components/Button/ButtonIcon.tsx","../src/components/Button/Button.types.ts","../src/components/Button/Button.tsx","../src/components/Carousel/GliderContainer.tsx","../src/components/Carousel/Carousel.tsx","../src/components/CenteredHero/CenteredHero.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/ConfirmationDialog/ConfirmationDialogTitle.tsx","../src/components/TextLink/TextLink.tsx","../src/components/Icons/DynamicIcon.tsx","../src/components/NotificationBanner/NotificationBanner.tsx","../src/components/Radio/RadioV2.tsx","../src/components/RadioGroup/RadioGroupV2.tsx","../src/components/ConfirmationDialog/ConfirmationDialogChoices.tsx","../src/components/ConfirmationDialog/ConfirmationDialogMessage.tsx","../src/components/ConfirmationDialog/ConfirmationDialog.tsx","../src/components/Datepicker/Datepicker.js","../src/assets/chevron-double.svg","../src/components/Dropdown/Dropdown.js","../src/components/ErrorBlock/ErrorBlock.js","../src/components/InfoBlock/InfoBlock.js","../src/components/InfoField/InfoField.tsx","../src/components/Line/Line.js","../src/components/Table/TableHeader.tsx","../src/components/Tag/Tag.utils.ts","../src/components/Tag/Tag.tsx","../src/components/Table/Table.utils.ts","../src/components/Table/TableBodyRowDataCell.tsx","../src/components/Table/TableBodyRow.tsx","../src/components/Table/TableBody.tsx","../src/components/PaginationMenu/PaginationMenuSmall.tsx","../src/components/Select/Select.tsx","../src/components/PaginationMenu/PaginationMenu.utils.ts","../src/components/PaginationMenu/PaginationMenuLarge.tsx","../src/components/PaginationMenu/PaginationMenu.tsx","../src/components/Table/TableFooter.tsx","../src/components/Table/Table.tsx","../src/components/Menu/Menu.js","../src/components/CheckboxList/CheckboxListItem.tsx","../src/components/CheckboxList/CheckboxList.types.ts","../src/components/CheckboxList/CheckboxGroup.tsx","../src/components/CheckboxList/CheckboxList.tsx","../src/components/CheckBoxListModal/CheckboxListModal.tsx","../src/components/Text/LegacyText.js","../src/components/MultiSelect/MultiSelectUtils.js","../src/components/MultiSelect/MultiSelect.js","../src/components/NavMenu/NavLayout.tsx","../src/components/Divider/Divider.tsx","../src/components/NavMenu/NavMenuFooter.tsx","../src/components/NavMenu/NavMenuItem.tsx","../src/components/NavMenu/NavMenuHeader.tsx","../src/components/NavMenu/NavMenuContent.tsx","../src/components/NavMenu/NavMenu.tsx","../src/components/Page/Page.js","../src/components/Title/LegacyTitle.js","../src/components/Steps/Step.tsx","../src/components/Steps/Steps.tsx","../src/components/Page/CRUDPage.js","../src/assets/phone-mockup.svg","../src/components/PreviewPhone/useWindowDimensions.js","../src/components/PreviewPhone/PreviewPhone.tsx","../src/components/Radio/Radio.js","../src/components/RadioGroup/RadioGroup.js","../src/components/Section/Section.tsx","../src/components/Section/SectionItem.tsx","../src/components/Section/SectionItemWithContent.tsx","../src/utils/useOutsideClick.js","../src/components/SettingsMenuButton/SettingsMenuButton.tsx","../src/components/Switcher/SwitcherItem.js","../src/components/Switcher/Switcher.js","../src/assets/image-icon.svg","../src/components/Image/Image.tsx","../src/components/ImagePicker/ImageCategory.tsx","../src/components/ImagePicker/ImagePicker.tsx","../src/components/Tabbar/TabbarItem.tsx","../src/components/Tabbar/Tabbar.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/TabLinks/TabLinks.tsx","../src/components/Tag/TagGroup.tsx","../src/components/Textarea/Textarea.js","../src/components/TextEditor/TextEditor.js","../src/components/TextEditorV2/TextEditorV2.js","../src/components/Timeline/TimelineStep.tsx","../src/components/Timeline/Timeline.tsx","../src/components/ViewItem/ViewItem.tsx","../src/components/Form/FormFieldErrorMessages.tsx","../src/components/Form/FormFieldDecorator.tsx","../src/components/Form/form.transformer.ts","../src/components/Form/FormInput.tsx","../src/components/Form/FormRadioGroup.tsx","../src/components/Form/FormSelect.tsx","../src/components/Form/FormImagePicker.tsx","../src/components/Form/Form.tsx","../src/components/Icons/AlertsIcon.tsx","../src/components/Icons/BellIcon.tsx","../src/components/Icons/ChartLineColoredIcon.tsx","../src/components/Icons/ChatBoxIcon.tsx","../src/components/Icons/ChevronDoubleIcon.tsx","../src/components/Icons/DownArrowIcon.tsx","../src/components/Icons/EmptyStateDashboardIcon.tsx","../src/components/Icons/ExclamationMarkIcon.tsx","../src/components/Icons/EyeIcon.tsx","../src/components/Icons/GearIcon.tsx","../src/components/Icons/GearColoredIcon.tsx","../src/components/Icons/GroupIcon.tsx","../src/components/Icons/GroupColoredIcon.tsx","../src/components/Icons/HeartIcon.tsx","../src/components/Icons/LinkIcon.tsx","../src/components/Icons/LightBulbIcon.tsx","../src/components/Icons/LockIcon.tsx","../src/components/Icons/MessagesIcon.tsx","../src/components/Icons/NotesIcon.tsx","../src/components/Icons/PinIcon.tsx","../src/components/Icons/SmallCircleIcon.tsx","../src/components/Icons/SmallDiamondIcon.tsx","../src/components/Icons/SmallSquareIcon.tsx","../src/components/Icons/SpaceRocketIcon.tsx","../src/components/Icons/StarIcon.tsx","../src/components/Icons/HamburgerIcon.tsx","../src/components/Icons/SearchCancelIcon.tsx","../src/components/Icons/InfoIcon.tsx","../src/components/Icons/StatusColoredIcon.tsx","../src/components/Modal/FullPageModalHeader.tsx","../src/components/Modal/FullPageModal.tsx","../src/components/Card/Card.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { FlexContainerBaseProps } from \"./types/FlexContainerProps.type\";\n\n/**\n * Container to be used for layouting instead of divs around the project.\n * The spacing here has been coded according to our guidelines.\n */\nexport const FlexContainer: React.FC<\n FlexContainerBaseProps & { type: \"column\" | \"row\" }\n> = (props) => {\n const {\n children,\n alignItems,\n verticalSpacing = \"none\",\n horizontalSpacing = \"none\",\n justifyContent,\n hasPadding,\n position = \"\",\n type,\n backgroundColor = \"bg-transparent\",\n } = props;\n\n return (\n <div\n className={classNames(\"flex w-full\", backgroundColor, {\n \"flex-row\": type === \"row\",\n \"flex-col\": type === \"column\",\n relative: position === \"relative\",\n absolute: position === \"absolute\",\n static: position === \"static\",\n fixed: position === \"fixed\",\n sticky: position === \"sticky\",\n\n \"justify-center\": justifyContent === \"center\",\n \"justify-start\": justifyContent === \"start\",\n \"justify-end\": justifyContent === \"end\",\n \"justify-between\": justifyContent === \"between\",\n\n \"items-start\": alignItems === \"start\",\n \"items-center\": alignItems === \"center\",\n \"items-end\": alignItems === \"end\",\n\n \"space-x-2\": horizontalSpacing === \"small\",\n \"space-x-4\": horizontalSpacing === \"medium\",\n \"space-x-8\": horizontalSpacing === \"large\",\n\n \"space-y-2\": verticalSpacing === \"small\",\n \"space-y-4\": verticalSpacing === \"medium\",\n \"space-y-8\": verticalSpacing === \"large\",\n\n \"p-4\": hasPadding,\n })}\n >\n {children}\n </div>\n );\n};\n","import React from \"react\";\n\nimport { FlexContainer } from \"./FlexContainer\";\nimport { FlexContainerProps } from \"./types/FlexContainerProps.type\";\n\n/**\n * Container to be used for layouting instead of divs around the project.\n * The spacing here has been coded according to our guidelines.\n */\nexport const FlexColumn: React.FC<FlexContainerProps> = (props) => {\n const { children, spacing = \"medium\", ...rest } = props;\n\n return (\n <FlexContainer {...rest} type=\"column\" verticalSpacing={spacing}>\n {children}\n </FlexContainer>\n );\n};\n","import React from \"react\";\n\nimport { FlexContainer } from \"./FlexContainer\";\nimport { FlexContainerProps } from \"./types/FlexContainerProps.type\";\n\n/**\n * Container to be used for layouting instead of divs around the project.\n * The spacing here has been coded according to our guidelines.\n */\nexport const FlexRow: React.FC<FlexContainerProps> = (props) => {\n const { children, spacing = \"medium\", ...rest } = props;\n\n return (\n <FlexContainer {...rest} type=\"row\" horizontalSpacing={spacing}>\n {children}\n </FlexContainer>\n );\n};\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { RestPropped } from \"../../types/general.types\";\n\nimport \"./Text.css\";\n\n/**\n * One might argue that we're duplicating strings in this file.\n * That's how tailwind expects to detect used classes, so please do not make\n * anything dynamic or try to string concat class names.\n * https://v1.tailwindcss.com/docs/controlling-file-size\n */\nconst allowedTextStyles = {\n sm: \"text-xs font-medium\",\n \"sm-strong\": \"text-xs font-semibold\",\n base: \"text-sm\",\n strong: \"text-sm font-semibold\",\n lg: \"\",\n \"lg-strong\": \"font-semibold\",\n xl: \"text-lg\",\n \"xl-strong\": \"font-semibold text-lg\",\n};\n\n//Extend with other colors that we want to enable for text\nexport const allowedColors = {\n base: \"text-slate-800\",\n \"slate-500\": \"text-slate-500\",\n \"slate-200\": \"text-slate-200\",\n red: \"text-red-700\",\n green: \"text-green-700\",\n amber: \"text-yellow-700\",\n white: \"text-white\",\n \"blue-800\": \"text-blue-800\",\n} as const;\n\nconst allowedHoverColors = {\n \"blue-900\": \"hover:text-blue-900\",\n white: \"hover:text-white\",\n} as const;\n\n// What is a group hover? https://v1.tailwindcss.com/docs/pseudo-class-variants#group-hover\nconst allowedGroupHoverColors: Record<TextHoverColor, string> = {\n \"blue-900\": \"group-hover:text-blue-900\",\n white: \"group-hover:text-white\",\n} as const;\n\nexport type TextColor = keyof typeof allowedColors;\nexport type TextHoverColor = keyof typeof allowedHoverColors;\nexport type TextStyle = keyof typeof allowedTextStyles;\n\nexport interface TextProps extends RestPropped {\n text: string;\n type?: TextStyle; //defaults to \"base\"\n inline?: boolean; //defaults to false\n color?: TextColor; //defaults to \"base\"\n hoverColor?: TextHoverColor; //defaults to \"base\"\n hoverInGroup?: boolean;\n className?: string;\n containsDangerousHtml?: boolean; //defaults to false\n truncate?: boolean; //defaults to false\n /**\n * When `true` will work together with the `truncate` props\n * and allow a max of two lines when breaking text before applying\n * elipsis. Defaults to \"`false`\"\n */\n clampLines?: boolean;\n \"data-test-id\"?: string;\n}\n\nexport const Text = (props: TextProps): JSX.Element => {\n const selectedHoverColor =\n props.hoverColor &&\n !props.hoverInGroup &&\n allowedHoverColors[props.hoverColor];\n\n const selectedGroupHoverColor =\n props.hoverColor &&\n props.hoverInGroup &&\n allowedGroupHoverColors[props.hoverColor];\n\n const containerProps = {\n title: props.title,\n \"data-test-id\": props[\"data-test-id\"],\n className: classNames(\n // apply different style classes\n // for now we stick with font-size 16px on the body\n // so I am adjusting our styles accordingly (one step down)\n allowedTextStyles[props.type ?? \"base\"],\n allowedColors[props.color ?? \"base\"],\n selectedHoverColor,\n selectedGroupHoverColor,\n {\n inline: props.inline,\n // FIXME: this class doesn't do anything without a max-width\n truncate: props.truncate,\n \"text-two-lines-max\": props.clampLines,\n \"in-html-link\": props.containsDangerousHtml,\n },\n //can be used to overwrite other classes like the color\n props.className\n ),\n };\n\n return props.containsDangerousHtml ? (\n <p {...containerProps} dangerouslySetInnerHTML={{ __html: props.text }} />\n ) : (\n <p {...containerProps}>{props.text}</p>\n );\n};\n\nexport default Text;\n\nText.defaultProps = {\n type: \"base\",\n inline: false,\n color: \"base\",\n containsDangerousHtml: false,\n truncate: false,\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const CheckIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n data-test-id={props[\"data-test-id\"]}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.7071 7.29289C19.0976 7.68342 19.0976 8.31658 18.7071 8.70711L10.7071 16.7071C10.3166 17.0976 9.68342 17.0976 9.29289 16.7071L5.29289 12.7071C4.90237 12.3166 4.90237 11.6834 5.29289 11.2929C5.68342 10.9024 6.31658 10.9024 6.70711 11.2929L10 14.5858L17.2929 7.29289C17.6834 6.90237 18.3166 6.90237 18.7071 7.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const CrossIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n data-test-id={props[\"data-test-id\"]}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.05037 5.63664C6.65984 5.24612 6.02668 5.24612 5.63615 5.63664C5.24563 6.02717 5.24563 6.66033 5.63616 7.05086L10.5862 12.0009L5.63618 16.9509C5.24566 17.3415 5.24566 17.9746 5.63618 18.3652C6.02671 18.7557 6.65987 18.7557 7.0504 18.3652L12.0004 13.4151L16.9499 18.3646C17.3404 18.7551 17.9736 18.7551 18.3641 18.3646C18.7546 17.974 18.7546 17.3409 18.3641 16.9504L13.4146 12.0009L18.3641 7.05145C18.7546 6.66093 18.7546 6.02776 18.3641 5.63724C17.9736 5.24671 17.3404 5.24671 16.9499 5.63724L12.0004 10.5867L7.05037 5.63664Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const WarningIcon: React.VoidFunctionComponent<IconProps> = (props) => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n data-test-id={props[\"data-test-id\"]}\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10 0C4.48 0 0 4.48 0 10C0 15.52 4.48 20 10 20C15.52 20 20 15.52 20 10C20 4.48 15.52 0 10 0ZM10 11C9.45 11 9 10.55 9 10V6C9 5.45 9.45 5 10 5C10.55 5 11 5.45 11 6V10C11 10.55 10.55 11 10 11ZM11 15H9V13H11V15Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport { CheckIcon } from \"../Icons/CheckIcon\";\nimport { CrossIcon } from \"../Icons/CrossIcon\";\nimport { WarningIcon } from \"../Icons/WarningIcon\";\n\nimport \"./Toaster.scss\";\n\nexport interface ToasterProps {\n type: \"success\" | \"failure\";\n message: string;\n title: string;\n isVisible?: boolean;\n /** if you need to reposition the toaster for whatever reason you can use these props */\n styleOverwrite?: Pick<\n React.CSSProperties,\n \"top\" | \"bottom\" | \"left\" | \"right\"\n >;\n}\n\nexport const TOASTER_TYPE_OPTIONS = {\n SUCCESS: \"success\",\n FAILURE: \"failure\",\n} as const;\nexport type ToasterType =\n typeof TOASTER_TYPE_OPTIONS[keyof typeof TOASTER_TYPE_OPTIONS];\n\nconst Toaster: React.VoidFunctionComponent<ToasterProps> = ({\n message = \"\",\n title = \"\",\n type = TOASTER_TYPE_OPTIONS.SUCCESS,\n isVisible,\n styleOverwrite,\n}) => {\n const isSuccess = type === TOASTER_TYPE_OPTIONS.SUCCESS;\n const isFailure = type === TOASTER_TYPE_OPTIONS.FAILURE;\n\n return (\n <div\n style={styleOverwrite}\n id=\"application-toaster\"\n data-test-id={`toaster-panel-${type}`}\n className={classNames(\n \"bg-white cursor-pointer\",\n \"rounded-md shadow-lg\",\n \"min-h-13 max-h-19 w-104 transition-transform\",\n \"z-9999\",\n {\n shelved: !isVisible,\n expanded: isVisible,\n \"type-success\": isSuccess,\n \"type-failure\": isFailure,\n }\n )}\n >\n <div className=\"relative p-4\">\n <div className=\"flex flex-row\">\n <div\n data-test-id=\"success-toaster-icon\"\n className={classNames(\"success-icon text-green-700\", {\n hidden: isFailure,\n })}\n >\n <CheckIcon />\n </div>\n <div\n data-test-id=\"failure-toaster-icon\"\n className={classNames(\"failure-icon text-red-700\", {\n hidden: isSuccess,\n })}\n >\n <WarningIcon />\n </div>\n <div className=\"ml-3\">\n <Text type=\"strong\" data-test-id=\"toaster-title\" text={title} />\n <Text data-test-id=\"toaster-message\" text={message} />\n </div>\n <CrossIcon\n data-test-id=\"toaster-close-button\"\n className=\"ml-auto cursor-pointer text-slate-500\"\n />\n </div>\n </div>\n\n <div\n data-test-id=\"toaster-progress-bar-container\"\n className={classNames(\"h-1 absolute bottom-0 w-full rounded-b-md\")}\n >\n <div\n data-test-id=\"toaster-progress-bar\"\n className={classNames(\"h-full\")}\n />\n </div>\n </div>\n );\n};\n\nexport default Toaster;\n","interface GetToasterElementsParams {\n timeoutId: NodeJS.Timeout;\n progressBarAnimationFrameHandler: number;\n}\n\ninterface GetToasterElementsReturn {\n toasterElementMessage: HTMLElement;\n toasterProgressBar: HTMLElement;\n toasterElementTitle: HTMLElement;\n toasterElementSuccessIcon: HTMLElement;\n toasterElementFailureIcon: HTMLElement;\n toasterElementContainer: HTMLElement;\n toasterCloseButton: HTMLElement;\n}\n\n/**\n *\n * @param params.timeoutId - the timeoutId (that makes the toaster vanish), in case of a shortcut\n * @param params.progressBarAnimationFrameHandler - animation frame id to be canceled in case of a shortcut\n * @returns a collection of html elements to be manipulated by the animation\n */\nexport const getToasterElements = (\n params: GetToasterElementsParams\n): GetToasterElementsReturn => {\n const { timeoutId, progressBarAnimationFrameHandler } = params;\n const toasterElementContainer = document.querySelector<HTMLElement>(\n \"#application-toaster\"\n );\n\n if (!toasterElementContainer) {\n clearTimeout(timeoutId);\n clearTimeout(progressBarAnimationFrameHandler);\n\n throw new Error(\n \"Make sure that the Toaster component element is rendered with an id [application-toaster]\"\n );\n }\n\n const toasterElementMessage = toasterElementContainer?.querySelector(\n '[data-test-id=\"toaster-message\"]'\n ) as HTMLElement;\n\n const toasterElementTitle = toasterElementContainer?.querySelector(\n '[data-test-id=\"toaster-title\"]'\n ) as HTMLElement;\n\n const toasterElementSuccessIcon = toasterElementContainer?.querySelector(\n '[data-test-id=\"success-toaster-icon\"]'\n ) as HTMLElement;\n\n const toasterElementFailureIcon = toasterElementContainer?.querySelector(\n '[data-test-id=\"failure-toaster-icon\"]'\n ) as HTMLElement;\n\n const toasterCloseButton = toasterElementContainer?.querySelector(\n '[data-test-id=\"toaster-close-button\"]'\n ) as HTMLElement;\n\n const toasterProgressBar = toasterElementContainer?.querySelector(\n '[data-test-id=\"toaster-progress-bar\"]'\n ) as HTMLElement;\n\n return {\n toasterElementContainer,\n toasterElementMessage,\n toasterElementTitle,\n toasterProgressBar,\n toasterElementSuccessIcon,\n toasterElementFailureIcon,\n toasterCloseButton,\n };\n};\n","interface AnimateProgressParams {\n animationDuration: number;\n progressBarElement: HTMLElement;\n}\n\n/**\n * Reference: https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame\n * @param params.animationDuration - the amount of seconds the duration will take\n * @param params.progressBarElement - the html element for the progress bar\n * @returns the animation frame id\n */\nexport const animateProgress = (params: AnimateProgressParams): number => {\n const { animationDuration, progressBarElement } = params;\n\n let progressBarAnimationFrameHandler: number;\n\n let startingTimestamp = 0;\n let previousTimestamp = 0;\n let done = false;\n const animationTick = 100 / animationDuration;\n\n const animate = (animationTimestamp: number) => {\n if (!startingTimestamp) {\n startingTimestamp = animationTimestamp;\n }\n\n const elapsed = animationTimestamp - startingTimestamp;\n\n if (previousTimestamp !== animationTimestamp) {\n const count = 100 - animationTick * elapsed;\n progressBarElement.style.width = `${count}%`;\n if (count === 0) {\n done = true;\n }\n }\n\n if (elapsed < animationDuration) {\n // Stop the animation after duration is finished\n previousTimestamp = animationTimestamp;\n\n if (!done) {\n progressBarAnimationFrameHandler =\n window.requestAnimationFrame(animate);\n }\n }\n };\n\n progressBarElement.style.width = \"100%\";\n\n progressBarAnimationFrameHandler = requestAnimationFrame(animate);\n\n return progressBarAnimationFrameHandler;\n};\n","import { getToasterElements } from \"./toast-elements-getter\";\nimport { animateProgress } from \"./toast-progress-animator\";\n\nlet timeoutId: NodeJS.Timeout;\nlet progressBarAnimationFrameHandler: number;\n\nconst defaultDurationInSeconds = 5;\n\ntype ToastParams =\n | {\n message: string;\n title?: string;\n showIcon?: boolean;\n type: \"success\" | \"failure\";\n }\n | string;\n\nconst showToaster = (params: ToastParams) => {\n clearTimeout(timeoutId);\n clearTimeout(progressBarAnimationFrameHandler);\n\n const {\n toasterElementContainer,\n toasterElementMessage,\n toasterElementTitle,\n toasterProgressBar,\n toasterElementSuccessIcon,\n toasterElementFailureIcon,\n toasterCloseButton,\n } = getToasterElements({\n timeoutId,\n progressBarAnimationFrameHandler,\n });\n\n const animationDuration = defaultDurationInSeconds * 1000;\n\n progressBarAnimationFrameHandler = animateProgress({\n animationDuration,\n progressBarElement: toasterProgressBar,\n });\n\n timeoutId = setTimeout(() => {\n toasterElementContainer.classList.remove(\"expanded\");\n clearTimeout(timeoutId);\n cancelAnimationFrame(progressBarAnimationFrameHandler);\n }, animationDuration);\n\n function shortcutAndClose() {\n toasterElementContainer.classList.remove(\"expanded\");\n toasterElementContainer.classList.add(\"shelved\");\n\n clearTimeout(timeoutId);\n cancelAnimationFrame(progressBarAnimationFrameHandler);\n }\n\n toasterCloseButton.removeEventListener(\"click\", shortcutAndClose, true);\n toasterCloseButton.addEventListener(\"click\", shortcutAndClose);\n\n toasterElementContainer.removeEventListener(\"click\", shortcutAndClose, true);\n toasterElementContainer.addEventListener(\"click\", shortcutAndClose);\n\n // Basic usage, no need to manipulate any other element;\n if (typeof params === \"string\") {\n toasterElementMessage.textContent = params;\n toasterElementTitle.classList.add(\"hidden\");\n\n toasterElementSuccessIcon.classList.remove(\"hidden\");\n toasterElementFailureIcon.classList.add(\"hidden\");\n\n toasterElementContainer.classList.remove(\"type-failure\");\n toasterElementContainer.classList.add(\"type-success\");\n toasterElementContainer.classList.add(\"expanded\");\n\n return;\n }\n\n const { title = \"\", showIcon = true, message, type } = params;\n\n toasterElementTitle.classList.toggle(\"hidden\", !title);\n toasterElementTitle.textContent = title;\n\n toasterElementSuccessIcon.classList.toggle(\"hidden\", !showIcon);\n toasterElementFailureIcon.classList.toggle(\"hidden\", !showIcon);\n\n toasterElementMessage.textContent = message;\n toasterElementContainer.classList.remove(\"type-success\");\n toasterElementContainer.classList.remove(\"type-failure\");\n toasterElementContainer.classList.add(\"expanded\");\n toasterElementContainer.classList.add(`type-${type}`);\n};\n\nexport const toast = (params: ToastParams): void => {\n showToaster(params);\n};\n\ntoast.error = (message: string): void => {\n showToaster({\n message: message,\n type: \"failure\",\n showIcon: true,\n title: \"\",\n });\n};\n\ntoast.info = (message: string): void => {\n showToaster({\n message: message,\n type: \"success\",\n showIcon: true,\n title: \"\",\n });\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChevronRightIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M9.31008 6.70978C8.92008 7.09978 8.92008 7.72978 9.31008 8.11978L13.1901 11.9998L9.31008 15.8798C8.92008 16.2698 8.92008 16.8998 9.31008 17.2898C9.70008 17.6798 10.3301 17.6798 10.7201 17.2898L15.3101 12.6998C15.7001 12.3098 15.7001 11.6798 15.3101 11.2898L10.7201 6.69978C10.3401 6.31978 9.70008 6.31978 9.31008 6.70978Z\" fill=\"currentColor\"/>\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChevronDownIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M17.5995 8.99904C17.2095 8.60904 16.5795 8.60904 16.1895 8.99904L12.3095 12.879L8.42955 8.99904C8.03955 8.60904 7.40955 8.60904 7.01955 8.99904C6.62955 9.38904 6.62955 10.019 7.01955 10.409L11.6095 14.999C11.9995 15.389 12.6295 15.389 13.0195 14.999L17.6095 10.409C17.9895 10.029 17.9895 9.38904 17.5995 8.99904Z\" fill=\"currentColor\"/>\n </svg>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport \"./Title.scss\";\nimport { allowedColors, TextColor } from \"../Text/Text\";\n\nexport type TitleStyle = \"xs\" | \"sm\" | \"base\" | \"lg\" | \"xl\" | \"2xl\";\n\nexport interface TitleProps {\n text: string;\n type?: TitleStyle; //defaults to \"base\"\n color?: TextColor;\n className?: string;\n}\n\nexport const Title = (props: TitleProps): JSX.Element => {\n const containerClassName = classNames(\n \"title\", //this is used to load the correct font from the css\n \"font-bold\",\n allowedColors[props.color ?? \"base\"],\n {\n \"text-base\": props.type === \"xs\",\n \"text-xl\": props.type === \"sm\",\n \"text-2xl\": props.type === \"base\",\n \"text-3xl\": props.type === \"lg\",\n \"text-4xl \": props.type === \"xl\",\n \"text-6xl \": props.type === \"2xl\",\n },\n props.className\n );\n\n let ContainerElement: React.ElementType;\n\n switch (props.type) {\n case \"sm\":\n ContainerElement = \"h5\";\n break;\n case \"base\":\n ContainerElement = \"h4\";\n break;\n case \"lg\":\n ContainerElement = \"h3\";\n break;\n case \"xl\":\n ContainerElement = \"h2\";\n break;\n case \"2xl\":\n ContainerElement = \"h1\";\n break;\n default:\n ContainerElement = \"h4\";\n break;\n }\n\n return (\n <ContainerElement className={containerClassName}>\n {props.text}\n </ContainerElement>\n );\n};\n\nTitle.defaultProps = {\n type: \"base\",\n};\n","import React, { useReducer } from \"react\";\nimport classNames from \"classnames\";\n\nimport { ChevronRightIcon } from \"../Icons/ChevronRightIcon\";\nimport { ChevronDownIcon } from \"../Icons/ChevronDownIcon\";\nimport { Title } from \"../Title/Title\";\n\nexport interface AccordionItemProps {\n id: string | number;\n title: string;\n content: React.ReactNode;\n className?: string;\n isCollapsedByDefault?: boolean;\n}\n\nexport const AccordionItem: React.VFC<AccordionItemProps> = ({\n id,\n title,\n content,\n isCollapsedByDefault = false,\n}) => {\n const [isCollapsed, toggleIsCollapsed] = useReducer(\n (state) => !state,\n isCollapsedByDefault\n );\n const Chevron = isCollapsed ? ChevronRightIcon : ChevronDownIcon;\n\n return (\n <li\n className={\"bg-white border-b last:border-b-0 border-slate-100\"}\n data-test-id={id}\n >\n <div\n onClick={toggleIsCollapsed}\n className={classNames(\n \"p-4 w-full flex flex-row space-x-4 select-none\",\n \"cursor-pointer hover:bg-blue-50 transition-colors ease-in-out duration-300\",\n {\n \"border-b border-slate-100\": !isCollapsed,\n }\n )}\n >\n <Chevron className={\"text-slate-300\"} />\n <Title text={title} type={\"xs\"} />\n </div>\n\n <div className={classNames({ hidden: isCollapsed })}>{content}</div>\n </li>\n );\n};\n","import React from \"react\";\n\nimport { AccordionItem, AccordionItemProps } from \"./AccordionItem\";\n\nexport interface AccordionProps {\n dataTestId?: string;\n items: AccordionItemProps[];\n className?: string;\n isCollapsedByDefault?: boolean;\n}\n\nconst Accordion: React.VFC<AccordionProps> = ({\n dataTestId,\n isCollapsedByDefault = false,\n items,\n className,\n}) => {\n return (\n <ul data-test-id={dataTestId} className={className}>\n {items.map?.((item) => (\n <AccordionItem\n {...item}\n key={item.id}\n isCollapsedByDefault={\n item.isCollapsedByDefault ?? isCollapsedByDefault\n }\n />\n ))}\n </ul>\n );\n};\n\nexport default Accordion;\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const DragIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 4C7.44772 4 7 4.44772 7 5V7C7 7.55228 7.44772 8 8 8H10C10.5523 8 11 7.55228 11 7V5C11 4.44772 10.5523 4 10 4H8ZM14 4C13.4477 4 13 4.44772 13 5V7C13 7.55228 13.4477 8 14 8H16C16.5523 8 17 7.55228 17 7V5C17 4.44772 16.5523 4 16 4H14ZM7 11C7 10.4477 7.44772 10 8 10H10C10.5523 10 11 10.4477 11 11V13C11 13.5523 10.5523 14 10 14H8C7.44772 14 7 13.5523 7 13V11ZM14 10C13.4477 10 13 10.4477 13 11V13C13 13.5523 13.4477 14 14 14H16C16.5523 14 17 13.5523 17 13V11C17 10.4477 16.5523 10 16 10H14ZM7 17C7 16.4477 7.44772 16 8 16H10C10.5523 16 11 16.4477 11 17V19C11 19.5523 10.5523 20 10 20H8C7.44772 20 7 19.5523 7 19V17ZM14 16C13.4477 16 13 16.4477 13 17V19C13 19.5523 13.4477 20 14 20H16C16.5523 20 17 19.5523 17 19V17C17 16.4477 16.5523 16 16 16H14Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ImageIcon: React.VoidFunctionComponent<IconProps> = props => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n onClick={props.onClick}\n className={props.className}\n role={props.onClick ? \"button\" : undefined}\n >\n <path\n d=\"M18 16V2C18 0.9 17.1 0 16 0H2C0.9 0 0 0.9 0 2V16C0 17.1 0.9 18 2 18H16C17.1 18 18 17.1 18 16ZM5.9 10.98L8 13.51L11.1 9.52C11.3 9.26 11.7 9.26 11.9 9.53L15.41 14.21C15.66 14.54 15.42 15.01 15.01 15.01H3.02C2.6 15.01 2.37 14.53 2.63 14.2L5.12 11C5.31 10.74 5.69 10.73 5.9 10.98Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React, { useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\nimport { DragIcon } from \"../Icons/DragIcon\";\nimport { ImageIcon } from \"../Icons/ImageIcon\";\n\nimport { ListItemProps } from \"./List.types\";\n\nexport const ListItem = ({\n icon,\n subtitle,\n title,\n accessories,\n tooltipId,\n onAssetLoadError,\n roundTop,\n isSelected,\n ...restProps\n}: ListItemProps): JSX.Element => {\n const [loadIconError, setLoadIconError] = useState(false);\n\n function onListItemIconLoadError() {\n console.error({\n message:\n \"Url from icon failed to load, please check the props passed to `ListItem`.\",\n icon,\n title,\n subtitle,\n });\n\n setLoadIconError(true);\n\n onAssetLoadError?.({\n title,\n subtitle: subtitle,\n itemId: restProps.itemId,\n icon,\n });\n }\n\n function onListItemIconLoad() {\n setLoadIconError(false);\n }\n\n return (\n <li\n className={classNames(\n \"flex last:rounded-b flex-row items-center space-x-4 bg-white\",\n \"px-4 border-b last:border-b-0 border-slate-100\",\n {\n \"first:rounded-t\": roundTop,\n \"cursor-pointer\": restProps.handleItemClick,\n \"hover:bg-blue-50 transition-colors ease-in-out duration-300\":\n restProps.handleItemClick,\n }\n )}\n onClick={restProps.handleItemClick}\n data-id={restProps.itemId}\n data-tip={restProps.itemId}\n data-for={tooltipId}\n >\n {restProps.isDraggable && <DragIcon className=\"text-slate-300\" />}\n {/* If the icon is a react component, render it as so */}\n {icon &&\n typeof icon === \"function\" &&\n React.createElement(icon, { className: \"w-6 h-6\" })}\n {/* If the icon is a string url, load it in a vanilla img element */}\n {!loadIconError && icon && typeof icon === \"string\" && (\n <img\n src={icon}\n data-chromatic=\"ignore\"\n alt=\"list-item-icon\"\n className=\"w-6 h-6 text-sm\"\n onLoad={onListItemIconLoad}\n onError={onListItemIconLoadError}\n />\n )}\n {loadIconError && <ImageIcon className=\"w-6 h-6 text-slate-300\" />}\n <div className={\"py-4\"}>\n <Text type={isSelected ? \"strong\" : \"base\"} text={title} />\n {subtitle && <Text text={subtitle} type={\"sm\"} color=\"slate-500\" />}\n </div>\n <div className={\"flex-grow\"} />\n {accessories}\n </li>\n );\n};\n\nexport default ListItem;\n","import React from \"react\";\n\nexport const ListItemSkeleton = (): JSX.Element => {\n return (\n <div className=\"flex flex-row items-center p-4\">\n <div\n className=\"skeleton-box is-circle mr-2\"\n style={{ width: `${32}px`, height: `${32}px` }}\n />\n <div className=\"flex flex-col\">\n <div\n className=\"skeleton-box mb-1\"\n style={{ width: `${160}px`, height: `${14}px` }}\n />\n <div\n className=\"skeleton-box\"\n style={{ width: `${110}px`, height: `${14}px` }}\n />\n </div>\n <div\n className=\"skeleton-box is-button ml-auto rounded-full\"\n style={{ width: `${24}px`, height: `${24}px` }}\n />\n </div>\n );\n};\n","import React from \"react\";\n\nimport \"./ListSkeleton.scss\";\nimport { ListItemSkeleton } from \"./ListItemSkeleton\";\n\ntype ListSkeletonProps = {\n items: number;\n};\n\nexport const ListSkeleton = ({ items }: ListSkeletonProps): JSX.Element => {\n const skeletonItems = Array.from({ length: items || 5 }, (_, i) => {\n return <ListItemSkeleton key={i} />;\n });\n\n return (\n <div className=\"flex flex-col divide-y divide-slate-200 bg-white border-slate-50 border rounded-lg shadow list-skeleton\">\n <div className=\"flex flex-row items-center px-4 py-2\">\n <div\n className=\"skeleton-box\"\n style={{ width: `${160}px`, height: `${14}px` }}\n />\n <div\n className=\"skeleton-box is-button ml-auto\"\n style={{ width: `${110}px`, height: `${44}px` }}\n />\n </div>\n {skeletonItems}\n </div>\n );\n};\n","import React, { useEffect, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport dragula from \"react-dragula\";\n\nimport { Title, TitleProps } from \"../Title/Title\";\nimport Text from \"../Text/Text\";\n\nimport { ListItem } from \"./ListItem\";\nimport {\n ListItemProps,\n ListProps,\n OnAssetLoadErrorPayload,\n} from \"./List.types\";\nimport { ListSkeleton } from \"./ListSkeleton\";\n\nimport \"./List.scss\";\n\nexport { ListProps, ListItemProps, OnAssetLoadErrorPayload };\n\nexport const List = ({\n title,\n headerButton,\n headerTransparent,\n items,\n onAssetLoadError,\n onDragEnd,\n emptyStateMessage,\n isLoading,\n dataTestId,\n}: ListProps): JSX.Element => {\n const listRef = useRef<HTMLUListElement | null>(null);\n const dragulaRef = useRef<dragula.Drake | null>(null);\n const hasHeader = !!(title || headerButton);\n\n useEffect(() => {\n dragulaRef.current?.destroy?.();\n if (listRef.current && onDragEnd && items.length) {\n dragulaRef.current = setupDragging();\n }\n\n return () => {\n dragulaRef.current?.destroy?.();\n };\n }, [items, listRef]);\n\n const handleDragEnd = (element: HTMLElement) => {\n const draggedItemId = element.dataset[\"id\"];\n\n if (listRef.current && draggedItemId) {\n const itemIdsWithOldOrder = items.map((item) => item.itemId.toString());\n const itemIdsWithNewOrder = Array.from(listRef.current.children)\n .map((child) => (child as HTMLElement).dataset[\"id\"])\n .filter((itemId): itemId is string => !!itemId);\n\n const oldIndexOfDraggedItemId =\n itemIdsWithOldOrder.indexOf(draggedItemId);\n const newIndexOfDraggedItemId =\n itemIdsWithNewOrder.indexOf(draggedItemId);\n\n if (oldIndexOfDraggedItemId !== newIndexOfDraggedItemId) {\n onDragEnd?.(draggedItemId, newIndexOfDraggedItemId);\n }\n }\n };\n\n const setupDragging = (): dragula.Drake | null => {\n if (!listRef.current) {\n return null;\n }\n const dragulaInstance = dragula([listRef.current], {\n revertOnSpill: true,\n });\n dragulaInstance.on(\"dragend\", handleDragEnd as (Element) => void);\n\n return dragulaInstance;\n };\n\n const roundTop = !hasHeader || (hasHeader && headerTransparent);\n\n if (isLoading) {\n return <ListSkeleton items={items.length} />;\n }\n\n const titleProps: TitleProps | null = title\n ? {\n type: \"xs\",\n ...(typeof title === \"object\" ? title : { text: title }),\n }\n : null;\n\n return (\n <div data-test-id={dataTestId ?? \"list-component\"}>\n {(title || headerButton) && (\n <div\n data-test-id=\"list-header\"\n className={classNames(\n \"flex rounded-t flex-row items-center space-x-4\",\n {\n \"py-4\": !headerButton,\n \"py-2\": headerButton,\n \"bg-white border-b border-slate-100 px-4\": !headerTransparent,\n \"mb-px\": headerTransparent,\n \"justify-between\": title && headerButton,\n \"justify-start\": title && !headerButton,\n \"justify-end\": !title && headerButton,\n }\n )}\n >\n {titleProps && <Title {...titleProps} />}\n {!!headerButton && (\n <div className=\"space-x-3\">\n {React.createElement(\n headerButton.buttonType,\n headerButton.buttonProps\n )}\n </div>\n )}\n </div>\n )}\n\n <ul ref={listRef}>\n {items.map((item) => (\n <ListItem\n {...item}\n roundTop={roundTop}\n key={item.itemId}\n onAssetLoadError={onAssetLoadError}\n isDraggable={!!onDragEnd}\n />\n ))}\n </ul>\n\n {items.length === 0 && emptyStateMessage && (\n <div\n className={classNames(\"p-4 bg-white rounded-b\", {\n \"first:rounded-t\": roundTop,\n })}\n >\n <Text text={emptyStateMessage} />\n </div>\n )}\n </div>\n );\n};\n\nexport default List;\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SearchIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.5 13.9996H14.71L14.43 13.7296C15.63 12.3296 16.25 10.4196 15.91 8.38965C15.44 5.60965 13.12 3.38965 10.32 3.04965C6.09001 2.52965 2.53002 6.08965 3.05002 10.3196C3.39002 13.1196 5.61002 15.4396 8.39002 15.9096C10.42 16.2496 12.33 15.6296 13.73 14.4296L14 14.7096V15.4996L18.25 19.7496C18.66 20.1596 19.33 20.1596 19.74 19.7496C20.15 19.3396 20.15 18.6696 19.74 18.2596L15.5 13.9996ZM9.50002 13.9996C7.01002 13.9996 5.00002 11.9896 5.00002 9.49965C5.00002 7.00965 7.01002 4.99965 9.50002 4.99965C11.99 4.99965 14 7.00965 14 9.49965C14 11.9896 11.99 13.9996 9.50002 13.9996Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { CrossIcon } from \"../Icons/CrossIcon\";\nimport { AllowedTextInputTypes } from \"../Form/form.types\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\nimport { FormFieldWidth } from \"../Form/form.types\";\nimport { FlexRow } from \"../Container/FlexRow\";\n\nimport \"./Input.css\";\n\n// FIXME: something in the tsdx.js build doesn't allow me to use `Uppercase<AllowedInputTypes>`\n// Don't know why yet but it can be fixed later.\nexport const INPUT_TYPES: Record<string, AllowedTextInputTypes> = {\n EMAIL: \"email\",\n NUMBER: \"number\",\n PASSWORD: \"password\",\n TEXT: \"text\",\n};\n\n/**\n * It's very complicated to tap into the onChange events of inputs,\n * so I omit the type it requires and add a easier one to deal with.\n */\ntype CustomHTMLInputProps = Omit<\n React.HTMLProps<HTMLInputElement>,\n \"onChange\" | \"ref\"\n> & { isError?: boolean };\n\nexport type FakeEventTarget = {\n target: {\n value: string;\n name: string;\n };\n currentTarget: {\n value: string;\n name: string;\n };\n};\n\nexport interface InputProps extends CustomHTMLInputProps {\n type?: AllowedTextInputTypes;\n clearable?: boolean;\n isDisabled?: boolean;\n withPrefix?: string;\n withSuffix?: string;\n icon?: React.VoidFunctionComponent<IconProps>;\n width?: FormFieldWidth;\n /**\n * Check the `asFormField` prop of this component to understand why this signature.\n */\n onChange?: (event: FakeEventTarget | string) => void;\n /**\n * ### TO BE USED WHEN INSIDE REACT-HOOK-FORM\n *\n * react-hook-form uses the onChange event differently.\n * Instead of passing an `event` object, it uses the value itself from the callback.\n *\n * So we need to use this flag to determine how to call the onChange callback.\n *\n * @example\n *\n * // In react-hook-forms:\n *\n * onChange({target: { name: 'myInput' }, value: 'text'}) // -> this whole object will be set as the value\n *\n * // so instead do:\n *\n * onChange('text') // -> 🤝\n */\n asFormField?: boolean;\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n (\n {\n withSuffix = \"\",\n withPrefix = \"\",\n className,\n clearable = false,\n type = \"text\",\n isDisabled = false,\n width = \"full\",\n icon,\n name,\n value = \"\",\n onChange,\n isError,\n asFormField,\n ...otherProps\n },\n ref\n ) => {\n const hasNoExtraContent = withPrefix === \"\" && withSuffix === \"\";\n const [innerValue, setInnerValue] = useState(value);\n\n useEffect(() => {\n setInnerValue(value);\n }, [value]);\n\n const clearField = () => {\n setInnerValue(\"\");\n\n // This allows backwards compatibility with our usages of the input\n onChange?.({\n target: {\n name: name || \"\",\n value: \"\",\n },\n currentTarget: {\n name: name || \"\",\n value: \"\",\n },\n });\n };\n\n const handleChangeEvent = (event: React.ChangeEvent<HTMLInputElement>) => {\n setInnerValue(event.currentTarget.value);\n\n // This allows backwards compatibility with our usages of the input\n onChange?.(\n asFormField\n ? event.currentTarget.value\n : {\n target: {\n name: name || \"\",\n value: event.currentTarget.value,\n },\n currentTarget: {\n name: name || \"\",\n value: event.currentTarget.value,\n },\n }\n );\n };\n\n const isClearIconVisible = clearable && innerValue;\n\n return (\n <FlexRow\n spacing={\"none\"}\n data-test-id=\"input-component-container\"\n position={\"relative\"}\n >\n <span\n className={classNames(\n \"h-11 border-t border-b border-solid border-input-border\",\n {\n hidden: hasNoExtraContent,\n \"order-1\": withPrefix !== \"\",\n \"order-2\": withSuffix !== \"\",\n \"rounded-l border-l\": withPrefix !== \"\",\n \"rounded-r border-r\": withSuffix !== \"\",\n },\n\n \"flex flex-col items-center p-3\",\n \"text-sm\",\n \"text-slate-500\",\n \"bg-main-background\"\n )}\n >\n {withSuffix || withPrefix}\n </span>\n {icon && (\n <div\n className=\"absolute top-1/2 left-4\"\n style={{\n transform: \"translateY(-50%)\",\n }}\n >\n {React.createElement(icon, {\n className: \"w-6 h-6 text-slate-300 \",\n })}\n </div>\n )}\n <input\n {...otherProps}\n data-test-id={`input-${name}`}\n name={name}\n value={innerValue}\n onChange={handleChangeEvent}\n ref={ref}\n size={otherProps.maxLength}\n type={type}\n disabled={isDisabled}\n className={classNames(\n \"input\",\n \"block\",\n {\n \"w-16\": width === \"sm\",\n \"w-32\": width === \"md\",\n \"w-56\": width === \"lg\",\n \"w-80\": width === \"xl\",\n \"flex-grow\": width === \"full\",\n },\n { \"pl-12\": icon, \"pr-11\": clearable },\n {\n \"text-slate-400 bg-slate-50\": isDisabled,\n \"text-slate-800\": !isDisabled,\n \"border-input-border\": !isDisabled && !isError,\n \"hover:border-input-border-dark\": !isDisabled,\n \"border-red-700\": isError,\n \"focus:outline-negative\": isError,\n \"focus:border-blue-800\": !isError,\n \"focus:outline-primary\": !isError,\n \"bg-white\": !isDisabled,\n },\n \"h-11\",\n \"p-2\",\n \"border\",\n \"text-sm\",\n \"placeholder-slate-500\",\n \"border-solid\",\n \"transition-colors\",\n \"duration-300\",\n {\n \"z-10\": withSuffix !== \"\" || withPrefix !== \"\", // to make sure the outline is displayed completely\n rounded: hasNoExtraContent,\n \"rounded-l\": withSuffix !== \"\",\n \"rounded-r\": withPrefix !== \"\",\n \"order-2\": withPrefix !== \"\",\n \"order-1\": withSuffix !== \"\",\n },\n \"shadow-default\",\n className\n )}\n />\n <div\n className=\"absolute right-0 top-1/2\"\n style={{\n transform: \"translateY(-50%)\",\n }}\n >\n <CrossIcon\n className={classNames(\n \"w-6 h-6 mr-3 cursor-pointer text-slate-300\",\n { block: isClearIconVisible, hidden: !isClearIconVisible }\n )}\n onClick={clearField}\n />\n </div>\n </FlexRow>\n );\n }\n);\n\nexport default Input;\n","import React from \"react\";\n\nimport { SearchIcon } from \"../Icons/SearchIcon\";\n\nimport Input, { InputProps } from \"./Input\";\n\nexport type SearchInputProps = Omit<\n InputProps,\n \"icon\" | \"withSuffix\" | \"withPrefix\" | \"type\" | \"clearable\"\n>;\n\nexport const SearchInput = React.forwardRef<HTMLInputElement, SearchInputProps>(\n (props, ref) => {\n return (\n <Input\n {...props}\n icon={SearchIcon}\n type=\"text\"\n width=\"xl\"\n clearable={true}\n ref={ref}\n />\n );\n }\n);\n","import React from \"react\";\n\ninterface SpinnerProps {\n className?: string;\n}\n\nexport const Spinner = (props: SpinnerProps): JSX.Element => {\n return (\n <svg\n className={`w-5 h-5 animate-spin ${props.className}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\"></circle>\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { Spinner } from \"../Spinner/Spinner\";\nimport Text, { allowedColors } from \"../Text/Text\";\n\nimport { ButtonProps } from \"./ButtonProps.type\";\n\nexport const ButtonV2 = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n onClick,\n text,\n textColor,\n textHoverColor,\n icon,\n isDisabled,\n isPending,\n className,\n ...otherAttributes\n }: ButtonProps,\n innerRef\n ): JSX.Element => {\n function handleClick(event: React.MouseEvent<HTMLButtonElement>) {\n event.stopPropagation();\n onClick?.(event);\n }\n\n if (!text && !icon) {\n console.error(\n \"A text or an icon is required to use this component, please make sure to pass at least one of them as a prop.\"\n );\n return <span>Invalid props passed to this component.</span>;\n }\n\n const buttonClassName = classNames(\n [\n \"h-11\",\n \"relative flex flex-row justify-center items-center\",\n \"border\",\n \"transition-outline transition-colors duration-300 ease-in-out\",\n \"rounded-full\",\n \"leading-none\",\n \"shadow-sm\",\n \"cursor-pointer\",\n \"focus:outline-primary\",\n \"group\",\n \"flex-shrink-0\",\n ],\n {\n \"w-11\": !text && icon,\n \"pl-4 pr-6\": text && icon,\n \"px-4\": text && !icon,\n },\n {\n \"opacity-50\": isDisabled,\n \"pointer-events-none\": isDisabled || isPending,\n },\n className\n );\n\n const textColorClass = allowedColors[textColor ?? \"base\"];\n\n return (\n <button\n ref={innerRef}\n {...otherAttributes}\n className={buttonClassName}\n type={\"button\"}\n onClick={handleClick}\n disabled={isDisabled}\n aria-disabled={isDisabled}\n >\n {icon &&\n !isPending &&\n React.createElement(icon, {\n className: `w-6 h-6 ${textColorClass}`,\n })}\n\n {isPending && (\n <span\n className=\"opacity-100\"\n // IE11 center translate fix\n style={{\n position: \"absolute\",\n left: \"50%\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <Spinner className={textColorClass} />\n </span>\n )}\n\n {text && (\n <Text\n className={classNames({\n invisible: isPending,\n \"ml-1\": icon,\n })}\n text={text}\n color={textColor}\n hoverColor={textHoverColor}\n hoverInGroup\n />\n )}\n </button>\n );\n }\n);\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { ButtonV2 } from \"./ButtonV2\";\nimport { BaseButtonProps, ButtonProps } from \"./ButtonProps.type\";\n\nexport const SecondaryButton = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props: BaseButtonProps, innerRef): JSX.Element => {\n return (\n <ButtonV2\n ref={innerRef}\n {...props}\n className={classNames(\n [\n \"text-blue-800\",\n \"bg-white\",\n \"border-slate-300\",\n \"hover:text-blue-900\",\n \"hover:border-slate-400\",\n \"focus:border-blue-800\",\n ],\n props.className\n )}\n textColor=\"blue-800\"\n textHoverColor=\"blue-900\"\n />\n );\n }\n);\n","/**\n * @param {string} string\n * @param {string} searchTerm\n * @param {boolean} caseSensitive\n */\nexport const isSubstring = (\n string: string | unknown,\n searchTerm: string,\n caseSensitive = false\n): boolean => {\n const trueString =\n typeof string !== \"string\" ? JSON.stringify(string) : string;\n const stringToSearch = caseSensitive ? trueString : trueString?.toLowerCase();\n const searchTermWithCase = caseSensitive\n ? searchTerm\n : searchTerm?.toLowerCase();\n return stringToSearch?.indexOf(searchTermWithCase) > -1;\n};\n\nexport const getBase64 = (file: File): Promise<string> => {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onerror = reject;\n fr.onload = function () {\n resolve((fr.result as string).split(\",\")[1]);\n };\n fr.readAsDataURL(file);\n });\n};\n","var img = \"data:image/svg+xml,%3csvg width='144' height='144' viewBox='0 0 144 144' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M72 144C111.765 144 144 111.765 144 72C144 32.2355 111.765 0 72 0C32.2355 0 0 32.2355 0 72C0 111.765 32.2355 144 72 144Z' fill='%23BBE3D7'/%3e%3cpath d='M100 28H44C41.7909 28 40 29.7909 40 32V112C40 114.209 41.7909 116 44 116H100C102.209 116 104 114.209 104 112V32C104 29.7909 102.209 28 100 28Z' fill='%23FBFEFF'/%3e%3cellipse cx='58' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cellipse cx='58' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cellipse cx='58' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cellipse cx='86' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cellipse cx='86' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cellipse cx='86' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cpath d='M71.9007 101.202C70.0421 101.202 68.5352 99.6148 68.5352 97.6578V96H75.2663V97.6578C75.2663 99.6148 73.7594 101.202 71.9007 101.202Z' fill='%23454545'/%3e%3cpath d='M60.0918 96.0458C59.8056 95.6233 59.3882 95.5719 59.2189 95.5719C59.0496 95.5719 58.6252 95.6181 58.3461 96.0458C57.9584 96.6394 57.1663 96.8045 56.5764 96.4145C55.9865 96.025 55.8224 95.2273 56.2101 94.6338C56.8775 93.6111 58.0023 93 59.2189 93C60.4355 93 61.5603 93.6111 62.2284 94.6338C62.6154 95.2273 62.4513 96.025 61.8614 96.4145C61.645 96.5575 60.6888 96.9281 60.0918 96.0458Z' fill='%23454545'/%3e%3cpath d='M85.6543 96.0458C85.3681 95.6233 84.9513 95.5719 84.7814 95.5719C84.6121 95.5719 84.1883 95.6181 83.9092 96.0458C83.5215 96.6394 82.7288 96.8045 82.1389 96.4145C81.549 96.025 81.3849 95.2273 81.7726 94.6338C82.4406 93.6111 83.5655 93 84.7821 93C85.998 93 87.1228 93.6111 87.7909 94.6338C88.1786 95.2273 88.0144 96.025 87.4246 96.4145C87.2081 96.5575 86.2519 96.9281 85.6543 96.0458Z' fill='%23454545'/%3e%3crect x='88.8281' y='45.8281' width='8' height='4' rx='2' transform='rotate(45 88.8281 45.8281)' fill='%23BBE3D7'/%3e%3crect x='100.143' y='45.8281' width='12' height='4' rx='2' transform='rotate(135 100.143 45.8281)' fill='%23BBE3D7'/%3e%3crect x='46' y='46' width='34' height='8' rx='4' fill='%23C0E9FA'/%3e%3crect x='88.8281' y='65.8281' width='8' height='4' rx='2' transform='rotate(45 88.8281 65.8281)' fill='%23BBE3D7'/%3e%3crect x='100.143' y='65.8281' width='12' height='4' rx='2' transform='rotate(135 100.143 65.8281)' fill='%23BBE3D7'/%3e%3crect x='46' y='66' width='34' height='8' rx='4' fill='%23C0E9FA'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='144' height='144' viewBox='0 0 144 144' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg clip-path='url(%23clip0_1866_119823)'%3e%3cmask id='mask0_1866_119823' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='144' height='144'%3e%3cpath d='M0 0V144H144V0H0H0Z' fill='white'/%3e%3c/mask%3e%3cg mask='url(%23mask0_1866_119823)'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M72 144C32.235 144 0 111.765 0 72C0 32.235 32.235 0 72 0C111.765 0 144 32.235 144 72C144 111.765 111.765 144 72 144Z' fill='%236ABFA5'/%3e%3c/g%3e%3cmask id='mask1_1866_119823' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='54' y='36' width='35' height='35'%3e%3cpath d='M71.14 36L71.4657 36.003C80.7804 36.1767 88.28 43.7828 88.28 53.14V70.065L54 69.882V53.14C54 43.674 61.673 36 71.14 36ZM71.14 41.472L70.8441 41.4757C64.6488 41.6327 59.674 46.7039 59.674 52.937V65.524L82.605 65.646V52.937C82.605 46.605 77.471 41.472 71.14 41.472Z' fill='white'/%3e%3c/mask%3e%3cg mask='url(%23mask1_1866_119823)'%3e%3cpath d='M71.14 36L71.4657 36.003C80.7804 36.1767 88.28 43.7828 88.28 53.14V70.065L54 69.882V53.14C54 43.674 61.673 36 71.14 36ZM71.14 41.472L70.8441 41.4757C64.6488 41.6327 59.674 46.7039 59.674 52.937V65.524L82.605 65.646V52.937C82.605 46.605 77.471 41.472 71.14 41.472Z' fill='%23F2F2F2'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M71 39L71.3085 39.0035C78.8971 39.1745 85 45.6404 85 53.5915V68L57 67.8442V53.5915C57 45.533 63.2673 39 71 39ZM71 43.6584L70.7334 43.6623C65.6846 43.8094 61.6345 48.1211 61.6345 53.4187V64.1342L80.3646 64.238V53.4187C80.3646 48.0282 76.1712 43.6584 71 43.6584Z' fill='%23DEDEDE'/%3e%3c/g%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M90.5966 107.98H53.4036C50.1986 107.98 47.5996 105.381 47.5996 102.176V68.7708C47.5996 65.5658 50.1986 62.9668 53.4036 62.9668H90.5966C93.8026 62.9668 96.4006 65.5658 96.4006 68.7708V102.176C96.4006 105.381 93.8026 107.98 90.5966 107.98Z' fill='white'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M71.9277 75.3438C69.1662 75.3438 66.9277 77.5836 66.9277 80.3467C66.9277 82.3006 68.0499 83.9884 69.6804 84.8115L69.6813 95.3438H74.1751L74.1761 84.8115C75.8065 83.9884 76.9277 82.3006 76.9277 80.3467C76.9277 77.5836 74.6893 75.3438 71.9277 75.3438Z' fill='%236670A5'/%3e%3cpath d='M61 62H53V63H61V62Z' fill='white'/%3e%3cpath d='M89 62H81V63H89V62Z' fill='white'/%3e%3cpath d='M72 144C111.765 144 144 111.765 144 72C144 32.2355 111.765 0 72 0C32.2355 0 0 32.2355 0 72C0 111.765 32.2355 144 72 144Z' fill='%236ABFA5'/%3e%3cpath d='M76.975 32.7732C79.9117 37.5004 83.0276 42.9368 86.1287 48.7329C87.8031 51.8633 90.8123 54.0548 94.2988 54.6825C100.469 55.7938 106.31 56.9717 111.465 58.1712C115.702 59.1572 117.426 64.2717 114.653 67.6338C111.028 72.0263 106.95 76.7279 102.457 81.5292C100.104 84.0461 98.9851 87.4836 99.4054 90.909C100.173 97.1657 100.778 103.076 101.239 108.507C101.61 112.876 97.2381 116.105 93.1944 114.44C87.6662 112.163 82.6966 109.553 77.0542 106.776C73.8839 105.217 70.1732 105.197 66.9841 106.72C61.3559 109.408 56.0667 111.994 50.9051 114.19C46.8445 115.918 42.404 112.698 42.7799 108.29C43.2385 102.918 43.8374 97.0822 44.5947 90.909C45.015 87.4829 43.8971 84.0454 41.5426 81.5286C37.051 76.7273 32.9716 72.0256 29.3475 67.6331C26.5747 64.271 28.2981 59.1565 32.5352 58.1705C37.6902 56.9711 43.5319 55.7931 49.7019 54.6819C53.1878 54.0542 56.1969 51.8626 57.872 48.7322C60.9725 42.9362 64.0884 37.4997 67.0257 32.7725C69.3225 29.0757 74.6775 29.0757 76.975 32.7732Z' fill='%23EDFFF9'/%3e%3cpath opacity='0.5' d='M60.6635 77.2045C60.6635 74.8627 58.2874 72.9648 55.3561 72.9648C52.4249 72.9648 50.0488 74.8627 50.0488 77.2045C50.0488 79.5455 52.4249 81.4441 55.3561 81.4441C58.2874 81.4441 60.6635 79.5455 60.6635 77.2045Z' fill='%23FF83B4'/%3e%3cpath opacity='0.5' d='M93.9499 77.2045C93.9499 74.8627 91.5739 72.9648 88.6426 72.9648C85.712 72.9648 83.3359 74.8627 83.3359 77.2045C83.3359 79.5455 85.712 81.4441 88.6426 81.4441C91.5739 81.4441 93.9499 79.5455 93.9499 77.2045Z' fill='%23FF83B4'/%3e%3cpath d='M71.9988 76.516C70.2801 76.516 68.5613 75.9577 67.1272 74.8417C66.5478 74.3911 66.4424 73.554 66.8923 72.9727C67.3414 72.3915 68.176 72.2858 68.7554 72.7363C70.6648 74.2227 73.3329 74.2227 75.243 72.7363C75.8224 72.2858 76.6562 72.3915 77.1061 72.9727C77.5552 73.554 77.4498 74.3911 76.8704 74.8417C75.4363 75.9577 73.7176 76.516 71.9988 76.516Z' fill='%23454545'/%3e%3cpath d='M58.6251 73.96C58.3276 73.5222 57.8939 73.469 57.718 73.469C57.5421 73.469 57.101 73.5168 56.811 73.96C56.4081 74.5749 55.585 74.746 54.972 74.3419C54.3591 73.9384 54.1885 73.1121 54.5914 72.4972C55.2849 71.4378 56.4538 70.8047 57.718 70.8047C58.9822 70.8047 60.1511 71.4378 60.8453 72.4972C61.2475 73.1121 61.077 73.9384 60.464 74.3419C60.2391 74.49 59.2454 74.8739 58.6251 73.96Z' fill='%23454545'/%3e%3cpath d='M87.1876 73.96C86.8901 73.5222 86.4571 73.469 86.2805 73.469C86.1046 73.469 85.6642 73.5168 85.3741 73.96C84.9713 74.5749 84.1475 74.746 83.5345 74.3419C82.9216 73.9384 82.751 73.1121 83.1539 72.4972C83.8481 71.4378 85.017 70.8047 86.2812 70.8047C87.5447 70.8047 88.7136 71.4378 89.4078 72.4972C89.8107 73.1121 89.6401 73.9384 89.0272 74.3419C88.8022 74.49 87.8086 74.8739 87.1876 73.96Z' fill='%23454545'/%3e%3cg clip-path='url(%23clip1_1866_119823)'%3e%3cmask id='mask2_1866_119823' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='144' height='144'%3e%3cpath d='M0 0V144H144V0H0H0Z' fill='white'/%3e%3c/mask%3e%3cg mask='url(%23mask2_1866_119823)'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M72 144C32.235 144 0 111.765 0 72C0 32.235 32.235 0 72 0C111.765 0 144 32.235 144 72C144 111.765 111.765 144 72 144Z' fill='%23BBE3D7'/%3e%3c/g%3e%3cmask id='mask3_1866_119823' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='54' y='36' width='35' height='35'%3e%3cpath d='M71.14 36L71.4657 36.003C80.7804 36.1767 88.28 43.7828 88.28 53.14V70.065L54 69.882V53.14C54 43.674 61.673 36 71.14 36ZM71.14 41.472L70.8441 41.4757C64.6488 41.6327 59.674 46.7039 59.674 52.937V65.524L82.605 65.646V52.937C82.605 46.605 77.471 41.472 71.14 41.472Z' fill='white'/%3e%3c/mask%3e%3cg mask='url(%23mask3_1866_119823)'%3e%3cpath d='M71.14 36L71.4657 36.003C80.7804 36.1767 88.28 43.7828 88.28 53.14V70.065L54 69.882V53.14C54 43.674 61.673 36 71.14 36ZM71.14 41.472L70.8441 41.4757C64.6488 41.6327 59.674 46.7039 59.674 52.937V65.524L82.605 65.646V52.937C82.605 46.605 77.471 41.472 71.14 41.472Z' fill='%23F2F2F2'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M71 39L71.3085 39.0035C78.8971 39.1745 85 45.6404 85 53.5915V68L57 67.8442V53.5915C57 45.533 63.2673 39 71 39ZM71 43.6584L70.7334 43.6623C65.6846 43.8094 61.6345 48.1211 61.6345 53.4187V64.1342L80.3646 64.238V53.4187C80.3646 48.0282 76.1712 43.6584 71 43.6584Z' fill='%23DEDEDE'/%3e%3c/g%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M90.5966 107.98H53.4036C50.1986 107.98 47.5996 105.381 47.5996 102.176V68.7708C47.5996 65.5658 50.1986 62.9668 53.4036 62.9668H90.5966C93.8026 62.9668 96.4006 65.5658 96.4006 68.7708V102.176C96.4006 105.381 93.8026 107.98 90.5966 107.98Z' fill='white'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M71.9277 75.3438C69.1662 75.3438 66.9277 77.5836 66.9277 80.3467C66.9277 82.3006 68.0499 83.9884 69.6804 84.8115L69.6813 95.3438H74.1751L74.1761 84.8115C75.8065 83.9884 76.9277 82.3006 76.9277 80.3467C76.9277 77.5836 74.6893 75.3438 71.9277 75.3438Z' fill='%236670A5'/%3e%3cpath d='M61 62H53V63H61V62Z' fill='white'/%3e%3cpath d='M89 62H81V63H89V62Z' fill='white'/%3e%3cpath d='M72 144C111.765 144 144 111.765 144 72C144 32.2355 111.765 0 72 0C32.2355 0 0 32.2355 0 72C0 111.765 32.2355 144 72 144Z' fill='%23BBE3D7'/%3e%3cpath d='M76.975 32.7732C79.9117 37.5004 83.0276 42.9368 86.1287 48.7329C87.8031 51.8633 90.8123 54.0548 94.2988 54.6825C100.469 55.7938 106.31 56.9717 111.465 58.1712C115.702 59.1572 117.426 64.2717 114.653 67.6338C111.028 72.0263 106.95 76.7279 102.457 81.5292C100.104 84.0461 98.9851 87.4836 99.4054 90.909C100.173 97.1657 100.778 103.076 101.239 108.507C101.61 112.876 97.2381 116.105 93.1944 114.44C87.6662 112.163 82.6966 109.553 77.0542 106.776C73.8839 105.217 70.1732 105.197 66.9841 106.72C61.3559 109.408 56.0667 111.994 50.9051 114.19C46.8445 115.918 42.404 112.698 42.7799 108.29C43.2385 102.918 43.8374 97.0822 44.5947 90.909C45.015 87.4829 43.8971 84.0454 41.5426 81.5286C37.051 76.7273 32.9716 72.0256 29.3475 67.6331C26.5747 64.271 28.2981 59.1565 32.5352 58.1705C37.6902 56.9711 43.5319 55.7931 49.7019 54.6819C53.1878 54.0542 56.1969 51.8626 57.872 48.7322C60.9725 42.9362 64.0884 37.4997 67.0257 32.7725C69.3225 29.0757 74.6775 29.0757 76.975 32.7732Z' fill='%23EDFFF9'/%3e%3cpath opacity='0.5' d='M60.6635 77.2045C60.6635 74.8627 58.2874 72.9648 55.3561 72.9648C52.4249 72.9648 50.0488 74.8627 50.0488 77.2045C50.0488 79.5455 52.4249 81.4441 55.3561 81.4441C58.2874 81.4441 60.6635 79.5455 60.6635 77.2045Z' fill='%23FF83B4'/%3e%3cpath opacity='0.5' d='M93.9499 77.2045C93.9499 74.8627 91.5739 72.9648 88.6426 72.9648C85.712 72.9648 83.3359 74.8627 83.3359 77.2045C83.3359 79.5455 85.712 81.4441 88.6426 81.4441C91.5739 81.4441 93.9499 79.5455 93.9499 77.2045Z' fill='%23FF83B4'/%3e%3cpath d='M71.9988 76.516C70.2801 76.516 68.5613 75.9577 67.1272 74.8417C66.5478 74.3911 66.4424 73.554 66.8923 72.9727C67.3414 72.3915 68.176 72.2858 68.7554 72.7363C70.6648 74.2227 73.3329 74.2227 75.243 72.7363C75.8224 72.2858 76.6562 72.3915 77.1061 72.9727C77.5552 73.554 77.4498 74.3911 76.8704 74.8417C75.4363 75.9577 73.7176 76.516 71.9988 76.516Z' fill='%23454545'/%3e%3cpath d='M58.6251 73.96C58.3276 73.5222 57.8939 73.469 57.718 73.469C57.5421 73.469 57.101 73.5168 56.811 73.96C56.4081 74.5749 55.585 74.746 54.972 74.3419C54.3591 73.9384 54.1885 73.1121 54.5914 72.4972C55.2849 71.4378 56.4538 70.8047 57.718 70.8047C58.9822 70.8047 60.1511 71.4378 60.8453 72.4972C61.2475 73.1121 61.077 73.9384 60.464 74.3419C60.2391 74.49 59.2454 74.8739 58.6251 73.96Z' fill='%23454545'/%3e%3cpath d='M87.1876 73.96C86.8901 73.5222 86.4571 73.469 86.2805 73.469C86.1046 73.469 85.6642 73.5168 85.3741 73.96C84.9713 74.5749 84.1475 74.746 83.5345 74.3419C82.9216 73.9384 82.751 73.1121 83.1539 72.4972C83.8481 71.4378 85.017 70.8047 86.2812 70.8047C87.5447 70.8047 88.7136 71.4378 89.4078 72.4972C89.8107 73.1121 89.6401 73.9384 89.0272 74.3419C88.8022 74.49 87.8086 74.8739 87.1876 73.96Z' fill='%23454545'/%3e%3ccircle cx='72' cy='72' r='72' fill='%23BBE3D7'/%3e%3cpath d='M57.8627 78L65 85.1367C65 85.1367 58.3298 97.4142 46.3849 109.359C42.1198 113.625 35.8091 114.23 32.2895 110.71C28.7706 107.19 29.3753 100.88 33.6404 96.6145C45.5853 84.6696 57.8627 78 57.8627 78Z' fill='%236670A5'/%3e%3cpath d='M49 83.6111C50.3607 85.6362 51.9273 87.5447 53.691 89.3083C55.4553 91.072 57.3631 92.6393 59.3882 94C63.0565 88.8161 65 85.239 65 85.239L57.7604 78C57.7604 78 54.1839 79.9435 49 83.6111Z' fill='%237A86C6'/%3e%3cpath d='M113 62.5C113 80.4489 98.4489 95 80.5 95C62.5511 95 48 80.4489 48 62.5C48 44.5504 62.5511 30 80.5 30C98.4489 30 113 44.5504 113 62.5Z' fill='%236670A5'/%3e%3cpath d='M104 62.5003C104 75.4788 93.4787 86 80.5 86C67.5213 86 57 75.4788 57 62.5003C57 49.5218 67.5213 39 80.5 39C93.4787 39 104 49.5218 104 62.5003Z' fill='%23CCECF9'/%3e%3cpath d='M66.5 64C65.6716 64 65 63.3273 65 62.4976V59.5024C65 58.6727 65.6716 58 66.5 58C67.3284 58 68 58.6727 68 59.5024V62.4974C68.0002 63.3272 67.3284 64 66.5 64Z' fill='%232D2D2D'/%3e%3cpath d='M94.5 64C93.6716 64 93 63.3273 93 62.4976V59.5024C93 58.6727 93.6716 58 94.5 58C95.3284 58 96 58.6727 96 59.5024V62.4974C96.0002 63.3272 95.3284 64 94.5 64Z' fill='%232D2D2D'/%3e%3cpath d='M80.5002 69C78.5064 69 76.6346 68.1213 75.3655 66.5887C74.828 65.9395 74.8906 64.9532 75.5057 64.3859C76.1208 63.8187 77.0552 63.8846 77.5928 64.5338C78.3 65.3879 79.3596 65.8776 80.5001 65.8776C81.6403 65.8776 82.6999 65.3879 83.4071 64.5338C83.9447 63.8846 84.8791 63.8183 85.4943 64.3859C86.1094 64.9532 86.1722 65.9395 85.6344 66.5887C84.3657 68.1213 82.4941 69 80.5002 69Z' fill='%232D2D2D'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath id='clip0_1866_119823'%3e%3crect width='144' height='144' fill='white'/%3e%3c/clipPath%3e%3cclipPath id='clip1_1866_119823'%3e%3crect width='144' height='144' fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='144' height='144' viewBox='0 0 144 144' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M72 144C111.765 144 144 111.765 144 72C144 32.2355 111.765 0 72 0C32.2355 0 0 32.2355 0 72C0 111.765 32.2355 144 72 144Z' fill='%236ABFA5'/%3e%3cpath d='M76.975 32.7732C79.9117 37.5004 83.0276 42.9368 86.1287 48.7329C87.8031 51.8633 90.8123 54.0548 94.2988 54.6825C100.469 55.7938 106.31 56.9717 111.465 58.1712C115.702 59.1572 117.426 64.2717 114.653 67.6338C111.028 72.0263 106.95 76.7279 102.457 81.5292C100.104 84.0461 98.9851 87.4836 99.4054 90.909C100.173 97.1657 100.778 103.076 101.239 108.507C101.61 112.876 97.2381 116.105 93.1944 114.44C87.6662 112.163 82.6966 109.553 77.0542 106.776C73.8839 105.217 70.1732 105.197 66.9841 106.72C61.3559 109.408 56.0667 111.994 50.9051 114.19C46.8445 115.918 42.404 112.698 42.7799 108.29C43.2385 102.918 43.8374 97.0822 44.5947 90.909C45.015 87.4829 43.8971 84.0454 41.5426 81.5286C37.051 76.7273 32.9716 72.0256 29.3475 67.6331C26.5747 64.271 28.2981 59.1565 32.5352 58.1705C37.6902 56.9711 43.5319 55.7931 49.7019 54.6819C53.1878 54.0542 56.1969 51.8626 57.872 48.7322C60.9725 42.9362 64.0884 37.4997 67.0257 32.7725C69.3225 29.0757 74.6775 29.0757 76.975 32.7732Z' fill='%23EDFFF9'/%3e%3cpath opacity='0.5' d='M60.6643 77.204C60.6643 74.8623 58.2883 72.9644 55.357 72.9644C52.4257 72.9644 50.0497 74.8623 50.0497 77.204C50.0497 79.545 52.4257 81.4436 55.357 81.4436C58.2883 81.4436 60.6643 79.545 60.6643 77.204Z' fill='%23FF83B4'/%3e%3cpath opacity='0.5' d='M93.9503 77.204C93.9503 74.8623 91.5743 72.9644 88.643 72.9644C85.7124 72.9644 83.3364 74.8623 83.3364 77.204C83.3364 79.545 85.7124 81.4436 88.643 81.4436C91.5743 81.4436 93.9503 79.545 93.9503 77.204Z' fill='%23FF83B4'/%3e%3cpath d='M72 76.516C70.2813 76.516 68.5625 75.9577 67.1285 74.8417C66.5491 74.3911 66.4437 73.554 66.8935 72.9727C67.3426 72.3915 68.1772 72.2858 68.7566 72.7363C70.666 74.2227 73.3341 74.2227 75.2442 72.7363C75.8236 72.2858 76.6575 72.3915 77.1073 72.9727C77.5564 73.554 77.451 74.3911 76.8716 74.8417C75.4375 75.9577 73.7188 76.516 72 76.516Z' fill='%23454545'/%3e%3cpath d='M58.626 73.96C58.3286 73.5222 57.8949 73.469 57.719 73.469C57.5431 73.469 57.102 73.5168 56.8119 73.96C56.4091 74.5749 55.586 74.746 54.973 74.3419C54.36 73.9384 54.1895 73.1121 54.5923 72.4972C55.2859 71.4378 56.4548 70.8047 57.719 70.8047C58.9832 70.8047 60.1521 71.4378 60.8463 72.4972C61.2485 73.1121 61.0779 73.9384 60.465 74.3419C60.24 74.49 59.2464 74.8739 58.626 73.96Z' fill='%23454545'/%3e%3cpath d='M87.1882 73.96C86.8907 73.5222 86.4577 73.469 86.2811 73.469C86.1052 73.469 85.6648 73.5168 85.3747 73.96C84.9719 74.5749 84.1481 74.746 83.5351 74.3419C82.9222 73.9384 82.7516 73.1121 83.1545 72.4972C83.8487 71.4378 85.0176 70.8047 86.2818 70.8047C87.5453 70.8047 88.7142 71.4378 89.4084 72.4972C89.8113 73.1121 89.6407 73.9384 89.0278 74.3419C88.8028 74.49 87.8092 74.8739 87.1882 73.96Z' fill='%23454545'/%3e%3c/svg%3e\";\n export default img;","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport NoOpenAlertsImage from \"../../assets/no-open-alerts.svg\";\nimport SearchNotFoundImage from \"../../assets/search-not-found.svg\";\nimport HappyStarImage from \"../../assets/happy-star.svg\";\nimport { Text } from \"../Text/Text\";\n\nconst imageSrc = {\n \"no-open-alerts\": NoOpenAlertsImage,\n \"search-not-found\": SearchNotFoundImage,\n \"no-notes-found\": HappyStarImage,\n};\n\ninterface EmptyListMessageProps {\n text: string;\n imageName?: keyof typeof imageSrc;\n dataTestId?: string;\n className?: string;\n}\n\nexport const EmptyListMessage = ({\n text,\n imageName,\n dataTestId = \"empty-list-message\",\n className,\n}: EmptyListMessageProps): JSX.Element => {\n return (\n <div className={classNames(\"flex flex-col items-center\", className)} data-test-id={dataTestId}>\n {imageName && <img className=\"mb-2.5\" alt=\"\" src={imageSrc[imageName]} />}\n <Text className=\"text-center\" text={text} />\n </div>\n );\n};\n","var img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='68' height='20' viewBox='0 0 68 20'%3e %3cg fill='none' fill-rule='nonzero'%3e %3ccircle cx='10' cy='10' r='10' fill='%23F09'%3e %3canimate attributeName='opacity' dur='2s' values='1%3b0.6%3b1' repeatCount='indefinite' begin='0.1'/%3e %3canimate attributeName='r' dur='2s' repeatCount='indefinite' values='10%3b8%3b10' begin='0.1'/%3e %3c/circle%3e %3ccircle cx='34' cy='10' r='10' fill='%236ABFA5'%3e %3canimate attributeName='opacity' dur='2s' values='1%3b0.6%3b1' repeatCount='indefinite' begin='0.6'/%3e %3canimate attributeName='r' dur='2s' repeatCount='indefinite' values='10%3b8%3b10' begin='0.6'/%3e %3c/circle%3e %3ccircle cx='58' cy='10' r='10' fill='%236670A5'%3e %3canimate attributeName='opacity' dur='2s' values='1%3b0.6%3b1' repeatCount='indefinite' begin='1.1'/%3e %3canimate attributeName='r' dur='2s' repeatCount='indefinite' values='10%3b8%3b10' begin='1.1'/%3e %3c/circle%3e %3c/g%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='margin: auto%3b background: none%3b display: block%3b shape-rendering: auto%3b' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3e%3ccircle cx='50' cy='50' fill='none' stroke='%23009fe3' stroke-width='16' r='36' stroke-dasharray='169.64600329384882 58.548667764616276'%3e %3canimateTransform attributeName='transform' type='rotate' repeatCount='indefinite' dur='1.1111111111111112s' values='0 50 50%3b360 50 50' keyTimes='0%3b1'%3e%3c/animateTransform%3e%3c/circle%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3c%3fxml version='1.0' encoding='utf-8'%3f%3e%3csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='margin: auto%3b background: none%3b display: block%3b shape-rendering: auto%3b' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3e%3ccircle cx='50' cy='50' fill='none' stroke='%23cbd5e1' stroke-width='16' r='36' stroke-dasharray='169.64600329384882 58.548667764616276'%3e %3canimateTransform attributeName='transform' type='rotate' repeatCount='indefinite' dur='1.1111111111111112s' values='0 50 50%3b360 50 50' keyTimes='0%3b1'%3e%3c/animateTransform%3e%3c/circle%3e%3c!-- %5bldio%5d generated by https://loading.io/ --%3e%3c/svg%3e\";\n export default img;","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport loadingImage from \"../../assets/loading.svg\";\nimport spinner from \"../../assets/spinner.svg\";\nimport graySpinner from \"../../assets/spinner-gray.svg\";\nimport { RestPropped } from \"../../types/general.types\";\n\nimport \"./LoadingIndicator.scss\";\n\nexport interface LoadingIndicatorProps extends RestPropped {\n asModal?: boolean;\n asSpinner?: boolean;\n className?: string;\n spinnerColor?: \"blue\" | \"gray\";\n}\n\nexport function LoadingIndicator({\n asModal = false,\n asSpinner = false,\n className = \"\",\n spinnerColor = \"blue\",\n\n ...restProps\n}: LoadingIndicatorProps): JSX.Element {\n const spinnerToRender = spinnerColor === \"blue\" ? spinner : graySpinner;\n\n const containerClassName = classNames(\"cweb-loading\", className, {\n \"as-modal\": asModal,\n });\n\n return (\n <div {...restProps} className={containerClassName}>\n <img\n src={asSpinner ? spinnerToRender : loadingImage}\n data-chromatic=\"ignore\"\n className={classNames(\"text-gray-600 fill-current stroke-current\", {\n \"h-4 w-4\": asSpinner,\n \"h-12 w-12\": !asSpinner,\n })}\n />\n </div>\n );\n}\n\nexport default LoadingIndicator;\n","import React, { useMemo, useState } from \"react\";\n\nimport Accordion, { AccordionProps } from \"../Accordion/Accordion\";\nimport { ListItemProps } from \"../List/List.types\";\nimport { AccordionItemProps } from \"../Accordion/AccordionItem\";\nimport List from \"../List/List\";\nimport { SearchInput } from \"../Input/SearchInput\";\nimport { Title } from \"../Title/Title\";\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { isSubstring } from \"../../utils/string.utils\";\nimport { BaseButtonProps } from \"../ButtonV2/ButtonProps.type\";\nimport { EmptyListMessage } from \"../EmptyListMessage/EmptyListMessage\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\n\nexport interface AccordionListProps extends Omit<AccordionProps, \"items\"> {\n localisations: {\n title: string;\n searchPlaceholder?: string;\n emptyListText?: string;\n };\n accordionItems: AccordionListItemProps[];\n buttonProps?: BaseButtonProps;\n isSearchEnabled?: boolean;\n isLoading?: boolean;\n}\n\nexport interface AccordionListItemProps\n extends Omit<AccordionItemProps, \"content\"> {\n listItems: ListItemProps[];\n}\n\nexport const AccordionList: React.VFC<AccordionListProps> = ({\n localisations: { title, searchPlaceholder = \"\", emptyListText = \"\" },\n buttonProps,\n accordionItems,\n isSearchEnabled = false,\n isLoading = false,\n ...accordionProps\n}) => {\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredAccordionItems = useMemo(() => {\n return accordionItems\n .map((accordionItem) => {\n const filteredListItems = accordionItem.listItems.filter(\n (listItem) =>\n !isSearchEnabled ||\n isSubstring(listItem.title, searchString) ||\n isSubstring(listItem.subtitle, searchString)\n );\n if (!isSearchEnabled && filteredListItems.length === 0) {\n return null;\n }\n const filteredListLength = searchString\n ? `${filteredListItems.length}/`\n : \"\";\n const itemCount = isSearchEnabled\n ? ` (${filteredListLength}${accordionItem.listItems.length})`\n : \"\";\n\n return {\n ...accordionItem,\n title: `${accordionItem.title}${itemCount}`,\n content: <List items={filteredListItems} />,\n };\n })\n .filter(Boolean) as AccordionItemProps[];\n }, [accordionItems, searchString]);\n return (\n <div\n className={\n \"bg-white h-full rounded-lg box-border overflow-auto flex flex-col\"\n }\n >\n <div className={\"p-6 flex flex-col space-y-4 border-b border-slate-100\"}>\n {title && <Title text={title} type={\"sm\"} />}\n {isSearchEnabled && (\n <SearchInput\n className=\"w-full\"\n value={searchString}\n placeholder={searchPlaceholder}\n onChange={(e) => {\n setSearchString(\n typeof e === \"string\" ? e : e.currentTarget.value\n );\n }}\n />\n )}\n {buttonProps && (\n <div>\n <SecondaryButton {...buttonProps} />\n </div>\n )}\n </div>\n\n {isLoading && <LoadingIndicator className=\"flex-1\" />}\n {!isLoading && filteredAccordionItems.length > 0 && (\n <Accordion {...accordionProps} items={filteredAccordionItems} />\n )}\n {!isLoading && filteredAccordionItems.length === 0 && (\n <EmptyListMessage\n imageName={\"search-not-found\"}\n text={emptyListText}\n className={\"mb-4 py-4 border-t border-b border-slate-100\"}\n />\n )}\n </div>\n );\n};\n\nexport default AccordionList;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { ButtonV2 } from \"./ButtonV2\";\nimport { BaseButtonProps } from \"./ButtonProps.type\";\n\nexport const TertiaryButton = (props: BaseButtonProps): JSX.Element => {\n return (\n <ButtonV2\n {...props}\n className={classNames(\n [\n \"text-blue-800\",\n \"bg-transparent\",\n \"border-transparent\",\n \"hover:text-blue-900\",\n \"focus:border-blue-800\",\n \"shadow-none\",\n ],\n props.className\n )}\n textColor=\"blue-800\"\n textHoverColor=\"blue-900\"\n />\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { CrossIcon } from \"../Icons/CrossIcon\";\nimport { TertiaryButton } from \"../ButtonV2/TertiaryButton\";\nimport { Title } from \"../Title/Title\";\n\nexport type ModalHeaderProps = {\n title: string;\n onCloseClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n};\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = (props) => {\n return (\n <div\n className={classNames(\n \"flex flex-row\",\n \"px-6 py-4 space-x-2\",\n \"justify-between items-center\",\n \"border-b border-slate-100\",\n \"rounded-t-lg\"\n )}\n >\n <Title text={props.title} type={\"sm\"} />\n <TertiaryButton icon={CrossIcon} onClick={props.onCloseClick} />\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { ButtonV2 } from \"./ButtonV2\";\nimport { ButtonWithPendingStateProps } from \"./ButtonProps.type\";\n\nexport const PrimaryButton = (\n props: ButtonWithPendingStateProps\n): JSX.Element => {\n return (\n <ButtonV2\n {...props}\n className={classNames(\n [\n \"text-white\",\n \"bg-blue-800\",\n \"border-primary-transparent\",\n \"hover:bg-blue-900\",\n ],\n props.className\n )}\n textColor=\"white\"\n />\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport {\n ButtonWithPendingStateProps,\n NonPrimaryButtonProps,\n PrimaryButtonProps,\n} from \"../ButtonV2/ButtonProps.type\";\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { PrimaryButton } from \"../ButtonV2/PrimaryButton\";\nimport Text from \"../Text/Text\";\n\nexport interface ModalFooterTrailingComponents {\n primaryButtonProps: PrimaryButtonProps;\n secondaryButtonProps?: NonPrimaryButtonProps;\n}\n\nexport type ModalFooterLeadingComponent = string | ButtonWithPendingStateProps;\n\nexport type ModalFooterProps = {\n footerLeadingComponent?: ModalFooterLeadingComponent;\n footerTrailingComponents: ModalFooterTrailingComponents;\n};\n\nexport const ModalFooter: React.FC<ModalFooterProps> = (props) => {\n return (\n <div\n className={classNames(\n \"flex flex-row\",\n \"px-6 py-4 space-x-2\",\n \"items-center\",\n \"bg-slate-50 border-t border-slate-100\",\n \"rounded-b-lg\",\n {\n \"justify-between\": props.footerLeadingComponent,\n \"justify-end\": !props.footerLeadingComponent,\n }\n )}\n >\n {props.footerLeadingComponent &&\n (typeof props.footerLeadingComponent === \"string\" ? (\n <Text\n text={props.footerLeadingComponent}\n type={\"base\"}\n color={\"slate-500\"}\n />\n ) : (\n <SecondaryButton\n data-test-id=\"modal-footer-leading-secondary-button\"\n {...props.footerLeadingComponent}\n />\n ))}\n\n <div className=\"flex flex-row space-x-2\">\n {props.footerTrailingComponents.secondaryButtonProps && (\n <SecondaryButton\n data-test-id=\"modal-footer-trailing-secondary-button\"\n {...props.footerTrailingComponents.secondaryButtonProps}\n />\n )}\n <PrimaryButton\n data-test-id=\"modal-footer-trailing-primary-button\"\n {...props.footerTrailingComponents.primaryButtonProps}\n />\n </div>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport { ModalHeader, ModalHeaderProps } from \"./ModalHeader\";\nimport { ModalFooter, ModalFooterProps } from \"./ModalFooter\";\n\nexport type ModalSize = \"small\" | \"medium\" | \"wide\";\n\nexport type ModalBaseProps = Omit<ModalHeaderProps, \"title\"> & {\n children: React.ReactNode;\n size?: ModalSize;\n withExtraMarginTop?: boolean;\n withContentPaddingY?: boolean;\n isOpen?: boolean;\n title?: string;\n dataTestId?: string;\n scrollableContent?: boolean;\n onCloseClick: (\n event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>\n ) => void;\n} & ModalFooterProps;\n\nexport const ModalBase: React.FC<ModalBaseProps> = (props) => {\n const { size = \"medium\", withContentPaddingY = true, isOpen = false } = props;\n\n ReactModal.setAppElement(\"body\");\n\n return (\n <div\n data-test-id=\"clicking-propagation-preventer\"\n onClick={(event) => {\n // https://github.com/reactjs/react-modal/issues/939\n event.stopPropagation();\n }}\n >\n <ReactModal\n isOpen={isOpen}\n data={{ \"test-id\": props.dataTestId ?? \"react-modal\" }}\n contentLabel={props.title}\n overlayClassName={classNames(\n \"px-2 py-15\",\n \"z-20\",\n \"fixed top-0 bottom-0 left-0 right-0\",\n \"overflow-x-hidden overflow-y-auto\",\n \"bg-overlay\"\n )}\n onRequestClose={props.onCloseClick}\n shouldFocusAfterRender={false}\n shouldCloseOnOverlayClick={false}\n className={classNames(\n \"my-0 mx-auto\",\n \"relative\",\n \"bg-white outline-none rounded-lg shadow-lg\",\n {\n \"overflow-y-hidden\": props.scrollableContent,\n \"mt-17\": props.withExtraMarginTop,\n \"w-80\": size === \"small\",\n \"w-132\": size === \"medium\",\n \"w-216\": size === \"wide\",\n }\n )}\n >\n {props.title && (\n <ModalHeader title={props.title} onCloseClick={props.onCloseClick} />\n )}\n\n <div\n className={classNames({\n \"rounded-t-lg\": !props.title,\n \"max-h-135 overflow-y-auto\": props.scrollableContent,\n })}\n >\n <div\n className={classNames(\"px-6\", {\n \"py-6\": withContentPaddingY,\n })}\n >\n {props.children}\n </div>\n </div>\n\n <ModalFooter\n footerLeadingComponent={props.footerLeadingComponent}\n footerTrailingComponents={props.footerTrailingComponents}\n />\n </ReactModal>\n </div>\n );\n};\n","import React from \"react\";\n\nimport { ModalBase, ModalBaseProps } from \"./ModalBase\";\n\nexport type ModalProps = Omit<\n ModalBaseProps,\n \"title\" | \"withExtraMarginTop\"\n> & {\n title: string;\n};\n\nexport const Modal: React.FC<ModalProps> = (props) => {\n return <ModalBase {...props} />;\n};\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Avatar.scss\";\n\nfunction checkImageValidity(src) {\n return new Promise((resolve) => {\n const image = new Image();\n image.onload = () => {\n resolve(true);\n };\n image.onerror = () => {\n resolve(false);\n };\n image.src = src;\n });\n}\n\nconst AVATAR_SIZE_OPTIONS = {\n LARGE: \"large\",\n MEDIUM: \"medium\",\n SMALL: \"small\",\n};\n\nexport const Avatar = ({ size, src, defaultImage, initials, className }) => {\n const [hasValidImage, setHasValidImage] = useState(false);\n\n useEffect(() => {\n let mounted = true;\n if (!defaultImage && src) {\n checkImageValidity(src).then((res) => {\n if (mounted) {\n setHasValidImage(res);\n }\n });\n }\n return () => {\n mounted = false;\n };\n }, [defaultImage, src]);\n\n const containerClassName = classNames(\"cweb-avatar type-readonly\", className, {\n \"size-large\": size === AVATAR_SIZE_OPTIONS.LARGE,\n \"size-medium\": size === AVATAR_SIZE_OPTIONS.MEDIUM,\n \"size-small\": size === AVATAR_SIZE_OPTIONS.SMALL,\n \"display-image\": hasValidImage,\n \"display-initials\": !hasValidImage,\n });\n\n const renderAvatar = () => {\n if (defaultImage) {\n return <img className=\"avatar-image\" src={defaultImage} alt=\"User avatar image\" />;\n } else if (hasValidImage) {\n return <img className=\"avatar-image\" src={src} alt=\"User avatar image\" />;\n } else {\n return <span className=\"avatar-initials-text\">{initials}</span>;\n }\n };\n\n return (\n <div className={containerClassName}>\n <div className=\"avatar-content-container\">{renderAvatar()}</div>\n </div>\n );\n};\n\nAvatar.propTypes = {\n src: PropTypes.string,\n initials: PropTypes.string.isRequired,\n size: PropTypes.oneOf([AVATAR_SIZE_OPTIONS.LARGE, AVATAR_SIZE_OPTIONS.MEDIUM, AVATAR_SIZE_OPTIONS.SMALL]),\n defaultImage: PropTypes.string,\n className: PropTypes.string,\n};\n\nAvatar.defaultProps = {\n size: AVATAR_SIZE_OPTIONS.MEDIUM,\n defaultImage: null,\n};\n\nexport default Avatar;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\ninterface BadgeProps {\n badgeCount: number;\n className?: string;\n}\n\nconst Badge = (props: BadgeProps): JSX.Element => {\n const containerClasses = classNames(\n [\"inline-flex\", \"items-center\", \"justify-center\", \"rounded-full\", \"h-6\", \"min-w-24\", \"px-2\", \"bg-color-negative\"],\n props.className\n );\n const textClasses = classNames([\"text-xs\", \"text-white\", \"leading-none\"]);\n\n return (\n <div className={containerClasses}>\n <span className={textClasses}>{props.badgeCount}</span>\n </div>\n );\n};\n\nexport default Badge;\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const AddIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 19C11.7167 19 11.4793 18.904 11.288 18.712C11.096 18.5207 11 18.2833 11 18V13H6C5.71667 13 5.479 12.904 5.287 12.712C5.09567 12.5207 5 12.2833 5 12C5 11.7167 5.09567 11.479 5.287 11.287C5.479 11.0957 5.71667 11 6 11H11V6C11 5.71667 11.096 5.479 11.288 5.287C11.4793 5.09567 11.7167 5 12 5C12.2833 5 12.521 5.09567 12.713 5.287C12.9043 5.479 13 5.71667 13 6V11H18C18.2833 11 18.5207 11.0957 18.712 11.287C18.904 11.479 19 11.7167 19 12C19 12.2833 18.904 12.5207 18.712 12.712C18.5207 12.904 18.2833 13 18 13H13V18C13 18.2833 12.9043 18.5207 12.713 18.712C12.521 18.904 12.2833 19 12 19Z\"\n fill=\"#0074DD\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const DeleteIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 19C6 20.1 6.9 21 8 21H16C17.1 21 18 20.1 18 19V9C18 7.9 17.1 7 16 7H8C6.9 7 6 7.9 6 9V19ZM18 4H15.5L14.79 3.29C14.61 3.11 14.35 3 14.09 3H9.91C9.65 3 9.39 3.11 9.21 3.29L8.5 4H6C5.45 4 5 4.45 5 5C5 5.55 5.45 6 6 6H18C18.55 6 19 5.55 19 5C19 4.45 18.55 4 18 4Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const EditIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3 17.4605V20.5005C3 20.7805 3.22 21.0005 3.5 21.0005H6.54C6.67 21.0005 6.8 20.9505 6.89 20.8505L17.81 9.94055L14.06 6.19055L3.15 17.1005C3.05 17.2005 3 17.3205 3 17.4605ZM20.71 7.04055C21.1 6.65055 21.1 6.02055 20.71 5.63055L18.37 3.29055C17.98 2.90055 17.35 2.90055 16.96 3.29055L15.13 5.12055L18.88 8.87055L20.71 7.04055V7.04055Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const LeftArrowIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.6899 17.2902C14.0799 16.9002 14.0799 16.2702 13.6899 15.8802L9.80992 12.0002L13.6899 8.12022C14.0799 7.73022 14.0799 7.10022 13.6899 6.71022C13.2999 6.32022 12.6699 6.32022 12.2799 6.71022L7.68992 11.3002C7.29992 11.6902 7.29992 12.3202 7.68992 12.7102L12.2799 17.3002C12.6599 17.6802 13.2999 17.6802 13.6899 17.2902Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const RightArrowIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.31008 6.70978C8.92008 7.09978 8.92008 7.72978 9.31008 8.11978L13.1901 11.9998L9.31008 15.8798C8.92008 16.2698 8.92008 16.8998 9.31008 17.2898C9.70008 17.6798 10.3301 17.6798 10.7201 17.2898L15.3101 12.6998C15.7001 12.3098 15.7001 11.6798 15.3101 11.2898L10.7201 6.69978C10.3401 6.31978 9.70008 6.31978 9.31008 6.70978Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChartIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"2\" y=\"7\" width=\"5\" height=\"15\" rx=\"2.5\" fill=\"currentColor\" />\n <rect x=\"9\" y=\"3\" width=\"5\" height=\"19\" rx=\"2.5\" fill=\"currentColor\" />\n <rect x=\"16\" y=\"10\" width=\"5\" height=\"12\" rx=\"2.5\" fill=\"currentColor\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const PrintIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"19\"\n height=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16.6 5H15V.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5V5H2.4A2.4 2.4 0 0 0 0 7.4v5.2A2.4 2.4 0 0 0 2.4 15H5v2.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V15h2.6a2.4 2.4 0 0 0 2.4-2.4V7.4A2.4 2.4 0 0 0 16.6 5zM5 1h9v4H5V1zm8 16H6v-5h7v5zm5-4.4a1.4 1.4 0 0 1-1.4 1.4H14v-2.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5V14H2.4A1.4 1.4 0 0 1 1 12.6V7.4A1.4 1.4 0 0 1 2.4 6h14.2A1.4 1.4 0 0 1 18 7.4v5.2z\"\n fill=\"currentColor\"\n fillRule=\"nonzero\"\n />\n </svg>\n );\n};\n","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M7.05037 5.63664C6.65984 5.24612 6.02668 5.24612 5.63615 5.63664C5.24563 6.02717 5.24563 6.66033 5.63616 7.05086L10.5862 12.0009L5.63618 16.9509C5.24566 17.3415 5.24566 17.9746 5.63618 18.3652C6.02671 18.7557 6.65987 18.7557 7.0504 18.3652L12.0004 13.4151L16.9499 18.3646C17.3404 18.7551 17.9736 18.7551 18.3641 18.3646C18.7546 17.974 18.7546 17.3409 18.3641 16.9504L13.4146 12.0009L18.3641 7.05145C18.7546 6.66093 18.7546 6.02776 18.3641 5.63724C17.9736 5.24671 17.3404 5.24671 16.9499 5.63724L12.0004 10.5867L7.05037 5.63664Z' fill='%23EDF2F7'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M3 6C3 5.44772 3.44772 5 4 5H20C20.5523 5 21 5.44772 21 6C21 6.55228 20.5523 7 20 7H4C3.44772 7 3 6.55228 3 6Z' fill='%23EDF2F7'/%3e%3cpath d='M3 12C3 11.4477 3.44772 11 4 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H4C3.44772 13 3 12.5523 3 12Z' fill='%23EDF2F7'/%3e%3cpath d='M4 17C3.44772 17 3 17.4477 3 18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18C21 17.4477 20.5523 17 20 17H4Z' fill='%23EDF2F7'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M9.31008 6.70978C8.92008 7.09978 8.92008 7.72978 9.31008 8.11978L13.1901 11.9998L9.31008 15.8798C8.92008 16.2698 8.92008 16.8998 9.31008 17.2898C9.70008 17.6798 10.3301 17.6798 10.7201 17.2898L15.3101 12.6998C15.7001 12.3098 15.7001 11.6798 15.3101 11.2898L10.7201 6.69978C10.3401 6.31978 9.70008 6.31978 9.31008 6.70978Z' fill='%230074DD'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M9.31008 6.70978C8.92008 7.09978 8.92008 7.72978 9.31008 8.11978L13.1901 11.9998L9.31008 15.8798C8.92008 16.2698 8.92008 16.8998 9.31008 17.2898C9.70008 17.6798 10.3301 17.6798 10.7201 17.2898L15.3101 12.6998C15.7001 12.3098 15.7001 11.6798 15.3101 11.2898L10.7201 6.69978C10.3401 6.31978 9.70008 6.31978 9.31008 6.70978Z' fill='%23EDF2F7'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M13.6899 17.2902C14.0799 16.9002 14.0799 16.2702 13.6899 15.8802L9.80992 12.0002L13.6899 8.12022C14.0799 7.73022 14.0799 7.10022 13.6899 6.71022C13.2999 6.32022 12.6699 6.32022 12.2799 6.71022L7.68992 11.3002C7.29992 11.6902 7.29992 12.3202 7.68992 12.7102L12.2799 17.3002C12.6599 17.6802 13.2999 17.6802 13.6899 17.2902Z' fill='%230074DD'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M13.6899 17.2902C14.0799 16.9002 14.0799 16.2702 13.6899 15.8802L9.80992 12.0002L13.6899 8.12022C14.0799 7.73022 14.0799 7.10022 13.6899 6.71022C13.2999 6.32022 12.6699 6.32022 12.2799 6.71022L7.68992 11.3002C7.29992 11.6902 7.29992 12.3202 7.68992 12.7102L12.2799 17.3002C12.6599 17.6802 13.2999 17.6802 13.6899 17.2902Z' fill='%23EDF2F7'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.5006 11.0006H11.7106L11.4306 10.7306C12.6306 9.33063 13.2506 7.42063 12.9106 5.39063C12.4406 2.61063 10.1206 0.390626 7.32063 0.0506256C3.09063 -0.469374 -0.469374 3.09063 0.0506256 7.32063C0.390626 10.1206 2.61063 12.4406 5.39063 12.9106C7.42063 13.2506 9.33063 12.6306 10.7306 11.4306L11.0006 11.7106V12.5006L15.2506 16.7506C15.6606 17.1606 16.3306 17.1606 16.7406 16.7506C17.1506 16.3406 17.1506 15.6706 16.7406 15.2606L12.5006 11.0006ZM6.50063 11.0006C4.01063 11.0006 2.00063 8.99063 2.00063 6.50063C2.00063 4.01063 4.01063 2.00063 6.50063 2.00063C8.99063 2.00063 11.0006 4.01063 11.0006 6.50063C11.0006 8.99063 8.99063 11.0006 6.50063 11.0006Z' fill='%230074DD'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M2.05086 0.636643C1.66033 0.246119 1.02717 0.246119 0.636643 0.636643C0.246119 1.02717 0.246119 1.66033 0.636643 2.05086L5.5867 7.00092L0.636672 11.9509C0.246148 12.3415 0.246148 12.9746 0.636672 13.3652C1.0272 13.7557 1.66036 13.7557 2.05089 13.3652L7.00091 8.41513L11.9503 13.3646C12.3409 13.7551 12.974 13.7551 13.3646 13.3646C13.7551 12.974 13.7551 12.3409 13.3646 11.9504L8.41513 7.00092L13.3646 2.05145C13.7551 1.66093 13.7551 1.02776 13.3646 0.637237C12.9741 0.246712 12.3409 0.246713 11.9504 0.637237L7.00092 5.5867L2.05086 0.636643Z' fill='%230074DD'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='19' height='18' viewBox='0 0 19 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M8.58663 1.04906C8.93899 0.258571 10.061 0.258571 10.4134 1.04906L12.1659 4.9807C12.3112 5.30673 12.6193 5.53057 12.9743 5.56804L17.2551 6.01985C18.1158 6.11069 18.4625 7.17779 17.8196 7.75718L14.6219 10.6389C14.3568 10.8778 14.2391 11.24 14.3131 11.5892L15.2063 15.8001C15.3858 16.6467 14.4781 17.3062 13.7284 16.8738L9.99962 14.7232C9.69041 14.5448 9.30959 14.5448 9.00038 14.7232L5.27159 16.8738C4.52189 17.3062 3.61416 16.6467 3.79373 15.8001L4.68686 11.5892C4.76093 11.24 4.64325 10.8778 4.37808 10.6389L1.18043 7.75718C0.537518 7.17779 0.88424 6.11069 1.74492 6.01985L6.0257 5.56804C6.38068 5.53057 6.68877 5.30673 6.8341 4.9807L8.58663 1.04906Z' fill='%23009FE3'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cg transform='translate(1.5%2c 0.5)'%3e %3cpath fill='none' fill-rule='evenodd' stroke='%230074DD' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12.643 3.357L6.03 9.97l-2.674 2.674L0 9.286'/%3e %3c/g%3e%3c/svg%3e\";\n export default img;","import * as React from \"react\";\n\nimport CloseIcon from \"../../assets/close.svg\";\nimport HamburgerIcon from \"../../assets/hamburger.svg\";\nimport ChevronRightBlueIcon from \"../../assets/right-arrow-blue.svg\";\nimport ChevronRightGreyIcon from \"../../assets/right-arrow-grey.svg\";\nimport ChevronLeftBlueIcon from \"../../assets/left-arrow-blue.svg\";\nimport ChevronLeftGreyIcon from \"../../assets/left-arrow-grey.svg\";\nimport SearchIcon from \"../../assets/search.svg\";\nimport SearchCancelIcon from \"../../assets/search-cancel.svg\";\nimport StarIcon from \"../../assets/starIcon.svg\";\nimport CheckIcon from \"../../assets/check-icon-primary.svg\";\n\ninterface ButtonIconProps {\n name: string;\n className?: string;\n}\n\ntype IconNames = {\n [key: string]: string;\n};\n\nconst iconSrc: IconNames = {\n // These need to be converted to svg files instead of components and added in\n // \"add\": AddIcon,\n // \"delete\": DeleteIcon,\n // \"edit\": EditIcon,\n close: CloseIcon,\n hamburger: HamburgerIcon,\n \"chevron-right-blue\": ChevronRightBlueIcon,\n \"chevron-left-blue\": ChevronLeftBlueIcon,\n \"chevron-right-grey\": ChevronRightGreyIcon,\n \"chevron-left-grey\": ChevronLeftGreyIcon,\n search: SearchIcon,\n star: StarIcon,\n check: CheckIcon,\n \"search-cancel\": SearchCancelIcon,\n};\n\nexport const ButtonIcon = (props: ButtonIconProps): JSX.Element => {\n return <img src={iconSrc[props.name]} className={props.className} />;\n};\n","// These types were added because they are used in ViewItem that is completely refactored to TS\n// Ideally they should also be used in the Button TS component, but this was outside of the scope of this task\nimport React from \"react\";\n\nimport { RestPropped } from \"../../types/general.types\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nexport const BUTTON_ROLES = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n SECONDARY_DARK: \"secondaryDark\",\n TERTIARY: \"tertiary\",\n QUATERNARY: \"quaternary\",\n NEGATIVE: \"negative\",\n TEXT: \"text\",\n LINK: \"link\",\n ICON: \"icon\",\n} as const;\n\ntype BUTTON_KEYS = keyof typeof BUTTON_ROLES;\nexport type BUTTON_TYPE = typeof BUTTON_ROLES[BUTTON_KEYS];\n\nexport type ButtonType = \"button\" | \"submit\";\n\nexport interface ButtonProps extends RestPropped {\n text?: string;\n role?: BUTTON_TYPE;\n type?: ButtonType;\n title?: string;\n link?: string;\n isPending?: boolean;\n isDisabled?: boolean;\n // TODO: add specific type of ButtonEvent\n onClick?: (arg: any) => void;\n className?: string;\n // name mapping to the right svg in ButtonIcon\n iconName?: string;\n // legacy - can be removed?\n hasIcon?: boolean;\n dynamicIcon?: React.FunctionComponent<IconProps>;\n}\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { navigate } from \"@reach/router\";\n\nimport { Spinner } from \"../Spinner/Spinner\";\nimport { AddIcon } from \"../Icons/AddIcon\";\nimport { DeleteIcon } from \"../Icons/DeleteIcon\";\nimport { EditIcon } from \"../Icons/EditIcon\";\nimport { LeftArrowIcon } from \"../Icons/LeftArrowIcon\";\nimport { RightArrowIcon } from \"../Icons/RightArrowIcon\";\nimport { ChartIcon } from \"../Icons/ChartIcon\";\nimport { PrintIcon } from \"../Icons/PrintIcon\";\n\nimport { ButtonIcon } from \"./ButtonIcon\";\nimport { BUTTON_ROLES, ButtonProps } from \"./Button.types\";\n\n// TODO: use the Types from Button.types.ts instead of PropTypes\nfunction Button(props: ButtonProps): JSX.Element {\n const {\n text = \"\",\n role: propsRole = BUTTON_ROLES.PRIMARY,\n type = \"button\",\n title = \"\",\n link = \"\",\n isPending = false,\n isDisabled = false,\n onClick,\n className = \"\",\n iconName = \"\",\n hasIcon: hasIconProps = false,\n dynamicIcon,\n ...otherAttributes\n } = props;\n\n const hasAddIcon = className.includes(\"add-button\");\n const hasEditIcon = className.includes(\"edit-button\");\n const hasDeleteIcon = className.includes(\"delete-button\");\n const hasPrevIcon = className.includes(\"prev-button\");\n const hasNextIcon = className.includes(\"next-button\");\n const hasChartIcon = className.includes(\"chart-button\");\n const hasPrintIcon = className.includes(\"print-button\");\n const hasIcon =\n hasIconProps ||\n iconName ||\n hasAddIcon ||\n hasEditIcon ||\n hasDeleteIcon ||\n hasPrevIcon ||\n hasNextIcon ||\n hasChartIcon ||\n hasPrintIcon ||\n dynamicIcon;\n\n const isIconOnly = hasIcon && !text;\n\n const [role, setRole] = useState(propsRole);\n\n // Fix to support the all the buttons in the application\n // Ideally we want to make a better implementation of them overall, but that's beyond the\n // scope of this task.\n\n useEffect(() => {\n if ((hasAddIcon || hasEditIcon) && !text) {\n setRole(BUTTON_ROLES.SECONDARY);\n } else if (propsRole === BUTTON_ROLES.TEXT || propsRole === BUTTON_ROLES.LINK) {\n setRole(BUTTON_ROLES.TERTIARY);\n } else if (hasDeleteIcon) {\n setRole(BUTTON_ROLES.NEGATIVE);\n }\n }, []);\n\n const isButtonDisabled = (role !== BUTTON_ROLES.LINK && isDisabled) || isPending;\n const isNonPrimaryNonNegative =\n role === BUTTON_ROLES.SECONDARY || role === BUTTON_ROLES.TERTIARY || role === BUTTON_ROLES.QUATERNARY;\n\n function handleClick(event: any) {\n if (link) {\n navigate(link);\n return;\n }\n\n if (isButtonDisabled || !onClick) {\n // without this, form will be submitted, if button has type submit.\n event.preventDefault();\n return;\n }\n\n onClick(event);\n }\n\n const buttonRolesStyling = {\n primary: [\n \"bg-primary\",\n \"hover:bg-primary-dark\",\n \"text-white\",\n \"focus:outline-primary\",\n \"border\",\n \"border-solid\",\n \"border-primary-transparent\",\n ],\n secondary: [\"bg-slate-200\"],\n secondaryDark: [\"bg-slate-700\", \"hover:bg-slate-600\"],\n tertiary: [\"bg-transparent\", \"shadow-none\", \"hover:bg-slate-100\"],\n quaternary: [\"bg-white\", \"shadow-none\", \"border\", \"border-solid\", \"border-quaternary\", \"hover:border-slate-200\"],\n negative: [\n \"bg-negative\",\n \"text-negative-dark\",\n \"hover:text-negative-darker\",\n \"hover:border-negative-border\",\n \"focus:outline-negative\",\n \"border\",\n \"border-transparent\",\n ],\n link: [],\n text: [],\n icon: [],\n };\n\n const containerClassName = classNames(\n // default button classes\n [\n \"h-11\",\n \"focus:outline-none\",\n \"relative flex flex-row justify-center items-center\",\n \"shadow-sm\",\n \"transition-outline transition-colors duration-300 ease-in-out\",\n \"cursor-pointer\",\n \"rounded-full\",\n \"leading-none\",\n ],\n // ensuring the buttons are 44px high including content\n {\n \"py-2 px-2 w-11\": isIconOnly,\n \"px-4 py-3\": !isIconOnly,\n },\n className,\n {\n \"opacity-50 pointer-events-none\": isButtonDisabled,\n \"hover:text-primary-dark text-primary\": isNonPrimaryNonNegative,\n \"border border-transparent\": isNonPrimaryNonNegative,\n \"hover:border-slate-200 focus:outline-primary\": isNonPrimaryNonNegative,\n \"text-secondary-dark opacity-75\": isButtonDisabled && isNonPrimaryNonNegative,\n },\n buttonRolesStyling[role]\n );\n\n const spinnerClassNames = classNames({\n hidden: !isPending,\n \"text-white\": role === BUTTON_ROLES.PRIMARY,\n \"text-dark-gray\": isNonPrimaryNonNegative,\n \"text-negative-dark\": role === BUTTON_ROLES.TERTIARY,\n });\n\n const buttonTextClasses = classNames([\"text-sm\", \"font-medium\"], {\n invisible: isPending,\n hidden: !text,\n \"ml-3\": hasIcon,\n });\n\n return (\n <button\n {...otherAttributes}\n aria-disabled={isButtonDisabled}\n disabled={isButtonDisabled}\n className={containerClassName}\n onClick={handleClick}\n type={type}\n title={title}\n data-role={role}\n >\n {hasAddIcon && <AddIcon className=\"w-5 h-5\" />}\n {hasEditIcon && <EditIcon className=\"w-5 h-5\" />}\n {hasDeleteIcon && <DeleteIcon className=\"w-5 h-5\" />}\n {hasPrevIcon && <LeftArrowIcon className=\"w-5 h-5\" />}\n {hasNextIcon && <RightArrowIcon className=\"w-5 h-5\" />}\n {hasChartIcon && <ChartIcon className=\"w-5 h-5\" />}\n {hasPrintIcon && <PrintIcon className=\"w-5 h-5\" />}\n {iconName && <ButtonIcon name={iconName} />}\n {dynamicIcon && React.createElement(dynamicIcon, { className: \"w-5 h-5\" })}\n\n <span\n className=\"opacity-100\"\n // IE11 center translate fix\n style={{\n position: \"absolute\",\n left: \"50%\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <Spinner className={spinnerClassNames} />\n </span>\n <span className={buttonTextClasses}>{text}</span>\n </button>\n );\n}\n\nexport default Button;\n\nexport { BUTTON_ROLES };\n","import React from \"react\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\n\nimport \"./GliderContainer.scss\";\n\ninterface GliderContainerProps {\n children: React.ReactNode;\n}\n\nexport const GliderContainer = (props: GliderContainerProps): JSX.Element => (\n <div className={\"relative h-full pb-6 glider-contain px-17 pb-6\"}>\n {props.children}\n <div className={\"entity-preview-left absolute top-1/2 left-0\"}>\n <Button iconName={\"chevron-left-blue\"} role={BUTTON_ROLES.QUATERNARY} />\n </div>\n <div className={\"entity-preview-right absolute top-1/2 right-0\"}>\n <Button iconName={\"chevron-right-blue\"} role={BUTTON_ROLES.QUATERNARY} />\n </div>\n <div className=\"entity-preview-dots\" />\n </div>\n);\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport Glider from \"react-glider\";\n\nimport { GliderContainer } from \"./GliderContainer\";\n\ninterface CarouselProps {\n id: string;\n slides: React.ReactNode[];\n className?: string;\n}\n\nconst Carousel = ({ slides, className, id }: CarouselProps): JSX.Element => {\n const [isVisible, setIsVisible] = useState(false);\n useEffect(() => setIsVisible(false), [id]);\n useEffect(() => {\n // hack to force Glider to re mount when id changes\n if (!isVisible) {\n setIsVisible(true);\n }\n }, [isVisible]);\n\n return (\n isVisible ? (\n <Glider\n hasDots\n hasArrows\n skipTrack\n // draggable\n scrollLock\n rewind\n arrows={{\n prev: \".entity-preview-left\",\n next: \".entity-preview-right\",\n }}\n id={id} // this should force Glider to rebuild, but it does not\n dots={\".entity-preview-dots\"}\n className={classNames(\"h-full\", className)}\n containerElement={GliderContainer}\n >\n <div className=\"glider-track h-full\">\n {slides?.map((slide, index) => (\n <div key={index} className={\"overflow-hidden\"}>\n {slide}\n </div>\n ))}\n </div>\n </Glider>\n ) : <></>);\n};\n\nexport default Carousel;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Button from \"../Button/Button\";\nimport { ButtonProps } from \"../Button/Button.types\";\nimport Text from \"../Text/Text\";\nimport { Title } from \"../Title/Title\";\n\nexport type BackgroundColor = \"white\" | \"slate-50\";\nexport type ImageSize = \"small\" | \"large\";\n\nexport interface CenteredHeroProps {\n title: string;\n text: string;\n image: string;\n imageSize?: ImageSize;\n buttons?: ButtonProps[];\n background?: BackgroundColor;\n}\n\nconst CenteredHero = ({\n title,\n text,\n image,\n buttons = [],\n background = \"slate-50\",\n imageSize = \"small\",\n}: CenteredHeroProps): JSX.Element => {\n return (\n <div\n className={classNames(\n \"p-6 flex flex-col items-center align-center w-full\",\n {\n \"bg-white\": background === \"white\",\n \"bg-slate-50\": background === \"slate-50\",\n }\n )}\n >\n {image && (\n <img\n src={image}\n className={classNames(\"mb-4\", {\n \"h-36 w-36\": imageSize === \"small\",\n \"h-72 w-72\": imageSize === \"large\",\n })}\n />\n )}\n {title && <Title text={title} type={\"base\"} />}\n {text && <Text text={text} />}\n\n {buttons?.length > 0 && (\n <div className=\"flex flex-row mt-4\">\n {buttons\n .filter(\n (button) => button.text && button.handleOnClick && button.type\n )\n .map((button) => (\n <Button\n className=\"mr-4 last:mr-0\"\n key={button.title}\n role={button.role}\n type={button.type}\n title={button.title}\n text={button.text}\n onClick={button.handleOnClick}\n />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nexport default CenteredHero;\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\n\nimport \"./Checkbox.scss\";\n\nexport interface CheckboxProps {\n id?: string;\n // The label that will be presented as a Text\n text?: string;\n // The explanation that will be presented below it\n explanation?: string;\n type?: \"regular\" | \"switch\";\n // Set the value\n isChecked?: boolean;\n //Value for when it is not clear if state is checked or not (for hierarchical checkboxes)\n isIndeterminate?: boolean;\n // Allow the user to change the input\n isDisabled?: boolean;\n name?: string;\n // This can be used to retrieve the value it is referring to through onChange\n value?: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n className?: string;\n error?: boolean;\n}\n\nexport const Checkbox = ({\n id,\n text,\n explanation,\n type = \"regular\",\n isChecked = false,\n isIndeterminate = false,\n isDisabled,\n name,\n value,\n onChange,\n className,\n error,\n}: CheckboxProps): JSX.Element => {\n const [checked, setChecked] = useState(false);\n const [indeterminate, setIndeterminate] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n const checkboxRef = React.useRef<HTMLInputElement>(null);\n\n const containerClassName = classNames(\"cweb-checkbox\", className, {\n \"is-focused\": isFocused,\n \"is-checked\": checked && !indeterminate,\n \"is-indeterminate\": indeterminate,\n \"opacity-50 cursor-not-allowed is-disabled\": isDisabled,\n \"type-regular\": type === \"regular\",\n \"type-switch\": type === \"switch\",\n hasError: error,\n });\n\n useEffect(() => {\n setChecked(isChecked);\n setIndeterminate(false);\n }, [isChecked]);\n\n useEffect(() => {\n setIndeterminate(isIndeterminate);\n }, [isIndeterminate]);\n\n useEffect(() => {\n if (checkboxRef?.current) {\n checkboxRef.current.indeterminate = !indeterminate;\n }\n }, [indeterminate]);\n\n const handleChange = (event) => {\n event.stopPropagation();\n setIndeterminate(false);\n if (onChange) {\n onChange(event);\n }\n };\n\n const handleFocus = () => setIsFocused(true);\n\n const handleBlur = () => setIsFocused(false);\n\n return (\n <div className={containerClassName} data-test-id=\"checkbox\">\n {/* When you click on a label the browser tries to focus the related input.\n The checkbox element is lying at the top of the page, even outside the viewport – so the browser tries to scroll there. */}\n {/* Source: https://stackoverflow.com/a/17974351 */}\n <label\n className=\"relative overflow-hidden cweb-checkbox-label\"\n data-test-id=\"checkbox-label\"\n onClick={(e) => e.stopPropagation()}\n >\n <input\n id={id}\n ref={checkboxRef}\n data-test-id={`checkbox-${name}`}\n className=\"cweb-checkbox-input\"\n name={name}\n type=\"checkbox\"\n checked={checked}\n disabled={isDisabled}\n value={value}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onChange={handleChange}\n />\n\n <span\n className={classNames(\"cweb-checkbox-icon-container\", {\n \"bg-primary\": checked || indeterminate,\n \"bg-white\": !checked && !indeterminate,\n \"hover:bg-primary-dark\": checked || indeterminate,\n \"outline-primary\": isFocused,\n \"cursor-not-allowed\": isDisabled,\n \"cursor-pointer\": !isDisabled,\n })}\n data-test-id=\"checkbox-span\"\n >\n <span className=\"cweb-checkbox-icon\" />\n </span>\n\n <div className=\"flex flex-col\">\n {text && (\n <Text\n className=\"ml-2 text-left select-none\"\n text={text}\n data-test-id=\"checkbox-text\"\n />\n )}\n {explanation && (\n <Text\n className=\"ml-2 text-left select-none\"\n text={explanation}\n color={\"slate-500\"}\n data-test-id=\"checkbox-explanation\"\n />\n )}\n </div>\n </label>\n </div>\n );\n};\n\nexport default Checkbox;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { Title } from \"../Title/Title\";\n\nimport { ConfirmationDialogTitleProps } from \"./types/ConfirmationDialog.types\";\n\nexport const ConfirmationDialogTitle: React.FC<ConfirmationDialogTitleProps> = (\n props\n) => {\n return props.title ? (\n <div\n data-test-id=\"confirmation-dialog-title\"\n className={classNames(\"flex flex-col space-y-2 text-center\", {\n \"items-center justify-center\": props.title?.icon,\n })}\n >\n {props.title.icon &&\n React.createElement(props.title.icon, {\n className: \"text-blue-800 dialog-header-icon h-12 w-12\",\n })}\n <Title text={props.title.title} type=\"sm\" />\n </div>\n ) : null;\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nexport interface TextLinkProps {\n text: string;\n enabled?: boolean;\n href?: string;\n rel?: string;\n target?: string;\n onClick?: () => void;\n className?: string;\n}\n\nexport const TextLink = (props: TextLinkProps): JSX.Element => {\n const className = classNames(\n \"text-sm hover:underline\",\n {\n \"cursor-pointer\": props.enabled,\n \"cursor-default\": !props.enabled,\n },\n {\n \"text-blue-800\": props.enabled,\n \"text-slate-800\": !props.enabled,\n },\n {\n \"hover:text-blue-900\": props.enabled,\n \"hover:text-slate-900\": !props.enabled,\n }\n );\n\n return (\n <a\n href={props.href}\n rel={props.rel}\n target={props.target}\n onClick={props.onClick}\n className={classNames(className, props.className)}\n >\n {props.text}\n </a>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\n/**\n * When used in components that can support both an icon or an image url, we can use this type.\n * TODO: Use this in the ListComponentItem, to extract the custom logic there rendering images/components\n */\nexport type DynamicIconProps = {\n icon: React.VoidFunctionComponent<IconProps> | string;\n className?: string;\n};\n\nexport const DynamicIcon: React.VoidFunctionComponent<DynamicIconProps> = props => {\n const { icon, className } = props;\n\n if (typeof icon === \"string\") {\n return React.createElement(\"img\", {\n src: icon,\n className,\n });\n }\n\n return React.createElement(icon, { className });\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text, TextColor } from \"../Text/Text\";\nimport { TextLink } from \"../TextLink/TextLink\";\nimport { DynamicIcon, DynamicIconProps } from \"../Icons/DynamicIcon\";\n\nexport type NotificationBannerColor =\n | \"base\"\n | \"blue\"\n | \"red\"\n | \"green\"\n | \"amber\";\n\nexport interface NotificationBannerLinkProps {\n text: string;\n enabled: boolean;\n handleClick?: () => void;\n}\n\nexport interface NotificationBannerProps {\n title?: string;\n text?: string;\n color?: NotificationBannerColor;\n /**\n * The icon can either be one of our icon components or an image url\n */\n icon?: DynamicIconProps[\"icon\"];\n linkProps?: NotificationBannerLinkProps;\n className?: string;\n stretch?: boolean;\n /**\n * When stretching the banner, you can also decide if the content should be centered or not.\n */\n centerContent?: boolean;\n}\n\nexport const NotificationBanner = (\n props: NotificationBannerProps\n): JSX.Element => {\n const { stretch = true, centerContent = false } = props;\n const classes = classNames(\n \"px-6 py-4 min-h-13 flex flex-row items-center border border-solid rounded\",\n props.className,\n {\n \"bg-slate-100 border-slate-300 text-slate-800\": props.color === \"base\",\n \"bg-blue-50 border-blue-700 text-blue-800\": props.color === \"blue\",\n \"bg-red-50 border-red-700 text-red-700\": props.color === \"red\",\n \"bg-green-50 border-green-700 text-green-700\": props.color === \"green\",\n \"bg-amber-50 border-amber-700 text-amber-700\": props.color === \"amber\",\n },\n {\n \"justify-center\": centerContent,\n }\n );\n\n const textColor: Record<NotificationBannerColor, TextColor> = {\n red: \"red\",\n amber: \"amber\",\n green: \"green\",\n base: \"base\",\n // Blue must be 800 here to pass the contrast test\n blue: \"blue-800\",\n };\n\n const color = props.color ? textColor[props.color] : \"base\";\n\n return (\n <div\n data-test-id=\"notification-banner\"\n className={classNames({\n \"w-full\": stretch,\n \"inline-block\": !stretch,\n })}\n >\n <div className={classes}>\n {props.icon && <DynamicIcon className=\"w-6 h-6\" icon={props.icon} />}\n <div className={\"flex flex-col\"}>\n {props.title && (\n <Text\n className={classNames({\n \"ml-3\": props.icon,\n })}\n text={props.title}\n data-test-id=\"notification-title\"\n type=\"strong\"\n color={color}\n />\n )}\n {(props.text || props.linkProps) && (\n <div className=\"flex flex-row items-center\">\n {props.text && (\n <Text\n className={classNames({\n \"ml-3\": props.icon,\n \"mr-1\": props.linkProps,\n })}\n text={props.text}\n data-test-id=\"notification-text\"\n color={color}\n />\n )}\n {props.linkProps && (\n <TextLink\n text={props.linkProps.text}\n data-test-id=\"notification-text-link\"\n enabled={props.linkProps.enabled}\n rel=\"noopener\"\n target=\"_blank\"\n onClick={props.linkProps.handleClick}\n />\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nNotificationBanner.defaultProps = {\n color: \"base\",\n onButtonClick: undefined,\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nimport \"./RadioV2.css\";\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n name: string;\n // value field is used by react-hook-form as the value returned\n value: string | number;\n // text shown to the user to explain the option\n text?: string;\n // text shown to the user underneath the text for extra information\n info?: string;\n isError?: boolean;\n innerRef?: React.Ref<HTMLInputElement>;\n}\n\nfunction RadioInner({\n text,\n info,\n isError,\n innerRef,\n className,\n name,\n ...otherProps\n}: RadioProps): JSX.Element {\n const { value, disabled } = otherProps;\n const nameHtmlFor = `${name}-field-${value}`;\n\n return (\n <label\n className=\"flex flex-row leading-tight radio-form-field-label\"\n htmlFor={nameHtmlFor}\n data-has-error={isError}\n data-test-id={nameHtmlFor}\n >\n <div className=\"flex flex-row items-center self-start\">\n <input\n {...otherProps}\n name={name}\n className={classNames(\"appearance-none\", className)}\n ref={innerRef}\n type=\"radio\"\n id={nameHtmlFor}\n disabled={disabled}\n />\n <span\n className={classNames(\n \"flex flex-col items-center justify-center w-4 h-4 transition-colors duration-300 ease-in-out border radio-circle rounded-xl border-slate-300\"\n )}\n >\n <span className=\"block transition-colors duration-300 ease-in-out radio-inner-circle w-1.5 h-1.5 rounded-xl\"></span>\n </span>\n </div>\n <div className=\"space-y-2\">\n {text && (\n <div className=\"flex items-center ml-2\">\n <Text\n inline={true}\n text={text}\n type=\"base\"\n color={disabled ? \"slate-500\" : undefined}\n />\n </div>\n )}\n {info && (\n <Text\n className=\"ml-2 leading-4\"\n text={info}\n type=\"sm\"\n color={disabled ? \"slate-200\" : \"slate-500\"}\n />\n )}\n </div>\n </label>\n );\n}\n\n/**\n * TODO: The CSS styling is all messed up, including isError\n * Warning: don't use this prop before this is resolved\n * Issue to track: https://github.com/Luscii/web-ui/issues/57\n * TODO: remove this comment once this is resolved\n */\nexport const RadioV2 = React.forwardRef<HTMLInputElement, RadioProps>(\n (props, ref) => <RadioInner {...props} innerRef={ref} />\n);\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { RadioProps, RadioV2 } from \"../Radio/RadioV2\";\nimport { Text } from \"../Text/Text\";\n\nexport interface RadioGroupProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"value\"> {\n name: string;\n isError?: boolean;\n options: Omit<RadioProps, \"name\">[];\n innerRef?: React.Ref<HTMLInputElement>;\n title?: string;\n}\n\nfunction RadioGroupInner({\n innerRef,\n options,\n defaultValue,\n title,\n ...registerProps\n}: RadioGroupProps): JSX.Element {\n return (\n <div className={classNames(\"flex flex-col space-y-2\")}>\n {title && <Text text={title} />}\n {options.map((option) => (\n <RadioV2\n defaultChecked={option.value === defaultValue}\n key={option.value}\n {...option}\n {...registerProps}\n ref={innerRef}\n />\n ))}\n </div>\n );\n}\n\nexport const RadioGroupV2 = React.forwardRef<HTMLInputElement, RadioGroupProps>(\n (props, ref) => <RadioGroupInner {...props} innerRef={ref} />\n);\n","import React from \"react\";\n\nimport { NotificationBanner } from \"../NotificationBanner/NotificationBanner\";\nimport { RadioProps } from \"../Radio/RadioV2\";\nimport { RadioGroupV2 } from \"../RadioGroup/RadioGroupV2\";\n\nimport {\n ConfirmationDialogChoice,\n ConfirmationDialogProps,\n} from \"./types/ConfirmationDialog.types\";\n\nexport const ConfirmationDialogChoices: React.FC<{\n choices: ConfirmationDialogProps[\"choices\"];\n onChoiceChangeCallback?: (choice: ConfirmationDialogChoice) => void;\n selectedChoice?: ConfirmationDialogChoice;\n}> = (props) => {\n const { choices, onChoiceChangeCallback, selectedChoice } = props;\n\n if (!choices) {\n return null;\n }\n\n const choicesIntoRadioOptions = choices.options.map<RadioProps>((choice) => {\n return {\n name: choice.text,\n text: choice.text,\n value: choice.value,\n info: choice.description,\n onChange: () => {\n onChoiceChangeCallback?.(choice);\n },\n };\n });\n\n return (\n <>\n <RadioGroupV2\n name=\"confirm-dialog-choices\"\n options={choicesIntoRadioOptions}\n defaultValue={selectedChoice?.value}\n />\n {selectedChoice?.displaysInfo && (\n <NotificationBanner\n text={selectedChoice.displaysInfo.text}\n color={selectedChoice.displaysInfo.level}\n />\n )}\n </>\n );\n};\n","import React from \"react\";\n\nimport Text from \"../Text/Text\";\n\nexport const ConfirmationDialogMessage: React.FC<{\n message: string | string[];\n}> = (props) => {\n const { message } = props;\n\n if (typeof message === \"string\") {\n return <Text text={message} containsDangerousHtml />;\n }\n\n return (\n <div className=\"space-y-2\">\n {message.map((messageLine) => (\n <Text text={messageLine} containsDangerousHtml />\n ))}\n </div>\n );\n};\n","import React, { useState } from \"react\";\n\nimport { ModalBase } from \"../Modal/ModalBase\";\n\nimport type {\n ConfirmationDialogChoice,\n ConfirmationDialogProps,\n} from \"./types/ConfirmationDialog.types\";\nimport { ConfirmationDialogTitle } from \"./ConfirmationDialogTitle\";\nimport { ConfirmationDialogChoices } from \"./ConfirmationDialogChoices\";\nimport { ConfirmationDialogMessage } from \"./ConfirmationDialogMessage\";\n\nexport const ConfirmationDialog: React.FC<ConfirmationDialogProps> = (\n props\n) => {\n const { choices } = props;\n\n const [selectedChoice, setSelectedChoice] = useState<\n ConfirmationDialogChoice | undefined\n >(choices?.options.find((choice) => choice.value === choices.defaultChoice));\n\n const handleOnCloseClick = () => {\n if (!props.isProcessing) {\n props.onCancel();\n }\n };\n\n const onChoiceChange = (choice?: ConfirmationDialogChoice) => {\n setSelectedChoice(choice);\n\n if (choice) {\n props.choices?.onChoiceChange(choice);\n }\n };\n\n const onConfirmHandler = () => {\n props.onConfirm(selectedChoice);\n };\n\n return (\n <ModalBase\n size={\"small\"}\n dataTestId={\"confirmation-dialog-modal\"}\n isOpen={props.isOpen}\n withExtraMarginTop={true}\n onCloseClick={handleOnCloseClick}\n footerTrailingComponents={{\n primaryButtonProps: {\n text: props.texts.confirmLabel,\n onClick: onConfirmHandler,\n isPending: props.isProcessing,\n },\n secondaryButtonProps: {\n text: props.texts.cancelLabel,\n onClick: props.onCancel,\n isDisabled: props.isProcessing,\n },\n }}\n >\n <div className=\"space-y-4 min-h-13\">\n <ConfirmationDialogTitle title={props.withTitle} />\n <ConfirmationDialogMessage message={props.texts.message} />\n <ConfirmationDialogChoices\n choices={props.choices}\n onChoiceChangeCallback={onChoiceChange}\n selectedChoice={selectedChoice}\n />\n </div>\n </ModalBase>\n );\n};\n","import React, { Component } from \"react\";\nimport ReactDatePicker from \"react-datepicker\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\nimport moment from \"moment\";\n\nimport Button from \"../Button/Button\";\n\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport \"./Datepicker.scss\";\n\nexport default class Datepicker extends Component {\n handleCloseButtonClick = (event) => {\n event.preventDefault();\n\n this.datepickerRef.setOpen(false);\n };\n\n getDateFormat = () => {\n const { showTimeSelect, formatDateWithTime = false } = this.props;\n\n return showTimeSelect || formatDateWithTime ? \"L LT\" : \"L\";\n };\n\n render() {\n const {\n className,\n hasCloseButton,\n closeButtonText,\n adjustDateOnChange = true,\n showMonthDropdown = true,\n showYearDropdown = true,\n shouldCloseOnSelect = false,\n allowSameDay = false,\n minDate,\n maxDate,\n isDisabled = false,\n selected,\n ...otherProps\n } = this.props;\n\n const dateFormat = this.getDateFormat();\n const pickerClassName = classNames(\n \"cweb-datepicker text-slate-800 text-sm\",\n className\n );\n const getCloseButtonText = () => {\n if (!closeButtonText) {\n return \"OK\";\n }\n return closeButtonText;\n };\n\n return (\n <ReactDatePicker\n {...otherProps}\n adjustDateOnChange={adjustDateOnChange}\n ref={(element) => (this.datepickerRef = element)}\n className={pickerClassName}\n calendarClassName=\"cweb-datepicker-calendar\"\n shouldCloseOnSelect={shouldCloseOnSelect}\n allowSameDay={allowSameDay}\n closeButtonText\n minDate={minDate}\n maxDate={maxDate}\n disabled={isDisabled}\n showMonthDropdown={showMonthDropdown}\n showYearDropdown={showYearDropdown}\n dateFormat={dateFormat}\n timeFormat=\"HH:mm\"\n selected={selected}\n dropdownMode=\"select\"\n >\n <div className=\"m-2\">\n {hasCloseButton ? (\n <Button\n text={getCloseButtonText()}\n className=\"w-full cweb-datepicker-close-button\"\n onClick={this.handleCloseButtonClick}\n />\n ) : null}\n </div>\n </ReactDatePicker>\n );\n }\n}\n\nDatepicker.propTypes = {\n className: PropTypes.string,\n selected: PropTypes.object,\n hasCloseButton: PropTypes.bool,\n closeButtonText: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n showMonthDropdown: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n minDate: PropTypes.instanceOf(moment),\n maxDate: PropTypes.instanceOf(moment),\n isDisabled: PropTypes.bool,\n};\n","var img = \"data:image/svg+xml,%3csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 0C4.26522 5.96046e-08 4.51957 0.105357 4.70711 0.292893L7.70711 3.29289C8.09763 3.68342 8.09763 4.31658 7.70711 4.70711C7.31658 5.09763 6.68342 5.09763 6.29289 4.70711L4 2.41421L1.70711 4.70711C1.31658 5.09763 0.683417 5.09763 0.292893 4.70711C-0.0976311 4.31658 -0.097631 3.68342 0.292893 3.29289L3.29289 0.292893C3.48043 0.105357 3.73478 0 4 0ZM0.292893 9.29289C0.683417 8.90237 1.31658 8.90237 1.70711 9.29289L4 11.5858L6.29289 9.29289C6.68342 8.90237 7.31658 8.90237 7.70711 9.29289C8.09763 9.68342 8.09763 10.3166 7.70711 10.7071L4.70711 13.7071C4.31658 14.0976 3.68342 14.0976 3.29289 13.7071L0.292893 10.7071C-0.0976311 10.3166 -0.0976311 9.68342 0.292893 9.29289Z' fill='%239CA3AF'/%3e%3c/svg%3e\";\n export default img;","import React, { PureComponent } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport chevronDouble from \"../../assets/chevron-double.svg\";\nimport checkmark from \"../../assets/check-icon-primary.svg\";\nimport { Text } from \"../Text/Text\";\n\nimport \"./Dropdown.scss\";\n\nconst ITEM_QUERY_FIELD_NAMES = {\n ID: \"id\",\n HIGHLIGHT_INDEX: \"highlightIndex\",\n};\n\nconst keyCodes = {\n ARROW_DOWN: 40,\n ARROW_UP: 38,\n ENTER: 13,\n TAB: 9,\n SHIFT: 16,\n ESC: 27,\n};\n\nclass Dropdown extends PureComponent {\n static addHighlightIndexToItems = items => {\n let index = 0;\n\n return items.map(item => {\n if (!item.subItems) {\n const currentIndex = index;\n index = index + 1;\n\n return {\n ...item,\n highlightIndex: currentIndex,\n };\n } else {\n return {\n ...item,\n subItems: item.subItems.map(subItem => {\n const currentIndex = index;\n index = index + 1;\n\n return {\n ...subItem,\n highlightIndex: currentIndex,\n };\n }),\n };\n }\n });\n };\n\n static getTotalItemCount = items => {\n return items.reduce((acc, item) => {\n if (!item.subItems) {\n return acc + 1;\n } else {\n return acc + item.subItems.length;\n }\n }, 0);\n };\n\n constructor(props) {\n super(props);\n\n const items = Dropdown.addHighlightIndexToItems(props.items);\n const selectedItem = props.initialSelectedItemId\n ? this.findItem(\n items,\n ITEM_QUERY_FIELD_NAMES.ID,\n props.initialSelectedItemId\n )\n : null;\n\n this.state = {\n totalItemCount: Dropdown.getTotalItemCount(items),\n isDropdownOpen: false,\n highlightIndex: null,\n selectedItem,\n items,\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const items = Dropdown.addHighlightIndexToItems(nextProps.items);\n\n return {\n ...prevState,\n items: items,\n totalItemCount: Dropdown.getTotalItemCount(items),\n };\n }\n\n componentDidMount() {\n document.addEventListener(\"mousedown\", this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"mousedown\", this.handleClickOutside);\n }\n\n handleClickOutside = event => {\n if (this.rootRef && !this.rootRef.contains(event.target)) {\n this.closeDropdown();\n }\n };\n\n handleKeyDown = event => {\n const { items, isDropdownOpen, highlightIndex } = this.state;\n\n if (event.keyCode === keyCodes.ENTER) {\n event.preventDefault();\n\n if (isDropdownOpen) {\n this.closeDropdown();\n this.setSelectedItem(\n this.findItem(\n items,\n ITEM_QUERY_FIELD_NAMES.HIGHLIGHT_INDEX,\n highlightIndex\n )\n );\n this.rootRef.blur();\n } else {\n this.openDropdown();\n }\n } else if (event.keyCode === keyCodes.TAB) {\n if (event.shiftKey) {\n this.decreaseHighlightIndexIfPossible();\n } else {\n this.increaseHighlightIndexIfPossible();\n }\n } else if (event.keyCode === keyCodes.ARROW_UP) {\n event.preventDefault();\n\n this.decreaseHighlightIndexIfPossible();\n } else if (event.keyCode === keyCodes.ARROW_DOWN) {\n event.preventDefault();\n\n if (isDropdownOpen) {\n this.increaseHighlightIndexIfPossible();\n } else {\n this.openDropdown();\n }\n } else if (event.keyCode === keyCodes.ESC) {\n this.closeDropdown();\n this.rootRef.blur();\n }\n };\n\n findItem = (items, fieldName, fieldValue) => {\n let selectedItem;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n\n if (item[fieldName] === fieldValue) {\n selectedItem = item;\n } else if (item.subItems) {\n for (let j = 0; j < item.subItems.length; j++) {\n const subItem = item.subItems[j];\n\n if (\n (fieldName === ITEM_QUERY_FIELD_NAMES.ID &&\n subItem.key === fieldValue) ||\n subItem[fieldName] === fieldValue\n ) {\n selectedItem = subItem;\n break;\n }\n }\n }\n\n if (selectedItem) {\n break;\n }\n }\n\n return selectedItem;\n };\n\n openDropdown = () => {\n this.setState(prevState => {\n return {\n isDropdownOpen: true,\n highlightIndex: prevState.selectedItem\n ? prevState.selectedItem.highlightIndex\n : 0,\n };\n });\n };\n\n closeDropdown = () => {\n this.setState({\n isDropdownOpen: false,\n highlightIndex: null,\n });\n };\n\n setSelectedItem = item => {\n this.setState({\n selectedItem: item,\n });\n };\n\n findSelectedItem = selectedIndex => {\n return this.rootRef.querySelectorAll(\".dropdown-list-item\")[selectedIndex];\n };\n\n scrollToHighlightedItem = selectedIndex => {\n const selectedItem = this.findSelectedItem(selectedIndex);\n if (this.dropdownListRef.scrollTo) {\n this.dropdownListRef.scrollTo(0, selectedItem.offsetTop);\n }\n };\n\n increaseHighlightIndexIfPossible = () => {\n this.setState(prevState => {\n const newHighlightIndex =\n prevState.highlightIndex < prevState.totalItemCount - 1\n ? prevState.highlightIndex + 1\n : prevState.highlightIndex;\n\n if (newHighlightIndex !== prevState.highlightIndex) {\n this.scrollToHighlightedItem(newHighlightIndex);\n }\n\n return {\n highlightIndex: newHighlightIndex,\n };\n });\n };\n\n decreaseHighlightIndexIfPossible = () => {\n this.setState(prevState => {\n const newHighlightIndex =\n prevState.highlightIndex > 0\n ? prevState.highlightIndex - 1\n : prevState.highlightIndex;\n\n if (newHighlightIndex !== prevState.highlightIndex) {\n this.scrollToHighlightedItem(newHighlightIndex);\n }\n\n return {\n highlightIndex: newHighlightIndex,\n };\n });\n };\n\n selectItem = item => {\n const { onItemSelect } = this.props;\n\n this.closeDropdown();\n this.setSelectedItem(item);\n\n onItemSelect(item);\n };\n\n renderIndividualItem = item => {\n const { highlightIndex } = this.state;\n const isItemSelected = item.highlightIndex === highlightIndex;\n\n const itemClassName = classNames(\"dropdown-list-item p-3\", {\n \"is-selected\": isItemSelected,\n \"flex flex-row justify-between space-x-2\": isItemSelected,\n });\n const textType = isItemSelected ? \"strong\" : \"base\";\n\n return (\n <div\n className={itemClassName}\n key={item.id}\n tabIndex=\"0\"\n onClick={() => this.selectItem(item)}\n >\n <Text\n data-test-id={item.text}\n text={item.text}\n type={textType}\n truncate\n />\n <img\n className={classNames({ hidden: !isItemSelected })}\n src={checkmark}\n alt=\"checked\"\n />\n </div>\n );\n };\n\n renderGroupedItems = item => {\n return (\n <div className=\"dropdown-list-item-group\" key={item.groupKey}>\n {item.title && (\n <div className=\"p-3 bg-main-background\" tabIndex=\"-1\">\n <Text\n className=\"uppercase\"\n data-test-id={item.text}\n text={item.title}\n type=\"sm\"\n color=\"slate-500\"\n truncate\n />\n </div>\n )}\n {item.subItems.map(subItem => this.renderIndividualItem(subItem))}\n </div>\n );\n };\n\n renderItems = () => {\n const { items } = this.state;\n\n return (\n <div\n className={classNames(\"dropdown-list\", { wider: this.props.wider })}\n ref={element => (this.dropdownListRef = element)}\n >\n {items.map(item =>\n item.subItems\n ? this.renderGroupedItems(item)\n : this.renderIndividualItem(item)\n )}\n </div>\n );\n };\n\n render() {\n // eslint-disable-next-line no-unused-vars\n const {\n placeholder = \"\",\n className,\n initialSelectedItemId,\n onItemSelect,\n items,\n wider,\n ...otherProps\n } = this.props;\n const { selectedItem, isDropdownOpen } = this.state;\n const containerClassName = classNames(\"cweb-dropdown\", className, {\n \"is-open\": isDropdownOpen,\n });\n const onDropdownClick = isDropdownOpen\n ? this.closeDropdown\n : this.openDropdown;\n\n return (\n <div\n className={classNames(containerClassName)}\n tabIndex=\"0\"\n ref={element => (this.rootRef = element)}\n onKeyDown={this.handleKeyDown}\n >\n <div\n {...otherProps}\n className={classNames(\n \"dropdown-header space-x-2 border border-solid p-3 cursor-pointer\",\n {\n \"border-primary-dark\": isDropdownOpen,\n \"border-input-border hover:border-input-border-dark\": !isDropdownOpen,\n }\n )}\n onClick={onDropdownClick}\n >\n <Text\n className=\"dropdown-header-title\"\n text={selectedItem ? selectedItem.text : placeholder}\n truncate\n />\n <img\n className=\"dropdown-header-icon\"\n src={chevronDouble}\n alt=\"browse icon\"\n />\n </div>\n {this.renderItems()}\n </div>\n );\n }\n}\n\nDropdown.propTypes = {\n items: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n key: PropTypes.string.isRequired,\n }),\n PropTypes.shape({\n subItems: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n key: PropTypes.string.isRequired,\n })\n ).isRequired,\n title: PropTypes.string,\n groupKey: PropTypes.string.isRequired,\n }),\n ])\n ).isRequired,\n initialSelectedItemId: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n placeholder: PropTypes.string,\n className: PropTypes.string,\n onItemSelect: PropTypes.func.isRequired,\n wider: PropTypes.bool,\n};\n\nexport default Dropdown;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nimport \"./ErrorBlock.scss\";\n\nErrorBlock.propTypes = {\n message: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nfunction ErrorBlock({ message, className = \"\", ...otherProps }) {\n const containerClassName = classNames(\"cweb-error-block\", className);\n\n return (\n <div className={containerClassName}>\n <Text {...otherProps} className=\"cweb-error-block-message\" text={message} />\n </div>\n );\n}\n\nexport default ErrorBlock;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./InfoBlock.scss\";\nimport { Text } from \"../Text/Text\";\n\nInfoBlock.propTypes = {\n message: PropTypes.string.isRequired,\n containsDangerousHtml: PropTypes.bool,\n className: PropTypes.string,\n};\n\nfunction InfoBlock({ message, className, containsDangerousHtml = false }) {\n const containerClassName = classNames(\"cweb-info-block\", className);\n\n return (\n <div className={containerClassName}>\n <Text text={message} containsDangerousHtml={containsDangerousHtml} />\n </div>\n );\n}\n\nexport default InfoBlock;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport ClipboardJS from \"clipboard\";\n\nimport { Text } from \"../Text/Text\";\n\ntype InfoFieldLinkType = \"none\" | \"link\" | \"clipboard\" | \"tel\";\n\ninterface InfoFieldProps {\n label: string;\n value: string;\n linkType: InfoFieldLinkType;\n supportsMultiline?: boolean;\n onCopyToClipboard?: () => void;\n icon?: JSX.Element;\n className?: string;\n}\n\nexport const InfoField = (props: InfoFieldProps): JSX.Element => {\n const clipboard = new ClipboardJS(\"button\");\n\n clipboard.on(\"success\", function(e) {\n props.onCopyToClipboard && props.onCopyToClipboard();\n e.clearSelection();\n });\n\n let ContainerElement: React.ElementType;\n let containerProps: any;\n\n switch (props.linkType) {\n case \"link\":\n ContainerElement = \"a\";\n containerProps = {\n href: props.value,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n };\n break;\n case \"tel\":\n ContainerElement = \"a\";\n containerProps = { href: `tel:${props.value}` };\n break;\n\n case \"clipboard\":\n ContainerElement = \"button\";\n containerProps = {\n type: \"button\",\n \"data-clipboard-text\": props.value,\n };\n break;\n\n case \"none\":\n default:\n ContainerElement = \"div\";\n break;\n }\n\n return (\n <div\n className={classNames(\n \"flex flex-row align-center items-center\",\n props.className\n )}\n >\n {props.icon}\n <ContainerElement\n className={\"flex flex-col overflow-hidden ml-3 first:ml-0\"}\n {...containerProps}\n >\n <Text\n text={props.label}\n type={\"sm\"}\n color={\"slate-500\"}\n className={classNames(\n { \"break-words\": props.supportsMultiline },\n { \"whitespace-no-wrap\": !props.supportsMultiline }\n )}\n />\n <Text\n className={classNames(\n { \"break-words\": props.supportsMultiline },\n { \"whitespace-no-wrap\": !props.supportsMultiline }\n )}\n text={props.value}\n truncate={!props.supportsMultiline}\n />\n </ContainerElement>\n </div>\n );\n};\n\nInfoField.defaultProps = {\n linkType: \"none\",\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nconst Line = ({ left, right, className }) => (\n <div className={classNames(className, \"cweb-line\", \"flex flex-row flex-no-wrap\")}>\n <div className={\"flex\"}>\n {left?.map(\n (item) =>\n item && (\n <div key={item.key ?? item.props.id} className={\"mr-3 flex items-center\"}>\n {item}\n </div>\n )\n )}\n </div>\n <div className={\"flex-grow\"} />\n <div className={\"flex\"}>\n {right?.map((item) => {\n return (\n item && (\n <div key={item.key ?? item.props.id} className={\"ml-3 first:ml-0\"}>\n {item}\n </div>\n )\n );\n })}\n </div>\n </div>\n);\n\nLine.propTypes = {\n left: PropTypes.array,\n right: PropTypes.array,\n className: PropTypes.string,\n};\n\nexport default Line;\n","import React from \"react\";\n\nimport Text from \"../Text/Text\";\n\nimport { TableFieldConfig } from \"./Table.types\";\n\nexport interface TableHeaderProps<Item> {\n fieldConfigurations: TableFieldConfig<Item>[];\n className?: string;\n}\n\nexport function TableHeader<Item>(props: TableHeaderProps<Item>): JSX.Element {\n return (\n <thead className={props.className}>\n <tr>\n {props.fieldConfigurations.map(fieldConfig => (\n <th className=\"px-2 first:pl-6 last:pr-6\" key={fieldConfig.key}>\n <Text\n text={fieldConfig.headerText ?? \"\"}\n type=\"strong\"\n className=\"py-4 text-left leading-5 truncate uppercase\"\n />\n </th>\n ))}\n </tr>\n </thead>\n );\n}\n","export enum TagSize {\n \"small\" = \"small\",\n \"base\" = \"base\",\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text, TextColor } from \"../Text/Text\";\n\nimport { TagSize } from \"./Tag.utils\";\n\nexport enum TagColorTheme {\n Red = \"red\",\n Amber = \"amber\",\n Green = \"green\",\n Gray = \"gray\",\n Blue = \"blue\",\n}\n\nexport interface TagProps {\n text: string;\n colorTheme?: TagColorTheme;\n size?: TagSize;\n className?: string;\n}\n\nconst Tag = ({\n text,\n colorTheme = TagColorTheme.Gray,\n className,\n size = TagSize.base,\n}: TagProps): JSX.Element => {\n const textColor: Record<TagColorTheme, TextColor> = {\n [TagColorTheme.Red]: \"red\",\n [TagColorTheme.Amber]: \"amber\",\n [TagColorTheme.Green]: \"green\",\n [TagColorTheme.Gray]: \"base\",\n // Blue must be 800 here to pass the contrast test\n [TagColorTheme.Blue]: \"blue-800\",\n };\n\n return (\n <div\n className={classNames(\"py-1 px-2 inline-block rounded-lg\", className, {\n \"bg-red-50\": colorTheme === TagColorTheme.Red,\n \"bg-orange-50\": colorTheme === TagColorTheme.Amber,\n \"bg-green-50\": colorTheme === TagColorTheme.Green,\n \"bg-slate-50\": colorTheme === TagColorTheme.Gray,\n \"bg-blue-50\": colorTheme === TagColorTheme.Blue,\n })}\n >\n <Text\n className=\"leading-5\"\n color={textColor[colorTheme]}\n text={text}\n type={size === TagSize.small ? \"sm\" : \"base\"}\n />\n </div>\n );\n};\n\nexport default Tag;\n","import {\n TableFieldText,\n TableFieldAction,\n TableFieldContent,\n} from \"./Table.types\";\n\nexport function isTableFieldText<Item>(\n content: TableFieldContent<Item>\n): content is TableFieldText {\n return \"text\" in content || \"tag\" in content;\n}\n\nexport function isTableFieldAction<Item>(\n content: TableFieldContent<Item>\n): content is [TableFieldAction<Item>?, TableFieldAction<Item>?] {\n return (\n Array.isArray(content) &&\n content.some(\n action =>\n action && \"key\" in action && \"icon\" in action && \"handleClick\" in action\n )\n );\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Tag from \"../Tag/Tag\";\nimport Text from \"../Text/Text\";\nimport { TertiaryButton } from \"../ButtonV2/TertiaryButton\";\n\nimport { TableFieldConfig } from \"./Table.types\";\nimport { isTableFieldAction, isTableFieldText } from \"./Table.utils\";\n\nexport interface TableBodyRowDataCellProps<Item> {\n item: Item;\n fieldConfig: TableFieldConfig<Item>;\n emptyFieldContentText?: string;\n}\n\nexport function TableBodyRowDataCell<Item>(\n props: TableBodyRowDataCellProps<Item>\n): JSX.Element {\n const content = props.fieldConfig.content(props.item);\n const emptyFieldContentText = props.emptyFieldContentText ?? \"\";\n\n return (\n <td\n className={classNames(\"px-2 first:pl-6 last:pr-6\", {\n \"align-top\": !isTableFieldAction(content),\n })}\n >\n {isTableFieldText(content) && (\n <div className=\"flex flex-row\">\n {content.tag && (\n <div className=\"mt-3 mr-2\">\n <Tag text={content.tag.text} colorTheme={content.tag.color} />\n </div>\n )}\n <Text\n className={classNames(\"py-4 text-left leading-5\", {\n \"break-all\": content.breakAllWord,\n \"break-words\": !content.breakAllWord,\n })}\n text={content.text === \"\" ? emptyFieldContentText : content.text}\n type=\"base\"\n />\n </div>\n )}\n\n {isTableFieldAction(content) && (\n <div\n className={classNames(\n \"flex flex-row justify-end\",\n \"transition-opacity ease-in-out duration-300\",\n {\n \"opacity-0\": props.fieldConfig.onlyShowContentOnHovering,\n \"group-hover:opacity-100\":\n props.fieldConfig.onlyShowContentOnHovering,\n }\n )}\n >\n {content.map(\n (action) =>\n action && (\n <TertiaryButton\n data-test-id={`${action.key}-button`}\n className=\"ml-2 first:ml-0\"\n key={action.key}\n icon={action.icon}\n onClick={() => {\n action.handleClick(props.item);\n }}\n />\n )\n )}\n </div>\n )}\n </td>\n );\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { TableFieldConfig } from \"./Table.types\";\nimport { TableBodyRowDataCell } from \"./TableBodyRowDataCell\";\n\nexport interface TableBodyRowProps<Item> {\n item: Item;\n fieldConfigurations: TableFieldConfig<Item>[];\n emptyFieldContentText?: string;\n onClick?: (item: Item) => void;\n className?: string;\n}\n\nexport function TableBodyRow<Item>(\n props: TableBodyRowProps<Item>\n): JSX.Element {\n const handleRowClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n props.onClick?.(props.item);\n };\n\n return (\n <tr\n tabIndex={0}\n className={classNames(\n \"group\",\n {\n \"hover:bg-blue-50 transition-colors ease-in-out duration-300 cursor-pointer focus:outline-primary\":\n props.onClick,\n \"hover:bg-white cursor-default\": !props.onClick,\n },\n props.className\n )}\n onClick={handleRowClick}\n >\n {props.fieldConfigurations.map(fieldConfig => (\n <TableBodyRowDataCell\n key={fieldConfig.key}\n item={props.item}\n fieldConfig={fieldConfig}\n emptyFieldContentText={props.emptyFieldContentText}\n />\n ))}\n </tr>\n );\n}\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { EmptyListMessage } from \"../EmptyListMessage/EmptyListMessage\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\n\nimport { TableFieldConfig } from \"./Table.types\";\nimport { TableBodyRow } from \"./TableBodyRow\";\n\nexport interface TableBody<Item> {\n items?: Item[];\n fieldConfigurations: TableFieldConfig<Item>[];\n emptyItemsText: string;\n emptyFieldContentText?: string;\n isLoading: boolean;\n showEmptyView: boolean;\n onRowClick?: (item: Item) => void;\n className?: string;\n}\n\nexport function TableBody<Item>(props: TableBody<Item>): JSX.Element {\n return (\n <tbody className={props.className}>\n {!props.isLoading &&\n props.items?.map(item => (\n <TableBodyRow\n className={classNames(\"border-b last:border-none border-slate-100\")}\n key={JSON.stringify(item)}\n item={item}\n fieldConfigurations={props.fieldConfigurations}\n emptyFieldContentText={props.emptyFieldContentText}\n onClick={props.onRowClick}\n />\n ))}\n\n {props.isLoading && (\n <tr>\n <td colSpan={props.fieldConfigurations.length}>\n <LoadingIndicator className=\"py-0 px-3\" asModal={false} />\n </td>\n </tr>\n )}\n\n {props.showEmptyView && (\n <tr>\n <td colSpan={props.fieldConfigurations.length}>\n <EmptyListMessage\n className=\"py-6\"\n text={props.emptyItemsText}\n imageName={\"search-not-found\"}\n />\n </td>\n </tr>\n )}\n </tbody>\n );\n}\n","import React from \"react\";\n\nimport { TertiaryButton } from \"../ButtonV2/TertiaryButton\";\nimport { LeftArrowIcon } from \"../Icons/LeftArrowIcon\";\nimport { RightArrowIcon } from \"../Icons/RightArrowIcon\";\nimport { Text } from \"../Text/Text\";\n\nimport { PaginationMenuSmallProps } from \"./PaginationMenu.types\";\n\nexport const PaginationMenuSmall = (\n props: PaginationMenuSmallProps\n): JSX.Element => {\n const handleOnChange = (event: React.MouseEvent<HTMLButtonElement>) => {\n const pageNumber = event.currentTarget.dataset.page;\n pageNumber && props.onChange(parseInt(pageNumber, 10), props.pageSize);\n };\n\n return (\n <>\n <TertiaryButton\n data-test-id=\"prev-button\"\n icon={LeftArrowIcon}\n data-page={props.currentPageNumber - 1}\n onClick={handleOnChange}\n isDisabled={props.currentPageNumber === 1}\n />\n <Text\n className=\"ml-4\"\n text={`${props.currentPageNumber} / ${props.pageCount}`}\n type=\"sm\"\n color=\"slate-500\"\n />\n <TertiaryButton\n className=\"ml-4\"\n data-test-id=\"next-button\"\n icon={RightArrowIcon}\n isDisabled={props.currentPageNumber === props.pageCount}\n data-page={props.currentPageNumber + 1}\n onClick={handleOnChange}\n />\n </>\n );\n};\n","import {\n MultiValue,\n OptionsOrGroups,\n Props,\n StylesConfig,\n GroupBase,\n Options,\n components,\n} from \"react-select\";\nimport ReactSelect, { mergeStyles } from \"react-select\";\nimport React from \"react\";\nimport classNames from \"classnames\";\n\n/**\n * Exceptional case for this file:\n * We use postcss-url to inline and base64 our image assets.\n * But the library can only see as far as css files.\n * When javascript gets in the way (react-select uses a package called `emotion` for styles), postcss-url cannot\n * bundle the svg assets used here, and we end up with some broken style.\n */\nimport \"./Select.scss\";\nimport { FormFieldWidth } from \"../Form/form.types\";\n\nfunction generateCustomStyles<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>\n>(hasError: boolean, isIE11: boolean): StylesConfig<Option, IsMulti, Group> {\n return {\n option: (baseStyles, state) => {\n return {\n ...baseStyles,\n fontWeight: state.isSelected ? \"bold\" : \"normal\",\n fontSize: \"14px\",\n backgroundColor: \"none\",\n color: \"inherit\",\n position: \"relative\",\n padding: \"0.75rem\",\n opacity: state.isDisabled ? \"0.5\" : 1,\n \"&:after\": {\n visibility: state.isSelected ? \"visible\" : \"hidden\",\n },\n transition: \"background-color 0.3s ease-in-out\",\n \"&:hover\": {\n // tailwind blue-50\n backgroundColor: state.isSelected ? \"transparent\" : \"#F2FAFD\",\n },\n pointerEvents: state.isDisabled ? \"none\" : \"auto\",\n };\n },\n container: (baseStyles) => {\n return { ...baseStyles, flexGrow: isIE11 ? 0.5 : \"initial\" };\n },\n control: (baseStyles, state) => {\n const defaultBorderColor = state.isFocused ? \"#045baa\" : \"#D1D5DB\";\n const validatedBorderColor = hasError ? \"#c53030\" : defaultBorderColor;\n\n const defaultOutline = hasError\n ? \"rgba(255, 98, 102, 0.3)\"\n : \"rgba(0, 159, 227, 0.3)\";\n const validatedOutline = `4px solid ${\n state.isFocused ? defaultOutline : \"transparent\"\n }`;\n\n return {\n ...baseStyles,\n fontSize: \"14px\",\n transition: \"border 0.3s ease-in-out\",\n height: isIE11 ? \"50px\" : \"2.75rem\",\n\n // primary outline\n outline: validatedOutline,\n\n borderColor: validatedBorderColor,\n borderWidth: \"1px !important\",\n borderStyle: \"solid\",\n borderRadius: \"4px\",\n\n boxShadow: \"0px 1px 2px rgba(0, 0, 0, 0.05)\",\n\n \"&:hover\": {\n borderColor: \"#9CA3AF\",\n // selector for the chevron\n '> [class*=\"IndicatorsContainer\"]': {\n opacity: 1,\n },\n },\n };\n },\n // The placeholder has the following css prop: grid-area: 1/1/2/3;\n // And grid-area doesn't work on IE11, so we need to style it slightly different.\n placeholder: (baseStyles) => ({\n ...baseStyles,\n fontWeight: 100,\n color: \"#6B7280\",\n paddingTop: isIE11 ? \"1.2rem\" : undefined,\n }),\n singleValue: (baseStyles) => {\n return {\n ...baseStyles,\n paddingTop: isIE11 ? \"1.2rem\" : undefined,\n fontSize: \"14px\",\n };\n },\n indicatorSeparator: () => ({\n display: \"none\",\n }),\n menu: (baseStyles) => ({\n ...baseStyles,\n zIndex: 20,\n }),\n };\n}\n\n// All the options require a value to work in the wrapper\ninterface OptionMinimal {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any;\n label?: string;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface SelectProps<\n Option extends OptionMinimal = OptionMinimal,\n IsMulti extends boolean = any,\n Group extends GroupBase<Option> = GroupBase<Option>\n> extends Props<Option, IsMulti, Group> {\n isError?: boolean;\n width?: FormFieldWidth;\n /**\n * REASON: this could be a ticket to fix later on, but react-select has some tricky types to navigate\n * imo there's little to no value spending time on fixing it properly since it already works.\n *\n * This change is protected by policy: https://app.glassfrog.com/organizations/13950/orgnav/policies/12870328\n */\n value?: any;\n}\n\n/**\n * A wrapper around react-select to style it according to our design specification.\n *\n * In addition, the value is taken out of the option, instead of returning the complete option.\n *\n * Care when using grouped options: the value of the options overspanning all groups need to be unique!\n * For instance, if you have an option with value \"chocolate\" in both the groups \"flavor\" and \"dip\", then you get unforeseen errors.\n * This is a problem within react-select itself, not our wrapper.\n *\n * Care when using defaultValue: this still requires the complete Option (instead of the value of the Option).\n * So far there wasn't a use-case for this.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const Select = React.forwardRef(\n <\n Option extends OptionMinimal,\n IsMulti extends boolean,\n Group extends GroupBase<Option>\n >(\n {\n isError = false,\n styles,\n options,\n onChange,\n value,\n width = \"full\",\n isMulti,\n className,\n ...otherProps\n }: SelectProps<Option, IsMulti, Group>,\n innerRef\n ) => {\n const isIE11 =\n \"MSInputMethodContext\" in window && \"documentMode\" in document;\n const customStyles = generateCustomStyles<Option, IsMulti, Group>(\n isError,\n isIE11\n );\n const mergedStyles = mergeStyles<Option, IsMulti, Group>(\n customStyles,\n styles\n );\n\n // the options can be either a list of options or a grouped list of options\n // this is a typechecker to verify it is the case.\n const isOptionsGrouped = !options\n ? false\n : (options as OptionsOrGroups<Option, Group>).reduce(\n (acc, o) => acc || (\"options\" in o && !(\"values\" in o)),\n false\n );\n // we subsequently flatmap to ensure it's always a list of options\n const flatmappedOptions = !options\n ? []\n : isOptionsGrouped\n ? (options as Group[]).flatMap((g) => g.options)\n : (options as Options<Option>);\n\n // based on: https://stackoverflow.com/a/70022957\n const onChangeWrapped = !onChange\n ? undefined\n : isMulti\n ? (val, a) =>\n onChange(\n val.map((v) => v.value),\n a\n )\n : (val, a) => onChange(val?.value, a);\n // TODO: how can we report the error if a value was given that is not within the options?\n const valueWrapped =\n !value || !options\n ? value\n : isMulti\n ? flatmappedOptions.filter((o) =>\n (value as MultiValue<Option>).includes(o.value)\n )\n : flatmappedOptions.find((o) => o.value === value);\n\n // Why: https://github.com/JedWatson/react-select/issues/3149\n const getDataAttributes = () => {\n const dataProps = {};\n\n for (const prop in otherProps) {\n if (prop.includes(\"data-\")) {\n dataProps[prop] = otherProps[prop];\n }\n }\n\n return dataProps;\n };\n\n const CustomContainer = (commonProps) => (\n <components.SelectContainer\n {...commonProps}\n innerProps={Object.assign({}, commonProps.innerProps, {\n ...getDataAttributes(),\n })}\n />\n );\n\n return (\n <ReactSelect\n {...otherProps}\n ref={innerRef}\n styles={mergedStyles}\n options={options}\n onChange={onChangeWrapped}\n value={valueWrapped}\n isMulti={isMulti}\n className={classNames(\"customized-select\", className, {\n \"w-16\": width === \"sm\",\n \"w-32\": width === \"md\",\n \"w-56\": width === \"lg\",\n \"w-80\": width === \"xl\",\n \"flex-grow\": width === \"full\",\n })}\n components={{ SelectContainer: CustomContainer }}\n />\n );\n }\n);\n","import { Localization, Option, PageSize } from \"./PaginationMenu.types\";\n\nconst PAGE_SIZES: PageSize[] = [25, 50, 75, 100];\n\nexport const PAGE_SIZE_OPTIONS = PAGE_SIZES.map(pageSize => {\n return {\n label: pageSize.toString(),\n value: pageSize,\n };\n});\n\nexport const getPageNumberOptions = (pageCount: number): Option[] => {\n const items: Option[] = [];\n for (let i = 1; i <= pageCount; i++) {\n items.push({\n label: i.toString(),\n value: i,\n });\n }\n return items;\n};\n\n/**\n *\n * @returns When the pageSize and resultCount params are present,\n * this function returns a text indicating the range of elements that are being displayed,\n * otherwise it returns a text indicating the current page and the page count.\n * @example 1-50 of 100\n *\n */\nexport const getSummaryText = (\n pageCount: number,\n currentPageNumber: number,\n localization: Localization,\n pageSize?: number,\n resultCount?: number\n): string => {\n if (pageSize && resultCount) {\n const lowestElement = (currentPageNumber - 1) * pageSize + 1;\n const highestElement =\n currentPageNumber === pageCount\n ? resultCount\n : currentPageNumber * pageSize;\n\n return `${lowestElement}-${highestElement} ${localization.of} ${resultCount}`;\n } else {\n return `${localization.page} ${currentPageNumber} / ${pageCount}`;\n }\n};\n","import React from \"react\";\n\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { Select } from \"../Select/Select\";\nimport { Text } from \"../Text/Text\";\n\nimport { PaginationMenuLargeProps } from \"./PaginationMenu.types\";\nimport {\n getPageNumberOptions,\n getSummaryText,\n PAGE_SIZE_OPTIONS,\n} from \"./PaginationMenu.utils\";\n\nexport const PaginationMenuLarge = (\n props: PaginationMenuLargeProps\n): JSX.Element => {\n const handleOnPageNumberSelect = (value) => {\n props.onChange(value, props.pageSize);\n };\n const handleOnPageSizeSelect = (value) => {\n const pageSize = PAGE_SIZE_OPTIONS.find((option) => option.value === value);\n pageSize && props.onChange(1, pageSize.value);\n };\n const handleOnPrevNextButtonClick = (\n event: React.MouseEvent<HTMLButtonElement>\n ) => {\n const newPage = event.currentTarget.dataset.page;\n newPage && props.onChange(parseInt(newPage, 10), props.pageSize);\n };\n\n return (\n <>\n <div className={\"flex flex-row items-center\"}>\n {props.pageSize && props.resultCount && (\n <>\n <Text text={props.localization.display} />\n <Select\n className={\"w-24 ml-2 mr-4\"}\n options={PAGE_SIZE_OPTIONS}\n onChange={handleOnPageSizeSelect}\n value={props.pageSize}\n menuPlacement=\"auto\"\n />\n </>\n )}\n <Text text={props.localization.page} />\n <Select\n className={\"w-24 ml-2\"}\n options={getPageNumberOptions(props.pageCount)}\n onChange={handleOnPageNumberSelect}\n value={props.currentPageNumber}\n isDisabled={props.pageCount < 2}\n menuPlacement=\"auto\"\n />\n </div>\n\n <div className={\"ml-4 flex flex-row items-center\"}>\n <Text\n text={getSummaryText(\n props.pageCount,\n props.currentPageNumber,\n props.localization,\n props.pageSize,\n props.resultCount\n )}\n color=\"slate-500\"\n />\n <SecondaryButton\n data-test-id=\"prev-button\"\n text={props.localization.previous}\n data-page={props.currentPageNumber - 1}\n onClick={handleOnPrevNextButtonClick}\n isDisabled={props.currentPageNumber === 1}\n className=\"ml-4\"\n />\n <SecondaryButton\n data-test-id=\"next-button\"\n text={props.localization.next}\n isDisabled={props.currentPageNumber === props.pageCount}\n data-page={props.currentPageNumber + 1}\n onClick={handleOnPrevNextButtonClick}\n className=\"ml-4\"\n />\n </div>\n </>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { PaginationMenuSmall } from \"./PaginationMenuSmall\";\nimport { PaginationMenuLarge } from \"./PaginationMenuLarge\";\nimport { PaginationMenuProps } from \"./PaginationMenu.types\";\n\nexport const PaginationMenu = (props: PaginationMenuProps): JSX.Element => {\n const buildPaginationLarge = (): JSX.Element => {\n if (!props.localization) {\n console.error(\n \"Localization is required to use the non small Pagination component, please make sure to pass it as a prop.\"\n );\n return <span>Invalid props passed to this component.</span>;\n }\n return (\n <PaginationMenuLarge\n pageCount={props.pageCount}\n currentPageNumber={props.currentPageNumber}\n onChange={props.onChange}\n pageSize={props.pageSize}\n localization={props.localization}\n resultCount={props.resultCount}\n />\n );\n };\n\n return (\n <div\n className={classNames(\n \"flex flex-row w-full items-center justify-between\",\n props.className\n )}\n >\n {props.small ? (\n <PaginationMenuSmall\n pageCount={props.pageCount}\n currentPageNumber={props.currentPageNumber}\n pageSize={props.pageSize}\n onChange={props.onChange}\n />\n ) : (\n buildPaginationLarge()\n )}\n </div>\n );\n};\n","import React from \"react\";\n\nimport { PaginationMenu } from \"../PaginationMenu/PaginationMenu\";\nimport { PaginationMenuProps } from \"../PaginationMenu/PaginationMenu.types\";\n\ninterface TableFooterProps {\n colSpan: number;\n paginationMenuProps: PaginationMenuProps;\n}\n\nexport const TableFooter = (props: TableFooterProps): JSX.Element => {\n return (\n <tfoot>\n <tr>\n <td colSpan={props.colSpan}>\n <PaginationMenu className=\"p-6\" {...props.paginationMenuProps} />\n </td>\n </tr>\n </tfoot>\n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { PaginationMenuProps } from \"../PaginationMenu/PaginationMenu.types\";\n\nimport { TableHeader } from \"./TableHeader\";\nimport { TableBody } from \"./TableBody\";\nimport { TableFooter } from \"./TableFooter\";\nimport { TableFieldConfig } from \"./Table.types\";\n\nexport interface TableProps<Item>\n extends React.HTMLAttributes<HTMLTableElement> {\n items?: Item[];\n fieldConfigurations: TableFieldConfig<Item>[];\n emptyRowsText: string;\n emptyFieldContentText?: string;\n isLoading?: boolean;\n showHeader?: boolean;\n paginationMenuProps?: PaginationMenuProps;\n onRowClick?: (item: Item) => void;\n className?: string;\n dataTestId?: string;\n}\n\nexport function Table<Item>({\n items,\n fieldConfigurations,\n emptyRowsText,\n emptyFieldContentText,\n isLoading = false,\n showHeader = true,\n paginationMenuProps,\n onRowClick,\n className,\n dataTestId,\n ...otherAttributes\n}: TableProps<Item>): JSX.Element {\n // For not displaying empty view at creation\n const [isPristine, setIsPristine] = useState(true);\n\n useEffect(() => {\n setIsPristine(false);\n }, [items, isLoading]);\n\n const showEmptyView =\n !isPristine && !isLoading && !(items && items.length > 0);\n\n return (\n <table\n className={classNames(\n \"w-full rounded-lg bg-white border-collapse table-auto\",\n className\n )}\n data-test-id={dataTestId}\n {...otherAttributes}\n >\n {showHeader ? (\n <TableHeader\n className=\"border-b border-slate-100\"\n fieldConfigurations={fieldConfigurations}\n />\n ) : null}\n\n <TableBody\n className={classNames({\n \"border-b border-slate-100\":\n !isLoading &&\n !showEmptyView &&\n paginationMenuProps &&\n paginationMenuProps.currentPageNumber > 0 &&\n paginationMenuProps.pageCount > 0,\n })}\n items={items}\n fieldConfigurations={fieldConfigurations}\n emptyItemsText={emptyRowsText}\n emptyFieldContentText={emptyFieldContentText}\n isLoading={isLoading}\n showEmptyView={showEmptyView}\n onRowClick={onRowClick}\n />\n\n {!isLoading &&\n !showEmptyView &&\n paginationMenuProps &&\n paginationMenuProps.currentPageNumber > 0 &&\n paginationMenuProps.pageCount > 0 ? (\n <TableFooter\n colSpan={fieldConfigurations.length}\n paginationMenuProps={paginationMenuProps}\n />\n ) : null}\n </table>\n );\n}\n","import React, { PureComponent } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport Button from \"../Button/Button\";\n\nimport \"./Menu.scss\";\n\nclass Menu extends PureComponent {\n static propTypes = {\n children: PropTypes.node.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isOpen: false,\n };\n }\n\n componentDidMount() {\n document.addEventListener(\"mousedown\", this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"mousedown\", this.handleClickOutside);\n }\n\n handleClickOutside = (event) => {\n if (this.rootRef && !this.rootRef.contains(event.target)) {\n this.closeMenu();\n }\n };\n\n handleIconClick = (event) => {\n event.preventDefault();\n event.stopPropagation();\n this.openMenu();\n };\n\n openMenu = () => {\n this.setState({\n isOpen: true,\n });\n };\n\n closeMenu = () => {\n this.setState({\n isOpen: false,\n });\n };\n\n render() {\n const { children, className } = this.props;\n const { isOpen } = this.state;\n\n const containerClassName = classNames(\"cweb-menu\", className, {\n \"is-open\": isOpen,\n });\n\n return (\n <div className={containerClassName} ref={(element) => (this.rootRef = element)}>\n {isOpen ? (\n <div className=\"p-6 border shadow-md cweb-menu-content border-slate-300\">{children}</div>\n ) : (\n <Button role=\"tertiary\" onClick={this.handleIconClick} className=\"chart-button\" />\n )}\n </div>\n );\n }\n}\n\nexport default Menu;\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport { Checkbox } from \"../Checkbox/Checkbox\";\n\nimport { CheckboxGroupItemProps } from \"./CheckboxList.types\";\n\nexport const CheckboxListItem = ({\n id,\n label,\n isChecked,\n isDisabled,\n onChange,\n className,\n}: CheckboxGroupItemProps): JSX.Element => {\n const [checked, setChecked] = useState(isChecked || false);\n\n useEffect(() => {\n setChecked(isChecked || false);\n }, [isChecked]);\n\n const handleItemClick = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n\n if (isDisabled) {\n return;\n }\n\n if (onChange) {\n onChange({ id, newCheckedValue: !checked });\n }\n setChecked(!checked);\n };\n\n const handleCheckboxClick = (event: React.ChangeEvent<HTMLInputElement>) => {\n event.stopPropagation();\n const targetId = event.target.id;\n const newCheckedValue = event.target.checked;\n\n if (onChange) {\n onChange({ id: targetId, newCheckedValue });\n }\n };\n\n return (\n <div\n className={classNames(\n \"flex flex-row space-between cursor-pointer items-center\",\n className\n )}\n item-id={id}\n onClick={handleItemClick}\n >\n <Text text={label} className={\"mr-auto\"} />\n <Checkbox\n isChecked={checked}\n isDisabled={isDisabled}\n onChange={handleCheckboxClick}\n id={id}\n />\n </div>\n );\n};\n","export enum CheckboxState {\n CHECKED = \"checked\",\n INDETERMINATE = \"indeterminate\",\n UNCHECKED = \"unchecked\",\n}\n\nexport interface CheckboxListProps {\n groups: CheckboxGroup[];\n onChange: (event: CheckboxChangeEvent) => void;\n hasDividers?: boolean;\n className?: string;\n}\n\nexport interface CheckboxGroupProps {\n //If you don't specify a title than it will just be a non-collapsible list\n title?: string;\n items: CheckboxListItem[];\n onChange: (event: CheckboxChangeEvent) => void;\n hasDividers?: boolean;\n className?: string;\n isCollapsed?: boolean;\n}\n\nexport interface CheckboxGroupItemProps {\n id: string;\n label: string;\n isChecked?: boolean;\n isDisabled?: boolean;\n onChange: (event: CheckboxChangeEvent) => void;\n className?: string;\n}\n\nexport interface CheckboxListItem {\n id: string;\n label: string;\n isChecked?: boolean;\n isDisabled?: boolean;\n className?: string;\n}\n\nexport interface CheckboxGroup {\n //If you don't specify a title than it will just be a non-collapsible list\n title?: string;\n items: CheckboxListItem[];\n isCollapsed?: boolean;\n}\n\nexport interface CheckboxChangeEvent {\n id: string;\n newCheckedValue: boolean;\n}\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport { ChevronRightIcon } from \"../Icons/ChevronRightIcon\";\nimport { ChevronDownIcon } from \"../Icons/ChevronDownIcon\";\nimport Checkbox from \"../Checkbox/Checkbox\";\n\nimport { CheckboxGroupProps, CheckboxState } from \"./CheckboxList.types\";\nimport { CheckboxListItem } from \"./CheckboxListItem\";\n\nexport const CheckboxGroup = ({\n title,\n items,\n onChange,\n className,\n hasDividers = false,\n isCollapsed = true,\n}: CheckboxGroupProps): JSX.Element => {\n const [groupCheckboxState, setGroupCheckboxState] = useState<CheckboxState>(\n CheckboxState.UNCHECKED\n );\n\n const [collapsed, setCollapsed] = useState(isCollapsed);\n const [isDisabled, setIsDisabled] = useState(false);\n\n useEffect(() => {\n const enabledItems = items.filter((item) => !item.isDisabled);\n\n if (enabledItems.length === 0) {\n setGroupCheckboxState(CheckboxState.UNCHECKED);\n return;\n }\n\n const indeterminate = enabledItems.some(\n (item) => item.isChecked !== enabledItems[0].isChecked\n );\n if (indeterminate) {\n setGroupCheckboxState(CheckboxState.INDETERMINATE);\n return;\n }\n\n if (enabledItems[0].isChecked) {\n setGroupCheckboxState(CheckboxState.CHECKED);\n } else if (!enabledItems[0].isChecked) {\n setGroupCheckboxState(CheckboxState.UNCHECKED);\n }\n\n setIsDisabled(!enabledItems.some((item) => !item.isDisabled));\n }, [items]);\n\n const handleGroupClick = (\n event:\n | React.MouseEvent<HTMLDivElement>\n | React.ChangeEvent<HTMLInputElement>\n ) => {\n event.stopPropagation();\n\n const enabledItems = items.filter((item) => !item.isDisabled);\n\n if (\n (groupCheckboxState === CheckboxState.CHECKED ||\n groupCheckboxState === CheckboxState.INDETERMINATE) &&\n onChange\n ) {\n //if checked or indeterminate >> make all items unchecked\n enabledItems.forEach((item) =>\n onChange({ id: item.id, newCheckedValue: false })\n );\n } else if (onChange) {\n // else if unchecked >> make all items checked\n enabledItems.forEach((item) =>\n onChange({ id: item.id, newCheckedValue: true })\n );\n }\n };\n\n const handleGroupCollapse = (\n event:\n | React.MouseEvent<HTMLDivElement>\n | React.MouseEvent<SVGSVGElement>\n | undefined\n ) => {\n if (event) {\n event.stopPropagation();\n }\n\n setCollapsed(!collapsed);\n };\n\n const checkedItemsCount = items?.filter((item) => item?.isChecked).length;\n const groupTitle =\n checkedItemsCount > 0 ? `${title} (${checkedItemsCount})` : title;\n\n const itemClassName = hasDividers\n ? \"py-3 last:border-b-0 border-b border-slate-200\"\n : \"my-1\";\n\n return (\n <div\n className={classNames(\"flex flex-col \", className, {\n \"last:border-b-0 border-b border-slate-200\": hasDividers && isCollapsed,\n \"border-b-0\": hasDividers && !isCollapsed,\n })}\n >\n {title && (\n <div\n className={classNames(\n \"flex flex-row items-center w-full space-between\",\n {\n \"border-b border-slate-200 py-3\": hasDividers,\n \"my-1\": !hasDividers,\n },\n { \"last:border-b-0\": hasDividers && isCollapsed }\n )}\n >\n <div\n className={\n \"h-6 cursor-pointer mr-auto flex flex-row items-center text-slate-300 hover:text-slate-500 transition duration-300\"\n }\n onClick={handleGroupCollapse}\n >\n {collapsed ? (\n <ChevronRightIcon onClick={handleGroupCollapse} />\n ) : (\n <ChevronDownIcon onClick={handleGroupCollapse} />\n )}\n <Text type={\"strong\"} text={groupTitle || \"\"} className={\"ml-4\"} />{\" \"}\n </div>\n <Checkbox\n onChange={handleGroupClick}\n className={\"ml-auto\"}\n isChecked={groupCheckboxState === CheckboxState.CHECKED}\n isDisabled={isDisabled}\n isIndeterminate={groupCheckboxState === CheckboxState.INDETERMINATE}\n />\n </div>\n )}\n\n {!collapsed &&\n items.map((item) => (\n <CheckboxListItem\n key={item.id}\n id={item.id}\n label={item.label}\n onChange={onChange}\n isChecked={item.isChecked}\n isDisabled={item.isDisabled}\n className={classNames(\"ml-10\", itemClassName)}\n />\n ))}\n </div>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { CheckboxListItem } from \"./CheckboxListItem\";\nimport { CheckboxListProps } from \"./CheckboxList.types\";\nimport { CheckboxGroup } from \"./CheckboxGroup\";\n\nexport { CheckboxListProps };\n\nexport const CheckboxList = ({\n groups,\n onChange,\n className,\n hasDividers = false,\n}: CheckboxListProps): JSX.Element => {\n const itemClassName = hasDividers\n ? \"py-3 border-b border-slate-200 last:border-b-0\"\n : \"my-1\";\n\n return (\n <div className={classNames(\"flex flex-col\", className)}>\n {groups?.length > 0 &&\n groups.map((group) => {\n if (group.title) {\n return (\n <CheckboxGroup\n key={group.title}\n items={group.items}\n title={group.title}\n isCollapsed={group.isCollapsed}\n onChange={onChange}\n hasDividers={hasDividers}\n />\n );\n } else {\n return group.items.map((item) => (\n <CheckboxListItem\n key={item.id}\n id={item.id}\n label={item.label}\n onChange={onChange}\n isChecked={item.isChecked}\n isDisabled={item.isDisabled}\n className={itemClassName}\n />\n ));\n }\n })}\n </div>\n );\n};\n\nexport default CheckboxList;\n","import * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport groupBy from \"lodash/groupBy\";\n\nimport {\n CheckboxChangeEvent,\n CheckboxGroupItemProps,\n} from \"../CheckboxList/CheckboxList.types\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport { SearchInput } from \"../Input/SearchInput\";\nimport Text from \"../Text/Text\";\nimport CheckboxList from \"../CheckboxList/CheckboxList\";\nimport { Modal } from \"../Modal/Modal\";\n\nexport type Item = {\n group?: string;\n isPinned?: boolean;\n} & Pick<CheckboxGroupItemProps, \"id\" | \"label\" | \"isChecked\" | \"isDisabled\">;\n\nexport interface Group {\n title?: string;\n items: Item[];\n}\n\ninterface CheckboxListModalTexts {\n title: string;\n confirmLabel: string;\n cancelLabel: string;\n searchPlaceHolder?: string;\n emptyState: string;\n}\n\nexport interface CheckboxListModalProps {\n texts: CheckboxListModalTexts;\n initialItems: Array<Item>;\n isLoadingInitialItems?: boolean;\n isOpen: boolean;\n onSave: (newItems: Item[]) => void;\n onCloseClick: () => void;\n filterItem: (item: Item, searchQuery: string) => boolean;\n className?: string;\n hasSearch: boolean;\n}\n\nconst transformToGroups = (items: Item[]): Group[] => {\n const pinned = items.find((option) => option.isPinned);\n\n const itemsWithGroup = items.filter((option) => option.group);\n const groups = Object.entries(groupBy(itemsWithGroup, \"group\")).map(\n (group) => ({\n title: group[0],\n items: group[1].sort((a, b) =>\n a.label > b.label ? 1 : b.label > a.label ? -1 : 0\n ),\n })\n );\n\n const itemsWithoutGroup = items.filter((option) => !option.group);\n const restGroup = {\n name: undefined,\n items: itemsWithoutGroup,\n };\n\n if (pinned) {\n const myGroup = {\n items: [pinned],\n };\n return [myGroup, ...groups, restGroup];\n }\n\n return [...groups, restGroup];\n};\n\nexport const CheckboxListModal = ({\n texts,\n initialItems,\n isLoadingInitialItems,\n isOpen,\n onSave,\n onCloseClick,\n filterItem = () => true,\n hasSearch = false,\n}: CheckboxListModalProps): JSX.Element => {\n const [items, setItems] = useState<Item[]>([]);\n const [visibleItems, setVisibleItems] = useState<Item[]>([]);\n const [groups, setGroups] = useState<Group[]>([]);\n const [search, setSearch] = useState(\"\");\n\n useEffect(() => {\n setItems(initialItems);\n }, [initialItems]);\n\n useEffect(() => {\n setVisibleItems(items.filter((item) => filterItem(item, search)));\n }, [items, search]);\n\n useEffect(() => {\n setGroups(transformToGroups(visibleItems));\n }, [visibleItems]);\n\n const handleOnItemChange = (event: CheckboxChangeEvent) => {\n const updatedItems = [...items];\n const index = updatedItems.findIndex((item) => item.id === event.id);\n updatedItems[index].isChecked = event.newCheckedValue;\n setItems(updatedItems);\n };\n\n const handleOnCloseClick = (\n event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent\n ) => {\n event.stopPropagation();\n onCloseClick();\n };\n\n const handleOnSaveClick = () => {\n onSave(items.filter((item) => item.isChecked));\n onCloseClick();\n };\n\n const handleOnSearchChange = (event) => {\n setSearch(event.currentTarget.value ?? \"\");\n };\n\n return (\n <Modal\n isOpen={isOpen}\n title={texts.title}\n onCloseClick={handleOnCloseClick}\n footerTrailingComponents={{\n primaryButtonProps: {\n text: texts.confirmLabel,\n onClick: handleOnSaveClick,\n },\n secondaryButtonProps: {\n text: texts.cancelLabel,\n onClick: handleOnCloseClick,\n },\n }}\n scrollableContent={true}\n >\n {isLoadingInitialItems && <LoadingIndicator />}\n\n {hasSearch && !isLoadingInitialItems && (\n <SearchInput\n className=\"w-130 mb-2\"\n value={search}\n placeholder={texts.searchPlaceHolder}\n onChange={handleOnSearchChange}\n />\n )}\n\n {!isLoadingInitialItems && items?.length > 0 && (\n <CheckboxList groups={groups} onChange={handleOnItemChange} />\n )}\n\n {!isLoadingInitialItems && items?.length === 0 && (\n <Text text={texts.emptyState} />\n )}\n </Modal>\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Text.legacy.scss\";\n\nconst TEXT_TYPE_OPTIONS = {\n DEFAULT: \"default\",\n STRONG: \"strong\",\n EMPHASIZED: \"emphasized\",\n FINEPRINT: \"fineprint\",\n SMALL: \"small\",\n SMALL_DARK: \"small-dark\",\n SMALL_FINEPRINT: \"small-fineprint\",\n MICRO: \"micro\",\n ERROR: \"error\",\n};\n\nconst TEXT_LEVEL_OPTIONS = {\n INLINE: \"inline\",\n BLOCK: \"block\",\n};\n\nLegacyText.propTypes = {\n text: PropTypes.string.isRequired,\n level: PropTypes.oneOf([TEXT_LEVEL_OPTIONS.INLINE, TEXT_LEVEL_OPTIONS.BLOCK]),\n type: PropTypes.oneOf([\n TEXT_TYPE_OPTIONS.DEFAULT,\n TEXT_TYPE_OPTIONS.STRONG,\n TEXT_TYPE_OPTIONS.EMPHASIZED,\n TEXT_TYPE_OPTIONS.FINEPRINT,\n TEXT_TYPE_OPTIONS.SMALL,\n TEXT_TYPE_OPTIONS.SMALL_DARK,\n TEXT_TYPE_OPTIONS.SMALL_FINEPRINT,\n TEXT_TYPE_OPTIONS.MICRO,\n TEXT_TYPE_OPTIONS.ERROR,\n ]),\n className: PropTypes.string,\n containsDangerousHtml: PropTypes.bool,\n};\n\n/**\n * @deprecated use TextV2\n */\nfunction LegacyText({\n text,\n type = TEXT_TYPE_OPTIONS.DEFAULT,\n level = TEXT_LEVEL_OPTIONS.BLOCK,\n className = \"\",\n containsDangerousHtml = false,\n ...otherProps\n}) {\n const containerClassName = classNames(\"cweb-text\", className, {\n \"type-default\": type === TEXT_TYPE_OPTIONS.DEFAULT,\n \"type-strong\": type === TEXT_TYPE_OPTIONS.STRONG,\n \"type-emphasized\": type === TEXT_TYPE_OPTIONS.EMPHASIZED,\n \"type-small\": type === TEXT_TYPE_OPTIONS.SMALL,\n \"type-fineprint\": type === TEXT_TYPE_OPTIONS.FINEPRINT,\n \"type-small-fineprint\": type === TEXT_TYPE_OPTIONS.SMALL_FINEPRINT,\n \"level-inline\": level === TEXT_LEVEL_OPTIONS.INLINE,\n \"level-block\": level === TEXT_LEVEL_OPTIONS.BLOCK,\n \"type-small-dark\": type === TEXT_LEVEL_OPTIONS.SMALL_DARK,\n \"type-error\": type === TEXT_TYPE_OPTIONS.ERROR,\n \"text-xs\": type === TEXT_TYPE_OPTIONS.MICRO,\n });\n\n return containsDangerousHtml ? (\n <p\n className={containerClassName}\n dangerouslySetInnerHTML={{ __html: text }}\n {...otherProps}\n />\n ) : (\n <p className={containerClassName} {...otherProps}>\n {text}\n </p>\n );\n}\n\nexport default LegacyText;\n\nexport { TEXT_TYPE_OPTIONS, TEXT_LEVEL_OPTIONS };\n","export function handleImplicitSelect(implicitSelected, event, list, property) {\n /*For certain values, if one checkbox is selected\n other checkboxes have to be selected/unselected automatically */\n const newList = [...list];\n const selectCheckboxName = event.target.name;\n const isChecked = event.target.checked;\n const implicitSelectedValues = implicitSelected[selectCheckboxName];\n\n if (implicitSelectedValues) {\n implicitSelectedValues.forEach((value) => {\n const selectedIndex = newList.findIndex((checkbox) => value === checkbox.identifier);\n let upadteCheckbox;\n if (property === \"isChecked\") {\n //if normal checkbox is false the switcher must be set to false as well\n upadteCheckbox = { ...newList[selectedIndex], isChecked: isChecked, isOn: false };\n } else {\n upadteCheckbox = { ...newList[selectedIndex], [property]: isChecked };\n }\n newList.splice(selectedIndex, 1, upadteCheckbox);\n });\n }\n return newList;\n}\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport Checkbox from \"../Checkbox/Checkbox\";\nimport { TEXT_TYPE_OPTIONS } from \"../Text/LegacyText\";\n\nimport { handleImplicitSelect } from \"./MultiSelectUtils\";\n\nimport \"./MultiSelect.scss\";\n\nexport function MultiSelect({\n checkboxList,\n radioLabel,\n onChange,\n validationError,\n name,\n implicitSelect,\n radioOnDemand,\n}) {\n const [list, setList] = useState(checkboxList);\n\n useEffect(() => {\n onChange({\n target: {\n name,\n value: list,\n },\n });\n }, [list]);\n\n function handleChange(event, indexSelected) {\n let newList = [...list];\n\n const isChecked = event.target.checked;\n const updateCheckbox = { ...list[indexSelected], isChecked: isChecked, isOn: false };\n newList.splice(indexSelected, 1, updateCheckbox);\n\n if (implicitSelect) {\n newList = handleImplicitSelect(implicitSelect, event, newList, \"isChecked\");\n }\n setList(newList);\n }\n\n function handleRadioChange(event, indexSelected) {\n let newList = [...list];\n\n const isChecked = event.target.checked;\n const updateCheckbox = { ...list[indexSelected], isOn: isChecked };\n newList.splice(indexSelected, 1, updateCheckbox);\n\n if (implicitSelect) {\n newList = handleImplicitSelect(implicitSelect, event, newList, \"isOn\");\n }\n\n setList(newList);\n }\n\n return (\n <ul>\n {list.map((checkbox, index) => {\n const text = [checkbox.name];\n\n if (checkbox.description && checkbox.description !== checkbox.name) {\n text.push(checkbox.description);\n }\n\n return (\n <div className=\"cweb-multiselect\" key={checkbox.identifier}>\n <Checkbox\n text={text.join(\" - \")}\n name={checkbox.identifier}\n isChecked={checkbox.isChecked || false}\n onChange={(event) => handleChange(event, index)}\n className=\"cweb-multiselect-checkbox\"\n textType={TEXT_TYPE_OPTIONS.SMALL_DARK}\n error={validationError}\n key={checkbox.identifier}\n />\n\n {radioOnDemand && (\n <div className=\"cweb-switch-wrapper\">\n <p className=\"cweb-switch-title\">{radioLabel}</p>\n <Checkbox\n type=\"switch\"\n name={`${checkbox.identifier}-toggle`}\n isChecked={checkbox.isOn}\n onChange={(event) => handleRadioChange(event, index)}\n textType={TEXT_TYPE_OPTIONS.SMALL_DARK}\n error={validationError}\n className=\"cweb-multiselect-switch\"\n isDisabled={!checkbox.isChecked}\n key={checkbox.identifier}\n />\n </div>\n )}\n </div>\n );\n })}\n </ul>\n );\n}\n\nMultiSelect.propTypes = {\n name: PropTypes.string,\n checkboxList: PropTypes.arrayOf(\n PropTypes.shape({\n isChecked: PropTypes.bool,\n name: PropTypes.string.isRequired,\n description: PropTypes.string,\n identifier: PropTypes.string.isRequired,\n })\n ),\n onChange: PropTypes.func,\n validationError: PropTypes.string,\n implicitSelect: PropTypes.object,\n radioOnDemand: PropTypes.bool,\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nexport interface NavMenuLayoutProps {\n menu: JSX.Element;\n children: JSX.Element | JSX.Element[]; //rendered as the page\n patientSidebar?: JSX.Element; //if passed will show the patients sidebar\n isNavDisabled?: boolean; //don't show any navigation, for instance when constrained to a single patient\n disableScrolling?: boolean;\n}\n\n/**\n *\n * @param props {NavMenuLayoutProps} - explaining specifically the `disableScrolling` prop:\n *\n * The patient overview page has some challenges we want to overcome in regards to the multiple scrollable\n * content (the charts and the action bar with alerts, etc).\n *\n * In order to have the setup working on the patient overview page and the rest of the application, we have to\n * progamatically disable/enable if that location will have a normal scrolling mechanism with specific margin/padding,\n * or we will need to let the components take care of that.\n */\nexport const NavLayout = (props: NavMenuLayoutProps): JSX.Element => {\n return (\n <div className={\"flex flex-col mb-3 lg:mb-0 lg:flex-row h-full w-full\"}>\n {!props.isNavDisabled && (\n <>\n {props.menu}\n {props.patientSidebar && props.patientSidebar}\n </>\n )}\n <div\n data-test-id=\"page-main-content\"\n className={classNames([\"w-full\", { \"max-h-screen overflow-y-auto px-4 lg:px-8\": !props.disableScrolling }])}\n >\n {props.children}\n </div>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\ntype DividerProps = {\n dark?: boolean;\n};\n\nexport const Divider: React.FC<DividerProps> = (props): JSX.Element => {\n const darkTheme = \"dark\" in props;\n const defaultTheme = !darkTheme;\n\n return (\n <div\n className={classNames(\n \"block w-full border-b last:border-b-0 border-solid border-color\",\n {\n \"border-color-divider\": defaultTheme,\n \"border-slate-600\": darkTheme,\n }\n )}\n />\n );\n};\n","import React from \"react\";\n\nimport { FlexRow } from \"../Container/FlexRow\";\nimport { FlexColumn } from \"../Container/FlexColumn\";\nimport Text from \"../Text/Text\";\n\nimport { NavMenuFooterProps } from \"./types/NavMenuFooterProps.type\";\n\nexport const NavMenuFooter: React.FC<NavMenuFooterProps> = ({\n text,\n subtext,\n visible = true,\n}) => {\n if (!visible) {\n return null;\n }\n\n return (\n <div className=\"-mx-1 border-t border-slate-600 bg-nav-menu\">\n <FlexRow\n backgroundColor=\"transparent\"\n hasPadding\n alignItems=\"center\"\n spacing=\"none\"\n >\n <FlexColumn backgroundColor=\"transparent\" spacing=\"none\">\n <Text\n text={text}\n title={text}\n color=\"white\"\n className=\"break-normal max-w-50\"\n />\n {subtext && (\n <Text\n text={subtext}\n type=\"sm\"\n color=\"white\"\n truncate\n className=\"max-w-50\"\n title={subtext}\n />\n )}\n </FlexColumn>\n </FlexRow>\n </div>\n );\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { navigate } from \"@reach/router\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\n\nimport { NavMenuItemProps } from \"./types/NavMenuItemProps.type\";\n\nexport const NavMenuItem = (props: NavMenuItemProps): JSX.Element => {\n const [currentImg, setCurrentImg] = useState(\n props.isSelected ? props.imgOnHover : props.img\n );\n\n const classes = classNames(\n [\n \"h-11\",\n \"flex\",\n \"flex-row\",\n \"items-center\",\n \"w-auto\",\n \"px-4\",\n \"mb-1\",\n \"rounded\",\n \"hover:bg-gray-600\",\n \"transition\",\n \"ease-in\",\n \"duration-150\",\n \"lg:last:pb-2\",\n \"focus:outline-primary\",\n \"group\",\n ],\n {\n \"bg-nav-menu\": !props.isSelected,\n \"bg-gray-600\": props.isSelected,\n }\n );\n\n const handleOnMouseOver = () => {\n if (!props.isSelected) {\n setCurrentImg(props.imgOnHover);\n }\n };\n\n const handleOnMouseOut = () => {\n if (!props.isSelected) {\n setCurrentImg(props.img);\n }\n };\n\n return (\n <a\n href={props.href ?? props.linkTo ?? \"#\"}\n data-test-id={props.dataTestId}\n className={classes}\n onMouseOver={handleOnMouseOver}\n onMouseOut={handleOnMouseOut}\n onClick={handleMenuClick}\n >\n <img src={currentImg} className={\"mr-4 ml-0\"} />\n <Text\n type={\"strong\"}\n text={props.title}\n hoverInGroup\n color=\"slate-200\"\n hoverColor=\"white\"\n />\n </a>\n );\n\n function handleMenuClick(event: React.MouseEvent<HTMLElement>) {\n if (event.metaKey || event.ctrlKey) {\n // if ctrl or meta key are held on click, allow default behavior of opening link in new tab\n return;\n }\n\n event.preventDefault();\n props.trackEvent?.();\n\n if (props.isExternal) {\n window.open(props.href, \"_blank\");\n } else if (props.href) {\n window.location.assign(props.href);\n } else if (props.linkTo) {\n navigate(props.linkTo);\n }\n }\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nimport { NavMenuHeaderProps } from \"./types/NavMenuHeaderProps.type\";\n\nexport const NavMenuHeader: React.FC<NavMenuHeaderProps> = (props) => {\n const { text, visible = true, onClick } = props;\n\n if (!visible) {\n return (\n <div\n data-test-id=\"separator\"\n className={\"border-b mb-1 border-slate-600\"}\n />\n );\n }\n\n const onClickHandler = () => onClick?.();\n\n return (\n <>\n <div\n onClick={onClickHandler}\n className={classNames({\n \"cursor-pointer\": onClick,\n })}\n role=\"link\"\n >\n <Text\n text={text}\n type=\"xl-strong\"\n color=\"white\"\n className=\"pt-6 pl-4 break-normal max-w-55\"\n clampLines\n />\n </div>\n <div\n data-test-id=\"separator\"\n className={\"border-b mb-1 mt-5 border-slate-600\"}\n />\n </>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { Divider } from \"../Divider/Divider\";\n\nimport { NavMenuFooter } from \"./NavMenuFooter\";\nimport { NavMenuProps } from \"./NavMenu\";\nimport { NavMenuItem } from \"./NavMenuItem\";\nimport { NavMenuHeader } from \"./NavMenuHeader\";\n\nexport const NavMenuContent: React.FC<NavMenuProps> = ({\n roleItems,\n publicItems,\n authenticationItems,\n isUserAuthenticated,\n navMenuHeaderProps: organizationNameWidgetProps,\n navMenuFooterProps: loggedInUserWidgetProps,\n}) => {\n return (\n <div\n className={classNames(\n \"flex flex-col bg-nav-menu px-1 pb-1 lg:relative shadow-lg w-60 lg:h-full\"\n )}\n >\n <NavMenuHeader {...organizationNameWidgetProps} />\n\n {!isUserAuthenticated && (\n <NavMenuItem\n {...authenticationItems.login}\n key={authenticationItems.login.title}\n />\n )}\n\n {roleItems.map((item) => (\n <NavMenuItem {...item} key={item.title || item.dataTestId} />\n ))}\n\n <Divider dark />\n\n <div className=\"mt-1\">\n {publicItems.map((item) => (\n <NavMenuItem {...item} key={item.title || item.dataTestId} />\n ))}\n </div>\n\n <div className=\"mt-auto\">\n {isUserAuthenticated && (\n <NavMenuItem\n {...authenticationItems.logout}\n key={authenticationItems.logout.title}\n />\n )}\n <NavMenuFooter {...loggedInUserWidgetProps} />\n </div>\n </div>\n );\n};\n","import React from \"react\";\nimport { useState } from \"react\";\n\nimport Button from \"../Button/Button\";\n\nimport { NavMenuContent } from \"./NavMenuContent\";\nimport { NavMenuFooterProps } from \"./types/NavMenuFooterProps.type\";\nimport { NavMenuItemProps } from \"./types/NavMenuItemProps.type\";\nimport { NavMenuHeaderProps } from \"./types/NavMenuHeaderProps.type\";\n\nexport type NavMenuProps = {\n roleItems: NavMenuItemProps[];\n publicItems: NavMenuItemProps[];\n authenticationItems: {\n login: NavMenuItemProps;\n logout: NavMenuItemProps;\n };\n isUserAuthenticated?: boolean;\n navMenuHeaderProps: NavMenuHeaderProps;\n navMenuFooterProps: NavMenuFooterProps;\n};\n\nexport function NavMenu(props: NavMenuProps): JSX.Element {\n const [isOpen, setIsOpen] = useState(false);\n\n const handleToggleOpen = () => {\n setIsOpen(!isOpen);\n };\n\n return (\n <>\n <div className={\"hidden h-screen lg:flex\"}>\n <NavMenuContent {...props} />\n </div>\n <div\n className={\n \"lg:hidden relative bg-nav-header w-screen flex items-center p-2 shadow-lg\"\n }\n >\n <Button\n hasIcon={true}\n role=\"secondaryDark\"\n iconName={isOpen ? \"close\" : \"hamburger\"}\n onClick={handleToggleOpen}\n />\n </div>\n {isOpen && (\n <div className=\"absolute z-20\">\n <NavMenuContent {...props} />\n </div>\n )}\n </>\n );\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\n//import Breadcrumbs from \"../Breadcrumbs/Breadcrumbs\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\n//import { SmartNavMenu } from \"../../components/NavMenu/SmartNavMenu\";\nimport { NavLayout } from \"../NavMenu/NavLayout\";\nimport { Title } from \"../Title/Title\";\n//import { shouldPageShowFeedbackBlock } from \"../../common/utils/locationUtils\";\n//import { FeedbackBlock } from \"../FeedbackBlock/FeedbackBlock\";\n//import { ERROR_PAGE_ID } from \"../../components/ErrorPages/ErrorPage\";\n\nimport \"./Page.scss\";\n\n//TODO this page needs to be refactored\n\n/**\n * Renders page's content, if `isLoading` is false otherwise shows loading indicator.\n *\n * `breadcrumbs`, `title` and `content` can be lazy properties, that is parameterless functions which return actual value.\n * `children` property has priority over `content` property.\n *\n * @typedef {{ name?: string, icon?: string|Object, link?: string}} Breadcrumb\n *\n */\nfunction Page({\n dataTestId = \"page\",\n breadcrumbs,\n title,\n accessories,\n accessoryPosition = \"right\",\n className,\n children,\n content,\n isLoading = false,\n isPolling = false,\n spinnerColor = \"blue\",\n navLayoutProps = {},\n showFeedbackBlock = false,\n feedbackBlock = <></>,\n navMenu,\n id,\n}) {\n const mergedPageClasses = classNames(\"cweb-page\", className);\n const containerClassnames = classNames(\"cweb-page-container\");\n\n if (isLoading) {\n return (\n <div className={mergedPageClasses}>\n <LoadingIndicator asModal={false} />\n </div>\n );\n }\n\n const maybeTitle = title instanceof Function ? title() : title;\n\n const accessoryClasses = classNames(\"cweb-page-header mb-4\", {\n [`accessory-${accessoryPosition}`]: true,\n });\n\n const accessoriesContent = accessories instanceof Function ? accessories() : accessories;\n const childrenOrContentProp = children || (content instanceof Function ? content() : content);\n\n return (\n <div id={id} className={containerClassnames}>\n <NavLayout menu={navMenu} {...navLayoutProps}>\n <div className={mergedPageClasses} data-test-id={dataTestId}>\n <div className={accessoryClasses}>\n <Title data-test-id={`${dataTestId}-title`} text={maybeTitle} />\n {isPolling && <LoadingIndicator asSpinner={true} className={\"page-spinner\"} spinnerColor={spinnerColor} />}\n {accessoriesContent}\n </div>\n {childrenOrContentProp}\n </div>\n\n {!isLoading && feedbackBlock}\n </NavLayout>\n </div>\n );\n}\n\nconst breadcrumbItemShape = PropTypes.shape({\n name: PropTypes.string,\n icon: PropTypes.string,\n link: PropTypes.string,\n});\n\nPage.propTypes = {\n breadcrumbs: PropTypes.oneOfType([PropTypes.arrayOf(breadcrumbItemShape), PropTypes.func]),\n isLoading: PropTypes.bool,\n isFetching: PropTypes.bool,\n spinnerColor: PropTypes.oneOf([\"blue\", \"gray\"]),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n accessories: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n accessoryPosition: PropTypes.oneOf([\"right\", \"bottom\", \"left\"]),\n content: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element, PropTypes.func]),\n id: PropTypes.string,\n navLayoutProps: PropTypes.object,\n};\n\nexport default Page;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Title.scss\";\n\nconst TITLE_TYPE_OPTIONS = {\n DEFAULT: \"default\",\n BIG: \"big\",\n SMALL: \"small\",\n TINY: \"tiny\",\n BOLD: \"bold\",\n};\n\nLegacyTitle.propTypes = {\n text: PropTypes.string.isRequired,\n type: PropTypes.oneOf([\n TITLE_TYPE_OPTIONS.DEFAULT,\n TITLE_TYPE_OPTIONS.BIG,\n TITLE_TYPE_OPTIONS.SMALL,\n TITLE_TYPE_OPTIONS.TINY,\n TITLE_TYPE_OPTIONS.BOLD,\n ]),\n className: PropTypes.string,\n};\n\nfunction LegacyTitle({ text, type, className = \"\", ...otherProps }) {\n let ContainerElement;\n\n const containerClassName = classNames(\"cweb-title\", className, {\n \"type-default\": !type || type === TITLE_TYPE_OPTIONS.DEFAULT,\n \"type-big\": type === TITLE_TYPE_OPTIONS.BIG,\n \"type-small\": type === TITLE_TYPE_OPTIONS.SMALL,\n \"type-tiny\": type === TITLE_TYPE_OPTIONS.TINY,\n \"type-bold\": type === TITLE_TYPE_OPTIONS.BOLD,\n });\n\n switch (type) {\n case TITLE_TYPE_OPTIONS.DEFAULT:\n case TITLE_TYPE_OPTIONS.BOLD:\n case TITLE_TYPE_OPTIONS.BIG:\n ContainerElement = \"h1\";\n break;\n\n case TITLE_TYPE_OPTIONS.SMALL:\n case TITLE_TYPE_OPTIONS.TINY:\n ContainerElement = \"h3\";\n break;\n\n default:\n ContainerElement = \"h1\";\n break;\n }\n\n return (\n <ContainerElement {...otherProps} className={containerClassName}>\n {text}\n </ContainerElement>\n );\n}\n\nexport default LegacyTitle;\n\nexport { TITLE_TYPE_OPTIONS };\n","import React from \"react\";\n\nimport { Text } from \"../Text/Text\";\n\nexport interface StepProps {\n title: string;\n stepNumber: number;\n active: boolean;\n localization: { step: string };\n}\n\nexport const Step = ({\n title,\n stepNumber,\n active,\n localization,\n}: StepProps): JSX.Element => {\n const barColor = active ? \"bg-blue-800\" : \"bg-slate-200\";\n\n return (\n <div className={\"w-full\"}>\n <div className={`w-full h-1 mb-2 rounded ${barColor}`}></div>\n <Text\n text={`${localization.step} ${stepNumber}`}\n type={\"strong\"}\n color={active ? \"blue-800\" : \"slate-500\"}\n />\n <Text text={title} type={\"strong\"} />\n </div>\n );\n};\n","import React from \"react\";\n\nimport { Step } from \"./Step\";\n\ninterface StepsProps {\n orderedStepTitles: Array<string>;\n currentStep: number; //start count from 1\n className?: string;\n localization: {step: string};\n}\n\nexport const Steps = ({ orderedStepTitles, currentStep, className, localization }: StepsProps): JSX.Element => {\n const renderedSteps = orderedStepTitles.map((stepTitle, index) => (\n <Step\n key={`step-${index}-${stepTitle.split(\" \")[0]}`}\n title={stepTitle}\n stepNumber={index + 1}\n active={index + 1 <= currentStep}\n localization={localization}\n />\n ));\n\n return <div className={`flex flex-row justify-items-stretch space-x-6 ${className}`}>{renderedSteps}</div>;\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport LegacyTitle, { TITLE_TYPE_OPTIONS } from \"../Title/LegacyTitle\";\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport Line from \"../Line/Line\";\nimport { NavLayout } from \"../NavMenu/NavLayout\";\nimport { Steps } from \"../Steps/Steps\";\n\nimport \"./CRUDPage.scss\";\n\nfunction CRUDPage({\n dataTestId = \"page\",\n title,\n stepTitles,\n currentStep = 1,\n submitButtonProps,\n deleteButtonProps,\n cancelButtonProps,\n icon,\n className,\n children,\n isLoading,\n isSubmitting,\n navMenuComponent,\n localization,\n}) {\n const mergedClasses = classNames(\"cweb-crud-page max-w-3xl\", className);\n const containerClassnames = classNames(\"cweb-crud-page-container mb-20\");\n\n const submitButton = submitButtonProps && (\n <Button\n data-test-id=\"submit-button\"\n key=\"submit-button\"\n /* eslint-disable-next-line */\n onClick={submitButtonProps.handler}\n role={BUTTON_ROLES.PRIMARY}\n text={submitButtonProps.name}\n isPending={isSubmitting}\n />\n );\n const deleteButton = deleteButtonProps && (\n <Button\n data-test-id=\"delete-button\"\n key=\"delete-button\"\n /* eslint-disable-next-line */\n onClick={deleteButtonProps.handler}\n role={BUTTON_ROLES.NEGATIVE}\n text={deleteButtonProps.name}\n />\n );\n const cancelButton = cancelButtonProps && (\n <Button\n data-test-id=\"cancel-button\"\n key=\"cancel-button\"\n /* eslint-disable-next-line */\n onClick={cancelButtonProps.handler}\n role={BUTTON_ROLES.SECONDARY}\n text={cancelButtonProps.name}\n />\n );\n\n const renderHeader = () => {\n return (\n <div className=\"flex flex-row justify-start align-center\">\n <img id=\"title-icon\" src={icon} className=\"mr-4 w-11 h-11\" alt={\"title icon\"} />\n <LegacyTitle id=\"title-text\" text={title} type={TITLE_TYPE_OPTIONS.BOLD} />\n </div>\n );\n };\n\n return (\n <div className={containerClassnames}>\n <NavLayout menu={navMenuComponent}>\n <>\n {isLoading && (\n <div className={classNames(mergedClasses, \"cweb-crud-page-loading-container\")}>\n <div className=\"flex flex-row justify-start align-center\">{renderHeader()}</div>\n <LoadingIndicator className=\"crud-page-loader\" asModal={false} />\n </div>\n )}\n\n {!isLoading && (\n <div className={mergedClasses} data-test-id={dataTestId}>\n <div className=\"flex flex-row justify-start align-center\">{renderHeader()}</div>\n\n <div className={\"cweb-crud-page-form-container\"}>\n {stepTitles && stepTitles.length > 0 && (\n <Steps orderedStepTitles={stepTitles} currentStep={currentStep} className={\"mb-4\"} localization={localization}/>\n )}\n {children}\n <Line\n left={[cancelButton, deleteButton]}\n right={[submitButton]}\n className={\"cweb-crud-page-button-line\"}\n />\n </div>\n </div>\n )}\n </>\n </NavLayout>\n </div>\n );\n}\n\nCRUDPage.propTypes = {\n isLoading: PropTypes.bool,\n title: PropTypes.string.isRequired,\n stepTitles: PropTypes.array,\n currentStep: PropTypes.number,\n submitButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n deleteButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n cancelButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n className: PropTypes.string,\n icon: PropTypes.string,\n isSubmitting: PropTypes.bool,\n navMenuComponent: PropTypes.elementType,\n localization: PropTypes.object,\n};\n\nexport default CRUDPage;\n","var img = \"data:image/svg+xml,%3csvg width='340' height='638' viewBox='0 0 340 638' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3crect x='8' y='60' width='50' height='8' rx='4' transform='rotate(90 8 60)' fill='%23111827'/%3e %3crect x='8' y='118' width='50' height='8' rx='4' transform='rotate(90 8 118)' fill='%23111827'/%3e %3crect x='340' y='67' width='30' height='8' rx='4' transform='rotate(90 340 67)' fill='%23111827'/%3e %3cpath fill-rule='evenodd' clip-rule='evenodd' d='M36 0C18.3269 0 4 14.3269 4 32V606C4 623.673 18.3269 638 36 638H304C321.673 638 336 623.673 336 606V32C336 14.3269 321.673 0 304 0H36ZM28 43C23.5817 43 20 46.5817 20 51V549C20 553.418 23.5817 557 28 557H312C316.418 557 320 553.418 320 549V51C320 46.5817 316.418 43 312 43H28Z' fill='%23374151'/%3e %3ccircle cx='171' cy='598' r='16' fill='%236B7280'/%3e %3ccircle cx='105.5' cy='22.5' r='4.5' fill='%236B7280'/%3e %3crect x='118' y='18' width='104' height='9' rx='4' fill='%239CA3AF'/%3e%3c/svg%3e\";\n export default img;","import { useState, useEffect } from \"react\";\nimport debounce from \"lodash.debounce\";\n\nexport const useWindowDimensions = () => {\n const [height, setHeight] = useState(window.innerHeight);\n const [width, setWidth] = useState(window.innerWidth);\n\n useEffect(() => {\n const handleResize = debounce(() => {\n if (height !== window.innerHeight) {\n setHeight(window.innerHeight);\n }\n if (width !== window.innerWidth) {\n setWidth(window.innerWidth);\n }\n }, 500);\n\n window.addEventListener(\"resize\", handleResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n return { height, width };\n};\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport phoneMockup from \"../../assets/phone-mockup.svg\";\n\nimport { useWindowDimensions } from \"./useWindowDimensions\";\n\ninterface PreviewPhoneProps {\n className?: string;\n children: React.ReactNode;\n}\n\nconst PreviewPhone = ({ className, children }: PreviewPhoneProps): JSX.Element => {\n const phoneHeight = 637;\n const phoneWidth = 340;\n const [scale, setScale] = useState(1);\n const [showPhone, setShowPhone] = useState(false);\n const { height: windowHeight, width: windowWidth } = useWindowDimensions();\n\n useEffect(() => {\n // hack to offset rendering the phone after the first render\n // this way the scale calculation works without fixed width\n setShowPhone(true);\n }, []);\n\n const containerCallbak = useCallback(\n (containerElement) => {\n if (!containerElement) {\n return;\n }\n const { clientWidth: containerWidth, clientHeight: containerHeight } = containerElement;\n const heightScale = containerHeight < phoneHeight ? containerHeight / phoneHeight : 1;\n const widthScale = containerWidth < phoneWidth ? containerWidth / phoneWidth : 1;\n setScale(heightScale < widthScale ? heightScale : widthScale);\n },\n [windowHeight, windowWidth]\n );\n\n return (\n showPhone ? (\n <div ref={containerCallbak} className={classNames(\"relative h-full flex items-center justify-center\", className)}>\n <div className={\"absolute\"} style={{ width: phoneWidth, height: phoneHeight, transform: `scale(${scale})` }}>\n <div className={\"h-full px-5 pt-11 pb-20\"}>\n <div className={\"h-full overflow-y-auto bg-white\"}>{children}</div>\n </div>\n <img className=\"absolute top-0 pointer-events-none\" src={phoneMockup} alt=\"phone mockup\" />\n </div>\n </div>) : <></>\n );\n};\n\nexport default PreviewPhone;\n","import React, { PureComponent } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Radio.scss\";\nimport { Text } from \"../Text/Text\";\n\n/**\n * @deprecated: use RadioV2 instead\n */\nclass Radio extends PureComponent {\n static propTypes = {\n className: PropTypes.string,\n text: PropTypes.string,\n isChecked: PropTypes.bool.isRequired,\n isDisabled: PropTypes.bool,\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isFocused: false,\n };\n }\n\n handleChange = (event) => {\n const { onChange } = this.props;\n\n if (onChange) {\n onChange(event);\n }\n };\n\n handleFocus = () => {\n this.setState({\n isFocused: true,\n });\n };\n\n handleBlur = () => {\n this.setState({\n isFocused: false,\n });\n };\n\n render() {\n const { className, isChecked, isDisabled, name, value, text } = this.props;\n\n const { isFocused } = this.state;\n\n const containerClassName = classNames(\"cweb-radio mr-4\", className, {\n \"is-focused\": isFocused,\n \"is-checked\": isChecked,\n \"opacity-50\": isDisabled,\n });\n\n return (\n <div className={containerClassName} ref={this.containerRef}>\n <label className=\"cweb-radio-label\">\n <input\n className=\"cweb-radio-input\"\n name={name}\n type=\"radio\"\n checked={isChecked}\n disabled={isDisabled}\n value={value}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onChange={this.handleChange}\n />\n\n <span\n className={classNames(\"cweb-radio-icon-container\", {\n \"bg-primary\": isChecked,\n \"hover:bg-primary-dark\": isChecked,\n \"outline-primary\": isFocused,\n \"cursor-not-allowed\": isDisabled,\n \"cursor-pointer\": !isDisabled,\n })}\n >\n <span className=\"cweb-radio-icon\" />\n </span>\n\n {text && (\n <Text\n className={classNames(\"cweb-radio-label-text\", {\n \"cursor-not-allowed\": isDisabled,\n })}\n text={text}\n />\n )}\n </label>\n </div>\n );\n }\n}\n\nexport default Radio;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport Radio from \"../Radio/Radio\";\n\nimport \"./RadioGroup.scss\";\n\n/**\n * @deprecated: use RadioV2 instead\n */\nfunction RadioGroup({\n className,\n radioClassName,\n name,\n selectedOption,\n isVertical,\n radioOptions,\n onChange,\n error,\n isDisabled,\n ...otherOptions\n}) {\n const containerClassName = classNames(\"cweb-radio-group\", { vertical: isVertical }, { hasError: error }, className);\n\n function handleChange(event) {\n if (!isDisabled && onChange) {\n onChange(event);\n }\n }\n\n return (\n <div className={containerClassName} {...otherOptions}>\n {radioOptions.map((option) => (\n <Radio\n {...option}\n key={option.value}\n className={radioClassName}\n name={name}\n isChecked={selectedOption === option.value}\n onChange={handleChange}\n isDisabled={isDisabled}\n />\n ))}\n </div>\n );\n}\n\nRadioGroup.propTypes = {\n className: PropTypes.string,\n radioClassName: PropTypes.string,\n name: PropTypes.string,\n selectedOption: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n isVertical: PropTypes.bool,\n radioOptions: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n info: PropTypes.string,\n isDisabled: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n })\n ).isRequired,\n onChange: PropTypes.func,\n};\n\nexport default RadioGroup;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { ButtonProps } from \"../Button/Button.types\";\nimport Button from \"../Button/Button\";\nimport { Title } from \"../Title/Title\";\nimport { LoadingIndicator, LoadingIndicatorProps } from \"../LoadingIndicator/LoadingIndicator\";\nimport { RestPropped } from \"../../types/general.types\";\n\nimport \"./Section.scss\";\n\nexport interface SectionProps extends RestPropped {\n title?: string;\n buttons?: ButtonProps[];\n footer?: React.ReactNode;\n className?: string;\n isLoading?: boolean;\n loadingIndicatorProps?: LoadingIndicatorProps;\n children?: React.ReactNode;\n}\n\nexport function Section({\n title,\n buttons,\n footer,\n children,\n className,\n isLoading = false,\n loadingIndicatorProps,\n ...restProps\n}: SectionProps): JSX.Element {\n return (\n <div\n {...restProps}\n className={classNames(\n \"cweb-section\",\n \"flex justify-start flex-col items-start\",\n \"rounded-lg\",\n \"mx-0 my-4\",\n \"bg-white\",\n \"w-full\",\n className\n )}\n >\n {(title || buttons) && (\n <div className=\"cweb-section-header\" data-test-id=\"section-header\">\n {title && (\n <div className=\"flex flex-row items-center\">\n <Title text={title} className=\"mr-3 cweb-section-title\" type=\"sm\" />\n {isLoading && <LoadingIndicator asSpinner={true} {...loadingIndicatorProps} />}\n </div>\n )}\n <div className={classNames(\"cweb-section-header-buttons-container\", \"flex flex-row space-x-3\")}>\n {buttons &&\n buttons.length > 0 &&\n buttons.map((button) => <Button {...button} key={button.key || button.id || button.text} />)}\n </div>\n </div>\n )}\n\n <div className=\"cweb-section-content w-full\">{!isLoading && children}</div>\n\n {footer && <div className=\"cweb-section-footer\">{footer}</div>}\n </div>\n );\n}\n\nexport default Section;\n","import React, { SyntheticEvent } from \"react\";\nimport classNames from \"classnames\";\n\nimport \"./SectionItem.scss\";\n\nexport interface SectionItemProps {\n className?: string;\n onClick?: (event: SyntheticEvent) => void; // func\n children?: React.ReactNode;\n}\n\nexport const SectionItem: React.FC<SectionItemProps> = props => {\n const { children, className, onClick, ...rest } = props;\n\n const classes = classNames(\"cweb-list-item\", className, {\n \"cweb-list-item-clickable\": !!onClick,\n });\n\n return (\n <div className={classes} onClick={onClick} {...rest}>\n {children}\n </div>\n );\n};\n\nexport default SectionItem;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nimport SectionItem, { SectionItemProps } from \"./SectionItem\";\n\ninterface SectionItemWithContentProps extends Omit<SectionItemProps, \"children\"> {\n text: string;\n icon?: string;\n iconClass?: string;\n}\n\nfunction SectionItemWithContent(\n props: SectionItemWithContentProps\n): JSX.Element {\n const { text, icon, className, iconClass, onClick, ...rest } = props;\n\n const mergedClasses = classNames(\"cweb-section-text-item\", className);\n const iconClasses = classNames(\"w-6 h-6 mr-4\", iconClass);\n\n return (\n <SectionItem className={mergedClasses} onClick={onClick} {...rest}>\n {icon && <img className={iconClasses} src={icon} alt=\"\" />}\n <Text text={text} />\n </SectionItem>\n );\n}\n\nexport default SectionItemWithContent;\n","import { useEffect } from \"react\";\n\nconst useOutsideClick = (ref, callback) => {\n const handleClick = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n callback();\n }\n };\n\n useEffect(() => {\n document.addEventListener(\"click\", handleClick);\n\n return () => {\n document.removeEventListener(\"click\", handleClick);\n };\n });\n};\n\nexport default useOutsideClick;\n","import classNames from \"classnames\";\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport useOutsideClick from \"../../utils/useOutsideClick\";\nimport Button from \"../Button/Button\";\nimport Checkbox from \"../Checkbox/Checkbox\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\nimport Text from \"../Text/Text\";\n\nexport interface ConfigurationItem {\n itemId: string;\n itemName: string;\n on: boolean;\n}\n\nexport interface SettingsMenuButtonProps {\n configuration: ConfigurationItem[];\n onConfigurationChange: (newConfig: ConfigurationItem) => void;\n shiftMenuTo?: \"right\" | \"right-md\" | \"left\" | \"left-md\";\n buttonTitle?: string;\n menuTitle?: string;\n iconComponent: React.FunctionComponent<IconProps>;\n}\n\nexport const SettingsMenuButton = (props: SettingsMenuButtonProps): JSX.Element => {\n const {\n configuration: configFromProps = [],\n onConfigurationChange,\n shiftMenuTo,\n buttonTitle,\n iconComponent,\n menuTitle,\n } = props;\n const [innerConfiguration, setInnerConfiguration] = useState(configFromProps);\n const [showMenu, setShowMenu] = useState(false);\n\n const menuRef = useRef<HTMLDivElement | null>(null);\n\n useOutsideClick(menuRef, () => {\n if (showMenu) {\n setShowMenu(false);\n }\n });\n\n useEffect(() => {\n setInnerConfiguration(configFromProps);\n }, [configFromProps]);\n\n const handleShowMenu = () => {\n setShowMenu(true);\n };\n\n const handleOnVibilitySwitchChanged = (event: React.ChangeEvent<HTMLInputElement>) => {\n const { id, name, checked } = event.currentTarget;\n\n const newConfig = innerConfiguration.find((config) => config.itemId === id && config.itemName === name) as ConfigurationItem;\n\n onConfigurationChange({ ...newConfig, on: checked });\n };\n\n if (!iconComponent) {\n console.error(\"A an icon component is required to use this component, please make sure to pass it as a prop. \");\n return <span>Invalid props passed to this component.</span>;\n }\n\n return (\n <div onClick={handleShowMenu} className=\"relative\">\n <Button dynamicIcon={iconComponent} onClick={handleShowMenu} text={buttonTitle} role=\"tertiary\" />\n\n <div\n ref={menuRef}\n className={classNames(\n \"cursor-default transition-all transform duration-300\",\n \"absolute -top-1 z-30\",\n \"rounded w-80 max-h-78 overflow-y-auto\",\n \"bg-white shadow-md\",\n \"border border-slate-300\",\n {\n \"-left-54\": shiftMenuTo === \"left\",\n \"-right-54\": shiftMenuTo === \"right\",\n \"-left-68\": shiftMenuTo === \"left-md\",\n \"-right-68\": shiftMenuTo === \"right-md\",\n \"transform -translate-x-1/2 left-1/2\": !shiftMenuTo, // centering the menu in the Y axis of the button\n },\n {\n \"opacity-0 pointer-events-none\": !showMenu,\n \"opacity-100\": showMenu,\n }\n )}\n >\n {menuTitle && (\n <div className=\"w-full p-3 h-11 bg-slate-50\">\n <Text type=\"sm\" className=\"uppercase\" text={menuTitle} />\n </div>\n )}\n {innerConfiguration.map((innerConfig) => (\n <div key={innerConfig.itemId} className=\"flex items-center justify-between w-full p-3 h-11\">\n <Text text={innerConfig.itemName} />\n <Checkbox\n name={innerConfig.itemName}\n id={innerConfig.itemId}\n type=\"switch\"\n isChecked={innerConfig.on}\n onChange={handleOnVibilitySwitchChanged}\n />\n </div>\n ))}\n </div>\n </div>\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./SwitcherItem.scss\";\nimport { Text } from \"../Text/Text\";\n\nSwitcherItem.propTypes = {\n name: PropTypes.string,\n icon: PropTypes.shape({\n default: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n active: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n showBadge: PropTypes.bool,\n }),\n index: PropTypes.number.isRequired,\n isSelected: PropTypes.bool,\n onSelect: PropTypes.func.isRequired,\n className: PropTypes.string,\n};\n\nfunction SwitcherItem({ className, icon, index, isSelected = false, name, onSelect }) {\n const handleItemClick = () => onSelect(index);\n const itemClassName = classNames(\n \"\",\n className,\n \"flex flex-row h-11 p-2 items-center border-solid border-t border-b border-l border-slate-200 transition duration-300 cursor-pointer \",\n \"first:rounded-l-xl last:rounded-r-xl last:border-r\",\n {\n \"bg-slate-100 text-slate-500\": isSelected,\n \"bg-slate-50 hover:bg-slate-100 hover:text-slate-500 text-slate-300\": !isSelected,\n }\n );\n\n let calculatedIcon;\n if (icon && typeof icon.default === \"string\") {\n calculatedIcon = isSelected ? (\n <img alt=\"\" className=\"\" src={icon.active} />\n ) : (\n <img alt=\"\" className=\"\" src={icon.default} />\n );\n } else if (icon) {\n calculatedIcon = isSelected ? icon.active : icon.default;\n }\n\n return (\n <li className={itemClassName} onClick={handleItemClick}>\n {\n <span className=\"relative block\">\n {icon?.showBadge && (\n <div className={\"absolute top-0 right-0 w-2.5 h-2.5 bg-red-400 rounded-xl border-slate-50 border-2 \"} />\n )}\n {calculatedIcon}\n </span>\n }\n\n {name && <Text text={name} color={isSelected ? \"base\" : \"gray-500\"} />}\n </li>\n );\n}\n\nexport default SwitcherItem;\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport SwitcherItem from \"./SwitcherItem\";\n\nfunction Switcher({ selectedIndex = -1, onChange, className, itemClassName, items }) {\n const [currentSelection, setCurrentSelection] = useState(selectedIndex);\n\n useEffect(() => {\n setCurrentSelection(selectedIndex);\n }, [selectedIndex]);\n\n const handleItemSelect = (index) => {\n onChange(index);\n };\n\n return (\n <ul\n className={classNames(\"cweb-switcher\", className, \"flex list-none p-0 m-0\")}\n data-test-id={\"switcher-container\"}\n >\n {items.map((item, index) => {\n return (\n <SwitcherItem\n key={JSON.stringify(item)}\n name={item.name}\n icon={item.icon}\n index={index}\n isSelected={currentSelection === index}\n onSelect={handleItemSelect}\n className={itemClassName}\n />\n );\n })}\n </ul>\n );\n}\n\nSwitcher.propTypes = {\n items: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n icon: PropTypes.shape({\n default: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n active: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n showBadge: PropTypes.bool,\n }),\n key: PropTypes.string,\n })\n ).isRequired,\n onChange: PropTypes.func.isRequired,\n selectedIndex: PropTypes.number,\n className: PropTypes.string,\n itemClassName: PropTypes.string,\n};\n\nexport default Switcher;\n","var img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3e%3cpath d='M18 16V2C18 0.9 17.1 0 16 0H2C0.9 0 0 0.9 0 2V16C0 17.1 0.9 18 2 18H16C17.1 18 18 17.1 18 16ZM5.9 10.98L8 13.51L11.1 9.52C11.3 9.26 11.7 9.26 11.9 9.53L15.41 14.21C15.66 14.54 15.42 15.01 15.01 15.01H3.02C2.6 15.01 2.37 14.53 2.63 14.2L5.12 11C5.31 10.74 5.69 10.73 5.9 10.98Z' fill='%23D1D5DB'/%3e%3c/svg%3e\";\n export default img;","import classNames from \"classnames\";\nimport React, { MouseEventHandler, useState } from \"react\";\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\n\nimport imgIcon from \"../../assets/image-icon.svg\";\n\ninterface ImageProps {\n src: string;\n className: string;\n children?: React.ReactNode;\n onClick?: MouseEventHandler<HTMLSpanElement>;\n showIconOnFailure?: boolean;\n}\n\nconst Image: React.VFC<ImageProps> = ({\n src,\n className,\n children = null,\n onClick,\n showIconOnFailure = true,\n ...otherProps\n}) => {\n const [isError, setIsError] = useState(false);\n\n if (!src || isError) {\n if (children) {\n return <span onClick={onClick}>{children}</span>;\n }\n\n if (!showIconOnFailure) {\n return null;\n }\n }\n\n return (\n <LazyLoadImage\n className={classNames(className)}\n effect=\"blur\"\n placeholder={\n <div className=\"flex flex-row items-center justify-center w-full h-full rounded\">\n <img src={imgIcon} alt=\"image-icon\" />\n </div>\n }\n src={src}\n onClick={onClick}\n onError={() => setIsError(true)}\n wrapperClassName=\"w-full h-full\"\n {...otherProps}\n />\n );\n};\n\nexport default Image;\n","import React, { MouseEventHandler } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport Image from \"../Image/Image\";\n\nexport interface CategoryProps {\n folder: string;\n key: string;\n}\n\ninterface ImageCategoryProps {\n category: CategoryProps;\n images: string[];\n highlightedImage: string | null;\n handleImageClick: MouseEventHandler<HTMLSpanElement>;\n isTypeCompact: boolean;\n}\n\nexport const ImageCategory = (props: ImageCategoryProps): JSX.Element => {\n return (\n <div className=\"w-full mt-4\">\n <Text text={props.category.key} />\n <div className=\"flex flex-row flex-wrap\">\n {props.images.map((option: string, index: number) => {\n const isSelected = option === props.highlightedImage;\n return (\n <div\n data-test-id={`image-from-selector-${index\n .toString()\n .padStart(2, \"0\")}`}\n key={option}\n className={classNames(\n \"p-2 m-2 rounded border border-solid border-slate-300\",\n {\n \"outline-primary\": isSelected,\n \"w-11 h-11\": props.isTypeCompact,\n \"w-36 h-22\": !props.isTypeCompact,\n }\n )}\n >\n <Image\n className=\"w-full h-full rounded\"\n onClick={props.handleImageClick}\n src={option}\n data-index={index}\n />\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n","import React, { MouseEventHandler, useEffect, useRef, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { getBase64, isSubstring } from \"../../utils/string.utils\";\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { SearchInput } from \"../Input/SearchInput\";\nimport ErrorBlock from \"../ErrorBlock/ErrorBlock\";\nimport emptyImage from \"../../assets/image-icon.svg\";\nimport Image from \"../Image/Image\";\nimport { FakeEventTarget, InputProps } from \"../Input/Input\";\nimport { FlexRow } from \"../Container/FlexRow\";\nimport { FlexContainer } from \"../Container/FlexContainer\";\nimport { ModalBase } from \"../Modal/ModalBase\";\n\nimport { CategoryProps, ImageCategory } from \"./ImageCategory\";\n\nexport interface TargetProps {\n target: {\n name: string | null | undefined;\n value: string | null | undefined | { imageData: string };\n };\n}\n\nexport interface ImagePickerProps {\n name: string;\n images: string[];\n categories: CategoryProps[];\n preselectedImage?: string | { imageData: string };\n clearImageIndex?: number;\n type?: \"normal\" | \"compact\";\n isDisabled?: boolean;\n handleChange: (target: TargetProps) => void;\n isUploadButtonVisible?: boolean;\n isClearButtonVisible?: boolean;\n localisation: Partial<\n Record<\n | \"openModalButton\"\n | \"selectButton\"\n | \"error\"\n | \"uploadImage\"\n | \"clearSelection\"\n | \"cancel\"\n | \"search\"\n | \"modalTitle\",\n string\n >\n >;\n}\n\nexport const ImagePickerInner: React.VFC<\n ImagePickerProps & { innerRef?: React.Ref<HTMLButtonElement> }\n> = ({\n categories,\n clearImageIndex,\n handleChange,\n images,\n isDisabled = false,\n name,\n preselectedImage,\n type = \"normal\",\n isUploadButtonVisible = false,\n isClearButtonVisible = false,\n localisation,\n innerRef,\n}) => {\n const placeholderImage =\n clearImageIndex !== undefined && images[clearImageIndex]\n ? images[clearImageIndex]\n : emptyImage;\n const isTypeCompact = type === \"compact\";\n\n const [search, setSearch] = useState<string>(\"\");\n const [filteredCategories, setFilteredCategories] =\n useState<CategoryProps[]>(categories);\n const [isImagesPanelOpen, setIsImagesPanelOpen] = useState(false);\n const [selectedImage, setSelectedImage] = useState<string>(placeholderImage);\n const [highlightedImage, setHighlightedImage] = useState<string | null>(null);\n const [error, setError] = useState<string | null>(null);\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (preselectedImage && typeof preselectedImage === \"string\") {\n setSelectedImage(preselectedImage);\n }\n }, [preselectedImage]);\n\n const handleSearchChange: InputProps[\"onChange\"] = (event) => {\n const searchQuery = (event as FakeEventTarget).target.value;\n setSearch(searchQuery);\n setFilteredCategories(\n categories.filter((category) => isSubstring(category.folder, searchQuery))\n );\n };\n\n const handleImageClick: MouseEventHandler<HTMLImageElement> = (event) => {\n const datasetIndex = event.currentTarget?.dataset[\"index\"];\n if (datasetIndex && parseInt(datasetIndex, 10) === clearImageIndex) {\n handleDeleteClick();\n }\n setHighlightedImage(event.currentTarget.src);\n };\n\n const handleDeleteClick = (): void => {\n if (selectedImage) {\n URL.revokeObjectURL(selectedImage);\n }\n handleChange({ target: { name: name, value: \"\" } });\n setSelectedImage(placeholderImage);\n setHighlightedImage(null);\n };\n\n function handleConfirmSelection() {\n setSelectedImage(highlightedImage ?? placeholderImage);\n handleChange({\n target: { name: name, value: highlightedImage },\n });\n handleCloseModal();\n }\n\n const handleCloseModal = (): void => {\n setIsImagesPanelOpen(false);\n };\n\n const uploadImage = async (event: React.FormEvent<HTMLInputElement>) => {\n if (event.currentTarget.files) {\n const file = event.currentTarget.files[0];\n if (file?.type === \"image/svg+xml\") {\n setSelectedImage(URL.createObjectURL(file));\n const base64String = await getBase64(file);\n handleChange({\n target: { name: name, value: { imageData: base64String } },\n }); // show a preview of the uploaded image\n } else {\n setError(localisation.error ?? null);\n }\n }\n };\n\n return (\n <>\n <FlexContainer\n type={isTypeCompact ? \"row\" : \"column\"}\n horizontalSpacing={isTypeCompact ? \"small\" : \"none\"}\n verticalSpacing={!isTypeCompact ? \"small\" : \"none\"}\n >\n {selectedImage && (\n <div\n className={classNames({\n \"rounded-full bg-secondary p-3 h-11 w-11\": isTypeCompact,\n \"w-80 h-44\": !isTypeCompact,\n })}\n >\n <Image\n className={classNames(\"w-full h-full\", {\n \"bg-secondary rounded p-3\": !isTypeCompact,\n })}\n src={selectedImage}\n />\n </div>\n )}\n\n {error && (\n <ErrorBlock className=\"cweb-no-action-error\" message={error} />\n )}\n\n <FlexRow spacing={\"small\"}>\n <SecondaryButton\n data-test-id={`image-picker-${name}`}\n id={`image-picker-${name}`}\n isDisabled={isDisabled}\n className=\"cweb-imagePicker-change\"\n text={localisation.openModalButton}\n onClick={() => setIsImagesPanelOpen(true)}\n ref={innerRef}\n />\n {isUploadButtonVisible && (\n <span className=\"cweb-imagePicker-upload\">\n <SecondaryButton\n text={localisation.uploadImage}\n isDisabled={isDisabled}\n id={`upload-image-${name}`}\n onClick={() => {\n setIsImagesPanelOpen(false);\n fileInputRef.current?.click();\n }}\n />\n <input\n ref={fileInputRef}\n type=\"file\"\n disabled={isDisabled}\n name={`uploaded-${name}`}\n accept=\"image/svg+xml\"\n onChange={uploadImage}\n className={\"hidden\"}\n />\n </span>\n )}\n {isClearButtonVisible && selectedImage !== placeholderImage && (\n <SecondaryButton\n text={localisation.clearSelection}\n isDisabled={isDisabled}\n onClick={handleDeleteClick}\n />\n )}\n </FlexRow>\n </FlexContainer>\n <ModalBase\n size={\"wide\"}\n onCloseClick={handleCloseModal}\n scrollableContent={true}\n footerTrailingComponents={{\n primaryButtonProps: {\n onClick: handleConfirmSelection,\n text: localisation.selectButton,\n },\n secondaryButtonProps: {\n onClick: handleCloseModal,\n text: localisation.cancel,\n },\n }}\n isOpen={isImagesPanelOpen}\n title={localisation.modalTitle}\n >\n <SearchInput\n name=\"searchImages\"\n className=\"w-full\"\n value={search}\n placeholder={localisation.search}\n onChange={handleSearchChange}\n />\n <div className=\"flex flex-row flex-wrap items-center w-full\">\n {filteredCategories?.map((category) => (\n <ImageCategory\n category={category}\n images={images?.filter((categoryImage) =>\n categoryImage.includes(category.folder)\n )}\n highlightedImage={highlightedImage}\n handleImageClick={handleImageClick}\n key={category.folder}\n isTypeCompact={isTypeCompact}\n />\n ))}\n </div>\n </ModalBase>\n </>\n );\n};\n\nexport const ImagePicker = React.forwardRef<\n HTMLButtonElement,\n ImagePickerProps\n>((props, ref) => <ImagePickerInner {...props} innerRef={ref} />);\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport Badge from \"../Badge/Badge\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\n\nexport interface TabItemDetails<T extends object = Record<string, unknown>> {\n title: string | JSX.Element;\n badgeCount?: number;\n isLoading?: boolean;\n dataTestId?: string;\n extra?: T;\n}\n\ninterface TabbarItemProps extends TabItemDetails {\n index: number;\n isSelected?: boolean;\n onSelect?: (index: number) => void;\n className?: string;\n}\n\nconst TabbarItem = ({\n title,\n index,\n isSelected,\n onSelect,\n className,\n badgeCount = 0,\n isLoading = false,\n dataTestId = \"\",\n}: TabbarItemProps): JSX.Element => {\n const handleTabClick = () => onSelect && onSelect(index);\n\n const itemClassName = classNames(\n \"flex first:ml-0 ml-2 flex-row cursor-pointer py-2 px-3 rounded-lg focus:outline-primary transition ease-in duration-150\",\n className,\n {\n \"bg-slate-100 text-slate-800 hover:text-slate-800 focus:text-slate-800\":\n isSelected,\n \"bg-slate-50 text-slate-500 hover:bg-slate-100 hover:text-slate-500 focus:text-slate-500 opacity-75\":\n !isSelected,\n }\n );\n\n return (\n <div\n className={itemClassName}\n onClick={handleTabClick}\n data-test-id={dataTestId}\n >\n {typeof title === \"string\" && (\n <Text text={title} type={isSelected ? \"strong\" : \"base\"} inline />\n )}\n {typeof title !== \"string\" && title}\n {badgeCount > 0 && <Badge className=\"ml-1\" badgeCount={badgeCount} />}\n {isLoading && (\n <LoadingIndicator\n asSpinner={true}\n spinnerColor={\"gray\"}\n className={\"w-6\"}\n />\n )}\n </div>\n );\n};\n\nexport default TabbarItem;\n","import classNames from \"classnames\";\nimport React, { useEffect, useState } from \"react\";\n\nimport TabbarItem, { TabItemDetails } from \"./TabbarItem\";\n\nexport interface TabbarProps {\n tabs?: TabItemDetails[];\n selectedIndex?: number;\n onSelect?: (params: { index: number; selectedTab: TabItemDetails }) => void;\n className?: string;\n /**\n * If this component is being used on a container that will handle spacing, this option disables the padding, allowing the container to take over spacing.\n */\n withoutPadding?: boolean;\n}\n\nexport { TabItemDetails };\n\nexport const Tabbar = ({\n tabs = [],\n selectedIndex,\n onSelect,\n className = \"\",\n withoutPadding = false,\n}: TabbarProps): JSX.Element => {\n const [innerSelectedIndex, setInnerSelectedIndex] = useState(selectedIndex);\n\n useEffect(() => {\n setInnerSelectedIndex(selectedIndex);\n }, [selectedIndex]);\n\n function handleOnTabSelect(index: number) {\n setInnerSelectedIndex(index);\n onSelect?.({ index, selectedTab: tabs[index] });\n }\n\n return (\n <div\n className={classNames(\n `flex flex-row w-full bg-white rounded-xl ${className}`,\n { \"p-2\": !withoutPadding }\n )}\n >\n {tabs?.map((tabItemProps, index) => {\n const itemProps = {\n index,\n onSelect: handleOnTabSelect,\n isSelected: innerSelectedIndex === index,\n ...tabItemProps,\n };\n\n return (\n <TabbarItem key={tabItemProps.dataTestId ?? index} {...itemProps} />\n );\n })}\n </div>\n );\n};\n\nexport default Tabbar;\n","import { Link } from \"@reach/router\";\nimport React from \"react\";\n\nimport Text from \"../Text/Text\";\n\nexport interface Crumb {\n name: string;\n key?: string;\n link?: string;\n}\n\nexport interface BreadcrumbProps {\n crumbs: Crumb[];\n}\n\nexport const Breadcrumbs: React.VoidFunctionComponent<BreadcrumbProps> = ({\n crumbs,\n}) => {\n const breadcrumbItems = crumbs.map(({ name, link, key }) => {\n return (\n <li key={key || name} className=\"flex flex-row items-center slash-split \">\n {link ? (\n <Link to={link}>\n <Text text={name} color=\"blue-800\" />\n </Link>\n ) : (\n <Text text={name} type=\"strong\" />\n )}\n </li>\n );\n });\n\n return (\n <ul\n data-test-id=\"breadcrumbs\"\n className=\"flex flex-row items-center space-x-2 \"\n >\n {breadcrumbItems}\n </ul>\n );\n};\n","import React from \"react\";\n\nimport { Breadcrumbs, BreadcrumbProps } from \"../Breadcrumbs/Breadcrumbs\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport Tabbar, { TabbarProps } from \"../Tabbar/Tabbar\";\nimport { Title } from \"../Title/Title\";\n\nexport interface PageHeaderProps {\n navigation?: Omit<TabbarProps, \"withoutPadding\">;\n breadcrumbs?: BreadcrumbProps[\"crumbs\"];\n dataTestId?: string;\n title: string;\n isPolling?: boolean;\n accessories?: React.ReactNode;\n}\n\nexport const PageHeader: React.VoidFunctionComponent<PageHeaderProps> = ({\n navigation,\n breadcrumbs,\n dataTestId,\n accessories,\n isPolling,\n title,\n}) => {\n return (\n <div data-test-id=\"page-header\" className=\"p-4 space-y-4 bg-white\">\n {!!breadcrumbs?.length && (\n <div className=\"mb-4 space-y-4\">\n <Breadcrumbs crumbs={breadcrumbs} />\n <div className=\"mb-4 border-b border-slate-100\" />\n </div>\n )}\n <div className=\"flex flex-row items-center justify-between\">\n <div className=\"flex flex-row items-center space-x-3\">\n <Title data-test-id={`${dataTestId}-title`} text={title} />\n {isPolling && (\n <LoadingIndicator\n asSpinner={true}\n className={\"page-spinner\"}\n spinnerColor=\"gray\"\n />\n )}\n </div>\n {accessories && (\n <div data-test-id=\"page-header-accessories\">{accessories}</div>\n )}\n </div>\n {navigation && <Tabbar {...navigation} withoutPadding />}\n </div>\n );\n};\n","import React from \"react\";\nimport { Link, LinkGetProps, NavigateFn, WindowLocation } from \"@reach/router\";\n\nimport { Select } from \"../Select/Select\";\n\ninterface TabLinkItem {\n url: URL;\n text: string;\n}\n\ninterface TabLinksProps {\n patientUuid: string;\n items: Array<TabLinkItem>;\n navigate: NavigateFn;\n location: WindowLocation;\n}\n\nconst TabLinksSelect = ({\n items,\n navigate,\n location,\n}: {\n items: Array<TabLinkItem>;\n navigate: NavigateFn;\n location: WindowLocation;\n}): JSX.Element => {\n const options = items.map(({ url, text }) => ({ value: url, label: text }));\n\n const handleChange = (value: any) => {\n navigate(value?.href);\n };\n\n return (\n <Select\n value={options.filter(({ value }) => location?.href === value?.href)}\n options={options}\n onChange={handleChange}\n />\n );\n};\n\nconst TabLinks = ({\n patientUuid,\n items,\n navigate,\n location,\n}: TabLinksProps): JSX.Element => {\n const linkProps = ({ isCurrent }: LinkGetProps) => {\n return isCurrent\n ? {\n className:\n \"mr-2 bg-slate-100 is-selected py-3 px-4 rounded-lg text-sm font-semibold transition ease-in duration-150 text-slate-800 hover:text-slate-800 focus:text-slate-800 focus:outline-primary\",\n }\n : {\n className:\n \"mr-2 text-slate-500 py-3 px-4 text-sm hover:bg-slate-100 hover:text-slate-500 focus:text-slate-500 rounded-lg transition ease-in duration-150 focus:outline-primary\",\n };\n };\n\n return (\n <>\n <div className={\"w-full block xl:hidden bg-white p-2\"}>\n <TabLinksSelect items={items} navigate={navigate} location={location} />\n </div>\n <div className={\"w-full hidden xl:flex bg-white p-2 rounded-xl\"}>\n {items.map(({ text, url }) => (\n <Link\n key={`${patientUuid}_${text}`}\n to={url.pathname}\n getProps={linkProps}\n >\n {text}\n </Link>\n ))}\n </div>\n </>\n );\n};\n\nexport default TabLinks;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Tag, { TagProps } from \"./Tag\";\nimport { TagSize } from \"./Tag.utils\";\n\ninterface TagGroupProps {\n tags: TagProps[];\n tagSize?: TagSize;\n className?: string;\n}\n\nconst TagGroup = ({\n tags,\n tagSize = TagSize.base,\n className,\n}: TagGroupProps): JSX.Element => (\n <div className={classNames(\"flex flex-row flex-wrap\", className)}>\n {tags.map(tag => (\n <Tag\n size={tagSize}\n {...tag}\n className={classNames(\"mr-2 last:mr-0 mb-2\")}\n />\n ))}\n </div>\n);\n\nexport default TagGroup;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Textarea.scss\";\n\nconst RESIZE_TYPES = {\n NONE: \"none\",\n BOTH: \"both\",\n HORIZONTAL: \"horizontal\",\n VERTICAL: \"vertical\",\n};\n\nTextarea.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n name: PropTypes.string.isRequired,\n placeholder: PropTypes.string,\n maxLength: PropTypes.number,\n rows: PropTypes.number,\n resizable: PropTypes.oneOf([RESIZE_TYPES.BOTH, RESIZE_TYPES.HORIZONTAL, RESIZE_TYPES.VERTICAL, RESIZE_TYPES.NONE]),\n isDisabled: PropTypes.bool,\n icon: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onKeyPress: PropTypes.func,\n onKeyDown: PropTypes.func,\n onCtrlEnter: PropTypes.func,\n};\n\nfunction Textarea(props) {\n const {\n className,\n value,\n name,\n placeholder,\n maxLength,\n rows = 4,\n resizable = RESIZE_TYPES.VERTICAL,\n isDisabled = false,\n icon,\n onChange,\n onBlur,\n onFocus,\n onKeyPress,\n onKeyDown,\n onCtrlEnter,\n ...otherProps\n } = props;\n\n let style;\n\n if (icon) {\n style = {\n backgroundImage: `url(${icon})`,\n };\n }\n\n return (\n <textarea\n {...otherProps}\n name={name}\n value={value}\n placeholder={placeholder}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyPress={onKeyPress}\n onKeyDown={(event) => {\n onKeyDown?.();\n const { ctrlKey, metaKey, key } = event;\n\n if ((ctrlKey || metaKey) && key === \"Enter\") {\n onCtrlEnter?.();\n }\n }}\n maxLength={maxLength}\n rows={rows}\n disabled={isDisabled}\n className={classNames(\n \"cweb-textarea\",\n className,\n \"p-2\",\n \"border\",\n \"placeholder-gray-500\",\n \"text-sm\",\n \"border-solid\",\n \"border-input-border\",\n \"hover:border-input-border-dark\",\n \"focus:outline-primary\",\n \"transition-colors\",\n \"duration-300\",\n \"w-full\",\n \"focus:border-primary\",\n {\n \"has-icon\": !!icon,\n resizable: resizable === RESIZE_TYPES.BOTH,\n \"resizable-x\": resizable === RESIZE_TYPES.HORIZONTAL,\n \"resizable-y\": resizable === RESIZE_TYPES.VERTICAL,\n }\n )}\n style={style}\n />\n );\n}\n\nexport default Textarea;\n","import React, { useEffect, useMemo, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport ReactQuill from \"react-quill\";\n\nimport \"react-quill/dist/quill.snow.css\";\nimport \"./TextEditor.scss\";\n\nexport default function TextEditor({ defaultValue, onValueChange, placeholder }) {\n const formats = [\"bold\", \"italic\", \"underline\", \"strike\", \"list\", \"bullet\", \"link\"];\n const toolbarLastGroup = [\"link\", \"video\"];\n const quillRef = useRef();\n\n\n useEffect(() => {\n if (quillRef.current) {\n const quillInstance = quillRef.current;\n const tooltipSave = quillInstance.editor.theme.tooltip.save;\n\n quillInstance.editor.theme.tooltip.save = function () {\n // overwrite save link functionality\n let url = this.textbox.value;\n\n if (url.indexOf(\"http\") === -1 || url.indexOf(\"https\") === -1) {\n url = `https://${url}`;\n this.textbox.value = url;\n }\n tooltipSave.call(this);\n };\n }\n }, []);\n\n const modules = useMemo(() => {\n return {\n toolbar: {\n container: [\n [\"bold\", \"italic\", \"underline\", \"strike\"],\n [{ list: \"ordered\" }, { list: \"bullet\" }],\n toolbarLastGroup,\n ],\n },\n };\n }, []);\n\n return (\n <ReactQuill\n ref={quillRef}\n theme=\"snow\"\n modules={modules}\n placeholder={placeholder}\n formats={formats}\n value={defaultValue}\n onChange={onValueChange}\n />\n );\n}\n\nTextEditor.propTypes = {\n defaultValue: PropTypes.string,\n placeholder: PropTypes.string,\n onValueChange: PropTypes.func.isRequired,\n};\n","import React, { useEffect, useState } from \"react\";\nimport { EditorState, convertToRaw, ContentState } from \"draft-js\";\nimport { Editor } from \"react-draft-wysiwyg\";\nimport draftToHtml from \"draftjs-to-html\";\nimport htmlToDraft from \"html-to-draftjs\";\n\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\nimport \"./TextEditorV2.scss\";\n\nexport const TextEditorV2 = ({ defaultValue, onValueChange, locale }) => {\n const [editorState, setEditorState] = useState(EditorState.createEmpty());\n\n useEffect(() => {\n const { contentBlocks, entityMap } = htmlToDraft(defaultValue);\n setEditorState(EditorState.createWithContent(ContentState.createFromBlockArray(contentBlocks, entityMap)));\n }, []);\n\n const onEditorStateChange = (state) => {\n setEditorState(state);\n onValueChange(draftToHtml(convertToRaw(state.getCurrentContent())));\n };\n\n return (\n <div className=\"editor\">\n <Editor\n toolbar={{\n options: [\"inline\", \"list\", \"link\", \"textAlign\", \"history\"],\n inline: {\n options: [\"bold\", \"italic\", \"underline\"],\n },\n list: {\n options: [\"unordered\", \"ordered\"],\n },\n link: {\n showOpenOptionOnHover: false,\n defaultTargetOption: \"_blank\",\n },\n }}\n editorState={editorState}\n onEditorStateChange={onEditorStateChange}\n wrapperClassName=\"mb-6\"\n toolbarClassName=\"border border-solid border-color-border-primary\"\n editorClassName=\"border border-solid border-color-border-primary h-56\"\n localization={{\n locale: locale,\n }}\n />\n </div>\n );\n};\n\nexport default TextEditorV2;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nexport interface TimelineStepProps {\n key: string | number;\n type?: \"wide\" | \"base\" | \"withoutDot\" | \"emptyDot\";\n content: React.ReactNode;\n}\n\nexport const TimelineStep = ({\n content,\n type = \"base\",\n}: TimelineStepProps): JSX.Element => {\n const isWideStep = type === \"wide\";\n const borderClassNames = \"ml-4 pl-6 border-blue-800 border-l-2\";\n const containerClassNames = classNames(\"relative\", {\n [borderClassNames]: !isWideStep,\n \"bg-white rounded-lg overflow-hidden\": isWideStep,\n });\n\n return (\n <>\n {isWideStep && (\n <div className={classNames(borderClassNames, \"h-4 first:h-0\")} />\n )}\n <div className={containerClassNames}>\n <div className={\"flex flex-col\"}>{content}</div>\n <span\n className={classNames(\n \"rounded-lg h-4 w-4 absolute top-6 -left-2 -ml-px -mt-px\",\n {\n hidden: [\"wide\", \"withoutDot\"].includes(type),\n \"bg-blue-800\": \"base\" === type,\n \"bg-white border-blue-800 border-4\": \"emptyDot\" === type,\n }\n )}\n />\n </div>\n </>\n );\n};\n","import React from \"react\";\n\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { BaseButtonProps } from \"../ButtonV2/ButtonProps.type\";\n\nimport { TimelineStep, TimelineStepProps } from \"./TimelineStep\";\n\nexport interface TimelineProps {\n steps: TimelineStepProps[];\n loadMoreButtonProps?: BaseButtonProps;\n}\n\nexport const Timeline = (props: TimelineProps): JSX.Element => (\n <>\n {/* Needs a container around TimelineSteps as last one should be styled differently */}\n <div>\n {props.steps.map(step => <TimelineStep {...step} />)}\n </div>\n {props.loadMoreButtonProps && (\n <SecondaryButton\n className={\"mt-6 mx-auto\"}\n {...props.loadMoreButtonProps}\n />\n )}\n </>\n);\n\nexport default Timeline;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text, { TextProps } from \"../Text/Text\";\nimport Button from \"../Button/Button\";\nimport { RestPropped } from \"../../types/general.types\";\nimport { ButtonProps } from \"../Button/Button.types\";\n\nexport interface ViewItemProps<AccessoryType extends JSX.Element>\n extends RestPropped {\n titleProps?: TextProps;\n // deprecated: use titleProps instead\n title?: string;\n titleAccessory?: AccessoryType;\n // these props are injected in a Text component, allowing for customisation\n contentProps?: TextProps[];\n // these strings are injected in a default Text component\n // deprecated: use contentProps instead\n content?: string[];\n // if contentProps and content are both empty or null, this value will be presented instead\n defaultContent?: string;\n className?: string;\n buttons?: ButtonProps[];\n}\n\nexport function ViewItem<AccessoryType extends JSX.Element>({\n titleProps,\n title,\n titleAccessory,\n contentProps,\n content,\n defaultContent = \"-\",\n className,\n buttons,\n ...restProps\n}: ViewItemProps<AccessoryType>): JSX.Element {\n const titlePropsMerged = titleProps ?? { text: title ?? defaultContent };\n const contentPropsMerged =\n contentProps ??\n content?.map(line => {\n return { text: line, className: \"cweb-view-content-text\" } as TextProps;\n });\n\n return (\n <div className={classNames(\"vitals-view-item\", className)} {...restProps}>\n <div\n className={\n \"vitals-view-item-title-line flex justify-start flex-row items-start\"\n }\n >\n {titlePropsMerged && (\n <Text\n className={classNames(\n titlePropsMerged.className,\n \"vitals-view-item-title mb-1 mr-2\"\n )}\n color=\"slate-500\"\n {...titlePropsMerged}\n />\n )}\n {titleAccessory}\n </div>\n {contentPropsMerged &&\n contentPropsMerged?.map(textProps => (\n <Text {...textProps} key={textProps.key || textProps.text} />\n ))}\n {(!contentPropsMerged || contentPropsMerged?.length === 0) && (\n <Text text={defaultContent} key=\"empty-text\" />\n )}\n\n <div className=\"flex flex-row cweb-view-buttons\" key=\"cweb-view-buttons\">\n {buttons &&\n buttons.map(button => (\n <Button\n {...button}\n className={classNames(\"cweb-view-button ml-3\", button.className)}\n key={button.key || button.text}\n />\n ))}\n </div>\n </div>\n );\n}\n\nexport default ViewItem;\n","import React from \"react\";\nimport type { FieldErrors } from \"react-hook-form\";\n\nimport { Text } from \"../Text/Text\";\n\ninterface FormFieldErrorMessages {\n fieldName: string;\n error: FieldErrors;\n}\n\nexport const FormFieldErrorMessages: React.FC<FormFieldErrorMessages> = (\n props\n) => {\n const { fieldName, error } = props;\n\n const fieldErrors = error[fieldName] as Record<string, string> | undefined;\n\n if (!fieldErrors?.types) {\n return null;\n }\n\n return (\n <div className=\"mt-1 space-y-1\">\n {Object.entries(fieldErrors.types).map(([errorKey, errorMessage]) => (\n <Text\n key={`${fieldName}-${errorKey}`}\n text={errorMessage}\n color={\"red\"}\n type=\"sm\"\n />\n ))}\n </div>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\n\nimport { FormFieldDecoratorWithGeneratedProps } from \"./form.types\";\nimport { FormFieldErrorMessages } from \"./FormFieldErrorMessages\";\n\n/**\n * Decorator for any input component. Adds a label and additional information to be shown.\n *\n * Includes the default error handling from react-hook-form.\n */\nexport function FormFieldDecorator({\n name,\n children,\n label,\n fieldRequired,\n info,\n fieldErrors,\n decoratorClassname,\n}: FormFieldDecoratorWithGeneratedProps): JSX.Element {\n return (\n <div className={classNames(decoratorClassname)}>\n {label && (\n <label\n className=\"cweb-form-field-label block mb-1\"\n htmlFor={name}\n data-is-required={fieldRequired}\n >\n <Text\n className=\"cweb-form-field-label-text\"\n inline={true}\n text={label}\n />\n </label>\n )}\n <fieldset className=\"cweb-form-fieldset\">{children}</fieldset>\n {info && (\n <Text\n className=\"mt-1 cweb-form-info-text\"\n type=\"sm\"\n color=\"slate-500\"\n text={info}\n />\n )}\n <FormFieldErrorMessages fieldName={name} error={fieldErrors} />\n </div>\n );\n}\n","import { FieldErrors, RegisterOptions } from \"react-hook-form/dist/index.ie11\";\n\nexport const hasError = (name?: string, errors?: FieldErrors): boolean => {\n return !!(name && errors && name in errors);\n};\n\nexport const isRequired = (options?: RegisterOptions): boolean => {\n return !!(options && \"required\" in options);\n};\n","import React from \"react\";\nimport { Controller } from \"react-hook-form/dist/index.ie11\";\n\nimport Input from \"../Input/Input\";\n\nimport { FormInputProps } from \"./form.types\";\nimport { FormFieldDecorator } from \"./FormFieldDecorator\";\nimport { hasError } from \"./form.transformer\";\n\n/**\n * Input field that can be used in any react-hook-form context.\n */\nexport const FormInput = React.forwardRef<HTMLInputElement, FormInputProps>(\n (\n {\n control,\n name,\n rules,\n fieldErrors,\n fieldRequired,\n label,\n info,\n decoratorClassname,\n ...fieldProps\n },\n innerRef\n ) => (\n <FormFieldDecorator\n name={name}\n fieldErrors={fieldErrors}\n fieldRequired={fieldRequired}\n label={label}\n info={info}\n decoratorClassname={decoratorClassname}\n >\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={(field) => (\n <Input\n {...fieldProps}\n {...field}\n isError={hasError(name, fieldErrors)}\n asFormField\n ref={innerRef}\n />\n )}\n />\n </FormFieldDecorator>\n )\n);\n","import React from \"react\";\nimport { Controller } from \"react-hook-form/dist/index.ie11\";\n\nimport { RadioGroupV2 } from \"../RadioGroup/RadioGroupV2\";\n\nimport { FormFieldDecorator } from \"./FormFieldDecorator\";\nimport { hasError } from \"./form.transformer\";\nimport { FormRadioGroupProps } from \"./form.types\";\n\n/**\n * Radio Group that can be used in any react-hook-form context.\n */\nexport const FormRadioGroup = React.forwardRef<\n HTMLInputElement,\n FormRadioGroupProps\n>(\n (\n {\n control,\n name,\n rules,\n fieldErrors,\n fieldRequired,\n label,\n info,\n decoratorClassname,\n ...fieldProps\n },\n innerRef\n ) => (\n <FormFieldDecorator\n name={name}\n fieldErrors={fieldErrors}\n fieldRequired={fieldRequired}\n label={label}\n info={info}\n decoratorClassname={decoratorClassname}\n >\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ onChange, value }) => {\n return (\n <RadioGroupV2\n {...fieldProps}\n isError={hasError(name, fieldErrors)}\n ref={innerRef}\n name={name}\n onChange={onChange}\n defaultValue={value}\n />\n );\n }}\n />\n </FormFieldDecorator>\n )\n);\n","import React from \"react\";\nimport { Controller } from \"react-hook-form/dist/index.ie11\";\n\nimport { Select } from \"../Select/Select\";\n\nimport { FormSelectProps } from \"./form.types\";\nimport { FormFieldDecorator } from \"./FormFieldDecorator\";\nimport { hasError } from \"./form.transformer\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const FormSelect = React.forwardRef<any, FormSelectProps>(\n (\n {\n control,\n name,\n rules,\n fieldErrors,\n fieldRequired,\n label,\n info,\n decoratorClassname,\n ...selectProps\n },\n innerRef\n ) => {\n return (\n <FormFieldDecorator\n name={name}\n fieldErrors={fieldErrors}\n fieldRequired={fieldRequired}\n label={label}\n info={info}\n decoratorClassname={decoratorClassname}\n >\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={(field) => (\n <Select\n {...selectProps}\n {...field}\n isError={hasError(name, fieldErrors)}\n ref={innerRef}\n />\n )}\n />\n </FormFieldDecorator>\n );\n }\n);\n","import React, { useEffect } from \"react\";\nimport { Controller } from \"react-hook-form/dist/index.ie11\";\n\nimport { ImagePicker } from \"../ImagePicker/ImagePicker\";\n\nimport { FormImagePickerProps } from \"./form.types\";\nimport { FormFieldDecorator } from \"./FormFieldDecorator\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const FormImagePicker = React.forwardRef<any, FormImagePickerProps>(\n (\n {\n control,\n name,\n rules,\n fieldErrors,\n fieldRequired,\n label,\n info,\n decoratorClassname,\n ...fieldProps\n },\n innerRef\n ) => (\n <FormFieldDecorator\n name={name}\n fieldErrors={fieldErrors}\n fieldRequired={fieldRequired}\n label={label}\n info={info}\n decoratorClassname={decoratorClassname}\n >\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={(field) => {\n useEffect(() => {\n if (fieldProps.preselectedImage && !field.value) {\n field.onChange({\n target: { name, value: fieldProps.preselectedImage },\n });\n }\n }, []);\n return (\n <ImagePicker\n {...fieldProps}\n {...field}\n handleChange={(e) => {\n // On react-hook-forms v6, the onChange event wants the value only, not the event object.\n field.onChange(e.target.value);\n fieldProps?.handleChange?.(e);\n }}\n preselectedImage={field.value ?? fieldProps.preselectedImage}\n ref={innerRef}\n />\n );\n }}\n />\n </FormFieldDecorator>\n )\n);\n","import React, { useEffect } from \"react\";\nimport pick from \"lodash/pick\";\nimport {\n type Control,\n type FieldValues,\n useForm,\n type UseFormMethods as UseFormReturn,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport { PrimaryButton } from \"../ButtonV2/PrimaryButton\";\nimport { InputProps } from \"../Input/Input\";\nimport { RadioGroupProps } from \"../RadioGroup/RadioGroupV2\";\nimport { SelectProps } from \"../Select/Select\";\nimport { ImagePickerProps } from \"../ImagePicker/ImagePicker\";\nimport { FlexRow } from \"../Container/FlexRow\";\n\nimport { FormInput } from \"./FormInput\";\nimport {\n FormFieldDecoratorProps,\n FormFieldProps,\n FormProps,\n GenericFormProps,\n} from \"./form.types\";\nimport { isRequired } from \"./form.transformer\";\nimport { FormRadioGroup } from \"./FormRadioGroup\";\nimport { FormSelect } from \"./FormSelect\";\nimport { FormImagePicker } from \"./FormImagePicker\";\n\n/**\n * Create a straight forward Form, which takes away the 'overhead' of react-hook-form.\n *\n * You will probably don't want to use this component for now, given that the button is hardcoded.\n * This is an example for the Form for now, though it could be improved to enforce further unification.\n *\n * TODO: make the buttons configurable.\n */\nexport function GenericForm<TFieldValues extends FieldValues>({\n fields,\n onValid,\n onError,\n defaultValues,\n}: GenericFormProps<TFieldValues>): JSX.Element {\n const useFormReturn = useForm<TFieldValues>({\n criteriaMode: \"all\",\n defaultValues: defaultValues,\n });\n\n useEffect(() => {\n if (defaultValues) {\n useFormReturn.reset(defaultValues);\n }\n }, [defaultValues]);\n\n const { handleSubmit } = useFormReturn;\n\n return (\n <div className=\"space-y-6\">\n <Form fields={fields} useFormReturn={useFormReturn} />\n <PrimaryButton onClick={handleSubmit(onValid, onError)} text={\"submit\"} />\n </div>\n );\n}\n\n/**\n * Creates a Form based on the fields input.\n *\n * Expects the results of the useForm hook to be injected into the useFormReturn parameter.\n *\n * This allows you to use and modify the useFormReturn before injecting it here.\n */\nexport function Form<TFieldValues extends FieldValues>({\n fields,\n useFormReturn,\n}: FormProps<TFieldValues>): JSX.Element {\n return (\n <div className=\"space-y-6\">\n {fields.map((props) => FormFieldMapper(props, useFormReturn))}\n </div>\n );\n}\n\nfunction FormFieldMapper<TFieldValues extends FieldValues>(\n formFieldProps: FormFieldProps<TFieldValues>,\n useFormReturn: UseFormReturn<TFieldValues>\n): JSX.Element {\n const { type, name, options, fieldProps = {} } = formFieldProps;\n const decoratorProps: FormFieldDecoratorProps = pick(formFieldProps, [\n \"label\",\n \"info\",\n \"decoratorClassname\",\n ]);\n const {\n control,\n formState: { errors },\n } = useFormReturn;\n\n switch (type) {\n case \"row\":\n return (\n <FlexRow key={formFieldProps.key}>\n {formFieldProps.fields.map((field) =>\n FormFieldMapper(\n {\n decoratorClassname: \"flex-auto\",\n ...field,\n },\n useFormReturn\n )\n )}\n </FlexRow>\n );\n case \"text\":\n case \"number\":\n case \"email\":\n case \"password\":\n return (\n <FormInput\n key={name}\n name={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n {...(fieldProps as InputProps)}\n control={control as Control}\n rules={options}\n type={type}\n />\n );\n case \"select\":\n return (\n <FormSelect\n key={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n {...(fieldProps as SelectProps)}\n control={control as Control}\n rules={options}\n name={name}\n />\n );\n case \"imagePicker\":\n return (\n <FormImagePicker\n key={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n {...(fieldProps as ImagePickerProps)}\n control={control as Control}\n rules={options}\n name={name}\n />\n );\n case \"radioGroup\": {\n return (\n <FormRadioGroup\n key={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n {...(fieldProps as RadioGroupProps)}\n name={name}\n rules={options}\n control={control}\n />\n );\n }\n default:\n return <></>;\n }\n}\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const AlertsIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 19.5C14 20.163 13.7893 20.7989 13.4142 21.2678C13.0391 21.7366 12.5304 22 12 22C11.4696 22 10.9609 21.7366 10.5858 21.2678C10.2107 20.7989 10 20.163 10 19.5L14 19.5Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10 4C10 2.89543 10.8954 2 12 2C13.1046 2 14 2.89543 14 4V5H10V4Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M5 11C5 7.13401 8.13401 4 12 4C15.866 4 19 7.13401 19 11V17H5V11Z\"\n fill=\"currentColor\"\n />\n <rect\n x=\"3\"\n y=\"15.5\"\n width=\"18\"\n height=\"2.5\"\n rx=\"1.25\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const BellIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 19.5C14 20.163 13.7893 20.7989 13.4142 21.2678C13.0391 21.7366 12.5304 22 12 22C11.4696 22 10.9609 21.7366 10.5858 21.2678C10.2107 20.7989 10 20.163 10 19.5L14 19.5Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10 4C10 2.89543 10.8954 2 12 2C13.1046 2 14 2.89543 14 4V5H10V4Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M5 11C5 7.13401 8.13401 4 12 4C15.866 4 19 7.13401 19 11V17H5V11Z\"\n fill=\"currentColor\"\n />\n <rect\n x=\"3\"\n y=\"15.5\"\n width=\"18\"\n height=\"2.5\"\n rx=\"1.25\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChartLineColoredIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5 20C4.45 20 3.97933 19.8043 3.588 19.413C3.196 19.021 3 18.55 3 18C3 17.45 3.196 16.979 3.588 16.587C3.97933 16.1957 4.45 16 5 16H5.263C5.33767 16 5.41667 16.0167 5.5 16.05L10.05 11.5C10.0167 11.4167 10 11.3373 10 11.262V11C10 10.45 10.196 9.979 10.588 9.587C10.9793 9.19567 11.45 9 12 9C12.55 9 13.021 9.19567 13.413 9.587C13.8043 9.979 14 10.45 14 11C14 11.0333 13.9833 11.2 13.95 11.5L16.5 14.05C16.5833 14.0167 16.6627 14 16.738 14H17.262C17.3373 14 17.4167 14.0167 17.5 14.05L21.05 10.5C21.0167 10.4167 21 10.3373 21 10.262V10C21 9.45 21.1957 8.97933 21.587 8.588C21.979 8.196 22.45 8 23 8C23.55 8 24.021 8.196 24.413 8.588C24.8043 8.97933 25 9.45 25 10C25 10.55 24.8043 11.0207 24.413 11.412C24.021 11.804 23.55 12 23 12H22.738C22.6627 12 22.5833 11.9833 22.5 11.95L18.95 15.5C18.9833 15.5833 19 15.6627 19 15.738V16C19 16.55 18.8043 17.0207 18.413 17.412C18.021 17.804 17.55 18 17 18C16.45 18 15.9793 17.804 15.588 17.412C15.196 17.0207 15 16.55 15 16V15.738C15 15.6627 15.0167 15.5833 15.05 15.5L12.5 12.95C12.4167 12.9833 12.3373 13 12.262 13H12C11.9667 13 11.8 12.9833 11.5 12.95L6.95 17.5C6.98333 17.5833 7 17.6627 7 17.738V18C7 18.55 6.804 19.021 6.412 19.413C6.02067 19.8043 5.55 20 5 20Z\"\n fill=\"#FF0099\"\n />\n <circle cx=\"12\" cy=\"11\" r=\"2\" fill=\"#FF82AB\" />\n <circle cx=\"5\" cy=\"18\" r=\"2\" fill=\"#FF82AB\" />\n <circle cx=\"17\" cy=\"16\" r=\"2\" fill=\"#FF82AB\" />\n <circle cx=\"23\" cy=\"10\" r=\"2\" fill=\"#FF82AB\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChatBoxIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n width=\"20\"\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n height=\"19\"\n viewBox=\"0 0 20 19\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18 0H2C0.9 0 0 0.9 0 2V17.59C0 18.48 1.08 18.93 1.71 18.3L4 16H18C19.1 16 20 15.1 20 14V2C20 0.9 19.1 0 18 0ZM11.57 9.57L10.45 12.01C10.27 12.4 9.72 12.4 9.54 12.01L8.42 9.57L5.98 8.45C5.59 8.27 5.59 7.72 5.98 7.54L8.42 6.42L9.54 3.98C9.72 3.59 10.27 3.59 10.45 3.98L11.57 6.42L14.01 7.54C14.4 7.72 14.4 8.27 14.01 8.45L11.57 9.57Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChevronDoubleIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"8\"\n height=\"14\"\n viewBox=\"0 0 8 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 0C4.26522 5.96046e-08 4.51957 0.105357 4.70711 0.292893L7.70711 3.29289C8.09763 3.68342 8.09763 4.31658 7.70711 4.70711C7.31658 5.09763 6.68342 5.09763 6.29289 4.70711L4 2.41421L1.70711 4.70711C1.31658 5.09763 0.683417 5.09763 0.292893 4.70711C-0.0976311 4.31658 -0.097631 3.68342 0.292893 3.29289L3.29289 0.292893C3.48043 0.105357 3.73478 0 4 0ZM0.292893 9.29289C0.683417 8.90237 1.31658 8.90237 1.70711 9.29289L4 11.5858L6.29289 9.29289C6.68342 8.90237 7.31658 8.90237 7.70711 9.29289C8.09763 9.68342 8.09763 10.3166 7.70711 10.7071L4.70711 13.7071C4.31658 14.0976 3.68342 14.0976 3.29289 13.7071L0.292893 10.7071C-0.0976311 10.3166 -0.0976311 9.68342 0.292893 9.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const DownArrowIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"nonzero\"\n d=\"M12.762 6.57l-.48-.382A.944.944 0 0 0 11.696 6a.9.9 0 0 0-.578.188L8 8.663 4.88 6.188A.9.9 0 0 0 4.304 6a.944.944 0 0 0-.584.188l-.475.382C3.08 6.7 3 6.854 3 7.034c0 .183.081.336.244.458l4.178 3.315A.87.87 0 0 0 8 11a.91.91 0 0 0 .584-.193l4.178-3.315A.567.567 0 0 0 13 7.034c0-.177-.08-.331-.238-.464z\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nexport const EmptyStateDashboardIcon = (): JSX.Element => {\n return (\n <svg\n width=\"450\"\n height=\"300\"\n viewBox=\"0 0 450 300\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M450 291C450 264.079 444.18 237.422 432.873 212.55C421.566 187.678 404.992 165.079 384.099 146.043C363.206 127.007 338.402 111.907 311.104 101.605C283.806 91.3025 254.547 86 225 86C195.453 86 166.194 91.3025 138.896 101.605C111.598 111.907 86.7941 127.007 65.901 146.043C45.0078 165.079 28.4344 187.678 17.1271 212.55C5.81979 237.422 -2.58312e-06 264.079 0 291L225 291H450Z\"\n fill=\"#82D6F8\"\n />\n <path\n d=\"M95 73.0081C95 65.8239 100.824 60 108.008 60H342.154C349.338 60 355.162 65.8239 355.162 73.0081V223.252C355.162 230.436 349.338 236.26 342.154 236.26H108.008C100.824 236.26 95 230.436 95 223.252V73.0081Z\"\n fill=\"#1F2937\"\n />\n <path\n d=\"M167.846 70.4062H340.756C342.965 70.4062 344.756 72.1971 344.756 74.4062V221.853C344.756 224.062 342.965 225.853 340.756 225.853H167.846V70.4062Z\"\n fill=\"#F9FAFB\"\n />\n <path\n d=\"M173.049 99.772C173.049 97.5628 174.84 95.772 177.049 95.772H249.699C251.908 95.772 253.699 97.5628 253.699 99.772V151.609C253.699 153.818 251.908 155.609 249.699 155.609H177.049C174.84 155.609 173.049 153.818 173.049 151.609V99.772Z\"\n fill=\"white\"\n />\n <path\n d=\"M226.988 139.305C227.242 139.559 227.243 139.972 226.981 140.217C224.8 142.257 222.178 143.772 219.315 144.64C216.244 145.572 212.991 145.731 209.844 145.105C206.697 144.479 203.753 143.087 201.272 141.051C198.792 139.016 196.852 136.4 195.624 133.435C194.396 130.47 193.918 127.249 194.233 124.056C194.547 120.862 195.644 117.796 197.427 115.128C199.21 112.46 201.623 110.272 204.453 108.76C207.091 107.35 210.016 106.566 213.001 106.467C213.36 106.455 213.651 106.747 213.651 107.106V125.699C213.651 125.871 213.719 126.037 213.841 126.159L226.988 139.305Z\"\n fill=\"#FF83B4\"\n />\n <path\n d=\"M233.813 124.667C234.172 124.667 234.465 124.376 234.453 124.017C234.288 119.078 232.254 114.376 228.748 110.87C225.243 107.364 220.541 105.33 215.602 105.166C215.243 105.154 214.951 105.446 214.951 105.805L214.951 124.017C214.951 124.376 215.242 124.667 215.602 124.667H233.813Z\"\n fill=\"#52C6F4\"\n />\n <path\n d=\"M228.937 139.306C229.191 139.56 229.603 139.56 229.849 139.298C231.448 137.588 232.729 135.602 233.626 133.435C234.524 131.269 235.023 128.959 235.101 126.619C235.113 126.26 234.82 125.968 234.461 125.968H217.169C216.59 125.968 216.3 126.669 216.71 127.079L228.937 139.306Z\"\n fill=\"#6ABFA5\"\n />\n <path\n d=\"M258.902 99.772C258.902 97.5628 260.693 95.772 262.902 95.772H335.553C337.762 95.772 339.553 97.5628 339.553 99.772V151.609C339.553 153.818 337.762 155.609 335.553 155.609H262.902C260.693 155.609 258.902 153.818 258.902 151.609V99.772Z\"\n fill=\"white\"\n />\n <path\n d=\"M278.414 126.991C278.414 125.554 279.579 124.39 281.016 124.39H286.219C287.656 124.39 288.821 125.554 288.821 126.991V142.601C288.821 144.038 287.656 145.203 286.219 145.203H281.016C279.579 145.203 278.414 144.038 278.414 142.601V126.991Z\"\n fill=\"#52C6F4\"\n />\n <path\n d=\"M294.024 110.731C294.024 109.294 295.189 108.129 296.625 108.129H301.829C303.266 108.129 304.43 109.294 304.43 110.731V142.601C304.43 144.038 303.266 145.203 301.829 145.203H296.625C295.189 145.203 294.024 144.038 294.024 142.601V110.731Z\"\n fill=\"#52C6F4\"\n />\n <path\n d=\"M309.634 119.837C309.634 118.4 310.798 117.235 312.235 117.235H317.438C318.875 117.235 320.04 118.4 320.04 119.837V142.601C320.04 144.038 318.875 145.203 317.438 145.203H312.235C310.798 145.203 309.634 144.038 309.634 142.601V119.837Z\"\n fill=\"#6ABFA5\"\n />\n <path\n d=\"M258.902 164.812C258.902 162.603 260.693 160.812 262.902 160.812H335.553C337.762 160.812 339.553 162.603 339.553 164.813V216.65C339.553 218.859 337.762 220.65 335.553 220.65H262.902C260.693 220.65 258.902 218.859 258.902 216.65V164.812Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M280.096 191.874C280.096 191.874 271.487 183.28 280.774 174.655C280.774 174.655 284.175 171.052 291.053 172.041C294.952 172.603 296.482 174.453 299.075 178.366C299.075 178.366 302.291 172.16 310.8 172.137C318.05 172.118 323.604 180.223 321.565 186.881C321.565 186.881 320.884 188.957 318.05 191.874L299.122 210.243L280.096 191.874Z\"\n fill=\"#6ABFA5\"\n />\n <path\n d=\"M173.049 164.812C173.049 162.603 174.84 160.812 177.049 160.812H249.699C251.908 160.812 253.699 162.603 253.699 164.813V216.65C253.699 218.859 251.908 220.65 249.699 220.65H177.049C174.84 220.65 173.049 218.859 173.049 216.65V164.812Z\"\n fill=\"white\"\n />\n <rect\n x=\"173.049\"\n y=\"178.374\"\n width=\"80.6503\"\n height=\"1.30081\"\n fill=\"#F4F4F4\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M228.738 169.616C229.132 169.54 229.539 169.651 229.84 169.915L245.45 183.573C245.991 184.046 246.046 184.868 245.573 185.409C245.1 185.949 244.278 186.004 243.737 185.531L229.383 172.972L214.533 202.054C214.362 202.388 214.057 202.632 213.694 202.724C213.331 202.816 212.946 202.747 212.637 202.535L197.149 191.886L181.676 185.762C181.008 185.497 180.681 184.741 180.945 184.073C181.21 183.405 181.965 183.078 182.633 183.343L198.243 189.521C198.334 189.557 198.421 189.604 198.501 189.659L212.89 199.551L227.825 170.302C228.008 169.945 228.345 169.692 228.738 169.616Z\"\n fill=\"#52C6F4\"\n />\n <circle cx=\"182.805\" cy=\"184.878\" r=\"2.60162\" fill=\"#3FABD6\" />\n <circle cx=\"197.764\" cy=\"190.731\" r=\"2.60162\" fill=\"#3FABD6\" />\n <circle cx=\"213.373\" cy=\"201.137\" r=\"2.60162\" fill=\"#3FABD6\" />\n <circle cx=\"229.635\" cy=\"171.219\" r=\"3.90244\" fill=\"#6ABFA5\" />\n <circle cx=\"245.244\" cy=\"184.878\" r=\"2.60162\" fill=\"#3FABD6\" />\n <path\n d=\"M173.049 80.2603C173.049 78.0511 174.84 76.2603 177.049 76.2603H335.553C337.762 76.2603 339.553 78.0511 339.553 80.2603V86.5692C339.553 88.7783 337.762 90.5692 335.553 90.5692H177.049C174.84 90.5692 173.049 88.7783 173.049 86.5692V80.2603Z\"\n fill=\"white\"\n />\n <rect\n x=\"178.252\"\n y=\"81.4634\"\n width=\"26.0162\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"282.316\"\n y=\"81.4634\"\n width=\"52.0325\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"209.471\"\n y=\"81.4634\"\n width=\"67.6422\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#9CA3AF\"\n />\n <path\n d=\"M160.041 289.594C160.041 283.846 164.7 279.187 170.448 279.187H279.716C285.463 279.187 290.122 283.846 290.122 289.594C290.122 295.341 285.463 300 279.716 300H170.448C164.7 300 160.041 295.341 160.041 289.594Z\"\n fill=\"#1F2937\"\n />\n <path\n d=\"M203.617 236.26H246.544L251.747 279.187H198.414L203.617 236.26Z\"\n fill=\"#4B5563\"\n />\n <path\n d=\"M105.406 74.4062C105.406 72.1971 107.197 70.4062 109.406 70.4062H167.845V225.853H109.406C107.197 225.853 105.406 224.062 105.406 221.853V74.4062Z\"\n fill=\"#F3F4F6\"\n />\n <rect\n x=\"108.658\"\n y=\"73.6587\"\n width=\"55.9349\"\n height=\"15.6097\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"76.2607\"\n width=\"37.7235\"\n height=\"5.20325\"\n rx=\"2.60162\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"82.7642\"\n width=\"26.0162\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"81.464\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"94.4712\"\n width=\"55.9349\"\n height=\"15.6097\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"97.0732\"\n width=\"33.8211\"\n height=\"5.20325\"\n rx=\"2.60162\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"103.577\"\n width=\"35.7723\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"102.276\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"115.285\"\n width=\"55.9349\"\n height=\"15.6097\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"117.887\"\n width=\"37.7235\"\n height=\"5.20325\"\n rx=\"2.60163\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"124.391\"\n width=\"26.0162\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"123.09\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"136.098\"\n width=\"55.9349\"\n height=\"15.6097\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"138.7\"\n width=\"33.8211\"\n height=\"5.20325\"\n rx=\"2.60163\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"145.203\"\n width=\"31.8699\"\n height=\"3.90243\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"143.903\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"156.91\"\n width=\"55.9349\"\n height=\"15.6098\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"159.512\"\n width=\"37.7235\"\n height=\"5.20325\"\n rx=\"2.60163\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"166.016\"\n width=\"26.0162\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"164.715\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"177.723\"\n width=\"55.9349\"\n height=\"15.6097\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"180.325\"\n width=\"31.8699\"\n height=\"5.20325\"\n rx=\"2.60163\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"186.829\"\n width=\"31.8699\"\n height=\"3.90243\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"185.528\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"198.537\"\n width=\"55.9349\"\n height=\"15.6098\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"201.138\"\n width=\"37.7235\"\n height=\"5.20324\"\n rx=\"2.60162\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"207.642\"\n width=\"26.0162\"\n height=\"3.90243\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"206.341\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <path\n d=\"M204.538 57.2204C206.044 55.1505 208.448 53.9258 211.008 53.9258H239.809C242.368 53.9258 244.773 55.1505 246.278 57.2204L248.979 60.9332H201.838L204.538 57.2204Z\"\n fill=\"#374151\"\n />\n <circle cx=\"225.408\" cy=\"52.6519\" r=\"14.6519\" fill=\"#374151\" />\n <circle cx=\"225.408\" cy=\"52.6521\" r=\"8.28148\" fill=\"#1F2937\" />\n <circle cx=\"225.409\" cy=\"52.6518\" r=\"5.73333\" fill=\"#86DDFF\" />\n <circle\n cx=\"223.497\"\n cy=\"50.1035\"\n r=\"1.91111\"\n fill=\"white\"\n fillOpacity=\"0.5\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ExclamationMarkIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 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 13C11.45 13 11 12.55 11 12V8C11 7.45 11.45 7 12 7C12.55 7 13 7.45 13 8V12C13 12.55 12.55 13 12 13ZM13 17H11V15H13V17Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const EyeIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"22\"\n height=\"15\"\n viewBox=\"0 0 22 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11 0C6 0 1.73 3.11 0 7.5C1.73 11.89 6 15 11 15C16 15 20.27 11.89 22 7.5C20.27 3.11 16 0 11 0ZM11 12.5C8.24 12.5 6 10.26 6 7.5C6 4.74 8.24 2.5 11 2.5C13.76 2.5 16 4.74 16 7.5C16 10.26 13.76 12.5 11 12.5ZM11 4.5C9.34 4.5 8 5.84 8 7.5C8 9.16 9.34 10.5 11 10.5C12.66 10.5 14 9.16 14 7.5C14 5.84 12.66 4.5 11 4.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const GearIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M17.5002 10C17.5002 9.77 17.4902 9.55 17.4702 9.32L19.3302 7.91C19.7302 7.61 19.8402 7.05 19.5902 6.61L17.7202 3.38C17.4702 2.94 16.9302 2.76 16.4702 2.96L14.3202 3.87C13.9502 3.61 13.5602 3.38 13.1502 3.19L12.8602 0.88C12.8002 0.38 12.3702 0 11.8702 0H8.14015C7.63015 0 7.20015 0.38 7.14015 0.88L6.85015 3.19C6.44015 3.38 6.05015 3.61 5.68015 3.87L3.53015 2.96C3.07015 2.76 2.53015 2.94 2.28015 3.38L0.410153 6.62C0.160153 7.06 0.270153 7.61 0.670153 7.92L2.53015 9.33C2.51015 9.55 2.50015 9.77 2.50015 10C2.50015 10.23 2.51015 10.45 2.53015 10.68L0.670153 12.09C0.270153 12.39 0.160153 12.95 0.410153 13.39L2.28015 16.62C2.53015 17.06 3.07015 17.24 3.53015 17.04L5.68015 16.13C6.05015 16.39 6.44015 16.62 6.85015 16.81L7.14015 19.12C7.20015 19.62 7.63015 20 8.13015 20H11.8602C12.3602 20 12.7902 19.62 12.8502 19.12L13.1402 16.81C13.5502 16.62 13.9402 16.39 14.3102 16.13L16.4602 17.04C16.9202 17.24 17.4602 17.06 17.7102 16.62L19.5802 13.39C19.8302 12.95 19.7202 12.4 19.3202 12.09L17.4602 10.68C17.4902 10.45 17.5002 10.23 17.5002 10ZM10.0402 13.5C8.11015 13.5 6.54015 11.93 6.54015 10C6.54015 8.07 8.11015 6.5 10.0402 6.5C11.9702 6.5 13.5402 8.07 13.5402 10C13.5402 11.93 11.9702 13.5 10.0402 13.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const GearColoredIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.1417 2.43667C13.5658 1.85445 14.4342 1.85444 14.8583 2.43666L16.9824 5.35293C17.2169 5.67494 17.612 5.83857 18.0055 5.77673L21.5696 5.2166C22.2812 5.10477 22.8952 5.71882 22.7834 6.43038L22.2233 9.99448C22.1614 10.388 22.3251 10.7831 22.6471 11.0176L25.5633 13.1417C26.1456 13.5658 26.1456 14.4342 25.5633 14.8583L22.6471 16.9824C22.3251 17.2169 22.1614 17.612 22.2233 18.0055L22.7834 21.5696C22.8952 22.2812 22.2812 22.8952 21.5696 22.7834L18.0055 22.2233C17.612 22.1614 17.2169 22.3251 16.9824 22.6471L14.8583 25.5633C14.4342 26.1456 13.5658 26.1456 13.1417 25.5633L11.0176 22.6471C10.7831 22.3251 10.388 22.1614 9.99448 22.2233L6.43038 22.7834C5.71882 22.8952 5.10477 22.2812 5.2166 21.5696L5.77673 18.0055C5.83857 17.612 5.67494 17.2169 5.35294 16.9824L2.43667 14.8583C1.85445 14.4342 1.85444 13.5658 2.43666 13.1417L5.35293 11.0176C5.67494 10.7831 5.83857 10.388 5.77673 9.99448L5.2166 6.43038C5.10477 5.71882 5.71882 5.10477 6.43038 5.2166L9.99448 5.77673C10.388 5.83857 10.7831 5.67494 11.0176 5.35294L13.1417 2.43667Z\"\n fill=\"#6670A5\"\n />\n <circle cx=\"14\" cy=\"14\" r=\"4\" fill=\"#383B6D\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const GroupIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 12.75C13.63 12.75 15.07 13.14 16.24 13.65C17.32 14.13 18 15.21 18 16.38V17C18 17.55 17.55 18 17 18H7C6.45 18 6 17.55 6 17V16.39C6 15.21 6.68 14.13 7.76 13.66C8.93 13.14 10.37 12.75 12 12.75ZM4 13C5.1 13 6 12.1 6 11C6 9.9 5.1 9 4 9C2.9 9 2 9.9 2 11C2 12.1 2.9 13 4 13ZM5.13 14.1C4.76 14.04 4.39 14 4 14C3.01 14 2.07 14.21 1.22 14.58C0.48 14.9 0 15.62 0 16.43V17C0 17.55 0.45 18 1 18H4.5V16.39C4.5 15.56 4.73 14.78 5.13 14.1ZM20 13C21.1 13 22 12.1 22 11C22 9.9 21.1 9 20 9C18.9 9 18 9.9 18 11C18 12.1 18.9 13 20 13ZM24 16.43C24 15.62 23.52 14.9 22.78 14.58C21.93 14.21 20.99 14 20 14C19.61 14 19.24 14.04 18.87 14.1C19.27 14.78 19.5 15.56 19.5 16.39V18H23C23.55 18 24 17.55 24 17V16.43ZM12 6C13.66 6 15 7.34 15 9C15 10.66 13.66 12 12 12C10.34 12 9 10.66 9 9C9 7.34 10.34 6 12 6Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const GroupColoredIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4 22C3.71667 22 3.47933 21.904 3.288 21.712C3.096 21.5207 3 21.2833 3 21V19.2C3 18.6333 3.146 18.1123 3.438 17.637C3.72933 17.1623 4.11667 16.8 4.6 16.55C5.63333 16.0333 6.68333 15.6457 7.75 15.387C8.81667 15.129 9.9 15 11 15C12.1 15 13.1833 15.129 14.25 15.387C15.3167 15.6457 16.3667 16.0333 17.4 16.55C17.8833 16.8 18.2707 17.1623 18.562 17.637C18.854 18.1123 19 18.6333 19 19.2V21C19 21.2833 18.904 21.5207 18.712 21.712C18.5207 21.904 18.2833 22 18 22H4ZM11 14C9.9 14 8.95833 13.6083 8.175 12.825C7.39167 12.0417 7 11.1 7 10C7 8.9 7.39167 7.95833 8.175 7.175C8.95833 6.39167 9.9 6 11 6C12.1 6 13.0417 6.39167 13.825 7.175C14.6083 7.95833 15 8.9 15 10C15 11.1 14.6083 12.0417 13.825 12.825C13.0417 13.6083 12.1 14 11 14Z\"\n fill=\"#6ABFA5\"\n />\n <path\n d=\"M20.5246 22C20.6746 21.8833 20.7913 21.7373 20.8746 21.562C20.9579 21.3873 20.9996 21.1917 20.9996 20.975V19C20.9996 18.2667 20.7956 17.5623 20.3876 16.887C19.9789 16.2123 19.3996 15.6333 18.6496 15.15C19.4996 15.25 20.2996 15.4207 21.0496 15.662C21.7996 15.904 22.4996 16.2 23.1496 16.55C23.7496 16.8833 24.2079 17.254 24.5246 17.662C24.8413 18.0707 24.9996 18.5167 24.9996 19V21C24.9996 21.2833 24.9036 21.5207 24.7116 21.712C24.5203 21.904 24.2829 22 23.9996 22H20.5246ZM20.9996 10C20.9996 11.1 20.6079 12.0417 19.8246 12.825C19.0413 13.6083 18.0996 14 16.9996 14C16.8163 14 16.5829 13.9793 16.2996 13.938C16.0163 13.896 15.7829 13.85 15.5996 13.8C16.0496 13.2667 16.3953 12.675 16.6366 12.025C16.8786 11.375 16.9996 10.7 16.9996 10C16.9996 9.3 16.8786 8.625 16.6366 7.975C16.3953 7.325 16.0496 6.73333 15.5996 6.2C15.8329 6.11667 16.0663 6.06233 16.2996 6.037C16.5329 6.01233 16.7663 6 16.9996 6C18.0996 6 19.0413 6.39167 19.8246 7.175C20.6079 7.95833 20.9996 8.9 20.9996 10Z\"\n fill=\"#559783\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const HeartIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.3502 20.1307C12.5902 20.8207 11.4202 20.8207 10.6602 20.1207L10.5502 20.0207C5.30015 15.2707 1.87015 12.1607 2.00015 8.28065C2.06015 6.58065 2.93015 4.95065 4.34015 3.99065C6.98015 2.19065 10.2402 3.03065 12.0002 5.09065C13.7602 3.03065 17.0202 2.18065 19.6602 3.99065C21.0702 4.95065 21.9402 6.58065 22.0002 8.28065C22.1402 12.1607 18.7002 15.2707 13.4502 20.0407L13.3502 20.1307Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const LinkIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.8021 7H7.33331C6.22874 7 5.33331 7.89543 5.33331 9V17.5C5.33331 18.6046 6.22874 19.5 7.33331 19.5H15.8333C16.9379 19.5 17.8333 18.6046 17.8333 17.5V14.0312\"\n stroke=\"#0074DD\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M9.5 15.3334L18.6667 6.16675M18.6667 6.16675H14.5M18.6667 6.16675V10.3334\"\n stroke=\"#0074DD\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const LightBulbIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 22C13.1 22 14 21.1 14 20H10C10 21.1 10.9 22 12 22Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M9 19H15C15.55 19 16 18.55 16 18C16 17.45 15.55 17 15 17H9C8.45 17 8 17.45 8 18C8 18.55 8.45 19 9 19Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12 2C7.86 2 4.5 5.36 4.5 9.5C4.5 13.32 7.16 15.36 8.27 16H15.73C16.84 15.36 19.5 13.32 19.5 9.5C19.5 5.36 16.14 2 12 2Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const LockIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18 8H17V6C17 3.24 14.76 1 12 1C9.24 1 7 3.24 7 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8ZM12 17C10.9 17 10 16.1 10 15C10 13.9 10.9 13 12 13C13.1 13 14 13.9 14 15C14 16.1 13.1 17 12 17ZM9 8V6C9 4.34 10.34 3 12 3C13.66 3 15 4.34 15 6V8H9Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const MessagesIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M24 3C25.1046 3 26 3.89543 26 5L26 20C26 21.1046 25.1046 22 24 22L4 22C2.89543 22 2 21.1046 2 20L2 5C2 3.89543 2.89543 3 4 3L24 3Z\"\n fill=\"#0074DD\"\n />\n <path\n d=\"M12.5858 10.4142C13.3668 9.63316 14.6332 9.63317 15.4142 10.4142L21.5858 16.5858C22.3668 17.3668 22.3668 18.6332 21.5858 19.4142L15.4142 25.5858C14.6332 26.3668 13.3668 26.3668 12.5858 25.5858L6.41421 19.4142C5.63316 18.6332 5.63317 17.3668 6.41421 16.5858L12.5858 10.4142Z\"\n fill=\"#0074DD\"\n />\n <rect x=\"5\" y=\"6\" width=\"18\" height=\"2\" rx=\"1\" fill=\"white\" />\n <rect x=\"5\" y=\"11\" width=\"18\" height=\"2\" rx=\"1\" fill=\"white\" />\n <rect x=\"7\" y=\"16\" width=\"14\" height=\"2\" rx=\"1\" fill=\"white\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const NotesIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M19 3H4.99C3.89 3 3 3.9 3 5L3.01 19C3.01 20.1 3.9 21 5 21H15L21 15V5C21 3.9 20.1 3 19 3ZM8 8H16C16.55 8 17 8.45 17 9C17 9.55 16.55 10 16 10H8C7.45 10 7 9.55 7 9C7 8.45 7.45 8 8 8ZM11 14H8C7.45 14 7 13.55 7 13C7 12.45 7.45 12 8 12H11C11.55 12 12 12.45 12 13C12 13.55 11.55 14 11 14ZM14 19.5V15C14 14.45 14.45 14 15 14H19.5L14 19.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const PinIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"14\"\n height=\"20\"\n viewBox=\"0 0 14 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 10.87C14 10.4 13.66 10.02 13.2 9.89C11.93 9.54 11 8.38 11 7V2H12C12.55 2 13 1.55 13 1C13 0.45 12.55 0 12 0L2 0C1.45 0 1 0.45 1 1C1 1.55 1.45 2 2 2H3V7C3 8.38 2.07 9.54 0.8 9.89C0.34 10.02 0 10.4 0 10.87L0 11C0 11.55 0.45 12 1 12H5.98L6 19C6 19.55 6.45 20 7 20C7.55 20 8 19.55 8 19L7.98 12H13C13.55 12 14 11.55 14 11V10.87Z\"\n fill=\"#64748b\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SmallCircleIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"6\" fill=\"currentColor\" />\n <circle cx=\"14.5\" cy=\"9.5\" r=\"1.5\" fill=\"white\" fillOpacity=\"0.1\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SmallDiamondIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.92984 13.4142C4.14879 12.6332 4.14879 11.3668 4.92984 10.5858L10.5867 4.92893C11.3677 4.14788 12.6341 4.14788 13.4151 4.92893L19.072 10.5858C19.853 11.3668 19.853 12.6332 19.072 13.4142L13.4151 19.0711C12.6341 19.8521 11.3677 19.8521 10.5867 19.0711L4.92984 13.4142Z\"\n fill=\"currentColor\"\n />\n <circle\n cx=\"12.0002\"\n cy=\"7.05078\"\n r=\"1.5\"\n transform=\"rotate(-45 12.0002 7.05078)\"\n fill=\"white\"\n fillOpacity=\"0.1\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SmallSquareIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"2\" fill=\"currentColor\" />\n <circle cx=\"15.5\" cy=\"8.5\" r=\"1.5\" fill=\"white\" fillOpacity=\"0.1\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SpaceRocketIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.18977 6.34976C7.14977 8.63976 5.74977 11.9298 5.61977 12.2398L3.35977 11.2698C2.70977 10.9898 2.54977 10.1398 3.04977 9.63976L6.05977 6.62976C6.52977 6.15976 7.20977 5.94976 7.86977 6.07976L9.18977 6.34976ZM10.6798 16.5098C10.9798 16.8098 11.4198 16.8898 11.7998 16.7098C12.9598 16.1698 15.4498 14.8998 17.0598 13.2898C21.6498 8.69976 21.6898 4.95976 21.4198 3.35976C21.3498 2.95976 21.0298 2.63976 20.6298 2.56976C19.0298 2.29976 15.2898 2.33976 10.6998 6.92976C9.08977 8.53976 7.82977 11.0298 7.27977 12.1898C7.09977 12.5698 7.18977 13.0198 7.47977 13.3098L10.6798 16.5098ZM17.6498 14.8098C15.3598 16.8498 12.0698 18.2498 11.7598 18.3798L12.7298 20.6398C13.0098 21.2898 13.8598 21.4498 14.3598 20.9498L17.3698 17.9398C17.8398 17.4698 18.0498 16.7898 17.9198 16.1298L17.6498 14.8098ZM8.93977 17.4098C9.13977 18.4698 8.78977 19.4498 8.11977 20.1198C7.34977 20.8898 4.95977 21.4598 3.40977 21.7598C2.71977 21.8898 2.10977 21.2798 2.23977 20.5898C2.53977 19.0398 3.09977 16.6498 3.87977 15.8798C4.54977 15.2098 5.52977 14.8598 6.58977 15.0598C7.75977 15.2798 8.71977 16.2398 8.93977 17.4098ZM12.9998 8.99976C12.9998 7.89976 13.8998 6.99976 14.9998 6.99976C16.0998 6.99976 16.9998 7.89976 16.9998 8.99976C16.9998 10.0998 16.0998 10.9998 14.9998 10.9998C13.8998 10.9998 12.9998 10.0998 12.9998 8.99976Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const StarIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"19\"\n height=\"18\"\n viewBox=\"0 0 19 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.58663 1.04906C8.93899 0.258571 10.061 0.258571 10.4134 1.04906L12.1659 4.9807C12.3112 5.30673 12.6193 5.53057 12.9743 5.56804L17.2551 6.01985C18.1158 6.11069 18.4625 7.17779 17.8196 7.75718L14.6219 10.6389C14.3568 10.8778 14.2391 11.24 14.3131 11.5892L15.2063 15.8001C15.3858 16.6467 14.4781 17.3062 13.7284 16.8738L9.99962 14.7232C9.69041 14.5448 9.30959 14.5448 9.00038 14.7232L5.27159 16.8738C4.52189 17.3062 3.61416 16.6467 3.79373 15.8001L4.68686 11.5892C4.76093 11.24 4.64325 10.8778 4.37808 10.6389L1.18043 7.75718C0.537518 7.17779 0.88424 6.11069 1.74492 6.01985L6.0257 5.56804C6.38068 5.53057 6.68877 5.30673 6.8341 4.9807L8.58663 1.04906Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const HamburgerIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3 6C3 5.44772 3.44772 5 4 5H20C20.5523 5 21 5.44772 21 6C21 6.55228 20.5523 7 20 7H4C3.44772 7 3 6.55228 3 6Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M3 12C3 11.4477 3.44772 11 4 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H4C3.44772 13 3 12.5523 3 12Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M4 17C3.44772 17 3 17.4477 3 18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18C21 17.4477 20.5523 17 20 17H4Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SearchCancelIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.05086 0.636643C1.66033 0.246119 1.02717 0.246119 0.636643 0.636643C0.246119 1.02717 0.246119 1.66033 0.636643 2.05086L5.5867 7.00092L0.636672 11.9509C0.246148 12.3415 0.246148 12.9746 0.636672 13.3652C1.0272 13.7557 1.66036 13.7557 2.05089 13.3652L7.00091 8.41513L11.9503 13.3646C12.3409 13.7551 12.974 13.7551 13.3646 13.3646C13.7551 12.974 13.7551 12.3409 13.3646 11.9504L8.41513 7.00092L13.3646 2.05145C13.7551 1.66093 13.7551 1.02776 13.3646 0.637237C12.9741 0.246712 12.3409 0.246713 11.9504 0.637237L7.00092 5.5867L2.05086 0.636643Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const InfoIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n width=\"48\"\n height=\"48\"\n viewBox=\"0 0 48 48\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n onClick={props.onClick}\n className={props.className}\n role={props.onClick ? \"button\" : undefined}\n >\n <path\n d=\"M24 4C12.96 4 4 12.96 4 24C4 35.04 12.96 44 24 44C35.04 44 44 35.04 44 24C44 12.96 35.04 4 24 4ZM24 26C22.9 26 22 25.1 22 24V16C22 14.9 22.9 14 24 14C25.1 14 26 14.9 26 16V24C26 25.1 25.1 26 24 26ZM26 34H22V30H26V34Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const StatusColoredIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"6\" y=\"2\" width=\"16\" height=\"24\" rx=\"2\" fill=\"#374151\" />\n <circle cx=\"14\" cy=\"9\" r=\"4\" fill=\"white\" />\n <circle cx=\"14\" cy=\"19\" r=\"4\" fill=\"#E86967\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { Title } from \"../Title/Title\";\nimport { PrimaryButton } from \"../ButtonV2/PrimaryButton\";\nimport { PrimaryButtonProps } from \"../ButtonV2/ButtonProps.type\";\n\nexport type FullPageModalHeaderProps = {\n title: string;\n primaryButtonProps?: PrimaryButtonProps;\n};\n\nexport const FullPageModalHeader: React.FC<FullPageModalHeaderProps> = ({\n primaryButtonProps,\n title,\n}) => {\n return (\n <div className=\"flex flex-row items-center h-19 bg-white px-6 justify-between\">\n <Title text={title} />\n {primaryButtonProps && (\n <PrimaryButton\n data-test-id=\"modal-primary-button\"\n {...primaryButtonProps}\n />\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport { PrimaryButtonProps } from \"../ButtonV2/ButtonProps.type\";\n\nimport { FullPageModalHeader } from \"./FullPageModalHeader\";\n\nexport type FullPageModalProps = {\n children: React.ReactNode;\n isOpen?: boolean;\n title: string;\n dataTestId?: string;\n primaryButtonProps?: PrimaryButtonProps;\n onCloseClick: (\n event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>\n ) => void;\n};\n\nexport const FullPageModal: React.FC<FullPageModalProps> = ({\n children,\n dataTestId,\n isOpen,\n onCloseClick,\n primaryButtonProps,\n title,\n}) => {\n return (\n <ReactModal\n isOpen={isOpen}\n contentLabel={title}\n overlayClassName=\"fixed inset-0 overflow-x-hidden overflow-y-auto z-20\"\n onRequestClose={onCloseClick}\n shouldFocusAfterRender={false}\n className=\"w-full h-full\"\n data={{ \"test-id\": dataTestId ?? \"react-modal\" }}\n >\n <div className=\"flex flex-col w-full h-full bg-slate-100\">\n <FullPageModalHeader\n title={title}\n primaryButtonProps={primaryButtonProps}\n />\n <div className=\"h-full flex flex-row overflow-hidden\">{children}</div>\n </div>\n </ReactModal>\n );\n};\n","import React from \"react\";\n\nimport { Title } from \"../Title/Title\";\n\nexport type CardProps = {\n title: string;\n children: React.ReactNode;\n dataTestId?: string;\n};\n\n/**\n * Card component that centralizes itself inside a container.\n * Specific variant made with w-135 to suffice the use case needed,\n * more variants can be added.\n */\nexport const Card: React.FC<CardProps> = ({ title, children, dataTestId }) => {\n return (\n <div\n data-test-id={dataTestId}\n className=\"flex flex-col p-6 mx-auto bg-white rounded-lg w-135\"\n >\n <Title className=\"mb-6\" type=\"sm\" text={title} />\n {children}\n </div>\n );\n};\n"],"names":["FlexContainer","props","children","alignItems","verticalSpacing","horizontalSpacing","justifyContent","hasPadding","position","type","backgroundColor","React","className","classNames","relative","absolute","static","fixed","sticky","FlexColumn","spacing","rest","FlexRow","allowedTextStyles","sm","base","strong","lg","xl","allowedColors","red","green","amber","white","allowedHoverColors","allowedGroupHoverColors","Text","selectedHoverColor","hoverColor","hoverInGroup","selectedGroupHoverColor","containerProps","title","color","inline","truncate","clampLines","containsDangerousHtml","dangerouslySetInnerHTML","__html","text","defaultProps","CheckIcon","onClick","role","undefined","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","CrossIcon","WarningIcon","TOASTER_TYPE_OPTIONS","SUCCESS","FAILURE","Toaster","message","isVisible","styleOverwrite","isSuccess","isFailure","style","id","shelved","expanded","hidden","getToasterElements","params","timeoutId","progressBarAnimationFrameHandler","toasterElementContainer","document","querySelector","clearTimeout","Error","toasterElementMessage","toasterElementTitle","toasterElementSuccessIcon","toasterElementFailureIcon","toasterCloseButton","toasterProgressBar","animateProgress","animationDuration","progressBarElement","startingTimestamp","previousTimestamp","done","animationTick","animate","animationTimestamp","elapsed","count","window","requestAnimationFrame","defaultDurationInSeconds","showToaster","setTimeout","classList","remove","cancelAnimationFrame","shortcutAndClose","add","removeEventListener","addEventListener","textContent","showIcon","toggle","toast","error","info","ChevronRightIcon","ChevronDownIcon","Title","containerClassName","ContainerElement","AccordionItem","content","isCollapsedByDefault","useReducer","state","isCollapsed","toggleIsCollapsed","Chevron","Accordion","dataTestId","items","map","item","key","DragIcon","ImageIcon","ListItem","icon","subtitle","accessories","tooltipId","onAssetLoadError","roundTop","isSelected","restProps","useState","loadIconError","setLoadIconError","onListItemIconLoadError","console","itemId","onListItemIconLoad","handleItemClick","isDraggable","createElement","src","alt","onLoad","onError","ListItemSkeleton","ListSkeleton","skeletonItems","Array","from","length","_","i","List","headerButton","headerTransparent","onDragEnd","emptyStateMessage","isLoading","listRef","useRef","dragulaRef","hasHeader","useEffect","current","destroy","setupDragging","handleDragEnd","element","draggedItemId","dataset","itemIdsWithOldOrder","toString","itemIdsWithNewOrder","child","filter","oldIndexOfDraggedItemId","indexOf","newIndexOfDraggedItemId","dragulaInstance","dragula","revertOnSpill","on","titleProps","buttonType","buttonProps","ref","SearchIcon","INPUT_TYPES","EMAIL","NUMBER","PASSWORD","TEXT","Input","forwardRef","withSuffix","withPrefix","clearable","isDisabled","name","value","onChange","isError","asFormField","otherProps","hasNoExtraContent","innerValue","setInnerValue","clearField","target","currentTarget","handleChangeEvent","event","isClearIconVisible","transform","size","maxLength","disabled","rounded","block","SearchInput","Spinner","cx","cy","r","stroke","strokeWidth","ButtonV2","innerRef","textColor","textHoverColor","isPending","otherAttributes","handleClick","stopPropagation","buttonClassName","textColorClass","left","top","invisible","SecondaryButton","isSubstring","string","searchTerm","caseSensitive","trueString","JSON","stringify","stringToSearch","toLowerCase","searchTermWithCase","getBase64","file","Promise","resolve","reject","fr","FileReader","onerror","onload","result","split","readAsDataURL","img","imageSrc","NoOpenAlertsImage","SearchNotFoundImage","HappyStarImage","EmptyListMessage","imageName","LoadingIndicator","asModal","asSpinner","spinnerColor","spinnerToRender","spinner","graySpinner","loadingImage","AccordionList","localisations","searchPlaceholder","emptyListText","accordionItems","isSearchEnabled","accordionProps","searchString","setSearchString","filteredAccordionItems","useMemo","accordionItem","filteredListItems","listItems","listItem","filteredListLength","itemCount","Boolean","placeholder","e","TertiaryButton","ModalHeader","onCloseClick","PrimaryButton","ModalFooter","footerLeadingComponent","footerTrailingComponents","secondaryButtonProps","primaryButtonProps","ModalBase","withContentPaddingY","isOpen","ReactModal","setAppElement","data","contentLabel","overlayClassName","onRequestClose","shouldFocusAfterRender","shouldCloseOnOverlayClick","scrollableContent","withExtraMarginTop","Modal","checkImageValidity","image","Image","AVATAR_SIZE_OPTIONS","LARGE","MEDIUM","SMALL","Avatar","defaultImage","initials","hasValidImage","setHasValidImage","mounted","then","res","renderAvatar","propTypes","PropTypes","isRequired","oneOf","Badge","containerClasses","textClasses","badgeCount","AddIcon","DeleteIcon","EditIcon","LeftArrowIcon","RightArrowIcon","ChartIcon","x","y","rx","PrintIcon","iconSrc","close","CloseIcon","hamburger","HamburgerIcon","ChevronRightBlueIcon","ChevronLeftBlueIcon","ChevronRightGreyIcon","ChevronLeftGreyIcon","search","star","StarIcon","check","SearchCancelIcon","ButtonIcon","BUTTON_ROLES","PRIMARY","SECONDARY","SECONDARY_DARK","TERTIARY","QUATERNARY","NEGATIVE","LINK","ICON","Button","propsRole","link","iconName","hasIcon","hasIconProps","dynamicIcon","hasAddIcon","includes","hasEditIcon","hasDeleteIcon","hasPrevIcon","hasNextIcon","hasChartIcon","hasPrintIcon","isIconOnly","setRole","isButtonDisabled","isNonPrimaryNonNegative","navigate","preventDefault","buttonRolesStyling","primary","secondary","secondaryDark","tertiary","quaternary","negative","spinnerClassNames","buttonTextClasses","GliderContainer","Carousel","slides","setIsVisible","Glider","hasDots","hasArrows","skipTrack","scrollLock","rewind","arrows","prev","next","dots","containerElement","slide","index","CenteredHero","buttons","background","imageSize","button","handleOnClick","Checkbox","explanation","isChecked","isIndeterminate","checked","setChecked","indeterminate","setIndeterminate","isFocused","setIsFocused","checkboxRef","hasError","handleChange","handleFocus","handleBlur","onBlur","onFocus","ConfirmationDialogTitle","TextLink","enabled","href","rel","DynamicIcon","NotificationBanner","stretch","centerContent","classes","blue","linkProps","onButtonClick","RadioInner","nameHtmlFor","htmlFor","RadioV2","RadioGroupInner","options","defaultValue","registerProps","option","defaultChecked","RadioGroupV2","ConfirmationDialogChoices","choices","onChoiceChangeCallback","selectedChoice","choicesIntoRadioOptions","choice","description","displaysInfo","level","ConfirmationDialogMessage","messageLine","ConfirmationDialog","find","defaultChoice","setSelectedChoice","handleOnCloseClick","isProcessing","onCancel","onChoiceChange","onConfirmHandler","onConfirm","texts","confirmLabel","cancelLabel","withTitle","Datepicker","handleCloseButtonClick","datepickerRef","setOpen","getDateFormat","showTimeSelect","formatDateWithTime","render","hasCloseButton","closeButtonText","adjustDateOnChange","showMonthDropdown","showYearDropdown","shouldCloseOnSelect","allowSameDay","minDate","maxDate","selected","dateFormat","pickerClassName","getCloseButtonText","Component","object","bool","func","instanceOf","moment","ITEM_QUERY_FIELD_NAMES","ID","HIGHLIGHT_INDEX","keyCodes","ARROW_DOWN","ARROW_UP","ENTER","TAB","SHIFT","ESC","Dropdown","handleClickOutside","rootRef","contains","closeDropdown","handleKeyDown","isDropdownOpen","highlightIndex","keyCode","setSelectedItem","findItem","blur","openDropdown","shiftKey","decreaseHighlightIndexIfPossible","increaseHighlightIndexIfPossible","fieldName","fieldValue","selectedItem","subItems","j","subItem","setState","prevState","findSelectedItem","selectedIndex","querySelectorAll","scrollToHighlightedItem","dropdownListRef","scrollTo","offsetTop","newHighlightIndex","totalItemCount","selectItem","onItemSelect","renderIndividualItem","isItemSelected","itemClassName","textType","checkmark","renderGroupedItems","groupKey","renderItems","wider","addHighlightIndexToItems","initialSelectedItemId","getTotalItemCount","getDerivedStateFromProps","nextProps","componentDidMount","componentWillUnmount","onDropdownClick","chevronDouble","PureComponent","currentIndex","reduce","acc","arrayOf","oneOfType","shape","number","ErrorBlock","InfoBlock","InfoField","clipboard","ClipboardJS","onCopyToClipboard","clearSelection","linkType","label","supportsMultiline","Line","right","array","TableHeader","fieldConfigurations","fieldConfig","headerText","TagSize","TagColorTheme","Tag","colorTheme","Gray","Red","Amber","Green","Blue","small","isTableFieldText","isTableFieldAction","isArray","some","action","TableBodyRowDataCell","emptyFieldContentText","tag","breakAllWord","onlyShowContentOnHovering","TableBodyRow","handleRowClick","tabIndex","TableBody","onRowClick","colSpan","showEmptyView","emptyItemsText","PaginationMenuSmall","handleOnChange","pageNumber","page","parseInt","pageSize","currentPageNumber","pageCount","generateCustomStyles","isIE11","baseStyles","fontWeight","fontSize","padding","opacity","visibility","transition","pointerEvents","container","flexGrow","control","defaultBorderColor","validatedBorderColor","defaultOutline","validatedOutline","outline","borderColor","borderWidth","borderStyle","borderRadius","boxShadow","paddingTop","singleValue","indicatorSeparator","display","menu","zIndex","Select","styles","isMulti","customStyles","mergedStyles","mergeStyles","isOptionsGrouped","o","flatmappedOptions","flatMap","g","onChangeWrapped","val","a","v","valueWrapped","getDataAttributes","dataProps","prop","CustomContainer","commonProps","components","SelectContainer","innerProps","Object","assign","ReactSelect","PAGE_SIZES","PAGE_SIZE_OPTIONS","getPageNumberOptions","push","getSummaryText","localization","resultCount","lowestElement","highestElement","of","PaginationMenuLarge","handleOnPageNumberSelect","handleOnPageSizeSelect","handleOnPrevNextButtonClick","newPage","menuPlacement","previous","PaginationMenu","buildPaginationLarge","TableFooter","paginationMenuProps","Table","emptyRowsText","showHeader","isPristine","setIsPristine","Menu","closeMenu","handleIconClick","openMenu","node","CheckboxListItem","newCheckedValue","handleCheckboxClick","targetId","CheckboxState","CheckboxGroup","hasDividers","UNCHECKED","groupCheckboxState","setGroupCheckboxState","collapsed","setCollapsed","setIsDisabled","enabledItems","INDETERMINATE","CHECKED","handleGroupClick","forEach","handleGroupCollapse","checkedItemsCount","groupTitle","CheckboxList","groups","group","transformToGroups","pinned","isPinned","itemsWithGroup","entries","groupBy","sort","b","itemsWithoutGroup","restGroup","myGroup","CheckboxListModal","initialItems","isLoadingInitialItems","onSave","filterItem","hasSearch","setItems","visibleItems","setVisibleItems","setGroups","setSearch","handleOnItemChange","updatedItems","findIndex","handleOnSaveClick","handleOnSearchChange","searchPlaceHolder","emptyState","TEXT_TYPE_OPTIONS","DEFAULT","STRONG","EMPHASIZED","FINEPRINT","SMALL_DARK","SMALL_FINEPRINT","MICRO","ERROR","handleImplicitSelect","implicitSelected","list","property","newList","selectCheckboxName","implicitSelectedValues","checkbox","identifier","upadteCheckbox","isOn","splice","MultiSelect","checkboxList","radioLabel","validationError","implicitSelect","radioOnDemand","setList","indexSelected","updateCheckbox","handleRadioChange","join","NavLayout","isNavDisabled","patientSidebar","disableScrolling","Divider","darkTheme","defaultTheme","NavMenuFooter","subtext","visible","NavMenuItem","imgOnHover","currentImg","setCurrentImg","handleOnMouseOver","handleOnMouseOut","linkTo","onMouseOver","onMouseOut","handleMenuClick","metaKey","ctrlKey","trackEvent","isExternal","open","location","NavMenuHeader","onClickHandler","NavMenuContent","roleItems","publicItems","authenticationItems","isUserAuthenticated","organizationNameWidgetProps","navMenuHeaderProps","loggedInUserWidgetProps","navMenuFooterProps","login","dark","logout","NavMenu","setIsOpen","handleToggleOpen","Page","breadcrumbs","accessoryPosition","isPolling","navLayoutProps","feedbackBlock","navMenu","mergedPageClasses","containerClassnames","maybeTitle","Function","accessoryClasses","accessoriesContent","childrenOrContentProp","breadcrumbItemShape","isFetching","TITLE_TYPE_OPTIONS","BIG","TINY","BOLD","LegacyTitle","Step","stepNumber","active","barColor","step","Steps","orderedStepTitles","currentStep","renderedSteps","stepTitle","CRUDPage","stepTitles","submitButtonProps","deleteButtonProps","cancelButtonProps","isSubmitting","navMenuComponent","mergedClasses","submitButton","handler","deleteButton","cancelButton","renderHeader","elementType","useWindowDimensions","innerHeight","setHeight","innerWidth","setWidth","handleResize","debounce","PreviewPhone","phoneHeight","phoneWidth","scale","setScale","showPhone","setShowPhone","windowHeight","windowWidth","containerCallbak","useCallback","containerWidth","clientWidth","containerHeight","clientHeight","heightScale","widthScale","phoneMockup","Radio","containerRef","RadioGroup","radioClassName","selectedOption","isVertical","radioOptions","otherOptions","vertical","Section","footer","loadingIndicatorProps","SectionItem","SectionItemWithContent","iconClass","iconClasses","useOutsideClick","callback","SettingsMenuButton","configuration","configFromProps","onConfigurationChange","shiftMenuTo","buttonTitle","iconComponent","menuTitle","innerConfiguration","setInnerConfiguration","showMenu","setShowMenu","menuRef","handleShowMenu","handleOnVibilitySwitchChanged","newConfig","config","itemName","innerConfig","SwitcherItem","default","showBadge","onSelect","calculatedIcon","Switcher","currentSelection","setCurrentSelection","handleItemSelect","showIconOnFailure","setIsError","LazyLoadImage","effect","imgIcon","wrapperClassName","ImageCategory","category","images","highlightedImage","padStart","isTypeCompact","handleImageClick","ImagePickerInner","categories","clearImageIndex","preselectedImage","isUploadButtonVisible","isClearButtonVisible","localisation","placeholderImage","emptyImage","filteredCategories","setFilteredCategories","isImagesPanelOpen","setIsImagesPanelOpen","selectedImage","setSelectedImage","setHighlightedImage","setError","fileInputRef","handleSearchChange","searchQuery","folder","datasetIndex","handleDeleteClick","URL","revokeObjectURL","handleConfirmSelection","handleCloseModal","uploadImage","files","createObjectURL","base64String","imageData","openModalButton","click","accept","selectButton","cancel","modalTitle","categoryImage","ImagePicker","TabbarItem","handleTabClick","Tabbar","tabs","withoutPadding","innerSelectedIndex","setInnerSelectedIndex","handleOnTabSelect","selectedTab","tabItemProps","itemProps","Breadcrumbs","crumbs","breadcrumbItems","Link","to","PageHeader","navigation","TabLinksSelect","url","TabLinks","patientUuid","isCurrent","pathname","getProps","TagGroup","tags","tagSize","RESIZE_TYPES","NONE","BOTH","HORIZONTAL","VERTICAL","Textarea","rows","resizable","onKeyPress","onKeyDown","onCtrlEnter","backgroundImage","TextEditor","onValueChange","formats","toolbarLastGroup","quillRef","quillInstance","tooltipSave","editor","theme","tooltip","save","textbox","call","modules","toolbar","TextEditorV2","locale","EditorState","createEmpty","editorState","setEditorState","htmlToDraft","contentBlocks","entityMap","createWithContent","ContentState","createFromBlockArray","onEditorStateChange","draftToHtml","convertToRaw","getCurrentContent","Editor","showOpenOptionOnHover","defaultTargetOption","TimelineStep","isWideStep","borderClassNames","containerClassNames","Timeline","steps","loadMoreButtonProps","ViewItem","titleAccessory","contentProps","defaultContent","titlePropsMerged","contentPropsMerged","line","textProps","FormFieldErrorMessages","fieldErrors","types","errorKey","errorMessage","FormFieldDecorator","fieldRequired","decoratorClassname","errors","FormInput","rules","fieldProps","Controller","field","FormRadioGroup","FormSelect","selectProps","FormImagePicker","GenericForm","fields","onValid","defaultValues","useFormReturn","useForm","criteriaMode","reset","handleSubmit","Form","FormFieldMapper","formFieldProps","decoratorProps","pick","formState","AlertsIcon","BellIcon","ChartLineColoredIcon","ChatBoxIcon","ChevronDoubleIcon","DownArrowIcon","EmptyStateDashboardIcon","ry","fillOpacity","ExclamationMarkIcon","EyeIcon","GearIcon","GearColoredIcon","GroupIcon","GroupColoredIcon","HeartIcon","LinkIcon","strokeLinecap","strokeLinejoin","LightBulbIcon","LockIcon","MessagesIcon","NotesIcon","PinIcon","SmallCircleIcon","SmallDiamondIcon","SmallSquareIcon","SpaceRocketIcon","InfoIcon","StatusColoredIcon","FullPageModalHeader","FullPageModal","Card"],"mappings":"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"}
1
+ {"version":3,"file":"web-ui.cjs.development.js","sources":["../src/components/Container/FlexContainer.tsx","../src/components/Container/FlexColumn.tsx","../src/components/Container/FlexRow.tsx","../node_modules/style-inject/dist/style-inject.es.js","../src/components/Text/Text.tsx","../src/components/Icons/CheckIcon.tsx","../src/components/Icons/CrossIcon.tsx","../src/components/Icons/WarningIcon.tsx","../src/components/Toaster/Toaster.tsx","../src/components/Toaster/toast-elements-getter.ts","../src/components/Toaster/toast-progress-animator.ts","../src/components/Toaster/toast.ts","../src/components/Icons/ChevronRightIcon.tsx","../src/components/Icons/ChevronDownIcon.tsx","../src/components/Title/Title.tsx","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Icons/DragIcon.tsx","../src/components/Icons/ImageIcon.tsx","../src/components/List/ListItem.tsx","../src/components/List/ListItemSkeleton.tsx","../src/components/List/ListSkeleton.tsx","../src/components/List/List.tsx","../src/components/Icons/SearchIcon.tsx","../src/components/Input/Input.tsx","../src/components/Input/SearchInput.tsx","../src/components/Spinner/Spinner.tsx","../src/components/ButtonV2/ButtonV2.tsx","../src/components/ButtonV2/SecondaryButton.tsx","../src/utils/string.utils.ts","../src/assets/no-open-alerts.svg","../src/assets/search-not-found.svg","../src/assets/happy-star.svg","../src/components/EmptyListMessage/EmptyListMessage.tsx","../src/assets/loading.svg","../src/assets/spinner.svg","../src/assets/spinner-gray.svg","../src/components/LoadingIndicator/LoadingIndicator.tsx","../src/components/AccordionList/AccordionList.tsx","../src/components/ButtonV2/TertiaryButton.tsx","../src/components/Modal/ModalHeader.tsx","../src/components/ButtonV2/PrimaryButton.tsx","../src/components/Modal/ModalFooter.tsx","../src/components/Modal/ModalBase.tsx","../src/components/Modal/Modal.tsx","../src/components/Avatar/Avatar.js","../src/components/Badge/Badge.tsx","../src/components/Icons/AddIcon.tsx","../src/components/Icons/DeleteIcon.tsx","../src/components/Icons/EditIcon.tsx","../src/components/Icons/LeftArrowIcon.tsx","../src/components/Icons/RightArrowIcon.tsx","../src/components/Icons/ChartIcon.tsx","../src/components/Icons/PrintIcon.tsx","../src/assets/close.svg","../src/assets/hamburger.svg","../src/assets/right-arrow-blue.svg","../src/assets/right-arrow-grey.svg","../src/assets/left-arrow-blue.svg","../src/assets/left-arrow-grey.svg","../src/assets/search.svg","../src/assets/search-cancel.svg","../src/assets/starIcon.svg","../src/assets/check-icon-primary.svg","../src/components/Button/ButtonIcon.tsx","../src/components/Button/Button.types.ts","../src/components/Button/Button.tsx","../src/components/Carousel/GliderContainer.tsx","../src/components/Carousel/Carousel.tsx","../src/components/CenteredHero/CenteredHero.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/ConfirmationDialog/ConfirmationDialogTitle.tsx","../src/components/TextLink/TextLink.tsx","../src/components/Icons/DynamicIcon.tsx","../src/components/NotificationBanner/NotificationBanner.tsx","../src/components/Radio/RadioV2.tsx","../src/components/RadioGroup/RadioGroupV2.tsx","../src/components/ConfirmationDialog/ConfirmationDialogChoices.tsx","../src/components/ConfirmationDialog/ConfirmationDialogMessage.tsx","../src/components/ConfirmationDialog/ConfirmationDialog.tsx","../src/components/Datepicker/Datepicker.js","../src/assets/chevron-double.svg","../src/components/Dropdown/Dropdown.js","../src/components/ErrorBlock/ErrorBlock.js","../src/components/InfoBlock/InfoBlock.js","../src/components/InfoField/InfoField.tsx","../src/components/Line/Line.js","../src/components/Table/TableHeader.tsx","../src/components/Tag/Tag.utils.ts","../src/components/Tag/Tag.tsx","../src/components/Table/Table.utils.ts","../src/components/Table/TableBodyRowDataCell.tsx","../src/components/Table/TableBodyRow.tsx","../src/components/Table/TableBody.tsx","../src/components/PaginationMenu/PaginationMenuSmall.tsx","../src/components/Select/Select.tsx","../src/components/PaginationMenu/PaginationMenu.utils.ts","../src/components/PaginationMenu/PaginationMenuLarge.tsx","../src/components/PaginationMenu/PaginationMenu.tsx","../src/components/Table/TableFooter.tsx","../src/components/Table/Table.tsx","../src/components/Menu/Menu.js","../src/components/CheckboxList/CheckboxListItem.tsx","../src/components/CheckboxList/CheckboxList.types.ts","../src/components/CheckboxList/CheckboxGroup.tsx","../src/components/CheckboxList/CheckboxList.tsx","../src/components/CheckBoxListModal/CheckboxListModal.tsx","../src/components/Text/LegacyText.js","../src/components/MultiSelect/MultiSelectUtils.js","../src/components/MultiSelect/MultiSelect.js","../src/components/NavMenu/NavLayout.tsx","../src/components/Divider/Divider.tsx","../src/components/NavMenu/NavMenuFooter.tsx","../src/components/NavMenu/NavMenuItem.tsx","../src/components/NavMenu/NavMenuHeader.tsx","../src/components/NavMenu/NavMenuContent.tsx","../src/components/NavMenu/NavMenu.tsx","../src/components/Page/Page.js","../src/components/Title/LegacyTitle.js","../src/components/Steps/Step.tsx","../src/components/Steps/Steps.tsx","../src/components/Page/CRUDPage.js","../src/assets/phone-mockup.svg","../src/components/PreviewPhone/useWindowDimensions.js","../src/components/PreviewPhone/PreviewPhone.tsx","../src/components/Radio/Radio.js","../src/components/RadioGroup/RadioGroup.js","../src/components/Section/Section.tsx","../src/components/Section/SectionItem.tsx","../src/components/Section/SectionItemWithContent.tsx","../src/utils/useOutsideClick.js","../src/components/SettingsMenuButton/SettingsMenuButton.tsx","../src/components/Switcher/SwitcherItem.js","../src/components/Switcher/Switcher.js","../src/assets/image-icon.svg","../src/components/Image/Image.tsx","../src/components/ImagePicker/ImageCategory.tsx","../src/components/ImagePicker/ImagePicker.tsx","../src/components/Tabbar/TabbarItem.tsx","../src/components/Tabbar/Tabbar.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/TabLinks/TabLinks.tsx","../src/components/Tag/TagGroup.tsx","../src/components/Textarea/Textarea.js","../src/components/TextEditor/TextEditor.js","../src/components/TextEditorV2/TextEditorV2.js","../src/components/Timeline/TimelineStep.tsx","../src/components/Timeline/Timeline.tsx","../src/components/ViewItem/ViewItem.tsx","../src/components/Form/FormFieldErrorMessages.tsx","../src/components/Form/FormFieldDecorator.tsx","../src/components/Form/form.transformer.ts","../src/components/Form/FormInput.tsx","../src/components/Form/FormRadioGroup.tsx","../src/components/Form/FormSelect.tsx","../src/components/Form/FormImagePicker.tsx","../src/components/Form/Form.tsx","../src/components/Icons/AlertsIcon.tsx","../src/components/Icons/BellIcon.tsx","../src/components/Icons/ChartLineColoredIcon.tsx","../src/components/Icons/ChatBoxIcon.tsx","../src/components/Icons/ChevronDoubleIcon.tsx","../src/components/Icons/DownArrowIcon.tsx","../src/components/Icons/EmptyStateDashboardIcon.tsx","../src/components/Icons/ExclamationMarkIcon.tsx","../src/components/Icons/EyeIcon.tsx","../src/components/Icons/GearIcon.tsx","../src/components/Icons/GearColoredIcon.tsx","../src/components/Icons/GroupIcon.tsx","../src/components/Icons/GroupColoredIcon.tsx","../src/components/Icons/HeartIcon.tsx","../src/components/Icons/LinkIcon.tsx","../src/components/Icons/LightBulbIcon.tsx","../src/components/Icons/LockIcon.tsx","../src/components/Icons/MessagesIcon.tsx","../src/components/Icons/NotesIcon.tsx","../src/components/Icons/PinIcon.tsx","../src/components/Icons/SmallCircleIcon.tsx","../src/components/Icons/SmallDiamondIcon.tsx","../src/components/Icons/SmallSquareIcon.tsx","../src/components/Icons/SpaceRocketIcon.tsx","../src/components/Icons/StarIcon.tsx","../src/components/Icons/HamburgerIcon.tsx","../src/components/Icons/SearchCancelIcon.tsx","../src/components/Icons/InfoIcon.tsx","../src/components/Icons/StatusColoredIcon.tsx","../src/components/Modal/FullPageModalHeader.tsx","../src/components/Modal/FullPageModal.tsx","../src/components/Card/Card.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { FlexContainerBaseProps } from \"./types/FlexContainerProps.type\";\n\n/**\n * Container to be used for layouting instead of divs around the project.\n * The spacing here has been coded according to our guidelines.\n */\nexport const FlexContainer: React.FC<\n FlexContainerBaseProps & { type: \"column\" | \"row\" }\n> = (props) => {\n const {\n children,\n alignItems,\n verticalSpacing = \"none\",\n horizontalSpacing = \"none\",\n justifyContent,\n hasPadding,\n position = \"\",\n type,\n backgroundColor = \"bg-transparent\",\n } = props;\n\n return (\n <div\n className={classNames(\"flex w-full\", backgroundColor, {\n \"flex-row\": type === \"row\",\n \"flex-col\": type === \"column\",\n relative: position === \"relative\",\n absolute: position === \"absolute\",\n static: position === \"static\",\n fixed: position === \"fixed\",\n sticky: position === \"sticky\",\n\n \"justify-center\": justifyContent === \"center\",\n \"justify-start\": justifyContent === \"start\",\n \"justify-end\": justifyContent === \"end\",\n \"justify-between\": justifyContent === \"between\",\n\n \"items-start\": alignItems === \"start\",\n \"items-center\": alignItems === \"center\",\n \"items-end\": alignItems === \"end\",\n\n \"space-x-2\": horizontalSpacing === \"small\",\n \"space-x-4\": horizontalSpacing === \"medium\",\n \"space-x-8\": horizontalSpacing === \"large\",\n\n \"space-y-2\": verticalSpacing === \"small\",\n \"space-y-4\": verticalSpacing === \"medium\",\n \"space-y-8\": verticalSpacing === \"large\",\n\n \"p-4\": hasPadding,\n })}\n >\n {children}\n </div>\n );\n};\n","import React from \"react\";\n\nimport { FlexContainer } from \"./FlexContainer\";\nimport { FlexContainerProps } from \"./types/FlexContainerProps.type\";\n\n/**\n * Container to be used for layouting instead of divs around the project.\n * The spacing here has been coded according to our guidelines.\n */\nexport const FlexColumn: React.FC<FlexContainerProps> = (props) => {\n const { children, spacing = \"medium\", ...rest } = props;\n\n return (\n <FlexContainer {...rest} type=\"column\" verticalSpacing={spacing}>\n {children}\n </FlexContainer>\n );\n};\n","import React from \"react\";\n\nimport { FlexContainer } from \"./FlexContainer\";\nimport { FlexContainerProps } from \"./types/FlexContainerProps.type\";\n\n/**\n * Container to be used for layouting instead of divs around the project.\n * The spacing here has been coded according to our guidelines.\n */\nexport const FlexRow: React.FC<FlexContainerProps> = (props) => {\n const { children, spacing = \"medium\", ...rest } = props;\n\n return (\n <FlexContainer {...rest} type=\"row\" horizontalSpacing={spacing}>\n {children}\n </FlexContainer>\n );\n};\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { RestPropped } from \"../../types/general.types\";\n\nimport \"./Text.css\";\n\n/**\n * One might argue that we're duplicating strings in this file.\n * That's how tailwind expects to detect used classes, so please do not make\n * anything dynamic or try to string concat class names.\n * https://v1.tailwindcss.com/docs/controlling-file-size\n */\nconst allowedTextStyles = {\n sm: \"text-xs font-medium\",\n \"sm-strong\": \"text-xs font-semibold\",\n base: \"text-sm\",\n strong: \"text-sm font-semibold\",\n lg: \"\",\n \"lg-strong\": \"font-semibold\",\n xl: \"text-lg\",\n \"xl-strong\": \"font-semibold text-lg\",\n};\n\n//Extend with other colors that we want to enable for text\nexport const allowedColors = {\n base: \"text-slate-800\",\n \"slate-500\": \"text-slate-500\",\n \"slate-200\": \"text-slate-200\",\n red: \"text-red-700\",\n green: \"text-green-700\",\n amber: \"text-yellow-700\",\n white: \"text-white\",\n \"blue-800\": \"text-blue-800\",\n} as const;\n\nconst allowedHoverColors = {\n \"blue-900\": \"hover:text-blue-900\",\n white: \"hover:text-white\",\n} as const;\n\n// What is a group hover? https://v1.tailwindcss.com/docs/pseudo-class-variants#group-hover\nconst allowedGroupHoverColors: Record<TextHoverColor, string> = {\n \"blue-900\": \"group-hover:text-blue-900\",\n white: \"group-hover:text-white\",\n} as const;\n\nexport type TextColor = keyof typeof allowedColors;\nexport type TextHoverColor = keyof typeof allowedHoverColors;\nexport type TextStyle = keyof typeof allowedTextStyles;\n\nexport interface TextProps extends RestPropped {\n text: string;\n type?: TextStyle; //defaults to \"base\"\n inline?: boolean; //defaults to false\n color?: TextColor; //defaults to \"base\"\n hoverColor?: TextHoverColor; //defaults to \"base\"\n hoverInGroup?: boolean;\n className?: string;\n containsDangerousHtml?: boolean; //defaults to false\n truncate?: boolean; //defaults to false\n /**\n * When `true` will work together with the `truncate` props\n * and allow a max of two lines when breaking text before applying\n * elipsis. Defaults to \"`false`\"\n */\n clampLines?: boolean;\n \"data-test-id\"?: string;\n}\n\nexport const Text = (props: TextProps): JSX.Element => {\n const selectedHoverColor =\n props.hoverColor &&\n !props.hoverInGroup &&\n allowedHoverColors[props.hoverColor];\n\n const selectedGroupHoverColor =\n props.hoverColor &&\n props.hoverInGroup &&\n allowedGroupHoverColors[props.hoverColor];\n\n const containerProps = {\n title: props.title,\n \"data-test-id\": props[\"data-test-id\"],\n className: classNames(\n // apply different style classes\n // for now we stick with font-size 16px on the body\n // so I am adjusting our styles accordingly (one step down)\n allowedTextStyles[props.type ?? \"base\"],\n allowedColors[props.color ?? \"base\"],\n selectedHoverColor,\n selectedGroupHoverColor,\n {\n inline: props.inline,\n // FIXME: this class doesn't do anything without a max-width\n truncate: props.truncate,\n \"text-two-lines-max\": props.clampLines,\n \"in-html-link\": props.containsDangerousHtml,\n },\n //can be used to overwrite other classes like the color\n props.className\n ),\n };\n\n return props.containsDangerousHtml ? (\n <p {...containerProps} dangerouslySetInnerHTML={{ __html: props.text }} />\n ) : (\n <p {...containerProps}>{props.text}</p>\n );\n};\n\nexport default Text;\n\nText.defaultProps = {\n type: \"base\",\n inline: false,\n color: \"base\",\n containsDangerousHtml: false,\n truncate: false,\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const CheckIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n data-test-id={props[\"data-test-id\"]}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.7071 7.29289C19.0976 7.68342 19.0976 8.31658 18.7071 8.70711L10.7071 16.7071C10.3166 17.0976 9.68342 17.0976 9.29289 16.7071L5.29289 12.7071C4.90237 12.3166 4.90237 11.6834 5.29289 11.2929C5.68342 10.9024 6.31658 10.9024 6.70711 11.2929L10 14.5858L17.2929 7.29289C17.6834 6.90237 18.3166 6.90237 18.7071 7.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const CrossIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n data-test-id={props[\"data-test-id\"]}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.05037 5.63664C6.65984 5.24612 6.02668 5.24612 5.63615 5.63664C5.24563 6.02717 5.24563 6.66033 5.63616 7.05086L10.5862 12.0009L5.63618 16.9509C5.24566 17.3415 5.24566 17.9746 5.63618 18.3652C6.02671 18.7557 6.65987 18.7557 7.0504 18.3652L12.0004 13.4151L16.9499 18.3646C17.3404 18.7551 17.9736 18.7551 18.3641 18.3646C18.7546 17.974 18.7546 17.3409 18.3641 16.9504L13.4146 12.0009L18.3641 7.05145C18.7546 6.66093 18.7546 6.02776 18.3641 5.63724C17.9736 5.24671 17.3404 5.24671 16.9499 5.63724L12.0004 10.5867L7.05037 5.63664Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const WarningIcon: React.VoidFunctionComponent<IconProps> = (props) => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n data-test-id={props[\"data-test-id\"]}\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10 0C4.48 0 0 4.48 0 10C0 15.52 4.48 20 10 20C15.52 20 20 15.52 20 10C20 4.48 15.52 0 10 0ZM10 11C9.45 11 9 10.55 9 10V6C9 5.45 9.45 5 10 5C10.55 5 11 5.45 11 6V10C11 10.55 10.55 11 10 11ZM11 15H9V13H11V15Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport { CheckIcon } from \"../Icons/CheckIcon\";\nimport { CrossIcon } from \"../Icons/CrossIcon\";\nimport { WarningIcon } from \"../Icons/WarningIcon\";\n\nimport \"./Toaster.scss\";\n\nexport interface ToasterProps {\n type: \"success\" | \"failure\";\n message: string;\n title: string;\n isVisible?: boolean;\n /** if you need to reposition the toaster for whatever reason you can use these props */\n styleOverwrite?: Pick<\n React.CSSProperties,\n \"top\" | \"bottom\" | \"left\" | \"right\"\n >;\n}\n\nexport const TOASTER_TYPE_OPTIONS = {\n SUCCESS: \"success\",\n FAILURE: \"failure\",\n} as const;\nexport type ToasterType =\n typeof TOASTER_TYPE_OPTIONS[keyof typeof TOASTER_TYPE_OPTIONS];\n\nconst Toaster: React.VoidFunctionComponent<ToasterProps> = ({\n message = \"\",\n title = \"\",\n type = TOASTER_TYPE_OPTIONS.SUCCESS,\n isVisible,\n styleOverwrite,\n}) => {\n const isSuccess = type === TOASTER_TYPE_OPTIONS.SUCCESS;\n const isFailure = type === TOASTER_TYPE_OPTIONS.FAILURE;\n\n return (\n <div\n style={styleOverwrite}\n id=\"application-toaster\"\n data-test-id={`toaster-panel-${type}`}\n className={classNames(\n \"bg-white cursor-pointer\",\n \"rounded-md shadow-lg\",\n \"min-h-13 max-h-19 w-104 transition-transform\",\n \"z-9999\",\n {\n shelved: !isVisible,\n expanded: isVisible,\n \"type-success\": isSuccess,\n \"type-failure\": isFailure,\n }\n )}\n >\n <div className=\"relative p-4\">\n <div className=\"flex flex-row\">\n <div\n data-test-id=\"success-toaster-icon\"\n className={classNames(\"success-icon text-green-700\", {\n hidden: isFailure,\n })}\n >\n <CheckIcon />\n </div>\n <div\n data-test-id=\"failure-toaster-icon\"\n className={classNames(\"failure-icon text-red-700\", {\n hidden: isSuccess,\n })}\n >\n <WarningIcon />\n </div>\n <div className=\"ml-3\">\n <Text type=\"strong\" data-test-id=\"toaster-title\" text={title} />\n <Text data-test-id=\"toaster-message\" text={message} />\n </div>\n <CrossIcon\n data-test-id=\"toaster-close-button\"\n className=\"ml-auto cursor-pointer text-slate-500\"\n />\n </div>\n </div>\n\n <div\n data-test-id=\"toaster-progress-bar-container\"\n className={classNames(\"h-1 absolute bottom-0 w-full rounded-b-md\")}\n >\n <div\n data-test-id=\"toaster-progress-bar\"\n className={classNames(\"h-full\")}\n />\n </div>\n </div>\n );\n};\n\nexport default Toaster;\n","interface GetToasterElementsParams {\n timeoutId: NodeJS.Timeout;\n progressBarAnimationFrameHandler: number;\n}\n\ninterface GetToasterElementsReturn {\n toasterElementMessage: HTMLElement;\n toasterProgressBar: HTMLElement;\n toasterElementTitle: HTMLElement;\n toasterElementSuccessIcon: HTMLElement;\n toasterElementFailureIcon: HTMLElement;\n toasterElementContainer: HTMLElement;\n toasterCloseButton: HTMLElement;\n}\n\n/**\n *\n * @param params.timeoutId - the timeoutId (that makes the toaster vanish), in case of a shortcut\n * @param params.progressBarAnimationFrameHandler - animation frame id to be canceled in case of a shortcut\n * @returns a collection of html elements to be manipulated by the animation\n */\nexport const getToasterElements = (\n params: GetToasterElementsParams\n): GetToasterElementsReturn => {\n const { timeoutId, progressBarAnimationFrameHandler } = params;\n const toasterElementContainer = document.querySelector<HTMLElement>(\n \"#application-toaster\"\n );\n\n if (!toasterElementContainer) {\n clearTimeout(timeoutId);\n clearTimeout(progressBarAnimationFrameHandler);\n\n throw new Error(\n \"Make sure that the Toaster component element is rendered with an id [application-toaster]\"\n );\n }\n\n const toasterElementMessage = toasterElementContainer?.querySelector(\n '[data-test-id=\"toaster-message\"]'\n ) as HTMLElement;\n\n const toasterElementTitle = toasterElementContainer?.querySelector(\n '[data-test-id=\"toaster-title\"]'\n ) as HTMLElement;\n\n const toasterElementSuccessIcon = toasterElementContainer?.querySelector(\n '[data-test-id=\"success-toaster-icon\"]'\n ) as HTMLElement;\n\n const toasterElementFailureIcon = toasterElementContainer?.querySelector(\n '[data-test-id=\"failure-toaster-icon\"]'\n ) as HTMLElement;\n\n const toasterCloseButton = toasterElementContainer?.querySelector(\n '[data-test-id=\"toaster-close-button\"]'\n ) as HTMLElement;\n\n const toasterProgressBar = toasterElementContainer?.querySelector(\n '[data-test-id=\"toaster-progress-bar\"]'\n ) as HTMLElement;\n\n return {\n toasterElementContainer,\n toasterElementMessage,\n toasterElementTitle,\n toasterProgressBar,\n toasterElementSuccessIcon,\n toasterElementFailureIcon,\n toasterCloseButton,\n };\n};\n","interface AnimateProgressParams {\n animationDuration: number;\n progressBarElement: HTMLElement;\n}\n\n/**\n * Reference: https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame\n * @param params.animationDuration - the amount of seconds the duration will take\n * @param params.progressBarElement - the html element for the progress bar\n * @returns the animation frame id\n */\nexport const animateProgress = (params: AnimateProgressParams): number => {\n const { animationDuration, progressBarElement } = params;\n\n let progressBarAnimationFrameHandler: number;\n\n let startingTimestamp = 0;\n let previousTimestamp = 0;\n let done = false;\n const animationTick = 100 / animationDuration;\n\n const animate = (animationTimestamp: number) => {\n if (!startingTimestamp) {\n startingTimestamp = animationTimestamp;\n }\n\n const elapsed = animationTimestamp - startingTimestamp;\n\n if (previousTimestamp !== animationTimestamp) {\n const count = 100 - animationTick * elapsed;\n progressBarElement.style.width = `${count}%`;\n if (count === 0) {\n done = true;\n }\n }\n\n if (elapsed < animationDuration) {\n // Stop the animation after duration is finished\n previousTimestamp = animationTimestamp;\n\n if (!done) {\n progressBarAnimationFrameHandler =\n window.requestAnimationFrame(animate);\n }\n }\n };\n\n progressBarElement.style.width = \"100%\";\n\n progressBarAnimationFrameHandler = requestAnimationFrame(animate);\n\n return progressBarAnimationFrameHandler;\n};\n","import { getToasterElements } from \"./toast-elements-getter\";\nimport { animateProgress } from \"./toast-progress-animator\";\n\nlet timeoutId: NodeJS.Timeout;\nlet progressBarAnimationFrameHandler: number;\n\nconst defaultDurationInSeconds = 5;\n\ntype ToastParams =\n | {\n message: string;\n title?: string;\n showIcon?: boolean;\n type: \"success\" | \"failure\";\n }\n | string;\n\nconst showToaster = (params: ToastParams) => {\n clearTimeout(timeoutId);\n clearTimeout(progressBarAnimationFrameHandler);\n\n const {\n toasterElementContainer,\n toasterElementMessage,\n toasterElementTitle,\n toasterProgressBar,\n toasterElementSuccessIcon,\n toasterElementFailureIcon,\n toasterCloseButton,\n } = getToasterElements({\n timeoutId,\n progressBarAnimationFrameHandler,\n });\n\n const animationDuration = defaultDurationInSeconds * 1000;\n\n progressBarAnimationFrameHandler = animateProgress({\n animationDuration,\n progressBarElement: toasterProgressBar,\n });\n\n timeoutId = setTimeout(() => {\n toasterElementContainer.classList.remove(\"expanded\");\n clearTimeout(timeoutId);\n cancelAnimationFrame(progressBarAnimationFrameHandler);\n }, animationDuration);\n\n function shortcutAndClose() {\n toasterElementContainer.classList.remove(\"expanded\");\n toasterElementContainer.classList.add(\"shelved\");\n\n clearTimeout(timeoutId);\n cancelAnimationFrame(progressBarAnimationFrameHandler);\n }\n\n toasterCloseButton.removeEventListener(\"click\", shortcutAndClose, true);\n toasterCloseButton.addEventListener(\"click\", shortcutAndClose);\n\n toasterElementContainer.removeEventListener(\"click\", shortcutAndClose, true);\n toasterElementContainer.addEventListener(\"click\", shortcutAndClose);\n\n // Basic usage, no need to manipulate any other element;\n if (typeof params === \"string\") {\n toasterElementMessage.textContent = params;\n toasterElementTitle.classList.add(\"hidden\");\n\n toasterElementSuccessIcon.classList.remove(\"hidden\");\n toasterElementFailureIcon.classList.add(\"hidden\");\n\n toasterElementContainer.classList.remove(\"type-failure\");\n toasterElementContainer.classList.add(\"type-success\");\n toasterElementContainer.classList.add(\"expanded\");\n\n return;\n }\n\n const { title = \"\", showIcon = true, message, type } = params;\n\n toasterElementTitle.classList.toggle(\"hidden\", !title);\n toasterElementTitle.textContent = title;\n\n toasterElementSuccessIcon.classList.toggle(\"hidden\", !showIcon);\n toasterElementFailureIcon.classList.toggle(\"hidden\", !showIcon);\n\n toasterElementMessage.textContent = message;\n toasterElementContainer.classList.remove(\"type-success\");\n toasterElementContainer.classList.remove(\"type-failure\");\n toasterElementContainer.classList.add(\"expanded\");\n toasterElementContainer.classList.add(`type-${type}`);\n};\n\nexport const toast = (params: ToastParams): void => {\n showToaster(params);\n};\n\ntoast.error = (message: string): void => {\n showToaster({\n message: message,\n type: \"failure\",\n showIcon: true,\n title: \"\",\n });\n};\n\ntoast.info = (message: string): void => {\n showToaster({\n message: message,\n type: \"success\",\n showIcon: true,\n title: \"\",\n });\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChevronRightIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M9.31008 6.70978C8.92008 7.09978 8.92008 7.72978 9.31008 8.11978L13.1901 11.9998L9.31008 15.8798C8.92008 16.2698 8.92008 16.8998 9.31008 17.2898C9.70008 17.6798 10.3301 17.6798 10.7201 17.2898L15.3101 12.6998C15.7001 12.3098 15.7001 11.6798 15.3101 11.2898L10.7201 6.69978C10.3401 6.31978 9.70008 6.31978 9.31008 6.70978Z\" fill=\"currentColor\"/>\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChevronDownIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M17.5995 8.99904C17.2095 8.60904 16.5795 8.60904 16.1895 8.99904L12.3095 12.879L8.42955 8.99904C8.03955 8.60904 7.40955 8.60904 7.01955 8.99904C6.62955 9.38904 6.62955 10.019 7.01955 10.409L11.6095 14.999C11.9995 15.389 12.6295 15.389 13.0195 14.999L17.6095 10.409C17.9895 10.029 17.9895 9.38904 17.5995 8.99904Z\" fill=\"currentColor\"/>\n </svg>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport \"./Title.scss\";\nimport { allowedColors, TextColor } from \"../Text/Text\";\n\nexport type TitleStyle = \"xs\" | \"sm\" | \"base\" | \"lg\" | \"xl\" | \"2xl\";\n\nexport interface TitleProps {\n text: string;\n type?: TitleStyle; //defaults to \"base\"\n color?: TextColor;\n className?: string;\n}\n\nexport const Title = (props: TitleProps): JSX.Element => {\n const containerClassName = classNames(\n \"title\", //this is used to load the correct font from the css\n \"font-bold\",\n allowedColors[props.color ?? \"base\"],\n {\n \"text-base\": props.type === \"xs\",\n \"text-xl\": props.type === \"sm\",\n \"text-2xl\": props.type === \"base\",\n \"text-3xl\": props.type === \"lg\",\n \"text-4xl \": props.type === \"xl\",\n \"text-6xl \": props.type === \"2xl\",\n },\n props.className\n );\n\n let ContainerElement: React.ElementType;\n\n switch (props.type) {\n case \"sm\":\n ContainerElement = \"h5\";\n break;\n case \"base\":\n ContainerElement = \"h4\";\n break;\n case \"lg\":\n ContainerElement = \"h3\";\n break;\n case \"xl\":\n ContainerElement = \"h2\";\n break;\n case \"2xl\":\n ContainerElement = \"h1\";\n break;\n default:\n ContainerElement = \"h4\";\n break;\n }\n\n return (\n <ContainerElement className={containerClassName}>\n {props.text}\n </ContainerElement>\n );\n};\n\nTitle.defaultProps = {\n type: \"base\",\n};\n","import React, { useReducer } from \"react\";\nimport classNames from \"classnames\";\n\nimport { ChevronRightIcon } from \"../Icons/ChevronRightIcon\";\nimport { ChevronDownIcon } from \"../Icons/ChevronDownIcon\";\nimport { Title } from \"../Title/Title\";\n\nexport interface AccordionItemProps {\n id: string | number;\n title: string;\n content: React.ReactNode;\n className?: string;\n isCollapsedByDefault?: boolean;\n}\n\nexport const AccordionItem: React.VFC<AccordionItemProps> = ({\n id,\n title,\n content,\n isCollapsedByDefault = false,\n}) => {\n const [isCollapsed, toggleIsCollapsed] = useReducer(\n (state) => !state,\n isCollapsedByDefault\n );\n const Chevron = isCollapsed ? ChevronRightIcon : ChevronDownIcon;\n\n return (\n <li\n className={\"bg-white border-b last:border-b-0 border-slate-100\"}\n data-test-id={id}\n >\n <div\n onClick={toggleIsCollapsed}\n className={classNames(\n \"p-4 w-full flex flex-row space-x-4 select-none\",\n \"cursor-pointer hover:bg-blue-50 transition-colors ease-in-out duration-300\",\n {\n \"border-b border-slate-100\": !isCollapsed,\n }\n )}\n >\n <Chevron className={\"text-slate-300\"} />\n <Title text={title} type={\"xs\"} />\n </div>\n\n <div className={classNames({ hidden: isCollapsed })}>{content}</div>\n </li>\n );\n};\n","import React from \"react\";\n\nimport { AccordionItem, AccordionItemProps } from \"./AccordionItem\";\n\nexport interface AccordionProps {\n dataTestId?: string;\n items: AccordionItemProps[];\n className?: string;\n isCollapsedByDefault?: boolean;\n}\n\nconst Accordion: React.VFC<AccordionProps> = ({\n dataTestId,\n isCollapsedByDefault = false,\n items,\n className,\n}) => {\n return (\n <ul data-test-id={dataTestId} className={className}>\n {items.map?.((item) => (\n <AccordionItem\n {...item}\n key={item.id}\n isCollapsedByDefault={\n item.isCollapsedByDefault ?? isCollapsedByDefault\n }\n />\n ))}\n </ul>\n );\n};\n\nexport default Accordion;\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const DragIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 4C7.44772 4 7 4.44772 7 5V7C7 7.55228 7.44772 8 8 8H10C10.5523 8 11 7.55228 11 7V5C11 4.44772 10.5523 4 10 4H8ZM14 4C13.4477 4 13 4.44772 13 5V7C13 7.55228 13.4477 8 14 8H16C16.5523 8 17 7.55228 17 7V5C17 4.44772 16.5523 4 16 4H14ZM7 11C7 10.4477 7.44772 10 8 10H10C10.5523 10 11 10.4477 11 11V13C11 13.5523 10.5523 14 10 14H8C7.44772 14 7 13.5523 7 13V11ZM14 10C13.4477 10 13 10.4477 13 11V13C13 13.5523 13.4477 14 14 14H16C16.5523 14 17 13.5523 17 13V11C17 10.4477 16.5523 10 16 10H14ZM7 17C7 16.4477 7.44772 16 8 16H10C10.5523 16 11 16.4477 11 17V19C11 19.5523 10.5523 20 10 20H8C7.44772 20 7 19.5523 7 19V17ZM14 16C13.4477 16 13 16.4477 13 17V19C13 19.5523 13.4477 20 14 20H16C16.5523 20 17 19.5523 17 19V17C17 16.4477 16.5523 16 16 16H14Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ImageIcon: React.VoidFunctionComponent<IconProps> = props => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n onClick={props.onClick}\n className={props.className}\n role={props.onClick ? \"button\" : undefined}\n >\n <path\n d=\"M18 16V2C18 0.9 17.1 0 16 0H2C0.9 0 0 0.9 0 2V16C0 17.1 0.9 18 2 18H16C17.1 18 18 17.1 18 16ZM5.9 10.98L8 13.51L11.1 9.52C11.3 9.26 11.7 9.26 11.9 9.53L15.41 14.21C15.66 14.54 15.42 15.01 15.01 15.01H3.02C2.6 15.01 2.37 14.53 2.63 14.2L5.12 11C5.31 10.74 5.69 10.73 5.9 10.98Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React, { useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\nimport { DragIcon } from \"../Icons/DragIcon\";\nimport { ImageIcon } from \"../Icons/ImageIcon\";\n\nimport { ListItemProps } from \"./List.types\";\n\nexport const ListItem = ({\n icon,\n subtitle,\n title,\n accessories,\n tooltipId,\n onAssetLoadError,\n roundTop,\n isSelected,\n ...restProps\n}: ListItemProps): JSX.Element => {\n const [loadIconError, setLoadIconError] = useState(false);\n\n function onListItemIconLoadError() {\n console.error({\n message:\n \"Url from icon failed to load, please check the props passed to `ListItem`.\",\n icon,\n title,\n subtitle,\n });\n\n setLoadIconError(true);\n\n onAssetLoadError?.({\n title,\n subtitle: subtitle,\n itemId: restProps.itemId,\n icon,\n });\n }\n\n function onListItemIconLoad() {\n setLoadIconError(false);\n }\n\n return (\n <li\n className={classNames(\n \"flex last:rounded-b flex-row items-center space-x-4 bg-white\",\n \"px-4 border-b last:border-b-0 border-slate-100\",\n {\n \"first:rounded-t\": roundTop,\n \"cursor-pointer\": restProps.handleItemClick,\n \"hover:bg-blue-50 transition-colors ease-in-out duration-300\":\n restProps.handleItemClick,\n }\n )}\n onClick={restProps.handleItemClick}\n data-id={restProps.itemId}\n data-tip={restProps.itemId}\n data-for={tooltipId}\n >\n {restProps.isDraggable && <DragIcon className=\"text-slate-300\" />}\n {/* If the icon is a react component, render it as so */}\n {icon &&\n typeof icon === \"function\" &&\n React.createElement(icon, { className: \"w-6 h-6\" })}\n {/* If the icon is a string url, load it in a vanilla img element */}\n {!loadIconError && icon && typeof icon === \"string\" && (\n <img\n src={icon}\n data-chromatic=\"ignore\"\n alt=\"list-item-icon\"\n className=\"w-6 h-6 text-sm\"\n onLoad={onListItemIconLoad}\n onError={onListItemIconLoadError}\n />\n )}\n {loadIconError && <ImageIcon className=\"w-6 h-6 text-slate-300\" />}\n <div className={\"py-4\"}>\n <Text type={isSelected ? \"strong\" : \"base\"} text={title} />\n {subtitle && <Text text={subtitle} type={\"sm\"} color=\"slate-500\" />}\n </div>\n <div className={\"flex-grow\"} />\n {accessories}\n </li>\n );\n};\n\nexport default ListItem;\n","import React from \"react\";\n\nexport const ListItemSkeleton = (): JSX.Element => {\n return (\n <div className=\"flex flex-row items-center p-4\">\n <div\n className=\"skeleton-box is-circle mr-2\"\n style={{ width: `${32}px`, height: `${32}px` }}\n />\n <div className=\"flex flex-col\">\n <div\n className=\"skeleton-box mb-1\"\n style={{ width: `${160}px`, height: `${14}px` }}\n />\n <div\n className=\"skeleton-box\"\n style={{ width: `${110}px`, height: `${14}px` }}\n />\n </div>\n <div\n className=\"skeleton-box is-button ml-auto rounded-full\"\n style={{ width: `${24}px`, height: `${24}px` }}\n />\n </div>\n );\n};\n","import React from \"react\";\n\nimport \"./ListSkeleton.scss\";\nimport { ListItemSkeleton } from \"./ListItemSkeleton\";\n\ntype ListSkeletonProps = {\n items: number;\n};\n\nexport const ListSkeleton = ({ items }: ListSkeletonProps): JSX.Element => {\n const skeletonItems = Array.from({ length: items || 5 }, (_, i) => {\n return <ListItemSkeleton key={i} />;\n });\n\n return (\n <div className=\"flex flex-col divide-y divide-slate-200 bg-white border-slate-50 border rounded-lg shadow list-skeleton\">\n <div className=\"flex flex-row items-center px-4 py-2\">\n <div\n className=\"skeleton-box\"\n style={{ width: `${160}px`, height: `${14}px` }}\n />\n <div\n className=\"skeleton-box is-button ml-auto\"\n style={{ width: `${110}px`, height: `${44}px` }}\n />\n </div>\n {skeletonItems}\n </div>\n );\n};\n","import React, { useEffect, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport dragula from \"react-dragula\";\n\nimport { Title, TitleProps } from \"../Title/Title\";\nimport Text from \"../Text/Text\";\n\nimport { ListItem } from \"./ListItem\";\nimport {\n ListItemProps,\n ListProps,\n OnAssetLoadErrorPayload,\n} from \"./List.types\";\nimport { ListSkeleton } from \"./ListSkeleton\";\n\nimport \"./List.scss\";\n\nexport { ListProps, ListItemProps, OnAssetLoadErrorPayload };\n\nexport const List = ({\n title,\n headerButton,\n headerTransparent,\n items,\n onAssetLoadError,\n onDragEnd,\n emptyStateMessage,\n isLoading,\n dataTestId,\n}: ListProps): JSX.Element => {\n const listRef = useRef<HTMLUListElement | null>(null);\n const dragulaRef = useRef<dragula.Drake | null>(null);\n const hasHeader = !!(title || headerButton);\n\n useEffect(() => {\n dragulaRef.current?.destroy?.();\n if (listRef.current && onDragEnd && items.length) {\n dragulaRef.current = setupDragging();\n }\n\n return () => {\n dragulaRef.current?.destroy?.();\n };\n }, [items, listRef]);\n\n const handleDragEnd = (element: HTMLElement) => {\n const draggedItemId = element.dataset[\"id\"];\n\n if (listRef.current && draggedItemId) {\n const itemIdsWithOldOrder = items.map((item) => item.itemId.toString());\n const itemIdsWithNewOrder = Array.from(listRef.current.children)\n .map((child) => (child as HTMLElement).dataset[\"id\"])\n .filter((itemId): itemId is string => !!itemId);\n\n const oldIndexOfDraggedItemId =\n itemIdsWithOldOrder.indexOf(draggedItemId);\n const newIndexOfDraggedItemId =\n itemIdsWithNewOrder.indexOf(draggedItemId);\n\n if (oldIndexOfDraggedItemId !== newIndexOfDraggedItemId) {\n onDragEnd?.(draggedItemId, newIndexOfDraggedItemId);\n }\n }\n };\n\n const setupDragging = (): dragula.Drake | null => {\n if (!listRef.current) {\n return null;\n }\n const dragulaInstance = dragula([listRef.current], {\n revertOnSpill: true,\n });\n dragulaInstance.on(\"dragend\", handleDragEnd as (Element) => void);\n\n return dragulaInstance;\n };\n\n const roundTop = !hasHeader || (hasHeader && headerTransparent);\n\n if (isLoading) {\n return <ListSkeleton items={items.length} />;\n }\n\n const titleProps: TitleProps | null = title\n ? {\n type: \"xs\",\n ...(typeof title === \"object\" ? title : { text: title }),\n }\n : null;\n\n return (\n <div data-test-id={dataTestId ?? \"list-component\"}>\n {(title || headerButton) && (\n <div\n data-test-id=\"list-header\"\n className={classNames(\n \"flex rounded-t flex-row items-center space-x-4\",\n {\n \"py-4\": !headerButton,\n \"py-2\": headerButton,\n \"bg-white border-b border-slate-100 px-4\": !headerTransparent,\n \"mb-px\": headerTransparent,\n \"justify-between\": title && headerButton,\n \"justify-start\": title && !headerButton,\n \"justify-end\": !title && headerButton,\n }\n )}\n >\n {titleProps && <Title {...titleProps} />}\n {!!headerButton && (\n <div className=\"space-x-3\">\n {React.createElement(\n headerButton.buttonType,\n headerButton.buttonProps\n )}\n </div>\n )}\n </div>\n )}\n\n <ul ref={listRef}>\n {items.map((item) => (\n <ListItem\n {...item}\n roundTop={roundTop}\n key={item.itemId}\n onAssetLoadError={onAssetLoadError}\n isDraggable={!!onDragEnd}\n />\n ))}\n </ul>\n\n {items.length === 0 && emptyStateMessage && (\n <div\n className={classNames(\"p-4 bg-white rounded-b\", {\n \"first:rounded-t\": roundTop,\n })}\n >\n <Text text={emptyStateMessage} />\n </div>\n )}\n </div>\n );\n};\n\nexport default List;\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SearchIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.5 13.9996H14.71L14.43 13.7296C15.63 12.3296 16.25 10.4196 15.91 8.38965C15.44 5.60965 13.12 3.38965 10.32 3.04965C6.09001 2.52965 2.53002 6.08965 3.05002 10.3196C3.39002 13.1196 5.61002 15.4396 8.39002 15.9096C10.42 16.2496 12.33 15.6296 13.73 14.4296L14 14.7096V15.4996L18.25 19.7496C18.66 20.1596 19.33 20.1596 19.74 19.7496C20.15 19.3396 20.15 18.6696 19.74 18.2596L15.5 13.9996ZM9.50002 13.9996C7.01002 13.9996 5.00002 11.9896 5.00002 9.49965C5.00002 7.00965 7.01002 4.99965 9.50002 4.99965C11.99 4.99965 14 7.00965 14 9.49965C14 11.9896 11.99 13.9996 9.50002 13.9996Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { CrossIcon } from \"../Icons/CrossIcon\";\nimport { AllowedTextInputTypes } from \"../Form/form.types\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\nimport { FormFieldWidth } from \"../Form/form.types\";\nimport { FlexRow } from \"../Container/FlexRow\";\n\nimport \"./Input.css\";\n\n// FIXME: something in the tsdx.js build doesn't allow me to use `Uppercase<AllowedInputTypes>`\n// Don't know why yet but it can be fixed later.\nexport const INPUT_TYPES: Record<string, AllowedTextInputTypes> = {\n EMAIL: \"email\",\n NUMBER: \"number\",\n PASSWORD: \"password\",\n TEXT: \"text\",\n};\n\n/**\n * It's very complicated to tap into the onChange events of inputs,\n * so I omit the type it requires and add a easier one to deal with.\n */\ntype CustomHTMLInputProps = Omit<\n React.HTMLProps<HTMLInputElement>,\n \"onChange\" | \"ref\"\n> & { isError?: boolean };\n\nexport type FakeEventTarget = {\n target: {\n value: string;\n name: string;\n };\n currentTarget: {\n value: string;\n name: string;\n };\n};\n\nexport interface InputProps extends CustomHTMLInputProps {\n type?: AllowedTextInputTypes;\n clearable?: boolean;\n isDisabled?: boolean;\n withPrefix?: string;\n withSuffix?: string;\n icon?: React.VoidFunctionComponent<IconProps>;\n width?: FormFieldWidth;\n /**\n * Check the `asFormField` prop of this component to understand why this signature.\n */\n onChange?: (event: FakeEventTarget | string) => void;\n /**\n * ### TO BE USED WHEN INSIDE REACT-HOOK-FORM\n *\n * react-hook-form uses the onChange event differently.\n * Instead of passing an `event` object, it uses the value itself from the callback.\n *\n * So we need to use this flag to determine how to call the onChange callback.\n *\n * @example\n *\n * // In react-hook-forms:\n *\n * onChange({target: { name: 'myInput' }, value: 'text'}) // -> this whole object will be set as the value\n *\n * // so instead do:\n *\n * onChange('text') // -> 🤝\n */\n asFormField?: boolean;\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n (\n {\n withSuffix = \"\",\n withPrefix = \"\",\n className,\n clearable = false,\n type = \"text\",\n isDisabled = false,\n width = \"full\",\n icon,\n name,\n value = \"\",\n onChange,\n isError,\n asFormField,\n ...otherProps\n },\n ref\n ) => {\n const hasNoExtraContent = withPrefix === \"\" && withSuffix === \"\";\n const [innerValue, setInnerValue] = useState(value);\n\n useEffect(() => {\n setInnerValue(value);\n }, [value]);\n\n const clearField = () => {\n setInnerValue(\"\");\n\n // This allows backwards compatibility with our usages of the input\n onChange?.({\n target: {\n name: name || \"\",\n value: \"\",\n },\n currentTarget: {\n name: name || \"\",\n value: \"\",\n },\n });\n };\n\n const handleChangeEvent = (event: React.ChangeEvent<HTMLInputElement>) => {\n setInnerValue(event.currentTarget.value);\n\n // This allows backwards compatibility with our usages of the input\n onChange?.(\n asFormField\n ? event.currentTarget.value\n : {\n target: {\n name: name || \"\",\n value: event.currentTarget.value,\n },\n currentTarget: {\n name: name || \"\",\n value: event.currentTarget.value,\n },\n }\n );\n };\n\n const isClearIconVisible = clearable && innerValue;\n\n return (\n <FlexRow\n spacing={\"none\"}\n data-test-id=\"input-component-container\"\n position={\"relative\"}\n >\n <span\n className={classNames(\n \"h-11 border-t border-b border-solid border-input-border\",\n {\n hidden: hasNoExtraContent,\n \"order-1\": withPrefix !== \"\",\n \"order-2\": withSuffix !== \"\",\n \"rounded-l border-l\": withPrefix !== \"\",\n \"rounded-r border-r\": withSuffix !== \"\",\n },\n\n \"flex flex-col items-center p-3\",\n \"text-sm\",\n \"text-slate-500\",\n \"bg-main-background\"\n )}\n >\n {withSuffix || withPrefix}\n </span>\n {icon && (\n <div\n className=\"absolute top-1/2 left-4\"\n style={{\n transform: \"translateY(-50%)\",\n }}\n >\n {React.createElement(icon, {\n className: \"w-6 h-6 text-slate-300 \",\n })}\n </div>\n )}\n <input\n {...otherProps}\n data-test-id={`input-${name}`}\n name={name}\n value={innerValue}\n onChange={handleChangeEvent}\n ref={ref}\n size={otherProps.maxLength}\n type={type}\n disabled={isDisabled}\n className={classNames(\n \"input\",\n \"block\",\n {\n \"w-16\": width === \"sm\",\n \"w-32\": width === \"md\",\n \"w-56\": width === \"lg\",\n \"w-80\": width === \"xl\",\n \"flex-grow\": width === \"full\",\n },\n { \"pl-12\": icon, \"pr-11\": clearable },\n {\n \"text-slate-400 bg-slate-50\": isDisabled,\n \"text-slate-800\": !isDisabled,\n \"border-input-border\": !isDisabled && !isError,\n \"hover:border-input-border-dark\": !isDisabled,\n \"border-red-700\": isError,\n \"focus:outline-negative\": isError,\n \"focus:border-blue-800\": !isError,\n \"focus:outline-primary\": !isError,\n \"bg-white\": !isDisabled,\n },\n \"h-11\",\n \"p-2\",\n \"border\",\n \"text-sm\",\n \"placeholder-slate-500\",\n \"border-solid\",\n \"transition-colors\",\n \"duration-300\",\n {\n \"z-10\": withSuffix !== \"\" || withPrefix !== \"\", // to make sure the outline is displayed completely\n rounded: hasNoExtraContent,\n \"rounded-l\": withSuffix !== \"\",\n \"rounded-r\": withPrefix !== \"\",\n \"order-2\": withPrefix !== \"\",\n \"order-1\": withSuffix !== \"\",\n },\n \"shadow-default\",\n className\n )}\n />\n <div\n className=\"absolute right-0 top-1/2\"\n style={{\n transform: \"translateY(-50%)\",\n }}\n >\n <CrossIcon\n className={classNames(\n \"w-6 h-6 mr-3 cursor-pointer text-slate-300\",\n { block: isClearIconVisible, hidden: !isClearIconVisible }\n )}\n onClick={clearField}\n />\n </div>\n </FlexRow>\n );\n }\n);\n\nexport default Input;\n","import React from \"react\";\n\nimport { SearchIcon } from \"../Icons/SearchIcon\";\n\nimport Input, { InputProps } from \"./Input\";\n\nexport type SearchInputProps = Omit<\n InputProps,\n \"icon\" | \"withSuffix\" | \"withPrefix\" | \"type\" | \"clearable\"\n>;\n\nexport const SearchInput = React.forwardRef<HTMLInputElement, SearchInputProps>(\n (props, ref) => {\n return (\n <Input\n {...props}\n icon={SearchIcon}\n type=\"text\"\n width=\"xl\"\n clearable={true}\n ref={ref}\n />\n );\n }\n);\n","import React from \"react\";\n\ninterface SpinnerProps {\n className?: string;\n}\n\nexport const Spinner = (props: SpinnerProps): JSX.Element => {\n return (\n <svg\n className={`w-5 h-5 animate-spin ${props.className}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\"></circle>\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { Spinner } from \"../Spinner/Spinner\";\nimport Text, { allowedColors } from \"../Text/Text\";\n\nimport { ButtonProps } from \"./ButtonProps.type\";\n\nexport const ButtonV2 = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n onClick,\n text,\n textColor,\n textHoverColor,\n icon,\n isDisabled,\n isPending,\n className,\n ...otherAttributes\n }: ButtonProps,\n innerRef\n ): JSX.Element => {\n function handleClick(event: React.MouseEvent<HTMLButtonElement>) {\n event.stopPropagation();\n onClick?.(event);\n }\n\n if (!text && !icon) {\n console.error(\n \"A text or an icon is required to use this component, please make sure to pass at least one of them as a prop.\"\n );\n return <span>Invalid props passed to this component.</span>;\n }\n\n const buttonClassName = classNames(\n [\n \"h-11\",\n \"relative flex flex-row justify-center items-center\",\n \"border\",\n \"transition-outline transition-colors duration-300 ease-in-out\",\n \"rounded-full\",\n \"leading-none\",\n \"shadow-sm\",\n \"cursor-pointer\",\n \"focus:outline-primary\",\n \"group\",\n \"flex-shrink-0\",\n ],\n {\n \"w-11\": !text && icon,\n \"pl-4 pr-6\": text && icon,\n \"px-4\": text && !icon,\n },\n {\n \"opacity-50\": isDisabled,\n \"pointer-events-none\": isDisabled || isPending,\n },\n className\n );\n\n const textColorClass = allowedColors[textColor ?? \"base\"];\n\n return (\n <button\n ref={innerRef}\n {...otherAttributes}\n className={buttonClassName}\n type={\"button\"}\n onClick={handleClick}\n disabled={isDisabled}\n aria-disabled={isDisabled}\n >\n {icon &&\n !isPending &&\n React.createElement(icon, {\n className: `w-6 h-6 ${textColorClass}`,\n })}\n\n {isPending && (\n <span\n className=\"opacity-100\"\n // IE11 center translate fix\n style={{\n position: \"absolute\",\n left: \"50%\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <Spinner className={textColorClass} />\n </span>\n )}\n\n {text && (\n <Text\n className={classNames({\n invisible: isPending,\n \"ml-1\": icon,\n })}\n text={text}\n color={textColor}\n hoverColor={textHoverColor}\n hoverInGroup\n />\n )}\n </button>\n );\n }\n);\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { ButtonV2 } from \"./ButtonV2\";\nimport { BaseButtonProps, ButtonProps } from \"./ButtonProps.type\";\n\nexport const SecondaryButton = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props: BaseButtonProps, innerRef): JSX.Element => {\n return (\n <ButtonV2\n ref={innerRef}\n {...props}\n className={classNames(\n [\n \"text-blue-800\",\n \"bg-white\",\n \"border-slate-300\",\n \"hover:text-blue-900\",\n \"hover:border-slate-400\",\n \"focus:border-blue-800\",\n ],\n props.className\n )}\n textColor=\"blue-800\"\n textHoverColor=\"blue-900\"\n />\n );\n }\n);\n","/**\n * @param {string} string\n * @param {string} searchTerm\n * @param {boolean} caseSensitive\n */\nexport const isSubstring = (\n string: string | unknown,\n searchTerm: string,\n caseSensitive = false\n): boolean => {\n const trueString =\n typeof string !== \"string\" ? JSON.stringify(string) : string;\n const stringToSearch = caseSensitive ? trueString : trueString?.toLowerCase();\n const searchTermWithCase = caseSensitive\n ? searchTerm\n : searchTerm?.toLowerCase();\n return stringToSearch?.indexOf(searchTermWithCase) > -1;\n};\n\nexport const getBase64 = (file: File): Promise<string> => {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onerror = reject;\n fr.onload = function () {\n resolve((fr.result as string).split(\",\")[1]);\n };\n fr.readAsDataURL(file);\n });\n};\n","var img = \"data:image/svg+xml,%3csvg width='144' height='144' viewBox='0 0 144 144' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M72 144C111.765 144 144 111.765 144 72C144 32.2355 111.765 0 72 0C32.2355 0 0 32.2355 0 72C0 111.765 32.2355 144 72 144Z' fill='%23BBE3D7'/%3e%3cpath d='M100 28H44C41.7909 28 40 29.7909 40 32V112C40 114.209 41.7909 116 44 116H100C102.209 116 104 114.209 104 112V32C104 29.7909 102.209 28 100 28Z' fill='%23FBFEFF'/%3e%3cellipse cx='58' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cellipse cx='58' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cellipse cx='58' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cellipse cx='86' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cellipse cx='86' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cellipse cx='86' cy='98' rx='4' ry='3' fill='%23FFD3E5'/%3e%3cpath d='M71.9007 101.202C70.0421 101.202 68.5352 99.6148 68.5352 97.6578V96H75.2663V97.6578C75.2663 99.6148 73.7594 101.202 71.9007 101.202Z' fill='%23454545'/%3e%3cpath d='M60.0918 96.0458C59.8056 95.6233 59.3882 95.5719 59.2189 95.5719C59.0496 95.5719 58.6252 95.6181 58.3461 96.0458C57.9584 96.6394 57.1663 96.8045 56.5764 96.4145C55.9865 96.025 55.8224 95.2273 56.2101 94.6338C56.8775 93.6111 58.0023 93 59.2189 93C60.4355 93 61.5603 93.6111 62.2284 94.6338C62.6154 95.2273 62.4513 96.025 61.8614 96.4145C61.645 96.5575 60.6888 96.9281 60.0918 96.0458Z' fill='%23454545'/%3e%3cpath d='M85.6543 96.0458C85.3681 95.6233 84.9513 95.5719 84.7814 95.5719C84.6121 95.5719 84.1883 95.6181 83.9092 96.0458C83.5215 96.6394 82.7288 96.8045 82.1389 96.4145C81.549 96.025 81.3849 95.2273 81.7726 94.6338C82.4406 93.6111 83.5655 93 84.7821 93C85.998 93 87.1228 93.6111 87.7909 94.6338C88.1786 95.2273 88.0144 96.025 87.4246 96.4145C87.2081 96.5575 86.2519 96.9281 85.6543 96.0458Z' fill='%23454545'/%3e%3crect x='88.8281' y='45.8281' width='8' height='4' rx='2' transform='rotate(45 88.8281 45.8281)' fill='%23BBE3D7'/%3e%3crect x='100.143' y='45.8281' width='12' height='4' rx='2' transform='rotate(135 100.143 45.8281)' fill='%23BBE3D7'/%3e%3crect x='46' y='46' width='34' height='8' rx='4' fill='%23C0E9FA'/%3e%3crect x='88.8281' y='65.8281' width='8' height='4' rx='2' transform='rotate(45 88.8281 65.8281)' fill='%23BBE3D7'/%3e%3crect x='100.143' y='65.8281' width='12' height='4' rx='2' transform='rotate(135 100.143 65.8281)' fill='%23BBE3D7'/%3e%3crect x='46' y='66' width='34' height='8' rx='4' fill='%23C0E9FA'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='144' height='144' viewBox='0 0 144 144' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg clip-path='url(%23clip0_1866_119823)'%3e%3cmask id='mask0_1866_119823' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='144' height='144'%3e%3cpath d='M0 0V144H144V0H0H0Z' fill='white'/%3e%3c/mask%3e%3cg mask='url(%23mask0_1866_119823)'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M72 144C32.235 144 0 111.765 0 72C0 32.235 32.235 0 72 0C111.765 0 144 32.235 144 72C144 111.765 111.765 144 72 144Z' fill='%236ABFA5'/%3e%3c/g%3e%3cmask id='mask1_1866_119823' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='54' y='36' width='35' height='35'%3e%3cpath d='M71.14 36L71.4657 36.003C80.7804 36.1767 88.28 43.7828 88.28 53.14V70.065L54 69.882V53.14C54 43.674 61.673 36 71.14 36ZM71.14 41.472L70.8441 41.4757C64.6488 41.6327 59.674 46.7039 59.674 52.937V65.524L82.605 65.646V52.937C82.605 46.605 77.471 41.472 71.14 41.472Z' fill='white'/%3e%3c/mask%3e%3cg mask='url(%23mask1_1866_119823)'%3e%3cpath d='M71.14 36L71.4657 36.003C80.7804 36.1767 88.28 43.7828 88.28 53.14V70.065L54 69.882V53.14C54 43.674 61.673 36 71.14 36ZM71.14 41.472L70.8441 41.4757C64.6488 41.6327 59.674 46.7039 59.674 52.937V65.524L82.605 65.646V52.937C82.605 46.605 77.471 41.472 71.14 41.472Z' fill='%23F2F2F2'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M71 39L71.3085 39.0035C78.8971 39.1745 85 45.6404 85 53.5915V68L57 67.8442V53.5915C57 45.533 63.2673 39 71 39ZM71 43.6584L70.7334 43.6623C65.6846 43.8094 61.6345 48.1211 61.6345 53.4187V64.1342L80.3646 64.238V53.4187C80.3646 48.0282 76.1712 43.6584 71 43.6584Z' fill='%23DEDEDE'/%3e%3c/g%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M90.5966 107.98H53.4036C50.1986 107.98 47.5996 105.381 47.5996 102.176V68.7708C47.5996 65.5658 50.1986 62.9668 53.4036 62.9668H90.5966C93.8026 62.9668 96.4006 65.5658 96.4006 68.7708V102.176C96.4006 105.381 93.8026 107.98 90.5966 107.98Z' fill='white'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M71.9277 75.3438C69.1662 75.3438 66.9277 77.5836 66.9277 80.3467C66.9277 82.3006 68.0499 83.9884 69.6804 84.8115L69.6813 95.3438H74.1751L74.1761 84.8115C75.8065 83.9884 76.9277 82.3006 76.9277 80.3467C76.9277 77.5836 74.6893 75.3438 71.9277 75.3438Z' fill='%236670A5'/%3e%3cpath d='M61 62H53V63H61V62Z' fill='white'/%3e%3cpath d='M89 62H81V63H89V62Z' fill='white'/%3e%3cpath d='M72 144C111.765 144 144 111.765 144 72C144 32.2355 111.765 0 72 0C32.2355 0 0 32.2355 0 72C0 111.765 32.2355 144 72 144Z' fill='%236ABFA5'/%3e%3cpath d='M76.975 32.7732C79.9117 37.5004 83.0276 42.9368 86.1287 48.7329C87.8031 51.8633 90.8123 54.0548 94.2988 54.6825C100.469 55.7938 106.31 56.9717 111.465 58.1712C115.702 59.1572 117.426 64.2717 114.653 67.6338C111.028 72.0263 106.95 76.7279 102.457 81.5292C100.104 84.0461 98.9851 87.4836 99.4054 90.909C100.173 97.1657 100.778 103.076 101.239 108.507C101.61 112.876 97.2381 116.105 93.1944 114.44C87.6662 112.163 82.6966 109.553 77.0542 106.776C73.8839 105.217 70.1732 105.197 66.9841 106.72C61.3559 109.408 56.0667 111.994 50.9051 114.19C46.8445 115.918 42.404 112.698 42.7799 108.29C43.2385 102.918 43.8374 97.0822 44.5947 90.909C45.015 87.4829 43.8971 84.0454 41.5426 81.5286C37.051 76.7273 32.9716 72.0256 29.3475 67.6331C26.5747 64.271 28.2981 59.1565 32.5352 58.1705C37.6902 56.9711 43.5319 55.7931 49.7019 54.6819C53.1878 54.0542 56.1969 51.8626 57.872 48.7322C60.9725 42.9362 64.0884 37.4997 67.0257 32.7725C69.3225 29.0757 74.6775 29.0757 76.975 32.7732Z' fill='%23EDFFF9'/%3e%3cpath opacity='0.5' d='M60.6635 77.2045C60.6635 74.8627 58.2874 72.9648 55.3561 72.9648C52.4249 72.9648 50.0488 74.8627 50.0488 77.2045C50.0488 79.5455 52.4249 81.4441 55.3561 81.4441C58.2874 81.4441 60.6635 79.5455 60.6635 77.2045Z' fill='%23FF83B4'/%3e%3cpath opacity='0.5' d='M93.9499 77.2045C93.9499 74.8627 91.5739 72.9648 88.6426 72.9648C85.712 72.9648 83.3359 74.8627 83.3359 77.2045C83.3359 79.5455 85.712 81.4441 88.6426 81.4441C91.5739 81.4441 93.9499 79.5455 93.9499 77.2045Z' fill='%23FF83B4'/%3e%3cpath d='M71.9988 76.516C70.2801 76.516 68.5613 75.9577 67.1272 74.8417C66.5478 74.3911 66.4424 73.554 66.8923 72.9727C67.3414 72.3915 68.176 72.2858 68.7554 72.7363C70.6648 74.2227 73.3329 74.2227 75.243 72.7363C75.8224 72.2858 76.6562 72.3915 77.1061 72.9727C77.5552 73.554 77.4498 74.3911 76.8704 74.8417C75.4363 75.9577 73.7176 76.516 71.9988 76.516Z' fill='%23454545'/%3e%3cpath d='M58.6251 73.96C58.3276 73.5222 57.8939 73.469 57.718 73.469C57.5421 73.469 57.101 73.5168 56.811 73.96C56.4081 74.5749 55.585 74.746 54.972 74.3419C54.3591 73.9384 54.1885 73.1121 54.5914 72.4972C55.2849 71.4378 56.4538 70.8047 57.718 70.8047C58.9822 70.8047 60.1511 71.4378 60.8453 72.4972C61.2475 73.1121 61.077 73.9384 60.464 74.3419C60.2391 74.49 59.2454 74.8739 58.6251 73.96Z' fill='%23454545'/%3e%3cpath d='M87.1876 73.96C86.8901 73.5222 86.4571 73.469 86.2805 73.469C86.1046 73.469 85.6642 73.5168 85.3741 73.96C84.9713 74.5749 84.1475 74.746 83.5345 74.3419C82.9216 73.9384 82.751 73.1121 83.1539 72.4972C83.8481 71.4378 85.017 70.8047 86.2812 70.8047C87.5447 70.8047 88.7136 71.4378 89.4078 72.4972C89.8107 73.1121 89.6401 73.9384 89.0272 74.3419C88.8022 74.49 87.8086 74.8739 87.1876 73.96Z' fill='%23454545'/%3e%3cg clip-path='url(%23clip1_1866_119823)'%3e%3cmask id='mask2_1866_119823' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='144' height='144'%3e%3cpath d='M0 0V144H144V0H0H0Z' fill='white'/%3e%3c/mask%3e%3cg mask='url(%23mask2_1866_119823)'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M72 144C32.235 144 0 111.765 0 72C0 32.235 32.235 0 72 0C111.765 0 144 32.235 144 72C144 111.765 111.765 144 72 144Z' fill='%23BBE3D7'/%3e%3c/g%3e%3cmask id='mask3_1866_119823' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='54' y='36' width='35' height='35'%3e%3cpath d='M71.14 36L71.4657 36.003C80.7804 36.1767 88.28 43.7828 88.28 53.14V70.065L54 69.882V53.14C54 43.674 61.673 36 71.14 36ZM71.14 41.472L70.8441 41.4757C64.6488 41.6327 59.674 46.7039 59.674 52.937V65.524L82.605 65.646V52.937C82.605 46.605 77.471 41.472 71.14 41.472Z' fill='white'/%3e%3c/mask%3e%3cg mask='url(%23mask3_1866_119823)'%3e%3cpath d='M71.14 36L71.4657 36.003C80.7804 36.1767 88.28 43.7828 88.28 53.14V70.065L54 69.882V53.14C54 43.674 61.673 36 71.14 36ZM71.14 41.472L70.8441 41.4757C64.6488 41.6327 59.674 46.7039 59.674 52.937V65.524L82.605 65.646V52.937C82.605 46.605 77.471 41.472 71.14 41.472Z' fill='%23F2F2F2'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M71 39L71.3085 39.0035C78.8971 39.1745 85 45.6404 85 53.5915V68L57 67.8442V53.5915C57 45.533 63.2673 39 71 39ZM71 43.6584L70.7334 43.6623C65.6846 43.8094 61.6345 48.1211 61.6345 53.4187V64.1342L80.3646 64.238V53.4187C80.3646 48.0282 76.1712 43.6584 71 43.6584Z' fill='%23DEDEDE'/%3e%3c/g%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M90.5966 107.98H53.4036C50.1986 107.98 47.5996 105.381 47.5996 102.176V68.7708C47.5996 65.5658 50.1986 62.9668 53.4036 62.9668H90.5966C93.8026 62.9668 96.4006 65.5658 96.4006 68.7708V102.176C96.4006 105.381 93.8026 107.98 90.5966 107.98Z' fill='white'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M71.9277 75.3438C69.1662 75.3438 66.9277 77.5836 66.9277 80.3467C66.9277 82.3006 68.0499 83.9884 69.6804 84.8115L69.6813 95.3438H74.1751L74.1761 84.8115C75.8065 83.9884 76.9277 82.3006 76.9277 80.3467C76.9277 77.5836 74.6893 75.3438 71.9277 75.3438Z' fill='%236670A5'/%3e%3cpath d='M61 62H53V63H61V62Z' fill='white'/%3e%3cpath d='M89 62H81V63H89V62Z' fill='white'/%3e%3cpath d='M72 144C111.765 144 144 111.765 144 72C144 32.2355 111.765 0 72 0C32.2355 0 0 32.2355 0 72C0 111.765 32.2355 144 72 144Z' fill='%23BBE3D7'/%3e%3cpath d='M76.975 32.7732C79.9117 37.5004 83.0276 42.9368 86.1287 48.7329C87.8031 51.8633 90.8123 54.0548 94.2988 54.6825C100.469 55.7938 106.31 56.9717 111.465 58.1712C115.702 59.1572 117.426 64.2717 114.653 67.6338C111.028 72.0263 106.95 76.7279 102.457 81.5292C100.104 84.0461 98.9851 87.4836 99.4054 90.909C100.173 97.1657 100.778 103.076 101.239 108.507C101.61 112.876 97.2381 116.105 93.1944 114.44C87.6662 112.163 82.6966 109.553 77.0542 106.776C73.8839 105.217 70.1732 105.197 66.9841 106.72C61.3559 109.408 56.0667 111.994 50.9051 114.19C46.8445 115.918 42.404 112.698 42.7799 108.29C43.2385 102.918 43.8374 97.0822 44.5947 90.909C45.015 87.4829 43.8971 84.0454 41.5426 81.5286C37.051 76.7273 32.9716 72.0256 29.3475 67.6331C26.5747 64.271 28.2981 59.1565 32.5352 58.1705C37.6902 56.9711 43.5319 55.7931 49.7019 54.6819C53.1878 54.0542 56.1969 51.8626 57.872 48.7322C60.9725 42.9362 64.0884 37.4997 67.0257 32.7725C69.3225 29.0757 74.6775 29.0757 76.975 32.7732Z' fill='%23EDFFF9'/%3e%3cpath opacity='0.5' d='M60.6635 77.2045C60.6635 74.8627 58.2874 72.9648 55.3561 72.9648C52.4249 72.9648 50.0488 74.8627 50.0488 77.2045C50.0488 79.5455 52.4249 81.4441 55.3561 81.4441C58.2874 81.4441 60.6635 79.5455 60.6635 77.2045Z' fill='%23FF83B4'/%3e%3cpath opacity='0.5' d='M93.9499 77.2045C93.9499 74.8627 91.5739 72.9648 88.6426 72.9648C85.712 72.9648 83.3359 74.8627 83.3359 77.2045C83.3359 79.5455 85.712 81.4441 88.6426 81.4441C91.5739 81.4441 93.9499 79.5455 93.9499 77.2045Z' fill='%23FF83B4'/%3e%3cpath d='M71.9988 76.516C70.2801 76.516 68.5613 75.9577 67.1272 74.8417C66.5478 74.3911 66.4424 73.554 66.8923 72.9727C67.3414 72.3915 68.176 72.2858 68.7554 72.7363C70.6648 74.2227 73.3329 74.2227 75.243 72.7363C75.8224 72.2858 76.6562 72.3915 77.1061 72.9727C77.5552 73.554 77.4498 74.3911 76.8704 74.8417C75.4363 75.9577 73.7176 76.516 71.9988 76.516Z' fill='%23454545'/%3e%3cpath d='M58.6251 73.96C58.3276 73.5222 57.8939 73.469 57.718 73.469C57.5421 73.469 57.101 73.5168 56.811 73.96C56.4081 74.5749 55.585 74.746 54.972 74.3419C54.3591 73.9384 54.1885 73.1121 54.5914 72.4972C55.2849 71.4378 56.4538 70.8047 57.718 70.8047C58.9822 70.8047 60.1511 71.4378 60.8453 72.4972C61.2475 73.1121 61.077 73.9384 60.464 74.3419C60.2391 74.49 59.2454 74.8739 58.6251 73.96Z' fill='%23454545'/%3e%3cpath d='M87.1876 73.96C86.8901 73.5222 86.4571 73.469 86.2805 73.469C86.1046 73.469 85.6642 73.5168 85.3741 73.96C84.9713 74.5749 84.1475 74.746 83.5345 74.3419C82.9216 73.9384 82.751 73.1121 83.1539 72.4972C83.8481 71.4378 85.017 70.8047 86.2812 70.8047C87.5447 70.8047 88.7136 71.4378 89.4078 72.4972C89.8107 73.1121 89.6401 73.9384 89.0272 74.3419C88.8022 74.49 87.8086 74.8739 87.1876 73.96Z' fill='%23454545'/%3e%3ccircle cx='72' cy='72' r='72' fill='%23BBE3D7'/%3e%3cpath d='M57.8627 78L65 85.1367C65 85.1367 58.3298 97.4142 46.3849 109.359C42.1198 113.625 35.8091 114.23 32.2895 110.71C28.7706 107.19 29.3753 100.88 33.6404 96.6145C45.5853 84.6696 57.8627 78 57.8627 78Z' fill='%236670A5'/%3e%3cpath d='M49 83.6111C50.3607 85.6362 51.9273 87.5447 53.691 89.3083C55.4553 91.072 57.3631 92.6393 59.3882 94C63.0565 88.8161 65 85.239 65 85.239L57.7604 78C57.7604 78 54.1839 79.9435 49 83.6111Z' fill='%237A86C6'/%3e%3cpath d='M113 62.5C113 80.4489 98.4489 95 80.5 95C62.5511 95 48 80.4489 48 62.5C48 44.5504 62.5511 30 80.5 30C98.4489 30 113 44.5504 113 62.5Z' fill='%236670A5'/%3e%3cpath d='M104 62.5003C104 75.4788 93.4787 86 80.5 86C67.5213 86 57 75.4788 57 62.5003C57 49.5218 67.5213 39 80.5 39C93.4787 39 104 49.5218 104 62.5003Z' fill='%23CCECF9'/%3e%3cpath d='M66.5 64C65.6716 64 65 63.3273 65 62.4976V59.5024C65 58.6727 65.6716 58 66.5 58C67.3284 58 68 58.6727 68 59.5024V62.4974C68.0002 63.3272 67.3284 64 66.5 64Z' fill='%232D2D2D'/%3e%3cpath d='M94.5 64C93.6716 64 93 63.3273 93 62.4976V59.5024C93 58.6727 93.6716 58 94.5 58C95.3284 58 96 58.6727 96 59.5024V62.4974C96.0002 63.3272 95.3284 64 94.5 64Z' fill='%232D2D2D'/%3e%3cpath d='M80.5002 69C78.5064 69 76.6346 68.1213 75.3655 66.5887C74.828 65.9395 74.8906 64.9532 75.5057 64.3859C76.1208 63.8187 77.0552 63.8846 77.5928 64.5338C78.3 65.3879 79.3596 65.8776 80.5001 65.8776C81.6403 65.8776 82.6999 65.3879 83.4071 64.5338C83.9447 63.8846 84.8791 63.8183 85.4943 64.3859C86.1094 64.9532 86.1722 65.9395 85.6344 66.5887C84.3657 68.1213 82.4941 69 80.5002 69Z' fill='%232D2D2D'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath id='clip0_1866_119823'%3e%3crect width='144' height='144' fill='white'/%3e%3c/clipPath%3e%3cclipPath id='clip1_1866_119823'%3e%3crect width='144' height='144' fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='144' height='144' viewBox='0 0 144 144' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M72 144C111.765 144 144 111.765 144 72C144 32.2355 111.765 0 72 0C32.2355 0 0 32.2355 0 72C0 111.765 32.2355 144 72 144Z' fill='%236ABFA5'/%3e%3cpath d='M76.975 32.7732C79.9117 37.5004 83.0276 42.9368 86.1287 48.7329C87.8031 51.8633 90.8123 54.0548 94.2988 54.6825C100.469 55.7938 106.31 56.9717 111.465 58.1712C115.702 59.1572 117.426 64.2717 114.653 67.6338C111.028 72.0263 106.95 76.7279 102.457 81.5292C100.104 84.0461 98.9851 87.4836 99.4054 90.909C100.173 97.1657 100.778 103.076 101.239 108.507C101.61 112.876 97.2381 116.105 93.1944 114.44C87.6662 112.163 82.6966 109.553 77.0542 106.776C73.8839 105.217 70.1732 105.197 66.9841 106.72C61.3559 109.408 56.0667 111.994 50.9051 114.19C46.8445 115.918 42.404 112.698 42.7799 108.29C43.2385 102.918 43.8374 97.0822 44.5947 90.909C45.015 87.4829 43.8971 84.0454 41.5426 81.5286C37.051 76.7273 32.9716 72.0256 29.3475 67.6331C26.5747 64.271 28.2981 59.1565 32.5352 58.1705C37.6902 56.9711 43.5319 55.7931 49.7019 54.6819C53.1878 54.0542 56.1969 51.8626 57.872 48.7322C60.9725 42.9362 64.0884 37.4997 67.0257 32.7725C69.3225 29.0757 74.6775 29.0757 76.975 32.7732Z' fill='%23EDFFF9'/%3e%3cpath opacity='0.5' d='M60.6643 77.204C60.6643 74.8623 58.2883 72.9644 55.357 72.9644C52.4257 72.9644 50.0497 74.8623 50.0497 77.204C50.0497 79.545 52.4257 81.4436 55.357 81.4436C58.2883 81.4436 60.6643 79.545 60.6643 77.204Z' fill='%23FF83B4'/%3e%3cpath opacity='0.5' d='M93.9503 77.204C93.9503 74.8623 91.5743 72.9644 88.643 72.9644C85.7124 72.9644 83.3364 74.8623 83.3364 77.204C83.3364 79.545 85.7124 81.4436 88.643 81.4436C91.5743 81.4436 93.9503 79.545 93.9503 77.204Z' fill='%23FF83B4'/%3e%3cpath d='M72 76.516C70.2813 76.516 68.5625 75.9577 67.1285 74.8417C66.5491 74.3911 66.4437 73.554 66.8935 72.9727C67.3426 72.3915 68.1772 72.2858 68.7566 72.7363C70.666 74.2227 73.3341 74.2227 75.2442 72.7363C75.8236 72.2858 76.6575 72.3915 77.1073 72.9727C77.5564 73.554 77.451 74.3911 76.8716 74.8417C75.4375 75.9577 73.7188 76.516 72 76.516Z' fill='%23454545'/%3e%3cpath d='M58.626 73.96C58.3286 73.5222 57.8949 73.469 57.719 73.469C57.5431 73.469 57.102 73.5168 56.8119 73.96C56.4091 74.5749 55.586 74.746 54.973 74.3419C54.36 73.9384 54.1895 73.1121 54.5923 72.4972C55.2859 71.4378 56.4548 70.8047 57.719 70.8047C58.9832 70.8047 60.1521 71.4378 60.8463 72.4972C61.2485 73.1121 61.0779 73.9384 60.465 74.3419C60.24 74.49 59.2464 74.8739 58.626 73.96Z' fill='%23454545'/%3e%3cpath d='M87.1882 73.96C86.8907 73.5222 86.4577 73.469 86.2811 73.469C86.1052 73.469 85.6648 73.5168 85.3747 73.96C84.9719 74.5749 84.1481 74.746 83.5351 74.3419C82.9222 73.9384 82.7516 73.1121 83.1545 72.4972C83.8487 71.4378 85.0176 70.8047 86.2818 70.8047C87.5453 70.8047 88.7142 71.4378 89.4084 72.4972C89.8113 73.1121 89.6407 73.9384 89.0278 74.3419C88.8028 74.49 87.8092 74.8739 87.1882 73.96Z' fill='%23454545'/%3e%3c/svg%3e\";\n export default img;","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport NoOpenAlertsImage from \"../../assets/no-open-alerts.svg\";\nimport SearchNotFoundImage from \"../../assets/search-not-found.svg\";\nimport HappyStarImage from \"../../assets/happy-star.svg\";\nimport { Text } from \"../Text/Text\";\n\nconst imageSrc = {\n \"no-open-alerts\": NoOpenAlertsImage,\n \"search-not-found\": SearchNotFoundImage,\n \"no-notes-found\": HappyStarImage,\n};\n\ninterface EmptyListMessageProps {\n text: string;\n imageName?: keyof typeof imageSrc;\n dataTestId?: string;\n className?: string;\n}\n\nexport const EmptyListMessage = ({\n text,\n imageName,\n dataTestId = \"empty-list-message\",\n className,\n}: EmptyListMessageProps): JSX.Element => {\n return (\n <div className={classNames(\"flex flex-col items-center\", className)} data-test-id={dataTestId}>\n {imageName && <img className=\"mb-2.5\" alt=\"\" src={imageSrc[imageName]} />}\n <Text className=\"text-center\" text={text} />\n </div>\n );\n};\n","var img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='68' height='20' viewBox='0 0 68 20'%3e %3cg fill='none' fill-rule='nonzero'%3e %3ccircle cx='10' cy='10' r='10' fill='%23F09'%3e %3canimate attributeName='opacity' dur='2s' values='1%3b0.6%3b1' repeatCount='indefinite' begin='0.1'/%3e %3canimate attributeName='r' dur='2s' repeatCount='indefinite' values='10%3b8%3b10' begin='0.1'/%3e %3c/circle%3e %3ccircle cx='34' cy='10' r='10' fill='%236ABFA5'%3e %3canimate attributeName='opacity' dur='2s' values='1%3b0.6%3b1' repeatCount='indefinite' begin='0.6'/%3e %3canimate attributeName='r' dur='2s' repeatCount='indefinite' values='10%3b8%3b10' begin='0.6'/%3e %3c/circle%3e %3ccircle cx='58' cy='10' r='10' fill='%236670A5'%3e %3canimate attributeName='opacity' dur='2s' values='1%3b0.6%3b1' repeatCount='indefinite' begin='1.1'/%3e %3canimate attributeName='r' dur='2s' repeatCount='indefinite' values='10%3b8%3b10' begin='1.1'/%3e %3c/circle%3e %3c/g%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='margin: auto%3b background: none%3b display: block%3b shape-rendering: auto%3b' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3e%3ccircle cx='50' cy='50' fill='none' stroke='%23009fe3' stroke-width='16' r='36' stroke-dasharray='169.64600329384882 58.548667764616276'%3e %3canimateTransform attributeName='transform' type='rotate' repeatCount='indefinite' dur='1.1111111111111112s' values='0 50 50%3b360 50 50' keyTimes='0%3b1'%3e%3c/animateTransform%3e%3c/circle%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3c%3fxml version='1.0' encoding='utf-8'%3f%3e%3csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='margin: auto%3b background: none%3b display: block%3b shape-rendering: auto%3b' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3e%3ccircle cx='50' cy='50' fill='none' stroke='%23cbd5e1' stroke-width='16' r='36' stroke-dasharray='169.64600329384882 58.548667764616276'%3e %3canimateTransform attributeName='transform' type='rotate' repeatCount='indefinite' dur='1.1111111111111112s' values='0 50 50%3b360 50 50' keyTimes='0%3b1'%3e%3c/animateTransform%3e%3c/circle%3e%3c!-- %5bldio%5d generated by https://loading.io/ --%3e%3c/svg%3e\";\n export default img;","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport loadingImage from \"../../assets/loading.svg\";\nimport spinner from \"../../assets/spinner.svg\";\nimport graySpinner from \"../../assets/spinner-gray.svg\";\nimport { RestPropped } from \"../../types/general.types\";\n\nimport \"./LoadingIndicator.scss\";\n\nexport interface LoadingIndicatorProps extends RestPropped {\n asModal?: boolean;\n asSpinner?: boolean;\n className?: string;\n spinnerColor?: \"blue\" | \"gray\";\n}\n\nexport function LoadingIndicator({\n asModal = false,\n asSpinner = false,\n className = \"\",\n spinnerColor = \"blue\",\n\n ...restProps\n}: LoadingIndicatorProps): JSX.Element {\n const spinnerToRender = spinnerColor === \"blue\" ? spinner : graySpinner;\n\n const containerClassName = classNames(\"cweb-loading\", className, {\n \"as-modal\": asModal,\n });\n\n return (\n <div {...restProps} className={containerClassName}>\n <img\n src={asSpinner ? spinnerToRender : loadingImage}\n data-chromatic=\"ignore\"\n className={classNames(\"text-gray-600 fill-current stroke-current\", {\n \"h-4 w-4\": asSpinner,\n \"h-12 w-12\": !asSpinner,\n })}\n />\n </div>\n );\n}\n\nexport default LoadingIndicator;\n","import React, { useMemo, useState } from \"react\";\n\nimport Accordion, { AccordionProps } from \"../Accordion/Accordion\";\nimport { ListItemProps } from \"../List/List.types\";\nimport { AccordionItemProps } from \"../Accordion/AccordionItem\";\nimport List from \"../List/List\";\nimport { SearchInput } from \"../Input/SearchInput\";\nimport { Title } from \"../Title/Title\";\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { isSubstring } from \"../../utils/string.utils\";\nimport { BaseButtonProps } from \"../ButtonV2/ButtonProps.type\";\nimport { EmptyListMessage } from \"../EmptyListMessage/EmptyListMessage\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\n\nexport interface AccordionListProps extends Omit<AccordionProps, \"items\"> {\n localisations: {\n title: string;\n searchPlaceholder?: string;\n emptyListText?: string;\n };\n accordionItems: AccordionListItemProps[];\n buttonProps?: BaseButtonProps;\n isSearchEnabled?: boolean;\n isLoading?: boolean;\n}\n\nexport interface AccordionListItemProps\n extends Omit<AccordionItemProps, \"content\"> {\n listItems: ListItemProps[];\n}\n\nexport const AccordionList: React.VFC<AccordionListProps> = ({\n localisations: { title, searchPlaceholder = \"\", emptyListText = \"\" },\n buttonProps,\n accordionItems,\n isSearchEnabled = false,\n isLoading = false,\n ...accordionProps\n}) => {\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredAccordionItems = useMemo(() => {\n return accordionItems\n .map((accordionItem) => {\n const filteredListItems = accordionItem.listItems.filter(\n (listItem) =>\n !isSearchEnabled ||\n isSubstring(listItem.title, searchString) ||\n isSubstring(listItem.subtitle, searchString)\n );\n if (!isSearchEnabled && filteredListItems.length === 0) {\n return null;\n }\n const filteredListLength = searchString\n ? `${filteredListItems.length}/`\n : \"\";\n const itemCount = isSearchEnabled\n ? ` (${filteredListLength}${accordionItem.listItems.length})`\n : \"\";\n\n return {\n ...accordionItem,\n title: `${accordionItem.title}${itemCount}`,\n content: <List items={filteredListItems} />,\n };\n })\n .filter(Boolean) as AccordionItemProps[];\n }, [accordionItems, searchString]);\n return (\n <div\n className={\n \"bg-white h-full rounded-lg box-border overflow-auto flex flex-col\"\n }\n >\n <div className={\"p-6 flex flex-col space-y-4 border-b border-slate-100\"}>\n {title && <Title text={title} type={\"sm\"} />}\n {isSearchEnabled && (\n <SearchInput\n className=\"w-full\"\n value={searchString}\n placeholder={searchPlaceholder}\n onChange={(e) => {\n setSearchString(\n typeof e === \"string\" ? e : e.currentTarget.value\n );\n }}\n />\n )}\n {buttonProps && (\n <div>\n <SecondaryButton {...buttonProps} />\n </div>\n )}\n </div>\n\n {isLoading && <LoadingIndicator className=\"flex-1\" />}\n {!isLoading && filteredAccordionItems.length > 0 && (\n <Accordion {...accordionProps} items={filteredAccordionItems} />\n )}\n {!isLoading && filteredAccordionItems.length === 0 && (\n <EmptyListMessage\n imageName={\"search-not-found\"}\n text={emptyListText}\n className={\"mb-4 py-4 border-t border-b border-slate-100\"}\n />\n )}\n </div>\n );\n};\n\nexport default AccordionList;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { ButtonV2 } from \"./ButtonV2\";\nimport { BaseButtonProps } from \"./ButtonProps.type\";\n\nexport const TertiaryButton = (props: BaseButtonProps): JSX.Element => {\n return (\n <ButtonV2\n {...props}\n className={classNames(\n [\n \"text-blue-800\",\n \"bg-transparent\",\n \"border-transparent\",\n \"hover:text-blue-900\",\n \"focus:border-blue-800\",\n \"shadow-none\",\n ],\n props.className\n )}\n textColor=\"blue-800\"\n textHoverColor=\"blue-900\"\n />\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { CrossIcon } from \"../Icons/CrossIcon\";\nimport { TertiaryButton } from \"../ButtonV2/TertiaryButton\";\nimport { Title } from \"../Title/Title\";\n\nexport type ModalHeaderProps = {\n title: string;\n onCloseClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n};\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = (props) => {\n return (\n <div\n className={classNames(\n \"flex flex-row\",\n \"px-6 py-4 space-x-2\",\n \"justify-between items-center\",\n \"border-b border-slate-100\",\n \"rounded-t-lg\"\n )}\n >\n <Title text={props.title} type={\"sm\"} />\n <TertiaryButton icon={CrossIcon} onClick={props.onCloseClick} />\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { ButtonV2 } from \"./ButtonV2\";\nimport { ButtonWithPendingStateProps } from \"./ButtonProps.type\";\n\nexport const PrimaryButton = (\n props: ButtonWithPendingStateProps\n): JSX.Element => {\n return (\n <ButtonV2\n {...props}\n className={classNames(\n [\n \"text-white\",\n \"bg-blue-800\",\n \"border-primary-transparent\",\n \"hover:bg-blue-900\",\n ],\n props.className\n )}\n textColor=\"white\"\n />\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport {\n ButtonWithPendingStateProps,\n NonPrimaryButtonProps,\n PrimaryButtonProps,\n} from \"../ButtonV2/ButtonProps.type\";\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { PrimaryButton } from \"../ButtonV2/PrimaryButton\";\nimport Text from \"../Text/Text\";\n\nexport interface ModalFooterTrailingComponents {\n primaryButtonProps: PrimaryButtonProps;\n secondaryButtonProps?: NonPrimaryButtonProps;\n}\n\nexport type ModalFooterLeadingComponent = string | ButtonWithPendingStateProps;\n\nexport type ModalFooterProps = {\n footerLeadingComponent?: ModalFooterLeadingComponent;\n footerTrailingComponents: ModalFooterTrailingComponents;\n};\n\nexport const ModalFooter: React.FC<ModalFooterProps> = (props) => {\n return (\n <div\n className={classNames(\n \"flex flex-row\",\n \"px-6 py-4 space-x-2\",\n \"items-center\",\n \"bg-slate-50 border-t border-slate-100\",\n \"rounded-b-lg\",\n {\n \"justify-between\": props.footerLeadingComponent,\n \"justify-end\": !props.footerLeadingComponent,\n }\n )}\n >\n {props.footerLeadingComponent &&\n (typeof props.footerLeadingComponent === \"string\" ? (\n <Text\n text={props.footerLeadingComponent}\n type={\"base\"}\n color={\"slate-500\"}\n />\n ) : (\n <SecondaryButton\n data-test-id=\"modal-footer-leading-secondary-button\"\n {...props.footerLeadingComponent}\n />\n ))}\n\n <div className=\"flex flex-row space-x-2\">\n {props.footerTrailingComponents.secondaryButtonProps && (\n <SecondaryButton\n data-test-id=\"modal-footer-trailing-secondary-button\"\n {...props.footerTrailingComponents.secondaryButtonProps}\n />\n )}\n <PrimaryButton\n data-test-id=\"modal-footer-trailing-primary-button\"\n {...props.footerTrailingComponents.primaryButtonProps}\n />\n </div>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport { ModalHeader, ModalHeaderProps } from \"./ModalHeader\";\nimport { ModalFooter, ModalFooterProps } from \"./ModalFooter\";\n\nexport type ModalSize = \"small\" | \"medium\" | \"wide\";\n\nexport type ModalBaseProps = Omit<ModalHeaderProps, \"title\"> & {\n children: React.ReactNode;\n size?: ModalSize;\n withExtraMarginTop?: boolean;\n withContentPaddingY?: boolean;\n isOpen?: boolean;\n title?: string;\n dataTestId?: string;\n scrollableContent?: boolean;\n onCloseClick: (\n event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>\n ) => void;\n} & ModalFooterProps;\n\nexport const ModalBase: React.FC<ModalBaseProps> = (props) => {\n const { size = \"medium\", withContentPaddingY = true, isOpen = false } = props;\n\n ReactModal.setAppElement(\"body\");\n\n return (\n <div\n data-test-id=\"clicking-propagation-preventer\"\n onClick={(event) => {\n // https://github.com/reactjs/react-modal/issues/939\n event.stopPropagation();\n }}\n >\n <ReactModal\n isOpen={isOpen}\n data={{ \"test-id\": props.dataTestId ?? \"react-modal\" }}\n contentLabel={props.title}\n overlayClassName={classNames(\n \"px-2 py-15\",\n \"z-20\",\n \"fixed top-0 bottom-0 left-0 right-0\",\n \"overflow-x-hidden overflow-y-auto\",\n \"bg-overlay\"\n )}\n onRequestClose={props.onCloseClick}\n shouldFocusAfterRender={false}\n shouldCloseOnOverlayClick={false}\n className={classNames(\n \"my-0 mx-auto\",\n \"relative\",\n \"bg-white outline-none rounded-lg shadow-lg\",\n {\n \"overflow-y-hidden\": props.scrollableContent,\n \"mt-17\": props.withExtraMarginTop,\n \"w-80\": size === \"small\",\n \"w-132\": size === \"medium\",\n \"w-216\": size === \"wide\",\n }\n )}\n >\n {props.title && (\n <ModalHeader title={props.title} onCloseClick={props.onCloseClick} />\n )}\n\n <div\n className={classNames({\n \"rounded-t-lg\": !props.title,\n \"max-h-135 overflow-y-auto\": props.scrollableContent,\n })}\n >\n <div\n className={classNames(\"px-6\", {\n \"py-6\": withContentPaddingY,\n })}\n >\n {props.children}\n </div>\n </div>\n\n <ModalFooter\n footerLeadingComponent={props.footerLeadingComponent}\n footerTrailingComponents={props.footerTrailingComponents}\n />\n </ReactModal>\n </div>\n );\n};\n","import React from \"react\";\n\nimport { ModalBase, ModalBaseProps } from \"./ModalBase\";\n\nexport type ModalProps = Omit<\n ModalBaseProps,\n \"title\" | \"withExtraMarginTop\"\n> & {\n title: string;\n};\n\nexport const Modal: React.FC<ModalProps> = (props) => {\n return <ModalBase {...props} />;\n};\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Avatar.scss\";\n\nfunction checkImageValidity(src) {\n return new Promise((resolve) => {\n const image = new Image();\n image.onload = () => {\n resolve(true);\n };\n image.onerror = () => {\n resolve(false);\n };\n image.src = src;\n });\n}\n\nconst AVATAR_SIZE_OPTIONS = {\n LARGE: \"large\",\n MEDIUM: \"medium\",\n SMALL: \"small\",\n};\n\nexport const Avatar = ({ size, src, defaultImage, initials, className }) => {\n const [hasValidImage, setHasValidImage] = useState(false);\n\n useEffect(() => {\n let mounted = true;\n if (!defaultImage && src) {\n checkImageValidity(src).then((res) => {\n if (mounted) {\n setHasValidImage(res);\n }\n });\n }\n return () => {\n mounted = false;\n };\n }, [defaultImage, src]);\n\n const containerClassName = classNames(\"cweb-avatar type-readonly\", className, {\n \"size-large\": size === AVATAR_SIZE_OPTIONS.LARGE,\n \"size-medium\": size === AVATAR_SIZE_OPTIONS.MEDIUM,\n \"size-small\": size === AVATAR_SIZE_OPTIONS.SMALL,\n \"display-image\": hasValidImage,\n \"display-initials\": !hasValidImage,\n });\n\n const renderAvatar = () => {\n if (defaultImage) {\n return <img className=\"avatar-image\" src={defaultImage} alt=\"User avatar image\" />;\n } else if (hasValidImage) {\n return <img className=\"avatar-image\" src={src} alt=\"User avatar image\" />;\n } else {\n return <span className=\"avatar-initials-text\">{initials}</span>;\n }\n };\n\n return (\n <div className={containerClassName}>\n <div className=\"avatar-content-container\">{renderAvatar()}</div>\n </div>\n );\n};\n\nAvatar.propTypes = {\n src: PropTypes.string,\n initials: PropTypes.string.isRequired,\n size: PropTypes.oneOf([AVATAR_SIZE_OPTIONS.LARGE, AVATAR_SIZE_OPTIONS.MEDIUM, AVATAR_SIZE_OPTIONS.SMALL]),\n defaultImage: PropTypes.string,\n className: PropTypes.string,\n};\n\nAvatar.defaultProps = {\n size: AVATAR_SIZE_OPTIONS.MEDIUM,\n defaultImage: null,\n};\n\nexport default Avatar;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\ninterface BadgeProps {\n badgeCount: number;\n className?: string;\n}\n\nconst Badge = (props: BadgeProps): JSX.Element => {\n const containerClasses = classNames(\n [\"inline-flex\", \"items-center\", \"justify-center\", \"rounded-full\", \"h-6\", \"min-w-24\", \"px-2\", \"bg-color-negative\"],\n props.className\n );\n const textClasses = classNames([\"text-xs\", \"text-white\", \"leading-none\"]);\n\n return (\n <div className={containerClasses}>\n <span className={textClasses}>{props.badgeCount}</span>\n </div>\n );\n};\n\nexport default Badge;\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const AddIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 19C11.7167 19 11.4793 18.904 11.288 18.712C11.096 18.5207 11 18.2833 11 18V13H6C5.71667 13 5.479 12.904 5.287 12.712C5.09567 12.5207 5 12.2833 5 12C5 11.7167 5.09567 11.479 5.287 11.287C5.479 11.0957 5.71667 11 6 11H11V6C11 5.71667 11.096 5.479 11.288 5.287C11.4793 5.09567 11.7167 5 12 5C12.2833 5 12.521 5.09567 12.713 5.287C12.9043 5.479 13 5.71667 13 6V11H18C18.2833 11 18.5207 11.0957 18.712 11.287C18.904 11.479 19 11.7167 19 12C19 12.2833 18.904 12.5207 18.712 12.712C18.5207 12.904 18.2833 13 18 13H13V18C13 18.2833 12.9043 18.5207 12.713 18.712C12.521 18.904 12.2833 19 12 19Z\"\n fill=\"#0074DD\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const DeleteIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 19C6 20.1 6.9 21 8 21H16C17.1 21 18 20.1 18 19V9C18 7.9 17.1 7 16 7H8C6.9 7 6 7.9 6 9V19ZM18 4H15.5L14.79 3.29C14.61 3.11 14.35 3 14.09 3H9.91C9.65 3 9.39 3.11 9.21 3.29L8.5 4H6C5.45 4 5 4.45 5 5C5 5.55 5.45 6 6 6H18C18.55 6 19 5.55 19 5C19 4.45 18.55 4 18 4Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const EditIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3 17.4605V20.5005C3 20.7805 3.22 21.0005 3.5 21.0005H6.54C6.67 21.0005 6.8 20.9505 6.89 20.8505L17.81 9.94055L14.06 6.19055L3.15 17.1005C3.05 17.2005 3 17.3205 3 17.4605ZM20.71 7.04055C21.1 6.65055 21.1 6.02055 20.71 5.63055L18.37 3.29055C17.98 2.90055 17.35 2.90055 16.96 3.29055L15.13 5.12055L18.88 8.87055L20.71 7.04055V7.04055Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const LeftArrowIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.6899 17.2902C14.0799 16.9002 14.0799 16.2702 13.6899 15.8802L9.80992 12.0002L13.6899 8.12022C14.0799 7.73022 14.0799 7.10022 13.6899 6.71022C13.2999 6.32022 12.6699 6.32022 12.2799 6.71022L7.68992 11.3002C7.29992 11.6902 7.29992 12.3202 7.68992 12.7102L12.2799 17.3002C12.6599 17.6802 13.2999 17.6802 13.6899 17.2902Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const RightArrowIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.31008 6.70978C8.92008 7.09978 8.92008 7.72978 9.31008 8.11978L13.1901 11.9998L9.31008 15.8798C8.92008 16.2698 8.92008 16.8998 9.31008 17.2898C9.70008 17.6798 10.3301 17.6798 10.7201 17.2898L15.3101 12.6998C15.7001 12.3098 15.7001 11.6798 15.3101 11.2898L10.7201 6.69978C10.3401 6.31978 9.70008 6.31978 9.31008 6.70978Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChartIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"2\" y=\"7\" width=\"5\" height=\"15\" rx=\"2.5\" fill=\"currentColor\" />\n <rect x=\"9\" y=\"3\" width=\"5\" height=\"19\" rx=\"2.5\" fill=\"currentColor\" />\n <rect x=\"16\" y=\"10\" width=\"5\" height=\"12\" rx=\"2.5\" fill=\"currentColor\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const PrintIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"19\"\n height=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16.6 5H15V.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5V5H2.4A2.4 2.4 0 0 0 0 7.4v5.2A2.4 2.4 0 0 0 2.4 15H5v2.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V15h2.6a2.4 2.4 0 0 0 2.4-2.4V7.4A2.4 2.4 0 0 0 16.6 5zM5 1h9v4H5V1zm8 16H6v-5h7v5zm5-4.4a1.4 1.4 0 0 1-1.4 1.4H14v-2.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5V14H2.4A1.4 1.4 0 0 1 1 12.6V7.4A1.4 1.4 0 0 1 2.4 6h14.2A1.4 1.4 0 0 1 18 7.4v5.2z\"\n fill=\"currentColor\"\n fillRule=\"nonzero\"\n />\n </svg>\n );\n};\n","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M7.05037 5.63664C6.65984 5.24612 6.02668 5.24612 5.63615 5.63664C5.24563 6.02717 5.24563 6.66033 5.63616 7.05086L10.5862 12.0009L5.63618 16.9509C5.24566 17.3415 5.24566 17.9746 5.63618 18.3652C6.02671 18.7557 6.65987 18.7557 7.0504 18.3652L12.0004 13.4151L16.9499 18.3646C17.3404 18.7551 17.9736 18.7551 18.3641 18.3646C18.7546 17.974 18.7546 17.3409 18.3641 16.9504L13.4146 12.0009L18.3641 7.05145C18.7546 6.66093 18.7546 6.02776 18.3641 5.63724C17.9736 5.24671 17.3404 5.24671 16.9499 5.63724L12.0004 10.5867L7.05037 5.63664Z' fill='%23EDF2F7'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M3 6C3 5.44772 3.44772 5 4 5H20C20.5523 5 21 5.44772 21 6C21 6.55228 20.5523 7 20 7H4C3.44772 7 3 6.55228 3 6Z' fill='%23EDF2F7'/%3e%3cpath d='M3 12C3 11.4477 3.44772 11 4 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H4C3.44772 13 3 12.5523 3 12Z' fill='%23EDF2F7'/%3e%3cpath d='M4 17C3.44772 17 3 17.4477 3 18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18C21 17.4477 20.5523 17 20 17H4Z' fill='%23EDF2F7'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M9.31008 6.70978C8.92008 7.09978 8.92008 7.72978 9.31008 8.11978L13.1901 11.9998L9.31008 15.8798C8.92008 16.2698 8.92008 16.8998 9.31008 17.2898C9.70008 17.6798 10.3301 17.6798 10.7201 17.2898L15.3101 12.6998C15.7001 12.3098 15.7001 11.6798 15.3101 11.2898L10.7201 6.69978C10.3401 6.31978 9.70008 6.31978 9.31008 6.70978Z' fill='%230074DD'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M9.31008 6.70978C8.92008 7.09978 8.92008 7.72978 9.31008 8.11978L13.1901 11.9998L9.31008 15.8798C8.92008 16.2698 8.92008 16.8998 9.31008 17.2898C9.70008 17.6798 10.3301 17.6798 10.7201 17.2898L15.3101 12.6998C15.7001 12.3098 15.7001 11.6798 15.3101 11.2898L10.7201 6.69978C10.3401 6.31978 9.70008 6.31978 9.31008 6.70978Z' fill='%23EDF2F7'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M13.6899 17.2902C14.0799 16.9002 14.0799 16.2702 13.6899 15.8802L9.80992 12.0002L13.6899 8.12022C14.0799 7.73022 14.0799 7.10022 13.6899 6.71022C13.2999 6.32022 12.6699 6.32022 12.2799 6.71022L7.68992 11.3002C7.29992 11.6902 7.29992 12.3202 7.68992 12.7102L12.2799 17.3002C12.6599 17.6802 13.2999 17.6802 13.6899 17.2902Z' fill='%230074DD'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M13.6899 17.2902C14.0799 16.9002 14.0799 16.2702 13.6899 15.8802L9.80992 12.0002L13.6899 8.12022C14.0799 7.73022 14.0799 7.10022 13.6899 6.71022C13.2999 6.32022 12.6699 6.32022 12.2799 6.71022L7.68992 11.3002C7.29992 11.6902 7.29992 12.3202 7.68992 12.7102L12.2799 17.3002C12.6599 17.6802 13.2999 17.6802 13.6899 17.2902Z' fill='%23EDF2F7'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.5006 11.0006H11.7106L11.4306 10.7306C12.6306 9.33063 13.2506 7.42063 12.9106 5.39063C12.4406 2.61063 10.1206 0.390626 7.32063 0.0506256C3.09063 -0.469374 -0.469374 3.09063 0.0506256 7.32063C0.390626 10.1206 2.61063 12.4406 5.39063 12.9106C7.42063 13.2506 9.33063 12.6306 10.7306 11.4306L11.0006 11.7106V12.5006L15.2506 16.7506C15.6606 17.1606 16.3306 17.1606 16.7406 16.7506C17.1506 16.3406 17.1506 15.6706 16.7406 15.2606L12.5006 11.0006ZM6.50063 11.0006C4.01063 11.0006 2.00063 8.99063 2.00063 6.50063C2.00063 4.01063 4.01063 2.00063 6.50063 2.00063C8.99063 2.00063 11.0006 4.01063 11.0006 6.50063C11.0006 8.99063 8.99063 11.0006 6.50063 11.0006Z' fill='%230074DD'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M2.05086 0.636643C1.66033 0.246119 1.02717 0.246119 0.636643 0.636643C0.246119 1.02717 0.246119 1.66033 0.636643 2.05086L5.5867 7.00092L0.636672 11.9509C0.246148 12.3415 0.246148 12.9746 0.636672 13.3652C1.0272 13.7557 1.66036 13.7557 2.05089 13.3652L7.00091 8.41513L11.9503 13.3646C12.3409 13.7551 12.974 13.7551 13.3646 13.3646C13.7551 12.974 13.7551 12.3409 13.3646 11.9504L8.41513 7.00092L13.3646 2.05145C13.7551 1.66093 13.7551 1.02776 13.3646 0.637237C12.9741 0.246712 12.3409 0.246713 11.9504 0.637237L7.00092 5.5867L2.05086 0.636643Z' fill='%230074DD'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg width='19' height='18' viewBox='0 0 19 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M8.58663 1.04906C8.93899 0.258571 10.061 0.258571 10.4134 1.04906L12.1659 4.9807C12.3112 5.30673 12.6193 5.53057 12.9743 5.56804L17.2551 6.01985C18.1158 6.11069 18.4625 7.17779 17.8196 7.75718L14.6219 10.6389C14.3568 10.8778 14.2391 11.24 14.3131 11.5892L15.2063 15.8001C15.3858 16.6467 14.4781 17.3062 13.7284 16.8738L9.99962 14.7232C9.69041 14.5448 9.30959 14.5448 9.00038 14.7232L5.27159 16.8738C4.52189 17.3062 3.61416 16.6467 3.79373 15.8001L4.68686 11.5892C4.76093 11.24 4.64325 10.8778 4.37808 10.6389L1.18043 7.75718C0.537518 7.17779 0.88424 6.11069 1.74492 6.01985L6.0257 5.56804C6.38068 5.53057 6.68877 5.30673 6.8341 4.9807L8.58663 1.04906Z' fill='%23009FE3'/%3e%3c/svg%3e\";\n export default img;","var img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cg transform='translate(1.5%2c 0.5)'%3e %3cpath fill='none' fill-rule='evenodd' stroke='%230074DD' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12.643 3.357L6.03 9.97l-2.674 2.674L0 9.286'/%3e %3c/g%3e%3c/svg%3e\";\n export default img;","import * as React from \"react\";\n\nimport CloseIcon from \"../../assets/close.svg\";\nimport HamburgerIcon from \"../../assets/hamburger.svg\";\nimport ChevronRightBlueIcon from \"../../assets/right-arrow-blue.svg\";\nimport ChevronRightGreyIcon from \"../../assets/right-arrow-grey.svg\";\nimport ChevronLeftBlueIcon from \"../../assets/left-arrow-blue.svg\";\nimport ChevronLeftGreyIcon from \"../../assets/left-arrow-grey.svg\";\nimport SearchIcon from \"../../assets/search.svg\";\nimport SearchCancelIcon from \"../../assets/search-cancel.svg\";\nimport StarIcon from \"../../assets/starIcon.svg\";\nimport CheckIcon from \"../../assets/check-icon-primary.svg\";\n\ninterface ButtonIconProps {\n name: string;\n className?: string;\n}\n\ntype IconNames = {\n [key: string]: string;\n};\n\nconst iconSrc: IconNames = {\n // These need to be converted to svg files instead of components and added in\n // \"add\": AddIcon,\n // \"delete\": DeleteIcon,\n // \"edit\": EditIcon,\n close: CloseIcon,\n hamburger: HamburgerIcon,\n \"chevron-right-blue\": ChevronRightBlueIcon,\n \"chevron-left-blue\": ChevronLeftBlueIcon,\n \"chevron-right-grey\": ChevronRightGreyIcon,\n \"chevron-left-grey\": ChevronLeftGreyIcon,\n search: SearchIcon,\n star: StarIcon,\n check: CheckIcon,\n \"search-cancel\": SearchCancelIcon,\n};\n\nexport const ButtonIcon = (props: ButtonIconProps): JSX.Element => {\n return <img src={iconSrc[props.name]} className={props.className} />;\n};\n","// These types were added because they are used in ViewItem that is completely refactored to TS\n// Ideally they should also be used in the Button TS component, but this was outside of the scope of this task\nimport React from \"react\";\n\nimport { RestPropped } from \"../../types/general.types\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nexport const BUTTON_ROLES = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n SECONDARY_DARK: \"secondaryDark\",\n TERTIARY: \"tertiary\",\n QUATERNARY: \"quaternary\",\n NEGATIVE: \"negative\",\n TEXT: \"text\",\n LINK: \"link\",\n ICON: \"icon\",\n} as const;\n\ntype BUTTON_KEYS = keyof typeof BUTTON_ROLES;\nexport type BUTTON_TYPE = typeof BUTTON_ROLES[BUTTON_KEYS];\n\nexport type ButtonType = \"button\" | \"submit\";\n\nexport interface ButtonProps extends RestPropped {\n text?: string;\n role?: BUTTON_TYPE;\n type?: ButtonType;\n title?: string;\n link?: string;\n isPending?: boolean;\n isDisabled?: boolean;\n // TODO: add specific type of ButtonEvent\n onClick?: (arg: any) => void;\n className?: string;\n // name mapping to the right svg in ButtonIcon\n iconName?: string;\n // legacy - can be removed?\n hasIcon?: boolean;\n dynamicIcon?: React.FunctionComponent<IconProps>;\n}\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { navigate } from \"@reach/router\";\n\nimport { Spinner } from \"../Spinner/Spinner\";\nimport { AddIcon } from \"../Icons/AddIcon\";\nimport { DeleteIcon } from \"../Icons/DeleteIcon\";\nimport { EditIcon } from \"../Icons/EditIcon\";\nimport { LeftArrowIcon } from \"../Icons/LeftArrowIcon\";\nimport { RightArrowIcon } from \"../Icons/RightArrowIcon\";\nimport { ChartIcon } from \"../Icons/ChartIcon\";\nimport { PrintIcon } from \"../Icons/PrintIcon\";\n\nimport { ButtonIcon } from \"./ButtonIcon\";\nimport { BUTTON_ROLES, ButtonProps } from \"./Button.types\";\n\n// TODO: use the Types from Button.types.ts instead of PropTypes\nfunction Button(props: ButtonProps): JSX.Element {\n const {\n text = \"\",\n role: propsRole = BUTTON_ROLES.PRIMARY,\n type = \"button\",\n title = \"\",\n link = \"\",\n isPending = false,\n isDisabled = false,\n onClick,\n className = \"\",\n iconName = \"\",\n hasIcon: hasIconProps = false,\n dynamicIcon,\n ...otherAttributes\n } = props;\n\n const hasAddIcon = className.includes(\"add-button\");\n const hasEditIcon = className.includes(\"edit-button\");\n const hasDeleteIcon = className.includes(\"delete-button\");\n const hasPrevIcon = className.includes(\"prev-button\");\n const hasNextIcon = className.includes(\"next-button\");\n const hasChartIcon = className.includes(\"chart-button\");\n const hasPrintIcon = className.includes(\"print-button\");\n const hasIcon =\n hasIconProps ||\n iconName ||\n hasAddIcon ||\n hasEditIcon ||\n hasDeleteIcon ||\n hasPrevIcon ||\n hasNextIcon ||\n hasChartIcon ||\n hasPrintIcon ||\n dynamicIcon;\n\n const isIconOnly = hasIcon && !text;\n\n const [role, setRole] = useState(propsRole);\n\n // Fix to support the all the buttons in the application\n // Ideally we want to make a better implementation of them overall, but that's beyond the\n // scope of this task.\n\n useEffect(() => {\n if ((hasAddIcon || hasEditIcon) && !text) {\n setRole(BUTTON_ROLES.SECONDARY);\n } else if (propsRole === BUTTON_ROLES.TEXT || propsRole === BUTTON_ROLES.LINK) {\n setRole(BUTTON_ROLES.TERTIARY);\n } else if (hasDeleteIcon) {\n setRole(BUTTON_ROLES.NEGATIVE);\n }\n }, []);\n\n const isButtonDisabled = (role !== BUTTON_ROLES.LINK && isDisabled) || isPending;\n const isNonPrimaryNonNegative =\n role === BUTTON_ROLES.SECONDARY || role === BUTTON_ROLES.TERTIARY || role === BUTTON_ROLES.QUATERNARY;\n\n function handleClick(event: any) {\n if (link) {\n navigate(link);\n return;\n }\n\n if (isButtonDisabled || !onClick) {\n // without this, form will be submitted, if button has type submit.\n event.preventDefault();\n return;\n }\n\n onClick(event);\n }\n\n const buttonRolesStyling = {\n primary: [\n \"bg-primary\",\n \"hover:bg-primary-dark\",\n \"text-white\",\n \"focus:outline-primary\",\n \"border\",\n \"border-solid\",\n \"border-primary-transparent\",\n ],\n secondary: [\"bg-slate-200\"],\n secondaryDark: [\"bg-slate-700\", \"hover:bg-slate-600\"],\n tertiary: [\"bg-transparent\", \"shadow-none\", \"hover:bg-slate-100\"],\n quaternary: [\"bg-white\", \"shadow-none\", \"border\", \"border-solid\", \"border-quaternary\", \"hover:border-slate-200\"],\n negative: [\n \"bg-negative\",\n \"text-negative-dark\",\n \"hover:text-negative-darker\",\n \"hover:border-negative-border\",\n \"focus:outline-negative\",\n \"border\",\n \"border-transparent\",\n ],\n link: [],\n text: [],\n icon: [],\n };\n\n const containerClassName = classNames(\n // default button classes\n [\n \"h-11\",\n \"focus:outline-none\",\n \"relative flex flex-row justify-center items-center\",\n \"shadow-sm\",\n \"transition-outline transition-colors duration-300 ease-in-out\",\n \"cursor-pointer\",\n \"rounded-full\",\n \"leading-none\",\n ],\n // ensuring the buttons are 44px high including content\n {\n \"py-2 px-2 w-11\": isIconOnly,\n \"px-4 py-3\": !isIconOnly,\n },\n className,\n {\n \"opacity-50 pointer-events-none\": isButtonDisabled,\n \"hover:text-primary-dark text-primary\": isNonPrimaryNonNegative,\n \"border border-transparent\": isNonPrimaryNonNegative,\n \"hover:border-slate-200 focus:outline-primary\": isNonPrimaryNonNegative,\n \"text-secondary-dark opacity-75\": isButtonDisabled && isNonPrimaryNonNegative,\n },\n buttonRolesStyling[role]\n );\n\n const spinnerClassNames = classNames({\n hidden: !isPending,\n \"text-white\": role === BUTTON_ROLES.PRIMARY,\n \"text-dark-gray\": isNonPrimaryNonNegative,\n \"text-negative-dark\": role === BUTTON_ROLES.TERTIARY,\n });\n\n const buttonTextClasses = classNames([\"text-sm\", \"font-medium\"], {\n invisible: isPending,\n hidden: !text,\n \"ml-3\": hasIcon,\n });\n\n return (\n <button\n {...otherAttributes}\n aria-disabled={isButtonDisabled}\n disabled={isButtonDisabled}\n className={containerClassName}\n onClick={handleClick}\n type={type}\n title={title}\n data-role={role}\n >\n {hasAddIcon && <AddIcon className=\"w-5 h-5\" />}\n {hasEditIcon && <EditIcon className=\"w-5 h-5\" />}\n {hasDeleteIcon && <DeleteIcon className=\"w-5 h-5\" />}\n {hasPrevIcon && <LeftArrowIcon className=\"w-5 h-5\" />}\n {hasNextIcon && <RightArrowIcon className=\"w-5 h-5\" />}\n {hasChartIcon && <ChartIcon className=\"w-5 h-5\" />}\n {hasPrintIcon && <PrintIcon className=\"w-5 h-5\" />}\n {iconName && <ButtonIcon name={iconName} />}\n {dynamicIcon && React.createElement(dynamicIcon, { className: \"w-5 h-5\" })}\n\n <span\n className=\"opacity-100\"\n // IE11 center translate fix\n style={{\n position: \"absolute\",\n left: \"50%\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <Spinner className={spinnerClassNames} />\n </span>\n <span className={buttonTextClasses}>{text}</span>\n </button>\n );\n}\n\nexport default Button;\n\nexport { BUTTON_ROLES };\n","import React from \"react\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\n\nimport \"./GliderContainer.scss\";\n\ninterface GliderContainerProps {\n children: React.ReactNode;\n}\n\nexport const GliderContainer = (props: GliderContainerProps): JSX.Element => (\n <div className={\"relative h-full pb-6 glider-contain px-17 pb-6\"}>\n {props.children}\n <div className={\"entity-preview-left absolute top-1/2 left-0\"}>\n <Button iconName={\"chevron-left-blue\"} role={BUTTON_ROLES.QUATERNARY} />\n </div>\n <div className={\"entity-preview-right absolute top-1/2 right-0\"}>\n <Button iconName={\"chevron-right-blue\"} role={BUTTON_ROLES.QUATERNARY} />\n </div>\n <div className=\"entity-preview-dots\" />\n </div>\n);\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport Glider from \"react-glider\";\n\nimport { GliderContainer } from \"./GliderContainer\";\n\ninterface CarouselProps {\n id: string;\n slides: React.ReactNode[];\n className?: string;\n}\n\nconst Carousel = ({ slides, className, id }: CarouselProps): JSX.Element => {\n const [isVisible, setIsVisible] = useState(false);\n useEffect(() => setIsVisible(false), [id]);\n useEffect(() => {\n // hack to force Glider to re mount when id changes\n if (!isVisible) {\n setIsVisible(true);\n }\n }, [isVisible]);\n\n return (\n isVisible ? (\n <Glider\n hasDots\n hasArrows\n skipTrack\n // draggable\n scrollLock\n rewind\n arrows={{\n prev: \".entity-preview-left\",\n next: \".entity-preview-right\",\n }}\n id={id} // this should force Glider to rebuild, but it does not\n dots={\".entity-preview-dots\"}\n className={classNames(\"h-full\", className)}\n containerElement={GliderContainer}\n >\n <div className=\"glider-track h-full\">\n {slides?.map((slide, index) => (\n <div key={index} className={\"overflow-hidden\"}>\n {slide}\n </div>\n ))}\n </div>\n </Glider>\n ) : <></>);\n};\n\nexport default Carousel;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Button from \"../Button/Button\";\nimport { ButtonProps } from \"../Button/Button.types\";\nimport Text from \"../Text/Text\";\nimport { Title } from \"../Title/Title\";\n\nexport type BackgroundColor = \"white\" | \"slate-50\";\nexport type ImageSize = \"small\" | \"large\";\n\nexport interface CenteredHeroProps {\n title: string;\n text: string;\n image: string;\n imageSize?: ImageSize;\n buttons?: ButtonProps[];\n background?: BackgroundColor;\n}\n\nconst CenteredHero = ({\n title,\n text,\n image,\n buttons = [],\n background = \"slate-50\",\n imageSize = \"small\",\n}: CenteredHeroProps): JSX.Element => {\n return (\n <div\n className={classNames(\n \"p-6 flex flex-col items-center align-center w-full\",\n {\n \"bg-white\": background === \"white\",\n \"bg-slate-50\": background === \"slate-50\",\n }\n )}\n >\n {image && (\n <img\n src={image}\n className={classNames(\"mb-4\", {\n \"h-36 w-36\": imageSize === \"small\",\n \"h-72 w-72\": imageSize === \"large\",\n })}\n />\n )}\n {title && <Title text={title} type={\"base\"} />}\n {text && <Text text={text} />}\n\n {buttons?.length > 0 && (\n <div className=\"flex flex-row mt-4\">\n {buttons\n .filter(\n (button) => button.text && button.handleOnClick && button.type\n )\n .map((button) => (\n <Button\n className=\"mr-4 last:mr-0\"\n key={button.title}\n role={button.role}\n type={button.type}\n title={button.title}\n text={button.text}\n onClick={button.handleOnClick}\n />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nexport default CenteredHero;\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\n\nimport \"./Checkbox.scss\";\n\nexport interface CheckboxProps {\n id?: string;\n // The label that will be presented as a Text\n text?: string;\n // The explanation that will be presented below it\n explanation?: string;\n type?: \"regular\" | \"switch\";\n // Set the value\n isChecked?: boolean;\n //Value for when it is not clear if state is checked or not (for hierarchical checkboxes)\n isIndeterminate?: boolean;\n // Allow the user to change the input\n isDisabled?: boolean;\n name?: string;\n // This can be used to retrieve the value it is referring to through onChange\n value?: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n className?: string;\n error?: boolean;\n}\n\nexport const Checkbox = ({\n id,\n text,\n explanation,\n type = \"regular\",\n isChecked = false,\n isIndeterminate = false,\n isDisabled,\n name,\n value,\n onChange,\n className,\n error,\n}: CheckboxProps): JSX.Element => {\n const [checked, setChecked] = useState(false);\n const [indeterminate, setIndeterminate] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n const checkboxRef = React.useRef<HTMLInputElement>(null);\n\n const containerClassName = classNames(\"cweb-checkbox\", className, {\n \"is-focused\": isFocused,\n \"is-checked\": checked && !indeterminate,\n \"is-indeterminate\": indeterminate,\n \"opacity-50 cursor-not-allowed is-disabled\": isDisabled,\n \"type-regular\": type === \"regular\",\n \"type-switch\": type === \"switch\",\n hasError: error,\n });\n\n useEffect(() => {\n setChecked(isChecked);\n setIndeterminate(false);\n }, [isChecked]);\n\n useEffect(() => {\n setIndeterminate(isIndeterminate);\n }, [isIndeterminate]);\n\n useEffect(() => {\n if (checkboxRef?.current) {\n checkboxRef.current.indeterminate = !indeterminate;\n }\n }, [indeterminate]);\n\n const handleChange = (event) => {\n event.stopPropagation();\n setIndeterminate(false);\n if (onChange) {\n onChange(event);\n }\n };\n\n const handleFocus = () => setIsFocused(true);\n\n const handleBlur = () => setIsFocused(false);\n\n return (\n <div className={containerClassName} data-test-id=\"checkbox\">\n {/* When you click on a label the browser tries to focus the related input.\n The checkbox element is lying at the top of the page, even outside the viewport – so the browser tries to scroll there. */}\n {/* Source: https://stackoverflow.com/a/17974351 */}\n <label\n className=\"relative overflow-hidden cweb-checkbox-label\"\n data-test-id=\"checkbox-label\"\n onClick={(e) => e.stopPropagation()}\n >\n <input\n id={id}\n ref={checkboxRef}\n data-test-id={`checkbox-${name}`}\n className=\"cweb-checkbox-input\"\n name={name}\n type=\"checkbox\"\n checked={checked}\n disabled={isDisabled}\n value={value}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onChange={handleChange}\n />\n\n <span\n className={classNames(\"cweb-checkbox-icon-container\", {\n \"bg-primary\": checked || indeterminate,\n \"bg-white\": !checked && !indeterminate,\n \"hover:bg-primary-dark\": checked || indeterminate,\n \"outline-primary\": isFocused,\n \"cursor-not-allowed\": isDisabled,\n \"cursor-pointer\": !isDisabled,\n })}\n data-test-id=\"checkbox-span\"\n >\n <span className=\"cweb-checkbox-icon\" />\n </span>\n\n <div className=\"flex flex-col\">\n {text && (\n <Text\n className=\"ml-2 text-left select-none\"\n text={text}\n data-test-id=\"checkbox-text\"\n />\n )}\n {explanation && (\n <Text\n className=\"ml-2 text-left select-none\"\n text={explanation}\n color={\"slate-500\"}\n data-test-id=\"checkbox-explanation\"\n />\n )}\n </div>\n </label>\n </div>\n );\n};\n\nexport default Checkbox;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { Title } from \"../Title/Title\";\n\nimport { ConfirmationDialogTitleProps } from \"./types/ConfirmationDialog.types\";\n\nexport const ConfirmationDialogTitle: React.FC<ConfirmationDialogTitleProps> = (\n props\n) => {\n return props.title ? (\n <div\n data-test-id=\"confirmation-dialog-title\"\n className={classNames(\"flex flex-col space-y-2 text-center\", {\n \"items-center justify-center\": props.title?.icon,\n })}\n >\n {props.title.icon &&\n React.createElement(props.title.icon, {\n className: \"text-blue-800 dialog-header-icon h-12 w-12\",\n })}\n <Title text={props.title.title} type=\"sm\" />\n </div>\n ) : null;\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nexport interface TextLinkProps {\n text: string;\n enabled?: boolean;\n href?: string;\n rel?: string;\n target?: string;\n onClick?: () => void;\n className?: string;\n}\n\nexport const TextLink = (props: TextLinkProps): JSX.Element => {\n const className = classNames(\n \"text-sm hover:underline\",\n {\n \"cursor-pointer\": props.enabled,\n \"cursor-default\": !props.enabled,\n },\n {\n \"text-blue-800\": props.enabled,\n \"text-slate-800\": !props.enabled,\n },\n {\n \"hover:text-blue-900\": props.enabled,\n \"hover:text-slate-900\": !props.enabled,\n }\n );\n\n return (\n <a\n href={props.href}\n rel={props.rel}\n target={props.target}\n onClick={props.onClick}\n className={classNames(className, props.className)}\n >\n {props.text}\n </a>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\n/**\n * When used in components that can support both an icon or an image url, we can use this type.\n * TODO: Use this in the ListComponentItem, to extract the custom logic there rendering images/components\n */\nexport type DynamicIconProps = {\n icon: React.VoidFunctionComponent<IconProps> | string;\n className?: string;\n};\n\nexport const DynamicIcon: React.VoidFunctionComponent<DynamicIconProps> = props => {\n const { icon, className } = props;\n\n if (typeof icon === \"string\") {\n return React.createElement(\"img\", {\n src: icon,\n className,\n });\n }\n\n return React.createElement(icon, { className });\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text, TextColor } from \"../Text/Text\";\nimport { TextLink } from \"../TextLink/TextLink\";\nimport { DynamicIcon, DynamicIconProps } from \"../Icons/DynamicIcon\";\n\nexport type NotificationBannerColor =\n | \"base\"\n | \"blue\"\n | \"red\"\n | \"green\"\n | \"amber\";\n\nexport interface NotificationBannerLinkProps {\n text: string;\n enabled: boolean;\n handleClick?: () => void;\n}\n\nexport interface NotificationBannerProps {\n title?: string;\n text?: string;\n color?: NotificationBannerColor;\n /**\n * The icon can either be one of our icon components or an image url\n */\n icon?: DynamicIconProps[\"icon\"];\n linkProps?: NotificationBannerLinkProps;\n className?: string;\n stretch?: boolean;\n /**\n * When stretching the banner, you can also decide if the content should be centered or not.\n */\n centerContent?: boolean;\n}\n\nexport const NotificationBanner = (\n props: NotificationBannerProps\n): JSX.Element => {\n const { stretch = true, centerContent = false } = props;\n const classes = classNames(\n \"px-6 py-4 min-h-13 flex flex-row items-center border border-solid rounded\",\n props.className,\n {\n \"bg-slate-100 border-slate-300 text-slate-800\": props.color === \"base\",\n \"bg-blue-50 border-blue-700 text-blue-800\": props.color === \"blue\",\n \"bg-red-50 border-red-700 text-red-700\": props.color === \"red\",\n \"bg-green-50 border-green-700 text-green-700\": props.color === \"green\",\n \"bg-amber-50 border-amber-700 text-amber-700\": props.color === \"amber\",\n },\n {\n \"justify-center\": centerContent,\n }\n );\n\n const textColor: Record<NotificationBannerColor, TextColor> = {\n red: \"red\",\n amber: \"amber\",\n green: \"green\",\n base: \"base\",\n // Blue must be 800 here to pass the contrast test\n blue: \"blue-800\",\n };\n\n const color = props.color ? textColor[props.color] : \"base\";\n\n return (\n <div\n data-test-id=\"notification-banner\"\n className={classNames({\n \"w-full\": stretch,\n \"inline-block\": !stretch,\n })}\n >\n <div className={classes}>\n {props.icon && <DynamicIcon className=\"w-6 h-6\" icon={props.icon} />}\n <div className={\"flex flex-col\"}>\n {props.title && (\n <Text\n className={classNames({\n \"ml-3\": props.icon,\n })}\n text={props.title}\n data-test-id=\"notification-title\"\n type=\"strong\"\n color={color}\n />\n )}\n {(props.text || props.linkProps) && (\n <div className=\"flex flex-row items-center\">\n {props.text && (\n <Text\n className={classNames({\n \"ml-3\": props.icon,\n \"mr-1\": props.linkProps,\n })}\n text={props.text}\n data-test-id=\"notification-text\"\n color={color}\n />\n )}\n {props.linkProps && (\n <TextLink\n text={props.linkProps.text}\n data-test-id=\"notification-text-link\"\n enabled={props.linkProps.enabled}\n rel=\"noopener\"\n target=\"_blank\"\n onClick={props.linkProps.handleClick}\n />\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nNotificationBanner.defaultProps = {\n color: \"base\",\n onButtonClick: undefined,\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nimport \"./RadioV2.css\";\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n name: string;\n // value field is used by react-hook-form as the value returned\n value: string | number;\n // text shown to the user to explain the option\n text?: string;\n // text shown to the user underneath the text for extra information\n info?: string;\n isError?: boolean;\n innerRef?: React.Ref<HTMLInputElement>;\n}\n\nfunction RadioInner({\n text,\n info,\n isError,\n innerRef,\n className,\n name,\n ...otherProps\n}: RadioProps): JSX.Element {\n const { value, disabled } = otherProps;\n const nameHtmlFor = `${name}-field-${value}`;\n\n return (\n <label\n className=\"flex flex-row leading-tight radio-form-field-label\"\n htmlFor={nameHtmlFor}\n data-has-error={isError}\n data-test-id={nameHtmlFor}\n >\n <div className=\"flex flex-row items-center self-start\">\n <input\n {...otherProps}\n name={name}\n className={classNames(\"appearance-none\", className)}\n ref={innerRef}\n type=\"radio\"\n id={nameHtmlFor}\n disabled={disabled}\n />\n <span\n className={classNames(\n \"flex flex-col items-center justify-center w-4 h-4 transition-colors duration-300 ease-in-out border radio-circle rounded-xl border-slate-300\"\n )}\n >\n <span className=\"block transition-colors duration-300 ease-in-out radio-inner-circle w-1.5 h-1.5 rounded-xl\"></span>\n </span>\n </div>\n <div className=\"space-y-2\">\n {text && (\n <div className=\"flex items-center ml-2\">\n <Text\n inline={true}\n text={text}\n type=\"base\"\n color={disabled ? \"slate-500\" : undefined}\n />\n </div>\n )}\n {info && (\n <Text\n className=\"ml-2 leading-4\"\n text={info}\n type=\"sm\"\n color={disabled ? \"slate-200\" : \"slate-500\"}\n />\n )}\n </div>\n </label>\n );\n}\n\n/**\n * TODO: The CSS styling is all messed up, including isError\n * Warning: don't use this prop before this is resolved\n * Issue to track: https://github.com/Luscii/web-ui/issues/57\n * TODO: remove this comment once this is resolved\n */\nexport const RadioV2 = React.forwardRef<HTMLInputElement, RadioProps>(\n (props, ref) => <RadioInner {...props} innerRef={ref} />\n);\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { RadioProps, RadioV2 } from \"../Radio/RadioV2\";\nimport { Text } from \"../Text/Text\";\n\nexport interface RadioGroupProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"value\"> {\n name: string;\n isError?: boolean;\n options: Omit<RadioProps, \"name\">[];\n innerRef?: React.Ref<HTMLInputElement>;\n title?: string;\n}\n\nfunction RadioGroupInner({\n innerRef,\n options,\n defaultValue,\n title,\n ...registerProps\n}: RadioGroupProps): JSX.Element {\n return (\n <div\n className={classNames(\"flex flex-col space-y-2\")}\n data-test-id={`${registerProps.name}-radio-group`}\n >\n {title && <Text text={title} />}\n {options.map((option) => (\n <RadioV2\n defaultChecked={option.value === defaultValue}\n key={option.value}\n {...option}\n {...registerProps}\n ref={innerRef}\n />\n ))}\n </div>\n );\n}\n\nexport const RadioGroupV2 = React.forwardRef<HTMLInputElement, RadioGroupProps>(\n (props, ref) => <RadioGroupInner {...props} innerRef={ref} />\n);\n","import React from \"react\";\n\nimport { NotificationBanner } from \"../NotificationBanner/NotificationBanner\";\nimport { RadioProps } from \"../Radio/RadioV2\";\nimport { RadioGroupV2 } from \"../RadioGroup/RadioGroupV2\";\n\nimport {\n ConfirmationDialogChoice,\n ConfirmationDialogProps,\n} from \"./types/ConfirmationDialog.types\";\n\nexport const ConfirmationDialogChoices: React.FC<{\n choices: ConfirmationDialogProps[\"choices\"];\n onChoiceChangeCallback?: (choice: ConfirmationDialogChoice) => void;\n selectedChoice?: ConfirmationDialogChoice;\n}> = (props) => {\n const { choices, onChoiceChangeCallback, selectedChoice } = props;\n\n if (!choices) {\n return null;\n }\n\n const choicesIntoRadioOptions = choices.options.map<RadioProps>((choice) => {\n return {\n name: choice.text,\n text: choice.text,\n value: choice.value,\n info: choice.description,\n onChange: () => {\n onChoiceChangeCallback?.(choice);\n },\n };\n });\n\n return (\n <>\n <RadioGroupV2\n name=\"confirm-dialog-choices\"\n options={choicesIntoRadioOptions}\n defaultValue={selectedChoice?.value}\n />\n {selectedChoice?.displaysInfo && (\n <NotificationBanner\n text={selectedChoice.displaysInfo.text}\n color={selectedChoice.displaysInfo.level}\n />\n )}\n </>\n );\n};\n","import React from \"react\";\n\nimport Text from \"../Text/Text\";\n\nexport const ConfirmationDialogMessage: React.FC<{\n message: string | string[];\n}> = (props) => {\n const { message } = props;\n\n if (typeof message === \"string\") {\n return <Text text={message} containsDangerousHtml />;\n }\n\n return (\n <div className=\"space-y-2\">\n {message.map((messageLine) => (\n <Text text={messageLine} containsDangerousHtml />\n ))}\n </div>\n );\n};\n","import React, { useState } from \"react\";\n\nimport { ModalBase } from \"../Modal/ModalBase\";\n\nimport type {\n ConfirmationDialogChoice,\n ConfirmationDialogProps,\n} from \"./types/ConfirmationDialog.types\";\nimport { ConfirmationDialogTitle } from \"./ConfirmationDialogTitle\";\nimport { ConfirmationDialogChoices } from \"./ConfirmationDialogChoices\";\nimport { ConfirmationDialogMessage } from \"./ConfirmationDialogMessage\";\n\nexport const ConfirmationDialog: React.FC<ConfirmationDialogProps> = (\n props\n) => {\n const { choices } = props;\n\n const [selectedChoice, setSelectedChoice] = useState<\n ConfirmationDialogChoice | undefined\n >(choices?.options.find((choice) => choice.value === choices.defaultChoice));\n\n const handleOnCloseClick = () => {\n if (!props.isProcessing) {\n props.onCancel();\n }\n };\n\n const onChoiceChange = (choice?: ConfirmationDialogChoice) => {\n setSelectedChoice(choice);\n\n if (choice) {\n props.choices?.onChoiceChange(choice);\n }\n };\n\n const onConfirmHandler = () => {\n props.onConfirm(selectedChoice);\n };\n\n return (\n <ModalBase\n size={\"small\"}\n dataTestId={\"confirmation-dialog-modal\"}\n isOpen={props.isOpen}\n withExtraMarginTop={true}\n onCloseClick={handleOnCloseClick}\n footerTrailingComponents={{\n primaryButtonProps: {\n text: props.texts.confirmLabel,\n onClick: onConfirmHandler,\n isPending: props.isProcessing,\n },\n secondaryButtonProps: {\n text: props.texts.cancelLabel,\n onClick: props.onCancel,\n isDisabled: props.isProcessing,\n },\n }}\n >\n <div className=\"space-y-4 min-h-13\">\n <ConfirmationDialogTitle title={props.withTitle} />\n <ConfirmationDialogMessage message={props.texts.message} />\n <ConfirmationDialogChoices\n choices={props.choices}\n onChoiceChangeCallback={onChoiceChange}\n selectedChoice={selectedChoice}\n />\n </div>\n </ModalBase>\n );\n};\n","import React, { Component } from \"react\";\nimport ReactDatePicker from \"react-datepicker\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\nimport moment from \"moment\";\n\nimport Button from \"../Button/Button\";\n\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport \"./Datepicker.scss\";\n\nexport default class Datepicker extends Component {\n handleCloseButtonClick = (event) => {\n event.preventDefault();\n\n this.datepickerRef.setOpen(false);\n };\n\n getDateFormat = () => {\n const { showTimeSelect, formatDateWithTime = false } = this.props;\n\n return showTimeSelect || formatDateWithTime ? \"L LT\" : \"L\";\n };\n\n render() {\n const {\n className,\n hasCloseButton,\n closeButtonText,\n adjustDateOnChange = true,\n showMonthDropdown = true,\n showYearDropdown = true,\n shouldCloseOnSelect = false,\n allowSameDay = false,\n minDate,\n maxDate,\n isDisabled = false,\n selected,\n ...otherProps\n } = this.props;\n\n const dateFormat = this.getDateFormat();\n const pickerClassName = classNames(\n \"cweb-datepicker text-slate-800 text-sm\",\n className\n );\n const getCloseButtonText = () => {\n if (!closeButtonText) {\n return \"OK\";\n }\n return closeButtonText;\n };\n\n return (\n <ReactDatePicker\n {...otherProps}\n adjustDateOnChange={adjustDateOnChange}\n ref={(element) => (this.datepickerRef = element)}\n className={pickerClassName}\n calendarClassName=\"cweb-datepicker-calendar\"\n shouldCloseOnSelect={shouldCloseOnSelect}\n allowSameDay={allowSameDay}\n closeButtonText\n minDate={minDate}\n maxDate={maxDate}\n disabled={isDisabled}\n showMonthDropdown={showMonthDropdown}\n showYearDropdown={showYearDropdown}\n dateFormat={dateFormat}\n timeFormat=\"HH:mm\"\n selected={selected}\n dropdownMode=\"select\"\n >\n <div className=\"m-2\">\n {hasCloseButton ? (\n <Button\n text={getCloseButtonText()}\n className=\"w-full cweb-datepicker-close-button\"\n onClick={this.handleCloseButtonClick}\n />\n ) : null}\n </div>\n </ReactDatePicker>\n );\n }\n}\n\nDatepicker.propTypes = {\n className: PropTypes.string,\n selected: PropTypes.object,\n hasCloseButton: PropTypes.bool,\n closeButtonText: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n showMonthDropdown: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n minDate: PropTypes.instanceOf(moment),\n maxDate: PropTypes.instanceOf(moment),\n isDisabled: PropTypes.bool,\n};\n","var img = \"data:image/svg+xml,%3csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 0C4.26522 5.96046e-08 4.51957 0.105357 4.70711 0.292893L7.70711 3.29289C8.09763 3.68342 8.09763 4.31658 7.70711 4.70711C7.31658 5.09763 6.68342 5.09763 6.29289 4.70711L4 2.41421L1.70711 4.70711C1.31658 5.09763 0.683417 5.09763 0.292893 4.70711C-0.0976311 4.31658 -0.097631 3.68342 0.292893 3.29289L3.29289 0.292893C3.48043 0.105357 3.73478 0 4 0ZM0.292893 9.29289C0.683417 8.90237 1.31658 8.90237 1.70711 9.29289L4 11.5858L6.29289 9.29289C6.68342 8.90237 7.31658 8.90237 7.70711 9.29289C8.09763 9.68342 8.09763 10.3166 7.70711 10.7071L4.70711 13.7071C4.31658 14.0976 3.68342 14.0976 3.29289 13.7071L0.292893 10.7071C-0.0976311 10.3166 -0.0976311 9.68342 0.292893 9.29289Z' fill='%239CA3AF'/%3e%3c/svg%3e\";\n export default img;","import React, { PureComponent } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport chevronDouble from \"../../assets/chevron-double.svg\";\nimport checkmark from \"../../assets/check-icon-primary.svg\";\nimport { Text } from \"../Text/Text\";\n\nimport \"./Dropdown.scss\";\n\nconst ITEM_QUERY_FIELD_NAMES = {\n ID: \"id\",\n HIGHLIGHT_INDEX: \"highlightIndex\",\n};\n\nconst keyCodes = {\n ARROW_DOWN: 40,\n ARROW_UP: 38,\n ENTER: 13,\n TAB: 9,\n SHIFT: 16,\n ESC: 27,\n};\n\nclass Dropdown extends PureComponent {\n static addHighlightIndexToItems = items => {\n let index = 0;\n\n return items.map(item => {\n if (!item.subItems) {\n const currentIndex = index;\n index = index + 1;\n\n return {\n ...item,\n highlightIndex: currentIndex,\n };\n } else {\n return {\n ...item,\n subItems: item.subItems.map(subItem => {\n const currentIndex = index;\n index = index + 1;\n\n return {\n ...subItem,\n highlightIndex: currentIndex,\n };\n }),\n };\n }\n });\n };\n\n static getTotalItemCount = items => {\n return items.reduce((acc, item) => {\n if (!item.subItems) {\n return acc + 1;\n } else {\n return acc + item.subItems.length;\n }\n }, 0);\n };\n\n constructor(props) {\n super(props);\n\n const items = Dropdown.addHighlightIndexToItems(props.items);\n const selectedItem = props.initialSelectedItemId\n ? this.findItem(\n items,\n ITEM_QUERY_FIELD_NAMES.ID,\n props.initialSelectedItemId\n )\n : null;\n\n this.state = {\n totalItemCount: Dropdown.getTotalItemCount(items),\n isDropdownOpen: false,\n highlightIndex: null,\n selectedItem,\n items,\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const items = Dropdown.addHighlightIndexToItems(nextProps.items);\n\n return {\n ...prevState,\n items: items,\n totalItemCount: Dropdown.getTotalItemCount(items),\n };\n }\n\n componentDidMount() {\n document.addEventListener(\"mousedown\", this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"mousedown\", this.handleClickOutside);\n }\n\n handleClickOutside = event => {\n if (this.rootRef && !this.rootRef.contains(event.target)) {\n this.closeDropdown();\n }\n };\n\n handleKeyDown = event => {\n const { items, isDropdownOpen, highlightIndex } = this.state;\n\n if (event.keyCode === keyCodes.ENTER) {\n event.preventDefault();\n\n if (isDropdownOpen) {\n this.closeDropdown();\n this.setSelectedItem(\n this.findItem(\n items,\n ITEM_QUERY_FIELD_NAMES.HIGHLIGHT_INDEX,\n highlightIndex\n )\n );\n this.rootRef.blur();\n } else {\n this.openDropdown();\n }\n } else if (event.keyCode === keyCodes.TAB) {\n if (event.shiftKey) {\n this.decreaseHighlightIndexIfPossible();\n } else {\n this.increaseHighlightIndexIfPossible();\n }\n } else if (event.keyCode === keyCodes.ARROW_UP) {\n event.preventDefault();\n\n this.decreaseHighlightIndexIfPossible();\n } else if (event.keyCode === keyCodes.ARROW_DOWN) {\n event.preventDefault();\n\n if (isDropdownOpen) {\n this.increaseHighlightIndexIfPossible();\n } else {\n this.openDropdown();\n }\n } else if (event.keyCode === keyCodes.ESC) {\n this.closeDropdown();\n this.rootRef.blur();\n }\n };\n\n findItem = (items, fieldName, fieldValue) => {\n let selectedItem;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n\n if (item[fieldName] === fieldValue) {\n selectedItem = item;\n } else if (item.subItems) {\n for (let j = 0; j < item.subItems.length; j++) {\n const subItem = item.subItems[j];\n\n if (\n (fieldName === ITEM_QUERY_FIELD_NAMES.ID &&\n subItem.key === fieldValue) ||\n subItem[fieldName] === fieldValue\n ) {\n selectedItem = subItem;\n break;\n }\n }\n }\n\n if (selectedItem) {\n break;\n }\n }\n\n return selectedItem;\n };\n\n openDropdown = () => {\n this.setState(prevState => {\n return {\n isDropdownOpen: true,\n highlightIndex: prevState.selectedItem\n ? prevState.selectedItem.highlightIndex\n : 0,\n };\n });\n };\n\n closeDropdown = () => {\n this.setState({\n isDropdownOpen: false,\n highlightIndex: null,\n });\n };\n\n setSelectedItem = item => {\n this.setState({\n selectedItem: item,\n });\n };\n\n findSelectedItem = selectedIndex => {\n return this.rootRef.querySelectorAll(\".dropdown-list-item\")[selectedIndex];\n };\n\n scrollToHighlightedItem = selectedIndex => {\n const selectedItem = this.findSelectedItem(selectedIndex);\n if (this.dropdownListRef.scrollTo) {\n this.dropdownListRef.scrollTo(0, selectedItem.offsetTop);\n }\n };\n\n increaseHighlightIndexIfPossible = () => {\n this.setState(prevState => {\n const newHighlightIndex =\n prevState.highlightIndex < prevState.totalItemCount - 1\n ? prevState.highlightIndex + 1\n : prevState.highlightIndex;\n\n if (newHighlightIndex !== prevState.highlightIndex) {\n this.scrollToHighlightedItem(newHighlightIndex);\n }\n\n return {\n highlightIndex: newHighlightIndex,\n };\n });\n };\n\n decreaseHighlightIndexIfPossible = () => {\n this.setState(prevState => {\n const newHighlightIndex =\n prevState.highlightIndex > 0\n ? prevState.highlightIndex - 1\n : prevState.highlightIndex;\n\n if (newHighlightIndex !== prevState.highlightIndex) {\n this.scrollToHighlightedItem(newHighlightIndex);\n }\n\n return {\n highlightIndex: newHighlightIndex,\n };\n });\n };\n\n selectItem = item => {\n const { onItemSelect } = this.props;\n\n this.closeDropdown();\n this.setSelectedItem(item);\n\n onItemSelect(item);\n };\n\n renderIndividualItem = item => {\n const { highlightIndex } = this.state;\n const isItemSelected = item.highlightIndex === highlightIndex;\n\n const itemClassName = classNames(\"dropdown-list-item p-3\", {\n \"is-selected\": isItemSelected,\n \"flex flex-row justify-between space-x-2\": isItemSelected,\n });\n const textType = isItemSelected ? \"strong\" : \"base\";\n\n return (\n <div\n className={itemClassName}\n key={item.id}\n tabIndex=\"0\"\n onClick={() => this.selectItem(item)}\n >\n <Text\n data-test-id={item.text}\n text={item.text}\n type={textType}\n truncate\n />\n <img\n className={classNames({ hidden: !isItemSelected })}\n src={checkmark}\n alt=\"checked\"\n />\n </div>\n );\n };\n\n renderGroupedItems = item => {\n return (\n <div className=\"dropdown-list-item-group\" key={item.groupKey}>\n {item.title && (\n <div className=\"p-3 bg-main-background\" tabIndex=\"-1\">\n <Text\n className=\"uppercase\"\n data-test-id={item.text}\n text={item.title}\n type=\"sm\"\n color=\"slate-500\"\n truncate\n />\n </div>\n )}\n {item.subItems.map(subItem => this.renderIndividualItem(subItem))}\n </div>\n );\n };\n\n renderItems = () => {\n const { items } = this.state;\n\n return (\n <div\n className={classNames(\"dropdown-list\", { wider: this.props.wider })}\n ref={element => (this.dropdownListRef = element)}\n >\n {items.map(item =>\n item.subItems\n ? this.renderGroupedItems(item)\n : this.renderIndividualItem(item)\n )}\n </div>\n );\n };\n\n render() {\n // eslint-disable-next-line no-unused-vars\n const {\n placeholder = \"\",\n className,\n initialSelectedItemId,\n onItemSelect,\n items,\n wider,\n ...otherProps\n } = this.props;\n const { selectedItem, isDropdownOpen } = this.state;\n const containerClassName = classNames(\"cweb-dropdown\", className, {\n \"is-open\": isDropdownOpen,\n });\n const onDropdownClick = isDropdownOpen\n ? this.closeDropdown\n : this.openDropdown;\n\n return (\n <div\n className={classNames(containerClassName)}\n tabIndex=\"0\"\n ref={element => (this.rootRef = element)}\n onKeyDown={this.handleKeyDown}\n >\n <div\n {...otherProps}\n className={classNames(\n \"dropdown-header space-x-2 border border-solid p-3 cursor-pointer\",\n {\n \"border-primary-dark\": isDropdownOpen,\n \"border-input-border hover:border-input-border-dark\": !isDropdownOpen,\n }\n )}\n onClick={onDropdownClick}\n >\n <Text\n className=\"dropdown-header-title\"\n text={selectedItem ? selectedItem.text : placeholder}\n truncate\n />\n <img\n className=\"dropdown-header-icon\"\n src={chevronDouble}\n alt=\"browse icon\"\n />\n </div>\n {this.renderItems()}\n </div>\n );\n }\n}\n\nDropdown.propTypes = {\n items: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n key: PropTypes.string.isRequired,\n }),\n PropTypes.shape({\n subItems: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n key: PropTypes.string.isRequired,\n })\n ).isRequired,\n title: PropTypes.string,\n groupKey: PropTypes.string.isRequired,\n }),\n ])\n ).isRequired,\n initialSelectedItemId: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n placeholder: PropTypes.string,\n className: PropTypes.string,\n onItemSelect: PropTypes.func.isRequired,\n wider: PropTypes.bool,\n};\n\nexport default Dropdown;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nimport \"./ErrorBlock.scss\";\n\nErrorBlock.propTypes = {\n message: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nfunction ErrorBlock({ message, className = \"\", ...otherProps }) {\n const containerClassName = classNames(\"cweb-error-block\", className);\n\n return (\n <div className={containerClassName}>\n <Text {...otherProps} className=\"cweb-error-block-message\" text={message} />\n </div>\n );\n}\n\nexport default ErrorBlock;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./InfoBlock.scss\";\nimport { Text } from \"../Text/Text\";\n\nInfoBlock.propTypes = {\n message: PropTypes.string.isRequired,\n containsDangerousHtml: PropTypes.bool,\n className: PropTypes.string,\n};\n\nfunction InfoBlock({ message, className, containsDangerousHtml = false }) {\n const containerClassName = classNames(\"cweb-info-block\", className);\n\n return (\n <div className={containerClassName}>\n <Text text={message} containsDangerousHtml={containsDangerousHtml} />\n </div>\n );\n}\n\nexport default InfoBlock;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport ClipboardJS from \"clipboard\";\n\nimport { Text } from \"../Text/Text\";\n\ntype InfoFieldLinkType = \"none\" | \"link\" | \"clipboard\" | \"tel\";\n\ninterface InfoFieldProps {\n label: string;\n value: string;\n linkType: InfoFieldLinkType;\n supportsMultiline?: boolean;\n onCopyToClipboard?: () => void;\n icon?: JSX.Element;\n className?: string;\n}\n\nexport const InfoField = (props: InfoFieldProps): JSX.Element => {\n const clipboard = new ClipboardJS(\"button\");\n\n clipboard.on(\"success\", function(e) {\n props.onCopyToClipboard && props.onCopyToClipboard();\n e.clearSelection();\n });\n\n let ContainerElement: React.ElementType;\n let containerProps: any;\n\n switch (props.linkType) {\n case \"link\":\n ContainerElement = \"a\";\n containerProps = {\n href: props.value,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n };\n break;\n case \"tel\":\n ContainerElement = \"a\";\n containerProps = { href: `tel:${props.value}` };\n break;\n\n case \"clipboard\":\n ContainerElement = \"button\";\n containerProps = {\n type: \"button\",\n \"data-clipboard-text\": props.value,\n };\n break;\n\n case \"none\":\n default:\n ContainerElement = \"div\";\n break;\n }\n\n return (\n <div\n className={classNames(\n \"flex flex-row align-center items-center\",\n props.className\n )}\n >\n {props.icon}\n <ContainerElement\n className={\"flex flex-col overflow-hidden ml-3 first:ml-0\"}\n {...containerProps}\n >\n <Text\n text={props.label}\n type={\"sm\"}\n color={\"slate-500\"}\n className={classNames(\n { \"break-words\": props.supportsMultiline },\n { \"whitespace-no-wrap\": !props.supportsMultiline }\n )}\n />\n <Text\n className={classNames(\n { \"break-words\": props.supportsMultiline },\n { \"whitespace-no-wrap\": !props.supportsMultiline }\n )}\n text={props.value}\n truncate={!props.supportsMultiline}\n />\n </ContainerElement>\n </div>\n );\n};\n\nInfoField.defaultProps = {\n linkType: \"none\",\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nconst Line = ({ left, right, className }) => (\n <div className={classNames(className, \"cweb-line\", \"flex flex-row flex-no-wrap\")}>\n <div className={\"flex\"}>\n {left?.map(\n (item) =>\n item && (\n <div key={item.key ?? item.props.id} className={\"mr-3 flex items-center\"}>\n {item}\n </div>\n )\n )}\n </div>\n <div className={\"flex-grow\"} />\n <div className={\"flex\"}>\n {right?.map((item) => {\n return (\n item && (\n <div key={item.key ?? item.props.id} className={\"ml-3 first:ml-0\"}>\n {item}\n </div>\n )\n );\n })}\n </div>\n </div>\n);\n\nLine.propTypes = {\n left: PropTypes.array,\n right: PropTypes.array,\n className: PropTypes.string,\n};\n\nexport default Line;\n","import React from \"react\";\n\nimport Text from \"../Text/Text\";\n\nimport { TableFieldConfig } from \"./Table.types\";\n\nexport interface TableHeaderProps<Item> {\n fieldConfigurations: TableFieldConfig<Item>[];\n className?: string;\n}\n\nexport function TableHeader<Item>(props: TableHeaderProps<Item>): JSX.Element {\n return (\n <thead className={props.className}>\n <tr>\n {props.fieldConfigurations.map(fieldConfig => (\n <th className=\"px-2 first:pl-6 last:pr-6\" key={fieldConfig.key}>\n <Text\n text={fieldConfig.headerText ?? \"\"}\n type=\"strong\"\n className=\"py-4 text-left leading-5 truncate uppercase\"\n />\n </th>\n ))}\n </tr>\n </thead>\n );\n}\n","export enum TagSize {\n \"small\" = \"small\",\n \"base\" = \"base\",\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text, TextColor } from \"../Text/Text\";\n\nimport { TagSize } from \"./Tag.utils\";\n\nexport enum TagColorTheme {\n Red = \"red\",\n Amber = \"amber\",\n Green = \"green\",\n Gray = \"gray\",\n Blue = \"blue\",\n}\n\nexport interface TagProps {\n text: string;\n colorTheme?: TagColorTheme;\n size?: TagSize;\n className?: string;\n}\n\nconst Tag = ({\n text,\n colorTheme = TagColorTheme.Gray,\n className,\n size = TagSize.base,\n}: TagProps): JSX.Element => {\n const textColor: Record<TagColorTheme, TextColor> = {\n [TagColorTheme.Red]: \"red\",\n [TagColorTheme.Amber]: \"amber\",\n [TagColorTheme.Green]: \"green\",\n [TagColorTheme.Gray]: \"base\",\n // Blue must be 800 here to pass the contrast test\n [TagColorTheme.Blue]: \"blue-800\",\n };\n\n return (\n <div\n className={classNames(\"py-1 px-2 inline-block rounded-lg\", className, {\n \"bg-red-50\": colorTheme === TagColorTheme.Red,\n \"bg-orange-50\": colorTheme === TagColorTheme.Amber,\n \"bg-green-50\": colorTheme === TagColorTheme.Green,\n \"bg-slate-50\": colorTheme === TagColorTheme.Gray,\n \"bg-blue-50\": colorTheme === TagColorTheme.Blue,\n })}\n >\n <Text\n className=\"leading-5\"\n color={textColor[colorTheme]}\n text={text}\n type={size === TagSize.small ? \"sm\" : \"base\"}\n />\n </div>\n );\n};\n\nexport default Tag;\n","import {\n TableFieldText,\n TableFieldAction,\n TableFieldContent,\n} from \"./Table.types\";\n\nexport function isTableFieldText<Item>(\n content: TableFieldContent<Item>\n): content is TableFieldText {\n return \"text\" in content || \"tag\" in content;\n}\n\nexport function isTableFieldAction<Item>(\n content: TableFieldContent<Item>\n): content is [TableFieldAction<Item>?, TableFieldAction<Item>?] {\n return (\n Array.isArray(content) &&\n content.some(\n action =>\n action && \"key\" in action && \"icon\" in action && \"handleClick\" in action\n )\n );\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Tag from \"../Tag/Tag\";\nimport Text from \"../Text/Text\";\nimport { TertiaryButton } from \"../ButtonV2/TertiaryButton\";\n\nimport { TableFieldConfig } from \"./Table.types\";\nimport { isTableFieldAction, isTableFieldText } from \"./Table.utils\";\n\nexport interface TableBodyRowDataCellProps<Item> {\n item: Item;\n fieldConfig: TableFieldConfig<Item>;\n emptyFieldContentText?: string;\n}\n\nexport function TableBodyRowDataCell<Item>(\n props: TableBodyRowDataCellProps<Item>\n): JSX.Element {\n const content = props.fieldConfig.content(props.item);\n const emptyFieldContentText = props.emptyFieldContentText ?? \"\";\n\n return (\n <td\n className={classNames(\"px-2 first:pl-6 last:pr-6\", {\n \"align-top\": !isTableFieldAction(content),\n })}\n >\n {isTableFieldText(content) && (\n <div className=\"flex flex-row\">\n {content.tag && (\n <div className=\"mt-3 mr-2\">\n <Tag text={content.tag.text} colorTheme={content.tag.color} />\n </div>\n )}\n <Text\n className={classNames(\"py-4 text-left leading-5\", {\n \"break-all\": content.breakAllWord,\n \"break-words\": !content.breakAllWord,\n })}\n text={content.text === \"\" ? emptyFieldContentText : content.text}\n type=\"base\"\n />\n </div>\n )}\n\n {isTableFieldAction(content) && (\n <div\n className={classNames(\n \"flex flex-row justify-end\",\n \"transition-opacity ease-in-out duration-300\",\n {\n \"opacity-0\": props.fieldConfig.onlyShowContentOnHovering,\n \"group-hover:opacity-100\":\n props.fieldConfig.onlyShowContentOnHovering,\n }\n )}\n >\n {content.map(\n (action) =>\n action && (\n <TertiaryButton\n data-test-id={`${action.key}-button`}\n className=\"ml-2 first:ml-0\"\n key={action.key}\n icon={action.icon}\n onClick={() => {\n action.handleClick(props.item);\n }}\n />\n )\n )}\n </div>\n )}\n </td>\n );\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { TableFieldConfig } from \"./Table.types\";\nimport { TableBodyRowDataCell } from \"./TableBodyRowDataCell\";\n\nexport interface TableBodyRowProps<Item> {\n item: Item;\n fieldConfigurations: TableFieldConfig<Item>[];\n emptyFieldContentText?: string;\n onClick?: (item: Item) => void;\n className?: string;\n}\n\nexport function TableBodyRow<Item>(\n props: TableBodyRowProps<Item>\n): JSX.Element {\n const handleRowClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n props.onClick?.(props.item);\n };\n\n return (\n <tr\n tabIndex={0}\n className={classNames(\n \"group\",\n {\n \"hover:bg-blue-50 transition-colors ease-in-out duration-300 cursor-pointer focus:outline-primary\":\n props.onClick,\n \"hover:bg-white cursor-default\": !props.onClick,\n },\n props.className\n )}\n onClick={handleRowClick}\n >\n {props.fieldConfigurations.map(fieldConfig => (\n <TableBodyRowDataCell\n key={fieldConfig.key}\n item={props.item}\n fieldConfig={fieldConfig}\n emptyFieldContentText={props.emptyFieldContentText}\n />\n ))}\n </tr>\n );\n}\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { EmptyListMessage } from \"../EmptyListMessage/EmptyListMessage\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\n\nimport { TableFieldConfig } from \"./Table.types\";\nimport { TableBodyRow } from \"./TableBodyRow\";\n\nexport interface TableBody<Item> {\n items?: Item[];\n fieldConfigurations: TableFieldConfig<Item>[];\n emptyItemsText: string;\n emptyFieldContentText?: string;\n isLoading: boolean;\n showEmptyView: boolean;\n onRowClick?: (item: Item) => void;\n className?: string;\n}\n\nexport function TableBody<Item>(props: TableBody<Item>): JSX.Element {\n return (\n <tbody className={props.className}>\n {!props.isLoading &&\n props.items?.map(item => (\n <TableBodyRow\n className={classNames(\"border-b last:border-none border-slate-100\")}\n key={JSON.stringify(item)}\n item={item}\n fieldConfigurations={props.fieldConfigurations}\n emptyFieldContentText={props.emptyFieldContentText}\n onClick={props.onRowClick}\n />\n ))}\n\n {props.isLoading && (\n <tr>\n <td colSpan={props.fieldConfigurations.length}>\n <LoadingIndicator className=\"py-0 px-3\" asModal={false} />\n </td>\n </tr>\n )}\n\n {props.showEmptyView && (\n <tr>\n <td colSpan={props.fieldConfigurations.length}>\n <EmptyListMessage\n className=\"py-6\"\n text={props.emptyItemsText}\n imageName={\"search-not-found\"}\n />\n </td>\n </tr>\n )}\n </tbody>\n );\n}\n","import React from \"react\";\n\nimport { TertiaryButton } from \"../ButtonV2/TertiaryButton\";\nimport { LeftArrowIcon } from \"../Icons/LeftArrowIcon\";\nimport { RightArrowIcon } from \"../Icons/RightArrowIcon\";\nimport { Text } from \"../Text/Text\";\n\nimport { PaginationMenuSmallProps } from \"./PaginationMenu.types\";\n\nexport const PaginationMenuSmall = (\n props: PaginationMenuSmallProps\n): JSX.Element => {\n const handleOnChange = (event: React.MouseEvent<HTMLButtonElement>) => {\n const pageNumber = event.currentTarget.dataset.page;\n pageNumber && props.onChange(parseInt(pageNumber, 10), props.pageSize);\n };\n\n return (\n <>\n <TertiaryButton\n data-test-id=\"prev-button\"\n icon={LeftArrowIcon}\n data-page={props.currentPageNumber - 1}\n onClick={handleOnChange}\n isDisabled={props.currentPageNumber === 1}\n />\n <Text\n className=\"ml-4\"\n text={`${props.currentPageNumber} / ${props.pageCount}`}\n type=\"sm\"\n color=\"slate-500\"\n />\n <TertiaryButton\n className=\"ml-4\"\n data-test-id=\"next-button\"\n icon={RightArrowIcon}\n isDisabled={props.currentPageNumber === props.pageCount}\n data-page={props.currentPageNumber + 1}\n onClick={handleOnChange}\n />\n </>\n );\n};\n","import {\n MultiValue,\n OptionsOrGroups,\n Props,\n StylesConfig,\n GroupBase,\n Options,\n components,\n} from \"react-select\";\nimport ReactSelect, { mergeStyles } from \"react-select\";\nimport React from \"react\";\nimport classNames from \"classnames\";\n\n/**\n * Exceptional case for this file:\n * We use postcss-url to inline and base64 our image assets.\n * But the library can only see as far as css files.\n * When javascript gets in the way (react-select uses a package called `emotion` for styles), postcss-url cannot\n * bundle the svg assets used here, and we end up with some broken style.\n */\nimport \"./Select.scss\";\nimport { FormFieldWidth } from \"../Form/form.types\";\n\nfunction generateCustomStyles<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>\n>(hasError: boolean, isIE11: boolean): StylesConfig<Option, IsMulti, Group> {\n return {\n option: (baseStyles, state) => {\n return {\n ...baseStyles,\n fontWeight: state.isSelected ? \"bold\" : \"normal\",\n fontSize: \"14px\",\n backgroundColor: \"none\",\n color: \"inherit\",\n position: \"relative\",\n padding: \"0.75rem\",\n opacity: state.isDisabled ? \"0.5\" : 1,\n \"&:after\": {\n visibility: state.isSelected ? \"visible\" : \"hidden\",\n },\n transition: \"background-color 0.3s ease-in-out\",\n \"&:hover\": {\n // tailwind blue-50\n backgroundColor: state.isSelected ? \"transparent\" : \"#F2FAFD\",\n },\n pointerEvents: state.isDisabled ? \"none\" : \"auto\",\n };\n },\n container: (baseStyles) => {\n return { ...baseStyles, flexGrow: isIE11 ? 0.5 : \"initial\" };\n },\n control: (baseStyles, state) => {\n const defaultBorderColor = state.isFocused ? \"#045baa\" : \"#D1D5DB\";\n const validatedBorderColor = hasError ? \"#c53030\" : defaultBorderColor;\n\n const defaultOutline = hasError\n ? \"rgba(255, 98, 102, 0.3)\"\n : \"rgba(0, 159, 227, 0.3)\";\n const validatedOutline = `4px solid ${\n state.isFocused ? defaultOutline : \"transparent\"\n }`;\n\n return {\n ...baseStyles,\n fontSize: \"14px\",\n transition: \"border 0.3s ease-in-out\",\n height: isIE11 ? \"50px\" : \"2.75rem\",\n\n // primary outline\n outline: validatedOutline,\n\n borderColor: validatedBorderColor,\n borderWidth: \"1px !important\",\n borderStyle: \"solid\",\n borderRadius: \"4px\",\n\n boxShadow: \"0px 1px 2px rgba(0, 0, 0, 0.05)\",\n\n \"&:hover\": {\n borderColor: \"#9CA3AF\",\n // selector for the chevron\n '> [class*=\"IndicatorsContainer\"]': {\n opacity: 1,\n },\n },\n };\n },\n // The placeholder has the following css prop: grid-area: 1/1/2/3;\n // And grid-area doesn't work on IE11, so we need to style it slightly different.\n placeholder: (baseStyles) => ({\n ...baseStyles,\n fontWeight: 100,\n color: \"#6B7280\",\n paddingTop: isIE11 ? \"1.2rem\" : undefined,\n }),\n singleValue: (baseStyles) => {\n return {\n ...baseStyles,\n paddingTop: isIE11 ? \"1.2rem\" : undefined,\n fontSize: \"14px\",\n };\n },\n indicatorSeparator: () => ({\n display: \"none\",\n }),\n menu: (baseStyles) => ({\n ...baseStyles,\n zIndex: 20,\n }),\n };\n}\n\n// All the options require a value to work in the wrapper\ninterface OptionMinimal {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any;\n label?: string;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface SelectProps<\n Option extends OptionMinimal = OptionMinimal,\n IsMulti extends boolean = any,\n Group extends GroupBase<Option> = GroupBase<Option>\n> extends Props<Option, IsMulti, Group> {\n isError?: boolean;\n width?: FormFieldWidth;\n /**\n * REASON: this could be a ticket to fix later on, but react-select has some tricky types to navigate\n * imo there's little to no value spending time on fixing it properly since it already works.\n *\n * This change is protected by policy: https://app.glassfrog.com/organizations/13950/orgnav/policies/12870328\n */\n value?: any;\n}\n\n/**\n * A wrapper around react-select to style it according to our design specification.\n *\n * In addition, the value is taken out of the option, instead of returning the complete option.\n *\n * Care when using grouped options: the value of the options overspanning all groups need to be unique!\n * For instance, if you have an option with value \"chocolate\" in both the groups \"flavor\" and \"dip\", then you get unforeseen errors.\n * This is a problem within react-select itself, not our wrapper.\n *\n * Care when using defaultValue: this still requires the complete Option (instead of the value of the Option).\n * So far there wasn't a use-case for this.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const Select = React.forwardRef(\n <\n Option extends OptionMinimal,\n IsMulti extends boolean,\n Group extends GroupBase<Option>\n >(\n {\n isError = false,\n styles,\n options,\n onChange,\n value,\n width = \"full\",\n isMulti,\n className,\n ...otherProps\n }: SelectProps<Option, IsMulti, Group>,\n innerRef\n ) => {\n const isIE11 =\n \"MSInputMethodContext\" in window && \"documentMode\" in document;\n const customStyles = generateCustomStyles<Option, IsMulti, Group>(\n isError,\n isIE11\n );\n const mergedStyles = mergeStyles<Option, IsMulti, Group>(\n customStyles,\n styles\n );\n\n // the options can be either a list of options or a grouped list of options\n // this is a typechecker to verify it is the case.\n const isOptionsGrouped = !options\n ? false\n : (options as OptionsOrGroups<Option, Group>).reduce(\n (acc, o) => acc || (\"options\" in o && !(\"values\" in o)),\n false\n );\n // we subsequently flatmap to ensure it's always a list of options\n const flatmappedOptions = !options\n ? []\n : isOptionsGrouped\n ? (options as Group[]).flatMap((g) => g.options)\n : (options as Options<Option>);\n\n // based on: https://stackoverflow.com/a/70022957\n const onChangeWrapped = !onChange\n ? undefined\n : isMulti\n ? (val, a) =>\n onChange(\n val.map((v) => v.value),\n a\n )\n : (val, a) => onChange(val?.value, a);\n // TODO: how can we report the error if a value was given that is not within the options?\n const valueWrapped =\n !value || !options\n ? value\n : isMulti\n ? flatmappedOptions.filter((o) =>\n (value as MultiValue<Option>).includes(o.value)\n )\n : flatmappedOptions.find((o) => o.value === value);\n\n // Why: https://github.com/JedWatson/react-select/issues/3149\n const getDataAttributes = () => {\n const dataProps = {};\n\n for (const prop in otherProps) {\n if (prop.includes(\"data-\")) {\n dataProps[prop] = otherProps[prop];\n }\n }\n\n return dataProps;\n };\n\n const CustomContainer = (commonProps) => (\n <components.SelectContainer\n {...commonProps}\n innerProps={Object.assign({}, commonProps.innerProps, {\n ...getDataAttributes(),\n })}\n />\n );\n\n return (\n <ReactSelect\n {...otherProps}\n ref={innerRef}\n styles={mergedStyles}\n options={options}\n onChange={onChangeWrapped}\n value={valueWrapped}\n isMulti={isMulti}\n className={classNames(\"customized-select\", className, {\n \"w-16\": width === \"sm\",\n \"w-32\": width === \"md\",\n \"w-56\": width === \"lg\",\n \"w-80\": width === \"xl\",\n \"flex-grow\": width === \"full\",\n })}\n components={{ SelectContainer: CustomContainer }}\n />\n );\n }\n);\n","import { Localization, Option, PageSize } from \"./PaginationMenu.types\";\n\nconst PAGE_SIZES: PageSize[] = [25, 50, 75, 100];\n\nexport const PAGE_SIZE_OPTIONS = PAGE_SIZES.map(pageSize => {\n return {\n label: pageSize.toString(),\n value: pageSize,\n };\n});\n\nexport const getPageNumberOptions = (pageCount: number): Option[] => {\n const items: Option[] = [];\n for (let i = 1; i <= pageCount; i++) {\n items.push({\n label: i.toString(),\n value: i,\n });\n }\n return items;\n};\n\n/**\n *\n * @returns When the pageSize and resultCount params are present,\n * this function returns a text indicating the range of elements that are being displayed,\n * otherwise it returns a text indicating the current page and the page count.\n * @example 1-50 of 100\n *\n */\nexport const getSummaryText = (\n pageCount: number,\n currentPageNumber: number,\n localization: Localization,\n pageSize?: number,\n resultCount?: number\n): string => {\n if (pageSize && resultCount) {\n const lowestElement = (currentPageNumber - 1) * pageSize + 1;\n const highestElement =\n currentPageNumber === pageCount\n ? resultCount\n : currentPageNumber * pageSize;\n\n return `${lowestElement}-${highestElement} ${localization.of} ${resultCount}`;\n } else {\n return `${localization.page} ${currentPageNumber} / ${pageCount}`;\n }\n};\n","import React from \"react\";\n\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { Select } from \"../Select/Select\";\nimport { Text } from \"../Text/Text\";\n\nimport { PaginationMenuLargeProps } from \"./PaginationMenu.types\";\nimport {\n getPageNumberOptions,\n getSummaryText,\n PAGE_SIZE_OPTIONS,\n} from \"./PaginationMenu.utils\";\n\nexport const PaginationMenuLarge = (\n props: PaginationMenuLargeProps\n): JSX.Element => {\n const handleOnPageNumberSelect = (value) => {\n props.onChange(value, props.pageSize);\n };\n const handleOnPageSizeSelect = (value) => {\n const pageSize = PAGE_SIZE_OPTIONS.find((option) => option.value === value);\n pageSize && props.onChange(1, pageSize.value);\n };\n const handleOnPrevNextButtonClick = (\n event: React.MouseEvent<HTMLButtonElement>\n ) => {\n const newPage = event.currentTarget.dataset.page;\n newPage && props.onChange(parseInt(newPage, 10), props.pageSize);\n };\n\n return (\n <>\n <div className={\"flex flex-row items-center\"}>\n {props.pageSize && props.resultCount && (\n <>\n <Text text={props.localization.display} />\n <Select\n className={\"w-24 ml-2 mr-4\"}\n options={PAGE_SIZE_OPTIONS}\n onChange={handleOnPageSizeSelect}\n value={props.pageSize}\n menuPlacement=\"auto\"\n />\n </>\n )}\n <Text text={props.localization.page} />\n <Select\n className={\"w-24 ml-2\"}\n options={getPageNumberOptions(props.pageCount)}\n onChange={handleOnPageNumberSelect}\n value={props.currentPageNumber}\n isDisabled={props.pageCount < 2}\n menuPlacement=\"auto\"\n />\n </div>\n\n <div className={\"ml-4 flex flex-row items-center\"}>\n <Text\n text={getSummaryText(\n props.pageCount,\n props.currentPageNumber,\n props.localization,\n props.pageSize,\n props.resultCount\n )}\n color=\"slate-500\"\n />\n <SecondaryButton\n data-test-id=\"prev-button\"\n text={props.localization.previous}\n data-page={props.currentPageNumber - 1}\n onClick={handleOnPrevNextButtonClick}\n isDisabled={props.currentPageNumber === 1}\n className=\"ml-4\"\n />\n <SecondaryButton\n data-test-id=\"next-button\"\n text={props.localization.next}\n isDisabled={props.currentPageNumber === props.pageCount}\n data-page={props.currentPageNumber + 1}\n onClick={handleOnPrevNextButtonClick}\n className=\"ml-4\"\n />\n </div>\n </>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { PaginationMenuSmall } from \"./PaginationMenuSmall\";\nimport { PaginationMenuLarge } from \"./PaginationMenuLarge\";\nimport { PaginationMenuProps } from \"./PaginationMenu.types\";\n\nexport const PaginationMenu = (props: PaginationMenuProps): JSX.Element => {\n const buildPaginationLarge = (): JSX.Element => {\n if (!props.localization) {\n console.error(\n \"Localization is required to use the non small Pagination component, please make sure to pass it as a prop.\"\n );\n return <span>Invalid props passed to this component.</span>;\n }\n return (\n <PaginationMenuLarge\n pageCount={props.pageCount}\n currentPageNumber={props.currentPageNumber}\n onChange={props.onChange}\n pageSize={props.pageSize}\n localization={props.localization}\n resultCount={props.resultCount}\n />\n );\n };\n\n return (\n <div\n className={classNames(\n \"flex flex-row w-full items-center justify-between\",\n props.className\n )}\n >\n {props.small ? (\n <PaginationMenuSmall\n pageCount={props.pageCount}\n currentPageNumber={props.currentPageNumber}\n pageSize={props.pageSize}\n onChange={props.onChange}\n />\n ) : (\n buildPaginationLarge()\n )}\n </div>\n );\n};\n","import React from \"react\";\n\nimport { PaginationMenu } from \"../PaginationMenu/PaginationMenu\";\nimport { PaginationMenuProps } from \"../PaginationMenu/PaginationMenu.types\";\n\ninterface TableFooterProps {\n colSpan: number;\n paginationMenuProps: PaginationMenuProps;\n}\n\nexport const TableFooter = (props: TableFooterProps): JSX.Element => {\n return (\n <tfoot>\n <tr>\n <td colSpan={props.colSpan}>\n <PaginationMenu className=\"p-6\" {...props.paginationMenuProps} />\n </td>\n </tr>\n </tfoot>\n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { PaginationMenuProps } from \"../PaginationMenu/PaginationMenu.types\";\n\nimport { TableHeader } from \"./TableHeader\";\nimport { TableBody } from \"./TableBody\";\nimport { TableFooter } from \"./TableFooter\";\nimport { TableFieldConfig } from \"./Table.types\";\n\nexport interface TableProps<Item>\n extends React.HTMLAttributes<HTMLTableElement> {\n items?: Item[];\n fieldConfigurations: TableFieldConfig<Item>[];\n emptyRowsText: string;\n emptyFieldContentText?: string;\n isLoading?: boolean;\n showHeader?: boolean;\n paginationMenuProps?: PaginationMenuProps;\n onRowClick?: (item: Item) => void;\n className?: string;\n dataTestId?: string;\n}\n\nexport function Table<Item>({\n items,\n fieldConfigurations,\n emptyRowsText,\n emptyFieldContentText,\n isLoading = false,\n showHeader = true,\n paginationMenuProps,\n onRowClick,\n className,\n dataTestId,\n ...otherAttributes\n}: TableProps<Item>): JSX.Element {\n // For not displaying empty view at creation\n const [isPristine, setIsPristine] = useState(true);\n\n useEffect(() => {\n setIsPristine(false);\n }, [items, isLoading]);\n\n const showEmptyView =\n !isPristine && !isLoading && !(items && items.length > 0);\n\n return (\n <table\n className={classNames(\n \"w-full rounded-lg bg-white border-collapse table-auto\",\n className\n )}\n data-test-id={dataTestId}\n {...otherAttributes}\n >\n {showHeader ? (\n <TableHeader\n className=\"border-b border-slate-100\"\n fieldConfigurations={fieldConfigurations}\n />\n ) : null}\n\n <TableBody\n className={classNames({\n \"border-b border-slate-100\":\n !isLoading &&\n !showEmptyView &&\n paginationMenuProps &&\n paginationMenuProps.currentPageNumber > 0 &&\n paginationMenuProps.pageCount > 0,\n })}\n items={items}\n fieldConfigurations={fieldConfigurations}\n emptyItemsText={emptyRowsText}\n emptyFieldContentText={emptyFieldContentText}\n isLoading={isLoading}\n showEmptyView={showEmptyView}\n onRowClick={onRowClick}\n />\n\n {!isLoading &&\n !showEmptyView &&\n paginationMenuProps &&\n paginationMenuProps.currentPageNumber > 0 &&\n paginationMenuProps.pageCount > 0 ? (\n <TableFooter\n colSpan={fieldConfigurations.length}\n paginationMenuProps={paginationMenuProps}\n />\n ) : null}\n </table>\n );\n}\n","import React, { PureComponent } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport Button from \"../Button/Button\";\n\nimport \"./Menu.scss\";\n\nclass Menu extends PureComponent {\n static propTypes = {\n children: PropTypes.node.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isOpen: false,\n };\n }\n\n componentDidMount() {\n document.addEventListener(\"mousedown\", this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"mousedown\", this.handleClickOutside);\n }\n\n handleClickOutside = (event) => {\n if (this.rootRef && !this.rootRef.contains(event.target)) {\n this.closeMenu();\n }\n };\n\n handleIconClick = (event) => {\n event.preventDefault();\n event.stopPropagation();\n this.openMenu();\n };\n\n openMenu = () => {\n this.setState({\n isOpen: true,\n });\n };\n\n closeMenu = () => {\n this.setState({\n isOpen: false,\n });\n };\n\n render() {\n const { children, className } = this.props;\n const { isOpen } = this.state;\n\n const containerClassName = classNames(\"cweb-menu\", className, {\n \"is-open\": isOpen,\n });\n\n return (\n <div className={containerClassName} ref={(element) => (this.rootRef = element)}>\n {isOpen ? (\n <div className=\"p-6 border shadow-md cweb-menu-content border-slate-300\">{children}</div>\n ) : (\n <Button role=\"tertiary\" onClick={this.handleIconClick} className=\"chart-button\" />\n )}\n </div>\n );\n }\n}\n\nexport default Menu;\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport { Checkbox } from \"../Checkbox/Checkbox\";\n\nimport { CheckboxGroupItemProps } from \"./CheckboxList.types\";\n\nexport const CheckboxListItem = ({\n id,\n label,\n isChecked,\n isDisabled,\n onChange,\n className,\n}: CheckboxGroupItemProps): JSX.Element => {\n const [checked, setChecked] = useState(isChecked || false);\n\n useEffect(() => {\n setChecked(isChecked || false);\n }, [isChecked]);\n\n const handleItemClick = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n\n if (isDisabled) {\n return;\n }\n\n if (onChange) {\n onChange({ id, newCheckedValue: !checked });\n }\n setChecked(!checked);\n };\n\n const handleCheckboxClick = (event: React.ChangeEvent<HTMLInputElement>) => {\n event.stopPropagation();\n const targetId = event.target.id;\n const newCheckedValue = event.target.checked;\n\n if (onChange) {\n onChange({ id: targetId, newCheckedValue });\n }\n };\n\n return (\n <div\n className={classNames(\n \"flex flex-row space-between cursor-pointer items-center\",\n className\n )}\n item-id={id}\n onClick={handleItemClick}\n >\n <Text text={label} className={\"mr-auto\"} />\n <Checkbox\n isChecked={checked}\n isDisabled={isDisabled}\n onChange={handleCheckboxClick}\n id={id}\n />\n </div>\n );\n};\n","export enum CheckboxState {\n CHECKED = \"checked\",\n INDETERMINATE = \"indeterminate\",\n UNCHECKED = \"unchecked\",\n}\n\nexport interface CheckboxListProps {\n groups: CheckboxGroup[];\n onChange: (event: CheckboxChangeEvent) => void;\n hasDividers?: boolean;\n className?: string;\n}\n\nexport interface CheckboxGroupProps {\n //If you don't specify a title than it will just be a non-collapsible list\n title?: string;\n items: CheckboxListItem[];\n onChange: (event: CheckboxChangeEvent) => void;\n hasDividers?: boolean;\n className?: string;\n isCollapsed?: boolean;\n}\n\nexport interface CheckboxGroupItemProps {\n id: string;\n label: string;\n isChecked?: boolean;\n isDisabled?: boolean;\n onChange: (event: CheckboxChangeEvent) => void;\n className?: string;\n}\n\nexport interface CheckboxListItem {\n id: string;\n label: string;\n isChecked?: boolean;\n isDisabled?: boolean;\n className?: string;\n}\n\nexport interface CheckboxGroup {\n //If you don't specify a title than it will just be a non-collapsible list\n title?: string;\n items: CheckboxListItem[];\n isCollapsed?: boolean;\n}\n\nexport interface CheckboxChangeEvent {\n id: string;\n newCheckedValue: boolean;\n}\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport { ChevronRightIcon } from \"../Icons/ChevronRightIcon\";\nimport { ChevronDownIcon } from \"../Icons/ChevronDownIcon\";\nimport Checkbox from \"../Checkbox/Checkbox\";\n\nimport { CheckboxGroupProps, CheckboxState } from \"./CheckboxList.types\";\nimport { CheckboxListItem } from \"./CheckboxListItem\";\n\nexport const CheckboxGroup = ({\n title,\n items,\n onChange,\n className,\n hasDividers = false,\n isCollapsed = true,\n}: CheckboxGroupProps): JSX.Element => {\n const [groupCheckboxState, setGroupCheckboxState] = useState<CheckboxState>(\n CheckboxState.UNCHECKED\n );\n\n const [collapsed, setCollapsed] = useState(isCollapsed);\n const [isDisabled, setIsDisabled] = useState(false);\n\n useEffect(() => {\n const enabledItems = items.filter((item) => !item.isDisabled);\n\n if (enabledItems.length === 0) {\n setGroupCheckboxState(CheckboxState.UNCHECKED);\n return;\n }\n\n const indeterminate = enabledItems.some(\n (item) => item.isChecked !== enabledItems[0].isChecked\n );\n if (indeterminate) {\n setGroupCheckboxState(CheckboxState.INDETERMINATE);\n return;\n }\n\n if (enabledItems[0].isChecked) {\n setGroupCheckboxState(CheckboxState.CHECKED);\n } else if (!enabledItems[0].isChecked) {\n setGroupCheckboxState(CheckboxState.UNCHECKED);\n }\n\n setIsDisabled(!enabledItems.some((item) => !item.isDisabled));\n }, [items]);\n\n const handleGroupClick = (\n event:\n | React.MouseEvent<HTMLDivElement>\n | React.ChangeEvent<HTMLInputElement>\n ) => {\n event.stopPropagation();\n\n const enabledItems = items.filter((item) => !item.isDisabled);\n\n if (\n (groupCheckboxState === CheckboxState.CHECKED ||\n groupCheckboxState === CheckboxState.INDETERMINATE) &&\n onChange\n ) {\n //if checked or indeterminate >> make all items unchecked\n enabledItems.forEach((item) =>\n onChange({ id: item.id, newCheckedValue: false })\n );\n } else if (onChange) {\n // else if unchecked >> make all items checked\n enabledItems.forEach((item) =>\n onChange({ id: item.id, newCheckedValue: true })\n );\n }\n };\n\n const handleGroupCollapse = (\n event:\n | React.MouseEvent<HTMLDivElement>\n | React.MouseEvent<SVGSVGElement>\n | undefined\n ) => {\n if (event) {\n event.stopPropagation();\n }\n\n setCollapsed(!collapsed);\n };\n\n const checkedItemsCount = items?.filter((item) => item?.isChecked).length;\n const groupTitle =\n checkedItemsCount > 0 ? `${title} (${checkedItemsCount})` : title;\n\n const itemClassName = hasDividers\n ? \"py-3 last:border-b-0 border-b border-slate-200\"\n : \"my-1\";\n\n return (\n <div\n className={classNames(\"flex flex-col \", className, {\n \"last:border-b-0 border-b border-slate-200\": hasDividers && isCollapsed,\n \"border-b-0\": hasDividers && !isCollapsed,\n })}\n >\n {title && (\n <div\n className={classNames(\n \"flex flex-row items-center w-full space-between\",\n {\n \"border-b border-slate-200 py-3\": hasDividers,\n \"my-1\": !hasDividers,\n },\n { \"last:border-b-0\": hasDividers && isCollapsed }\n )}\n >\n <div\n className={\n \"h-6 cursor-pointer mr-auto flex flex-row items-center text-slate-300 hover:text-slate-500 transition duration-300\"\n }\n onClick={handleGroupCollapse}\n >\n {collapsed ? (\n <ChevronRightIcon onClick={handleGroupCollapse} />\n ) : (\n <ChevronDownIcon onClick={handleGroupCollapse} />\n )}\n <Text type={\"strong\"} text={groupTitle || \"\"} className={\"ml-4\"} />{\" \"}\n </div>\n <Checkbox\n onChange={handleGroupClick}\n className={\"ml-auto\"}\n isChecked={groupCheckboxState === CheckboxState.CHECKED}\n isDisabled={isDisabled}\n isIndeterminate={groupCheckboxState === CheckboxState.INDETERMINATE}\n />\n </div>\n )}\n\n {!collapsed &&\n items.map((item) => (\n <CheckboxListItem\n key={item.id}\n id={item.id}\n label={item.label}\n onChange={onChange}\n isChecked={item.isChecked}\n isDisabled={item.isDisabled}\n className={classNames(\"ml-10\", itemClassName)}\n />\n ))}\n </div>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { CheckboxListItem } from \"./CheckboxListItem\";\nimport { CheckboxListProps } from \"./CheckboxList.types\";\nimport { CheckboxGroup } from \"./CheckboxGroup\";\n\nexport { CheckboxListProps };\n\nexport const CheckboxList = ({\n groups,\n onChange,\n className,\n hasDividers = false,\n}: CheckboxListProps): JSX.Element => {\n const itemClassName = hasDividers\n ? \"py-3 border-b border-slate-200 last:border-b-0\"\n : \"my-1\";\n\n return (\n <div className={classNames(\"flex flex-col\", className)}>\n {groups?.length > 0 &&\n groups.map((group) => {\n if (group.title) {\n return (\n <CheckboxGroup\n key={group.title}\n items={group.items}\n title={group.title}\n isCollapsed={group.isCollapsed}\n onChange={onChange}\n hasDividers={hasDividers}\n />\n );\n } else {\n return group.items.map((item) => (\n <CheckboxListItem\n key={item.id}\n id={item.id}\n label={item.label}\n onChange={onChange}\n isChecked={item.isChecked}\n isDisabled={item.isDisabled}\n className={itemClassName}\n />\n ));\n }\n })}\n </div>\n );\n};\n\nexport default CheckboxList;\n","import * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport groupBy from \"lodash/groupBy\";\n\nimport {\n CheckboxChangeEvent,\n CheckboxGroupItemProps,\n} from \"../CheckboxList/CheckboxList.types\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport { SearchInput } from \"../Input/SearchInput\";\nimport Text from \"../Text/Text\";\nimport CheckboxList from \"../CheckboxList/CheckboxList\";\nimport { Modal } from \"../Modal/Modal\";\n\nexport type Item = {\n group?: string;\n isPinned?: boolean;\n} & Pick<CheckboxGroupItemProps, \"id\" | \"label\" | \"isChecked\" | \"isDisabled\">;\n\nexport interface Group {\n title?: string;\n items: Item[];\n}\n\ninterface CheckboxListModalTexts {\n title: string;\n confirmLabel: string;\n cancelLabel: string;\n searchPlaceHolder?: string;\n emptyState: string;\n}\n\nexport interface CheckboxListModalProps {\n texts: CheckboxListModalTexts;\n initialItems: Array<Item>;\n isLoadingInitialItems?: boolean;\n isOpen: boolean;\n onSave: (newItems: Item[]) => void;\n onCloseClick: () => void;\n filterItem: (item: Item, searchQuery: string) => boolean;\n className?: string;\n hasSearch: boolean;\n}\n\nconst transformToGroups = (items: Item[]): Group[] => {\n const pinned = items.find((option) => option.isPinned);\n\n const itemsWithGroup = items.filter((option) => option.group);\n const groups = Object.entries(groupBy(itemsWithGroup, \"group\")).map(\n (group) => ({\n title: group[0],\n items: group[1].sort((a, b) =>\n a.label > b.label ? 1 : b.label > a.label ? -1 : 0\n ),\n })\n );\n\n const itemsWithoutGroup = items.filter((option) => !option.group);\n const restGroup = {\n name: undefined,\n items: itemsWithoutGroup,\n };\n\n if (pinned) {\n const myGroup = {\n items: [pinned],\n };\n return [myGroup, ...groups, restGroup];\n }\n\n return [...groups, restGroup];\n};\n\nexport const CheckboxListModal = ({\n texts,\n initialItems,\n isLoadingInitialItems,\n isOpen,\n onSave,\n onCloseClick,\n filterItem = () => true,\n hasSearch = false,\n}: CheckboxListModalProps): JSX.Element => {\n const [items, setItems] = useState<Item[]>([]);\n const [visibleItems, setVisibleItems] = useState<Item[]>([]);\n const [groups, setGroups] = useState<Group[]>([]);\n const [search, setSearch] = useState(\"\");\n\n useEffect(() => {\n setItems(initialItems);\n }, [initialItems]);\n\n useEffect(() => {\n setVisibleItems(items.filter((item) => filterItem(item, search)));\n }, [items, search]);\n\n useEffect(() => {\n setGroups(transformToGroups(visibleItems));\n }, [visibleItems]);\n\n const handleOnItemChange = (event: CheckboxChangeEvent) => {\n const updatedItems = [...items];\n const index = updatedItems.findIndex((item) => item.id === event.id);\n updatedItems[index].isChecked = event.newCheckedValue;\n setItems(updatedItems);\n };\n\n const handleOnCloseClick = (\n event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent\n ) => {\n event.stopPropagation();\n onCloseClick();\n };\n\n const handleOnSaveClick = () => {\n onSave(items.filter((item) => item.isChecked));\n onCloseClick();\n };\n\n const handleOnSearchChange = (event) => {\n setSearch(event.currentTarget.value ?? \"\");\n };\n\n return (\n <Modal\n isOpen={isOpen}\n title={texts.title}\n onCloseClick={handleOnCloseClick}\n footerTrailingComponents={{\n primaryButtonProps: {\n text: texts.confirmLabel,\n onClick: handleOnSaveClick,\n },\n secondaryButtonProps: {\n text: texts.cancelLabel,\n onClick: handleOnCloseClick,\n },\n }}\n scrollableContent={true}\n >\n {isLoadingInitialItems && <LoadingIndicator />}\n\n {hasSearch && !isLoadingInitialItems && (\n <SearchInput\n className=\"w-130 mb-2\"\n value={search}\n placeholder={texts.searchPlaceHolder}\n onChange={handleOnSearchChange}\n />\n )}\n\n {!isLoadingInitialItems && items?.length > 0 && (\n <CheckboxList groups={groups} onChange={handleOnItemChange} />\n )}\n\n {!isLoadingInitialItems && items?.length === 0 && (\n <Text text={texts.emptyState} />\n )}\n </Modal>\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Text.legacy.scss\";\n\nconst TEXT_TYPE_OPTIONS = {\n DEFAULT: \"default\",\n STRONG: \"strong\",\n EMPHASIZED: \"emphasized\",\n FINEPRINT: \"fineprint\",\n SMALL: \"small\",\n SMALL_DARK: \"small-dark\",\n SMALL_FINEPRINT: \"small-fineprint\",\n MICRO: \"micro\",\n ERROR: \"error\",\n};\n\nconst TEXT_LEVEL_OPTIONS = {\n INLINE: \"inline\",\n BLOCK: \"block\",\n};\n\nLegacyText.propTypes = {\n text: PropTypes.string.isRequired,\n level: PropTypes.oneOf([TEXT_LEVEL_OPTIONS.INLINE, TEXT_LEVEL_OPTIONS.BLOCK]),\n type: PropTypes.oneOf([\n TEXT_TYPE_OPTIONS.DEFAULT,\n TEXT_TYPE_OPTIONS.STRONG,\n TEXT_TYPE_OPTIONS.EMPHASIZED,\n TEXT_TYPE_OPTIONS.FINEPRINT,\n TEXT_TYPE_OPTIONS.SMALL,\n TEXT_TYPE_OPTIONS.SMALL_DARK,\n TEXT_TYPE_OPTIONS.SMALL_FINEPRINT,\n TEXT_TYPE_OPTIONS.MICRO,\n TEXT_TYPE_OPTIONS.ERROR,\n ]),\n className: PropTypes.string,\n containsDangerousHtml: PropTypes.bool,\n};\n\n/**\n * @deprecated use TextV2\n */\nfunction LegacyText({\n text,\n type = TEXT_TYPE_OPTIONS.DEFAULT,\n level = TEXT_LEVEL_OPTIONS.BLOCK,\n className = \"\",\n containsDangerousHtml = false,\n ...otherProps\n}) {\n const containerClassName = classNames(\"cweb-text\", className, {\n \"type-default\": type === TEXT_TYPE_OPTIONS.DEFAULT,\n \"type-strong\": type === TEXT_TYPE_OPTIONS.STRONG,\n \"type-emphasized\": type === TEXT_TYPE_OPTIONS.EMPHASIZED,\n \"type-small\": type === TEXT_TYPE_OPTIONS.SMALL,\n \"type-fineprint\": type === TEXT_TYPE_OPTIONS.FINEPRINT,\n \"type-small-fineprint\": type === TEXT_TYPE_OPTIONS.SMALL_FINEPRINT,\n \"level-inline\": level === TEXT_LEVEL_OPTIONS.INLINE,\n \"level-block\": level === TEXT_LEVEL_OPTIONS.BLOCK,\n \"type-small-dark\": type === TEXT_LEVEL_OPTIONS.SMALL_DARK,\n \"type-error\": type === TEXT_TYPE_OPTIONS.ERROR,\n \"text-xs\": type === TEXT_TYPE_OPTIONS.MICRO,\n });\n\n return containsDangerousHtml ? (\n <p\n className={containerClassName}\n dangerouslySetInnerHTML={{ __html: text }}\n {...otherProps}\n />\n ) : (\n <p className={containerClassName} {...otherProps}>\n {text}\n </p>\n );\n}\n\nexport default LegacyText;\n\nexport { TEXT_TYPE_OPTIONS, TEXT_LEVEL_OPTIONS };\n","export function handleImplicitSelect(implicitSelected, event, list, property) {\n /*For certain values, if one checkbox is selected\n other checkboxes have to be selected/unselected automatically */\n const newList = [...list];\n const selectCheckboxName = event.target.name;\n const isChecked = event.target.checked;\n const implicitSelectedValues = implicitSelected[selectCheckboxName];\n\n if (implicitSelectedValues) {\n implicitSelectedValues.forEach((value) => {\n const selectedIndex = newList.findIndex((checkbox) => value === checkbox.identifier);\n let upadteCheckbox;\n if (property === \"isChecked\") {\n //if normal checkbox is false the switcher must be set to false as well\n upadteCheckbox = { ...newList[selectedIndex], isChecked: isChecked, isOn: false };\n } else {\n upadteCheckbox = { ...newList[selectedIndex], [property]: isChecked };\n }\n newList.splice(selectedIndex, 1, upadteCheckbox);\n });\n }\n return newList;\n}\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport Checkbox from \"../Checkbox/Checkbox\";\nimport { TEXT_TYPE_OPTIONS } from \"../Text/LegacyText\";\n\nimport { handleImplicitSelect } from \"./MultiSelectUtils\";\n\nimport \"./MultiSelect.scss\";\n\nexport function MultiSelect({\n checkboxList,\n radioLabel,\n onChange,\n validationError,\n name,\n implicitSelect,\n radioOnDemand,\n}) {\n const [list, setList] = useState(checkboxList);\n\n useEffect(() => {\n onChange({\n target: {\n name,\n value: list,\n },\n });\n }, [list]);\n\n function handleChange(event, indexSelected) {\n let newList = [...list];\n\n const isChecked = event.target.checked;\n const updateCheckbox = { ...list[indexSelected], isChecked: isChecked, isOn: false };\n newList.splice(indexSelected, 1, updateCheckbox);\n\n if (implicitSelect) {\n newList = handleImplicitSelect(implicitSelect, event, newList, \"isChecked\");\n }\n setList(newList);\n }\n\n function handleRadioChange(event, indexSelected) {\n let newList = [...list];\n\n const isChecked = event.target.checked;\n const updateCheckbox = { ...list[indexSelected], isOn: isChecked };\n newList.splice(indexSelected, 1, updateCheckbox);\n\n if (implicitSelect) {\n newList = handleImplicitSelect(implicitSelect, event, newList, \"isOn\");\n }\n\n setList(newList);\n }\n\n return (\n <ul>\n {list.map((checkbox, index) => {\n const text = [checkbox.name];\n\n if (checkbox.description && checkbox.description !== checkbox.name) {\n text.push(checkbox.description);\n }\n\n return (\n <div className=\"cweb-multiselect\" key={checkbox.identifier}>\n <Checkbox\n text={text.join(\" - \")}\n name={checkbox.identifier}\n isChecked={checkbox.isChecked || false}\n onChange={(event) => handleChange(event, index)}\n className=\"cweb-multiselect-checkbox\"\n textType={TEXT_TYPE_OPTIONS.SMALL_DARK}\n error={validationError}\n key={checkbox.identifier}\n />\n\n {radioOnDemand && (\n <div className=\"cweb-switch-wrapper\">\n <p className=\"cweb-switch-title\">{radioLabel}</p>\n <Checkbox\n type=\"switch\"\n name={`${checkbox.identifier}-toggle`}\n isChecked={checkbox.isOn}\n onChange={(event) => handleRadioChange(event, index)}\n textType={TEXT_TYPE_OPTIONS.SMALL_DARK}\n error={validationError}\n className=\"cweb-multiselect-switch\"\n isDisabled={!checkbox.isChecked}\n key={checkbox.identifier}\n />\n </div>\n )}\n </div>\n );\n })}\n </ul>\n );\n}\n\nMultiSelect.propTypes = {\n name: PropTypes.string,\n checkboxList: PropTypes.arrayOf(\n PropTypes.shape({\n isChecked: PropTypes.bool,\n name: PropTypes.string.isRequired,\n description: PropTypes.string,\n identifier: PropTypes.string.isRequired,\n })\n ),\n onChange: PropTypes.func,\n validationError: PropTypes.string,\n implicitSelect: PropTypes.object,\n radioOnDemand: PropTypes.bool,\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nexport interface NavMenuLayoutProps {\n menu: JSX.Element;\n children: JSX.Element | JSX.Element[]; //rendered as the page\n patientSidebar?: JSX.Element; //if passed will show the patients sidebar\n isNavDisabled?: boolean; //don't show any navigation, for instance when constrained to a single patient\n disableScrolling?: boolean;\n}\n\n/**\n *\n * @param props {NavMenuLayoutProps} - explaining specifically the `disableScrolling` prop:\n *\n * The patient overview page has some challenges we want to overcome in regards to the multiple scrollable\n * content (the charts and the action bar with alerts, etc).\n *\n * In order to have the setup working on the patient overview page and the rest of the application, we have to\n * progamatically disable/enable if that location will have a normal scrolling mechanism with specific margin/padding,\n * or we will need to let the components take care of that.\n */\nexport const NavLayout = (props: NavMenuLayoutProps): JSX.Element => {\n return (\n <div className={\"flex flex-col mb-3 lg:mb-0 lg:flex-row h-full w-full\"}>\n {!props.isNavDisabled && (\n <>\n {props.menu}\n {props.patientSidebar && props.patientSidebar}\n </>\n )}\n <div\n data-test-id=\"page-main-content\"\n className={classNames([\"w-full\", { \"max-h-screen overflow-y-auto px-4 lg:px-8\": !props.disableScrolling }])}\n >\n {props.children}\n </div>\n </div>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\ntype DividerProps = {\n dark?: boolean;\n};\n\nexport const Divider: React.FC<DividerProps> = (props): JSX.Element => {\n const darkTheme = \"dark\" in props;\n const defaultTheme = !darkTheme;\n\n return (\n <div\n className={classNames(\n \"block w-full border-b last:border-b-0 border-solid border-color\",\n {\n \"border-color-divider\": defaultTheme,\n \"border-slate-600\": darkTheme,\n }\n )}\n />\n );\n};\n","import React from \"react\";\n\nimport { FlexRow } from \"../Container/FlexRow\";\nimport { FlexColumn } from \"../Container/FlexColumn\";\nimport Text from \"../Text/Text\";\n\nimport { NavMenuFooterProps } from \"./types/NavMenuFooterProps.type\";\n\nexport const NavMenuFooter: React.FC<NavMenuFooterProps> = ({\n text,\n subtext,\n visible = true,\n}) => {\n if (!visible) {\n return null;\n }\n\n return (\n <div className=\"-mx-1 border-t border-slate-600 bg-nav-menu\">\n <FlexRow\n backgroundColor=\"transparent\"\n hasPadding\n alignItems=\"center\"\n spacing=\"none\"\n >\n <FlexColumn backgroundColor=\"transparent\" spacing=\"none\">\n <Text\n text={text}\n title={text}\n color=\"white\"\n className=\"break-normal max-w-50\"\n />\n {subtext && (\n <Text\n text={subtext}\n type=\"sm\"\n color=\"white\"\n truncate\n className=\"max-w-50\"\n title={subtext}\n />\n )}\n </FlexColumn>\n </FlexRow>\n </div>\n );\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { navigate } from \"@reach/router\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\n\nimport { NavMenuItemProps } from \"./types/NavMenuItemProps.type\";\n\nexport const NavMenuItem = (props: NavMenuItemProps): JSX.Element => {\n const [currentImg, setCurrentImg] = useState(\n props.isSelected ? props.imgOnHover : props.img\n );\n\n const classes = classNames(\n [\n \"h-11\",\n \"flex\",\n \"flex-row\",\n \"items-center\",\n \"w-auto\",\n \"px-4\",\n \"mb-1\",\n \"rounded\",\n \"hover:bg-gray-600\",\n \"transition\",\n \"ease-in\",\n \"duration-150\",\n \"lg:last:pb-2\",\n \"focus:outline-primary\",\n \"group\",\n ],\n {\n \"bg-nav-menu\": !props.isSelected,\n \"bg-gray-600\": props.isSelected,\n }\n );\n\n const handleOnMouseOver = () => {\n if (!props.isSelected) {\n setCurrentImg(props.imgOnHover);\n }\n };\n\n const handleOnMouseOut = () => {\n if (!props.isSelected) {\n setCurrentImg(props.img);\n }\n };\n\n return (\n <a\n href={props.href ?? props.linkTo ?? \"#\"}\n data-test-id={props.dataTestId}\n className={classes}\n onMouseOver={handleOnMouseOver}\n onMouseOut={handleOnMouseOut}\n onClick={handleMenuClick}\n >\n <img src={currentImg} className={\"mr-4 ml-0\"} />\n <Text\n type={\"strong\"}\n text={props.title}\n hoverInGroup\n color=\"slate-200\"\n hoverColor=\"white\"\n />\n </a>\n );\n\n function handleMenuClick(event: React.MouseEvent<HTMLElement>) {\n if (event.metaKey || event.ctrlKey) {\n // if ctrl or meta key are held on click, allow default behavior of opening link in new tab\n return;\n }\n\n event.preventDefault();\n props.trackEvent?.();\n\n if (props.isExternal) {\n window.open(props.href, \"_blank\");\n } else if (props.href) {\n window.location.assign(props.href);\n } else if (props.linkTo) {\n navigate(props.linkTo);\n }\n }\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nimport { NavMenuHeaderProps } from \"./types/NavMenuHeaderProps.type\";\n\nexport const NavMenuHeader: React.FC<NavMenuHeaderProps> = (props) => {\n const { text, visible = true, onClick } = props;\n\n if (!visible) {\n return (\n <div\n data-test-id=\"separator\"\n className={\"border-b mb-1 border-slate-600\"}\n />\n );\n }\n\n const onClickHandler = () => onClick?.();\n\n return (\n <>\n <div\n onClick={onClickHandler}\n className={classNames({\n \"cursor-pointer\": onClick,\n })}\n role=\"link\"\n >\n <Text\n text={text}\n type=\"xl-strong\"\n color=\"white\"\n className=\"pt-6 pl-4 break-normal max-w-55\"\n clampLines\n />\n </div>\n <div\n data-test-id=\"separator\"\n className={\"border-b mb-1 mt-5 border-slate-600\"}\n />\n </>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { Divider } from \"../Divider/Divider\";\n\nimport { NavMenuFooter } from \"./NavMenuFooter\";\nimport { NavMenuProps } from \"./NavMenu\";\nimport { NavMenuItem } from \"./NavMenuItem\";\nimport { NavMenuHeader } from \"./NavMenuHeader\";\n\nexport const NavMenuContent: React.FC<NavMenuProps> = ({\n roleItems,\n publicItems,\n authenticationItems,\n isUserAuthenticated,\n navMenuHeaderProps: organizationNameWidgetProps,\n navMenuFooterProps: loggedInUserWidgetProps,\n}) => {\n return (\n <div\n className={classNames(\n \"flex flex-col bg-nav-menu px-1 pb-1 lg:relative shadow-lg w-60 lg:h-full\"\n )}\n >\n <NavMenuHeader {...organizationNameWidgetProps} />\n\n {!isUserAuthenticated && (\n <NavMenuItem\n {...authenticationItems.login}\n key={authenticationItems.login.title}\n />\n )}\n\n {roleItems.map((item) => (\n <NavMenuItem {...item} key={item.title || item.dataTestId} />\n ))}\n\n <Divider dark />\n\n <div className=\"mt-1\">\n {publicItems.map((item) => (\n <NavMenuItem {...item} key={item.title || item.dataTestId} />\n ))}\n </div>\n\n <div className=\"mt-auto\">\n {isUserAuthenticated && (\n <NavMenuItem\n {...authenticationItems.logout}\n key={authenticationItems.logout.title}\n />\n )}\n <NavMenuFooter {...loggedInUserWidgetProps} />\n </div>\n </div>\n );\n};\n","import React from \"react\";\nimport { useState } from \"react\";\n\nimport Button from \"../Button/Button\";\n\nimport { NavMenuContent } from \"./NavMenuContent\";\nimport { NavMenuFooterProps } from \"./types/NavMenuFooterProps.type\";\nimport { NavMenuItemProps } from \"./types/NavMenuItemProps.type\";\nimport { NavMenuHeaderProps } from \"./types/NavMenuHeaderProps.type\";\n\nexport type NavMenuProps = {\n roleItems: NavMenuItemProps[];\n publicItems: NavMenuItemProps[];\n authenticationItems: {\n login: NavMenuItemProps;\n logout: NavMenuItemProps;\n };\n isUserAuthenticated?: boolean;\n navMenuHeaderProps: NavMenuHeaderProps;\n navMenuFooterProps: NavMenuFooterProps;\n};\n\nexport function NavMenu(props: NavMenuProps): JSX.Element {\n const [isOpen, setIsOpen] = useState(false);\n\n const handleToggleOpen = () => {\n setIsOpen(!isOpen);\n };\n\n return (\n <>\n <div className={\"hidden h-screen lg:flex\"}>\n <NavMenuContent {...props} />\n </div>\n <div\n className={\n \"lg:hidden relative bg-nav-header w-screen flex items-center p-2 shadow-lg\"\n }\n >\n <Button\n hasIcon={true}\n role=\"secondaryDark\"\n iconName={isOpen ? \"close\" : \"hamburger\"}\n onClick={handleToggleOpen}\n />\n </div>\n {isOpen && (\n <div className=\"absolute z-20\">\n <NavMenuContent {...props} />\n </div>\n )}\n </>\n );\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\n//import Breadcrumbs from \"../Breadcrumbs/Breadcrumbs\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\n//import { SmartNavMenu } from \"../../components/NavMenu/SmartNavMenu\";\nimport { NavLayout } from \"../NavMenu/NavLayout\";\nimport { Title } from \"../Title/Title\";\n//import { shouldPageShowFeedbackBlock } from \"../../common/utils/locationUtils\";\n//import { FeedbackBlock } from \"../FeedbackBlock/FeedbackBlock\";\n//import { ERROR_PAGE_ID } from \"../../components/ErrorPages/ErrorPage\";\n\nimport \"./Page.scss\";\n\n//TODO this page needs to be refactored\n\n/**\n * Renders page's content, if `isLoading` is false otherwise shows loading indicator.\n *\n * `breadcrumbs`, `title` and `content` can be lazy properties, that is parameterless functions which return actual value.\n * `children` property has priority over `content` property.\n *\n * @typedef {{ name?: string, icon?: string|Object, link?: string}} Breadcrumb\n *\n */\nfunction Page({\n dataTestId = \"page\",\n breadcrumbs,\n title,\n accessories,\n accessoryPosition = \"right\",\n className,\n children,\n content,\n isLoading = false,\n isPolling = false,\n spinnerColor = \"blue\",\n navLayoutProps = {},\n showFeedbackBlock = false,\n feedbackBlock = <></>,\n navMenu,\n id,\n}) {\n const mergedPageClasses = classNames(\"cweb-page\", className);\n const containerClassnames = classNames(\"cweb-page-container\");\n\n if (isLoading) {\n return (\n <div className={mergedPageClasses}>\n <LoadingIndicator asModal={false} />\n </div>\n );\n }\n\n const maybeTitle = title instanceof Function ? title() : title;\n\n const accessoryClasses = classNames(\"cweb-page-header mb-4\", {\n [`accessory-${accessoryPosition}`]: true,\n });\n\n const accessoriesContent = accessories instanceof Function ? accessories() : accessories;\n const childrenOrContentProp = children || (content instanceof Function ? content() : content);\n\n return (\n <div id={id} className={containerClassnames}>\n <NavLayout menu={navMenu} {...navLayoutProps}>\n <div className={mergedPageClasses} data-test-id={dataTestId}>\n <div className={accessoryClasses}>\n <Title data-test-id={`${dataTestId}-title`} text={maybeTitle} />\n {isPolling && <LoadingIndicator asSpinner={true} className={\"page-spinner\"} spinnerColor={spinnerColor} />}\n {accessoriesContent}\n </div>\n {childrenOrContentProp}\n </div>\n\n {!isLoading && feedbackBlock}\n </NavLayout>\n </div>\n );\n}\n\nconst breadcrumbItemShape = PropTypes.shape({\n name: PropTypes.string,\n icon: PropTypes.string,\n link: PropTypes.string,\n});\n\nPage.propTypes = {\n breadcrumbs: PropTypes.oneOfType([PropTypes.arrayOf(breadcrumbItemShape), PropTypes.func]),\n isLoading: PropTypes.bool,\n isFetching: PropTypes.bool,\n spinnerColor: PropTypes.oneOf([\"blue\", \"gray\"]),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n accessories: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n accessoryPosition: PropTypes.oneOf([\"right\", \"bottom\", \"left\"]),\n content: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element, PropTypes.func]),\n id: PropTypes.string,\n navLayoutProps: PropTypes.object,\n};\n\nexport default Page;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Title.scss\";\n\nconst TITLE_TYPE_OPTIONS = {\n DEFAULT: \"default\",\n BIG: \"big\",\n SMALL: \"small\",\n TINY: \"tiny\",\n BOLD: \"bold\",\n};\n\nLegacyTitle.propTypes = {\n text: PropTypes.string.isRequired,\n type: PropTypes.oneOf([\n TITLE_TYPE_OPTIONS.DEFAULT,\n TITLE_TYPE_OPTIONS.BIG,\n TITLE_TYPE_OPTIONS.SMALL,\n TITLE_TYPE_OPTIONS.TINY,\n TITLE_TYPE_OPTIONS.BOLD,\n ]),\n className: PropTypes.string,\n};\n\nfunction LegacyTitle({ text, type, className = \"\", ...otherProps }) {\n let ContainerElement;\n\n const containerClassName = classNames(\"cweb-title\", className, {\n \"type-default\": !type || type === TITLE_TYPE_OPTIONS.DEFAULT,\n \"type-big\": type === TITLE_TYPE_OPTIONS.BIG,\n \"type-small\": type === TITLE_TYPE_OPTIONS.SMALL,\n \"type-tiny\": type === TITLE_TYPE_OPTIONS.TINY,\n \"type-bold\": type === TITLE_TYPE_OPTIONS.BOLD,\n });\n\n switch (type) {\n case TITLE_TYPE_OPTIONS.DEFAULT:\n case TITLE_TYPE_OPTIONS.BOLD:\n case TITLE_TYPE_OPTIONS.BIG:\n ContainerElement = \"h1\";\n break;\n\n case TITLE_TYPE_OPTIONS.SMALL:\n case TITLE_TYPE_OPTIONS.TINY:\n ContainerElement = \"h3\";\n break;\n\n default:\n ContainerElement = \"h1\";\n break;\n }\n\n return (\n <ContainerElement {...otherProps} className={containerClassName}>\n {text}\n </ContainerElement>\n );\n}\n\nexport default LegacyTitle;\n\nexport { TITLE_TYPE_OPTIONS };\n","import React from \"react\";\n\nimport { Text } from \"../Text/Text\";\n\nexport interface StepProps {\n title: string;\n stepNumber: number;\n active: boolean;\n localization: { step: string };\n}\n\nexport const Step = ({\n title,\n stepNumber,\n active,\n localization,\n}: StepProps): JSX.Element => {\n const barColor = active ? \"bg-blue-800\" : \"bg-slate-200\";\n\n return (\n <div className={\"w-full\"}>\n <div className={`w-full h-1 mb-2 rounded ${barColor}`}></div>\n <Text\n text={`${localization.step} ${stepNumber}`}\n type={\"strong\"}\n color={active ? \"blue-800\" : \"slate-500\"}\n />\n <Text text={title} type={\"strong\"} />\n </div>\n );\n};\n","import React from \"react\";\n\nimport { Step } from \"./Step\";\n\ninterface StepsProps {\n orderedStepTitles: Array<string>;\n currentStep: number; //start count from 1\n className?: string;\n localization: {step: string};\n}\n\nexport const Steps = ({ orderedStepTitles, currentStep, className, localization }: StepsProps): JSX.Element => {\n const renderedSteps = orderedStepTitles.map((stepTitle, index) => (\n <Step\n key={`step-${index}-${stepTitle.split(\" \")[0]}`}\n title={stepTitle}\n stepNumber={index + 1}\n active={index + 1 <= currentStep}\n localization={localization}\n />\n ));\n\n return <div className={`flex flex-row justify-items-stretch space-x-6 ${className}`}>{renderedSteps}</div>;\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport LegacyTitle, { TITLE_TYPE_OPTIONS } from \"../Title/LegacyTitle\";\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport Line from \"../Line/Line\";\nimport { NavLayout } from \"../NavMenu/NavLayout\";\nimport { Steps } from \"../Steps/Steps\";\n\nimport \"./CRUDPage.scss\";\n\nfunction CRUDPage({\n dataTestId = \"page\",\n title,\n stepTitles,\n currentStep = 1,\n submitButtonProps,\n deleteButtonProps,\n cancelButtonProps,\n icon,\n className,\n children,\n isLoading,\n isSubmitting,\n navMenuComponent,\n localization,\n}) {\n const mergedClasses = classNames(\"cweb-crud-page max-w-3xl\", className);\n const containerClassnames = classNames(\"cweb-crud-page-container mb-20\");\n\n const submitButton = submitButtonProps && (\n <Button\n data-test-id=\"submit-button\"\n key=\"submit-button\"\n /* eslint-disable-next-line */\n onClick={submitButtonProps.handler}\n role={BUTTON_ROLES.PRIMARY}\n text={submitButtonProps.name}\n isPending={isSubmitting}\n />\n );\n const deleteButton = deleteButtonProps && (\n <Button\n data-test-id=\"delete-button\"\n key=\"delete-button\"\n /* eslint-disable-next-line */\n onClick={deleteButtonProps.handler}\n role={BUTTON_ROLES.NEGATIVE}\n text={deleteButtonProps.name}\n />\n );\n const cancelButton = cancelButtonProps && (\n <Button\n data-test-id=\"cancel-button\"\n key=\"cancel-button\"\n /* eslint-disable-next-line */\n onClick={cancelButtonProps.handler}\n role={BUTTON_ROLES.SECONDARY}\n text={cancelButtonProps.name}\n />\n );\n\n const renderHeader = () => {\n return (\n <div className=\"flex flex-row justify-start align-center\">\n <img id=\"title-icon\" src={icon} className=\"mr-4 w-11 h-11\" alt={\"title icon\"} />\n <LegacyTitle id=\"title-text\" text={title} type={TITLE_TYPE_OPTIONS.BOLD} />\n </div>\n );\n };\n\n return (\n <div className={containerClassnames}>\n <NavLayout menu={navMenuComponent}>\n <>\n {isLoading && (\n <div className={classNames(mergedClasses, \"cweb-crud-page-loading-container\")}>\n <div className=\"flex flex-row justify-start align-center\">{renderHeader()}</div>\n <LoadingIndicator className=\"crud-page-loader\" asModal={false} />\n </div>\n )}\n\n {!isLoading && (\n <div className={mergedClasses} data-test-id={dataTestId}>\n <div className=\"flex flex-row justify-start align-center\">{renderHeader()}</div>\n\n <div className={\"cweb-crud-page-form-container\"}>\n {stepTitles && stepTitles.length > 0 && (\n <Steps orderedStepTitles={stepTitles} currentStep={currentStep} className={\"mb-4\"} localization={localization}/>\n )}\n {children}\n <Line\n left={[cancelButton, deleteButton]}\n right={[submitButton]}\n className={\"cweb-crud-page-button-line\"}\n />\n </div>\n </div>\n )}\n </>\n </NavLayout>\n </div>\n );\n}\n\nCRUDPage.propTypes = {\n isLoading: PropTypes.bool,\n title: PropTypes.string.isRequired,\n stepTitles: PropTypes.array,\n currentStep: PropTypes.number,\n submitButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n deleteButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n cancelButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n className: PropTypes.string,\n icon: PropTypes.string,\n isSubmitting: PropTypes.bool,\n navMenuComponent: PropTypes.elementType,\n localization: PropTypes.object,\n};\n\nexport default CRUDPage;\n","var img = \"data:image/svg+xml,%3csvg width='340' height='638' viewBox='0 0 340 638' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3crect x='8' y='60' width='50' height='8' rx='4' transform='rotate(90 8 60)' fill='%23111827'/%3e %3crect x='8' y='118' width='50' height='8' rx='4' transform='rotate(90 8 118)' fill='%23111827'/%3e %3crect x='340' y='67' width='30' height='8' rx='4' transform='rotate(90 340 67)' fill='%23111827'/%3e %3cpath fill-rule='evenodd' clip-rule='evenodd' d='M36 0C18.3269 0 4 14.3269 4 32V606C4 623.673 18.3269 638 36 638H304C321.673 638 336 623.673 336 606V32C336 14.3269 321.673 0 304 0H36ZM28 43C23.5817 43 20 46.5817 20 51V549C20 553.418 23.5817 557 28 557H312C316.418 557 320 553.418 320 549V51C320 46.5817 316.418 43 312 43H28Z' fill='%23374151'/%3e %3ccircle cx='171' cy='598' r='16' fill='%236B7280'/%3e %3ccircle cx='105.5' cy='22.5' r='4.5' fill='%236B7280'/%3e %3crect x='118' y='18' width='104' height='9' rx='4' fill='%239CA3AF'/%3e%3c/svg%3e\";\n export default img;","import { useState, useEffect } from \"react\";\nimport debounce from \"lodash.debounce\";\n\nexport const useWindowDimensions = () => {\n const [height, setHeight] = useState(window.innerHeight);\n const [width, setWidth] = useState(window.innerWidth);\n\n useEffect(() => {\n const handleResize = debounce(() => {\n if (height !== window.innerHeight) {\n setHeight(window.innerHeight);\n }\n if (width !== window.innerWidth) {\n setWidth(window.innerWidth);\n }\n }, 500);\n\n window.addEventListener(\"resize\", handleResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n return { height, width };\n};\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport phoneMockup from \"../../assets/phone-mockup.svg\";\n\nimport { useWindowDimensions } from \"./useWindowDimensions\";\n\ninterface PreviewPhoneProps {\n className?: string;\n children: React.ReactNode;\n}\n\nconst PreviewPhone = ({ className, children }: PreviewPhoneProps): JSX.Element => {\n const phoneHeight = 637;\n const phoneWidth = 340;\n const [scale, setScale] = useState(1);\n const [showPhone, setShowPhone] = useState(false);\n const { height: windowHeight, width: windowWidth } = useWindowDimensions();\n\n useEffect(() => {\n // hack to offset rendering the phone after the first render\n // this way the scale calculation works without fixed width\n setShowPhone(true);\n }, []);\n\n const containerCallbak = useCallback(\n (containerElement) => {\n if (!containerElement) {\n return;\n }\n const { clientWidth: containerWidth, clientHeight: containerHeight } = containerElement;\n const heightScale = containerHeight < phoneHeight ? containerHeight / phoneHeight : 1;\n const widthScale = containerWidth < phoneWidth ? containerWidth / phoneWidth : 1;\n setScale(heightScale < widthScale ? heightScale : widthScale);\n },\n [windowHeight, windowWidth]\n );\n\n return (\n showPhone ? (\n <div ref={containerCallbak} className={classNames(\"relative h-full flex items-center justify-center\", className)}>\n <div className={\"absolute\"} style={{ width: phoneWidth, height: phoneHeight, transform: `scale(${scale})` }}>\n <div className={\"h-full px-5 pt-11 pb-20\"}>\n <div className={\"h-full overflow-y-auto bg-white\"}>{children}</div>\n </div>\n <img className=\"absolute top-0 pointer-events-none\" src={phoneMockup} alt=\"phone mockup\" />\n </div>\n </div>) : <></>\n );\n};\n\nexport default PreviewPhone;\n","import React, { PureComponent } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Radio.scss\";\nimport { Text } from \"../Text/Text\";\n\n/**\n * @deprecated: use RadioV2 instead\n */\nclass Radio extends PureComponent {\n static propTypes = {\n className: PropTypes.string,\n text: PropTypes.string,\n isChecked: PropTypes.bool.isRequired,\n isDisabled: PropTypes.bool,\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isFocused: false,\n };\n }\n\n handleChange = (event) => {\n const { onChange } = this.props;\n\n if (onChange) {\n onChange(event);\n }\n };\n\n handleFocus = () => {\n this.setState({\n isFocused: true,\n });\n };\n\n handleBlur = () => {\n this.setState({\n isFocused: false,\n });\n };\n\n render() {\n const { className, isChecked, isDisabled, name, value, text } = this.props;\n\n const { isFocused } = this.state;\n\n const containerClassName = classNames(\"cweb-radio mr-4\", className, {\n \"is-focused\": isFocused,\n \"is-checked\": isChecked,\n \"opacity-50\": isDisabled,\n });\n\n return (\n <div className={containerClassName} ref={this.containerRef}>\n <label className=\"cweb-radio-label\">\n <input\n className=\"cweb-radio-input\"\n name={name}\n type=\"radio\"\n checked={isChecked}\n disabled={isDisabled}\n value={value}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onChange={this.handleChange}\n />\n\n <span\n className={classNames(\"cweb-radio-icon-container\", {\n \"bg-primary\": isChecked,\n \"hover:bg-primary-dark\": isChecked,\n \"outline-primary\": isFocused,\n \"cursor-not-allowed\": isDisabled,\n \"cursor-pointer\": !isDisabled,\n })}\n >\n <span className=\"cweb-radio-icon\" />\n </span>\n\n {text && (\n <Text\n className={classNames(\"cweb-radio-label-text\", {\n \"cursor-not-allowed\": isDisabled,\n })}\n text={text}\n />\n )}\n </label>\n </div>\n );\n }\n}\n\nexport default Radio;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport Radio from \"../Radio/Radio\";\n\nimport \"./RadioGroup.scss\";\n\n/**\n * @deprecated: use RadioV2 instead\n */\nfunction RadioGroup({\n className,\n radioClassName,\n name,\n selectedOption,\n isVertical,\n radioOptions,\n onChange,\n error,\n isDisabled,\n ...otherOptions\n}) {\n const containerClassName = classNames(\"cweb-radio-group\", { vertical: isVertical }, { hasError: error }, className);\n\n function handleChange(event) {\n if (!isDisabled && onChange) {\n onChange(event);\n }\n }\n\n return (\n <div className={containerClassName} {...otherOptions}>\n {radioOptions.map((option) => (\n <Radio\n {...option}\n key={option.value}\n className={radioClassName}\n name={name}\n isChecked={selectedOption === option.value}\n onChange={handleChange}\n isDisabled={isDisabled}\n />\n ))}\n </div>\n );\n}\n\nRadioGroup.propTypes = {\n className: PropTypes.string,\n radioClassName: PropTypes.string,\n name: PropTypes.string,\n selectedOption: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n isVertical: PropTypes.bool,\n radioOptions: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n info: PropTypes.string,\n isDisabled: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n })\n ).isRequired,\n onChange: PropTypes.func,\n};\n\nexport default RadioGroup;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { ButtonProps } from \"../Button/Button.types\";\nimport Button from \"../Button/Button\";\nimport { Title } from \"../Title/Title\";\nimport { LoadingIndicator, LoadingIndicatorProps } from \"../LoadingIndicator/LoadingIndicator\";\nimport { RestPropped } from \"../../types/general.types\";\n\nimport \"./Section.scss\";\n\nexport interface SectionProps extends RestPropped {\n title?: string;\n buttons?: ButtonProps[];\n footer?: React.ReactNode;\n className?: string;\n isLoading?: boolean;\n loadingIndicatorProps?: LoadingIndicatorProps;\n children?: React.ReactNode;\n}\n\nexport function Section({\n title,\n buttons,\n footer,\n children,\n className,\n isLoading = false,\n loadingIndicatorProps,\n ...restProps\n}: SectionProps): JSX.Element {\n return (\n <div\n {...restProps}\n className={classNames(\n \"cweb-section\",\n \"flex justify-start flex-col items-start\",\n \"rounded-lg\",\n \"mx-0 my-4\",\n \"bg-white\",\n \"w-full\",\n className\n )}\n >\n {(title || buttons) && (\n <div className=\"cweb-section-header\" data-test-id=\"section-header\">\n {title && (\n <div className=\"flex flex-row items-center\">\n <Title text={title} className=\"mr-3 cweb-section-title\" type=\"sm\" />\n {isLoading && <LoadingIndicator asSpinner={true} {...loadingIndicatorProps} />}\n </div>\n )}\n <div className={classNames(\"cweb-section-header-buttons-container\", \"flex flex-row space-x-3\")}>\n {buttons &&\n buttons.length > 0 &&\n buttons.map((button) => <Button {...button} key={button.key || button.id || button.text} />)}\n </div>\n </div>\n )}\n\n <div className=\"cweb-section-content w-full\">{!isLoading && children}</div>\n\n {footer && <div className=\"cweb-section-footer\">{footer}</div>}\n </div>\n );\n}\n\nexport default Section;\n","import React, { SyntheticEvent } from \"react\";\nimport classNames from \"classnames\";\n\nimport \"./SectionItem.scss\";\n\nexport interface SectionItemProps {\n className?: string;\n onClick?: (event: SyntheticEvent) => void; // func\n children?: React.ReactNode;\n}\n\nexport const SectionItem: React.FC<SectionItemProps> = props => {\n const { children, className, onClick, ...rest } = props;\n\n const classes = classNames(\"cweb-list-item\", className, {\n \"cweb-list-item-clickable\": !!onClick,\n });\n\n return (\n <div className={classes} onClick={onClick} {...rest}>\n {children}\n </div>\n );\n};\n\nexport default SectionItem;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nimport SectionItem, { SectionItemProps } from \"./SectionItem\";\n\ninterface SectionItemWithContentProps extends Omit<SectionItemProps, \"children\"> {\n text: string;\n icon?: string;\n iconClass?: string;\n}\n\nfunction SectionItemWithContent(\n props: SectionItemWithContentProps\n): JSX.Element {\n const { text, icon, className, iconClass, onClick, ...rest } = props;\n\n const mergedClasses = classNames(\"cweb-section-text-item\", className);\n const iconClasses = classNames(\"w-6 h-6 mr-4\", iconClass);\n\n return (\n <SectionItem className={mergedClasses} onClick={onClick} {...rest}>\n {icon && <img className={iconClasses} src={icon} alt=\"\" />}\n <Text text={text} />\n </SectionItem>\n );\n}\n\nexport default SectionItemWithContent;\n","import { useEffect } from \"react\";\n\nconst useOutsideClick = (ref, callback) => {\n const handleClick = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n callback();\n }\n };\n\n useEffect(() => {\n document.addEventListener(\"click\", handleClick);\n\n return () => {\n document.removeEventListener(\"click\", handleClick);\n };\n });\n};\n\nexport default useOutsideClick;\n","import classNames from \"classnames\";\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport useOutsideClick from \"../../utils/useOutsideClick\";\nimport Button from \"../Button/Button\";\nimport Checkbox from \"../Checkbox/Checkbox\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\nimport Text from \"../Text/Text\";\n\nexport interface ConfigurationItem {\n itemId: string;\n itemName: string;\n on: boolean;\n}\n\nexport interface SettingsMenuButtonProps {\n configuration: ConfigurationItem[];\n onConfigurationChange: (newConfig: ConfigurationItem) => void;\n shiftMenuTo?: \"right\" | \"right-md\" | \"left\" | \"left-md\";\n buttonTitle?: string;\n menuTitle?: string;\n iconComponent: React.FunctionComponent<IconProps>;\n}\n\nexport const SettingsMenuButton = (props: SettingsMenuButtonProps): JSX.Element => {\n const {\n configuration: configFromProps = [],\n onConfigurationChange,\n shiftMenuTo,\n buttonTitle,\n iconComponent,\n menuTitle,\n } = props;\n const [innerConfiguration, setInnerConfiguration] = useState(configFromProps);\n const [showMenu, setShowMenu] = useState(false);\n\n const menuRef = useRef<HTMLDivElement | null>(null);\n\n useOutsideClick(menuRef, () => {\n if (showMenu) {\n setShowMenu(false);\n }\n });\n\n useEffect(() => {\n setInnerConfiguration(configFromProps);\n }, [configFromProps]);\n\n const handleShowMenu = () => {\n setShowMenu(true);\n };\n\n const handleOnVibilitySwitchChanged = (event: React.ChangeEvent<HTMLInputElement>) => {\n const { id, name, checked } = event.currentTarget;\n\n const newConfig = innerConfiguration.find((config) => config.itemId === id && config.itemName === name) as ConfigurationItem;\n\n onConfigurationChange({ ...newConfig, on: checked });\n };\n\n if (!iconComponent) {\n console.error(\"A an icon component is required to use this component, please make sure to pass it as a prop. \");\n return <span>Invalid props passed to this component.</span>;\n }\n\n return (\n <div onClick={handleShowMenu} className=\"relative\">\n <Button dynamicIcon={iconComponent} onClick={handleShowMenu} text={buttonTitle} role=\"tertiary\" />\n\n <div\n ref={menuRef}\n className={classNames(\n \"cursor-default transition-all transform duration-300\",\n \"absolute -top-1 z-30\",\n \"rounded w-80 max-h-78 overflow-y-auto\",\n \"bg-white shadow-md\",\n \"border border-slate-300\",\n {\n \"-left-54\": shiftMenuTo === \"left\",\n \"-right-54\": shiftMenuTo === \"right\",\n \"-left-68\": shiftMenuTo === \"left-md\",\n \"-right-68\": shiftMenuTo === \"right-md\",\n \"transform -translate-x-1/2 left-1/2\": !shiftMenuTo, // centering the menu in the Y axis of the button\n },\n {\n \"opacity-0 pointer-events-none\": !showMenu,\n \"opacity-100\": showMenu,\n }\n )}\n >\n {menuTitle && (\n <div className=\"w-full p-3 h-11 bg-slate-50\">\n <Text type=\"sm\" className=\"uppercase\" text={menuTitle} />\n </div>\n )}\n {innerConfiguration.map((innerConfig) => (\n <div key={innerConfig.itemId} className=\"flex items-center justify-between w-full p-3 h-11\">\n <Text text={innerConfig.itemName} />\n <Checkbox\n name={innerConfig.itemName}\n id={innerConfig.itemId}\n type=\"switch\"\n isChecked={innerConfig.on}\n onChange={handleOnVibilitySwitchChanged}\n />\n </div>\n ))}\n </div>\n </div>\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./SwitcherItem.scss\";\nimport { Text } from \"../Text/Text\";\n\nSwitcherItem.propTypes = {\n name: PropTypes.string,\n icon: PropTypes.shape({\n default: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n active: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n showBadge: PropTypes.bool,\n }),\n index: PropTypes.number.isRequired,\n isSelected: PropTypes.bool,\n onSelect: PropTypes.func.isRequired,\n className: PropTypes.string,\n};\n\nfunction SwitcherItem({ className, icon, index, isSelected = false, name, onSelect }) {\n const handleItemClick = () => onSelect(index);\n const itemClassName = classNames(\n \"\",\n className,\n \"flex flex-row h-11 p-2 items-center border-solid border-t border-b border-l border-slate-200 transition duration-300 cursor-pointer \",\n \"first:rounded-l-xl last:rounded-r-xl last:border-r\",\n {\n \"bg-slate-100 text-slate-500\": isSelected,\n \"bg-slate-50 hover:bg-slate-100 hover:text-slate-500 text-slate-300\": !isSelected,\n }\n );\n\n let calculatedIcon;\n if (icon && typeof icon.default === \"string\") {\n calculatedIcon = isSelected ? (\n <img alt=\"\" className=\"\" src={icon.active} />\n ) : (\n <img alt=\"\" className=\"\" src={icon.default} />\n );\n } else if (icon) {\n calculatedIcon = isSelected ? icon.active : icon.default;\n }\n\n return (\n <li className={itemClassName} onClick={handleItemClick}>\n {\n <span className=\"relative block\">\n {icon?.showBadge && (\n <div className={\"absolute top-0 right-0 w-2.5 h-2.5 bg-red-400 rounded-xl border-slate-50 border-2 \"} />\n )}\n {calculatedIcon}\n </span>\n }\n\n {name && <Text text={name} color={isSelected ? \"base\" : \"gray-500\"} />}\n </li>\n );\n}\n\nexport default SwitcherItem;\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport SwitcherItem from \"./SwitcherItem\";\n\nfunction Switcher({ selectedIndex = -1, onChange, className, itemClassName, items }) {\n const [currentSelection, setCurrentSelection] = useState(selectedIndex);\n\n useEffect(() => {\n setCurrentSelection(selectedIndex);\n }, [selectedIndex]);\n\n const handleItemSelect = (index) => {\n onChange(index);\n };\n\n return (\n <ul\n className={classNames(\"cweb-switcher\", className, \"flex list-none p-0 m-0\")}\n data-test-id={\"switcher-container\"}\n >\n {items.map((item, index) => {\n return (\n <SwitcherItem\n key={JSON.stringify(item)}\n name={item.name}\n icon={item.icon}\n index={index}\n isSelected={currentSelection === index}\n onSelect={handleItemSelect}\n className={itemClassName}\n />\n );\n })}\n </ul>\n );\n}\n\nSwitcher.propTypes = {\n items: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n icon: PropTypes.shape({\n default: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n active: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n showBadge: PropTypes.bool,\n }),\n key: PropTypes.string,\n })\n ).isRequired,\n onChange: PropTypes.func.isRequired,\n selectedIndex: PropTypes.number,\n className: PropTypes.string,\n itemClassName: PropTypes.string,\n};\n\nexport default Switcher;\n","var img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3e%3cpath d='M18 16V2C18 0.9 17.1 0 16 0H2C0.9 0 0 0.9 0 2V16C0 17.1 0.9 18 2 18H16C17.1 18 18 17.1 18 16ZM5.9 10.98L8 13.51L11.1 9.52C11.3 9.26 11.7 9.26 11.9 9.53L15.41 14.21C15.66 14.54 15.42 15.01 15.01 15.01H3.02C2.6 15.01 2.37 14.53 2.63 14.2L5.12 11C5.31 10.74 5.69 10.73 5.9 10.98Z' fill='%23D1D5DB'/%3e%3c/svg%3e\";\n export default img;","import classNames from \"classnames\";\nimport React, { MouseEventHandler, useState } from \"react\";\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\n\nimport imgIcon from \"../../assets/image-icon.svg\";\n\ninterface ImageProps {\n src: string;\n className: string;\n children?: React.ReactNode;\n onClick?: MouseEventHandler<HTMLSpanElement>;\n showIconOnFailure?: boolean;\n}\n\nconst Image: React.VFC<ImageProps> = ({\n src,\n className,\n children = null,\n onClick,\n showIconOnFailure = true,\n ...otherProps\n}) => {\n const [isError, setIsError] = useState(false);\n\n if (!src || isError) {\n if (children) {\n return <span onClick={onClick}>{children}</span>;\n }\n\n if (!showIconOnFailure) {\n return null;\n }\n }\n\n return (\n <LazyLoadImage\n className={classNames(className)}\n effect=\"blur\"\n placeholder={\n <div className=\"flex flex-row items-center justify-center w-full h-full rounded\">\n <img src={imgIcon} alt=\"image-icon\" />\n </div>\n }\n src={src}\n onClick={onClick}\n onError={() => setIsError(true)}\n wrapperClassName=\"w-full h-full\"\n {...otherProps}\n />\n );\n};\n\nexport default Image;\n","import React, { MouseEventHandler } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport Image from \"../Image/Image\";\n\nexport interface CategoryProps {\n folder: string;\n key: string;\n}\n\ninterface ImageCategoryProps {\n category: CategoryProps;\n images: string[];\n highlightedImage: string | null;\n handleImageClick: MouseEventHandler<HTMLSpanElement>;\n isTypeCompact: boolean;\n}\n\nexport const ImageCategory = (props: ImageCategoryProps): JSX.Element => {\n return (\n <div className=\"w-full mt-4\">\n <Text text={props.category.key} />\n <div className=\"flex flex-row flex-wrap\">\n {props.images.map((option: string, index: number) => {\n const isSelected = option === props.highlightedImage;\n return (\n <div\n data-test-id={`image-from-selector-${index\n .toString()\n .padStart(2, \"0\")}`}\n key={option}\n className={classNames(\n \"p-2 m-2 rounded border border-solid border-slate-300\",\n {\n \"outline-primary\": isSelected,\n \"w-11 h-11\": props.isTypeCompact,\n \"w-36 h-22\": !props.isTypeCompact,\n }\n )}\n >\n <Image\n className=\"w-full h-full rounded\"\n onClick={props.handleImageClick}\n src={option}\n data-index={index}\n />\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n","import React, { MouseEventHandler, useEffect, useRef, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { getBase64, isSubstring } from \"../../utils/string.utils\";\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { SearchInput } from \"../Input/SearchInput\";\nimport ErrorBlock from \"../ErrorBlock/ErrorBlock\";\nimport emptyImage from \"../../assets/image-icon.svg\";\nimport Image from \"../Image/Image\";\nimport { FakeEventTarget, InputProps } from \"../Input/Input\";\nimport { FlexRow } from \"../Container/FlexRow\";\nimport { FlexContainer } from \"../Container/FlexContainer\";\nimport { ModalBase } from \"../Modal/ModalBase\";\n\nimport { CategoryProps, ImageCategory } from \"./ImageCategory\";\n\nexport interface TargetProps {\n target: {\n name: string | null | undefined;\n value: string | null | undefined | { imageData: string };\n };\n}\n\nexport interface ImagePickerProps {\n name: string;\n images: string[];\n categories: CategoryProps[];\n preselectedImage?: string | { imageData: string };\n clearImageIndex?: number;\n type?: \"normal\" | \"compact\";\n isDisabled?: boolean;\n handleChange: (target: TargetProps) => void;\n isUploadButtonVisible?: boolean;\n isClearButtonVisible?: boolean;\n localisation: Partial<\n Record<\n | \"openModalButton\"\n | \"selectButton\"\n | \"error\"\n | \"uploadImage\"\n | \"clearSelection\"\n | \"cancel\"\n | \"search\"\n | \"modalTitle\",\n string\n >\n >;\n}\n\nexport const ImagePickerInner: React.VFC<\n ImagePickerProps & { innerRef?: React.Ref<HTMLButtonElement> }\n> = ({\n categories,\n clearImageIndex,\n handleChange,\n images,\n isDisabled = false,\n name,\n preselectedImage,\n type = \"normal\",\n isUploadButtonVisible = false,\n isClearButtonVisible = false,\n localisation,\n innerRef,\n}) => {\n const placeholderImage =\n clearImageIndex !== undefined && images[clearImageIndex]\n ? images[clearImageIndex]\n : emptyImage;\n const isTypeCompact = type === \"compact\";\n\n const [search, setSearch] = useState<string>(\"\");\n const [filteredCategories, setFilteredCategories] =\n useState<CategoryProps[]>(categories);\n const [isImagesPanelOpen, setIsImagesPanelOpen] = useState(false);\n const [selectedImage, setSelectedImage] = useState<string>(placeholderImage);\n const [highlightedImage, setHighlightedImage] = useState<string | null>(null);\n const [error, setError] = useState<string | null>(null);\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (preselectedImage && typeof preselectedImage === \"string\") {\n setSelectedImage(preselectedImage);\n }\n }, [preselectedImage]);\n\n const handleSearchChange: InputProps[\"onChange\"] = (event) => {\n const searchQuery = (event as FakeEventTarget).target.value;\n setSearch(searchQuery);\n setFilteredCategories(\n categories.filter((category) => isSubstring(category.folder, searchQuery))\n );\n };\n\n const handleImageClick: MouseEventHandler<HTMLImageElement> = (event) => {\n const datasetIndex = event.currentTarget?.dataset[\"index\"];\n if (datasetIndex && parseInt(datasetIndex, 10) === clearImageIndex) {\n handleDeleteClick();\n }\n setHighlightedImage(event.currentTarget.src);\n };\n\n const handleDeleteClick = (): void => {\n if (selectedImage) {\n URL.revokeObjectURL(selectedImage);\n }\n handleChange({ target: { name: name, value: \"\" } });\n setSelectedImage(placeholderImage);\n setHighlightedImage(null);\n };\n\n function handleConfirmSelection() {\n setSelectedImage(highlightedImage ?? placeholderImage);\n handleChange({\n target: { name: name, value: highlightedImage },\n });\n handleCloseModal();\n }\n\n const handleCloseModal = (): void => {\n setIsImagesPanelOpen(false);\n };\n\n const uploadImage = async (event: React.FormEvent<HTMLInputElement>) => {\n if (event.currentTarget.files) {\n const file = event.currentTarget.files[0];\n if (file?.type === \"image/svg+xml\") {\n setSelectedImage(URL.createObjectURL(file));\n const base64String = await getBase64(file);\n handleChange({\n target: { name: name, value: { imageData: base64String } },\n }); // show a preview of the uploaded image\n } else {\n setError(localisation.error ?? null);\n }\n }\n };\n\n return (\n <>\n <FlexContainer\n type={isTypeCompact ? \"row\" : \"column\"}\n horizontalSpacing={isTypeCompact ? \"small\" : \"none\"}\n verticalSpacing={!isTypeCompact ? \"small\" : \"none\"}\n >\n {selectedImage && (\n <div\n className={classNames({\n \"rounded-full bg-secondary p-3 h-11 w-11\": isTypeCompact,\n \"w-80 h-44\": !isTypeCompact,\n })}\n >\n <Image\n className={classNames(\"w-full h-full\", {\n \"bg-secondary rounded p-3\": !isTypeCompact,\n })}\n src={selectedImage}\n />\n </div>\n )}\n\n {error && (\n <ErrorBlock className=\"cweb-no-action-error\" message={error} />\n )}\n\n <FlexRow spacing={\"small\"}>\n <SecondaryButton\n data-test-id={`image-picker-${name}`}\n id={`image-picker-${name}`}\n isDisabled={isDisabled}\n className=\"cweb-imagePicker-change\"\n text={localisation.openModalButton}\n onClick={() => setIsImagesPanelOpen(true)}\n ref={innerRef}\n />\n {isUploadButtonVisible && (\n <span className=\"cweb-imagePicker-upload\">\n <SecondaryButton\n text={localisation.uploadImage}\n isDisabled={isDisabled}\n id={`upload-image-${name}`}\n onClick={() => {\n setIsImagesPanelOpen(false);\n fileInputRef.current?.click();\n }}\n />\n <input\n ref={fileInputRef}\n type=\"file\"\n disabled={isDisabled}\n name={`uploaded-${name}`}\n accept=\"image/svg+xml\"\n onChange={uploadImage}\n className={\"hidden\"}\n />\n </span>\n )}\n {isClearButtonVisible && selectedImage !== placeholderImage && (\n <SecondaryButton\n text={localisation.clearSelection}\n isDisabled={isDisabled}\n onClick={handleDeleteClick}\n />\n )}\n </FlexRow>\n </FlexContainer>\n <ModalBase\n size={\"wide\"}\n onCloseClick={handleCloseModal}\n scrollableContent={true}\n footerTrailingComponents={{\n primaryButtonProps: {\n onClick: handleConfirmSelection,\n text: localisation.selectButton,\n },\n secondaryButtonProps: {\n onClick: handleCloseModal,\n text: localisation.cancel,\n },\n }}\n isOpen={isImagesPanelOpen}\n title={localisation.modalTitle}\n >\n <SearchInput\n name=\"searchImages\"\n className=\"w-full\"\n value={search}\n placeholder={localisation.search}\n onChange={handleSearchChange}\n />\n <div className=\"flex flex-row flex-wrap items-center w-full\">\n {filteredCategories?.map((category) => (\n <ImageCategory\n category={category}\n images={images?.filter((categoryImage) =>\n categoryImage.includes(category.folder)\n )}\n highlightedImage={highlightedImage}\n handleImageClick={handleImageClick}\n key={category.folder}\n isTypeCompact={isTypeCompact}\n />\n ))}\n </div>\n </ModalBase>\n </>\n );\n};\n\nexport const ImagePicker = React.forwardRef<\n HTMLButtonElement,\n ImagePickerProps\n>((props, ref) => <ImagePickerInner {...props} innerRef={ref} />);\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport Badge from \"../Badge/Badge\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\n\nexport interface TabItemDetails<T extends object = Record<string, unknown>> {\n title: string | JSX.Element;\n badgeCount?: number;\n isLoading?: boolean;\n dataTestId?: string;\n extra?: T;\n}\n\ninterface TabbarItemProps extends TabItemDetails {\n index: number;\n isSelected?: boolean;\n onSelect?: (index: number) => void;\n className?: string;\n}\n\nconst TabbarItem = ({\n title,\n index,\n isSelected,\n onSelect,\n className,\n badgeCount = 0,\n isLoading = false,\n dataTestId = \"\",\n}: TabbarItemProps): JSX.Element => {\n const handleTabClick = () => onSelect && onSelect(index);\n\n const itemClassName = classNames(\n \"flex first:ml-0 ml-2 flex-row cursor-pointer py-2 px-3 rounded-lg focus:outline-primary transition ease-in duration-150\",\n className,\n {\n \"bg-slate-100 text-slate-800 hover:text-slate-800 focus:text-slate-800\":\n isSelected,\n \"bg-slate-50 text-slate-500 hover:bg-slate-100 hover:text-slate-500 focus:text-slate-500 opacity-75\":\n !isSelected,\n }\n );\n\n return (\n <div\n className={itemClassName}\n onClick={handleTabClick}\n data-test-id={dataTestId}\n >\n {typeof title === \"string\" && (\n <Text text={title} type={isSelected ? \"strong\" : \"base\"} inline />\n )}\n {typeof title !== \"string\" && title}\n {badgeCount > 0 && <Badge className=\"ml-1\" badgeCount={badgeCount} />}\n {isLoading && (\n <LoadingIndicator\n asSpinner={true}\n spinnerColor={\"gray\"}\n className={\"w-6\"}\n />\n )}\n </div>\n );\n};\n\nexport default TabbarItem;\n","import classNames from \"classnames\";\nimport React, { useEffect, useState } from \"react\";\n\nimport TabbarItem, { TabItemDetails } from \"./TabbarItem\";\n\nexport interface TabbarProps {\n tabs?: TabItemDetails[];\n selectedIndex?: number;\n onSelect?: (params: { index: number; selectedTab: TabItemDetails }) => void;\n className?: string;\n /**\n * If this component is being used on a container that will handle spacing, this option disables the padding, allowing the container to take over spacing.\n */\n withoutPadding?: boolean;\n}\n\nexport { TabItemDetails };\n\nexport const Tabbar = ({\n tabs = [],\n selectedIndex,\n onSelect,\n className = \"\",\n withoutPadding = false,\n}: TabbarProps): JSX.Element => {\n const [innerSelectedIndex, setInnerSelectedIndex] = useState(selectedIndex);\n\n useEffect(() => {\n setInnerSelectedIndex(selectedIndex);\n }, [selectedIndex]);\n\n function handleOnTabSelect(index: number) {\n setInnerSelectedIndex(index);\n onSelect?.({ index, selectedTab: tabs[index] });\n }\n\n return (\n <div\n className={classNames(\n `flex flex-row w-full bg-white rounded-xl ${className}`,\n { \"p-2\": !withoutPadding }\n )}\n >\n {tabs?.map((tabItemProps, index) => {\n const itemProps = {\n index,\n onSelect: handleOnTabSelect,\n isSelected: innerSelectedIndex === index,\n ...tabItemProps,\n };\n\n return (\n <TabbarItem key={tabItemProps.dataTestId ?? index} {...itemProps} />\n );\n })}\n </div>\n );\n};\n\nexport default Tabbar;\n","import { Link } from \"@reach/router\";\nimport React from \"react\";\n\nimport Text from \"../Text/Text\";\n\nexport interface Crumb {\n name: string;\n key?: string;\n link?: string;\n}\n\nexport interface BreadcrumbProps {\n crumbs: Crumb[];\n}\n\nexport const Breadcrumbs: React.VoidFunctionComponent<BreadcrumbProps> = ({\n crumbs,\n}) => {\n const breadcrumbItems = crumbs.map(({ name, link, key }) => {\n return (\n <li key={key || name} className=\"flex flex-row items-center slash-split \">\n {link ? (\n <Link to={link}>\n <Text text={name} color=\"blue-800\" />\n </Link>\n ) : (\n <Text text={name} type=\"strong\" />\n )}\n </li>\n );\n });\n\n return (\n <ul\n data-test-id=\"breadcrumbs\"\n className=\"flex flex-row items-center space-x-2 \"\n >\n {breadcrumbItems}\n </ul>\n );\n};\n","import React from \"react\";\n\nimport { Breadcrumbs, BreadcrumbProps } from \"../Breadcrumbs/Breadcrumbs\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport Tabbar, { TabbarProps } from \"../Tabbar/Tabbar\";\nimport { Title } from \"../Title/Title\";\n\nexport interface PageHeaderProps {\n navigation?: Omit<TabbarProps, \"withoutPadding\">;\n breadcrumbs?: BreadcrumbProps[\"crumbs\"];\n dataTestId?: string;\n title: string;\n isPolling?: boolean;\n accessories?: React.ReactNode;\n}\n\nexport const PageHeader: React.VoidFunctionComponent<PageHeaderProps> = ({\n navigation,\n breadcrumbs,\n dataTestId,\n accessories,\n isPolling,\n title,\n}) => {\n return (\n <div data-test-id=\"page-header\" className=\"p-4 space-y-4 bg-white\">\n {!!breadcrumbs?.length && (\n <div className=\"mb-4 space-y-4\">\n <Breadcrumbs crumbs={breadcrumbs} />\n <div className=\"mb-4 border-b border-slate-100\" />\n </div>\n )}\n <div className=\"flex flex-row items-center justify-between\">\n <div className=\"flex flex-row items-center space-x-3\">\n <Title data-test-id={`${dataTestId}-title`} text={title} />\n {isPolling && (\n <LoadingIndicator\n asSpinner={true}\n className={\"page-spinner\"}\n spinnerColor=\"gray\"\n />\n )}\n </div>\n {accessories && (\n <div data-test-id=\"page-header-accessories\">{accessories}</div>\n )}\n </div>\n {navigation && <Tabbar {...navigation} withoutPadding />}\n </div>\n );\n};\n","import React from \"react\";\nimport { Link, LinkGetProps, NavigateFn, WindowLocation } from \"@reach/router\";\n\nimport { Select } from \"../Select/Select\";\n\ninterface TabLinkItem {\n url: URL;\n text: string;\n}\n\ninterface TabLinksProps {\n patientUuid: string;\n items: Array<TabLinkItem>;\n navigate: NavigateFn;\n location: WindowLocation;\n}\n\nconst TabLinksSelect = ({\n items,\n navigate,\n location,\n}: {\n items: Array<TabLinkItem>;\n navigate: NavigateFn;\n location: WindowLocation;\n}): JSX.Element => {\n const options = items.map(({ url, text }) => ({ value: url, label: text }));\n\n const handleChange = (value: any) => {\n navigate(value?.href);\n };\n\n return (\n <Select\n value={options.filter(({ value }) => location?.href === value?.href)}\n options={options}\n onChange={handleChange}\n />\n );\n};\n\nconst TabLinks = ({\n patientUuid,\n items,\n navigate,\n location,\n}: TabLinksProps): JSX.Element => {\n const linkProps = ({ isCurrent }: LinkGetProps) => {\n return isCurrent\n ? {\n className:\n \"mr-2 bg-slate-100 is-selected py-3 px-4 rounded-lg text-sm font-semibold transition ease-in duration-150 text-slate-800 hover:text-slate-800 focus:text-slate-800 focus:outline-primary\",\n }\n : {\n className:\n \"mr-2 text-slate-500 py-3 px-4 text-sm hover:bg-slate-100 hover:text-slate-500 focus:text-slate-500 rounded-lg transition ease-in duration-150 focus:outline-primary\",\n };\n };\n\n return (\n <>\n <div className={\"w-full block xl:hidden bg-white p-2\"}>\n <TabLinksSelect items={items} navigate={navigate} location={location} />\n </div>\n <div className={\"w-full hidden xl:flex bg-white p-2 rounded-xl\"}>\n {items.map(({ text, url }) => (\n <Link\n key={`${patientUuid}_${text}`}\n to={url.pathname}\n getProps={linkProps}\n >\n {text}\n </Link>\n ))}\n </div>\n </>\n );\n};\n\nexport default TabLinks;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Tag, { TagProps } from \"./Tag\";\nimport { TagSize } from \"./Tag.utils\";\n\ninterface TagGroupProps {\n tags: TagProps[];\n tagSize?: TagSize;\n className?: string;\n}\n\nconst TagGroup = ({\n tags,\n tagSize = TagSize.base,\n className,\n}: TagGroupProps): JSX.Element => (\n <div className={classNames(\"flex flex-row flex-wrap\", className)}>\n {tags.map(tag => (\n <Tag\n size={tagSize}\n {...tag}\n className={classNames(\"mr-2 last:mr-0 mb-2\")}\n />\n ))}\n </div>\n);\n\nexport default TagGroup;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Textarea.scss\";\n\nconst RESIZE_TYPES = {\n NONE: \"none\",\n BOTH: \"both\",\n HORIZONTAL: \"horizontal\",\n VERTICAL: \"vertical\",\n};\n\nTextarea.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n name: PropTypes.string.isRequired,\n placeholder: PropTypes.string,\n maxLength: PropTypes.number,\n rows: PropTypes.number,\n resizable: PropTypes.oneOf([RESIZE_TYPES.BOTH, RESIZE_TYPES.HORIZONTAL, RESIZE_TYPES.VERTICAL, RESIZE_TYPES.NONE]),\n isDisabled: PropTypes.bool,\n icon: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onKeyPress: PropTypes.func,\n onKeyDown: PropTypes.func,\n onCtrlEnter: PropTypes.func,\n};\n\nfunction Textarea(props) {\n const {\n className,\n value,\n name,\n placeholder,\n maxLength,\n rows = 4,\n resizable = RESIZE_TYPES.VERTICAL,\n isDisabled = false,\n icon,\n onChange,\n onBlur,\n onFocus,\n onKeyPress,\n onKeyDown,\n onCtrlEnter,\n ...otherProps\n } = props;\n\n let style;\n\n if (icon) {\n style = {\n backgroundImage: `url(${icon})`,\n };\n }\n\n return (\n <textarea\n {...otherProps}\n name={name}\n value={value}\n placeholder={placeholder}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyPress={onKeyPress}\n onKeyDown={(event) => {\n onKeyDown?.();\n const { ctrlKey, metaKey, key } = event;\n\n if ((ctrlKey || metaKey) && key === \"Enter\") {\n onCtrlEnter?.();\n }\n }}\n maxLength={maxLength}\n rows={rows}\n disabled={isDisabled}\n className={classNames(\n \"cweb-textarea\",\n className,\n \"p-2\",\n \"border\",\n \"placeholder-gray-500\",\n \"text-sm\",\n \"border-solid\",\n \"border-input-border\",\n \"hover:border-input-border-dark\",\n \"focus:outline-primary\",\n \"transition-colors\",\n \"duration-300\",\n \"w-full\",\n \"focus:border-primary\",\n {\n \"has-icon\": !!icon,\n resizable: resizable === RESIZE_TYPES.BOTH,\n \"resizable-x\": resizable === RESIZE_TYPES.HORIZONTAL,\n \"resizable-y\": resizable === RESIZE_TYPES.VERTICAL,\n }\n )}\n style={style}\n />\n );\n}\n\nexport default Textarea;\n","import React, { useEffect, useMemo, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport ReactQuill from \"react-quill\";\n\nimport \"react-quill/dist/quill.snow.css\";\nimport \"./TextEditor.scss\";\n\nexport default function TextEditor({ defaultValue, onValueChange, placeholder }) {\n const formats = [\"bold\", \"italic\", \"underline\", \"strike\", \"list\", \"bullet\", \"link\"];\n const toolbarLastGroup = [\"link\", \"video\"];\n const quillRef = useRef();\n\n\n useEffect(() => {\n if (quillRef.current) {\n const quillInstance = quillRef.current;\n const tooltipSave = quillInstance.editor.theme.tooltip.save;\n\n quillInstance.editor.theme.tooltip.save = function () {\n // overwrite save link functionality\n let url = this.textbox.value;\n\n if (url.indexOf(\"http\") === -1 || url.indexOf(\"https\") === -1) {\n url = `https://${url}`;\n this.textbox.value = url;\n }\n tooltipSave.call(this);\n };\n }\n }, []);\n\n const modules = useMemo(() => {\n return {\n toolbar: {\n container: [\n [\"bold\", \"italic\", \"underline\", \"strike\"],\n [{ list: \"ordered\" }, { list: \"bullet\" }],\n toolbarLastGroup,\n ],\n },\n };\n }, []);\n\n return (\n <ReactQuill\n ref={quillRef}\n theme=\"snow\"\n modules={modules}\n placeholder={placeholder}\n formats={formats}\n value={defaultValue}\n onChange={onValueChange}\n />\n );\n}\n\nTextEditor.propTypes = {\n defaultValue: PropTypes.string,\n placeholder: PropTypes.string,\n onValueChange: PropTypes.func.isRequired,\n};\n","import React, { useEffect, useState } from \"react\";\nimport { EditorState, convertToRaw, ContentState } from \"draft-js\";\nimport { Editor } from \"react-draft-wysiwyg\";\nimport draftToHtml from \"draftjs-to-html\";\nimport htmlToDraft from \"html-to-draftjs\";\n\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\nimport \"./TextEditorV2.scss\";\n\nexport const TextEditorV2 = ({ defaultValue, onValueChange, locale }) => {\n const [editorState, setEditorState] = useState(EditorState.createEmpty());\n\n useEffect(() => {\n const { contentBlocks, entityMap } = htmlToDraft(defaultValue);\n setEditorState(EditorState.createWithContent(ContentState.createFromBlockArray(contentBlocks, entityMap)));\n }, []);\n\n const onEditorStateChange = (state) => {\n setEditorState(state);\n onValueChange(draftToHtml(convertToRaw(state.getCurrentContent())));\n };\n\n return (\n <div className=\"editor\">\n <Editor\n toolbar={{\n options: [\"inline\", \"list\", \"link\", \"textAlign\", \"history\"],\n inline: {\n options: [\"bold\", \"italic\", \"underline\"],\n },\n list: {\n options: [\"unordered\", \"ordered\"],\n },\n link: {\n showOpenOptionOnHover: false,\n defaultTargetOption: \"_blank\",\n },\n }}\n editorState={editorState}\n onEditorStateChange={onEditorStateChange}\n wrapperClassName=\"mb-6\"\n toolbarClassName=\"border border-solid border-color-border-primary\"\n editorClassName=\"border border-solid border-color-border-primary h-56\"\n localization={{\n locale: locale,\n }}\n />\n </div>\n );\n};\n\nexport default TextEditorV2;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nexport interface TimelineStepProps {\n key: string | number;\n type?: \"wide\" | \"base\" | \"withoutDot\" | \"emptyDot\";\n content: React.ReactNode;\n}\n\nexport const TimelineStep = ({\n content,\n type = \"base\",\n}: TimelineStepProps): JSX.Element => {\n const isWideStep = type === \"wide\";\n const borderClassNames = \"ml-4 pl-6 border-blue-800 border-l-2\";\n const containerClassNames = classNames(\"relative\", {\n [borderClassNames]: !isWideStep,\n \"bg-white rounded-lg overflow-hidden\": isWideStep,\n });\n\n return (\n <>\n {isWideStep && (\n <div className={classNames(borderClassNames, \"h-4 first:h-0\")} />\n )}\n <div className={containerClassNames}>\n <div className={\"flex flex-col\"}>{content}</div>\n <span\n className={classNames(\n \"rounded-lg h-4 w-4 absolute top-6 -left-2 -ml-px -mt-px\",\n {\n hidden: [\"wide\", \"withoutDot\"].includes(type),\n \"bg-blue-800\": \"base\" === type,\n \"bg-white border-blue-800 border-4\": \"emptyDot\" === type,\n }\n )}\n />\n </div>\n </>\n );\n};\n","import React from \"react\";\n\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { BaseButtonProps } from \"../ButtonV2/ButtonProps.type\";\n\nimport { TimelineStep, TimelineStepProps } from \"./TimelineStep\";\n\nexport interface TimelineProps {\n steps: TimelineStepProps[];\n loadMoreButtonProps?: BaseButtonProps;\n}\n\nexport const Timeline = (props: TimelineProps): JSX.Element => (\n <>\n {/* Needs a container around TimelineSteps as last one should be styled differently */}\n <div>\n {props.steps.map(step => <TimelineStep {...step} />)}\n </div>\n {props.loadMoreButtonProps && (\n <SecondaryButton\n className={\"mt-6 mx-auto\"}\n {...props.loadMoreButtonProps}\n />\n )}\n </>\n);\n\nexport default Timeline;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text, { TextProps } from \"../Text/Text\";\nimport Button from \"../Button/Button\";\nimport { RestPropped } from \"../../types/general.types\";\nimport { ButtonProps } from \"../Button/Button.types\";\n\nexport interface ViewItemProps<AccessoryType extends JSX.Element>\n extends RestPropped {\n titleProps?: TextProps;\n // deprecated: use titleProps instead\n title?: string;\n titleAccessory?: AccessoryType;\n // these props are injected in a Text component, allowing for customisation\n contentProps?: TextProps[];\n // these strings are injected in a default Text component\n // deprecated: use contentProps instead\n content?: string[];\n // if contentProps and content are both empty or null, this value will be presented instead\n defaultContent?: string;\n className?: string;\n buttons?: ButtonProps[];\n}\n\nexport function ViewItem<AccessoryType extends JSX.Element>({\n titleProps,\n title,\n titleAccessory,\n contentProps,\n content,\n defaultContent = \"-\",\n className,\n buttons,\n ...restProps\n}: ViewItemProps<AccessoryType>): JSX.Element {\n const titlePropsMerged = titleProps ?? { text: title ?? defaultContent };\n const contentPropsMerged =\n contentProps ??\n content?.map(line => {\n return { text: line, className: \"cweb-view-content-text\" } as TextProps;\n });\n\n return (\n <div className={classNames(\"vitals-view-item\", className)} {...restProps}>\n <div\n className={\n \"vitals-view-item-title-line flex justify-start flex-row items-start\"\n }\n >\n {titlePropsMerged && (\n <Text\n className={classNames(\n titlePropsMerged.className,\n \"vitals-view-item-title mb-1 mr-2\"\n )}\n color=\"slate-500\"\n {...titlePropsMerged}\n />\n )}\n {titleAccessory}\n </div>\n {contentPropsMerged &&\n contentPropsMerged?.map(textProps => (\n <Text {...textProps} key={textProps.key || textProps.text} />\n ))}\n {(!contentPropsMerged || contentPropsMerged?.length === 0) && (\n <Text text={defaultContent} key=\"empty-text\" />\n )}\n\n <div className=\"flex flex-row cweb-view-buttons\" key=\"cweb-view-buttons\">\n {buttons &&\n buttons.map(button => (\n <Button\n {...button}\n className={classNames(\"cweb-view-button ml-3\", button.className)}\n key={button.key || button.text}\n />\n ))}\n </div>\n </div>\n );\n}\n\nexport default ViewItem;\n","import React from \"react\";\nimport type { FieldErrors } from \"react-hook-form\";\n\nimport { Text } from \"../Text/Text\";\n\ninterface FormFieldErrorMessages {\n fieldName: string;\n error: FieldErrors;\n}\n\nexport const FormFieldErrorMessages: React.FC<FormFieldErrorMessages> = (\n props\n) => {\n const { fieldName, error } = props;\n\n const fieldErrors = error[fieldName] as Record<string, string> | undefined;\n\n if (!fieldErrors?.types) {\n return null;\n }\n\n return (\n <div className=\"mt-1 space-y-1\">\n {Object.entries(fieldErrors.types).map(([errorKey, errorMessage]) => (\n <Text\n key={`${fieldName}-${errorKey}`}\n text={errorMessage}\n color={\"red\"}\n type=\"sm\"\n />\n ))}\n </div>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\n\nimport { FormFieldDecoratorWithGeneratedProps } from \"./form.types\";\nimport { FormFieldErrorMessages } from \"./FormFieldErrorMessages\";\n\n/**\n * Decorator for any input component. Adds a label and additional information to be shown.\n *\n * Includes the default error handling from react-hook-form.\n */\nexport function FormFieldDecorator({\n name,\n children,\n label,\n fieldRequired,\n info,\n fieldErrors,\n decoratorClassname,\n}: FormFieldDecoratorWithGeneratedProps): JSX.Element {\n return (\n <div className={classNames(decoratorClassname)}>\n {label && (\n <label\n className=\"cweb-form-field-label block mb-1\"\n htmlFor={name}\n data-is-required={fieldRequired}\n >\n <Text\n className=\"cweb-form-field-label-text\"\n inline={true}\n text={label}\n />\n </label>\n )}\n <fieldset className=\"cweb-form-fieldset\">{children}</fieldset>\n {info && (\n <Text\n className=\"mt-1 cweb-form-info-text\"\n type=\"sm\"\n color=\"slate-500\"\n text={info}\n />\n )}\n <FormFieldErrorMessages fieldName={name} error={fieldErrors} />\n </div>\n );\n}\n","import { FieldErrors, RegisterOptions } from \"react-hook-form/dist/index.ie11\";\n\nexport const hasError = (name?: string, errors?: FieldErrors): boolean => {\n return !!(name && errors && name in errors);\n};\n\nexport const isRequired = (options?: RegisterOptions): boolean => {\n return !!(options && \"required\" in options);\n};\n","import React from \"react\";\nimport { Controller } from \"react-hook-form/dist/index.ie11\";\n\nimport Input from \"../Input/Input\";\n\nimport { FormInputProps } from \"./form.types\";\nimport { FormFieldDecorator } from \"./FormFieldDecorator\";\nimport { hasError } from \"./form.transformer\";\n\n/**\n * Input field that can be used in any react-hook-form context.\n */\nexport const FormInput = React.forwardRef<HTMLInputElement, FormInputProps>(\n (\n {\n control,\n name,\n rules,\n fieldErrors,\n fieldRequired,\n label,\n info,\n decoratorClassname,\n ...fieldProps\n },\n innerRef\n ) => (\n <FormFieldDecorator\n name={name}\n fieldErrors={fieldErrors}\n fieldRequired={fieldRequired}\n label={label}\n info={info}\n decoratorClassname={decoratorClassname}\n >\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={(field) => (\n <Input\n {...fieldProps}\n {...field}\n isError={hasError(name, fieldErrors)}\n asFormField\n ref={innerRef}\n />\n )}\n />\n </FormFieldDecorator>\n )\n);\n","import React from \"react\";\nimport { Controller } from \"react-hook-form/dist/index.ie11\";\n\nimport { RadioGroupV2 } from \"../RadioGroup/RadioGroupV2\";\n\nimport { FormFieldDecorator } from \"./FormFieldDecorator\";\nimport { hasError } from \"./form.transformer\";\nimport { FormRadioGroupProps } from \"./form.types\";\n\n/**\n * Radio Group that can be used in any react-hook-form context.\n */\nexport const FormRadioGroup = React.forwardRef<\n HTMLInputElement,\n FormRadioGroupProps\n>(\n (\n {\n control,\n name,\n rules,\n fieldErrors,\n fieldRequired,\n label,\n info,\n decoratorClassname,\n ...fieldProps\n },\n innerRef\n ) => (\n <FormFieldDecorator\n name={name}\n fieldErrors={fieldErrors}\n fieldRequired={fieldRequired}\n label={label}\n info={info}\n decoratorClassname={decoratorClassname}\n >\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ onChange, value }) => {\n return (\n <RadioGroupV2\n {...fieldProps}\n isError={hasError(name, fieldErrors)}\n ref={innerRef}\n name={name}\n onChange={onChange}\n defaultValue={value}\n />\n );\n }}\n />\n </FormFieldDecorator>\n )\n);\n","import React from \"react\";\nimport { Controller } from \"react-hook-form/dist/index.ie11\";\n\nimport { Select } from \"../Select/Select\";\n\nimport { FormSelectProps } from \"./form.types\";\nimport { FormFieldDecorator } from \"./FormFieldDecorator\";\nimport { hasError } from \"./form.transformer\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const FormSelect = React.forwardRef<any, FormSelectProps>(\n (\n {\n control,\n name,\n rules,\n fieldErrors,\n fieldRequired,\n label,\n info,\n decoratorClassname,\n ...selectProps\n },\n innerRef\n ) => {\n return (\n <FormFieldDecorator\n name={name}\n fieldErrors={fieldErrors}\n fieldRequired={fieldRequired}\n label={label}\n info={info}\n decoratorClassname={decoratorClassname}\n >\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={(field) => (\n <Select\n {...selectProps}\n {...field}\n isError={hasError(name, fieldErrors)}\n ref={innerRef}\n />\n )}\n />\n </FormFieldDecorator>\n );\n }\n);\n","import React, { useEffect } from \"react\";\nimport { Controller } from \"react-hook-form/dist/index.ie11\";\n\nimport { ImagePicker } from \"../ImagePicker/ImagePicker\";\n\nimport { FormImagePickerProps } from \"./form.types\";\nimport { FormFieldDecorator } from \"./FormFieldDecorator\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const FormImagePicker = React.forwardRef<any, FormImagePickerProps>(\n (\n {\n control,\n name,\n rules,\n fieldErrors,\n fieldRequired,\n label,\n info,\n decoratorClassname,\n ...fieldProps\n },\n innerRef\n ) => (\n <FormFieldDecorator\n name={name}\n fieldErrors={fieldErrors}\n fieldRequired={fieldRequired}\n label={label}\n info={info}\n decoratorClassname={decoratorClassname}\n >\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={(field) => {\n useEffect(() => {\n if (fieldProps.preselectedImage && !field.value) {\n field.onChange({\n target: { name, value: fieldProps.preselectedImage },\n });\n }\n }, []);\n return (\n <ImagePicker\n {...fieldProps}\n {...field}\n handleChange={(e) => {\n // On react-hook-forms v6, the onChange event wants the value only, not the event object.\n field.onChange(e.target.value);\n fieldProps?.handleChange?.(e);\n }}\n preselectedImage={field.value ?? fieldProps.preselectedImage}\n ref={innerRef}\n />\n );\n }}\n />\n </FormFieldDecorator>\n )\n);\n","import React, { useEffect } from \"react\";\nimport pick from \"lodash/pick\";\nimport {\n type Control,\n type FieldValues,\n useForm,\n type UseFormMethods as UseFormReturn,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport { PrimaryButton } from \"../ButtonV2/PrimaryButton\";\nimport { InputProps } from \"../Input/Input\";\nimport { RadioGroupProps } from \"../RadioGroup/RadioGroupV2\";\nimport { SelectProps } from \"../Select/Select\";\nimport { ImagePickerProps } from \"../ImagePicker/ImagePicker\";\nimport { FlexRow } from \"../Container/FlexRow\";\n\nimport { FormInput } from \"./FormInput\";\nimport {\n FormFieldDecoratorProps,\n FormFieldProps,\n FormProps,\n GenericFormProps,\n} from \"./form.types\";\nimport { isRequired } from \"./form.transformer\";\nimport { FormRadioGroup } from \"./FormRadioGroup\";\nimport { FormSelect } from \"./FormSelect\";\nimport { FormImagePicker } from \"./FormImagePicker\";\n\n/**\n * Create a straight forward Form, which takes away the 'overhead' of react-hook-form.\n *\n * You will probably don't want to use this component for now, given that the button is hardcoded.\n * This is an example for the Form for now, though it could be improved to enforce further unification.\n *\n * TODO: make the buttons configurable.\n */\nexport function GenericForm<TFieldValues extends FieldValues>({\n fields,\n onValid,\n onError,\n defaultValues,\n}: GenericFormProps<TFieldValues>): JSX.Element {\n const useFormReturn = useForm<TFieldValues>({\n criteriaMode: \"all\",\n defaultValues: defaultValues,\n });\n\n useEffect(() => {\n if (defaultValues) {\n useFormReturn.reset(defaultValues);\n }\n }, [defaultValues]);\n\n const { handleSubmit } = useFormReturn;\n\n return (\n <div className=\"space-y-6\">\n <Form fields={fields} useFormReturn={useFormReturn} />\n <PrimaryButton onClick={handleSubmit(onValid, onError)} text={\"submit\"} />\n </div>\n );\n}\n\n/**\n * Creates a Form based on the fields input.\n *\n * Expects the results of the useForm hook to be injected into the useFormReturn parameter.\n *\n * This allows you to use and modify the useFormReturn before injecting it here.\n */\nexport function Form<TFieldValues extends FieldValues>({\n fields,\n useFormReturn,\n}: FormProps<TFieldValues>): JSX.Element {\n return (\n <div className=\"space-y-6\">\n {fields.map((props) => FormFieldMapper(props, useFormReturn))}\n </div>\n );\n}\n\nfunction FormFieldMapper<TFieldValues extends FieldValues>(\n formFieldProps: FormFieldProps<TFieldValues>,\n useFormReturn: UseFormReturn<TFieldValues>\n): JSX.Element {\n const { type, name, options, fieldProps = {} } = formFieldProps;\n const decoratorProps: FormFieldDecoratorProps = pick(formFieldProps, [\n \"label\",\n \"info\",\n \"decoratorClassname\",\n ]);\n const {\n control,\n formState: { errors },\n } = useFormReturn;\n\n switch (type) {\n case \"row\":\n return (\n <FlexRow key={formFieldProps.key}>\n {formFieldProps.fields.map((field) =>\n FormFieldMapper(\n {\n decoratorClassname: \"flex-auto\",\n ...field,\n },\n useFormReturn\n )\n )}\n </FlexRow>\n );\n case \"text\":\n case \"number\":\n case \"email\":\n case \"password\":\n return (\n <FormInput\n key={name}\n name={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n {...(fieldProps as InputProps)}\n control={control as Control}\n rules={options}\n type={type}\n />\n );\n case \"select\":\n return (\n <FormSelect\n key={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n {...(fieldProps as SelectProps)}\n control={control as Control}\n rules={options}\n name={name}\n />\n );\n case \"imagePicker\":\n return (\n <FormImagePicker\n key={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n {...(fieldProps as ImagePickerProps)}\n control={control as Control}\n rules={options}\n name={name}\n />\n );\n case \"radioGroup\": {\n return (\n <FormRadioGroup\n key={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n {...(fieldProps as RadioGroupProps)}\n name={name}\n rules={options}\n control={control}\n />\n );\n }\n default:\n return <></>;\n }\n}\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const AlertsIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 19.5C14 20.163 13.7893 20.7989 13.4142 21.2678C13.0391 21.7366 12.5304 22 12 22C11.4696 22 10.9609 21.7366 10.5858 21.2678C10.2107 20.7989 10 20.163 10 19.5L14 19.5Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10 4C10 2.89543 10.8954 2 12 2C13.1046 2 14 2.89543 14 4V5H10V4Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M5 11C5 7.13401 8.13401 4 12 4C15.866 4 19 7.13401 19 11V17H5V11Z\"\n fill=\"currentColor\"\n />\n <rect\n x=\"3\"\n y=\"15.5\"\n width=\"18\"\n height=\"2.5\"\n rx=\"1.25\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const BellIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 19.5C14 20.163 13.7893 20.7989 13.4142 21.2678C13.0391 21.7366 12.5304 22 12 22C11.4696 22 10.9609 21.7366 10.5858 21.2678C10.2107 20.7989 10 20.163 10 19.5L14 19.5Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10 4C10 2.89543 10.8954 2 12 2C13.1046 2 14 2.89543 14 4V5H10V4Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M5 11C5 7.13401 8.13401 4 12 4C15.866 4 19 7.13401 19 11V17H5V11Z\"\n fill=\"currentColor\"\n />\n <rect\n x=\"3\"\n y=\"15.5\"\n width=\"18\"\n height=\"2.5\"\n rx=\"1.25\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChartLineColoredIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5 20C4.45 20 3.97933 19.8043 3.588 19.413C3.196 19.021 3 18.55 3 18C3 17.45 3.196 16.979 3.588 16.587C3.97933 16.1957 4.45 16 5 16H5.263C5.33767 16 5.41667 16.0167 5.5 16.05L10.05 11.5C10.0167 11.4167 10 11.3373 10 11.262V11C10 10.45 10.196 9.979 10.588 9.587C10.9793 9.19567 11.45 9 12 9C12.55 9 13.021 9.19567 13.413 9.587C13.8043 9.979 14 10.45 14 11C14 11.0333 13.9833 11.2 13.95 11.5L16.5 14.05C16.5833 14.0167 16.6627 14 16.738 14H17.262C17.3373 14 17.4167 14.0167 17.5 14.05L21.05 10.5C21.0167 10.4167 21 10.3373 21 10.262V10C21 9.45 21.1957 8.97933 21.587 8.588C21.979 8.196 22.45 8 23 8C23.55 8 24.021 8.196 24.413 8.588C24.8043 8.97933 25 9.45 25 10C25 10.55 24.8043 11.0207 24.413 11.412C24.021 11.804 23.55 12 23 12H22.738C22.6627 12 22.5833 11.9833 22.5 11.95L18.95 15.5C18.9833 15.5833 19 15.6627 19 15.738V16C19 16.55 18.8043 17.0207 18.413 17.412C18.021 17.804 17.55 18 17 18C16.45 18 15.9793 17.804 15.588 17.412C15.196 17.0207 15 16.55 15 16V15.738C15 15.6627 15.0167 15.5833 15.05 15.5L12.5 12.95C12.4167 12.9833 12.3373 13 12.262 13H12C11.9667 13 11.8 12.9833 11.5 12.95L6.95 17.5C6.98333 17.5833 7 17.6627 7 17.738V18C7 18.55 6.804 19.021 6.412 19.413C6.02067 19.8043 5.55 20 5 20Z\"\n fill=\"#FF0099\"\n />\n <circle cx=\"12\" cy=\"11\" r=\"2\" fill=\"#FF82AB\" />\n <circle cx=\"5\" cy=\"18\" r=\"2\" fill=\"#FF82AB\" />\n <circle cx=\"17\" cy=\"16\" r=\"2\" fill=\"#FF82AB\" />\n <circle cx=\"23\" cy=\"10\" r=\"2\" fill=\"#FF82AB\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChatBoxIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n width=\"20\"\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n height=\"19\"\n viewBox=\"0 0 20 19\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18 0H2C0.9 0 0 0.9 0 2V17.59C0 18.48 1.08 18.93 1.71 18.3L4 16H18C19.1 16 20 15.1 20 14V2C20 0.9 19.1 0 18 0ZM11.57 9.57L10.45 12.01C10.27 12.4 9.72 12.4 9.54 12.01L8.42 9.57L5.98 8.45C5.59 8.27 5.59 7.72 5.98 7.54L8.42 6.42L9.54 3.98C9.72 3.59 10.27 3.59 10.45 3.98L11.57 6.42L14.01 7.54C14.4 7.72 14.4 8.27 14.01 8.45L11.57 9.57Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChevronDoubleIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"8\"\n height=\"14\"\n viewBox=\"0 0 8 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 0C4.26522 5.96046e-08 4.51957 0.105357 4.70711 0.292893L7.70711 3.29289C8.09763 3.68342 8.09763 4.31658 7.70711 4.70711C7.31658 5.09763 6.68342 5.09763 6.29289 4.70711L4 2.41421L1.70711 4.70711C1.31658 5.09763 0.683417 5.09763 0.292893 4.70711C-0.0976311 4.31658 -0.097631 3.68342 0.292893 3.29289L3.29289 0.292893C3.48043 0.105357 3.73478 0 4 0ZM0.292893 9.29289C0.683417 8.90237 1.31658 8.90237 1.70711 9.29289L4 11.5858L6.29289 9.29289C6.68342 8.90237 7.31658 8.90237 7.70711 9.29289C8.09763 9.68342 8.09763 10.3166 7.70711 10.7071L4.70711 13.7071C4.31658 14.0976 3.68342 14.0976 3.29289 13.7071L0.292893 10.7071C-0.0976311 10.3166 -0.0976311 9.68342 0.292893 9.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const DownArrowIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill=\"currentColor\"\n fillRule=\"nonzero\"\n d=\"M12.762 6.57l-.48-.382A.944.944 0 0 0 11.696 6a.9.9 0 0 0-.578.188L8 8.663 4.88 6.188A.9.9 0 0 0 4.304 6a.944.944 0 0 0-.584.188l-.475.382C3.08 6.7 3 6.854 3 7.034c0 .183.081.336.244.458l4.178 3.315A.87.87 0 0 0 8 11a.91.91 0 0 0 .584-.193l4.178-3.315A.567.567 0 0 0 13 7.034c0-.177-.08-.331-.238-.464z\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nexport const EmptyStateDashboardIcon = (): JSX.Element => {\n return (\n <svg\n width=\"450\"\n height=\"300\"\n viewBox=\"0 0 450 300\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M450 291C450 264.079 444.18 237.422 432.873 212.55C421.566 187.678 404.992 165.079 384.099 146.043C363.206 127.007 338.402 111.907 311.104 101.605C283.806 91.3025 254.547 86 225 86C195.453 86 166.194 91.3025 138.896 101.605C111.598 111.907 86.7941 127.007 65.901 146.043C45.0078 165.079 28.4344 187.678 17.1271 212.55C5.81979 237.422 -2.58312e-06 264.079 0 291L225 291H450Z\"\n fill=\"#82D6F8\"\n />\n <path\n d=\"M95 73.0081C95 65.8239 100.824 60 108.008 60H342.154C349.338 60 355.162 65.8239 355.162 73.0081V223.252C355.162 230.436 349.338 236.26 342.154 236.26H108.008C100.824 236.26 95 230.436 95 223.252V73.0081Z\"\n fill=\"#1F2937\"\n />\n <path\n d=\"M167.846 70.4062H340.756C342.965 70.4062 344.756 72.1971 344.756 74.4062V221.853C344.756 224.062 342.965 225.853 340.756 225.853H167.846V70.4062Z\"\n fill=\"#F9FAFB\"\n />\n <path\n d=\"M173.049 99.772C173.049 97.5628 174.84 95.772 177.049 95.772H249.699C251.908 95.772 253.699 97.5628 253.699 99.772V151.609C253.699 153.818 251.908 155.609 249.699 155.609H177.049C174.84 155.609 173.049 153.818 173.049 151.609V99.772Z\"\n fill=\"white\"\n />\n <path\n d=\"M226.988 139.305C227.242 139.559 227.243 139.972 226.981 140.217C224.8 142.257 222.178 143.772 219.315 144.64C216.244 145.572 212.991 145.731 209.844 145.105C206.697 144.479 203.753 143.087 201.272 141.051C198.792 139.016 196.852 136.4 195.624 133.435C194.396 130.47 193.918 127.249 194.233 124.056C194.547 120.862 195.644 117.796 197.427 115.128C199.21 112.46 201.623 110.272 204.453 108.76C207.091 107.35 210.016 106.566 213.001 106.467C213.36 106.455 213.651 106.747 213.651 107.106V125.699C213.651 125.871 213.719 126.037 213.841 126.159L226.988 139.305Z\"\n fill=\"#FF83B4\"\n />\n <path\n d=\"M233.813 124.667C234.172 124.667 234.465 124.376 234.453 124.017C234.288 119.078 232.254 114.376 228.748 110.87C225.243 107.364 220.541 105.33 215.602 105.166C215.243 105.154 214.951 105.446 214.951 105.805L214.951 124.017C214.951 124.376 215.242 124.667 215.602 124.667H233.813Z\"\n fill=\"#52C6F4\"\n />\n <path\n d=\"M228.937 139.306C229.191 139.56 229.603 139.56 229.849 139.298C231.448 137.588 232.729 135.602 233.626 133.435C234.524 131.269 235.023 128.959 235.101 126.619C235.113 126.26 234.82 125.968 234.461 125.968H217.169C216.59 125.968 216.3 126.669 216.71 127.079L228.937 139.306Z\"\n fill=\"#6ABFA5\"\n />\n <path\n d=\"M258.902 99.772C258.902 97.5628 260.693 95.772 262.902 95.772H335.553C337.762 95.772 339.553 97.5628 339.553 99.772V151.609C339.553 153.818 337.762 155.609 335.553 155.609H262.902C260.693 155.609 258.902 153.818 258.902 151.609V99.772Z\"\n fill=\"white\"\n />\n <path\n d=\"M278.414 126.991C278.414 125.554 279.579 124.39 281.016 124.39H286.219C287.656 124.39 288.821 125.554 288.821 126.991V142.601C288.821 144.038 287.656 145.203 286.219 145.203H281.016C279.579 145.203 278.414 144.038 278.414 142.601V126.991Z\"\n fill=\"#52C6F4\"\n />\n <path\n d=\"M294.024 110.731C294.024 109.294 295.189 108.129 296.625 108.129H301.829C303.266 108.129 304.43 109.294 304.43 110.731V142.601C304.43 144.038 303.266 145.203 301.829 145.203H296.625C295.189 145.203 294.024 144.038 294.024 142.601V110.731Z\"\n fill=\"#52C6F4\"\n />\n <path\n d=\"M309.634 119.837C309.634 118.4 310.798 117.235 312.235 117.235H317.438C318.875 117.235 320.04 118.4 320.04 119.837V142.601C320.04 144.038 318.875 145.203 317.438 145.203H312.235C310.798 145.203 309.634 144.038 309.634 142.601V119.837Z\"\n fill=\"#6ABFA5\"\n />\n <path\n d=\"M258.902 164.812C258.902 162.603 260.693 160.812 262.902 160.812H335.553C337.762 160.812 339.553 162.603 339.553 164.813V216.65C339.553 218.859 337.762 220.65 335.553 220.65H262.902C260.693 220.65 258.902 218.859 258.902 216.65V164.812Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M280.096 191.874C280.096 191.874 271.487 183.28 280.774 174.655C280.774 174.655 284.175 171.052 291.053 172.041C294.952 172.603 296.482 174.453 299.075 178.366C299.075 178.366 302.291 172.16 310.8 172.137C318.05 172.118 323.604 180.223 321.565 186.881C321.565 186.881 320.884 188.957 318.05 191.874L299.122 210.243L280.096 191.874Z\"\n fill=\"#6ABFA5\"\n />\n <path\n d=\"M173.049 164.812C173.049 162.603 174.84 160.812 177.049 160.812H249.699C251.908 160.812 253.699 162.603 253.699 164.813V216.65C253.699 218.859 251.908 220.65 249.699 220.65H177.049C174.84 220.65 173.049 218.859 173.049 216.65V164.812Z\"\n fill=\"white\"\n />\n <rect\n x=\"173.049\"\n y=\"178.374\"\n width=\"80.6503\"\n height=\"1.30081\"\n fill=\"#F4F4F4\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M228.738 169.616C229.132 169.54 229.539 169.651 229.84 169.915L245.45 183.573C245.991 184.046 246.046 184.868 245.573 185.409C245.1 185.949 244.278 186.004 243.737 185.531L229.383 172.972L214.533 202.054C214.362 202.388 214.057 202.632 213.694 202.724C213.331 202.816 212.946 202.747 212.637 202.535L197.149 191.886L181.676 185.762C181.008 185.497 180.681 184.741 180.945 184.073C181.21 183.405 181.965 183.078 182.633 183.343L198.243 189.521C198.334 189.557 198.421 189.604 198.501 189.659L212.89 199.551L227.825 170.302C228.008 169.945 228.345 169.692 228.738 169.616Z\"\n fill=\"#52C6F4\"\n />\n <circle cx=\"182.805\" cy=\"184.878\" r=\"2.60162\" fill=\"#3FABD6\" />\n <circle cx=\"197.764\" cy=\"190.731\" r=\"2.60162\" fill=\"#3FABD6\" />\n <circle cx=\"213.373\" cy=\"201.137\" r=\"2.60162\" fill=\"#3FABD6\" />\n <circle cx=\"229.635\" cy=\"171.219\" r=\"3.90244\" fill=\"#6ABFA5\" />\n <circle cx=\"245.244\" cy=\"184.878\" r=\"2.60162\" fill=\"#3FABD6\" />\n <path\n d=\"M173.049 80.2603C173.049 78.0511 174.84 76.2603 177.049 76.2603H335.553C337.762 76.2603 339.553 78.0511 339.553 80.2603V86.5692C339.553 88.7783 337.762 90.5692 335.553 90.5692H177.049C174.84 90.5692 173.049 88.7783 173.049 86.5692V80.2603Z\"\n fill=\"white\"\n />\n <rect\n x=\"178.252\"\n y=\"81.4634\"\n width=\"26.0162\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"282.316\"\n y=\"81.4634\"\n width=\"52.0325\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"209.471\"\n y=\"81.4634\"\n width=\"67.6422\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#9CA3AF\"\n />\n <path\n d=\"M160.041 289.594C160.041 283.846 164.7 279.187 170.448 279.187H279.716C285.463 279.187 290.122 283.846 290.122 289.594C290.122 295.341 285.463 300 279.716 300H170.448C164.7 300 160.041 295.341 160.041 289.594Z\"\n fill=\"#1F2937\"\n />\n <path\n d=\"M203.617 236.26H246.544L251.747 279.187H198.414L203.617 236.26Z\"\n fill=\"#4B5563\"\n />\n <path\n d=\"M105.406 74.4062C105.406 72.1971 107.197 70.4062 109.406 70.4062H167.845V225.853H109.406C107.197 225.853 105.406 224.062 105.406 221.853V74.4062Z\"\n fill=\"#F3F4F6\"\n />\n <rect\n x=\"108.658\"\n y=\"73.6587\"\n width=\"55.9349\"\n height=\"15.6097\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"76.2607\"\n width=\"37.7235\"\n height=\"5.20325\"\n rx=\"2.60162\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"82.7642\"\n width=\"26.0162\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"81.464\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"94.4712\"\n width=\"55.9349\"\n height=\"15.6097\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"97.0732\"\n width=\"33.8211\"\n height=\"5.20325\"\n rx=\"2.60162\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"103.577\"\n width=\"35.7723\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"102.276\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"115.285\"\n width=\"55.9349\"\n height=\"15.6097\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"117.887\"\n width=\"37.7235\"\n height=\"5.20325\"\n rx=\"2.60163\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"124.391\"\n width=\"26.0162\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"123.09\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"136.098\"\n width=\"55.9349\"\n height=\"15.6097\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"138.7\"\n width=\"33.8211\"\n height=\"5.20325\"\n rx=\"2.60163\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"145.203\"\n width=\"31.8699\"\n height=\"3.90243\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"143.903\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"156.91\"\n width=\"55.9349\"\n height=\"15.6098\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"159.512\"\n width=\"37.7235\"\n height=\"5.20325\"\n rx=\"2.60163\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"166.016\"\n width=\"26.0162\"\n height=\"3.90244\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"164.715\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"177.723\"\n width=\"55.9349\"\n height=\"15.6097\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"180.325\"\n width=\"31.8699\"\n height=\"5.20325\"\n rx=\"2.60163\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"186.829\"\n width=\"31.8699\"\n height=\"3.90243\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"185.528\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <rect\n x=\"108.658\"\n y=\"198.537\"\n width=\"55.9349\"\n height=\"15.6098\"\n rx=\"4\"\n fill=\"white\"\n />\n <rect\n x=\"123.617\"\n y=\"201.138\"\n width=\"37.7235\"\n height=\"5.20324\"\n rx=\"2.60162\"\n fill=\"#9CA3AF\"\n />\n <rect\n x=\"123.617\"\n y=\"207.642\"\n width=\"26.0162\"\n height=\"3.90243\"\n rx=\"1.95122\"\n fill=\"#D1D5DB\"\n />\n <ellipse\n cx=\"115.813\"\n cy=\"206.341\"\n rx=\"5.20325\"\n ry=\"5.20325\"\n fill=\"#D1D5DB\"\n />\n <path\n d=\"M204.538 57.2204C206.044 55.1505 208.448 53.9258 211.008 53.9258H239.809C242.368 53.9258 244.773 55.1505 246.278 57.2204L248.979 60.9332H201.838L204.538 57.2204Z\"\n fill=\"#374151\"\n />\n <circle cx=\"225.408\" cy=\"52.6519\" r=\"14.6519\" fill=\"#374151\" />\n <circle cx=\"225.408\" cy=\"52.6521\" r=\"8.28148\" fill=\"#1F2937\" />\n <circle cx=\"225.409\" cy=\"52.6518\" r=\"5.73333\" fill=\"#86DDFF\" />\n <circle\n cx=\"223.497\"\n cy=\"50.1035\"\n r=\"1.91111\"\n fill=\"white\"\n fillOpacity=\"0.5\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ExclamationMarkIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 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 13C11.45 13 11 12.55 11 12V8C11 7.45 11.45 7 12 7C12.55 7 13 7.45 13 8V12C13 12.55 12.55 13 12 13ZM13 17H11V15H13V17Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const EyeIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"22\"\n height=\"15\"\n viewBox=\"0 0 22 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11 0C6 0 1.73 3.11 0 7.5C1.73 11.89 6 15 11 15C16 15 20.27 11.89 22 7.5C20.27 3.11 16 0 11 0ZM11 12.5C8.24 12.5 6 10.26 6 7.5C6 4.74 8.24 2.5 11 2.5C13.76 2.5 16 4.74 16 7.5C16 10.26 13.76 12.5 11 12.5ZM11 4.5C9.34 4.5 8 5.84 8 7.5C8 9.16 9.34 10.5 11 10.5C12.66 10.5 14 9.16 14 7.5C14 5.84 12.66 4.5 11 4.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const GearIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M17.5002 10C17.5002 9.77 17.4902 9.55 17.4702 9.32L19.3302 7.91C19.7302 7.61 19.8402 7.05 19.5902 6.61L17.7202 3.38C17.4702 2.94 16.9302 2.76 16.4702 2.96L14.3202 3.87C13.9502 3.61 13.5602 3.38 13.1502 3.19L12.8602 0.88C12.8002 0.38 12.3702 0 11.8702 0H8.14015C7.63015 0 7.20015 0.38 7.14015 0.88L6.85015 3.19C6.44015 3.38 6.05015 3.61 5.68015 3.87L3.53015 2.96C3.07015 2.76 2.53015 2.94 2.28015 3.38L0.410153 6.62C0.160153 7.06 0.270153 7.61 0.670153 7.92L2.53015 9.33C2.51015 9.55 2.50015 9.77 2.50015 10C2.50015 10.23 2.51015 10.45 2.53015 10.68L0.670153 12.09C0.270153 12.39 0.160153 12.95 0.410153 13.39L2.28015 16.62C2.53015 17.06 3.07015 17.24 3.53015 17.04L5.68015 16.13C6.05015 16.39 6.44015 16.62 6.85015 16.81L7.14015 19.12C7.20015 19.62 7.63015 20 8.13015 20H11.8602C12.3602 20 12.7902 19.62 12.8502 19.12L13.1402 16.81C13.5502 16.62 13.9402 16.39 14.3102 16.13L16.4602 17.04C16.9202 17.24 17.4602 17.06 17.7102 16.62L19.5802 13.39C19.8302 12.95 19.7202 12.4 19.3202 12.09L17.4602 10.68C17.4902 10.45 17.5002 10.23 17.5002 10ZM10.0402 13.5C8.11015 13.5 6.54015 11.93 6.54015 10C6.54015 8.07 8.11015 6.5 10.0402 6.5C11.9702 6.5 13.5402 8.07 13.5402 10C13.5402 11.93 11.9702 13.5 10.0402 13.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const GearColoredIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.1417 2.43667C13.5658 1.85445 14.4342 1.85444 14.8583 2.43666L16.9824 5.35293C17.2169 5.67494 17.612 5.83857 18.0055 5.77673L21.5696 5.2166C22.2812 5.10477 22.8952 5.71882 22.7834 6.43038L22.2233 9.99448C22.1614 10.388 22.3251 10.7831 22.6471 11.0176L25.5633 13.1417C26.1456 13.5658 26.1456 14.4342 25.5633 14.8583L22.6471 16.9824C22.3251 17.2169 22.1614 17.612 22.2233 18.0055L22.7834 21.5696C22.8952 22.2812 22.2812 22.8952 21.5696 22.7834L18.0055 22.2233C17.612 22.1614 17.2169 22.3251 16.9824 22.6471L14.8583 25.5633C14.4342 26.1456 13.5658 26.1456 13.1417 25.5633L11.0176 22.6471C10.7831 22.3251 10.388 22.1614 9.99448 22.2233L6.43038 22.7834C5.71882 22.8952 5.10477 22.2812 5.2166 21.5696L5.77673 18.0055C5.83857 17.612 5.67494 17.2169 5.35294 16.9824L2.43667 14.8583C1.85445 14.4342 1.85444 13.5658 2.43666 13.1417L5.35293 11.0176C5.67494 10.7831 5.83857 10.388 5.77673 9.99448L5.2166 6.43038C5.10477 5.71882 5.71882 5.10477 6.43038 5.2166L9.99448 5.77673C10.388 5.83857 10.7831 5.67494 11.0176 5.35294L13.1417 2.43667Z\"\n fill=\"#6670A5\"\n />\n <circle cx=\"14\" cy=\"14\" r=\"4\" fill=\"#383B6D\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const GroupIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 12.75C13.63 12.75 15.07 13.14 16.24 13.65C17.32 14.13 18 15.21 18 16.38V17C18 17.55 17.55 18 17 18H7C6.45 18 6 17.55 6 17V16.39C6 15.21 6.68 14.13 7.76 13.66C8.93 13.14 10.37 12.75 12 12.75ZM4 13C5.1 13 6 12.1 6 11C6 9.9 5.1 9 4 9C2.9 9 2 9.9 2 11C2 12.1 2.9 13 4 13ZM5.13 14.1C4.76 14.04 4.39 14 4 14C3.01 14 2.07 14.21 1.22 14.58C0.48 14.9 0 15.62 0 16.43V17C0 17.55 0.45 18 1 18H4.5V16.39C4.5 15.56 4.73 14.78 5.13 14.1ZM20 13C21.1 13 22 12.1 22 11C22 9.9 21.1 9 20 9C18.9 9 18 9.9 18 11C18 12.1 18.9 13 20 13ZM24 16.43C24 15.62 23.52 14.9 22.78 14.58C21.93 14.21 20.99 14 20 14C19.61 14 19.24 14.04 18.87 14.1C19.27 14.78 19.5 15.56 19.5 16.39V18H23C23.55 18 24 17.55 24 17V16.43ZM12 6C13.66 6 15 7.34 15 9C15 10.66 13.66 12 12 12C10.34 12 9 10.66 9 9C9 7.34 10.34 6 12 6Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const GroupColoredIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4 22C3.71667 22 3.47933 21.904 3.288 21.712C3.096 21.5207 3 21.2833 3 21V19.2C3 18.6333 3.146 18.1123 3.438 17.637C3.72933 17.1623 4.11667 16.8 4.6 16.55C5.63333 16.0333 6.68333 15.6457 7.75 15.387C8.81667 15.129 9.9 15 11 15C12.1 15 13.1833 15.129 14.25 15.387C15.3167 15.6457 16.3667 16.0333 17.4 16.55C17.8833 16.8 18.2707 17.1623 18.562 17.637C18.854 18.1123 19 18.6333 19 19.2V21C19 21.2833 18.904 21.5207 18.712 21.712C18.5207 21.904 18.2833 22 18 22H4ZM11 14C9.9 14 8.95833 13.6083 8.175 12.825C7.39167 12.0417 7 11.1 7 10C7 8.9 7.39167 7.95833 8.175 7.175C8.95833 6.39167 9.9 6 11 6C12.1 6 13.0417 6.39167 13.825 7.175C14.6083 7.95833 15 8.9 15 10C15 11.1 14.6083 12.0417 13.825 12.825C13.0417 13.6083 12.1 14 11 14Z\"\n fill=\"#6ABFA5\"\n />\n <path\n d=\"M20.5246 22C20.6746 21.8833 20.7913 21.7373 20.8746 21.562C20.9579 21.3873 20.9996 21.1917 20.9996 20.975V19C20.9996 18.2667 20.7956 17.5623 20.3876 16.887C19.9789 16.2123 19.3996 15.6333 18.6496 15.15C19.4996 15.25 20.2996 15.4207 21.0496 15.662C21.7996 15.904 22.4996 16.2 23.1496 16.55C23.7496 16.8833 24.2079 17.254 24.5246 17.662C24.8413 18.0707 24.9996 18.5167 24.9996 19V21C24.9996 21.2833 24.9036 21.5207 24.7116 21.712C24.5203 21.904 24.2829 22 23.9996 22H20.5246ZM20.9996 10C20.9996 11.1 20.6079 12.0417 19.8246 12.825C19.0413 13.6083 18.0996 14 16.9996 14C16.8163 14 16.5829 13.9793 16.2996 13.938C16.0163 13.896 15.7829 13.85 15.5996 13.8C16.0496 13.2667 16.3953 12.675 16.6366 12.025C16.8786 11.375 16.9996 10.7 16.9996 10C16.9996 9.3 16.8786 8.625 16.6366 7.975C16.3953 7.325 16.0496 6.73333 15.5996 6.2C15.8329 6.11667 16.0663 6.06233 16.2996 6.037C16.5329 6.01233 16.7663 6 16.9996 6C18.0996 6 19.0413 6.39167 19.8246 7.175C20.6079 7.95833 20.9996 8.9 20.9996 10Z\"\n fill=\"#559783\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const HeartIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.3502 20.1307C12.5902 20.8207 11.4202 20.8207 10.6602 20.1207L10.5502 20.0207C5.30015 15.2707 1.87015 12.1607 2.00015 8.28065C2.06015 6.58065 2.93015 4.95065 4.34015 3.99065C6.98015 2.19065 10.2402 3.03065 12.0002 5.09065C13.7602 3.03065 17.0202 2.18065 19.6602 3.99065C21.0702 4.95065 21.9402 6.58065 22.0002 8.28065C22.1402 12.1607 18.7002 15.2707 13.4502 20.0407L13.3502 20.1307Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const LinkIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.8021 7H7.33331C6.22874 7 5.33331 7.89543 5.33331 9V17.5C5.33331 18.6046 6.22874 19.5 7.33331 19.5H15.8333C16.9379 19.5 17.8333 18.6046 17.8333 17.5V14.0312\"\n stroke=\"#0074DD\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M9.5 15.3334L18.6667 6.16675M18.6667 6.16675H14.5M18.6667 6.16675V10.3334\"\n stroke=\"#0074DD\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const LightBulbIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 22C13.1 22 14 21.1 14 20H10C10 21.1 10.9 22 12 22Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M9 19H15C15.55 19 16 18.55 16 18C16 17.45 15.55 17 15 17H9C8.45 17 8 17.45 8 18C8 18.55 8.45 19 9 19Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12 2C7.86 2 4.5 5.36 4.5 9.5C4.5 13.32 7.16 15.36 8.27 16H15.73C16.84 15.36 19.5 13.32 19.5 9.5C19.5 5.36 16.14 2 12 2Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const LockIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18 8H17V6C17 3.24 14.76 1 12 1C9.24 1 7 3.24 7 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8ZM12 17C10.9 17 10 16.1 10 15C10 13.9 10.9 13 12 13C13.1 13 14 13.9 14 15C14 16.1 13.1 17 12 17ZM9 8V6C9 4.34 10.34 3 12 3C13.66 3 15 4.34 15 6V8H9Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const MessagesIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M24 3C25.1046 3 26 3.89543 26 5L26 20C26 21.1046 25.1046 22 24 22L4 22C2.89543 22 2 21.1046 2 20L2 5C2 3.89543 2.89543 3 4 3L24 3Z\"\n fill=\"#0074DD\"\n />\n <path\n d=\"M12.5858 10.4142C13.3668 9.63316 14.6332 9.63317 15.4142 10.4142L21.5858 16.5858C22.3668 17.3668 22.3668 18.6332 21.5858 19.4142L15.4142 25.5858C14.6332 26.3668 13.3668 26.3668 12.5858 25.5858L6.41421 19.4142C5.63316 18.6332 5.63317 17.3668 6.41421 16.5858L12.5858 10.4142Z\"\n fill=\"#0074DD\"\n />\n <rect x=\"5\" y=\"6\" width=\"18\" height=\"2\" rx=\"1\" fill=\"white\" />\n <rect x=\"5\" y=\"11\" width=\"18\" height=\"2\" rx=\"1\" fill=\"white\" />\n <rect x=\"7\" y=\"16\" width=\"14\" height=\"2\" rx=\"1\" fill=\"white\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const NotesIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M19 3H4.99C3.89 3 3 3.9 3 5L3.01 19C3.01 20.1 3.9 21 5 21H15L21 15V5C21 3.9 20.1 3 19 3ZM8 8H16C16.55 8 17 8.45 17 9C17 9.55 16.55 10 16 10H8C7.45 10 7 9.55 7 9C7 8.45 7.45 8 8 8ZM11 14H8C7.45 14 7 13.55 7 13C7 12.45 7.45 12 8 12H11C11.55 12 12 12.45 12 13C12 13.55 11.55 14 11 14ZM14 19.5V15C14 14.45 14.45 14 15 14H19.5L14 19.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const PinIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"14\"\n height=\"20\"\n viewBox=\"0 0 14 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 10.87C14 10.4 13.66 10.02 13.2 9.89C11.93 9.54 11 8.38 11 7V2H12C12.55 2 13 1.55 13 1C13 0.45 12.55 0 12 0L2 0C1.45 0 1 0.45 1 1C1 1.55 1.45 2 2 2H3V7C3 8.38 2.07 9.54 0.8 9.89C0.34 10.02 0 10.4 0 10.87L0 11C0 11.55 0.45 12 1 12H5.98L6 19C6 19.55 6.45 20 7 20C7.55 20 8 19.55 8 19L7.98 12H13C13.55 12 14 11.55 14 11V10.87Z\"\n fill=\"#64748b\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SmallCircleIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"6\" fill=\"currentColor\" />\n <circle cx=\"14.5\" cy=\"9.5\" r=\"1.5\" fill=\"white\" fillOpacity=\"0.1\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SmallDiamondIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.92984 13.4142C4.14879 12.6332 4.14879 11.3668 4.92984 10.5858L10.5867 4.92893C11.3677 4.14788 12.6341 4.14788 13.4151 4.92893L19.072 10.5858C19.853 11.3668 19.853 12.6332 19.072 13.4142L13.4151 19.0711C12.6341 19.8521 11.3677 19.8521 10.5867 19.0711L4.92984 13.4142Z\"\n fill=\"currentColor\"\n />\n <circle\n cx=\"12.0002\"\n cy=\"7.05078\"\n r=\"1.5\"\n transform=\"rotate(-45 12.0002 7.05078)\"\n fill=\"white\"\n fillOpacity=\"0.1\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SmallSquareIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"2\" fill=\"currentColor\" />\n <circle cx=\"15.5\" cy=\"8.5\" r=\"1.5\" fill=\"white\" fillOpacity=\"0.1\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SpaceRocketIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.18977 6.34976C7.14977 8.63976 5.74977 11.9298 5.61977 12.2398L3.35977 11.2698C2.70977 10.9898 2.54977 10.1398 3.04977 9.63976L6.05977 6.62976C6.52977 6.15976 7.20977 5.94976 7.86977 6.07976L9.18977 6.34976ZM10.6798 16.5098C10.9798 16.8098 11.4198 16.8898 11.7998 16.7098C12.9598 16.1698 15.4498 14.8998 17.0598 13.2898C21.6498 8.69976 21.6898 4.95976 21.4198 3.35976C21.3498 2.95976 21.0298 2.63976 20.6298 2.56976C19.0298 2.29976 15.2898 2.33976 10.6998 6.92976C9.08977 8.53976 7.82977 11.0298 7.27977 12.1898C7.09977 12.5698 7.18977 13.0198 7.47977 13.3098L10.6798 16.5098ZM17.6498 14.8098C15.3598 16.8498 12.0698 18.2498 11.7598 18.3798L12.7298 20.6398C13.0098 21.2898 13.8598 21.4498 14.3598 20.9498L17.3698 17.9398C17.8398 17.4698 18.0498 16.7898 17.9198 16.1298L17.6498 14.8098ZM8.93977 17.4098C9.13977 18.4698 8.78977 19.4498 8.11977 20.1198C7.34977 20.8898 4.95977 21.4598 3.40977 21.7598C2.71977 21.8898 2.10977 21.2798 2.23977 20.5898C2.53977 19.0398 3.09977 16.6498 3.87977 15.8798C4.54977 15.2098 5.52977 14.8598 6.58977 15.0598C7.75977 15.2798 8.71977 16.2398 8.93977 17.4098ZM12.9998 8.99976C12.9998 7.89976 13.8998 6.99976 14.9998 6.99976C16.0998 6.99976 16.9998 7.89976 16.9998 8.99976C16.9998 10.0998 16.0998 10.9998 14.9998 10.9998C13.8998 10.9998 12.9998 10.0998 12.9998 8.99976Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const StarIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"19\"\n height=\"18\"\n viewBox=\"0 0 19 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.58663 1.04906C8.93899 0.258571 10.061 0.258571 10.4134 1.04906L12.1659 4.9807C12.3112 5.30673 12.6193 5.53057 12.9743 5.56804L17.2551 6.01985C18.1158 6.11069 18.4625 7.17779 17.8196 7.75718L14.6219 10.6389C14.3568 10.8778 14.2391 11.24 14.3131 11.5892L15.2063 15.8001C15.3858 16.6467 14.4781 17.3062 13.7284 16.8738L9.99962 14.7232C9.69041 14.5448 9.30959 14.5448 9.00038 14.7232L5.27159 16.8738C4.52189 17.3062 3.61416 16.6467 3.79373 15.8001L4.68686 11.5892C4.76093 11.24 4.64325 10.8778 4.37808 10.6389L1.18043 7.75718C0.537518 7.17779 0.88424 6.11069 1.74492 6.01985L6.0257 5.56804C6.38068 5.53057 6.68877 5.30673 6.8341 4.9807L8.58663 1.04906Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const HamburgerIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3 6C3 5.44772 3.44772 5 4 5H20C20.5523 5 21 5.44772 21 6C21 6.55228 20.5523 7 20 7H4C3.44772 7 3 6.55228 3 6Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M3 12C3 11.4477 3.44772 11 4 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H4C3.44772 13 3 12.5523 3 12Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M4 17C3.44772 17 3 17.4477 3 18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18C21 17.4477 20.5523 17 20 17H4Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const SearchCancelIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.05086 0.636643C1.66033 0.246119 1.02717 0.246119 0.636643 0.636643C0.246119 1.02717 0.246119 1.66033 0.636643 2.05086L5.5867 7.00092L0.636672 11.9509C0.246148 12.3415 0.246148 12.9746 0.636672 13.3652C1.0272 13.7557 1.66036 13.7557 2.05089 13.3652L7.00091 8.41513L11.9503 13.3646C12.3409 13.7551 12.974 13.7551 13.3646 13.3646C13.7551 12.974 13.7551 12.3409 13.3646 11.9504L8.41513 7.00092L13.3646 2.05145C13.7551 1.66093 13.7551 1.02776 13.3646 0.637237C12.9741 0.246712 12.3409 0.246713 11.9504 0.637237L7.00092 5.5867L2.05086 0.636643Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const InfoIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n width=\"48\"\n height=\"48\"\n viewBox=\"0 0 48 48\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n onClick={props.onClick}\n className={props.className}\n role={props.onClick ? \"button\" : undefined}\n >\n <path\n d=\"M24 4C12.96 4 4 12.96 4 24C4 35.04 12.96 44 24 44C35.04 44 44 35.04 44 24C44 12.96 35.04 4 24 4ZM24 26C22.9 26 22 25.1 22 24V16C22 14.9 22.9 14 24 14C25.1 14 26 14.9 26 16V24C26 25.1 25.1 26 24 26ZM26 34H22V30H26V34Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const StatusColoredIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n onClick={props.onClick}\n role={props.onClick ? \"button\" : undefined}\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"6\" y=\"2\" width=\"16\" height=\"24\" rx=\"2\" fill=\"#374151\" />\n <circle cx=\"14\" cy=\"9\" r=\"4\" fill=\"white\" />\n <circle cx=\"14\" cy=\"19\" r=\"4\" fill=\"#E86967\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { Title } from \"../Title/Title\";\nimport { PrimaryButton } from \"../ButtonV2/PrimaryButton\";\nimport { PrimaryButtonProps } from \"../ButtonV2/ButtonProps.type\";\n\nexport type FullPageModalHeaderProps = {\n title: string;\n primaryButtonProps?: PrimaryButtonProps;\n};\n\nexport const FullPageModalHeader: React.FC<FullPageModalHeaderProps> = ({\n primaryButtonProps,\n title,\n}) => {\n return (\n <div className=\"flex flex-row items-center h-19 bg-white px-6 justify-between\">\n <Title text={title} />\n {primaryButtonProps && (\n <PrimaryButton\n data-test-id=\"modal-primary-button\"\n {...primaryButtonProps}\n />\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport { PrimaryButtonProps } from \"../ButtonV2/ButtonProps.type\";\n\nimport { FullPageModalHeader } from \"./FullPageModalHeader\";\n\nexport type FullPageModalProps = {\n children: React.ReactNode;\n isOpen?: boolean;\n title: string;\n dataTestId?: string;\n primaryButtonProps?: PrimaryButtonProps;\n onCloseClick: (\n event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>\n ) => void;\n};\n\nexport const FullPageModal: React.FC<FullPageModalProps> = ({\n children,\n dataTestId,\n isOpen,\n onCloseClick,\n primaryButtonProps,\n title,\n}) => {\n return (\n <ReactModal\n isOpen={isOpen}\n contentLabel={title}\n overlayClassName=\"fixed inset-0 overflow-x-hidden overflow-y-auto z-20\"\n onRequestClose={onCloseClick}\n shouldFocusAfterRender={false}\n className=\"w-full h-full\"\n data={{ \"test-id\": dataTestId ?? \"react-modal\" }}\n >\n <div className=\"flex flex-col w-full h-full bg-slate-100\">\n <FullPageModalHeader\n title={title}\n primaryButtonProps={primaryButtonProps}\n />\n <div className=\"h-full flex flex-row overflow-hidden\">{children}</div>\n </div>\n </ReactModal>\n );\n};\n","import React from \"react\";\n\nimport { Title } from \"../Title/Title\";\n\nexport type CardProps = {\n title: string;\n children: React.ReactNode;\n dataTestId?: string;\n};\n\n/**\n * Card component that centralizes itself inside a container.\n * Specific variant made with w-135 to suffice the use case needed,\n * more variants can be added.\n */\nexport const Card: React.FC<CardProps> = ({ title, children, dataTestId }) => {\n return (\n <div\n data-test-id={dataTestId}\n className=\"flex flex-col p-6 mx-auto bg-white rounded-lg w-135\"\n >\n <Title className=\"mb-6\" type=\"sm\" text={title} />\n {children}\n </div>\n );\n};\n"],"names":["FlexContainer","props","children","alignItems","verticalSpacing","horizontalSpacing","justifyContent","hasPadding","position","type","backgroundColor","React","className","classNames","relative","absolute","static","fixed","sticky","FlexColumn","spacing","rest","FlexRow","allowedTextStyles","sm","base","strong","lg","xl","allowedColors","red","green","amber","white","allowedHoverColors","allowedGroupHoverColors","Text","selectedHoverColor","hoverColor","hoverInGroup","selectedGroupHoverColor","containerProps","title","color","inline","truncate","clampLines","containsDangerousHtml","dangerouslySetInnerHTML","__html","text","defaultProps","CheckIcon","onClick","role","undefined","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","CrossIcon","WarningIcon","TOASTER_TYPE_OPTIONS","SUCCESS","FAILURE","Toaster","message","isVisible","styleOverwrite","isSuccess","isFailure","style","id","shelved","expanded","hidden","getToasterElements","params","timeoutId","progressBarAnimationFrameHandler","toasterElementContainer","document","querySelector","clearTimeout","Error","toasterElementMessage","toasterElementTitle","toasterElementSuccessIcon","toasterElementFailureIcon","toasterCloseButton","toasterProgressBar","animateProgress","animationDuration","progressBarElement","startingTimestamp","previousTimestamp","done","animationTick","animate","animationTimestamp","elapsed","count","window","requestAnimationFrame","defaultDurationInSeconds","showToaster","setTimeout","classList","remove","cancelAnimationFrame","shortcutAndClose","add","removeEventListener","addEventListener","textContent","showIcon","toggle","toast","error","info","ChevronRightIcon","ChevronDownIcon","Title","containerClassName","ContainerElement","AccordionItem","content","isCollapsedByDefault","useReducer","state","isCollapsed","toggleIsCollapsed","Chevron","Accordion","dataTestId","items","map","item","key","DragIcon","ImageIcon","ListItem","icon","subtitle","accessories","tooltipId","onAssetLoadError","roundTop","isSelected","restProps","useState","loadIconError","setLoadIconError","onListItemIconLoadError","console","itemId","onListItemIconLoad","handleItemClick","isDraggable","createElement","src","alt","onLoad","onError","ListItemSkeleton","ListSkeleton","skeletonItems","Array","from","length","_","i","List","headerButton","headerTransparent","onDragEnd","emptyStateMessage","isLoading","listRef","useRef","dragulaRef","hasHeader","useEffect","current","destroy","setupDragging","handleDragEnd","element","draggedItemId","dataset","itemIdsWithOldOrder","toString","itemIdsWithNewOrder","child","filter","oldIndexOfDraggedItemId","indexOf","newIndexOfDraggedItemId","dragulaInstance","dragula","revertOnSpill","on","titleProps","buttonType","buttonProps","ref","SearchIcon","INPUT_TYPES","EMAIL","NUMBER","PASSWORD","TEXT","Input","forwardRef","withSuffix","withPrefix","clearable","isDisabled","name","value","onChange","isError","asFormField","otherProps","hasNoExtraContent","innerValue","setInnerValue","clearField","target","currentTarget","handleChangeEvent","event","isClearIconVisible","transform","size","maxLength","disabled","rounded","block","SearchInput","Spinner","cx","cy","r","stroke","strokeWidth","ButtonV2","innerRef","textColor","textHoverColor","isPending","otherAttributes","handleClick","stopPropagation","buttonClassName","textColorClass","left","top","invisible","SecondaryButton","isSubstring","string","searchTerm","caseSensitive","trueString","JSON","stringify","stringToSearch","toLowerCase","searchTermWithCase","getBase64","file","Promise","resolve","reject","fr","FileReader","onerror","onload","result","split","readAsDataURL","img","imageSrc","NoOpenAlertsImage","SearchNotFoundImage","HappyStarImage","EmptyListMessage","imageName","LoadingIndicator","asModal","asSpinner","spinnerColor","spinnerToRender","spinner","graySpinner","loadingImage","AccordionList","localisations","searchPlaceholder","emptyListText","accordionItems","isSearchEnabled","accordionProps","searchString","setSearchString","filteredAccordionItems","useMemo","accordionItem","filteredListItems","listItems","listItem","filteredListLength","itemCount","Boolean","placeholder","e","TertiaryButton","ModalHeader","onCloseClick","PrimaryButton","ModalFooter","footerLeadingComponent","footerTrailingComponents","secondaryButtonProps","primaryButtonProps","ModalBase","withContentPaddingY","isOpen","ReactModal","setAppElement","data","contentLabel","overlayClassName","onRequestClose","shouldFocusAfterRender","shouldCloseOnOverlayClick","scrollableContent","withExtraMarginTop","Modal","checkImageValidity","image","Image","AVATAR_SIZE_OPTIONS","LARGE","MEDIUM","SMALL","Avatar","defaultImage","initials","hasValidImage","setHasValidImage","mounted","then","res","renderAvatar","propTypes","PropTypes","isRequired","oneOf","Badge","containerClasses","textClasses","badgeCount","AddIcon","DeleteIcon","EditIcon","LeftArrowIcon","RightArrowIcon","ChartIcon","x","y","rx","PrintIcon","iconSrc","close","CloseIcon","hamburger","HamburgerIcon","ChevronRightBlueIcon","ChevronLeftBlueIcon","ChevronRightGreyIcon","ChevronLeftGreyIcon","search","star","StarIcon","check","SearchCancelIcon","ButtonIcon","BUTTON_ROLES","PRIMARY","SECONDARY","SECONDARY_DARK","TERTIARY","QUATERNARY","NEGATIVE","LINK","ICON","Button","propsRole","link","iconName","hasIcon","hasIconProps","dynamicIcon","hasAddIcon","includes","hasEditIcon","hasDeleteIcon","hasPrevIcon","hasNextIcon","hasChartIcon","hasPrintIcon","isIconOnly","setRole","isButtonDisabled","isNonPrimaryNonNegative","navigate","preventDefault","buttonRolesStyling","primary","secondary","secondaryDark","tertiary","quaternary","negative","spinnerClassNames","buttonTextClasses","GliderContainer","Carousel","slides","setIsVisible","Glider","hasDots","hasArrows","skipTrack","scrollLock","rewind","arrows","prev","next","dots","containerElement","slide","index","CenteredHero","buttons","background","imageSize","button","handleOnClick","Checkbox","explanation","isChecked","isIndeterminate","checked","setChecked","indeterminate","setIndeterminate","isFocused","setIsFocused","checkboxRef","hasError","handleChange","handleFocus","handleBlur","onBlur","onFocus","ConfirmationDialogTitle","TextLink","enabled","href","rel","DynamicIcon","NotificationBanner","stretch","centerContent","classes","blue","linkProps","onButtonClick","RadioInner","nameHtmlFor","htmlFor","RadioV2","RadioGroupInner","options","defaultValue","registerProps","option","defaultChecked","RadioGroupV2","ConfirmationDialogChoices","choices","onChoiceChangeCallback","selectedChoice","choicesIntoRadioOptions","choice","description","displaysInfo","level","ConfirmationDialogMessage","messageLine","ConfirmationDialog","find","defaultChoice","setSelectedChoice","handleOnCloseClick","isProcessing","onCancel","onChoiceChange","onConfirmHandler","onConfirm","texts","confirmLabel","cancelLabel","withTitle","Datepicker","handleCloseButtonClick","datepickerRef","setOpen","getDateFormat","showTimeSelect","formatDateWithTime","render","hasCloseButton","closeButtonText","adjustDateOnChange","showMonthDropdown","showYearDropdown","shouldCloseOnSelect","allowSameDay","minDate","maxDate","selected","dateFormat","pickerClassName","getCloseButtonText","Component","object","bool","func","instanceOf","moment","ITEM_QUERY_FIELD_NAMES","ID","HIGHLIGHT_INDEX","keyCodes","ARROW_DOWN","ARROW_UP","ENTER","TAB","SHIFT","ESC","Dropdown","handleClickOutside","rootRef","contains","closeDropdown","handleKeyDown","isDropdownOpen","highlightIndex","keyCode","setSelectedItem","findItem","blur","openDropdown","shiftKey","decreaseHighlightIndexIfPossible","increaseHighlightIndexIfPossible","fieldName","fieldValue","selectedItem","subItems","j","subItem","setState","prevState","findSelectedItem","selectedIndex","querySelectorAll","scrollToHighlightedItem","dropdownListRef","scrollTo","offsetTop","newHighlightIndex","totalItemCount","selectItem","onItemSelect","renderIndividualItem","isItemSelected","itemClassName","textType","checkmark","renderGroupedItems","groupKey","renderItems","wider","addHighlightIndexToItems","initialSelectedItemId","getTotalItemCount","getDerivedStateFromProps","nextProps","componentDidMount","componentWillUnmount","onDropdownClick","chevronDouble","PureComponent","currentIndex","reduce","acc","arrayOf","oneOfType","shape","number","ErrorBlock","InfoBlock","InfoField","clipboard","ClipboardJS","onCopyToClipboard","clearSelection","linkType","label","supportsMultiline","Line","right","array","TableHeader","fieldConfigurations","fieldConfig","headerText","TagSize","TagColorTheme","Tag","colorTheme","Gray","Red","Amber","Green","Blue","small","isTableFieldText","isTableFieldAction","isArray","some","action","TableBodyRowDataCell","emptyFieldContentText","tag","breakAllWord","onlyShowContentOnHovering","TableBodyRow","handleRowClick","tabIndex","TableBody","onRowClick","colSpan","showEmptyView","emptyItemsText","PaginationMenuSmall","handleOnChange","pageNumber","page","parseInt","pageSize","currentPageNumber","pageCount","generateCustomStyles","isIE11","baseStyles","fontWeight","fontSize","padding","opacity","visibility","transition","pointerEvents","container","flexGrow","control","defaultBorderColor","validatedBorderColor","defaultOutline","validatedOutline","outline","borderColor","borderWidth","borderStyle","borderRadius","boxShadow","paddingTop","singleValue","indicatorSeparator","display","menu","zIndex","Select","styles","isMulti","customStyles","mergedStyles","mergeStyles","isOptionsGrouped","o","flatmappedOptions","flatMap","g","onChangeWrapped","val","a","v","valueWrapped","getDataAttributes","dataProps","prop","CustomContainer","commonProps","components","SelectContainer","innerProps","Object","assign","ReactSelect","PAGE_SIZES","PAGE_SIZE_OPTIONS","getPageNumberOptions","push","getSummaryText","localization","resultCount","lowestElement","highestElement","of","PaginationMenuLarge","handleOnPageNumberSelect","handleOnPageSizeSelect","handleOnPrevNextButtonClick","newPage","menuPlacement","previous","PaginationMenu","buildPaginationLarge","TableFooter","paginationMenuProps","Table","emptyRowsText","showHeader","isPristine","setIsPristine","Menu","closeMenu","handleIconClick","openMenu","node","CheckboxListItem","newCheckedValue","handleCheckboxClick","targetId","CheckboxState","CheckboxGroup","hasDividers","UNCHECKED","groupCheckboxState","setGroupCheckboxState","collapsed","setCollapsed","setIsDisabled","enabledItems","INDETERMINATE","CHECKED","handleGroupClick","forEach","handleGroupCollapse","checkedItemsCount","groupTitle","CheckboxList","groups","group","transformToGroups","pinned","isPinned","itemsWithGroup","entries","groupBy","sort","b","itemsWithoutGroup","restGroup","myGroup","CheckboxListModal","initialItems","isLoadingInitialItems","onSave","filterItem","hasSearch","setItems","visibleItems","setVisibleItems","setGroups","setSearch","handleOnItemChange","updatedItems","findIndex","handleOnSaveClick","handleOnSearchChange","searchPlaceHolder","emptyState","TEXT_TYPE_OPTIONS","DEFAULT","STRONG","EMPHASIZED","FINEPRINT","SMALL_DARK","SMALL_FINEPRINT","MICRO","ERROR","handleImplicitSelect","implicitSelected","list","property","newList","selectCheckboxName","implicitSelectedValues","checkbox","identifier","upadteCheckbox","isOn","splice","MultiSelect","checkboxList","radioLabel","validationError","implicitSelect","radioOnDemand","setList","indexSelected","updateCheckbox","handleRadioChange","join","NavLayout","isNavDisabled","patientSidebar","disableScrolling","Divider","darkTheme","defaultTheme","NavMenuFooter","subtext","visible","NavMenuItem","imgOnHover","currentImg","setCurrentImg","handleOnMouseOver","handleOnMouseOut","linkTo","onMouseOver","onMouseOut","handleMenuClick","metaKey","ctrlKey","trackEvent","isExternal","open","location","NavMenuHeader","onClickHandler","NavMenuContent","roleItems","publicItems","authenticationItems","isUserAuthenticated","organizationNameWidgetProps","navMenuHeaderProps","loggedInUserWidgetProps","navMenuFooterProps","login","dark","logout","NavMenu","setIsOpen","handleToggleOpen","Page","breadcrumbs","accessoryPosition","isPolling","navLayoutProps","feedbackBlock","navMenu","mergedPageClasses","containerClassnames","maybeTitle","Function","accessoryClasses","accessoriesContent","childrenOrContentProp","breadcrumbItemShape","isFetching","TITLE_TYPE_OPTIONS","BIG","TINY","BOLD","LegacyTitle","Step","stepNumber","active","barColor","step","Steps","orderedStepTitles","currentStep","renderedSteps","stepTitle","CRUDPage","stepTitles","submitButtonProps","deleteButtonProps","cancelButtonProps","isSubmitting","navMenuComponent","mergedClasses","submitButton","handler","deleteButton","cancelButton","renderHeader","elementType","useWindowDimensions","innerHeight","setHeight","innerWidth","setWidth","handleResize","debounce","PreviewPhone","phoneHeight","phoneWidth","scale","setScale","showPhone","setShowPhone","windowHeight","windowWidth","containerCallbak","useCallback","containerWidth","clientWidth","containerHeight","clientHeight","heightScale","widthScale","phoneMockup","Radio","containerRef","RadioGroup","radioClassName","selectedOption","isVertical","radioOptions","otherOptions","vertical","Section","footer","loadingIndicatorProps","SectionItem","SectionItemWithContent","iconClass","iconClasses","useOutsideClick","callback","SettingsMenuButton","configuration","configFromProps","onConfigurationChange","shiftMenuTo","buttonTitle","iconComponent","menuTitle","innerConfiguration","setInnerConfiguration","showMenu","setShowMenu","menuRef","handleShowMenu","handleOnVibilitySwitchChanged","newConfig","config","itemName","innerConfig","SwitcherItem","default","showBadge","onSelect","calculatedIcon","Switcher","currentSelection","setCurrentSelection","handleItemSelect","showIconOnFailure","setIsError","LazyLoadImage","effect","imgIcon","wrapperClassName","ImageCategory","category","images","highlightedImage","padStart","isTypeCompact","handleImageClick","ImagePickerInner","categories","clearImageIndex","preselectedImage","isUploadButtonVisible","isClearButtonVisible","localisation","placeholderImage","emptyImage","filteredCategories","setFilteredCategories","isImagesPanelOpen","setIsImagesPanelOpen","selectedImage","setSelectedImage","setHighlightedImage","setError","fileInputRef","handleSearchChange","searchQuery","folder","datasetIndex","handleDeleteClick","URL","revokeObjectURL","handleConfirmSelection","handleCloseModal","uploadImage","files","createObjectURL","base64String","imageData","openModalButton","click","accept","selectButton","cancel","modalTitle","categoryImage","ImagePicker","TabbarItem","handleTabClick","Tabbar","tabs","withoutPadding","innerSelectedIndex","setInnerSelectedIndex","handleOnTabSelect","selectedTab","tabItemProps","itemProps","Breadcrumbs","crumbs","breadcrumbItems","Link","to","PageHeader","navigation","TabLinksSelect","url","TabLinks","patientUuid","isCurrent","pathname","getProps","TagGroup","tags","tagSize","RESIZE_TYPES","NONE","BOTH","HORIZONTAL","VERTICAL","Textarea","rows","resizable","onKeyPress","onKeyDown","onCtrlEnter","backgroundImage","TextEditor","onValueChange","formats","toolbarLastGroup","quillRef","quillInstance","tooltipSave","editor","theme","tooltip","save","textbox","call","modules","toolbar","TextEditorV2","locale","EditorState","createEmpty","editorState","setEditorState","htmlToDraft","contentBlocks","entityMap","createWithContent","ContentState","createFromBlockArray","onEditorStateChange","draftToHtml","convertToRaw","getCurrentContent","Editor","showOpenOptionOnHover","defaultTargetOption","TimelineStep","isWideStep","borderClassNames","containerClassNames","Timeline","steps","loadMoreButtonProps","ViewItem","titleAccessory","contentProps","defaultContent","titlePropsMerged","contentPropsMerged","line","textProps","FormFieldErrorMessages","fieldErrors","types","errorKey","errorMessage","FormFieldDecorator","fieldRequired","decoratorClassname","errors","FormInput","rules","fieldProps","Controller","field","FormRadioGroup","FormSelect","selectProps","FormImagePicker","GenericForm","fields","onValid","defaultValues","useFormReturn","useForm","criteriaMode","reset","handleSubmit","Form","FormFieldMapper","formFieldProps","decoratorProps","pick","formState","AlertsIcon","BellIcon","ChartLineColoredIcon","ChatBoxIcon","ChevronDoubleIcon","DownArrowIcon","EmptyStateDashboardIcon","ry","fillOpacity","ExclamationMarkIcon","EyeIcon","GearIcon","GearColoredIcon","GroupIcon","GroupColoredIcon","HeartIcon","LinkIcon","strokeLinecap","strokeLinejoin","LightBulbIcon","LockIcon","MessagesIcon","NotesIcon","PinIcon","SmallCircleIcon","SmallDiamondIcon","SmallSquareIcon","SpaceRocketIcon","InfoIcon","StatusColoredIcon","FullPageModalHeader","FullPageModal","Card"],"mappings":"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"}