{"version":3,"file":"static/js/6469.00a8ec0c.chunk.js","mappings":"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","sources":["ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppHelperComponents/AppKeyDownloads.tsx","ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppHelperComponents/QuestionnaireDisclaimer.tsx","ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppHelperComponents/AppGalleryApiList.tsx","ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppHelperComponents/CategoryTags.tsx","ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppHelperComponents/EditTokensModal.tsx","ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppHelperComponents/FacilitatedAppAgreementButton.tsx","ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppHelperComponents/NominateButton.tsx","ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppHelperComponents/NotImplementingNowButtonWrapper.tsx","ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppHelperComponents/ShowroomRequestDownloadButton.tsx","ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppHelperComponents/ShowroomUpdateTokensButton.tsx","ao/components/Showroom/frameworkComponents/GalleryListingComponents/AppHelperComponents/StageBanner.tsx","ao/components/Showroom/frameworkComponents/GeneralComponents/ShowroomErrorAlert.tsx","../node_modules/@chakra-ui/icons/src/Question.tsx","../node_modules/@chakra-ui/switch/src/switch.tsx"],"sourcesContent":["/**\r\n * @copyright Copyright 2024 Epic Systems Corporation\r\n * @file app key download tags\r\n * @module Epic.AppOrchard.AppListing.ApiCollapse\r\n */\r\n\r\nimport { Tag } from \"@chakra-ui/react\";\r\nimport { ClientApplicationStatus, DownloadApprovedStatus } from \"ao/data/types\";\r\nimport React, { FunctionComponent, memo } from \"react\";\r\n\r\ninterface IProps {\r\n\tdownloadApprovedStatus: DownloadApprovedStatus;\r\n\tappStatus?: ClientApplicationStatus;\r\n\tisProdOnly?: boolean;\r\n}\r\n\r\nexport const AppKeyDownloads: FunctionComponent = memo((props) => {\r\n\tconst { downloadApprovedStatus, appStatus, isProdOnly } = props;\r\n\r\n\tlet label = \"\";\r\n\tlet color = \"\";\r\n\r\n\tswitch (downloadApprovedStatus) {\r\n\t\tcase DownloadApprovedStatus.Approved:\r\n\t\t\tlabel = isProdOnly\r\n\t\t\t\t? \"Client ID downloaded for Production\"\r\n\t\t\t\t: \"Client ID downloaded for all environments\";\r\n\t\t\tcolor = \"green\";\r\n\t\t\tbreak;\r\n\t\tcase DownloadApprovedStatus.NonProdOnly:\r\n\t\t\tlabel = \"Client ID downloaded for Non-Production\";\r\n\t\t\tcolor = \"blue\";\r\n\t\t\tbreak;\r\n\t\tcase DownloadApprovedStatus.Unapproved:\r\n\t\t\tlabel = \"Pending vendor approval\";\r\n\t\t\tcolor = \"gray\";\r\n\t\t\tbreak;\r\n\t\tcase DownloadApprovedStatus.Declined:\r\n\t\t\tlabel = \"Download request declined\";\r\n\t\t\tcolor = \"red\";\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tif (appStatus === ClientApplicationStatus.Inactive) {\r\n\t\tlabel = \"Inactive\";\r\n\t\tcolor = \"gray\";\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t{label}\r\n\t\t\r\n\t);\r\n});\r\n","/**\r\n * @copyright Copyright 2023-2025 Epic Systems Corporation\r\n * @file Disclaimer that shows above a questionnaire\r\n * @module Epic.AppOrchard.Showroom.QuestionnaireDisclaimer\r\n */\r\n\r\nimport { Text, TextProps } from \"@chakra-ui/react\";\r\nimport { AOTooltip } from \"ao/components/Core\";\r\nimport { QuestionnaireType } from \"ao/data\";\r\nimport { FunctionComponent, memo } from \"react\";\r\nimport { BsFillQuestionCircleFill } from \"react-icons/bs\";\r\n\r\ninterface IProps {\r\n\ttopLevelTierSingleName: string;\r\n\thideEndorsementWarning: boolean;\r\n\ttype: QuestionnaireType;\r\n}\r\n\r\ntype Props = IProps & TextProps;\r\n\r\nexport const QuestionnaireDisclaimer: FunctionComponent = memo((props) => {\r\n\tconst { topLevelTierSingleName, hideEndorsementWarning, type, ...rest } = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{type === QuestionnaireType.AppReadiness\r\n\t\t\t\t? \"This optional, vendor-completed questionnaire inquires about general safety, privacy, and security practices.\"\r\n\t\t\t\t: `This optional, vendor-completed questionnaire inquires about how this ${topLevelTierSingleName.toLocaleLowerCase()} handles patient data.`}\r\n\t\t\t{!hideEndorsementWarning && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n});\r\n","/**\r\n * @copyright Copyright 2023-2024 Epic Systems Corporation\r\n * @file api collapse with links\r\n * @module Epic.AppOrchard.Showroom.ApiCollapse\r\n */\r\n\r\nimport { ChevronDownIcon, ChevronUpIcon, QuestionIcon } from \"@chakra-ui/icons\";\r\nimport {\r\n\tBox,\r\n\tButton,\r\n\tCenter,\r\n\tCollapse,\r\n\tFlex,\r\n\tSimpleGrid,\r\n\tuseBreakpointValue,\r\n\tuseDisclosure,\r\n} from \"@chakra-ui/react\";\r\nimport { AOLink, AOTooltip } from \"ao/components/Core\";\r\nimport { IGalleryApi } from \"ao/types/showroom\";\r\nimport React, { FunctionComponent, memo, ReactNode } from \"react\";\r\n\r\ninterface IProps {\r\n\tlabel: string;\r\n\tchildren: ReactNode;\r\n\ttextColor?: string;\r\n\tchildCount?: number;\r\n}\r\n\r\nexport const ApiCollapse: FunctionComponent = memo((props) => {\r\n\tconst { label, children, textColor, childCount } = props;\r\n\r\n\tconst { isOpen, onToggle } = useDisclosure({ defaultIsOpen: true });\r\n\r\n\tconst columnCount = useBreakpointValue({ base: 1, sm: 2, md: 3 }) || 3;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{label} {isOpen ? : }\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{children}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n});\r\n\r\ninterface IApiLinkProps {\r\n\tapi: IGalleryApi;\r\n\tbaseUrl: string;\r\n\tcolor?: string;\r\n}\r\n\r\nexport const ApiLink: FunctionComponent = memo((props) => {\r\n\tconst { api, baseUrl, color } = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{api.name}\r\n\t\t\t\r\n\t\t\t{api.warning && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n});\r\n","/**\r\n * @copyright Copyright 2023-2024 Epic Systems Corporation\r\n * @file Category tag display for the showroom listing page\r\n * @module Epic.AppOrchard.Showroom.DownloadInfoSection\r\n */\r\n\r\nimport { StarIcon } from \"@chakra-ui/icons\";\r\nimport { Tag, TagLabel, TagLeftIcon, Wrap } from \"@chakra-ui/react\";\r\nimport { getCategory } from \"ao/components/Showroom/Helper\";\r\nimport { ICategory } from \"ao/types/showroom\";\r\nimport React, { FunctionComponent, memo, useMemo } from \"react\";\r\n\r\ninterface IProps {\r\n\tcategoryIds: number[];\r\n\tcategories: ICategory[];\r\n\tprimaryCategoryId?: number;\r\n\tcolor?: string;\r\n}\r\n\r\nexport const CategoryTags: FunctionComponent = memo((props) => {\r\n\tconst { categoryIds, categories, primaryCategoryId, color } = props;\r\n\r\n\tconst nodes = useMemo(() => {\r\n\t\tlet sortedCategories = categoryIds.map((id) => getCategory(id, categories)).filter((x) => x !== null);\r\n\r\n\t\t//sport alphabetically with primary category in the beginning\r\n\t\tsortedCategories = sortedCategories.sort((a, b) =>\r\n\t\t\ta?.id === primaryCategoryId ? -1 : a!.name.localeCompare(b!.name),\r\n\t\t);\r\n\t\treturn sortedCategories;\r\n\t}, [categories, categoryIds, primaryCategoryId]);\r\n\r\n\tconst tagProps = color\r\n\t\t? { variant: \"unset\", color: color, border: `1px solid ${color}` }\r\n\t\t: { variant: \"subtle\", color: \"showroomPrimary\", border: `1px solid showroomPrimary` };\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{nodes.map((node) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{primaryCategoryId !== undefined && primaryCategoryId === node?.id && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{node!.name}\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n});\r\n","/**\r\n * @copyright Copyright 2023-2024 Epic Systems Corporation\r\n * @file Modal for collecting download fields\r\n * @module Epic.AppOrchard.Core.TokenDownloadModal\r\n */\r\n\r\nimport {\r\n\tButton,\r\n\tDivider,\r\n\tFlex,\r\n\tFormControl,\r\n\tFormLabel,\r\n\tIcon,\r\n\tModal,\r\n\tModalBody,\r\n\tModalCloseButton,\r\n\tModalContent,\r\n\tModalFooter,\r\n\tModalHeader,\r\n\tModalOverlay,\r\n\tNumberInput,\r\n\tNumberInputField,\r\n\tSimpleGrid,\r\n\tSpacer,\r\n\tSwitch,\r\n\tText,\r\n} from \"@chakra-ui/react\";\r\nimport { AOTooltip, ErrorMessage } from \"ao/components/Core\";\r\nimport { ConsumerTypes } from \"ao/data\";\r\nimport { MaxIntValue } from \"ao/data/constants\";\r\nimport { IShowroomAppDownloadModel } from \"ao/types/showroom\";\r\nimport React, { FC, memo, useEffect, useState } from \"react\";\r\nimport { BsFillQuestionCircleFill } from \"react-icons/bs\";\r\n\r\ninterface IProps {\r\n\tisOpen: boolean;\r\n\tonClose: () => void;\r\n\tappDetails: IShowroomAppDownloadModel;\r\n\tsetAppDetails: (x: IShowroomAppDownloadModel) => void;\r\n\tonAccept: () => void;\r\n}\r\n\r\nexport const EditTokensModal: FC = memo((props: IProps) => {\r\n\tconst { isOpen, onClose, appDetails, setAppDetails, onAccept } = props;\r\n\r\n\tconst appModel = appDetails.appModel;\r\n\r\n\tconst [shouldResetFields, setShouldResetFields] = useState(true);\r\n\r\n\t/** resets fields whenever the modal is reopened */\r\n\tuseEffect(() => {\r\n\t\tif (isOpen && shouldResetFields) {\r\n\t\t\tsetAppDetails(resetTokensToDefault(appDetails));\r\n\t\t\tsetShouldResetFields(false);\r\n\t\t} else if (!isOpen) {\r\n\t\t\tsetShouldResetFields(true);\r\n\t\t}\r\n\t}, [appDetails, shouldResetFields, isOpen, setAppDetails]);\r\n\r\n\tconst error =\r\n\t\tappDetails.accessTokenValidity! < 1 ||\r\n\t\t(appModel.refreshTokensRequired && appDetails.refreshTokenValidity! < 1)\r\n\t\t\t? \"Enter a positive number for token validity to proceed.\"\r\n\t\t\t: \"\";\r\n\r\n\tconst frontendNoCredentials =\r\n\t\tappModel.consumerType !== ConsumerTypes.Backend && !appModel.isConfidentialClient;\r\n\tconst credentialsNonRefresh =\r\n\t\t(appModel.consumerType === ConsumerTypes.Backend || appModel.isConfidentialClient) &&\r\n\t\t!appModel.refreshTokensRequired;\r\n\r\n\tlet blurb = \"\";\r\n\r\n\tif (frontendNoCredentials) {\r\n\t\tif (appDetails.isDownloaded) {\r\n\t\t\tblurb =\r\n\t\t\t\t\"This app uses OAuth 2.0. You can override the app's access tokens validity duration by entering a new duration (in minutes). Once you click 'Update' the new token validity duration will be set for this client ID. Once set, newly issued tokens will respect these settings.\";\r\n\t\t} else {\r\n\t\t\tblurb = appModel.isEpicOnFhirApp\r\n\t\t\t\t? \"This app uses OAuth 2.0. You can override the duration that access tokens are valid for this app. Once you click the 'Download' the app's client IDs will be downloaded to your environment.\"\r\n\t\t\t\t: \"This app uses OAuth 2.0. You can override the duration that access tokens are valid for this app. Once you click the 'Request Client ID' button a request will be sent to the vendor to enable the app's client IDs for your system.\";\r\n\t\t}\r\n\t} else if (credentialsNonRefresh) {\r\n\t\tif (appDetails.isDownloaded) {\r\n\t\t\tblurb =\r\n\t\t\t\t\"This app uses OAuth 2.0. You can override the app's access tokens validity duration by entering a new duration (in minutes). Once you click 'Update' the new token validity duration will be set for this client ID. Once set, newly issued tokens will respect these settings.\";\r\n\t\t} else {\r\n\t\t\tblurb =\r\n\t\t\t\t\"This app uses OAuth 2.0. You can override the duration that access tokens are valid for this app. Once you click the 'Request Client ID' button a request will be sent to the vendor to enable the app's client IDs for your system.\";\r\n\t\t}\r\n\t} else if (appModel.refreshTokensRequired) {\r\n\t\tif (appDetails.isDownloaded) {\r\n\t\t\tblurb =\r\n\t\t\t\t\"This app uses OAuth 2.0 with refresh tokens. You can override the app's access tokens validity duration by entering a new duration (in minutes) and override the refresh token validity duration by entering a new duration (in days). Once you click 'Update' the new token validity duration will be set for this client ID. Once set the new tokens issued will respect these settings.\";\r\n\t\t} else {\r\n\t\t\tblurb =\r\n\t\t\t\t\"This app uses OAuth 2.0 with refresh tokens. You can override the duration that refresh and access tokens are valid for this app. Once you click the 'Request Client ID' button a request will be sent to the vendor to enable the app's client IDs for your system.\";\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tToken Validity\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{blurb}\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAccess token validity (minutes){\" \"}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tlet val = Number(e);\r\n\t\t\t\t\t\t\t\t\tif (!isNaN(val) && val <= MaxIntValue) {\r\n\t\t\t\t\t\t\t\t\t\tsetAppDetails({ ...appDetails, accessTokenValidity: val });\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{appModel.refreshTokensRequired && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tRefresh token validity (days){\" \"}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tlet val = Number(e);\r\n\t\t\t\t\t\t\t\t\t\tif (!isNaN(val) && val <= MaxIntValue) {\r\n\t\t\t\t\t\t\t\t\t\t\tsetAppDetails({ ...appDetails, refreshTokenValidity: val });\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{appModel.hasIndefiniteAccess && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tThis app is capable of obtaining indefinite access after initial authorization to data from your system using refresh tokens. You can\r\n\t\t\t\t\t\t\t\t\tenable or disable indefinite access for the app below.\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tsetAppDetails({\r\n\t\t\t\t\t\t\t\t\t\t\t...appDetails,\r\n\t\t\t\t\t\t\t\t\t\t\tdisableIndefiniteAccess: e.target.checked,\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tisFocusable\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\tAllow indefinite access\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{appDetails.isDownloaded ? \"Update\" : \"Request Client ID\"}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\n\r\nexport function setDefaultTokens(appDetails: IShowroomAppDownloadModel): IShowroomAppDownloadModel {\r\n\treturn {\r\n\t\t...appDetails,\r\n\t\tdefaultAccessTokenValidity: appDetails.accessTokenValidity,\r\n\t\tdefaultRefreshTokenValidity: appDetails.refreshTokenValidity,\r\n\t\tdefaultDisableIndefiniteAccess: appDetails.disableIndefiniteAccess ?? false,\r\n\t};\r\n}\r\n\r\nexport function resetTokensToDefault(appDetails: IShowroomAppDownloadModel): IShowroomAppDownloadModel {\r\n\tif (\r\n\t\tappDetails.defaultAccessTokenValidity === undefined &&\r\n\t\tappDetails.defaultRefreshTokenValidity === undefined &&\r\n\t\tappDetails.defaultDisableIndefiniteAccess === undefined\r\n\t) {\r\n\t\tappDetails = setDefaultTokens(appDetails);\r\n\t}\r\n\treturn {\r\n\t\t...appDetails,\r\n\t\taccessTokenValidity: appDetails.defaultAccessTokenValidity ?? appDetails.accessTokenValidity,\r\n\t\trefreshTokenValidity: appDetails.defaultRefreshTokenValidity ?? appDetails.refreshTokenValidity,\r\n\t\tdisableIndefiniteAccess:\r\n\t\t\tappDetails.defaultDisableIndefiniteAccess ?? appDetails.disableIndefiniteAccess,\r\n\t};\r\n}\r\n","/**\r\n * @copyright Copyright 2025 Epic Systems Corporation\r\n * @file Facilitated App Agreement Button Showroom\r\n * @module Epic.AppOrchard.Core.FacilitatedAppAgreementButton\r\n */\r\n\r\nimport { As, Box, Button, Flex, GridItem, Heading, Text } from \"@chakra-ui/react\";\r\nimport { useAsync } from \"@epic/react-async-hook\";\r\nimport { AgreementModal, AOLink, StatusModal } from \"ao/components/Core\";\r\nimport { requestFacilitatedAppAgreement } from \"ao/components/Showroom/data/data\";\r\nimport { useSiteInfoState } from \"ao/state/siteInfo\";\r\nimport { IShowroomAppDownloadModel } from \"ao/types/showroom\";\r\nimport { getBaseUrl, isLocalhost } from \"ao/utils/helpers\";\r\nimport { isInFlight } from \"ao/utils/useAsyncHelpers\";\r\nimport { FC, memo, useCallback, useMemo, useState } from \"react\";\r\n\r\ninterface IProps {\r\n\tappDetails: IShowroomAppDownloadModel;\r\n\theaderColor: string;\r\n\tbuttonBackgroundColor: string;\r\n\tbuttonBorderColor: string;\r\n\treload: () => void;\r\n\tbuttonsAs?: As;\r\n}\r\n\r\nexport const FacilitatedAppAgreementButton: FC = memo((props: IProps) => {\r\n\t//#region state and functions\r\n\r\n\tconst { appDetails, headerColor, buttonBackgroundColor, buttonBorderColor, reload, buttonsAs } = props;\r\n\r\n\tconst [showAppTermsModal, setShowAppTermsModal] = useState(false);\r\n\tconst [showSuccessModal, setShowSuccessModal] = useState(false);\r\n\tconst [saveError, setSaveError] = useState(\"\");\r\n\r\n\tconst { siteInfo } = useSiteInfoState((selectors) => selectors.getState(), []);\r\n\tconst isShowroomPublic = !isLocalhost() && !siteInfo.isAdminSite;\r\n\tconst baseUrl = useMemo(() => (isShowroomPublic ? siteInfo.vendorServicesUrl : getBaseUrl()), [\r\n\t\tisShowroomPublic,\r\n\t\tsiteInfo.vendorServicesUrl,\r\n\t]);\r\n\tconst showroomBaseUrl = useMemo(() => getBaseUrl(), []);\r\n\r\n\tconst appModel = appDetails.appModel;\r\n\tconst vendorName = appModel.orgName ?? \"the vendor\";\r\n\r\n\tconst appAgreementUrl = isShowroomPublic\r\n\t\t? `${showroomBaseUrl}VendorServices/api/Showroom/AppAgreement?termId=${appModel.agreementId}&download=false`\r\n\t\t: `${baseUrl}Developer/AppAgreement?termId=${appModel.agreementId}`;\r\n\r\n\tconst appAgreementDownloadUrl = isShowroomPublic\r\n\t\t? `${showroomBaseUrl}VendorServices/api/Showroom/AppAgreement?termId=${appModel.agreementId}&download=true`\r\n\t\t: `${baseUrl}Developer/AppAgreement?termId=${appModel.agreementId}&download=true`;\r\n\r\n\tconst handleModalClose = useCallback(() => {\r\n\t\tsetShowAppTermsModal(false);\r\n\t}, []);\r\n\r\n\tconst [requestingAgreementState, requestFacilitatedAgreement] = useAsync(requestFacilitatedAppAgreement, {\r\n\t\texecuteImmediately: false,\r\n\t\tdisplayName: \"requestFacilitatedAgreement\",\r\n\t\tonSuccess: () => setShowSuccessModal(true),\r\n\t\tonFailure: (error) => {\r\n\t\t\tconsole.log(\"Error requesting facilitated agreement\", error);\r\n\t\t\tsetSaveError(\"Try again later or contact your Epic representative if this continues to happen.\");\r\n\t\t},\r\n\t});\r\n\r\n\tconst handleRequestFacilitatedAgreement = useCallback(\r\n\t\t() =>\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\trequestFacilitatedAgreement(appDetails.appId!);\r\n\t\t\t}, 100),\r\n\t\t[requestFacilitatedAgreement, appDetails.appId],\r\n\t);\r\n\r\n\tconst handleUseFacilitatedAgreement = useCallback(() => {\r\n\t\tsetShowAppTermsModal(false);\r\n\t\thandleRequestFacilitatedAgreement();\r\n\t}, [handleRequestFacilitatedAgreement]);\r\n\r\n\tconst handleUseFacilitatedAgreementClicked = useCallback(() => {\r\n\t\tsetShowAppTermsModal(true);\r\n\t}, []);\r\n\r\n\tconst isRequesting = isInFlight(requestingAgreementState);\r\n\r\n\t//#endregion\r\n\r\n\tconst UseFacilitatedAgreementButton = buttonsAs || Button;\r\n\r\n\tconst justify = \"center\";\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{!appDetails.facilitatedAppAgreementRequested && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tReady to License?\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{!appDetails.facilitatedAppAgreementRequested ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{appModel.name}'s license is available through {siteInfo.galleryTokens.galleryName}.\r\n\t\t\t\t\t\tReview the terms in the app agreement, and if you choose to license it, download,\r\n\t\t\t\t\t\tsign, and return the agreement to {vendorName}.\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{appModel.name}'s agreement was requested by{\" \"}\r\n\t\t\t\t\t\t{appDetails.facilitatedAppAgreementRequestedByUser} from your organization on{\" \"}\r\n\t\t\t\t\t\t{appDetails.facilitatedAppAgreementRequestedOn}.\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{!appDetails.facilitatedAppAgreementRequested && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tUse Facilitated App Agreement\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\t\tApplication Agreement\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tThis app is eligible for license facilitation, and {vendorName} has opted in, so\r\n\t\t\t\t\t\t\ttheir product license is available through {siteInfo.galleryTokens.galleryName}.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\ttermsUrl={appAgreementUrl}\r\n\t\t\t\tdownloadTermsUrl={appAgreementDownloadUrl}\r\n\t\t\t\ttermsAriaLabel=\"Application Agreement Terms\"\r\n\t\t\t\tacceptCaption=\"Notify Vendor & Download\"\r\n\t\t\t\tacceptButtonDownloadsAgreement\r\n\t\t\t\tonClose={handleModalClose}\r\n\t\t\t\tonAgree={handleUseFacilitatedAgreement}\r\n\t\t\t\tdownloadFileName={`${appModel.name} Application Agreement.pdf`}\r\n\t\t\t\tskipSigning\r\n\t\t\t\tadditionalDetails={\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tNotify {vendorName} that you're interested below, or contact and work with them\r\n\t\t\t\t\t\t\tdirectly to license their product.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tTo learn more about license facilitation, including app license terms criteria and\r\n\t\t\t\t\t\t\tapp eligibility criteria, see{\" \"}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tLicense Facilitation Information\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t\t setSaveError(\"\")}\r\n\t\t\t\tstatus=\"error\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t\t\t{vendorName} was notified that you're interested in using their agreement.\r\n\t\t\t\t\t\tSign the agreement and return it to {vendorName} to execute the agreement.\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tisOpen={showSuccessModal}\r\n\t\t\t\tonClose={() => {\r\n\t\t\t\t\treload();\r\n\t\t\t\t\tsetShowSuccessModal(false);\r\n\t\t\t\t}}\r\n\t\t\t\tstatus=\"success\"\r\n\t\t\t\tcloseButtonText=\"Okay\"\r\n\t\t\t/>\r\n\t\t\r\n\t);\r\n});\r\n","/**\r\n * @copyright Copyright 2023-2023 Epic Systems Corporation\r\n * @file button for nomination apps\r\n * @module Epic.AppOrchard.Showroom.NominateButton\r\n */\r\n\r\nimport { Box, Button, ButtonProps, Link, Text, useDisclosure, useToast } from \"@chakra-ui/react\";\r\nimport { ISuccessHandler, useAsync } from \"@epic/react-async-hook\";\r\nimport { config } from \"ao/appConfig\";\r\nimport { ConfirmationModal } from \"ao/components/Core\";\r\nimport { nominateApp } from \"ao/components/Showroom/data/data\";\r\nimport { IUserSecurity } from \"ao/types\";\r\nimport { IShowroomAppDownloadModel } from \"ao/types/showroom\";\r\nimport React, { FunctionComponent, memo, useCallback } from \"react\";\r\nimport { BiHeart } from \"react-icons/bi\";\r\n\r\ninterface IProps {\r\n\tappDetails: IShowroomAppDownloadModel;\r\n\tuserSecurity: IUserSecurity;\r\n\tsetAppDetails: (x: IShowroomAppDownloadModel) => void;\r\n\tbuttonProps?: ButtonProps;\r\n\ticonColor?: string;\r\n\texcludeIcon?: boolean;\r\n}\r\n\r\nexport const NominateButton: FunctionComponent = memo((props) => {\r\n\tconst { appDetails, userSecurity, setAppDetails, buttonProps, iconColor, excludeIcon } = props;\r\n\r\n\tconst toast = useToast();\r\n\r\n\tconst { isOpen, onOpen, onClose } = useDisclosure();\r\n\r\n\tconst handleSuccess = useCallback>(\r\n\t\t(response) => {\r\n\t\t\tonClose();\r\n\t\t\tsetAppDetails({\r\n\t\t\t\t...appDetails,\r\n\t\t\t\tinterestedOn: response.InterestedOn,\r\n\t\t\t\tinterestedCount: response.InterestedCount,\r\n\t\t\t});\r\n\r\n\t\t\ttoast({\r\n\t\t\t\ttitle: \"Success\",\r\n\t\t\t\tdescription: \"App successfully nominated\",\r\n\t\t\t\tstatus: \"success\",\r\n\t\t\t\tduration: config.ToastDuration,\r\n\t\t\t\tisClosable: true,\r\n\t\t\t});\r\n\t\t},\r\n\t\t[appDetails, onClose, setAppDetails, toast],\r\n\t);\r\n\r\n\tconst handleFailure = useCallback>(() => {\r\n\t\tonClose();\r\n\t\ttoast({\r\n\t\t\ttitle: \"Error\",\r\n\t\t\tdescription: \"something went wrong\",\r\n\t\t\tstatus: \"error\",\r\n\t\t\tduration: config.ToastDuration,\r\n\t\t\tisClosable: true,\r\n\t\t});\r\n\t}, [onClose, toast]);\r\n\r\n\tconst [, handleNominateApp] = useAsync(nominateApp, {\r\n\t\texecuteImmediately: false,\r\n\t\tdisplayName: \"NominateApp\",\r\n\t\tonSuccess: handleSuccess,\r\n\t\tonFailure: handleFailure,\r\n\t});\r\n\r\n\tconst handleNominateClicked = useCallback(() => {\r\n\t\thandleNominateApp(appDetails.appId ?? -1);\r\n\t}, [appDetails.appId, handleNominateApp]);\r\n\r\n\tconst computedButtonProps: ButtonProps = {\r\n\t\tcolorScheme: buttonProps?.colorScheme || \"showroomPrimary\",\r\n\r\n\t\tfontWeight: buttonProps?.fontWeight || \"normal\",\r\n\t\tpx: buttonProps?.px || buttonProps?.paddingX || 2,\r\n\t\tvariant: buttonProps?.variant || \"ghost\",\r\n\t\ticonSpacing: buttonProps?.iconSpacing || \"3px\",\r\n\t\t...buttonProps,\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t : <>}\r\n\t\t\t\ttitle=\"Let the person with Can Purchase Apps permission at your organization know you're interested in this product\"\r\n\t\t\t>\r\n\t\t\t\tNominate\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\t\t{userSecurity.organizationGovernanceMessage}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{userSecurity.organizationGovernanceUrl}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tisOpen={isOpen}\r\n\t\t\t\tonCancel={onClose}\r\n\t\t\t\tonAccept={handleNominateClicked}\r\n\t\t\t\tacceptCaption=\"Nominate\"\r\n\t\t\t\tcancelCaption=\"Cancel\"\r\n\t\t\t\tisCentered\r\n\t\t\t/>\r\n\t\t\r\n\t);\r\n});\r\n","/**\r\n * @copyright Copyright 2023-2023 Epic Systems Corporation\r\n * @file showroom wrapper for NotImplementingNowButton\r\n * @module Epic.AppOrchard.Showroom.NotImplementingNowButtonWrapper\r\n */\r\n\r\nimport { Button, ButtonProps, useToast } from \"@chakra-ui/react\";\r\nimport { ISuccessHandler } from \"@epic/react-async-hook\";\r\nimport { config } from \"ao/appConfig\";\r\nimport { markAsNotImplementingNow } from \"ao/components/Dashboard/data\";\r\nimport { MarkNowImplementingNowButton } from \"ao/components/Dashboard/widgets/nominatedApps/helperComponents/MarkNotImplementingNowButton\";\r\nimport { INominatedApp, IUserSecurity } from \"ao/types\";\r\nimport { IShowroomAppDownloadModel } from \"ao/types/showroom\";\r\nimport React, { FunctionComponent, memo, useCallback } from \"react\";\r\n\r\ninterface IProps {\r\n\tappDetails: IShowroomAppDownloadModel;\r\n\tuserSecurity: IUserSecurity;\r\n\tsetAppDetails: (x: IShowroomAppDownloadModel) => void;\r\n\tbuttonProps?: ButtonProps;\r\n\ticonColor?: string;\r\n}\r\n\r\nexport const NotImplementingNowButtonWrapper: FunctionComponent = memo((props) => {\r\n\tconst { appDetails, userSecurity, setAppDetails, buttonProps, iconColor } = props;\r\n\r\n\tconst notImplementingNowDetails = appDetails.notImplementingNowDetails;\r\n\r\n\t//INominated app Partial object\r\n\tconst nominatedApp: Partial = {\r\n\t\tappId: appDetails.appId,\r\n\t\tnominations: [],\r\n\t\tnotNowDecision: appDetails.notImplementingNowDetails,\r\n\t};\r\n\r\n\tconst toast = useToast();\r\n\r\n\tconst handleSuccess = useCallback>(\r\n\t\t(response) => {\r\n\t\t\tsetAppDetails({\r\n\t\t\t\t...appDetails,\r\n\t\t\t\tnotImplementingNowDetails: response!,\r\n\t\t\t});\r\n\t\t\ttoast({\r\n\t\t\t\ttitle: \"Success\",\r\n\t\t\t\tdescription: \"Saved changes\",\r\n\t\t\t\tstatus: \"success\",\r\n\t\t\t\tduration: config.ToastDuration,\r\n\t\t\t\tisClosable: true,\r\n\t\t\t});\r\n\t\t},\r\n\t\t[appDetails, setAppDetails, toast],\r\n\t);\r\n\r\n\tconst handleFailure = useCallback(() => {\r\n\t\ttoast({\r\n\t\t\ttitle: \"Error\",\r\n\t\t\tdescription: \"Error saving the last change to the server.\",\r\n\t\t\tstatus: \"error\",\r\n\t\t\tduration: config.ToastDuration,\r\n\t\t\tisClosable: true,\r\n\t\t});\r\n\t}, [toast]);\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n});\r\n","/**\r\n * @copyright Copyright 2023-2025 Epic Systems Corporation\r\n * @file Request download button in Showroom\r\n * @module Epic.AppOrchard.Core.ShowroomRequestDownloadButton\r\n */\r\n\r\nimport { As, Box, Button, Flex, GridItem, Heading, Text } from \"@chakra-ui/react\";\r\nimport { ISuccessHandler, useAsync } from \"@epic/react-async-hook\";\r\nimport { config } from \"ao/appConfig\";\r\nimport { AgreementModal, AOLink, StatusAlert, StatusModal } from \"ao/components/Core\";\r\nimport { requestDownload } from \"ao/components/Showroom/data/data\";\r\nimport { ConsumerTypes } from \"ao/data\";\r\nimport { useSiteInfoState } from \"ao/state/siteInfo\";\r\nimport { IUserSecurity } from \"ao/types\";\r\nimport { IShowroomAppDownloadModel } from \"ao/types/showroom\";\r\nimport { getBaseUrl, isLocalhost } from \"ao/utils/helpers\";\r\nimport { isInFlight } from \"ao/utils/useAsyncHelpers\";\r\nimport { ChangeEvent, FC, memo, useCallback, useMemo, useState } from \"react\";\r\n\r\ninterface IProps {\r\n\tappDetails: IShowroomAppDownloadModel;\r\n\theaderColor: string;\r\n\tbuttonBackgroundColor: string;\r\n\tbuttonBorderColor: string;\r\n\tuserSecurity: IUserSecurity;\r\n\treload: () => void;\r\n\tbuttonsAs?: As;\r\n\tisShowroom?: boolean;\r\n}\r\n\r\nexport const ShowroomRequestDownloadButton: FC = memo((props: IProps) => {\r\n\t//#region state and functions\r\n\r\n\tconst {\r\n\t\tappDetails,\r\n\t\theaderColor,\r\n\t\tbuttonBackgroundColor,\r\n\t\tbuttonBorderColor,\r\n\t\tuserSecurity,\r\n\t\treload,\r\n\t\tbuttonsAs,\r\n\t\tisShowroom,\r\n\t} = props;\r\n\r\n\tconst [showAgreementModal, setShowAgreementModal] = useState(false);\r\n\tconst [showAppTermsModal, setShowAppTermsModal] = useState(false);\r\n\tconst [showSuccessModal, setShowSuccessModal] = useState(false);\r\n\tconst [acceptChecked, setAcceptedChecked] = useState(false);\r\n\tconst [saveError, setSaveError] = useState(\"\");\r\n\r\n\tconst { siteInfo } = useSiteInfoState((selectors) => selectors.getState(), []);\r\n\tconst isShowroomPublic = isShowroom && !isLocalhost() && !siteInfo.isAdminSite;\r\n\tconst baseUrl = useMemo(() => (isShowroomPublic ? siteInfo.vendorServicesUrl : getBaseUrl()), [\r\n\t\tisShowroomPublic,\r\n\t\tsiteInfo.vendorServicesUrl,\r\n\t]);\r\n\r\n\tconst showroomBaseUrl = useMemo(() => getBaseUrl(), []);\r\n\r\n\tconst appModel = appDetails.appModel;\r\n\tconst vendorName = appModel.orgName ?? \"the vendor\";\r\n\r\n\tconst hasAppTerms = appModel.agreementId !== null && appModel.agreementId > 0;\r\n\tconst hasParticipantTerms = appDetails.participantTermsId !== null && appDetails.participantTermsId > 0;\r\n\tconst isAppAgreementFacilitated = hasAppTerms && appModel.isAppAgreementFacilitated && isShowroom;\r\n\r\n\tconst appAgreementUrl = isShowroomPublic\r\n\t\t? `${showroomBaseUrl}VendorServices/api/Showroom/AppAgreement?termId=${appModel.agreementId}&download=false`\r\n\t\t: `${baseUrl}Developer/AppAgreement?termId=${appModel.agreementId}`;\r\n\r\n\tconst appAgreementDownloadUrl = isShowroomPublic\r\n\t\t? `${showroomBaseUrl}VendorServices/api/Showroom/AppAgreement?termId=${appModel.agreementId}&download=true`\r\n\t\t: `${baseUrl}Developer/AppAgreement?termId=${appModel.agreementId}&download=true`;\r\n\r\n\tconst participantAgreementUrl = `${baseUrl}Gallery/VendorServicesCustomerAgreement?termsId=${appDetails.participantTermsId}`;\r\n\tconst participantAgreementDownloadUrl = `${baseUrl}Gallery/VendorServicesCustomerAgreement?termsId=${appDetails.participantTermsId}&download=true`;\r\n\r\n\tconst handleModalClose = useCallback(() => {\r\n\t\tsetAcceptedChecked(false);\r\n\t\tsetShowAgreementModal(false);\r\n\t\tsetShowAppTermsModal(false);\r\n\t}, []);\r\n\r\n\tconst handleAcceptChecked = useCallback(\r\n\t\t(ev: ChangeEvent) => setAcceptedChecked(ev.target.checked),\r\n\t\t[],\r\n\t);\r\n\r\n\tconst handleRequestDownloadSuccess = useCallback>((response) => {\r\n\t\tif (response.Success) {\r\n\t\t\tsetShowSuccessModal(true);\r\n\t\t} else {\r\n\t\t\tsetSaveError(response.Message);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst [requestingDownloadState, requestAppDownload] = useAsync(requestDownload, {\r\n\t\texecuteImmediately: false,\r\n\t\tdisplayName: \"requestDownload\",\r\n\t\tonSuccess: handleRequestDownloadSuccess,\r\n\t\tonFailure: () =>\r\n\t\t\tsetSaveError(\r\n\t\t\t\t\"Please try again later or contact your Epic representative if this continues to happen.\",\r\n\t\t\t),\r\n\t});\r\n\r\n\tconst handleRequestDownload = useCallback(() => {\r\n\t\tconst appTerms = isAppAgreementFacilitated ? null : appModel.agreementId;\r\n\t\trequestAppDownload(\r\n\t\t\tappDetails.appId!,\r\n\t\t\tappDetails.participantTermsId,\r\n\t\t\tappTerms,\r\n\t\t\tappDetails.accessTokenValidity,\r\n\t\t\tappDetails.refreshTokenValidity,\r\n\t\t\tappDetails.disableIndefiniteAccess,\r\n\t\t);\r\n\t}, [\r\n\t\tisAppAgreementFacilitated,\r\n\t\tappModel.agreementId,\r\n\t\trequestAppDownload,\r\n\t\tappDetails.appId,\r\n\t\tappDetails.participantTermsId,\r\n\t\tappDetails.accessTokenValidity,\r\n\t\tappDetails.refreshTokenValidity,\r\n\t\tappDetails.disableIndefiniteAccess,\r\n\t]);\r\n\r\n\tconst handleParticipantTermsAccepted = useCallback(() => {\r\n\t\tsetShowAgreementModal(false);\r\n\t\tsetAcceptedChecked(false);\r\n\t\tif (hasAppTerms && !isAppAgreementFacilitated) {\r\n\t\t\tsetShowAppTermsModal(true);\r\n\t\t} else {\r\n\t\t\thandleRequestDownload();\r\n\t\t}\r\n\t}, [handleRequestDownload, hasAppTerms, isAppAgreementFacilitated]);\r\n\r\n\tconst handleAppTermsAccepted = useCallback(() => {\r\n\t\tsetShowAppTermsModal(false);\r\n\t\tsetAcceptedChecked(false);\r\n\t\thandleRequestDownload();\r\n\t}, [handleRequestDownload]);\r\n\r\n\tconst handleRequestClicked = useCallback(() => {\r\n\t\tif (appModel.isEpicOnFhirApp) {\r\n\t\t\thandleRequestDownload();\r\n\t\t} else if (hasParticipantTerms) {\r\n\t\t\tsetShowAgreementModal(true);\r\n\t\t} else {\r\n\t\t\thandleParticipantTermsAccepted();\r\n\t\t}\r\n\t}, [\r\n\t\tappModel.isEpicOnFhirApp,\r\n\t\thandleParticipantTermsAccepted,\r\n\t\thandleRequestDownload,\r\n\t\thasParticipantTerms,\r\n\t]);\r\n\r\n\tconst isRequesting = isInFlight(requestingDownloadState);\r\n\r\n\tconst buttonTitle = `Request product creator approval to download the product's client IDs or other product information available through the ${config.SiteName} website.`;\r\n\r\n\tconst isBackend = appModel.consumerType === ConsumerTypes.Backend;\r\n\tconst isOwnApp = appModel.organizationId === userSecurity.userOrganizationId;\r\n\r\n\tconst canDownloadAndActivate =\r\n\t\t!isOwnApp &&\r\n\t\tappModel.isEpicOnFhirApp &&\r\n\t\t!appModel.isConfidentialClient &&\r\n\t\t!isBackend &&\r\n\t\t!(appModel.isRelatedOrgApp && !appDetails.isDownloaded);\r\n\r\n\tconst isDownloadAvailable =\r\n\t\tuserSecurity.canPurchase &&\r\n\t\tappModel.showDownloadLink &&\r\n\t\t!appModel.isAutoDownloadedClient &&\r\n\t\t!appDetails.isDownloaded &&\r\n\t\t!isOwnApp &&\r\n\t\t!appModel.requiresFutureEpicVersion &&\r\n\t\t!appModel.isRelatedOrgApp;\r\n\tconst showSection =\r\n\t\tappDetails.previousAPILicenseExists ||\r\n\t\tappDetails.isUSCDIDownloadSet ||\r\n\t\tappDetails.appCanBeDownloadedWithoutApiLicense;\r\n\r\n\tconst downloadHeaderText = \"Ready to Set Up This Product in Your System?\";\r\n\tlet infoText = \"\";\r\n\r\n\tconst buttonText = canDownloadAndActivate ? \"Download Client IDs\" : \"Request Client IDs\";\r\n\r\n\tif (isDownloadAvailable) {\r\n\t\tinfoText = canDownloadAndActivate\r\n\t\t\t? \"This will download and activate both the non-production client ID and the production client ID.\"\r\n\t\t\t: `Sending a client ID request will notify ${vendorName} of your interest and indicate that you're ready to begin the app implementation. The same request will be used for both the non-production and production client IDs.`;\r\n\t}\r\n\r\n\tif (isOwnApp) {\r\n\t\tinfoText = appModel.ownDownloadExists\r\n\t\t\t? \"This product was created by your organization so you do not need to request download through this page. This product is active in your environments.\"\r\n\t\t\t: \"This product was created by your organization so you do not need to request download through this page. A user from your organization with the Can Activate Clients permission can activate this product for your environments.\";\r\n\t}\r\n\r\n\tif (appModel.isRelatedOrgApp) {\r\n\t\tinfoText = appDetails.isDownloaded\r\n\t\t\t? `This product was created by an organization related to your organization, ${vendorName}. This product is active in your environments.`\r\n\t\t\t: `This product was created by an organization related to your organization, ${vendorName}, so you do not need to request download through this page. Instead, the product should be activated by a user from your organization with the Can Activate Clients permission via the homegrown apps activation workflow.`;\r\n\t}\r\n\r\n\tif (appModel.requiresFutureEpicVersion) {\r\n\t\tinfoText = \"This product uses features that are not supported on your current Epic version.\";\r\n\t}\r\n\r\n\t//#endregion\r\n\r\n\tconst DownloadButton = buttonsAs || Button;\r\n\r\n\tconst justify = \"center\";\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{showSection && (isDownloadAvailable || infoText) && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{isDownloadAvailable && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{downloadHeaderText}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{infoText && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{infoText}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{isDownloadAvailable && appDetails.hasPotentiallyUnsafeProviderFacingDCR && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tThis provider-facing app uses dynamic client registration (DCR) and\r\n\t\t\t\t\t\t\t\t\t\tyour system is on an Epic version before the Epic Nov 2023 version,\r\n\t\t\t\t\t\t\t\t\t\twhich resolved some issues with provider-facing DCR. This app may run\r\n\t\t\t\t\t\t\t\t\t\tinto issues depending on the specifics of the OAuth 2.0 workflow.\r\n\t\t\t\t\t\t\t\t\t\tContact the vendor and see the{\" \"}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tdocumentation on dynamic client registration\r\n\t\t\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\t\t\tfor more details.\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tstatus=\"warning\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{isDownloadAvailable && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{buttonText}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{hasParticipantTerms && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{hasAppTerms && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t setSaveError(\"\")}\r\n\t\t\t\t\t\tstatus=\"error\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{canDownloadAndActivate\r\n\t\t\t\t\t\t\t\t\t\t? \"Successfully associated this product with your organization, the client IDs will be downloaded into your system within a day.\"\r\n\t\t\t\t\t\t\t\t\t\t: `Your client ID download request was successfully submitted to ${vendorName}. This product's client IDs will be downloaded into your system after they approve your request.`}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tSee{\" \"}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tPicked Apps\r\n\t\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\t\tfor a full list of products your organization has requested or downloaded.\r\n\t\t\t\t\t\t\t\t\tYou may need to log in again to access this page.\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tisOpen={showSuccessModal}\r\n\t\t\t\t\t\tonClose={() => {\r\n\t\t\t\t\t\t\treload();\r\n\t\t\t\t\t\t\tsetShowSuccessModal(false);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tstatus=\"success\"\r\n\t\t\t\t\t\tcloseButtonText=\"Okay\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n});\r\n","/**\r\n * @copyright Copyright 2023-2025 Epic Systems Corporation\r\n * @file button to update the token validity\r\n * @module Epic.AppOrchard.Showroom.ShowroomUpdateTokensButton\r\n */\r\n\r\nimport { Link, useToast } from \"@chakra-ui/react\";\r\nimport { ISuccessHandler, useAsync } from \"@epic/react-async-hook\";\r\nimport { config } from \"ao/appConfig\";\r\nimport { StatusModal } from \"ao/components/Core\";\r\nimport { requestDownload } from \"ao/components/Showroom/data/data\";\r\nimport { DownloadApprovedStatus } from \"ao/data\";\r\nimport { IUserSecurity } from \"ao/types\";\r\nimport { IShowroomAppDownloadModel } from \"ao/types/showroom\";\r\nimport { isInFlight } from \"ao/utils/useAsyncHelpers\";\r\nimport React, { FunctionComponent, memo, useCallback, useRef, useState } from \"react\";\r\nimport { EditTokensModal, setDefaultTokens } from \"./EditTokensModal\";\r\n\r\ninterface IProps {\r\n\tappDetails: IShowroomAppDownloadModel;\r\n\tuserSecurity: IUserSecurity;\r\n\tsetAppDetails: (x: IShowroomAppDownloadModel) => void;\r\n}\r\n\r\nexport const ShowroomUpdateTokensButton: FunctionComponent = memo((props) => {\r\n\tconst { appDetails, setAppDetails } = props;\r\n\r\n\t//#region local state and hooks\r\n\tconst [showTokenModal, setShowTokenModal] = useState(false);\r\n\tconst [showSuccessModal, setShowSuccessModal] = useState(false);\r\n\r\n\tconst appModel = appDetails.appModel;\r\n\tconst updateTokenButtonRef = useRef(null);\r\n\r\n\tconst toast = useToast();\r\n\r\n\t//#endregion\r\n\r\n\t//#region async API handlers\r\n\r\n\tconst handleRequestDownloadSuccess = useCallback>(\r\n\t\t(response, extras) => {\r\n\t\t\tconst [, , , accessTokenValidity, refreshTokenValidity, disableIndefiniteAccess] = extras.params;\r\n\r\n\t\t\tif (response.Success) {\r\n\t\t\t\tsetShowTokenModal(false);\r\n\t\t\t\tsetShowSuccessModal(true);\r\n\r\n\t\t\t\tconst newDetails = {\r\n\t\t\t\t\t...appDetails,\r\n\t\t\t\t\taccessTokenValidity: accessTokenValidity ?? appDetails.accessTokenValidity,\r\n\t\t\t\t\trefreshTokenValidity: refreshTokenValidity ?? appDetails.refreshTokenValidity,\r\n\t\t\t\t\tdisableIndefiniteAccess: disableIndefiniteAccess ?? appDetails.disableIndefiniteAccess,\r\n\t\t\t\t};\r\n\r\n\t\t\t\tsetAppDetails(setDefaultTokens(newDetails));\r\n\t\t\t} else {\r\n\t\t\t\ttoast({\r\n\t\t\t\t\ttitle: \"Error\",\r\n\t\t\t\t\tstatus: \"error\",\r\n\t\t\t\t\tdescription: response.Message,\r\n\t\t\t\t\tduration: config.ToastDuration,\r\n\t\t\t\t\tisClosable: true,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\t[appDetails, setAppDetails, toast],\r\n\t);\r\n\r\n\tconst [requestingDownloadState, requestAppDownload] = useAsync(requestDownload, {\r\n\t\texecuteImmediately: false,\r\n\t\tdisplayName: \"requestDownload\",\r\n\t\tonSuccess: (response, extras) => handleRequestDownloadSuccess(response, extras),\r\n\t\tonFailure: () =>\r\n\t\t\ttoast({\r\n\t\t\t\ttitle: \"Error\",\r\n\t\t\t\tdescription:\r\n\t\t\t\t\t\"Please try again later or contact your Epic representative if this continues to happen.\",\r\n\t\t\t\tstatus: \"error\",\r\n\t\t\t\tduration: config.ToastDuration,\r\n\t\t\t\tisClosable: true,\r\n\t\t\t}),\r\n\t});\r\n\r\n\tconst handleUpdateClicked = useCallback(() => {\r\n\t\tsetShowTokenModal(true);\r\n\t}, []);\r\n\r\n\tconst handleUpdate = useCallback(() => {\r\n\t\trequestAppDownload(\r\n\t\t\tappDetails.appId!,\r\n\t\t\tappDetails.participantTermsId,\r\n\t\t\tappModel.agreementId,\r\n\t\t\tappDetails.accessTokenValidity,\r\n\t\t\tappDetails.refreshTokenValidity,\r\n\t\t\tappDetails.disableIndefiniteAccess,\r\n\t\t);\r\n\t}, [\r\n\t\tappDetails.accessTokenValidity,\r\n\t\tappDetails.appId,\r\n\t\tappModel.agreementId,\r\n\t\tappDetails.disableIndefiniteAccess,\r\n\t\tappDetails.participantTermsId,\r\n\t\tappDetails.refreshTokenValidity,\r\n\t\trequestAppDownload,\r\n\t]);\r\n\r\n\tconst isRequesting = isInFlight(requestingDownloadState);\r\n\r\n\t//#endregion\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\tUpdate Token Validity\r\n\t\t\t\r\n\r\n\t\t\t setShowTokenModal(false)}\r\n\t\t\t\tappDetails={appDetails}\r\n\t\t\t\tsetAppDetails={setAppDetails}\r\n\t\t\t\tonAccept={handleUpdate}\r\n\t\t\t/>\r\n\t\t\t setShowSuccessModal(false)}\r\n\t\t\t\tstatus=\"success\"\r\n\t\t\t\tcloseButtonText=\"Okay\"\r\n\t\t\t\tfocusOnCloseRef={updateTokenButtonRef}\r\n\t\t\t/>\r\n\t\t\r\n\t);\r\n});\r\n","/**\r\n * @copyright Copyright 2024-2025 Epic Systems Corporation\r\n * @file banner of a showroom stage\r\n * @module Epic.AppOrchard.Showroom.StageBanner\r\n */\r\n\r\nimport { Box, BoxProps, Flex, Heading, Image, VStack } from \"@chakra-ui/react\";\r\nimport { showroomText } from \"ao/chakraTheme\";\r\nimport { PopoverWithHover } from \"ao/components/Core/PopoverWithHover\";\r\nimport { IGalleryStageModel } from \"ao/types/showroom\";\r\nimport { getBaseUrl } from \"ao/utils/helpers\";\r\nimport { FunctionComponent, memo, useMemo } from \"react\";\r\n\r\ninterface IProps {\r\n\tstage: IGalleryStageModel;\r\n\tshowComingSoon?: boolean;\r\n}\r\n\r\ntype Props = IProps & BoxProps;\r\n\r\nexport const StageBanner: FunctionComponent = memo((props) => {\r\n\tconst { stage, showComingSoon, ...rest } = props;\r\n\r\n\tconst baseUrl = useMemo(getBaseUrl, []);\r\n\r\n\tconst bannerContents = useMemo(\r\n\t\t() => (\r\n\t\t\t\r\n\t\t\t\t{stage.iconPath && (\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\tmaxH=\"25px\"\r\n\t\t\t\t\t\tmaxW=\"25px\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{stage.groupName.toLocaleUpperCase()}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{showComingSoon && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{stage.comingSoonTitle}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t\t[stage.iconPath, stage.groupName, stage.comingSoonTitle, baseUrl, showComingSoon],\r\n\t);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{stage.description ? (\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpopoverStyles={{ bgColor: \"white\" }}\r\n\t\t\t\t>\r\n\t\t\t\t\t{bannerContents}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>{bannerContents}\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n});\r\n","/**\r\n * @copyright Copyright 2023-2023 Epic Systems Corporation\r\n * @file Error alert page for Showroom\r\n * @module Epic.AppOrchard.Showroom.ShowroomErrorAlert\r\n */\r\n\r\nimport { Alert, AlertDescription, AlertIcon, AlertTitle } from \"@chakra-ui/react\";\r\nimport React, { FunctionComponent, memo } from \"react\";\r\n\r\ninterface IProps {\r\n\terrorMessage: string;\r\n\ttitle?: string;\r\n}\r\n\r\nexport const ShowroomErrorAlert: FunctionComponent = memo((props) => {\r\n\tconst { errorMessage, title } = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{title ?? \"Whoops\"}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{errorMessage}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n});\r\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const QuestionIcon = createIcon({\n d:\n \"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.917,1,1,0,1,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.255a1,1,0,1,1-2,0,4,4,0,1,1,5.6,3.666Z\",\n displayName: \"QuestionIcon\",\n})\n","import { useCheckbox, UseCheckboxProps } from \"@chakra-ui/checkbox\"\nimport {\n chakra,\n forwardRef,\n omitThemingProps,\n SystemStyleObject,\n ThemingProps,\n useMultiStyleConfig,\n HTMLChakraProps,\n SystemProps,\n} from \"@chakra-ui/system\"\nimport { cx, dataAttr, __DEV__ } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\n\nexport interface SwitchProps\n extends Omit,\n Omit, keyof UseCheckboxProps>,\n ThemingProps<\"Switch\"> {\n /**\n * The spacing between the switch and its label text\n * @default 0.5rem\n * @type SystemProps[\"marginLeft\"]\n */\n spacing?: SystemProps[\"marginLeft\"]\n}\n\nexport const Switch = forwardRef((props, ref) => {\n const styles = useMultiStyleConfig(\"Switch\", props)\n\n const { spacing = \"0.5rem\", children, ...ownProps } = omitThemingProps(props)\n\n const {\n state,\n getInputProps,\n getCheckboxProps,\n getRootProps,\n getLabelProps,\n } = useCheckbox(ownProps)\n\n const containerStyles: SystemStyleObject = React.useMemo(\n () => ({\n display: \"inline-block\",\n verticalAlign: \"middle\",\n lineHeight: \"normal\",\n ...styles.container,\n }),\n [styles.container],\n )\n\n const trackStyles: SystemStyleObject = React.useMemo(\n () => ({\n display: \"inline-flex\",\n flexShrink: 0,\n justifyContent: \"flex-start\",\n boxSizing: \"content-box\",\n cursor: \"pointer\",\n ...styles.track,\n }),\n [styles.track],\n )\n\n const labelStyles: SystemStyleObject = React.useMemo(\n () => ({\n userSelect: \"none\",\n marginStart: spacing,\n ...styles.label,\n }),\n [spacing, styles.label],\n )\n\n return (\n \n \n \n \n \n {children && (\n \n {children}\n \n )}\n \n )\n})\n\nif (__DEV__) {\n Switch.displayName = \"Switch\"\n}\n"],"names":["AppKeyDownloads","memo","props","downloadApprovedStatus","appStatus","isProdOnly","label","color","DownloadApprovedStatus","Approved","NonProdOnly","Unapproved","Declined","ClientApplicationStatus","Inactive","_jsx","Tag","size","variant","colorScheme","textAlign","children","QuestionnaireDisclaimer","topLevelTierSingleName","hideEndorsementWarning","type","rest","_jsxs","Text","QuestionnaireType","AppReadiness","concat","toLocaleLowerCase","AOTooltip","pl","helptext","BsFillQuestionCircleFill","ApiCollapse","textColor","childCount","isOpen","onToggle","useDisclosure","defaultIsOpen","columnCount","useBreakpointValue","base","sm","md","Box","Center","width","Button","onClick","padding","fontSize","fontWeight","ChevronUpIcon","ChevronDownIcon","Collapse","in","animateOpacity","style","overflow","SimpleGrid","columns","Math","min","spacing","paddingTop","ApiLink","api","baseUrl","Flex","justify","AOLink","url","id","display","isExternal","title","name","warning","_Fragment","QuestionIcon","boxProps","pb","marginLeft","CategoryTags","categoryIds","categories","primaryCategoryId","nodes","useMemo","sortedCategories","map","getCategory","filter","x","sort","a","b","localeCompare","tagProps","border","Wrap","marginY","lg","pt","node","borderRadius","undefined","TagLeftIcon","boxSize","as","StarIcon","TagLabel","EditTokensModal","_appDetails$disableIn","onClose","appDetails","setAppDetails","onAccept","appModel","shouldResetFields","setShouldResetFields","useState","useEffect","_appDetails$defaultAc","_appDetails$defaultRe","_appDetails$defaultDi","defaultAccessTokenValidity","defaultRefreshTokenValidity","defaultDisableIndefiniteAccess","setDefaultTokens","accessTokenValidity","refreshTokenValidity","disableIndefiniteAccess","resetTokensToDefault","error","refreshTokensRequired","frontendNoCredentials","consumerType","ConsumerTypes","Backend","isConfidentialClient","credentialsNonRefresh","blurb","isDownloaded","isEpicOnFhirApp","Modal","preserveScrollBarGap","isCentered","returnFocusOnClose","ModalOverlay","ModalContent","ModalHeader","ModalCloseButton","ModalBody","FormControl","isInvalid","FormLabel","Icon","mb","NumberInput","max","MaxIntValue","value","onChange","e","val","Number","isNaN","NumberInputField","hasIndefiniteAccess","isRequired","Switch","isChecked","target","checked","isFocusable","Divider","ModalFooter","ErrorMessage","message","isNotForm","my","Spacer","mr","disabled","_appDetails$disableIn2","FacilitatedAppAgreementButton","_appModel$orgName","headerColor","buttonBackgroundColor","buttonBorderColor","reload","buttonsAs","showAppTermsModal","setShowAppTermsModal","showSuccessModal","setShowSuccessModal","saveError","setSaveError","siteInfo","useSiteInfoState","selectors","getState","isShowroomPublic","isLocalhost","isAdminSite","vendorServicesUrl","getBaseUrl","showroomBaseUrl","vendorName","orgName","appAgreementUrl","agreementId","appAgreementDownloadUrl","handleModalClose","useCallback","requestingAgreementState","requestFacilitatedAgreement","useAsync","requestFacilitatedAppAgreement","executeImmediately","displayName","onSuccess","onFailure","console","log","handleRequestFacilitatedAgreement","setTimeout","appId","handleUseFacilitatedAgreement","handleUseFacilitatedAgreementClicked","isRequesting","isInFlight","UseFacilitatedAgreementButton","GridItem","gridArea","facilitatedAppAgreementRequested","Heading","fontFamily","facilitatedAppAgreementRequestedByUser","facilitatedAppAgreementRequestedOn","galleryTokens","galleryName","isLoading","backgroundColor","AgreementModal","header","mt","termsUrl","downloadTermsUrl","termsAriaLabel","acceptCaption","acceptButtonDownloadsAgreement","onAgree","downloadFileName","skipSigning","additionalDetails","StatusModal","status","closeButtonText","NominateButton","userSecurity","buttonProps","iconColor","excludeIcon","toast","useToast","onOpen","handleSuccess","response","interestedOn","InterestedOn","interestedCount","InterestedCount","description","duration","config","ToastDuration","isClosable","handleFailure","handleNominateApp","nominateApp","handleNominateClicked","_appDetails$appId","computedButtonProps","px","paddingX","iconSpacing","organizationGovernanceUrl","organizationGovernanceMessage","leftIcon","BiHeart","ConfirmationModal","Link","href","onCancel","cancelCaption","NotImplementingNowButtonWrapper","notImplementingNowDetails","nominatedApp","nominations","notNowDecision","MarkNowImplementingNowButton","app","orgId","userOrganizationId","successHandler","failureHandler","buttonAs","buttonText","ShowroomRequestDownloadButton","isShowroom","showAgreementModal","setShowAgreementModal","acceptChecked","setAcceptedChecked","hasAppTerms","hasParticipantTerms","participantTermsId","isAppAgreementFacilitated","participantAgreementUrl","participantAgreementDownloadUrl","handleAcceptChecked","ev","handleRequestDownloadSuccess","Success","Message","requestingDownloadState","requestAppDownload","requestDownload","handleRequestDownload","appTerms","handleParticipantTermsAccepted","handleAppTermsAccepted","handleRequestClicked","buttonTitle","SiteName","isBackend","isOwnApp","organizationId","canDownloadAndActivate","isRelatedOrgApp","isDownloadAvailable","canPurchase","showDownloadLink","isAutoDownloadedClient","requiresFutureEpicVersion","showSection","previousAPILicenseExists","isUSCDIDownloadSet","appCanBeDownloadedWithoutApiLicense","infoText","ownDownloadExists","DownloadButton","hasPotentiallyUnsafeProviderFacingDCR","StatusAlert","onAcceptCheckedChanged","ShowroomUpdateTokensButton","showTokenModal","setShowTokenModal","updateTokenButtonRef","useRef","extras","params","newDetails","handleUpdateClicked","handleUpdate","alignContent","loadingText","ref","vendorApproved","isSyncDisabled","focusOnCloseRef","StageBanner","_stage$backgroundColo","_stage$backgroundColo2","stage","showComingSoon","bannerContents","alignItems","tabIndex","cursor","iconPath","Image","src","fallback","maxH","maxW","VStack","ml","showroomText","whiteSpace","groupName","toLocaleUpperCase","margin","borderTop","comingSoonTitle","background","backgroundColor2","py","PopoverWithHover","popoverContent","dangerouslySetInnerHTML","__html","popoverStyles","bgColor","ShowroomErrorAlert","errorMessage","Alert","flexDirection","justifyContent","AlertIcon","AlertTitle","AlertDescription","maxWidth","createIcon","d","forwardRef","styles","useMultiStyleConfig","_omitThemingProps","omitThemingProps","ownProps","_objectWithoutPropertiesLoose","state","getInputProps","getCheckboxProps","getRootProps","getLabelProps","useCheckbox","containerStyles","React","_extends","verticalAlign","lineHeight","container","trackStyles","flexShrink","boxSizing","track","labelStyles","userSelect","marginStart","chakra","className","cx","__css","span","thumb","dataAttr","isHovered","__DEV__"],"sourceRoot":""}