@luscii-healthtech/web-ui 2.63.0 → 2.63.2
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/iconWrapper/iconWrapper.tsx","../src/components/Icons/AddIcon.tsx","../src/components/Icons/AlertsIcon.tsx","../src/components/Icons/BellIcon.tsx","../src/components/Icons/ChartIcon.tsx","../src/components/Icons/ChartLineColoredIcon.tsx","../src/components/Icons/ChatBoxIcon.tsx","../src/components/Icons/CheckIcon.tsx","../src/components/Icons/ChevronDoubleIcon.tsx","../src/components/Icons/ChevronDownIcon.tsx","../src/components/Icons/ChevronRightIcon.tsx","../src/components/Icons/CrossIcon.tsx","../src/components/Icons/DeleteIcon.tsx","../src/components/Icons/DownArrowIcon.tsx","../src/components/Icons/DragIcon.tsx","../src/components/Icons/EditIcon.tsx","../src/components/Icons/EmptyIcon.tsx","../src/components/Icons/EmptyStateDashboardIcon.tsx","../src/components/Icons/ExclamationMarkIcon.tsx","../src/components/Icons/EyeIcon.tsx","../src/components/Icons/GearColoredIcon.tsx","../src/components/Icons/GearIcon.tsx","../src/components/Icons/GroupColoredIcon.tsx","../src/components/Icons/GroupIcon.tsx","../src/components/Icons/HamburgerIcon.tsx","../src/components/Icons/HeartIcon.tsx","../src/components/Icons/ImageIcon.tsx","../src/components/Icons/InfoIcon.tsx","../src/components/Icons/LeftArrowIcon.tsx","../src/components/Icons/LightBulbIcon.tsx","../src/components/Icons/LinkIcon.tsx","../src/components/Icons/LockIcon.tsx","../src/components/Icons/MessagesIcon.tsx","../src/components/Icons/MouseIcon.tsx","../src/components/Icons/NotesIcon.tsx","../src/components/Icons/PinIcon.tsx","../src/components/Icons/PrintIcon.tsx","../src/components/Icons/RightArrowIcon.tsx","../src/components/Icons/SearchCancelIcon.tsx","../src/components/Icons/SearchIcon.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/StatusColoredIcon.tsx","../src/components/Icons/WarningIcon.tsx","../src/components/Icons/index.ts","../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/Title/Title.tsx","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/Accordion.tsx","../src/components/BaseList/ListSkeleton/ListItemSkeleton.tsx","../src/components/BaseList/ListSkeleton/ListSkeleton.tsx","../src/components/BaseList/BaseListHeader.tsx","../src/components/BaseList/BaseListEmptyState.tsx","../src/components/Icon/Icon.tsx","../src/components/DragHandle/DragHandle.tsx","../src/components/BaseList/BaseListIcon.tsx","../src/components/BaseList/BaseListItem.tsx","../src/components/BaseList/BaseList.tsx","../src/components/BaseList/utils.ts","../src/components/BaseList/DraggableBaseList/DraggableBaseListItem.tsx","../src/components/BaseList/DraggableBaseList/DraggableBaseList.tsx","../src/components/Dropzone/Dropzone.tsx","../src/components/BaseList/SortableBaseList/SortableBaseListItem.tsx","../src/components/BaseList/SortableBaseList/SortableBaseList.tsx","../src/components/List/ListItem.tsx","../src/components/List/List.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/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/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/Steps/Step.tsx","../src/components/Steps/Steps.tsx","../src/components/Breadcrumbs/Breadcrumbs.types.ts","../src/components/Breadcrumbs/BreadcrumbItem.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/Tabbar/TabbarItem.tsx","../src/components/Tabbar/Tabbar.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/Page/CRUDPage.tsx","../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/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/TimelineHeader.tsx","../src/components/Timeline/Timeline.tsx","../src/components/ViewItem/ViewItem.tsx","../src/components/Form/FormFieldErrorMessages.tsx","../src/components/Form/FormFieldLabeler.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/FormFieldCheckbox.tsx","../src/components/Form/FormFieldCheckboxList.tsx","../src/components/Form/Form.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-1\": horizontalSpacing === \"tiny\",\n \"space-x-2\": horizontalSpacing === \"small\",\n \"space-x-4\": horizontalSpacing === \"medium\",\n \"space-x-8\": horizontalSpacing === \"large\",\n\n \"space-y-1\": verticalSpacing === \"tiny\",\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, { HTMLAttributes } from \"react\";\n\nimport { IconProps } from \"../types/IconProps.type\";\n\n/*\n This wrapper is for keeping the behaviour of setting the role based on the presence of an onClick prop\n*/\n\nconst IconWrapper =\n (\n SVGComponent: (\n props: IconProps & Pick<HTMLAttributes<SVGElement>, \"role\">\n ) => JSX.Element\n ) =>\n (props: IconProps): JSX.Element =>\n <SVGComponent {...props} role={props.onClick ? \"button\" : undefined} />;\n\nexport default IconWrapper;\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgAddIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"#0074DD\"\n d=\"M12 19a.965.965 0 0 1-.712-.288A.965.965 0 0 1 11 18v-5H6a.968.968 0 0 1-.713-.288A.967.967 0 0 1 5 12a.97.97 0 0 1 .287-.713A.97.97 0 0 1 6 11h5V6c0-.283.096-.521.288-.713A.967.967 0 0 1 12 5a.97.97 0 0 1 .713.287A.97.97 0 0 1 13 6v5h5a.97.97 0 0 1 .712.287c.192.192.288.43.288.713s-.096.52-.288.712A.965.965 0 0 1 18 13h-5v5a.97.97 0 0 1-.287.712A.968.968 0 0 1 12 19Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgAddIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgAlertsIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M14 19.5c0 .663-.21 1.299-.586 1.768-.375.469-.884.732-1.414.732-.53 0-1.04-.263-1.414-.732-.375-.47-.586-1.105-.586-1.768h4ZM10 4a2 2 0 1 1 4 0v1h-4V4Z\"\n />\n <path fill=\"currentColor\" d=\"M5 11a7 7 0 0 1 14 0v6H5v-6Z\" />\n <rect\n width={18}\n height={2.5}\n x={3}\n y={15.5}\n fill=\"currentColor\"\n rx={1.25}\n />\n </svg>\n);\nexport default iconWrapper(SvgAlertsIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgBellIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M14 19.5c0 .663-.21 1.299-.586 1.768-.375.469-.884.732-1.414.732-.53 0-1.04-.263-1.414-.732-.375-.47-.586-1.105-.586-1.768h4ZM10 4a2 2 0 1 1 4 0v1h-4V4Z\"\n />\n <path fill=\"currentColor\" d=\"M5 11a7 7 0 0 1 14 0v6H5v-6Z\" />\n <rect\n width={18}\n height={2.5}\n x={3}\n y={15.5}\n fill=\"currentColor\"\n rx={1.25}\n />\n </svg>\n);\nexport default iconWrapper(SvgBellIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChartIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <rect width={5} height={15} x={2} y={7} fill=\"currentColor\" rx={2.5} />\n <rect width={5} height={19} x={9} y={3} fill=\"currentColor\" rx={2.5} />\n <rect width={5} height={12} x={16} y={10} fill=\"currentColor\" rx={2.5} />\n </svg>\n);\nexport default iconWrapper(SvgChartIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChartLineColoredIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <path\n fill=\"#F09\"\n d=\"M5 20c-.55 0-1.02-.196-1.412-.587A1.927 1.927 0 0 1 3 18c0-.55.196-1.021.588-1.413A1.925 1.925 0 0 1 5 16h.263a.64.64 0 0 1 .237.05l4.55-4.55a.642.642 0 0 1-.05-.238V11c0-.55.196-1.021.588-1.413A1.925 1.925 0 0 1 12 9c.55 0 1.021.196 1.413.587.391.392.587.863.587 1.413 0 .033-.017.2-.05.5l2.55 2.55a.642.642 0 0 1 .238-.05h.524c.075 0 .155.017.238.05l3.55-3.55a.642.642 0 0 1-.05-.238V10c0-.55.196-1.02.587-1.412A1.927 1.927 0 0 1 23 8c.55 0 1.021.196 1.413.588.391.391.587.862.587 1.412 0 .55-.196 1.02-.587 1.412A1.927 1.927 0 0 1 23 12h-.262a.642.642 0 0 1-.238-.05l-3.55 3.55c.033.083.05.163.05.238V16c0 .55-.196 1.02-.587 1.412A1.927 1.927 0 0 1 17 18c-.55 0-1.02-.196-1.412-.588A1.923 1.923 0 0 1 15 16v-.262c0-.075.017-.155.05-.238l-2.55-2.55a.642.642 0 0 1-.238.05H12c-.033 0-.2-.017-.5-.05L6.95 17.5c.033.083.05.163.05.238V18c0 .55-.196 1.021-.588 1.413A1.925 1.925 0 0 1 5 20Z\"\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);\nexport default iconWrapper(SvgChartLineColoredIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChatBoxIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={20}\n height={19}\n fill=\"none\"\n viewBox=\"0 0 20 19\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M18 0H2C.9 0 0 .9 0 2v15.59c0 .89 1.08 1.34 1.71.71L4 16h14c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2Zm-6.43 9.57-1.12 2.44a.5.5 0 0 1-.91 0L8.42 9.57 5.98 8.45a.5.5 0 0 1 0-.91l2.44-1.12 1.12-2.44a.5.5 0 0 1 .91 0l1.12 2.44 2.44 1.12a.5.5 0 0 1 0 .91l-2.44 1.12Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgChatBoxIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgCheckIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M18.707 7.293a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414 0l-4-4a1 1 0 1 1 1.414-1.414L10 14.586l7.293-7.293a1 1 0 0 1 1.414 0Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgCheckIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChevronDoubleIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={8}\n height={14}\n fill=\"none\"\n viewBox=\"0 0 8 14\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M4 0a1 1 0 0 1 .707.293l3 3a1 1 0 0 1-1.414 1.414L4 2.414 1.707 4.707A1 1 0 0 1 .293 3.293l3-3A1 1 0 0 1 4 0ZM.293 9.293a1 1 0 0 1 1.414 0L4 11.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 0-1.414Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\nexport default iconWrapper(SvgChevronDoubleIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChevronDownIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M17.6 8.999a.996.996 0 0 0-1.41 0l-3.88 3.88-3.88-3.88a.996.996 0 1 0-1.41 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.38-.38.38-1.02-.01-1.41Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgChevronDownIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChevronRightIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M9.31 6.71a.996.996 0 0 0 0 1.41L13.19 12l-3.88 3.88a.996.996 0 1 0 1.41 1.41l4.59-4.59a.996.996 0 0 0 0-1.41L10.72 6.7c-.38-.38-1.02-.38-1.41.01Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgChevronRightIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgCrossIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M7.05 5.637A1 1 0 0 0 5.636 7.05l4.95 4.95-4.95 4.95a1 1 0 0 0 1.414 1.414l4.95-4.95 4.95 4.95a1 1 0 0 0 1.414-1.415L13.414 12l4.95-4.949a1 1 0 0 0-1.414-1.414L12 10.587l-4.95-4.95Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgCrossIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgDeleteIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v10ZM18 4h-2.5l-.71-.71c-.18-.18-.44-.29-.7-.29H9.91c-.26 0-.52.11-.7.29L8.5 4H6c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgDeleteIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgDownArrowIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"m12.762 6.57-.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);\nexport default iconWrapper(SvgDownArrowIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgDragIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M8 4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H8Zm6 0a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-2Zm-7 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-2Zm7-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Zm-7 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-2Zm7-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\nexport default iconWrapper(SvgDragIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgEditIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M3 17.46v3.04c0 .28.22.5.5.5h3.04c.13 0 .26-.05.35-.15L17.81 9.94l-3.75-3.75L3.15 17.1c-.1.1-.15.22-.15.36ZM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgEditIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgEmptyIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M14 22a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm0 3c6.075 0 11-4.925 11-11S20.075 3 14 3 3 7.925 3 14s4.925 11 11 11Z\"\n clipRule=\"evenodd\"\n />\n <path\n fill=\"currentColor\"\n d=\"M3.414 24.414a2 2 0 0 1 0-2.828L21.148 3.852a2 2 0 1 1 2.829 2.828L6.243 24.414a2 2 0 0 1-2.829 0Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgEmptyIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgEmptyStateDashboardIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={450}\n height={300}\n fill=\"none\"\n viewBox=\"0 0 450 300\"\n {...props}\n >\n <path\n fill=\"#82D6F8\"\n d=\"M450 291c0-26.921-5.82-53.578-17.127-78.45-11.307-24.872-27.881-47.471-48.774-66.507-20.893-19.036-45.697-34.136-72.995-44.438C283.806 91.302 254.547 86 225 86c-29.547 0-58.806 5.302-86.104 15.605-27.298 10.302-52.102 25.402-72.995 44.438-20.893 19.036-37.467 41.635-48.774 66.507C5.82 237.422 0 264.079 0 291h450Z\"\n />\n <path\n fill=\"#1F2937\"\n d=\"M95 73.008C95 65.824 100.824 60 108.008 60h234.146c7.184 0 13.008 5.824 13.008 13.008v150.244c0 7.184-5.824 13.008-13.008 13.008H108.008c-7.184 0-13.008-5.824-13.008-13.008V73.008Z\"\n />\n <path\n fill=\"#F9FAFB\"\n d=\"M167.846 70.406h172.91a4 4 0 0 1 4 4v147.447a4 4 0 0 1-4 4h-172.91V70.406Z\"\n />\n <path\n fill=\"#fff\"\n d=\"M173.049 99.772a4 4 0 0 1 4-4h72.65a4 4 0 0 1 4 4v51.837a4 4 0 0 1-4 4h-72.65a4 4 0 0 1-4-4V99.772Z\"\n />\n <path\n fill=\"#FF83B4\"\n d=\"M226.988 139.305a.634.634 0 0 1-.007.912 19.51 19.51 0 0 1-25.709.834 19.507 19.507 0 0 1-7.039-16.995 19.5 19.5 0 0 1 10.22-15.296 19.507 19.507 0 0 1 8.548-2.293c.359-.012.65.28.65.639v18.593a.65.65 0 0 0 .19.46l13.147 13.146Z\"\n />\n <path\n fill=\"#52C6F4\"\n d=\"M233.813 124.667a.634.634 0 0 0 .64-.65 19.515 19.515 0 0 0-18.851-18.851.634.634 0 0 0-.651.639v18.212c0 .359.291.65.651.65h18.211Z\"\n />\n <path\n fill=\"#6ABFA5\"\n d=\"M228.937 139.306a.634.634 0 0 0 .912-.008 19.513 19.513 0 0 0 5.252-12.679.635.635 0 0 0-.64-.651h-17.292a.65.65 0 0 0-.459 1.111l12.227 12.227Z\"\n />\n <path\n fill=\"#fff\"\n d=\"M258.902 99.772a4 4 0 0 1 4-4h72.651a4 4 0 0 1 4 4v51.837a4 4 0 0 1-4 4h-72.651a4 4 0 0 1-4-4V99.772Z\"\n />\n <path\n fill=\"#52C6F4\"\n d=\"M278.414 126.991a2.601 2.601 0 0 1 2.602-2.601h5.203a2.601 2.601 0 0 1 2.602 2.601v15.61a2.602 2.602 0 0 1-2.602 2.602h-5.203a2.602 2.602 0 0 1-2.602-2.602v-15.61Zm15.61-16.26a2.602 2.602 0 0 1 2.601-2.602h5.204a2.601 2.601 0 0 1 2.601 2.602v31.87a2.601 2.601 0 0 1-2.601 2.602h-5.204a2.602 2.602 0 0 1-2.601-2.602v-31.87Z\"\n />\n <path\n fill=\"#6ABFA5\"\n d=\"M309.634 119.837a2.601 2.601 0 0 1 2.601-2.602h5.203a2.602 2.602 0 0 1 2.602 2.602v22.764a2.602 2.602 0 0 1-2.602 2.602h-5.203a2.601 2.601 0 0 1-2.601-2.602v-22.764Z\"\n />\n <path\n fill=\"#fff\"\n d=\"M258.902 164.812a4 4 0 0 1 4-4h72.651a4 4 0 0 1 4 4.001v51.837a4 4 0 0 1-4 4h-72.651a4 4 0 0 1-4-4v-51.838Z\"\n />\n <path\n fill=\"#6ABFA5\"\n fillRule=\"evenodd\"\n d=\"M280.096 191.874s-8.609-8.594.678-17.219c0 0 3.401-3.603 10.279-2.614 3.899.562 5.429 2.412 8.022 6.325 0 0 3.216-6.206 11.725-6.229 7.25-.019 12.804 8.086 10.765 14.744 0 0-.681 2.076-3.515 4.993l-18.928 18.369-19.026-18.369Z\"\n clipRule=\"evenodd\"\n />\n <path\n fill=\"#fff\"\n d=\"M173.049 164.812a4 4 0 0 1 4-4h72.65a4 4 0 0 1 4 4.001v51.837a4 4 0 0 1-4 4h-72.65a4 4 0 0 1-4-4v-51.838Z\"\n />\n <path fill=\"#F4F4F4\" d=\"M173.049 178.374h80.65v1.301h-80.65z\" />\n <path\n fill=\"#52C6F4\"\n fillRule=\"evenodd\"\n d=\"M228.738 169.616c.394-.076.801.035 1.102.299l15.61 13.658a1.301 1.301 0 1 1-1.713 1.958l-14.354-12.559-14.85 29.082a1.302 1.302 0 0 1-1.896.481l-15.488-10.649-15.473-6.124a1.3 1.3 0 1 1 .957-2.419l15.61 6.178c.091.036.178.083.258.138l14.389 9.892 14.935-29.249c.183-.357.52-.61.913-.686Z\"\n clipRule=\"evenodd\"\n />\n <circle cx={182.805} cy={184.878} r={2.602} fill=\"#3FABD6\" />\n <circle cx={197.764} cy={190.731} r={2.602} fill=\"#3FABD6\" />\n <circle cx={213.373} cy={201.137} r={2.602} fill=\"#3FABD6\" />\n <circle cx={229.635} cy={171.219} r={3.902} fill=\"#6ABFA5\" />\n <circle cx={245.244} cy={184.878} r={2.602} fill=\"#3FABD6\" />\n <path\n fill=\"#fff\"\n d=\"M173.049 80.26a4 4 0 0 1 4-4h158.504a4 4 0 0 1 4 4v6.31a4 4 0 0 1-4 4H177.049a4 4 0 0 1-4-4v-6.31Z\"\n />\n <rect\n width={26.016}\n height={3.902}\n x={178.252}\n y={81.463}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <rect\n width={52.032}\n height={3.902}\n x={282.316}\n y={81.463}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <rect\n width={67.642}\n height={3.902}\n x={209.471}\n y={81.463}\n fill=\"#9CA3AF\"\n rx={1.951}\n />\n <path\n fill=\"#1F2937\"\n d=\"M160.041 289.594c0-5.748 4.659-10.407 10.407-10.407h109.268c5.747 0 10.406 4.659 10.406 10.407 0 5.747-4.659 10.406-10.406 10.406H170.448c-5.748 0-10.407-4.659-10.407-10.406Z\"\n />\n <path\n fill=\"#4B5563\"\n d=\"M203.617 236.26h42.927l5.203 42.927h-53.333l5.203-42.927Z\"\n />\n <path\n fill=\"#F3F4F6\"\n d=\"M105.406 74.406a4 4 0 0 1 4-4h58.439v155.447h-58.439a4 4 0 0 1-4-4V74.406Z\"\n />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={73.659}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={37.724}\n height={5.203}\n x={123.617}\n y={76.261}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={26.016}\n height={3.902}\n x={123.617}\n y={82.764}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={81.464} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={94.471}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={33.821}\n height={5.203}\n x={123.617}\n y={97.073}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={35.772}\n height={3.902}\n x={123.617}\n y={103.577}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={102.276} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={115.285}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={37.724}\n height={5.203}\n x={123.617}\n y={117.887}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={26.016}\n height={3.902}\n x={123.617}\n y={124.391}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={123.09} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={136.098}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={33.821}\n height={5.203}\n x={123.617}\n y={138.7}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={31.87}\n height={3.902}\n x={123.617}\n y={145.203}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={143.903} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={156.91}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={37.724}\n height={5.203}\n x={123.617}\n y={159.512}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={26.016}\n height={3.902}\n x={123.617}\n y={166.016}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={164.715} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={177.723}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={31.87}\n height={5.203}\n x={123.617}\n y={180.325}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={31.87}\n height={3.902}\n x={123.617}\n y={186.829}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={185.528} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={198.537}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={37.724}\n height={5.203}\n x={123.617}\n y={201.138}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={26.016}\n height={3.902}\n x={123.617}\n y={207.642}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={206.341} r={5.203} fill=\"#D1D5DB\" />\n <path\n fill=\"#374151\"\n d=\"M204.538 57.22a8 8 0 0 1 6.47-3.294h28.801a7.999 7.999 0 0 1 6.469 3.294l2.701 3.713h-47.141l2.7-3.713Z\"\n />\n <circle cx={225.408} cy={52.652} r={14.652} fill=\"#374151\" />\n <circle cx={225.408} cy={52.652} r={8.281} fill=\"#1F2937\" />\n <circle cx={225.409} cy={52.652} r={5.733} fill=\"#86DDFF\" />\n <circle cx={223.497} cy={50.103} r={1.911} fill=\"#fff\" fillOpacity={0.5} />\n </svg>\n);\nexport default iconWrapper(SvgEmptyStateDashboardIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgExclamationMarkIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 11c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1Zm1 4h-2v-2h2v2Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgExclamationMarkIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgEyeIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={22}\n height={15}\n fill=\"none\"\n viewBox=\"0 0 22 15\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M11 0C6 0 1.73 3.11 0 7.5 1.73 11.89 6 15 11 15s9.27-3.11 11-7.5C20.27 3.11 16 0 11 0Zm0 12.5c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5Zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgEyeIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgGearColoredIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <path\n fill=\"#6670A5\"\n d=\"M13.142 2.437a1.062 1.062 0 0 1 1.716 0l2.124 2.916c.235.322.63.486 1.024.424l3.564-.56a1.062 1.062 0 0 1 1.213 1.213l-.56 3.564c-.062.394.102.79.424 1.024l2.916 2.124a1.062 1.062 0 0 1 0 1.716l-2.916 2.124c-.322.235-.486.63-.424 1.024l.56 3.564a1.062 1.062 0 0 1-1.213 1.213l-3.564-.56a1.062 1.062 0 0 0-1.024.424l-2.124 2.916a1.062 1.062 0 0 1-1.716 0l-2.124-2.916a1.062 1.062 0 0 0-1.024-.424l-3.564.56a1.062 1.062 0 0 1-1.213-1.213l.56-3.564a1.062 1.062 0 0 0-.424-1.024l-2.916-2.124a1.062 1.062 0 0 1 0-1.716l2.916-2.124c.322-.235.486-.63.424-1.024l-.56-3.564A1.062 1.062 0 0 1 6.43 5.217l3.564.56c.394.062.79-.102 1.024-.424l2.124-2.916Z\"\n />\n <circle cx={14} cy={14} r={4} fill=\"#383B6D\" />\n </svg>\n);\nexport default iconWrapper(SvgGearColoredIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgGearIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={20}\n height={20}\n fill=\"none\"\n viewBox=\"0 0 20 20\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M17.5 10c0-.23-.01-.45-.03-.68l1.86-1.41c.4-.3.51-.86.26-1.3l-1.87-3.23a.987.987 0 0 0-1.25-.42l-2.15.91c-.37-.26-.76-.49-1.17-.68L12.86.88c-.06-.5-.49-.88-.99-.88H8.14c-.51 0-.94.38-1 .88l-.29 2.31c-.41.19-.8.42-1.17.68l-2.15-.91c-.46-.2-1-.02-1.25.42L.41 6.62c-.25.44-.14.99.26 1.3l1.86 1.41a7.343 7.343 0 0 0 0 1.35L.67 12.09c-.4.3-.51.86-.26 1.3l1.87 3.23c.25.44.79.62 1.25.42l2.15-.91c.37.26.76.49 1.17.68l.29 2.31c.06.5.49.88.99.88h3.73c.5 0 .93-.38.99-.88l.29-2.31c.41-.19.8-.42 1.17-.68l2.15.91c.46.2 1 .02 1.25-.42l1.87-3.23c.25-.44.14-.99-.26-1.3l-1.86-1.41c.03-.23.04-.45.04-.68Zm-7.46 3.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgGearIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgGroupColoredIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <path\n fill=\"#6ABFA5\"\n d=\"M4 22a.965.965 0 0 1-.712-.288A.965.965 0 0 1 3 21v-1.8c0-.567.146-1.088.438-1.563A2.914 2.914 0 0 1 4.6 16.55a14.866 14.866 0 0 1 3.15-1.163A13.776 13.776 0 0 1 11 15c1.1 0 2.183.129 3.25.387 1.067.259 2.117.646 3.15 1.163.483.25.87.612 1.162 1.087.292.475.438.996.438 1.563V21c0 .283-.096.52-.288.712A.965.965 0 0 1 18 22H4Zm7-8c-1.1 0-2.042-.392-2.825-1.175C7.392 12.042 7 11.1 7 10s.392-2.042 1.175-2.825C8.958 6.392 9.9 6 11 6s2.042.392 2.825 1.175C14.608 7.958 15 8.9 15 10s-.392 2.042-1.175 2.825C13.042 13.608 12.1 14 11 14Z\"\n />\n <path\n fill=\"#559783\"\n d=\"M20.525 22a1.21 1.21 0 0 0 .35-.438 1.35 1.35 0 0 0 .125-.587V19c0-.733-.204-1.438-.612-2.113-.41-.675-.988-1.254-1.738-1.737.85.1 1.65.27 2.4.512s1.45.538 2.1.888c.6.333 1.058.704 1.375 1.112.316.409.475.855.475 1.338v2c0 .283-.096.52-.288.712A.965.965 0 0 1 24 22h-3.475ZM21 10c0 1.1-.392 2.042-1.175 2.825C19.04 13.608 18.1 14 17 14a4.92 4.92 0 0 1-.7-.062 6.181 6.181 0 0 1-.7-.138 5.937 5.937 0 0 0 1.037-1.775C16.879 11.375 17 10.7 17 10s-.121-1.375-.363-2.025A5.937 5.937 0 0 0 15.6 6.2c.233-.083.466-.138.7-.163.233-.025.466-.037.7-.037 1.1 0 2.041.392 2.825 1.175C20.608 7.958 21 8.9 21 10Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgGroupColoredIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgGroupIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M12 12.75c1.63 0 3.07.39 4.24.9 1.08.48 1.76 1.56 1.76 2.73V17c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-.61c0-1.18.68-2.26 1.76-2.73 1.17-.52 2.61-.91 4.24-.91ZM4 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2Zm1.13 1.1c-.37-.06-.74-.1-1.13-.1-.99 0-1.93.21-2.78.58A2.01 2.01 0 0 0 0 16.43V17c0 .55.45 1 1 1h3.5v-1.61c0-.83.23-1.61.63-2.29ZM20 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2Zm4 3.43c0-.81-.48-1.53-1.22-1.85A6.95 6.95 0 0 0 20 14c-.39 0-.76.04-1.13.1.4.68.63 1.46.63 2.29V18H23c.55 0 1-.45 1-1v-.57ZM12 6c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgGroupIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgHamburgerIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M3 6a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm1 5a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H4Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgHamburgerIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgHeartIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M13.35 20.13c-.76.69-1.93.69-2.69-.01l-.11-.1C5.3 15.27 1.87 12.16 2 8.28c.06-1.7.93-3.33 2.34-4.29 2.64-1.8 5.9-.96 7.66 1.1 1.76-2.06 5.02-2.91 7.66-1.1 1.41.96 2.28 2.59 2.34 4.29.14 3.88-3.3 6.99-8.55 11.76l-.1.09Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgHeartIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgImageIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={18}\n height={18}\n fill=\"none\"\n viewBox=\"0 0 18 18\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M18 16V2c0-1.1-.9-2-2-2H2C.9 0 0 .9 0 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2ZM5.9 10.98 8 13.51l3.1-3.99c.2-.26.6-.26.8.01l3.51 4.68a.5.5 0 0 1-.4.8H3.02c-.42 0-.65-.48-.39-.81L5.12 11c.19-.26.57-.27.78-.02Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgImageIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgInfoIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={48}\n height={48}\n fill=\"none\"\n viewBox=\"0 0 48 48\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M24 4C12.96 4 4 12.96 4 24s8.96 20 20 20 20-8.96 20-20S35.04 4 24 4Zm0 22c-1.1 0-2-.9-2-2v-8c0-1.1.9-2 2-2s2 .9 2 2v8c0 1.1-.9 2-2 2Zm2 8h-4v-4h4v4Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgInfoIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgLeftArrowIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M13.69 17.29a.996.996 0 0 0 0-1.41L9.81 12l3.88-3.88a.996.996 0 1 0-1.41-1.41L7.69 11.3a.996.996 0 0 0 0 1.41l4.59 4.59c.38.38 1.02.38 1.41-.01Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgLeftArrowIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgLightBulbIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M12 22c1.1 0 2-.9 2-2h-4c0 1.1.9 2 2 2Zm-3-3h6c.55 0 1-.45 1-1s-.45-1-1-1H9c-.55 0-1 .45-1 1s.45 1 1 1Zm3-17C7.86 2 4.5 5.36 4.5 9.5c0 3.82 2.66 5.86 3.77 6.5h7.46c1.11-.64 3.77-2.68 3.77-6.5C19.5 5.36 16.14 2 12 2Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgLightBulbIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgLinkIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n stroke=\"#0074DD\"\n strokeLinecap=\"round\"\n strokeWidth={2}\n d=\"M10.802 7H7.333a2 2 0 0 0-2 2v8.5a2 2 0 0 0 2 2h8.5a2 2 0 0 0 2-2v-3.469\"\n />\n <path\n stroke=\"#0074DD\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"m9.5 15.333 9.167-9.166m0 0H14.5m4.167 0v4.166\"\n />\n </svg>\n);\nexport default iconWrapper(SvgLinkIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgLockIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2Zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2ZM9 8V6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgLockIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgMessagesIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <path\n fill=\"#0074DD\"\n d=\"M24 3a2 2 0 0 1 2 2v15a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h20Z\"\n />\n <path\n fill=\"#0074DD\"\n d=\"M12.586 10.414a2 2 0 0 1 2.828 0l6.172 6.172a2 2 0 0 1 0 2.828l-6.172 6.172a2 2 0 0 1-2.828 0l-6.172-6.172a2 2 0 0 1 0-2.828l6.172-6.172Z\"\n />\n <rect width={18} height={2} x={5} y={6} fill=\"#fff\" rx={1} />\n <rect width={18} height={2} x={5} y={11} fill=\"#fff\" rx={1} />\n <rect width={14} height={2} x={7} y={16} fill=\"#fff\" rx={1} />\n </svg>\n);\nexport default iconWrapper(SvgMessagesIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgMouseIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={15}\n height={20}\n fill=\"none\"\n viewBox=\"0 0 15 20\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M7.5 20c-1.933 0-3.583-.683-4.95-2.05C1.183 16.583.5 14.933.5 13V7c0-1.933.683-3.583 2.05-4.95C3.917.683 5.567 0 7.5 0c1.933 0 3.583.683 4.95 2.05C13.817 3.417 14.5 5.067 14.5 7v6c0 1.933-.683 3.583-2.05 4.95C11.083 19.317 9.433 20 7.5 20Zm1-13h4c0-1.2-.379-2.258-1.137-3.175C10.604 2.908 9.65 2.333 8.5 2.1V7Zm-6 0h4V2.1c-1.15.233-2.104.808-2.863 1.725A4.837 4.837 0 0 0 2.5 7Zm5 11c1.383 0 2.563-.487 3.538-1.462.975-.975 1.462-2.155 1.462-3.538V9h-10v4c0 1.383.488 2.563 1.463 3.538C4.938 17.513 6.117 18 7.5 18Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgMouseIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgNotesIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M19 3H4.99C3.89 3 3 3.9 3 5l.01 14c0 1.1.89 2 1.99 2h10l6-6V5c0-1.1-.9-2-2-2ZM8 8h8c.55 0 1 .45 1 1s-.45 1-1 1H8c-.55 0-1-.45-1-1s.45-1 1-1Zm3 6H8c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1s-.45 1-1 1Zm3 5.5V15c0-.55.45-1 1-1h4.5L14 19.5Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgNotesIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgPinIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={14}\n height={20}\n fill=\"none\"\n viewBox=\"0 0 14 20\"\n {...props}\n >\n <path\n fill=\"#64748b\"\n d=\"M14 10.87c0-.47-.34-.85-.8-.98A2.997 2.997 0 0 1 11 7V2h1c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1h1v5C3 8.38 2.07 9.54.8 9.89c-.46.13-.8.51-.8.98V11c0 .55.45 1 1 1h4.98L6 19c0 .55.45 1 1 1s1-.45 1-1l-.02-7H13c.55 0 1-.45 1-1v-.13Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgPinIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgPrintIcon = (props: IconProps): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={19} height={18} {...props}>\n <path\n fill=\"currentColor\"\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 />\n </svg>\n);\nexport default iconWrapper(SvgPrintIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgRightArrowIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M9.31 6.71a.996.996 0 0 0 0 1.41L13.19 12l-3.88 3.88a.996.996 0 1 0 1.41 1.41l4.59-4.59a.996.996 0 0 0 0-1.41L10.72 6.7c-.38-.38-1.02-.38-1.41.01Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgRightArrowIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSearchCancelIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={14}\n height={14}\n fill=\"none\"\n viewBox=\"0 0 14 14\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M2.05.637A1 1 0 0 0 .638 2.05L5.587 7l-4.95 4.95a1 1 0 0 0 1.414 1.414L7 8.415l4.95 4.95a1 1 0 0 0 1.414-1.415L8.415 7l4.95-4.949A1 1 0 0 0 11.95.637L7 5.587 2.05.637Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgSearchCancelIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSearchIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M15.5 14h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14Zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgSearchIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSmallCircleIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <circle cx={12} cy={12} r={6} fill=\"currentColor\" />\n <circle cx={14.5} cy={9.5} r={1.5} fill=\"#fff\" fillOpacity={0.1} />\n </svg>\n);\nexport default iconWrapper(SvgSmallCircleIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSmallDiamondIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M4.93 13.414a2 2 0 0 1 0-2.828l5.657-5.657a2 2 0 0 1 2.828 0l5.657 5.657a2 2 0 0 1 0 2.828l-5.657 5.657a2 2 0 0 1-2.828 0L4.93 13.414Z\"\n />\n <circle\n cx={12}\n cy={7.051}\n r={1.5}\n fill=\"#fff\"\n fillOpacity={0.1}\n transform=\"rotate(-45 12 7.05)\"\n />\n </svg>\n);\nexport default iconWrapper(SvgSmallDiamondIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSmallSquareIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <rect width={12} height={12} x={6} y={6} fill=\"currentColor\" rx={2} />\n <circle cx={15.5} cy={8.5} r={1.5} fill=\"#fff\" fillOpacity={0.1} />\n </svg>\n);\nexport default iconWrapper(SvgSmallSquareIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSpaceRocketIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M9.19 6.35c-2.04 2.29-3.44 5.58-3.57 5.89l-2.26-.97c-.65-.28-.81-1.13-.31-1.63l3.01-3.01c.47-.47 1.15-.68 1.81-.55l1.32.27Zm1.49 10.16c.3.3.74.38 1.12.2 1.16-.54 3.65-1.81 5.26-3.42 4.59-4.59 4.63-8.33 4.36-9.93a.979.979 0 0 0-.79-.79c-1.6-.27-5.34-.23-9.93 4.36-1.61 1.61-2.87 4.1-3.42 5.26-.18.38-.09.83.2 1.12l3.2 3.2Zm6.97-1.7c-2.29 2.04-5.58 3.44-5.89 3.57l.97 2.26c.28.65 1.13.81 1.63.31l3.01-3.01c.47-.47.68-1.15.55-1.81l-.27-1.32Zm-8.71 2.6a3 3 0 0 1-.82 2.71c-.77.77-3.16 1.34-4.71 1.64-.69.13-1.3-.48-1.17-1.17.3-1.55.86-3.94 1.64-4.71a3 3 0 0 1 2.71-.82c1.17.22 2.13 1.18 2.35 2.35ZM13 9c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgSpaceRocketIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgStarIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={19}\n height={18}\n fill=\"none\"\n viewBox=\"0 0 19 18\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M8.587 1.05c.352-.791 1.474-.791 1.826 0l1.753 3.93a1 1 0 0 0 .808.588l4.281.452c.86.09 1.207 1.158.565 1.737l-3.198 2.882a1 1 0 0 0-.309.95l.893 4.211c.18.847-.728 1.506-1.478 1.074L10 14.724a1 1 0 0 0-1 0l-3.728 2.15c-.75.432-1.658-.227-1.478-1.074l.893-4.21a1 1 0 0 0-.309-.951L1.18 7.757c-.642-.58-.296-1.646.565-1.737l4.28-.452a1 1 0 0 0 .81-.587l1.752-3.932Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgStarIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgStatusColoredIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <rect width={16} height={24} x={6} y={2} fill=\"#374151\" rx={2} />\n <circle cx={14} cy={9} r={4} fill=\"#fff\" />\n <circle cx={14} cy={19} r={4} fill=\"#E86967\" />\n </svg>\n);\nexport default iconWrapper(SvgStatusColoredIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgWarningIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={20}\n height={20}\n fill=\"none\"\n viewBox=\"0 0 20 20\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M10 0C4.48 0 0 4.48 0 10s4.48 10 10 10 10-4.48 10-10S15.52 0 10 0Zm0 11c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1Zm1 4H9v-2h2v2Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgWarningIcon);\n","// This file is generated, please do not modify\nexport { default as AddIcon } from \"./AddIcon\";\nexport { default as AlertsIcon } from \"./AlertsIcon\";\nexport { default as BellIcon } from \"./BellIcon\";\nexport { default as ChartIcon } from \"./ChartIcon\";\nexport { default as ChartLineColoredIcon } from \"./ChartLineColoredIcon\";\nexport { default as ChatBoxIcon } from \"./ChatBoxIcon\";\nexport { default as CheckIcon } from \"./CheckIcon\";\nexport { default as ChevronDoubleIcon } from \"./ChevronDoubleIcon\";\nexport { default as ChevronDownIcon } from \"./ChevronDownIcon\";\nexport { default as ChevronRightIcon } from \"./ChevronRightIcon\";\nexport { default as CrossIcon } from \"./CrossIcon\";\nexport { default as DeleteIcon } from \"./DeleteIcon\";\nexport { default as DownArrowIcon } from \"./DownArrowIcon\";\nexport { default as DragIcon } from \"./DragIcon\";\nexport { default as EditIcon } from \"./EditIcon\";\nexport { default as EmptyIcon } from \"./EmptyIcon\";\nexport { default as EmptyStateDashboardIcon } from \"./EmptyStateDashboardIcon\";\nexport { default as ExclamationMarkIcon } from \"./ExclamationMarkIcon\";\nexport { default as EyeIcon } from \"./EyeIcon\";\nexport { default as GearColoredIcon } from \"./GearColoredIcon\";\nexport { default as GearIcon } from \"./GearIcon\";\nexport { default as GroupColoredIcon } from \"./GroupColoredIcon\";\nexport { default as GroupIcon } from \"./GroupIcon\";\nexport { default as HamburgerIcon } from \"./HamburgerIcon\";\nexport { default as HeartIcon } from \"./HeartIcon\";\nexport { default as ImageIcon } from \"./ImageIcon\";\nexport { default as InfoIcon } from \"./InfoIcon\";\nexport { default as LeftArrowIcon } from \"./LeftArrowIcon\";\nexport { default as LightBulbIcon } from \"./LightBulbIcon\";\nexport { default as LinkIcon } from \"./LinkIcon\";\nexport { default as LockIcon } from \"./LockIcon\";\nexport { default as MessagesIcon } from \"./MessagesIcon\";\nexport { default as MouseIcon } from \"./MouseIcon\";\nexport { default as NotesIcon } from \"./NotesIcon\";\nexport { default as PinIcon } from \"./PinIcon\";\nexport { default as PrintIcon } from \"./PrintIcon\";\nexport { default as RightArrowIcon } from \"./RightArrowIcon\";\nexport { default as SearchCancelIcon } from \"./SearchCancelIcon\";\nexport { default as SearchIcon } from \"./SearchIcon\";\nexport { default as SmallCircleIcon } from \"./SmallCircleIcon\";\nexport { default as SmallDiamondIcon } from \"./SmallDiamondIcon\";\nexport { default as SmallSquareIcon } from \"./SmallSquareIcon\";\nexport { default as SpaceRocketIcon } from \"./SpaceRocketIcon\";\nexport { default as StarIcon } from \"./StarIcon\";\nexport { default as StatusColoredIcon } from \"./StatusColoredIcon\";\nexport { default as WarningIcon } from \"./WarningIcon\";\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport { CheckIcon, CrossIcon, WarningIcon } from \"../Icons\";\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 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, ChevronDownIcon } from \"../Icons\";\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-200\"}\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-200\": !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\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 dataTestId?: string;\n};\n\nexport const ListSkeleton = ({\n items,\n dataTestId = \"list-skeleton\",\n}: ListSkeletonProps): JSX.Element => {\n const skeletonItems = Array.from({ length: items || 5 }, (_, i) => {\n return <ListItemSkeleton key={i} />;\n });\n\n return (\n <div\n data-test-id={dataTestId}\n className=\"flex flex-col divide-y divide-slate-200 bg-white border-slate-50 border rounded-lg shadow list-skeleton\"\n >\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 from \"react\";\nimport classNames from \"classnames\";\n\nimport { Title } from \"../Title/Title\";\n\nimport type { BaseListHeaderProps } from \"./BaseList.types\";\n\nexport const BaseListHeader: React.FC<BaseListHeaderProps> = ({\n title,\n button,\n transparent,\n withBorder,\n}) => {\n const className = classNames(\n \"flex rounded-t flex-row items-center space-x-4\",\n {\n \"py-4\": !button,\n \"py-2\": button,\n \"bg-white border-slate-200 px-4\": !transparent,\n \"border-b\": !transparent && !withBorder,\n \"border border-b-0\": withBorder && !transparent,\n \"mb-px\": transparent,\n \"justify-between\": title && button,\n \"justify-start\": title && !button,\n \"justify-end\": !title && button,\n }\n );\n\n return (\n <div data-test-id=\"base-list-header\" className={className}>\n {typeof title === \"string\" && <Title type=\"xs\" text={title} />}\n {title && typeof title === \"object\" && <Title type=\"xs\" {...title} />}\n {button && (\n <div className=\"space-x-3\">\n {React.createElement(button.buttonType, button.buttonProps)}\n </div>\n )}\n </div>\n );\n};\n\nexport default BaseListHeader;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nexport const BaseListEmptyState: React.FC<{\n message: string;\n roundTop?: boolean;\n withBorder?: boolean;\n}> = ({ message, roundTop, withBorder }) => {\n const className = classNames(\"p-4 bg-white rounded-b\", {\n \"first:rounded-t\": roundTop,\n \"border-slate-200 border\": withBorder,\n });\n\n return (\n <div className={className}>\n <Text text={message} />\n </div>\n );\n};\n\nexport default BaseListEmptyState;\n","import React from \"react\";\n\nimport * as Icons from \"../Icons/index\";\nimport { IconProps, IconKey } from \"../Icons/types/IconProps.type\";\n\nexport const Icon: React.FC<{ name: IconKey } & IconProps> = ({\n name,\n ...iconProps\n}) => {\n return React.createElement(Icons[name], iconProps);\n};\n\n/**\n * This is a temporary component to transition the way we pass icons to components.\n * Once all components are passed an IconKey instead of a function component we can replace it with the Icon component.\n *\n * If any expansion or customization must be made for all icons, do it in the iconWrapper.tsx component.\n *\n * @linkcode https://github.com/Luscii/web-ui/blob/main/src/components/Icons/iconWrapper/iconWrapper.tsx\n */\nexport const IconComponentOrKey: React.FC<\n { name: React.FunctionComponent<IconProps> | IconKey } & IconProps\n> = (props) => {\n const { name, ...iconProps } = props;\n\n if (isIconKey(name)) {\n return <Icon name={name} {...iconProps} />;\n }\n\n return React.createElement(name, iconProps);\n};\n\nfunction isIconKey(key: string | unknown): key is IconKey {\n if (typeof key === \"string\") {\n return key in Icons;\n }\n return false;\n}\n\nexport default Icon;\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Icon } from \"../Icon\";\n\nimport type { DragHandleProps } from \"./DragHandle.types\";\n\nconst DragHandle = forwardRef<HTMLButtonElement, DragHandleProps>(\n (\n { dataTestId, className: classes, grabbing, disabled = false, ...props },\n ref\n ) => {\n const className = classNames(classes, \"py-2\", {\n \"cursor-grab\": !grabbing && !disabled,\n \"cursor-grabbing shadow-sm bg-slate-200\": grabbing && !disabled,\n \"hover:bg-slate-200 hover:shadow-sm transition duration-200 rounded\":\n !disabled,\n \"cursor-not-allowed\": disabled,\n });\n\n return (\n <button\n ref={ref}\n {...props}\n tabIndex={0}\n className={className}\n data-test-id={dataTestId ?? \"dragHandle\"}\n >\n <Icon\n name=\"DragIcon\"\n className={disabled ? \"text-slate-300\" : \"text-slate-400\"}\n />\n </button>\n );\n }\n);\n\nexport default DragHandle;\n","import React, { useState } from \"react\";\n\nimport ImageIcon from \"../Icons/ImageIcon\";\n\nimport { BaseListItemProps } from \"./BaseList.types\";\n\nexport const BaseListIcon: React.FC<\n Pick<BaseListItemProps, \"icon\"> & { onAssetLoadError?: () => void }\n> = ({ icon, onAssetLoadError }) => {\n const [loadIconError, setLoadIconError] = useState(false);\n\n function onListItemIconLoadError() {\n setLoadIconError(true);\n\n onAssetLoadError?.();\n }\n\n function onListItemIconLoad() {\n setLoadIconError(false);\n }\n\n return (\n <>\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 </>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\nimport DragHandle from \"../DragHandle/DragHandle\";\n\nimport type {\n BaseListItemProps,\n OnAssetLoadErrorPayload,\n} from \"./BaseList.types\";\nimport { BaseListIcon } from \"./BaseListIcon\";\n\nfunction createAssetLoadError(\n payload: OnAssetLoadErrorPayload,\n callback?: (payload: OnAssetLoadErrorPayload) => void\n) {\n return () => {\n console.error({\n message:\n \"Url from icon failed to load, please check the props passed to `ListItem`.\",\n ...payload,\n });\n\n callback?.(payload);\n };\n}\n\nexport const BaseListItem: React.FC<BaseListItemProps> = React.forwardRef(\n (\n {\n itemId,\n title,\n tooltipId,\n roundTop,\n roundBottom = true,\n isDraggable,\n isSelected,\n subtitle,\n accessories,\n icon,\n onClick,\n handleItemClick,\n onAssetLoadError,\n dataTestId,\n renderDragHandle,\n withBorder,\n htmlProps,\n },\n ref\n ) => {\n const clickHandler = onClick ?? handleItemClick;\n\n const className = classNames(\n \"flex flex-row items-center space-x-4 bg-white\",\n \"px-4 border-b last:border-b-0 border-slate-200\",\n {\n \"first:rounded-t\": roundTop,\n \"cursor-pointer\": clickHandler,\n \"hover:bg-blue-50 transition-colors ease-in-out duration-300\":\n clickHandler,\n \"last:rounded-b \": roundBottom,\n \"first:border-t border-l border-r last:border-b\": withBorder,\n }\n );\n\n return (\n <li\n className={className}\n data-id={itemId}\n data-tip={itemId}\n data-for={tooltipId}\n data-test-id={dataTestId || `base-list-item-${itemId}`}\n onClick={clickHandler}\n {...htmlProps}\n ref={ref}\n >\n {isDraggable &&\n (renderDragHandle ? (\n renderDragHandle()\n ) : (\n <DragHandle grabbing={false} />\n ))}\n {icon && (\n <BaseListIcon\n icon={icon}\n onAssetLoadError={createAssetLoadError(\n {\n itemId,\n title,\n subtitle,\n icon,\n },\n onAssetLoadError\n )}\n />\n )}\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);\n\nexport default BaseListItem;\n","import React from \"react\";\n\nimport { ListSkeleton } from \"./ListSkeleton/ListSkeleton\";\nimport type { BaseListItemProps, BaseListProps } from \"./BaseList.types\";\nimport BaseListHeader from \"./BaseListHeader\";\nimport BaseListEmptyState from \"./BaseListEmptyState\";\nimport BaseListItem from \"./BaseListItem\";\n\nconst BaseListInner = <T extends BaseListItemProps>(\n {\n dataTestId,\n title,\n headerButton,\n emptyStateMessage,\n isLoading,\n items,\n headerTransparent,\n itemComponent,\n footer,\n withBorder = false,\n }: BaseListProps<T>,\n ref: React.ForwardedRef<HTMLUListElement>\n): JSX.Element => {\n if (isLoading) {\n return <ListSkeleton items={items.length} />;\n }\n\n const hasHeader = Boolean(title || headerButton);\n const roundTop = Boolean(!hasHeader || (hasHeader && headerTransparent));\n const roundBottom = footer === undefined || footer === null;\n\n return (\n <div data-test-id={dataTestId || \"base-list-component\"}>\n {hasHeader && (\n <BaseListHeader\n title={title}\n button={headerButton}\n transparent={headerTransparent}\n withBorder={withBorder}\n />\n )}\n {items.length > 0 ? (\n <ul ref={ref}>\n {items.map((props) =>\n itemComponent\n ? React.createElement(itemComponent, {\n key: props.itemId,\n ...props,\n roundBottom,\n roundTop,\n withBorder,\n })\n : React.createElement(BaseListItem, {\n key: props.itemId,\n ...props,\n roundBottom,\n roundTop,\n withBorder,\n })\n )}\n </ul>\n ) : (\n emptyStateMessage && (\n <BaseListEmptyState\n message={emptyStateMessage}\n roundTop={roundTop}\n withBorder={withBorder}\n />\n )\n )}\n {footer}\n </div>\n );\n};\n\n// Making a component with generics work with forwardRef\n// Method from here: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const BaseList = React.forwardRef(BaseListInner) as <\n T extends BaseListItemProps\n>(\n props: BaseListProps<T> & { ref?: React.ForwardedRef<HTMLUListElement> }\n) => ReturnType<typeof BaseListInner>;\n","import { Active, Over } from \"@dnd-kit/core\";\n\nimport { ListItemProps } from \"../List/List\";\n\n// You should be able to just use a non-registered Symbol as a key in a WeakMap\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\n// TS doesn't allow it (registered and non-registered Symbols are both of type symbol), so we have to use an object\nconst draggableListItemPropsPointer = {\n symbol: Symbol(\"draggable-list-item-props\"),\n} as const;\n\ntype DraggableListItemProps = WeakMap<\n typeof draggableListItemPropsPointer,\n Pick<\n ListItemProps,\n \"itemId\" | \"title\" | \"subtitle\" | \"icon\" | \"isDraggable\" | \"isSelected\"\n >\n>;\n\nexport const createDraggableListProps = ({\n itemId,\n title,\n subtitle,\n icon,\n isDraggable,\n isSelected,\n}: ListItemProps): DraggableListItemProps => {\n return new WeakMap([\n [\n draggableListItemPropsPointer,\n Object.freeze({ itemId, title, subtitle, icon, isDraggable, isSelected }),\n ],\n ]);\n};\n\nconst isDraggableListItemProps = (\n subject: unknown\n): subject is DraggableListItemProps => {\n if (subject instanceof WeakMap) {\n return subject.has(draggableListItemPropsPointer);\n }\n return false;\n};\n\nexport const draggableListPropsKey = \"listItem\" as const;\n\nexport const getDndListItemProps = (\n subject: Active | Over\n): ListItemProps | null => {\n const possibleDraggableListItemProps =\n subject.data?.current?.[draggableListPropsKey];\n\n if (!isDraggableListItemProps(possibleDraggableListItemProps)) {\n return null;\n }\n\n return (\n possibleDraggableListItemProps.get(draggableListItemPropsPointer) ?? null\n );\n};\n","import React from \"react\";\nimport { useDraggable } from \"@dnd-kit/core\";\n\nimport { DraggableBaseListItemProps } from \"../BaseList.types\";\nimport BaseListItem from \"../BaseListItem\";\nimport DragHandle from \"../../DragHandle/DragHandle\";\nimport { createDraggableListProps, draggableListPropsKey } from \"../utils\";\n\nexport const DraggableBaseListItem: React.FC<DraggableBaseListItemProps> = ({\n draggableData,\n ...props\n}) => {\n const { setNodeRef, listeners, attributes, isDragging } = useDraggable({\n id: props.draggableIdentifier,\n disabled: !props.isDraggable,\n data: {\n [draggableListPropsKey]: createDraggableListProps(props),\n draggableData,\n },\n });\n\n return (\n <BaseListItem\n {...props}\n ref={setNodeRef}\n isDraggable\n renderDragHandle={() => (\n <DragHandle\n grabbing={isDragging}\n {...attributes}\n {...listeners}\n disabled={!props.isDraggable}\n />\n )}\n />\n );\n};\n","import React from \"react\";\n\nimport { BaseList } from \"../BaseList\";\nimport type { DraggableBaseListProps } from \"../BaseList.types\";\n\nimport { DraggableBaseListItem } from \"./DraggableBaseListItem\";\n\nexport const DraggableBaseList: React.FC<DraggableBaseListProps> = ({\n items,\n ...props\n}) => {\n return (\n <BaseList {...props} items={items} itemComponent={DraggableBaseListItem} />\n );\n};\n\nexport default DraggableBaseList;\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { useDroppable } from \"@dnd-kit/core\";\n\nimport { Text } from \"../Text/Text\";\nimport { Icon } from \"../Icon\";\n\nimport type {\n DropzoneProps,\n DropzonePresentationProps,\n} from \"./Dropzone.types\";\n\nconst DefaultState = ({\n icon,\n message,\n horizontal = false,\n}: Pick<DropzonePresentationProps, \"icon\" | \"message\" | \"horizontal\">) => {\n if (!icon && !message) {\n return null;\n }\n\n const className = classNames(\"p-4 flex items-center\", {\n \"flex-col justify-center\": !horizontal,\n \"flex-row w-full \": horizontal,\n });\n\n return (\n <div className={className}>\n {icon && (\n <Icon\n name={icon}\n className={classNames(\"text-blue-800\", {\n \"mb-2\": message && !horizontal,\n \"mr-2\": horizontal,\n })}\n />\n )}\n {message && (\n <Text\n type=\"base\"\n color=\"blue-800\"\n className=\"text-center\"\n text={message}\n />\n )}\n </div>\n );\n};\n\nexport const DropzonePresentation: React.FC<DropzonePresentationProps> =\n forwardRef<HTMLDivElement, DropzonePresentationProps>(\n (\n {\n message,\n icon,\n isHighlighted,\n isClickable,\n className,\n dataTestId,\n children,\n horizontal,\n },\n ref\n ) => {\n const classes = classNames(\n \"bg-blue-50 border-2 border-blue-800 rounded flex items-center justify-center\",\n {\n \"border-dashed\": !isHighlighted,\n \"border-solid\": isHighlighted,\n \"hover:bg-blue-100 transition-colors ease-in-out duration-300\":\n isClickable,\n },\n className\n );\n\n return (\n <div className={classes} ref={ref} data-test-id={dataTestId}>\n {children || (\n <DefaultState\n icon={icon}\n message={message}\n horizontal={horizontal}\n />\n )}\n </div>\n );\n }\n );\n\nexport const Dropzone: React.FC<DropzoneProps> = ({\n draggableIdentifier: identifier,\n disabled,\n data,\n dataTestId,\n onClick,\n ...props\n}) => {\n const { setNodeRef, isOver } = useDroppable({\n id: identifier,\n disabled,\n data,\n });\n\n const presentation = (\n <DropzonePresentation\n ref={setNodeRef}\n isHighlighted={isOver}\n isClickable={onClick && !disabled}\n {...props}\n dataTestId={dataTestId ?? `dropzone-${identifier}`}\n />\n );\n\n if (onClick) {\n return (\n <button onClick={onClick} disabled={disabled} className=\"block w-full\">\n {presentation}\n </button>\n );\n }\n\n return presentation;\n};\n\nexport default Dropzone;\n","import React from \"react\";\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\n\nimport { SortableBaseListItemProps } from \"../BaseList.types\";\nimport BaseListItem from \"../BaseListItem\";\nimport { DropzonePresentation } from \"../../Dropzone/Dropzone\";\nimport DragHandle from \"../../DragHandle/DragHandle\";\nimport { createDraggableListProps, draggableListPropsKey } from \"../utils\";\n\nexport const SortableBaseListItem: React.FC<SortableBaseListItemProps> = ({\n draggableData,\n ...props\n}) => {\n const { setNodeRef, listeners, attributes, transform, isDragging } =\n useSortable({\n id: props.draggableIdentifier,\n disabled: !props.isDraggable,\n data: {\n [draggableListPropsKey]: createDraggableListProps(props),\n draggableData,\n },\n });\n\n const styleTransform = CSS.Transform.toString(transform);\n\n if (isDragging) {\n return (\n <div style={{ transform: styleTransform, position: \"relative\" }}>\n <DropzonePresentation className=\"absolute h-full w-full\" />\n <div className=\"invisible\">\n <BaseListItem\n {...props}\n ref={setNodeRef}\n htmlProps={{ style: { transform: styleTransform } }}\n isDraggable\n renderDragHandle={() => (\n <DragHandle\n {...attributes}\n {...listeners}\n disabled={!props.isDraggable}\n grabbing={isDragging}\n />\n )}\n />\n </div>\n </div>\n );\n }\n\n return (\n <BaseListItem\n {...props}\n ref={setNodeRef}\n htmlProps={{ style: { transform: styleTransform } }}\n isDraggable\n renderDragHandle={() => (\n <DragHandle\n {...attributes}\n {...listeners}\n disabled={!props.isDraggable}\n grabbing={isDragging}\n />\n )}\n />\n );\n};\n","import React from \"react\";\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\n\nimport { BaseList } from \"../BaseList\";\nimport type { SortableBaseListProps } from \"../BaseList.types\";\n\nimport { SortableBaseListItem } from \"./SortableBaseListItem\";\n\nexport const SortableBaseList: React.FC<SortableBaseListProps> = ({\n draggableIdentifier,\n items,\n ...props\n}) => {\n return (\n <SortableContext\n id={draggableIdentifier}\n strategy={verticalListSortingStrategy}\n items={items.map((item) => ({ ...item, id: item.draggableIdentifier }))}\n >\n <BaseList items={items} itemComponent={SortableBaseListItem} {...props} />\n </SortableContext>\n );\n};\n\nexport default SortableBaseList;\n","import React from \"react\";\n\nimport { BaseListItem } from \"../BaseList\";\n\nimport { ListItemProps } from \"./List.types\";\n\nexport const ListItem: React.FC<ListItemProps> = (props) => {\n return <BaseListItem {...props} />;\n};\n\nexport default ListItem;\n","import React, { useEffect, useRef } from \"react\";\nimport dragula from \"react-dragula\";\nimport { omit } from \"lodash\";\n\nimport { BaseList, DraggableBaseList, SortableBaseList } from \"../BaseList\";\n\nimport type { DefaultListProps, ListItemProps, ListProps } from \"./List.types\";\nimport \"./List.scss\";\nimport ListItem from \"./ListItem\";\n\nexport { ListProps, ListItemProps };\n\nconst DefaultList = ({\n items,\n onDragEnd,\n onAssetLoadError,\n ...props\n}: DefaultListProps): JSX.Element => {\n const listRef = useRef<HTMLUListElement | null>(null);\n const dragulaRef = useRef<dragula.Drake | null>(null);\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 return (\n <BaseList\n ref={listRef}\n itemComponent={ListItem}\n items={items.map((item) => ({\n ...item,\n isDraggable: !!onDragEnd,\n onAssetLoadError,\n }))}\n {...props}\n />\n );\n};\n\n// Rest operator isn't used here because TS seems to require the operation\n// happening in the branch of the code where the object is used in\nconst List: React.FC<ListProps> = (props) => {\n if (\"draggableListType\" in props) {\n switch (props.draggableListType) {\n case \"default\":\n return <DefaultList {...omit(props, \"draggableListType\")} />;\n case \"draggable\":\n return <DraggableBaseList {...omit(props, [\"draggableListType\"])} />;\n case \"sortable\":\n return <SortableBaseList {...omit(props, [\"draggableListType\"])} />;\n }\n }\n\n return <DefaultList {...props} />;\n};\n\nexport default List;\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { CrossIcon } from \"../Icons\";\nimport { AllowedTextInputTypes } from \"../Form/form.types\";\nimport type { IconKey, IconProps } from \"../Icons/types/IconProps.type\";\nimport { FormFieldWidth } from \"../Form/form.types\";\nimport { FlexRow } from \"../Container/FlexRow\";\nimport \"./Input.css\";\nimport { IconComponentOrKey } from \"../Icon/Icon\";\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.FC<IconProps> | IconKey;\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 <IconComponentOrKey\n name={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 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\";\nimport ReactTooltip from \"react-tooltip\";\n\nimport { IconComponentOrKey } from \"../Icon/Icon\";\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 title,\n ...otherAttributes\n }: ButtonProps,\n innerRef\n ): JSX.Element => {\n const generatedId = React.useId();\n\n const buttonTooltipId = otherAttributes.id\n ? `button-tooltip-id-${otherAttributes.id}`\n : `button-tooltip-id-${generatedId}`;\n\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 \"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 {\n \"opacity-50\": isDisabled,\n \"pointer-events-none\": isPending,\n \"w-11\": !text && icon,\n },\n className\n );\n\n const textColorClass = allowedColors[textColor ?? \"base\"];\n\n const tooltipAttrs = title\n ? {\n \"data-tip\": true,\n \"data-for\": buttonTooltipId,\n }\n : {};\n\n const buttonComponent = (\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 {/* There's a case for disabled buttons that can be hovered on: https://github.com/ReactTooltip/react-tooltip/issues/304#issuecomment-876501080 */}\n <span\n {...tooltipAttrs}\n className={classNames(\n \"relative flex flex-row items-center justify-center w-full h-full\", // ensuring the buttons are 44px high including content\n {\n \"pl-4 pr-6\": text && icon,\n \"px-4\": text && !icon,\n }\n )}\n >\n {icon && !isPending && (\n <IconComponentOrKey\n name={icon}\n className={`w-6 h-6 ${textColorClass}`}\n />\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 </span>\n </button>\n );\n\n if (title) {\n return (\n <>\n <ReactTooltip effect=\"solid\" id={buttonTooltipId}>\n {title}\n </ReactTooltip>\n {buttonComponent}\n </>\n );\n }\n\n return buttonComponent;\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 dataTestId?: string;\n}\n\nexport function LoadingIndicator({\n asModal = false,\n asSpinner = false,\n className = \"\",\n spinnerColor = \"blue\",\n dataTestId = \"loading-indicator\",\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\n {...restProps}\n className={containerClassName}\n data-test-id={dataTestId}\n >\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 {\n DraggableListProps,\n ListItemProps,\n SortableListProps,\n} 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: AccordionItem[];\n buttonProps?: BaseButtonProps;\n isSearchEnabled?: boolean;\n isLoading?: boolean;\n}\n\nexport type AccordionListItemProps<T = ListItemProps> = Omit<\n AccordionItemProps,\n \"content\"\n> & {\n listItems: T[];\n draggableListType?: \"default\";\n};\n\nexport type DraggableAccordionListItemProps = Omit<\n AccordionItemProps,\n \"content\"\n> & {\n draggableListType: \"draggable\";\n listItems: DraggableListProps[\"items\"];\n};\n\nexport type SortableAccordionListItemProps = Omit<\n AccordionItemProps,\n \"content\"\n> & {\n draggableListType: \"sortable\";\n draggableIdentifier: string;\n listItems: SortableListProps[\"items\"];\n};\n\nexport type AccordionItem =\n | AccordionListItemProps\n | DraggableAccordionListItemProps\n | SortableAccordionListItemProps;\n\nexport const AccordionList: React.FC<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 filterItems = <T extends { title: string; subtitle?: string }>(\n items: T[],\n filterString: string\n ): T[] => {\n return items.filter(\n (item) =>\n isSubstring(item.title, filterString) ||\n isSubstring(item.subtitle, filterString)\n );\n };\n\n const filterAccordionListItems = (\n item: AccordionItem,\n filterString: string\n ): AccordionItem => {\n switch (item.draggableListType) {\n case \"draggable\":\n return {\n ...item,\n listItems: filterItems<\n DraggableAccordionListItemProps[\"listItems\"][number]\n >(item.listItems, filterString),\n };\n case \"sortable\":\n return {\n ...item,\n listItems: filterItems<\n SortableAccordionListItemProps[\"listItems\"][number]\n >(item.listItems, filterString),\n };\n default:\n return {\n ...item,\n listItems: filterItems<ListItemProps>(item.listItems, filterString),\n };\n }\n };\n\n const contentForAccordionItem = (item: AccordionItem): JSX.Element => {\n switch (item.draggableListType) {\n case \"draggable\":\n return (\n <List\n draggableListType={item.draggableListType}\n items={item.listItems}\n />\n );\n case \"sortable\":\n return (\n <List\n draggableListType={item.draggableListType}\n draggableIdentifier={item.draggableIdentifier}\n items={item.listItems}\n />\n );\n default:\n return <List items={item.listItems} />;\n }\n };\n\n const titleForAccordionItem = ({\n searchEnabled,\n itemTitle,\n numberOfItems,\n filteredNumberOfItems,\n filterString,\n }: {\n searchEnabled: boolean;\n itemTitle: string;\n numberOfItems: number;\n filteredNumberOfItems: number;\n filterString: string;\n }): string => {\n if (!searchEnabled) {\n return itemTitle;\n }\n\n if (filterString.length > 0) {\n return `${itemTitle} (${filteredNumberOfItems}/${numberOfItems})`;\n }\n\n return `${itemTitle} (${numberOfItems})`;\n };\n\n const filteredAccordionItems = useMemo(() => {\n const filteredItems = accordionItems.map((item) => {\n if (!isSearchEnabled) {\n return {\n ...item,\n content: contentForAccordionItem(item),\n };\n }\n\n const filteredItem = filterAccordionListItems(item, searchString);\n\n return {\n ...filteredItem,\n title: titleForAccordionItem({\n searchEnabled: isSearchEnabled,\n itemTitle: item.title,\n numberOfItems: item.listItems.length,\n filteredNumberOfItems: filteredItem.listItems.length,\n filterString: searchString,\n }),\n content: contentForAccordionItem(filteredItem),\n };\n });\n\n return filteredItems;\n }, [accordionItems, searchString, isSearchEnabled]);\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-200\"}>\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-200\"}\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\";\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","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 onClick?: (arg: React.MouseEvent<HTMLButtonElement, MouseEvent>) => 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\";\nimport ReactTooltip from \"react-tooltip\";\n\nimport { Spinner } from \"../Spinner/Spinner\";\nimport {\n AddIcon,\n DeleteIcon,\n EditIcon,\n LeftArrowIcon,\n RightArrowIcon,\n ChartIcon,\n PrintIcon,\n} from \"../Icons\";\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\n/**\n * TODO: We have to probably use [ButtonV2.tsx](../../components/ButtonV2/ButtonV2.tsx)\n * to replace this component at some point.\n */\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 generatedId = React.useId();\n\n const buttonTooltipId = otherAttributes.id\n ? `button-tooltip-id-${otherAttributes.id}`\n : `button-tooltip-id-${generatedId}`;\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 (\n propsRole === BUTTON_ROLES.TEXT ||\n propsRole === BUTTON_ROLES.LINK\n ) {\n setRole(BUTTON_ROLES.TERTIARY);\n } else if (hasDeleteIcon) {\n setRole(BUTTON_ROLES.NEGATIVE);\n }\n }, []);\n\n const isButtonDisabled =\n (role !== BUTTON_ROLES.LINK && isDisabled) || isPending;\n const isNonPrimaryNonNegative =\n role === BUTTON_ROLES.SECONDARY ||\n role === BUTTON_ROLES.TERTIARY ||\n role === BUTTON_ROLES.QUATERNARY;\n\n function handleClick(event: React.MouseEvent<HTMLButtonElement, MouseEvent>) {\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: [\n \"bg-white\",\n \"shadow-none\",\n \"border\",\n \"border-solid\",\n \"border-quaternary\",\n \"hover:border-slate-200\",\n ],\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\n \"shadow-sm\",\n \"transition-outline transition-colors duration-300 ease-in-out\",\n \"cursor-pointer\",\n \"rounded-full\",\n \"leading-none\",\n ],\n\n className,\n {\n \"w-11\": isIconOnly,\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\":\n 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 const tooltipAttrs = title\n ? {\n \"data-tip\": true,\n \"data-for\": buttonTooltipId,\n }\n : {};\n\n const buttonComponent = (\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 {/* There's a case for disabled buttons that can be hovered on: https://github.com/ReactTooltip/react-tooltip/issues/304#issuecomment-876501080 */}\n <span\n {...tooltipAttrs}\n className={classNames(\n \"relative flex flex-row items-center justify-center w-full h-full\", // ensuring the buttons are 44px high including content\n {\n \"py-2 px-2\": isIconOnly,\n \"px-4 py-3\": !isIconOnly,\n }\n )}\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 &&\n 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 </span>\n </button>\n );\n\n if (title) {\n return (\n <>\n <ReactTooltip effect=\"solid\" id={buttonTooltipId}>\n {title}\n </ReactTooltip>\n {buttonComponent}\n </>\n );\n }\n\n return buttonComponent;\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 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 // eslint-disable-next-line react/no-array-index-key\n <div key={index} className={\"overflow-hidden\"}>\n {slide}\n </div>\n ))}\n </div>\n </Glider>\n ) : (\n <></>\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 innerRef?: React.Ref<HTMLInputElement>;\n}\n\nconst CheckboxInner = ({\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 innerRef,\n}: CheckboxProps): JSX.Element => {\n const [checked, setChecked] = useState(false);\n const [indeterminate, setIndeterminate] = useState(isIndeterminate);\n const [isFocused, setIsFocused] = useState(false);\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 (innerRef) {\n if (typeof innerRef !== \"function\" && innerRef?.current) {\n innerRef.current.indeterminate = !indeterminate;\n }\n }\n }, [indeterminate]);\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n setChecked(event.currentTarget.checked);\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={innerRef}\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 const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (props, ref) => <CheckboxInner {...props} innerRef={ref} />\n);\n\nexport default Checkbox;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { IconComponentOrKey } from \"../Icon/Icon\";\nimport { Title } from \"../Title/Title\";\n\nimport type { 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 <IconComponentOrKey\n name={props.title.icon}\n className=\"text-blue-800 dialog-header-icon h-12 w-12\"\n />\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\";\nimport classNames from \"classnames\";\n\nimport { Text, TextColor } from \"../Text/Text\";\nimport { TextLink } from \"../TextLink/TextLink\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\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\ninterface NotificationBannerPropsWithText {\n text?: string;\n linkProps?: NotificationBannerLinkProps;\n children?: never;\n}\n\ninterface NotificationBannerPropsWithChildren {\n children: React.ReactNode;\n text?: never;\n linkProps?: never;\n}\n\nexport type NotificationBannerProps = (\n | NotificationBannerPropsWithChildren\n | NotificationBannerPropsWithText\n) & {\n color?: NotificationBannerColor;\n /**\n * The icon can either be one of our icon components or an image url\n */\n icon?: string | React.FunctionComponent<IconProps>;\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(classes, { \"inline-flex\": !stretch })}\n >\n {props.icon &&\n (typeof props.icon === \"function\" ? (\n React.createElement(props.icon, { className: \"w-6 h-6 mr-3\" })\n ) : (\n <img src={props.icon} className=\"w-6 h-6 mr-3\" />\n ))}\n {/* The flex-col here might make things redundant style-wise but probably won't break anything */}\n <div className={\"flex flex-col\"}>\n {/* Either the children or the text components below this block will render\n the types will make it so. */}\n {props.children}\n {(props.text || props.linkProps) && (\n <div className=\"flex flex-row items-center\">\n {props.text && (\n <Text\n className={classNames({\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 );\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 dataTestId = \"confirmation-dialog-modal\",\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={dataTestId}\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 @typescript-eslint/no-unused-vars */\n const {\n placeholder = \"\",\n className,\n initialSelectedItemId,\n onItemSelect,\n items,\n wider,\n ...otherProps\n } = this.props;\n /* eslint-enable @typescript-eslint/no-unused-vars */\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\":\n !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, { useEffect } 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\ntype ContainerLinkProps = { element: \"a\" } & Pick<\n HTMLAnchorElement,\n \"href\" | \"target\" | \"rel\"\n>;\ntype ContainerTelProps = { element: \"a\" } & Pick<HTMLAnchorElement, \"href\">;\ntype ContainerClipboardProps = {\n element: \"button\";\n \"data-clipboard-text\": string;\n} & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\">;\ntype ContainerNoneProps = { element: \"div\" };\n\ntype ContainerProps =\n | ContainerLinkProps\n | ContainerTelProps\n | ContainerClipboardProps\n | ContainerNoneProps;\n\nexport const InfoField = (props: InfoFieldProps): JSX.Element => {\n useEffect(() => {\n const clipboard = new ClipboardJS(\"button\");\n\n clipboard.on(\"success\", function (e) {\n props.onCopyToClipboard && props.onCopyToClipboard();\n e.clearSelection();\n });\n\n return () => clipboard.destroy();\n }, [props.onCopyToClipboard]);\n\n let containerProps: ContainerProps;\n\n switch (props.linkType) {\n case \"link\":\n containerProps = {\n element: \"a\",\n href: props.value,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n };\n break;\n case \"tel\":\n containerProps = { element: \"a\", href: `tel:${props.value}` };\n break;\n\n case \"clipboard\":\n containerProps = {\n element: \"button\",\n type: \"button\",\n \"data-clipboard-text\": props.value,\n };\n break;\n\n case \"none\":\n default:\n containerProps = { element: \"div\" };\n break;\n }\n\n const ContainerElement = containerProps.element;\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((action) => {\n if (!action) {\n return null;\n }\n\n return (\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 isDisabled={action.isDisabled}\n title={action.title}\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, RightArrowIcon } from \"../Icons\";\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 ReactSelect, {\n components,\n GroupBase,\n mergeStyles,\n MultiValue,\n Options,\n OptionsOrGroups,\n Props,\n StylesConfig,\n} 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 input: (baseStyles) => {\n return { ...baseStyles, padding: 0 };\n },\n multiValue: (baseStyles) => {\n return {\n ...baseStyles,\n lineHeight: isIE11 ? \"25px\" : \"1rem\",\n };\n },\n valueContainer: (baseStyles) => {\n return {\n ...baseStyles,\n padding: \".5rem\",\n };\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\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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\ntype WithCollapsible = {\n /**\n * When `false`, will prevent the checkbox list from being collapsed (also disabling clicking to expand/collapse)\n * in the component and it will be displayed expanded by default.\n * @default true\n */\n collapsible?: boolean;\n};\n\nexport type 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} & WithCollapsible;\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 type 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} & WithCollapsible;\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, ChevronDownIcon } from \"../Icons\";\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 collapsible = true,\n}: CheckboxGroupProps): JSX.Element => {\n const [groupCheckboxState, setGroupCheckboxState] = useState<CheckboxState>(\n CheckboxState.UNCHECKED\n );\n\n /**\n * If the prop `collapsible` is set to false, the default state of this list will\n * be expanded, and no change event can update that state.\n */\n const [collapsed, setCollapsed] = useState(collapsible ? isCollapsed : false);\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 if (collapsible) {\n setCollapsed(!collapsed);\n }\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 const CollapseStateChevron = collapsed ? ChevronRightIcon : ChevronDownIcon;\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 {collapsible && (\n <CollapseStateChevron onClick={handleGroupCollapse} />\n )}\n <Text\n type={\"strong\"}\n text={groupTitle || \"\"}\n className={classNames({\n \"ml-4\": collapsible,\n \"ml-1\": !collapsible,\n })}\n />{\" \"}\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(\n {\n \"ml-10\": collapsible,\n \"ml-5\": !collapsible,\n },\n itemClassName\n )}\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 collapsible={group.collapsible}\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: React.ReactNode;\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([\n \"w-full\",\n {\n \"max-h-screen overflow-y-auto px-4 lg:px-8\":\n !props.disableScrolling,\n },\n ])}\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 title,\n accessories,\n accessoryPosition = \"right\",\n className,\n children,\n content,\n isLoading = false,\n isPolling = false,\n spinnerColor = \"blue\",\n navLayoutProps = {},\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 =\n accessories instanceof Function ? accessories() : accessories;\n const childrenOrContentProp =\n 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 && (\n <LoadingIndicator\n asSpinner={true}\n className={\"page-spinner\"}\n spinnerColor={spinnerColor}\n />\n )}\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([\n PropTypes.arrayOf(breadcrumbItemShape),\n PropTypes.func,\n ]),\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([\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.element,\n PropTypes.func,\n ]),\n id: PropTypes.string,\n navLayoutProps: PropTypes.object,\n};\n\nexport default Page;\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\nexport interface StepsProps {\n orderedStepTitles: Array<string>;\n currentStep: number; //start count from 1\n className?: string;\n localization: { step: string };\n}\n\nexport const Steps = ({\n orderedStepTitles,\n currentStep,\n className,\n localization,\n}: StepsProps): JSX.Element => {\n const renderedSteps = orderedStepTitles.map((stepTitle, index) => (\n <Step\n // eslint-disable-next-line react/no-array-index-key\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 (\n <div\n className={`flex flex-row justify-items-stretch space-x-6 ${className}`}\n >\n {renderedSteps}\n </div>\n );\n};\n","export interface Crumb {\n name: string;\n key?: string;\n link?: string;\n}\n\nexport interface BreadcrumbProps {\n crumbs: Crumb[];\n truncateAfter?: number;\n}\n\nexport type BreadcrumbDividerProps = {\n onClick: () => void;\n truncatedCrumbs: Crumb[];\n};\n\ntype Possible<T> = {\n [P in keyof T]?: unknown;\n};\n\nexport const isBreadcrumbDividerProps = (\n subject: unknown\n): subject is BreadcrumbDividerProps => {\n if (typeof subject !== \"object\" || typeof subject === null) {\n return false;\n }\n\n const possibleSubject = subject as Possible<BreadcrumbDividerProps>;\n\n return (\n typeof possibleSubject.onClick === \"function\" &&\n Array.isArray(possibleSubject.truncatedCrumbs)\n );\n};\n","import React from \"react\";\nimport { Link } from \"@reach/router\";\n\nimport Text from \"../Text/Text\";\n\nimport type { BreadcrumbDividerProps, Crumb } from \"./Breadcrumbs.types\";\n\nexport const BreadcrumbItem: React.FC<Crumb> = ({ name, link }) => {\n return (\n <li 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\nexport const BreadcrumbDividerItem: React.FC<BreadcrumbDividerProps> = ({\n onClick,\n truncatedCrumbs,\n}) => {\n return (\n <li className=\"flex flex-row items-center slash-split\">\n <button\n onClick={onClick}\n title={truncatedCrumbs.map((crumb) => crumb.name).join(\" / \")}\n className=\"px-1\"\n >\n <Text text=\"…\" color=\"blue-800\" type=\"strong\" />\n </button>\n </li>\n );\n};\n","import React, { useState } from \"react\";\n\nimport { isBreadcrumbDividerProps } from \"./Breadcrumbs.types\";\nimport type {\n BreadcrumbProps,\n Crumb,\n BreadcrumbDividerProps,\n} from \"./Breadcrumbs.types\";\nimport { BreadcrumbDividerItem, BreadcrumbItem } from \"./BreadcrumbItem\";\n\nexport const Breadcrumbs: React.FC<BreadcrumbProps> = ({\n crumbs,\n truncateAfter = Infinity,\n}) => {\n const [head, ...tail] = crumbs;\n const [isTruncated, setIsTruncated] = useState(tail.length > truncateAfter);\n const truncatedCrumbs: Crumb[] = [];\n\n if (isTruncated) {\n while (tail.length > truncateAfter) {\n const shiftedCrumb = tail.shift();\n if (shiftedCrumb) {\n truncatedCrumbs.push(shiftedCrumb);\n }\n }\n }\n\n const dividerProps = {\n onClick: () => setIsTruncated(false),\n truncatedCrumbs,\n };\n\n const crumbsAndDivider: (Crumb | BreadcrumbDividerProps)[] = [\n head,\n dividerProps,\n ...tail,\n ];\n\n return (\n <ul\n data-test-id=\"breadcrumbs\"\n className=\"flex flex-row items-center space-x-2 \"\n >\n {(isTruncated ? crumbsAndDivider : crumbs).map((crumbOrDividerProps) =>\n isBreadcrumbDividerProps(crumbOrDividerProps) ? (\n <BreadcrumbDividerItem\n key={`divider-${truncatedCrumbs\n .map((crumb) => crumb.name)\n .join(\"-\")}`}\n {...crumbOrDividerProps}\n />\n ) : (\n <BreadcrumbItem\n key={crumbOrDividerProps.key || crumbOrDividerProps.name}\n {...crumbOrDividerProps}\n />\n )\n )}\n </ul>\n );\n};\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\nexport interface TabbarItemProps<T extends object = Record<string, unknown>>\n extends TabItemDetails<T> {\n index: number;\n isSelected?: boolean;\n onSelect?: (index: number) => void;\n className?: string;\n}\n\nconst TabbarItem = <T extends object = Record<string, unknown>>({\n title,\n index,\n isSelected,\n onSelect,\n className,\n badgeCount = 0,\n isLoading = false,\n dataTestId = \"\",\n}: TabbarItemProps<T>): 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, { TabbarItemProps, TabItemDetails } from \"./TabbarItem\";\n\nexport interface TabbarProps<T extends object = Record<string, unknown>> {\n tabs?: TabItemDetails<T>[];\n selectedIndex?: number;\n onSelect?: (params: {\n index: number;\n selectedTab: TabItemDetails<T>;\n }) => 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 = <T extends object = Record<string, unknown>>({\n tabs = [],\n selectedIndex,\n onSelect,\n className = \"\",\n withoutPadding = false,\n}: TabbarProps<T>): JSX.Element => {\n const [innerSelectedIndex, setInnerSelectedIndex] = useState(selectedIndex);\n\n useEffect(() => {\n setInnerSelectedIndex(selectedIndex);\n }, [selectedIndex]);\n\n const handleOnTabSelect: TabbarItemProps<T>[\"onSelect\"] = (index) => {\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: TabbarItemProps<T> = {\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 React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Breadcrumbs } from \"../Breadcrumbs/Breadcrumbs\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport Tabbar from \"../Tabbar/Tabbar\";\nimport { Title } from \"../Title/Title\";\n\nimport { PageHeaderProps } from \"./PageHeader.types\";\n\nconst PageHeader: React.FC<PageHeaderProps> = ({\n navigation,\n breadcrumbs,\n dataTestId,\n accessories,\n isPolling,\n title,\n contained,\n className,\n truncateBreadcrumbsAfter,\n}) => {\n const withContained = { \"max-w-3xl m-auto\": contained };\n\n return (\n <div\n data-test-id=\"page-header\"\n className={classNames(\"p-4 space-y-4 bg-white\", className, {\n \"w-full pl-0 pr-0\": contained,\n })}\n >\n {!!breadcrumbs?.length && (\n <div className={classNames(\"mb-4 space-y-4\", withContained)}>\n <Breadcrumbs\n crumbs={breadcrumbs}\n truncateAfter={truncateBreadcrumbsAfter}\n />\n <div className=\"mb-4 border-b border-slate-100\" />\n </div>\n )}\n <div\n className={classNames(\n \"flex flex-row items-center justify-between\",\n withContained\n )}\n >\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 && (\n <Tabbar\n {...navigation}\n withoutPadding\n className={classNames(navigation.className, withContained)}\n />\n )}\n </div>\n );\n};\n\nexport default PageHeader;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport { BUTTON_ROLES } from \"../Button/Button\";\nimport Line from \"../Line/Line\";\nimport { Steps } from \"../Steps/Steps\";\nimport { Title } from \"../Title/Title\";\nimport { PrimaryButton } from \"../ButtonV2/PrimaryButton\";\nimport { TertiaryButton } from \"../ButtonV2/TertiaryButton\";\nimport { PageHeader } from \"../PageHeader\";\n\nimport type { CRUDPageProps } from \"./CRUDPage.types\";\n\nconst CRUDPage: React.FC<CRUDPageProps> = ({\n submitButtonProps,\n cancelButtonProps,\n className,\n children,\n isLoading,\n isSubmitting,\n dataTestId = \"page\",\n title,\n header,\n steps,\n}) => {\n const mergedClasses = classNames(\n \"cweb-crud-page\",\n \"w-full mb-0 mx-auto pb-8\",\n className\n );\n\n const submitButton = submitButtonProps && (\n <PrimaryButton\n data-test-id=\"submit-button\"\n key=\"submit-button\"\n role={BUTTON_ROLES.PRIMARY}\n isPending={isSubmitting}\n {...submitButtonProps}\n />\n );\n\n const cancelButton = cancelButtonProps && (\n <TertiaryButton\n data-test-id=\"cancel-button\"\n key=\"cancel-button\"\n role={BUTTON_ROLES.SECONDARY}\n {...cancelButtonProps}\n />\n );\n\n let pageHeader: React.ReactNode;\n\n if (title) {\n pageHeader = (\n <div className=\"flex flex-row justify-start align-center max-w-3xl mx-auto w-full mt-8\">\n {title.icon && (\n <img\n id=\"title-icon\"\n src={title.icon}\n className=\"mr-4 w-11 h-11\"\n alt={\"title icon\"}\n />\n )}\n <Title text={title.text} type=\"lg\" />\n </div>\n );\n } else {\n pageHeader = <PageHeader contained {...header} />;\n }\n\n return (\n <div className=\"cweb-crud-page-container\" data-test-id={dataTestId}>\n {isLoading && (\n <div\n className={classNames(\n mergedClasses,\n \"overflow-y-hidden relative\",\n \"cweb-crud-page-loading-container\"\n )}\n style={{ height: \"90vh\" }}\n >\n <div className=\"flex flex-row justify-start align-center\">\n {pageHeader}\n </div>\n <LoadingIndicator\n className={classNames(\n \"crud-page-loader\",\n \"absolute top-0 right-0 bottom-0 left-0 m-auto h-12 w-12\"\n )}\n asModal={false}\n />\n </div>\n )}\n\n {!isLoading && (\n <div className={mergedClasses} data-test-id={dataTestId}>\n <div className=\"flex flex-row justify-start align-center\">\n {pageHeader}\n </div>\n\n <div\n className={classNames(\n \"cweb-crud-page-form-container\",\n \"max-w-3xl mx-auto bg-white rounded lg p-6 mt-4\"\n )}\n >\n {steps && (\n <Steps\n className={\"mb-4\"}\n orderedStepTitles={steps.titles}\n currentStep={steps.currentStep}\n localization={steps.localization}\n />\n )}\n {children}\n <Line\n left={[cancelButton]}\n right={[submitButton]}\n className={classNames(\n \"cweb-crud-page-button-line\",\n \"border-t border-solid border-color-divider pt-4 mt-4\"\n )}\n />\n </div>\n </div>\n )}\n </div>\n );\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 { 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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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, { RefAttributes } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text, TextProps } from \"../Text/Text\";\n\nexport interface TimelineStepProps extends RefAttributes<HTMLDivElement> {\n key: string | number;\n type?: \"wide\" | \"base\" | \"withoutDot\" | \"emptyDot\";\n title?: string | TextProps;\n content: React.ReactNode;\n dataTestId?: string | number;\n}\n\nexport const TimelineStep = React.forwardRef<HTMLDivElement, TimelineStepProps>(\n (\n { content, type = \"base\", dataTestId, title }: TimelineStepProps,\n ref\n ): 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\n className={containerClassNames}\n data-test-id={\n dataTestId === undefined ? \"\" : `timeline-step-${dataTestId}`\n }\n ref={ref}\n >\n <div className={\"flex flex-col\"}>\n {title && (\n <Text\n type={\"lg-strong\"}\n className={\"border-b flex flex-row items-center h-13\"}\n {...(typeof title === \"object\" ? title : { text: title })}\n />\n )}\n {content}\n </div>\n <div\n className={\n \"absolute top-0 -left-2 -ml-px flex flex-row items-center h-13\"\n }\n >\n <span\n className={classNames(\"rounded-lg h-4 w-4 inline-block\", {\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 </div>\n </div>\n </>\n );\n }\n);\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport {\n ButtonDefinitionWithKey,\n ButtonProps,\n} from \"../ButtonV2/ButtonProps.type\";\nimport { Title } from \"../../index\";\nimport { TitleProps } from \"../Title/Title\";\n\nexport type TimelineHeaderProps = {\n title?: string | TitleProps;\n buttons?: ButtonDefinitionWithKey<ButtonProps>[];\n withBorder?: boolean;\n};\n\nexport const TimelineHeader: React.FC<TimelineHeaderProps> = ({\n title,\n buttons,\n withBorder = true,\n}) => {\n const hasButtons = buttons && buttons.length > 0;\n const className = classNames(\n \"flex flex-row items-center space-x-4 rounded-t px-4\",\n {\n \"py-4\": !hasButtons,\n \"py-2\": hasButtons,\n \"justify-between\": title && hasButtons,\n \"justify-start\": title && !hasButtons,\n \"justify-end\": !title && hasButtons,\n \"border-b\": withBorder,\n }\n );\n\n return (\n <div data-test-id=\"timeline-header\" className={className}>\n {title && (\n <Title\n type={\"sm\"}\n {...(typeof title === \"object\" ? title : { text: title })}\n />\n )}\n {hasButtons && (\n <div className={\"flex flex-row space-x-4\"}>\n {buttons.map(({ buttonType: ButtonComponent, buttonProps }) => (\n <ButtonComponent {...buttonProps} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nexport default TimelineHeader;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { BaseButtonProps } from \"../ButtonV2/ButtonProps.type\";\nimport CenteredHero, { CenteredHeroProps } from \"../CenteredHero/CenteredHero\";\n\nimport { TimelineStep, TimelineStepProps } from \"./TimelineStep\";\nimport { TimelineHeader, TimelineHeaderProps } from \"./TimelineHeader\";\n\nexport interface TimelineProps {\n headerProps?: TimelineHeaderProps;\n steps: TimelineStepProps[];\n loadMoreButtonProps?: BaseButtonProps;\n dataTestId?: string;\n emptyHeroProps?: CenteredHeroProps;\n}\n\nexport const Timeline = ({\n headerProps,\n steps,\n loadMoreButtonProps,\n dataTestId = \"timeline\",\n emptyHeroProps,\n}: TimelineProps): JSX.Element => {\n const isEmptyTimeline = !steps || steps.length === 0;\n return (\n <div className={\"bg-white rounded-xl\"} data-test-id={dataTestId}>\n {headerProps && <TimelineHeader {...headerProps} />}\n\n {isEmptyTimeline && emptyHeroProps && (\n <CenteredHero background={\"white\"} {...emptyHeroProps} />\n )}\n\n {!isEmptyTimeline && (\n <>\n <div\n className={classNames(\"px-4 pb-4\", {\n \"pt-4\": !headerProps,\n })}\n >\n {steps.map((step) => (\n <TimelineStep {...step} />\n ))}\n </div>\n {loadMoreButtonProps && (\n <div className={\"text-center border-t py-6\"}>\n <SecondaryButton {...loadMoreButtonProps} />\n </div>\n )}\n </>\n )}\n </div>\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 { FormFieldLabelerWithFormProps } 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 FormFieldLabeler({\n name,\n children,\n label,\n fieldRequired,\n info,\n fieldErrors,\n decoratorClassname,\n}: FormFieldLabelerWithFormProps): JSX.Element {\n return (\n <div className={classNames(decoratorClassname)}>\n {label && (\n <label\n className=\"block mb-1 cweb-form-field-label\"\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, { HTMLInputTypeAttribute } from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport Input, { InputProps } from \"../Input/Input\";\n\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport { hasError } from \"./form.transformer\";\nimport { FormFieldLabelerWithFormProps } from \"./form.types\";\n\ninterface FormInputProps\n extends Omit<InputProps, \"name\">,\n FormFieldLabelerWithFormProps {\n control: Control;\n // ref: https://react-hook-form.com/ts#UseControllerProps\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n type: Extract<\n HTMLInputTypeAttribute,\n \"email\" | \"number\" | \"password\" | \"text\"\n >;\n}\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 <FormFieldLabeler\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 </FormFieldLabeler>\n )\n);\n","import React from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport { RadioGroupProps, RadioGroupV2 } from \"../RadioGroup/RadioGroupV2\";\n\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport { hasError } from \"./form.transformer\";\nimport { FormFieldLabelerWithFormProps } from \"./form.types\";\n\ninterface FormRadioGroupProps\n extends Omit<RadioGroupProps, \"name\">,\n FormFieldLabelerWithFormProps {\n control: Control;\n // ref: https://react-hook-form.com/ts#UseControllerProps\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n}\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 <FormFieldLabeler\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 </FormFieldLabeler>\n )\n);\n","import React from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport { Select, SelectProps } from \"../Select/Select\";\n\nimport { FormFieldLabelerWithFormProps } from \"./form.types\";\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport { hasError } from \"./form.transformer\";\n\ninterface FormSelectProps\n extends Omit<SelectProps, \"name\">,\n FormFieldLabelerWithFormProps {\n control: Control;\n // ref: https://react-hook-form.com/ts#UseControllerProps\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n}\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 <FormFieldLabeler\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 </FormFieldLabeler>\n );\n }\n);\n","import React, { useEffect } from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport { ImagePicker } from \"../ImagePicker/ImagePicker\";\n\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport {\n ImagePickerFieldConfiguration,\n FormFieldLabelerWithFormProps,\n} from \"./form.types\";\n\ninterface FormImagePickerProps\n extends ImagePickerFieldConfiguration,\n FormFieldLabelerWithFormProps {\n control: Control;\n // ref: https://react-hook-form.com/ts#UseControllerProps\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n}\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 <FormFieldLabeler\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 </FormFieldLabeler>\n )\n);\n","import React from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport Checkbox from \"../Checkbox/Checkbox\";\n\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport { hasError } from \"./form.transformer\";\nimport {\n FieldCheckboxConfiguration,\n FormFieldLabelerWithFormProps,\n} from \"./form.types\";\n\ninterface FormCheckboxProps\n extends FieldCheckboxConfiguration,\n FormFieldLabelerWithFormProps {\n control: Control;\n // ref: https://react-hook-form.com/ts#UseControllerProps\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n}\n\nexport const FormFieldCheckbox = React.forwardRef<\n HTMLInputElement,\n FormCheckboxProps\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 <FormFieldLabeler\n name={name}\n fieldErrors={fieldErrors}\n fieldRequired={fieldRequired}\n 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 <Checkbox\n {...fieldProps}\n // Might be a tech debt due to how we named this\n // but the field type is always a checkbox, its shape\n // or style is what changes. The name `variant` was added\n // to the props to avoid confusion.\n type={fieldProps.variant}\n isChecked={value}\n error={hasError(name, fieldErrors)}\n ref={innerRef}\n name={name}\n onChange={(event) => {\n onChange(event.target.checked);\n }}\n text={label}\n value={value}\n />\n );\n }}\n />\n </FormFieldLabeler>\n )\n);\n","import React, { useEffect, useState } from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport CheckboxList, { CheckboxListProps } from \"../CheckboxList/CheckboxList\";\n\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport {\n FieldCheckboxListConfiguration,\n FormFieldLabelerWithFormProps,\n} from \"./form.types\";\n\ninterface FormCheckboxListProps\n extends FieldCheckboxListConfiguration,\n FormFieldLabelerWithFormProps {\n control: Control;\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n}\n\nexport const FormFieldCheckboxList: React.FC<FormCheckboxListProps> = ({\n control,\n name,\n rules,\n fieldErrors,\n fieldRequired,\n label,\n info,\n decoratorClassname,\n\n fieldProps = { groups: [], onChange: () => undefined },\n}) => {\n return (\n <FormFieldLabeler\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 const { className, hasDividers } = fieldProps;\n const [checkboxListValues, setCheckboxListValues] =\n useState<CheckboxListProps[\"groups\"]>(value);\n\n useEffect(() => {\n setCheckboxListValues(value);\n }, [value]);\n\n return (\n <CheckboxList\n groups={checkboxListValues}\n hasDividers={hasDividers}\n className={className}\n onChange={(event) => {\n /**\n * This needs to be asynchronously orchestrated\n * because the CheckboxList component triggers multiple onChange\n * events after each other when you click a group that checks/unchecks the items.\n *\n * By always relying on the previous state, React can make put all changes together in one go.\n */\n setCheckboxListValues((previousState) => {\n const newState = previousState.map((group) => {\n const newItems = group.items.map((item) => {\n if (item.id === event.id) {\n return { ...item, isChecked: event.newCheckedValue };\n } else {\n return item;\n }\n });\n\n return { ...group, items: newItems };\n });\n onChange(newState);\n return newState;\n });\n }}\n />\n );\n }}\n />\n </FormFieldLabeler>\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 DeepPartial,\n SubmitErrorHandler,\n SubmitHandler,\n UnpackNestedValue,\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\";\nimport { CheckboxProps } from \"../Checkbox/Checkbox\";\nimport { CheckboxListProps } from \"../CheckboxList/CheckboxList.types\";\n\nimport { FormInput } from \"./FormInput\";\nimport { FormFieldLabelerProps, FormFieldConfiguration } from \"./form.types\";\nimport { isRequired } from \"./form.transformer\";\nimport { FormRadioGroup } from \"./FormRadioGroup\";\nimport { FormSelect } from \"./FormSelect\";\nimport { FormImagePicker } from \"./FormImagePicker\";\nimport { FormFieldCheckbox } from \"./FormFieldCheckbox\";\nimport { FormFieldCheckboxList } from \"./FormFieldCheckboxList\";\n\n// the input for the 'out-of-the-box' Form\nexport interface GenericFormProps<TFieldValues extends FieldValues> {\n // the fields to be rendered\n fields: FormFieldConfiguration<TFieldValues>[];\n onValid: SubmitHandler<TFieldValues>;\n onError?: SubmitErrorHandler<TFieldValues>;\n // inject the form with already known data (for instance, when updating\n defaultValues?: UnpackNestedValue<DeepPartial<TFieldValues>>;\n}\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\nexport interface FormProps<TFieldValues extends FieldValues> {\n // the fields to be rendered\n fields: FormFieldConfiguration<TFieldValues>[];\n useFormReturn: UseFormReturn<TFieldValues>;\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: FormFieldConfiguration<TFieldValues>,\n useFormReturn: UseFormReturn<TFieldValues>\n): JSX.Element | null {\n const { type, name, options, fieldProps = {} } = formFieldProps;\n const decoratorProps: FormFieldLabelerProps = 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 case \"checkbox\": {\n return (\n <FormFieldCheckbox\n key={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n {...(fieldProps as CheckboxProps)}\n type=\"checkbox\"\n name={name}\n rules={options}\n control={control}\n />\n );\n }\n\n case \"checkboxlist\": {\n return (\n <FormFieldCheckboxList\n key={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n type=\"checkboxlist\"\n name={name}\n rules={options}\n control={control}\n fieldProps={fieldProps as CheckboxListProps}\n />\n );\n }\n case \"void\":\n return null;\n default:\n return null;\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","IconWrapper","SVGComponent","role","onClick","undefined","SvgAddIcon","xmlns","width","height","fill","viewBox","d","iconWrapper","SvgAlertsIcon","x","y","rx","SvgBellIcon","SvgChartIcon","SvgChartLineColoredIcon","cx","cy","r","SvgChatBoxIcon","SvgCheckIcon","fillRule","SvgChevronDoubleIcon","clipRule","SvgChevronDownIcon","SvgChevronRightIcon","SvgCrossIcon","SvgDeleteIcon","SvgDownArrowIcon","SvgDragIcon","SvgEditIcon","SvgEmptyIcon","SvgEmptyStateDashboardIcon","fillOpacity","SvgExclamationMarkIcon","SvgEyeIcon","SvgGearColoredIcon","SvgGearIcon","SvgGroupColoredIcon","SvgGroupIcon","SvgHamburgerIcon","SvgHeartIcon","SvgImageIcon","SvgInfoIcon","SvgLeftArrowIcon","SvgLightBulbIcon","SvgLinkIcon","stroke","strokeLinecap","strokeWidth","strokeLinejoin","SvgLockIcon","SvgMessagesIcon","SvgMouseIcon","SvgNotesIcon","SvgPinIcon","SvgPrintIcon","SvgRightArrowIcon","SvgSearchCancelIcon","SvgSearchIcon","SvgSmallCircleIcon","SvgSmallDiamondIcon","transform","SvgSmallSquareIcon","SvgSpaceRocketIcon","SvgStarIcon","SvgStatusColoredIcon","SvgWarningIcon","TOASTER_TYPE_OPTIONS","SUCCESS","FAILURE","Toaster","message","isVisible","styleOverwrite","isSuccess","isFailure","style","id","shelved","expanded","hidden","CheckIcon","WarningIcon","CrossIcon","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","Title","containerClassName","ContainerElement","AccordionItem","content","isCollapsedByDefault","useReducer","state","isCollapsed","toggleIsCollapsed","Chevron","ChevronRightIcon","ChevronDownIcon","Accordion","dataTestId","items","map","item","key","ListItemSkeleton","ListSkeleton","skeletonItems","Array","from","length","_","i","BaseListHeader","button","transparent","withBorder","createElement","buttonType","buttonProps","BaseListEmptyState","roundTop","Icon","name","iconProps","Icons","IconComponentOrKey","isIconKey","DragHandle","forwardRef","ref","classes","grabbing","disabled","tabIndex","BaseListIcon","icon","onAssetLoadError","useState","loadIconError","setLoadIconError","onListItemIconLoadError","onListItemIconLoad","src","alt","onLoad","onError","ImageIcon","createAssetLoadError","payload","callback","console","BaseListItem","itemId","tooltipId","roundBottom","isDraggable","isSelected","subtitle","accessories","handleItemClick","renderDragHandle","htmlProps","clickHandler","BaseListInner","headerButton","emptyStateMessage","isLoading","headerTransparent","itemComponent","footer","hasHeader","Boolean","BaseList","draggableListItemPropsPointer","symbol","Symbol","createDraggableListProps","WeakMap","Object","freeze","isDraggableListItemProps","subject","has","draggableListPropsKey","getDndListItemProps","possibleDraggableListItemProps","data","current","get","DraggableBaseListItem","draggableData","useDraggable","draggableIdentifier","setNodeRef","listeners","attributes","isDragging","DraggableBaseList","DefaultState","horizontal","DropzonePresentation","isHighlighted","isClickable","Dropzone","identifier","useDroppable","isOver","presentation","SortableBaseListItem","useSortable","styleTransform","CSS","Transform","toString","SortableBaseList","SortableContext","strategy","verticalListSortingStrategy","ListItem","DefaultList","onDragEnd","listRef","useRef","dragulaRef","useEffect","destroy","setupDragging","handleDragEnd","element","draggedItemId","dataset","itemIdsWithOldOrder","itemIdsWithNewOrder","child","filter","oldIndexOfDraggedItemId","indexOf","newIndexOfDraggedItemId","dragulaInstance","dragula","revertOnSpill","on","List","draggableListType","omit","INPUT_TYPES","EMAIL","NUMBER","PASSWORD","TEXT","Input","withSuffix","withPrefix","clearable","isDisabled","value","onChange","isError","asFormField","otherProps","hasNoExtraContent","innerValue","setInnerValue","clearField","target","currentTarget","handleChangeEvent","event","isClearIconVisible","size","maxLength","rounded","block","SearchInput","Spinner","ButtonV2","innerRef","textColor","textHoverColor","isPending","otherAttributes","generatedId","useId","buttonTooltipId","handleClick","stopPropagation","buttonClassName","textColorClass","tooltipAttrs","buttonComponent","left","top","invisible","ReactTooltip","effect","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","restProps","spinnerToRender","spinner","graySpinner","loadingImage","AccordionList","localisations","searchPlaceholder","emptyListText","accordionItems","isSearchEnabled","accordionProps","searchString","setSearchString","filterItems","filterString","filterAccordionListItems","listItems","contentForAccordionItem","titleForAccordionItem","searchEnabled","itemTitle","numberOfItems","filteredNumberOfItems","filteredAccordionItems","useMemo","filteredItems","filteredItem","placeholder","e","TertiaryButton","ModalHeader","onCloseClick","PrimaryButton","ModalFooter","footerLeadingComponent","footerTrailingComponents","secondaryButtonProps","primaryButtonProps","ModalBase","withContentPaddingY","isOpen","ReactModal","setAppElement","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","iconSrc","close","CloseIcon","hamburger","HamburgerIcon","ChevronRightBlueIcon","ChevronLeftBlueIcon","ChevronRightGreyIcon","ChevronLeftGreyIcon","search","SearchIcon","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","AddIcon","EditIcon","DeleteIcon","LeftArrowIcon","RightArrowIcon","ChartIcon","PrintIcon","GliderContainer","Carousel","slides","setIsVisible","Glider","hasDots","hasArrows","skipTrack","scrollLock","rewind","arrows","prev","next","dots","containerElement","slide","index","CenteredHero","buttons","background","imageSize","handleOnClick","CheckboxInner","explanation","isChecked","isIndeterminate","checked","setChecked","indeterminate","setIndeterminate","isFocused","setIsFocused","hasError","handleChange","handleFocus","handleBlur","onBlur","onFocus","Checkbox","ConfirmationDialogTitle","TextLink","enabled","href","rel","NotificationBanner","stretch","centerContent","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","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","input","multiValue","lineHeight","valueContainer","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","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","collapsible","UNCHECKED","groupCheckboxState","setGroupCheckboxState","collapsed","setCollapsed","setIsDisabled","enabledItems","INDETERMINATE","CHECKED","handleGroupClick","forEach","handleGroupCollapse","checkedItemsCount","groupTitle","CollapseStateChevron","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","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","accessoryPosition","isPolling","navLayoutProps","feedbackBlock","navMenu","mergedPageClasses","containerClassnames","maybeTitle","Function","accessoryClasses","accessoriesContent","childrenOrContentProp","breadcrumbItemShape","breadcrumbs","isFetching","Step","stepNumber","active","barColor","step","Steps","orderedStepTitles","currentStep","renderedSteps","stepTitle","isBreadcrumbDividerProps","possibleSubject","truncatedCrumbs","BreadcrumbItem","Link","to","BreadcrumbDividerItem","crumb","Breadcrumbs","crumbs","truncateAfter","Infinity","head","tail","isTruncated","setIsTruncated","shiftedCrumb","shift","dividerProps","crumbsAndDivider","crumbOrDividerProps","TabbarItem","onSelect","handleTabClick","Tabbar","tabs","withoutPadding","innerSelectedIndex","setInnerSelectedIndex","handleOnTabSelect","selectedTab","tabItemProps","itemProps","PageHeader","navigation","contained","truncateBreadcrumbsAfter","withContained","CRUDPage","submitButtonProps","cancelButtonProps","isSubmitting","header","steps","mergedClasses","submitButton","cancelButton","pageHeader","titles","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","loadingIndicatorProps","SectionItem","SectionItemWithContent","iconClass","iconClasses","useOutsideClick","SettingsMenuButton","configuration","configFromProps","onConfigurationChange","shiftMenuTo","buttonTitle","iconComponent","menuTitle","innerConfiguration","setInnerConfiguration","showMenu","setShowMenu","menuRef","handleShowMenu","handleOnVibilitySwitchChanged","newConfig","config","itemName","innerConfig","SwitcherItem","default","showBadge","calculatedIcon","Switcher","currentSelection","setCurrentSelection","handleItemSelect","showIconOnFailure","setIsError","LazyLoadImage","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","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","TimelineHeader","hasButtons","ButtonComponent","Timeline","headerProps","loadMoreButtonProps","emptyHeroProps","isEmptyTimeline","ViewItem","titleProps","titleAccessory","contentProps","defaultContent","titlePropsMerged","contentPropsMerged","line","textProps","FormFieldErrorMessages","fieldErrors","types","errorKey","errorMessage","FormFieldLabeler","fieldRequired","decoratorClassname","errors","FormInput","rules","fieldProps","Controller","field","FormRadioGroup","FormSelect","selectProps","FormImagePicker","FormFieldCheckbox","variant","FormFieldCheckboxList","checkboxListValues","setCheckboxListValues","previousState","newState","newItems","GenericForm","fields","onValid","defaultValues","useFormReturn","useForm","criteriaMode","reset","handleSubmit","Form","FormFieldMapper","formFieldProps","decoratorProps","pick","formState","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/iconWrapper/iconWrapper.tsx","../src/components/Icons/AddIcon.tsx","../src/components/Icons/AlertsIcon.tsx","../src/components/Icons/BellIcon.tsx","../src/components/Icons/ChartIcon.tsx","../src/components/Icons/ChartLineColoredIcon.tsx","../src/components/Icons/ChatBoxIcon.tsx","../src/components/Icons/CheckIcon.tsx","../src/components/Icons/ChevronDoubleIcon.tsx","../src/components/Icons/ChevronDownIcon.tsx","../src/components/Icons/ChevronRightIcon.tsx","../src/components/Icons/CrossIcon.tsx","../src/components/Icons/DeleteIcon.tsx","../src/components/Icons/DownArrowIcon.tsx","../src/components/Icons/DragIcon.tsx","../src/components/Icons/EditIcon.tsx","../src/components/Icons/EmptyIcon.tsx","../src/components/Icons/EmptyStateDashboardIcon.tsx","../src/components/Icons/ExclamationMarkIcon.tsx","../src/components/Icons/EyeIcon.tsx","../src/components/Icons/GearColoredIcon.tsx","../src/components/Icons/GearIcon.tsx","../src/components/Icons/GroupColoredIcon.tsx","../src/components/Icons/GroupIcon.tsx","../src/components/Icons/HamburgerIcon.tsx","../src/components/Icons/HeartIcon.tsx","../src/components/Icons/ImageIcon.tsx","../src/components/Icons/InfoIcon.tsx","../src/components/Icons/LeftArrowIcon.tsx","../src/components/Icons/LightBulbIcon.tsx","../src/components/Icons/LinkIcon.tsx","../src/components/Icons/LockIcon.tsx","../src/components/Icons/MessagesIcon.tsx","../src/components/Icons/MouseIcon.tsx","../src/components/Icons/NotesIcon.tsx","../src/components/Icons/PinIcon.tsx","../src/components/Icons/PrintIcon.tsx","../src/components/Icons/RightArrowIcon.tsx","../src/components/Icons/SearchCancelIcon.tsx","../src/components/Icons/SearchIcon.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/StatusColoredIcon.tsx","../src/components/Icons/WarningIcon.tsx","../src/components/Icons/index.ts","../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/Title/Title.tsx","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/Accordion.tsx","../src/components/BaseList/ListSkeleton/ListItemSkeleton.tsx","../src/components/BaseList/ListSkeleton/ListSkeleton.tsx","../src/components/BaseList/BaseListHeader.tsx","../src/components/BaseList/BaseListEmptyState.tsx","../src/components/Icon/Icon.tsx","../src/components/DragHandle/DragHandle.tsx","../src/components/BaseList/BaseListIcon.tsx","../src/components/BaseList/BaseListItem.tsx","../src/components/BaseList/BaseList.tsx","../src/components/BaseList/utils.ts","../src/components/BaseList/DraggableBaseList/DraggableBaseListItem.tsx","../src/components/BaseList/DraggableBaseList/DraggableBaseList.tsx","../src/components/Dropzone/Dropzone.tsx","../src/components/BaseList/SortableBaseList/SortableBaseListItem.tsx","../src/components/BaseList/SortableBaseList/SortableBaseList.tsx","../src/components/List/ListItem.tsx","../src/components/List/List.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/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/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/Steps/Step.tsx","../src/components/Steps/Steps.tsx","../src/components/Breadcrumbs/Breadcrumbs.types.ts","../src/components/Breadcrumbs/BreadcrumbItem.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/Tabbar/TabbarItem.tsx","../src/components/Tabbar/Tabbar.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/Page/CRUDPage.tsx","../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/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/TimelineHeader.tsx","../src/components/Timeline/Timeline.tsx","../src/components/ViewItem/ViewItem.tsx","../src/components/Form/FormFieldErrorMessages.tsx","../src/components/Form/FormFieldLabeler.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/FormFieldCheckbox.tsx","../src/components/Form/FormFieldCheckboxList.tsx","../src/components/Form/Form.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-1\": horizontalSpacing === \"tiny\",\n \"space-x-2\": horizontalSpacing === \"small\",\n \"space-x-4\": horizontalSpacing === \"medium\",\n \"space-x-8\": horizontalSpacing === \"large\",\n\n \"space-y-1\": verticalSpacing === \"tiny\",\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, { HTMLAttributes } from \"react\";\n\nimport { IconProps } from \"../types/IconProps.type\";\n\n/*\n This wrapper is for keeping the behaviour of setting the role based on the presence of an onClick prop\n*/\n\nconst IconWrapper =\n (\n SVGComponent: (\n props: IconProps & Pick<HTMLAttributes<SVGElement>, \"role\">\n ) => JSX.Element\n ) =>\n (props: IconProps): JSX.Element =>\n <SVGComponent {...props} role={props.onClick ? \"button\" : undefined} />;\n\nexport default IconWrapper;\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgAddIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"#0074DD\"\n d=\"M12 19a.965.965 0 0 1-.712-.288A.965.965 0 0 1 11 18v-5H6a.968.968 0 0 1-.713-.288A.967.967 0 0 1 5 12a.97.97 0 0 1 .287-.713A.97.97 0 0 1 6 11h5V6c0-.283.096-.521.288-.713A.967.967 0 0 1 12 5a.97.97 0 0 1 .713.287A.97.97 0 0 1 13 6v5h5a.97.97 0 0 1 .712.287c.192.192.288.43.288.713s-.096.52-.288.712A.965.965 0 0 1 18 13h-5v5a.97.97 0 0 1-.287.712A.968.968 0 0 1 12 19Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgAddIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgAlertsIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M14 19.5c0 .663-.21 1.299-.586 1.768-.375.469-.884.732-1.414.732-.53 0-1.04-.263-1.414-.732-.375-.47-.586-1.105-.586-1.768h4ZM10 4a2 2 0 1 1 4 0v1h-4V4Z\"\n />\n <path fill=\"currentColor\" d=\"M5 11a7 7 0 0 1 14 0v6H5v-6Z\" />\n <rect\n width={18}\n height={2.5}\n x={3}\n y={15.5}\n fill=\"currentColor\"\n rx={1.25}\n />\n </svg>\n);\nexport default iconWrapper(SvgAlertsIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgBellIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M14 19.5c0 .663-.21 1.299-.586 1.768-.375.469-.884.732-1.414.732-.53 0-1.04-.263-1.414-.732-.375-.47-.586-1.105-.586-1.768h4ZM10 4a2 2 0 1 1 4 0v1h-4V4Z\"\n />\n <path fill=\"currentColor\" d=\"M5 11a7 7 0 0 1 14 0v6H5v-6Z\" />\n <rect\n width={18}\n height={2.5}\n x={3}\n y={15.5}\n fill=\"currentColor\"\n rx={1.25}\n />\n </svg>\n);\nexport default iconWrapper(SvgBellIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChartIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <rect width={5} height={15} x={2} y={7} fill=\"currentColor\" rx={2.5} />\n <rect width={5} height={19} x={9} y={3} fill=\"currentColor\" rx={2.5} />\n <rect width={5} height={12} x={16} y={10} fill=\"currentColor\" rx={2.5} />\n </svg>\n);\nexport default iconWrapper(SvgChartIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChartLineColoredIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <path\n fill=\"#F09\"\n d=\"M5 20c-.55 0-1.02-.196-1.412-.587A1.927 1.927 0 0 1 3 18c0-.55.196-1.021.588-1.413A1.925 1.925 0 0 1 5 16h.263a.64.64 0 0 1 .237.05l4.55-4.55a.642.642 0 0 1-.05-.238V11c0-.55.196-1.021.588-1.413A1.925 1.925 0 0 1 12 9c.55 0 1.021.196 1.413.587.391.392.587.863.587 1.413 0 .033-.017.2-.05.5l2.55 2.55a.642.642 0 0 1 .238-.05h.524c.075 0 .155.017.238.05l3.55-3.55a.642.642 0 0 1-.05-.238V10c0-.55.196-1.02.587-1.412A1.927 1.927 0 0 1 23 8c.55 0 1.021.196 1.413.588.391.391.587.862.587 1.412 0 .55-.196 1.02-.587 1.412A1.927 1.927 0 0 1 23 12h-.262a.642.642 0 0 1-.238-.05l-3.55 3.55c.033.083.05.163.05.238V16c0 .55-.196 1.02-.587 1.412A1.927 1.927 0 0 1 17 18c-.55 0-1.02-.196-1.412-.588A1.923 1.923 0 0 1 15 16v-.262c0-.075.017-.155.05-.238l-2.55-2.55a.642.642 0 0 1-.238.05H12c-.033 0-.2-.017-.5-.05L6.95 17.5c.033.083.05.163.05.238V18c0 .55-.196 1.021-.588 1.413A1.925 1.925 0 0 1 5 20Z\"\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);\nexport default iconWrapper(SvgChartLineColoredIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChatBoxIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={20}\n height={19}\n fill=\"none\"\n viewBox=\"0 0 20 19\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M18 0H2C.9 0 0 .9 0 2v15.59c0 .89 1.08 1.34 1.71.71L4 16h14c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2Zm-6.43 9.57-1.12 2.44a.5.5 0 0 1-.91 0L8.42 9.57 5.98 8.45a.5.5 0 0 1 0-.91l2.44-1.12 1.12-2.44a.5.5 0 0 1 .91 0l1.12 2.44 2.44 1.12a.5.5 0 0 1 0 .91l-2.44 1.12Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgChatBoxIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgCheckIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M18.707 7.293a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414 0l-4-4a1 1 0 1 1 1.414-1.414L10 14.586l7.293-7.293a1 1 0 0 1 1.414 0Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgCheckIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChevronDoubleIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={8}\n height={14}\n fill=\"none\"\n viewBox=\"0 0 8 14\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M4 0a1 1 0 0 1 .707.293l3 3a1 1 0 0 1-1.414 1.414L4 2.414 1.707 4.707A1 1 0 0 1 .293 3.293l3-3A1 1 0 0 1 4 0ZM.293 9.293a1 1 0 0 1 1.414 0L4 11.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 0-1.414Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\nexport default iconWrapper(SvgChevronDoubleIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChevronDownIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M17.6 8.999a.996.996 0 0 0-1.41 0l-3.88 3.88-3.88-3.88a.996.996 0 1 0-1.41 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.38-.38.38-1.02-.01-1.41Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgChevronDownIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgChevronRightIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M9.31 6.71a.996.996 0 0 0 0 1.41L13.19 12l-3.88 3.88a.996.996 0 1 0 1.41 1.41l4.59-4.59a.996.996 0 0 0 0-1.41L10.72 6.7c-.38-.38-1.02-.38-1.41.01Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgChevronRightIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgCrossIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M7.05 5.637A1 1 0 0 0 5.636 7.05l4.95 4.95-4.95 4.95a1 1 0 0 0 1.414 1.414l4.95-4.95 4.95 4.95a1 1 0 0 0 1.414-1.415L13.414 12l4.95-4.949a1 1 0 0 0-1.414-1.414L12 10.587l-4.95-4.95Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgCrossIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgDeleteIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v10ZM18 4h-2.5l-.71-.71c-.18-.18-.44-.29-.7-.29H9.91c-.26 0-.52.11-.7.29L8.5 4H6c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgDeleteIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgDownArrowIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"m12.762 6.57-.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);\nexport default iconWrapper(SvgDownArrowIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgDragIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M8 4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H8Zm6 0a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-2Zm-7 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-2Zm7-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Zm-7 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-2Zm7-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\nexport default iconWrapper(SvgDragIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgEditIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M3 17.46v3.04c0 .28.22.5.5.5h3.04c.13 0 .26-.05.35-.15L17.81 9.94l-3.75-3.75L3.15 17.1c-.1.1-.15.22-.15.36ZM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgEditIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgEmptyIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M14 22a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm0 3c6.075 0 11-4.925 11-11S20.075 3 14 3 3 7.925 3 14s4.925 11 11 11Z\"\n clipRule=\"evenodd\"\n />\n <path\n fill=\"currentColor\"\n d=\"M3.414 24.414a2 2 0 0 1 0-2.828L21.148 3.852a2 2 0 1 1 2.829 2.828L6.243 24.414a2 2 0 0 1-2.829 0Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgEmptyIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgEmptyStateDashboardIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={450}\n height={300}\n fill=\"none\"\n viewBox=\"0 0 450 300\"\n {...props}\n >\n <path\n fill=\"#82D6F8\"\n d=\"M450 291c0-26.921-5.82-53.578-17.127-78.45-11.307-24.872-27.881-47.471-48.774-66.507-20.893-19.036-45.697-34.136-72.995-44.438C283.806 91.302 254.547 86 225 86c-29.547 0-58.806 5.302-86.104 15.605-27.298 10.302-52.102 25.402-72.995 44.438-20.893 19.036-37.467 41.635-48.774 66.507C5.82 237.422 0 264.079 0 291h450Z\"\n />\n <path\n fill=\"#1F2937\"\n d=\"M95 73.008C95 65.824 100.824 60 108.008 60h234.146c7.184 0 13.008 5.824 13.008 13.008v150.244c0 7.184-5.824 13.008-13.008 13.008H108.008c-7.184 0-13.008-5.824-13.008-13.008V73.008Z\"\n />\n <path\n fill=\"#F9FAFB\"\n d=\"M167.846 70.406h172.91a4 4 0 0 1 4 4v147.447a4 4 0 0 1-4 4h-172.91V70.406Z\"\n />\n <path\n fill=\"#fff\"\n d=\"M173.049 99.772a4 4 0 0 1 4-4h72.65a4 4 0 0 1 4 4v51.837a4 4 0 0 1-4 4h-72.65a4 4 0 0 1-4-4V99.772Z\"\n />\n <path\n fill=\"#FF83B4\"\n d=\"M226.988 139.305a.634.634 0 0 1-.007.912 19.51 19.51 0 0 1-25.709.834 19.507 19.507 0 0 1-7.039-16.995 19.5 19.5 0 0 1 10.22-15.296 19.507 19.507 0 0 1 8.548-2.293c.359-.012.65.28.65.639v18.593a.65.65 0 0 0 .19.46l13.147 13.146Z\"\n />\n <path\n fill=\"#52C6F4\"\n d=\"M233.813 124.667a.634.634 0 0 0 .64-.65 19.515 19.515 0 0 0-18.851-18.851.634.634 0 0 0-.651.639v18.212c0 .359.291.65.651.65h18.211Z\"\n />\n <path\n fill=\"#6ABFA5\"\n d=\"M228.937 139.306a.634.634 0 0 0 .912-.008 19.513 19.513 0 0 0 5.252-12.679.635.635 0 0 0-.64-.651h-17.292a.65.65 0 0 0-.459 1.111l12.227 12.227Z\"\n />\n <path\n fill=\"#fff\"\n d=\"M258.902 99.772a4 4 0 0 1 4-4h72.651a4 4 0 0 1 4 4v51.837a4 4 0 0 1-4 4h-72.651a4 4 0 0 1-4-4V99.772Z\"\n />\n <path\n fill=\"#52C6F4\"\n d=\"M278.414 126.991a2.601 2.601 0 0 1 2.602-2.601h5.203a2.601 2.601 0 0 1 2.602 2.601v15.61a2.602 2.602 0 0 1-2.602 2.602h-5.203a2.602 2.602 0 0 1-2.602-2.602v-15.61Zm15.61-16.26a2.602 2.602 0 0 1 2.601-2.602h5.204a2.601 2.601 0 0 1 2.601 2.602v31.87a2.601 2.601 0 0 1-2.601 2.602h-5.204a2.602 2.602 0 0 1-2.601-2.602v-31.87Z\"\n />\n <path\n fill=\"#6ABFA5\"\n d=\"M309.634 119.837a2.601 2.601 0 0 1 2.601-2.602h5.203a2.602 2.602 0 0 1 2.602 2.602v22.764a2.602 2.602 0 0 1-2.602 2.602h-5.203a2.601 2.601 0 0 1-2.601-2.602v-22.764Z\"\n />\n <path\n fill=\"#fff\"\n d=\"M258.902 164.812a4 4 0 0 1 4-4h72.651a4 4 0 0 1 4 4.001v51.837a4 4 0 0 1-4 4h-72.651a4 4 0 0 1-4-4v-51.838Z\"\n />\n <path\n fill=\"#6ABFA5\"\n fillRule=\"evenodd\"\n d=\"M280.096 191.874s-8.609-8.594.678-17.219c0 0 3.401-3.603 10.279-2.614 3.899.562 5.429 2.412 8.022 6.325 0 0 3.216-6.206 11.725-6.229 7.25-.019 12.804 8.086 10.765 14.744 0 0-.681 2.076-3.515 4.993l-18.928 18.369-19.026-18.369Z\"\n clipRule=\"evenodd\"\n />\n <path\n fill=\"#fff\"\n d=\"M173.049 164.812a4 4 0 0 1 4-4h72.65a4 4 0 0 1 4 4.001v51.837a4 4 0 0 1-4 4h-72.65a4 4 0 0 1-4-4v-51.838Z\"\n />\n <path fill=\"#F4F4F4\" d=\"M173.049 178.374h80.65v1.301h-80.65z\" />\n <path\n fill=\"#52C6F4\"\n fillRule=\"evenodd\"\n d=\"M228.738 169.616c.394-.076.801.035 1.102.299l15.61 13.658a1.301 1.301 0 1 1-1.713 1.958l-14.354-12.559-14.85 29.082a1.302 1.302 0 0 1-1.896.481l-15.488-10.649-15.473-6.124a1.3 1.3 0 1 1 .957-2.419l15.61 6.178c.091.036.178.083.258.138l14.389 9.892 14.935-29.249c.183-.357.52-.61.913-.686Z\"\n clipRule=\"evenodd\"\n />\n <circle cx={182.805} cy={184.878} r={2.602} fill=\"#3FABD6\" />\n <circle cx={197.764} cy={190.731} r={2.602} fill=\"#3FABD6\" />\n <circle cx={213.373} cy={201.137} r={2.602} fill=\"#3FABD6\" />\n <circle cx={229.635} cy={171.219} r={3.902} fill=\"#6ABFA5\" />\n <circle cx={245.244} cy={184.878} r={2.602} fill=\"#3FABD6\" />\n <path\n fill=\"#fff\"\n d=\"M173.049 80.26a4 4 0 0 1 4-4h158.504a4 4 0 0 1 4 4v6.31a4 4 0 0 1-4 4H177.049a4 4 0 0 1-4-4v-6.31Z\"\n />\n <rect\n width={26.016}\n height={3.902}\n x={178.252}\n y={81.463}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <rect\n width={52.032}\n height={3.902}\n x={282.316}\n y={81.463}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <rect\n width={67.642}\n height={3.902}\n x={209.471}\n y={81.463}\n fill=\"#9CA3AF\"\n rx={1.951}\n />\n <path\n fill=\"#1F2937\"\n d=\"M160.041 289.594c0-5.748 4.659-10.407 10.407-10.407h109.268c5.747 0 10.406 4.659 10.406 10.407 0 5.747-4.659 10.406-10.406 10.406H170.448c-5.748 0-10.407-4.659-10.407-10.406Z\"\n />\n <path\n fill=\"#4B5563\"\n d=\"M203.617 236.26h42.927l5.203 42.927h-53.333l5.203-42.927Z\"\n />\n <path\n fill=\"#F3F4F6\"\n d=\"M105.406 74.406a4 4 0 0 1 4-4h58.439v155.447h-58.439a4 4 0 0 1-4-4V74.406Z\"\n />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={73.659}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={37.724}\n height={5.203}\n x={123.617}\n y={76.261}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={26.016}\n height={3.902}\n x={123.617}\n y={82.764}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={81.464} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={94.471}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={33.821}\n height={5.203}\n x={123.617}\n y={97.073}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={35.772}\n height={3.902}\n x={123.617}\n y={103.577}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={102.276} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={115.285}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={37.724}\n height={5.203}\n x={123.617}\n y={117.887}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={26.016}\n height={3.902}\n x={123.617}\n y={124.391}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={123.09} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={136.098}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={33.821}\n height={5.203}\n x={123.617}\n y={138.7}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={31.87}\n height={3.902}\n x={123.617}\n y={145.203}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={143.903} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={156.91}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={37.724}\n height={5.203}\n x={123.617}\n y={159.512}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={26.016}\n height={3.902}\n x={123.617}\n y={166.016}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={164.715} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={177.723}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={31.87}\n height={5.203}\n x={123.617}\n y={180.325}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={31.87}\n height={3.902}\n x={123.617}\n y={186.829}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={185.528} r={5.203} fill=\"#D1D5DB\" />\n <rect\n width={55.935}\n height={15.61}\n x={108.658}\n y={198.537}\n fill=\"#fff\"\n rx={4}\n />\n <rect\n width={37.724}\n height={5.203}\n x={123.617}\n y={201.138}\n fill=\"#9CA3AF\"\n rx={2.602}\n />\n <rect\n width={26.016}\n height={3.902}\n x={123.617}\n y={207.642}\n fill=\"#D1D5DB\"\n rx={1.951}\n />\n <circle cx={115.813} cy={206.341} r={5.203} fill=\"#D1D5DB\" />\n <path\n fill=\"#374151\"\n d=\"M204.538 57.22a8 8 0 0 1 6.47-3.294h28.801a7.999 7.999 0 0 1 6.469 3.294l2.701 3.713h-47.141l2.7-3.713Z\"\n />\n <circle cx={225.408} cy={52.652} r={14.652} fill=\"#374151\" />\n <circle cx={225.408} cy={52.652} r={8.281} fill=\"#1F2937\" />\n <circle cx={225.409} cy={52.652} r={5.733} fill=\"#86DDFF\" />\n <circle cx={223.497} cy={50.103} r={1.911} fill=\"#fff\" fillOpacity={0.5} />\n </svg>\n);\nexport default iconWrapper(SvgEmptyStateDashboardIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgExclamationMarkIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 11c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1Zm1 4h-2v-2h2v2Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgExclamationMarkIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgEyeIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={22}\n height={15}\n fill=\"none\"\n viewBox=\"0 0 22 15\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M11 0C6 0 1.73 3.11 0 7.5 1.73 11.89 6 15 11 15s9.27-3.11 11-7.5C20.27 3.11 16 0 11 0Zm0 12.5c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5Zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgEyeIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgGearColoredIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <path\n fill=\"#6670A5\"\n d=\"M13.142 2.437a1.062 1.062 0 0 1 1.716 0l2.124 2.916c.235.322.63.486 1.024.424l3.564-.56a1.062 1.062 0 0 1 1.213 1.213l-.56 3.564c-.062.394.102.79.424 1.024l2.916 2.124a1.062 1.062 0 0 1 0 1.716l-2.916 2.124c-.322.235-.486.63-.424 1.024l.56 3.564a1.062 1.062 0 0 1-1.213 1.213l-3.564-.56a1.062 1.062 0 0 0-1.024.424l-2.124 2.916a1.062 1.062 0 0 1-1.716 0l-2.124-2.916a1.062 1.062 0 0 0-1.024-.424l-3.564.56a1.062 1.062 0 0 1-1.213-1.213l.56-3.564a1.062 1.062 0 0 0-.424-1.024l-2.916-2.124a1.062 1.062 0 0 1 0-1.716l2.916-2.124c.322-.235.486-.63.424-1.024l-.56-3.564A1.062 1.062 0 0 1 6.43 5.217l3.564.56c.394.062.79-.102 1.024-.424l2.124-2.916Z\"\n />\n <circle cx={14} cy={14} r={4} fill=\"#383B6D\" />\n </svg>\n);\nexport default iconWrapper(SvgGearColoredIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgGearIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={20}\n height={20}\n fill=\"none\"\n viewBox=\"0 0 20 20\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M17.5 10c0-.23-.01-.45-.03-.68l1.86-1.41c.4-.3.51-.86.26-1.3l-1.87-3.23a.987.987 0 0 0-1.25-.42l-2.15.91c-.37-.26-.76-.49-1.17-.68L12.86.88c-.06-.5-.49-.88-.99-.88H8.14c-.51 0-.94.38-1 .88l-.29 2.31c-.41.19-.8.42-1.17.68l-2.15-.91c-.46-.2-1-.02-1.25.42L.41 6.62c-.25.44-.14.99.26 1.3l1.86 1.41a7.343 7.343 0 0 0 0 1.35L.67 12.09c-.4.3-.51.86-.26 1.3l1.87 3.23c.25.44.79.62 1.25.42l2.15-.91c.37.26.76.49 1.17.68l.29 2.31c.06.5.49.88.99.88h3.73c.5 0 .93-.38.99-.88l.29-2.31c.41-.19.8-.42 1.17-.68l2.15.91c.46.2 1 .02 1.25-.42l1.87-3.23c.25-.44.14-.99-.26-1.3l-1.86-1.41c.03-.23.04-.45.04-.68Zm-7.46 3.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgGearIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgGroupColoredIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <path\n fill=\"#6ABFA5\"\n d=\"M4 22a.965.965 0 0 1-.712-.288A.965.965 0 0 1 3 21v-1.8c0-.567.146-1.088.438-1.563A2.914 2.914 0 0 1 4.6 16.55a14.866 14.866 0 0 1 3.15-1.163A13.776 13.776 0 0 1 11 15c1.1 0 2.183.129 3.25.387 1.067.259 2.117.646 3.15 1.163.483.25.87.612 1.162 1.087.292.475.438.996.438 1.563V21c0 .283-.096.52-.288.712A.965.965 0 0 1 18 22H4Zm7-8c-1.1 0-2.042-.392-2.825-1.175C7.392 12.042 7 11.1 7 10s.392-2.042 1.175-2.825C8.958 6.392 9.9 6 11 6s2.042.392 2.825 1.175C14.608 7.958 15 8.9 15 10s-.392 2.042-1.175 2.825C13.042 13.608 12.1 14 11 14Z\"\n />\n <path\n fill=\"#559783\"\n d=\"M20.525 22a1.21 1.21 0 0 0 .35-.438 1.35 1.35 0 0 0 .125-.587V19c0-.733-.204-1.438-.612-2.113-.41-.675-.988-1.254-1.738-1.737.85.1 1.65.27 2.4.512s1.45.538 2.1.888c.6.333 1.058.704 1.375 1.112.316.409.475.855.475 1.338v2c0 .283-.096.52-.288.712A.965.965 0 0 1 24 22h-3.475ZM21 10c0 1.1-.392 2.042-1.175 2.825C19.04 13.608 18.1 14 17 14a4.92 4.92 0 0 1-.7-.062 6.181 6.181 0 0 1-.7-.138 5.937 5.937 0 0 0 1.037-1.775C16.879 11.375 17 10.7 17 10s-.121-1.375-.363-2.025A5.937 5.937 0 0 0 15.6 6.2c.233-.083.466-.138.7-.163.233-.025.466-.037.7-.037 1.1 0 2.041.392 2.825 1.175C20.608 7.958 21 8.9 21 10Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgGroupColoredIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgGroupIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M12 12.75c1.63 0 3.07.39 4.24.9 1.08.48 1.76 1.56 1.76 2.73V17c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-.61c0-1.18.68-2.26 1.76-2.73 1.17-.52 2.61-.91 4.24-.91ZM4 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2Zm1.13 1.1c-.37-.06-.74-.1-1.13-.1-.99 0-1.93.21-2.78.58A2.01 2.01 0 0 0 0 16.43V17c0 .55.45 1 1 1h3.5v-1.61c0-.83.23-1.61.63-2.29ZM20 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2Zm4 3.43c0-.81-.48-1.53-1.22-1.85A6.95 6.95 0 0 0 20 14c-.39 0-.76.04-1.13.1.4.68.63 1.46.63 2.29V18H23c.55 0 1-.45 1-1v-.57ZM12 6c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgGroupIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgHamburgerIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M3 6a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm1 5a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H4Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgHamburgerIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgHeartIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M13.35 20.13c-.76.69-1.93.69-2.69-.01l-.11-.1C5.3 15.27 1.87 12.16 2 8.28c.06-1.7.93-3.33 2.34-4.29 2.64-1.8 5.9-.96 7.66 1.1 1.76-2.06 5.02-2.91 7.66-1.1 1.41.96 2.28 2.59 2.34 4.29.14 3.88-3.3 6.99-8.55 11.76l-.1.09Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgHeartIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgImageIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={18}\n height={18}\n fill=\"none\"\n viewBox=\"0 0 18 18\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M18 16V2c0-1.1-.9-2-2-2H2C.9 0 0 .9 0 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2ZM5.9 10.98 8 13.51l3.1-3.99c.2-.26.6-.26.8.01l3.51 4.68a.5.5 0 0 1-.4.8H3.02c-.42 0-.65-.48-.39-.81L5.12 11c.19-.26.57-.27.78-.02Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgImageIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgInfoIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={48}\n height={48}\n fill=\"none\"\n viewBox=\"0 0 48 48\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M24 4C12.96 4 4 12.96 4 24s8.96 20 20 20 20-8.96 20-20S35.04 4 24 4Zm0 22c-1.1 0-2-.9-2-2v-8c0-1.1.9-2 2-2s2 .9 2 2v8c0 1.1-.9 2-2 2Zm2 8h-4v-4h4v4Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgInfoIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgLeftArrowIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M13.69 17.29a.996.996 0 0 0 0-1.41L9.81 12l3.88-3.88a.996.996 0 1 0-1.41-1.41L7.69 11.3a.996.996 0 0 0 0 1.41l4.59 4.59c.38.38 1.02.38 1.41-.01Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgLeftArrowIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgLightBulbIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M12 22c1.1 0 2-.9 2-2h-4c0 1.1.9 2 2 2Zm-3-3h6c.55 0 1-.45 1-1s-.45-1-1-1H9c-.55 0-1 .45-1 1s.45 1 1 1Zm3-17C7.86 2 4.5 5.36 4.5 9.5c0 3.82 2.66 5.86 3.77 6.5h7.46c1.11-.64 3.77-2.68 3.77-6.5C19.5 5.36 16.14 2 12 2Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgLightBulbIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgLinkIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n stroke=\"#0074DD\"\n strokeLinecap=\"round\"\n strokeWidth={2}\n d=\"M10.802 7H7.333a2 2 0 0 0-2 2v8.5a2 2 0 0 0 2 2h8.5a2 2 0 0 0 2-2v-3.469\"\n />\n <path\n stroke=\"#0074DD\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"m9.5 15.333 9.167-9.166m0 0H14.5m4.167 0v4.166\"\n />\n </svg>\n);\nexport default iconWrapper(SvgLinkIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgLockIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2Zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2ZM9 8V6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgLockIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgMessagesIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <path\n fill=\"#0074DD\"\n d=\"M24 3a2 2 0 0 1 2 2v15a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h20Z\"\n />\n <path\n fill=\"#0074DD\"\n d=\"M12.586 10.414a2 2 0 0 1 2.828 0l6.172 6.172a2 2 0 0 1 0 2.828l-6.172 6.172a2 2 0 0 1-2.828 0l-6.172-6.172a2 2 0 0 1 0-2.828l6.172-6.172Z\"\n />\n <rect width={18} height={2} x={5} y={6} fill=\"#fff\" rx={1} />\n <rect width={18} height={2} x={5} y={11} fill=\"#fff\" rx={1} />\n <rect width={14} height={2} x={7} y={16} fill=\"#fff\" rx={1} />\n </svg>\n);\nexport default iconWrapper(SvgMessagesIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgMouseIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={15}\n height={20}\n fill=\"none\"\n viewBox=\"0 0 15 20\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M7.5 20c-1.933 0-3.583-.683-4.95-2.05C1.183 16.583.5 14.933.5 13V7c0-1.933.683-3.583 2.05-4.95C3.917.683 5.567 0 7.5 0c1.933 0 3.583.683 4.95 2.05C13.817 3.417 14.5 5.067 14.5 7v6c0 1.933-.683 3.583-2.05 4.95C11.083 19.317 9.433 20 7.5 20Zm1-13h4c0-1.2-.379-2.258-1.137-3.175C10.604 2.908 9.65 2.333 8.5 2.1V7Zm-6 0h4V2.1c-1.15.233-2.104.808-2.863 1.725A4.837 4.837 0 0 0 2.5 7Zm5 11c1.383 0 2.563-.487 3.538-1.462.975-.975 1.462-2.155 1.462-3.538V9h-10v4c0 1.383.488 2.563 1.463 3.538C4.938 17.513 6.117 18 7.5 18Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgMouseIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgNotesIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M19 3H4.99C3.89 3 3 3.9 3 5l.01 14c0 1.1.89 2 1.99 2h10l6-6V5c0-1.1-.9-2-2-2ZM8 8h8c.55 0 1 .45 1 1s-.45 1-1 1H8c-.55 0-1-.45-1-1s.45-1 1-1Zm3 6H8c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1s-.45 1-1 1Zm3 5.5V15c0-.55.45-1 1-1h4.5L14 19.5Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgNotesIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgPinIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={14}\n height={20}\n fill=\"none\"\n viewBox=\"0 0 14 20\"\n {...props}\n >\n <path\n fill=\"#64748b\"\n d=\"M14 10.87c0-.47-.34-.85-.8-.98A2.997 2.997 0 0 1 11 7V2h1c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1h1v5C3 8.38 2.07 9.54.8 9.89c-.46.13-.8.51-.8.98V11c0 .55.45 1 1 1h4.98L6 19c0 .55.45 1 1 1s1-.45 1-1l-.02-7H13c.55 0 1-.45 1-1v-.13Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgPinIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgPrintIcon = (props: IconProps): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={19} height={18} {...props}>\n <path\n fill=\"currentColor\"\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 />\n </svg>\n);\nexport default iconWrapper(SvgPrintIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgRightArrowIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M9.31 6.71a.996.996 0 0 0 0 1.41L13.19 12l-3.88 3.88a.996.996 0 1 0 1.41 1.41l4.59-4.59a.996.996 0 0 0 0-1.41L10.72 6.7c-.38-.38-1.02-.38-1.41.01Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgRightArrowIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSearchCancelIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={14}\n height={14}\n fill=\"none\"\n viewBox=\"0 0 14 14\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M2.05.637A1 1 0 0 0 .638 2.05L5.587 7l-4.95 4.95a1 1 0 0 0 1.414 1.414L7 8.415l4.95 4.95a1 1 0 0 0 1.414-1.415L8.415 7l4.95-4.949A1 1 0 0 0 11.95.637L7 5.587 2.05.637Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgSearchCancelIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSearchIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M15.5 14h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14Zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgSearchIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSmallCircleIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <circle cx={12} cy={12} r={6} fill=\"currentColor\" />\n <circle cx={14.5} cy={9.5} r={1.5} fill=\"#fff\" fillOpacity={0.1} />\n </svg>\n);\nexport default iconWrapper(SvgSmallCircleIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSmallDiamondIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M4.93 13.414a2 2 0 0 1 0-2.828l5.657-5.657a2 2 0 0 1 2.828 0l5.657 5.657a2 2 0 0 1 0 2.828l-5.657 5.657a2 2 0 0 1-2.828 0L4.93 13.414Z\"\n />\n <circle\n cx={12}\n cy={7.051}\n r={1.5}\n fill=\"#fff\"\n fillOpacity={0.1}\n transform=\"rotate(-45 12 7.05)\"\n />\n </svg>\n);\nexport default iconWrapper(SvgSmallDiamondIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSmallSquareIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <rect width={12} height={12} x={6} y={6} fill=\"currentColor\" rx={2} />\n <circle cx={15.5} cy={8.5} r={1.5} fill=\"#fff\" fillOpacity={0.1} />\n </svg>\n);\nexport default iconWrapper(SvgSmallSquareIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgSpaceRocketIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M9.19 6.35c-2.04 2.29-3.44 5.58-3.57 5.89l-2.26-.97c-.65-.28-.81-1.13-.31-1.63l3.01-3.01c.47-.47 1.15-.68 1.81-.55l1.32.27Zm1.49 10.16c.3.3.74.38 1.12.2 1.16-.54 3.65-1.81 5.26-3.42 4.59-4.59 4.63-8.33 4.36-9.93a.979.979 0 0 0-.79-.79c-1.6-.27-5.34-.23-9.93 4.36-1.61 1.61-2.87 4.1-3.42 5.26-.18.38-.09.83.2 1.12l3.2 3.2Zm6.97-1.7c-2.29 2.04-5.58 3.44-5.89 3.57l.97 2.26c.28.65 1.13.81 1.63.31l3.01-3.01c.47-.47.68-1.15.55-1.81l-.27-1.32Zm-8.71 2.6a3 3 0 0 1-.82 2.71c-.77.77-3.16 1.34-4.71 1.64-.69.13-1.3-.48-1.17-1.17.3-1.55.86-3.94 1.64-4.71a3 3 0 0 1 2.71-.82c1.17.22 2.13 1.18 2.35 2.35ZM13 9c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgSpaceRocketIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgStarIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={19}\n height={18}\n fill=\"none\"\n viewBox=\"0 0 19 18\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M8.587 1.05c.352-.791 1.474-.791 1.826 0l1.753 3.93a1 1 0 0 0 .808.588l4.281.452c.86.09 1.207 1.158.565 1.737l-3.198 2.882a1 1 0 0 0-.309.95l.893 4.211c.18.847-.728 1.506-1.478 1.074L10 14.724a1 1 0 0 0-1 0l-3.728 2.15c-.75.432-1.658-.227-1.478-1.074l.893-4.21a1 1 0 0 0-.309-.951L1.18 7.757c-.642-.58-.296-1.646.565-1.737l4.28-.452a1 1 0 0 0 .81-.587l1.752-3.932Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgStarIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgStatusColoredIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={28}\n height={28}\n fill=\"none\"\n viewBox=\"0 0 28 28\"\n {...props}\n >\n <rect width={16} height={24} x={6} y={2} fill=\"#374151\" rx={2} />\n <circle cx={14} cy={9} r={4} fill=\"#fff\" />\n <circle cx={14} cy={19} r={4} fill=\"#E86967\" />\n </svg>\n);\nexport default iconWrapper(SvgStatusColoredIcon);\n","/* eslint-disable */\n// This file is generated, please do not modify\nimport React from \"react\";\nimport { IconProps } from \"./types/IconProps.type\";\nimport iconWrapper from \"./iconWrapper\";\nconst SvgWarningIcon = (props: IconProps): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={20}\n height={20}\n fill=\"none\"\n viewBox=\"0 0 20 20\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M10 0C4.48 0 0 4.48 0 10s4.48 10 10 10 10-4.48 10-10S15.52 0 10 0Zm0 11c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1Zm1 4H9v-2h2v2Z\"\n />\n </svg>\n);\nexport default iconWrapper(SvgWarningIcon);\n","// This file is generated, please do not modify\nexport { default as AddIcon } from \"./AddIcon\";\nexport { default as AlertsIcon } from \"./AlertsIcon\";\nexport { default as BellIcon } from \"./BellIcon\";\nexport { default as ChartIcon } from \"./ChartIcon\";\nexport { default as ChartLineColoredIcon } from \"./ChartLineColoredIcon\";\nexport { default as ChatBoxIcon } from \"./ChatBoxIcon\";\nexport { default as CheckIcon } from \"./CheckIcon\";\nexport { default as ChevronDoubleIcon } from \"./ChevronDoubleIcon\";\nexport { default as ChevronDownIcon } from \"./ChevronDownIcon\";\nexport { default as ChevronRightIcon } from \"./ChevronRightIcon\";\nexport { default as CrossIcon } from \"./CrossIcon\";\nexport { default as DeleteIcon } from \"./DeleteIcon\";\nexport { default as DownArrowIcon } from \"./DownArrowIcon\";\nexport { default as DragIcon } from \"./DragIcon\";\nexport { default as EditIcon } from \"./EditIcon\";\nexport { default as EmptyIcon } from \"./EmptyIcon\";\nexport { default as EmptyStateDashboardIcon } from \"./EmptyStateDashboardIcon\";\nexport { default as ExclamationMarkIcon } from \"./ExclamationMarkIcon\";\nexport { default as EyeIcon } from \"./EyeIcon\";\nexport { default as GearColoredIcon } from \"./GearColoredIcon\";\nexport { default as GearIcon } from \"./GearIcon\";\nexport { default as GroupColoredIcon } from \"./GroupColoredIcon\";\nexport { default as GroupIcon } from \"./GroupIcon\";\nexport { default as HamburgerIcon } from \"./HamburgerIcon\";\nexport { default as HeartIcon } from \"./HeartIcon\";\nexport { default as ImageIcon } from \"./ImageIcon\";\nexport { default as InfoIcon } from \"./InfoIcon\";\nexport { default as LeftArrowIcon } from \"./LeftArrowIcon\";\nexport { default as LightBulbIcon } from \"./LightBulbIcon\";\nexport { default as LinkIcon } from \"./LinkIcon\";\nexport { default as LockIcon } from \"./LockIcon\";\nexport { default as MessagesIcon } from \"./MessagesIcon\";\nexport { default as MouseIcon } from \"./MouseIcon\";\nexport { default as NotesIcon } from \"./NotesIcon\";\nexport { default as PinIcon } from \"./PinIcon\";\nexport { default as PrintIcon } from \"./PrintIcon\";\nexport { default as RightArrowIcon } from \"./RightArrowIcon\";\nexport { default as SearchCancelIcon } from \"./SearchCancelIcon\";\nexport { default as SearchIcon } from \"./SearchIcon\";\nexport { default as SmallCircleIcon } from \"./SmallCircleIcon\";\nexport { default as SmallDiamondIcon } from \"./SmallDiamondIcon\";\nexport { default as SmallSquareIcon } from \"./SmallSquareIcon\";\nexport { default as SpaceRocketIcon } from \"./SpaceRocketIcon\";\nexport { default as StarIcon } from \"./StarIcon\";\nexport { default as StatusColoredIcon } from \"./StatusColoredIcon\";\nexport { default as WarningIcon } from \"./WarningIcon\";\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport { CheckIcon, CrossIcon, WarningIcon } from \"../Icons\";\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 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 isSmallTitle = props.type === \"xs\" || props.type === \"sm\";\n const containerClassName = classNames(\n \"font-bold\",\n allowedColors[props.color ?? \"base\"],\n {\n \"title-inter\": isSmallTitle,\n \"title-avenir\": !isSmallTitle, //this is used to load the correct font from the css\n },\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, ChevronDownIcon } from \"../Icons\";\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-200\"}\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-200\": !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\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 dataTestId?: string;\n};\n\nexport const ListSkeleton = ({\n items,\n dataTestId = \"list-skeleton\",\n}: ListSkeletonProps): JSX.Element => {\n const skeletonItems = Array.from({ length: items || 5 }, (_, i) => {\n return <ListItemSkeleton key={i} />;\n });\n\n return (\n <div\n data-test-id={dataTestId}\n className=\"flex flex-col divide-y divide-slate-200 bg-white border-slate-50 border rounded-lg shadow list-skeleton\"\n >\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 from \"react\";\nimport classNames from \"classnames\";\n\nimport { Title } from \"../Title/Title\";\n\nimport type { BaseListHeaderProps } from \"./BaseList.types\";\n\nexport const BaseListHeader: React.FC<BaseListHeaderProps> = ({\n title,\n button,\n transparent,\n withBorder,\n}) => {\n const className = classNames(\n \"flex rounded-t flex-row items-center space-x-4\",\n {\n \"py-4\": !button,\n \"py-2\": button,\n \"bg-white border-slate-200 px-4\": !transparent,\n \"border-b\": !transparent && !withBorder,\n \"border border-b-0\": withBorder && !transparent,\n \"mb-px\": transparent,\n \"justify-between\": title && button,\n \"justify-start\": title && !button,\n \"justify-end\": !title && button,\n }\n );\n\n return (\n <div data-test-id=\"base-list-header\" className={className}>\n {typeof title === \"string\" && <Title type=\"xs\" text={title} />}\n {title && typeof title === \"object\" && <Title type=\"xs\" {...title} />}\n {button && (\n <div className=\"space-x-3\">\n {React.createElement(button.buttonType, button.buttonProps)}\n </div>\n )}\n </div>\n );\n};\n\nexport default BaseListHeader;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nexport const BaseListEmptyState: React.FC<{\n message: string;\n roundTop?: boolean;\n withBorder?: boolean;\n}> = ({ message, roundTop, withBorder }) => {\n const className = classNames(\"p-4 bg-white rounded-b\", {\n \"first:rounded-t\": roundTop,\n \"border-slate-200 border\": withBorder,\n });\n\n return (\n <div className={className}>\n <Text text={message} />\n </div>\n );\n};\n\nexport default BaseListEmptyState;\n","import React from \"react\";\n\nimport * as Icons from \"../Icons/index\";\nimport { IconProps, IconKey } from \"../Icons/types/IconProps.type\";\n\nexport const Icon: React.FC<{ name: IconKey } & IconProps> = ({\n name,\n ...iconProps\n}) => {\n return React.createElement(Icons[name], iconProps);\n};\n\n/**\n * This is a temporary component to transition the way we pass icons to components.\n * Once all components are passed an IconKey instead of a function component we can replace it with the Icon component.\n *\n * If any expansion or customization must be made for all icons, do it in the iconWrapper.tsx component.\n *\n * @linkcode https://github.com/Luscii/web-ui/blob/main/src/components/Icons/iconWrapper/iconWrapper.tsx\n */\nexport const IconComponentOrKey: React.FC<\n { name: React.FunctionComponent<IconProps> | IconKey } & IconProps\n> = (props) => {\n const { name, ...iconProps } = props;\n\n if (isIconKey(name)) {\n return <Icon name={name} {...iconProps} />;\n }\n\n return React.createElement(name, iconProps);\n};\n\nfunction isIconKey(key: string | unknown): key is IconKey {\n if (typeof key === \"string\") {\n return key in Icons;\n }\n return false;\n}\n\nexport default Icon;\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Icon } from \"../Icon\";\n\nimport type { DragHandleProps } from \"./DragHandle.types\";\n\nconst DragHandle = forwardRef<HTMLButtonElement, DragHandleProps>(\n (\n { dataTestId, className: classes, grabbing, disabled = false, ...props },\n ref\n ) => {\n const className = classNames(classes, \"py-2 focus:outline-primary\", {\n \"cursor-grab\": !grabbing && !disabled,\n \"cursor-grabbing shadow-sm bg-slate-200\": grabbing && !disabled,\n \"hover:bg-slate-200 hover:shadow-sm transition duration-200 rounded\":\n !disabled,\n \"cursor-not-allowed\": disabled,\n });\n\n return (\n <button\n ref={ref}\n {...props}\n tabIndex={0}\n className={className}\n data-test-id={dataTestId ?? \"dragHandle\"}\n >\n <Icon\n name=\"DragIcon\"\n className={disabled ? \"text-slate-300\" : \"text-slate-400\"}\n />\n </button>\n );\n }\n);\n\nexport default DragHandle;\n","import React, { useState } from \"react\";\n\nimport ImageIcon from \"../Icons/ImageIcon\";\n\nimport { BaseListItemProps } from \"./BaseList.types\";\n\nexport const BaseListIcon: React.FC<\n Pick<BaseListItemProps, \"icon\"> & { onAssetLoadError?: () => void }\n> = ({ icon, onAssetLoadError }) => {\n const [loadIconError, setLoadIconError] = useState(false);\n\n function onListItemIconLoadError() {\n setLoadIconError(true);\n\n onAssetLoadError?.();\n }\n\n function onListItemIconLoad() {\n setLoadIconError(false);\n }\n\n return (\n <>\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 </>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\nimport DragHandle from \"../DragHandle/DragHandle\";\n\nimport type {\n BaseListItemProps,\n OnAssetLoadErrorPayload,\n} from \"./BaseList.types\";\nimport { BaseListIcon } from \"./BaseListIcon\";\n\nfunction createAssetLoadError(\n payload: OnAssetLoadErrorPayload,\n callback?: (payload: OnAssetLoadErrorPayload) => void\n) {\n return () => {\n console.error({\n message:\n \"Url from icon failed to load, please check the props passed to `ListItem`.\",\n ...payload,\n });\n\n callback?.(payload);\n };\n}\n\nexport const BaseListItem: React.FC<BaseListItemProps> = React.forwardRef(\n (\n {\n itemId,\n title,\n tooltipId,\n roundTop,\n roundBottom = true,\n isDraggable,\n isSelected,\n subtitle,\n accessories,\n icon,\n onClick,\n handleItemClick,\n onAssetLoadError,\n dataTestId,\n renderDragHandle,\n withBorder,\n htmlProps,\n },\n ref\n ) => {\n const clickHandler = onClick ?? handleItemClick;\n\n const className = classNames(\n \"flex flex-row items-center space-x-4 bg-white\",\n \"px-4 border-b last:border-b-0 border-slate-200\",\n {\n \"first:rounded-t\": roundTop,\n \"cursor-pointer\": clickHandler,\n \"hover:bg-blue-50 transition-colors ease-in-out duration-300\":\n clickHandler,\n \"last:rounded-b \": roundBottom,\n \"first:border-t border-l border-r last:border-b\": withBorder,\n }\n );\n\n return (\n <li\n className={className}\n data-id={itemId}\n data-tip={itemId}\n data-for={tooltipId}\n data-test-id={dataTestId || `base-list-item-${itemId}`}\n onClick={clickHandler}\n {...htmlProps}\n ref={ref}\n >\n {isDraggable &&\n (renderDragHandle ? (\n renderDragHandle()\n ) : (\n <DragHandle grabbing={false} />\n ))}\n {icon && (\n <BaseListIcon\n icon={icon}\n onAssetLoadError={createAssetLoadError(\n {\n itemId,\n title,\n subtitle,\n icon,\n },\n onAssetLoadError\n )}\n />\n )}\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);\n\nexport default BaseListItem;\n","import React from \"react\";\n\nimport { ListSkeleton } from \"./ListSkeleton/ListSkeleton\";\nimport type { BaseListItemProps, BaseListProps } from \"./BaseList.types\";\nimport BaseListHeader from \"./BaseListHeader\";\nimport BaseListEmptyState from \"./BaseListEmptyState\";\nimport BaseListItem from \"./BaseListItem\";\n\nconst BaseListInner = <T extends BaseListItemProps>(\n {\n dataTestId,\n title,\n headerButton,\n emptyStateMessage,\n isLoading,\n items,\n headerTransparent,\n itemComponent,\n footer,\n withBorder = false,\n }: BaseListProps<T>,\n ref: React.ForwardedRef<HTMLUListElement>\n): JSX.Element => {\n if (isLoading) {\n return <ListSkeleton items={items.length} />;\n }\n\n const hasHeader = Boolean(title || headerButton);\n const roundTop = Boolean(!hasHeader || (hasHeader && headerTransparent));\n const roundBottom = footer === undefined || footer === null;\n\n return (\n <div data-test-id={dataTestId || \"base-list-component\"}>\n {hasHeader && (\n <BaseListHeader\n title={title}\n button={headerButton}\n transparent={headerTransparent}\n withBorder={withBorder}\n />\n )}\n {items.length > 0 ? (\n <ul ref={ref}>\n {items.map((props) =>\n itemComponent\n ? React.createElement(itemComponent, {\n key: props.itemId,\n ...props,\n roundBottom,\n roundTop,\n withBorder,\n })\n : React.createElement(BaseListItem, {\n key: props.itemId,\n ...props,\n roundBottom,\n roundTop,\n withBorder,\n })\n )}\n </ul>\n ) : (\n emptyStateMessage && (\n <BaseListEmptyState\n message={emptyStateMessage}\n roundTop={roundTop}\n withBorder={withBorder}\n />\n )\n )}\n {footer}\n </div>\n );\n};\n\n// Making a component with generics work with forwardRef\n// Method from here: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const BaseList = React.forwardRef(BaseListInner) as <\n T extends BaseListItemProps\n>(\n props: BaseListProps<T> & { ref?: React.ForwardedRef<HTMLUListElement> }\n) => ReturnType<typeof BaseListInner>;\n","import { Active, Over } from \"@dnd-kit/core\";\n\nimport { ListItemProps } from \"../List/List\";\n\n// You should be able to just use a non-registered Symbol as a key in a WeakMap\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\n// TS doesn't allow it (registered and non-registered Symbols are both of type symbol), so we have to use an object\nconst draggableListItemPropsPointer = {\n symbol: Symbol(\"draggable-list-item-props\"),\n} as const;\n\ntype DraggableListItemProps = WeakMap<\n typeof draggableListItemPropsPointer,\n Pick<\n ListItemProps,\n \"itemId\" | \"title\" | \"subtitle\" | \"icon\" | \"isDraggable\" | \"isSelected\"\n >\n>;\n\nexport const createDraggableListProps = ({\n itemId,\n title,\n subtitle,\n icon,\n isDraggable,\n isSelected,\n}: ListItemProps): DraggableListItemProps => {\n return new WeakMap([\n [\n draggableListItemPropsPointer,\n Object.freeze({ itemId, title, subtitle, icon, isDraggable, isSelected }),\n ],\n ]);\n};\n\nconst isDraggableListItemProps = (\n subject: unknown\n): subject is DraggableListItemProps => {\n if (subject instanceof WeakMap) {\n return subject.has(draggableListItemPropsPointer);\n }\n return false;\n};\n\nexport const draggableListPropsKey = \"listItem\" as const;\n\nexport const getDndListItemProps = (\n subject: Active | Over\n): ListItemProps | null => {\n const possibleDraggableListItemProps =\n subject.data?.current?.[draggableListPropsKey];\n\n if (!isDraggableListItemProps(possibleDraggableListItemProps)) {\n return null;\n }\n\n return (\n possibleDraggableListItemProps.get(draggableListItemPropsPointer) ?? null\n );\n};\n","import React from \"react\";\nimport { useDraggable } from \"@dnd-kit/core\";\n\nimport { DraggableBaseListItemProps } from \"../BaseList.types\";\nimport BaseListItem from \"../BaseListItem\";\nimport DragHandle from \"../../DragHandle/DragHandle\";\nimport { createDraggableListProps, draggableListPropsKey } from \"../utils\";\n\nexport const DraggableBaseListItem: React.FC<DraggableBaseListItemProps> = ({\n draggableData,\n ...props\n}) => {\n const { setNodeRef, listeners, attributes, isDragging } = useDraggable({\n id: props.draggableIdentifier,\n disabled: !props.isDraggable,\n data: {\n [draggableListPropsKey]: createDraggableListProps(props),\n draggableData,\n },\n });\n\n return (\n <BaseListItem\n {...props}\n ref={setNodeRef}\n isDraggable\n renderDragHandle={() => (\n <DragHandle\n grabbing={isDragging}\n {...attributes}\n {...listeners}\n disabled={!props.isDraggable}\n />\n )}\n />\n );\n};\n","import React from \"react\";\n\nimport { BaseList } from \"../BaseList\";\nimport type { DraggableBaseListProps } from \"../BaseList.types\";\n\nimport { DraggableBaseListItem } from \"./DraggableBaseListItem\";\n\nexport const DraggableBaseList: React.FC<DraggableBaseListProps> = ({\n items,\n ...props\n}) => {\n return (\n <BaseList {...props} items={items} itemComponent={DraggableBaseListItem} />\n );\n};\n\nexport default DraggableBaseList;\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { useDroppable } from \"@dnd-kit/core\";\n\nimport { Text } from \"../Text/Text\";\nimport { Icon } from \"../Icon\";\n\nimport type {\n DropzoneProps,\n DropzonePresentationProps,\n} from \"./Dropzone.types\";\n\nconst DefaultState = ({\n icon,\n message,\n horizontal = false,\n}: Pick<DropzonePresentationProps, \"icon\" | \"message\" | \"horizontal\">) => {\n if (!icon && !message) {\n return null;\n }\n\n const className = classNames(\"p-4 flex items-center\", {\n \"flex-col justify-center\": !horizontal,\n \"flex-row w-full \": horizontal,\n });\n\n return (\n <div className={className}>\n {icon && (\n <Icon\n name={icon}\n className={classNames(\"text-blue-800\", {\n \"mb-2\": message && !horizontal,\n \"mr-2\": horizontal,\n })}\n />\n )}\n {message && (\n <Text\n type=\"base\"\n color=\"blue-800\"\n className=\"text-center\"\n text={message}\n />\n )}\n </div>\n );\n};\n\nexport const DropzonePresentation: React.FC<DropzonePresentationProps> =\n forwardRef<HTMLDivElement, DropzonePresentationProps>(\n (\n {\n message,\n icon,\n isHighlighted,\n isClickable,\n className,\n dataTestId,\n children,\n horizontal,\n },\n ref\n ) => {\n const classes = classNames(\n \"bg-blue-50 border-2 border-blue-800 rounded flex items-center justify-center\",\n {\n \"border-dashed\": !isHighlighted,\n \"border-solid\": isHighlighted,\n \"hover:bg-blue-100 transition-colors ease-in-out duration-300\":\n isClickable,\n },\n className\n );\n\n return (\n <div className={classes} ref={ref} data-test-id={dataTestId}>\n {children || (\n <DefaultState\n icon={icon}\n message={message}\n horizontal={horizontal}\n />\n )}\n </div>\n );\n }\n );\n\nexport const Dropzone: React.FC<DropzoneProps> = ({\n draggableIdentifier: identifier,\n disabled,\n data,\n dataTestId,\n onClick,\n ...props\n}) => {\n const { setNodeRef, isOver } = useDroppable({\n id: identifier,\n disabled,\n data,\n });\n\n const presentation = (\n <DropzonePresentation\n ref={setNodeRef}\n isHighlighted={isOver}\n isClickable={onClick && !disabled}\n {...props}\n dataTestId={dataTestId ?? `dropzone-${identifier}`}\n />\n );\n\n if (onClick) {\n return (\n <button\n onClick={onClick}\n disabled={disabled}\n className=\"block w-full rounded focus:outline-primary\"\n >\n {presentation}\n </button>\n );\n }\n\n return presentation;\n};\n\nexport default Dropzone;\n","import React from \"react\";\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\n\nimport { SortableBaseListItemProps } from \"../BaseList.types\";\nimport BaseListItem from \"../BaseListItem\";\nimport { DropzonePresentation } from \"../../Dropzone/Dropzone\";\nimport DragHandle from \"../../DragHandle/DragHandle\";\nimport { createDraggableListProps, draggableListPropsKey } from \"../utils\";\n\nexport const SortableBaseListItem: React.FC<SortableBaseListItemProps> = ({\n draggableData,\n ...props\n}) => {\n const { setNodeRef, listeners, attributes, transform, isDragging } =\n useSortable({\n id: props.draggableIdentifier,\n disabled: !props.isDraggable,\n data: {\n [draggableListPropsKey]: createDraggableListProps(props),\n draggableData,\n },\n });\n\n const styleTransform = CSS.Transform.toString(transform);\n\n if (isDragging) {\n return (\n <div style={{ transform: styleTransform, position: \"relative\" }}>\n <DropzonePresentation className=\"absolute h-full w-full\" />\n <div className=\"invisible\">\n <BaseListItem\n {...props}\n ref={setNodeRef}\n htmlProps={{ style: { transform: styleTransform } }}\n isDraggable\n renderDragHandle={() => (\n <DragHandle\n {...attributes}\n {...listeners}\n disabled={!props.isDraggable}\n grabbing={isDragging}\n />\n )}\n />\n </div>\n </div>\n );\n }\n\n return (\n <BaseListItem\n {...props}\n ref={setNodeRef}\n htmlProps={{ style: { transform: styleTransform } }}\n isDraggable\n renderDragHandle={() => (\n <DragHandle\n {...attributes}\n {...listeners}\n disabled={!props.isDraggable}\n grabbing={isDragging}\n />\n )}\n />\n );\n};\n","import React from \"react\";\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\n\nimport { BaseList } from \"../BaseList\";\nimport type { SortableBaseListProps } from \"../BaseList.types\";\n\nimport { SortableBaseListItem } from \"./SortableBaseListItem\";\n\nexport const SortableBaseList: React.FC<SortableBaseListProps> = ({\n draggableIdentifier,\n items,\n ...props\n}) => {\n return (\n <SortableContext\n id={draggableIdentifier}\n strategy={verticalListSortingStrategy}\n items={items.map((item) => ({ ...item, id: item.draggableIdentifier }))}\n >\n <BaseList items={items} itemComponent={SortableBaseListItem} {...props} />\n </SortableContext>\n );\n};\n\nexport default SortableBaseList;\n","import React from \"react\";\n\nimport { BaseListItem } from \"../BaseList\";\n\nimport { ListItemProps } from \"./List.types\";\n\nexport const ListItem: React.FC<ListItemProps> = (props) => {\n return <BaseListItem {...props} />;\n};\n\nexport default ListItem;\n","import React, { useEffect, useRef } from \"react\";\nimport dragula from \"react-dragula\";\nimport { omit } from \"lodash\";\n\nimport { BaseList, DraggableBaseList, SortableBaseList } from \"../BaseList\";\n\nimport type { DefaultListProps, ListItemProps, ListProps } from \"./List.types\";\nimport \"./List.scss\";\nimport ListItem from \"./ListItem\";\n\nexport { ListProps, ListItemProps };\n\nconst DefaultList = ({\n items,\n onDragEnd,\n onAssetLoadError,\n ...props\n}: DefaultListProps): JSX.Element => {\n const listRef = useRef<HTMLUListElement | null>(null);\n const dragulaRef = useRef<dragula.Drake | null>(null);\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 return (\n <BaseList\n ref={listRef}\n itemComponent={ListItem}\n items={items.map((item) => ({\n ...item,\n isDraggable: !!onDragEnd,\n onAssetLoadError,\n }))}\n {...props}\n />\n );\n};\n\n// Rest operator isn't used here because TS seems to require the operation\n// happening in the branch of the code where the object is used in\nconst List: React.FC<ListProps> = (props) => {\n if (\"draggableListType\" in props) {\n switch (props.draggableListType) {\n case \"default\":\n return <DefaultList {...omit(props, \"draggableListType\")} />;\n case \"draggable\":\n return <DraggableBaseList {...omit(props, [\"draggableListType\"])} />;\n case \"sortable\":\n return <SortableBaseList {...omit(props, [\"draggableListType\"])} />;\n }\n }\n\n return <DefaultList {...props} />;\n};\n\nexport default List;\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { CrossIcon } from \"../Icons\";\nimport { AllowedTextInputTypes } from \"../Form/form.types\";\nimport type { IconKey, IconProps } from \"../Icons/types/IconProps.type\";\nimport { FormFieldWidth } from \"../Form/form.types\";\nimport { FlexRow } from \"../Container/FlexRow\";\nimport \"./Input.css\";\nimport { IconComponentOrKey } from \"../Icon/Icon\";\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.FC<IconProps> | IconKey;\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 <IconComponentOrKey\n name={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 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\";\nimport ReactTooltip from \"react-tooltip\";\n\nimport { IconComponentOrKey } from \"../Icon/Icon\";\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 title,\n ...otherAttributes\n }: ButtonProps,\n innerRef\n ): JSX.Element => {\n const generatedId = React.useId();\n\n const buttonTooltipId = otherAttributes.id\n ? `button-tooltip-id-${otherAttributes.id}`\n : `button-tooltip-id-${generatedId}`;\n\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 \"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 {\n \"opacity-50\": isDisabled,\n \"pointer-events-none\": isPending,\n \"w-11\": !text && icon,\n },\n className\n );\n\n const textColorClass = allowedColors[textColor ?? \"base\"];\n\n const tooltipAttrs = title\n ? {\n \"data-tip\": true,\n \"data-for\": buttonTooltipId,\n }\n : {};\n\n const buttonComponent = (\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 {/* There's a case for disabled buttons that can be hovered on: https://github.com/ReactTooltip/react-tooltip/issues/304#issuecomment-876501080 */}\n <span\n {...tooltipAttrs}\n className={classNames(\n \"relative flex flex-row items-center justify-center w-full h-full\", // ensuring the buttons are 44px high including content\n {\n \"pl-4 pr-6\": text && icon,\n \"px-4\": text && !icon,\n }\n )}\n >\n {icon && !isPending && (\n <IconComponentOrKey\n name={icon}\n className={`w-6 h-6 ${textColorClass}`}\n />\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 </span>\n </button>\n );\n\n if (title) {\n return (\n <>\n <ReactTooltip effect=\"solid\" id={buttonTooltipId}>\n {title}\n </ReactTooltip>\n {buttonComponent}\n </>\n );\n }\n\n return buttonComponent;\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 dataTestId?: string;\n}\n\nexport function LoadingIndicator({\n asModal = false,\n asSpinner = false,\n className = \"\",\n spinnerColor = \"blue\",\n dataTestId = \"loading-indicator\",\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\n {...restProps}\n className={containerClassName}\n data-test-id={dataTestId}\n >\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 {\n DraggableListProps,\n ListItemProps,\n SortableListProps,\n} 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: AccordionItem[];\n buttonProps?: BaseButtonProps;\n isSearchEnabled?: boolean;\n isLoading?: boolean;\n}\n\nexport type AccordionListItemProps<T = ListItemProps> = Omit<\n AccordionItemProps,\n \"content\"\n> & {\n listItems: T[];\n draggableListType?: \"default\";\n};\n\nexport type DraggableAccordionListItemProps = Omit<\n AccordionItemProps,\n \"content\"\n> & {\n draggableListType: \"draggable\";\n listItems: DraggableListProps[\"items\"];\n};\n\nexport type SortableAccordionListItemProps = Omit<\n AccordionItemProps,\n \"content\"\n> & {\n draggableListType: \"sortable\";\n draggableIdentifier: string;\n listItems: SortableListProps[\"items\"];\n};\n\nexport type AccordionItem =\n | AccordionListItemProps\n | DraggableAccordionListItemProps\n | SortableAccordionListItemProps;\n\nexport const AccordionList: React.FC<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 filterItems = <T extends { title: string; subtitle?: string }>(\n items: T[],\n filterString: string\n ): T[] => {\n return items.filter(\n (item) =>\n isSubstring(item.title, filterString) ||\n isSubstring(item.subtitle, filterString)\n );\n };\n\n const filterAccordionListItems = (\n item: AccordionItem,\n filterString: string\n ): AccordionItem => {\n switch (item.draggableListType) {\n case \"draggable\":\n return {\n ...item,\n listItems: filterItems<\n DraggableAccordionListItemProps[\"listItems\"][number]\n >(item.listItems, filterString),\n };\n case \"sortable\":\n return {\n ...item,\n listItems: filterItems<\n SortableAccordionListItemProps[\"listItems\"][number]\n >(item.listItems, filterString),\n };\n default:\n return {\n ...item,\n listItems: filterItems<ListItemProps>(item.listItems, filterString),\n };\n }\n };\n\n const contentForAccordionItem = (item: AccordionItem): JSX.Element => {\n switch (item.draggableListType) {\n case \"draggable\":\n return (\n <List\n draggableListType={item.draggableListType}\n items={item.listItems}\n />\n );\n case \"sortable\":\n return (\n <List\n draggableListType={item.draggableListType}\n draggableIdentifier={item.draggableIdentifier}\n items={item.listItems}\n />\n );\n default:\n return <List items={item.listItems} />;\n }\n };\n\n const titleForAccordionItem = ({\n searchEnabled,\n itemTitle,\n numberOfItems,\n filteredNumberOfItems,\n filterString,\n }: {\n searchEnabled: boolean;\n itemTitle: string;\n numberOfItems: number;\n filteredNumberOfItems: number;\n filterString: string;\n }): string => {\n if (!searchEnabled) {\n return itemTitle;\n }\n\n if (filterString.length > 0) {\n return `${itemTitle} (${filteredNumberOfItems}/${numberOfItems})`;\n }\n\n return `${itemTitle} (${numberOfItems})`;\n };\n\n const filteredAccordionItems = useMemo(() => {\n const filteredItems = accordionItems.map((item) => {\n if (!isSearchEnabled) {\n return {\n ...item,\n content: contentForAccordionItem(item),\n };\n }\n\n const filteredItem = filterAccordionListItems(item, searchString);\n\n return {\n ...filteredItem,\n title: titleForAccordionItem({\n searchEnabled: isSearchEnabled,\n itemTitle: item.title,\n numberOfItems: item.listItems.length,\n filteredNumberOfItems: filteredItem.listItems.length,\n filterString: searchString,\n }),\n content: contentForAccordionItem(filteredItem),\n };\n });\n\n return filteredItems;\n }, [accordionItems, searchString, isSearchEnabled]);\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-200\"}>\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-200\"}\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\";\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","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 onClick?: (arg: React.MouseEvent<HTMLButtonElement, MouseEvent>) => 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\";\nimport ReactTooltip from \"react-tooltip\";\n\nimport { Spinner } from \"../Spinner/Spinner\";\nimport {\n AddIcon,\n DeleteIcon,\n EditIcon,\n LeftArrowIcon,\n RightArrowIcon,\n ChartIcon,\n PrintIcon,\n} from \"../Icons\";\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\n/**\n * TODO: We have to probably use [ButtonV2.tsx](../../components/ButtonV2/ButtonV2.tsx)\n * to replace this component at some point.\n */\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 generatedId = React.useId();\n\n const buttonTooltipId = otherAttributes.id\n ? `button-tooltip-id-${otherAttributes.id}`\n : `button-tooltip-id-${generatedId}`;\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 (\n propsRole === BUTTON_ROLES.TEXT ||\n propsRole === BUTTON_ROLES.LINK\n ) {\n setRole(BUTTON_ROLES.TERTIARY);\n } else if (hasDeleteIcon) {\n setRole(BUTTON_ROLES.NEGATIVE);\n }\n }, []);\n\n const isButtonDisabled =\n (role !== BUTTON_ROLES.LINK && isDisabled) || isPending;\n const isNonPrimaryNonNegative =\n role === BUTTON_ROLES.SECONDARY ||\n role === BUTTON_ROLES.TERTIARY ||\n role === BUTTON_ROLES.QUATERNARY;\n\n function handleClick(event: React.MouseEvent<HTMLButtonElement, MouseEvent>) {\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: [\n \"bg-white\",\n \"shadow-none\",\n \"border\",\n \"border-solid\",\n \"border-quaternary\",\n \"hover:border-slate-200\",\n ],\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\n \"shadow-sm\",\n \"transition-outline transition-colors duration-300 ease-in-out\",\n \"cursor-pointer\",\n \"rounded-full\",\n \"leading-none\",\n ],\n\n className,\n {\n \"w-11\": isIconOnly,\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\":\n 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 const tooltipAttrs = title\n ? {\n \"data-tip\": true,\n \"data-for\": buttonTooltipId,\n }\n : {};\n\n const buttonComponent = (\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 {/* There's a case for disabled buttons that can be hovered on: https://github.com/ReactTooltip/react-tooltip/issues/304#issuecomment-876501080 */}\n <span\n {...tooltipAttrs}\n className={classNames(\n \"relative flex flex-row items-center justify-center w-full h-full\", // ensuring the buttons are 44px high including content\n {\n \"py-2 px-2\": isIconOnly,\n \"px-4 py-3\": !isIconOnly,\n }\n )}\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 &&\n 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 </span>\n </button>\n );\n\n if (title) {\n return (\n <>\n <ReactTooltip effect=\"solid\" id={buttonTooltipId}>\n {title}\n </ReactTooltip>\n {buttonComponent}\n </>\n );\n }\n\n return buttonComponent;\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 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 // eslint-disable-next-line react/no-array-index-key\n <div key={index} className={\"overflow-hidden\"}>\n {slide}\n </div>\n ))}\n </div>\n </Glider>\n ) : (\n <></>\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 innerRef?: React.Ref<HTMLInputElement>;\n}\n\nconst CheckboxInner = ({\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 innerRef,\n}: CheckboxProps): JSX.Element => {\n const [checked, setChecked] = useState(false);\n const [indeterminate, setIndeterminate] = useState(isIndeterminate);\n const [isFocused, setIsFocused] = useState(false);\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 (innerRef) {\n if (typeof innerRef !== \"function\" && innerRef?.current) {\n innerRef.current.indeterminate = !indeterminate;\n }\n }\n }, [indeterminate]);\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n setChecked(event.currentTarget.checked);\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={innerRef}\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 const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (props, ref) => <CheckboxInner {...props} innerRef={ref} />\n);\n\nexport default Checkbox;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { IconComponentOrKey } from \"../Icon/Icon\";\nimport { Title } from \"../Title/Title\";\n\nimport type { 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 <IconComponentOrKey\n name={props.title.icon}\n className=\"text-blue-800 dialog-header-icon h-12 w-12\"\n />\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\";\nimport classNames from \"classnames\";\n\nimport { Text, TextColor } from \"../Text/Text\";\nimport { TextLink } from \"../TextLink/TextLink\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\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\ninterface NotificationBannerPropsWithText {\n text?: string;\n linkProps?: NotificationBannerLinkProps;\n children?: never;\n}\n\ninterface NotificationBannerPropsWithChildren {\n children: React.ReactNode;\n text?: never;\n linkProps?: never;\n}\n\nexport type NotificationBannerProps = (\n | NotificationBannerPropsWithChildren\n | NotificationBannerPropsWithText\n) & {\n color?: NotificationBannerColor;\n /**\n * The icon can either be one of our icon components or an image url\n */\n icon?: string | React.FunctionComponent<IconProps>;\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(classes, { \"inline-flex\": !stretch })}\n >\n {props.icon &&\n (typeof props.icon === \"function\" ? (\n React.createElement(props.icon, { className: \"w-6 h-6 mr-3\" })\n ) : (\n <img src={props.icon} className=\"w-6 h-6 mr-3\" />\n ))}\n {/* The flex-col here might make things redundant style-wise but probably won't break anything */}\n <div className={\"flex flex-col\"}>\n {/* Either the children or the text components below this block will render\n the types will make it so. */}\n {props.children}\n {(props.text || props.linkProps) && (\n <div className=\"flex flex-row items-center\">\n {props.text && (\n <Text\n className={classNames({\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 );\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 dataTestId = \"confirmation-dialog-modal\",\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={dataTestId}\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 @typescript-eslint/no-unused-vars */\n const {\n placeholder = \"\",\n className,\n initialSelectedItemId,\n onItemSelect,\n items,\n wider,\n ...otherProps\n } = this.props;\n /* eslint-enable @typescript-eslint/no-unused-vars */\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\":\n !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, { useEffect } 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\ntype ContainerLinkProps = { element: \"a\" } & Pick<\n HTMLAnchorElement,\n \"href\" | \"target\" | \"rel\"\n>;\ntype ContainerTelProps = { element: \"a\" } & Pick<HTMLAnchorElement, \"href\">;\ntype ContainerClipboardProps = {\n element: \"button\";\n \"data-clipboard-text\": string;\n} & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\">;\ntype ContainerNoneProps = { element: \"div\" };\n\ntype ContainerProps =\n | ContainerLinkProps\n | ContainerTelProps\n | ContainerClipboardProps\n | ContainerNoneProps;\n\nexport const InfoField = (props: InfoFieldProps): JSX.Element => {\n useEffect(() => {\n const clipboard = new ClipboardJS(\"button\");\n\n clipboard.on(\"success\", function (e) {\n props.onCopyToClipboard && props.onCopyToClipboard();\n e.clearSelection();\n });\n\n return () => clipboard.destroy();\n }, [props.onCopyToClipboard]);\n\n let containerProps: ContainerProps;\n\n switch (props.linkType) {\n case \"link\":\n containerProps = {\n element: \"a\",\n href: props.value,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n };\n break;\n case \"tel\":\n containerProps = { element: \"a\", href: `tel:${props.value}` };\n break;\n\n case \"clipboard\":\n containerProps = {\n element: \"button\",\n type: \"button\",\n \"data-clipboard-text\": props.value,\n };\n break;\n\n case \"none\":\n default:\n containerProps = { element: \"div\" };\n break;\n }\n\n const ContainerElement = containerProps.element;\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((action) => {\n if (!action) {\n return null;\n }\n\n return (\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 isDisabled={action.isDisabled}\n title={action.title}\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, RightArrowIcon } from \"../Icons\";\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 ReactSelect, {\n components,\n GroupBase,\n mergeStyles,\n MultiValue,\n Options,\n OptionsOrGroups,\n Props,\n StylesConfig,\n} 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 input: (baseStyles) => {\n return { ...baseStyles, padding: 0 };\n },\n multiValue: (baseStyles) => {\n return {\n ...baseStyles,\n lineHeight: isIE11 ? \"25px\" : \"1rem\",\n };\n },\n valueContainer: (baseStyles) => {\n return {\n ...baseStyles,\n padding: \".5rem\",\n };\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\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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\ntype WithCollapsible = {\n /**\n * When `false`, will prevent the checkbox list from being collapsed (also disabling clicking to expand/collapse)\n * in the component and it will be displayed expanded by default.\n * @default true\n */\n collapsible?: boolean;\n};\n\nexport type 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} & WithCollapsible;\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 type 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} & WithCollapsible;\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, ChevronDownIcon } from \"../Icons\";\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 collapsible = true,\n}: CheckboxGroupProps): JSX.Element => {\n const [groupCheckboxState, setGroupCheckboxState] = useState<CheckboxState>(\n CheckboxState.UNCHECKED\n );\n\n /**\n * If the prop `collapsible` is set to false, the default state of this list will\n * be expanded, and no change event can update that state.\n */\n const [collapsed, setCollapsed] = useState(collapsible ? isCollapsed : false);\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 if (collapsible) {\n setCollapsed(!collapsed);\n }\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 const CollapseStateChevron = collapsed ? ChevronRightIcon : ChevronDownIcon;\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 {collapsible && (\n <CollapseStateChevron onClick={handleGroupCollapse} />\n )}\n <Text\n type={\"strong\"}\n text={groupTitle || \"\"}\n className={classNames({\n \"ml-4\": collapsible,\n \"ml-1\": !collapsible,\n })}\n />{\" \"}\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(\n {\n \"ml-10\": collapsible,\n \"ml-5\": !collapsible,\n },\n itemClassName\n )}\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 collapsible={group.collapsible}\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: React.ReactNode;\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([\n \"w-full\",\n {\n \"max-h-screen overflow-y-auto px-4 lg:px-8\":\n !props.disableScrolling,\n },\n ])}\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 title,\n accessories,\n accessoryPosition = \"right\",\n className,\n children,\n content,\n isLoading = false,\n isPolling = false,\n spinnerColor = \"blue\",\n navLayoutProps = {},\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 =\n accessories instanceof Function ? accessories() : accessories;\n const childrenOrContentProp =\n 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 && (\n <LoadingIndicator\n asSpinner={true}\n className={\"page-spinner\"}\n spinnerColor={spinnerColor}\n />\n )}\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([\n PropTypes.arrayOf(breadcrumbItemShape),\n PropTypes.func,\n ]),\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([\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.element,\n PropTypes.func,\n ]),\n id: PropTypes.string,\n navLayoutProps: PropTypes.object,\n};\n\nexport default Page;\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\nexport interface StepsProps {\n orderedStepTitles: Array<string>;\n currentStep: number; //start count from 1\n className?: string;\n localization: { step: string };\n}\n\nexport const Steps = ({\n orderedStepTitles,\n currentStep,\n className,\n localization,\n}: StepsProps): JSX.Element => {\n const renderedSteps = orderedStepTitles.map((stepTitle, index) => (\n <Step\n // eslint-disable-next-line react/no-array-index-key\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 (\n <div\n className={`flex flex-row justify-items-stretch space-x-6 ${className}`}\n >\n {renderedSteps}\n </div>\n );\n};\n","export interface Crumb {\n name: string;\n key?: string;\n link?: string;\n}\n\nexport interface BreadcrumbProps {\n crumbs: Crumb[];\n truncateAfter?: number;\n}\n\nexport type BreadcrumbDividerProps = {\n onClick: () => void;\n truncatedCrumbs: Crumb[];\n};\n\ntype Possible<T> = {\n [P in keyof T]?: unknown;\n};\n\nexport const isBreadcrumbDividerProps = (\n subject: unknown\n): subject is BreadcrumbDividerProps => {\n if (typeof subject !== \"object\" || typeof subject === null) {\n return false;\n }\n\n const possibleSubject = subject as Possible<BreadcrumbDividerProps>;\n\n return (\n typeof possibleSubject.onClick === \"function\" &&\n Array.isArray(possibleSubject.truncatedCrumbs)\n );\n};\n","import React from \"react\";\nimport { Link } from \"@reach/router\";\n\nimport Text from \"../Text/Text\";\n\nimport type { BreadcrumbDividerProps, Crumb } from \"./Breadcrumbs.types\";\n\nexport const BreadcrumbItem: React.FC<Crumb> = ({ name, link }) => {\n return (\n <li 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\nexport const BreadcrumbDividerItem: React.FC<BreadcrumbDividerProps> = ({\n onClick,\n truncatedCrumbs,\n}) => {\n return (\n <li className=\"flex flex-row items-center slash-split\">\n <button\n onClick={onClick}\n title={truncatedCrumbs.map((crumb) => crumb.name).join(\" / \")}\n className=\"px-1\"\n >\n <Text text=\"…\" color=\"blue-800\" type=\"strong\" />\n </button>\n </li>\n );\n};\n","import React, { useState } from \"react\";\n\nimport { isBreadcrumbDividerProps } from \"./Breadcrumbs.types\";\nimport type {\n BreadcrumbProps,\n Crumb,\n BreadcrumbDividerProps,\n} from \"./Breadcrumbs.types\";\nimport { BreadcrumbDividerItem, BreadcrumbItem } from \"./BreadcrumbItem\";\n\nexport const Breadcrumbs: React.FC<BreadcrumbProps> = ({\n crumbs,\n truncateAfter = Infinity,\n}) => {\n const [head, ...tail] = crumbs;\n const [isTruncated, setIsTruncated] = useState(tail.length > truncateAfter);\n const truncatedCrumbs: Crumb[] = [];\n\n if (isTruncated) {\n while (tail.length > truncateAfter) {\n const shiftedCrumb = tail.shift();\n if (shiftedCrumb) {\n truncatedCrumbs.push(shiftedCrumb);\n }\n }\n }\n\n const dividerProps = {\n onClick: () => setIsTruncated(false),\n truncatedCrumbs,\n };\n\n const crumbsAndDivider: (Crumb | BreadcrumbDividerProps)[] = [\n head,\n dividerProps,\n ...tail,\n ];\n\n return (\n <ul\n data-test-id=\"breadcrumbs\"\n className=\"flex flex-row items-center space-x-2 \"\n >\n {(isTruncated ? crumbsAndDivider : crumbs).map((crumbOrDividerProps) =>\n isBreadcrumbDividerProps(crumbOrDividerProps) ? (\n <BreadcrumbDividerItem\n key={`divider-${truncatedCrumbs\n .map((crumb) => crumb.name)\n .join(\"-\")}`}\n {...crumbOrDividerProps}\n />\n ) : (\n <BreadcrumbItem\n key={crumbOrDividerProps.key || crumbOrDividerProps.name}\n {...crumbOrDividerProps}\n />\n )\n )}\n </ul>\n );\n};\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\nexport interface TabbarItemProps<T extends object = Record<string, unknown>>\n extends TabItemDetails<T> {\n index: number;\n isSelected?: boolean;\n onSelect?: (index: number) => void;\n className?: string;\n}\n\nconst TabbarItem = <T extends object = Record<string, unknown>>({\n title,\n index,\n isSelected,\n onSelect,\n className,\n badgeCount = 0,\n isLoading = false,\n dataTestId = \"\",\n}: TabbarItemProps<T>): 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, { TabbarItemProps, TabItemDetails } from \"./TabbarItem\";\n\nexport interface TabbarProps<T extends object = Record<string, unknown>> {\n tabs?: TabItemDetails<T>[];\n selectedIndex?: number;\n onSelect?: (params: {\n index: number;\n selectedTab: TabItemDetails<T>;\n }) => 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 = <T extends object = Record<string, unknown>>({\n tabs = [],\n selectedIndex,\n onSelect,\n className = \"\",\n withoutPadding = false,\n}: TabbarProps<T>): JSX.Element => {\n const [innerSelectedIndex, setInnerSelectedIndex] = useState(selectedIndex);\n\n useEffect(() => {\n setInnerSelectedIndex(selectedIndex);\n }, [selectedIndex]);\n\n const handleOnTabSelect: TabbarItemProps<T>[\"onSelect\"] = (index) => {\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: TabbarItemProps<T> = {\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 React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Breadcrumbs } from \"../Breadcrumbs/Breadcrumbs\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport Tabbar from \"../Tabbar/Tabbar\";\nimport { Title } from \"../Title/Title\";\n\nimport { PageHeaderProps } from \"./PageHeader.types\";\n\nconst PageHeader: React.FC<PageHeaderProps> = ({\n navigation,\n breadcrumbs,\n dataTestId,\n accessories,\n isPolling,\n title,\n contained,\n className,\n truncateBreadcrumbsAfter,\n}) => {\n const withContained = { \"max-w-3xl m-auto\": contained };\n\n return (\n <div\n data-test-id=\"page-header\"\n className={classNames(\"p-4 space-y-4 bg-white\", className, {\n \"w-full pl-0 pr-0\": contained,\n })}\n >\n {!!breadcrumbs?.length && (\n <div className={classNames(\"mb-4 space-y-4\", withContained)}>\n <Breadcrumbs\n crumbs={breadcrumbs}\n truncateAfter={truncateBreadcrumbsAfter}\n />\n <div className=\"mb-4 border-b border-slate-100\" />\n </div>\n )}\n <div\n className={classNames(\n \"flex flex-row items-center justify-between\",\n withContained\n )}\n >\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 && (\n <Tabbar\n {...navigation}\n withoutPadding\n className={classNames(navigation.className, withContained)}\n />\n )}\n </div>\n );\n};\n\nexport default PageHeader;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport { BUTTON_ROLES } from \"../Button/Button\";\nimport Line from \"../Line/Line\";\nimport { Steps } from \"../Steps/Steps\";\nimport { Title } from \"../Title/Title\";\nimport { PrimaryButton } from \"../ButtonV2/PrimaryButton\";\nimport { TertiaryButton } from \"../ButtonV2/TertiaryButton\";\nimport { PageHeader } from \"../PageHeader\";\n\nimport type { CRUDPageProps } from \"./CRUDPage.types\";\n\nconst CRUDPage: React.FC<CRUDPageProps> = ({\n submitButtonProps,\n cancelButtonProps,\n className,\n children,\n isLoading,\n isSubmitting,\n dataTestId = \"page\",\n title,\n header,\n steps,\n}) => {\n const mergedClasses = classNames(\n \"cweb-crud-page\",\n \"w-full mb-0 mx-auto pb-8\",\n className\n );\n\n const submitButton = submitButtonProps && (\n <PrimaryButton\n data-test-id=\"submit-button\"\n key=\"submit-button\"\n role={BUTTON_ROLES.PRIMARY}\n isPending={isSubmitting}\n {...submitButtonProps}\n />\n );\n\n const cancelButton = cancelButtonProps && (\n <TertiaryButton\n data-test-id=\"cancel-button\"\n key=\"cancel-button\"\n role={BUTTON_ROLES.SECONDARY}\n {...cancelButtonProps}\n />\n );\n\n let pageHeader: React.ReactNode;\n\n if (title) {\n pageHeader = (\n <div className=\"flex flex-row justify-start align-center max-w-3xl mx-auto w-full mt-8\">\n {title.icon && (\n <img\n id=\"title-icon\"\n src={title.icon}\n className=\"mr-4 w-11 h-11\"\n alt={\"title icon\"}\n />\n )}\n <Title text={title.text} type=\"lg\" />\n </div>\n );\n } else {\n pageHeader = <PageHeader contained {...header} />;\n }\n\n return (\n <div className=\"cweb-crud-page-container\" data-test-id={dataTestId}>\n {isLoading && (\n <div\n className={classNames(\n mergedClasses,\n \"overflow-y-hidden relative\",\n \"cweb-crud-page-loading-container\"\n )}\n style={{ height: \"90vh\" }}\n >\n <div className=\"flex flex-row justify-start align-center\">\n {pageHeader}\n </div>\n <LoadingIndicator\n className={classNames(\n \"crud-page-loader\",\n \"absolute top-0 right-0 bottom-0 left-0 m-auto h-12 w-12\"\n )}\n asModal={false}\n />\n </div>\n )}\n\n {!isLoading && (\n <div className={mergedClasses} data-test-id={dataTestId}>\n <div className=\"flex flex-row justify-start align-center\">\n {pageHeader}\n </div>\n\n <div\n className={classNames(\n \"cweb-crud-page-form-container\",\n \"max-w-3xl mx-auto bg-white rounded lg p-6 mt-4\"\n )}\n >\n {steps && (\n <Steps\n className={\"mb-4\"}\n orderedStepTitles={steps.titles}\n currentStep={steps.currentStep}\n localization={steps.localization}\n />\n )}\n {children}\n <Line\n left={[cancelButton]}\n right={[submitButton]}\n className={classNames(\n \"cweb-crud-page-button-line\",\n \"border-t border-solid border-color-divider pt-4 mt-4\"\n )}\n />\n </div>\n </div>\n )}\n </div>\n );\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 { 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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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, { RefAttributes } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text, TextProps } from \"../Text/Text\";\n\nexport interface TimelineStepProps extends RefAttributes<HTMLDivElement> {\n key: string | number;\n type?: \"wide\" | \"base\" | \"withoutDot\" | \"emptyDot\";\n title?: string | TextProps;\n content: React.ReactNode;\n dataTestId?: string | number;\n}\n\nexport const TimelineStep = React.forwardRef<HTMLDivElement, TimelineStepProps>(\n (\n { content, type = \"base\", dataTestId, title }: TimelineStepProps,\n ref\n ): 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\n className={containerClassNames}\n data-test-id={\n dataTestId === undefined ? \"\" : `timeline-step-${dataTestId}`\n }\n ref={ref}\n >\n <div className={\"flex flex-col\"}>\n {title && (\n <Text\n type={\"lg-strong\"}\n className={\"border-b flex flex-row items-center h-13\"}\n {...(typeof title === \"object\" ? title : { text: title })}\n />\n )}\n {content}\n </div>\n <div\n className={\n \"absolute top-0 -left-2 -ml-px flex flex-row items-center h-13\"\n }\n >\n <span\n className={classNames(\"rounded-lg h-4 w-4 inline-block\", {\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 </div>\n </div>\n </>\n );\n }\n);\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport {\n ButtonDefinitionWithKey,\n ButtonProps,\n} from \"../ButtonV2/ButtonProps.type\";\nimport { Title } from \"../../index\";\nimport { TitleProps } from \"../Title/Title\";\n\nexport type TimelineHeaderProps = {\n title?: string | TitleProps;\n buttons?: ButtonDefinitionWithKey<ButtonProps>[];\n withBorder?: boolean;\n};\n\nexport const TimelineHeader: React.FC<TimelineHeaderProps> = ({\n title,\n buttons,\n withBorder = true,\n}) => {\n const hasButtons = buttons && buttons.length > 0;\n const className = classNames(\n \"flex flex-row items-center space-x-4 rounded-t px-4\",\n {\n \"py-4\": !hasButtons,\n \"py-2\": hasButtons,\n \"justify-between\": title && hasButtons,\n \"justify-start\": title && !hasButtons,\n \"justify-end\": !title && hasButtons,\n \"border-b\": withBorder,\n }\n );\n\n return (\n <div data-test-id=\"timeline-header\" className={className}>\n {title && (\n <Title\n type={\"sm\"}\n {...(typeof title === \"object\" ? title : { text: title })}\n />\n )}\n {hasButtons && (\n <div className={\"flex flex-row space-x-4\"}>\n {buttons.map(({ buttonType: ButtonComponent, buttonProps }) => (\n <ButtonComponent {...buttonProps} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nexport default TimelineHeader;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { SecondaryButton } from \"../ButtonV2/SecondaryButton\";\nimport { BaseButtonProps } from \"../ButtonV2/ButtonProps.type\";\nimport CenteredHero, { CenteredHeroProps } from \"../CenteredHero/CenteredHero\";\n\nimport { TimelineStep, TimelineStepProps } from \"./TimelineStep\";\nimport { TimelineHeader, TimelineHeaderProps } from \"./TimelineHeader\";\n\nexport interface TimelineProps {\n headerProps?: TimelineHeaderProps;\n steps: TimelineStepProps[];\n loadMoreButtonProps?: BaseButtonProps;\n dataTestId?: string;\n emptyHeroProps?: CenteredHeroProps;\n}\n\nexport const Timeline = ({\n headerProps,\n steps,\n loadMoreButtonProps,\n dataTestId = \"timeline\",\n emptyHeroProps,\n}: TimelineProps): JSX.Element => {\n const isEmptyTimeline = !steps || steps.length === 0;\n return (\n <div className={\"bg-white rounded-xl\"} data-test-id={dataTestId}>\n {headerProps && <TimelineHeader {...headerProps} />}\n\n {isEmptyTimeline && emptyHeroProps && (\n <CenteredHero background={\"white\"} {...emptyHeroProps} />\n )}\n\n {!isEmptyTimeline && (\n <>\n <div\n className={classNames(\"px-4 pb-4\", {\n \"pt-4\": !headerProps,\n })}\n >\n {steps.map((step) => (\n <TimelineStep {...step} />\n ))}\n </div>\n {loadMoreButtonProps && (\n <div className={\"text-center border-t py-6\"}>\n <SecondaryButton {...loadMoreButtonProps} />\n </div>\n )}\n </>\n )}\n </div>\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 { FormFieldLabelerWithFormProps } 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 FormFieldLabeler({\n name,\n children,\n label,\n fieldRequired,\n info,\n fieldErrors,\n decoratorClassname,\n}: FormFieldLabelerWithFormProps): JSX.Element {\n return (\n <div className={classNames(decoratorClassname)}>\n {label && (\n <label\n className=\"block mb-1 cweb-form-field-label\"\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, { HTMLInputTypeAttribute } from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport Input, { InputProps } from \"../Input/Input\";\n\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport { hasError } from \"./form.transformer\";\nimport { FormFieldLabelerWithFormProps } from \"./form.types\";\n\ninterface FormInputProps\n extends Omit<InputProps, \"name\">,\n FormFieldLabelerWithFormProps {\n control: Control;\n // ref: https://react-hook-form.com/ts#UseControllerProps\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n type: Extract<\n HTMLInputTypeAttribute,\n \"email\" | \"number\" | \"password\" | \"text\"\n >;\n}\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 <FormFieldLabeler\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 </FormFieldLabeler>\n )\n);\n","import React from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport { RadioGroupProps, RadioGroupV2 } from \"../RadioGroup/RadioGroupV2\";\n\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport { hasError } from \"./form.transformer\";\nimport { FormFieldLabelerWithFormProps } from \"./form.types\";\n\ninterface FormRadioGroupProps\n extends Omit<RadioGroupProps, \"name\">,\n FormFieldLabelerWithFormProps {\n control: Control;\n // ref: https://react-hook-form.com/ts#UseControllerProps\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n}\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 <FormFieldLabeler\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 </FormFieldLabeler>\n )\n);\n","import React from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport { Select, SelectProps } from \"../Select/Select\";\n\nimport { FormFieldLabelerWithFormProps } from \"./form.types\";\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport { hasError } from \"./form.transformer\";\n\ninterface FormSelectProps\n extends Omit<SelectProps, \"name\">,\n FormFieldLabelerWithFormProps {\n control: Control;\n // ref: https://react-hook-form.com/ts#UseControllerProps\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n}\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 <FormFieldLabeler\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 </FormFieldLabeler>\n );\n }\n);\n","import React, { useEffect } from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport { ImagePicker } from \"../ImagePicker/ImagePicker\";\n\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport {\n ImagePickerFieldConfiguration,\n FormFieldLabelerWithFormProps,\n} from \"./form.types\";\n\ninterface FormImagePickerProps\n extends ImagePickerFieldConfiguration,\n FormFieldLabelerWithFormProps {\n control: Control;\n // ref: https://react-hook-form.com/ts#UseControllerProps\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n}\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 <FormFieldLabeler\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 </FormFieldLabeler>\n )\n);\n","import React from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport Checkbox from \"../Checkbox/Checkbox\";\n\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport { hasError } from \"./form.transformer\";\nimport {\n FieldCheckboxConfiguration,\n FormFieldLabelerWithFormProps,\n} from \"./form.types\";\n\ninterface FormCheckboxProps\n extends FieldCheckboxConfiguration,\n FormFieldLabelerWithFormProps {\n control: Control;\n // ref: https://react-hook-form.com/ts#UseControllerProps\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n}\n\nexport const FormFieldCheckbox = React.forwardRef<\n HTMLInputElement,\n FormCheckboxProps\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 <FormFieldLabeler\n name={name}\n fieldErrors={fieldErrors}\n fieldRequired={fieldRequired}\n 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 <Checkbox\n {...fieldProps}\n // Might be a tech debt due to how we named this\n // but the field type is always a checkbox, its shape\n // or style is what changes. The name `variant` was added\n // to the props to avoid confusion.\n type={fieldProps.variant}\n isChecked={value}\n error={hasError(name, fieldErrors)}\n ref={innerRef}\n name={name}\n onChange={(event) => {\n onChange(event.target.checked);\n }}\n text={label}\n value={value}\n />\n );\n }}\n />\n </FormFieldLabeler>\n )\n);\n","import React, { useEffect, useState } from \"react\";\nimport {\n Control,\n Controller,\n RegisterOptions,\n} from \"react-hook-form/dist/index.ie11\";\n\nimport CheckboxList, { CheckboxListProps } from \"../CheckboxList/CheckboxList\";\n\nimport { FormFieldLabeler } from \"./FormFieldLabeler\";\nimport {\n FieldCheckboxListConfiguration,\n FormFieldLabelerWithFormProps,\n} from \"./form.types\";\n\ninterface FormCheckboxListProps\n extends FieldCheckboxListConfiguration,\n FormFieldLabelerWithFormProps {\n control: Control;\n rules?: Exclude<\n RegisterOptions,\n \"valueAsNumber\" | \"valueAsDate\" | \"setValueAs\"\n >;\n}\n\nexport const FormFieldCheckboxList: React.FC<FormCheckboxListProps> = ({\n control,\n name,\n rules,\n fieldErrors,\n fieldRequired,\n label,\n info,\n decoratorClassname,\n\n fieldProps = { groups: [], onChange: () => undefined },\n}) => {\n return (\n <FormFieldLabeler\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 const { className, hasDividers } = fieldProps;\n const [checkboxListValues, setCheckboxListValues] =\n useState<CheckboxListProps[\"groups\"]>(value);\n\n useEffect(() => {\n setCheckboxListValues(value);\n }, [value]);\n\n return (\n <CheckboxList\n groups={checkboxListValues}\n hasDividers={hasDividers}\n className={className}\n onChange={(event) => {\n /**\n * This needs to be asynchronously orchestrated\n * because the CheckboxList component triggers multiple onChange\n * events after each other when you click a group that checks/unchecks the items.\n *\n * By always relying on the previous state, React can make put all changes together in one go.\n */\n setCheckboxListValues((previousState) => {\n const newState = previousState.map((group) => {\n const newItems = group.items.map((item) => {\n if (item.id === event.id) {\n return { ...item, isChecked: event.newCheckedValue };\n } else {\n return item;\n }\n });\n\n return { ...group, items: newItems };\n });\n onChange(newState);\n return newState;\n });\n }}\n />\n );\n }}\n />\n </FormFieldLabeler>\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 DeepPartial,\n SubmitErrorHandler,\n SubmitHandler,\n UnpackNestedValue,\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\";\nimport { CheckboxProps } from \"../Checkbox/Checkbox\";\nimport { CheckboxListProps } from \"../CheckboxList/CheckboxList.types\";\n\nimport { FormInput } from \"./FormInput\";\nimport { FormFieldLabelerProps, FormFieldConfiguration } from \"./form.types\";\nimport { isRequired } from \"./form.transformer\";\nimport { FormRadioGroup } from \"./FormRadioGroup\";\nimport { FormSelect } from \"./FormSelect\";\nimport { FormImagePicker } from \"./FormImagePicker\";\nimport { FormFieldCheckbox } from \"./FormFieldCheckbox\";\nimport { FormFieldCheckboxList } from \"./FormFieldCheckboxList\";\n\n// the input for the 'out-of-the-box' Form\nexport interface GenericFormProps<TFieldValues extends FieldValues> {\n // the fields to be rendered\n fields: FormFieldConfiguration<TFieldValues>[];\n onValid: SubmitHandler<TFieldValues>;\n onError?: SubmitErrorHandler<TFieldValues>;\n // inject the form with already known data (for instance, when updating\n defaultValues?: UnpackNestedValue<DeepPartial<TFieldValues>>;\n}\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\nexport interface FormProps<TFieldValues extends FieldValues> {\n // the fields to be rendered\n fields: FormFieldConfiguration<TFieldValues>[];\n useFormReturn: UseFormReturn<TFieldValues>;\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: FormFieldConfiguration<TFieldValues>,\n useFormReturn: UseFormReturn<TFieldValues>\n): JSX.Element | null {\n const { type, name, options, fieldProps = {} } = formFieldProps;\n const decoratorProps: FormFieldLabelerProps = 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 case \"checkbox\": {\n return (\n <FormFieldCheckbox\n key={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n {...(fieldProps as CheckboxProps)}\n type=\"checkbox\"\n name={name}\n rules={options}\n control={control}\n />\n );\n }\n\n case \"checkboxlist\": {\n return (\n <FormFieldCheckboxList\n key={name}\n {...decoratorProps}\n fieldRequired={isRequired(options)}\n fieldErrors={errors}\n type=\"checkboxlist\"\n name={name}\n rules={options}\n control={control}\n fieldProps={fieldProps as CheckboxListProps}\n />\n );\n }\n case \"void\":\n return null;\n default:\n return null;\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","IconWrapper","SVGComponent","role","onClick","undefined","SvgAddIcon","xmlns","width","height","fill","viewBox","d","iconWrapper","SvgAlertsIcon","x","y","rx","SvgBellIcon","SvgChartIcon","SvgChartLineColoredIcon","cx","cy","r","SvgChatBoxIcon","SvgCheckIcon","fillRule","SvgChevronDoubleIcon","clipRule","SvgChevronDownIcon","SvgChevronRightIcon","SvgCrossIcon","SvgDeleteIcon","SvgDownArrowIcon","SvgDragIcon","SvgEditIcon","SvgEmptyIcon","SvgEmptyStateDashboardIcon","fillOpacity","SvgExclamationMarkIcon","SvgEyeIcon","SvgGearColoredIcon","SvgGearIcon","SvgGroupColoredIcon","SvgGroupIcon","SvgHamburgerIcon","SvgHeartIcon","SvgImageIcon","SvgInfoIcon","SvgLeftArrowIcon","SvgLightBulbIcon","SvgLinkIcon","stroke","strokeLinecap","strokeWidth","strokeLinejoin","SvgLockIcon","SvgMessagesIcon","SvgMouseIcon","SvgNotesIcon","SvgPinIcon","SvgPrintIcon","SvgRightArrowIcon","SvgSearchCancelIcon","SvgSearchIcon","SvgSmallCircleIcon","SvgSmallDiamondIcon","transform","SvgSmallSquareIcon","SvgSpaceRocketIcon","SvgStarIcon","SvgStatusColoredIcon","SvgWarningIcon","TOASTER_TYPE_OPTIONS","SUCCESS","FAILURE","Toaster","message","isVisible","styleOverwrite","isSuccess","isFailure","style","id","shelved","expanded","hidden","CheckIcon","WarningIcon","CrossIcon","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","Title","isSmallTitle","containerClassName","ContainerElement","AccordionItem","content","isCollapsedByDefault","useReducer","state","isCollapsed","toggleIsCollapsed","Chevron","ChevronRightIcon","ChevronDownIcon","Accordion","dataTestId","items","map","item","key","ListItemSkeleton","ListSkeleton","skeletonItems","Array","from","length","_","i","BaseListHeader","button","transparent","withBorder","createElement","buttonType","buttonProps","BaseListEmptyState","roundTop","Icon","name","iconProps","Icons","IconComponentOrKey","isIconKey","DragHandle","forwardRef","ref","classes","grabbing","disabled","tabIndex","BaseListIcon","icon","onAssetLoadError","useState","loadIconError","setLoadIconError","onListItemIconLoadError","onListItemIconLoad","src","alt","onLoad","onError","ImageIcon","createAssetLoadError","payload","callback","console","BaseListItem","itemId","tooltipId","roundBottom","isDraggable","isSelected","subtitle","accessories","handleItemClick","renderDragHandle","htmlProps","clickHandler","BaseListInner","headerButton","emptyStateMessage","isLoading","headerTransparent","itemComponent","footer","hasHeader","Boolean","BaseList","draggableListItemPropsPointer","symbol","Symbol","createDraggableListProps","WeakMap","Object","freeze","isDraggableListItemProps","subject","has","draggableListPropsKey","getDndListItemProps","possibleDraggableListItemProps","data","current","get","DraggableBaseListItem","draggableData","useDraggable","draggableIdentifier","setNodeRef","listeners","attributes","isDragging","DraggableBaseList","DefaultState","horizontal","DropzonePresentation","isHighlighted","isClickable","Dropzone","identifier","useDroppable","isOver","presentation","SortableBaseListItem","useSortable","styleTransform","CSS","Transform","toString","SortableBaseList","SortableContext","strategy","verticalListSortingStrategy","ListItem","DefaultList","onDragEnd","listRef","useRef","dragulaRef","useEffect","destroy","setupDragging","handleDragEnd","element","draggedItemId","dataset","itemIdsWithOldOrder","itemIdsWithNewOrder","child","filter","oldIndexOfDraggedItemId","indexOf","newIndexOfDraggedItemId","dragulaInstance","dragula","revertOnSpill","on","List","draggableListType","omit","INPUT_TYPES","EMAIL","NUMBER","PASSWORD","TEXT","Input","withSuffix","withPrefix","clearable","isDisabled","value","onChange","isError","asFormField","otherProps","hasNoExtraContent","innerValue","setInnerValue","clearField","target","currentTarget","handleChangeEvent","event","isClearIconVisible","size","maxLength","rounded","block","SearchInput","Spinner","ButtonV2","innerRef","textColor","textHoverColor","isPending","otherAttributes","generatedId","useId","buttonTooltipId","handleClick","stopPropagation","buttonClassName","textColorClass","tooltipAttrs","buttonComponent","left","top","invisible","ReactTooltip","effect","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","restProps","spinnerToRender","spinner","graySpinner","loadingImage","AccordionList","localisations","searchPlaceholder","emptyListText","accordionItems","isSearchEnabled","accordionProps","searchString","setSearchString","filterItems","filterString","filterAccordionListItems","listItems","contentForAccordionItem","titleForAccordionItem","searchEnabled","itemTitle","numberOfItems","filteredNumberOfItems","filteredAccordionItems","useMemo","filteredItems","filteredItem","placeholder","e","TertiaryButton","ModalHeader","onCloseClick","PrimaryButton","ModalFooter","footerLeadingComponent","footerTrailingComponents","secondaryButtonProps","primaryButtonProps","ModalBase","withContentPaddingY","isOpen","ReactModal","setAppElement","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","iconSrc","close","CloseIcon","hamburger","HamburgerIcon","ChevronRightBlueIcon","ChevronLeftBlueIcon","ChevronRightGreyIcon","ChevronLeftGreyIcon","search","SearchIcon","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","AddIcon","EditIcon","DeleteIcon","LeftArrowIcon","RightArrowIcon","ChartIcon","PrintIcon","GliderContainer","Carousel","slides","setIsVisible","Glider","hasDots","hasArrows","skipTrack","scrollLock","rewind","arrows","prev","next","dots","containerElement","slide","index","CenteredHero","buttons","background","imageSize","handleOnClick","CheckboxInner","explanation","isChecked","isIndeterminate","checked","setChecked","indeterminate","setIndeterminate","isFocused","setIsFocused","hasError","handleChange","handleFocus","handleBlur","onBlur","onFocus","Checkbox","ConfirmationDialogTitle","TextLink","enabled","href","rel","NotificationBanner","stretch","centerContent","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","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","input","multiValue","lineHeight","valueContainer","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","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","collapsible","UNCHECKED","groupCheckboxState","setGroupCheckboxState","collapsed","setCollapsed","setIsDisabled","enabledItems","INDETERMINATE","CHECKED","handleGroupClick","forEach","handleGroupCollapse","checkedItemsCount","groupTitle","CollapseStateChevron","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","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","accessoryPosition","isPolling","navLayoutProps","feedbackBlock","navMenu","mergedPageClasses","containerClassnames","maybeTitle","Function","accessoryClasses","accessoriesContent","childrenOrContentProp","breadcrumbItemShape","breadcrumbs","isFetching","Step","stepNumber","active","barColor","step","Steps","orderedStepTitles","currentStep","renderedSteps","stepTitle","isBreadcrumbDividerProps","possibleSubject","truncatedCrumbs","BreadcrumbItem","Link","to","BreadcrumbDividerItem","crumb","Breadcrumbs","crumbs","truncateAfter","Infinity","head","tail","isTruncated","setIsTruncated","shiftedCrumb","shift","dividerProps","crumbsAndDivider","crumbOrDividerProps","TabbarItem","onSelect","handleTabClick","Tabbar","tabs","withoutPadding","innerSelectedIndex","setInnerSelectedIndex","handleOnTabSelect","selectedTab","tabItemProps","itemProps","PageHeader","navigation","contained","truncateBreadcrumbsAfter","withContained","CRUDPage","submitButtonProps","cancelButtonProps","isSubmitting","header","steps","mergedClasses","submitButton","cancelButton","pageHeader","titles","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","loadingIndicatorProps","SectionItem","SectionItemWithContent","iconClass","iconClasses","useOutsideClick","SettingsMenuButton","configuration","configFromProps","onConfigurationChange","shiftMenuTo","buttonTitle","iconComponent","menuTitle","innerConfiguration","setInnerConfiguration","showMenu","setShowMenu","menuRef","handleShowMenu","handleOnVibilitySwitchChanged","newConfig","config","itemName","innerConfig","SwitcherItem","default","showBadge","calculatedIcon","Switcher","currentSelection","setCurrentSelection","handleItemSelect","showIconOnFailure","setIsError","LazyLoadImage","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","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","TimelineHeader","hasButtons","ButtonComponent","Timeline","headerProps","loadMoreButtonProps","emptyHeroProps","isEmptyTimeline","ViewItem","titleProps","titleAccessory","contentProps","defaultContent","titlePropsMerged","contentPropsMerged","line","textProps","FormFieldErrorMessages","fieldErrors","types","errorKey","errorMessage","FormFieldLabeler","fieldRequired","decoratorClassname","errors","FormInput","rules","fieldProps","Controller","field","FormRadioGroup","FormSelect","selectProps","FormImagePicker","FormFieldCheckbox","variant","FormFieldCheckboxList","checkboxListValues","setCheckboxListValues","previousState","newState","newItems","GenericForm","fields","onValid","defaultValues","useFormReturn","useForm","criteriaMode","reset","handleSubmit","Form","FormFieldMapper","formFieldProps","decoratorProps","pick","formState","FullPageModalHeader","FullPageModal","Card"],"mappings":"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"}
|