@luscii-healthtech/web-ui 0.1.21 → 0.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web-ui.cjs.development.css +39 -39
- package/dist/web-ui.cjs.development.js +1 -1
- package/dist/web-ui.cjs.development.js.map +1 -1
- package/dist/web-ui.cjs.production.min.css +39 -39
- package/dist/web-ui.cjs.production.min.js +1 -1
- package/dist/web-ui.cjs.production.min.js.map +1 -1
- package/dist/web-ui.esm.css +39 -39
- package/dist/web-ui.esm.js +1 -1
- package/dist/web-ui.esm.js.map +1 -1
- package/package.json +2 -1
- package/src/components/PreviewPhone/useWindowDimensions.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-ui.cjs.development.js","sources":["../src/components/Text/Text.tsx","../src/components/Acknowledgement/Acknowledgement.js","../src/components/Avatar/Avatar.js","../src/components/Badge/Badge.tsx","../src/components/Button/Button.types.ts","../src/components/Button/ButtonIcon.tsx","../src/components/Spinner/Spinner.tsx","../src/components/ButtonV2/ButtonV2.tsx","../src/components/ButtonV2/PrimaryButton.tsx","../src/components/ButtonV2/SecondaryButton.tsx","../src/components/ButtonV2/TertiaryButton.tsx","../src/components/Icons/AddIcon.tsx","../src/components/Icons/DeleteIcon.tsx","../src/components/Icons/EditIcon.tsx","../src/components/Icons/LeftArrowIcon.tsx","../src/components/Icons/RightArrowIcon.tsx","../src/components/Icons/ChartIcon.tsx","../src/components/Icons/PrintIcon.tsx","../src/components/Button/Button.tsx","../src/components/Carousel/GliderContainer.tsx","../src/components/Carousel/Carousel.tsx","../src/components/Title/Title.tsx","../src/components/CenteredHero/CenteredHero.js","../src/components/Checkbox/Checkbox.tsx","../src/components/Modal/Modal.tsx","../src/components/Modal/ModalWithButtons.tsx","../src/components/ConfirmationDialog/ConfirmationDialog.tsx","../src/components/Datepicker/Datepicker.js","../src/components/Dropdown/Dropdown.js","../src/components/EmptyListMessage/EmptyListMessage.tsx","../src/components/ErrorBlock/ErrorBlock.js","../src/components/InfoBlock/InfoBlock.js","../src/components/InfoField/InfoField.tsx","../src/components/Input/Input.js","../src/components/Line/Line.js","../src/components/ListItem/ListItem.tsx","../src/components/PaginationMenu/PaginationMenuSmall.tsx","../src/components/Select/Select.tsx","../src/components/PaginationMenu/PaginationMenuLarge.tsx","../src/components/PaginationMenu/PaginationMenu.js","../src/components/LoadingIndicator/LoadingIndicator.tsx","../src/components/ListTable/ListTableCell.tsx","../src/components/ListTable/ListTableRow.tsx","../src/components/ListTable/ListTableHeader.tsx","../src/components/ListTable/ListTable.tsx","../src/components/Menu/Menu.js","../src/components/Text/LegacyText.js","../src/components/MultiSelect/MultiSelectUtils.js","../src/components/MultiSelect/MultiSelect.js","../src/components/NavMenu/NavLayout.tsx","../src/components/NavMenu/NavMenuItem.tsx","../src/components/NavMenu/NavMenuContent.tsx","../src/components/NavMenu/NavMenu.js","../src/components/TextLink/TextLink.tsx","../src/components/NotificationBanner/NotificationBanner.tsx","../src/components/Page/Page.js","../src/components/Title/LegacyTitle.js","../src/components/Steps/Step.tsx","../src/components/Steps/Steps.tsx","../src/components/Page/CRUDPage.js","../src/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/utils/useOutsideClick.js","../src/components/SettingsMenuButton/SettingsMenuButton.tsx","../src/components/Switcher/SwitcherItem.js","../src/components/Switcher/Switcher.js","../src/components/Tabbar/TabbarItem.tsx","../src/components/Tabbar/Tabbar.tsx","../src/components/TabLinks/TabLinks.tsx","../src/components/Tag/TagGroup.tsx","../src/components/Tag/Tag.tsx","../src/components/Textarea/Textarea.js","../src/components/TextEditor/TextEditor.js","../src/components/TextEditorV2/TextEditorV2.js","../src/components/TextListItem/TextListItem.js","../src/components/ViewItem/ViewItem.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { RestPropped } from \"../../types/general.types\";\n\nimport \"./Text.scss\";\n\nexport type TextStyle = \"sm\" | \"sm-strong\" | \"base\" | \"strong\" | \"lg\" | \"lg-strong\" | \"xl\" | \"xl-strong\" | string;\n\n//Extend with other colors that we want to enable for text\nexport type TextColor = \"base\" | \"gray-500\" | \"gray-200\" | \"white\" | \"blue\" | \"red\" | \"green\" | \"amber\" | \"inherit\";\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?: TextColor; //defaults to \"base\"\n className?: string;\n containsDangerousHtml?: boolean; //defaults to false\n truncate?: boolean; //defaults to false\n \"data-test-id\"?: string;\n}\n\nexport const Text = (props: TextProps): JSX.Element => {\n const containerProps = {\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 {\n \"text-xs font-medium\": props.type === \"sm\",\n \"text-xs font-semibold\": props.type === \"sm-strong\",\n \"text-sm\": props.type === \"base\",\n \"text-sm font-semibold\": props.type === \"strong\",\n \"\": props.type === \"lg\",\n \"font-semibold\": props.type === \"lg-strong\",\n \"text-lg\": props.type === \"xl\",\n \"font-semibold text-lg\": props.type === \"xl-strong\",\n },\n {\n inline: props.inline,\n // FIXME: this class doesn't do anything without a max-width\n truncate: props.truncate,\n },\n {\n \"text-slate-700\": props.color === \"base\",\n \"text-slate-500\": props.color === \"gray-500\",\n \"text-slate-200\": props.color === \"gray-200\",\n \"text-red-700\": props.color === \"red\",\n \"text-green-700\": props.color === \"green\",\n \"text-yellow-700\": props.color === \"amber\",\n \"text-blue-700\": props.color === \"blue\",\n \"text-white\": props.color === \"white\",\n \"text-primary-dark\": props.color === \"blue\",\n },\n {\n \"in-html-link\": props.containsDangerousHtml,\n },\n //can be used to overwrite other classes like the color\n props.className\n ),\n };\n\n return props.containsDangerousHtml ? (\n <p {...containerProps} dangerouslySetInnerHTML={{ __html: props.text }} />\n ) : (\n <p {...containerProps}>{props.text}</p>\n );\n};\n\nexport default Text;\n\nText.defaultProps = {\n type: \"base\",\n inline: false,\n color: \"base\",\n containsDangerousHtml: false,\n truncate: false,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport failureIcon from \"../../assets/error-icon.svg\";\n\nimport \"./Acknowledgement.scss\";\n\nexport const ACKNOWLEDGEMENT_TYPE_OPTIONS = {\n SUCCESS: \"success\",\n FAILURE: \"failure\",\n};\n\nAcknowledgement.propTypes = {\n message: PropTypes.string,\n type: PropTypes.oneOf([ACKNOWLEDGEMENT_TYPE_OPTIONS.SUCCESS, ACKNOWLEDGEMENT_TYPE_OPTIONS.FAILURE]),\n hasIcon: PropTypes.bool,\n isVisible: PropTypes.bool,\n className: PropTypes.string,\n};\n\nfunction Acknowledgement({\n message = \"\",\n type = ACKNOWLEDGEMENT_TYPE_OPTIONS.SUCCESS,\n isVisible = false,\n hasIcon = false,\n className = \"\",\n}) {\n const containerClassName = classNames(\"cweb-acknowledgement\", className, {\n \"type-success\": type === ACKNOWLEDGEMENT_TYPE_OPTIONS.SUCCESS,\n \"type-failure\": type === ACKNOWLEDGEMENT_TYPE_OPTIONS.FAILURE,\n \"is-visible\": isVisible,\n });\n\n const iconContainerClasses = classNames(\"acknowledgement-icon-container\", {\n hidden: !hasIcon,\n });\n\n const successIconClasses = classNames(\"icon success-icon acknowledgement-icon\", {\n hidden: type !== ACKNOWLEDGEMENT_TYPE_OPTIONS.SUCCESS,\n });\n\n const failureIconClasses = classNames(\"icon failure-icon acknowledgement-icon\", {\n hidden: type !== ACKNOWLEDGEMENT_TYPE_OPTIONS.FAILURE,\n });\n\n return (\n <div id=\"application-acknowledgement\" data-test-id={`acknowledgement-panel-${type}`} className={containerClassName}>\n <div className={iconContainerClasses}>\n <img src={successIcon} className={successIconClasses} alt=\"Success icon\" />\n <img src={failureIcon} className={failureIconClasses} alt=\"Failure icon\" />\n </div>\n\n <Text data-test-id=\"acknowledgement-message\" text={message} />\n </div>\n );\n}\n\nexport default Acknowledgement;\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","// These types were added because they are used in ViewItem that is completely refactored to TS\n// Ideally they should also be used in the Button TS component, but this was outside of the scope of this task\nimport React from \"react\";\n\nimport { RestPropped } from \"../../types/general.types\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nexport const BUTTON_ROLES = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n SECONDARY_DARK: \"secondaryDark\",\n TERTIARY: \"tertiary\",\n QUATERNARY: \"quaternary\",\n NEGATIVE: \"negative\",\n TEXT: \"text\",\n LINK: \"link\",\n ICON: \"icon\",\n} as const;\n\ntype BUTTON_KEYS = keyof typeof BUTTON_ROLES;\nexport type BUTTON_TYPE = typeof BUTTON_ROLES[BUTTON_KEYS];\n\nexport type ButtonType = \"button\" | \"submit\";\n\nexport interface ButtonProps extends RestPropped {\n text?: string;\n role?: BUTTON_TYPE;\n type?: ButtonType;\n title?: string;\n link?: string;\n isPending?: boolean;\n isDisabled?: boolean;\n // TODO: add specific type of ButtonEvent\n onClick?: (arg: any) => void;\n className?: string;\n // name mapping to the right svg in ButtonIcon\n iconName?: string;\n // legacy - can be removed?\n hasIcon?: boolean;\n dynamicIcon?: React.FunctionComponent<IconProps>;\n}\n","import * 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","import React from \"react\";\n\ninterface SpinnerProps {\n className?: string;\n}\n\nexport const Spinner = (props: SpinnerProps): JSX.Element => {\n return (\n <svg\n className={`w-5 h-5 animate-spin ${props.className}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\"></circle>\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { Spinner } from \"../Spinner/Spinner\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nexport type ButtonV2Type = \"button\" | \"submit\";\n\nexport interface ButtonV2Props {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n type?: ButtonV2Type;\n text?: string;\n icon?: React.FunctionComponent<IconProps>;\n isDisabled?: boolean;\n isPending?: boolean;\n className?: string;\n}\n\nexport const ButtonV2 = (props: ButtonV2Props): JSX.Element => {\n if (!props.text && !props.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 handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (props.type === \"submit\") {\n event.preventDefault();\n }\n props.onClick(event);\n };\n\n const buttonClassName = classNames(\n [\n \"h-11\",\n \"relative flex flex-row justify-center items-center\",\n \"border\",\n \"transition-outline transition-colors duration-300 ease-in-out\",\n \"rounded-full\",\n \"leading-none\",\n \"shadow-sm\",\n \"cursor-pointer\",\n \"focus:outline-primary\",\n ],\n {\n \"w-11\": !props.text && props.icon,\n \"px-4\": props.text,\n \"py-2\": props.text && props.icon,\n \"py-3\": props.text && !props.icon,\n },\n {\n \"opacity-50\": props.isDisabled,\n \"pointer-events-none\": props.isDisabled || props.isPending,\n },\n props.className\n );\n\n return (\n <button\n className={buttonClassName}\n type={props.type}\n onClick={handleClick}\n disabled={props.isDisabled}\n aria-disabled={props.isDisabled}\n >\n {props.icon && React.createElement(props.icon, { className: \"w-5 h-5\" })}\n\n {props.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=\"text-white\" />\n </span>\n )}\n\n {props.text && (\n <span\n className={classNames(\"text-sm font-medium\", {\n invisible: props.isPending,\n \"ml-1\": props.icon,\n })}\n >\n {props.text}\n </span>\n )}\n </button>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nimport { ButtonV2, ButtonV2Type } from \"./ButtonV2\";\n\nexport interface PrimaryButtonProps {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n type?: ButtonV2Type;\n text?: string;\n icon?: React.FunctionComponent<IconProps>;\n isDisabled?: boolean;\n isPending?: boolean;\n}\n\nexport const PrimaryButton = (props: PrimaryButtonProps): JSX.Element => {\n return (\n <ButtonV2\n className={classNames([\n \"text-white\",\n \"bg-blue-800\",\n \"border-transparent\",\n \"hover:bg-blue-900\",\n ])}\n onClick={props.onClick}\n type={props.type}\n text={props.text}\n icon={props.icon}\n isDisabled={props.isDisabled}\n isPending={props.isPending}\n />\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nimport { ButtonV2 } from \"./ButtonV2\";\n\nexport interface SecondaryButtonProps {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n text?: string;\n icon?: React.FunctionComponent<IconProps>;\n isDisabled?: boolean;\n}\n\nexport const SecondaryButton = (props: SecondaryButtonProps): JSX.Element => {\n return (\n <ButtonV2\n className={classNames([\n \"text-blue-800\",\n \"bg-white\",\n \"border-slate-300\",\n \"hover:text-blue-900\",\n \"hover:border-slate-400\",\n ])}\n onClick={props.onClick}\n text={props.text}\n icon={props.icon}\n isDisabled={props.isDisabled}\n />\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nimport { ButtonV2 } from \"./ButtonV2\";\n\nexport interface TertiaryButtonProps {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n text?: string;\n icon?: React.FunctionComponent<IconProps>;\n isDisabled?: boolean;\n}\n\nexport const TertiaryButton = (props: TertiaryButtonProps): JSX.Element => {\n return (\n <ButtonV2\n className={classNames([\n \"text-blue-800\",\n \"bg-transparent\",\n \"border-transparent\",\n \"hover:text-blue-900\",\n \"shadow-none\",\n ])}\n onClick={props.onClick}\n text={props.text}\n icon={props.icon}\n isDisabled={props.isDisabled}\n />\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const AddIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"10\" y=\"2\" width=\"4\" height=\"20\" rx=\"2\" fill=\"currentColor\" />\n <rect\n x=\"22\"\n y=\"10\"\n width=\"4\"\n height=\"20\"\n rx=\"2\"\n transform=\"rotate(90 22 10)\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\ninterface DeleteIconProps {\n className?: string;\n}\n\nexport const DeleteIcon = (props: DeleteIconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 19C6 20.1 6.9 21 8 21H16C17.1 21 18 20.1 18 19V9C18 7.9 17.1 7 16 7H8C6.9 7 6 7.9 6 9V19ZM18 4H15.5L14.79 3.29C14.61 3.11 14.35 3 14.09 3H9.91C9.65 3 9.39 3.11 9.21 3.29L8.5 4H6C5.45 4 5 4.45 5 5C5 5.55 5.45 6 6 6H18C18.55 6 19 5.55 19 5C19 4.45 18.55 4 18 4Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\ninterface EditIconProps {\n className?: string;\n}\n\nexport const EditIcon = (props: EditIconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3 17.4605V20.5005C3 20.7805 3.22 21.0005 3.5 21.0005H6.54C6.67 21.0005 6.8 20.9505 6.89 20.8505L17.81 9.94055L14.06 6.19055L3.15 17.1005C3.05 17.2005 3 17.3205 3 17.4605ZM20.71 7.04055C21.1 6.65055 21.1 6.02055 20.71 5.63055L18.37 3.29055C17.98 2.90055 17.35 2.90055 16.96 3.29055L15.13 5.12055L18.88 8.87055L20.71 7.04055V7.04055Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\ninterface LeftArrowIconProps {\n className?: string;\n}\n\nexport const LeftArrowIcon = (props: LeftArrowIconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.6899 17.2902C14.0799 16.9002 14.0799 16.2702 13.6899 15.8802L9.80992 12.0002L13.6899 8.12022C14.0799 7.73022 14.0799 7.10022 13.6899 6.71022C13.2999 6.32022 12.6699 6.32022 12.2799 6.71022L7.68992 11.3002C7.29992 11.6902 7.29992 12.3202 7.68992 12.7102L12.2799 17.3002C12.6599 17.6802 13.2999 17.6802 13.6899 17.2902Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\ninterface RightArrowIconProps {\n className?: string;\n}\n\nexport const RightArrowIcon = (props: RightArrowIconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.31008 6.70978C8.92008 7.09978 8.92008 7.72978 9.31008 8.11978L13.1901 11.9998L9.31008 15.8798C8.92008 16.2698 8.92008 16.8998 9.31008 17.2898C9.70008 17.6798 10.3301 17.6798 10.7201 17.2898L15.3101 12.6998C15.7001 12.3098 15.7001 11.6798 15.3101 11.2898L10.7201 6.69978C10.3401 6.31978 9.70008 6.31978 9.31008 6.70978Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChartIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"2\" y=\"7\" width=\"5\" height=\"15\" rx=\"2.5\" fill=\"currentColor\" />\n <rect x=\"9\" y=\"3\" width=\"5\" height=\"19\" rx=\"2.5\" fill=\"currentColor\" />\n <rect x=\"16\" y=\"10\" width=\"5\" height=\"12\" rx=\"2.5\" fill=\"currentColor\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const PrintIcon = (props: IconProps): JSX.Element => {\n return (\n <svg className={props.className} width=\"19\" height=\"18\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M16.6 5H15V.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5V5H2.4A2.4 2.4 0 0 0 0 7.4v5.2A2.4 2.4 0 0 0 2.4 15H5v2.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V15h2.6a2.4 2.4 0 0 0 2.4-2.4V7.4A2.4 2.4 0 0 0 16.6 5zM5 1h9v4H5V1zm8 16H6v-5h7v5zm5-4.4a1.4 1.4 0 0 1-1.4 1.4H14v-2.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5V14H2.4A1.4 1.4 0 0 1 1 12.6V7.4A1.4 1.4 0 0 1 2.4 6h14.2A1.4 1.4 0 0 1 18 7.4v5.2z\"\n fill=\"currentColor\"\n fill-rule=\"nonzero\"\n />\n </svg>\n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { navigate } from \"@reach/router\";\n\nimport { Spinner } from \"../Spinner/Spinner\";\nimport { AddIcon } from \"../Icons/AddIcon\";\nimport { DeleteIcon } from \"../Icons/DeleteIcon\";\nimport { EditIcon } from \"../Icons/EditIcon\";\nimport { LeftArrowIcon } from \"../Icons/LeftArrowIcon\";\nimport { RightArrowIcon } from \"../Icons/RightArrowIcon\";\nimport { ChartIcon } from \"../Icons/ChartIcon\";\nimport { PrintIcon } from \"../Icons/PrintIcon\";\n\nimport { ButtonIcon } from \"./ButtonIcon\";\nimport { BUTTON_ROLES, ButtonProps } from \"./Button.types\";\n\n// TODO: use the Types from Button.types.ts instead of PropTypes\nfunction Button(props: ButtonProps): JSX.Element {\n const {\n text = \"\",\n role: propsRole = BUTTON_ROLES.PRIMARY,\n type = \"button\",\n title = \"\",\n link = \"\",\n isPending = false,\n isDisabled = false,\n onClick,\n className = \"\",\n iconName = \"\",\n hasIcon: hasIconProps = false,\n dynamicIcon,\n ...otherAttributes\n } = props;\n\n const hasAddIcon = className.includes(\"add-button\");\n const hasEditIcon = className.includes(\"edit-button\");\n const hasDeleteIcon = className.includes(\"delete-button\");\n const hasPrevIcon = className.includes(\"prev-button\");\n const hasNextIcon = className.includes(\"next-button\");\n const hasChartIcon = className.includes(\"chart-button\");\n const hasPrintIcon = className.includes(\"print-button\");\n const hasIcon =\n hasIconProps ||\n iconName ||\n hasAddIcon ||\n hasEditIcon ||\n hasDeleteIcon ||\n hasPrevIcon ||\n hasNextIcon ||\n hasChartIcon ||\n hasPrintIcon ||\n dynamicIcon;\n\n const isIconOnly = hasIcon && !text;\n\n const [role, setRole] = useState(propsRole);\n\n // Fix to support the all the buttons in the application\n // Ideally we want to make a better implementation of them overall, but that's beyond the\n // scope of this task.\n\n useEffect(() => {\n if ((hasAddIcon || hasEditIcon) && !text) {\n setRole(BUTTON_ROLES.SECONDARY);\n } else if (propsRole === BUTTON_ROLES.TEXT || propsRole === BUTTON_ROLES.LINK) {\n setRole(BUTTON_ROLES.TERTIARY);\n } else if (hasDeleteIcon) {\n setRole(BUTTON_ROLES.NEGATIVE);\n }\n }, []);\n\n const isButtonDisabled = (role !== BUTTON_ROLES.LINK && isDisabled) || isPending;\n const isNonPrimaryNonNegative =\n role === BUTTON_ROLES.SECONDARY || role === BUTTON_ROLES.TERTIARY || role === BUTTON_ROLES.QUATERNARY;\n\n function handleClick(event: any) {\n if (link) {\n navigate(link);\n return;\n }\n\n if (isButtonDisabled || !onClick) {\n // without this, form will be submitted, if button has type submit.\n event.preventDefault();\n return;\n }\n\n onClick(event);\n }\n\n const buttonRolesStyling = {\n primary: [\n \"bg-primary\",\n \"hover:bg-primary-dark\",\n \"text-white\",\n \"focus:outline-primary\",\n \"border\",\n \"border-solid\",\n \"border-primary-transparent\",\n ],\n secondary: [\"bg-slate-200\"],\n secondaryDark: [\"bg-slate-700\", \"hover:bg-slate-600\"],\n tertiary: [\"bg-transparent\", \"shadow-none\", \"hover:bg-slate-100\"],\n quaternary: [\"bg-white\", \"shadow-none\", \"border\", \"border-solid\", \"border-quaternary\", \"hover:border-slate-200\"],\n negative: [\n \"bg-negative\",\n \"text-negative-dark\",\n \"hover:text-negative-darker\",\n \"hover:border-negative-border\",\n \"focus:outline-negative\",\n \"border\",\n \"border-transparent\",\n ],\n link: [],\n text: [],\n icon: [],\n };\n\n const containerClassName = classNames(\n // default button classes\n [\n \"h-11\",\n \"focus:outline-none\",\n \"relative flex flex-row justify-center items-center\",\n \"shadow-sm\",\n \"transition-outline transition-colors duration-300 ease-in-out\",\n \"cursor-pointer\",\n \"rounded-full\",\n \"leading-none\",\n ],\n // ensuring the buttons are 44px high including content\n {\n \"py-2 px-2 w-11\": isIconOnly,\n \"px-4 py-3\": !isIconOnly,\n },\n className,\n {\n \"opacity-50 pointer-events-none\": isButtonDisabled,\n \"hover:text-primary-dark text-primary\": isNonPrimaryNonNegative,\n \"border border-transparent\": isNonPrimaryNonNegative,\n \"hover:border-slate-200 focus:outline-primary\": isNonPrimaryNonNegative,\n \"text-secondary-dark opacity-75\": isButtonDisabled && isNonPrimaryNonNegative,\n },\n buttonRolesStyling[role]\n );\n\n const spinnerClassNames = classNames({\n hidden: !isPending,\n \"text-white\": role === BUTTON_ROLES.PRIMARY,\n \"text-dark-gray\": isNonPrimaryNonNegative,\n \"text-negative-dark\": role === BUTTON_ROLES.TERTIARY,\n });\n\n const buttonTextClasses = classNames([\"text-sm\", \"font-medium\"], {\n invisible: isPending,\n hidden: !text,\n \"ml-3\": hasIcon,\n });\n\n return (\n <button\n {...otherAttributes}\n aria-disabled={isButtonDisabled}\n disabled={isButtonDisabled}\n className={containerClassName}\n onClick={handleClick}\n type={type}\n title={title}\n data-role={role}\n >\n {hasAddIcon && <AddIcon className=\"w-5 h-5\" />}\n {hasEditIcon && <EditIcon className=\"w-5 h-5\" />}\n {hasDeleteIcon && <DeleteIcon className=\"w-5 h-5\" />}\n {hasPrevIcon && <LeftArrowIcon className=\"w-5 h-5\" />}\n {hasNextIcon && <RightArrowIcon className=\"w-5 h-5\" />}\n {hasChartIcon && <ChartIcon className=\"w-5 h-5\" />}\n {hasPrintIcon && <PrintIcon className=\"w-5 h-5\" />}\n {iconName && <ButtonIcon name={iconName} />}\n {dynamicIcon && React.createElement(dynamicIcon, { className: \"w-5 h-5\" })}\n\n <span\n className=\"opacity-100\"\n // IE11 center translate fix\n style={{\n position: \"absolute\",\n left: \"50%\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <Spinner className={spinnerClassNames} />\n </span>\n <span className={buttonTextClasses}>{text}</span>\n </button>\n );\n}\n\nexport default Button;\n\nexport { BUTTON_ROLES };\n","import React from \"react\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\n\nimport \"./GliderContainer.scss\";\n\ninterface GliderContainerProps {\n children: React.ReactNode;\n}\n\nexport const GliderContainer = (props: GliderContainerProps): JSX.Element => (\n <div className={\"relative h-full pb-6 glider-contain px-17 pb-6\"}>\n {props.children}\n <div className={\"entity-preview-left absolute top-1/2 left-0\"}>\n <Button iconName={\"chevron-left-blue\"} role={BUTTON_ROLES.QUATERNARY} />\n </div>\n <div className={\"entity-preview-right absolute top-1/2 right-0\"}>\n <Button iconName={\"chevron-right-blue\"} role={BUTTON_ROLES.QUATERNARY} />\n </div>\n <div className=\"entity-preview-dots\" />\n </div>\n);\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport Glider from \"react-glider\";\n\nimport { GliderContainer } from \"./GliderContainer\";\n\ninterface CarouselProps {\n id: string;\n slides: React.ReactNode[];\n className?: string;\n}\n\nconst Carousel = ({ slides, className, id }: CarouselProps): JSX.Element => {\n const [isVisible, setIsVisible] = useState(false);\n useEffect(() => setIsVisible(false), [id]);\n useEffect(() => {\n // hack to force Glider to re mount when id changes\n if (!isVisible) {\n setIsVisible(true);\n }\n }, [isVisible]);\n\n return (\n isVisible ? (\n <Glider\n hasDots\n hasArrows\n skipTrack\n // draggable\n scrollLock\n rewind\n arrows={{\n prev: \".entity-preview-left\",\n next: \".entity-preview-right\",\n }}\n id={id} // this should force Glider to rebuild, but it does not\n dots={\".entity-preview-dots\"}\n className={classNames(\"h-full\", className)}\n containerElement={GliderContainer}\n >\n <div className=\"glider-track h-full\">\n {slides?.map((slide, index) => (\n <div key={index} className={\"overflow-hidden\"}>\n {slide}\n </div>\n ))}\n </div>\n </Glider>\n ) : <></>);\n};\n\nexport default Carousel;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport \"./Title.scss\";\n\nexport type TitleStyle = \"sm\" | \"base\" | \"lg\" | \"xl\" | \"2xl\";\n\nexport interface TextProps {\n text: string;\n type?: TitleStyle; //defaults to \"base\"\n className?: string;\n}\n\nexport const Title = (props: TextProps): JSX.Element => {\n const containerClassName = classNames(\n \"title\", //this is used to load the correct font from the css\n \"font-bold\",\n {\n \"text-slate-700\": !props.className?.match(/\\s(text-)/),\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 <ContainerElement className={containerClassName}>{props.text}</ContainerElement>;\n};\n\nTitle.defaultProps = {\n type: \"base\",\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport Text from \"../Text/Text\";\nimport { Title } from \"../Title/Title\";\n\nCenteredHero.propTypes = {\n title: PropTypes.string,\n text: PropTypes.string,\n image: PropTypes.string,\n buttons: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n handleOnClick: PropTypes.func.isRequired,\n type: PropTypes.oneOf([BUTTON_ROLES.PRIMARY, BUTTON_ROLES.SECONDARY]).isRequired,\n })\n ),\n className: PropTypes.string,\n};\n\nfunction CenteredHero({ title, text, image, buttons, className }) {\n return (\n <div className={classNames(className, \"p-6 my-6 flex flex-col items-center w-200 ml-auto mr-auto\")}>\n {image && <img src={image} />}\n {title && <Title className=\"mt-8 mb-2\" text={title} type={\"base\"} />}\n {text && <Text text={text} />}\n\n {buttons?.length > 0 && (\n <div className=\"flex flex-row mt-8\">\n {buttons\n .filter((button) => button.title && button.handleOnClick && button.type)\n .map((button) => (\n <Button\n className=\"mr-4 last:mr-0\"\n key={button.title}\n role={button.type}\n title={button.title}\n text={button.title}\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 initial value\n isChecked?: boolean;\n // Allow the user to change the input\n isDisabled?: boolean;\n name?: string;\n // This can be used to retrieve the value it is referring to through onChange\n value?: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n className?: string;\n error?: boolean;\n}\n\nexport const Checkbox = ({\n id,\n text,\n explanation,\n type = \"regular\",\n isChecked = false,\n isDisabled,\n name,\n value,\n onChange,\n className,\n error,\n}: CheckboxProps): JSX.Element => {\n const [checked, setChecked] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n\n const containerClassName = classNames(\"cweb-checkbox\", className, {\n \"is-focused\": isFocused,\n \"is-checked\": checked,\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 }, [isChecked]);\n\n const handleChange = (event) => {\n setChecked(!checked);\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 <label className=\"cweb-checkbox-label\" data-test-id=\"checkbox-label\" onClick={(e) => e.stopPropagation()}>\n <input\n id={id}\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\", \"transition-colors duration-300\", {\n \"bg-primary\": checked,\n \"bg-white\": !checked,\n \"hover:bg-primary-dark\": checked,\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 && <Text className=\"ml-2 select-none text-left\" text={text} data-test-id=\"checkbox-text\" />}\n {explanation && (\n <Text\n className=\"ml-2 select-none text-left\"\n text={explanation}\n color={\"gray-500\"}\n data-test-id=\"checkbox-explanation\"\n />\n )}\n </div>\n </label>\n </div>\n );\n};\n\nexport default Checkbox;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport ReactModal from \"react-modal\";\n\nimport \"./Modal.scss\";\nimport { Title } from \"../Title/Title\";\n\nexport const MODAL_SIZES = {\n DEFAULT: \"default\",\n WIDE: \"wide\",\n WIDER: \"wider\",\n EXTRA_SMALL: \"extra-small\",\n} as const;\n\ntype MODAL_SIZES_NAMES = keyof typeof MODAL_SIZES;\nexport type MODAL_SIZES_VALUES = typeof MODAL_SIZES[MODAL_SIZES_NAMES];\n\nexport interface ModalProps {\n children: React.ReactNode;\n type?: MODAL_SIZES_VALUES;\n isOpen?: boolean;\n shouldCloseOnOverlayClick?: boolean;\n showTitleBar?: boolean;\n title?: string;\n onCloseClick?: (event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>) => void;\n backAltText?: string;\n closeAltText?: string;\n className?: string;\n closeButtonId?: string;\n withPadding?: boolean;\n showHeader?: boolean;\n}\n\n/**\n * Don't use this modal directly if you need to add buttons to it.\n * There's a component called <ModalWithButtons /> you can use instead.\n */\nfunction Modal({\n children,\n type = MODAL_SIZES.DEFAULT,\n isOpen = false,\n shouldCloseOnOverlayClick = true,\n showTitleBar = true,\n title,\n onCloseClick,\n closeAltText = \"Close\",\n className,\n closeButtonId,\n withPadding = false,\n showHeader = true,\n}: ModalProps): JSX.Element {\n const containerClassName = classNames(\"cweb-modal\", className, {\n \"type-default\": type === MODAL_SIZES.DEFAULT,\n \"type-wide\": type === MODAL_SIZES.WIDE,\n \"type-wider\": type === MODAL_SIZES.WIDER,\n \"type-extra-small\": type === MODAL_SIZES.EXTRA_SMALL,\n });\n\n const overlayClassName = classNames(\"cweb-modal-overlay\", {\n \"no-title-bar\": !showTitleBar,\n });\n\n ReactModal.setAppElement(\"body\");\n\n return (\n <ReactModal\n isOpen={isOpen}\n contentLabel={title}\n portalClassName=\"cweb-modal-portal\"\n overlayClassName={overlayClassName}\n bodyOpenClassName=\"cweb-modal-body-open\"\n htmlOpenClassName=\"cweb-modal-html-open\"\n onRequestClose={onCloseClick}\n shouldFocusAfterRender={false}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n className={containerClassName}\n >\n {showHeader && (\n <div\n className={classNames({\n \"cweb-modal-title-section\": showTitleBar,\n \"cweb-modal-no-title-section\": !showTitleBar,\n })}\n >\n {showTitleBar && title && <Title text={title} type=\"sm\" className=\"cweb-modal-title\" />}\n <button\n data-test-id=\"close-modal-button\"\n role=\"icon\"\n title={closeAltText}\n id={closeButtonId}\n className=\"cweb-modal-close-button\"\n onClick={onCloseClick}\n />\n </div>\n )}\n\n {children ? (\n <div className={classNames(\"cweb-modal-content\", { \"px-6 py-4\": withPadding })}>{children}</div>\n ) : null}\n </ReactModal>\n );\n}\n\nexport default Modal;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport Modal, { ModalProps } from \"./Modal\";\n\nexport type ButtonsAlignment = \"justify-end\" | \"justify-between\";\n\ntype ModalWithButtonProps = ModalProps & {\n buttons: [JSX.Element, JSX.Element?];\n buttonsAlignment: ButtonsAlignment;\n};\n\nexport const ModalWithButtons = (props: ModalWithButtonProps): JSX.Element => {\n const { buttons, buttonsAlignment = \"justify-between\", children, ...rest } = props;\n return (\n <Modal {...rest} withPadding={false}>\n <div className={classNames(\"cweb-modal-content\", { \"px-6 py-4\": props.withPadding })}>{children}</div>\n <div\n className={classNames(\n \"flex items-center\",\n {\n \"justify-end\": buttonsAlignment === \"justify-end\" || buttons.length === 1,\n \"justify-between\": buttonsAlignment === \"justify-between\" && buttons.length >= 2,\n },\n \"px-6 py-4\",\n \"border-t border-solid rounded-b-lg border-chrome\",\n \"bg-slate-50\"\n )}\n >\n {buttons}\n </div>\n </Modal>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport \"./ConfirmationDialog.scss\";\nimport { ModalWithButtons } from \"../Modal/ModalWithButtons\";\nimport { MODAL_SIZES, MODAL_SIZES_VALUES } from \"../Modal/Modal\";\nimport Text from \"../Text/Text\";\nimport { BUTTON_TYPE } from \"../Button/Button.types\";\n\ninterface ConfirmationDialogTexts {\n message: string;\n confirmLabel: string;\n cancelLabel: string;\n title?: string;\n}\n\ninterface ConfirmationDialogProps {\n texts: ConfirmationDialogTexts;\n isOpen: boolean;\n onCancel: () => void;\n onConfirm: () => void;\n isProcessing: boolean;\n cancelButtonRole: BUTTON_TYPE;\n confirmButtonRole: BUTTON_TYPE;\n size: MODAL_SIZES_VALUES;\n showHeader: boolean;\n className?: string;\n}\n\nexport const ConfirmationDialog = (props: ConfirmationDialogProps): JSX.Element => {\n const calculatedClassNames = classNames(\"vitals-confirmation-dialog\", props.className);\n\n const handleOnCloseClick = () => {\n if (!props.isProcessing) {\n props.onCancel();\n }\n };\n\n const modalButtons: [JSX.Element, JSX.Element?] = [\n <Button\n key=\"confirmation-dialog-button-cancel\"\n data-test-id=\"button-cancel\"\n text={props.texts.cancelLabel}\n onClick={props.onCancel}\n isDisabled={props.isProcessing}\n role={props.cancelButtonRole}\n />,\n <Button\n key=\"confirmation-dialog-button-confirm\"\n className=\"ml-2.5\"\n data-test-id=\"button-confirm\"\n text={props.texts.confirmLabel}\n onClick={props.onConfirm}\n isPending={props.isProcessing}\n />,\n ];\n\n return (\n <ModalWithButtons\n type={props.size}\n className={calculatedClassNames}\n isOpen={props.isOpen}\n title={props.texts.title}\n onCloseClick={handleOnCloseClick}\n shouldCloseOnOverlayClick={!props.isProcessing}\n showHeader={props.showHeader}\n buttons={modalButtons}\n buttonsAlignment=\"justify-end\"\n >\n <div className=\"vitals-confirmation-dialog-content\">\n <Text text={props.texts.message} containsDangerousHtml={true} />\n </div>\n </ModalWithButtons>\n );\n};\n\nConfirmationDialog.defaultProps = {\n isProcessing: false,\n cancelButtonRole: BUTTON_ROLES.SECONDARY,\n confirmButtonRole: BUTTON_ROLES.PRIMARY,\n size: MODAL_SIZES.DEFAULT,\n showHeader: true,\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(\"cweb-datepicker text-slate-700 text-sm\", className);\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","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(items, ITEM_QUERY_FIELD_NAMES.ID, props.initialSelectedItemId)\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(this.findItem(items, ITEM_QUERY_FIELD_NAMES.HIGHLIGHT_INDEX, highlightIndex));\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 && 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 ? prevState.selectedItem.highlightIndex : 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 = prevState.highlightIndex > 0 ? prevState.highlightIndex - 1 : 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 className={itemClassName} key={item.id} tabIndex=\"0\" onClick={() => this.selectItem(item)}>\n <Text data-test-id={item.text} text={item.text} type={textType} truncate />\n <img className={classNames({ hidden: !isItemSelected })} src={checkmark} alt=\"checked\" />\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=\"gray-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) => (item.subItems ? this.renderGroupedItems(item) : this.renderIndividualItem(item)))}\n </div>\n );\n };\n\n render() {\n // eslint-disable-next-line no-unused-vars\n const {\n placeholder = \"\",\n className,\n initialSelectedItemId,\n onItemSelect,\n items,\n wider,\n ...otherProps\n } = this.props;\n const { selectedItem, isDropdownOpen } = this.state;\n const containerClassName = classNames(\"cweb-dropdown\", className, { \"is-open\": isDropdownOpen });\n const onDropdownClick = isDropdownOpen ? this.closeDropdown : 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(\"dropdown-header space-x-2 border border-solid p-3 cursor-pointer\", {\n \"border-primary-dark\": isDropdownOpen,\n \"border-input-border hover:border-input-border-dark\": !isDropdownOpen,\n })}\n onClick={onDropdownClick}\n >\n <Text className=\"dropdown-header-title\" text={selectedItem ? selectedItem.text : placeholder} truncate />\n <img className=\"dropdown-header-icon\" src={chevronDouble} alt=\"browse icon\" />\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([PropTypes.number, PropTypes.string]),\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 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","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nimport \"./ErrorBlock.scss\";\n\nErrorBlock.propTypes = {\n message: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nfunction ErrorBlock({ message, className = \"\", ...otherProps }) {\n const containerClassName = classNames(\"cweb-error-block\", className);\n\n return (\n <div className={containerClassName}>\n <Text {...otherProps} className=\"cweb-error-block-message\" text={message} />\n </div>\n );\n}\n\nexport default ErrorBlock;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./InfoBlock.scss\";\nimport { Text } from \"../Text/Text\";\n\nInfoBlock.propTypes = {\n message: PropTypes.string.isRequired,\n containsDangerousHtml: PropTypes.bool,\n className: PropTypes.string,\n};\n\nfunction InfoBlock({ message, className, containsDangerousHtml = false }) {\n const containerClassName = classNames(\"cweb-info-block\", className);\n\n return (\n <div className={containerClassName}>\n <Text text={message} containsDangerousHtml={containsDangerousHtml} />\n </div>\n );\n}\n\nexport default InfoBlock;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport ClipboardJS from \"clipboard\";\n\nimport { Text } from \"../Text/Text\";\n\ntype InfoFieldLinkType = \"none\" | \"link\" | \"clipboard\" | \"tel\";\n\ninterface InfoFieldProps {\n label: string;\n value: string;\n linkType: InfoFieldLinkType;\n supportsMultiline?: boolean;\n onCopyToClipboard?: () => void;\n icon?: JSX.Element;\n className?: string;\n}\n\nexport const InfoField = (props: InfoFieldProps): JSX.Element => {\n const clipboard = new ClipboardJS(\"button\");\n\n clipboard.on(\"success\", function (e) {\n props.onCopyToClipboard && props.onCopyToClipboard();\n e.clearSelection();\n });\n\n let ContainerElement: React.ElementType;\n let containerProps: any;\n\n switch (props.linkType) {\n case \"link\":\n ContainerElement = \"a\";\n containerProps = {\n href: props.value,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n };\n break;\n case \"tel\":\n ContainerElement = \"a\";\n containerProps = { href: `tel:${props.value}` };\n break;\n\n case \"clipboard\":\n ContainerElement = \"button\";\n containerProps = {\n type: \"button\",\n \"data-clipboard-text\": props.value,\n };\n break;\n\n case \"none\":\n default:\n ContainerElement = \"div\";\n break;\n }\n\n return (\n <div className={classNames(\"flex flex-row align-center items-center\", props.className)}>\n {props.icon}\n <ContainerElement className={\"flex flex-col overflow-hidden ml-3 first:ml-0\"} {...containerProps}>\n <Text\n text={props.label}\n type={\"sm\"}\n color={\"gray-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\nimport cross from \"../../assets/color-variant-cross.svg\";\n\nconst INPUT_TYPES = {\n EMAIL: \"email\",\n NUMBER: \"number\",\n PASSWORD: \"password\",\n TEXT: \"text\",\n};\n\nInput.propTypes = {\n className: PropTypes.string,\n type: PropTypes.oneOf([INPUT_TYPES.EMAIL, INPUT_TYPES.NUMBER, INPUT_TYPES.PASSWORD, INPUT_TYPES.TEXT]),\n value: PropTypes.any,\n name: PropTypes.string.isRequired,\n placeholder: PropTypes.string,\n clearable: PropTypes.bool,\n maxLength: PropTypes.number,\n isDisabled: PropTypes.bool,\n withPrefix: PropTypes.string,\n withSuffix: PropTypes.string,\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 id: PropTypes.string,\n setRef: PropTypes.any,\n};\n\nfunction Input({\n withSuffix = \"\",\n withPrefix = \"\",\n className = \"\",\n clearable = false,\n type = INPUT_TYPES.TEXT,\n isDisabled = false,\n icon,\n setRef = () => undefined,\n onChange,\n name,\n value,\n ...otherProps\n}) {\n const hasNoExtraContent = withPrefix === \"\" && withSuffix === \"\";\n\n let style;\n if (icon) {\n style = {\n backgroundSize: \"1.125rem\",\n backgroundPosition: \"1rem\",\n backgroundImage: `url(${icon})`,\n backgroundRepeat: \"no-repeat\",\n };\n }\n\n return (\n <div className=\"relative flex flex-row\">\n <span\n className={classNames(\n \"h-11\",\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 \"border-t border-b border-solid border-input-border\",\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 <input\n {...otherProps}\n name={name}\n value={value}\n onChange={onChange}\n ref={setRef}\n size={otherProps.maxLength}\n type={type}\n disabled={isDisabled}\n className={classNames(\n \"cweb-input\",\n \"block\",\n { \"pl-10\": icon, \"pr-11\": clearable },\n \"h-11\",\n \"p-2\",\n \"border\",\n \"text-sm\",\n \"text-slate-700\",\n \"bg-white\",\n \"placeholder-slate-500\",\n \"border-solid\",\n \"border-input-border\",\n \"hover:border-input-border-dark\",\n \"focus:outline-primary\",\n \"transition-colors\",\n \"duration-300\",\n \"focus:border-primary\",\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 style={style}\n />\n <span\n style={{\n background: `url(${cross}) center no-repeat`,\n backgroundSize: \"1.5rem\",\n }}\n className={classNames(\n \"absolute right-0 transform top-1/2\",\n \"-translate-y-1/2 block w-6 h-6 mr-3 cursor-pointer text-input-icon\",\n { hidden: !clearable }\n )}\n onClick={() => {\n onChange && onChange({ target: { name: name, value: \"\" }, currentTarget: { name: name, value: \"\" } });\n }}\n />\n </div>\n );\n}\n\nexport default Input;\nexport { INPUT_TYPES };\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\";\nimport classNames from \"classnames\";\n\nimport \"./ListItem.scss\";\n\nexport interface ListItemProps {\n className?: string;\n onClick?: any; // func\n children?: any;\n}\n\nexport const ListItem: React.FC<ListItemProps> = (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 ListItem;\n","import * as React from \"react\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport { Text } from \"../Text/Text\";\n\ninterface PaginationMenuSmallProps {\n pageCount: number;\n currentPage: number;\n onPageClick: (page: number) => void;\n}\n\nexport const PaginationMenuSmall = (props: PaginationMenuSmallProps): JSX.Element => {\n function handleOnPageClick(event: React.MouseEvent<HTMLButtonElement>) {\n event.preventDefault();\n const page: string | undefined = event.currentTarget.dataset.page;\n page && props.onPageClick(parseInt(page, 10));\n }\n\n return (\n <>\n <Button\n data-test-id=\"prev-button\"\n role={BUTTON_ROLES.TERTIARY}\n iconName={props.currentPage === 1 ? \"chevron-left-grey\" : \"chevron-left-blue\"}\n data-page={props.currentPage - 1}\n onClick={handleOnPageClick}\n isDisabled={props.currentPage === 1}\n />\n <Text text={`${props.currentPage} / ${props.pageCount}`} type=\"sm\" color=\"gray-500\" />\n <Button\n data-test-id=\"next-button\"\n role={BUTTON_ROLES.TERTIARY}\n iconName={props.currentPage === props.pageCount ? \"chevron-right-grey\" : \"chevron-right-blue\"}\n isDisabled={props.currentPage === props.pageCount}\n data-page={props.currentPage + 1}\n onClick={handleOnPageClick}\n />\n </>\n );\n};\n","import type { Props, StylesConfig, GroupBase } from \"react-select\";\nimport ReactSelect, { mergeStyles, SelectInstance } from \"react-select\";\nimport React from \"react\";\n\nimport checkmark from \"../../assets/check-icon-primary.svg\";\nimport doubleChevron from \"../../assets/chevron-double.svg\";\n\nfunction generateCustomStyles<Option, IsMulti extends boolean, Group extends GroupBase<Option>>(\n hasError: boolean,\n isIE11: boolean\n): 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 position: \"absolute\",\n content: '\"\"',\n background: `url(${checkmark}) no-repeat center`,\n // This needs to match the proportional\n // padding in this element.\n // 0.75rem -> 12px\n right: 12,\n height: \"1rem\",\n width: \"1rem\",\n visibility: state.isSelected ? \"visible\" : \"hidden\",\n },\n transition: \"background-color 0.3s ease-in-out\",\n \"&:hover\": {\n // tailwind blue-50\n backgroundColor: state.isSelected ? \"transparent\" : \"#F2FAFD\",\n },\n pointerEvents: state.isDisabled ? \"none\" : \"auto\",\n };\n },\n container: (baseStyles) => {\n return { ...baseStyles, flexGrow: isIE11 ? 0.5 : \"initial\" };\n },\n control: (baseStyles, state) => {\n const defaultBorderColor = state.isFocused ? \"#045baa\" : \"#D1D5DB\";\n const validatedBorderColor = hasError ? \"#c53030\" : defaultBorderColor;\n\n const defaultOutline = hasError ? \"rgba(255, 98, 102, 0.3)\" : \"rgba(0, 159, 227, 0.3)\";\n const validatedOutline = `4px solid ${state.isFocused ? defaultOutline : \"transparent\"}`;\n\n return {\n ...baseStyles,\n fontSize: \"14px\",\n transition: \"border 0.3s ease-in-out\",\n height: isIE11 ? \"50px\" : \"2.75rem\",\n\n // primary outline\n outline: validatedOutline,\n\n borderColor: validatedBorderColor,\n borderWidth: \"1px !important\",\n borderStyle: \"solid\",\n borderRadius: \"4px\",\n\n boxShadow: \"0px 1px 2px rgba(0, 0, 0, 0.05)\",\n\n \"&:hover\": {\n borderColor: \"#9CA3AF\",\n // selector for the chevron\n '> [class*=\"IndicatorsContainer\"]': {\n opacity: 1,\n },\n },\n };\n },\n // The placeholder has the following css prop: grid-area: 1/1/2/3;\n // And grid-area doesn't work on IE11, so we need to style it slightly different.\n placeholder: (baseStyles) => ({\n ...baseStyles,\n fontWeight: 100,\n color: \"#6B7280\",\n paddingTop: isIE11 ? \"1.2rem\" : undefined,\n }),\n singleValue: (baseStyles) => {\n return {\n ...baseStyles,\n paddingTop: isIE11 ? \"1.2rem\" : undefined,\n fontSize: \"14px\",\n };\n },\n indicatorSeparator: () => ({\n display: \"none\",\n }),\n\n indicatorsContainer: (baseStyles) => ({\n ...baseStyles,\n opacity: 0.5,\n transition: \"opacity 0.3s ease-in-out\",\n background: `url(${doubleChevron}) no-repeat center`,\n // hiding the default indicator\n svg: {\n display: \"none\",\n },\n marginRight: \"0.75rem\",\n }),\n menu: (baseStyles) => ({\n ...baseStyles,\n zIndex: 20,\n }),\n };\n}\n\ntype CustomSelect = <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(\n props: Props<Option, IsMulti, Group>,\n ref: React.RefAttributes<SelectInstance<Option, IsMulti, Group>>\n) => React.ReactElement;\n\nconst CustomSelect = React.forwardRef(\n <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(\n props: Props<Option, IsMulti, Group>,\n _ref: any\n ) => {\n const { className, styles } = props;\n\n const hasError = className?.includes(\"has-error\") || false;\n const isIE11 = \"MSInputMethodContext\" in window && \"documentMode\" in document;\n const customStyles = generateCustomStyles<Option, IsMulti, Group>(hasError, isIE11);\n const mergedStyles = mergeStyles<Option, IsMulti, Group>(customStyles, styles);\n\n return <ReactSelect<Option, IsMulti, Group> {...props} styles={mergedStyles} />;\n }\n) as CustomSelect;\n\nexport default CustomSelect;\n","import * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { GroupBase, SingleValue } from \"react-select\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport Select from \"../Select/Select\";\nimport { Text } from \"../Text/Text\";\n\ninterface PaginationMenuLargeProps {\n pageCount: number;\n currentPage: number;\n onPageClick: (page: number) => void;\n localization: {previous: string, next: string, page: string};\n}\n\ntype Option = {\n value: string;\n label: string;\n};\n\nexport const PaginationMenuLarge = (props: PaginationMenuLargeProps): JSX.Element => {\n const [page, setPage] = useState<Option>({ value: \"\", label: \"\" });\n\n useEffect(() => {\n setPage({\n label: props.currentPage.toString(),\n value: props.currentPage.toString(),\n });\n }, [props.currentPage]);\n\n function handleOnPageClick(event: React.MouseEvent<HTMLButtonElement>) {\n event.preventDefault();\n const newPage: string | undefined = event.currentTarget.dataset.page;\n if (newPage) {\n setPage({value: newPage, label: newPage});\n props.onPageClick(parseInt(newPage, 10));\n }\n }\n\n function handleOnPageSelect(newValue: SingleValue<Option>) {\n newValue?.value && props.onPageClick(parseInt(newValue.value));\n }\n\n function getPageOptions(): Option[] {\n const items: Option[] = [];\n for (let i = 1; i <= props.pageCount; i++) {\n items.push({\n label: i.toString(),\n value: i.toString(),\n });\n }\n\n return items;\n }\n\n return (\n <>\n <div className={\"flex flex-row ml-2 mr-3 items-center\"}>\n <Text className=\"mr-3\" text={props.localization.page} />\n <Select<Option, false, GroupBase<Option>>\n className={\"w-24\"}\n options={getPageOptions()}\n onChange={handleOnPageSelect}\n value={page}\n isDisabled={props.pageCount < 2}\n menuPlacement=\"auto\"\n />\n </div>\n <div className={\"mr-2 ml-auto flex flex-row items-center\"}>\n <Text\n className=\"mr-3\"\n text={`${props.localization.page} ${props.currentPage} / ${props.pageCount}`}\n color=\"gray-500\"\n />\n <Button\n data-test-id=\"prev-button\"\n role={BUTTON_ROLES.SECONDARY}\n text={props.localization.previous}\n data-page={props.currentPage - 1}\n onClick={handleOnPageClick}\n isDisabled={props.currentPage === 1}\n className=\"w-24 mr-3\"\n />\n <Button\n data-test-id=\"next-button\"\n role={BUTTON_ROLES.SECONDARY}\n text={props.localization.next}\n isDisabled={props.currentPage === props.pageCount}\n data-page={props.currentPage + 1}\n onClick={handleOnPageClick}\n className=\"w-24\"\n />\n </div>\n </>\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport { PaginationMenuSmall } from \"./PaginationMenuSmall\";\nimport { PaginationMenuLarge } from \"./PaginationMenuLarge\";\n\nPaginationMenu.propTypes = {\n pageCount: PropTypes.number.isRequired,\n currentPage: PropTypes.number.isRequired,\n onPageClick: PropTypes.func.isRequired,\n small: PropTypes.bool,\n className: PropTypes.string,\n localization: PropTypes.object,\n};\n\nfunction PaginationMenu({ pageCount, currentPage, onPageClick, small, className, localization }) {\n const containerClassName = classNames(\"flex flex-row flex-space-between w-full items-center\", className);\n\n return (\n <div className={containerClassName}>\n {small ? (\n <PaginationMenuSmall pageCount={pageCount} currentPage={currentPage} onPageClick={onPageClick} />\n ) : (\n <PaginationMenuLarge pageCount={pageCount} currentPage={currentPage} onPageClick={onPageClick} localization={localization}/>\n )}\n </div>\n );\n}\n\nexport default PaginationMenu;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport loadingImage from \"../../assets/loading.svg\";\nimport spinner from \"../../assets/spinner.svg\";\nimport graySpinner from \"../../assets/spinner-gray.svg\";\nimport { RestPropped } from \"../../types/general.types\";\n\nimport \"./LoadingIndicator.scss\";\n\nexport interface LoadingIndicatorProps extends RestPropped {\n asModal?: boolean;\n asSpinner?: boolean;\n className?: string;\n spinnerColor?: \"blue\" | \"gray\";\n}\n\nexport function LoadingIndicator({\n asModal = false,\n asSpinner = false,\n className = \"\",\n spinnerColor = \"blue\",\n ...restProps\n}: LoadingIndicatorProps): JSX.Element {\n const spinnerToRender = spinnerColor === \"blue\" ? spinner : graySpinner;\n\n const containerClassName = classNames(\"cweb-loading\", className, {\n \"as-modal\": asModal,\n });\n\n return (\n <div {...restProps} className={containerClassName}>\n <img\n src={asSpinner ? spinnerToRender : loadingImage}\n className={classNames(\"text-gray-600 fill-current stroke-current\", {\n \"h-4 w-4\": asSpinner,\n \"h-8 w-8\": !asSpinner,\n })}\n />\n </div>\n );\n}\n\nexport default LoadingIndicator;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\n\nimport { ListTablePropsConfigurationField } from \"./ListTable\";\n\nfunction isEmpty(str: string) {\n return str === null || str === undefined || (isString(str) && str.trim() === \"\");\n}\n\nfunction isString(obj?: string | any): obj is string {\n return Object.prototype.toString.call(obj) === \"[object String]\";\n}\n\nexport interface ListTableCellProps<ItemType, CellType> {\n isHeader?: boolean;\n value: string | CellType;\n configuration: ListTablePropsConfigurationField<ItemType, CellType>;\n emptyValue?: string;\n}\n\nexport function ListTableCell<ItemType, CellType>({\n isHeader = false,\n value,\n configuration,\n emptyValue,\n}: ListTableCellProps<ItemType, CellType>): JSX.Element {\n const { name, className, textProps } = configuration;\n\n const textClassName = classNames(\"text-left\", textProps?.className);\n const cellClassName = classNames(\"cweb-list-table-content-cell\", \"py-0 px-3\", className);\n\n const hasValue = (isString(value) && isEmpty(value) || value !== undefined);\n\n const returnChildren = () => {\n return (\n <>\n {!hasValue && isString(emptyValue) && (\n <Text text={emptyValue} {...textProps} className={textClassName} color={\"gray-500\"} />\n )}\n {hasValue && isString(value) && (\n <Text\n text={value}\n {...textProps}\n className={classNames(textClassName, {\n truncate: !isHeader,\n capitalize: isHeader,\n \"w-40\": !isHeader,\n })}\n />\n )}\n {hasValue && !isString(value) && value}\n </>\n );\n };\n\n return isHeader ? (\n <th className={cellClassName} key={name}>\n {returnChildren()}\n </th>\n ) : (\n <td className={classNames(cellClassName, \"max-w-40\")} key={name}>\n {returnChildren()}\n </td>\n );\n}\n\nexport default ListTableCell;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { ListTableItem, ListTablePropsConfiguration } from \"./ListTable\";\nimport ListTableCell from \"./ListTableCell\";\n\nexport interface ListTableRowProps<ItemType extends ListTableItem, CellType> {\n item: ItemType;\n onClick?: (arg: ItemType) => void;\n configuration: ListTablePropsConfiguration<ItemType, CellType>;\n}\n\nexport function ListTableRow<ItemType extends ListTableItem, CellType>({\n item,\n onClick,\n configuration,\n}: ListTableRowProps<ItemType, CellType>): JSX.Element {\n function handleRowClick(event: React.MouseEvent) {\n event.stopPropagation();\n if (onClick) {\n onClick(item);\n }\n }\n\n return (\n <tr\n className={classNames(\"cweb-list-table-content-section\", \"h-13\", {\n \"hover:bg-slate-100 transition-colors ease-in-out duration-300 cursor-pointer\": onClick,\n \"hover:bg-white cursor-default\": !onClick,\n })}\n onClick={handleRowClick}\n key={item[configuration.idField]}\n >\n {configuration.fields.map((field) => (\n <ListTableCell\n key={field.name}\n value={field.field(item)}\n configuration={{ ...field, className: `${field.className ?? \"\"} border-b border-slate-100` }}\n emptyValue={configuration.emptyValue}\n />\n ))}\n </tr>\n );\n}\n\nexport default ListTableRow;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { ListTableItem, ListTablePropsConfigurationField } from \"./ListTable\";\nimport ListTableCell from \"./ListTableCell\";\n\nexport interface ListTableHeaderProps<ItemType extends ListTableItem, CellType> {\n className?: string;\n configurationFields: ListTablePropsConfigurationField<ItemType, CellType>[];\n}\n\nexport function ListTableHeader<ItemType extends ListTableItem, CellType>({\n className,\n configurationFields,\n}: ListTableHeaderProps<ItemType, CellType>): JSX.Element {\n return (\n <thead className={classNames(\"cweb-list-table-header-section\", className)}>\n <tr className=\"border-b h-13 border-slate-100\">\n {configurationFields.map((field) => (\n <ListTableCell\n isHeader={true}\n key={field.name}\n value={field.title}\n configuration={{\n ...field,\n textProps: { ...field.textProps, type: \"strong\", className: \"py-4 leading-none\" },\n }}\n />\n ))}\n </tr>\n </thead>\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { TextProps, Text } from \"../Text/Text\";\nimport PaginationMenu from \"../PaginationMenu/PaginationMenu\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport SearchNotFoundImage from \"../../assets/search-not-found.svg\";\nimport { RestPropped } from \"../../types/general.types\";\n\nimport ListTableRow from \"./ListTableRow\";\nimport { ListTableHeader } from \"./ListTableHeader\";\n\nexport type ListTableItem = RestPropped;\n\nexport interface ListTableProps<ItemType extends ListTableItem, CellType> extends RestPropped {\n items?: ItemType[];\n configuration: ListTablePropsConfiguration<ItemType, CellType>;\n pageCount?: number;\n currentPage?: number;\n onRowClick?: (arg: ItemType) => void;\n onPageClick?: (arg: number) => void;\n isLoading?: boolean;\n showHeader?: boolean;\n className?: string;\n localization: {page: string, next :string, previous: string};\n}\n\nexport interface ListTablePropsConfiguration<ItemType extends ListTableItem, CellType> {\n // this value is used if the field function is returning nothing\n emptyValue?: string;\n fields: ListTablePropsConfigurationField<ItemType, CellType>[];\n idField: keyof ItemType;\n emptyListText: string;\n}\n\nexport interface ListTablePropsConfigurationField<ItemType extends ListTableItem, CellType> {\n // this is used as a key and is expected to be unique. It doesn't do anything else other than guiding the developer\n name: string;\n // this sets the column title in the header\n title?: string;\n className?: string;\n // this function can return any item that will be displayed directly in the table cell\n // if this function returns a string, it will be wrapped in Text\n field: (arg: ItemType) => string | CellType;\n // if field results in a string, then these props will be spread into the Text component\n textProps?: Omit<TextProps, \"text\">;\n}\n\nexport function ListTable<ItemType extends ListTableItem, CellType>({\n items = [],\n configuration,\n pageCount = 0,\n currentPage = 1,\n onPageClick,\n onRowClick,\n isLoading = false,\n showHeader = true,\n className,\n localization,\n ...restProps\n}: ListTableProps<ItemType, CellType>): 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 = !isPristine && !isLoading && !(items && items.length > 0);\n\n return (\n <div\n className={classNames(\n \"cweb-list-table\",\n \"relative w-full max-w-full rounded-lg overflow-hidden bg-white\",\n className\n )}\n {...restProps}\n >\n <table className=\"w-full border-collapse cweb-list-table-table\">\n {showHeader && <ListTableHeader configurationFields={configuration.fields} />}\n\n <tbody>\n {!isLoading &&\n items &&\n items.map((item) => (\n <ListTableRow\n key={item[configuration.idField]}\n onClick={onRowClick}\n item={item}\n configuration={configuration}\n />\n ))}\n\n {isLoading && (\n <tr>\n <td colSpan={configuration.fields.length}>\n <LoadingIndicator\n className={classNames(\n \"cweb-list-table-content-loader\",\n \"relative h-16\",\n \"flex justify-center flex-row items-center\",\n \"py-0 px-3\"\n )}\n asModal={false}\n />\n </td>\n </tr>\n )}\n\n {showEmptyView && (\n <tr>\n <td colSpan={configuration.fields.length}>\n <div\n className={classNames(\n \"cweb-list-table-no-items\",\n \"flex justify-center flex-col items-center\",\n \"py-4 px-3\"\n )}\n >\n <img className=\"mb-4 no-item-found-image\" src={SearchNotFoundImage} alt=\"no-image-found\" />\n <Text\n className={classNames(\n \"no-item-found-text\",\n \"w-56 text-base text-gray-600 text-center whitespace-pre-wrap\"\n )}\n text={configuration.emptyListText}\n />\n </div>\n </td>\n </tr>\n )}\n </tbody>\n\n {!showEmptyView && pageCount > 0 && onPageClick && (\n <tfoot>\n <tr>\n <td colSpan={configuration.fields.length}>\n <div\n className={classNames(\n \"cweb-list-table-footer\",\n \"flex justify-center flex-row items-center\",\n \"h-20 py-4 px-4\"\n )}\n >\n <PaginationMenu onPageClick={onPageClick} pageCount={pageCount} currentPage={currentPage} localization={localization}/>\n </div>\n </td>\n </tr>\n </tfoot>\n )}\n </table>\n </div>\n );\n}\n\nexport default ListTable;\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 from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Text.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 className={containerClassName} dangerouslySetInnerHTML={{ __html: text }} {...otherProps} />\n ) : (\n <p className={containerClassName} {...otherProps}>\n {text}\n </p>\n );\n}\n\nexport default LegacyText;\n\nexport { TEXT_TYPE_OPTIONS, TEXT_LEVEL_OPTIONS };\n","export function handleImplicitSelect(implicitSelected, event, list, property) {\n /*For certain values, if one checkbox is selected\n other checkboxes have to be selected/unselected automatically */\n const newList = [...list];\n const selectCheckboxName = event.target.name;\n const isChecked = event.target.checked;\n const implicitSelectedValues = implicitSelected[selectCheckboxName];\n\n if (implicitSelectedValues) {\n implicitSelectedValues.forEach((value) => {\n const selectedIndex = newList.findIndex((checkbox) => value === checkbox.identifier);\n let upadteCheckbox;\n if (property === \"isChecked\") {\n //if normal checkbox is false the switcher must be set to false as well\n upadteCheckbox = { ...newList[selectedIndex], isChecked: isChecked, isOn: false };\n } else {\n upadteCheckbox = { ...newList[selectedIndex], [property]: isChecked };\n }\n newList.splice(selectedIndex, 1, upadteCheckbox);\n });\n }\n return newList;\n}\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport Checkbox from \"../Checkbox/Checkbox\";\nimport { TEXT_TYPE_OPTIONS } from \"../Text/LegacyText\";\n\nimport { handleImplicitSelect } from \"./MultiSelectUtils\";\n\nimport \"./MultiSelect.scss\";\n\nexport function MultiSelect({\n checkboxList,\n radioLabel,\n onChange,\n validationError,\n name,\n implicitSelect,\n radioOnDemand,\n}) {\n const [list, setList] = useState(checkboxList);\n\n useEffect(() => {\n onChange({\n target: {\n name,\n value: list,\n },\n });\n }, [list]);\n\n function handleChange(event, indexSelected) {\n let newList = [...list];\n\n const isChecked = event.target.checked;\n const updateCheckbox = { ...list[indexSelected], isChecked: isChecked, isOn: false };\n newList.splice(indexSelected, 1, updateCheckbox);\n\n if (implicitSelect) {\n newList = handleImplicitSelect(implicitSelect, event, newList, \"isChecked\");\n }\n setList(newList);\n }\n\n function handleRadioChange(event, indexSelected) {\n let newList = [...list];\n\n const isChecked = event.target.checked;\n const updateCheckbox = { ...list[indexSelected], isOn: isChecked };\n newList.splice(indexSelected, 1, updateCheckbox);\n\n if (implicitSelect) {\n newList = handleImplicitSelect(implicitSelect, event, newList, \"isOn\");\n }\n\n setList(newList);\n }\n\n return (\n <ul>\n {list.map((checkbox, index) => {\n const text = [checkbox.name];\n\n if (checkbox.description && checkbox.description !== checkbox.name) {\n text.push(checkbox.description);\n }\n\n return (\n <div className=\"cweb-multiselect\" key={checkbox.identifier}>\n <Checkbox\n text={text.join(\" - \")}\n name={checkbox.identifier}\n isChecked={checkbox.isChecked || false}\n onChange={(event) => handleChange(event, index)}\n className=\"cweb-multiselect-checkbox\"\n textType={TEXT_TYPE_OPTIONS.SMALL_DARK}\n error={validationError}\n key={checkbox.identifier}\n />\n\n {radioOnDemand && (\n <div className=\"cweb-switch-wrapper\">\n <p className=\"cweb-switch-title\">{radioLabel}</p>\n <Checkbox\n type=\"switch\"\n name={`${checkbox.identifier}-toggle`}\n isChecked={checkbox.isOn}\n onChange={(event) => handleRadioChange(event, index)}\n textType={TEXT_TYPE_OPTIONS.SMALL_DARK}\n error={validationError}\n className=\"cweb-multiselect-switch\"\n isDisabled={!checkbox.isChecked}\n key={checkbox.identifier}\n />\n </div>\n )}\n </div>\n );\n })}\n </ul>\n );\n}\n\nMultiSelect.propTypes = {\n name: PropTypes.string,\n checkboxList: PropTypes.arrayOf(\n PropTypes.shape({\n isChecked: PropTypes.bool,\n name: PropTypes.string.isRequired,\n description: PropTypes.string,\n identifier: PropTypes.string.isRequired,\n })\n ),\n onChange: PropTypes.func,\n validationError: PropTypes.string,\n implicitSelect: PropTypes.object,\n radioOnDemand: PropTypes.bool,\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nexport interface NavMenuLayoutProps {\n menu: JSX.Element;\n children: JSX.Element | JSX.Element[]; //rendered as the page\n patientSidebar?: JSX.Element; //if passed will show the patients sidebar\n isNavDisabled?: boolean; //don't show any navigation, for instance when constrained to a single patient\n disableScrolling?: boolean;\n}\n\n/**\n *\n * @param props {NavMenuLayoutProps} - explaining specifically the `disableScrolling` prop:\n *\n * The patient overview page has some challenges we want to overcome in regards to the multiple scrollable\n * content (the charts and the action bar with alerts, etc).\n *\n * In order to have the setup working on the patient overview page and the rest of the application, we have to\n * progamatically disable/enable if that location will have a normal scrolling mechanism with specific margin/padding,\n * or we will need to let the components take care of that.\n */\nexport const NavLayout = (props: NavMenuLayoutProps): JSX.Element => {\n return (\n <div className={\"flex flex-col mb-3 lg:mb-0 lg:flex-row h-full w-full\"}>\n {!props.isNavDisabled && (\n <>\n {props.menu}\n {props.patientSidebar && props.patientSidebar}\n </>\n )}\n <div\n data-test-id=\"page-main-content\"\n className={classNames([\"w-full\", { \"max-h-screen overflow-y-auto px-4 lg:px-8\": !props.disableScrolling }])}\n >\n {props.children}\n </div>\n </div>\n );\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { navigate } from \"@reach/router\";\nimport classNames from \"classnames\";\n\nimport { TextColor, Text } from \"../Text/Text\";\n\nexport interface NavMenuItemProps {\n href?: string;\n linkTo?: string;\n title: string;\n isSelected: boolean;\n img: string;\n imgOnHover: string;\n dataTestId: string;\n gtmEvent?: string;\n isExternal?: boolean;\n type?: \"separator\" | \"spacer\" | \"base\" | void;\n track?: (event: string) => void;\n}\n\nexport const NavMenuItem = (props: NavMenuItemProps): JSX.Element => {\n const [currentImg, setCurrentImg] = useState(props.isSelected ? props.imgOnHover : props.img);\n const [textColor, setTextColor] = useState<TextColor>(props.isSelected ? \"white\" : \"gray-200\");\n\n const classes = classNames(\n [\n \"flex\",\n \"flex-row\",\n \"items-center\",\n \"w-auto\",\n \"rounded\",\n \"px-2\",\n \"py-1\",\n \"my-2\",\n \"mx-2\",\n \"hover:bg-gray-600\",\n \"transition\",\n \"ease-in\",\n \"duration-150\",\n \"lg:last:pb-2\",\n \"focus:outline-primary\",\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 setTextColor(\"white\");\n }\n };\n\n const handleOnMouseOut = () => {\n if (!props.isSelected) {\n setCurrentImg(props.img);\n setTextColor(\"gray-200\");\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 type={\"strong\"} text={props.title} color={textColor} />\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\n props.track && props.gtmEvent && props.track(props.gtmEvent);\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 * as React from \"react\";\n\nimport { NavMenuItem, NavMenuItemProps } from \"./NavMenuItem\";\n\ninterface NavMenuContentProps {\n items: Array<NavMenuItemProps>;\n}\n\nexport const NavMenuContent = (props: NavMenuContentProps): JSX.Element => {\n return (\n <div className={\"flex flex-col bg-nav-menu w-46 pl-1 py-2 lg:relative shadow-lg\"}>\n {props.items.map((item, index) => {\n if (item.type === \"separator\") {\n return <div key={`${item.type}-${index}`} className={\"border-b ml-3 border-slate-600\"} />;\n } else if (item.type === \"spacer\") {\n return <div key={`${item.type}-${index}`} className={\"mt-auto\"} />;\n } else {\n return <NavMenuItem {...item} key={item.title} />;\n }\n })}\n </div>\n );\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\n\nimport Button from \"../Button/Button\";\n\nimport { NavMenuContent } from \"./NavMenuContent\";\n\nexport function NavMenu(props) {\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 items={props.items} />\n </div>\n <div className={\"lg:hidden relative bg-nav-header w-screen flex items-center p-2 shadow-lg\"}>\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 items={props.items} />\n </div>\n )}\n </>\n );\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 } from \"../Text/Text\";\nimport { TextLink } from \"../TextLink/TextLink\";\n\nexport type NotificationBannerColor = \"base\" | \"blue\" | \"red\" | \"green\" | \"amber\";\n\nexport interface NotificationBannerLinkProps {\n text: string;\n enabled: boolean;\n handleClick?: () => void;\n}\n\ninterface NotificationBannerProps {\n text: string;\n color?: NotificationBannerColor;\n icon?: JSX.Element;\n linkProps?: NotificationBannerLinkProps;\n className?: string;\n}\n\nexport const NotificationBanner = (props: NotificationBannerProps): JSX.Element => {\n const classes = classNames(\n \"w-full px-6 py-2 flex flex-row items-center border border-solid rounded\",\n props.className,\n {\n \"bg-slate-100 border-slate-700\": props.color === \"base\",\n \"bg-blue-100 border-blue-700\": props.color === \"blue\",\n \"bg-red-100 border-red-700\": props.color === \"red\",\n \"bg-green-100 border-green-700\": props.color === \"green\",\n \"bg-yellow-100 border-yellow-700\": props.color === \"amber\",\n }\n );\n\n return (\n <div className={classes}>\n {props.icon}\n <Text className=\"first:ml-0 ml-4\" text={props.text} color={props.color} />\n {props.linkProps && (\n <TextLink\n className=\"ml-4\"\n text={props.linkProps.text}\n enabled={props.linkProps.enabled}\n rel=\"noopener\"\n target=\"_blank\"\n onClick={props.linkProps.handleClick}\n />\n )}\n </div>\n );\n};\n\nNotificationBanner.defaultProps = {\n color: \"base\",\n onButtonClick: undefined,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\n//import Breadcrumbs from \"../Breadcrumbs/Breadcrumbs\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\n//import { SmartNavMenu } from \"../../components/NavMenu/SmartNavMenu\";\nimport { NavLayout } from \"../NavMenu/NavLayout\";\nimport { Title } from \"../Title/Title\";\n//import { shouldPageShowFeedbackBlock } from \"../../common/utils/locationUtils\";\n//import { FeedbackBlock } from \"../FeedbackBlock/FeedbackBlock\";\n//import { ERROR_PAGE_ID } from \"../../components/ErrorPages/ErrorPage\";\n\nimport \"./Page.scss\";\n\n//TODO this page needs to be refactored\n\n/**\n * Renders page's content, if `isLoading` is false otherwise shows loading indicator.\n *\n * `breadcrumbs`, `title` and `content` can be lazy properties, that is parameterless functions which return actual value.\n * `children` property has priority over `content` property.\n *\n * @typedef {{ name?: string, icon?: string|Object, link?: string}} Breadcrumb\n *\n */\nfunction Page({\n dataTestId = \"page\",\n breadcrumbs,\n title,\n accessories,\n accessoryPosition = \"right\",\n className,\n children,\n content,\n isLoading = false,\n isPolling = false,\n spinnerColor = \"blue\",\n navLayoutProps = {},\n showFeedbackBlock = false,\n feedbackBlock = <></>,\n navMenu,\n id,\n}) {\n const mergedPageClasses = classNames(\"cweb-page\", className);\n const containerClassnames = classNames(\"cweb-page-container\");\n\n if (isLoading) {\n return (\n <div className={mergedPageClasses}>\n <LoadingIndicator asModal={false} />\n </div>\n );\n }\n\n const maybeTitle = title instanceof Function ? title() : title;\n\n const accessoryClasses = classNames(\"cweb-page-header mb-4\", {\n [`accessory-${accessoryPosition}`]: true,\n });\n\n const accessoriesContent = accessories instanceof Function ? accessories() : accessories;\n const childrenOrContentProp = children || (content instanceof Function ? content() : content);\n\n return (\n <div id={id} className={containerClassnames}>\n <NavLayout menu={navMenu} {...navLayoutProps}>\n <div className={mergedPageClasses} data-test-id={dataTestId}>\n <div className={accessoryClasses}>\n <Title data-test-id={`${dataTestId}-title`} text={maybeTitle} />\n {isPolling && <LoadingIndicator asSpinner={true} className={\"page-spinner\"} spinnerColor={spinnerColor} />}\n {accessoriesContent}\n </div>\n {childrenOrContentProp}\n </div>\n\n {!isLoading && feedbackBlock}\n </NavLayout>\n </div>\n );\n}\n\nconst breadcrumbItemShape = PropTypes.shape({\n name: PropTypes.string,\n icon: PropTypes.string,\n link: PropTypes.string,\n});\n\nPage.propTypes = {\n breadcrumbs: PropTypes.oneOfType([PropTypes.arrayOf(breadcrumbItemShape), PropTypes.func]),\n isLoading: PropTypes.bool,\n isFetching: PropTypes.bool,\n spinnerColor: PropTypes.oneOf([\"blue\", \"gray\"]),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n accessories: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n accessoryPosition: PropTypes.oneOf([\"right\", \"bottom\", \"left\"]),\n content: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element, PropTypes.func]),\n id: PropTypes.string,\n navLayoutProps: PropTypes.object,\n};\n\nexport default Page;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Title.scss\";\n\nconst TITLE_TYPE_OPTIONS = {\n DEFAULT: \"default\",\n BIG: \"big\",\n SMALL: \"small\",\n TINY: \"tiny\",\n BOLD: \"bold\",\n};\n\nLegacyTitle.propTypes = {\n text: PropTypes.string.isRequired,\n type: PropTypes.oneOf([\n TITLE_TYPE_OPTIONS.DEFAULT,\n TITLE_TYPE_OPTIONS.BIG,\n TITLE_TYPE_OPTIONS.SMALL,\n TITLE_TYPE_OPTIONS.TINY,\n TITLE_TYPE_OPTIONS.BOLD,\n ]),\n className: PropTypes.string,\n};\n\nfunction LegacyTitle({ text, type, className = \"\", ...otherProps }) {\n let ContainerElement;\n\n const containerClassName = classNames(\"cweb-title\", className, {\n \"type-default\": !type || type === TITLE_TYPE_OPTIONS.DEFAULT,\n \"type-big\": type === TITLE_TYPE_OPTIONS.BIG,\n \"type-small\": type === TITLE_TYPE_OPTIONS.SMALL,\n \"type-tiny\": type === TITLE_TYPE_OPTIONS.TINY,\n \"type-bold\": type === TITLE_TYPE_OPTIONS.BOLD,\n });\n\n switch (type) {\n case TITLE_TYPE_OPTIONS.DEFAULT:\n case TITLE_TYPE_OPTIONS.BOLD:\n case TITLE_TYPE_OPTIONS.BIG:\n ContainerElement = \"h1\";\n break;\n\n case TITLE_TYPE_OPTIONS.SMALL:\n case TITLE_TYPE_OPTIONS.TINY:\n ContainerElement = \"h3\";\n break;\n\n default:\n ContainerElement = \"h1\";\n break;\n }\n\n return (\n <ContainerElement {...otherProps} className={containerClassName}>\n {text}\n </ContainerElement>\n );\n}\n\nexport default LegacyTitle;\n\nexport { TITLE_TYPE_OPTIONS };\n","import React from \"react\";\n\nimport { Text } from \"../Text/Text\";\n\nexport interface StepProps {\n title: string;\n stepNumber: number;\n active: boolean;\n localization: {step: string};\n}\n\nexport const Step = ({ title, stepNumber, active, localization }: 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 text={`${localization.step} ${stepNumber}`} type={\"strong\"} color={active ? \"blue\" : \"gray-500\"} />\n <Text text={title} type={\"strong\"} />\n </div>\n );\n};\n","import React from \"react\";\n\nimport { Step } from \"./Step\";\n\ninterface StepsProps {\n orderedStepTitles: Array<string>;\n currentStep: number; //start count from 1\n className?: string;\n localization: {step: string};\n}\n\nexport const Steps = ({ orderedStepTitles, currentStep, className, localization }: StepsProps): JSX.Element => {\n const renderedSteps = orderedStepTitles.map((stepTitle, index) => (\n <Step\n key={`step-${index}-${stepTitle.split(\" \")[0]}`}\n title={stepTitle}\n stepNumber={index + 1}\n active={index + 1 <= currentStep}\n localization={localization}\n />\n ));\n\n return <div className={`flex flex-row justify-items-stretch space-x-6 ${className}`}>{renderedSteps}</div>;\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport LegacyTitle, { TITLE_TYPE_OPTIONS } from \"../Title/LegacyTitle\";\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport Line from \"../Line/Line\";\nimport { NavLayout } from \"../NavMenu/NavLayout\";\nimport { Steps } from \"../Steps/Steps\";\n\nimport \"./CRUDPage.scss\";\n\nfunction CRUDPage({\n dataTestId = \"page\",\n title,\n stepTitles,\n currentStep = 1,\n submitButtonProps,\n deleteButtonProps,\n cancelButtonProps,\n icon,\n className,\n children,\n isLoading,\n isSubmitting,\n navMenuComponent,\n localization,\n}) {\n const mergedClasses = classNames(\"cweb-crud-page max-w-3xl\", className);\n const containerClassnames = classNames(\"cweb-crud-page-container mb-20\");\n\n const submitButton = submitButtonProps && (\n <Button\n data-test-id=\"submit-button\"\n key=\"submit-button\"\n /* eslint-disable-next-line */\n onClick={submitButtonProps.handler}\n role={BUTTON_ROLES.PRIMARY}\n text={submitButtonProps.name}\n isPending={isSubmitting}\n />\n );\n const deleteButton = deleteButtonProps && (\n <Button\n data-test-id=\"delete-button\"\n key=\"delete-button\"\n /* eslint-disable-next-line */\n onClick={deleteButtonProps.handler}\n role={BUTTON_ROLES.NEGATIVE}\n text={deleteButtonProps.name}\n />\n );\n const cancelButton = cancelButtonProps && (\n <Button\n data-test-id=\"cancel-button\"\n key=\"cancel-button\"\n /* eslint-disable-next-line */\n onClick={cancelButtonProps.handler}\n role={BUTTON_ROLES.SECONDARY}\n text={cancelButtonProps.name}\n />\n );\n\n const renderHeader = () => {\n return (\n <div className=\"flex flex-row justify-start align-center\">\n <img id=\"title-icon\" src={icon} className=\"mr-4 w-11 h-11\" alt={\"title icon\"} />\n <LegacyTitle id=\"title-text\" text={title} type={TITLE_TYPE_OPTIONS.BOLD} />\n </div>\n );\n };\n\n return (\n <div className={containerClassnames}>\n <NavLayout menu={navMenuComponent}>\n <>\n {isLoading && (\n <div className={classNames(mergedClasses, \"cweb-crud-page-loading-container\")}>\n <div className=\"flex flex-row justify-start align-center\">{renderHeader()}</div>\n <LoadingIndicator className=\"crud-page-loader\" asModal={false} />\n </div>\n )}\n\n {!isLoading && (\n <div className={mergedClasses} data-test-id={dataTestId}>\n <div className=\"flex flex-row justify-start align-center\">{renderHeader()}</div>\n\n <div className={\"cweb-crud-page-form-container\"}>\n {stepTitles && stepTitles.length > 0 && (\n <Steps orderedStepTitles={stepTitles} currentStep={currentStep} className={\"mb-4\"} localization={localization}/>\n )}\n {children}\n <Line\n left={[cancelButton, deleteButton]}\n right={[submitButton]}\n className={\"cweb-crud-page-button-line\"}\n />\n </div>\n </div>\n )}\n </>\n </NavLayout>\n </div>\n );\n}\n\nCRUDPage.propTypes = {\n isLoading: PropTypes.bool,\n title: PropTypes.string.isRequired,\n stepTitles: PropTypes.array,\n currentStep: PropTypes.number,\n submitButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n deleteButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n cancelButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n className: PropTypes.string,\n icon: PropTypes.string,\n isSubmitting: PropTypes.bool,\n navMenuComponent: PropTypes.elementType,\n localization: PropTypes.object,\n};\n\nexport default CRUDPage;\n","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\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\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 className?: string;\n isLoading?: boolean;\n loadingIndicatorProps?: LoadingIndicatorProps;\n}\n\nexport function Section({\n title,\n buttons,\n children,\n className,\n isLoading = false,\n loadingIndicatorProps,\n ...restProps\n}: React.PropsWithChildren<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 </div>\n );\n}\n\nexport default Section;\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","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 {\n title: string | JSX.Element;\n badgeCount?: number;\n isLoading?: boolean;\n dataTestId?: string;\n}\n\ninterface TabbarItemProps extends TabItemDetails {\n index: number;\n isSelected?: boolean;\n onSelect?: (index: number) => void;\n className?: string;\n}\n\nconst TabbarItem = ({\n title,\n index,\n isSelected,\n onSelect,\n className,\n badgeCount = 0,\n isLoading = false,\n dataTestId = \"\",\n}: TabbarItemProps): JSX.Element => {\n const handleTabClick = () => onSelect && onSelect(index);\n\n const itemClassName = classNames(\n \"flex first:ml-0 ml-2 flex-row cursor-pointer py-2 px-3 rounded-lg focus:outline-primary transition ease-in duration-150\",\n className,\n {\n \"bg-slate-100 text-slate-700 hover:text-slate-700 focus:text-slate-700\": isSelected,\n \"bg-slate-50 text-slate-500 hover:bg-slate-100 hover:text-slate-500 focus:text-slate-500 opacity-75\": !isSelected,\n }\n );\n\n return (\n <div className={itemClassName} onClick={handleTabClick} data-test-id={dataTestId}>\n {typeof title === \"string\" && <Text text={title} type={isSelected ? \"strong\" : \"base\"} inline />}\n {typeof title !== \"string\" && title}\n {badgeCount > 0 && <Badge className=\"ml-1\" badgeCount={badgeCount} />}\n {isLoading && <LoadingIndicator asSpinner={true} spinnerColor={\"gray\"} className={\"w-6\"} />}\n </div>\n );\n};\n\nexport default TabbarItem;\n","import React from \"react\";\n\nimport TabbarItem, { TabItemDetails } from \"./TabbarItem\";\n\ninterface TabbarProps {\n tabs?: TabItemDetails[];\n selectedIndex?: number;\n onSelect?: (index: number) => void;\n className?: string;\n}\n\nexport const Tabbar = ({ tabs, selectedIndex, onSelect, className = \"\" }: TabbarProps): JSX.Element => {\n return (\n <div className={`flex flex-row w-full bg-white rounded-xl ${className}`}>\n {tabs?.map((tabItemProps, index) => {\n const itemProps = {\n index,\n onSelect,\n isSelected: selectedIndex === index,\n ...tabItemProps,\n };\n\n return <TabbarItem key={tabItemProps.dataTestId ?? index} {...itemProps} />;\n })}\n </div>\n );\n};\n\nexport default Tabbar;\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 = ({ items, navigate, location }: { items: Array<TabLinkItem>, navigate: NavigateFn, location: WindowLocation }): JSX.Element => {\n const options = items.map(({ url, text }) => ({ value: url, label: text }));\n\n const handleChange = (selected: any) => {\n navigate(selected?.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 = ({ patientUuid, items, navigate, location }: 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-700 hover:text-slate-700 focus:text-slate-700 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 key={`${patientUuid}_${text}`} to={url.pathname} getProps={linkProps}>\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\";\n\nexport enum TagSize {\n \"small\" = \"small\",\n \"base\" = \"base\",\n}\n\ninterface TagGroupProps {\n tags: TagProps[];\n tagSize?: TagSize;\n className?: string;\n}\n\nconst TagGroup = ({ tags, tagSize = TagSize.base, className }: TagGroupProps): JSX.Element => (\n <div className={classNames(\"flex flex-row flex-wrap\", className)}>\n {tags.map((tag) => (\n <Tag size={tagSize} {...tag} className={classNames(\"mr-2 last:mr-0 mb-2\")} />\n ))}\n </div>\n);\n\nexport default TagGroup;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\n\nimport { TagSize } from \"./TagGroup\";\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 = ({ text, colorTheme = TagColorTheme.Gray, className, size = TagSize.base }: TagProps): JSX.Element => {\n const containerClassName = classNames(\"inline py-1 px-2 rounded-lg\", className, {\n \"bg-red-100 text-red-700\": colorTheme === TagColorTheme.Red,\n \"bg-orange-100 text-amber-700\": colorTheme === TagColorTheme.Amber,\n \"bg-green-100 text-green-800\": colorTheme === TagColorTheme.Green,\n \"bg-slate-100 text-slate-600\": colorTheme === TagColorTheme.Gray,\n \"bg-blue-50 text-blue-800\": colorTheme === TagColorTheme.Blue,\n });\n\n return (\n <div className={containerClassName}>\n <Text inline color={\"inherit\"} text={text} type={size === TagSize.small ? \"sm\" : \"base\"} />\n </div>\n );\n};\n\nexport default Tag;\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\", \"video\"];\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 const getOptions = () => {\n const options = [\"inline\", \"list\", \"link\", \"textAlign\", \"history\"];\n options.splice(options.length - 1, 0, \"embedded\");\n return options;\n };\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: getOptions(),\n inline: {\n options: [\"bold\", \"italic\", \"underline\"],\n },\n list: {\n options: [\"unordered\", \"ordered\"],\n },\n link: {\n showOpenOptionOnHover: false,\n defaultTargetOption: \"_blank\",\n },\n }}\n editorState={editorState}\n onEditorStateChange={onEditorStateChange}\n wrapperClassName=\"mb-6\"\n toolbarClassName=\"border border-solid border-color-border-primary\"\n editorClassName=\"border border-solid border-color-border-primary h-56\"\n localization={{\n locale: locale,\n }}\n />\n </div>\n );\n};\n\nexport default TextEditorV2;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport LegacyText from \"../Text/LegacyText\";\nimport \"./TextListItem.scss\";\nimport ListItem from \"../ListItem/ListItem\";\n\nfunction TextListItem(props) {\n const { text, icon, className, iconClass, onClick, ...rest } = props;\n\n const mergedClasses = classNames(\"cweb-text-list-item\", className);\n const iconClasses = classNames(\"cweb-text-list-item-icon\", iconClass);\n\n return (\n <ListItem className={mergedClasses} onClick={onClick} {...rest}>\n {icon && <img className={iconClasses} src={icon} alt=\"\" />}\n <LegacyText text={text} />\n </ListItem>\n );\n}\n\nTextListItem.propTypes = {\n text: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n className: PropTypes.string,\n iconClass: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nexport default TextListItem;\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> 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 className={\"vitals-view-item-title-line flex justify-start flex-row items-start\"}>\n {titlePropsMerged && (\n <Text\n className={classNames(titlePropsMerged.className, \"vitals-view-item-title mb-1 mr-2\")}\n color=\"gray-500\"\n {...titlePropsMerged}\n />\n )}\n {titleAccessory}\n </div>\n {contentPropsMerged &&\n contentPropsMerged?.map((textProps) => <Text {...textProps} key={textProps.key || textProps.text} />)}\n {(!contentPropsMerged || contentPropsMerged?.length === 0) && <Text text={defaultContent} key=\"empty-text\" />}\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"],"names":["Text","props","containerProps","className","classNames","type","inline","truncate","color","containsDangerousHtml","React","dangerouslySetInnerHTML","__html","text","defaultProps","ACKNOWLEDGEMENT_TYPE_OPTIONS","SUCCESS","FAILURE","Acknowledgement","propTypes","message","PropTypes","string","oneOf","hasIcon","bool","isVisible","containerClassName","iconContainerClasses","hidden","successIconClasses","failureIconClasses","successIcon","failureIcon","checkImageValidity","src","Promise","resolve","image","Image","onload","onerror","AVATAR_SIZE_OPTIONS","LARGE","MEDIUM","SMALL","Avatar","size","defaultImage","initials","useState","hasValidImage","setHasValidImage","useEffect","mounted","then","res","renderAvatar","isRequired","Badge","containerClasses","textClasses","badgeCount","BUTTON_ROLES","PRIMARY","SECONDARY","SECONDARY_DARK","TERTIARY","QUATERNARY","NEGATIVE","TEXT","LINK","ICON","iconSrc","close","CloseIcon","hamburger","HamburgerIcon","ChevronRightBlueIcon","ChevronLeftBlueIcon","ChevronRightGreyIcon","ChevronLeftGreyIcon","search","SearchIcon","star","StarIcon","check","CheckIcon","SearchCancelIcon","ButtonIcon","name","Spinner","xmlns","fill","viewBox","cx","cy","r","stroke","strokeWidth","d","ButtonV2","icon","console","error","handleClick","event","preventDefault","onClick","buttonClassName","isDisabled","isPending","disabled","createElement","style","position","left","top","transform","invisible","PrimaryButton","SecondaryButton","TertiaryButton","AddIcon","width","height","x","y","rx","DeleteIcon","EditIcon","LeftArrowIcon","RightArrowIcon","ChartIcon","PrintIcon","Button","role","propsRole","title","link","iconName","hasIconProps","dynamicIcon","otherAttributes","hasAddIcon","includes","hasEditIcon","hasDeleteIcon","hasPrevIcon","hasNextIcon","hasChartIcon","hasPrintIcon","isIconOnly","setRole","isButtonDisabled","isNonPrimaryNonNegative","navigate","buttonRolesStyling","primary","secondary","secondaryDark","tertiary","quaternary","negative","spinnerClassNames","buttonTextClasses","GliderContainer","children","Carousel","slides","id","setIsVisible","Glider","hasDots","hasArrows","skipTrack","scrollLock","rewind","arrows","prev","next","dots","containerElement","map","slide","index","key","Title","match","ContainerElement","CenteredHero","buttons","arrayOf","shape","handleOnClick","func","length","filter","button","Checkbox","explanation","isChecked","value","onChange","checked","setChecked","isFocused","setIsFocused","hasError","handleChange","handleFocus","handleBlur","e","stopPropagation","onBlur","onFocus","MODAL_SIZES","DEFAULT","WIDE","WIDER","EXTRA_SMALL","Modal","isOpen","shouldCloseOnOverlayClick","showTitleBar","onCloseClick","closeAltText","closeButtonId","withPadding","showHeader","overlayClassName","ReactModal","setAppElement","contentLabel","portalClassName","bodyOpenClassName","htmlOpenClassName","onRequestClose","shouldFocusAfterRender","ModalWithButtons","buttonsAlignment","rest","ConfirmationDialog","calculatedClassNames","handleOnCloseClick","isProcessing","onCancel","modalButtons","texts","cancelLabel","cancelButtonRole","confirmLabel","onConfirm","confirmButtonRole","Datepicker","handleCloseButtonClick","datepickerRef","setOpen","getDateFormat","showTimeSelect","formatDateWithTime","render","hasCloseButton","closeButtonText","adjustDateOnChange","showMonthDropdown","showYearDropdown","shouldCloseOnSelect","allowSameDay","minDate","maxDate","selected","otherProps","dateFormat","pickerClassName","getCloseButtonText","element","Component","object","instanceOf","moment","ITEM_QUERY_FIELD_NAMES","ID","HIGHLIGHT_INDEX","keyCodes","ARROW_DOWN","ARROW_UP","ENTER","TAB","SHIFT","ESC","Dropdown","handleClickOutside","rootRef","contains","target","closeDropdown","handleKeyDown","state","items","isDropdownOpen","highlightIndex","keyCode","setSelectedItem","findItem","blur","openDropdown","shiftKey","decreaseHighlightIndexIfPossible","increaseHighlightIndexIfPossible","fieldName","fieldValue","selectedItem","i","item","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","document","addEventListener","componentWillUnmount","removeEventListener","placeholder","onDropdownClick","chevronDouble","PureComponent","currentIndex","reduce","acc","oneOfType","number","imageSrc","NoOpenAlertsImage","SearchNotFoundImage","HappyStarImage","EmptyListMessage","imageName","dataTestId","alt","ErrorBlock","InfoBlock","InfoField","clipboard","ClipboardJS","on","onCopyToClipboard","clearSelection","linkType","href","rel","label","supportsMultiline","INPUT_TYPES","EMAIL","NUMBER","PASSWORD","Input","any","clearable","maxLength","withPrefix","withSuffix","onKeyPress","onKeyDown","setRef","undefined","hasNoExtraContent","backgroundSize","backgroundPosition","backgroundImage","backgroundRepeat","rounded","background","cross","currentTarget","Line","right","array","ListItem","classes","PaginationMenuSmall","handleOnPageClick","page","dataset","onPageClick","parseInt","currentPage","pageCount","generateCustomStyles","isIE11","option","baseStyles","fontWeight","isSelected","fontSize","backgroundColor","padding","opacity","content","visibility","transition","pointerEvents","container","flexGrow","control","defaultBorderColor","validatedBorderColor","defaultOutline","validatedOutline","outline","borderColor","borderWidth","borderStyle","borderRadius","boxShadow","paddingTop","singleValue","indicatorSeparator","display","indicatorsContainer","doubleChevron","svg","marginRight","menu","zIndex","CustomSelect","forwardRef","_ref","styles","window","customStyles","mergedStyles","mergeStyles","ReactSelect","PaginationMenuLarge","setPage","toString","newPage","handleOnPageSelect","newValue","getPageOptions","push","localization","Select","options","menuPlacement","previous","PaginationMenu","small","LoadingIndicator","asModal","asSpinner","spinnerColor","restProps","spinnerToRender","spinner","graySpinner","loadingImage","isEmpty","str","isString","trim","obj","Object","prototype","call","ListTableCell","isHeader","configuration","emptyValue","textProps","textClassName","cellClassName","hasValue","returnChildren","capitalize","ListTableRow","handleRowClick","idField","fields","field","ListTableHeader","configurationFields","ListTable","onRowClick","isLoading","isPristine","setIsPristine","showEmptyView","colSpan","emptyListText","Menu","closeMenu","handleIconClick","openMenu","node","TEXT_TYPE_OPTIONS","STRONG","EMPHASIZED","FINEPRINT","SMALL_DARK","SMALL_FINEPRINT","MICRO","ERROR","TEXT_LEVEL_OPTIONS","INLINE","BLOCK","LegacyText","level","handleImplicitSelect","implicitSelected","list","property","newList","selectCheckboxName","implicitSelectedValues","forEach","findIndex","checkbox","identifier","upadteCheckbox","isOn","splice","MultiSelect","checkboxList","radioLabel","validationError","implicitSelect","radioOnDemand","setList","indexSelected","updateCheckbox","handleRadioChange","description","join","NavLayout","isNavDisabled","patientSidebar","disableScrolling","NavMenuItem","imgOnHover","img","currentImg","setCurrentImg","textColor","setTextColor","handleOnMouseOver","handleOnMouseOut","linkTo","onMouseOver","onMouseOut","handleMenuClick","metaKey","ctrlKey","track","gtmEvent","isExternal","open","location","assign","NavMenuContent","NavMenu","setIsOpen","handleToggleOpen","React.createElement","TextLink","enabled","NotificationBanner","linkProps","onButtonClick","Page","breadcrumbs","accessories","accessoryPosition","isPolling","navLayoutProps","feedbackBlock","navMenu","mergedPageClasses","containerClassnames","maybeTitle","Function","accessoryClasses","accessoriesContent","childrenOrContentProp","breadcrumbItemShape","isFetching","TITLE_TYPE_OPTIONS","BIG","TINY","BOLD","LegacyTitle","Step","stepNumber","active","barColor","step","Steps","orderedStepTitles","currentStep","renderedSteps","stepTitle","split","CRUDPage","stepTitles","submitButtonProps","deleteButtonProps","cancelButtonProps","isSubmitting","navMenuComponent","mergedClasses","submitButton","handler","deleteButton","cancelButton","renderHeader","elementType","useWindowDimensions","innerHeight","setHeight","innerWidth","setWidth","handleResize","debounce","PreviewPhone","phoneHeight","phoneWidth","scale","setScale","showPhone","setShowPhone","windowHeight","windowWidth","containerCallbak","useCallback","containerWidth","clientWidth","containerHeight","clientHeight","heightScale","widthScale","ref","phoneMockup","Radio","containerRef","RadioGroup","radioClassName","selectedOption","isVertical","radioOptions","otherOptions","vertical","info","Section","loadingIndicatorProps","useOutsideClick","callback","current","SettingsMenuButton","configFromProps","onConfigurationChange","shiftMenuTo","buttonTitle","iconComponent","menuTitle","innerConfiguration","setInnerConfiguration","showMenu","setShowMenu","menuRef","useRef","handleShowMenu","handleOnVibilitySwitchChanged","newConfig","find","config","itemId","itemName","innerConfig","SwitcherItem","showBadge","onSelect","handleItemClick","calculatedIcon","Switcher","currentSelection","setCurrentSelection","handleItemSelect","JSON","stringify","TabbarItem","handleTabClick","Tabbar","tabs","tabItemProps","itemProps","TabLinksSelect","url","TabLinks","patientUuid","isCurrent","Link","to","pathname","getProps","TagSize","TagGroup","tags","tagSize","base","tag","Tag","TagColorTheme","colorTheme","Gray","Red","Amber","Green","Blue","RESIZE_TYPES","NONE","BOTH","HORIZONTAL","VERTICAL","Textarea","rows","resizable","onCtrlEnter","TextEditor","defaultValue","onValueChange","formats","toolbarLastGroup","quillRef","quillInstance","tooltipSave","editor","theme","tooltip","save","textbox","indexOf","modules","useMemo","toolbar","TextEditorV2","locale","EditorState","createEmpty","editorState","setEditorState","getOptions","htmlToDraft","contentBlocks","entityMap","createWithContent","ContentState","createFromBlockArray","onEditorStateChange","draftToHtml","convertToRaw","getCurrentContent","Editor","showOpenOptionOnHover","defaultTargetOption","TextListItem","iconClass","iconClasses","ViewItem","titleProps","titleAccessory","contentProps","defaultContent","titlePropsMerged","contentPropsMerged","line"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"web-ui.cjs.development.js","sources":["../src/components/Text/Text.tsx","../src/components/Acknowledgement/Acknowledgement.js","../src/components/Avatar/Avatar.js","../src/components/Badge/Badge.tsx","../src/components/Button/Button.types.ts","../src/components/Button/ButtonIcon.tsx","../src/components/Spinner/Spinner.tsx","../src/components/ButtonV2/ButtonV2.tsx","../src/components/ButtonV2/PrimaryButton.tsx","../src/components/ButtonV2/SecondaryButton.tsx","../src/components/ButtonV2/TertiaryButton.tsx","../src/components/Icons/AddIcon.tsx","../src/components/Icons/DeleteIcon.tsx","../src/components/Icons/EditIcon.tsx","../src/components/Icons/LeftArrowIcon.tsx","../src/components/Icons/RightArrowIcon.tsx","../src/components/Icons/ChartIcon.tsx","../src/components/Icons/PrintIcon.tsx","../src/components/Button/Button.tsx","../src/components/Carousel/GliderContainer.tsx","../src/components/Carousel/Carousel.tsx","../src/components/Title/Title.tsx","../src/components/CenteredHero/CenteredHero.js","../src/components/Checkbox/Checkbox.tsx","../src/components/Modal/Modal.tsx","../src/components/Modal/ModalWithButtons.tsx","../src/components/ConfirmationDialog/ConfirmationDialog.tsx","../src/components/Datepicker/Datepicker.js","../src/components/Dropdown/Dropdown.js","../src/components/EmptyListMessage/EmptyListMessage.tsx","../src/components/ErrorBlock/ErrorBlock.js","../src/components/InfoBlock/InfoBlock.js","../src/components/InfoField/InfoField.tsx","../src/components/Input/Input.js","../src/components/Line/Line.js","../src/components/ListItem/ListItem.tsx","../src/components/PaginationMenu/PaginationMenuSmall.tsx","../src/components/Select/Select.tsx","../src/components/PaginationMenu/PaginationMenuLarge.tsx","../src/components/PaginationMenu/PaginationMenu.js","../src/components/LoadingIndicator/LoadingIndicator.tsx","../src/components/ListTable/ListTableCell.tsx","../src/components/ListTable/ListTableRow.tsx","../src/components/ListTable/ListTableHeader.tsx","../src/components/ListTable/ListTable.tsx","../src/components/Menu/Menu.js","../src/components/Text/LegacyText.js","../src/components/MultiSelect/MultiSelectUtils.js","../src/components/MultiSelect/MultiSelect.js","../src/components/NavMenu/NavLayout.tsx","../src/components/NavMenu/NavMenuItem.tsx","../src/components/NavMenu/NavMenuContent.tsx","../src/components/NavMenu/NavMenu.js","../src/components/TextLink/TextLink.tsx","../src/components/NotificationBanner/NotificationBanner.tsx","../src/components/Page/Page.js","../src/components/Title/LegacyTitle.js","../src/components/Steps/Step.tsx","../src/components/Steps/Steps.tsx","../src/components/Page/CRUDPage.js","../src/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/utils/useOutsideClick.js","../src/components/SettingsMenuButton/SettingsMenuButton.tsx","../src/components/Switcher/SwitcherItem.js","../src/components/Switcher/Switcher.js","../src/components/Tabbar/TabbarItem.tsx","../src/components/Tabbar/Tabbar.tsx","../src/components/TabLinks/TabLinks.tsx","../src/components/Tag/TagGroup.tsx","../src/components/Tag/Tag.tsx","../src/components/Textarea/Textarea.js","../src/components/TextEditor/TextEditor.js","../src/components/TextEditorV2/TextEditorV2.js","../src/components/TextListItem/TextListItem.js","../src/components/ViewItem/ViewItem.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { RestPropped } from \"../../types/general.types\";\n\nimport \"./Text.scss\";\n\nexport type TextStyle = \"sm\" | \"sm-strong\" | \"base\" | \"strong\" | \"lg\" | \"lg-strong\" | \"xl\" | \"xl-strong\" | string;\n\n//Extend with other colors that we want to enable for text\nexport type TextColor = \"base\" | \"gray-500\" | \"gray-200\" | \"white\" | \"blue\" | \"red\" | \"green\" | \"amber\" | \"inherit\";\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?: TextColor; //defaults to \"base\"\n className?: string;\n containsDangerousHtml?: boolean; //defaults to false\n truncate?: boolean; //defaults to false\n \"data-test-id\"?: string;\n}\n\nexport const Text = (props: TextProps): JSX.Element => {\n const containerProps = {\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 {\n \"text-xs font-medium\": props.type === \"sm\",\n \"text-xs font-semibold\": props.type === \"sm-strong\",\n \"text-sm\": props.type === \"base\",\n \"text-sm font-semibold\": props.type === \"strong\",\n \"\": props.type === \"lg\",\n \"font-semibold\": props.type === \"lg-strong\",\n \"text-lg\": props.type === \"xl\",\n \"font-semibold text-lg\": props.type === \"xl-strong\",\n },\n {\n inline: props.inline,\n // FIXME: this class doesn't do anything without a max-width\n truncate: props.truncate,\n },\n {\n \"text-slate-700\": props.color === \"base\",\n \"text-slate-500\": props.color === \"gray-500\",\n \"text-slate-200\": props.color === \"gray-200\",\n \"text-red-700\": props.color === \"red\",\n \"text-green-700\": props.color === \"green\",\n \"text-yellow-700\": props.color === \"amber\",\n \"text-blue-700\": props.color === \"blue\",\n \"text-white\": props.color === \"white\",\n \"text-primary-dark\": props.color === \"blue\",\n },\n {\n \"in-html-link\": props.containsDangerousHtml,\n },\n //can be used to overwrite other classes like the color\n props.className\n ),\n };\n\n return props.containsDangerousHtml ? (\n <p {...containerProps} dangerouslySetInnerHTML={{ __html: props.text }} />\n ) : (\n <p {...containerProps}>{props.text}</p>\n );\n};\n\nexport default Text;\n\nText.defaultProps = {\n type: \"base\",\n inline: false,\n color: \"base\",\n containsDangerousHtml: false,\n truncate: false,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport failureIcon from \"../../assets/error-icon.svg\";\n\nimport \"./Acknowledgement.scss\";\n\nexport const ACKNOWLEDGEMENT_TYPE_OPTIONS = {\n SUCCESS: \"success\",\n FAILURE: \"failure\",\n};\n\nAcknowledgement.propTypes = {\n message: PropTypes.string,\n type: PropTypes.oneOf([ACKNOWLEDGEMENT_TYPE_OPTIONS.SUCCESS, ACKNOWLEDGEMENT_TYPE_OPTIONS.FAILURE]),\n hasIcon: PropTypes.bool,\n isVisible: PropTypes.bool,\n className: PropTypes.string,\n};\n\nfunction Acknowledgement({\n message = \"\",\n type = ACKNOWLEDGEMENT_TYPE_OPTIONS.SUCCESS,\n isVisible = false,\n hasIcon = false,\n className = \"\",\n}) {\n const containerClassName = classNames(\"cweb-acknowledgement\", className, {\n \"type-success\": type === ACKNOWLEDGEMENT_TYPE_OPTIONS.SUCCESS,\n \"type-failure\": type === ACKNOWLEDGEMENT_TYPE_OPTIONS.FAILURE,\n \"is-visible\": isVisible,\n });\n\n const iconContainerClasses = classNames(\"acknowledgement-icon-container\", {\n hidden: !hasIcon,\n });\n\n const successIconClasses = classNames(\"icon success-icon acknowledgement-icon\", {\n hidden: type !== ACKNOWLEDGEMENT_TYPE_OPTIONS.SUCCESS,\n });\n\n const failureIconClasses = classNames(\"icon failure-icon acknowledgement-icon\", {\n hidden: type !== ACKNOWLEDGEMENT_TYPE_OPTIONS.FAILURE,\n });\n\n return (\n <div id=\"application-acknowledgement\" data-test-id={`acknowledgement-panel-${type}`} className={containerClassName}>\n <div className={iconContainerClasses}>\n <img src={successIcon} className={successIconClasses} alt=\"Success icon\" />\n <img src={failureIcon} className={failureIconClasses} alt=\"Failure icon\" />\n </div>\n\n <Text data-test-id=\"acknowledgement-message\" text={message} />\n </div>\n );\n}\n\nexport default Acknowledgement;\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","// These types were added because they are used in ViewItem that is completely refactored to TS\n// Ideally they should also be used in the Button TS component, but this was outside of the scope of this task\nimport React from \"react\";\n\nimport { RestPropped } from \"../../types/general.types\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nexport const BUTTON_ROLES = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n SECONDARY_DARK: \"secondaryDark\",\n TERTIARY: \"tertiary\",\n QUATERNARY: \"quaternary\",\n NEGATIVE: \"negative\",\n TEXT: \"text\",\n LINK: \"link\",\n ICON: \"icon\",\n} as const;\n\ntype BUTTON_KEYS = keyof typeof BUTTON_ROLES;\nexport type BUTTON_TYPE = typeof BUTTON_ROLES[BUTTON_KEYS];\n\nexport type ButtonType = \"button\" | \"submit\";\n\nexport interface ButtonProps extends RestPropped {\n text?: string;\n role?: BUTTON_TYPE;\n type?: ButtonType;\n title?: string;\n link?: string;\n isPending?: boolean;\n isDisabled?: boolean;\n // TODO: add specific type of ButtonEvent\n onClick?: (arg: any) => void;\n className?: string;\n // name mapping to the right svg in ButtonIcon\n iconName?: string;\n // legacy - can be removed?\n hasIcon?: boolean;\n dynamicIcon?: React.FunctionComponent<IconProps>;\n}\n","import * 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","import React from \"react\";\n\ninterface SpinnerProps {\n className?: string;\n}\n\nexport const Spinner = (props: SpinnerProps): JSX.Element => {\n return (\n <svg\n className={`w-5 h-5 animate-spin ${props.className}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\"></circle>\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { Spinner } from \"../Spinner/Spinner\";\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nexport type ButtonV2Type = \"button\" | \"submit\";\n\nexport interface ButtonV2Props {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n type?: ButtonV2Type;\n text?: string;\n icon?: React.FunctionComponent<IconProps>;\n isDisabled?: boolean;\n isPending?: boolean;\n className?: string;\n}\n\nexport const ButtonV2 = (props: ButtonV2Props): JSX.Element => {\n if (!props.text && !props.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 handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (props.type === \"submit\") {\n event.preventDefault();\n }\n props.onClick(event);\n };\n\n const buttonClassName = classNames(\n [\n \"h-11\",\n \"relative flex flex-row justify-center items-center\",\n \"border\",\n \"transition-outline transition-colors duration-300 ease-in-out\",\n \"rounded-full\",\n \"leading-none\",\n \"shadow-sm\",\n \"cursor-pointer\",\n \"focus:outline-primary\",\n ],\n {\n \"w-11\": !props.text && props.icon,\n \"px-4\": props.text,\n \"py-2\": props.text && props.icon,\n \"py-3\": props.text && !props.icon,\n },\n {\n \"opacity-50\": props.isDisabled,\n \"pointer-events-none\": props.isDisabled || props.isPending,\n },\n props.className\n );\n\n return (\n <button\n className={buttonClassName}\n type={props.type}\n onClick={handleClick}\n disabled={props.isDisabled}\n aria-disabled={props.isDisabled}\n >\n {props.icon && React.createElement(props.icon, { className: \"w-5 h-5\" })}\n\n {props.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=\"text-white\" />\n </span>\n )}\n\n {props.text && (\n <span\n className={classNames(\"text-sm font-medium\", {\n invisible: props.isPending,\n \"ml-1\": props.icon,\n })}\n >\n {props.text}\n </span>\n )}\n </button>\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nimport { ButtonV2, ButtonV2Type } from \"./ButtonV2\";\n\nexport interface PrimaryButtonProps {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n type?: ButtonV2Type;\n text?: string;\n icon?: React.FunctionComponent<IconProps>;\n isDisabled?: boolean;\n isPending?: boolean;\n}\n\nexport const PrimaryButton = (props: PrimaryButtonProps): JSX.Element => {\n return (\n <ButtonV2\n className={classNames([\n \"text-white\",\n \"bg-blue-800\",\n \"border-transparent\",\n \"hover:bg-blue-900\",\n ])}\n onClick={props.onClick}\n type={props.type}\n text={props.text}\n icon={props.icon}\n isDisabled={props.isDisabled}\n isPending={props.isPending}\n />\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nimport { ButtonV2 } from \"./ButtonV2\";\n\nexport interface SecondaryButtonProps {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n text?: string;\n icon?: React.FunctionComponent<IconProps>;\n isDisabled?: boolean;\n}\n\nexport const SecondaryButton = (props: SecondaryButtonProps): JSX.Element => {\n return (\n <ButtonV2\n className={classNames([\n \"text-blue-800\",\n \"bg-white\",\n \"border-slate-300\",\n \"hover:text-blue-900\",\n \"hover:border-slate-400\",\n ])}\n onClick={props.onClick}\n text={props.text}\n icon={props.icon}\n isDisabled={props.isDisabled}\n />\n );\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { IconProps } from \"../Icons/types/IconProps.type\";\n\nimport { ButtonV2 } from \"./ButtonV2\";\n\nexport interface TertiaryButtonProps {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n text?: string;\n icon?: React.FunctionComponent<IconProps>;\n isDisabled?: boolean;\n}\n\nexport const TertiaryButton = (props: TertiaryButtonProps): JSX.Element => {\n return (\n <ButtonV2\n className={classNames([\n \"text-blue-800\",\n \"bg-transparent\",\n \"border-transparent\",\n \"hover:text-blue-900\",\n \"shadow-none\",\n ])}\n onClick={props.onClick}\n text={props.text}\n icon={props.icon}\n isDisabled={props.isDisabled}\n />\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const AddIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"10\" y=\"2\" width=\"4\" height=\"20\" rx=\"2\" fill=\"currentColor\" />\n <rect\n x=\"22\"\n y=\"10\"\n width=\"4\"\n height=\"20\"\n rx=\"2\"\n transform=\"rotate(90 22 10)\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\ninterface DeleteIconProps {\n className?: string;\n}\n\nexport const DeleteIcon = (props: DeleteIconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 19C6 20.1 6.9 21 8 21H16C17.1 21 18 20.1 18 19V9C18 7.9 17.1 7 16 7H8C6.9 7 6 7.9 6 9V19ZM18 4H15.5L14.79 3.29C14.61 3.11 14.35 3 14.09 3H9.91C9.65 3 9.39 3.11 9.21 3.29L8.5 4H6C5.45 4 5 4.45 5 5C5 5.55 5.45 6 6 6H18C18.55 6 19 5.55 19 5C19 4.45 18.55 4 18 4Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\ninterface EditIconProps {\n className?: string;\n}\n\nexport const EditIcon = (props: EditIconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3 17.4605V20.5005C3 20.7805 3.22 21.0005 3.5 21.0005H6.54C6.67 21.0005 6.8 20.9505 6.89 20.8505L17.81 9.94055L14.06 6.19055L3.15 17.1005C3.05 17.2005 3 17.3205 3 17.4605ZM20.71 7.04055C21.1 6.65055 21.1 6.02055 20.71 5.63055L18.37 3.29055C17.98 2.90055 17.35 2.90055 16.96 3.29055L15.13 5.12055L18.88 8.87055L20.71 7.04055V7.04055Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\ninterface LeftArrowIconProps {\n className?: string;\n}\n\nexport const LeftArrowIcon = (props: LeftArrowIconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.6899 17.2902C14.0799 16.9002 14.0799 16.2702 13.6899 15.8802L9.80992 12.0002L13.6899 8.12022C14.0799 7.73022 14.0799 7.10022 13.6899 6.71022C13.2999 6.32022 12.6699 6.32022 12.2799 6.71022L7.68992 11.3002C7.29992 11.6902 7.29992 12.3202 7.68992 12.7102L12.2799 17.3002C12.6599 17.6802 13.2999 17.6802 13.6899 17.2902Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\ninterface RightArrowIconProps {\n className?: string;\n}\n\nexport const RightArrowIcon = (props: RightArrowIconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.31008 6.70978C8.92008 7.09978 8.92008 7.72978 9.31008 8.11978L13.1901 11.9998L9.31008 15.8798C8.92008 16.2698 8.92008 16.8998 9.31008 17.2898C9.70008 17.6798 10.3301 17.6798 10.7201 17.2898L15.3101 12.6998C15.7001 12.3098 15.7001 11.6798 15.3101 11.2898L10.7201 6.69978C10.3401 6.31978 9.70008 6.31978 9.31008 6.70978Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const ChartIcon = (props: IconProps): JSX.Element => {\n return (\n <svg\n className={props.className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"2\" y=\"7\" width=\"5\" height=\"15\" rx=\"2.5\" fill=\"currentColor\" />\n <rect x=\"9\" y=\"3\" width=\"5\" height=\"19\" rx=\"2.5\" fill=\"currentColor\" />\n <rect x=\"16\" y=\"10\" width=\"5\" height=\"12\" rx=\"2.5\" fill=\"currentColor\" />\n </svg>\n );\n};\n","import React from \"react\";\n\nimport { IconProps } from \"./types/IconProps.type\";\n\nexport const PrintIcon = (props: IconProps): JSX.Element => {\n return (\n <svg className={props.className} width=\"19\" height=\"18\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M16.6 5H15V.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5V5H2.4A2.4 2.4 0 0 0 0 7.4v5.2A2.4 2.4 0 0 0 2.4 15H5v2.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V15h2.6a2.4 2.4 0 0 0 2.4-2.4V7.4A2.4 2.4 0 0 0 16.6 5zM5 1h9v4H5V1zm8 16H6v-5h7v5zm5-4.4a1.4 1.4 0 0 1-1.4 1.4H14v-2.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5V14H2.4A1.4 1.4 0 0 1 1 12.6V7.4A1.4 1.4 0 0 1 2.4 6h14.2A1.4 1.4 0 0 1 18 7.4v5.2z\"\n fill=\"currentColor\"\n fill-rule=\"nonzero\"\n />\n </svg>\n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { navigate } from \"@reach/router\";\n\nimport { Spinner } from \"../Spinner/Spinner\";\nimport { AddIcon } from \"../Icons/AddIcon\";\nimport { DeleteIcon } from \"../Icons/DeleteIcon\";\nimport { EditIcon } from \"../Icons/EditIcon\";\nimport { LeftArrowIcon } from \"../Icons/LeftArrowIcon\";\nimport { RightArrowIcon } from \"../Icons/RightArrowIcon\";\nimport { ChartIcon } from \"../Icons/ChartIcon\";\nimport { PrintIcon } from \"../Icons/PrintIcon\";\n\nimport { ButtonIcon } from \"./ButtonIcon\";\nimport { BUTTON_ROLES, ButtonProps } from \"./Button.types\";\n\n// TODO: use the Types from Button.types.ts instead of PropTypes\nfunction Button(props: ButtonProps): JSX.Element {\n const {\n text = \"\",\n role: propsRole = BUTTON_ROLES.PRIMARY,\n type = \"button\",\n title = \"\",\n link = \"\",\n isPending = false,\n isDisabled = false,\n onClick,\n className = \"\",\n iconName = \"\",\n hasIcon: hasIconProps = false,\n dynamicIcon,\n ...otherAttributes\n } = props;\n\n const hasAddIcon = className.includes(\"add-button\");\n const hasEditIcon = className.includes(\"edit-button\");\n const hasDeleteIcon = className.includes(\"delete-button\");\n const hasPrevIcon = className.includes(\"prev-button\");\n const hasNextIcon = className.includes(\"next-button\");\n const hasChartIcon = className.includes(\"chart-button\");\n const hasPrintIcon = className.includes(\"print-button\");\n const hasIcon =\n hasIconProps ||\n iconName ||\n hasAddIcon ||\n hasEditIcon ||\n hasDeleteIcon ||\n hasPrevIcon ||\n hasNextIcon ||\n hasChartIcon ||\n hasPrintIcon ||\n dynamicIcon;\n\n const isIconOnly = hasIcon && !text;\n\n const [role, setRole] = useState(propsRole);\n\n // Fix to support the all the buttons in the application\n // Ideally we want to make a better implementation of them overall, but that's beyond the\n // scope of this task.\n\n useEffect(() => {\n if ((hasAddIcon || hasEditIcon) && !text) {\n setRole(BUTTON_ROLES.SECONDARY);\n } else if (propsRole === BUTTON_ROLES.TEXT || propsRole === BUTTON_ROLES.LINK) {\n setRole(BUTTON_ROLES.TERTIARY);\n } else if (hasDeleteIcon) {\n setRole(BUTTON_ROLES.NEGATIVE);\n }\n }, []);\n\n const isButtonDisabled = (role !== BUTTON_ROLES.LINK && isDisabled) || isPending;\n const isNonPrimaryNonNegative =\n role === BUTTON_ROLES.SECONDARY || role === BUTTON_ROLES.TERTIARY || role === BUTTON_ROLES.QUATERNARY;\n\n function handleClick(event: any) {\n if (link) {\n navigate(link);\n return;\n }\n\n if (isButtonDisabled || !onClick) {\n // without this, form will be submitted, if button has type submit.\n event.preventDefault();\n return;\n }\n\n onClick(event);\n }\n\n const buttonRolesStyling = {\n primary: [\n \"bg-primary\",\n \"hover:bg-primary-dark\",\n \"text-white\",\n \"focus:outline-primary\",\n \"border\",\n \"border-solid\",\n \"border-primary-transparent\",\n ],\n secondary: [\"bg-slate-200\"],\n secondaryDark: [\"bg-slate-700\", \"hover:bg-slate-600\"],\n tertiary: [\"bg-transparent\", \"shadow-none\", \"hover:bg-slate-100\"],\n quaternary: [\"bg-white\", \"shadow-none\", \"border\", \"border-solid\", \"border-quaternary\", \"hover:border-slate-200\"],\n negative: [\n \"bg-negative\",\n \"text-negative-dark\",\n \"hover:text-negative-darker\",\n \"hover:border-negative-border\",\n \"focus:outline-negative\",\n \"border\",\n \"border-transparent\",\n ],\n link: [],\n text: [],\n icon: [],\n };\n\n const containerClassName = classNames(\n // default button classes\n [\n \"h-11\",\n \"focus:outline-none\",\n \"relative flex flex-row justify-center items-center\",\n \"shadow-sm\",\n \"transition-outline transition-colors duration-300 ease-in-out\",\n \"cursor-pointer\",\n \"rounded-full\",\n \"leading-none\",\n ],\n // ensuring the buttons are 44px high including content\n {\n \"py-2 px-2 w-11\": isIconOnly,\n \"px-4 py-3\": !isIconOnly,\n },\n className,\n {\n \"opacity-50 pointer-events-none\": isButtonDisabled,\n \"hover:text-primary-dark text-primary\": isNonPrimaryNonNegative,\n \"border border-transparent\": isNonPrimaryNonNegative,\n \"hover:border-slate-200 focus:outline-primary\": isNonPrimaryNonNegative,\n \"text-secondary-dark opacity-75\": isButtonDisabled && isNonPrimaryNonNegative,\n },\n buttonRolesStyling[role]\n );\n\n const spinnerClassNames = classNames({\n hidden: !isPending,\n \"text-white\": role === BUTTON_ROLES.PRIMARY,\n \"text-dark-gray\": isNonPrimaryNonNegative,\n \"text-negative-dark\": role === BUTTON_ROLES.TERTIARY,\n });\n\n const buttonTextClasses = classNames([\"text-sm\", \"font-medium\"], {\n invisible: isPending,\n hidden: !text,\n \"ml-3\": hasIcon,\n });\n\n return (\n <button\n {...otherAttributes}\n aria-disabled={isButtonDisabled}\n disabled={isButtonDisabled}\n className={containerClassName}\n onClick={handleClick}\n type={type}\n title={title}\n data-role={role}\n >\n {hasAddIcon && <AddIcon className=\"w-5 h-5\" />}\n {hasEditIcon && <EditIcon className=\"w-5 h-5\" />}\n {hasDeleteIcon && <DeleteIcon className=\"w-5 h-5\" />}\n {hasPrevIcon && <LeftArrowIcon className=\"w-5 h-5\" />}\n {hasNextIcon && <RightArrowIcon className=\"w-5 h-5\" />}\n {hasChartIcon && <ChartIcon className=\"w-5 h-5\" />}\n {hasPrintIcon && <PrintIcon className=\"w-5 h-5\" />}\n {iconName && <ButtonIcon name={iconName} />}\n {dynamicIcon && React.createElement(dynamicIcon, { className: \"w-5 h-5\" })}\n\n <span\n className=\"opacity-100\"\n // IE11 center translate fix\n style={{\n position: \"absolute\",\n left: \"50%\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <Spinner className={spinnerClassNames} />\n </span>\n <span className={buttonTextClasses}>{text}</span>\n </button>\n );\n}\n\nexport default Button;\n\nexport { BUTTON_ROLES };\n","import React from \"react\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\n\nimport \"./GliderContainer.scss\";\n\ninterface GliderContainerProps {\n children: React.ReactNode;\n}\n\nexport const GliderContainer = (props: GliderContainerProps): JSX.Element => (\n <div className={\"relative h-full pb-6 glider-contain px-17 pb-6\"}>\n {props.children}\n <div className={\"entity-preview-left absolute top-1/2 left-0\"}>\n <Button iconName={\"chevron-left-blue\"} role={BUTTON_ROLES.QUATERNARY} />\n </div>\n <div className={\"entity-preview-right absolute top-1/2 right-0\"}>\n <Button iconName={\"chevron-right-blue\"} role={BUTTON_ROLES.QUATERNARY} />\n </div>\n <div className=\"entity-preview-dots\" />\n </div>\n);\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport Glider from \"react-glider\";\n\nimport { GliderContainer } from \"./GliderContainer\";\n\ninterface CarouselProps {\n id: string;\n slides: React.ReactNode[];\n className?: string;\n}\n\nconst Carousel = ({ slides, className, id }: CarouselProps): JSX.Element => {\n const [isVisible, setIsVisible] = useState(false);\n useEffect(() => setIsVisible(false), [id]);\n useEffect(() => {\n // hack to force Glider to re mount when id changes\n if (!isVisible) {\n setIsVisible(true);\n }\n }, [isVisible]);\n\n return (\n isVisible ? (\n <Glider\n hasDots\n hasArrows\n skipTrack\n // draggable\n scrollLock\n rewind\n arrows={{\n prev: \".entity-preview-left\",\n next: \".entity-preview-right\",\n }}\n id={id} // this should force Glider to rebuild, but it does not\n dots={\".entity-preview-dots\"}\n className={classNames(\"h-full\", className)}\n containerElement={GliderContainer}\n >\n <div className=\"glider-track h-full\">\n {slides?.map((slide, index) => (\n <div key={index} className={\"overflow-hidden\"}>\n {slide}\n </div>\n ))}\n </div>\n </Glider>\n ) : <></>);\n};\n\nexport default Carousel;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport \"./Title.scss\";\n\nexport type TitleStyle = \"sm\" | \"base\" | \"lg\" | \"xl\" | \"2xl\";\n\nexport interface TextProps {\n text: string;\n type?: TitleStyle; //defaults to \"base\"\n className?: string;\n}\n\nexport const Title = (props: TextProps): JSX.Element => {\n const containerClassName = classNames(\n \"title\", //this is used to load the correct font from the css\n \"font-bold\",\n {\n \"text-slate-700\": !props.className?.match(/\\s(text-)/),\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 <ContainerElement className={containerClassName}>{props.text}</ContainerElement>;\n};\n\nTitle.defaultProps = {\n type: \"base\",\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport Text from \"../Text/Text\";\nimport { Title } from \"../Title/Title\";\n\nCenteredHero.propTypes = {\n title: PropTypes.string,\n text: PropTypes.string,\n image: PropTypes.string,\n buttons: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n handleOnClick: PropTypes.func.isRequired,\n type: PropTypes.oneOf([BUTTON_ROLES.PRIMARY, BUTTON_ROLES.SECONDARY]).isRequired,\n })\n ),\n className: PropTypes.string,\n};\n\nfunction CenteredHero({ title, text, image, buttons, className }) {\n return (\n <div className={classNames(className, \"p-6 my-6 flex flex-col items-center w-200 ml-auto mr-auto\")}>\n {image && <img src={image} />}\n {title && <Title className=\"mt-8 mb-2\" text={title} type={\"base\"} />}\n {text && <Text text={text} />}\n\n {buttons?.length > 0 && (\n <div className=\"flex flex-row mt-8\">\n {buttons\n .filter((button) => button.title && button.handleOnClick && button.type)\n .map((button) => (\n <Button\n className=\"mr-4 last:mr-0\"\n key={button.title}\n role={button.type}\n title={button.title}\n text={button.title}\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 initial value\n isChecked?: boolean;\n // Allow the user to change the input\n isDisabled?: boolean;\n name?: string;\n // This can be used to retrieve the value it is referring to through onChange\n value?: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n className?: string;\n error?: boolean;\n}\n\nexport const Checkbox = ({\n id,\n text,\n explanation,\n type = \"regular\",\n isChecked = false,\n isDisabled,\n name,\n value,\n onChange,\n className,\n error,\n}: CheckboxProps): JSX.Element => {\n const [checked, setChecked] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n\n const containerClassName = classNames(\"cweb-checkbox\", className, {\n \"is-focused\": isFocused,\n \"is-checked\": checked,\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 }, [isChecked]);\n\n const handleChange = (event) => {\n setChecked(!checked);\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 <label className=\"cweb-checkbox-label\" data-test-id=\"checkbox-label\" onClick={(e) => e.stopPropagation()}>\n <input\n id={id}\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\", \"transition-colors duration-300\", {\n \"bg-primary\": checked,\n \"bg-white\": !checked,\n \"hover:bg-primary-dark\": checked,\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 && <Text className=\"ml-2 select-none text-left\" text={text} data-test-id=\"checkbox-text\" />}\n {explanation && (\n <Text\n className=\"ml-2 select-none text-left\"\n text={explanation}\n color={\"gray-500\"}\n data-test-id=\"checkbox-explanation\"\n />\n )}\n </div>\n </label>\n </div>\n );\n};\n\nexport default Checkbox;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport ReactModal from \"react-modal\";\n\nimport \"./Modal.scss\";\nimport { Title } from \"../Title/Title\";\n\nexport const MODAL_SIZES = {\n DEFAULT: \"default\",\n WIDE: \"wide\",\n WIDER: \"wider\",\n EXTRA_SMALL: \"extra-small\",\n} as const;\n\ntype MODAL_SIZES_NAMES = keyof typeof MODAL_SIZES;\nexport type MODAL_SIZES_VALUES = typeof MODAL_SIZES[MODAL_SIZES_NAMES];\n\nexport interface ModalProps {\n children: React.ReactNode;\n type?: MODAL_SIZES_VALUES;\n isOpen?: boolean;\n shouldCloseOnOverlayClick?: boolean;\n showTitleBar?: boolean;\n title?: string;\n onCloseClick?: (event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>) => void;\n backAltText?: string;\n closeAltText?: string;\n className?: string;\n closeButtonId?: string;\n withPadding?: boolean;\n showHeader?: boolean;\n}\n\n/**\n * Don't use this modal directly if you need to add buttons to it.\n * There's a component called <ModalWithButtons /> you can use instead.\n */\nfunction Modal({\n children,\n type = MODAL_SIZES.DEFAULT,\n isOpen = false,\n shouldCloseOnOverlayClick = true,\n showTitleBar = true,\n title,\n onCloseClick,\n closeAltText = \"Close\",\n className,\n closeButtonId,\n withPadding = false,\n showHeader = true,\n}: ModalProps): JSX.Element {\n const containerClassName = classNames(\"cweb-modal\", className, {\n \"type-default\": type === MODAL_SIZES.DEFAULT,\n \"type-wide\": type === MODAL_SIZES.WIDE,\n \"type-wider\": type === MODAL_SIZES.WIDER,\n \"type-extra-small\": type === MODAL_SIZES.EXTRA_SMALL,\n });\n\n const overlayClassName = classNames(\"cweb-modal-overlay\", {\n \"no-title-bar\": !showTitleBar,\n });\n\n ReactModal.setAppElement(\"body\");\n\n return (\n <ReactModal\n isOpen={isOpen}\n contentLabel={title}\n portalClassName=\"cweb-modal-portal\"\n overlayClassName={overlayClassName}\n bodyOpenClassName=\"cweb-modal-body-open\"\n htmlOpenClassName=\"cweb-modal-html-open\"\n onRequestClose={onCloseClick}\n shouldFocusAfterRender={false}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n className={containerClassName}\n >\n {showHeader && (\n <div\n className={classNames({\n \"cweb-modal-title-section\": showTitleBar,\n \"cweb-modal-no-title-section\": !showTitleBar,\n })}\n >\n {showTitleBar && title && <Title text={title} type=\"sm\" className=\"cweb-modal-title\" />}\n <button\n data-test-id=\"close-modal-button\"\n role=\"icon\"\n title={closeAltText}\n id={closeButtonId}\n className=\"cweb-modal-close-button\"\n onClick={onCloseClick}\n />\n </div>\n )}\n\n {children ? (\n <div className={classNames(\"cweb-modal-content\", { \"px-6 py-4\": withPadding })}>{children}</div>\n ) : null}\n </ReactModal>\n );\n}\n\nexport default Modal;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport Modal, { ModalProps } from \"./Modal\";\n\nexport type ButtonsAlignment = \"justify-end\" | \"justify-between\";\n\ntype ModalWithButtonProps = ModalProps & {\n buttons: [JSX.Element, JSX.Element?];\n buttonsAlignment: ButtonsAlignment;\n};\n\nexport const ModalWithButtons = (props: ModalWithButtonProps): JSX.Element => {\n const { buttons, buttonsAlignment = \"justify-between\", children, ...rest } = props;\n return (\n <Modal {...rest} withPadding={false}>\n <div className={classNames(\"cweb-modal-content\", { \"px-6 py-4\": props.withPadding })}>{children}</div>\n <div\n className={classNames(\n \"flex items-center\",\n {\n \"justify-end\": buttonsAlignment === \"justify-end\" || buttons.length === 1,\n \"justify-between\": buttonsAlignment === \"justify-between\" && buttons.length >= 2,\n },\n \"px-6 py-4\",\n \"border-t border-solid rounded-b-lg border-chrome\",\n \"bg-slate-50\"\n )}\n >\n {buttons}\n </div>\n </Modal>\n );\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport \"./ConfirmationDialog.scss\";\nimport { ModalWithButtons } from \"../Modal/ModalWithButtons\";\nimport { MODAL_SIZES, MODAL_SIZES_VALUES } from \"../Modal/Modal\";\nimport Text from \"../Text/Text\";\nimport { BUTTON_TYPE } from \"../Button/Button.types\";\n\ninterface ConfirmationDialogTexts {\n message: string;\n confirmLabel: string;\n cancelLabel: string;\n title?: string;\n}\n\ninterface ConfirmationDialogProps {\n texts: ConfirmationDialogTexts;\n isOpen: boolean;\n onCancel: () => void;\n onConfirm: () => void;\n isProcessing: boolean;\n cancelButtonRole: BUTTON_TYPE;\n confirmButtonRole: BUTTON_TYPE;\n size: MODAL_SIZES_VALUES;\n showHeader: boolean;\n className?: string;\n}\n\nexport const ConfirmationDialog = (props: ConfirmationDialogProps): JSX.Element => {\n const calculatedClassNames = classNames(\"vitals-confirmation-dialog\", props.className);\n\n const handleOnCloseClick = () => {\n if (!props.isProcessing) {\n props.onCancel();\n }\n };\n\n const modalButtons: [JSX.Element, JSX.Element?] = [\n <Button\n key=\"confirmation-dialog-button-cancel\"\n data-test-id=\"button-cancel\"\n text={props.texts.cancelLabel}\n onClick={props.onCancel}\n isDisabled={props.isProcessing}\n role={props.cancelButtonRole}\n />,\n <Button\n key=\"confirmation-dialog-button-confirm\"\n className=\"ml-2.5\"\n data-test-id=\"button-confirm\"\n text={props.texts.confirmLabel}\n onClick={props.onConfirm}\n isPending={props.isProcessing}\n />,\n ];\n\n return (\n <ModalWithButtons\n type={props.size}\n className={calculatedClassNames}\n isOpen={props.isOpen}\n title={props.texts.title}\n onCloseClick={handleOnCloseClick}\n shouldCloseOnOverlayClick={!props.isProcessing}\n showHeader={props.showHeader}\n buttons={modalButtons}\n buttonsAlignment=\"justify-end\"\n >\n <div className=\"vitals-confirmation-dialog-content\">\n <Text text={props.texts.message} containsDangerousHtml={true} />\n </div>\n </ModalWithButtons>\n );\n};\n\nConfirmationDialog.defaultProps = {\n isProcessing: false,\n cancelButtonRole: BUTTON_ROLES.SECONDARY,\n confirmButtonRole: BUTTON_ROLES.PRIMARY,\n size: MODAL_SIZES.DEFAULT,\n showHeader: true,\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(\"cweb-datepicker text-slate-700 text-sm\", className);\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","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(items, ITEM_QUERY_FIELD_NAMES.ID, props.initialSelectedItemId)\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(this.findItem(items, ITEM_QUERY_FIELD_NAMES.HIGHLIGHT_INDEX, highlightIndex));\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 && 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 ? prevState.selectedItem.highlightIndex : 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 = prevState.highlightIndex > 0 ? prevState.highlightIndex - 1 : 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 className={itemClassName} key={item.id} tabIndex=\"0\" onClick={() => this.selectItem(item)}>\n <Text data-test-id={item.text} text={item.text} type={textType} truncate />\n <img className={classNames({ hidden: !isItemSelected })} src={checkmark} alt=\"checked\" />\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=\"gray-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) => (item.subItems ? this.renderGroupedItems(item) : this.renderIndividualItem(item)))}\n </div>\n );\n };\n\n render() {\n // eslint-disable-next-line no-unused-vars\n const {\n placeholder = \"\",\n className,\n initialSelectedItemId,\n onItemSelect,\n items,\n wider,\n ...otherProps\n } = this.props;\n const { selectedItem, isDropdownOpen } = this.state;\n const containerClassName = classNames(\"cweb-dropdown\", className, { \"is-open\": isDropdownOpen });\n const onDropdownClick = isDropdownOpen ? this.closeDropdown : 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(\"dropdown-header space-x-2 border border-solid p-3 cursor-pointer\", {\n \"border-primary-dark\": isDropdownOpen,\n \"border-input-border hover:border-input-border-dark\": !isDropdownOpen,\n })}\n onClick={onDropdownClick}\n >\n <Text className=\"dropdown-header-title\" text={selectedItem ? selectedItem.text : placeholder} truncate />\n <img className=\"dropdown-header-icon\" src={chevronDouble} alt=\"browse icon\" />\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([PropTypes.number, PropTypes.string]),\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 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","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport Text from \"../Text/Text\";\n\nimport \"./ErrorBlock.scss\";\n\nErrorBlock.propTypes = {\n message: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nfunction ErrorBlock({ message, className = \"\", ...otherProps }) {\n const containerClassName = classNames(\"cweb-error-block\", className);\n\n return (\n <div className={containerClassName}>\n <Text {...otherProps} className=\"cweb-error-block-message\" text={message} />\n </div>\n );\n}\n\nexport default ErrorBlock;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./InfoBlock.scss\";\nimport { Text } from \"../Text/Text\";\n\nInfoBlock.propTypes = {\n message: PropTypes.string.isRequired,\n containsDangerousHtml: PropTypes.bool,\n className: PropTypes.string,\n};\n\nfunction InfoBlock({ message, className, containsDangerousHtml = false }) {\n const containerClassName = classNames(\"cweb-info-block\", className);\n\n return (\n <div className={containerClassName}>\n <Text text={message} containsDangerousHtml={containsDangerousHtml} />\n </div>\n );\n}\n\nexport default InfoBlock;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport ClipboardJS from \"clipboard\";\n\nimport { Text } from \"../Text/Text\";\n\ntype InfoFieldLinkType = \"none\" | \"link\" | \"clipboard\" | \"tel\";\n\ninterface InfoFieldProps {\n label: string;\n value: string;\n linkType: InfoFieldLinkType;\n supportsMultiline?: boolean;\n onCopyToClipboard?: () => void;\n icon?: JSX.Element;\n className?: string;\n}\n\nexport const InfoField = (props: InfoFieldProps): JSX.Element => {\n const clipboard = new ClipboardJS(\"button\");\n\n clipboard.on(\"success\", function (e) {\n props.onCopyToClipboard && props.onCopyToClipboard();\n e.clearSelection();\n });\n\n let ContainerElement: React.ElementType;\n let containerProps: any;\n\n switch (props.linkType) {\n case \"link\":\n ContainerElement = \"a\";\n containerProps = {\n href: props.value,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n };\n break;\n case \"tel\":\n ContainerElement = \"a\";\n containerProps = { href: `tel:${props.value}` };\n break;\n\n case \"clipboard\":\n ContainerElement = \"button\";\n containerProps = {\n type: \"button\",\n \"data-clipboard-text\": props.value,\n };\n break;\n\n case \"none\":\n default:\n ContainerElement = \"div\";\n break;\n }\n\n return (\n <div className={classNames(\"flex flex-row align-center items-center\", props.className)}>\n {props.icon}\n <ContainerElement className={\"flex flex-col overflow-hidden ml-3 first:ml-0\"} {...containerProps}>\n <Text\n text={props.label}\n type={\"sm\"}\n color={\"gray-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\nimport cross from \"../../assets/color-variant-cross.svg\";\n\nconst INPUT_TYPES = {\n EMAIL: \"email\",\n NUMBER: \"number\",\n PASSWORD: \"password\",\n TEXT: \"text\",\n};\n\nInput.propTypes = {\n className: PropTypes.string,\n type: PropTypes.oneOf([INPUT_TYPES.EMAIL, INPUT_TYPES.NUMBER, INPUT_TYPES.PASSWORD, INPUT_TYPES.TEXT]),\n value: PropTypes.any,\n name: PropTypes.string.isRequired,\n placeholder: PropTypes.string,\n clearable: PropTypes.bool,\n maxLength: PropTypes.number,\n isDisabled: PropTypes.bool,\n withPrefix: PropTypes.string,\n withSuffix: PropTypes.string,\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 id: PropTypes.string,\n setRef: PropTypes.any,\n};\n\nfunction Input({\n withSuffix = \"\",\n withPrefix = \"\",\n className = \"\",\n clearable = false,\n type = INPUT_TYPES.TEXT,\n isDisabled = false,\n icon,\n setRef = () => undefined,\n onChange,\n name,\n value,\n ...otherProps\n}) {\n const hasNoExtraContent = withPrefix === \"\" && withSuffix === \"\";\n\n let style;\n if (icon) {\n style = {\n backgroundSize: \"1.125rem\",\n backgroundPosition: \"1rem\",\n backgroundImage: `url(${icon})`,\n backgroundRepeat: \"no-repeat\",\n };\n }\n\n return (\n <div className=\"relative flex flex-row\">\n <span\n className={classNames(\n \"h-11\",\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 \"border-t border-b border-solid border-input-border\",\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 <input\n {...otherProps}\n name={name}\n value={value}\n onChange={onChange}\n ref={setRef}\n size={otherProps.maxLength}\n type={type}\n disabled={isDisabled}\n className={classNames(\n \"cweb-input\",\n \"block\",\n { \"pl-10\": icon, \"pr-11\": clearable },\n \"h-11\",\n \"p-2\",\n \"border\",\n \"text-sm\",\n \"text-slate-700\",\n \"bg-white\",\n \"placeholder-slate-500\",\n \"border-solid\",\n \"border-input-border\",\n \"hover:border-input-border-dark\",\n \"focus:outline-primary\",\n \"transition-colors\",\n \"duration-300\",\n \"focus:border-primary\",\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 style={style}\n />\n <span\n style={{\n background: `url(${cross}) center no-repeat`,\n backgroundSize: \"1.5rem\",\n }}\n className={classNames(\n \"absolute right-0 transform top-1/2\",\n \"-translate-y-1/2 block w-6 h-6 mr-3 cursor-pointer text-input-icon\",\n { hidden: !clearable }\n )}\n onClick={() => {\n onChange && onChange({ target: { name: name, value: \"\" }, currentTarget: { name: name, value: \"\" } });\n }}\n />\n </div>\n );\n}\n\nexport default Input;\nexport { INPUT_TYPES };\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\";\nimport classNames from \"classnames\";\n\nimport \"./ListItem.scss\";\n\nexport interface ListItemProps {\n className?: string;\n onClick?: any; // func\n children?: any;\n}\n\nexport const ListItem: React.FC<ListItemProps> = (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 ListItem;\n","import * as React from \"react\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport { Text } from \"../Text/Text\";\n\ninterface PaginationMenuSmallProps {\n pageCount: number;\n currentPage: number;\n onPageClick: (page: number) => void;\n}\n\nexport const PaginationMenuSmall = (props: PaginationMenuSmallProps): JSX.Element => {\n function handleOnPageClick(event: React.MouseEvent<HTMLButtonElement>) {\n event.preventDefault();\n const page: string | undefined = event.currentTarget.dataset.page;\n page && props.onPageClick(parseInt(page, 10));\n }\n\n return (\n <>\n <Button\n data-test-id=\"prev-button\"\n role={BUTTON_ROLES.TERTIARY}\n iconName={props.currentPage === 1 ? \"chevron-left-grey\" : \"chevron-left-blue\"}\n data-page={props.currentPage - 1}\n onClick={handleOnPageClick}\n isDisabled={props.currentPage === 1}\n />\n <Text text={`${props.currentPage} / ${props.pageCount}`} type=\"sm\" color=\"gray-500\" />\n <Button\n data-test-id=\"next-button\"\n role={BUTTON_ROLES.TERTIARY}\n iconName={props.currentPage === props.pageCount ? \"chevron-right-grey\" : \"chevron-right-blue\"}\n isDisabled={props.currentPage === props.pageCount}\n data-page={props.currentPage + 1}\n onClick={handleOnPageClick}\n />\n </>\n );\n};\n","import type { Props, StylesConfig, GroupBase } from \"react-select\";\nimport ReactSelect, { mergeStyles, SelectInstance } from \"react-select\";\nimport React from \"react\";\n\nimport checkmark from \"../../assets/check-icon-primary.svg\";\nimport doubleChevron from \"../../assets/chevron-double.svg\";\n\nfunction generateCustomStyles<Option, IsMulti extends boolean, Group extends GroupBase<Option>>(\n hasError: boolean,\n isIE11: boolean\n): 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 position: \"absolute\",\n content: '\"\"',\n background: `url(${checkmark}) no-repeat center`,\n // This needs to match the proportional\n // padding in this element.\n // 0.75rem -> 12px\n right: 12,\n height: \"1rem\",\n width: \"1rem\",\n visibility: state.isSelected ? \"visible\" : \"hidden\",\n },\n transition: \"background-color 0.3s ease-in-out\",\n \"&:hover\": {\n // tailwind blue-50\n backgroundColor: state.isSelected ? \"transparent\" : \"#F2FAFD\",\n },\n pointerEvents: state.isDisabled ? \"none\" : \"auto\",\n };\n },\n container: (baseStyles) => {\n return { ...baseStyles, flexGrow: isIE11 ? 0.5 : \"initial\" };\n },\n control: (baseStyles, state) => {\n const defaultBorderColor = state.isFocused ? \"#045baa\" : \"#D1D5DB\";\n const validatedBorderColor = hasError ? \"#c53030\" : defaultBorderColor;\n\n const defaultOutline = hasError ? \"rgba(255, 98, 102, 0.3)\" : \"rgba(0, 159, 227, 0.3)\";\n const validatedOutline = `4px solid ${state.isFocused ? defaultOutline : \"transparent\"}`;\n\n return {\n ...baseStyles,\n fontSize: \"14px\",\n transition: \"border 0.3s ease-in-out\",\n height: isIE11 ? \"50px\" : \"2.75rem\",\n\n // primary outline\n outline: validatedOutline,\n\n borderColor: validatedBorderColor,\n borderWidth: \"1px !important\",\n borderStyle: \"solid\",\n borderRadius: \"4px\",\n\n boxShadow: \"0px 1px 2px rgba(0, 0, 0, 0.05)\",\n\n \"&:hover\": {\n borderColor: \"#9CA3AF\",\n // selector for the chevron\n '> [class*=\"IndicatorsContainer\"]': {\n opacity: 1,\n },\n },\n };\n },\n // The placeholder has the following css prop: grid-area: 1/1/2/3;\n // And grid-area doesn't work on IE11, so we need to style it slightly different.\n placeholder: (baseStyles) => ({\n ...baseStyles,\n fontWeight: 100,\n color: \"#6B7280\",\n paddingTop: isIE11 ? \"1.2rem\" : undefined,\n }),\n singleValue: (baseStyles) => {\n return {\n ...baseStyles,\n paddingTop: isIE11 ? \"1.2rem\" : undefined,\n fontSize: \"14px\",\n };\n },\n indicatorSeparator: () => ({\n display: \"none\",\n }),\n\n indicatorsContainer: (baseStyles) => ({\n ...baseStyles,\n opacity: 0.5,\n transition: \"opacity 0.3s ease-in-out\",\n background: `url(${doubleChevron}) no-repeat center`,\n // hiding the default indicator\n svg: {\n display: \"none\",\n },\n marginRight: \"0.75rem\",\n }),\n menu: (baseStyles) => ({\n ...baseStyles,\n zIndex: 20,\n }),\n };\n}\n\ntype CustomSelect = <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(\n props: Props<Option, IsMulti, Group>,\n ref: React.RefAttributes<SelectInstance<Option, IsMulti, Group>>\n) => React.ReactElement;\n\nconst CustomSelect = React.forwardRef(\n <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(\n props: Props<Option, IsMulti, Group>,\n _ref: any\n ) => {\n const { className, styles } = props;\n\n const hasError = className?.includes(\"has-error\") || false;\n const isIE11 = \"MSInputMethodContext\" in window && \"documentMode\" in document;\n const customStyles = generateCustomStyles<Option, IsMulti, Group>(hasError, isIE11);\n const mergedStyles = mergeStyles<Option, IsMulti, Group>(customStyles, styles);\n\n return <ReactSelect<Option, IsMulti, Group> {...props} styles={mergedStyles} />;\n }\n) as CustomSelect;\n\nexport default CustomSelect;\n","import * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { GroupBase, SingleValue } from \"react-select\";\n\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport Select from \"../Select/Select\";\nimport { Text } from \"../Text/Text\";\n\ninterface PaginationMenuLargeProps {\n pageCount: number;\n currentPage: number;\n onPageClick: (page: number) => void;\n localization: {previous: string, next: string, page: string};\n}\n\ntype Option = {\n value: string;\n label: string;\n};\n\nexport const PaginationMenuLarge = (props: PaginationMenuLargeProps): JSX.Element => {\n const [page, setPage] = useState<Option>({ value: \"\", label: \"\" });\n\n useEffect(() => {\n setPage({\n label: props.currentPage.toString(),\n value: props.currentPage.toString(),\n });\n }, [props.currentPage]);\n\n function handleOnPageClick(event: React.MouseEvent<HTMLButtonElement>) {\n event.preventDefault();\n const newPage: string | undefined = event.currentTarget.dataset.page;\n if (newPage) {\n setPage({value: newPage, label: newPage});\n props.onPageClick(parseInt(newPage, 10));\n }\n }\n\n function handleOnPageSelect(newValue: SingleValue<Option>) {\n newValue?.value && props.onPageClick(parseInt(newValue.value));\n }\n\n function getPageOptions(): Option[] {\n const items: Option[] = [];\n for (let i = 1; i <= props.pageCount; i++) {\n items.push({\n label: i.toString(),\n value: i.toString(),\n });\n }\n\n return items;\n }\n\n return (\n <>\n <div className={\"flex flex-row ml-2 mr-3 items-center\"}>\n <Text className=\"mr-3\" text={props.localization.page} />\n <Select<Option, false, GroupBase<Option>>\n className={\"w-24\"}\n options={getPageOptions()}\n onChange={handleOnPageSelect}\n value={page}\n isDisabled={props.pageCount < 2}\n menuPlacement=\"auto\"\n />\n </div>\n <div className={\"mr-2 ml-auto flex flex-row items-center\"}>\n <Text\n className=\"mr-3\"\n text={`${props.localization.page} ${props.currentPage} / ${props.pageCount}`}\n color=\"gray-500\"\n />\n <Button\n data-test-id=\"prev-button\"\n role={BUTTON_ROLES.SECONDARY}\n text={props.localization.previous}\n data-page={props.currentPage - 1}\n onClick={handleOnPageClick}\n isDisabled={props.currentPage === 1}\n className=\"w-24 mr-3\"\n />\n <Button\n data-test-id=\"next-button\"\n role={BUTTON_ROLES.SECONDARY}\n text={props.localization.next}\n isDisabled={props.currentPage === props.pageCount}\n data-page={props.currentPage + 1}\n onClick={handleOnPageClick}\n className=\"w-24\"\n />\n </div>\n </>\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport { PaginationMenuSmall } from \"./PaginationMenuSmall\";\nimport { PaginationMenuLarge } from \"./PaginationMenuLarge\";\n\nPaginationMenu.propTypes = {\n pageCount: PropTypes.number.isRequired,\n currentPage: PropTypes.number.isRequired,\n onPageClick: PropTypes.func.isRequired,\n small: PropTypes.bool,\n className: PropTypes.string,\n localization: PropTypes.object,\n};\n\nfunction PaginationMenu({ pageCount, currentPage, onPageClick, small, className, localization }) {\n const containerClassName = classNames(\"flex flex-row flex-space-between w-full items-center\", className);\n\n return (\n <div className={containerClassName}>\n {small ? (\n <PaginationMenuSmall pageCount={pageCount} currentPage={currentPage} onPageClick={onPageClick} />\n ) : (\n <PaginationMenuLarge pageCount={pageCount} currentPage={currentPage} onPageClick={onPageClick} localization={localization}/>\n )}\n </div>\n );\n}\n\nexport default PaginationMenu;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport loadingImage from \"../../assets/loading.svg\";\nimport spinner from \"../../assets/spinner.svg\";\nimport graySpinner from \"../../assets/spinner-gray.svg\";\nimport { RestPropped } from \"../../types/general.types\";\n\nimport \"./LoadingIndicator.scss\";\n\nexport interface LoadingIndicatorProps extends RestPropped {\n asModal?: boolean;\n asSpinner?: boolean;\n className?: string;\n spinnerColor?: \"blue\" | \"gray\";\n}\n\nexport function LoadingIndicator({\n asModal = false,\n asSpinner = false,\n className = \"\",\n spinnerColor = \"blue\",\n ...restProps\n}: LoadingIndicatorProps): JSX.Element {\n const spinnerToRender = spinnerColor === \"blue\" ? spinner : graySpinner;\n\n const containerClassName = classNames(\"cweb-loading\", className, {\n \"as-modal\": asModal,\n });\n\n return (\n <div {...restProps} className={containerClassName}>\n <img\n src={asSpinner ? spinnerToRender : loadingImage}\n className={classNames(\"text-gray-600 fill-current stroke-current\", {\n \"h-4 w-4\": asSpinner,\n \"h-8 w-8\": !asSpinner,\n })}\n />\n </div>\n );\n}\n\nexport default LoadingIndicator;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\n\nimport { ListTablePropsConfigurationField } from \"./ListTable\";\n\nfunction isEmpty(str: string) {\n return str === null || str === undefined || (isString(str) && str.trim() === \"\");\n}\n\nfunction isString(obj?: string | any): obj is string {\n return Object.prototype.toString.call(obj) === \"[object String]\";\n}\n\nexport interface ListTableCellProps<ItemType, CellType> {\n isHeader?: boolean;\n value: string | CellType;\n configuration: ListTablePropsConfigurationField<ItemType, CellType>;\n emptyValue?: string;\n}\n\nexport function ListTableCell<ItemType, CellType>({\n isHeader = false,\n value,\n configuration,\n emptyValue,\n}: ListTableCellProps<ItemType, CellType>): JSX.Element {\n const { name, className, textProps } = configuration;\n\n const textClassName = classNames(\"text-left\", textProps?.className);\n const cellClassName = classNames(\"cweb-list-table-content-cell\", \"py-0 px-3\", className);\n\n const hasValue = (isString(value) && isEmpty(value) || value !== undefined);\n\n const returnChildren = () => {\n return (\n <>\n {!hasValue && isString(emptyValue) && (\n <Text text={emptyValue} {...textProps} className={textClassName} color={\"gray-500\"} />\n )}\n {hasValue && isString(value) && (\n <Text\n text={value}\n {...textProps}\n className={classNames(textClassName, {\n truncate: !isHeader,\n capitalize: isHeader,\n \"w-40\": !isHeader,\n })}\n />\n )}\n {hasValue && !isString(value) && value}\n </>\n );\n };\n\n return isHeader ? (\n <th className={cellClassName} key={name}>\n {returnChildren()}\n </th>\n ) : (\n <td className={classNames(cellClassName, \"max-w-40\")} key={name}>\n {returnChildren()}\n </td>\n );\n}\n\nexport default ListTableCell;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { ListTableItem, ListTablePropsConfiguration } from \"./ListTable\";\nimport ListTableCell from \"./ListTableCell\";\n\nexport interface ListTableRowProps<ItemType extends ListTableItem, CellType> {\n item: ItemType;\n onClick?: (arg: ItemType) => void;\n configuration: ListTablePropsConfiguration<ItemType, CellType>;\n}\n\nexport function ListTableRow<ItemType extends ListTableItem, CellType>({\n item,\n onClick,\n configuration,\n}: ListTableRowProps<ItemType, CellType>): JSX.Element {\n function handleRowClick(event: React.MouseEvent) {\n event.stopPropagation();\n if (onClick) {\n onClick(item);\n }\n }\n\n return (\n <tr\n className={classNames(\"cweb-list-table-content-section\", \"h-13\", {\n \"hover:bg-slate-100 transition-colors ease-in-out duration-300 cursor-pointer\": onClick,\n \"hover:bg-white cursor-default\": !onClick,\n })}\n onClick={handleRowClick}\n key={item[configuration.idField]}\n >\n {configuration.fields.map((field) => (\n <ListTableCell\n key={field.name}\n value={field.field(item)}\n configuration={{ ...field, className: `${field.className ?? \"\"} border-b border-slate-100` }}\n emptyValue={configuration.emptyValue}\n />\n ))}\n </tr>\n );\n}\n\nexport default ListTableRow;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { ListTableItem, ListTablePropsConfigurationField } from \"./ListTable\";\nimport ListTableCell from \"./ListTableCell\";\n\nexport interface ListTableHeaderProps<ItemType extends ListTableItem, CellType> {\n className?: string;\n configurationFields: ListTablePropsConfigurationField<ItemType, CellType>[];\n}\n\nexport function ListTableHeader<ItemType extends ListTableItem, CellType>({\n className,\n configurationFields,\n}: ListTableHeaderProps<ItemType, CellType>): JSX.Element {\n return (\n <thead className={classNames(\"cweb-list-table-header-section\", className)}>\n <tr className=\"border-b h-13 border-slate-100\">\n {configurationFields.map((field) => (\n <ListTableCell\n isHeader={true}\n key={field.name}\n value={field.title}\n configuration={{\n ...field,\n textProps: { ...field.textProps, type: \"strong\", className: \"py-4 leading-none\" },\n }}\n />\n ))}\n </tr>\n </thead>\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport { TextProps, Text } from \"../Text/Text\";\nimport PaginationMenu from \"../PaginationMenu/PaginationMenu\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport SearchNotFoundImage from \"../../assets/search-not-found.svg\";\nimport { RestPropped } from \"../../types/general.types\";\n\nimport ListTableRow from \"./ListTableRow\";\nimport { ListTableHeader } from \"./ListTableHeader\";\n\nexport type ListTableItem = RestPropped;\n\nexport interface ListTableProps<ItemType extends ListTableItem, CellType> extends RestPropped {\n items?: ItemType[];\n configuration: ListTablePropsConfiguration<ItemType, CellType>;\n pageCount?: number;\n currentPage?: number;\n onRowClick?: (arg: ItemType) => void;\n onPageClick?: (arg: number) => void;\n isLoading?: boolean;\n showHeader?: boolean;\n className?: string;\n localization: {page: string, next :string, previous: string};\n}\n\nexport interface ListTablePropsConfiguration<ItemType extends ListTableItem, CellType> {\n // this value is used if the field function is returning nothing\n emptyValue?: string;\n fields: ListTablePropsConfigurationField<ItemType, CellType>[];\n idField: keyof ItemType;\n emptyListText: string;\n}\n\nexport interface ListTablePropsConfigurationField<ItemType extends ListTableItem, CellType> {\n // this is used as a key and is expected to be unique. It doesn't do anything else other than guiding the developer\n name: string;\n // this sets the column title in the header\n title?: string;\n className?: string;\n // this function can return any item that will be displayed directly in the table cell\n // if this function returns a string, it will be wrapped in Text\n field: (arg: ItemType) => string | CellType;\n // if field results in a string, then these props will be spread into the Text component\n textProps?: Omit<TextProps, \"text\">;\n}\n\nexport function ListTable<ItemType extends ListTableItem, CellType>({\n items = [],\n configuration,\n pageCount = 0,\n currentPage = 1,\n onPageClick,\n onRowClick,\n isLoading = false,\n showHeader = true,\n className,\n localization,\n ...restProps\n}: ListTableProps<ItemType, CellType>): 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 = !isPristine && !isLoading && !(items && items.length > 0);\n\n return (\n <div\n className={classNames(\n \"cweb-list-table\",\n \"relative w-full max-w-full rounded-lg overflow-hidden bg-white\",\n className\n )}\n {...restProps}\n >\n <table className=\"w-full border-collapse cweb-list-table-table\">\n {showHeader && <ListTableHeader configurationFields={configuration.fields} />}\n\n <tbody>\n {!isLoading &&\n items &&\n items.map((item) => (\n <ListTableRow\n key={item[configuration.idField]}\n onClick={onRowClick}\n item={item}\n configuration={configuration}\n />\n ))}\n\n {isLoading && (\n <tr>\n <td colSpan={configuration.fields.length}>\n <LoadingIndicator\n className={classNames(\n \"cweb-list-table-content-loader\",\n \"relative h-16\",\n \"flex justify-center flex-row items-center\",\n \"py-0 px-3\"\n )}\n asModal={false}\n />\n </td>\n </tr>\n )}\n\n {showEmptyView && (\n <tr>\n <td colSpan={configuration.fields.length}>\n <div\n className={classNames(\n \"cweb-list-table-no-items\",\n \"flex justify-center flex-col items-center\",\n \"py-4 px-3\"\n )}\n >\n <img className=\"mb-4 no-item-found-image\" src={SearchNotFoundImage} alt=\"no-image-found\" />\n <Text\n className={classNames(\n \"no-item-found-text\",\n \"w-56 text-base text-gray-600 text-center whitespace-pre-wrap\"\n )}\n text={configuration.emptyListText}\n />\n </div>\n </td>\n </tr>\n )}\n </tbody>\n\n {!showEmptyView && pageCount > 0 && onPageClick && (\n <tfoot>\n <tr>\n <td colSpan={configuration.fields.length}>\n <div\n className={classNames(\n \"cweb-list-table-footer\",\n \"flex justify-center flex-row items-center\",\n \"h-20 py-4 px-4\"\n )}\n >\n <PaginationMenu onPageClick={onPageClick} pageCount={pageCount} currentPage={currentPage} localization={localization}/>\n </div>\n </td>\n </tr>\n </tfoot>\n )}\n </table>\n </div>\n );\n}\n\nexport default ListTable;\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 from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Text.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 className={containerClassName} dangerouslySetInnerHTML={{ __html: text }} {...otherProps} />\n ) : (\n <p className={containerClassName} {...otherProps}>\n {text}\n </p>\n );\n}\n\nexport default LegacyText;\n\nexport { TEXT_TYPE_OPTIONS, TEXT_LEVEL_OPTIONS };\n","export function handleImplicitSelect(implicitSelected, event, list, property) {\n /*For certain values, if one checkbox is selected\n other checkboxes have to be selected/unselected automatically */\n const newList = [...list];\n const selectCheckboxName = event.target.name;\n const isChecked = event.target.checked;\n const implicitSelectedValues = implicitSelected[selectCheckboxName];\n\n if (implicitSelectedValues) {\n implicitSelectedValues.forEach((value) => {\n const selectedIndex = newList.findIndex((checkbox) => value === checkbox.identifier);\n let upadteCheckbox;\n if (property === \"isChecked\") {\n //if normal checkbox is false the switcher must be set to false as well\n upadteCheckbox = { ...newList[selectedIndex], isChecked: isChecked, isOn: false };\n } else {\n upadteCheckbox = { ...newList[selectedIndex], [property]: isChecked };\n }\n newList.splice(selectedIndex, 1, upadteCheckbox);\n });\n }\n return newList;\n}\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport Checkbox from \"../Checkbox/Checkbox\";\nimport { TEXT_TYPE_OPTIONS } from \"../Text/LegacyText\";\n\nimport { handleImplicitSelect } from \"./MultiSelectUtils\";\n\nimport \"./MultiSelect.scss\";\n\nexport function MultiSelect({\n checkboxList,\n radioLabel,\n onChange,\n validationError,\n name,\n implicitSelect,\n radioOnDemand,\n}) {\n const [list, setList] = useState(checkboxList);\n\n useEffect(() => {\n onChange({\n target: {\n name,\n value: list,\n },\n });\n }, [list]);\n\n function handleChange(event, indexSelected) {\n let newList = [...list];\n\n const isChecked = event.target.checked;\n const updateCheckbox = { ...list[indexSelected], isChecked: isChecked, isOn: false };\n newList.splice(indexSelected, 1, updateCheckbox);\n\n if (implicitSelect) {\n newList = handleImplicitSelect(implicitSelect, event, newList, \"isChecked\");\n }\n setList(newList);\n }\n\n function handleRadioChange(event, indexSelected) {\n let newList = [...list];\n\n const isChecked = event.target.checked;\n const updateCheckbox = { ...list[indexSelected], isOn: isChecked };\n newList.splice(indexSelected, 1, updateCheckbox);\n\n if (implicitSelect) {\n newList = handleImplicitSelect(implicitSelect, event, newList, \"isOn\");\n }\n\n setList(newList);\n }\n\n return (\n <ul>\n {list.map((checkbox, index) => {\n const text = [checkbox.name];\n\n if (checkbox.description && checkbox.description !== checkbox.name) {\n text.push(checkbox.description);\n }\n\n return (\n <div className=\"cweb-multiselect\" key={checkbox.identifier}>\n <Checkbox\n text={text.join(\" - \")}\n name={checkbox.identifier}\n isChecked={checkbox.isChecked || false}\n onChange={(event) => handleChange(event, index)}\n className=\"cweb-multiselect-checkbox\"\n textType={TEXT_TYPE_OPTIONS.SMALL_DARK}\n error={validationError}\n key={checkbox.identifier}\n />\n\n {radioOnDemand && (\n <div className=\"cweb-switch-wrapper\">\n <p className=\"cweb-switch-title\">{radioLabel}</p>\n <Checkbox\n type=\"switch\"\n name={`${checkbox.identifier}-toggle`}\n isChecked={checkbox.isOn}\n onChange={(event) => handleRadioChange(event, index)}\n textType={TEXT_TYPE_OPTIONS.SMALL_DARK}\n error={validationError}\n className=\"cweb-multiselect-switch\"\n isDisabled={!checkbox.isChecked}\n key={checkbox.identifier}\n />\n </div>\n )}\n </div>\n );\n })}\n </ul>\n );\n}\n\nMultiSelect.propTypes = {\n name: PropTypes.string,\n checkboxList: PropTypes.arrayOf(\n PropTypes.shape({\n isChecked: PropTypes.bool,\n name: PropTypes.string.isRequired,\n description: PropTypes.string,\n identifier: PropTypes.string.isRequired,\n })\n ),\n onChange: PropTypes.func,\n validationError: PropTypes.string,\n implicitSelect: PropTypes.object,\n radioOnDemand: PropTypes.bool,\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nexport interface NavMenuLayoutProps {\n menu: JSX.Element;\n children: JSX.Element | JSX.Element[]; //rendered as the page\n patientSidebar?: JSX.Element; //if passed will show the patients sidebar\n isNavDisabled?: boolean; //don't show any navigation, for instance when constrained to a single patient\n disableScrolling?: boolean;\n}\n\n/**\n *\n * @param props {NavMenuLayoutProps} - explaining specifically the `disableScrolling` prop:\n *\n * The patient overview page has some challenges we want to overcome in regards to the multiple scrollable\n * content (the charts and the action bar with alerts, etc).\n *\n * In order to have the setup working on the patient overview page and the rest of the application, we have to\n * progamatically disable/enable if that location will have a normal scrolling mechanism with specific margin/padding,\n * or we will need to let the components take care of that.\n */\nexport const NavLayout = (props: NavMenuLayoutProps): JSX.Element => {\n return (\n <div className={\"flex flex-col mb-3 lg:mb-0 lg:flex-row h-full w-full\"}>\n {!props.isNavDisabled && (\n <>\n {props.menu}\n {props.patientSidebar && props.patientSidebar}\n </>\n )}\n <div\n data-test-id=\"page-main-content\"\n className={classNames([\"w-full\", { \"max-h-screen overflow-y-auto px-4 lg:px-8\": !props.disableScrolling }])}\n >\n {props.children}\n </div>\n </div>\n );\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { navigate } from \"@reach/router\";\nimport classNames from \"classnames\";\n\nimport { TextColor, Text } from \"../Text/Text\";\n\nexport interface NavMenuItemProps {\n href?: string;\n linkTo?: string;\n title: string;\n isSelected: boolean;\n img: string;\n imgOnHover: string;\n dataTestId: string;\n gtmEvent?: string;\n isExternal?: boolean;\n type?: \"separator\" | \"spacer\" | \"base\" | void;\n track?: (event: string) => void;\n}\n\nexport const NavMenuItem = (props: NavMenuItemProps): JSX.Element => {\n const [currentImg, setCurrentImg] = useState(props.isSelected ? props.imgOnHover : props.img);\n const [textColor, setTextColor] = useState<TextColor>(props.isSelected ? \"white\" : \"gray-200\");\n\n const classes = classNames(\n [\n \"flex\",\n \"flex-row\",\n \"items-center\",\n \"w-auto\",\n \"rounded\",\n \"px-2\",\n \"py-1\",\n \"my-2\",\n \"mx-2\",\n \"hover:bg-gray-600\",\n \"transition\",\n \"ease-in\",\n \"duration-150\",\n \"lg:last:pb-2\",\n \"focus:outline-primary\",\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 setTextColor(\"white\");\n }\n };\n\n const handleOnMouseOut = () => {\n if (!props.isSelected) {\n setCurrentImg(props.img);\n setTextColor(\"gray-200\");\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 type={\"strong\"} text={props.title} color={textColor} />\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\n props.track && props.gtmEvent && props.track(props.gtmEvent);\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 * as React from \"react\";\n\nimport { NavMenuItem, NavMenuItemProps } from \"./NavMenuItem\";\n\ninterface NavMenuContentProps {\n items: Array<NavMenuItemProps>;\n}\n\nexport const NavMenuContent = (props: NavMenuContentProps): JSX.Element => {\n return (\n <div className={\"flex flex-col bg-nav-menu w-46 pl-1 py-2 lg:relative shadow-lg\"}>\n {props.items.map((item, index) => {\n if (item.type === \"separator\") {\n return <div key={`${item.type}-${index}`} className={\"border-b ml-3 border-slate-600\"} />;\n } else if (item.type === \"spacer\") {\n return <div key={`${item.type}-${index}`} className={\"mt-auto\"} />;\n } else {\n return <NavMenuItem {...item} key={item.title} />;\n }\n })}\n </div>\n );\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\n\nimport Button from \"../Button/Button\";\n\nimport { NavMenuContent } from \"./NavMenuContent\";\n\nexport function NavMenu(props) {\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 items={props.items} />\n </div>\n <div className={\"lg:hidden relative bg-nav-header w-screen flex items-center p-2 shadow-lg\"}>\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 items={props.items} />\n </div>\n )}\n </>\n );\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 } from \"../Text/Text\";\nimport { TextLink } from \"../TextLink/TextLink\";\n\nexport type NotificationBannerColor = \"base\" | \"blue\" | \"red\" | \"green\" | \"amber\";\n\nexport interface NotificationBannerLinkProps {\n text: string;\n enabled: boolean;\n handleClick?: () => void;\n}\n\ninterface NotificationBannerProps {\n text: string;\n color?: NotificationBannerColor;\n icon?: JSX.Element;\n linkProps?: NotificationBannerLinkProps;\n className?: string;\n}\n\nexport const NotificationBanner = (props: NotificationBannerProps): JSX.Element => {\n const classes = classNames(\n \"w-full px-6 py-2 flex flex-row items-center border border-solid rounded\",\n props.className,\n {\n \"bg-slate-100 border-slate-700\": props.color === \"base\",\n \"bg-blue-100 border-blue-700\": props.color === \"blue\",\n \"bg-red-100 border-red-700\": props.color === \"red\",\n \"bg-green-100 border-green-700\": props.color === \"green\",\n \"bg-yellow-100 border-yellow-700\": props.color === \"amber\",\n }\n );\n\n return (\n <div className={classes}>\n {props.icon}\n <Text className=\"first:ml-0 ml-4\" text={props.text} color={props.color} />\n {props.linkProps && (\n <TextLink\n className=\"ml-4\"\n text={props.linkProps.text}\n enabled={props.linkProps.enabled}\n rel=\"noopener\"\n target=\"_blank\"\n onClick={props.linkProps.handleClick}\n />\n )}\n </div>\n );\n};\n\nNotificationBanner.defaultProps = {\n color: \"base\",\n onButtonClick: undefined,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\n//import Breadcrumbs from \"../Breadcrumbs/Breadcrumbs\";\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\n//import { SmartNavMenu } from \"../../components/NavMenu/SmartNavMenu\";\nimport { NavLayout } from \"../NavMenu/NavLayout\";\nimport { Title } from \"../Title/Title\";\n//import { shouldPageShowFeedbackBlock } from \"../../common/utils/locationUtils\";\n//import { FeedbackBlock } from \"../FeedbackBlock/FeedbackBlock\";\n//import { ERROR_PAGE_ID } from \"../../components/ErrorPages/ErrorPage\";\n\nimport \"./Page.scss\";\n\n//TODO this page needs to be refactored\n\n/**\n * Renders page's content, if `isLoading` is false otherwise shows loading indicator.\n *\n * `breadcrumbs`, `title` and `content` can be lazy properties, that is parameterless functions which return actual value.\n * `children` property has priority over `content` property.\n *\n * @typedef {{ name?: string, icon?: string|Object, link?: string}} Breadcrumb\n *\n */\nfunction Page({\n dataTestId = \"page\",\n breadcrumbs,\n title,\n accessories,\n accessoryPosition = \"right\",\n className,\n children,\n content,\n isLoading = false,\n isPolling = false,\n spinnerColor = \"blue\",\n navLayoutProps = {},\n showFeedbackBlock = false,\n feedbackBlock = <></>,\n navMenu,\n id,\n}) {\n const mergedPageClasses = classNames(\"cweb-page\", className);\n const containerClassnames = classNames(\"cweb-page-container\");\n\n if (isLoading) {\n return (\n <div className={mergedPageClasses}>\n <LoadingIndicator asModal={false} />\n </div>\n );\n }\n\n const maybeTitle = title instanceof Function ? title() : title;\n\n const accessoryClasses = classNames(\"cweb-page-header mb-4\", {\n [`accessory-${accessoryPosition}`]: true,\n });\n\n const accessoriesContent = accessories instanceof Function ? accessories() : accessories;\n const childrenOrContentProp = children || (content instanceof Function ? content() : content);\n\n return (\n <div id={id} className={containerClassnames}>\n <NavLayout menu={navMenu} {...navLayoutProps}>\n <div className={mergedPageClasses} data-test-id={dataTestId}>\n <div className={accessoryClasses}>\n <Title data-test-id={`${dataTestId}-title`} text={maybeTitle} />\n {isPolling && <LoadingIndicator asSpinner={true} className={\"page-spinner\"} spinnerColor={spinnerColor} />}\n {accessoriesContent}\n </div>\n {childrenOrContentProp}\n </div>\n\n {!isLoading && feedbackBlock}\n </NavLayout>\n </div>\n );\n}\n\nconst breadcrumbItemShape = PropTypes.shape({\n name: PropTypes.string,\n icon: PropTypes.string,\n link: PropTypes.string,\n});\n\nPage.propTypes = {\n breadcrumbs: PropTypes.oneOfType([PropTypes.arrayOf(breadcrumbItemShape), PropTypes.func]),\n isLoading: PropTypes.bool,\n isFetching: PropTypes.bool,\n spinnerColor: PropTypes.oneOf([\"blue\", \"gray\"]),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n accessories: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n accessoryPosition: PropTypes.oneOf([\"right\", \"bottom\", \"left\"]),\n content: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element, PropTypes.func]),\n id: PropTypes.string,\n navLayoutProps: PropTypes.object,\n};\n\nexport default Page;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport \"./Title.scss\";\n\nconst TITLE_TYPE_OPTIONS = {\n DEFAULT: \"default\",\n BIG: \"big\",\n SMALL: \"small\",\n TINY: \"tiny\",\n BOLD: \"bold\",\n};\n\nLegacyTitle.propTypes = {\n text: PropTypes.string.isRequired,\n type: PropTypes.oneOf([\n TITLE_TYPE_OPTIONS.DEFAULT,\n TITLE_TYPE_OPTIONS.BIG,\n TITLE_TYPE_OPTIONS.SMALL,\n TITLE_TYPE_OPTIONS.TINY,\n TITLE_TYPE_OPTIONS.BOLD,\n ]),\n className: PropTypes.string,\n};\n\nfunction LegacyTitle({ text, type, className = \"\", ...otherProps }) {\n let ContainerElement;\n\n const containerClassName = classNames(\"cweb-title\", className, {\n \"type-default\": !type || type === TITLE_TYPE_OPTIONS.DEFAULT,\n \"type-big\": type === TITLE_TYPE_OPTIONS.BIG,\n \"type-small\": type === TITLE_TYPE_OPTIONS.SMALL,\n \"type-tiny\": type === TITLE_TYPE_OPTIONS.TINY,\n \"type-bold\": type === TITLE_TYPE_OPTIONS.BOLD,\n });\n\n switch (type) {\n case TITLE_TYPE_OPTIONS.DEFAULT:\n case TITLE_TYPE_OPTIONS.BOLD:\n case TITLE_TYPE_OPTIONS.BIG:\n ContainerElement = \"h1\";\n break;\n\n case TITLE_TYPE_OPTIONS.SMALL:\n case TITLE_TYPE_OPTIONS.TINY:\n ContainerElement = \"h3\";\n break;\n\n default:\n ContainerElement = \"h1\";\n break;\n }\n\n return (\n <ContainerElement {...otherProps} className={containerClassName}>\n {text}\n </ContainerElement>\n );\n}\n\nexport default LegacyTitle;\n\nexport { TITLE_TYPE_OPTIONS };\n","import React from \"react\";\n\nimport { Text } from \"../Text/Text\";\n\nexport interface StepProps {\n title: string;\n stepNumber: number;\n active: boolean;\n localization: {step: string};\n}\n\nexport const Step = ({ title, stepNumber, active, localization }: 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 text={`${localization.step} ${stepNumber}`} type={\"strong\"} color={active ? \"blue\" : \"gray-500\"} />\n <Text text={title} type={\"strong\"} />\n </div>\n );\n};\n","import React from \"react\";\n\nimport { Step } from \"./Step\";\n\ninterface StepsProps {\n orderedStepTitles: Array<string>;\n currentStep: number; //start count from 1\n className?: string;\n localization: {step: string};\n}\n\nexport const Steps = ({ orderedStepTitles, currentStep, className, localization }: StepsProps): JSX.Element => {\n const renderedSteps = orderedStepTitles.map((stepTitle, index) => (\n <Step\n key={`step-${index}-${stepTitle.split(\" \")[0]}`}\n title={stepTitle}\n stepNumber={index + 1}\n active={index + 1 <= currentStep}\n localization={localization}\n />\n ));\n\n return <div className={`flex flex-row justify-items-stretch space-x-6 ${className}`}>{renderedSteps}</div>;\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport LoadingIndicator from \"../LoadingIndicator/LoadingIndicator\";\nimport LegacyTitle, { TITLE_TYPE_OPTIONS } from \"../Title/LegacyTitle\";\nimport Button, { BUTTON_ROLES } from \"../Button/Button\";\nimport Line from \"../Line/Line\";\nimport { NavLayout } from \"../NavMenu/NavLayout\";\nimport { Steps } from \"../Steps/Steps\";\n\nimport \"./CRUDPage.scss\";\n\nfunction CRUDPage({\n dataTestId = \"page\",\n title,\n stepTitles,\n currentStep = 1,\n submitButtonProps,\n deleteButtonProps,\n cancelButtonProps,\n icon,\n className,\n children,\n isLoading,\n isSubmitting,\n navMenuComponent,\n localization,\n}) {\n const mergedClasses = classNames(\"cweb-crud-page max-w-3xl\", className);\n const containerClassnames = classNames(\"cweb-crud-page-container mb-20\");\n\n const submitButton = submitButtonProps && (\n <Button\n data-test-id=\"submit-button\"\n key=\"submit-button\"\n /* eslint-disable-next-line */\n onClick={submitButtonProps.handler}\n role={BUTTON_ROLES.PRIMARY}\n text={submitButtonProps.name}\n isPending={isSubmitting}\n />\n );\n const deleteButton = deleteButtonProps && (\n <Button\n data-test-id=\"delete-button\"\n key=\"delete-button\"\n /* eslint-disable-next-line */\n onClick={deleteButtonProps.handler}\n role={BUTTON_ROLES.NEGATIVE}\n text={deleteButtonProps.name}\n />\n );\n const cancelButton = cancelButtonProps && (\n <Button\n data-test-id=\"cancel-button\"\n key=\"cancel-button\"\n /* eslint-disable-next-line */\n onClick={cancelButtonProps.handler}\n role={BUTTON_ROLES.SECONDARY}\n text={cancelButtonProps.name}\n />\n );\n\n const renderHeader = () => {\n return (\n <div className=\"flex flex-row justify-start align-center\">\n <img id=\"title-icon\" src={icon} className=\"mr-4 w-11 h-11\" alt={\"title icon\"} />\n <LegacyTitle id=\"title-text\" text={title} type={TITLE_TYPE_OPTIONS.BOLD} />\n </div>\n );\n };\n\n return (\n <div className={containerClassnames}>\n <NavLayout menu={navMenuComponent}>\n <>\n {isLoading && (\n <div className={classNames(mergedClasses, \"cweb-crud-page-loading-container\")}>\n <div className=\"flex flex-row justify-start align-center\">{renderHeader()}</div>\n <LoadingIndicator className=\"crud-page-loader\" asModal={false} />\n </div>\n )}\n\n {!isLoading && (\n <div className={mergedClasses} data-test-id={dataTestId}>\n <div className=\"flex flex-row justify-start align-center\">{renderHeader()}</div>\n\n <div className={\"cweb-crud-page-form-container\"}>\n {stepTitles && stepTitles.length > 0 && (\n <Steps orderedStepTitles={stepTitles} currentStep={currentStep} className={\"mb-4\"} localization={localization}/>\n )}\n {children}\n <Line\n left={[cancelButton, deleteButton]}\n right={[submitButton]}\n className={\"cweb-crud-page-button-line\"}\n />\n </div>\n </div>\n )}\n </>\n </NavLayout>\n </div>\n );\n}\n\nCRUDPage.propTypes = {\n isLoading: PropTypes.bool,\n title: PropTypes.string.isRequired,\n stepTitles: PropTypes.array,\n currentStep: PropTypes.number,\n submitButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n deleteButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n cancelButtonProps: PropTypes.shape({ name: PropTypes.string, handler: PropTypes.func }),\n className: PropTypes.string,\n icon: PropTypes.string,\n isSubmitting: PropTypes.bool,\n navMenuComponent: PropTypes.elementType,\n localization: PropTypes.object,\n};\n\nexport default CRUDPage;\n","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\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\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 className?: string;\n isLoading?: boolean;\n loadingIndicatorProps?: LoadingIndicatorProps;\n}\n\nexport function Section({\n title,\n buttons,\n children,\n className,\n isLoading = false,\n loadingIndicatorProps,\n ...restProps\n}: React.PropsWithChildren<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 </div>\n );\n}\n\nexport default Section;\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","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 {\n title: string | JSX.Element;\n badgeCount?: number;\n isLoading?: boolean;\n dataTestId?: string;\n}\n\ninterface TabbarItemProps extends TabItemDetails {\n index: number;\n isSelected?: boolean;\n onSelect?: (index: number) => void;\n className?: string;\n}\n\nconst TabbarItem = ({\n title,\n index,\n isSelected,\n onSelect,\n className,\n badgeCount = 0,\n isLoading = false,\n dataTestId = \"\",\n}: TabbarItemProps): JSX.Element => {\n const handleTabClick = () => onSelect && onSelect(index);\n\n const itemClassName = classNames(\n \"flex first:ml-0 ml-2 flex-row cursor-pointer py-2 px-3 rounded-lg focus:outline-primary transition ease-in duration-150\",\n className,\n {\n \"bg-slate-100 text-slate-700 hover:text-slate-700 focus:text-slate-700\": isSelected,\n \"bg-slate-50 text-slate-500 hover:bg-slate-100 hover:text-slate-500 focus:text-slate-500 opacity-75\": !isSelected,\n }\n );\n\n return (\n <div className={itemClassName} onClick={handleTabClick} data-test-id={dataTestId}>\n {typeof title === \"string\" && <Text text={title} type={isSelected ? \"strong\" : \"base\"} inline />}\n {typeof title !== \"string\" && title}\n {badgeCount > 0 && <Badge className=\"ml-1\" badgeCount={badgeCount} />}\n {isLoading && <LoadingIndicator asSpinner={true} spinnerColor={\"gray\"} className={\"w-6\"} />}\n </div>\n );\n};\n\nexport default TabbarItem;\n","import React from \"react\";\n\nimport TabbarItem, { TabItemDetails } from \"./TabbarItem\";\n\ninterface TabbarProps {\n tabs?: TabItemDetails[];\n selectedIndex?: number;\n onSelect?: (index: number) => void;\n className?: string;\n}\n\nexport const Tabbar = ({ tabs, selectedIndex, onSelect, className = \"\" }: TabbarProps): JSX.Element => {\n return (\n <div className={`flex flex-row w-full bg-white rounded-xl ${className}`}>\n {tabs?.map((tabItemProps, index) => {\n const itemProps = {\n index,\n onSelect,\n isSelected: selectedIndex === index,\n ...tabItemProps,\n };\n\n return <TabbarItem key={tabItemProps.dataTestId ?? index} {...itemProps} />;\n })}\n </div>\n );\n};\n\nexport default Tabbar;\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 = ({ items, navigate, location }: { items: Array<TabLinkItem>, navigate: NavigateFn, location: WindowLocation }): JSX.Element => {\n const options = items.map(({ url, text }) => ({ value: url, label: text }));\n\n const handleChange = (selected: any) => {\n navigate(selected?.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 = ({ patientUuid, items, navigate, location }: 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-700 hover:text-slate-700 focus:text-slate-700 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 key={`${patientUuid}_${text}`} to={url.pathname} getProps={linkProps}>\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\";\n\nexport enum TagSize {\n \"small\" = \"small\",\n \"base\" = \"base\",\n}\n\ninterface TagGroupProps {\n tags: TagProps[];\n tagSize?: TagSize;\n className?: string;\n}\n\nconst TagGroup = ({ tags, tagSize = TagSize.base, className }: TagGroupProps): JSX.Element => (\n <div className={classNames(\"flex flex-row flex-wrap\", className)}>\n {tags.map((tag) => (\n <Tag size={tagSize} {...tag} className={classNames(\"mr-2 last:mr-0 mb-2\")} />\n ))}\n </div>\n);\n\nexport default TagGroup;\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { Text } from \"../Text/Text\";\n\nimport { TagSize } from \"./TagGroup\";\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 = ({ text, colorTheme = TagColorTheme.Gray, className, size = TagSize.base }: TagProps): JSX.Element => {\n const containerClassName = classNames(\"inline py-1 px-2 rounded-lg\", className, {\n \"bg-red-100 text-red-700\": colorTheme === TagColorTheme.Red,\n \"bg-orange-100 text-amber-700\": colorTheme === TagColorTheme.Amber,\n \"bg-green-100 text-green-800\": colorTheme === TagColorTheme.Green,\n \"bg-slate-100 text-slate-600\": colorTheme === TagColorTheme.Gray,\n \"bg-blue-50 text-blue-800\": colorTheme === TagColorTheme.Blue,\n });\n\n return (\n <div className={containerClassName}>\n <Text inline color={\"inherit\"} text={text} type={size === TagSize.small ? \"sm\" : \"base\"} />\n </div>\n );\n};\n\nexport default Tag;\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\", \"video\"];\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 const getOptions = () => {\n const options = [\"inline\", \"list\", \"link\", \"textAlign\", \"history\"];\n options.splice(options.length - 1, 0, \"embedded\");\n return options;\n };\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: getOptions(),\n inline: {\n options: [\"bold\", \"italic\", \"underline\"],\n },\n list: {\n options: [\"unordered\", \"ordered\"],\n },\n link: {\n showOpenOptionOnHover: false,\n defaultTargetOption: \"_blank\",\n },\n }}\n editorState={editorState}\n onEditorStateChange={onEditorStateChange}\n wrapperClassName=\"mb-6\"\n toolbarClassName=\"border border-solid border-color-border-primary\"\n editorClassName=\"border border-solid border-color-border-primary h-56\"\n localization={{\n locale: locale,\n }}\n />\n </div>\n );\n};\n\nexport default TextEditorV2;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n\nimport LegacyText from \"../Text/LegacyText\";\nimport \"./TextListItem.scss\";\nimport ListItem from \"../ListItem/ListItem\";\n\nfunction TextListItem(props) {\n const { text, icon, className, iconClass, onClick, ...rest } = props;\n\n const mergedClasses = classNames(\"cweb-text-list-item\", className);\n const iconClasses = classNames(\"cweb-text-list-item-icon\", iconClass);\n\n return (\n <ListItem className={mergedClasses} onClick={onClick} {...rest}>\n {icon && <img className={iconClasses} src={icon} alt=\"\" />}\n <LegacyText text={text} />\n </ListItem>\n );\n}\n\nTextListItem.propTypes = {\n text: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n className: PropTypes.string,\n iconClass: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nexport default TextListItem;\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> 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 className={\"vitals-view-item-title-line flex justify-start flex-row items-start\"}>\n {titlePropsMerged && (\n <Text\n className={classNames(titlePropsMerged.className, \"vitals-view-item-title mb-1 mr-2\")}\n color=\"gray-500\"\n {...titlePropsMerged}\n />\n )}\n {titleAccessory}\n </div>\n {contentPropsMerged &&\n contentPropsMerged?.map((textProps) => <Text {...textProps} key={textProps.key || textProps.text} />)}\n {(!contentPropsMerged || contentPropsMerged?.length === 0) && <Text text={defaultContent} key=\"empty-text\" />}\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"],"names":["Text","props","containerProps","className","classNames","type","inline","truncate","color","containsDangerousHtml","React","dangerouslySetInnerHTML","__html","text","defaultProps","ACKNOWLEDGEMENT_TYPE_OPTIONS","SUCCESS","FAILURE","Acknowledgement","propTypes","message","PropTypes","string","oneOf","hasIcon","bool","isVisible","containerClassName","iconContainerClasses","hidden","successIconClasses","failureIconClasses","successIcon","failureIcon","checkImageValidity","src","Promise","resolve","image","Image","onload","onerror","AVATAR_SIZE_OPTIONS","LARGE","MEDIUM","SMALL","Avatar","size","defaultImage","initials","useState","hasValidImage","setHasValidImage","useEffect","mounted","then","res","renderAvatar","isRequired","Badge","containerClasses","textClasses","badgeCount","BUTTON_ROLES","PRIMARY","SECONDARY","SECONDARY_DARK","TERTIARY","QUATERNARY","NEGATIVE","TEXT","LINK","ICON","iconSrc","close","CloseIcon","hamburger","HamburgerIcon","ChevronRightBlueIcon","ChevronLeftBlueIcon","ChevronRightGreyIcon","ChevronLeftGreyIcon","search","SearchIcon","star","StarIcon","check","CheckIcon","SearchCancelIcon","ButtonIcon","name","Spinner","xmlns","fill","viewBox","cx","cy","r","stroke","strokeWidth","d","ButtonV2","icon","console","error","handleClick","event","preventDefault","onClick","buttonClassName","isDisabled","isPending","disabled","createElement","style","position","left","top","transform","invisible","PrimaryButton","SecondaryButton","TertiaryButton","AddIcon","width","height","x","y","rx","DeleteIcon","EditIcon","LeftArrowIcon","RightArrowIcon","ChartIcon","PrintIcon","Button","role","propsRole","title","link","iconName","hasIconProps","dynamicIcon","otherAttributes","hasAddIcon","includes","hasEditIcon","hasDeleteIcon","hasPrevIcon","hasNextIcon","hasChartIcon","hasPrintIcon","isIconOnly","setRole","isButtonDisabled","isNonPrimaryNonNegative","navigate","buttonRolesStyling","primary","secondary","secondaryDark","tertiary","quaternary","negative","spinnerClassNames","buttonTextClasses","GliderContainer","children","Carousel","slides","id","setIsVisible","Glider","hasDots","hasArrows","skipTrack","scrollLock","rewind","arrows","prev","next","dots","containerElement","map","slide","index","key","Title","match","ContainerElement","CenteredHero","buttons","arrayOf","shape","handleOnClick","func","length","filter","button","Checkbox","explanation","isChecked","value","onChange","checked","setChecked","isFocused","setIsFocused","hasError","handleChange","handleFocus","handleBlur","e","stopPropagation","onBlur","onFocus","MODAL_SIZES","DEFAULT","WIDE","WIDER","EXTRA_SMALL","Modal","isOpen","shouldCloseOnOverlayClick","showTitleBar","onCloseClick","closeAltText","closeButtonId","withPadding","showHeader","overlayClassName","ReactModal","setAppElement","contentLabel","portalClassName","bodyOpenClassName","htmlOpenClassName","onRequestClose","shouldFocusAfterRender","ModalWithButtons","buttonsAlignment","rest","ConfirmationDialog","calculatedClassNames","handleOnCloseClick","isProcessing","onCancel","modalButtons","texts","cancelLabel","cancelButtonRole","confirmLabel","onConfirm","confirmButtonRole","Datepicker","handleCloseButtonClick","datepickerRef","setOpen","getDateFormat","showTimeSelect","formatDateWithTime","render","hasCloseButton","closeButtonText","adjustDateOnChange","showMonthDropdown","showYearDropdown","shouldCloseOnSelect","allowSameDay","minDate","maxDate","selected","otherProps","dateFormat","pickerClassName","getCloseButtonText","element","Component","object","instanceOf","moment","ITEM_QUERY_FIELD_NAMES","ID","HIGHLIGHT_INDEX","keyCodes","ARROW_DOWN","ARROW_UP","ENTER","TAB","SHIFT","ESC","Dropdown","handleClickOutside","rootRef","contains","target","closeDropdown","handleKeyDown","state","items","isDropdownOpen","highlightIndex","keyCode","setSelectedItem","findItem","blur","openDropdown","shiftKey","decreaseHighlightIndexIfPossible","increaseHighlightIndexIfPossible","fieldName","fieldValue","selectedItem","i","item","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","document","addEventListener","componentWillUnmount","removeEventListener","placeholder","onDropdownClick","chevronDouble","PureComponent","currentIndex","reduce","acc","oneOfType","number","imageSrc","NoOpenAlertsImage","SearchNotFoundImage","HappyStarImage","EmptyListMessage","imageName","dataTestId","alt","ErrorBlock","InfoBlock","InfoField","clipboard","ClipboardJS","on","onCopyToClipboard","clearSelection","linkType","href","rel","label","supportsMultiline","INPUT_TYPES","EMAIL","NUMBER","PASSWORD","Input","any","clearable","maxLength","withPrefix","withSuffix","onKeyPress","onKeyDown","setRef","undefined","hasNoExtraContent","backgroundSize","backgroundPosition","backgroundImage","backgroundRepeat","rounded","background","cross","currentTarget","Line","right","array","ListItem","classes","PaginationMenuSmall","handleOnPageClick","page","dataset","onPageClick","parseInt","currentPage","pageCount","generateCustomStyles","isIE11","option","baseStyles","fontWeight","isSelected","fontSize","backgroundColor","padding","opacity","content","visibility","transition","pointerEvents","container","flexGrow","control","defaultBorderColor","validatedBorderColor","defaultOutline","validatedOutline","outline","borderColor","borderWidth","borderStyle","borderRadius","boxShadow","paddingTop","singleValue","indicatorSeparator","display","indicatorsContainer","doubleChevron","svg","marginRight","menu","zIndex","CustomSelect","forwardRef","_ref","styles","window","customStyles","mergedStyles","mergeStyles","ReactSelect","PaginationMenuLarge","setPage","toString","newPage","handleOnPageSelect","newValue","getPageOptions","push","localization","Select","options","menuPlacement","previous","PaginationMenu","small","LoadingIndicator","asModal","asSpinner","spinnerColor","restProps","spinnerToRender","spinner","graySpinner","loadingImage","isEmpty","str","isString","trim","obj","Object","prototype","call","ListTableCell","isHeader","configuration","emptyValue","textProps","textClassName","cellClassName","hasValue","returnChildren","capitalize","ListTableRow","handleRowClick","idField","fields","field","ListTableHeader","configurationFields","ListTable","onRowClick","isLoading","isPristine","setIsPristine","showEmptyView","colSpan","emptyListText","Menu","closeMenu","handleIconClick","openMenu","node","TEXT_TYPE_OPTIONS","STRONG","EMPHASIZED","FINEPRINT","SMALL_DARK","SMALL_FINEPRINT","MICRO","ERROR","TEXT_LEVEL_OPTIONS","INLINE","BLOCK","LegacyText","level","handleImplicitSelect","implicitSelected","list","property","newList","selectCheckboxName","implicitSelectedValues","forEach","findIndex","checkbox","identifier","upadteCheckbox","isOn","splice","MultiSelect","checkboxList","radioLabel","validationError","implicitSelect","radioOnDemand","setList","indexSelected","updateCheckbox","handleRadioChange","description","join","NavLayout","isNavDisabled","patientSidebar","disableScrolling","NavMenuItem","imgOnHover","img","currentImg","setCurrentImg","textColor","setTextColor","handleOnMouseOver","handleOnMouseOut","linkTo","onMouseOver","onMouseOut","handleMenuClick","metaKey","ctrlKey","track","gtmEvent","isExternal","open","location","assign","NavMenuContent","NavMenu","setIsOpen","handleToggleOpen","React.createElement","TextLink","enabled","NotificationBanner","linkProps","onButtonClick","Page","breadcrumbs","accessories","accessoryPosition","isPolling","navLayoutProps","feedbackBlock","navMenu","mergedPageClasses","containerClassnames","maybeTitle","Function","accessoryClasses","accessoriesContent","childrenOrContentProp","breadcrumbItemShape","isFetching","TITLE_TYPE_OPTIONS","BIG","TINY","BOLD","LegacyTitle","Step","stepNumber","active","barColor","step","Steps","orderedStepTitles","currentStep","renderedSteps","stepTitle","split","CRUDPage","stepTitles","submitButtonProps","deleteButtonProps","cancelButtonProps","isSubmitting","navMenuComponent","mergedClasses","submitButton","handler","deleteButton","cancelButton","renderHeader","elementType","useWindowDimensions","innerHeight","setHeight","innerWidth","setWidth","handleResize","debounce","PreviewPhone","phoneHeight","phoneWidth","scale","setScale","showPhone","setShowPhone","windowHeight","windowWidth","containerCallbak","useCallback","containerWidth","clientWidth","containerHeight","clientHeight","heightScale","widthScale","ref","phoneMockup","Radio","containerRef","RadioGroup","radioClassName","selectedOption","isVertical","radioOptions","otherOptions","vertical","info","Section","loadingIndicatorProps","useOutsideClick","callback","current","SettingsMenuButton","configFromProps","onConfigurationChange","shiftMenuTo","buttonTitle","iconComponent","menuTitle","innerConfiguration","setInnerConfiguration","showMenu","setShowMenu","menuRef","useRef","handleShowMenu","handleOnVibilitySwitchChanged","newConfig","find","config","itemId","itemName","innerConfig","SwitcherItem","showBadge","onSelect","handleItemClick","calculatedIcon","Switcher","currentSelection","setCurrentSelection","handleItemSelect","JSON","stringify","TabbarItem","handleTabClick","Tabbar","tabs","tabItemProps","itemProps","TabLinksSelect","url","TabLinks","patientUuid","isCurrent","Link","to","pathname","getProps","TagSize","TagGroup","tags","tagSize","base","tag","Tag","TagColorTheme","colorTheme","Gray","Red","Amber","Green","Blue","RESIZE_TYPES","NONE","BOTH","HORIZONTAL","VERTICAL","Textarea","rows","resizable","onCtrlEnter","TextEditor","defaultValue","onValueChange","formats","toolbarLastGroup","quillRef","quillInstance","tooltipSave","editor","theme","tooltip","save","textbox","indexOf","modules","useMemo","toolbar","TextEditorV2","locale","EditorState","createEmpty","editorState","setEditorState","getOptions","htmlToDraft","contentBlocks","entityMap","createWithContent","ContentState","createFromBlockArray","onEditorStateChange","draftToHtml","convertToRaw","getCurrentContent","Editor","showOpenOptionOnHover","defaultTargetOption","TextListItem","iconClass","iconClasses","ViewItem","titleProps","titleAccessory","contentProps","defaultContent","titlePropsMerged","contentPropsMerged","line"],"mappings":"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"}
|