@clickview/streamable-learning 0.48.0-rc.0 → 0.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/manifest.json +650 -650
- package/dist/bundles.json +1 -1
- package/dist/css/DU3tPCD_.chunk.css +12 -0
- package/dist/en.json +1 -1
- package/dist/scripts/{CeWjJPIz.chunk.js → BIisq8ZO.chunk.js} +2 -2
- package/dist/scripts/{CeWjJPIz.chunk.js.map → BIisq8ZO.chunk.js.map} +1 -1
- package/dist/scripts/{DxsW8K0n2.chunk.js → BWU6_pPN2.chunk.js} +2 -2
- package/dist/scripts/{DxsW8K0n2.chunk.js.map → BWU6_pPN2.chunk.js.map} +1 -1
- package/dist/scripts/{BMjES83N2.chunk.js → BcZFo9Vw2.chunk.js} +2 -2
- package/dist/scripts/{BMjES83N2.chunk.js.map → BcZFo9Vw2.chunk.js.map} +1 -1
- package/dist/scripts/Bd2bbHru.chunk.js +1 -0
- package/dist/scripts/{0xQRFMBY.chunk.js → BfNy0Hvk.chunk.js} +2 -2
- package/dist/scripts/{0xQRFMBY.chunk.js.map → BfNy0Hvk.chunk.js.map} +1 -1
- package/dist/scripts/{C9UjF0q6.chunk.js → BivP7X20.chunk.js} +2 -2
- package/dist/scripts/{C9UjF0q6.chunk.js.map → BivP7X20.chunk.js.map} +1 -1
- package/dist/scripts/{DrDQfaFN2.chunk.js → BjbY4Fbp2.chunk.js} +3 -3
- package/dist/scripts/{DrDQfaFN2.chunk.js.map → BjbY4Fbp2.chunk.js.map} +1 -1
- package/dist/scripts/{awemA_vU2.chunk.js → BmxcE73n2.chunk.js} +2 -2
- package/dist/scripts/{awemA_vU2.chunk.js.map → BmxcE73n2.chunk.js.map} +1 -1
- package/dist/scripts/{BMl02f_62.chunk.js → BnEMhkEE2.chunk.js} +2 -2
- package/dist/scripts/{BMl02f_62.chunk.js.map → BnEMhkEE2.chunk.js.map} +1 -1
- package/dist/scripts/{DmfbtOlu.chunk.js → Buc8GegC.chunk.js} +2 -2
- package/dist/scripts/{DmfbtOlu.chunk.js.map → Buc8GegC.chunk.js.map} +1 -1
- package/dist/scripts/{DvL3J2BU.chunk.js → Byczy1lS.chunk.js} +2 -2
- package/dist/scripts/{DvL3J2BU.chunk.js.map → Byczy1lS.chunk.js.map} +1 -1
- package/dist/scripts/{BV74ZRR22.chunk.js → C2itEpvc2.chunk.js} +2 -2
- package/dist/scripts/{BV74ZRR22.chunk.js.map → C2itEpvc2.chunk.js.map} +1 -1
- package/dist/scripts/{UAcFqQzZ.chunk.js → CEFKXxac.chunk.js} +2 -2
- package/dist/scripts/{UAcFqQzZ.chunk.js.map → CEFKXxac.chunk.js.map} +1 -1
- package/dist/scripts/{B7if0Lk52.chunk.js → CEYjJAp52.chunk.js} +2 -2
- package/dist/scripts/{B7if0Lk52.chunk.js.map → CEYjJAp52.chunk.js.map} +1 -1
- package/dist/scripts/{B1jitqYS2.chunk.js → CJSc4YDq2.chunk.js} +2 -2
- package/dist/scripts/{B1jitqYS2.chunk.js.map → CJSc4YDq2.chunk.js.map} +1 -1
- package/dist/scripts/{JtFbyaXc.chunk.js → CKUA5J3R.chunk.js} +2 -2
- package/dist/scripts/{JtFbyaXc.chunk.js.map → CKUA5J3R.chunk.js.map} +1 -1
- package/dist/scripts/{DNO0KpY72.chunk.js → CYrzupmS2.chunk.js} +2 -2
- package/dist/scripts/{DNO0KpY72.chunk.js.map → CYrzupmS2.chunk.js.map} +1 -1
- package/dist/scripts/{E9tNds1l.chunk.js → CcGYZb9f.chunk.js} +2 -2
- package/dist/scripts/{E9tNds1l.chunk.js.map → CcGYZb9f.chunk.js.map} +1 -1
- package/dist/scripts/{CibcLNJP2.chunk.js → CeQGaFi-2.chunk.js} +2 -2
- package/dist/scripts/{CibcLNJP2.chunk.js.map → CeQGaFi-2.chunk.js.map} +1 -1
- package/dist/scripts/{BqO6i89w2.chunk.js → Cr3Blj6H2.chunk.js} +2 -2
- package/dist/scripts/{BqO6i89w2.chunk.js.map → Cr3Blj6H2.chunk.js.map} +1 -1
- package/dist/scripts/{D0vsmyva.chunk.js → CxCkwLio.chunk.js} +2 -2
- package/dist/scripts/{D0vsmyva.chunk.js.map → CxCkwLio.chunk.js.map} +1 -1
- package/dist/scripts/{CvqqZmNo2.chunk.js → Cxj75Dqe2.chunk.js} +2 -2
- package/dist/scripts/{CvqqZmNo2.chunk.js.map → Cxj75Dqe2.chunk.js.map} +1 -1
- package/dist/scripts/{CcDgbmw52.chunk.js → D-VNmhoM2.chunk.js} +2 -2
- package/dist/scripts/{CcDgbmw52.chunk.js.map → D-VNmhoM2.chunk.js.map} +1 -1
- package/dist/scripts/{DAvXFgC62.chunk.js → D2FqnK9m2.chunk.js} +2 -2
- package/dist/scripts/{DAvXFgC62.chunk.js.map → D2FqnK9m2.chunk.js.map} +1 -1
- package/dist/scripts/{lokG7Sha2.chunk.js → D3sdyN2Q2.chunk.js} +2 -2
- package/dist/scripts/{lokG7Sha2.chunk.js.map → D3sdyN2Q2.chunk.js.map} +1 -1
- package/dist/scripts/{KCdpQ8qv2.chunk.js → D6IzS-bj2.chunk.js} +2 -2
- package/dist/scripts/{KCdpQ8qv2.chunk.js.map → D6IzS-bj2.chunk.js.map} +1 -1
- package/dist/scripts/{CPkKuTSK2.chunk.js → D8g6nOG92.chunk.js} +2 -2
- package/dist/scripts/{CPkKuTSK2.chunk.js.map → D8g6nOG92.chunk.js.map} +1 -1
- package/dist/scripts/{Bkv1Tbyu.chunk.js → DCKKwz9L.chunk.js} +2 -2
- package/dist/scripts/{Bkv1Tbyu.chunk.js.map → DCKKwz9L.chunk.js.map} +1 -1
- package/dist/scripts/{CeI-LCE-.chunk.js → DL4UFxRK.chunk.js} +2 -2
- package/dist/scripts/{CeI-LCE-.chunk.js.map → DL4UFxRK.chunk.js.map} +1 -1
- package/dist/scripts/{DLp7yHzT2.chunk.js → DLofRa642.chunk.js} +2 -2
- package/dist/scripts/{DLp7yHzT2.chunk.js.map → DLofRa642.chunk.js.map} +1 -1
- package/dist/scripts/{BSjm_rCE.chunk.js → DMZ--ok1.chunk.js} +2 -2
- package/dist/scripts/{BSjm_rCE.chunk.js.map → DMZ--ok1.chunk.js.map} +1 -1
- package/dist/scripts/{CikSQKH-.chunk.js → DQFcbMMk.chunk.js} +2 -2
- package/dist/scripts/{CikSQKH-.chunk.js.map → DQFcbMMk.chunk.js.map} +1 -1
- package/dist/scripts/{XnBhLH-02.chunk.js → DVeqPzBe2.chunk.js} +2 -2
- package/dist/scripts/{XnBhLH-02.chunk.js.map → DVeqPzBe2.chunk.js.map} +1 -1
- package/dist/scripts/{Clh6wBrg.chunk.js → DWerltCT.chunk.js} +2 -2
- package/dist/scripts/{Clh6wBrg.chunk.js.map → DWerltCT.chunk.js.map} +1 -1
- package/dist/scripts/{i2-k6ULv2.chunk.js → DatscYpA2.chunk.js} +2 -2
- package/dist/scripts/{i2-k6ULv2.chunk.js.map → DatscYpA2.chunk.js.map} +1 -1
- package/dist/scripts/{BXT8nHry2.chunk.js → DkaGC5IU2.chunk.js} +2 -2
- package/dist/scripts/{BXT8nHry2.chunk.js.map → DkaGC5IU2.chunk.js.map} +1 -1
- package/dist/scripts/{BoxedFO8.chunk.js → DqZWSPDJ.chunk.js} +2 -2
- package/dist/scripts/{BoxedFO8.chunk.js.map → DqZWSPDJ.chunk.js.map} +1 -1
- package/dist/scripts/{CoYNU7We2.chunk.js → Dql-1E6g2.chunk.js} +2 -2
- package/dist/scripts/{CoYNU7We2.chunk.js.map → Dql-1E6g2.chunk.js.map} +1 -1
- package/dist/scripts/{DNNNPLMp.chunk.js → DuBHin02.chunk.js} +2 -2
- package/dist/scripts/{DNNNPLMp.chunk.js.map → DuBHin02.chunk.js.map} +1 -1
- package/dist/scripts/{CK6c6uHp2.chunk.js → QMuFwiiF2.chunk.js} +2 -2
- package/dist/scripts/{CK6c6uHp2.chunk.js.map → QMuFwiiF2.chunk.js.map} +1 -1
- package/dist/scripts/{NV4_mMU8.chunk.js → U_sIlzAD.chunk.js} +2 -2
- package/dist/scripts/{NV4_mMU8.chunk.js.map → U_sIlzAD.chunk.js.map} +1 -1
- package/dist/scripts/{m9QbGES0.chunk.js → WLyOm9Lj.chunk.js} +2 -2
- package/dist/scripts/{m9QbGES0.chunk.js.map → WLyOm9Lj.chunk.js.map} +1 -1
- package/dist/scripts/{DlQrdOls.chunk.js → Ymq7JLkU.chunk.js} +2 -2
- package/dist/scripts/{DlQrdOls.chunk.js.map → Ymq7JLkU.chunk.js.map} +1 -1
- package/dist/scripts/{app-B1XBsz23.js → app-gjHxcZG3.js} +4 -4
- package/dist/scripts/app-gjHxcZG3.js.map +1 -0
- package/dist/scripts/{DIHDe4Sg.chunk.js → djRnI462.chunk.js} +2 -2
- package/dist/scripts/{DIHDe4Sg.chunk.js.map → djRnI462.chunk.js.map} +1 -1
- package/dist/scripts/{BDliRFoa.chunk.js → e2K2YU7z.chunk.js} +2 -2
- package/dist/scripts/{BDliRFoa.chunk.js.map → e2K2YU7z.chunk.js.map} +1 -1
- package/dist/scripts/{CpFOQcL7.chunk.js → fnfhCa1P.chunk.js} +2 -2
- package/dist/scripts/{CpFOQcL7.chunk.js.map → fnfhCa1P.chunk.js.map} +1 -1
- package/dist/scripts/{Dd8r1SE32.chunk.js → iyIL3kim2.chunk.js} +2 -2
- package/dist/scripts/{Dd8r1SE32.chunk.js.map → iyIL3kim2.chunk.js.map} +1 -1
- package/dist/scripts/{BKbKu9Rp.chunk.js → kfFYr9dc.chunk.js} +2 -2
- package/dist/scripts/{BKbKu9Rp.chunk.js.map → kfFYr9dc.chunk.js.map} +1 -1
- package/dist/scripts/{CwI-7tep2.chunk.js → kts5xiiM2.chunk.js} +2 -2
- package/dist/scripts/{CwI-7tep2.chunk.js.map → kts5xiiM2.chunk.js.map} +1 -1
- package/dist/scripts/{D8_5yfHY2.chunk.js → lLAYbgAy2.chunk.js} +2 -2
- package/dist/scripts/{D8_5yfHY2.chunk.js.map → lLAYbgAy2.chunk.js.map} +1 -1
- package/dist/scripts/{CXNve4Wq2.chunk.js → p9ukva5a2.chunk.js} +2 -2
- package/dist/scripts/{CXNve4Wq2.chunk.js.map → p9ukva5a2.chunk.js.map} +1 -1
- package/dist/scripts/{BCdnm1Nn.chunk.js → wOeN2ls0.chunk.js} +2 -2
- package/dist/scripts/{BCdnm1Nn.chunk.js.map → wOeN2ls0.chunk.js.map} +1 -1
- package/dist/scripts/{DMq5Gp-U2.chunk.js → zp2BHOp82.chunk.js} +2 -2
- package/dist/scripts/{DMq5Gp-U2.chunk.js.map → zp2BHOp82.chunk.js.map} +1 -1
- package/dist/scripts/{CmrPRojb.chunk.js → zyVwH8JF.chunk.js} +2 -2
- package/dist/scripts/{CmrPRojb.chunk.js.map → zyVwH8JF.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/D5Jnyjf8.chunk.js +0 -1
- package/dist/scripts/app-B1XBsz23.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BV74ZRR22.chunk.js","names":[],"sources":["../../src/apps/default/views/contact-us/error/contact-us-error.module.scss","../../src/apps/default/views/contact-us/error/ContactUsError.tsx","../../src/apps/default/views/contact-us/form/ContactUsForm.tsx","../../src/apps/default/views/contact-us/success/contact-us-success.module.scss","../../src/apps/default/views/contact-us/success/ContactUsSuccess.tsx","../../src/apps/default/views/contact-us/contact-us.module.scss","../../src/apps/default/views/contact-us/StreamableContactUsView.tsx"],"sourcesContent":[":local {\n .image {\n height: 9.25rem;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport styles from './contact-us-error.module.scss';\n\nconst namespace = 'default.contactUsError';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ContactUsErrorProps {\n className?: string;\n onTryAgain: () => void;\n}\n\nexport function ContactUsError({ className = '', onTryAgain }: ContactUsErrorProps) {\n return (\n <EmptyState className={className}>\n <EmptyState.Image className={styles.image} src={ImageUrls.General.LOST_MESSAGE_BOTTLE} />\n <EmptyState.Heading className='w-100'>\n <Text namespace={namespace} phrase='errorHeading' />\n </EmptyState.Heading>\n <EmptyState.Info className='w-100'>\n <Text namespace={namespace} phrase='errorMessage' />\n </EmptyState.Info>\n <EmptyState.Cta text={getPhrase('buttonLabel')} className='btn btn-dark w-100' onClick={onTryAgain} />\n </EmptyState>\n );\n}\n","import React from 'react';\nimport { Form } from 'formik';\nimport * as Yup from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { JobTitleInput } from 'libs/shared/apps/sign-up/components/steps/add-to-braze-step-item/JobTitleInput';\nimport { SearchLocalityInput } from 'libs/shared/apps/sign-up/components/steps/search-school-step-item/SearchLocalityInput';\nimport { SearchSchoolInput } from 'libs/shared/apps/sign-up/components/steps/search-school-step-item/SearchSchoolInput';\nimport { SearchSchoolData } from 'libs/shared/apps/sign-up/interfaces/SearchSchoolData';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormWrapper, useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CountryCode } from 'libs/shared/enums/CountryCode';\n\nconst namespace = 'default.contactUsForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst validationSchema = Yup.object({\n firstName: Yup.string().required(getPhrase('firstNameRequired')),\n lastName: Yup.string().required(getPhrase('lastNameRequired')),\n email: Yup.string().email(getPhrase('emailValid')).required(getPhrase('emailRequired')),\n jobTitle: Yup.string().required(getPhrase('jobTitleRequired')),\n phoneNumber: Yup.string().required(getPhrase('phoneNumberRequired')).matches(/^[0-9]+$/, getPhrase('phoneNumberValid')),\n schoolOrDistrict: Yup.string().required(getPhrase('schoolOrDistrictRequired'))\n});\n\nexport interface ContactUsFormValues {\n firstName: string;\n lastName: string;\n email: string;\n schoolOrDistrict: string;\n jobTitle: string;\n phoneNumber: string;\n country: string;\n province: string;\n prospectId: string;\n}\n\ninterface ContactUsFormProps {\n initialValues: ContactUsFormValues;\n showSpinner: boolean;\n onSubmit: (values: ContactUsFormValues) => void;\n googleMapsApiKey: string;\n searchProspectsUrl: string;\n}\n\nexport function ContactUsForm(props: ContactUsFormProps) {\n return (\n <FormWrapper<ContactUsFormValues>\n initialValues={props.initialValues}\n validateOnMount={true}\n validationSchema={validationSchema}\n onSubmit={props.onSubmit}\n >\n <ContactUsFormFields\n showSpinner={props.showSpinner}\n googleMapsApiKey={props.googleMapsApiKey}\n searchProspectsUrl={props.searchProspectsUrl}\n />\n </FormWrapper>\n );\n}\n\ninterface ContactUsFormFieldsProps {\n showSpinner: boolean;\n googleMapsApiKey: string;\n searchProspectsUrl: string;\n}\n\nfunction ContactUsFormFields(props: ContactUsFormFieldsProps) {\n const { showSpinner, googleMapsApiKey, searchProspectsUrl } = props;\n const formikProps = useFormikContextWrapper<ContactUsFormValues>();\n\n const [ searchSchoolData, setSearchSchoolData ] = React.useState<SearchSchoolData>({});\n const [ cantFindSchool, setCantFindSchool ] = React.useState<boolean>(false);\n\n function clearFormikSchoolData() {\n formikProps.setFieldValue('schoolOrDistrict', '');\n formikProps.setFieldValue('country', '');\n formikProps.setFieldValue('province', '');\n formikProps.setFieldValue('prospectId', '');\n triggerValidation();\n }\n\n function setLocalityData(data: SearchSchoolData): void {\n setSearchSchoolData({ ...searchSchoolData, ...data });\n clearFormikSchoolData();\n }\n\n function clearLocalityData(): void {\n setSearchSchoolData({});\n clearFormikSchoolData();\n }\n\n function setSchoolData(data: SearchSchoolData): void {\n setSearchSchoolData({ ...searchSchoolData, ...data });\n\n formikProps.setFieldValue('schoolOrDistrict', data.schoolName);\n formikProps.setFieldValue('country', data.country);\n formikProps.setFieldValue('province', data.province);\n formikProps.setFieldValue('prospectId', data.prospectId);\n\n triggerValidation();\n }\n\n function clearSchooldata(): void {\n setSearchSchoolData({\n ...searchSchoolData,\n prospectId: undefined,\n schoolName: undefined,\n schoolPostCode: undefined\n });\n clearFormikSchoolData();\n }\n\n function onClickNoSuggestions(name: string) {\n setCantFindSchool(true);\n\n formikProps.setFieldValue('schoolOrDistrict', name);\n\n triggerValidation();\n }\n\n function triggerValidation() {\n // For whatever reason, forcing the form the validate needs to happen in a setTimeout to work\n // I genuinely have no idea why - Sha\n window.setTimeout(() => formikProps.validateForm(), 0);\n }\n\n return (\n <Form>\n <FormField\n label={getPhrase('firstName')}\n name='firstName'\n value={formikProps.values?.firstName}\n showRequiredStar\n placeholder={getPhrase('firstNamePlaceholder')}\n />\n <FormField\n label={getPhrase('lastName')}\n name='lastName'\n value={formikProps.values?.lastName}\n showRequiredStar\n placeholder={getPhrase('lastNamePlaceholder')}\n />\n <FormField\n label={getPhrase('email')}\n name='email'\n value={formikProps.values?.email}\n showRequiredStar\n placeholder={getPhrase('emailPlaceholder')}\n />\n {!cantFindSchool ?\n <>\n <SearchLocalityInput\n data={searchSchoolData}\n setData={setLocalityData}\n clearData={clearLocalityData}\n labelClassName='form-label'\n geoLocation={{ countryCode: 'US' }}\n googleMapsApiKey={googleMapsApiKey}\n required\n hideOnBlur\n />\n <SearchSchoolInput\n data={searchSchoolData}\n setData={setSchoolData}\n clearData={clearSchooldata}\n disabled={!searchSchoolData.schoolLocality}\n searchUrl={searchProspectsUrl}\n onClickNoSuggestions={onClickNoSuggestions}\n required\n placeholder={!searchSchoolData.schoolLocality && getPhrase('schoolPlaceholder')}\n hideOnBlur\n />\n </> :\n <FormField\n label={getPhrase('schoolOrDistrict')}\n name='schoolOrDistrict'\n value={formikProps.values?.schoolOrDistrict}\n showRequiredStar\n placeholder={getPhrase('schoolOrDistrictPlaceholder')}\n autoFocus\n />\n }\n <JobTitleInput\n id='job-title'\n error={formikProps.touched?.jobTitle && formikProps.errors?.jobTitle}\n countryCode={CountryCode.US}\n initialValue={formikProps.values?.jobTitle}\n onChange={jobTitle => formikProps.setFieldValue('jobTitle', jobTitle, false)}\n labelClassName='form-label'\n isTertiary={false}\n required\n />\n <FormField\n label={getPhrase('phoneNumber')}\n name='phoneNumber'\n value={formikProps.values?.phoneNumber}\n showRequiredStar\n placeholder={getPhrase('phoneNumberPlaceholder')}\n />\n <SpinnerButton type='submit' className='w-100 mt-3' variant='dark' showSpinner={showSpinner} disabled={!formikProps.isValid} >\n <Text namespace={namespace} phrase='contactUsButton' />\n </SpinnerButton>\n </Form>\n );\n}\n",":local {\n .image {\n height: 9.25rem;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport styles from './contact-us-success.module.scss';\n\nconst namespace = 'default.contactUsSuccess';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ContactUsSuccessProps {\n className?: string;\n onClose?: () => void;\n}\n\nexport function ContactUsSuccess({ className = '', onClose }: ContactUsSuccessProps) {\n return (\n <EmptyState className={className}>\n <EmptyState.Image className={styles.image} src={ImageUrls.General.EMAIL_SENT} />\n <EmptyState.Heading className='w-100'>\n <Text namespace={namespace} phrase='successHeading' />\n </EmptyState.Heading>\n <EmptyState.Info className='w-100'>\n <Text namespace={namespace} phrase='successMessage' />\n </EmptyState.Info>\n {onClose && <EmptyState.Cta text={getPhrase('buttonLabel')} className='btn btn-dark w-100' onClick={onClose} />}\n </EmptyState>\n );\n}\n",":local {\n .logo {\n height: 2.5rem;\n width: 2.5rem;\n }\n\n .pageContainer {\n max-width: 32rem;\n\n &::before {\n content: \"\";\n width: 100%;\n position: absolute;\n left: 0;\n min-height: 100vh;\n height: 100%;\n top: 0;\n background: $light-blue;\n z-index: -1;\n }\n }\n}","import React from 'react';\nimport { type BrazeUser, StreamableFormEvent } from '@clickview/braze-client';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { ProspectLookup } from 'libs/shared/apps/sign-up/enums/ProspectLookup';\nimport { BrazeCheckEmailResponse, BrazeHelper } from 'libs/shared/apps/sign-up/helpers/BrazeHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Popup, PopupProps } from 'libs/shared/components/popup/Popup';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BrazeRequests } from 'libs/shared/flight-requests/BrazeRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useProfileApiClient } from 'libs/shared/hooks/UseProfileApiClient';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { StreamableIconLogo } from 'shared/components/streamable-logo/StreamableLogo';\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { StreamableConstants } from 'shared/constants/StreamableConstants';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\nimport { BrazeConversion } from 'shared/enums/BrazeConversion';\nimport { BrazeSource } from 'shared/enums/BrazeSource';\nimport { useStreamableBrazeClientService } from 'shared/hooks/useStreamableBrazeClientService';\nimport { SeoHelper } from 'shared/utils/StreamableSeoHelper';\n\nimport { ContactUsError } from './error/ContactUsError';\nimport { ContactUsForm, ContactUsFormValues } from './form/ContactUsForm';\nimport { ContactUsSuccess } from './success/ContactUsSuccess';\n\nimport styles from './contact-us.module.scss';\n\nconst namespace = 'default.contactUs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype ContactUsFormStage = 'data-entry' | 'success' | 'error';\n\ninterface ContactUsContentProps {\n formStage: ContactUsFormStage;\n initialFormValues: ContactUsFormValues;\n submitting: boolean;\n loginParams: HashObject;\n onSubmit: (values: ContactUsFormValues) => void;\n onTryAgain: () => void;\n closePopup?: () => void;\n googleMapsApiKey: string;\n searchProspectsUrl: string;\n showSignIn: boolean;\n}\n\nfunction ContactUsContent(props: ContactUsContentProps) {\n return (\n <>\n {props.formStage === 'data-entry' &&\n <>\n <h1 className='h2 text-center'><Text namespace={namespace} phrase='contactUsHeading' /></h1>\n <p className='text-center mb-3'><Text namespace={namespace} phrase='contactUsDescription' /></p>\n <ContactUsForm\n initialValues={props.initialFormValues}\n showSpinner={props.submitting}\n onSubmit={props.onSubmit}\n googleMapsApiKey={props.googleMapsApiKey}\n searchProspectsUrl={props.searchProspectsUrl}\n />\n {props.showSignIn && <AppLink\n className='d-flex justify-content-center align-items-center mt-3 text-info'\n appLink={{\n application: AppChannels.DEFAULT,\n action: Actions.Default.CHALLENGE,\n params: props.loginParams\n }}\n >\n <Text namespace={namespace} phrase='signInLink' />\n </AppLink>}\n </>\n }\n {props.formStage === 'error' && <ContactUsError onTryAgain={props.onTryAgain} />}\n {props.formStage === 'success' && <ContactUsSuccess onClose={props.closePopup} />}\n </>\n );\n}\n\ninterface ContactUsPageProps extends ContactUsContentProps { }\n\nfunction ContactUsPage(props: ContactUsPageProps) {\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: getPhrase('title'),\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink(),\n allowIndexing: true,\n product: StreamableConstants.PRODUCT_NAME\n }));\n\n return (\n <div className={`${styles.pageContainer} bg-white mt-4 mx-4 mx-sm-auto p-3 mb-3 border border-gray-400 rounded-3 shadow-sm`}>\n <ContactUsContent\n formStage={props.formStage}\n initialFormValues={props.initialFormValues}\n loginParams={props.loginParams}\n onSubmit={props.onSubmit}\n onTryAgain={props.onTryAgain}\n submitting={props.submitting}\n googleMapsApiKey={props.googleMapsApiKey}\n searchProspectsUrl={props.searchProspectsUrl}\n showSignIn={props.showSignIn}\n />\n </div>\n );\n}\n\ninterface ContactUsPopupProps extends ContactUsContentProps { }\n\nfunction ContactUsPopup(props: ContactUsPopupProps) {\n function onClose() {\n props.closePopup();\n\n ScrollHelper.preventScrollTop();\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={onClose}\n bodyClassName='p-5'\n hideTitle\n >\n <button className='btn-close position-absolute top-0 end-0 p-3' onClick={onClose} />\n <div className={`${styles.logo} position-absolute top-0 start-0 m-3`}>\n <StreamableIconLogo />\n </div>\n <ContactUsContent\n formStage={props.formStage}\n initialFormValues={props.initialFormValues}\n loginParams={props.loginParams}\n onSubmit={props.onSubmit}\n onTryAgain={props.onTryAgain}\n submitting={props.submitting}\n closePopup={onClose}\n googleMapsApiKey={props.googleMapsApiKey}\n searchProspectsUrl={props.searchProspectsUrl}\n showSignIn={props.showSignIn}\n />\n </Popup>\n );\n}\n\ninterface ContactUsViewProps extends PopupProps {\n fromPageLoad: boolean;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function ContactUsView(props: ContactUsViewProps) {\n const fetchAsync = Flight.useGetFetchAsync();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const braze = useStreamableBrazeClientService();\n const [ formStage, setFormStage ] = React.useState<ContactUsFormStage>('data-entry');\n const [ submitting, setSubmitting ] = React.useState(false);\n const [ initialFormValues, setInitialFormValues ] = React.useState<ContactUsFormValues>({\n firstName: '',\n lastName: '',\n email: '',\n schoolOrDistrict: '',\n jobTitle: '',\n phoneNumber: '',\n country: '',\n province: '',\n prospectId: ''\n });\n\n const { createOrUpdateProfile } = useProfileApiClient();\n\n const redirectUrl = Core.AppLinkHelper.getHref(ContextService.getCurrentRoute().appLink);\n const loginParams = redirectUrl !== '/' ? { redirectUrl } : {};\n\n React.useEffect(() => {\n if (!currentUser.data?.isAuthenticated)\n return;\n\n setInitialFormValues({\n ...initialFormValues,\n firstName: currentUser.data.givenName,\n lastName: currentUser.data.familyName,\n email: currentUser.data.email\n });\n }, [currentUser.data?.isAuthenticated]);\n\n async function onSubmit(values: ContactUsFormValues) {\n try {\n setSubmitting(true);\n setInitialFormValues(values);\n\n const checkEmail = await fetchAsync<BrazeCheckEmailResponse>(BrazeRequests.checkEmail(values.email));\n\n let crmId: string;\n if (values.prospectId) {\n const prospectLookups = await fetchAsync<ProspectLookup[]>(BrazeRequests.prospectLookups(values.prospectId));\n crmId = prospectLookups?.find(l => l.type === 'crm_id')?.externalId;\n }\n\n const brazeUser: BrazeUser = {\n email: values.email,\n firstName: values.firstName,\n lastName: values.lastName,\n phone: values.phoneNumber,\n custom: {\n accountAddress: values?.province ? {\n countryCode: values?.country,\n province: BrazeHelper.parseProvince(values?.province || '')\n } : undefined,\n accountName: values.schoolOrDistrict,\n jobTitle: values.jobTitle,\n syncToCrm: checkEmail?.users?.length ? undefined : true,\n crmId: crmId || undefined\n }\n };\n \n createOrUpdateProfile({\n email: values.email,\n firstName: values.firstName,\n lastName: values.lastName,\n phone: values.phoneNumber,\n countryCode: values.country\n });\n\n braze.logFormSubmission({\n user: brazeUser,\n eventType: StreamableFormEvent.ContactUsFormSubmit,\n source: BrazeSource.ContactUs,\n conversion: BrazeConversion.ContactUs,\n productType: 'sl'\n });\n\n setFormStage('success');\n } catch (err) {\n console.warn(err);\n\n setFormStage('error');\n } finally {\n setSubmitting(false);\n }\n }\n\n function onTryAgain() {\n setFormStage('data-entry');\n }\n\n if (!config.hasCompleted || !currentUser.hasCompleted)\n return <></>;\n\n const contactUsProps = {\n formStage,\n initialFormValues,\n submitting,\n loginParams,\n onSubmit,\n onTryAgain,\n closePopup: props.closePopup,\n googleMapsApiKey: config.data.googleMapsApiKey,\n searchProspectsUrl: UrlHelper.safeUrlConcat(config.data.gatewayApiUrl, '/v1/search/prospects'),\n showSignIn: !currentUser.data.isAuthenticated\n };\n\n if (props.fromPageLoad)\n return <ContactUsPage {...contactUsProps} />;\n\n return (\n <ContactUsPopup {...contactUsProps} />\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"C2itEpvc2.chunk.js","names":[],"sources":["../../src/apps/default/views/contact-us/error/contact-us-error.module.scss","../../src/apps/default/views/contact-us/error/ContactUsError.tsx","../../src/apps/default/views/contact-us/form/ContactUsForm.tsx","../../src/apps/default/views/contact-us/success/contact-us-success.module.scss","../../src/apps/default/views/contact-us/success/ContactUsSuccess.tsx","../../src/apps/default/views/contact-us/contact-us.module.scss","../../src/apps/default/views/contact-us/StreamableContactUsView.tsx"],"sourcesContent":[":local {\n .image {\n height: 9.25rem;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport styles from './contact-us-error.module.scss';\n\nconst namespace = 'default.contactUsError';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ContactUsErrorProps {\n className?: string;\n onTryAgain: () => void;\n}\n\nexport function ContactUsError({ className = '', onTryAgain }: ContactUsErrorProps) {\n return (\n <EmptyState className={className}>\n <EmptyState.Image className={styles.image} src={ImageUrls.General.LOST_MESSAGE_BOTTLE} />\n <EmptyState.Heading className='w-100'>\n <Text namespace={namespace} phrase='errorHeading' />\n </EmptyState.Heading>\n <EmptyState.Info className='w-100'>\n <Text namespace={namespace} phrase='errorMessage' />\n </EmptyState.Info>\n <EmptyState.Cta text={getPhrase('buttonLabel')} className='btn btn-dark w-100' onClick={onTryAgain} />\n </EmptyState>\n );\n}\n","import React from 'react';\nimport { Form } from 'formik';\nimport * as Yup from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { JobTitleInput } from 'libs/shared/apps/sign-up/components/steps/add-to-braze-step-item/JobTitleInput';\nimport { SearchLocalityInput } from 'libs/shared/apps/sign-up/components/steps/search-school-step-item/SearchLocalityInput';\nimport { SearchSchoolInput } from 'libs/shared/apps/sign-up/components/steps/search-school-step-item/SearchSchoolInput';\nimport { SearchSchoolData } from 'libs/shared/apps/sign-up/interfaces/SearchSchoolData';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormWrapper, useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CountryCode } from 'libs/shared/enums/CountryCode';\n\nconst namespace = 'default.contactUsForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst validationSchema = Yup.object({\n firstName: Yup.string().required(getPhrase('firstNameRequired')),\n lastName: Yup.string().required(getPhrase('lastNameRequired')),\n email: Yup.string().email(getPhrase('emailValid')).required(getPhrase('emailRequired')),\n jobTitle: Yup.string().required(getPhrase('jobTitleRequired')),\n phoneNumber: Yup.string().required(getPhrase('phoneNumberRequired')).matches(/^[0-9]+$/, getPhrase('phoneNumberValid')),\n schoolOrDistrict: Yup.string().required(getPhrase('schoolOrDistrictRequired'))\n});\n\nexport interface ContactUsFormValues {\n firstName: string;\n lastName: string;\n email: string;\n schoolOrDistrict: string;\n jobTitle: string;\n phoneNumber: string;\n country: string;\n province: string;\n prospectId: string;\n}\n\ninterface ContactUsFormProps {\n initialValues: ContactUsFormValues;\n showSpinner: boolean;\n onSubmit: (values: ContactUsFormValues) => void;\n googleMapsApiKey: string;\n searchProspectsUrl: string;\n}\n\nexport function ContactUsForm(props: ContactUsFormProps) {\n return (\n <FormWrapper<ContactUsFormValues>\n initialValues={props.initialValues}\n validateOnMount={true}\n validationSchema={validationSchema}\n onSubmit={props.onSubmit}\n >\n <ContactUsFormFields\n showSpinner={props.showSpinner}\n googleMapsApiKey={props.googleMapsApiKey}\n searchProspectsUrl={props.searchProspectsUrl}\n />\n </FormWrapper>\n );\n}\n\ninterface ContactUsFormFieldsProps {\n showSpinner: boolean;\n googleMapsApiKey: string;\n searchProspectsUrl: string;\n}\n\nfunction ContactUsFormFields(props: ContactUsFormFieldsProps) {\n const { showSpinner, googleMapsApiKey, searchProspectsUrl } = props;\n const formikProps = useFormikContextWrapper<ContactUsFormValues>();\n\n const [ searchSchoolData, setSearchSchoolData ] = React.useState<SearchSchoolData>({});\n const [ cantFindSchool, setCantFindSchool ] = React.useState<boolean>(false);\n\n function clearFormikSchoolData() {\n formikProps.setFieldValue('schoolOrDistrict', '');\n formikProps.setFieldValue('country', '');\n formikProps.setFieldValue('province', '');\n formikProps.setFieldValue('prospectId', '');\n triggerValidation();\n }\n\n function setLocalityData(data: SearchSchoolData): void {\n setSearchSchoolData({ ...searchSchoolData, ...data });\n clearFormikSchoolData();\n }\n\n function clearLocalityData(): void {\n setSearchSchoolData({});\n clearFormikSchoolData();\n }\n\n function setSchoolData(data: SearchSchoolData): void {\n setSearchSchoolData({ ...searchSchoolData, ...data });\n\n formikProps.setFieldValue('schoolOrDistrict', data.schoolName);\n formikProps.setFieldValue('country', data.country);\n formikProps.setFieldValue('province', data.province);\n formikProps.setFieldValue('prospectId', data.prospectId);\n\n triggerValidation();\n }\n\n function clearSchooldata(): void {\n setSearchSchoolData({\n ...searchSchoolData,\n prospectId: undefined,\n schoolName: undefined,\n schoolPostCode: undefined\n });\n clearFormikSchoolData();\n }\n\n function onClickNoSuggestions(name: string) {\n setCantFindSchool(true);\n\n formikProps.setFieldValue('schoolOrDistrict', name);\n\n triggerValidation();\n }\n\n function triggerValidation() {\n // For whatever reason, forcing the form the validate needs to happen in a setTimeout to work\n // I genuinely have no idea why - Sha\n window.setTimeout(() => formikProps.validateForm(), 0);\n }\n\n return (\n <Form>\n <FormField\n label={getPhrase('firstName')}\n name='firstName'\n value={formikProps.values?.firstName}\n showRequiredStar\n placeholder={getPhrase('firstNamePlaceholder')}\n />\n <FormField\n label={getPhrase('lastName')}\n name='lastName'\n value={formikProps.values?.lastName}\n showRequiredStar\n placeholder={getPhrase('lastNamePlaceholder')}\n />\n <FormField\n label={getPhrase('email')}\n name='email'\n value={formikProps.values?.email}\n showRequiredStar\n placeholder={getPhrase('emailPlaceholder')}\n />\n {!cantFindSchool ?\n <>\n <SearchLocalityInput\n data={searchSchoolData}\n setData={setLocalityData}\n clearData={clearLocalityData}\n labelClassName='form-label'\n geoLocation={{ countryCode: 'US' }}\n googleMapsApiKey={googleMapsApiKey}\n required\n hideOnBlur\n />\n <SearchSchoolInput\n data={searchSchoolData}\n setData={setSchoolData}\n clearData={clearSchooldata}\n disabled={!searchSchoolData.schoolLocality}\n searchUrl={searchProspectsUrl}\n onClickNoSuggestions={onClickNoSuggestions}\n required\n placeholder={!searchSchoolData.schoolLocality && getPhrase('schoolPlaceholder')}\n hideOnBlur\n />\n </> :\n <FormField\n label={getPhrase('schoolOrDistrict')}\n name='schoolOrDistrict'\n value={formikProps.values?.schoolOrDistrict}\n showRequiredStar\n placeholder={getPhrase('schoolOrDistrictPlaceholder')}\n autoFocus\n />\n }\n <JobTitleInput\n id='job-title'\n error={formikProps.touched?.jobTitle && formikProps.errors?.jobTitle}\n countryCode={CountryCode.US}\n initialValue={formikProps.values?.jobTitle}\n onChange={jobTitle => formikProps.setFieldValue('jobTitle', jobTitle, false)}\n labelClassName='form-label'\n isTertiary={false}\n required\n />\n <FormField\n label={getPhrase('phoneNumber')}\n name='phoneNumber'\n value={formikProps.values?.phoneNumber}\n showRequiredStar\n placeholder={getPhrase('phoneNumberPlaceholder')}\n />\n <SpinnerButton type='submit' className='w-100 mt-3' variant='dark' showSpinner={showSpinner} disabled={!formikProps.isValid} >\n <Text namespace={namespace} phrase='contactUsButton' />\n </SpinnerButton>\n </Form>\n );\n}\n",":local {\n .image {\n height: 9.25rem;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport styles from './contact-us-success.module.scss';\n\nconst namespace = 'default.contactUsSuccess';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ContactUsSuccessProps {\n className?: string;\n onClose?: () => void;\n}\n\nexport function ContactUsSuccess({ className = '', onClose }: ContactUsSuccessProps) {\n return (\n <EmptyState className={className}>\n <EmptyState.Image className={styles.image} src={ImageUrls.General.EMAIL_SENT} />\n <EmptyState.Heading className='w-100'>\n <Text namespace={namespace} phrase='successHeading' />\n </EmptyState.Heading>\n <EmptyState.Info className='w-100'>\n <Text namespace={namespace} phrase='successMessage' />\n </EmptyState.Info>\n {onClose && <EmptyState.Cta text={getPhrase('buttonLabel')} className='btn btn-dark w-100' onClick={onClose} />}\n </EmptyState>\n );\n}\n",":local {\n .logo {\n height: 2.5rem;\n width: 2.5rem;\n }\n\n .pageContainer {\n max-width: 32rem;\n\n &::before {\n content: \"\";\n width: 100%;\n position: absolute;\n left: 0;\n min-height: 100vh;\n height: 100%;\n top: 0;\n background: $light-blue;\n z-index: -1;\n }\n }\n}","import React from 'react';\nimport { type BrazeUser, StreamableFormEvent } from '@clickview/braze-client';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { ProspectLookup } from 'libs/shared/apps/sign-up/enums/ProspectLookup';\nimport { BrazeCheckEmailResponse, BrazeHelper } from 'libs/shared/apps/sign-up/helpers/BrazeHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Popup, PopupProps } from 'libs/shared/components/popup/Popup';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BrazeRequests } from 'libs/shared/flight-requests/BrazeRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useProfileApiClient } from 'libs/shared/hooks/UseProfileApiClient';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { StreamableIconLogo } from 'shared/components/streamable-logo/StreamableLogo';\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { StreamableConstants } from 'shared/constants/StreamableConstants';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\nimport { BrazeConversion } from 'shared/enums/BrazeConversion';\nimport { BrazeSource } from 'shared/enums/BrazeSource';\nimport { useStreamableBrazeClientService } from 'shared/hooks/useStreamableBrazeClientService';\nimport { SeoHelper } from 'shared/utils/StreamableSeoHelper';\n\nimport { ContactUsError } from './error/ContactUsError';\nimport { ContactUsForm, ContactUsFormValues } from './form/ContactUsForm';\nimport { ContactUsSuccess } from './success/ContactUsSuccess';\n\nimport styles from './contact-us.module.scss';\n\nconst namespace = 'default.contactUs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype ContactUsFormStage = 'data-entry' | 'success' | 'error';\n\ninterface ContactUsContentProps {\n formStage: ContactUsFormStage;\n initialFormValues: ContactUsFormValues;\n submitting: boolean;\n loginParams: HashObject;\n onSubmit: (values: ContactUsFormValues) => void;\n onTryAgain: () => void;\n closePopup?: () => void;\n googleMapsApiKey: string;\n searchProspectsUrl: string;\n showSignIn: boolean;\n}\n\nfunction ContactUsContent(props: ContactUsContentProps) {\n return (\n <>\n {props.formStage === 'data-entry' &&\n <>\n <h1 className='h2 text-center'><Text namespace={namespace} phrase='contactUsHeading' /></h1>\n <p className='text-center mb-3'><Text namespace={namespace} phrase='contactUsDescription' /></p>\n <ContactUsForm\n initialValues={props.initialFormValues}\n showSpinner={props.submitting}\n onSubmit={props.onSubmit}\n googleMapsApiKey={props.googleMapsApiKey}\n searchProspectsUrl={props.searchProspectsUrl}\n />\n {props.showSignIn && <AppLink\n className='d-flex justify-content-center align-items-center mt-3 text-info'\n appLink={{\n application: AppChannels.DEFAULT,\n action: Actions.Default.CHALLENGE,\n params: props.loginParams\n }}\n >\n <Text namespace={namespace} phrase='signInLink' />\n </AppLink>}\n </>\n }\n {props.formStage === 'error' && <ContactUsError onTryAgain={props.onTryAgain} />}\n {props.formStage === 'success' && <ContactUsSuccess onClose={props.closePopup} />}\n </>\n );\n}\n\ninterface ContactUsPageProps extends ContactUsContentProps { }\n\nfunction ContactUsPage(props: ContactUsPageProps) {\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: getPhrase('title'),\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink(),\n allowIndexing: true,\n product: StreamableConstants.PRODUCT_NAME\n }));\n\n return (\n <div className={`${styles.pageContainer} bg-white mt-4 mx-4 mx-sm-auto p-3 mb-3 border border-gray-400 rounded-3 shadow-sm`}>\n <ContactUsContent\n formStage={props.formStage}\n initialFormValues={props.initialFormValues}\n loginParams={props.loginParams}\n onSubmit={props.onSubmit}\n onTryAgain={props.onTryAgain}\n submitting={props.submitting}\n googleMapsApiKey={props.googleMapsApiKey}\n searchProspectsUrl={props.searchProspectsUrl}\n showSignIn={props.showSignIn}\n />\n </div>\n );\n}\n\ninterface ContactUsPopupProps extends ContactUsContentProps { }\n\nfunction ContactUsPopup(props: ContactUsPopupProps) {\n function onClose() {\n props.closePopup();\n\n ScrollHelper.preventScrollTop();\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={onClose}\n bodyClassName='p-5'\n hideTitle\n >\n <button className='btn-close position-absolute top-0 end-0 p-3' onClick={onClose} />\n <div className={`${styles.logo} position-absolute top-0 start-0 m-3`}>\n <StreamableIconLogo />\n </div>\n <ContactUsContent\n formStage={props.formStage}\n initialFormValues={props.initialFormValues}\n loginParams={props.loginParams}\n onSubmit={props.onSubmit}\n onTryAgain={props.onTryAgain}\n submitting={props.submitting}\n closePopup={onClose}\n googleMapsApiKey={props.googleMapsApiKey}\n searchProspectsUrl={props.searchProspectsUrl}\n showSignIn={props.showSignIn}\n />\n </Popup>\n );\n}\n\ninterface ContactUsViewProps extends PopupProps {\n fromPageLoad: boolean;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function ContactUsView(props: ContactUsViewProps) {\n const fetchAsync = Flight.useGetFetchAsync();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const braze = useStreamableBrazeClientService();\n const [ formStage, setFormStage ] = React.useState<ContactUsFormStage>('data-entry');\n const [ submitting, setSubmitting ] = React.useState(false);\n const [ initialFormValues, setInitialFormValues ] = React.useState<ContactUsFormValues>({\n firstName: '',\n lastName: '',\n email: '',\n schoolOrDistrict: '',\n jobTitle: '',\n phoneNumber: '',\n country: '',\n province: '',\n prospectId: ''\n });\n\n const { createOrUpdateProfile } = useProfileApiClient();\n\n const redirectUrl = Core.AppLinkHelper.getHref(ContextService.getCurrentRoute().appLink);\n const loginParams = redirectUrl !== '/' ? { redirectUrl } : {};\n\n React.useEffect(() => {\n if (!currentUser.data?.isAuthenticated)\n return;\n\n setInitialFormValues({\n ...initialFormValues,\n firstName: currentUser.data.givenName,\n lastName: currentUser.data.familyName,\n email: currentUser.data.email\n });\n }, [currentUser.data?.isAuthenticated]);\n\n async function onSubmit(values: ContactUsFormValues) {\n try {\n setSubmitting(true);\n setInitialFormValues(values);\n\n const checkEmail = await fetchAsync<BrazeCheckEmailResponse>(BrazeRequests.checkEmail(values.email));\n\n let crmId: string;\n if (values.prospectId) {\n const prospectLookups = await fetchAsync<ProspectLookup[]>(BrazeRequests.prospectLookups(values.prospectId));\n crmId = prospectLookups?.find(l => l.type === 'crm_id')?.externalId;\n }\n\n const brazeUser: BrazeUser = {\n email: values.email,\n firstName: values.firstName,\n lastName: values.lastName,\n phone: values.phoneNumber,\n custom: {\n accountAddress: values?.province ? {\n countryCode: values?.country,\n province: BrazeHelper.parseProvince(values?.province || '')\n } : undefined,\n accountName: values.schoolOrDistrict,\n jobTitle: values.jobTitle,\n syncToCrm: checkEmail?.users?.length ? undefined : true,\n crmId: crmId || undefined\n }\n };\n \n createOrUpdateProfile({\n email: values.email,\n firstName: values.firstName,\n lastName: values.lastName,\n phone: values.phoneNumber,\n countryCode: values.country\n });\n\n braze.logFormSubmission({\n user: brazeUser,\n eventType: StreamableFormEvent.ContactUsFormSubmit,\n source: BrazeSource.ContactUs,\n conversion: BrazeConversion.ContactUs,\n productType: 'sl'\n });\n\n setFormStage('success');\n } catch (err) {\n console.warn(err);\n\n setFormStage('error');\n } finally {\n setSubmitting(false);\n }\n }\n\n function onTryAgain() {\n setFormStage('data-entry');\n }\n\n if (!config.hasCompleted || !currentUser.hasCompleted)\n return <></>;\n\n const contactUsProps = {\n formStage,\n initialFormValues,\n submitting,\n loginParams,\n onSubmit,\n onTryAgain,\n closePopup: props.closePopup,\n googleMapsApiKey: config.data.googleMapsApiKey,\n searchProspectsUrl: UrlHelper.safeUrlConcat(config.data.gatewayApiUrl, '/v1/search/prospects'),\n showSignIn: !currentUser.data.isAuthenticated\n };\n\n if (props.fromPageLoad)\n return <ContactUsPage {...contactUsProps} />;\n\n return (\n <ContactUsPopup {...contactUsProps} />\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./Dp9qJj1C.chunk.js";import{a as e}from"./BJvPfCvt.chunk.js";import{lt as t,ut as n}from"./Dun43GrB.chunk.js";import{t as r}from"./D86qrFLE.chunk.js";import{n as i}from"./Da5tDmIW2.chunk.js";import{t as a}from"./Ca1QPe-q2.chunk.js";import{a as o}from"./
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import"./Dp9qJj1C.chunk.js";import{a as e}from"./BJvPfCvt.chunk.js";import{lt as t,ut as n}from"./Dun43GrB.chunk.js";import{t as r}from"./D86qrFLE.chunk.js";import{n as i}from"./Da5tDmIW2.chunk.js";import{t as a}from"./Ca1QPe-q2.chunk.js";import{a as o}from"./kfFYr9dc.chunk.js";import"./Byczy1lS.chunk.js";import{n as s,r as c}from"./BBWlVBxr.chunk.js";import{r as l}from"./CIGsvs1s.chunk.js";var u={dateItem:`_dateItem_1ny8z_1`,label:`_label_1ny8z_4`,body:`_body_1ny8z_11`,bodyDay:`_bodyDay_1ny8z_19`,bodyRange:`_bodyRange_1ny8z_22`,bodyMonth:`_bodyMonth_1ny8z_25`,month:`_month_1ny8z_29`};n();var d=t();function f(e){function t(){switch(e.body.type){case`range`:return u.bodyRange;case`day`:return u.bodyDay;case`month`:return u.bodyMonth}}return(0,d.jsx)(a,{appLink:e.getAppLink?.(),className:`text-decoration-none text-center bg-white text-dark border border-3 ${e.theme?.border} rounded-3 d-block fw-semibold ${e.className}`,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,children:(0,d.jsxs)(`div`,{className:`position-relative ${u.dateItem}`,children:[(0,d.jsx)(`div`,{className:`${e.theme?.background} py-1 ${u.label} d-flex align-items-center justify-content-center`,children:e.label?e.label:(0,d.jsx)(d.Fragment,{children:`\xA0`})}),(0,d.jsx)(`div`,{className:`${t()} ${u.body} my-2`,children:e.body.text}),(0,d.jsx)(`div`,{className:`mb-0 ${u.month}`,children:e.month})]})})}function p(t){let n=s(t.name,c),r={backgroundImage:t.logoUrl?`url('${t.logoUrl}')`:null,backgroundColor:t.bgColor};return(0,d.jsx)(`div`,{className:e(`rounded-3 w-100 h-full`,`ratio ratio-16x9 bg-no-repeat bg-contain bg-center bg-clip-padding`,!t.bgColor&&n,t.classNames?.container),style:r,children:!t.logoUrl&&(0,d.jsx)(`div`,{className:`d-flex align-items-center justify-content-center w-100 h-100`,children:(0,d.jsx)(`span`,{className:e(`text-white text-center fs-5 fw-semibold text-decoration-none text-truncate p-2`,t.classNames?.text),children:t.name})})})}function m(e){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o,{name:e.name,description:e.description}),(0,d.jsx)(i,{className:`mb-n2`,children:e.content.map(t=>(0,d.jsx)(r,{className:`position-relative pb-2`,xs:12,sm:6,lg:e.hasTableOfContents?6:4,xl:4,children:(0,d.jsx)(l,{data:t,getChildAppLink:t=>e.appLinks?.classification?.(t),analyticsData:e.analyticsData,highlightOnHover:e.settings?.hasTopicDirectories,isLarge:!0})},t.id))})]})}export{p as n,f as r,m as t};
|
|
2
|
+
//# sourceMappingURL=CEFKXxac.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"CEFKXxac.chunk.js","names":[],"sources":["../../../../libs/shared/src/apps/calendar/components/generic-calendar-date/generic-calendar-date.module.scss","../../../../libs/shared/src/apps/calendar/components/generic-calendar-date/GenericCalendarDate.tsx","../../../../libs/shared/src/components/rectangular-logo/RectangularLogo.tsx","../../../../libs/shared/src/components/widgets/curated-widgets/templates/cover-fixed-pill-list-large/CoverFixedPillListLargeWidgetTemplate.tsx"],"sourcesContent":[":local {\n .dateItem {\n padding-bottom: 100%;\n\n .label {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 20%;\n }\n\n .body {\n position: absolute;\n top: 45%;\n left: 50%;\n transform: translate(-50%, -50%);\n line-height: 1;\n width: 100%;\n \n &.bodyDay {\n font-size: 3.5em;\n }\n\n &.bodyRange {\n font-size: 2.5em;\n }\n\n &.bodyMonth {\n font-size: 3em;\n top: 50%;\n }\n }\n\n .month {\n position: absolute;\n bottom: 0.1em;\n left: 0;\n right: 0;\n font-size: 1.1em;\n font-weight: 600;\n }\n }\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { CalendarTheme } from 'libs/shared/apps/calendar/interfaces/CalendarTheme';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './generic-calendar-date.module.scss';\n\nexport interface GenericCalendarDateProps {\n label?: string;\n body: {\n type: 'month' | 'range' | 'day',\n text: string\n };\n month?: string;\n getAppLink?: () => Core.AppLink;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n className?: string;\n theme?: CalendarTheme;\n}\n\nexport function GenericCalendarDate(props: GenericCalendarDateProps): JSX.Element {\n function getBodyClass(): string {\n switch (props.body.type) {\n case 'range':\n return styles.bodyRange;\n case 'day':\n return styles.bodyDay;\n case 'month':\n return styles.bodyMonth;\n }\n }\n\n return (\n <AppLink\n appLink={props.getAppLink?.()}\n className={`text-decoration-none text-center bg-white text-dark border border-3 ${props.theme?.border} rounded-3 d-block fw-semibold ${props.className}`}\n analyticsData={props.analyticsData}\n analyticsOptions={props.analyticsOptions}\n >\n <div className={`position-relative ${styles.dateItem}`}>\n <div className={`${props.theme?.background} py-1 ${styles.label} d-flex align-items-center justify-content-center`}>\n {props.label ? props.label : <> </>}\n </div>\n <div className={`${getBodyClass()} ${styles.body} my-2`}>\n {props.body.text}\n </div>\n <div className={`mb-0 ${styles.month}`}>\n {props.month}\n </div>\n </div>\n </AppLink>\n );\n}\n","import React from 'react';\n\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { getDeterministicBgColorClass } from 'libs/shared/utils/getBgColorClass';\n\ninterface RectangularLogoProps {\n logoUrl?: string;\n bgColor?: string;\n name: string;\n classNames?: {\n container?: string,\n text?: string\n };\n}\n\nexport function RectangularLogo(props: RectangularLogoProps): JSX.Element {\n const colourClass = getDeterministicBgColorClass(props.name, BG_COLOUR_CLASS_NAMES);\n\n const logoStyle: React.CSSProperties = {\n backgroundImage: props.logoUrl ? `url('${props.logoUrl}')` : null,\n backgroundColor: props.bgColor\n };\n\n return (\n <div\n className={classNames(\n 'rounded-3 w-100 h-full',\n 'ratio ratio-16x9 bg-no-repeat bg-contain bg-center bg-clip-padding',\n !props.bgColor && colourClass,\n props.classNames?.container\n )}\n style={logoStyle}\n >\n {!props.logoUrl && (\n <div className='d-flex align-items-center justify-content-center w-100 h-100'>\n <span className={classNames(\n 'text-white text-center fs-5 fw-semibold text-decoration-none text-truncate p-2',\n props.classNames?.text\n )}>\n {props.name}\n </span>\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { WidgetHeader } from 'libs/shared/components/widgets/curated-widgets/components/header/WidgetHeader';\nimport { SubjectWidgetItem } from 'libs/shared/components/widgets/items/subject-widget-item/SubjectWidgetItem';\nimport { Classification } from 'libs/shared/interfaces';\n\nexport interface CoverFixedPillListLargeWidgetTemplateProps {\n name: string;\n description: string;\n hasTableOfContents: boolean;\n \n analyticsData?: HashObject;\n\n content: Classification[];\n appLinks: {\n classification: (classification: Classification | null) => Core.AppLink\n };\n settings: {\n hasTopicDirectories: boolean\n };\n}\n\nexport function CoverFixedPillListLargeWidgetTemplate(props: CoverFixedPillListLargeWidgetTemplateProps): JSX.Element {\n return (\n <>\n <WidgetHeader name={props.name} description={props.description} />\n <Row className='mb-n2'>\n {props.content.map(c => {\n return (\n <Col className='position-relative pb-2' key={c.id} xs={12} sm={6} lg={props.hasTableOfContents ? 6 : 4} xl={4}>\n <SubjectWidgetItem\n data={c}\n getChildAppLink={(c: Classification) => props.appLinks?.classification?.(c)}\n analyticsData={props.analyticsData}\n highlightOnHover={props.settings?.hasTopicDirectories}\n isLarge\n />\n </Col>\n );\n })}\n </Row>\n </>\n );\n}\n"],"mappings":"8lBC0BA,SAAgB,EAAoB,EAA8C,CAChF,SAAS,GAAuB,CAC9B,OAAQ,EAAM,KAAK,KAAnB,CACE,IAAK,QACH,OAAO,EAAO,UAChB,IAAK,MACH,OAAO,EAAO,QAChB,IAAK,QACH,OAAO,EAAO,WAIpB,OACE,EAAA,EAAA,KAAC,EAAD,CACE,QAAS,EAAM,cAAc,CAC7B,UAAW,uEAAuE,EAAM,OAAO,OAAO,iCAAiC,EAAM,YAC7I,cAAe,EAAM,cACrB,iBAAkB,EAAM,2BAExB,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,qBAAqB,EAAO,oBAA5C,EACE,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,GAAG,EAAM,OAAO,WAAW,QAAQ,EAAO,MAAM,4DAC7D,EAAM,MAAQ,EAAM,OAAQ,EAAA,EAAA,KAAA,EAAA,SAAA,CAAA,SAAE,OAAS,CAAA,CACpC,CAAA,EACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,GAAG,GAAc,CAAC,GAAG,EAAO,KAAK,gBAC9C,EAAM,KAAK,KACR,CAAA,EACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,QAAQ,EAAO,iBAC5B,EAAM,MACH,CAAA,IAEA,CAAA,CCvCd,SAAgB,EAAgB,EAA0C,CACxE,IAAM,EAAc,EAA6B,EAAM,KAAM,EAAsB,CAE7E,EAAiC,CACrC,gBAAiB,EAAM,QAAU,QAAQ,EAAM,QAAQ,IAAM,KAC7D,gBAAiB,EAAM,QACxB,CAED,OACE,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,EACT,yBACA,qEACA,CAAC,EAAM,SAAW,EAClB,EAAM,YAAY,UACnB,CACD,MAAO,WAEN,CAAC,EAAM,UACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,yEACb,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EACf,iFACA,EAAM,YAAY,KACnB,UACE,EAAM,KACF,CAAA,CACH,CAAA,CAEJ,CAAA,CCnBV,SAAgB,EAAsC,EAAgE,CACpH,OACE,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,EAAD,CAAc,KAAM,EAAM,KAAM,YAAa,EAAM,YAAe,CAAA,EAClE,EAAA,EAAA,KAAC,EAAD,CAAK,UAAU,iBACZ,EAAM,QAAQ,IAAI,IAEf,EAAA,EAAA,KAAC,EAAD,CAAK,UAAU,yBAAoC,GAAI,GAAI,GAAI,EAAG,GAAI,EAAM,mBAAqB,EAAI,EAAG,GAAI,YAC1G,EAAA,EAAA,KAAC,EAAD,CACE,KAAM,EACN,gBAAkB,GAAsB,EAAM,UAAU,iBAAiB,EAAE,CAC3E,cAAe,EAAM,cACrB,iBAAkB,EAAM,UAAU,oBAClC,QAAA,GACA,CAAA,CACE,CARuC,EAAE,GAQzC,CAER,CACE,CAAA,CACL,CAAA,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{gt as e,mt as t}from"./Dp9qJj1C.chunk.js";import{_ as n,v as r}from"./BJvPfCvt.chunk.js";import{t as i}from"./ImQRQGZr.chunk.js";import{C as a,E as o,l as s,lt as c,m as l,n as u,o as d,ut as f}from"./Dun43GrB.chunk.js";import{d as p,l as m,m as h,r as g,y as _}from"./BQ5XMoHG.chunk.js";import{n as v}from"./CAEQvGr_.chunk.js";import{t as y}from"./ibuOpDkQ.chunk.js";import{t as b}from"./H6wjCesG.chunk.js";import{i as x}from"./ClfNVaoj2.chunk.js";import{n as S,t as C}from"./D7d5XFW82.chunk.js";import{t as w}from"./DjIdG9LL2.chunk.js";import{t as T}from"./CE6Tgu462.chunk.js";import{i as E,r as D,t as O}from"./D2om474U2.chunk.js";import{t as k}from"./B4z8dIrI2.chunk.js";import{R as A,X as j,z as M}from"./app-B1XBsz23.js";import{i as N,r as P,t as F}from"./BCdnm1Nn.chunk.js";import{t as I}from"./etRy6yC_.chunk.js";import{t as ee}from"./BTWCXqXm.chunk.js";import{n as te,t as ne}from"./D8_5yfHY2.chunk.js";var L=e(f()),re={uploadBase64Image(e,t,n,r){return{url:`/api/image/upload?type=${e}`,key:`upload:image`,data:t,type:_.POST,success:n,always:r}}},ie=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n||=self,n.Cropper=r())})(e,function(){function e(t){return e=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},e(t)}function t(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?a(n,!0).forEach(function(t){i(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function s(e){return c(e)||l(e)||u()}function c(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}}function l(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)===`[object Arguments]`)return Array.from(e)}function u(){throw TypeError(`Invalid attempt to spread non-iterable instance`)}var d=typeof window<`u`&&window.document!==void 0,f=d?window:{},p=d?`ontouchstart`in f.document.documentElement:!1,m=d?`PointerEvent`in f:!1,h=`cropper`,g=`all`,_=`crop`,v=`move`,y=`zoom`,b=`e`,x=`w`,S=`s`,C=`n`,w=`ne`,T=`nw`,E=`se`,D=`sw`,O=`${h}-crop`,k=`${h}-disabled`,A=`${h}-hidden`,j=`${h}-hide`,M=`${h}-invisible`,N=`${h}-modal`,P=`${h}-move`,F=`${h}Action`,I=`${h}Preview`,ee=`crop`,te=`move`,ne=`none`,L=`crop`,re=`cropend`,ie=`cropmove`,ae=`cropstart`,oe=`dblclick`,se=p?`touchstart`:`mousedown`,ce=p?`touchmove`:`mousemove`,le=p?`touchend touchcancel`:`mouseup`,R=m?`pointerdown`:se,ue=m?`pointermove`:ce,de=m?`pointerup pointercancel`:le,fe=`ready`,pe=`resize`,me=`wheel`,he=`zoom`,ge=`image/jpeg`,_e=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,ve=/^data:/,z=/^data:image\/jpeg;base64,/,ye=/^img|canvas$/i,B=200,be=100,V={viewMode:0,dragMode:ee,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:``,responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},xe=`<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>`,H=Number.isNaN||f.isNaN;function U(e){return typeof e==`number`&&!H(e)}var Se=function(e){return e>0&&e<1/0};function Ce(e){return e===void 0}function W(t){return e(t)===`object`&&t!==null}var we=Object.prototype.hasOwnProperty;function Te(e){if(!W(e))return!1;try{var t=e.constructor,n=t.prototype;return t&&n&&we.call(n,`isPrototypeOf`)}catch{return!1}}function G(e){return typeof e==`function`}var Ee=Array.prototype.slice;function De(e){return Array.from?Array.from(e):Ee.call(e)}function K(e,t){return e&&G(t)&&(Array.isArray(e)||U(e.length)?De(e).forEach(function(n,r){t.call(e,n,r,e)}):W(e)&&Object.keys(e).forEach(function(n){t.call(e,e[n],n,e)})),e}var q=Object.assign||function(e){var t=[...arguments].slice(1);return W(e)&&t.length>0&&t.forEach(function(t){W(t)&&Object.keys(t).forEach(function(n){e[n]=t[n]})}),e},Oe=/\.\d*(?:0|9){12}\d*$/;function ke(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return Oe.test(e)?Math.round(e*t)/t:e}var Ae=/^width|height|left|top|marginLeft|marginTop$/;function J(e,t){var n=e.style;K(t,function(e,t){Ae.test(t)&&U(e)&&(e=`${e}px`),n[t]=e})}function je(e,t){return e.classList?e.classList.contains(t):e.className.indexOf(t)>-1}function Y(e,t){if(t){if(U(e.length)){K(e,function(e){Y(e,t)});return}if(e.classList){e.classList.add(t);return}var n=e.className.trim();n?n.indexOf(t)<0&&(e.className=`${n} ${t}`):e.className=t}}function X(e,t){if(t){if(U(e.length)){K(e,function(e){X(e,t)});return}if(e.classList){e.classList.remove(t);return}e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,``))}}function Me(e,t,n){if(t){if(U(e.length)){K(e,function(e){Me(e,t,n)});return}n?Y(e,t):X(e,t)}}var Ne=/([a-z\d])([A-Z])/g;function Pe(e){return e.replace(Ne,`$1-$2`).toLowerCase()}function Fe(e,t){return W(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute(`data-${Pe(t)}`)}function Ie(e,t,n){W(n)?e[t]=n:e.dataset?e.dataset[t]=n:e.setAttribute(`data-${Pe(t)}`,n)}function Le(e,t){if(W(e[t]))try{delete e[t]}catch{e[t]=void 0}else if(e.dataset)try{delete e.dataset[t]}catch{e.dataset[t]=void 0}else e.removeAttribute(`data-${Pe(t)}`)}var Re=/\s\s*/,ze=function(){var e=!1;if(d){var t=!1,n=function(){},r=Object.defineProperty({},`once`,{get:function(){return e=!0,t},set:function(e){t=e}});f.addEventListener(`test`,n,r),f.removeEventListener(`test`,n,r)}return e}();function Z(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Re).forEach(function(t){if(!ze){var a=e.listeners;a&&a[t]&&a[t][n]&&(i=a[t][n],delete a[t][n],Object.keys(a[t]).length===0&&delete a[t],Object.keys(a).length===0&&delete e.listeners)}e.removeEventListener(t,i,r)})}function Q(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Re).forEach(function(t){if(r.once&&!ze){var a=e.listeners,o=a===void 0?{}:a;i=function(){delete o[t][n],e.removeEventListener(t,i,r);var a=[...arguments];n.apply(e,a)},o[t]||(o[t]={}),o[t][n]&&e.removeEventListener(t,o[t][n],r),o[t][n]=i,e.listeners=o}e.addEventListener(t,i,r)})}function Be(e,t,n){var r;return G(Event)&&G(CustomEvent)?r=new CustomEvent(t,{detail:n,bubbles:!0,cancelable:!0}):(r=document.createEvent(`CustomEvent`),r.initCustomEvent(t,!0,!0,n)),e.dispatchEvent(r)}function Ve(e){var t=e.getBoundingClientRect();return{left:t.left+(window.pageXOffset-document.documentElement.clientLeft),top:t.top+(window.pageYOffset-document.documentElement.clientTop)}}var He=f.location,Ue=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function We(e){var t=e.match(Ue);return t!==null&&(t[1]!==He.protocol||t[2]!==He.hostname||t[3]!==He.port)}function Ge(e){var t=`timestamp=${new Date().getTime()}`;return e+(e.indexOf(`?`)===-1?`?`:`&`)+t}function Ke(e){var t=e.rotate,n=e.scaleX,r=e.scaleY,i=e.translateX,a=e.translateY,o=[];U(i)&&i!==0&&o.push(`translateX(${i}px)`),U(a)&&a!==0&&o.push(`translateY(${a}px)`),U(t)&&t!==0&&o.push(`rotate(${t}deg)`),U(n)&&n!==1&&o.push(`scaleX(${n})`),U(r)&&r!==1&&o.push(`scaleY(${r})`);var s=o.length?o.join(` `):`none`;return{WebkitTransform:s,msTransform:s,transform:s}}function qe(e){var t=o({},e),n=[];return K(e,function(e,r){delete t[r],K(t,function(t){var r=Math.abs(e.startX-t.startX),i=Math.abs(e.startY-t.startY),a=Math.abs(e.endX-t.endX),o=Math.abs(e.endY-t.endY),s=Math.sqrt(r*r+i*i),c=(Math.sqrt(a*a+o*o)-s)/s;n.push(c)})}),n.sort(function(e,t){return Math.abs(e)<Math.abs(t)}),n[0]}function Je(e,t){var n=e.pageX,r=e.pageY,i={endX:n,endY:r};return t?i:o({startX:n,startY:r},i)}function Ye(e){var t=0,n=0,r=0;return K(e,function(e){var i=e.startX,a=e.startY;t+=i,n+=a,r+=1}),t/=r,n/=r,{pageX:t,pageY:n}}function $(e){var t=e.aspectRatio,n=e.height,r=e.width,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`contain`,a=Se(r),o=Se(n);if(a&&o){var s=n*t;i===`contain`&&s>r||i===`cover`&&s<r?n=r/t:r=n*t}else a?n=r/t:o&&(r=n*t);return{width:r,height:n}}function Xe(e){var t=e.width,n=e.height,r=e.degree;if(r=Math.abs(r)%180,r===90)return{width:n,height:t};var i=r%90*Math.PI/180,a=Math.sin(i),o=Math.cos(i),s=t*o+n*a,c=t*a+n*o;return r>90?{width:c,height:s}:{width:s,height:c}}function Ze(e,t,n,r){var i=t.aspectRatio,a=t.naturalWidth,o=t.naturalHeight,c=t.rotate,l=c===void 0?0:c,u=t.scaleX,d=u===void 0?1:u,f=t.scaleY,p=f===void 0?1:f,m=n.aspectRatio,h=n.naturalWidth,g=n.naturalHeight,_=r.fillColor,v=_===void 0?`transparent`:_,y=r.imageSmoothingEnabled,b=y===void 0?!0:y,x=r.imageSmoothingQuality,S=x===void 0?`low`:x,C=r.maxWidth,w=C===void 0?1/0:C,T=r.maxHeight,E=T===void 0?1/0:T,D=r.minWidth,O=D===void 0?0:D,k=r.minHeight,A=k===void 0?0:k,j=document.createElement(`canvas`),M=j.getContext(`2d`),N=$({aspectRatio:m,width:w,height:E}),P=$({aspectRatio:m,width:O,height:A},`cover`),F=Math.min(N.width,Math.max(P.width,h)),I=Math.min(N.height,Math.max(P.height,g)),ee=$({aspectRatio:i,width:w,height:E}),te=$({aspectRatio:i,width:O,height:A},`cover`),ne=Math.min(ee.width,Math.max(te.width,a)),L=Math.min(ee.height,Math.max(te.height,o)),re=[-ne/2,-L/2,ne,L];return j.width=ke(F),j.height=ke(I),M.fillStyle=v,M.fillRect(0,0,F,I),M.save(),M.translate(F/2,I/2),M.rotate(l*Math.PI/180),M.scale(d,p),M.imageSmoothingEnabled=b,M.imageSmoothingQuality=S,M.drawImage.apply(M,[e].concat(s(re.map(function(e){return Math.floor(ke(e))})))),M.restore(),j}var Qe=String.fromCharCode;function $e(e,t,n){var r=``;n+=t;for(var i=t;i<n;i+=1)r+=Qe(e.getUint8(i));return r}var et=/^data:.*,/;function tt(e){var t=e.replace(et,``),n=atob(t),r=new ArrayBuffer(n.length),i=new Uint8Array(r);return K(i,function(e,t){i[t]=n.charCodeAt(t)}),r}function nt(e,t){for(var n=[],r=8192,i=new Uint8Array(e);i.length>0;)n.push(Qe.apply(null,De(i.subarray(0,r)))),i=i.subarray(r);return`data:${t};base64,${btoa(n.join(``))}`}function rt(e){var t=new DataView(e),n;try{var r,i,a;if(t.getUint8(0)===255&&t.getUint8(1)===216)for(var o=t.byteLength,s=2;s+1<o;){if(t.getUint8(s)===255&&t.getUint8(s+1)===225){i=s;break}s+=1}if(i){var c=i+4,l=i+10;if($e(t,c,4)===`Exif`){var u=t.getUint16(l);if(r=u===18761,(r||u===19789)&&t.getUint16(l+2,r)===42){var d=t.getUint32(l+4,r);d>=8&&(a=l+d)}}}if(a){var f=t.getUint16(a,r),p,m;for(m=0;m<f;m+=1)if(p=a+m*12+2,t.getUint16(p,r)===274){p+=8,n=t.getUint16(p,r),t.setUint16(p,1,r);break}}}catch{n=1}return n}function it(e){var t=0,n=1,r=1;switch(e){case 2:n=-1;break;case 3:t=-180;break;case 4:r=-1;break;case 5:t=90,r=-1;break;case 6:t=90;break;case 7:t=90,n=-1;break;case 8:t=-90;break;default:}return{rotate:t,scaleX:n,scaleY:r}}var at={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var e=this.element,t=this.options,n=this.container,r=this.cropper;Y(r,A),X(e,A);var i={width:Math.max(n.offsetWidth,Number(t.minContainerWidth)||200),height:Math.max(n.offsetHeight,Number(t.minContainerHeight)||100)};this.containerData=i,J(r,{width:i.width,height:i.height}),Y(e,A),X(r,A)},initCanvas:function(){var e=this.containerData,t=this.imageData,n=this.options.viewMode,r=Math.abs(t.rotate)%180==90,i=r?t.naturalHeight:t.naturalWidth,a=r?t.naturalWidth:t.naturalHeight,o=i/a,s=e.width,c=e.height;e.height*o>e.width?n===3?s=e.height*o:c=e.width/o:n===3?c=e.width/o:s=e.height*o;var l={aspectRatio:o,naturalWidth:i,naturalHeight:a,width:s,height:c};l.left=(e.width-s)/2,l.top=(e.height-c)/2,l.oldLeft=l.left,l.oldTop=l.top,this.canvasData=l,this.limited=n===1||n===2,this.limitCanvas(!0,!0),this.initialImageData=q({},t),this.initialCanvasData=q({},l)},limitCanvas:function(e,t){var n=this.options,r=this.containerData,i=this.canvasData,a=this.cropBoxData,o=n.viewMode,s=i.aspectRatio,c=this.cropped&&a;if(e){var l=Number(n.minCanvasWidth)||0,u=Number(n.minCanvasHeight)||0;o>1?(l=Math.max(l,r.width),u=Math.max(u,r.height),o===3&&(u*s>l?l=u*s:u=l/s)):o>0&&(l?l=Math.max(l,c?a.width:0):u?u=Math.max(u,c?a.height:0):c&&(l=a.width,u=a.height,u*s>l?l=u*s:u=l/s));var d=$({aspectRatio:s,width:l,height:u});l=d.width,u=d.height,i.minWidth=l,i.minHeight=u,i.maxWidth=1/0,i.maxHeight=1/0}if(t)if(o>(c?0:1)){var f=r.width-i.width,p=r.height-i.height;i.minLeft=Math.min(0,f),i.minTop=Math.min(0,p),i.maxLeft=Math.max(0,f),i.maxTop=Math.max(0,p),c&&this.limited&&(i.minLeft=Math.min(a.left,a.left+(a.width-i.width)),i.minTop=Math.min(a.top,a.top+(a.height-i.height)),i.maxLeft=a.left,i.maxTop=a.top,o===2&&(i.width>=r.width&&(i.minLeft=Math.min(0,f),i.maxLeft=Math.max(0,f)),i.height>=r.height&&(i.minTop=Math.min(0,p),i.maxTop=Math.max(0,p))))}else i.minLeft=-i.width,i.minTop=-i.height,i.maxLeft=r.width,i.maxTop=r.height},renderCanvas:function(e,t){var n=this.canvasData,r=this.imageData;if(t){var i=Xe({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),a=i.width,o=i.height,s=n.width*(a/n.naturalWidth),c=n.height*(o/n.naturalHeight);n.left-=(s-n.width)/2,n.top-=(c-n.height)/2,n.width=s,n.height=c,n.aspectRatio=a/o,n.naturalWidth=a,n.naturalHeight=o,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCanvas(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,J(this.canvas,q({width:n.width,height:n.height},Ke({translateX:n.left,translateY:n.top}))),this.renderImage(e),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(e){var t=this.canvasData,n=this.imageData,r=n.naturalWidth*(t.width/t.naturalWidth),i=n.naturalHeight*(t.height/t.naturalHeight);q(n,{width:r,height:i,left:(t.width-r)/2,top:(t.height-i)/2}),J(this.image,q({width:n.width,height:n.height},Ke(q({translateX:n.left,translateY:n.top},n)))),e&&this.output()},initCropBox:function(){var e=this.options,t=this.canvasData,n=e.aspectRatio||e.initialAspectRatio,r=Number(e.autoCropArea)||.8,i={width:t.width,height:t.height};n&&(t.height*n>t.width?i.height=i.width/n:i.width=i.height*n),this.cropBoxData=i,this.limitCropBox(!0,!0),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),i.width=Math.max(i.minWidth,i.width*r),i.height=Math.max(i.minHeight,i.height*r),i.left=t.left+(t.width-i.width)/2,i.top=t.top+(t.height-i.height)/2,i.oldLeft=i.left,i.oldTop=i.top,this.initialCropBoxData=q({},i)},limitCropBox:function(e,t){var n=this.options,r=this.containerData,i=this.canvasData,a=this.cropBoxData,o=this.limited,s=n.aspectRatio;if(e){var c=Number(n.minCropBoxWidth)||0,l=Number(n.minCropBoxHeight)||0,u=o?Math.min(r.width,i.width,i.width+i.left,r.width-i.left):r.width,d=o?Math.min(r.height,i.height,i.height+i.top,r.height-i.top):r.height;c=Math.min(c,r.width),l=Math.min(l,r.height),s&&(c&&l?l*s>c?l=c/s:c=l*s:c?l=c/s:l&&(c=l*s),d*s>u?d=u/s:u=d*s),a.minWidth=Math.min(c,u),a.minHeight=Math.min(l,d),a.maxWidth=u,a.maxHeight=d}t&&(o?(a.minLeft=Math.max(0,i.left),a.minTop=Math.max(0,i.top),a.maxLeft=Math.min(r.width,i.left+i.width)-a.width,a.maxTop=Math.min(r.height,i.top+i.height)-a.height):(a.minLeft=0,a.minTop=0,a.maxLeft=r.width-a.width,a.maxTop=r.height-a.height))},renderCropBox:function(){var e=this.options,t=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCropBox(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,e.movable&&e.cropBoxMovable&&Ie(this.face,F,n.width>=t.width&&n.height>=t.height?v:g),J(this.cropBox,q({width:n.width,height:n.height},Ke({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Be(this.element,L,this.getData())}},ot={initPreview:function(){var e=this.element,t=this.crossOrigin,n=this.options.preview,r=t?this.crossOriginUrl:this.url,i=e.alt||`The image to preview`,a=document.createElement(`img`);if(t&&(a.crossOrigin=t),a.src=r,a.alt=i,this.viewBox.appendChild(a),this.viewBoxImage=a,n){var o=n;typeof n==`string`?o=e.ownerDocument.querySelectorAll(n):n.querySelector&&(o=[n]),this.previews=o,K(o,function(e){var n=document.createElement(`img`);Ie(e,I,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(n.crossOrigin=t),n.src=r,n.alt=i,n.style.cssText=`display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"`,e.innerHTML=``,e.appendChild(n)})}},resetPreview:function(){K(this.previews,function(e){var t=Fe(e,I);J(e,{width:t.width,height:t.height}),e.innerHTML=t.html,Le(e,I)})},preview:function(){var e=this.imageData,t=this.canvasData,n=this.cropBoxData,r=n.width,i=n.height,a=e.width,o=e.height,s=n.left-t.left-e.left,c=n.top-t.top-e.top;!this.cropped||this.disabled||(J(this.viewBoxImage,q({width:a,height:o},Ke(q({translateX:-s,translateY:-c},e)))),K(this.previews,function(t){var n=Fe(t,I),l=n.width,u=n.height,d=l,f=u,p=1;r&&(p=l/r,f=i*p),i&&f>u&&(p=u/i,d=r*p,f=u),J(t,{width:d,height:f}),J(t.getElementsByTagName(`img`)[0],q({width:a*p,height:o*p},Ke(q({translateX:-s*p,translateY:-c*p},e))))}))}},st={bind:function(){var e=this.element,t=this.options,n=this.cropper;G(t.cropstart)&&Q(e,ae,t.cropstart),G(t.cropmove)&&Q(e,ie,t.cropmove),G(t.cropend)&&Q(e,re,t.cropend),G(t.crop)&&Q(e,L,t.crop),G(t.zoom)&&Q(e,he,t.zoom),Q(n,R,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&Q(n,me,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Q(n,oe,this.onDblclick=this.dblclick.bind(this)),Q(e.ownerDocument,ue,this.onCropMove=this.cropMove.bind(this)),Q(e.ownerDocument,de,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&Q(window,pe,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,n=this.cropper;G(t.cropstart)&&Z(e,ae,t.cropstart),G(t.cropmove)&&Z(e,ie,t.cropmove),G(t.cropend)&&Z(e,re,t.cropend),G(t.crop)&&Z(e,L,t.crop),G(t.zoom)&&Z(e,he,t.zoom),Z(n,R,this.onCropStart),t.zoomable&&t.zoomOnWheel&&Z(n,me,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Z(n,oe,this.onDblclick),Z(e.ownerDocument,ue,this.onCropMove),Z(e.ownerDocument,de,this.onCropEnd),t.responsive&&Z(window,pe,this.onResize)}},ct={resize:function(){var e=this.options,t=this.container,n=this.containerData,r=Number(e.minContainerWidth)||B,i=Number(e.minContainerHeight)||be;if(!(this.disabled||n.width<=r||n.height<=i)){var a=t.offsetWidth/n.width;if(a!==1||t.offsetHeight!==n.height){var o,s;e.restore&&(o=this.getCanvasData(),s=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(K(o,function(e,t){o[t]=e*a})),this.setCropBoxData(K(s,function(e,t){s[t]=e*a})))}}},dblclick:function(){this.disabled||this.options.dragMode===ne||this.setDragMode(je(this.dragBox,O)?te:ee)},wheel:function(e){var t=this,n=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(e.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){t.wheeling=!1},50),e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*n,e)))},cropStart:function(e){var t=e.buttons,n=e.button;if(!(this.disabled||(e.type===`mousedown`||e.type===`pointerdown`&&e.pointerType===`mouse`)&&(U(t)&&t!==1||U(n)&&n!==0||e.ctrlKey))){var r=this.options,i=this.pointers,a;e.changedTouches?K(e.changedTouches,function(e){i[e.identifier]=Je(e)}):i[e.pointerId||0]=Je(e),a=Object.keys(i).length>1&&r.zoomable&&r.zoomOnTouch?y:Fe(e.target,F),_e.test(a)&&Be(this.element,ae,{originalEvent:e,action:a})!==!1&&(e.preventDefault(),this.action=a,this.cropping=!1,a===_&&(this.cropping=!0,Y(this.dragBox,N)))}},cropMove:function(e){var t=this.action;if(!(this.disabled||!t)){var n=this.pointers;e.preventDefault(),Be(this.element,ie,{originalEvent:e,action:t})!==!1&&(e.changedTouches?K(e.changedTouches,function(e){q(n[e.identifier]||{},Je(e,!0))}):q(n[e.pointerId||0]||{},Je(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,n=this.pointers;e.changedTouches?K(e.changedTouches,function(e){delete n[e.identifier]}):delete n[e.pointerId||0],t&&(e.preventDefault(),Object.keys(n).length||(this.action=``),this.cropping&&(this.cropping=!1,Me(this.dragBox,N,this.cropped&&this.options.modal)),Be(this.element,re,{originalEvent:e,action:t}))}}},lt={change:function(e){var t=this.options,n=this.canvasData,r=this.containerData,i=this.cropBoxData,a=this.pointers,o=this.action,s=t.aspectRatio,c=i.left,l=i.top,u=i.width,d=i.height,f=c+u,p=l+d,m=0,h=0,O=r.width,k=r.height,j=!0,M;!s&&e.shiftKey&&(s=u&&d?u/d:1),this.limited&&(m=i.minLeft,h=i.minTop,O=m+Math.min(r.width,n.width,n.left+n.width),k=h+Math.min(r.height,n.height,n.top+n.height));var N=a[Object.keys(a)[0]],P={x:N.endX-N.startX,y:N.endY-N.startY},F=function(e){switch(e){case b:f+P.x>O&&(P.x=O-f);break;case x:c+P.x<m&&(P.x=m-c);break;case C:l+P.y<h&&(P.y=h-l);break;case S:p+P.y>k&&(P.y=k-p);break;default:}};switch(o){case g:c+=P.x,l+=P.y;break;case b:if(P.x>=0&&(f>=O||s&&(l<=h||p>=k))){j=!1;break}F(b),u+=P.x,u<0&&(o=x,u=-u,c-=u),s&&(d=u/s,l+=(i.height-d)/2);break;case C:if(P.y<=0&&(l<=h||s&&(c<=m||f>=O))){j=!1;break}F(C),d-=P.y,l+=P.y,d<0&&(o=S,d=-d,l-=d),s&&(u=d*s,c+=(i.width-u)/2);break;case x:if(P.x<=0&&(c<=m||s&&(l<=h||p>=k))){j=!1;break}F(x),u-=P.x,c+=P.x,u<0&&(o=b,u=-u,c-=u),s&&(d=u/s,l+=(i.height-d)/2);break;case S:if(P.y>=0&&(p>=k||s&&(c<=m||f>=O))){j=!1;break}F(S),d+=P.y,d<0&&(o=C,d=-d,l-=d),s&&(u=d*s,c+=(i.width-u)/2);break;case w:if(s){if(P.y<=0&&(l<=h||f>=O)){j=!1;break}F(C),d-=P.y,l+=P.y,u=d*s}else F(C),F(b),P.x>=0?f<O?u+=P.x:P.y<=0&&l<=h&&(j=!1):u+=P.x,P.y<=0?l>h&&(d-=P.y,l+=P.y):(d-=P.y,l+=P.y);u<0&&d<0?(o=D,d=-d,u=-u,l-=d,c-=u):u<0?(o=T,u=-u,c-=u):d<0&&(o=E,d=-d,l-=d);break;case T:if(s){if(P.y<=0&&(l<=h||c<=m)){j=!1;break}F(C),d-=P.y,l+=P.y,u=d*s,c+=i.width-u}else F(C),F(x),P.x<=0?c>m?(u-=P.x,c+=P.x):P.y<=0&&l<=h&&(j=!1):(u-=P.x,c+=P.x),P.y<=0?l>h&&(d-=P.y,l+=P.y):(d-=P.y,l+=P.y);u<0&&d<0?(o=E,d=-d,u=-u,l-=d,c-=u):u<0?(o=w,u=-u,c-=u):d<0&&(o=D,d=-d,l-=d);break;case D:if(s){if(P.x<=0&&(c<=m||p>=k)){j=!1;break}F(x),u-=P.x,c+=P.x,d=u/s}else F(S),F(x),P.x<=0?c>m?(u-=P.x,c+=P.x):P.y>=0&&p>=k&&(j=!1):(u-=P.x,c+=P.x),P.y>=0?p<k&&(d+=P.y):d+=P.y;u<0&&d<0?(o=w,d=-d,u=-u,l-=d,c-=u):u<0?(o=E,u=-u,c-=u):d<0&&(o=T,d=-d,l-=d);break;case E:if(s){if(P.x>=0&&(f>=O||p>=k)){j=!1;break}F(b),u+=P.x,d=u/s}else F(S),F(b),P.x>=0?f<O?u+=P.x:P.y>=0&&p>=k&&(j=!1):u+=P.x,P.y>=0?p<k&&(d+=P.y):d+=P.y;u<0&&d<0?(o=T,d=-d,u=-u,l-=d,c-=u):u<0?(o=D,u=-u,c-=u):d<0&&(o=w,d=-d,l-=d);break;case v:this.move(P.x,P.y),j=!1;break;case y:this.zoom(qe(a),e),j=!1;break;case _:if(!P.x||!P.y){j=!1;break}M=Ve(this.cropper),c=N.startX-M.left,l=N.startY-M.top,u=i.minWidth,d=i.minHeight,P.x>0?o=P.y>0?E:w:P.x<0&&(c-=u,o=P.y>0?D:T),P.y<0&&(l-=d),this.cropped||(X(this.cropBox,A),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break;default:}j&&(i.width=u,i.height=d,i.left=c,i.top=l,this.action=o,this.renderCropBox()),K(a,function(e){e.startX=e.endX,e.startY=e.endY})}},ut={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&Y(this.dragBox,N),X(this.cropBox,A),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=q({},this.initialImageData),this.canvasData=q({},this.initialCanvasData),this.cropBoxData=q({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(q(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),X(this.dragBox,N),Y(this.cropBox,A)),this},replace:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,K(this.previews,function(t){t.getElementsByTagName(`img`)[0].src=e}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,X(this.cropper,k)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,Y(this.cropper,k)),this},destroy:function(){var e=this.element;return e[h]?(e[h]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.canvasData,r=n.left,i=n.top;return this.moveTo(Ce(e)?e:r+Number(e),Ce(t)?t:i+Number(t))},moveTo:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.canvasData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(U(e)&&(n.left=e,r=!0),U(t)&&(n.top=t,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(e,t){var n=this.canvasData;return e=Number(e),e=e<0?1/(1-e):1+e,this.zoomTo(n.width*e/n.naturalWidth,null,t)},zoomTo:function(e,t,n){var r=this.options,i=this.canvasData,a=i.width,o=i.height,s=i.naturalWidth,c=i.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&r.zoomable){var l=s*e,u=c*e;if(Be(this.element,he,{ratio:e,oldRatio:a/s,originalEvent:n})===!1)return this;if(n){var d=this.pointers,f=Ve(this.cropper),p=d&&Object.keys(d).length?Ye(d):{pageX:n.pageX,pageY:n.pageY};i.left-=(l-a)*((p.pageX-f.left-i.left)/a),i.top-=(u-o)*((p.pageY-f.top-i.top)/o)}else Te(t)&&U(t.x)&&U(t.y)?(i.left-=(l-a)*((t.x-i.left)/a),i.top-=(u-o)*((t.y-i.top)/o)):(i.left-=(l-a)/2,i.top-=(u-o)/2);i.width=l,i.height=u,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return e=Number(e),U(e)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var t=this.imageData.scaleY;return this.scale(e,U(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(U(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.imageData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(U(e)&&(n.scaleX=e,r=!0),U(t)&&(n.scaleY=t,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.options,n=this.imageData,r=this.canvasData,i=this.cropBoxData,a;if(this.ready&&this.cropped){a={x:i.left-r.left,y:i.top-r.top,width:i.width,height:i.height};var o=n.width/n.naturalWidth;if(K(a,function(e,t){a[t]=e/o}),e){var s=Math.round(a.y+a.height),c=Math.round(a.x+a.width);a.x=Math.round(a.x),a.y=Math.round(a.y),a.width=c-a.x,a.height=s-a.y}}else a={x:0,y:0,width:0,height:0};return t.rotatable&&(a.rotate=n.rotate||0),t.scalable&&(a.scaleX=n.scaleX||1,a.scaleY=n.scaleY||1),a},setData:function(e){var t=this.options,n=this.imageData,r=this.canvasData,i={};if(this.ready&&!this.disabled&&Te(e)){var a=!1;t.rotatable&&U(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,a=!0),t.scalable&&(U(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,a=!0),U(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,a=!0)),a&&this.renderCanvas(!0,!0);var o=n.width/n.naturalWidth;U(e.x)&&(i.left=e.x*o+r.left),U(e.y)&&(i.top=e.y*o+r.top),U(e.width)&&(i.width=e.width*o),U(e.height)&&(i.height=e.height*o),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?q({},this.containerData):{}},getImageData:function(){return this.sized?q({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&K([`left`,`top`,`width`,`height`,`naturalWidth`,`naturalHeight`],function(n){t[n]=e[n]}),t},setCanvasData:function(e){var t=this.canvasData,n=t.aspectRatio;return this.ready&&!this.disabled&&Te(e)&&(U(e.left)&&(t.left=e.left),U(e.top)&&(t.top=e.top),U(e.width)?(t.width=e.width,t.height=e.width/n):U(e.height)&&(t.height=e.height,t.width=e.height*n),this.renderCanvas(!0)),this},getCropBoxData:function(){var e=this.cropBoxData,t;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(e){var t=this.cropBoxData,n=this.options.aspectRatio,r,i;return this.ready&&this.cropped&&!this.disabled&&Te(e)&&(U(e.left)&&(t.left=e.left),U(e.top)&&(t.top=e.top),U(e.width)&&e.width!==t.width&&(r=!0,t.width=e.width),U(e.height)&&e.height!==t.height&&(i=!0,t.height=e.height),n&&(r?t.height=t.width/n:i&&(t.width=t.height*n)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var t=this.canvasData,n=Ze(this.image,this.imageData,t,e);if(!this.cropped)return n;var r=this.getData(),i=r.x,a=r.y,o=r.width,c=r.height,l=n.width/Math.floor(t.naturalWidth);l!==1&&(i*=l,a*=l,o*=l,c*=l);var u=o/c,d=$({aspectRatio:u,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),f=$({aspectRatio:u,width:e.minWidth||0,height:e.minHeight||0},`cover`),p=$({aspectRatio:u,width:e.width||(l===1?o:n.width),height:e.height||(l===1?c:n.height)}),m=p.width,h=p.height;m=Math.min(d.width,Math.max(f.width,m)),h=Math.min(d.height,Math.max(f.height,h));var g=document.createElement(`canvas`),_=g.getContext(`2d`);g.width=ke(m),g.height=ke(h),_.fillStyle=e.fillColor||`transparent`,_.fillRect(0,0,m,h);var v=e.imageSmoothingEnabled,y=v===void 0?!0:v,b=e.imageSmoothingQuality;_.imageSmoothingEnabled=y,b&&(_.imageSmoothingQuality=b);var x=n.width,S=n.height,C=i,w=a,T,E,D,O,k,A;C<=-o||C>x?(C=0,T=0,D=0,k=0):C<=0?(D=-C,C=0,T=Math.min(x,o+C),k=T):C<=x&&(D=0,T=Math.min(o,x-C),k=T),T<=0||w<=-c||w>S?(w=0,E=0,O=0,A=0):w<=0?(O=-w,w=0,E=Math.min(S,c+w),A=E):w<=S&&(O=0,E=Math.min(c,S-w),A=E);var j=[C,w,T,E];if(k>0&&A>0){var M=m/o;j.push(D*M,O*M,k*M,A*M)}return _.drawImage.apply(_,[n].concat(s(j.map(function(e){return Math.floor(ke(e))})))),g},setAspectRatio:function(e){var t=this.options;return!this.disabled&&!Ce(e)&&(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,n=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var i=e===ee,a=t.movable&&e===te;e=i||a?e:ne,t.dragMode=e,Ie(n,F,e),Me(n,O,i),Me(n,P,a),t.cropBoxMovable||(Ie(r,F,e),Me(r,O,i),Me(r,P,a))}return this}},dt=f.Cropper,ft=function(){function e(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t(this,e),!n||!ye.test(n.tagName))throw Error(`The first argument is required and must be an <img> or <canvas> element.`);this.element=n,this.options=q({},V,Te(r)&&r),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return r(e,[{key:`init`,value:function(){var e=this.element,t=e.tagName.toLowerCase(),n;if(!e[h]){if(e[h]=this,t===`img`){if(this.isImg=!0,n=e.getAttribute(`src`)||``,this.originalUrl=n,!n)return;n=e.src}else t===`canvas`&&window.HTMLCanvasElement&&(n=e.toDataURL());this.load(n)}}},{key:`load`,value:function(e){var t=this;if(e){this.url=e,this.imageData={};var n=this.element,r=this.options;if(!r.rotatable&&!r.scalable&&(r.checkOrientation=!1),!r.checkOrientation||!window.ArrayBuffer){this.clone();return}if(ve.test(e)){z.test(e)?this.read(tt(e)):this.clone();return}var i=new XMLHttpRequest,a=this.clone.bind(this);this.reloading=!0,this.xhr=i,i.onabort=a,i.onerror=a,i.ontimeout=a,i.onprogress=function(){i.getResponseHeader(`content-type`)!==ge&&i.abort()},i.onload=function(){t.read(i.response)},i.onloadend=function(){t.reloading=!1,t.xhr=null},r.checkCrossOrigin&&We(e)&&n.crossOrigin&&(e=Ge(e)),i.open(`GET`,e),i.responseType=`arraybuffer`,i.withCredentials=n.crossOrigin===`use-credentials`,i.send()}}},{key:`read`,value:function(e){var t=this.options,n=this.imageData,r=rt(e),i=0,a=1,o=1;if(r>1){this.url=nt(e,ge);var s=it(r);i=s.rotate,a=s.scaleX,o=s.scaleY}t.rotatable&&(n.rotate=i),t.scalable&&(n.scaleX=a,n.scaleY=o),this.clone()}},{key:`clone`,value:function(){var e=this.element,t=this.url,n=e.crossOrigin,r=t;this.options.checkCrossOrigin&&We(t)&&(n||=`anonymous`,r=Ge(t)),this.crossOrigin=n,this.crossOriginUrl=r;var i=document.createElement(`img`);n&&(i.crossOrigin=n),i.src=r||t,i.alt=e.alt||`The image to crop`,this.image=i,i.onload=this.start.bind(this),i.onerror=this.stop.bind(this),Y(i,j),e.parentNode.insertBefore(i,e.nextSibling)}},{key:`start`,value:function(){var e=this,t=this.image;t.onload=null,t.onerror=null,this.sizing=!0;var n=f.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(f.navigator.userAgent),r=function(t,n){q(e.imageData,{naturalWidth:t,naturalHeight:n,aspectRatio:t/n}),e.sizing=!1,e.sized=!0,e.build()};if(t.naturalWidth&&!n){r(t.naturalWidth,t.naturalHeight);return}var i=document.createElement(`img`),a=document.body||document.documentElement;this.sizingImage=i,i.onload=function(){r(i.width,i.height),n||a.removeChild(i)},i.src=t.src,n||(i.style.cssText=`left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;`,a.appendChild(i))}},{key:`stop`,value:function(){var e=this.image;e.onload=null,e.onerror=null,e.parentNode.removeChild(e),this.image=null}},{key:`build`,value:function(){if(!(!this.sized||this.ready)){var e=this.element,t=this.options,n=this.image,r=e.parentNode,i=document.createElement(`div`);i.innerHTML=xe;var a=i.querySelector(`.${h}-container`),o=a.querySelector(`.${h}-canvas`),s=a.querySelector(`.${h}-drag-box`),c=a.querySelector(`.${h}-crop-box`),l=c.querySelector(`.${h}-face`);this.container=r,this.cropper=a,this.canvas=o,this.dragBox=s,this.cropBox=c,this.viewBox=a.querySelector(`.${h}-view-box`),this.face=l,o.appendChild(n),Y(e,A),r.insertBefore(a,e.nextSibling),this.isImg||X(n,j),this.initPreview(),this.bind(),t.initialAspectRatio=Math.max(0,t.initialAspectRatio)||NaN,t.aspectRatio=Math.max(0,t.aspectRatio)||NaN,t.viewMode=Math.max(0,Math.min(3,Math.round(t.viewMode)))||0,Y(c,A),t.guides||Y(c.getElementsByClassName(`${h}-dashed`),A),t.center||Y(c.getElementsByClassName(`${h}-center`),A),t.background&&Y(a,`${h}-bg`),t.highlight||Y(l,M),t.cropBoxMovable&&(Y(l,P),Ie(l,F,g)),t.cropBoxResizable||(Y(c.getElementsByClassName(`${h}-line`),A),Y(c.getElementsByClassName(`${h}-point`),A)),this.render(),this.ready=!0,this.setDragMode(t.dragMode),t.autoCrop&&this.crop(),this.setData(t.data),G(t.ready)&&Q(e,fe,t.ready,{once:!0}),Be(e,fe)}}},{key:`unbuild`,value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),X(this.element,A))}},{key:`uncreate`,value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:`noConflict`,value:function(){return window.Cropper=dt,e}},{key:`setDefaults`,value:function(e){q(V,Te(e)&&e)}}]),e}();return q(ft.prototype,at,ot,st,ct,lt,ut),ft})})),ae=n(),oe=e(ie()),se=/data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,.*/,ce=e=>{let t=e.match(se);if(t)return t[1]};function le(e,t,n,r=0,i=0,a={},o){let[s,c]=L.useState(!1),[l,u]=L.useState(!1),d=L.useRef(null),f=T(),p=()=>{if(!s)return;u(!0);let e=d.current.getCroppedCanvas().toDataURL(ce(t));typeof n==`function`&&n(e)};async function m(){try{if(e.current.complete||await new Promise((t,n)=>{e.current.onload=()=>t(),e.current.onerror=e=>n(e)}),!f.current)return;let t=e.current.offsetWidth/e.current.naturalWidth;d.current=new oe.default(e.current,{ready:()=>c(!0),aspectRatio:r/i,minCropBoxWidth:r*t,minCropBoxHeight:i*t,...a})}catch(e){throw o?.(e),e}}return L.useEffect(()=>(m(),()=>{d.current?.destroy()}),[]),{crop:p,showSpinner:l,imageLoaded:s}}var R=c();ue.defaultProps={popupSize:`lg`};function ue(e){let t=L.useRef(null),[n,r]=L.useState(!1),i={viewMode:2,autoCropArea:1,cropstart:()=>r(!0),cropend:()=>r(!1)},a=I[e.imageType],{crop:o,showSpinner:s,imageLoaded:c}=le(t,e.src,t=>e.onClickCrop(t,e.closePopup),a?.width,a?.height,i);function l(){n||e.closePopup()}return(0,R.jsxs)(M,{title:`Crop and resize your image`,closePopup:l,size:e.popupSize,children:[(0,R.jsx)(`div`,{className:`pb-3`,children:(0,R.jsx)(`img`,{src:e.src,alt:e.alt,ref:t,className:`img img-fluid`})}),(0,R.jsxs)(A,{children:[(0,R.jsx)(A.Cancel,{onClick:l}),(0,R.jsx)(A.Submit,{onClick:o,text:`Crop`,variant:`dark`,showSpinner:s,disabled:!c})]})]})}var de={renderCropper(e){let t=(0,ae.createRoot)(document.getElementById(`dialog-region`));t.render((0,R.jsx)(ue,{...e,closePopup:()=>t.unmount()}))}},fe={onFileSelect(e,t,n,r){if(!t||!t.length)return;if(t.length>1){alert(`Please only select one file`);return}let i=t[0];if(!i.type.startsWith(`image/`)){alert(`Please select an image file`);return}let a=new FileReader;a.addEventListener(`load`,()=>fe.onReaderLoad(a,e,n,r)),a.readAsDataURL(i)},onReaderLoad(e,t,n,i){let a=new Image;a.src=e.result;let o=i?.width??I[t].width,s=i?.height??I[t].height;a.addEventListener(`load`,()=>{fe.isImageValid(t,a,i)&&r.isFunction(n)?n(a):alert(`Image too small: minimum dimensions are ${o} x ${s}`)})},isImageValid(e,t,n){let r=n?.width??I[e].width,i=n?.height??I[e].height;return!(r&&t.width<r||i&&t.height<i)},mapImageTypeToString(e){switch(e){case E.Avatars:return`avatars`;case E.Thumbnails:return`thumbnails`;case E.Logos:return`logos`;case E.Covers:return`covers`;case E.Posters:return`posters`;case E.TallPosters:return`tallposters`;case E.HeroBanners:return`herobanners`;case E.None:default:return``}}},pe={profileImage:`_profileImage_24nro_1`},me=`settings.editAvatar`;function he(e,t){return O.createUrl(v.safeUrlConcat(e,`/v1/profile-images?initials=${t}`),{size:D.Medium})}function ge(e){return e.split(`,`)[1]}function _e(e){let t=L.useRef(null),n=e.user.avatar?.url?e.user.avatar.url:he(e.imageCdnUrl,k.getInitials(e.user.name,e.user.surname));function r(){t.current.value=null,t.current.click(null)}function i(t){!t||!t[0]||fe.onFileSelect(E.Avatars,t,t=>{de.renderCropper({src:t.src,alt:``,onClickCrop:(t,n)=>e.onSelectImage(ge(t),n),imageType:E.Avatars})})}return(0,R.jsx)(C.Provider,{value:me,children:(0,R.jsxs)(`div`,{className:`col-auto form-group d-flex flex-column align-items-center ps-4`,children:[(0,R.jsx)(`label`,{className:`align-self-start`,children:(0,R.jsx)(S,{phrase:`profileImage`})}),(0,R.jsx)(`img`,{className:`img img-fluid rounded ${pe.profileImage} mb-2`,alt:`User avatar`,src:n}),(0,R.jsx)(`button`,{className:`btn btn-outline-dark px-3 text-center`,onClick:r,children:(0,R.jsx)(S,{phrase:`uploadImage`})}),(0,R.jsx)(`input`,{type:`file`,className:`file-select d-none`,multiple:!1,accept:`image/jpg,image/jpeg,image/png`,ref:t,onChange:e=>i(e.target.files)}),!!e.user.avatar?.url&&(0,R.jsx)(`button`,{className:`btn btn-link text-center`,onClick:e.onClickRemoveImage,children:(0,R.jsx)(S,{phrase:`removeImage`})})]})})}var ve=e(P(),1),z=i.encloseNamespace(`settings.editProfileDetailsForm`),ye=(0,ve.object)().shape({firstName:(0,ve.string)().max(255,()=>z(`nameExceeds`)).required(()=>z(`nameRequired`)).default(``).trim(),surname:(0,ve.string)().max(255,()=>z(`surnameExceeds`)).required(()=>z(`surnameRequired`)).default(``).trim(),username:(0,ve.string)().max(255,()=>z(`usernameExceeds`)).default(``).trim(),displayName:(0,ve.string)().max(255,()=>z(`displayNameExceeds`)).default(``).trim()}),B=i.encloseNamespace(`settings.editProfileDetailsForm`);function be(e){return(0,R.jsx)(N,{initialValues:{firstName:e.user.name,surname:e.user.surname,username:e.user.username,displayName:e.user.metadata?.displayName??``},validationSchema:ye,onSubmit:e.onClickSave,children:(0,R.jsxs)(x,{children:[(0,R.jsx)(F,{label:B(`firstName`),type:`text`,name:`firstName`,id:`firstName`,placeholder:B(`firstNamePlaceholder`),autoFocus:!0,showRequiredStar:!0}),(0,R.jsx)(F,{label:B(`lastName`),type:`text`,name:`surname`,id:`surname`,placeholder:B(`lastNamePlaceholder`),showRequiredStar:!0}),(0,R.jsx)(F,{label:B(`displayName`),type:`text`,name:`displayName`,id:`displayName`,placeholder:B(`displayNamePlaceholder`),infoTooltip:B(`displayNameTooltip`)}),(0,R.jsx)(F,{label:B(`username`),type:`text`,name:`username`,id:`username`,placeholder:B(`usernamePlaceholder`),showRequiredStar:!0,disabled:!0,infoTooltip:B(`usernameTooltip`)}),(0,R.jsx)(ee,{variant:`dark`,submitText:B(`saveChanges`),isNew:!1})]})})}var V={partialLabel:`_partialLabel_1r06u_1`,partialInput:`_partialInput_1r06u_6`,partialSubmit:`_partialSubmit_1r06u_10`,partialAvatar:`_partialAvatar_1r06u_14`,partialUploadImage:`_partialUploadImage_1r06u_18`};function xe(){return(0,R.jsxs)(`div`,{className:`row g-0`,children:[(0,R.jsxs)(`div`,{className:`col-4`,children:[(0,R.jsxs)(`div`,{className:`form-group`,children:[(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialLabel}`}),(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialInput}`})]}),(0,R.jsxs)(`div`,{className:`form-group`,children:[(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialLabel}`}),(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialInput}`})]}),(0,R.jsxs)(`div`,{className:`form-group`,children:[(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialLabel}`}),(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialInput}`})]}),(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialSubmit}`})]}),(0,R.jsxs)(`div`,{className:`form-group d-flex flex-column align-items-center ps-4`,children:[(0,R.jsx)(`div`,{className:`partial-loading-background align-self-start ${V.partialLabel}`}),(0,R.jsx)(`div`,{className:`partial-loading-background mb-2 ${V.partialAvatar}`}),(0,R.jsx)(`div`,{className:`partial-loading-background mx-3 ${V.partialUploadImage}`})]})]})}var H=i.encloseNamespace(`settings.profileDetails`);function U(){let e=h(),t=b(),n=p(),r=m(y.currentUser()),i=m(r.data&&ne.getUser(r.data.id)),c=m(j.config());w({title:H(`heading`)});async function f(e,r){let a={firstName:e.firstName,lastName:e.surname,displayName:e.displayName||null},o=[n(y.updateCurrentUser(a))];i.data.userProfile?.metadata?.jobTitle&&o.push(n(y.updateUserJobTitle(i.data.userProfile?.metadata?.jobTitle)));try{await Promise.all(o),t.success(H(`success`))}catch{t.error(H(`error`))}finally{r?.()}}function _(n,r){g(e,re.uploadBase64Image(E.Avatars,n,e=>{v(e,r)},()=>{t.error(H(`avatarUploadError`))}))}function v(n,i){g(e,ne.updateAvatar(n.id,r.data.id,()=>{u.logUserAction({id:r.data.id,avatarId:n.id,avatarUrl:n.location},{actionType:a.Associate,workflowPhase:o.Complete,location:l.Settings,entity:s.User,descriptor:d.Avatar}),i(),t.success(H(`avatarUploadSuccess`))},()=>{t.error(H(`avatarUploadError`))}))}function x(){g(e,ne.deleteAvatar(i.data.avatar.id,r.data.id,()=>{u.logUserAction({id:r.data.id,avatarId:i.data.avatar.id},{actionType:a.Dissociate,workflowPhase:o.Complete,location:l.Settings,entity:s.User,descriptor:d.Avatar}),t.success(H(`avatarDeleteSuccess`))},()=>{t.error(H(`avatarDeleteError`))}))}return(0,R.jsx)(te,{heading:H(`heading`),breadcrumbs:[H(`breadcrumb`)],children:r.data&&i.data&&c.data?(0,R.jsxs)(`div`,{className:`row g-0`,children:[(0,R.jsx)(`div`,{className:`col-4`,children:(0,R.jsx)(be,{user:i.data,onClickSave:f})}),(0,R.jsx)(_e,{user:i.data,onSelectImage:_,onClickRemoveImage:x,imageCdnUrl:c.data.imageCdnUrl})]}):(0,R.jsx)(xe,{})})}export{U as ProfileDetailsView};
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{gt as e,mt as t}from"./Dp9qJj1C.chunk.js";import{_ as n,v as r}from"./BJvPfCvt.chunk.js";import{t as i}from"./ImQRQGZr.chunk.js";import{C as a,E as o,l as s,lt as c,m as l,n as u,o as d,ut as f}from"./Dun43GrB.chunk.js";import{d as p,l as m,m as h,r as g,y as _}from"./BQ5XMoHG.chunk.js";import{n as v}from"./CAEQvGr_.chunk.js";import{t as y}from"./ibuOpDkQ.chunk.js";import{t as b}from"./H6wjCesG.chunk.js";import{i as x}from"./ClfNVaoj2.chunk.js";import{n as S,t as C}from"./D7d5XFW82.chunk.js";import{t as w}from"./DjIdG9LL2.chunk.js";import{t as T}from"./CE6Tgu462.chunk.js";import{i as E,r as D,t as O}from"./D2om474U2.chunk.js";import{t as k}from"./B4z8dIrI2.chunk.js";import{R as A,X as j,z as M}from"./app-gjHxcZG3.js";import{i as N,r as P,t as F}from"./wOeN2ls0.chunk.js";import{t as I}from"./etRy6yC_.chunk.js";import{t as ee}from"./BTWCXqXm.chunk.js";import{n as te,t as ne}from"./lLAYbgAy2.chunk.js";var L=e(f()),re={uploadBase64Image(e,t,n,r){return{url:`/api/image/upload?type=${e}`,key:`upload:image`,data:t,type:_.POST,success:n,always:r}}},ie=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n||=self,n.Cropper=r())})(e,function(){function e(t){return e=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},e(t)}function t(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?a(n,!0).forEach(function(t){i(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function s(e){return c(e)||l(e)||u()}function c(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}}function l(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)===`[object Arguments]`)return Array.from(e)}function u(){throw TypeError(`Invalid attempt to spread non-iterable instance`)}var d=typeof window<`u`&&window.document!==void 0,f=d?window:{},p=d?`ontouchstart`in f.document.documentElement:!1,m=d?`PointerEvent`in f:!1,h=`cropper`,g=`all`,_=`crop`,v=`move`,y=`zoom`,b=`e`,x=`w`,S=`s`,C=`n`,w=`ne`,T=`nw`,E=`se`,D=`sw`,O=`${h}-crop`,k=`${h}-disabled`,A=`${h}-hidden`,j=`${h}-hide`,M=`${h}-invisible`,N=`${h}-modal`,P=`${h}-move`,F=`${h}Action`,I=`${h}Preview`,ee=`crop`,te=`move`,ne=`none`,L=`crop`,re=`cropend`,ie=`cropmove`,ae=`cropstart`,oe=`dblclick`,se=p?`touchstart`:`mousedown`,ce=p?`touchmove`:`mousemove`,le=p?`touchend touchcancel`:`mouseup`,R=m?`pointerdown`:se,ue=m?`pointermove`:ce,de=m?`pointerup pointercancel`:le,fe=`ready`,pe=`resize`,me=`wheel`,he=`zoom`,ge=`image/jpeg`,_e=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,ve=/^data:/,z=/^data:image\/jpeg;base64,/,ye=/^img|canvas$/i,B=200,be=100,V={viewMode:0,dragMode:ee,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:``,responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},xe=`<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>`,H=Number.isNaN||f.isNaN;function U(e){return typeof e==`number`&&!H(e)}var Se=function(e){return e>0&&e<1/0};function Ce(e){return e===void 0}function W(t){return e(t)===`object`&&t!==null}var we=Object.prototype.hasOwnProperty;function Te(e){if(!W(e))return!1;try{var t=e.constructor,n=t.prototype;return t&&n&&we.call(n,`isPrototypeOf`)}catch{return!1}}function G(e){return typeof e==`function`}var Ee=Array.prototype.slice;function De(e){return Array.from?Array.from(e):Ee.call(e)}function K(e,t){return e&&G(t)&&(Array.isArray(e)||U(e.length)?De(e).forEach(function(n,r){t.call(e,n,r,e)}):W(e)&&Object.keys(e).forEach(function(n){t.call(e,e[n],n,e)})),e}var q=Object.assign||function(e){var t=[...arguments].slice(1);return W(e)&&t.length>0&&t.forEach(function(t){W(t)&&Object.keys(t).forEach(function(n){e[n]=t[n]})}),e},Oe=/\.\d*(?:0|9){12}\d*$/;function ke(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return Oe.test(e)?Math.round(e*t)/t:e}var Ae=/^width|height|left|top|marginLeft|marginTop$/;function J(e,t){var n=e.style;K(t,function(e,t){Ae.test(t)&&U(e)&&(e=`${e}px`),n[t]=e})}function je(e,t){return e.classList?e.classList.contains(t):e.className.indexOf(t)>-1}function Y(e,t){if(t){if(U(e.length)){K(e,function(e){Y(e,t)});return}if(e.classList){e.classList.add(t);return}var n=e.className.trim();n?n.indexOf(t)<0&&(e.className=`${n} ${t}`):e.className=t}}function X(e,t){if(t){if(U(e.length)){K(e,function(e){X(e,t)});return}if(e.classList){e.classList.remove(t);return}e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,``))}}function Me(e,t,n){if(t){if(U(e.length)){K(e,function(e){Me(e,t,n)});return}n?Y(e,t):X(e,t)}}var Ne=/([a-z\d])([A-Z])/g;function Pe(e){return e.replace(Ne,`$1-$2`).toLowerCase()}function Fe(e,t){return W(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute(`data-${Pe(t)}`)}function Ie(e,t,n){W(n)?e[t]=n:e.dataset?e.dataset[t]=n:e.setAttribute(`data-${Pe(t)}`,n)}function Le(e,t){if(W(e[t]))try{delete e[t]}catch{e[t]=void 0}else if(e.dataset)try{delete e.dataset[t]}catch{e.dataset[t]=void 0}else e.removeAttribute(`data-${Pe(t)}`)}var Re=/\s\s*/,ze=function(){var e=!1;if(d){var t=!1,n=function(){},r=Object.defineProperty({},`once`,{get:function(){return e=!0,t},set:function(e){t=e}});f.addEventListener(`test`,n,r),f.removeEventListener(`test`,n,r)}return e}();function Z(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Re).forEach(function(t){if(!ze){var a=e.listeners;a&&a[t]&&a[t][n]&&(i=a[t][n],delete a[t][n],Object.keys(a[t]).length===0&&delete a[t],Object.keys(a).length===0&&delete e.listeners)}e.removeEventListener(t,i,r)})}function Q(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Re).forEach(function(t){if(r.once&&!ze){var a=e.listeners,o=a===void 0?{}:a;i=function(){delete o[t][n],e.removeEventListener(t,i,r);var a=[...arguments];n.apply(e,a)},o[t]||(o[t]={}),o[t][n]&&e.removeEventListener(t,o[t][n],r),o[t][n]=i,e.listeners=o}e.addEventListener(t,i,r)})}function Be(e,t,n){var r;return G(Event)&&G(CustomEvent)?r=new CustomEvent(t,{detail:n,bubbles:!0,cancelable:!0}):(r=document.createEvent(`CustomEvent`),r.initCustomEvent(t,!0,!0,n)),e.dispatchEvent(r)}function Ve(e){var t=e.getBoundingClientRect();return{left:t.left+(window.pageXOffset-document.documentElement.clientLeft),top:t.top+(window.pageYOffset-document.documentElement.clientTop)}}var He=f.location,Ue=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function We(e){var t=e.match(Ue);return t!==null&&(t[1]!==He.protocol||t[2]!==He.hostname||t[3]!==He.port)}function Ge(e){var t=`timestamp=${new Date().getTime()}`;return e+(e.indexOf(`?`)===-1?`?`:`&`)+t}function Ke(e){var t=e.rotate,n=e.scaleX,r=e.scaleY,i=e.translateX,a=e.translateY,o=[];U(i)&&i!==0&&o.push(`translateX(${i}px)`),U(a)&&a!==0&&o.push(`translateY(${a}px)`),U(t)&&t!==0&&o.push(`rotate(${t}deg)`),U(n)&&n!==1&&o.push(`scaleX(${n})`),U(r)&&r!==1&&o.push(`scaleY(${r})`);var s=o.length?o.join(` `):`none`;return{WebkitTransform:s,msTransform:s,transform:s}}function qe(e){var t=o({},e),n=[];return K(e,function(e,r){delete t[r],K(t,function(t){var r=Math.abs(e.startX-t.startX),i=Math.abs(e.startY-t.startY),a=Math.abs(e.endX-t.endX),o=Math.abs(e.endY-t.endY),s=Math.sqrt(r*r+i*i),c=(Math.sqrt(a*a+o*o)-s)/s;n.push(c)})}),n.sort(function(e,t){return Math.abs(e)<Math.abs(t)}),n[0]}function Je(e,t){var n=e.pageX,r=e.pageY,i={endX:n,endY:r};return t?i:o({startX:n,startY:r},i)}function Ye(e){var t=0,n=0,r=0;return K(e,function(e){var i=e.startX,a=e.startY;t+=i,n+=a,r+=1}),t/=r,n/=r,{pageX:t,pageY:n}}function $(e){var t=e.aspectRatio,n=e.height,r=e.width,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`contain`,a=Se(r),o=Se(n);if(a&&o){var s=n*t;i===`contain`&&s>r||i===`cover`&&s<r?n=r/t:r=n*t}else a?n=r/t:o&&(r=n*t);return{width:r,height:n}}function Xe(e){var t=e.width,n=e.height,r=e.degree;if(r=Math.abs(r)%180,r===90)return{width:n,height:t};var i=r%90*Math.PI/180,a=Math.sin(i),o=Math.cos(i),s=t*o+n*a,c=t*a+n*o;return r>90?{width:c,height:s}:{width:s,height:c}}function Ze(e,t,n,r){var i=t.aspectRatio,a=t.naturalWidth,o=t.naturalHeight,c=t.rotate,l=c===void 0?0:c,u=t.scaleX,d=u===void 0?1:u,f=t.scaleY,p=f===void 0?1:f,m=n.aspectRatio,h=n.naturalWidth,g=n.naturalHeight,_=r.fillColor,v=_===void 0?`transparent`:_,y=r.imageSmoothingEnabled,b=y===void 0?!0:y,x=r.imageSmoothingQuality,S=x===void 0?`low`:x,C=r.maxWidth,w=C===void 0?1/0:C,T=r.maxHeight,E=T===void 0?1/0:T,D=r.minWidth,O=D===void 0?0:D,k=r.minHeight,A=k===void 0?0:k,j=document.createElement(`canvas`),M=j.getContext(`2d`),N=$({aspectRatio:m,width:w,height:E}),P=$({aspectRatio:m,width:O,height:A},`cover`),F=Math.min(N.width,Math.max(P.width,h)),I=Math.min(N.height,Math.max(P.height,g)),ee=$({aspectRatio:i,width:w,height:E}),te=$({aspectRatio:i,width:O,height:A},`cover`),ne=Math.min(ee.width,Math.max(te.width,a)),L=Math.min(ee.height,Math.max(te.height,o)),re=[-ne/2,-L/2,ne,L];return j.width=ke(F),j.height=ke(I),M.fillStyle=v,M.fillRect(0,0,F,I),M.save(),M.translate(F/2,I/2),M.rotate(l*Math.PI/180),M.scale(d,p),M.imageSmoothingEnabled=b,M.imageSmoothingQuality=S,M.drawImage.apply(M,[e].concat(s(re.map(function(e){return Math.floor(ke(e))})))),M.restore(),j}var Qe=String.fromCharCode;function $e(e,t,n){var r=``;n+=t;for(var i=t;i<n;i+=1)r+=Qe(e.getUint8(i));return r}var et=/^data:.*,/;function tt(e){var t=e.replace(et,``),n=atob(t),r=new ArrayBuffer(n.length),i=new Uint8Array(r);return K(i,function(e,t){i[t]=n.charCodeAt(t)}),r}function nt(e,t){for(var n=[],r=8192,i=new Uint8Array(e);i.length>0;)n.push(Qe.apply(null,De(i.subarray(0,r)))),i=i.subarray(r);return`data:${t};base64,${btoa(n.join(``))}`}function rt(e){var t=new DataView(e),n;try{var r,i,a;if(t.getUint8(0)===255&&t.getUint8(1)===216)for(var o=t.byteLength,s=2;s+1<o;){if(t.getUint8(s)===255&&t.getUint8(s+1)===225){i=s;break}s+=1}if(i){var c=i+4,l=i+10;if($e(t,c,4)===`Exif`){var u=t.getUint16(l);if(r=u===18761,(r||u===19789)&&t.getUint16(l+2,r)===42){var d=t.getUint32(l+4,r);d>=8&&(a=l+d)}}}if(a){var f=t.getUint16(a,r),p,m;for(m=0;m<f;m+=1)if(p=a+m*12+2,t.getUint16(p,r)===274){p+=8,n=t.getUint16(p,r),t.setUint16(p,1,r);break}}}catch{n=1}return n}function it(e){var t=0,n=1,r=1;switch(e){case 2:n=-1;break;case 3:t=-180;break;case 4:r=-1;break;case 5:t=90,r=-1;break;case 6:t=90;break;case 7:t=90,n=-1;break;case 8:t=-90;break;default:}return{rotate:t,scaleX:n,scaleY:r}}var at={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var e=this.element,t=this.options,n=this.container,r=this.cropper;Y(r,A),X(e,A);var i={width:Math.max(n.offsetWidth,Number(t.minContainerWidth)||200),height:Math.max(n.offsetHeight,Number(t.minContainerHeight)||100)};this.containerData=i,J(r,{width:i.width,height:i.height}),Y(e,A),X(r,A)},initCanvas:function(){var e=this.containerData,t=this.imageData,n=this.options.viewMode,r=Math.abs(t.rotate)%180==90,i=r?t.naturalHeight:t.naturalWidth,a=r?t.naturalWidth:t.naturalHeight,o=i/a,s=e.width,c=e.height;e.height*o>e.width?n===3?s=e.height*o:c=e.width/o:n===3?c=e.width/o:s=e.height*o;var l={aspectRatio:o,naturalWidth:i,naturalHeight:a,width:s,height:c};l.left=(e.width-s)/2,l.top=(e.height-c)/2,l.oldLeft=l.left,l.oldTop=l.top,this.canvasData=l,this.limited=n===1||n===2,this.limitCanvas(!0,!0),this.initialImageData=q({},t),this.initialCanvasData=q({},l)},limitCanvas:function(e,t){var n=this.options,r=this.containerData,i=this.canvasData,a=this.cropBoxData,o=n.viewMode,s=i.aspectRatio,c=this.cropped&&a;if(e){var l=Number(n.minCanvasWidth)||0,u=Number(n.minCanvasHeight)||0;o>1?(l=Math.max(l,r.width),u=Math.max(u,r.height),o===3&&(u*s>l?l=u*s:u=l/s)):o>0&&(l?l=Math.max(l,c?a.width:0):u?u=Math.max(u,c?a.height:0):c&&(l=a.width,u=a.height,u*s>l?l=u*s:u=l/s));var d=$({aspectRatio:s,width:l,height:u});l=d.width,u=d.height,i.minWidth=l,i.minHeight=u,i.maxWidth=1/0,i.maxHeight=1/0}if(t)if(o>(c?0:1)){var f=r.width-i.width,p=r.height-i.height;i.minLeft=Math.min(0,f),i.minTop=Math.min(0,p),i.maxLeft=Math.max(0,f),i.maxTop=Math.max(0,p),c&&this.limited&&(i.minLeft=Math.min(a.left,a.left+(a.width-i.width)),i.minTop=Math.min(a.top,a.top+(a.height-i.height)),i.maxLeft=a.left,i.maxTop=a.top,o===2&&(i.width>=r.width&&(i.minLeft=Math.min(0,f),i.maxLeft=Math.max(0,f)),i.height>=r.height&&(i.minTop=Math.min(0,p),i.maxTop=Math.max(0,p))))}else i.minLeft=-i.width,i.minTop=-i.height,i.maxLeft=r.width,i.maxTop=r.height},renderCanvas:function(e,t){var n=this.canvasData,r=this.imageData;if(t){var i=Xe({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),a=i.width,o=i.height,s=n.width*(a/n.naturalWidth),c=n.height*(o/n.naturalHeight);n.left-=(s-n.width)/2,n.top-=(c-n.height)/2,n.width=s,n.height=c,n.aspectRatio=a/o,n.naturalWidth=a,n.naturalHeight=o,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCanvas(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,J(this.canvas,q({width:n.width,height:n.height},Ke({translateX:n.left,translateY:n.top}))),this.renderImage(e),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(e){var t=this.canvasData,n=this.imageData,r=n.naturalWidth*(t.width/t.naturalWidth),i=n.naturalHeight*(t.height/t.naturalHeight);q(n,{width:r,height:i,left:(t.width-r)/2,top:(t.height-i)/2}),J(this.image,q({width:n.width,height:n.height},Ke(q({translateX:n.left,translateY:n.top},n)))),e&&this.output()},initCropBox:function(){var e=this.options,t=this.canvasData,n=e.aspectRatio||e.initialAspectRatio,r=Number(e.autoCropArea)||.8,i={width:t.width,height:t.height};n&&(t.height*n>t.width?i.height=i.width/n:i.width=i.height*n),this.cropBoxData=i,this.limitCropBox(!0,!0),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),i.width=Math.max(i.minWidth,i.width*r),i.height=Math.max(i.minHeight,i.height*r),i.left=t.left+(t.width-i.width)/2,i.top=t.top+(t.height-i.height)/2,i.oldLeft=i.left,i.oldTop=i.top,this.initialCropBoxData=q({},i)},limitCropBox:function(e,t){var n=this.options,r=this.containerData,i=this.canvasData,a=this.cropBoxData,o=this.limited,s=n.aspectRatio;if(e){var c=Number(n.minCropBoxWidth)||0,l=Number(n.minCropBoxHeight)||0,u=o?Math.min(r.width,i.width,i.width+i.left,r.width-i.left):r.width,d=o?Math.min(r.height,i.height,i.height+i.top,r.height-i.top):r.height;c=Math.min(c,r.width),l=Math.min(l,r.height),s&&(c&&l?l*s>c?l=c/s:c=l*s:c?l=c/s:l&&(c=l*s),d*s>u?d=u/s:u=d*s),a.minWidth=Math.min(c,u),a.minHeight=Math.min(l,d),a.maxWidth=u,a.maxHeight=d}t&&(o?(a.minLeft=Math.max(0,i.left),a.minTop=Math.max(0,i.top),a.maxLeft=Math.min(r.width,i.left+i.width)-a.width,a.maxTop=Math.min(r.height,i.top+i.height)-a.height):(a.minLeft=0,a.minTop=0,a.maxLeft=r.width-a.width,a.maxTop=r.height-a.height))},renderCropBox:function(){var e=this.options,t=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCropBox(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,e.movable&&e.cropBoxMovable&&Ie(this.face,F,n.width>=t.width&&n.height>=t.height?v:g),J(this.cropBox,q({width:n.width,height:n.height},Ke({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Be(this.element,L,this.getData())}},ot={initPreview:function(){var e=this.element,t=this.crossOrigin,n=this.options.preview,r=t?this.crossOriginUrl:this.url,i=e.alt||`The image to preview`,a=document.createElement(`img`);if(t&&(a.crossOrigin=t),a.src=r,a.alt=i,this.viewBox.appendChild(a),this.viewBoxImage=a,n){var o=n;typeof n==`string`?o=e.ownerDocument.querySelectorAll(n):n.querySelector&&(o=[n]),this.previews=o,K(o,function(e){var n=document.createElement(`img`);Ie(e,I,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(n.crossOrigin=t),n.src=r,n.alt=i,n.style.cssText=`display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"`,e.innerHTML=``,e.appendChild(n)})}},resetPreview:function(){K(this.previews,function(e){var t=Fe(e,I);J(e,{width:t.width,height:t.height}),e.innerHTML=t.html,Le(e,I)})},preview:function(){var e=this.imageData,t=this.canvasData,n=this.cropBoxData,r=n.width,i=n.height,a=e.width,o=e.height,s=n.left-t.left-e.left,c=n.top-t.top-e.top;!this.cropped||this.disabled||(J(this.viewBoxImage,q({width:a,height:o},Ke(q({translateX:-s,translateY:-c},e)))),K(this.previews,function(t){var n=Fe(t,I),l=n.width,u=n.height,d=l,f=u,p=1;r&&(p=l/r,f=i*p),i&&f>u&&(p=u/i,d=r*p,f=u),J(t,{width:d,height:f}),J(t.getElementsByTagName(`img`)[0],q({width:a*p,height:o*p},Ke(q({translateX:-s*p,translateY:-c*p},e))))}))}},st={bind:function(){var e=this.element,t=this.options,n=this.cropper;G(t.cropstart)&&Q(e,ae,t.cropstart),G(t.cropmove)&&Q(e,ie,t.cropmove),G(t.cropend)&&Q(e,re,t.cropend),G(t.crop)&&Q(e,L,t.crop),G(t.zoom)&&Q(e,he,t.zoom),Q(n,R,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&Q(n,me,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Q(n,oe,this.onDblclick=this.dblclick.bind(this)),Q(e.ownerDocument,ue,this.onCropMove=this.cropMove.bind(this)),Q(e.ownerDocument,de,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&Q(window,pe,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,n=this.cropper;G(t.cropstart)&&Z(e,ae,t.cropstart),G(t.cropmove)&&Z(e,ie,t.cropmove),G(t.cropend)&&Z(e,re,t.cropend),G(t.crop)&&Z(e,L,t.crop),G(t.zoom)&&Z(e,he,t.zoom),Z(n,R,this.onCropStart),t.zoomable&&t.zoomOnWheel&&Z(n,me,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Z(n,oe,this.onDblclick),Z(e.ownerDocument,ue,this.onCropMove),Z(e.ownerDocument,de,this.onCropEnd),t.responsive&&Z(window,pe,this.onResize)}},ct={resize:function(){var e=this.options,t=this.container,n=this.containerData,r=Number(e.minContainerWidth)||B,i=Number(e.minContainerHeight)||be;if(!(this.disabled||n.width<=r||n.height<=i)){var a=t.offsetWidth/n.width;if(a!==1||t.offsetHeight!==n.height){var o,s;e.restore&&(o=this.getCanvasData(),s=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(K(o,function(e,t){o[t]=e*a})),this.setCropBoxData(K(s,function(e,t){s[t]=e*a})))}}},dblclick:function(){this.disabled||this.options.dragMode===ne||this.setDragMode(je(this.dragBox,O)?te:ee)},wheel:function(e){var t=this,n=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(e.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){t.wheeling=!1},50),e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*n,e)))},cropStart:function(e){var t=e.buttons,n=e.button;if(!(this.disabled||(e.type===`mousedown`||e.type===`pointerdown`&&e.pointerType===`mouse`)&&(U(t)&&t!==1||U(n)&&n!==0||e.ctrlKey))){var r=this.options,i=this.pointers,a;e.changedTouches?K(e.changedTouches,function(e){i[e.identifier]=Je(e)}):i[e.pointerId||0]=Je(e),a=Object.keys(i).length>1&&r.zoomable&&r.zoomOnTouch?y:Fe(e.target,F),_e.test(a)&&Be(this.element,ae,{originalEvent:e,action:a})!==!1&&(e.preventDefault(),this.action=a,this.cropping=!1,a===_&&(this.cropping=!0,Y(this.dragBox,N)))}},cropMove:function(e){var t=this.action;if(!(this.disabled||!t)){var n=this.pointers;e.preventDefault(),Be(this.element,ie,{originalEvent:e,action:t})!==!1&&(e.changedTouches?K(e.changedTouches,function(e){q(n[e.identifier]||{},Je(e,!0))}):q(n[e.pointerId||0]||{},Je(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,n=this.pointers;e.changedTouches?K(e.changedTouches,function(e){delete n[e.identifier]}):delete n[e.pointerId||0],t&&(e.preventDefault(),Object.keys(n).length||(this.action=``),this.cropping&&(this.cropping=!1,Me(this.dragBox,N,this.cropped&&this.options.modal)),Be(this.element,re,{originalEvent:e,action:t}))}}},lt={change:function(e){var t=this.options,n=this.canvasData,r=this.containerData,i=this.cropBoxData,a=this.pointers,o=this.action,s=t.aspectRatio,c=i.left,l=i.top,u=i.width,d=i.height,f=c+u,p=l+d,m=0,h=0,O=r.width,k=r.height,j=!0,M;!s&&e.shiftKey&&(s=u&&d?u/d:1),this.limited&&(m=i.minLeft,h=i.minTop,O=m+Math.min(r.width,n.width,n.left+n.width),k=h+Math.min(r.height,n.height,n.top+n.height));var N=a[Object.keys(a)[0]],P={x:N.endX-N.startX,y:N.endY-N.startY},F=function(e){switch(e){case b:f+P.x>O&&(P.x=O-f);break;case x:c+P.x<m&&(P.x=m-c);break;case C:l+P.y<h&&(P.y=h-l);break;case S:p+P.y>k&&(P.y=k-p);break;default:}};switch(o){case g:c+=P.x,l+=P.y;break;case b:if(P.x>=0&&(f>=O||s&&(l<=h||p>=k))){j=!1;break}F(b),u+=P.x,u<0&&(o=x,u=-u,c-=u),s&&(d=u/s,l+=(i.height-d)/2);break;case C:if(P.y<=0&&(l<=h||s&&(c<=m||f>=O))){j=!1;break}F(C),d-=P.y,l+=P.y,d<0&&(o=S,d=-d,l-=d),s&&(u=d*s,c+=(i.width-u)/2);break;case x:if(P.x<=0&&(c<=m||s&&(l<=h||p>=k))){j=!1;break}F(x),u-=P.x,c+=P.x,u<0&&(o=b,u=-u,c-=u),s&&(d=u/s,l+=(i.height-d)/2);break;case S:if(P.y>=0&&(p>=k||s&&(c<=m||f>=O))){j=!1;break}F(S),d+=P.y,d<0&&(o=C,d=-d,l-=d),s&&(u=d*s,c+=(i.width-u)/2);break;case w:if(s){if(P.y<=0&&(l<=h||f>=O)){j=!1;break}F(C),d-=P.y,l+=P.y,u=d*s}else F(C),F(b),P.x>=0?f<O?u+=P.x:P.y<=0&&l<=h&&(j=!1):u+=P.x,P.y<=0?l>h&&(d-=P.y,l+=P.y):(d-=P.y,l+=P.y);u<0&&d<0?(o=D,d=-d,u=-u,l-=d,c-=u):u<0?(o=T,u=-u,c-=u):d<0&&(o=E,d=-d,l-=d);break;case T:if(s){if(P.y<=0&&(l<=h||c<=m)){j=!1;break}F(C),d-=P.y,l+=P.y,u=d*s,c+=i.width-u}else F(C),F(x),P.x<=0?c>m?(u-=P.x,c+=P.x):P.y<=0&&l<=h&&(j=!1):(u-=P.x,c+=P.x),P.y<=0?l>h&&(d-=P.y,l+=P.y):(d-=P.y,l+=P.y);u<0&&d<0?(o=E,d=-d,u=-u,l-=d,c-=u):u<0?(o=w,u=-u,c-=u):d<0&&(o=D,d=-d,l-=d);break;case D:if(s){if(P.x<=0&&(c<=m||p>=k)){j=!1;break}F(x),u-=P.x,c+=P.x,d=u/s}else F(S),F(x),P.x<=0?c>m?(u-=P.x,c+=P.x):P.y>=0&&p>=k&&(j=!1):(u-=P.x,c+=P.x),P.y>=0?p<k&&(d+=P.y):d+=P.y;u<0&&d<0?(o=w,d=-d,u=-u,l-=d,c-=u):u<0?(o=E,u=-u,c-=u):d<0&&(o=T,d=-d,l-=d);break;case E:if(s){if(P.x>=0&&(f>=O||p>=k)){j=!1;break}F(b),u+=P.x,d=u/s}else F(S),F(b),P.x>=0?f<O?u+=P.x:P.y>=0&&p>=k&&(j=!1):u+=P.x,P.y>=0?p<k&&(d+=P.y):d+=P.y;u<0&&d<0?(o=T,d=-d,u=-u,l-=d,c-=u):u<0?(o=D,u=-u,c-=u):d<0&&(o=w,d=-d,l-=d);break;case v:this.move(P.x,P.y),j=!1;break;case y:this.zoom(qe(a),e),j=!1;break;case _:if(!P.x||!P.y){j=!1;break}M=Ve(this.cropper),c=N.startX-M.left,l=N.startY-M.top,u=i.minWidth,d=i.minHeight,P.x>0?o=P.y>0?E:w:P.x<0&&(c-=u,o=P.y>0?D:T),P.y<0&&(l-=d),this.cropped||(X(this.cropBox,A),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break;default:}j&&(i.width=u,i.height=d,i.left=c,i.top=l,this.action=o,this.renderCropBox()),K(a,function(e){e.startX=e.endX,e.startY=e.endY})}},ut={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&Y(this.dragBox,N),X(this.cropBox,A),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=q({},this.initialImageData),this.canvasData=q({},this.initialCanvasData),this.cropBoxData=q({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(q(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),X(this.dragBox,N),Y(this.cropBox,A)),this},replace:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,K(this.previews,function(t){t.getElementsByTagName(`img`)[0].src=e}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,X(this.cropper,k)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,Y(this.cropper,k)),this},destroy:function(){var e=this.element;return e[h]?(e[h]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.canvasData,r=n.left,i=n.top;return this.moveTo(Ce(e)?e:r+Number(e),Ce(t)?t:i+Number(t))},moveTo:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.canvasData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(U(e)&&(n.left=e,r=!0),U(t)&&(n.top=t,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(e,t){var n=this.canvasData;return e=Number(e),e=e<0?1/(1-e):1+e,this.zoomTo(n.width*e/n.naturalWidth,null,t)},zoomTo:function(e,t,n){var r=this.options,i=this.canvasData,a=i.width,o=i.height,s=i.naturalWidth,c=i.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&r.zoomable){var l=s*e,u=c*e;if(Be(this.element,he,{ratio:e,oldRatio:a/s,originalEvent:n})===!1)return this;if(n){var d=this.pointers,f=Ve(this.cropper),p=d&&Object.keys(d).length?Ye(d):{pageX:n.pageX,pageY:n.pageY};i.left-=(l-a)*((p.pageX-f.left-i.left)/a),i.top-=(u-o)*((p.pageY-f.top-i.top)/o)}else Te(t)&&U(t.x)&&U(t.y)?(i.left-=(l-a)*((t.x-i.left)/a),i.top-=(u-o)*((t.y-i.top)/o)):(i.left-=(l-a)/2,i.top-=(u-o)/2);i.width=l,i.height=u,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return e=Number(e),U(e)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var t=this.imageData.scaleY;return this.scale(e,U(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(U(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.imageData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(U(e)&&(n.scaleX=e,r=!0),U(t)&&(n.scaleY=t,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.options,n=this.imageData,r=this.canvasData,i=this.cropBoxData,a;if(this.ready&&this.cropped){a={x:i.left-r.left,y:i.top-r.top,width:i.width,height:i.height};var o=n.width/n.naturalWidth;if(K(a,function(e,t){a[t]=e/o}),e){var s=Math.round(a.y+a.height),c=Math.round(a.x+a.width);a.x=Math.round(a.x),a.y=Math.round(a.y),a.width=c-a.x,a.height=s-a.y}}else a={x:0,y:0,width:0,height:0};return t.rotatable&&(a.rotate=n.rotate||0),t.scalable&&(a.scaleX=n.scaleX||1,a.scaleY=n.scaleY||1),a},setData:function(e){var t=this.options,n=this.imageData,r=this.canvasData,i={};if(this.ready&&!this.disabled&&Te(e)){var a=!1;t.rotatable&&U(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,a=!0),t.scalable&&(U(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,a=!0),U(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,a=!0)),a&&this.renderCanvas(!0,!0);var o=n.width/n.naturalWidth;U(e.x)&&(i.left=e.x*o+r.left),U(e.y)&&(i.top=e.y*o+r.top),U(e.width)&&(i.width=e.width*o),U(e.height)&&(i.height=e.height*o),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?q({},this.containerData):{}},getImageData:function(){return this.sized?q({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&K([`left`,`top`,`width`,`height`,`naturalWidth`,`naturalHeight`],function(n){t[n]=e[n]}),t},setCanvasData:function(e){var t=this.canvasData,n=t.aspectRatio;return this.ready&&!this.disabled&&Te(e)&&(U(e.left)&&(t.left=e.left),U(e.top)&&(t.top=e.top),U(e.width)?(t.width=e.width,t.height=e.width/n):U(e.height)&&(t.height=e.height,t.width=e.height*n),this.renderCanvas(!0)),this},getCropBoxData:function(){var e=this.cropBoxData,t;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(e){var t=this.cropBoxData,n=this.options.aspectRatio,r,i;return this.ready&&this.cropped&&!this.disabled&&Te(e)&&(U(e.left)&&(t.left=e.left),U(e.top)&&(t.top=e.top),U(e.width)&&e.width!==t.width&&(r=!0,t.width=e.width),U(e.height)&&e.height!==t.height&&(i=!0,t.height=e.height),n&&(r?t.height=t.width/n:i&&(t.width=t.height*n)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var t=this.canvasData,n=Ze(this.image,this.imageData,t,e);if(!this.cropped)return n;var r=this.getData(),i=r.x,a=r.y,o=r.width,c=r.height,l=n.width/Math.floor(t.naturalWidth);l!==1&&(i*=l,a*=l,o*=l,c*=l);var u=o/c,d=$({aspectRatio:u,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),f=$({aspectRatio:u,width:e.minWidth||0,height:e.minHeight||0},`cover`),p=$({aspectRatio:u,width:e.width||(l===1?o:n.width),height:e.height||(l===1?c:n.height)}),m=p.width,h=p.height;m=Math.min(d.width,Math.max(f.width,m)),h=Math.min(d.height,Math.max(f.height,h));var g=document.createElement(`canvas`),_=g.getContext(`2d`);g.width=ke(m),g.height=ke(h),_.fillStyle=e.fillColor||`transparent`,_.fillRect(0,0,m,h);var v=e.imageSmoothingEnabled,y=v===void 0?!0:v,b=e.imageSmoothingQuality;_.imageSmoothingEnabled=y,b&&(_.imageSmoothingQuality=b);var x=n.width,S=n.height,C=i,w=a,T,E,D,O,k,A;C<=-o||C>x?(C=0,T=0,D=0,k=0):C<=0?(D=-C,C=0,T=Math.min(x,o+C),k=T):C<=x&&(D=0,T=Math.min(o,x-C),k=T),T<=0||w<=-c||w>S?(w=0,E=0,O=0,A=0):w<=0?(O=-w,w=0,E=Math.min(S,c+w),A=E):w<=S&&(O=0,E=Math.min(c,S-w),A=E);var j=[C,w,T,E];if(k>0&&A>0){var M=m/o;j.push(D*M,O*M,k*M,A*M)}return _.drawImage.apply(_,[n].concat(s(j.map(function(e){return Math.floor(ke(e))})))),g},setAspectRatio:function(e){var t=this.options;return!this.disabled&&!Ce(e)&&(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,n=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var i=e===ee,a=t.movable&&e===te;e=i||a?e:ne,t.dragMode=e,Ie(n,F,e),Me(n,O,i),Me(n,P,a),t.cropBoxMovable||(Ie(r,F,e),Me(r,O,i),Me(r,P,a))}return this}},dt=f.Cropper,ft=function(){function e(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t(this,e),!n||!ye.test(n.tagName))throw Error(`The first argument is required and must be an <img> or <canvas> element.`);this.element=n,this.options=q({},V,Te(r)&&r),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return r(e,[{key:`init`,value:function(){var e=this.element,t=e.tagName.toLowerCase(),n;if(!e[h]){if(e[h]=this,t===`img`){if(this.isImg=!0,n=e.getAttribute(`src`)||``,this.originalUrl=n,!n)return;n=e.src}else t===`canvas`&&window.HTMLCanvasElement&&(n=e.toDataURL());this.load(n)}}},{key:`load`,value:function(e){var t=this;if(e){this.url=e,this.imageData={};var n=this.element,r=this.options;if(!r.rotatable&&!r.scalable&&(r.checkOrientation=!1),!r.checkOrientation||!window.ArrayBuffer){this.clone();return}if(ve.test(e)){z.test(e)?this.read(tt(e)):this.clone();return}var i=new XMLHttpRequest,a=this.clone.bind(this);this.reloading=!0,this.xhr=i,i.onabort=a,i.onerror=a,i.ontimeout=a,i.onprogress=function(){i.getResponseHeader(`content-type`)!==ge&&i.abort()},i.onload=function(){t.read(i.response)},i.onloadend=function(){t.reloading=!1,t.xhr=null},r.checkCrossOrigin&&We(e)&&n.crossOrigin&&(e=Ge(e)),i.open(`GET`,e),i.responseType=`arraybuffer`,i.withCredentials=n.crossOrigin===`use-credentials`,i.send()}}},{key:`read`,value:function(e){var t=this.options,n=this.imageData,r=rt(e),i=0,a=1,o=1;if(r>1){this.url=nt(e,ge);var s=it(r);i=s.rotate,a=s.scaleX,o=s.scaleY}t.rotatable&&(n.rotate=i),t.scalable&&(n.scaleX=a,n.scaleY=o),this.clone()}},{key:`clone`,value:function(){var e=this.element,t=this.url,n=e.crossOrigin,r=t;this.options.checkCrossOrigin&&We(t)&&(n||=`anonymous`,r=Ge(t)),this.crossOrigin=n,this.crossOriginUrl=r;var i=document.createElement(`img`);n&&(i.crossOrigin=n),i.src=r||t,i.alt=e.alt||`The image to crop`,this.image=i,i.onload=this.start.bind(this),i.onerror=this.stop.bind(this),Y(i,j),e.parentNode.insertBefore(i,e.nextSibling)}},{key:`start`,value:function(){var e=this,t=this.image;t.onload=null,t.onerror=null,this.sizing=!0;var n=f.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(f.navigator.userAgent),r=function(t,n){q(e.imageData,{naturalWidth:t,naturalHeight:n,aspectRatio:t/n}),e.sizing=!1,e.sized=!0,e.build()};if(t.naturalWidth&&!n){r(t.naturalWidth,t.naturalHeight);return}var i=document.createElement(`img`),a=document.body||document.documentElement;this.sizingImage=i,i.onload=function(){r(i.width,i.height),n||a.removeChild(i)},i.src=t.src,n||(i.style.cssText=`left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;`,a.appendChild(i))}},{key:`stop`,value:function(){var e=this.image;e.onload=null,e.onerror=null,e.parentNode.removeChild(e),this.image=null}},{key:`build`,value:function(){if(!(!this.sized||this.ready)){var e=this.element,t=this.options,n=this.image,r=e.parentNode,i=document.createElement(`div`);i.innerHTML=xe;var a=i.querySelector(`.${h}-container`),o=a.querySelector(`.${h}-canvas`),s=a.querySelector(`.${h}-drag-box`),c=a.querySelector(`.${h}-crop-box`),l=c.querySelector(`.${h}-face`);this.container=r,this.cropper=a,this.canvas=o,this.dragBox=s,this.cropBox=c,this.viewBox=a.querySelector(`.${h}-view-box`),this.face=l,o.appendChild(n),Y(e,A),r.insertBefore(a,e.nextSibling),this.isImg||X(n,j),this.initPreview(),this.bind(),t.initialAspectRatio=Math.max(0,t.initialAspectRatio)||NaN,t.aspectRatio=Math.max(0,t.aspectRatio)||NaN,t.viewMode=Math.max(0,Math.min(3,Math.round(t.viewMode)))||0,Y(c,A),t.guides||Y(c.getElementsByClassName(`${h}-dashed`),A),t.center||Y(c.getElementsByClassName(`${h}-center`),A),t.background&&Y(a,`${h}-bg`),t.highlight||Y(l,M),t.cropBoxMovable&&(Y(l,P),Ie(l,F,g)),t.cropBoxResizable||(Y(c.getElementsByClassName(`${h}-line`),A),Y(c.getElementsByClassName(`${h}-point`),A)),this.render(),this.ready=!0,this.setDragMode(t.dragMode),t.autoCrop&&this.crop(),this.setData(t.data),G(t.ready)&&Q(e,fe,t.ready,{once:!0}),Be(e,fe)}}},{key:`unbuild`,value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),X(this.element,A))}},{key:`uncreate`,value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:`noConflict`,value:function(){return window.Cropper=dt,e}},{key:`setDefaults`,value:function(e){q(V,Te(e)&&e)}}]),e}();return q(ft.prototype,at,ot,st,ct,lt,ut),ft})})),ae=n(),oe=e(ie()),se=/data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,.*/,ce=e=>{let t=e.match(se);if(t)return t[1]};function le(e,t,n,r=0,i=0,a={},o){let[s,c]=L.useState(!1),[l,u]=L.useState(!1),d=L.useRef(null),f=T(),p=()=>{if(!s)return;u(!0);let e=d.current.getCroppedCanvas().toDataURL(ce(t));typeof n==`function`&&n(e)};async function m(){try{if(e.current.complete||await new Promise((t,n)=>{e.current.onload=()=>t(),e.current.onerror=e=>n(e)}),!f.current)return;let t=e.current.offsetWidth/e.current.naturalWidth;d.current=new oe.default(e.current,{ready:()=>c(!0),aspectRatio:r/i,minCropBoxWidth:r*t,minCropBoxHeight:i*t,...a})}catch(e){throw o?.(e),e}}return L.useEffect(()=>(m(),()=>{d.current?.destroy()}),[]),{crop:p,showSpinner:l,imageLoaded:s}}var R=c();ue.defaultProps={popupSize:`lg`};function ue(e){let t=L.useRef(null),[n,r]=L.useState(!1),i={viewMode:2,autoCropArea:1,cropstart:()=>r(!0),cropend:()=>r(!1)},a=I[e.imageType],{crop:o,showSpinner:s,imageLoaded:c}=le(t,e.src,t=>e.onClickCrop(t,e.closePopup),a?.width,a?.height,i);function l(){n||e.closePopup()}return(0,R.jsxs)(M,{title:`Crop and resize your image`,closePopup:l,size:e.popupSize,children:[(0,R.jsx)(`div`,{className:`pb-3`,children:(0,R.jsx)(`img`,{src:e.src,alt:e.alt,ref:t,className:`img img-fluid`})}),(0,R.jsxs)(A,{children:[(0,R.jsx)(A.Cancel,{onClick:l}),(0,R.jsx)(A.Submit,{onClick:o,text:`Crop`,variant:`dark`,showSpinner:s,disabled:!c})]})]})}var de={renderCropper(e){let t=(0,ae.createRoot)(document.getElementById(`dialog-region`));t.render((0,R.jsx)(ue,{...e,closePopup:()=>t.unmount()}))}},fe={onFileSelect(e,t,n,r){if(!t||!t.length)return;if(t.length>1){alert(`Please only select one file`);return}let i=t[0];if(!i.type.startsWith(`image/`)){alert(`Please select an image file`);return}let a=new FileReader;a.addEventListener(`load`,()=>fe.onReaderLoad(a,e,n,r)),a.readAsDataURL(i)},onReaderLoad(e,t,n,i){let a=new Image;a.src=e.result;let o=i?.width??I[t].width,s=i?.height??I[t].height;a.addEventListener(`load`,()=>{fe.isImageValid(t,a,i)&&r.isFunction(n)?n(a):alert(`Image too small: minimum dimensions are ${o} x ${s}`)})},isImageValid(e,t,n){let r=n?.width??I[e].width,i=n?.height??I[e].height;return!(r&&t.width<r||i&&t.height<i)},mapImageTypeToString(e){switch(e){case E.Avatars:return`avatars`;case E.Thumbnails:return`thumbnails`;case E.Logos:return`logos`;case E.Covers:return`covers`;case E.Posters:return`posters`;case E.TallPosters:return`tallposters`;case E.HeroBanners:return`herobanners`;case E.None:default:return``}}},pe={profileImage:`_profileImage_24nro_1`},me=`settings.editAvatar`;function he(e,t){return O.createUrl(v.safeUrlConcat(e,`/v1/profile-images?initials=${t}`),{size:D.Medium})}function ge(e){return e.split(`,`)[1]}function _e(e){let t=L.useRef(null),n=e.user.avatar?.url?e.user.avatar.url:he(e.imageCdnUrl,k.getInitials(e.user.name,e.user.surname));function r(){t.current.value=null,t.current.click(null)}function i(t){!t||!t[0]||fe.onFileSelect(E.Avatars,t,t=>{de.renderCropper({src:t.src,alt:``,onClickCrop:(t,n)=>e.onSelectImage(ge(t),n),imageType:E.Avatars})})}return(0,R.jsx)(C.Provider,{value:me,children:(0,R.jsxs)(`div`,{className:`col-auto form-group d-flex flex-column align-items-center ps-4`,children:[(0,R.jsx)(`label`,{className:`align-self-start`,children:(0,R.jsx)(S,{phrase:`profileImage`})}),(0,R.jsx)(`img`,{className:`img img-fluid rounded ${pe.profileImage} mb-2`,alt:`User avatar`,src:n}),(0,R.jsx)(`button`,{className:`btn btn-outline-dark px-3 text-center`,onClick:r,children:(0,R.jsx)(S,{phrase:`uploadImage`})}),(0,R.jsx)(`input`,{type:`file`,className:`file-select d-none`,multiple:!1,accept:`image/jpg,image/jpeg,image/png`,ref:t,onChange:e=>i(e.target.files)}),!!e.user.avatar?.url&&(0,R.jsx)(`button`,{className:`btn btn-link text-center`,onClick:e.onClickRemoveImage,children:(0,R.jsx)(S,{phrase:`removeImage`})})]})})}var ve=e(P(),1),z=i.encloseNamespace(`settings.editProfileDetailsForm`),ye=(0,ve.object)().shape({firstName:(0,ve.string)().max(255,()=>z(`nameExceeds`)).required(()=>z(`nameRequired`)).default(``).trim(),surname:(0,ve.string)().max(255,()=>z(`surnameExceeds`)).required(()=>z(`surnameRequired`)).default(``).trim(),username:(0,ve.string)().max(255,()=>z(`usernameExceeds`)).default(``).trim(),displayName:(0,ve.string)().max(255,()=>z(`displayNameExceeds`)).default(``).trim()}),B=i.encloseNamespace(`settings.editProfileDetailsForm`);function be(e){return(0,R.jsx)(N,{initialValues:{firstName:e.user.name,surname:e.user.surname,username:e.user.username,displayName:e.user.metadata?.displayName??``},validationSchema:ye,onSubmit:e.onClickSave,children:(0,R.jsxs)(x,{children:[(0,R.jsx)(F,{label:B(`firstName`),type:`text`,name:`firstName`,id:`firstName`,placeholder:B(`firstNamePlaceholder`),autoFocus:!0,showRequiredStar:!0}),(0,R.jsx)(F,{label:B(`lastName`),type:`text`,name:`surname`,id:`surname`,placeholder:B(`lastNamePlaceholder`),showRequiredStar:!0}),(0,R.jsx)(F,{label:B(`displayName`),type:`text`,name:`displayName`,id:`displayName`,placeholder:B(`displayNamePlaceholder`),infoTooltip:B(`displayNameTooltip`)}),(0,R.jsx)(F,{label:B(`username`),type:`text`,name:`username`,id:`username`,placeholder:B(`usernamePlaceholder`),showRequiredStar:!0,disabled:!0,infoTooltip:B(`usernameTooltip`)}),(0,R.jsx)(ee,{variant:`dark`,submitText:B(`saveChanges`),isNew:!1})]})})}var V={partialLabel:`_partialLabel_1r06u_1`,partialInput:`_partialInput_1r06u_6`,partialSubmit:`_partialSubmit_1r06u_10`,partialAvatar:`_partialAvatar_1r06u_14`,partialUploadImage:`_partialUploadImage_1r06u_18`};function xe(){return(0,R.jsxs)(`div`,{className:`row g-0`,children:[(0,R.jsxs)(`div`,{className:`col-4`,children:[(0,R.jsxs)(`div`,{className:`form-group`,children:[(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialLabel}`}),(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialInput}`})]}),(0,R.jsxs)(`div`,{className:`form-group`,children:[(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialLabel}`}),(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialInput}`})]}),(0,R.jsxs)(`div`,{className:`form-group`,children:[(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialLabel}`}),(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialInput}`})]}),(0,R.jsx)(`div`,{className:`partial-loading-background ${V.partialSubmit}`})]}),(0,R.jsxs)(`div`,{className:`form-group d-flex flex-column align-items-center ps-4`,children:[(0,R.jsx)(`div`,{className:`partial-loading-background align-self-start ${V.partialLabel}`}),(0,R.jsx)(`div`,{className:`partial-loading-background mb-2 ${V.partialAvatar}`}),(0,R.jsx)(`div`,{className:`partial-loading-background mx-3 ${V.partialUploadImage}`})]})]})}var H=i.encloseNamespace(`settings.profileDetails`);function U(){let e=h(),t=b(),n=p(),r=m(y.currentUser()),i=m(r.data&&ne.getUser(r.data.id)),c=m(j.config());w({title:H(`heading`)});async function f(e,r){let a={firstName:e.firstName,lastName:e.surname,displayName:e.displayName||null},o=[n(y.updateCurrentUser(a))];i.data.userProfile?.metadata?.jobTitle&&o.push(n(y.updateUserJobTitle(i.data.userProfile?.metadata?.jobTitle)));try{await Promise.all(o),t.success(H(`success`))}catch{t.error(H(`error`))}finally{r?.()}}function _(n,r){g(e,re.uploadBase64Image(E.Avatars,n,e=>{v(e,r)},()=>{t.error(H(`avatarUploadError`))}))}function v(n,i){g(e,ne.updateAvatar(n.id,r.data.id,()=>{u.logUserAction({id:r.data.id,avatarId:n.id,avatarUrl:n.location},{actionType:a.Associate,workflowPhase:o.Complete,location:l.Settings,entity:s.User,descriptor:d.Avatar}),i(),t.success(H(`avatarUploadSuccess`))},()=>{t.error(H(`avatarUploadError`))}))}function x(){g(e,ne.deleteAvatar(i.data.avatar.id,r.data.id,()=>{u.logUserAction({id:r.data.id,avatarId:i.data.avatar.id},{actionType:a.Dissociate,workflowPhase:o.Complete,location:l.Settings,entity:s.User,descriptor:d.Avatar}),t.success(H(`avatarDeleteSuccess`))},()=>{t.error(H(`avatarDeleteError`))}))}return(0,R.jsx)(te,{heading:H(`heading`),breadcrumbs:[H(`breadcrumb`)],children:r.data&&i.data&&c.data?(0,R.jsxs)(`div`,{className:`row g-0`,children:[(0,R.jsx)(`div`,{className:`col-4`,children:(0,R.jsx)(be,{user:i.data,onClickSave:f})}),(0,R.jsx)(_e,{user:i.data,onSelectImage:_,onClickRemoveImage:x,imageCdnUrl:c.data.imageCdnUrl})]}):(0,R.jsx)(xe,{})})}export{U as ProfileDetailsView};
|
|
2
|
+
//# sourceMappingURL=CEYjJAp52.chunk.js.map
|