@spteck/license-manager-react-components 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -621,9 +621,10 @@ var LicenseControl = function LicenseControl(_ref) {
621
621
  // utils.ts
622
622
  var generateBodyText = React__default.useCallback(function () {
623
623
  var _content;
624
- var mail = userInformation.mail,
625
- givenName = userInformation.givenName,
626
- surname = userInformation.surname;
624
+ var _ref2 = userInformation || {},
625
+ mail = _ref2.mail,
626
+ givenName = _ref2.givenName,
627
+ surname = _ref2.surname;
627
628
  var body = EMAIL_BODY_TEMPLATE;
628
629
  if (licenseStatus === reactHooksLibrary.EStatus.notFound) {
629
630
  body = EMAIL_BODY_TEMPLATE_REQUEST_LICENSE;
@@ -1 +1 @@
1
- {"version":3,"file":"license-manager-react-components.cjs.development.js","sources":["../src/models/ETabsOptions.ts","../src/constants/constants.ts","../src/components/mailTo/Mailto.tsx","../src/atoms/appGlobalState.ts","../src/components/licenseControl/useLicenseControlStyles.ts","../src/hooks/useUtils.ts","../src/components/licenseControl/LicenseControl.tsx","../src/components/renderHeader/useRenderHeaderStyles.ts","../src/components/renderHeader/RenderHeader.tsx","../src/components/RenderLabel/useRenderLabelStylesStyles.ts","../src/components/RenderLabel/RenderLabel.tsx","../src/components/trialLicense.ts/useTrialLicenseStyles.ts","../src/components/trialLicense.ts/TrialLicense.tsx","../src/components/registerDialog/RegisterDialog.tsx","../src/components/licensePlaceHolder/licensePlaceHolderStyles.tsx","../src/components/licensePlaceHolder/LicensePlaceHolder.tsx","../src/components/informationBar/InformationBar.tsx","../src/components/errorSVG/ErrorSVG.tsx","../src/components/showError/ShowError.tsx","../src/components/licenseProvider/LicenseProvider.tsx"],"sourcesContent":["export enum ETabsOptions {\n Trial = 'trial',\n License = 'license',\n Apps = 'apps',\n} ","export const SUPPORT_EMAIL = \"geral@spteck.com\";\nexport const EMAIL_BODY_TEMPLATE = `Subject: Support Request from {0} {1}\n\nDear Support Team,\n\nI am reaching out to you because I am experiencing issues with my license. Here are my details:\n\n ** Tenant ID **: {2}\n ** Application ID **: {3} - {4}\n ** User First Name **: {5}\n ** User Last Name **: {6}\n ** Email**: {7}\n\n {8}\n\nBest regards,\n{9} {10}`\n\nexport const EMAIL_BODY_TEMPLATE_REQUEST_LICENSE = `Subject: Request for New License {0} {1}\n\nDear Support Team,\n\nI am just contacting you to request a license for the following product. Here are my details:\n\n ** Tenant ID **: {2}\n ** Application ID **: {3} - {4}\n ** User First Name **: {5}\n ** User Last Name **: {6}\n ** Email **: {7}\n\nBest regards,\n{8} {9}`;","import React, { ElementType } from 'react';\n\ninterface MailtoProps<C extends ElementType> {\n to: string; // Required recipient email\n from?: string; // Optional sender email\n subject?: string; // Optional email subject\n body?: string; // Optional email body\n children: React.ReactNode; // Content to be displayed inside the component\n as?: C; // The component type to render\n componentProps?: React.ComponentProps<C>; // Additional props specific to the component type\n \n}\n\nexport const Mailto = <C extends ElementType = \"a\">(props: MailtoProps<C>) => {\n const {\n to,\n from,\n subject,\n body,\n children,\n as: Component,\n componentProps = {} as React.ComponentProps<C>,\n \n } = props;\n // Construct the mailto link\n const mailtoLink = `mailto:${to}?${from ? `from=${encodeURIComponent(from)}&` : \"\"}${\n subject ? `subject=${encodeURIComponent(subject)}&` : \"\"\n }${body ? `body=${encodeURIComponent(body)}` : \"\"}`;\n\n // Ensure the correct element type is rendered\n const RenderedComponent = Component || \"a\";\n\n // Handle the click event\n const handleClick = (e: React.MouseEvent) => {\n e.preventDefault();\n window.open(mailtoLink, \"_blank\");\n };\n\n return (\n <RenderedComponent\n href={mailtoLink}\n aria-label={`Send an email to ${to}`}\n onClick={handleClick}\n {...componentProps}\n >\n {children}\n </RenderedComponent>\n );\n};\n","import { atom } from 'jotai';\n\nimport { webLightTheme } from '@fluentui/react-components';\n\nimport stringsLocEn from '../loc/en.json';\nimport { IStrings } from '../loc/IStrings';\nimport { IGlobalState } from '../models/IGlobalState';\n\nexport const appGlobalStateAtom = atom<IGlobalState>({\n theme: webLightTheme,\n language: \"en\" , \n strings: stringsLocEn as unknown as IStrings,\n refresh: false,\n\n\n} as IGlobalState);\n","import { css } from '@emotion/css';\nimport { tokens } from '@fluentui/react-components';\n\nexport const useLicenseControlStyles = () => {\n return {\n container: css`\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n padding: 7px;\n background-color: ${tokens.colorNeutralBackground1};\n flex: 1;\n `,\n\n title: css`\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: start;\n `,\n footer : css`\n justify-content: end;\n position: absolute;\n bottom: 20px;\n right: 20px;\n `,\n };\n};","import React from 'react';\n\nimport { SHA256 } from 'crypto-js';\n\nexport const useUtils = () => {\n const formatString = React.useCallback((template: string, ...args: any[]): string => {\n return template.replace(/{(\\d+)}/g, (match, number) =>\n typeof args[number] !== \"undefined\" ? args[number] : match\n );\n }, []);\n const generateSalt = React.useCallback((tenantId: string, appId: string): string => {\n // Concatenate the inputs with a delimiter\n const inputData = `${tenantId}:${appId}`;\n // Create a SHA-256 hash\n const hash = SHA256(inputData).toString();\n return hash;\n }, []);\n return { formatString, generateSalt };\n};\n","import {\n Button,\n CardFooter,\n Text,\n} from '@fluentui/react-components';\nimport {\n EMAIL_BODY_TEMPLATE,\n EMAIL_BODY_TEMPLATE_REQUEST_LICENSE,\n SUPPORT_EMAIL,\n} from '../../constants/constants';\n\nimport { EStatus } from '@spteck/react-hooks-library';\nimport { Mailto } from '../mailTo/Mailto';\nimport React from 'react';\nimport { appGlobalStateAtom } from '../../atoms/appGlobalState';\nimport { useAtomValue } from 'jotai';\nimport { useLicenseControlStyles } from './useLicenseControlStyles';\nimport { useUtils } from '../../hooks/useUtils';\n\ninterface ILicenseControlProps {\n licenseStatus: EStatus;\n licenseType: string | undefined;\n expiryDate: number | undefined;\n onDismiss: () => void;\n}\n\nexport const LicenseControl: React.FC<ILicenseControlProps> = ({\n licenseStatus,\n onDismiss,\n licenseType,\n expiryDate,\n}) => {\n const styles = useLicenseControlStyles();\n const formatDate = new Date(expiryDate as number).toLocaleDateString();\n const appglobalState = useAtomValue(appGlobalStateAtom);\n const { tenantId, applicationId, applicationName, userInformation, strings } = appglobalState;\n const { formatString } = useUtils();\n\n const getMessageAndAction = React.useCallback(() => {\n switch (licenseStatus) {\n case EStatus.blocked:\n return {\n message: formatString(strings.messageStatusBlocked, licenseType),\n actionLabel: \"Contact Support\",\n };\n case EStatus.expired:\n return {\n message: formatString(strings.messageStatusExpired, licenseType, formatDate),\n\n actionLabel: \"Renew License\",\n };\n case EStatus.invalid:\n return {\n message: formatString(strings.messageStatusInvalid, licenseType),\n actionLabel: \"Request New License\",\n };\n case EStatus.notFound:\n return {\n message: strings.messageStatusNotFound,\n actionLabel: \"Request License\",\n };\n case EStatus.genericError:\n return {\n message: formatString(strings.messageStatusGenericError, \"\"),\n actionLabel: \"Contact Support\",\n };\n case EStatus.valid:\n return {\n message: formatString(strings.messageStatusValid, licenseType, formatDate),\n actionLabel: undefined,\n };\n default:\n return undefined;\n }\n }, [licenseStatus]);\n\n let content = React.useMemo(() => getMessageAndAction(), [getMessageAndAction]);\n\n // utils.ts\n const generateBodyText = React.useCallback((): string => {\n const { mail, givenName, surname } = userInformation;\n let body = EMAIL_BODY_TEMPLATE;\n\n if (licenseStatus === EStatus.notFound) {\n body = EMAIL_BODY_TEMPLATE_REQUEST_LICENSE;\n content = {\n actionLabel: \"Request License\",\n message: \"\",\n };\n }\n const message = formatString(\n body,\n givenName,\n surname,\n tenantId,\n applicationId,\n applicationName,\n givenName,\n surname,\n mail,\n content?.message,\n givenName,\n surname\n );\n return message;\n }, [tenantId, applicationId, userInformation, content]);\n\n if (!content) return <></>;\n\n return (\n <div className={styles.container}>\n <Text>{content.message}</Text>\n <CardFooter className={styles.footer}>\n {content.actionLabel && (\n <Mailto\n to={SUPPORT_EMAIL}\n from={userInformation?.mail as string}\n subject={`Support request - ${applicationName}`}\n body={generateBodyText()}\n as={Button}\n componentProps={{\n appearance: \"primary\",\n target: \"_blank\",\n }}\n >\n {content.actionLabel}\n </Mailto>\n )}\n <Button appearance=\"secondary\" onClick={onDismiss}>\n Close\n </Button>\n </CardFooter>\n </div>\n );\n};\n","import {\n makeStyles,\n shorthands,\n tokens,\n} from '@fluentui/react-components';\n\nexport const useRenderHeaderStyles = makeStyles({\n closeButton: {\n marginLeft: \"auto\",\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n zIndex: 99999,\n },\n\n divider: {\n width: \"100%\",\n height: \"1px\",\n backgroundColor: tokens.colorNeutralStroke1,\n marginTop: \"6px\",\n },\n\n renderHeaderContent: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n\n width: \"100%\",\n },\n renderHeaderHeader: {\n \n\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n ...shorthands.padding(\"10px\"),\n gap: \"20px\",\n },\n renderHeaderFooter: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\",\n ...shorthands.padding(\"20px\"),\n gap: \"20px\",\n },\n renderHeaderBody: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n ...shorthands.padding(\"20px\"),\n gap: \"20px\",\n },\n renderHeaderTitleContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n renderHeaderTitle: {\n display: \"-webkit-box\",\n \"-webkit-line-clamp\": \"1\",\n \"-webkit-box-orient\": \"vertical\",\n\n textAlign: \"start\",\n textOverflow: \"ellipsis\",\n wordBreak: \"break-word\",\n },\n renderHeaderDescription: {\n display: \"-webkit-box\",\n \"-webkit-line-clamp\": \"4\",\n \"-webkit-box-orient\": \"vertical\",\n\n textAlign: \"start\",\n textOverflow: \"ellipsis\",\n wordBreak: \"break-word\",\n },\n dialogTitleAndDescriptionContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"start\",\n alignItems: \"start\",\n paddingLeft: \"10px\",\n paddingRight: \"20px\",\n },\n});\n","import * as React from 'react';\n\nimport {\n Button,\n Caption1,\n Subtitle1,\n} from '@fluentui/react-components';\nimport { Dismiss24Regular } from '@fluentui/react-icons';\nimport { Icon } from '@iconify/react';\n\nimport { useRenderHeaderStyles } from './useRenderHeaderStyles';\n\nexport interface IRenderHeaderProps {\n onDismiss: (open?: boolean) => void;\n icon?: string | JSX.Element;\n title: string | React.ReactNode;\n description?: string | React.ReactNode;\n}\n\nexport const RenderHeader: React.FunctionComponent<IRenderHeaderProps> = (\n props: React.PropsWithChildren<IRenderHeaderProps>\n) => {\n const { onDismiss, title, description, icon } = props;\n const styles = useRenderHeaderStyles();\n\n return (\n <>\n <div className={styles.renderHeaderContent}>\n <div\n className={styles.renderHeaderHeader}>\n <Button\n appearance=\"subtle\"\n className={styles.closeButton}\n onClick={(ev: React.MouseEvent<HTMLButtonElement>) => {\n ev.stopPropagation();\n ev.preventDefault();\n onDismiss(false)}}\n icon={<Dismiss24Regular />}\n />\n\n <div className={styles.renderHeaderTitleContainer}>\n {React.isValidElement(icon) ? icon : <Icon icon={icon as string} />}\n <div className={styles.dialogTitleAndDescriptionContainer}>\n {React.isValidElement(title) ? (\n title\n ) : (\n <Subtitle1 className={styles.renderHeaderTitle}>{title}</Subtitle1>\n )}\n {React.isValidElement(description) ? (\n description\n ) : (\n <Caption1 className={styles.renderHeaderDescription}>{description}</Caption1>\n )}\n </div>\n </div>\n </div>\n <div className={styles.divider} />\n </div>\n </>\n );\n};\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n makeStyles,\n shorthands,\n} from '@fluentui/react-components';\n\nexport const useRenderLabelStyles = makeStyles({\n\n labelContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n ...shorthands.gap(\"6px\"),\n },\n iconStyles: {\n width: \"26px\",\n },\n item: {\n paddingLeft: \"15px\",\n },\n \n\n});\n","import * as React from 'react';\n\nimport {\n Caption1,\n tokens,\n} from '@fluentui/react-components';\nimport { Icon } from '@iconify/react';\n\nimport { useRenderLabelStyles } from './useRenderLabelStylesStyles';\n\nexport interface IRenderLabelProps {\n label: string; icon?: string | JSX.Element; isRequired?: boolean\n}\n\nexport const RenderLabel: React.FunctionComponent<IRenderLabelProps> = (props: React.PropsWithChildren<IRenderLabelProps>) => {\n const { label, icon, isRequired } = props;\n const styles = useRenderLabelStyles();\n return (\n <>\n <div className={styles.labelContainer}>\n {icon && React.isValidElement(icon) ? (\n icon\n ) : (\n <Icon\n icon={icon as string}\n className={styles.iconStyles}\n width={\"20px\"}\n height={\"20px\"}\n color={tokens.colorBrandForeground1}\n />\n )}\n <Caption1 style={{ color: tokens.colorBrandForeground1 }}>{label}</Caption1>\n <Caption1 style={{ color: tokens.colorPaletteRedForeground1 }}>{isRequired ? \" *\" : \"\"}</Caption1>\n </div>\n </>\n );\n};\n\nexport default RenderLabel;\n","import { css } from '@emotion/css';\nimport { tokens } from '@fluentui/react-components';\n\nexport const useStyles = () => {\n return {\n container: css`\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n padding: 7px;\n background-color: ${tokens.colorNeutralBackground1};\n `,\n\n title: css`\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: start;\n `,\n cardFooter : css`\n align-self: flex-end;\n margin-top: 15px;\n `,\n };\n};\n","import * as React from 'react';\n\nimport {\n Body1,\n Body1Strong,\n Button,\n CardFooter,\n Field,\n Input,\n MessageBar,\n} from '@fluentui/react-components';\n\nimport { RenderLabel } from '../RenderLabel';\nimport { appGlobalStateAtom } from '../../atoms/appGlobalState';\nimport { useAtomValue } from 'jotai';\nimport { useLicenseManager } from '@spteck/react-hooks-library';\nimport { useStyles } from './useTrialLicenseStyles';\nimport { useUtils } from '../../hooks/useUtils';\nimport { z } from 'zod';\n\nexport interface ITrialLicenseProps {\n onTrialLicenseAdded: () => void;\n onDismiss: () => void;\n}\n\nexport const TrialLicense: React.FunctionComponent<ITrialLicenseProps> = (\n props: React.PropsWithChildren<ITrialLicenseProps>\n) => {\n const [errors, setErrors] = React.useState<{ [key: string]: string | null }>({});\n const { onTrialLicenseAdded, onDismiss } = props;\n const appGlobalState = useAtomValue(appGlobalStateAtom);\n const { userInformation, strings, tenantId, context } = appGlobalState;\n const { generateSalt } = useUtils();\n const [error, setError] = React.useState<Error | undefined>(undefined);\n\n const { requestTrialLicense } = useLicenseManager(\n tenantId as string,\n context?.manifest.id as string,\n generateSalt(tenantId as string, context?.manifest.id as string),\n context\n ) as any;\n\n // Define Zod schema for validation\n const trialLicenseSchema = z.object({\n contactFirstName: z.string().min(1, strings.contactFirstNameError),\n contactLastName: z.string().min(1, strings.contactLastNameError),\n contactEmail: z.string().email(strings.contactEmailError),\n contactCompany: z.string().min(1, strings.contactCompanyError),\n });\n\n const [formData, setFormData] = React.useState({\n contactFirstName: userInformation?.givenName as string,\n contactLastName: userInformation?.surname as string,\n contactEmail: userInformation?.mail as string,\n contactCompany: \"\",\n });\n\n const handleInputChange = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const { name, value } = e.target;\n setFormData((prev) => ({ ...prev, [name]: value }));\n }, []);\n\n const styles = useStyles();\n\n const handleSubmit = React.useCallback(\n async (e: React.FormEvent) => {\n e.preventDefault();\n // Validate form data using Zod schema\n const validation = trialLicenseSchema.safeParse(formData);\n if (!validation.success) {\n // Map errors for display\n const fieldErrors: { [key: string]: string } = {};\n validation.error.errors.forEach((error) => {\n const fieldName = error.path[0] as string;\n fieldErrors[fieldName] = error.message;\n });\n setErrors(fieldErrors);\n } else {\n // Clear errors and call the parent function\n setErrors({});\n try {\n await requestTrialLicense(\n tenantId as string,\n context.manifest.id as string,\n formData.contactFirstName,\n formData.contactLastName,\n formData.contactEmail,\n formData.contactCompany\n );\n onTrialLicenseAdded();\n } catch (error) {\n console.error(error);\n setError(error as Error);\n }\n }\n },\n [formData, onTrialLicenseAdded]\n );\n\n return (\n <div className={styles.container}>\n <div>\n <Body1Strong className={styles.title}>{strings.trialLicenseTitle}</Body1Strong>\n <Body1>{strings.trialLicenseText}</Body1>\n </div>\n\n <>\n <Field\n label={<RenderLabel label={strings.firstName} isRequired />}\n validationState={errors.contactFirstName ? \"error\" : \"none\"}\n validationMessage={errors.contactFirstName || undefined}\n >\n <Input\n name=\"contactFirstName\"\n value={formData.contactFirstName}\n onChange={handleInputChange}\n placeholder={strings.firstNamePlaceholder}\n />\n </Field>\n <Field\n label={<RenderLabel label={strings.lastName} isRequired />}\n validationState={errors.contactLastName ? \"error\" : \"none\"}\n validationMessage={errors.contactLastName || undefined}\n >\n <Input\n name=\"contactLastName\"\n value={formData.contactLastName}\n onChange={handleInputChange}\n placeholder={strings.lastNamePlaceholder}\n />\n </Field>\n <Field\n label={<RenderLabel label={strings.email} isRequired />}\n validationState={errors.contactEmail ? \"error\" : \"none\"}\n validationMessage={errors.contactEmail || undefined}\n >\n <Input\n name=\"contactEmail\"\n value={formData.contactEmail}\n onChange={handleInputChange}\n placeholder={strings.emailPlaceholder}\n />\n </Field>\n <Field\n label={<RenderLabel label={strings.company} isRequired />}\n validationState={errors.contactCompany ? \"error\" : \"none\"}\n validationMessage={errors.contactCompany || undefined}\n >\n <Input\n name=\"contactCompany\"\n value={formData.contactCompany}\n onChange={handleInputChange}\n placeholder={strings.companyPlaceholder}\n />\n </Field>\n {error && (\n <MessageBar style={{ marginTop: 10, marginBottom: 10 }} intent=\"error\">\n {\" \"}\n {error.message}\n </MessageBar>\n )}\n <CardFooter className={styles.cardFooter}>\n <Button appearance=\"primary\" onClick={handleSubmit}>\n {strings.register}\n </Button>\n <Button appearance=\"secondary\" onClick={onDismiss}>\n {strings.cancel}\n </Button>\n </CardFooter>\n </>\n </div>\n );\n};\n","import {\n Apps20Regular,\n Clock20Regular,\n Key20Regular,\n} from '@fluentui/react-icons';\nimport {\n Dialog,\n DialogActions,\n DialogSurface,\n DialogTitle,\n FluentProvider,\n SelectTabData,\n SelectTabEvent,\n Tab,\n TabList,\n TabValue,\n} from '@fluentui/react-components';\n\nimport { EStatus } from '@spteck/react-hooks-library';\nimport { ETabsOptions } from '../../models/ETabsOptions';\nimport { LicenseControl } from '../licenseControl/LicenseControl';\nimport React from 'react';\nimport { RenderHeader } from '../renderHeader';\nimport { TrialLicense } from '../trialLicense.ts/TrialLicense';\nimport { appGlobalStateAtom } from '../../atoms/appGlobalState';\nimport { useAtom } from 'jotai';\n\nexport interface IRegisterDialogProps {\n licenseStatus: EStatus;\n licenseType: string | undefined;\n expiryDate: number | undefined;\n open: boolean;\n onDismiss: (update?: boolean) => void;\n}\n\ninterface ITab {\n id: string;\n value: string;\n label: string;\n icon: JSX.Element;\n}\n\nexport const RegisterDialog: React.FC<IRegisterDialogProps> = (props: IRegisterDialogProps) => {\n const { licenseStatus, open, onDismiss, licenseType, expiryDate } = props;\n const [appGlobalState, setAppGlobalState] = useAtom(appGlobalStateAtom);\n const { theme, applicationName, applicationIcon, strings, showApps = false } = appGlobalState;\n\n const [selectedValue, setSelectedValue] = React.useState<TabValue>(\"trial\");\n\n const tabs: ITab[] = React.useMemo(() => {\n const defaultTabs = [\n { id: \"trial\", value: \"trial\", label: strings.trial, icon: <Clock20Regular /> },\n { id: \"license\", value: \"license\", label: strings.license, icon: <Key20Regular /> },\n ];\n if (showApps) {\n tabs.push({ id: \"apps\", value: \"apps\", label: strings.apps, icon: <Apps20Regular /> });\n }\n return defaultTabs;\n }, [strings]);\n\n const onTabSelect = React.useCallback((_event: SelectTabEvent, data: SelectTabData) => {\n setSelectedValue(data.value);\n }, []);\n\n React.useEffect(() => {\n const statusToTab = {\n [EStatus.notFound]: ETabsOptions.Trial,\n [EStatus.expired]: ETabsOptions.License,\n [EStatus.invalid]: ETabsOptions.License,\n [EStatus.blocked]: ETabsOptions.License,\n [EStatus.genericError]: ETabsOptions.License,\n [EStatus.valid]: ETabsOptions.License,\n };\n setSelectedValue(statusToTab[licenseStatus] || ETabsOptions.Trial);\n }, [licenseStatus]);\n\n const renderPanel = React.useMemo((): JSX.Element => {\n switch (selectedValue) {\n case \"trial\":\n return (\n <TrialLicense\n onTrialLicenseAdded={() => {\n setAppGlobalState({ ...appGlobalState, refresh: true });\n onDismiss();\n }}\n onDismiss={onDismiss}\n />\n );\n case \"license\":\n return (\n <LicenseControl\n licenseStatus={licenseStatus}\n onDismiss={onDismiss}\n licenseType={licenseType}\n expiryDate={expiryDate}\n />\n );\n case \"apps\":\n return <div>Apps</div>;\n default:\n return <></>;\n }\n }, [selectedValue, licenseStatus, licenseType, expiryDate]);\n\n const filterTabs = React.useCallback(\n (tab: ITab) => {\n if (\n licenseType?.toLocaleLowerCase() === ETabsOptions.Trial.toLocaleLowerCase() ||\n licenseStatus.toLocaleLowerCase() === EStatus.genericError.toLocaleLowerCase()\n ) {\n return tab.id.toLocaleLowerCase() !== ETabsOptions.Trial.toLocaleLowerCase();\n }\n return true;\n },\n [licenseType, licenseStatus]\n );\n\n return (\n <FluentProvider theme={theme}>\n <Dialog open={open} modalType=\"modal\">\n <DialogSurface style={{ minHeight: 300 }}>\n <DialogTitle>\n <RenderHeader icon={applicationIcon} title={applicationName} onDismiss={onDismiss} />\n </DialogTitle>\n\n <TabList selectedValue={selectedValue} onTabSelect={onTabSelect} selectTabOnFocus={true} size=\"medium\">\n {tabs.filter(filterTabs).map((tab) => (\n <Tab key={tab.id} value={tab.value} icon={tab.icon}>\n {tab.label}\n </Tab>\n ))}\n </TabList>\n {renderPanel}\n <DialogActions></DialogActions>\n </DialogSurface>\n </Dialog>\n </FluentProvider>\n );\n};\n","import { css } from '@emotion/css';\nimport { tokens } from '@fluentui/react-components';\n\nexport const \n useStyles = () => {\n return {\n container: css`\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n margin-bottom: 30px;\n `,\n titleContainer: css`\n display: flex;\n flex-direction: column;\n width: 100%;\n justify-content: center;\n align-items: center;\n gap: 10px;\n `,\n titleAndIcon: css`\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n `,\n informationPanel: css`\n padding: 20px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n background-color: ${tokens.colorNeutralBackground3};\n `,\n infoRow: css`\n display: flex;\n gap: 10px;\n justify-content: center;\n align-items: center;\n width: 100%;\n `,\n title: css`\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n `,\n };\n};","import * as React from 'react';\n\nimport {\n Body1,\n Body1Strong,\n Button,\n DialogActions,\n FluentProvider,\n Subtitle1,\n} from '@fluentui/react-components';\n\nimport { EStatus } from '@spteck/react-hooks-library';\nimport { RegisterDialog } from '../registerDialog/RegisterDialog';\nimport { appGlobalStateAtom } from '../../atoms/appGlobalState';\nimport { useAtomValue } from 'jotai';\nimport { useStyles } from './licensePlaceHolderStyles';\nimport { useUtils } from '../../hooks/useUtils';\n\nexport interface ILicensePlaceHolderProps {\n licenseStatus: EStatus;\n licenseType: string | undefined;\n expiryDate: number | undefined;\n}\n\nexport const LicensePlaceHolder: React.FunctionComponent<ILicensePlaceHolderProps> = (\n props: React.PropsWithChildren<ILicensePlaceHolderProps>\n) => {\n const appglobalState = useAtomValue(appGlobalStateAtom);\n const { theme, applicationName, applicationIcon, placeHolderText, strings } = appglobalState;\n const styles = useStyles();\n const [isOpenLicenseForm, setIsOpenLicenseForm] = React.useState<boolean>(false);\n const { licenseStatus, licenseType, expiryDate } = props;\n const { formatString } = useUtils();\n const onDissmiss = React.useCallback(() => {\n setIsOpenLicenseForm(false);\n }, []);\n\n const formatDate = React.useMemo(() => new Date(expiryDate as number).toLocaleDateString(), [expiryDate]);\n\n const getMessageAndAction = React.useCallback(() => {\n switch (licenseStatus) {\n case EStatus.blocked:\n return {\n message: formatString(strings.messageStatusBlockedShort, licenseType),\n actionLabel: strings.details,\n };\n case EStatus.expired:\n return {\n message: formatString(strings.messageStatusExpiredShort, licenseType, formatDate),\n actionLabel: strings.buyLicense,\n };\n case EStatus.invalid:\n return {\n message: formatString(strings.messageStatusInvalidShort, licenseType ?? \"\"),\n actionLabel: strings.details,\n };\n case EStatus.notFound:\n return {\n message: formatString(strings.messageStatusNotFoundShort),\n actionLabel: strings.requestLicense,\n };\n case EStatus.genericError:\n return {\n message: formatString(strings.messageStatusGenericErrorShort, licenseType ?? \"\"),\n actionLabel: strings.details,\n };\n default:\n return undefined;\n }\n }, [licenseStatus]);\n\n const content = React.useMemo(() => {\n return getMessageAndAction();\n }, [getMessageAndAction]);\n\n return (\n <>\n <FluentProvider theme={theme}>\n <div className={styles.informationPanel}>\n <div className={styles.infoRow}>\n <div className={styles.title}>\n <div className={styles.titleContainer}>\n <div className={styles.titleAndIcon}>\n {applicationIcon} <Subtitle1> {applicationName}</Subtitle1>{\" \"}\n </div>\n <Body1>{placeHolderText}</Body1>\n </div>\n </div>\n </div>\n <div className={styles.infoRow}>\n <Body1Strong> {content?.message}</Body1Strong>\n </div>\n <div className={styles.infoRow}>\n <DialogActions style={{ marginTop: 15 }}>\n <Button\n appearance=\"primary\"\n onClick={() => {\n setIsOpenLicenseForm(true);\n }}\n >\n {content?.actionLabel}\n </Button>\n </DialogActions>\n {isOpenLicenseForm && (\n <RegisterDialog\n licenseStatus={licenseStatus}\n licenseType={licenseType}\n expiryDate={expiryDate}\n open={isOpenLicenseForm}\n onDismiss={onDissmiss}\n />\n )}\n </div>\n </div>\n </FluentProvider>\n </>\n );\n};\n","import * as React from 'react';\n\nimport {\n Button,\n MessageBar,\n MessageBarActions,\n MessageBarBody,\n MessageBarTitle,\n} from '@fluentui/react-components';\n\nexport interface IInformationBarProps {\n message: JSX.Element | string;\n onAction?: () => void;\n}\n\nexport const InformationBar: React.FunctionComponent<IInformationBarProps> = (\n props: React.PropsWithChildren<IInformationBarProps>\n) => {\n const { message, onAction } = props;\n return (\n <>\n <MessageBar intent={\"warning\"}>\n <MessageBarBody>\n <MessageBarTitle>License Manager</MessageBarTitle>\n {message}\n </MessageBarBody>\n <MessageBarActions>\n <Button onClick={onAction}>Details</Button>\n </MessageBarActions>\n </MessageBar>\n </>\n );\n};\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from \"react\";\nimport type { SVGProps } from \"react\";\n\nexport function ErrorIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" {...props}>\n <g fill=\"none\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path d=\"M2 6.95c0-.883 0-1.324.07-1.692A4 4 0 0 1 5.257 2.07C5.626 2 6.068 2 6.95 2c.386 0 .58 0 .766.017a4 4 0 0 1 2.18.904c.144.119.28.255.554.529L11 4c.816.816 1.224 1.224 1.712 1.495a4 4 0 0 0 .848.352C14.098 6 14.675 6 15.828 6h.374c2.632 0 3.949 0 4.804.77q.119.105.224.224c.77.855.77 2.172.77 4.804V14c0 3.771 0 5.657-1.172 6.828S17.771 22 14 22h-4c-3.771 0-5.657 0-6.828-1.172S2 17.771 2 14z\" />\n <path strokeLinecap=\"round\" d=\"m10.5 15l3-3m0 3l-3-3\" />\n </g>\n </svg>\n );\n}\n","import React from 'react';\n\nimport { css } from '@emotion/css';\nimport {\n Body1Strong,\n shorthands,\n Subtitle1,\n tokens,\n} from '@fluentui/react-components';\n\nimport { ErrorIcon } from '../errorSVG/ErrorSVG';\n\ninterface IErrorDisplayProps {\n message: string;\n}\n\nconst styles = {\n container: css({\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"100%\",\n textAlign: \"center\",\n backgroundColor: tokens.colorNeutralBackground2,\n borderRadius: tokens.borderRadiusMedium,\n ...shorthands.padding(tokens.spacingVerticalXL, tokens.spacingHorizontalXL),\n color: tokens.colorNeutralForeground1,\n }),\n icon: css({\n marginTop: tokens.spacingHorizontalXL,\n fontSize: \"50px\",\n marginBottom: tokens.spacingHorizontalXL,\n color: tokens.colorBrandBackground,\n }),\n message: css({\n marginBottom: tokens.spacingHorizontalXL,\n }),\n};\n\nexport const ShowError: React.FC<IErrorDisplayProps> = ({ message }) => {\n return (\n <div className={styles.container}>\n <Subtitle1>News Feed - Application</Subtitle1>\n <ErrorIcon className={styles.icon} />\n <Body1Strong className={styles.message}>{message}</Body1Strong>\n </div>\n );\n};\n\nexport default ShowError;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from 'react';\n\nimport {\n EStatus,\n ICheckAndUpdateLicesingResponse,\n useLicenseManager,\n useUser,\n} from '@spteck/react-hooks-library';\nimport {\n FluentProvider,\n IdPrefixProvider,\n teamsLightTheme,\n} from '@fluentui/react-components';\n\nimport { ErrorBoundary } from 'react-error-boundary';\nimport { IGlobalState } from '../../models/IGlobalState';\nimport { ILicenseProviderProps } from './ILicenseProviderProps';\nimport { InformationBar } from '../informationBar/InformationBar';\nimport { LicensePlaceHolder } from '../licensePlaceHolder/LicensePlaceHolder';\nimport { RegisterDialog } from '../registerDialog/RegisterDialog';\nimport ShowError from '../showError/ShowError';\nimport { User } from '@microsoft/microsoft-graph-types';\nimport { appGlobalStateAtom } from '../../atoms/appGlobalState';\nimport { css } from '@emotion/css';\nimport { differenceInDays } from 'date-fns';\nimport { useAtom } from 'jotai';\nimport { useUtils } from '../../hooks/useUtils';\n\nconst NUMBER_DAYS_WARNING = 30;\n\nexport const LicenseProvider: React.FunctionComponent<ILicenseProviderProps> = (\n props: React.PropsWithChildren<ILicenseProviderProps>\n) => {\n const { theme = teamsLightTheme, context, children, tenantId, language = \"en\", applicationId } = props;\n\n /* const instanceId = context?.instanceId as string;\n const tenantId = context?.pageContext.legacyPageContext.aadTenantId; */\n const [error, setError] = React.useState<Error | undefined>(undefined);\n const [isLoading, setIsLoading] = React.useState<boolean>(true);\n const [licensingResponse, setLicenseResponse] = React.useState<ICheckAndUpdateLicesingResponse>();\n const [appglobalState, setAppGlobalState] = useAtom<IGlobalState>(appGlobalStateAtom);\n const { userInformation } = useUser(context);\n const [isOpenRegisterDialog, setIsOpenRegisterDialog] = React.useState<boolean>(false);\n const { formatString } = useUtils();\n const { strings, refresh } = appglobalState;\n const { generateSalt } = useUtils();\n const { status, licenseType, expiryDate } = (licensingResponse as ICheckAndUpdateLicesingResponse) || {};\n\n const { checkAndUpdateLicensing } = useLicenseManager(\n tenantId as string,\n applicationId as string, \n generateSalt(tenantId as string, applicationId as string),\n context\n ) as any;\n\n const styles = React.useMemo(() => {\n return {\n root: css({\n backgroundColor: \"transparent\",\n padding: 20,\n }),\n };\n }, []);\n\n React.useEffect(() => {\n (async () => {\n try {\n const stringsLoc = await import(`./loc/${language}.json`);\n setAppGlobalState((prev) => ({\n ...prev,\n ...props,\n strings: stringsLoc,\n userInformation: userInformation as User,\n }));\n const result = await checkAndUpdateLicensing();\n setLicenseResponse(result);\n setIsLoading(false);\n } catch (error) {\n if (error instanceof Error) setError(error);\n setIsLoading(false);\n }\n })();\n }, [userInformation]);\n\n const fallbackRender = React.useCallback(({ error }: { error: Error }) => {\n console.error(`[LicenseManager:Error: ${error.message}`);\n return <ShowError message={error.message} />;\n }, []);\n\n const onMessageBarAction = React.useCallback(() => {\n setIsOpenRegisterDialog(true);\n }, []);\n\n // ipdate liecense status on refresh\n React.useEffect(() => {\n (async () => {\n try {\n setAppGlobalState((prev) => ({\n ...prev,\n refresh: false,\n }));\n const result = await checkAndUpdateLicensing();\n setLicenseResponse(result);\n setIsLoading(false);\n } catch (error) {\n if (error instanceof Error) setError(error);\n setIsLoading(false);\n }\n })();\n }, [refresh]);\n\n const onDissmiss = React.useCallback(() => {\n setIsOpenRegisterDialog(false);\n }, []);\n\n // renderMessagebar if the license is about to expire\n const renderMessagebar = React.useCallback(\n (licenseType: string, expiryDate: number, warningDays: number): JSX.Element => {\n const expirationDate = new Date(expiryDate);\n const today = new Date();\n const formatedExpiredDate = expirationDate.toLocaleDateString();\n const dayDiff = differenceInDays(expirationDate, today);\n let message = \"\";\n if (dayDiff <= warningDays) {\n message = formatString(strings.messageLicenseWarning, licenseType, dayDiff, formatedExpiredDate);\n return <InformationBar message={message} onAction={onMessageBarAction} />;\n }\n return <></>;\n },\n [expiryDate]\n );\n\n // render the control based on the license status\n const renderContent = React.useCallback((): JSX.Element => {\n switch (status) {\n case EStatus.valid:\n return (\n <>\n {renderMessagebar(licenseType as string, expiryDate as number, NUMBER_DAYS_WARNING)}\n {children}\n </>\n );\n case EStatus.genericError:\n case EStatus.notFound:\n case EStatus.blocked:\n case EStatus.expired:\n case EStatus.invalid:\n return <LicensePlaceHolder licenseStatus={status} licenseType={licenseType} expiryDate={expiryDate} />;\n default:\n break;\n }\n return <></>;\n }, [licensingResponse, refresh]);\n\n if (isLoading) return null;\n if (error) return <ShowError message={error.message} />;\n\n return (\n <>\n <IdPrefixProvider value=\"news-feed-\">\n <FluentProvider theme={theme} className={styles.root}>\n <ErrorBoundary fallbackRender={fallbackRender}>\n {renderContent()}\n {isOpenRegisterDialog && (\n <RegisterDialog\n licenseStatus={status}\n licenseType={licenseType}\n expiryDate={expiryDate}\n open={isOpenRegisterDialog}\n onDismiss={onDissmiss}\n />\n )}\n </ErrorBoundary>\n </FluentProvider>\n </IdPrefixProvider>\n </>\n );\n};\n"],"names":["ETabsOptions","SUPPORT_EMAIL","EMAIL_BODY_TEMPLATE","EMAIL_BODY_TEMPLATE_REQUEST_LICENSE","Mailto","props","to","from","subject","body","children","Component","as","_props$componentProps","componentProps","mailtoLink","encodeURIComponent","RenderedComponent","handleClick","e","preventDefault","window","open","React","href","onClick","appGlobalStateAtom","atom","theme","webLightTheme","language","strings","stringsLocEn","refresh","useLicenseControlStyles","container","css","_templateObject","_taggedTemplateLiteralLoose","tokens","colorNeutralBackground1","title","_templateObject2","footer","_templateObject3","useUtils","formatString","useCallback","template","args","Array","_len","_key","arguments","replace","match","number","generateSalt","tenantId","appId","inputData","hash","SHA256","toString","LicenseControl","_ref","licenseStatus","onDismiss","licenseType","expiryDate","styles","formatDate","Date","toLocaleDateString","appglobalState","useAtomValue","applicationId","applicationName","userInformation","_useUtils","getMessageAndAction","EStatus","blocked","message","messageStatusBlocked","actionLabel","expired","messageStatusExpired","invalid","messageStatusInvalid","notFound","messageStatusNotFound","genericError","messageStatusGenericError","valid","messageStatusValid","undefined","content","useMemo","generateBodyText","mail","givenName","surname","_content","className","Text","CardFooter","Button","appearance","target","useRenderHeaderStyles","makeStyles","closeButton","marginLeft","position","top","right","zIndex","divider","width","height","backgroundColor","colorNeutralStroke1","marginTop","renderHeaderContent","display","flexDirection","justifyContent","alignItems","renderHeaderHeader","_extends","shorthands","padding","gap","renderHeaderFooter","renderHeaderBody","renderHeaderTitleContainer","renderHeaderTitle","textAlign","textOverflow","wordBreak","renderHeaderDescription","dialogTitleAndDescriptionContainer","paddingLeft","paddingRight","RenderHeader","description","icon","ev","stopPropagation","Dismiss24Regular","Icon","Subtitle1","Caption1","useRenderLabelStyles","labelContainer","iconStyles","item","RenderLabel","label","isRequired","color","colorBrandForeground1","style","colorPaletteRedForeground1","useStyles","cardFooter","TrialLicense","_React$useState","errors","setErrors","onTrialLicenseAdded","appGlobalState","context","_React$useState2","error","setError","_useLicenseManager","useLicenseManager","manifest","id","requestTrialLicense","trialLicenseSchema","z","object","contactFirstName","string","min","contactFirstNameError","contactLastName","contactLastNameError","contactEmail","email","contactEmailError","contactCompany","contactCompanyError","_React$useState3","formData","setFormData","handleInputChange","_e$target","name","value","prev","_extends2","handleSubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","validation","fieldErrors","wrap","_callee$","_context","next","safeParse","success","forEach","fieldName","path","t0","console","stop","_x","apply","Body1Strong","trialLicenseTitle","Body1","trialLicenseText","Field","firstName","validationState","validationMessage","Input","onChange","placeholder","firstNamePlaceholder","lastName","lastNamePlaceholder","emailPlaceholder","company","companyPlaceholder","MessageBar","marginBottom","intent","register","cancel","RegisterDialog","_useAtom","useAtom","setAppGlobalState","applicationIcon","_appGlobalState$showA","showApps","useState","selectedValue","setSelectedValue","tabs","defaultTabs","trial","Clock20Regular","license","Key20Regular","push","apps","Apps20Regular","onTabSelect","_event","data","useEffect","statusToTab","_statusToTab","Trial","License","renderPanel","filterTabs","tab","toLocaleLowerCase","FluentProvider","Dialog","modalType","DialogSurface","minHeight","DialogTitle","TabList","selectTabOnFocus","size","filter","map","Tab","key","DialogActions","titleContainer","titleAndIcon","informationPanel","_templateObject4","colorNeutralBackground3","infoRow","_templateObject5","_templateObject6","LicensePlaceHolder","placeHolderText","isOpenLicenseForm","setIsOpenLicenseForm","onDissmiss","messageStatusBlockedShort","details","messageStatusExpiredShort","buyLicense","messageStatusInvalidShort","messageStatusNotFoundShort","requestLicense","messageStatusGenericErrorShort","InformationBar","onAction","MessageBarBody","MessageBarTitle","MessageBarActions","ErrorIcon","xmlns","viewBox","fill","stroke","strokeWidth","d","strokeLinecap","colorNeutralBackground2","borderRadius","borderRadiusMedium","spacingVerticalXL","spacingHorizontalXL","colorNeutralForeground1","fontSize","colorBrandBackground","ShowError","NUMBER_DAYS_WARNING","LicenseProvider","_props$theme","teamsLightTheme","_props$language","isLoading","setIsLoading","licensingResponse","setLicenseResponse","_useUser","useUser","_React$useState4","isOpenRegisterDialog","setIsOpenRegisterDialog","_useUtils2","status","checkAndUpdateLicensing","root","stringsLoc","result","sent","Error","fallbackRender","_ref3","onMessageBarAction","_callee2","_callee2$","_context2","renderMessagebar","warningDays","expirationDate","today","formatedExpiredDate","dayDiff","differenceInDays","messageLicenseWarning","renderContent","IdPrefixProvider","ErrorBoundary"],"mappings":"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"}
1
+ {"version":3,"file":"license-manager-react-components.cjs.development.js","sources":["../src/models/ETabsOptions.ts","../src/constants/constants.ts","../src/components/mailTo/Mailto.tsx","../src/atoms/appGlobalState.ts","../src/components/licenseControl/useLicenseControlStyles.ts","../src/hooks/useUtils.ts","../src/components/licenseControl/LicenseControl.tsx","../src/components/renderHeader/useRenderHeaderStyles.ts","../src/components/renderHeader/RenderHeader.tsx","../src/components/RenderLabel/useRenderLabelStylesStyles.ts","../src/components/RenderLabel/RenderLabel.tsx","../src/components/trialLicense.ts/useTrialLicenseStyles.ts","../src/components/trialLicense.ts/TrialLicense.tsx","../src/components/registerDialog/RegisterDialog.tsx","../src/components/licensePlaceHolder/licensePlaceHolderStyles.tsx","../src/components/licensePlaceHolder/LicensePlaceHolder.tsx","../src/components/informationBar/InformationBar.tsx","../src/components/errorSVG/ErrorSVG.tsx","../src/components/showError/ShowError.tsx","../src/components/licenseProvider/LicenseProvider.tsx"],"sourcesContent":["export enum ETabsOptions {\n Trial = 'trial',\n License = 'license',\n Apps = 'apps',\n} ","export const SUPPORT_EMAIL = \"geral@spteck.com\";\nexport const EMAIL_BODY_TEMPLATE = `Subject: Support Request from {0} {1}\n\nDear Support Team,\n\nI am reaching out to you because I am experiencing issues with my license. Here are my details:\n\n ** Tenant ID **: {2}\n ** Application ID **: {3} - {4}\n ** User First Name **: {5}\n ** User Last Name **: {6}\n ** Email**: {7}\n\n {8}\n\nBest regards,\n{9} {10}`\n\nexport const EMAIL_BODY_TEMPLATE_REQUEST_LICENSE = `Subject: Request for New License {0} {1}\n\nDear Support Team,\n\nI am just contacting you to request a license for the following product. Here are my details:\n\n ** Tenant ID **: {2}\n ** Application ID **: {3} - {4}\n ** User First Name **: {5}\n ** User Last Name **: {6}\n ** Email **: {7}\n\nBest regards,\n{8} {9}`;","import React, { ElementType } from 'react';\n\ninterface MailtoProps<C extends ElementType> {\n to: string; // Required recipient email\n from?: string; // Optional sender email\n subject?: string; // Optional email subject\n body?: string; // Optional email body\n children: React.ReactNode; // Content to be displayed inside the component\n as?: C; // The component type to render\n componentProps?: React.ComponentProps<C>; // Additional props specific to the component type\n \n}\n\nexport const Mailto = <C extends ElementType = \"a\">(props: MailtoProps<C>) => {\n const {\n to,\n from,\n subject,\n body,\n children,\n as: Component,\n componentProps = {} as React.ComponentProps<C>,\n \n } = props;\n // Construct the mailto link\n const mailtoLink = `mailto:${to}?${from ? `from=${encodeURIComponent(from)}&` : \"\"}${\n subject ? `subject=${encodeURIComponent(subject)}&` : \"\"\n }${body ? `body=${encodeURIComponent(body)}` : \"\"}`;\n\n // Ensure the correct element type is rendered\n const RenderedComponent = Component || \"a\";\n\n // Handle the click event\n const handleClick = (e: React.MouseEvent) => {\n e.preventDefault();\n window.open(mailtoLink, \"_blank\");\n };\n\n return (\n <RenderedComponent\n href={mailtoLink}\n aria-label={`Send an email to ${to}`}\n onClick={handleClick}\n {...componentProps}\n >\n {children}\n </RenderedComponent>\n );\n};\n","import { atom } from 'jotai';\n\nimport { webLightTheme } from '@fluentui/react-components';\n\nimport stringsLocEn from '../loc/en.json';\nimport { IStrings } from '../loc/IStrings';\nimport { IGlobalState } from '../models/IGlobalState';\n\nexport const appGlobalStateAtom = atom<IGlobalState>({\n theme: webLightTheme,\n language: \"en\" , \n strings: stringsLocEn as unknown as IStrings,\n refresh: false,\n\n\n} as IGlobalState);\n","import { css } from '@emotion/css';\nimport { tokens } from '@fluentui/react-components';\n\nexport const useLicenseControlStyles = () => {\n return {\n container: css`\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n padding: 7px;\n background-color: ${tokens.colorNeutralBackground1};\n flex: 1;\n `,\n\n title: css`\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: start;\n `,\n footer : css`\n justify-content: end;\n position: absolute;\n bottom: 20px;\n right: 20px;\n `,\n };\n};","import React from 'react';\n\nimport { SHA256 } from 'crypto-js';\n\nexport const useUtils = () => {\n const formatString = React.useCallback((template: string, ...args: any[]): string => {\n return template.replace(/{(\\d+)}/g, (match, number) =>\n typeof args[number] !== \"undefined\" ? args[number] : match\n );\n }, []);\n const generateSalt = React.useCallback((tenantId: string, appId: string): string => {\n // Concatenate the inputs with a delimiter\n const inputData = `${tenantId}:${appId}`;\n // Create a SHA-256 hash\n const hash = SHA256(inputData).toString();\n return hash;\n }, []);\n return { formatString, generateSalt };\n};\n","import {\n Button,\n CardFooter,\n Text,\n} from '@fluentui/react-components';\nimport {\n EMAIL_BODY_TEMPLATE,\n EMAIL_BODY_TEMPLATE_REQUEST_LICENSE,\n SUPPORT_EMAIL,\n} from '../../constants/constants';\n\nimport { EStatus } from '@spteck/react-hooks-library';\nimport { Mailto } from '../mailTo/Mailto';\nimport React from 'react';\nimport { appGlobalStateAtom } from '../../atoms/appGlobalState';\nimport { useAtomValue } from 'jotai';\nimport { useLicenseControlStyles } from './useLicenseControlStyles';\nimport { useUtils } from '../../hooks/useUtils';\n\ninterface ILicenseControlProps {\n licenseStatus: EStatus;\n licenseType: string | undefined;\n expiryDate: number | undefined;\n onDismiss: () => void;\n}\n\nexport const LicenseControl: React.FC<ILicenseControlProps> = ({\n licenseStatus,\n onDismiss,\n licenseType,\n expiryDate,\n}) => {\n const styles = useLicenseControlStyles();\n const formatDate = new Date(expiryDate as number).toLocaleDateString();\n const appglobalState = useAtomValue(appGlobalStateAtom);\n const { tenantId, applicationId, applicationName, userInformation, strings } = appglobalState;\n const { formatString } = useUtils();\n\n const getMessageAndAction = React.useCallback(() => {\n switch (licenseStatus) {\n case EStatus.blocked:\n return {\n message: formatString(strings.messageStatusBlocked, licenseType),\n actionLabel: \"Contact Support\",\n };\n case EStatus.expired:\n return {\n message: formatString(strings.messageStatusExpired, licenseType, formatDate),\n\n actionLabel: \"Renew License\",\n };\n case EStatus.invalid:\n return {\n message: formatString(strings.messageStatusInvalid, licenseType),\n actionLabel: \"Request New License\",\n };\n case EStatus.notFound:\n return {\n message: strings.messageStatusNotFound,\n actionLabel: \"Request License\",\n };\n case EStatus.genericError:\n return {\n message: formatString(strings.messageStatusGenericError, \"\"),\n actionLabel: \"Contact Support\",\n };\n case EStatus.valid:\n return {\n message: formatString(strings.messageStatusValid, licenseType, formatDate),\n actionLabel: undefined,\n };\n default:\n return undefined;\n }\n }, [licenseStatus]);\n\n let content = React.useMemo(() => getMessageAndAction(), [getMessageAndAction]);\n\n // utils.ts\n const generateBodyText = React.useCallback((): string => {\n const { mail, givenName, surname } = userInformation || {};\n let body = EMAIL_BODY_TEMPLATE;\n\n if (licenseStatus === EStatus.notFound) {\n body = EMAIL_BODY_TEMPLATE_REQUEST_LICENSE;\n content = {\n actionLabel: \"Request License\",\n message: \"\",\n };\n }\n const message = formatString(\n body,\n givenName,\n surname,\n tenantId,\n applicationId,\n applicationName,\n givenName,\n surname,\n mail,\n content?.message,\n givenName,\n surname\n );\n return message;\n }, [tenantId, applicationId, userInformation, content]);\n\n if (!content) return <></>;\n\n return (\n <div className={styles.container}>\n <Text>{content.message}</Text>\n <CardFooter className={styles.footer}>\n {content.actionLabel && (\n <Mailto\n to={SUPPORT_EMAIL}\n from={userInformation?.mail as string}\n subject={`Support request - ${applicationName}`}\n body={generateBodyText()}\n as={Button}\n componentProps={{\n appearance: \"primary\",\n target: \"_blank\",\n }}\n >\n {content.actionLabel}\n </Mailto>\n )}\n <Button appearance=\"secondary\" onClick={onDismiss}>\n Close\n </Button>\n </CardFooter>\n </div>\n );\n};\n","import {\n makeStyles,\n shorthands,\n tokens,\n} from '@fluentui/react-components';\n\nexport const useRenderHeaderStyles = makeStyles({\n closeButton: {\n marginLeft: \"auto\",\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n zIndex: 99999,\n },\n\n divider: {\n width: \"100%\",\n height: \"1px\",\n backgroundColor: tokens.colorNeutralStroke1,\n marginTop: \"6px\",\n },\n\n renderHeaderContent: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n\n width: \"100%\",\n },\n renderHeaderHeader: {\n \n\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n ...shorthands.padding(\"10px\"),\n gap: \"20px\",\n },\n renderHeaderFooter: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\",\n ...shorthands.padding(\"20px\"),\n gap: \"20px\",\n },\n renderHeaderBody: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n ...shorthands.padding(\"20px\"),\n gap: \"20px\",\n },\n renderHeaderTitleContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n renderHeaderTitle: {\n display: \"-webkit-box\",\n \"-webkit-line-clamp\": \"1\",\n \"-webkit-box-orient\": \"vertical\",\n\n textAlign: \"start\",\n textOverflow: \"ellipsis\",\n wordBreak: \"break-word\",\n },\n renderHeaderDescription: {\n display: \"-webkit-box\",\n \"-webkit-line-clamp\": \"4\",\n \"-webkit-box-orient\": \"vertical\",\n\n textAlign: \"start\",\n textOverflow: \"ellipsis\",\n wordBreak: \"break-word\",\n },\n dialogTitleAndDescriptionContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"start\",\n alignItems: \"start\",\n paddingLeft: \"10px\",\n paddingRight: \"20px\",\n },\n});\n","import * as React from 'react';\n\nimport {\n Button,\n Caption1,\n Subtitle1,\n} from '@fluentui/react-components';\nimport { Dismiss24Regular } from '@fluentui/react-icons';\nimport { Icon } from '@iconify/react';\n\nimport { useRenderHeaderStyles } from './useRenderHeaderStyles';\n\nexport interface IRenderHeaderProps {\n onDismiss: (open?: boolean) => void;\n icon?: string | JSX.Element;\n title: string | React.ReactNode;\n description?: string | React.ReactNode;\n}\n\nexport const RenderHeader: React.FunctionComponent<IRenderHeaderProps> = (\n props: React.PropsWithChildren<IRenderHeaderProps>\n) => {\n const { onDismiss, title, description, icon } = props;\n const styles = useRenderHeaderStyles();\n\n return (\n <>\n <div className={styles.renderHeaderContent}>\n <div\n className={styles.renderHeaderHeader}>\n <Button\n appearance=\"subtle\"\n className={styles.closeButton}\n onClick={(ev: React.MouseEvent<HTMLButtonElement>) => {\n ev.stopPropagation();\n ev.preventDefault();\n onDismiss(false)}}\n icon={<Dismiss24Regular />}\n />\n\n <div className={styles.renderHeaderTitleContainer}>\n {React.isValidElement(icon) ? icon : <Icon icon={icon as string} />}\n <div className={styles.dialogTitleAndDescriptionContainer}>\n {React.isValidElement(title) ? (\n title\n ) : (\n <Subtitle1 className={styles.renderHeaderTitle}>{title}</Subtitle1>\n )}\n {React.isValidElement(description) ? (\n description\n ) : (\n <Caption1 className={styles.renderHeaderDescription}>{description}</Caption1>\n )}\n </div>\n </div>\n </div>\n <div className={styles.divider} />\n </div>\n </>\n );\n};\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n makeStyles,\n shorthands,\n} from '@fluentui/react-components';\n\nexport const useRenderLabelStyles = makeStyles({\n\n labelContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n ...shorthands.gap(\"6px\"),\n },\n iconStyles: {\n width: \"26px\",\n },\n item: {\n paddingLeft: \"15px\",\n },\n \n\n});\n","import * as React from 'react';\n\nimport {\n Caption1,\n tokens,\n} from '@fluentui/react-components';\nimport { Icon } from '@iconify/react';\n\nimport { useRenderLabelStyles } from './useRenderLabelStylesStyles';\n\nexport interface IRenderLabelProps {\n label: string; icon?: string | JSX.Element; isRequired?: boolean\n}\n\nexport const RenderLabel: React.FunctionComponent<IRenderLabelProps> = (props: React.PropsWithChildren<IRenderLabelProps>) => {\n const { label, icon, isRequired } = props;\n const styles = useRenderLabelStyles();\n return (\n <>\n <div className={styles.labelContainer}>\n {icon && React.isValidElement(icon) ? (\n icon\n ) : (\n <Icon\n icon={icon as string}\n className={styles.iconStyles}\n width={\"20px\"}\n height={\"20px\"}\n color={tokens.colorBrandForeground1}\n />\n )}\n <Caption1 style={{ color: tokens.colorBrandForeground1 }}>{label}</Caption1>\n <Caption1 style={{ color: tokens.colorPaletteRedForeground1 }}>{isRequired ? \" *\" : \"\"}</Caption1>\n </div>\n </>\n );\n};\n\nexport default RenderLabel;\n","import { css } from '@emotion/css';\nimport { tokens } from '@fluentui/react-components';\n\nexport const useStyles = () => {\n return {\n container: css`\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n padding: 7px;\n background-color: ${tokens.colorNeutralBackground1};\n `,\n\n title: css`\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: start;\n `,\n cardFooter : css`\n align-self: flex-end;\n margin-top: 15px;\n `,\n };\n};\n","import * as React from 'react';\n\nimport {\n Body1,\n Body1Strong,\n Button,\n CardFooter,\n Field,\n Input,\n MessageBar,\n} from '@fluentui/react-components';\n\nimport { RenderLabel } from '../RenderLabel';\nimport { appGlobalStateAtom } from '../../atoms/appGlobalState';\nimport { useAtomValue } from 'jotai';\nimport { useLicenseManager } from '@spteck/react-hooks-library';\nimport { useStyles } from './useTrialLicenseStyles';\nimport { useUtils } from '../../hooks/useUtils';\nimport { z } from 'zod';\n\nexport interface ITrialLicenseProps {\n onTrialLicenseAdded: () => void;\n onDismiss: () => void;\n}\n\nexport const TrialLicense: React.FunctionComponent<ITrialLicenseProps> = (\n props: React.PropsWithChildren<ITrialLicenseProps>\n) => {\n const [errors, setErrors] = React.useState<{ [key: string]: string | null }>({});\n const { onTrialLicenseAdded, onDismiss } = props;\n const appGlobalState = useAtomValue(appGlobalStateAtom);\n const { userInformation, strings, tenantId, context } = appGlobalState;\n const { generateSalt } = useUtils();\n const [error, setError] = React.useState<Error | undefined>(undefined);\n\n const { requestTrialLicense } = useLicenseManager(\n tenantId as string,\n context?.manifest.id as string,\n generateSalt(tenantId as string, context?.manifest.id as string),\n context\n ) as any;\n\n // Define Zod schema for validation\n const trialLicenseSchema = z.object({\n contactFirstName: z.string().min(1, strings.contactFirstNameError),\n contactLastName: z.string().min(1, strings.contactLastNameError),\n contactEmail: z.string().email(strings.contactEmailError),\n contactCompany: z.string().min(1, strings.contactCompanyError),\n });\n\n const [formData, setFormData] = React.useState({\n contactFirstName: userInformation?.givenName as string,\n contactLastName: userInformation?.surname as string,\n contactEmail: userInformation?.mail as string,\n contactCompany: \"\",\n });\n\n const handleInputChange = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const { name, value } = e.target;\n setFormData((prev) => ({ ...prev, [name]: value }));\n }, []);\n\n const styles = useStyles();\n\n const handleSubmit = React.useCallback(\n async (e: React.FormEvent) => {\n e.preventDefault();\n // Validate form data using Zod schema\n const validation = trialLicenseSchema.safeParse(formData);\n if (!validation.success) {\n // Map errors for display\n const fieldErrors: { [key: string]: string } = {};\n validation.error.errors.forEach((error) => {\n const fieldName = error.path[0] as string;\n fieldErrors[fieldName] = error.message;\n });\n setErrors(fieldErrors);\n } else {\n // Clear errors and call the parent function\n setErrors({});\n try {\n await requestTrialLicense(\n tenantId as string,\n context.manifest.id as string,\n formData.contactFirstName,\n formData.contactLastName,\n formData.contactEmail,\n formData.contactCompany\n );\n onTrialLicenseAdded();\n } catch (error) {\n console.error(error);\n setError(error as Error);\n }\n }\n },\n [formData, onTrialLicenseAdded]\n );\n\n return (\n <div className={styles.container}>\n <div>\n <Body1Strong className={styles.title}>{strings.trialLicenseTitle}</Body1Strong>\n <Body1>{strings.trialLicenseText}</Body1>\n </div>\n\n <>\n <Field\n label={<RenderLabel label={strings.firstName} isRequired />}\n validationState={errors.contactFirstName ? \"error\" : \"none\"}\n validationMessage={errors.contactFirstName || undefined}\n >\n <Input\n name=\"contactFirstName\"\n value={formData.contactFirstName}\n onChange={handleInputChange}\n placeholder={strings.firstNamePlaceholder}\n />\n </Field>\n <Field\n label={<RenderLabel label={strings.lastName} isRequired />}\n validationState={errors.contactLastName ? \"error\" : \"none\"}\n validationMessage={errors.contactLastName || undefined}\n >\n <Input\n name=\"contactLastName\"\n value={formData.contactLastName}\n onChange={handleInputChange}\n placeholder={strings.lastNamePlaceholder}\n />\n </Field>\n <Field\n label={<RenderLabel label={strings.email} isRequired />}\n validationState={errors.contactEmail ? \"error\" : \"none\"}\n validationMessage={errors.contactEmail || undefined}\n >\n <Input\n name=\"contactEmail\"\n value={formData.contactEmail}\n onChange={handleInputChange}\n placeholder={strings.emailPlaceholder}\n />\n </Field>\n <Field\n label={<RenderLabel label={strings.company} isRequired />}\n validationState={errors.contactCompany ? \"error\" : \"none\"}\n validationMessage={errors.contactCompany || undefined}\n >\n <Input\n name=\"contactCompany\"\n value={formData.contactCompany}\n onChange={handleInputChange}\n placeholder={strings.companyPlaceholder}\n />\n </Field>\n {error && (\n <MessageBar style={{ marginTop: 10, marginBottom: 10 }} intent=\"error\">\n {\" \"}\n {error.message}\n </MessageBar>\n )}\n <CardFooter className={styles.cardFooter}>\n <Button appearance=\"primary\" onClick={handleSubmit}>\n {strings.register}\n </Button>\n <Button appearance=\"secondary\" onClick={onDismiss}>\n {strings.cancel}\n </Button>\n </CardFooter>\n </>\n </div>\n );\n};\n","import {\n Apps20Regular,\n Clock20Regular,\n Key20Regular,\n} from '@fluentui/react-icons';\nimport {\n Dialog,\n DialogActions,\n DialogSurface,\n DialogTitle,\n FluentProvider,\n SelectTabData,\n SelectTabEvent,\n Tab,\n TabList,\n TabValue,\n} from '@fluentui/react-components';\n\nimport { EStatus } from '@spteck/react-hooks-library';\nimport { ETabsOptions } from '../../models/ETabsOptions';\nimport { LicenseControl } from '../licenseControl/LicenseControl';\nimport React from 'react';\nimport { RenderHeader } from '../renderHeader';\nimport { TrialLicense } from '../trialLicense.ts/TrialLicense';\nimport { appGlobalStateAtom } from '../../atoms/appGlobalState';\nimport { useAtom } from 'jotai';\n\nexport interface IRegisterDialogProps {\n licenseStatus: EStatus;\n licenseType: string | undefined;\n expiryDate: number | undefined;\n open: boolean;\n onDismiss: (update?: boolean) => void;\n}\n\ninterface ITab {\n id: string;\n value: string;\n label: string;\n icon: JSX.Element;\n}\n\nexport const RegisterDialog: React.FC<IRegisterDialogProps> = (props: IRegisterDialogProps) => {\n const { licenseStatus, open, onDismiss, licenseType, expiryDate } = props;\n const [appGlobalState, setAppGlobalState] = useAtom(appGlobalStateAtom);\n const { theme, applicationName, applicationIcon, strings, showApps = false } = appGlobalState;\n\n const [selectedValue, setSelectedValue] = React.useState<TabValue>(\"trial\");\n\n const tabs: ITab[] = React.useMemo(() => {\n const defaultTabs = [\n { id: \"trial\", value: \"trial\", label: strings.trial, icon: <Clock20Regular /> },\n { id: \"license\", value: \"license\", label: strings.license, icon: <Key20Regular /> },\n ];\n if (showApps) {\n tabs.push({ id: \"apps\", value: \"apps\", label: strings.apps, icon: <Apps20Regular /> });\n }\n return defaultTabs;\n }, [strings]);\n\n const onTabSelect = React.useCallback((_event: SelectTabEvent, data: SelectTabData) => {\n setSelectedValue(data.value);\n }, []);\n\n React.useEffect(() => {\n const statusToTab = {\n [EStatus.notFound]: ETabsOptions.Trial,\n [EStatus.expired]: ETabsOptions.License,\n [EStatus.invalid]: ETabsOptions.License,\n [EStatus.blocked]: ETabsOptions.License,\n [EStatus.genericError]: ETabsOptions.License,\n [EStatus.valid]: ETabsOptions.License,\n };\n setSelectedValue(statusToTab[licenseStatus] || ETabsOptions.Trial);\n }, [licenseStatus]);\n\n const renderPanel = React.useMemo((): JSX.Element => {\n switch (selectedValue) {\n case \"trial\":\n return (\n <TrialLicense\n onTrialLicenseAdded={() => {\n setAppGlobalState({ ...appGlobalState, refresh: true });\n onDismiss();\n }}\n onDismiss={onDismiss}\n />\n );\n case \"license\":\n return (\n <LicenseControl\n licenseStatus={licenseStatus}\n onDismiss={onDismiss}\n licenseType={licenseType}\n expiryDate={expiryDate}\n />\n );\n case \"apps\":\n return <div>Apps</div>;\n default:\n return <></>;\n }\n }, [selectedValue, licenseStatus, licenseType, expiryDate]);\n\n const filterTabs = React.useCallback(\n (tab: ITab) => {\n if (\n licenseType?.toLocaleLowerCase() === ETabsOptions.Trial.toLocaleLowerCase() ||\n licenseStatus.toLocaleLowerCase() === EStatus.genericError.toLocaleLowerCase()\n ) {\n return tab.id.toLocaleLowerCase() !== ETabsOptions.Trial.toLocaleLowerCase();\n }\n return true;\n },\n [licenseType, licenseStatus]\n );\n\n return (\n <FluentProvider theme={theme}>\n <Dialog open={open} modalType=\"modal\">\n <DialogSurface style={{ minHeight: 300 }}>\n <DialogTitle>\n <RenderHeader icon={applicationIcon} title={applicationName} onDismiss={onDismiss} />\n </DialogTitle>\n\n <TabList selectedValue={selectedValue} onTabSelect={onTabSelect} selectTabOnFocus={true} size=\"medium\">\n {tabs.filter(filterTabs).map((tab) => (\n <Tab key={tab.id} value={tab.value} icon={tab.icon}>\n {tab.label}\n </Tab>\n ))}\n </TabList>\n {renderPanel}\n <DialogActions></DialogActions>\n </DialogSurface>\n </Dialog>\n </FluentProvider>\n );\n};\n","import { css } from '@emotion/css';\nimport { tokens } from '@fluentui/react-components';\n\nexport const \n useStyles = () => {\n return {\n container: css`\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n margin-bottom: 30px;\n `,\n titleContainer: css`\n display: flex;\n flex-direction: column;\n width: 100%;\n justify-content: center;\n align-items: center;\n gap: 10px;\n `,\n titleAndIcon: css`\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n `,\n informationPanel: css`\n padding: 20px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n background-color: ${tokens.colorNeutralBackground3};\n `,\n infoRow: css`\n display: flex;\n gap: 10px;\n justify-content: center;\n align-items: center;\n width: 100%;\n `,\n title: css`\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n `,\n };\n};","import * as React from 'react';\n\nimport {\n Body1,\n Body1Strong,\n Button,\n DialogActions,\n FluentProvider,\n Subtitle1,\n} from '@fluentui/react-components';\n\nimport { EStatus } from '@spteck/react-hooks-library';\nimport { RegisterDialog } from '../registerDialog/RegisterDialog';\nimport { appGlobalStateAtom } from '../../atoms/appGlobalState';\nimport { useAtomValue } from 'jotai';\nimport { useStyles } from './licensePlaceHolderStyles';\nimport { useUtils } from '../../hooks/useUtils';\n\nexport interface ILicensePlaceHolderProps {\n licenseStatus: EStatus;\n licenseType: string | undefined;\n expiryDate: number | undefined;\n}\n\nexport const LicensePlaceHolder: React.FunctionComponent<ILicensePlaceHolderProps> = (\n props: React.PropsWithChildren<ILicensePlaceHolderProps>\n) => {\n const appglobalState = useAtomValue(appGlobalStateAtom);\n const { theme, applicationName, applicationIcon, placeHolderText, strings } = appglobalState;\n const styles = useStyles();\n const [isOpenLicenseForm, setIsOpenLicenseForm] = React.useState<boolean>(false);\n const { licenseStatus, licenseType, expiryDate } = props;\n const { formatString } = useUtils();\n const onDissmiss = React.useCallback(() => {\n setIsOpenLicenseForm(false);\n }, []);\n\n const formatDate = React.useMemo(() => new Date(expiryDate as number).toLocaleDateString(), [expiryDate]);\n\n const getMessageAndAction = React.useCallback(() => {\n switch (licenseStatus) {\n case EStatus.blocked:\n return {\n message: formatString(strings.messageStatusBlockedShort, licenseType),\n actionLabel: strings.details,\n };\n case EStatus.expired:\n return {\n message: formatString(strings.messageStatusExpiredShort, licenseType, formatDate),\n actionLabel: strings.buyLicense,\n };\n case EStatus.invalid:\n return {\n message: formatString(strings.messageStatusInvalidShort, licenseType ?? \"\"),\n actionLabel: strings.details,\n };\n case EStatus.notFound:\n return {\n message: formatString(strings.messageStatusNotFoundShort),\n actionLabel: strings.requestLicense,\n };\n case EStatus.genericError:\n return {\n message: formatString(strings.messageStatusGenericErrorShort, licenseType ?? \"\"),\n actionLabel: strings.details,\n };\n default:\n return undefined;\n }\n }, [licenseStatus]);\n\n const content = React.useMemo(() => {\n return getMessageAndAction();\n }, [getMessageAndAction]);\n\n return (\n <>\n <FluentProvider theme={theme}>\n <div className={styles.informationPanel}>\n <div className={styles.infoRow}>\n <div className={styles.title}>\n <div className={styles.titleContainer}>\n <div className={styles.titleAndIcon}>\n {applicationIcon} <Subtitle1> {applicationName}</Subtitle1>{\" \"}\n </div>\n <Body1>{placeHolderText}</Body1>\n </div>\n </div>\n </div>\n <div className={styles.infoRow}>\n <Body1Strong> {content?.message}</Body1Strong>\n </div>\n <div className={styles.infoRow}>\n <DialogActions style={{ marginTop: 15 }}>\n <Button\n appearance=\"primary\"\n onClick={() => {\n setIsOpenLicenseForm(true);\n }}\n >\n {content?.actionLabel}\n </Button>\n </DialogActions>\n {isOpenLicenseForm && (\n <RegisterDialog\n licenseStatus={licenseStatus}\n licenseType={licenseType}\n expiryDate={expiryDate}\n open={isOpenLicenseForm}\n onDismiss={onDissmiss}\n />\n )}\n </div>\n </div>\n </FluentProvider>\n </>\n );\n};\n","import * as React from 'react';\n\nimport {\n Button,\n MessageBar,\n MessageBarActions,\n MessageBarBody,\n MessageBarTitle,\n} from '@fluentui/react-components';\n\nexport interface IInformationBarProps {\n message: JSX.Element | string;\n onAction?: () => void;\n}\n\nexport const InformationBar: React.FunctionComponent<IInformationBarProps> = (\n props: React.PropsWithChildren<IInformationBarProps>\n) => {\n const { message, onAction } = props;\n return (\n <>\n <MessageBar intent={\"warning\"}>\n <MessageBarBody>\n <MessageBarTitle>License Manager</MessageBarTitle>\n {message}\n </MessageBarBody>\n <MessageBarActions>\n <Button onClick={onAction}>Details</Button>\n </MessageBarActions>\n </MessageBar>\n </>\n );\n};\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from \"react\";\nimport type { SVGProps } from \"react\";\n\nexport function ErrorIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" {...props}>\n <g fill=\"none\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path d=\"M2 6.95c0-.883 0-1.324.07-1.692A4 4 0 0 1 5.257 2.07C5.626 2 6.068 2 6.95 2c.386 0 .58 0 .766.017a4 4 0 0 1 2.18.904c.144.119.28.255.554.529L11 4c.816.816 1.224 1.224 1.712 1.495a4 4 0 0 0 .848.352C14.098 6 14.675 6 15.828 6h.374c2.632 0 3.949 0 4.804.77q.119.105.224.224c.77.855.77 2.172.77 4.804V14c0 3.771 0 5.657-1.172 6.828S17.771 22 14 22h-4c-3.771 0-5.657 0-6.828-1.172S2 17.771 2 14z\" />\n <path strokeLinecap=\"round\" d=\"m10.5 15l3-3m0 3l-3-3\" />\n </g>\n </svg>\n );\n}\n","import React from 'react';\n\nimport { css } from '@emotion/css';\nimport {\n Body1Strong,\n shorthands,\n Subtitle1,\n tokens,\n} from '@fluentui/react-components';\n\nimport { ErrorIcon } from '../errorSVG/ErrorSVG';\n\ninterface IErrorDisplayProps {\n message: string;\n}\n\nconst styles = {\n container: css({\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"100%\",\n textAlign: \"center\",\n backgroundColor: tokens.colorNeutralBackground2,\n borderRadius: tokens.borderRadiusMedium,\n ...shorthands.padding(tokens.spacingVerticalXL, tokens.spacingHorizontalXL),\n color: tokens.colorNeutralForeground1,\n }),\n icon: css({\n marginTop: tokens.spacingHorizontalXL,\n fontSize: \"50px\",\n marginBottom: tokens.spacingHorizontalXL,\n color: tokens.colorBrandBackground,\n }),\n message: css({\n marginBottom: tokens.spacingHorizontalXL,\n }),\n};\n\nexport const ShowError: React.FC<IErrorDisplayProps> = ({ message }) => {\n return (\n <div className={styles.container}>\n <Subtitle1>News Feed - Application</Subtitle1>\n <ErrorIcon className={styles.icon} />\n <Body1Strong className={styles.message}>{message}</Body1Strong>\n </div>\n );\n};\n\nexport default ShowError;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from 'react';\n\nimport {\n EStatus,\n ICheckAndUpdateLicesingResponse,\n useLicenseManager,\n useUser,\n} from '@spteck/react-hooks-library';\nimport {\n FluentProvider,\n IdPrefixProvider,\n teamsLightTheme,\n} from '@fluentui/react-components';\n\nimport { ErrorBoundary } from 'react-error-boundary';\nimport { IGlobalState } from '../../models/IGlobalState';\nimport { ILicenseProviderProps } from './ILicenseProviderProps';\nimport { InformationBar } from '../informationBar/InformationBar';\nimport { LicensePlaceHolder } from '../licensePlaceHolder/LicensePlaceHolder';\nimport { RegisterDialog } from '../registerDialog/RegisterDialog';\nimport ShowError from '../showError/ShowError';\nimport { User } from '@microsoft/microsoft-graph-types';\nimport { appGlobalStateAtom } from '../../atoms/appGlobalState';\nimport { css } from '@emotion/css';\nimport { differenceInDays } from 'date-fns';\nimport { useAtom } from 'jotai';\nimport { useUtils } from '../../hooks/useUtils';\n\nconst NUMBER_DAYS_WARNING = 30;\n\nexport const LicenseProvider: React.FunctionComponent<ILicenseProviderProps> = (\n props: React.PropsWithChildren<ILicenseProviderProps>\n) => {\n const { theme = teamsLightTheme, context, children, tenantId, language = \"en\", applicationId } = props;\n\n /* const instanceId = context?.instanceId as string;\n const tenantId = context?.pageContext.legacyPageContext.aadTenantId; */\n const [error, setError] = React.useState<Error | undefined>(undefined);\n const [isLoading, setIsLoading] = React.useState<boolean>(true);\n const [licensingResponse, setLicenseResponse] = React.useState<ICheckAndUpdateLicesingResponse>();\n const [appglobalState, setAppGlobalState] = useAtom<IGlobalState>(appGlobalStateAtom);\n const { userInformation } = useUser(context);\n const [isOpenRegisterDialog, setIsOpenRegisterDialog] = React.useState<boolean>(false);\n const { formatString } = useUtils();\n const { strings, refresh } = appglobalState;\n const { generateSalt } = useUtils();\n const { status, licenseType, expiryDate } = (licensingResponse as ICheckAndUpdateLicesingResponse) || {};\n\n const { checkAndUpdateLicensing } = useLicenseManager(\n tenantId as string,\n applicationId as string, \n generateSalt(tenantId as string, applicationId as string),\n context\n ) as any;\n\n const styles = React.useMemo(() => {\n return {\n root: css({\n backgroundColor: \"transparent\",\n padding: 20,\n }),\n };\n }, []);\n\n React.useEffect(() => {\n (async () => {\n try {\n const stringsLoc = await import(`./loc/${language}.json`);\n setAppGlobalState((prev) => ({\n ...prev,\n ...props,\n strings: stringsLoc,\n userInformation: userInformation as User,\n }));\n const result = await checkAndUpdateLicensing();\n setLicenseResponse(result);\n setIsLoading(false);\n } catch (error) {\n if (error instanceof Error) setError(error);\n setIsLoading(false);\n }\n })();\n }, [userInformation]);\n\n const fallbackRender = React.useCallback(({ error }: { error: Error }) => {\n console.error(`[LicenseManager:Error: ${error.message}`);\n return <ShowError message={error.message} />;\n }, []);\n\n const onMessageBarAction = React.useCallback(() => {\n setIsOpenRegisterDialog(true);\n }, []);\n\n // ipdate liecense status on refresh\n React.useEffect(() => {\n (async () => {\n try {\n setAppGlobalState((prev) => ({\n ...prev,\n refresh: false,\n }));\n const result = await checkAndUpdateLicensing();\n setLicenseResponse(result);\n setIsLoading(false);\n } catch (error) {\n if (error instanceof Error) setError(error);\n setIsLoading(false);\n }\n })();\n }, [refresh]);\n\n const onDissmiss = React.useCallback(() => {\n setIsOpenRegisterDialog(false);\n }, []);\n\n // renderMessagebar if the license is about to expire\n const renderMessagebar = React.useCallback(\n (licenseType: string, expiryDate: number, warningDays: number): JSX.Element => {\n const expirationDate = new Date(expiryDate);\n const today = new Date();\n const formatedExpiredDate = expirationDate.toLocaleDateString();\n const dayDiff = differenceInDays(expirationDate, today);\n let message = \"\";\n if (dayDiff <= warningDays) {\n message = formatString(strings.messageLicenseWarning, licenseType, dayDiff, formatedExpiredDate);\n return <InformationBar message={message} onAction={onMessageBarAction} />;\n }\n return <></>;\n },\n [expiryDate]\n );\n\n // render the control based on the license status\n const renderContent = React.useCallback((): JSX.Element => {\n switch (status) {\n case EStatus.valid:\n return (\n <>\n {renderMessagebar(licenseType as string, expiryDate as number, NUMBER_DAYS_WARNING)}\n {children}\n </>\n );\n case EStatus.genericError:\n case EStatus.notFound:\n case EStatus.blocked:\n case EStatus.expired:\n case EStatus.invalid:\n return <LicensePlaceHolder licenseStatus={status} licenseType={licenseType} expiryDate={expiryDate} />;\n default:\n break;\n }\n return <></>;\n }, [licensingResponse, refresh]);\n\n if (isLoading) return null;\n if (error) return <ShowError message={error.message} />;\n\n return (\n <>\n <IdPrefixProvider value=\"news-feed-\">\n <FluentProvider theme={theme} className={styles.root}>\n <ErrorBoundary fallbackRender={fallbackRender}>\n {renderContent()}\n {isOpenRegisterDialog && (\n <RegisterDialog\n licenseStatus={status}\n licenseType={licenseType}\n expiryDate={expiryDate}\n open={isOpenRegisterDialog}\n onDismiss={onDissmiss}\n />\n )}\n </ErrorBoundary>\n </FluentProvider>\n </IdPrefixProvider>\n </>\n );\n};\n"],"names":["ETabsOptions","SUPPORT_EMAIL","EMAIL_BODY_TEMPLATE","EMAIL_BODY_TEMPLATE_REQUEST_LICENSE","Mailto","props","to","from","subject","body","children","Component","as","_props$componentProps","componentProps","mailtoLink","encodeURIComponent","RenderedComponent","handleClick","e","preventDefault","window","open","React","href","onClick","appGlobalStateAtom","atom","theme","webLightTheme","language","strings","stringsLocEn","refresh","useLicenseControlStyles","container","css","_templateObject","_taggedTemplateLiteralLoose","tokens","colorNeutralBackground1","title","_templateObject2","footer","_templateObject3","useUtils","formatString","useCallback","template","args","Array","_len","_key","arguments","replace","match","number","generateSalt","tenantId","appId","inputData","hash","SHA256","toString","LicenseControl","_ref","licenseStatus","onDismiss","licenseType","expiryDate","styles","formatDate","Date","toLocaleDateString","appglobalState","useAtomValue","applicationId","applicationName","userInformation","_useUtils","getMessageAndAction","EStatus","blocked","message","messageStatusBlocked","actionLabel","expired","messageStatusExpired","invalid","messageStatusInvalid","notFound","messageStatusNotFound","genericError","messageStatusGenericError","valid","messageStatusValid","undefined","content","useMemo","generateBodyText","_ref2","mail","givenName","surname","_content","className","Text","CardFooter","Button","appearance","target","useRenderHeaderStyles","makeStyles","closeButton","marginLeft","position","top","right","zIndex","divider","width","height","backgroundColor","colorNeutralStroke1","marginTop","renderHeaderContent","display","flexDirection","justifyContent","alignItems","renderHeaderHeader","_extends","shorthands","padding","gap","renderHeaderFooter","renderHeaderBody","renderHeaderTitleContainer","renderHeaderTitle","textAlign","textOverflow","wordBreak","renderHeaderDescription","dialogTitleAndDescriptionContainer","paddingLeft","paddingRight","RenderHeader","description","icon","ev","stopPropagation","Dismiss24Regular","Icon","Subtitle1","Caption1","useRenderLabelStyles","labelContainer","iconStyles","item","RenderLabel","label","isRequired","color","colorBrandForeground1","style","colorPaletteRedForeground1","useStyles","cardFooter","TrialLicense","_React$useState","errors","setErrors","onTrialLicenseAdded","appGlobalState","context","_React$useState2","error","setError","_useLicenseManager","useLicenseManager","manifest","id","requestTrialLicense","trialLicenseSchema","z","object","contactFirstName","string","min","contactFirstNameError","contactLastName","contactLastNameError","contactEmail","email","contactEmailError","contactCompany","contactCompanyError","_React$useState3","formData","setFormData","handleInputChange","_e$target","name","value","prev","_extends2","handleSubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","validation","fieldErrors","wrap","_callee$","_context","next","safeParse","success","forEach","fieldName","path","t0","console","stop","_x","apply","Body1Strong","trialLicenseTitle","Body1","trialLicenseText","Field","firstName","validationState","validationMessage","Input","onChange","placeholder","firstNamePlaceholder","lastName","lastNamePlaceholder","emailPlaceholder","company","companyPlaceholder","MessageBar","marginBottom","intent","register","cancel","RegisterDialog","_useAtom","useAtom","setAppGlobalState","applicationIcon","_appGlobalState$showA","showApps","useState","selectedValue","setSelectedValue","tabs","defaultTabs","trial","Clock20Regular","license","Key20Regular","push","apps","Apps20Regular","onTabSelect","_event","data","useEffect","statusToTab","_statusToTab","Trial","License","renderPanel","filterTabs","tab","toLocaleLowerCase","FluentProvider","Dialog","modalType","DialogSurface","minHeight","DialogTitle","TabList","selectTabOnFocus","size","filter","map","Tab","key","DialogActions","titleContainer","titleAndIcon","informationPanel","_templateObject4","colorNeutralBackground3","infoRow","_templateObject5","_templateObject6","LicensePlaceHolder","placeHolderText","isOpenLicenseForm","setIsOpenLicenseForm","onDissmiss","messageStatusBlockedShort","details","messageStatusExpiredShort","buyLicense","messageStatusInvalidShort","messageStatusNotFoundShort","requestLicense","messageStatusGenericErrorShort","InformationBar","onAction","MessageBarBody","MessageBarTitle","MessageBarActions","ErrorIcon","xmlns","viewBox","fill","stroke","strokeWidth","d","strokeLinecap","colorNeutralBackground2","borderRadius","borderRadiusMedium","spacingVerticalXL","spacingHorizontalXL","colorNeutralForeground1","fontSize","colorBrandBackground","ShowError","NUMBER_DAYS_WARNING","LicenseProvider","_props$theme","teamsLightTheme","_props$language","isLoading","setIsLoading","licensingResponse","setLicenseResponse","_useUser","useUser","_React$useState4","isOpenRegisterDialog","setIsOpenRegisterDialog","_useUtils2","status","checkAndUpdateLicensing","root","stringsLoc","result","sent","Error","fallbackRender","_ref3","onMessageBarAction","_callee2","_callee2$","_context2","renderMessagebar","warningDays","expirationDate","today","formatedExpiredDate","dayDiff","differenceInDays","messageLicenseWarning","renderContent","IdPrefixProvider","ErrorBoundary"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})})),t.default=e,t}Object.defineProperty(exports,"__esModule",{value:!0});var t,n,r=require("react"),a=(t=r)&&"object"==typeof t&&"default"in t?t.default:t,o=require("@fluentui/react-components"),i=require("@spteck/react-hooks-library"),s=require("@fluentui/react-icons"),c=require("jotai"),l=require("@emotion/css"),u=require("crypto-js"),m=require("@iconify/react"),d=require("zod"),p=require("react-error-boundary"),f=require("date-fns");function g(e,t,n,r,a,o,i){try{var s=e[o](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,a)}function h(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function i(e){g(o,r,a,i,s,"next",e)}function s(e){g(o,r,a,i,s,"throw",e)}i(void 0)}))}}function y(){return(y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function v(){v=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var o=Object.create((t&&t.prototype instanceof h?t:h).prototype),i=new F(r||[]);return a(o,"_invoke",{value:N(e,n,i)}),o}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var d="suspendedStart",p="executing",f="completed",g={};function h(){}function y(){}function E(){}var x={};l(x,i,(function(){return this}));var b=Object.getPrototypeOf,w=b&&b(b(B([])));w&&w!==n&&r.call(w,i)&&(x=w);var L=E.prototype=h.prototype=Object.create(x);function S(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function n(a,o,i,s){var c=m(e[a],e,o);if("throw"!==c.type){var l=c.arg,u=l.value;return u&&"object"==typeof u&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,i,s)}),(function(e){n("throw",e,i,s)})):t.resolve(u).then((function(e){l.value=e,i(l)}),(function(e){return n("throw",e,i,s)}))}s(c.arg)}var o;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return o=o?o.then(a,a):a()}})}function N(t,n,r){var a=d;return function(o,i){if(a===p)throw Error("Generator is already running");if(a===f){if("throw"===o)throw i;return{value:e,done:!0}}for(r.method=o,r.arg=i;;){var s=r.delegate;if(s){var c=C(s,r);if(c){if(c===g)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===d)throw a=f,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=p;var l=m(t,n,r);if("normal"===l.type){if(a=r.done?f:"suspendedYield",l.arg===g)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(a=f,r.method="throw",r.arg=l.arg)}}}function C(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,C(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var o=m(a,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,g;var i=o.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function D(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function B(t){if(t||""===t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(typeof t+" is not iterable")}return y.prototype=E,a(L,"constructor",{value:E,configurable:!0}),a(E,"constructor",{value:y,configurable:!0}),y.displayName=l(E,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,E):(e.__proto__=E,l(e,c,"GeneratorFunction")),e.prototype=Object.create(L),e},t.awrap=function(e){return{__await:e}},S(k.prototype),l(k.prototype,s,(function(){return this})),t.AsyncIterator=k,t.async=function(e,n,r,a,o){void 0===o&&(o=Promise);var i=new k(u(e,n,r,a),o);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},S(L),l(L,c,"Generator"),l(L,i,(function(){return this})),l(L,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=B,F.prototype={constructor:F,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(D),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function a(r,a){return s.type="throw",s.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(c&&l){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!l)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),D(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;D(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:B(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function E(e,t){return t||(t=e.slice(0)),e.raw=t,e}!function(e){e.Trial="trial",e.License="license",e.Apps="apps"}(n||(n={}));var x,b,w,L,S,k,N,C,T,D,F,B,I=function(e){var t=e.to,n=e.from,r=e.subject,o=e.body,i=e.children,s=e.as,c=e.componentProps,l=void 0===c?{}:c,u="mailto:"+t+"?"+(n?"from="+encodeURIComponent(n)+"&":"")+(r?"subject="+encodeURIComponent(r)+"&":"")+(o?"body="+encodeURIComponent(o):"");return a.createElement(s||"a",Object.assign({href:u,"aria-label":"Send an email to "+t,onClick:function(e){e.preventDefault(),window.open(u,"_blank")}},l),i)},j=c.atom({theme:o.webLightTheme,language:"en",strings:{openDialog:"Open campaign dialog",deleteCampaign:"Delete this campaign?",tenantInformation:"Tenant Information",licensingType:"Licensing Type",startDate:"Start Date",endDate:"End Date",licenseKey:"License Key",generate:"Generate",cancel:"Cancel",tenantId:"Tenant Id",tenantUrl:"Tenant Url",applicationId:"Application Id",dateError:"End date must be after start date.",submit:"Generate",placeHolderTitle:"Try or Buy Application",placeHolderText:"To use this application, you need to buy a license. Please click on the button below to register and buy a license, or get 'Trial' license to try the application for free.",placeHolderTrialButton:"Try",placeHolderBuyButton:"Buy",placeHolderRegistryButton:"Buy",companyName:"Company Name",contactFirstName:"Contact First Name",contactLastName:"Contact Last Name",contactEmail:"Contact Email",register:"Register",messageLicenseWarning:"The License {0} will expire in {1} day(s) (expires on {2});",trial:"Trial",license:"License",apps:"Apps",contactFirstNameError:"First name is required",contactLastNameError:"Last name is required",contactEmailError:"format Email is invalid",companyNameError:"Company name is required",trialLicenseTitle:"Register for a trial license",trialLicenseText:"To use this application, you need to register for a trial license. Please fill in the form below to get a trial license.",firstName:"First Name",firstnamePlaceholder:"Enter your first name",lastName:"Last Name",lastnamePlaceholder:"Enter your last name",email:"Email",emailPlaceholder:"Enter your email",company:"Company",companyPlaceholder:"Enter your company",messageStatusBlocked:"Your {0} license has been blocked. Please contact support for assistance.",messageStatusExpired:"Your {0} license has expired at {1}. Please renew it to continue using the application.",messageStatusInvalid:"Your {0} license is invalid. This could be due to incorrect information or an issue with the license itself. Please contact support to request a new license.",messageStatusNotFound:"No valid license was found. This could be because you haven't yet requested. Please contact our support team to request a license and gain access to all features.",messageStatusGenericError:"An error occurred while validating your {0} license. Please contact support for assistance",messageStatusValid:"Your {0} license is valid until {1}. You have full access to the application.",messageStatusBlockedShort:"Your {0} license has been blocked.",messageStatusExpiredShort:"Your {0} license has expired at {1}",messageStatusInvalidShort:"Your {0} license is invalid.",messageStatusNotFoundShort:"No valid license was found, Start a trial or request a license for full access.",messageStatusGenericErrorShort:"An error occurred while validating your {0} license.",details:"Details",buyLicense:"Buy License",requestLicense:"Request License"},refresh:!1}),P=function(){return{formatString:a.useCallback((function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return e.replace(/{(\d+)}/g,(function(e,t){return void 0!==n[t]?n[t]:e}))}),[]),generateSalt:a.useCallback((function(e,t){return u.SHA256(e+":"+t).toString()}),[])}},A=function(e){var t=e.licenseStatus,n=e.onDismiss,r=e.licenseType,s=e.expiryDate,u={container:l.css(x||(x=E(["\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n padding: 7px;\n background-color: ",";\n flex: 1;\n "])),o.tokens.colorNeutralBackground1),title:l.css(b||(b=E(["\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: start;\n "]))),footer:l.css(w||(w=E(["\n justify-content: end;\n position: absolute;\n bottom: 20px;\n right: 20px;\n "])))},m=new Date(s).toLocaleDateString(),d=c.useAtomValue(j),p=d.tenantId,f=d.applicationId,g=d.applicationName,h=d.userInformation,y=d.strings,v=P().formatString,L=a.useCallback((function(){switch(t){case i.EStatus.blocked:return{message:v(y.messageStatusBlocked,r),actionLabel:"Contact Support"};case i.EStatus.expired:return{message:v(y.messageStatusExpired,r,m),actionLabel:"Renew License"};case i.EStatus.invalid:return{message:v(y.messageStatusInvalid,r),actionLabel:"Request New License"};case i.EStatus.notFound:return{message:y.messageStatusNotFound,actionLabel:"Request License"};case i.EStatus.genericError:return{message:v(y.messageStatusGenericError,""),actionLabel:"Contact Support"};case i.EStatus.valid:return{message:v(y.messageStatusValid,r,m),actionLabel:void 0};default:return}}),[t]),S=a.useMemo((function(){return L()}),[L]),k=a.useCallback((function(){var e,n=h.givenName,r=h.surname,a="Subject: Support Request from {0} {1}\n\nDear Support Team,\n\nI am reaching out to you because I am experiencing issues with my license. Here are my details:\n\n ** Tenant ID **: {2}\n ** Application ID **: {3} - {4}\n ** User First Name **: {5}\n ** User Last Name **: {6}\n ** Email**: {7}\n\n {8}\n\nBest regards,\n{9} {10}";return t===i.EStatus.notFound&&(a="Subject: Request for New License {0} {1}\n\nDear Support Team,\n\nI am just contacting you to request a license for the following product. Here are my details:\n\n ** Tenant ID **: {2}\n ** Application ID **: {3} - {4}\n ** User First Name **: {5}\n ** User Last Name **: {6}\n ** Email **: {7}\n\nBest regards,\n{8} {9}",S={actionLabel:"Request License",message:""}),v(a,n,r,p,f,g,n,r,h.mail,null==(e=S)?void 0:e.message,n,r)}),[p,f,h,S]);return S?a.createElement("div",{className:u.container},a.createElement(o.Text,null,S.message),a.createElement(o.CardFooter,{className:u.footer},S.actionLabel&&a.createElement(I,{to:"geral@spteck.com",from:null==h?void 0:h.mail,subject:"Support request - "+g,body:k(),as:o.Button,componentProps:{appearance:"primary",target:"_blank"}},S.actionLabel),a.createElement(o.Button,{appearance:"secondary",onClick:n},"Close"))):a.createElement(a.Fragment,null)},q=o.makeStyles({closeButton:{marginLeft:"auto",position:"absolute",top:"10px",right:"10px",zIndex:99999},divider:{width:"100%",height:"1px",backgroundColor:o.tokens.colorNeutralStroke1,marginTop:"6px"},renderHeaderContent:{display:"flex",flexDirection:"column",justifyContent:"flex-start",alignItems:"stretch",width:"100%"},renderHeaderHeader:y({display:"flex",flexDirection:"column",justifyContent:"flex-start"},o.shorthands.padding("10px"),{gap:"20px"}),renderHeaderFooter:y({display:"flex",flexDirection:"row",justifyContent:"flex-start"},o.shorthands.padding("20px"),{gap:"20px"}),renderHeaderBody:y({display:"flex",flexDirection:"column",justifyContent:"flex-start"},o.shorthands.padding("20px"),{gap:"20px"}),renderHeaderTitleContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",alignItems:"center"},renderHeaderTitle:{display:"-webkit-box","-webkit-line-clamp":"1","-webkit-box-orient":"vertical",textAlign:"start",textOverflow:"ellipsis",wordBreak:"break-word"},renderHeaderDescription:{display:"-webkit-box","-webkit-line-clamp":"4","-webkit-box-orient":"vertical",textAlign:"start",textOverflow:"ellipsis",wordBreak:"break-word"},dialogTitleAndDescriptionContainer:{display:"flex",flexDirection:"column",justifyContent:"start",alignItems:"start",paddingLeft:"10px",paddingRight:"20px"}}),R=function(e){var t=e.onDismiss,n=e.title,a=e.description,i=e.icon,c=q();return r.createElement(r.Fragment,null,r.createElement("div",{className:c.renderHeaderContent},r.createElement("div",{className:c.renderHeaderHeader},r.createElement(o.Button,{appearance:"subtle",className:c.closeButton,onClick:function(e){e.stopPropagation(),e.preventDefault(),t(!1)},icon:r.createElement(s.Dismiss24Regular,null)}),r.createElement("div",{className:c.renderHeaderTitleContainer},r.isValidElement(i)?i:r.createElement(m.Icon,{icon:i}),r.createElement("div",{className:c.dialogTitleAndDescriptionContainer},r.isValidElement(n)?n:r.createElement(o.Subtitle1,{className:c.renderHeaderTitle},n),r.isValidElement(a)?a:r.createElement(o.Caption1,{className:c.renderHeaderDescription},a)))),r.createElement("div",{className:c.divider})))},H=o.makeStyles({labelContainer:y({display:"flex",flexDirection:"row",justifyContent:"flex-start",alignItems:"center"},o.shorthands.gap("6px")),iconStyles:{width:"26px"},item:{paddingLeft:"15px"}}),O=function(e){var t=e.label,n=e.icon,a=e.isRequired,i=H();return r.createElement(r.Fragment,null,r.createElement("div",{className:i.labelContainer},n&&r.isValidElement(n)?n:r.createElement(m.Icon,{icon:n,className:i.iconStyles,width:"20px",height:"20px",color:o.tokens.colorBrandForeground1}),r.createElement(o.Caption1,{style:{color:o.tokens.colorBrandForeground1}},t),r.createElement(o.Caption1,{style:{color:o.tokens.colorPaletteRedForeground1}},a?" *":"")))},M=function(e){var t=r.useState({}),n=t[0],a=t[1],s=e.onTrialLicenseAdded,u=e.onDismiss,m=c.useAtomValue(j),p=m.userInformation,f=m.strings,g=m.tenantId,x=m.context,b=P().generateSalt,w=r.useState(void 0),N=w[0],C=w[1],T=i.useLicenseManager(g,null==x?void 0:x.manifest.id,b(g,null==x?void 0:x.manifest.id),x).requestTrialLicense,D=d.z.object({contactFirstName:d.z.string().min(1,f.contactFirstNameError),contactLastName:d.z.string().min(1,f.contactLastNameError),contactEmail:d.z.string().email(f.contactEmailError),contactCompany:d.z.string().min(1,f.contactCompanyError)}),F=r.useState({contactFirstName:null==p?void 0:p.givenName,contactLastName:null==p?void 0:p.surname,contactEmail:null==p?void 0:p.mail,contactCompany:""}),B=F[0],I=F[1],A=r.useCallback((function(e){var t=e.target,n=t.name,r=t.value;I((function(e){var t;return y({},e,((t={})[n]=r,t))}))}),[]),q={container:l.css(L||(L=E(["\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n padding: 7px;\n background-color: ",";\n "])),o.tokens.colorNeutralBackground1),title:l.css(S||(S=E(["\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: start;\n "]))),cardFooter:l.css(k||(k=E(["\n align-self: flex-end;\n margin-top: 15px;\n "])))},R=r.useCallback(function(){var e=h(v().mark((function e(t){var n,r;return v().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.preventDefault(),(n=D.safeParse(B)).success){e.next=8;break}r={},n.error.errors.forEach((function(e){r[e.path[0]]=e.message})),a(r),e.next=19;break;case 8:return a({}),e.prev=9,e.next=12,T(g,x.manifest.id,B.contactFirstName,B.contactLastName,B.contactEmail,B.contactCompany);case 12:s(),e.next=19;break;case 15:e.prev=15,e.t0=e.catch(9),console.error(e.t0),C(e.t0);case 19:case"end":return e.stop()}}),e,null,[[9,15]])})));return function(t){return e.apply(this,arguments)}}(),[B,s]);return r.createElement("div",{className:q.container},r.createElement("div",null,r.createElement(o.Body1Strong,{className:q.title},f.trialLicenseTitle),r.createElement(o.Body1,null,f.trialLicenseText)),r.createElement(r.Fragment,null,r.createElement(o.Field,{label:r.createElement(O,{label:f.firstName,isRequired:!0}),validationState:n.contactFirstName?"error":"none",validationMessage:n.contactFirstName||void 0},r.createElement(o.Input,{name:"contactFirstName",value:B.contactFirstName,onChange:A,placeholder:f.firstNamePlaceholder})),r.createElement(o.Field,{label:r.createElement(O,{label:f.lastName,isRequired:!0}),validationState:n.contactLastName?"error":"none",validationMessage:n.contactLastName||void 0},r.createElement(o.Input,{name:"contactLastName",value:B.contactLastName,onChange:A,placeholder:f.lastNamePlaceholder})),r.createElement(o.Field,{label:r.createElement(O,{label:f.email,isRequired:!0}),validationState:n.contactEmail?"error":"none",validationMessage:n.contactEmail||void 0},r.createElement(o.Input,{name:"contactEmail",value:B.contactEmail,onChange:A,placeholder:f.emailPlaceholder})),r.createElement(o.Field,{label:r.createElement(O,{label:f.company,isRequired:!0}),validationState:n.contactCompany?"error":"none",validationMessage:n.contactCompany||void 0},r.createElement(o.Input,{name:"contactCompany",value:B.contactCompany,onChange:A,placeholder:f.companyPlaceholder})),N&&r.createElement(o.MessageBar,{style:{marginTop:10,marginBottom:10},intent:"error"}," ",N.message),r.createElement(o.CardFooter,{className:q.cardFooter},r.createElement(o.Button,{appearance:"primary",onClick:R},f.register),r.createElement(o.Button,{appearance:"secondary",onClick:u},f.cancel))))},_=function(e){var t=e.licenseStatus,r=e.open,l=e.onDismiss,u=e.licenseType,m=e.expiryDate,d=c.useAtom(j),p=d[0],f=d[1],g=p.theme,h=p.applicationName,v=p.applicationIcon,E=p.strings,x=p.showApps,b=void 0!==x&&x,w=a.useState("trial"),L=w[0],S=w[1],k=a.useMemo((function(){var e=[{id:"trial",value:"trial",label:E.trial,icon:a.createElement(s.Clock20Regular,null)},{id:"license",value:"license",label:E.license,icon:a.createElement(s.Key20Regular,null)}];return b&&k.push({id:"apps",value:"apps",label:E.apps,icon:a.createElement(s.Apps20Regular,null)}),e}),[E]),N=a.useCallback((function(e,t){S(t.value)}),[]);a.useEffect((function(){var e,r=((e={})[i.EStatus.notFound]=n.Trial,e[i.EStatus.expired]=n.License,e[i.EStatus.invalid]=n.License,e[i.EStatus.blocked]=n.License,e[i.EStatus.genericError]=n.License,e[i.EStatus.valid]=n.License,e);S(r[t]||n.Trial)}),[t]);var C=a.useMemo((function(){switch(L){case"trial":return a.createElement(M,{onTrialLicenseAdded:function(){f(y({},p,{refresh:!0})),l()},onDismiss:l});case"license":return a.createElement(A,{licenseStatus:t,onDismiss:l,licenseType:u,expiryDate:m});case"apps":return a.createElement("div",null,"Apps");default:return a.createElement(a.Fragment,null)}}),[L,t,u,m]),T=a.useCallback((function(e){return(null==u?void 0:u.toLocaleLowerCase())!==n.Trial.toLocaleLowerCase()&&t.toLocaleLowerCase()!==i.EStatus.genericError.toLocaleLowerCase()||e.id.toLocaleLowerCase()!==n.Trial.toLocaleLowerCase()}),[u,t]);return a.createElement(o.FluentProvider,{theme:g},a.createElement(o.Dialog,{open:r,modalType:"modal"},a.createElement(o.DialogSurface,{style:{minHeight:300}},a.createElement(o.DialogTitle,null,a.createElement(R,{icon:v,title:h,onDismiss:l})),a.createElement(o.TabList,{selectedValue:L,onTabSelect:N,selectTabOnFocus:!0,size:"medium"},k.filter(T).map((function(e){return a.createElement(o.Tab,{key:e.id,value:e.value,icon:e.icon},e.label)}))),C,a.createElement(o.DialogActions,null))))},z=function(e){var t=c.useAtomValue(j),n=t.theme,a=t.applicationName,s=t.applicationIcon,u=t.placeHolderText,m=t.strings,d={container:l.css(N||(N=E(["\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n margin-bottom: 30px;\n "]))),titleContainer:l.css(C||(C=E(["\n display: flex;\n flex-direction: column;\n width: 100%;\n justify-content: center;\n align-items: center;\n gap: 10px;\n "]))),titleAndIcon:l.css(T||(T=E(["\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n "]))),informationPanel:l.css(D||(D=E(["\n padding: 20px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n background-color: ",";\n "])),o.tokens.colorNeutralBackground3),infoRow:l.css(F||(F=E(["\n display: flex;\n gap: 10px;\n justify-content: center;\n align-items: center;\n width: 100%;\n "]))),title:l.css(B||(B=E(["\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n "])))},p=r.useState(!1),f=p[0],g=p[1],h=e.licenseStatus,y=e.licenseType,v=e.expiryDate,x=P().formatString,b=r.useCallback((function(){g(!1)}),[]),w=r.useMemo((function(){return new Date(v).toLocaleDateString()}),[v]),L=r.useCallback((function(){switch(h){case i.EStatus.blocked:return{message:x(m.messageStatusBlockedShort,y),actionLabel:m.details};case i.EStatus.expired:return{message:x(m.messageStatusExpiredShort,y,w),actionLabel:m.buyLicense};case i.EStatus.invalid:return{message:x(m.messageStatusInvalidShort,null!=y?y:""),actionLabel:m.details};case i.EStatus.notFound:return{message:x(m.messageStatusNotFoundShort),actionLabel:m.requestLicense};case i.EStatus.genericError:return{message:x(m.messageStatusGenericErrorShort,null!=y?y:""),actionLabel:m.details};default:return}}),[h]),S=r.useMemo((function(){return L()}),[L]);return r.createElement(r.Fragment,null,r.createElement(o.FluentProvider,{theme:n},r.createElement("div",{className:d.informationPanel},r.createElement("div",{className:d.infoRow},r.createElement("div",{className:d.title},r.createElement("div",{className:d.titleContainer},r.createElement("div",{className:d.titleAndIcon},s," ",r.createElement(o.Subtitle1,null," ",a)," "),r.createElement(o.Body1,null,u)))),r.createElement("div",{className:d.infoRow},r.createElement(o.Body1Strong,null," ",null==S?void 0:S.message)),r.createElement("div",{className:d.infoRow},r.createElement(o.DialogActions,{style:{marginTop:15}},r.createElement(o.Button,{appearance:"primary",onClick:function(){g(!0)}},null==S?void 0:S.actionLabel)),f&&r.createElement(_,{licenseStatus:h,licenseType:y,expiryDate:v,open:f,onDismiss:b})))))},G=function(e){var t=e.message,n=e.onAction;return r.createElement(r.Fragment,null,r.createElement(o.MessageBar,{intent:"warning"},r.createElement(o.MessageBarBody,null,r.createElement(o.MessageBarTitle,null,"License Manager"),t),r.createElement(o.MessageBarActions,null,r.createElement(o.Button,{onClick:n},"Details"))))};function V(e){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24"},e),a.createElement("g",{fill:"none",stroke:"currentColor",strokeWidth:1.5},a.createElement("path",{d:"M2 6.95c0-.883 0-1.324.07-1.692A4 4 0 0 1 5.257 2.07C5.626 2 6.068 2 6.95 2c.386 0 .58 0 .766.017a4 4 0 0 1 2.18.904c.144.119.28.255.554.529L11 4c.816.816 1.224 1.224 1.712 1.495a4 4 0 0 0 .848.352C14.098 6 14.675 6 15.828 6h.374c2.632 0 3.949 0 4.804.77q.119.105.224.224c.77.855.77 2.172.77 4.804V14c0 3.771 0 5.657-1.172 6.828S17.771 22 14 22h-4c-3.771 0-5.657 0-6.828-1.172S2 17.771 2 14z"}),a.createElement("path",{strokeLinecap:"round",d:"m10.5 15l3-3m0 3l-3-3"})))}var U={container:l.css(y({display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",backgroundColor:o.tokens.colorNeutralBackground2,borderRadius:o.tokens.borderRadiusMedium},o.shorthands.padding(o.tokens.spacingVerticalXL,o.tokens.spacingHorizontalXL),{color:o.tokens.colorNeutralForeground1})),icon:l.css({marginTop:o.tokens.spacingHorizontalXL,fontSize:"50px",marginBottom:o.tokens.spacingHorizontalXL,color:o.tokens.colorBrandBackground}),message:l.css({marginBottom:o.tokens.spacingHorizontalXL})},Y=function(e){var t=e.message;return a.createElement("div",{className:U.container},a.createElement(o.Subtitle1,null,"News Feed - Application"),a.createElement(V,{className:U.icon}),a.createElement(o.Body1Strong,{className:U.message},t))};exports.LicensePlaceHolder=z,exports.LicenseProvider=function(t){var n=t.theme,a=void 0===n?o.teamsLightTheme:n,s=t.context,u=t.children,m=t.tenantId,d=t.language,g=void 0===d?"en":d,E=t.applicationId,x=r.useState(void 0),b=x[0],w=x[1],L=r.useState(!0),S=L[0],k=L[1],N=r.useState(),C=N[0],T=N[1],D=c.useAtom(j),F=D[0],B=D[1],I=i.useUser(s).userInformation,A=r.useState(!1),q=A[0],R=A[1],H=P().formatString,O=F.strings,M=F.refresh,V=P(),U=C||{},X=U.status,K=U.licenseType,W=U.expiryDate,J=i.useLicenseManager(m,E,(0,V.generateSalt)(m,E),s).checkAndUpdateLicensing,Q=r.useMemo((function(){return{root:l.css({backgroundColor:"transparent",padding:20})}}),[]);r.useEffect((function(){h(v().mark((function n(){var r;return v().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,new Promise((function(t){t(e(require("./loc/"+g+".json")))}));case 3:return r=n.sent,B((function(e){return y({},e,t,{strings:r,userInformation:I})})),n.next=7,J();case 7:T(n.sent),k(!1),n.next=16;break;case 12:n.prev=12,n.t0=n.catch(0),n.t0 instanceof Error&&w(n.t0),k(!1);case 16:case"end":return n.stop()}}),n,null,[[0,12]])})))()}),[I]);var Z=r.useCallback((function(e){var t=e.error;return console.error("[LicenseManager:Error: "+t.message),r.createElement(Y,{message:t.message})}),[]),$=r.useCallback((function(){R(!0)}),[]);r.useEffect((function(){h(v().mark((function e(){return v().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,B((function(e){return y({},e,{refresh:!1})})),e.next=4,J();case 4:T(e.sent),k(!1),e.next=13;break;case 9:e.prev=9,e.t0=e.catch(0),e.t0 instanceof Error&&w(e.t0),k(!1);case 13:case"end":return e.stop()}}),e,null,[[0,9]])})))()}),[M]);var ee=r.useCallback((function(){R(!1)}),[]),te=r.useCallback((function(e,t,n){var a=new Date(t),o=new Date,i=a.toLocaleDateString(),s=f.differenceInDays(a,o),c="";return s<=n?(c=H(O.messageLicenseWarning,e,s,i),r.createElement(G,{message:c,onAction:$})):r.createElement(r.Fragment,null)}),[W]),ne=r.useCallback((function(){switch(X){case i.EStatus.valid:return r.createElement(r.Fragment,null,te(K,W,30),u);case i.EStatus.genericError:case i.EStatus.notFound:case i.EStatus.blocked:case i.EStatus.expired:case i.EStatus.invalid:return r.createElement(z,{licenseStatus:X,licenseType:K,expiryDate:W})}return r.createElement(r.Fragment,null)}),[C,M]);return S?null:b?r.createElement(Y,{message:b.message}):r.createElement(r.Fragment,null,r.createElement(o.IdPrefixProvider,{value:"news-feed-"},r.createElement(o.FluentProvider,{theme:a,className:Q.root},r.createElement(p.ErrorBoundary,{fallbackRender:Z},ne(),q&&r.createElement(_,{licenseStatus:X,licenseType:K,expiryDate:W,open:q,onDismiss:ee})))))};
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})})),t.default=e,t}Object.defineProperty(exports,"__esModule",{value:!0});var t,n,r=require("react"),a=(t=r)&&"object"==typeof t&&"default"in t?t.default:t,o=require("@fluentui/react-components"),i=require("@spteck/react-hooks-library"),s=require("@fluentui/react-icons"),c=require("jotai"),l=require("@emotion/css"),u=require("crypto-js"),m=require("@iconify/react"),d=require("zod"),p=require("react-error-boundary"),f=require("date-fns");function g(e,t,n,r,a,o,i){try{var s=e[o](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,a)}function h(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function i(e){g(o,r,a,i,s,"next",e)}function s(e){g(o,r,a,i,s,"throw",e)}i(void 0)}))}}function y(){return(y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function v(){v=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var o=Object.create((t&&t.prototype instanceof h?t:h).prototype),i=new F(r||[]);return a(o,"_invoke",{value:N(e,n,i)}),o}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var d="suspendedStart",p="executing",f="completed",g={};function h(){}function y(){}function E(){}var x={};l(x,i,(function(){return this}));var b=Object.getPrototypeOf,w=b&&b(b(B([])));w&&w!==n&&r.call(w,i)&&(x=w);var L=E.prototype=h.prototype=Object.create(x);function S(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function n(a,o,i,s){var c=m(e[a],e,o);if("throw"!==c.type){var l=c.arg,u=l.value;return u&&"object"==typeof u&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,i,s)}),(function(e){n("throw",e,i,s)})):t.resolve(u).then((function(e){l.value=e,i(l)}),(function(e){return n("throw",e,i,s)}))}s(c.arg)}var o;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return o=o?o.then(a,a):a()}})}function N(t,n,r){var a=d;return function(o,i){if(a===p)throw Error("Generator is already running");if(a===f){if("throw"===o)throw i;return{value:e,done:!0}}for(r.method=o,r.arg=i;;){var s=r.delegate;if(s){var c=C(s,r);if(c){if(c===g)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===d)throw a=f,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=p;var l=m(t,n,r);if("normal"===l.type){if(a=r.done?f:"suspendedYield",l.arg===g)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(a=f,r.method="throw",r.arg=l.arg)}}}function C(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,C(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var o=m(a,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,g;var i=o.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function D(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function B(t){if(t||""===t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(typeof t+" is not iterable")}return y.prototype=E,a(L,"constructor",{value:E,configurable:!0}),a(E,"constructor",{value:y,configurable:!0}),y.displayName=l(E,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,E):(e.__proto__=E,l(e,c,"GeneratorFunction")),e.prototype=Object.create(L),e},t.awrap=function(e){return{__await:e}},S(k.prototype),l(k.prototype,s,(function(){return this})),t.AsyncIterator=k,t.async=function(e,n,r,a,o){void 0===o&&(o=Promise);var i=new k(u(e,n,r,a),o);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},S(L),l(L,c,"Generator"),l(L,i,(function(){return this})),l(L,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=B,F.prototype={constructor:F,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(D),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function a(r,a){return s.type="throw",s.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(c&&l){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!l)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),D(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;D(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:B(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function E(e,t){return t||(t=e.slice(0)),e.raw=t,e}!function(e){e.Trial="trial",e.License="license",e.Apps="apps"}(n||(n={}));var x,b,w,L,S,k,N,C,T,D,F,B,I=function(e){var t=e.to,n=e.from,r=e.subject,o=e.body,i=e.children,s=e.as,c=e.componentProps,l=void 0===c?{}:c,u="mailto:"+t+"?"+(n?"from="+encodeURIComponent(n)+"&":"")+(r?"subject="+encodeURIComponent(r)+"&":"")+(o?"body="+encodeURIComponent(o):"");return a.createElement(s||"a",Object.assign({href:u,"aria-label":"Send an email to "+t,onClick:function(e){e.preventDefault(),window.open(u,"_blank")}},l),i)},j=c.atom({theme:o.webLightTheme,language:"en",strings:{openDialog:"Open campaign dialog",deleteCampaign:"Delete this campaign?",tenantInformation:"Tenant Information",licensingType:"Licensing Type",startDate:"Start Date",endDate:"End Date",licenseKey:"License Key",generate:"Generate",cancel:"Cancel",tenantId:"Tenant Id",tenantUrl:"Tenant Url",applicationId:"Application Id",dateError:"End date must be after start date.",submit:"Generate",placeHolderTitle:"Try or Buy Application",placeHolderText:"To use this application, you need to buy a license. Please click on the button below to register and buy a license, or get 'Trial' license to try the application for free.",placeHolderTrialButton:"Try",placeHolderBuyButton:"Buy",placeHolderRegistryButton:"Buy",companyName:"Company Name",contactFirstName:"Contact First Name",contactLastName:"Contact Last Name",contactEmail:"Contact Email",register:"Register",messageLicenseWarning:"The License {0} will expire in {1} day(s) (expires on {2});",trial:"Trial",license:"License",apps:"Apps",contactFirstNameError:"First name is required",contactLastNameError:"Last name is required",contactEmailError:"format Email is invalid",companyNameError:"Company name is required",trialLicenseTitle:"Register for a trial license",trialLicenseText:"To use this application, you need to register for a trial license. Please fill in the form below to get a trial license.",firstName:"First Name",firstnamePlaceholder:"Enter your first name",lastName:"Last Name",lastnamePlaceholder:"Enter your last name",email:"Email",emailPlaceholder:"Enter your email",company:"Company",companyPlaceholder:"Enter your company",messageStatusBlocked:"Your {0} license has been blocked. Please contact support for assistance.",messageStatusExpired:"Your {0} license has expired at {1}. Please renew it to continue using the application.",messageStatusInvalid:"Your {0} license is invalid. This could be due to incorrect information or an issue with the license itself. Please contact support to request a new license.",messageStatusNotFound:"No valid license was found. This could be because you haven't yet requested. Please contact our support team to request a license and gain access to all features.",messageStatusGenericError:"An error occurred while validating your {0} license. Please contact support for assistance",messageStatusValid:"Your {0} license is valid until {1}. You have full access to the application.",messageStatusBlockedShort:"Your {0} license has been blocked.",messageStatusExpiredShort:"Your {0} license has expired at {1}",messageStatusInvalidShort:"Your {0} license is invalid.",messageStatusNotFoundShort:"No valid license was found, Start a trial or request a license for full access.",messageStatusGenericErrorShort:"An error occurred while validating your {0} license.",details:"Details",buyLicense:"Buy License",requestLicense:"Request License"},refresh:!1}),P=function(){return{formatString:a.useCallback((function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return e.replace(/{(\d+)}/g,(function(e,t){return void 0!==n[t]?n[t]:e}))}),[]),generateSalt:a.useCallback((function(e,t){return u.SHA256(e+":"+t).toString()}),[])}},A=function(e){var t=e.licenseStatus,n=e.onDismiss,r=e.licenseType,s=e.expiryDate,u={container:l.css(x||(x=E(["\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n padding: 7px;\n background-color: ",";\n flex: 1;\n "])),o.tokens.colorNeutralBackground1),title:l.css(b||(b=E(["\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: start;\n "]))),footer:l.css(w||(w=E(["\n justify-content: end;\n position: absolute;\n bottom: 20px;\n right: 20px;\n "])))},m=new Date(s).toLocaleDateString(),d=c.useAtomValue(j),p=d.tenantId,f=d.applicationId,g=d.applicationName,h=d.userInformation,y=d.strings,v=P().formatString,L=a.useCallback((function(){switch(t){case i.EStatus.blocked:return{message:v(y.messageStatusBlocked,r),actionLabel:"Contact Support"};case i.EStatus.expired:return{message:v(y.messageStatusExpired,r,m),actionLabel:"Renew License"};case i.EStatus.invalid:return{message:v(y.messageStatusInvalid,r),actionLabel:"Request New License"};case i.EStatus.notFound:return{message:y.messageStatusNotFound,actionLabel:"Request License"};case i.EStatus.genericError:return{message:v(y.messageStatusGenericError,""),actionLabel:"Contact Support"};case i.EStatus.valid:return{message:v(y.messageStatusValid,r,m),actionLabel:void 0};default:return}}),[t]),S=a.useMemo((function(){return L()}),[L]),k=a.useCallback((function(){var e,n=h||{},r=n.givenName,a=n.surname,o="Subject: Support Request from {0} {1}\n\nDear Support Team,\n\nI am reaching out to you because I am experiencing issues with my license. Here are my details:\n\n ** Tenant ID **: {2}\n ** Application ID **: {3} - {4}\n ** User First Name **: {5}\n ** User Last Name **: {6}\n ** Email**: {7}\n\n {8}\n\nBest regards,\n{9} {10}";return t===i.EStatus.notFound&&(o="Subject: Request for New License {0} {1}\n\nDear Support Team,\n\nI am just contacting you to request a license for the following product. Here are my details:\n\n ** Tenant ID **: {2}\n ** Application ID **: {3} - {4}\n ** User First Name **: {5}\n ** User Last Name **: {6}\n ** Email **: {7}\n\nBest regards,\n{8} {9}",S={actionLabel:"Request License",message:""}),v(o,r,a,p,f,g,r,a,n.mail,null==(e=S)?void 0:e.message,r,a)}),[p,f,h,S]);return S?a.createElement("div",{className:u.container},a.createElement(o.Text,null,S.message),a.createElement(o.CardFooter,{className:u.footer},S.actionLabel&&a.createElement(I,{to:"geral@spteck.com",from:null==h?void 0:h.mail,subject:"Support request - "+g,body:k(),as:o.Button,componentProps:{appearance:"primary",target:"_blank"}},S.actionLabel),a.createElement(o.Button,{appearance:"secondary",onClick:n},"Close"))):a.createElement(a.Fragment,null)},q=o.makeStyles({closeButton:{marginLeft:"auto",position:"absolute",top:"10px",right:"10px",zIndex:99999},divider:{width:"100%",height:"1px",backgroundColor:o.tokens.colorNeutralStroke1,marginTop:"6px"},renderHeaderContent:{display:"flex",flexDirection:"column",justifyContent:"flex-start",alignItems:"stretch",width:"100%"},renderHeaderHeader:y({display:"flex",flexDirection:"column",justifyContent:"flex-start"},o.shorthands.padding("10px"),{gap:"20px"}),renderHeaderFooter:y({display:"flex",flexDirection:"row",justifyContent:"flex-start"},o.shorthands.padding("20px"),{gap:"20px"}),renderHeaderBody:y({display:"flex",flexDirection:"column",justifyContent:"flex-start"},o.shorthands.padding("20px"),{gap:"20px"}),renderHeaderTitleContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",alignItems:"center"},renderHeaderTitle:{display:"-webkit-box","-webkit-line-clamp":"1","-webkit-box-orient":"vertical",textAlign:"start",textOverflow:"ellipsis",wordBreak:"break-word"},renderHeaderDescription:{display:"-webkit-box","-webkit-line-clamp":"4","-webkit-box-orient":"vertical",textAlign:"start",textOverflow:"ellipsis",wordBreak:"break-word"},dialogTitleAndDescriptionContainer:{display:"flex",flexDirection:"column",justifyContent:"start",alignItems:"start",paddingLeft:"10px",paddingRight:"20px"}}),R=function(e){var t=e.onDismiss,n=e.title,a=e.description,i=e.icon,c=q();return r.createElement(r.Fragment,null,r.createElement("div",{className:c.renderHeaderContent},r.createElement("div",{className:c.renderHeaderHeader},r.createElement(o.Button,{appearance:"subtle",className:c.closeButton,onClick:function(e){e.stopPropagation(),e.preventDefault(),t(!1)},icon:r.createElement(s.Dismiss24Regular,null)}),r.createElement("div",{className:c.renderHeaderTitleContainer},r.isValidElement(i)?i:r.createElement(m.Icon,{icon:i}),r.createElement("div",{className:c.dialogTitleAndDescriptionContainer},r.isValidElement(n)?n:r.createElement(o.Subtitle1,{className:c.renderHeaderTitle},n),r.isValidElement(a)?a:r.createElement(o.Caption1,{className:c.renderHeaderDescription},a)))),r.createElement("div",{className:c.divider})))},H=o.makeStyles({labelContainer:y({display:"flex",flexDirection:"row",justifyContent:"flex-start",alignItems:"center"},o.shorthands.gap("6px")),iconStyles:{width:"26px"},item:{paddingLeft:"15px"}}),O=function(e){var t=e.label,n=e.icon,a=e.isRequired,i=H();return r.createElement(r.Fragment,null,r.createElement("div",{className:i.labelContainer},n&&r.isValidElement(n)?n:r.createElement(m.Icon,{icon:n,className:i.iconStyles,width:"20px",height:"20px",color:o.tokens.colorBrandForeground1}),r.createElement(o.Caption1,{style:{color:o.tokens.colorBrandForeground1}},t),r.createElement(o.Caption1,{style:{color:o.tokens.colorPaletteRedForeground1}},a?" *":"")))},M=function(e){var t=r.useState({}),n=t[0],a=t[1],s=e.onTrialLicenseAdded,u=e.onDismiss,m=c.useAtomValue(j),p=m.userInformation,f=m.strings,g=m.tenantId,x=m.context,b=P().generateSalt,w=r.useState(void 0),N=w[0],C=w[1],T=i.useLicenseManager(g,null==x?void 0:x.manifest.id,b(g,null==x?void 0:x.manifest.id),x).requestTrialLicense,D=d.z.object({contactFirstName:d.z.string().min(1,f.contactFirstNameError),contactLastName:d.z.string().min(1,f.contactLastNameError),contactEmail:d.z.string().email(f.contactEmailError),contactCompany:d.z.string().min(1,f.contactCompanyError)}),F=r.useState({contactFirstName:null==p?void 0:p.givenName,contactLastName:null==p?void 0:p.surname,contactEmail:null==p?void 0:p.mail,contactCompany:""}),B=F[0],I=F[1],A=r.useCallback((function(e){var t=e.target,n=t.name,r=t.value;I((function(e){var t;return y({},e,((t={})[n]=r,t))}))}),[]),q={container:l.css(L||(L=E(["\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n padding: 7px;\n background-color: ",";\n "])),o.tokens.colorNeutralBackground1),title:l.css(S||(S=E(["\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: start;\n "]))),cardFooter:l.css(k||(k=E(["\n align-self: flex-end;\n margin-top: 15px;\n "])))},R=r.useCallback(function(){var e=h(v().mark((function e(t){var n,r;return v().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.preventDefault(),(n=D.safeParse(B)).success){e.next=8;break}r={},n.error.errors.forEach((function(e){r[e.path[0]]=e.message})),a(r),e.next=19;break;case 8:return a({}),e.prev=9,e.next=12,T(g,x.manifest.id,B.contactFirstName,B.contactLastName,B.contactEmail,B.contactCompany);case 12:s(),e.next=19;break;case 15:e.prev=15,e.t0=e.catch(9),console.error(e.t0),C(e.t0);case 19:case"end":return e.stop()}}),e,null,[[9,15]])})));return function(t){return e.apply(this,arguments)}}(),[B,s]);return r.createElement("div",{className:q.container},r.createElement("div",null,r.createElement(o.Body1Strong,{className:q.title},f.trialLicenseTitle),r.createElement(o.Body1,null,f.trialLicenseText)),r.createElement(r.Fragment,null,r.createElement(o.Field,{label:r.createElement(O,{label:f.firstName,isRequired:!0}),validationState:n.contactFirstName?"error":"none",validationMessage:n.contactFirstName||void 0},r.createElement(o.Input,{name:"contactFirstName",value:B.contactFirstName,onChange:A,placeholder:f.firstNamePlaceholder})),r.createElement(o.Field,{label:r.createElement(O,{label:f.lastName,isRequired:!0}),validationState:n.contactLastName?"error":"none",validationMessage:n.contactLastName||void 0},r.createElement(o.Input,{name:"contactLastName",value:B.contactLastName,onChange:A,placeholder:f.lastNamePlaceholder})),r.createElement(o.Field,{label:r.createElement(O,{label:f.email,isRequired:!0}),validationState:n.contactEmail?"error":"none",validationMessage:n.contactEmail||void 0},r.createElement(o.Input,{name:"contactEmail",value:B.contactEmail,onChange:A,placeholder:f.emailPlaceholder})),r.createElement(o.Field,{label:r.createElement(O,{label:f.company,isRequired:!0}),validationState:n.contactCompany?"error":"none",validationMessage:n.contactCompany||void 0},r.createElement(o.Input,{name:"contactCompany",value:B.contactCompany,onChange:A,placeholder:f.companyPlaceholder})),N&&r.createElement(o.MessageBar,{style:{marginTop:10,marginBottom:10},intent:"error"}," ",N.message),r.createElement(o.CardFooter,{className:q.cardFooter},r.createElement(o.Button,{appearance:"primary",onClick:R},f.register),r.createElement(o.Button,{appearance:"secondary",onClick:u},f.cancel))))},_=function(e){var t=e.licenseStatus,r=e.open,l=e.onDismiss,u=e.licenseType,m=e.expiryDate,d=c.useAtom(j),p=d[0],f=d[1],g=p.theme,h=p.applicationName,v=p.applicationIcon,E=p.strings,x=p.showApps,b=void 0!==x&&x,w=a.useState("trial"),L=w[0],S=w[1],k=a.useMemo((function(){var e=[{id:"trial",value:"trial",label:E.trial,icon:a.createElement(s.Clock20Regular,null)},{id:"license",value:"license",label:E.license,icon:a.createElement(s.Key20Regular,null)}];return b&&k.push({id:"apps",value:"apps",label:E.apps,icon:a.createElement(s.Apps20Regular,null)}),e}),[E]),N=a.useCallback((function(e,t){S(t.value)}),[]);a.useEffect((function(){var e,r=((e={})[i.EStatus.notFound]=n.Trial,e[i.EStatus.expired]=n.License,e[i.EStatus.invalid]=n.License,e[i.EStatus.blocked]=n.License,e[i.EStatus.genericError]=n.License,e[i.EStatus.valid]=n.License,e);S(r[t]||n.Trial)}),[t]);var C=a.useMemo((function(){switch(L){case"trial":return a.createElement(M,{onTrialLicenseAdded:function(){f(y({},p,{refresh:!0})),l()},onDismiss:l});case"license":return a.createElement(A,{licenseStatus:t,onDismiss:l,licenseType:u,expiryDate:m});case"apps":return a.createElement("div",null,"Apps");default:return a.createElement(a.Fragment,null)}}),[L,t,u,m]),T=a.useCallback((function(e){return(null==u?void 0:u.toLocaleLowerCase())!==n.Trial.toLocaleLowerCase()&&t.toLocaleLowerCase()!==i.EStatus.genericError.toLocaleLowerCase()||e.id.toLocaleLowerCase()!==n.Trial.toLocaleLowerCase()}),[u,t]);return a.createElement(o.FluentProvider,{theme:g},a.createElement(o.Dialog,{open:r,modalType:"modal"},a.createElement(o.DialogSurface,{style:{minHeight:300}},a.createElement(o.DialogTitle,null,a.createElement(R,{icon:v,title:h,onDismiss:l})),a.createElement(o.TabList,{selectedValue:L,onTabSelect:N,selectTabOnFocus:!0,size:"medium"},k.filter(T).map((function(e){return a.createElement(o.Tab,{key:e.id,value:e.value,icon:e.icon},e.label)}))),C,a.createElement(o.DialogActions,null))))},z=function(e){var t=c.useAtomValue(j),n=t.theme,a=t.applicationName,s=t.applicationIcon,u=t.placeHolderText,m=t.strings,d={container:l.css(N||(N=E(["\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n margin-top: 10px;\n margin-bottom: 30px;\n "]))),titleContainer:l.css(C||(C=E(["\n display: flex;\n flex-direction: column;\n width: 100%;\n justify-content: center;\n align-items: center;\n gap: 10px;\n "]))),titleAndIcon:l.css(T||(T=E(["\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n "]))),informationPanel:l.css(D||(D=E(["\n padding: 20px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n background-color: ",";\n "])),o.tokens.colorNeutralBackground3),infoRow:l.css(F||(F=E(["\n display: flex;\n gap: 10px;\n justify-content: center;\n align-items: center;\n width: 100%;\n "]))),title:l.css(B||(B=E(["\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n "])))},p=r.useState(!1),f=p[0],g=p[1],h=e.licenseStatus,y=e.licenseType,v=e.expiryDate,x=P().formatString,b=r.useCallback((function(){g(!1)}),[]),w=r.useMemo((function(){return new Date(v).toLocaleDateString()}),[v]),L=r.useCallback((function(){switch(h){case i.EStatus.blocked:return{message:x(m.messageStatusBlockedShort,y),actionLabel:m.details};case i.EStatus.expired:return{message:x(m.messageStatusExpiredShort,y,w),actionLabel:m.buyLicense};case i.EStatus.invalid:return{message:x(m.messageStatusInvalidShort,null!=y?y:""),actionLabel:m.details};case i.EStatus.notFound:return{message:x(m.messageStatusNotFoundShort),actionLabel:m.requestLicense};case i.EStatus.genericError:return{message:x(m.messageStatusGenericErrorShort,null!=y?y:""),actionLabel:m.details};default:return}}),[h]),S=r.useMemo((function(){return L()}),[L]);return r.createElement(r.Fragment,null,r.createElement(o.FluentProvider,{theme:n},r.createElement("div",{className:d.informationPanel},r.createElement("div",{className:d.infoRow},r.createElement("div",{className:d.title},r.createElement("div",{className:d.titleContainer},r.createElement("div",{className:d.titleAndIcon},s," ",r.createElement(o.Subtitle1,null," ",a)," "),r.createElement(o.Body1,null,u)))),r.createElement("div",{className:d.infoRow},r.createElement(o.Body1Strong,null," ",null==S?void 0:S.message)),r.createElement("div",{className:d.infoRow},r.createElement(o.DialogActions,{style:{marginTop:15}},r.createElement(o.Button,{appearance:"primary",onClick:function(){g(!0)}},null==S?void 0:S.actionLabel)),f&&r.createElement(_,{licenseStatus:h,licenseType:y,expiryDate:v,open:f,onDismiss:b})))))},G=function(e){var t=e.message,n=e.onAction;return r.createElement(r.Fragment,null,r.createElement(o.MessageBar,{intent:"warning"},r.createElement(o.MessageBarBody,null,r.createElement(o.MessageBarTitle,null,"License Manager"),t),r.createElement(o.MessageBarActions,null,r.createElement(o.Button,{onClick:n},"Details"))))};function V(e){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24"},e),a.createElement("g",{fill:"none",stroke:"currentColor",strokeWidth:1.5},a.createElement("path",{d:"M2 6.95c0-.883 0-1.324.07-1.692A4 4 0 0 1 5.257 2.07C5.626 2 6.068 2 6.95 2c.386 0 .58 0 .766.017a4 4 0 0 1 2.18.904c.144.119.28.255.554.529L11 4c.816.816 1.224 1.224 1.712 1.495a4 4 0 0 0 .848.352C14.098 6 14.675 6 15.828 6h.374c2.632 0 3.949 0 4.804.77q.119.105.224.224c.77.855.77 2.172.77 4.804V14c0 3.771 0 5.657-1.172 6.828S17.771 22 14 22h-4c-3.771 0-5.657 0-6.828-1.172S2 17.771 2 14z"}),a.createElement("path",{strokeLinecap:"round",d:"m10.5 15l3-3m0 3l-3-3"})))}var U={container:l.css(y({display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",backgroundColor:o.tokens.colorNeutralBackground2,borderRadius:o.tokens.borderRadiusMedium},o.shorthands.padding(o.tokens.spacingVerticalXL,o.tokens.spacingHorizontalXL),{color:o.tokens.colorNeutralForeground1})),icon:l.css({marginTop:o.tokens.spacingHorizontalXL,fontSize:"50px",marginBottom:o.tokens.spacingHorizontalXL,color:o.tokens.colorBrandBackground}),message:l.css({marginBottom:o.tokens.spacingHorizontalXL})},Y=function(e){var t=e.message;return a.createElement("div",{className:U.container},a.createElement(o.Subtitle1,null,"News Feed - Application"),a.createElement(V,{className:U.icon}),a.createElement(o.Body1Strong,{className:U.message},t))};exports.LicensePlaceHolder=z,exports.LicenseProvider=function(t){var n=t.theme,a=void 0===n?o.teamsLightTheme:n,s=t.context,u=t.children,m=t.tenantId,d=t.language,g=void 0===d?"en":d,E=t.applicationId,x=r.useState(void 0),b=x[0],w=x[1],L=r.useState(!0),S=L[0],k=L[1],N=r.useState(),C=N[0],T=N[1],D=c.useAtom(j),F=D[0],B=D[1],I=i.useUser(s).userInformation,A=r.useState(!1),q=A[0],R=A[1],H=P().formatString,O=F.strings,M=F.refresh,V=P(),U=C||{},X=U.status,K=U.licenseType,W=U.expiryDate,J=i.useLicenseManager(m,E,(0,V.generateSalt)(m,E),s).checkAndUpdateLicensing,Q=r.useMemo((function(){return{root:l.css({backgroundColor:"transparent",padding:20})}}),[]);r.useEffect((function(){h(v().mark((function n(){var r;return v().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,new Promise((function(t){t(e(require("./loc/"+g+".json")))}));case 3:return r=n.sent,B((function(e){return y({},e,t,{strings:r,userInformation:I})})),n.next=7,J();case 7:T(n.sent),k(!1),n.next=16;break;case 12:n.prev=12,n.t0=n.catch(0),n.t0 instanceof Error&&w(n.t0),k(!1);case 16:case"end":return n.stop()}}),n,null,[[0,12]])})))()}),[I]);var Z=r.useCallback((function(e){var t=e.error;return console.error("[LicenseManager:Error: "+t.message),r.createElement(Y,{message:t.message})}),[]),$=r.useCallback((function(){R(!0)}),[]);r.useEffect((function(){h(v().mark((function e(){return v().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,B((function(e){return y({},e,{refresh:!1})})),e.next=4,J();case 4:T(e.sent),k(!1),e.next=13;break;case 9:e.prev=9,e.t0=e.catch(0),e.t0 instanceof Error&&w(e.t0),k(!1);case 13:case"end":return e.stop()}}),e,null,[[0,9]])})))()}),[M]);var ee=r.useCallback((function(){R(!1)}),[]),te=r.useCallback((function(e,t,n){var a=new Date(t),o=new Date,i=a.toLocaleDateString(),s=f.differenceInDays(a,o),c="";return s<=n?(c=H(O.messageLicenseWarning,e,s,i),r.createElement(G,{message:c,onAction:$})):r.createElement(r.Fragment,null)}),[W]),ne=r.useCallback((function(){switch(X){case i.EStatus.valid:return r.createElement(r.Fragment,null,te(K,W,30),u);case i.EStatus.genericError:case i.EStatus.notFound:case i.EStatus.blocked:case i.EStatus.expired:case i.EStatus.invalid:return r.createElement(z,{licenseStatus:X,licenseType:K,expiryDate:W})}return r.createElement(r.Fragment,null)}),[C,M]);return S?null:b?r.createElement(Y,{message:b.message}):r.createElement(r.Fragment,null,r.createElement(o.IdPrefixProvider,{value:"news-feed-"},r.createElement(o.FluentProvider,{theme:a,className:Q.root},r.createElement(p.ErrorBoundary,{fallbackRender:Z},ne(),q&&r.createElement(_,{licenseStatus:X,licenseType:K,expiryDate:W,open:q,onDismiss:ee})))))};
2
2
  //# sourceMappingURL=license-manager-react-components.cjs.production.min.js.map