@clickview/reports 0.85.0-rc.2 → 0.85.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 +245 -245
- package/dist/bundles.json +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{BsAss53i.chunk.js → 1QInraEU.chunk.js} +2 -2
- package/dist/scripts/{BsAss53i.chunk.js.map → 1QInraEU.chunk.js.map} +1 -1
- package/dist/scripts/{BzSZm3J1.chunk.js → BKiOvaYB.chunk.js} +2 -2
- package/dist/scripts/{BzSZm3J1.chunk.js.map → BKiOvaYB.chunk.js.map} +1 -1
- package/dist/scripts/{DNZvrGV22.chunk.js → BLOn55yc2.chunk.js} +2 -2
- package/dist/scripts/{DNZvrGV22.chunk.js.map → BLOn55yc2.chunk.js.map} +1 -1
- package/dist/scripts/{C5k6lVOP.chunk.js → BQRq3wMq.chunk.js} +2 -2
- package/dist/scripts/{C5k6lVOP.chunk.js.map → BQRq3wMq.chunk.js.map} +1 -1
- package/dist/scripts/{DvxtrAxT2.chunk.js → BVYWFaVq2.chunk.js} +2 -2
- package/dist/scripts/{DvxtrAxT2.chunk.js.map → BVYWFaVq2.chunk.js.map} +1 -1
- package/dist/scripts/{BY9ZIRoW2.chunk.js → BYg4x7Hk2.chunk.js} +2 -2
- package/dist/scripts/{BY9ZIRoW2.chunk.js.map → BYg4x7Hk2.chunk.js.map} +1 -1
- package/dist/scripts/{bNV2NeSi.chunk.js → CCJmvNz9.chunk.js} +2 -2
- package/dist/scripts/{bNV2NeSi.chunk.js.map → CCJmvNz9.chunk.js.map} +1 -1
- package/dist/scripts/{DMuXCE-z.chunk.js → CJ_C4cSo.chunk.js} +2 -2
- package/dist/scripts/{DMuXCE-z.chunk.js.map → CJ_C4cSo.chunk.js.map} +1 -1
- package/dist/scripts/{DUzAx5n_.chunk.js → CJrWNjmQ.chunk.js} +2 -2
- package/dist/scripts/{DUzAx5n_.chunk.js.map → CJrWNjmQ.chunk.js.map} +1 -1
- package/dist/scripts/{jXHCFC1j2.chunk.js → CLJ99uF52.chunk.js} +2 -2
- package/dist/scripts/{jXHCFC1j2.chunk.js.map → CLJ99uF52.chunk.js.map} +1 -1
- package/dist/scripts/{DtSAu9Xt.chunk.js → CrWahilx.chunk.js} +2 -2
- package/dist/scripts/{DtSAu9Xt.chunk.js.map → CrWahilx.chunk.js.map} +1 -1
- package/dist/scripts/{BX5YDJVD2.chunk.js → CweBHuQE2.chunk.js} +2 -2
- package/dist/scripts/{BX5YDJVD2.chunk.js.map → CweBHuQE2.chunk.js.map} +1 -1
- package/dist/scripts/{BsTmrvS_.chunk.js → D1qCdqwU.chunk.js} +2 -2
- package/dist/scripts/{BsTmrvS_.chunk.js.map → D1qCdqwU.chunk.js.map} +1 -1
- package/dist/scripts/{CPp4jaPB2.chunk.js → DLVy0r752.chunk.js} +2 -2
- package/dist/scripts/{CPp4jaPB2.chunk.js.map → DLVy0r752.chunk.js.map} +1 -1
- package/dist/scripts/{P4zTQoDZ.chunk.js → DPOQnXtj.chunk.js} +2 -2
- package/dist/scripts/{P4zTQoDZ.chunk.js.map → DPOQnXtj.chunk.js.map} +1 -1
- package/dist/scripts/{BCcIdtcy2.chunk.js → DUl1SIxT2.chunk.js} +2 -2
- package/dist/scripts/{BCcIdtcy2.chunk.js.map → DUl1SIxT2.chunk.js.map} +1 -1
- package/dist/scripts/{Cdlk0Qkj2.chunk.js → DX0X_jLv2.chunk.js} +2 -2
- package/dist/scripts/{Cdlk0Qkj2.chunk.js.map → DX0X_jLv2.chunk.js.map} +1 -1
- package/dist/scripts/{XgwoBT6z2.chunk.js → DhuQHM9r2.chunk.js} +2 -2
- package/dist/scripts/{XgwoBT6z2.chunk.js.map → DhuQHM9r2.chunk.js.map} +1 -1
- package/dist/scripts/{fOHWXn7-.chunk.js → DuhdxQvW.chunk.js} +2 -2
- package/dist/scripts/{fOHWXn7-.chunk.js.map → DuhdxQvW.chunk.js.map} +1 -1
- package/dist/scripts/{DxD2uVzf2.chunk.js → Dxn4eKcF2.chunk.js} +2 -2
- package/dist/scripts/{DxD2uVzf2.chunk.js.map → Dxn4eKcF2.chunk.js.map} +1 -1
- package/dist/scripts/{fIFpt-kC.chunk.js → DzrBVuW7.chunk.js} +2 -2
- package/dist/scripts/{fIFpt-kC.chunk.js.map → DzrBVuW7.chunk.js.map} +1 -1
- package/dist/scripts/{D0fFZDhm2.chunk.js → GphIKxTp2.chunk.js} +2 -2
- package/dist/scripts/{D0fFZDhm2.chunk.js.map → GphIKxTp2.chunk.js.map} +1 -1
- package/dist/scripts/{PZOjj17O.chunk.js → J1C7-I-X.chunk.js} +2 -2
- package/dist/scripts/{PZOjj17O.chunk.js.map → J1C7-I-X.chunk.js.map} +1 -1
- package/dist/scripts/{IH7D3jLI.chunk.js → Jx7lSD0p.chunk.js} +2 -2
- package/dist/scripts/{IH7D3jLI.chunk.js.map → Jx7lSD0p.chunk.js.map} +1 -1
- package/dist/scripts/LEHDmMO5.chunk.js +1 -0
- package/dist/scripts/{DkhktXkG.chunk.js → VmHmm_9S.chunk.js} +2 -2
- package/dist/scripts/{DkhktXkG.chunk.js.map → VmHmm_9S.chunk.js.map} +1 -1
- package/dist/scripts/{app-m6P7KXE1.js → app-CYtIuHZu.js} +4 -4
- package/dist/scripts/app-CYtIuHZu.js.map +1 -0
- package/dist/scripts/{I9MVVxo82.chunk.js → d-7NhDV82.chunk.js} +2 -2
- package/dist/scripts/{I9MVVxo82.chunk.js.map → d-7NhDV82.chunk.js.map} +1 -1
- package/dist/scripts/{BIlepbnA.chunk.js → jid_wNb7.chunk.js} +2 -2
- package/dist/scripts/{BIlepbnA.chunk.js.map → jid_wNb7.chunk.js.map} +1 -1
- package/dist/scripts/moDT6wFa.chunk.js +1 -0
- package/dist/scripts/{OU_kRJz_.chunk.js → qK0CbwPW.chunk.js} +2 -2
- package/dist/scripts/{OU_kRJz_.chunk.js.map → qK0CbwPW.chunk.js.map} +1 -1
- package/dist/scripts/{BkkPVinl2.chunk.js → voEp8KSU2.chunk.js} +2 -2
- package/dist/scripts/{BkkPVinl2.chunk.js.map → voEp8KSU2.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/ClX2mOw_.chunk.js +0 -1
- package/dist/scripts/DaBzvZF9.chunk.js +0 -1
- package/dist/scripts/app-m6P7KXE1.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CPp4jaPB2.chunk.js","names":[],"sources":["../../../../libs/shared/src/components/video-highlight/partial-loading/partial-video-highlight.module.scss","../../../../libs/shared/src/components/video-highlight/partial-loading/PartialVideoHighlight.tsx","../../../../libs/shared/src/components/video-highlight/thumbnail/VideoHighlightThumbnail.tsx","../../../../libs/shared/src/components/video-highlight/VideoHighlight.tsx","../../../../libs/shared/src/enums/TutorialVideoType.ts","../../../../libs/shared/src/constants/HardCoded.ts","../../../../libs/shared/src/hooks/useTutorialVideoHighlight.ts","../../src/shared/flight-requests/VideoRequests.ts","../../src/shared/flight-requests/SearchRequests.ts","../../src/apps/dashboard/views/overview-cards/top-searches-v2/empty-state/TopSearchesCardEmptyStateV2.tsx","../../src/apps/dashboard/views/overview-cards/top-searches-v2/partial-loading/PartialTopSearchesCardV2.tsx","../../src/apps/dashboard/views/overview-cards/top-searches-v2/TopSearchesCardV2View.tsx","../../src/apps/dashboard/views/overview-cards/top-streams/empty-state/TopStreamsCardEmptyState.tsx","../../src/apps/dashboard/views/overview-cards/top-streams/partial-loading/PartialTopStreamsCard.tsx","../../src/apps/dashboard/views/overview-cards/top-streams/TopStreamsCardView.tsx","../../src/apps/dashboard/views/school-analytics-dashboard/components/classroom-views-alert/classroom-views-alert.module.scss","../../src/apps/dashboard/views/school-analytics-dashboard/components/classroom-views-alert/ClassroomViewsAlert.tsx","../../src/apps/dashboard/views/school-analytics-dashboard/school-analytics-dashboard.module.scss","../../src/apps/dashboard/views/school-analytics-dashboard/SchoolAnalyticsDashboardView.tsx"],"sourcesContent":[":local {\n .video {\n width: auto;\n height: 9rem;\n }\n\n .button {\n width: 6.25rem;\n height: 2.5rem;\n }\n\n .content {\n overflow: hidden;\n width: 49rem;\n height: 5rem;\n }\n\n .partialHighlight {\n overflow: hidden;\n width: 68.25rem;\n height: 9.2rem;\n }\n\n @media screen and (width <= 992px) {\n .video {\n overflow: hidden;\n width: auto;\n height: 100%;\n }\n\n .content {\n overflow: hidden;\n width: 20rem;\n height: 5rem;\n }\n }\n\n @media screen and (width <= 576px) {\n .partialHighlight {\n width: 23.875rem;\n height: 25.625rem;\n }\n\n .video {\n overflow: hidden;\n width: 22rem;\n height: 12.375rem;\n }\n\n .content {\n overflow: hidden;\n width: 20rem;\n height: 5rem;\n }\n }\n}\n","import React from 'react';\n\nimport styles from './partial-video-highlight.module.scss';\n\nexport function PartialVideoThumbnail() {\n return (\n <div className={`w-100 ${styles.partialHighlight}`}>\n <div className='row gx-3 h-100'>\n <div className='col-lg-3 col-sm-5 col-12 align-self-start'>\n <div className={`rounded-3 ${styles.video} partial-loading-background`}/>\n </div>\n <div className='col-lg-9 col-sm-7 col-12 d-flex flex-column justify-content-between'>\n <div className={`${styles.content} rounded-3 overflow-hidden mt-lg-0 mt-2 partial-loading-background`}></div>\n <div>\n <div className={`${styles.button} rounded-3 partial-loading-background me-2 d-inline-block`} />\n <div className={`${styles.button} rounded-3 partial-loading-background me-2 d-inline-block`} />\n </div>\n </div>\n </div>\n </div>\n );\n}\n","import React from 'react';\n\nimport { AppLink } from 'libs/common/backbone/core';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, LocationContext } from 'libs/analytics/interfaces';\n\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\n\ninterface VideoHighlightThumbnailProps {\n video?: VideoTypes;\n analyticsOptions?: AnalyticsOptions;\n appLink?: AppLink;\n redirectUrl?: string;\n commonVideoProps?: CommonVideoProps;\n locationContext?: LocationContext;\n}\n\nexport function VideoHighlightThumbnail(props: VideoHighlightThumbnailProps) {\n if (props.appLink) {\n return (\n <VideoThumbnail\n video={props.video}\n commonVideoProps={props.commonVideoProps}\n appLink={props.appLink}\n analyticsOptions={{\n ...props.analyticsOptions,\n location: props.locationContext\n }}\n imageOptions={{ size: ImageSize.Medium }}\n type='static'\n size='sm'\n hideDuration\n hideRating\n hideBottomBar\n alwaysShowIcon\n />\n );\n }\n\n return (\n <a\n href={props.redirectUrl}\n target='_blank'\n onClick={() => {\n AnalyticsHelper.logUserAction(\n { videoId: props.video?.id },\n { ...props.analyticsOptions, location: props.locationContext }\n );\n }}\n >\n <VideoThumbnail\n video={props.video}\n imageOptions={{ size: ImageSize.Medium }}\n type='cosmetic'\n size='sm'\n hideDuration\n hideRating\n hideBottomBar\n />\n </a>\n );\n}\n","import React from 'react';\nimport { ObjectHash } from 'backbone';\n\nimport { AppLinkHelper, LocationUtils } from 'libs/common/backbone/core';\nimport { Core } from 'libs/common/backbone/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, ClickDescriptor, EntityType, EventVersion, LocationContext, OnboardingDescriptor, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { PartialVideoThumbnail } from 'libs/shared/components/video-highlight/partial-loading/PartialVideoHighlight';\nimport { VideoHighlightThumbnail } from 'libs/shared/components/video-highlight/thumbnail/VideoHighlightThumbnail';\nimport { CloseSvg } from 'libs/shared/images/svg/actions/CloseSvg';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\n\ninterface VideoHighlightProps {\n video: VideoTypes;\n subtitle?: string;\n description?: string;\n supportArticle: string;\n appLink?: Core.AppLink;\n locationContext?: LocationContext;\n commonVideoProps?: CommonVideoProps;\n redirectUrl?: string;\n sharedPlaylistAppLink?: Core.AppLink;\n redirectPlaylistUrl?: string;\n bgColorClassName?: string;\n onDismiss?: () => void;\n}\n\nconst namespace = 'shared.videoHighlight';\n\nconst dismissAnalyticsOptions = {\n actionType: UserAction.Click,\n descriptor: OnboardingDescriptor.DismissWidget,\n entity: EntityType.Widget,\n eventVersion: EventVersion.V1,\n location: LocationContext.VideoHighlight,\n workflowPhase: WorkflowPhase.Complete\n};\n\nconst videoAnalyticsOptions = {\n actionType: UserAction.Click,\n descriptor: VideoActionDescriptor.ViewOriginalVideo,\n workflowPhase: WorkflowPhase.Complete,\n entity: EntityType.Thumbnail,\n location: LocationContext.VideoHighlight,\n eventVersion: EventVersion.V1\n};\n\nconst subtitleAnalyticOptions = {\n actionType: UserAction.Click,\n location: LocationContext.VideoHighlight,\n entity: EntityType.AppLink,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: VideoActionDescriptor.OpenInClickView,\n eventVersion: EventVersion.V1\n};\n\nconst helpArticleAnalyticsOptions = {\n actionType: UserAction.Click,\n descriptor: ClickDescriptor.SeeMore,\n workflowPhase: WorkflowPhase.Complete,\n entity: EntityType.AppLink,\n eventVersion: EventVersion.V1\n};\n\nexport function VideoHighlight(props: VideoHighlightProps) {\n if (!props.video) return <></>;\n\n function onDismissWithAnalytics() {\n AnalyticsHelper.logUserAction({ videoId: props.video?.id }, dismissAnalyticsOptions);\n props.onDismiss();\n }\n\n function onClick(\n link: Core.AppLink | string,\n analyticsOptions: AnalyticsOptions,\n analyticsData: ObjectHash = {}\n ) {\n AnalyticsHelper.logUserAction(analyticsData, analyticsOptions);\n if (typeof link === 'string') {\n LocationUtils.PageLoad(link, true);\n } else {\n AppLinkHelper.trigger(link);\n }\n }\n\n if (!props.video) {\n return (\n <div className={`position-relative p-3 rounded-3 ${props.bgColorClassName ?? ''}`}>\n <PartialVideoThumbnail/>\n </div>\n );\n }\n\n return (\n <div className={`position-relative p-3 rounded-3 ${props.bgColorClassName ?? ''}`}>\n <div className='row gx-3'>\n <div className='col-lg-3 col-sm-5 col-12 align-self-start'>\n <VideoHighlightThumbnail\n video={props.video}\n analyticsOptions={videoAnalyticsOptions}\n appLink={props.appLink}\n redirectUrl={props.redirectUrl}\n commonVideoProps={props.commonVideoProps}\n locationContext={props.locationContext}\n />\n </div>\n <div className='col-lg-9 col-sm-7 col-12 d-flex flex-column justify-content-between'>\n <div className='overflow-hidden mt-lg-0 mt-2'>\n <TitleSubText>\n <span\n onClick={() =>\n onClick(props.sharedPlaylistAppLink ?? props.redirectPlaylistUrl, subtitleAnalyticOptions)\n }\n className='cursor-pointer'\n >{props.subtitle}</span>\n </TitleSubText>\n <div className='h5 mb-0 clamp-1 d-block'>\n <span\n onClick={() => onClick(props.appLink ?? props.redirectUrl, videoAnalyticsOptions)}\n className='cursor-pointer'\n >\n {props.video?.name}\n </span>\n </div>\n <div className='mt-1 mb-2'>{props.video?.description ?? props.description}</div>\n </div>\n <div>\n <button\n className='btn btn-dark me-2'\n onClick={() =>\n onClick(props.appLink ?? props.redirectUrl, videoAnalyticsOptions, { videoId: props.video?.id })}\n >\n <Text namespace={namespace} phrase='watch'/>\n </button>\n <button\n className='btn btn-outline-dark me-2'\n onClick={() => onClick(\n props.supportArticle,\n { ...helpArticleAnalyticsOptions, location: props.locationContext },\n { url: props.supportArticle }\n )}\n >\n <Text namespace={namespace} phrase='learnMore'/>\n </button>\n <div\n className='btn btn-outline-dark d-sm-none'\n onClick={onDismissWithAnalytics}\n >\n <Text namespace={namespace} phrase='dismiss'/>\n </div>\n </div>\n </div>\n </div>\n <div className='position-absolute top-0 end-0 p-2 d-sm-inline d-none'>\n <IconButton\n svg={CloseSvg}\n onClick={onDismissWithAnalytics}\n />\n </div>\n </div>\n );\n}\n","import { SettingName } from './SettingName';\n\n// tutorial videos should be added here if they are meant to be embedded into the product\nexport enum TutorialVideoType {\n SearchAndDiscover = 'searchAndDiscover',\n Analytics = 'analytics',\n OpenClassroom = 'openClassroom',\n CreateClassroom = 'createClassroom',\n UploadVideo = 'uploadVideo',\n Playlist = 'playlist',\n ShareVideo = 'shareVideo'\n}\n\n// link to the domain options that manage video highlight visibility\nexport const dismissibleTutorialVideoTypeSettingsMapping: {[key in TutorialVideoType]: SettingName } = {\n [TutorialVideoType.Analytics]: SettingName.HasDismissedAnalyticsTutorial,\n [TutorialVideoType.OpenClassroom]: SettingName.HasDismissedOpenClassroomsTutorial,\n [TutorialVideoType.SearchAndDiscover]: SettingName.HasDismissedSearchAndDiscoverTutorial,\n [TutorialVideoType.CreateClassroom]: SettingName.HasDismissedClassroomsTutorial,\n [TutorialVideoType.Playlist]: SettingName.HasDismissedPlaylistsTutorial,\n [TutorialVideoType.ShareVideo]: SettingName.HasDismissedMySharesTutorial,\n [TutorialVideoType.UploadVideo]: SettingName.HasDismissedMyVideosTutorial\n};\n","import { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\n\nexport const HardCoded = {\n OlympicsTopics: {\n // AU_PRIMARY\n ['18']: {\n id: 'Oq9WnjA',\n name: '2026 Milano Cortina Winter Olympic Games'\n },\n // AU_SECONDARY\n ['9']: {\n id: 'EoAYjoR',\n name: '2026 Milano Cortina Winter Olympic Games'\n }\n },\n CommonwealthGameTopics: {\n // SCT_PRIMARY\n ['12']: {\n id: 'AO0j90j',\n name: 'Commonwealth Games Glasgow 2026'\n },\n // SCT_SECONDARY\n ['24']: {\n id: 'ZJxKkg1',\n name: 'Commonwealth Games Glasgow 2026'\n },\n // ENG_PRIMARY\n ['16']: {\n id: 'agD7d73',\n name: 'Commonwealth Games Glasgow 2026'\n },\n // ENG_SECONDARY\n ['47']: {\n id: 'm6mpl27',\n name: 'Commonwealth Games Glasgow 2026'\n },\n // AU_PRIMARY\n ['18']: {\n id: '3bRp6eA',\n name: 'Commonwealth Games Glasgow 2026'\n },\n // AU SECONDARY\n ['9']: {\n id: '7mjAxYR',\n name: 'Commonwealth Games Glasgow 2026'\n }\n },\n PublicTranscriptVideoIds: [\n '78902422',\n '8139055',\n '32102562',\n '36875667',\n '3713657',\n '9900524',\n '48278572',\n '39424302',\n '3712691',\n '54504550',\n '23852726',\n '3713563',\n '3714027',\n '51281358',\n '58785149',\n '7322586',\n '3716774',\n '36554689',\n '54192890',\n '6689791',\n '10749459',\n '3712691',\n '81764158',\n '43772092',\n '43974358',\n '48091365',\n '6430651',\n '3713735',\n '54096131',\n '57977558',\n '78840166',\n '57738254',\n '51666370',\n '49858722'\n ],\n SpecialEvents: {\n dlL00b3: {\n id: 'dlL00b3',\n iconUrl: 'https://img.clickviewapp.com/v2/covers/PGbNp0'\n }\n },\n Classifications: {\n Twig: {\n EnglandSecondary: {\n HUB: 'yrg5vYN'\n },\n ScotlandSecondary: {\n HUB: 'Y69j14M'\n },\n InternationalSecondary: {\n HUB: 'MYM6GGM'\n },\n NewZealandSecondary: {\n HUB: 'agNmRd9'\n },\n CanadaMiddle: {\n HUB: '3brl1mY'\n },\n CanadaHigh: {\n HUB: 'kZJ9vkz'\n }\n },\n Tigtag: {\n EnglandPrimary: {\n HUB: 'D1218zx',\n TIGTAG_HUB: 'odldxPJ',\n TIGTAG_JUNIOR_HUB: 'nENExnL'\n },\n ScotlandPrimary: {\n HUB: 'JjAONbj',\n TIGTAG_HUB: '3bNAGl1',\n TIGTAG_JUNIOR_HUB: 'K6GKp43'\n },\n InternationalPrimary: {\n HUB: 'W1xqbk2',\n TIGTAG_HUB: 'ek3dJr8',\n TIGTAG_JUNIOR_HUB: 'PGyKzpn'\n },\n NewZealandPrimary: {\n HUB: 'odnkREE',\n TIGTAG_HUB: 'kZJ4RPa',\n TIGTAG_JUNIOR_HUB: 'zMg80DR'\n },\n CanadaElementary: {\n HUB: 'JjabmDE',\n TIGTAG_HUB: 'dq9Ewje',\n TIGTAG_JUNIOR_HUB: 'bmElWrb'\n },\n CanadaMiddle: {\n HUB: 'dq9EwyZ',\n TIGTAG_HUB: 'K6abxjP',\n TIGTAG_JUNIOR_HUB: '7mwxLdR'\n }\n }\n },\n // Production values. For testing in development, change these to staging preso values\n PresentationIds: {\n DEFAULT: 1,\n DEFAULT_CURRICULUM: 10,\n\n AU_PRIMARY: 18,\n AU_SECONDARY: 9,\n AU_TERTIARY: 81,\n US_ELEMENTARY: 13,\n US_MIDDLE: 14,\n US_HIGH: 15,\n CA_ELEMENTARY: 100,\n CA_MIDDLE: 101,\n CA_HIGH: 102,\n STREAMABLE_LEARNING: 68,\n ENG_PRIMARY: 16,\n ENG_SECONDARY: 47,\n SCT_PRIMARY: 12,\n SCT_SECONDARY: 24,\n UK_TERTIARY: 82,\n INT_PRIMARY: 19,\n INT_SECONDARY: 21,\n NZ_PRIMARY: 96,\n NZ_SECONDARY: 97\n },\n Libraries: {\n LICENCED_CONTENT_COLLECTION: '3700633',\n\n AU_PRIMARY: '10066675',\n AU_SECONDARY: '59401330',\n AU_TERTIARY: '5836680',\n US_ELEMENTARY: '38693445',\n US_MIDDLE: '39642303',\n US_HIGH: '38693435',\n CA_ELEMENTARY: '92862332',\n CA_MIDDLE: '92862334',\n CA_HIGH: '92862344',\n STREAMABLE_LEARNING: '78688869',\n ENG_PRIMARY: '35340580',\n ENG_SECONDARY: '59889793',\n SCT_PRIMARY: '33386791',\n SCT_SECONDARY: '59856733',\n UK_TERTIARY: '5815036',\n INT_PRIMARY: '3706428',\n INT_SECONDARY: '3706459',\n NZ_PRIMARY: '3705693',\n NZ_SECONDARY: '3705710',\n NZ_MTV: '26989676',\n\n TWIG: '88117784',\n TIGTAG: '80333935'\n },\n Rostering: {\n sources: {\n 0: { name: 'Unknown', iconUrl: '' },\n 1: { name: 'Clever', iconUrl: 'https://img.clickviewapp.com/v2/logos/LqlKgd' },\n 2: { name: 'ClassLink', iconUrl: 'https://img.clickviewapp.com/v2/logos/ZA2ew5' },\n 3: { name: 'Google', iconUrl: 'https://img.clickviewapp.com/v2/logos/l5x0jL' },\n 4: { name: 'Microsoft', iconUrl: 'https://img.clickviewapp.com/v2/logos/xAxGPP' },\n 5: { name: 'Schoology', iconUrl: 'https://img.clickviewapp.com/v2/logos/kZNEyz' },\n 6: { name: 'PowerSchool', iconUrl: 'https://img.clickviewapp.com/v2/logos/m6aDmR' }\n }\n },\n Images: {\n Level_1: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/dlM73E',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/WAe8MP',\n TOPIC_TALL_POSTER: 'https://img.clickviewapp.com/v2/tallposters/raRm7E',\n NEW_RELEASES_BANNER: 'https://img.clickviewapp.com/v2/banners/3kzeZ2'\n },\n Level_2: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/WAeKvP',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/9DAZJv',\n TOPIC_TALL_POSTER: 'https://img.clickviewapp.com/v2/tallposters/eKG2bq',\n NEW_RELEASES_BANNER: 'https://img.clickviewapp.com/v2/banners/xyn5eP'\n },\n Level_3: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/dl1d0g',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/R0Pz7A',\n TOPIC_TALL_POSTER: 'https://img.clickviewapp.com/v2/tallposters/8LYZ9R',\n NEW_RELEASES_BANNER: 'https://img.clickviewapp.com/v2/banners/nKDyRj'\n },\n Level_4: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/vYJPP5',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/PGPLLP'\n },\n TOPIC_DEFAULT_BANNER: 'https://img.clickviewapp.com/v2/banners/yKvoG0',\n STREAMABLE_TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/q6gnOn',\n STREAMABLE_TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/age95g'\n },\n Onboarding: {\n Playlist: {\n COVER_FILE_ID: 'G149g3',\n BANNER_FILE_ID: 'bmPLkn'\n },\n LOADING_THUMBNAILS: [\n 'https://img.clickviewapp.com/v2/thumbnails/7m34ne',\n 'https://img.clickviewapp.com/v2/thumbnails/W1bjqJ',\n 'https://img.clickviewapp.com/v2/thumbnails/G14M1e',\n 'https://img.clickviewapp.com/v2/thumbnails/2mnv5x',\n 'https://img.clickviewapp.com/v2/thumbnails/xAEG91',\n 'https://img.clickviewapp.com/v2/thumbnails/agnbyg',\n 'https://img.clickviewapp.com/v2/thumbnails/W13emP',\n 'https://img.clickviewapp.com/v2/thumbnails/Y6j2vy',\n 'https://img.clickviewapp.com/v2/thumbnails/W1MJGE',\n 'https://img.clickviewapp.com/v2/thumbnails/OqDJqG',\n 'https://img.clickviewapp.com/v2/thumbnails/1My9Wn',\n 'https://img.clickviewapp.com/v2/thumbnails/G14MRe',\n 'https://img.clickviewapp.com/v2/thumbnails/5bgKpl',\n 'https://img.clickviewapp.com/v2/thumbnails/agnbp9',\n 'https://img.clickviewapp.com/v2/thumbnails/G147R1',\n 'https://img.clickviewapp.com/v2/thumbnails/5bgMz5',\n 'https://img.clickviewapp.com/v2/thumbnails/G14Me5',\n 'https://img.clickviewapp.com/v2/thumbnails/5bEovE',\n 'https://img.clickviewapp.com/v2/thumbnails/odY4oZ',\n 'https://img.clickviewapp.com/v2/thumbnails/yrqwqD',\n 'https://img.clickviewapp.com/v2/thumbnails/K6pOmR',\n 'https://img.clickviewapp.com/v2/thumbnails/vYK3w4',\n 'https://img.clickviewapp.com/v2/thumbnails/agnD88',\n 'https://img.clickviewapp.com/v2/thumbnails/4rKmp7',\n 'https://img.clickviewapp.com/v2/thumbnails/0wM4r3',\n 'https://img.clickviewapp.com/v2/thumbnails/69A2jO',\n 'https://img.clickviewapp.com/v2/thumbnails/7m3Z3e',\n 'https://img.clickviewapp.com/v2/thumbnails/3bGL94',\n 'https://img.clickviewapp.com/v2/thumbnails/Y6jwLo',\n 'https://img.clickviewapp.com/v2/thumbnails/1MyPby'\n ]\n },\n Tutorial: {\n staging: {\n [InstanceRegion.AU]: {\n PLAYLIST: '92095406',\n SHARE: 'bwXYNM'\n },\n [InstanceRegion.NZ]: {\n PLAYLIST: '92095406',\n SHARE: 'bwXYNM'\n },\n [InstanceRegion.UK]: {\n PLAYLIST: '92095406',\n SHARE: 'bwXYNM'\n },\n [InstanceRegion.US]: {\n PLAYLIST: '92095406',\n SHARE: 'bwXYNM'\n }\n },\n production: {\n [InstanceRegion.AU]: {\n PLAYLIST: '',\n SHARE: ''\n },\n [InstanceRegion.NZ]: {\n PLAYLIST: '',\n SHARE: ''\n },\n [InstanceRegion.UK]: {\n PLAYLIST: '',\n SHARE: ''\n },\n [InstanceRegion.US]: {\n PLAYLIST: '103312110',\n SHARE: 'jWy8VY'\n }\n }\n },\n TutorialVideoHighlight: {\n analytics: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095356',\n SHARE: 'DN8vMg'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '102633825',\n SHARE: 'Ggg8mp'\n }\n }\n },\n searchAndDiscover: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095348',\n SHARE: 'G2Ylra'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '102633632',\n SHARE: 'Dem5BK'\n }\n }\n },\n openClassroom: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095362',\n SHARE: 'bwXY5w'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '100539257',\n SHARE: 'Dv7nnq'\n }\n }\n },\n createClassroom: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095338',\n SHARE: 'Gm0kXY'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '102633076',\n SHARE: 'bZR5OR'\n }\n }\n },\n uploadVideo: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095354',\n SHARE: 'Dk90O8'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '102633711',\n SHARE: 'GpE0e7'\n }\n }\n },\n playlist: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095342',\n SHARE: 'b9P51m'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '102630572',\n SHARE: 'b994n0'\n }\n }\n },\n shareVideo: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095350',\n SHARE: 'DN8v4g'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '100539256',\n SHARE: 'Ggvddm'\n }\n }\n }\n }\n};\n","import { Flight } from 'libs/common/react/index';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { SettingKind } from 'libs/shared/enums/SettingKind';\nimport { dismissibleTutorialVideoTypeSettingsMapping, TutorialVideoType } from 'libs/shared/enums/TutorialVideoType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, VideoTypes } from 'libs/shared/interfaces';\n\nexport function useTutorialVideoHighlight(\n type: TutorialVideoType,\n requireDismissal: boolean = true\n) {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const instanceRegion = currentUser.data?.instanceRegion;\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const ids = config.data?.liteUrl.includes('staging') ?\n HardCoded.TutorialVideoHighlight[type].staging :\n HardCoded.TutorialVideoHighlight[type].production;\n const videoIds = ids[instanceRegion as keyof typeof ids];\n\n const playlistIds = config.data?.liteUrl.includes('staging') ?\n HardCoded.Tutorial.staging[instanceRegion] :\n HardCoded.Tutorial.production[instanceRegion];\n\n const { hasPermissions } = usePermissions();\n\n // if the user is not signed in or not a student, this should fetch the video\n const shouldShowVideo = videoIds !== undefined && !hasPermissions(PermissionName.StudentExperience);\n\n const tutorialVideo = Flight.useBasicFetch<VideoTypes>(\n shouldShowVideo &&\n VideoRequests.sharedVideo(videoIds.VIDEO, videoIds.SHARE)\n );\n\n const settings = useSettings(LocationContext.VideoHighlight);\n\n if (!requireDismissal || !Object.keys(dismissibleTutorialVideoTypeSettingsMapping).includes(type)) {\n return {\n shouldShowVideo,\n tutorialVideo,\n videoIds,\n playlistIds\n };\n }\n\n const tutorialSettingsMap = {\n [TutorialVideoType.Analytics]: settings.hasDismissedAnalyticsTutorial,\n [TutorialVideoType.OpenClassroom]: settings.hasDismissedOpenClassroomsTutorial,\n [TutorialVideoType.SearchAndDiscover]: settings.hasDismissedSearchAndDiscoverTutorial,\n [TutorialVideoType.CreateClassroom]: settings.hasDismissedClassroomsTutorial,\n [TutorialVideoType.Playlist]: settings.hasDismissedPlaylistsTutorial,\n [TutorialVideoType.ShareVideo]: settings.hasDismissedMySharesTutorial,\n [TutorialVideoType.UploadVideo]: settings.hasDismissedMyVideosTutorial\n };\n \n const settingName = dismissibleTutorialVideoTypeSettingsMapping[type as TutorialVideoType];\n\n const dismissVideoHighlight = async () => {\n if (!Object.keys(tutorialSettingsMap).includes(type) || !settingName) return;\n await settings.updateUserSettingAsync({\n name: settingName,\n value: true,\n kind: SettingKind.Setting\n });\n };\n\n const hasDismissedVideoHighlight = tutorialSettingsMap[type as keyof typeof tutorialSettingsMap] ?? null;\n\n return {\n shouldShowVideo,\n tutorialVideo,\n videoIds,\n playlistIds,\n hasDismissedVideoHighlight,\n dismissVideoHighlight\n };\n}\n","import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nexport const VideoRequests = {\n video(\n id: string,\n shareId?: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'thumbnail',\n shareId\n }),\n key: `video:${id}`\n };\n }\n};\n","import { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsRequestFilter } from 'libs/shared/interfaces';\nimport { getAnalyticsRequestKey } from 'libs/shared/utils/AnalyticsRequestUtils';\n\nimport { TopSearch } from 'shared/interfaces';\n\nexport const SearchRequests = {\n topSearches(\n filter: AnalyticsRequestFilter,\n success?: (data: TopSearch[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/analytics/search/top', filter),\n key: getAnalyticsRequestKey('top:searches', filter),\n normalize: false,\n success,\n error,\n always\n };\n }\n};\n","import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'reportsDashboard.topSearchesCardEmptyStateV2';\n\nexport function TopSearchesCardEmptyStateV2() {\n return (\n <div className='d-flex align-items-center justify-content-center text-center h-100'>\n <Text namespace={namespace} phrase='message' />\n </div>\n );\n}\n","import React from 'react';\n\nexport function PartialTopSearchesCardV2() {\n return (\n <>\n <div className='partial-loading-background w-50 mb-3'> </div>\n\n <div className='partial-loading-background mb-3 w-25'> </div>\n <div className='partial-loading-background mb-3 w-33'> </div>\n <div className='partial-loading-background mb-3 w-33'> </div>\n <div className='partial-loading-background mb-3 w-50'> </div>\n <div className='partial-loading-background mb-3 w-25'> </div>\n <div className='partial-loading-background mb-3 w-100'> </div>\n <div className='partial-loading-background mb-3 w-25'> </div>\n <div className='partial-loading-background mb-3 w-75'> </div>\n <div className='partial-loading-background mb-3 w-33'> </div>\n <div className='partial-loading-background mb-3 w-100'> </div>\n </>\n );\n}\n","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { Flight } from 'libs/common/react/index';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useGetExternalUrl } from 'libs/shared/hooks/UseGetExternalUrl';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\n\nimport { SearchRequests } from 'shared/flight-requests/SearchRequests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { TopSearch } from 'shared/interfaces';\nimport { ExternalRouteHelper } from 'shared/utils/ExternalRouteHelper';\n\nimport { TopSearchesCardEmptyStateV2 } from 'apps/dashboard/views/overview-cards/top-searches-v2/empty-state/TopSearchesCardEmptyStateV2';\nimport { PartialTopSearchesCardV2 } from 'apps/dashboard/views/overview-cards/top-searches-v2/partial-loading/PartialTopSearchesCardV2';\n\nconst namespace = 'reportsDashboard.topSearchesCardV2';\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function TopSearchesCardV2View() {\n const requestFilter = useGetRequestFilter('search');\n\n const searches = Flight.useBasicFetch<TopSearch[]>(SearchRequests.topSearches(requestFilter));\n\n const getSearchUrl = useGetExternalUrl(ExternalRouteHelper.getPrimarySearchUrl);\n\n return (\n <div className='d-flex flex-column h-100 bg-white overflow-hidden rounded pt-3 px-3'>\n {searches.data ? (\n <>\n <h2 className='h6 mb-3'><Text namespace={namespace} phrase='topSearches' /></h2>\n\n {searches.data.length ?\n <>\n <Scrollbars className='position-relative'>\n <ol className='position-absolute w-100 ps-4'>\n {searches.data.map((s, idx) => {\n return (\n <li\n key={idx}\n className='mb-3'\n >\n <a\n href={getSearchUrl(s.query)}\n target='_blank'\n className='position-relative d-flex justify-content-between align-items-center pe-5'\n >\n <span>\n {s.query}\n </span>\n <div className='position-absolute w-100 text-end opacity-0 opacity-100-hover pe-3'>\n <SvgContainer svg={NewWindowSvg} />\n </div>\n </a>\n </li>\n );\n })}\n </ol>\n </Scrollbars>\n </> :\n <TopSearchesCardEmptyStateV2 />\n }\n </>\n ) : <PartialTopSearchesCardV2 />}\n </div>\n );\n}\n","import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'reportsDashboard.topStreamsCardEmptyState';\n\nexport function TopStreamsCardEmptyState() {\n return (\n <div className='d-flex align-items-center justify-content-center text-center h-100'>\n <Text namespace={namespace} phrase='message' />\n </div>\n );\n}\n","import React from 'react';\n\nexport function PartialTopStreamsCard(): JSX.Element {\n return (\n <>\n <div className='partial-loading-background w-50 mb-3'> </div>\n\n <div className='position-relative'>\n <ul className='list-unstyled position-absolute top-0 start-0 w-100 h-100'>\n {Array(10).fill(null).map((_, i) => (\n <li key={i} className='mb-3'>\n <div className='row g-0'>\n <div className='col-5'>\n <div className='ratio ratio-16x9 rounded partial-loading-background' />\n </div>\n <div className='col-7 d-flex align-items-center'>\n <div className='mx-2 w-100'>\n <div className='w-100 partial-loading-background mb-1'> </div>\n <div className='w-75 partial-loading-background'> </div>\n </div>\n </div>\n </div>\n </li>\n ))}\n </ul>\n </div>\n </>\n );\n}\n","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoSubText } from 'libs/shared/components/video-sub-text/VideoSubText';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useBatchFetch } from 'libs/shared/hooks/UseBatchFetch';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { VideoViewsV2Requests } from 'shared/flight-requests/VideoViewsV2Requests';\nimport { useGetAppLinkFilterParams, useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { TopVideoV2 } from 'shared/interfaces';\nimport { getSchoolVideoAppLink } from 'shared/utils/ReportsAppLinkUtils';\n\nimport { TopStreamsCardEmptyState } from 'apps/dashboard/views/overview-cards/top-streams/empty-state/TopStreamsCardEmptyState';\nimport { PartialTopStreamsCard } from 'apps/dashboard/views/overview-cards/top-streams/partial-loading/PartialTopStreamsCard';\n\nconst namespace = 'reportsDashboard.topStreamsCard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst LIMIT = 10;\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function TopStreamsCardView() {\n const filterQueryParams = useGetAppLinkFilterParams();\n const requestFilter = useGetRequestFilter('video-views');\n\n const topStreams = Flight.useBasicFetch<TopVideoV2[]>(VideoViewsV2Requests.topStreams(LIMIT, requestFilter));\n\n const videos = useBatchFetch<VideoTypes>(\n topStreams.data?.map(v => v.objectId) ?? [],\n VideoRequests.videos\n );\n\n const hasLoaded = (\n topStreams.hasCompleted &&\n !videos.isFetching\n );\n\n return (\n <div className='d-flex flex-column h-100 bg-white overflow-hidden px-3 rounded pt-3'>\n {hasLoaded ?\n <>\n <div className='d-flex justify-content-between'>\n <h2 className='h6 mb-3'>{getPhrase('topVideos')}</h2>\n <AppLink\n appLink={{ application: AppChannels.VIDEOS, action: Actions.Videos.TOP_VIDEOS }}\n className='text-info'\n >\n <Text namespace={namespace} phrase='seeAll' />\n </AppLink>\n </div>\n\n {videos.itemsArr?.length ?\n <Scrollbars className='position-relative'>\n <div className='position-absolute w-100'>\n <ul className='list-unstyled'>\n {topStreams.data.map(stream => {\n const video = videos.items[stream.objectId];\n\n if (!video)\n return;\n\n return (\n <li key={video.id} className='mb-3'>\n <AppLink appLink={getSchoolVideoAppLink(video, filterQueryParams)}>\n <div className='row g-0'>\n <div className='col-5'>\n <VideoThumbnail\n video={video}\n imageOptions={{ size: ImageSize.Small }}\n textPosition={ThumbnailTextPosition.Independent}\n type='cosmetic'\n hideMask\n size='sm'\n />\n </div>\n <div className='col-7'>\n <div className='d-flex flex-column mx-2'>\n {VideoHelper.isVideoType(video) && (\n <VideoSubText\n type='series'\n video={video}\n analyticsOptions={null}\n className='d-inline clamp-1'\n />\n )}\n <span className='clamp-2 fw-medium'>\n {video.name}\n </span>\n <Text namespace={namespace} phrase='views' options={{ smartCount: stream.combinedCount }} />\n </div>\n </div>\n </div>\n </AppLink>\n </li>\n );\n })}\n </ul>\n </div>\n </Scrollbars> :\n <TopStreamsCardEmptyState />\n }\n </> :\n <PartialTopStreamsCard />\n }\n </div>\n );\n}\n",".cogIcon {\n cursor: pointer;\n color: $gray-900;\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { CloseSvg } from 'libs/shared/images/svg/actions/CloseSvg';\nimport { CogSvg } from 'libs/shared/images/svg/objects/CogSvg';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { ViewModelKeys } from 'shared/constants/ReportsViewModels';\n\nimport styles from './classroom-views-alert.module.scss';\n\nconst namespace = 'reportsDashboard.classroomViewsAlert';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClassroomViewsAlertProps {\n hasClassroomViews: boolean;\n}\n\nexport function ClassroomViewsAlert(props: ClassroomViewsAlertProps): JSX.Element | null {\n const [ show, setShow ] = useViewModel(\n ViewModelKeys.CLASSROOM_VIEWS_ALERT,\n true,\n { storage: StorageType.LocalStorage }\n );\n\n if (!props.hasClassroomViews || !show)\n return null;\n\n return (\n <div role='alert' className='d-flex justify-content-between align-items-center bg-light-blue border border-info rounded p-2 mb-2'>\n <div className='d-flex align-items-center gap-1 ms-1'>\n <span className='fw-bold'>\n <Text namespace={namespace} phrase='leadIn' />\n </span>\n <IconButton\n customSize\n svg={CogSvg}\n svgSize={SvgContainerSize.Standard}\n appLink={{ application: AppChannels.DEFAULT, action: Actions.Default.CLASSROOM_VIEWS_POPUP }}\n className={styles.cogIcon}\n tooltip={getPhrase('settingsTitle')}\n tooltipTrigger={['hover']}\n ariaLabel={getPhrase('settingsTitle')}\n />\n <Text namespace={namespace} phrase='description' />\n <a className='text-info' href={ArticleHelper.getLiteArticle(LiteSupportArticle.ClassroomViews)} target='_blank' rel='noopener noreferrer'>\n <Text namespace={namespace} phrase='link' />\n </a>\n </div>\n <IconButton svg={CloseSvg} className='text-blue' onClick={() => setShow(false)} />\n </div>\n );\n}\n",":local {\n .topRow {\n min-height: 25rem;\n }\n\n .barChart {\n flex: 1 0;\n min-width: 0;\n }\n\n .videoViews {\n flex: 2 0;\n min-width: 0;\n }\n\n .bottomRow {\n min-height: 27rem;\n }\n\n .bottomColumn {\n flex: 1 0;\n min-width: 0;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { VideoHighlight } from 'libs/shared/components/video-highlight/VideoHighlight';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { TutorialVideoType } from 'libs/shared/enums/TutorialVideoType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useGetExternalUrl } from 'libs/shared/hooks/UseGetExternalUrl';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { useTutorialVideoHighlight } from 'libs/shared/hooks/useTutorialVideoHighlight';\nimport { Config } from 'libs/shared/interfaces';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { TopicAnalyticsType } from 'shared/enums/TopicAnalyticsType';\nimport { VideoRequests } from 'shared/flight-requests/VideoRequests';\nimport { useIsTertiary } from 'shared/hooks/useIsTertiary';\nimport { useSetHeaderTitle } from 'shared/hooks/UseSetHeaderTitle';\nimport { ExternalRouteHelper } from 'shared/utils/ExternalRouteHelper';\nimport { StreamsBarChartCardView } from 'shared/views/overview-cards/streams-bar-chart-card/StreamsBarChartCardView';\nimport { StreamsChartCardView } from 'shared/views/overview-cards/streams-chart-card/StreamsChartCardView';\nimport { TopClassificationsCardView } from 'shared/views/overview-cards/top-classifications-card/TopClassificationsCardView';\n\nimport { TopSearchesCardV2View } from 'apps/dashboard/views/overview-cards/top-searches-v2/TopSearchesCardV2View';\nimport { TopStreamsCardView } from 'apps/dashboard/views/overview-cards/top-streams/TopStreamsCardView';\n\nimport { ClassroomViewsAlert } from './components/classroom-views-alert/ClassroomViewsAlert';\n\nimport styles from './school-analytics-dashboard.module.scss';\n\nconst TOP_CLASSIFICATIONS_LIMIT = 10;\n\nconst namespace = 'reportsDashboard.schoolAnalyticsDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SchoolAnalyticsDashboardView(): JSX.Element {\n const isTertiary = useIsTertiary();\n const { hasStudentReach } =\n useSettings(LocationContext.VideoHighlight);\n\n const header = isTertiary ? getPhrase('tertiaryDashboard') : getPhrase('dashboard');\n const { shouldShowVideo, videoIds, playlistIds, hasDismissedVideoHighlight, dismissVideoHighlight } =\n useTutorialVideoHighlight(TutorialVideoType.Analytics);\n\n const tutorialVideo = Flight.useBasicFetch(\n shouldShowVideo &&\n VideoRequests.video(videoIds.VIDEO, videoIds.SHARE)\n );\n const getObjectUrl = useGetExternalUrl(ExternalRouteHelper.getPrimaryObjectUrl);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const playlistUrl = ExternalRouteHelper.getSharePlaylistUrl({\n id: ProductId.Primary,\n order: 0,\n name: '',\n url: config.data?.liteUrl,\n imageUrl: ''\n }, playlistIds?.SHARE);\n\n useSetPageMetadata({ title: header });\n useSetHeaderTitle(header);\n\n return (\n <div className='d-flex flex-column gap-3'>\n <ClassroomViewsAlert hasClassroomViews={hasStudentReach} />\n {tutorialVideo?.data && !hasDismissedVideoHighlight &&\n <VideoHighlight\n video={tutorialVideo?.data}\n subtitle={getPhrase('videoHighlightSubtitle')}\n description={getPhrase('videoHighlightDescription')}\n bgColorClassName='bg-light-blue'\n supportArticle={ArticleHelper.getLiteArticle(LiteSupportArticle.ClassroomAnalytics)}\n onDismiss={dismissVideoHighlight}\n redirectUrl={getObjectUrl(tutorialVideo?.data)}\n redirectPlaylistUrl={playlistUrl}\n locationContext={LocationContext.VideoHighlight}\n />\n }\n <div className={`d-flex gap-3 ${styles.topRow}`}>\n <div className={styles.barChart}>\n <StreamsBarChartCardView\n type='year_group'\n appLink={{ application: AppChannels.VIDEOS, action: Actions.Videos.HOME }}\n appLinkText={getPhrase('seeOverview')}\n />\n </div>\n <div className={styles.videoViews}>\n <StreamsChartCardView type='user_type' />\n </div>\n </div>\n <div className={`d-flex gap-3 ${styles.bottomRow}`}>\n <div className={styles.bottomColumn}>\n <TopStreamsCardView />\n </div>\n <div className={styles.bottomColumn}>\n <TopClassificationsCardView\n type={TopicAnalyticsType.RootTopic}\n heading={getPhrase('subjects')}\n appLink={{ application: AppChannels.VIDEOS, action: Actions.Videos.HOME }}\n appLinkText={getPhrase('seeOverview')}\n emptyStateText={getPhrase('emptySubjects')}\n limit={TOP_CLASSIFICATIONS_LIMIT}\n />\n </div>\n <div className={styles.bottomColumn}>\n <TopSearchesCardV2View />\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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AAe,IAAK,CACnB,SAAU,GACV,MAAO,GACR,EACA,EAAe,IAAK,CACnB,SAAU,YACV,MAAO,SACR,CACF,CACF,CACD,uBAAwB,CACtB,UAAW,CACT,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,kBAAmB,CACjB,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,cAAe,CACb,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,gBAAiB,CACf,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,YAAa,CACX,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,SAAU,CACR,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,WAAY,CACV,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACF,CACF,CC1YD,SAAgB,GACd,EACA,EAA4B,GAC5B,CAEA,IAAM,EADc,EAAkC,GAAa,aAAa,CAAC,CAC9C,MAAM,eACnC,EAAS,EAA6B,EAAe,QAAQ,CAAC,CAK9D,GAHM,EAAO,MAAM,QAAQ,SAAS,UAAU,CAClD,EAAU,uBAAuB,GAAM,QACvC,EAAU,uBAAuB,GAAM,YA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"}
|
|
1
|
+
{"version":3,"file":"DLVy0r752.chunk.js","names":[],"sources":["../../../../libs/shared/src/components/video-highlight/partial-loading/partial-video-highlight.module.scss","../../../../libs/shared/src/components/video-highlight/partial-loading/PartialVideoHighlight.tsx","../../../../libs/shared/src/components/video-highlight/thumbnail/VideoHighlightThumbnail.tsx","../../../../libs/shared/src/components/video-highlight/VideoHighlight.tsx","../../../../libs/shared/src/enums/TutorialVideoType.ts","../../../../libs/shared/src/constants/HardCoded.ts","../../../../libs/shared/src/hooks/useTutorialVideoHighlight.ts","../../src/shared/flight-requests/VideoRequests.ts","../../src/shared/flight-requests/SearchRequests.ts","../../src/apps/dashboard/views/overview-cards/top-searches-v2/empty-state/TopSearchesCardEmptyStateV2.tsx","../../src/apps/dashboard/views/overview-cards/top-searches-v2/partial-loading/PartialTopSearchesCardV2.tsx","../../src/apps/dashboard/views/overview-cards/top-searches-v2/TopSearchesCardV2View.tsx","../../src/apps/dashboard/views/overview-cards/top-streams/empty-state/TopStreamsCardEmptyState.tsx","../../src/apps/dashboard/views/overview-cards/top-streams/partial-loading/PartialTopStreamsCard.tsx","../../src/apps/dashboard/views/overview-cards/top-streams/TopStreamsCardView.tsx","../../src/apps/dashboard/views/school-analytics-dashboard/components/classroom-views-alert/classroom-views-alert.module.scss","../../src/apps/dashboard/views/school-analytics-dashboard/components/classroom-views-alert/ClassroomViewsAlert.tsx","../../src/apps/dashboard/views/school-analytics-dashboard/school-analytics-dashboard.module.scss","../../src/apps/dashboard/views/school-analytics-dashboard/SchoolAnalyticsDashboardView.tsx"],"sourcesContent":[":local {\n .video {\n width: auto;\n height: 9rem;\n }\n\n .button {\n width: 6.25rem;\n height: 2.5rem;\n }\n\n .content {\n overflow: hidden;\n width: 49rem;\n height: 5rem;\n }\n\n .partialHighlight {\n overflow: hidden;\n width: 68.25rem;\n height: 9.2rem;\n }\n\n @media screen and (width <= 992px) {\n .video {\n overflow: hidden;\n width: auto;\n height: 100%;\n }\n\n .content {\n overflow: hidden;\n width: 20rem;\n height: 5rem;\n }\n }\n\n @media screen and (width <= 576px) {\n .partialHighlight {\n width: 23.875rem;\n height: 25.625rem;\n }\n\n .video {\n overflow: hidden;\n width: 22rem;\n height: 12.375rem;\n }\n\n .content {\n overflow: hidden;\n width: 20rem;\n height: 5rem;\n }\n }\n}\n","import React from 'react';\n\nimport styles from './partial-video-highlight.module.scss';\n\nexport function PartialVideoThumbnail() {\n return (\n <div className={`w-100 ${styles.partialHighlight}`}>\n <div className='row gx-3 h-100'>\n <div className='col-lg-3 col-sm-5 col-12 align-self-start'>\n <div className={`rounded-3 ${styles.video} partial-loading-background`}/>\n </div>\n <div className='col-lg-9 col-sm-7 col-12 d-flex flex-column justify-content-between'>\n <div className={`${styles.content} rounded-3 overflow-hidden mt-lg-0 mt-2 partial-loading-background`}></div>\n <div>\n <div className={`${styles.button} rounded-3 partial-loading-background me-2 d-inline-block`} />\n <div className={`${styles.button} rounded-3 partial-loading-background me-2 d-inline-block`} />\n </div>\n </div>\n </div>\n </div>\n );\n}\n","import React from 'react';\n\nimport { AppLink } from 'libs/common/backbone/core';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, LocationContext } from 'libs/analytics/interfaces';\n\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\n\ninterface VideoHighlightThumbnailProps {\n video?: VideoTypes;\n analyticsOptions?: AnalyticsOptions;\n appLink?: AppLink;\n redirectUrl?: string;\n commonVideoProps?: CommonVideoProps;\n locationContext?: LocationContext;\n}\n\nexport function VideoHighlightThumbnail(props: VideoHighlightThumbnailProps) {\n if (props.appLink) {\n return (\n <VideoThumbnail\n video={props.video}\n commonVideoProps={props.commonVideoProps}\n appLink={props.appLink}\n analyticsOptions={{\n ...props.analyticsOptions,\n location: props.locationContext\n }}\n imageOptions={{ size: ImageSize.Medium }}\n type='static'\n size='sm'\n hideDuration\n hideRating\n hideBottomBar\n alwaysShowIcon\n />\n );\n }\n\n return (\n <a\n href={props.redirectUrl}\n target='_blank'\n onClick={() => {\n AnalyticsHelper.logUserAction(\n { videoId: props.video?.id },\n { ...props.analyticsOptions, location: props.locationContext }\n );\n }}\n >\n <VideoThumbnail\n video={props.video}\n imageOptions={{ size: ImageSize.Medium }}\n type='cosmetic'\n size='sm'\n hideDuration\n hideRating\n hideBottomBar\n />\n </a>\n );\n}\n","import React from 'react';\nimport { ObjectHash } from 'backbone';\n\nimport { AppLinkHelper, LocationUtils } from 'libs/common/backbone/core';\nimport { Core } from 'libs/common/backbone/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, ClickDescriptor, EntityType, EventVersion, LocationContext, OnboardingDescriptor, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { PartialVideoThumbnail } from 'libs/shared/components/video-highlight/partial-loading/PartialVideoHighlight';\nimport { VideoHighlightThumbnail } from 'libs/shared/components/video-highlight/thumbnail/VideoHighlightThumbnail';\nimport { CloseSvg } from 'libs/shared/images/svg/actions/CloseSvg';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\n\ninterface VideoHighlightProps {\n video: VideoTypes;\n subtitle?: string;\n description?: string;\n supportArticle: string;\n appLink?: Core.AppLink;\n locationContext?: LocationContext;\n commonVideoProps?: CommonVideoProps;\n redirectUrl?: string;\n sharedPlaylistAppLink?: Core.AppLink;\n redirectPlaylistUrl?: string;\n bgColorClassName?: string;\n onDismiss?: () => void;\n}\n\nconst namespace = 'shared.videoHighlight';\n\nconst dismissAnalyticsOptions = {\n actionType: UserAction.Click,\n descriptor: OnboardingDescriptor.DismissWidget,\n entity: EntityType.Widget,\n eventVersion: EventVersion.V1,\n location: LocationContext.VideoHighlight,\n workflowPhase: WorkflowPhase.Complete\n};\n\nconst videoAnalyticsOptions = {\n actionType: UserAction.Click,\n descriptor: VideoActionDescriptor.ViewOriginalVideo,\n workflowPhase: WorkflowPhase.Complete,\n entity: EntityType.Thumbnail,\n location: LocationContext.VideoHighlight,\n eventVersion: EventVersion.V1\n};\n\nconst subtitleAnalyticOptions = {\n actionType: UserAction.Click,\n location: LocationContext.VideoHighlight,\n entity: EntityType.AppLink,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: VideoActionDescriptor.OpenInClickView,\n eventVersion: EventVersion.V1\n};\n\nconst helpArticleAnalyticsOptions = {\n actionType: UserAction.Click,\n descriptor: ClickDescriptor.SeeMore,\n workflowPhase: WorkflowPhase.Complete,\n entity: EntityType.AppLink,\n eventVersion: EventVersion.V1\n};\n\nexport function VideoHighlight(props: VideoHighlightProps) {\n if (!props.video) return <></>;\n\n function onDismissWithAnalytics() {\n AnalyticsHelper.logUserAction({ videoId: props.video?.id }, dismissAnalyticsOptions);\n props.onDismiss();\n }\n\n function onClick(\n link: Core.AppLink | string,\n analyticsOptions: AnalyticsOptions,\n analyticsData: ObjectHash = {}\n ) {\n AnalyticsHelper.logUserAction(analyticsData, analyticsOptions);\n if (typeof link === 'string') {\n LocationUtils.PageLoad(link, true);\n } else {\n AppLinkHelper.trigger(link);\n }\n }\n\n if (!props.video) {\n return (\n <div className={`position-relative p-3 rounded-3 ${props.bgColorClassName ?? ''}`}>\n <PartialVideoThumbnail/>\n </div>\n );\n }\n\n return (\n <div className={`position-relative p-3 rounded-3 ${props.bgColorClassName ?? ''}`}>\n <div className='row gx-3'>\n <div className='col-lg-3 col-sm-5 col-12 align-self-start'>\n <VideoHighlightThumbnail\n video={props.video}\n analyticsOptions={videoAnalyticsOptions}\n appLink={props.appLink}\n redirectUrl={props.redirectUrl}\n commonVideoProps={props.commonVideoProps}\n locationContext={props.locationContext}\n />\n </div>\n <div className='col-lg-9 col-sm-7 col-12 d-flex flex-column justify-content-between'>\n <div className='overflow-hidden mt-lg-0 mt-2'>\n <TitleSubText>\n <span\n onClick={() =>\n onClick(props.sharedPlaylistAppLink ?? props.redirectPlaylistUrl, subtitleAnalyticOptions)\n }\n className='cursor-pointer'\n >{props.subtitle}</span>\n </TitleSubText>\n <div className='h5 mb-0 clamp-1 d-block'>\n <span\n onClick={() => onClick(props.appLink ?? props.redirectUrl, videoAnalyticsOptions)}\n className='cursor-pointer'\n >\n {props.video?.name}\n </span>\n </div>\n <div className='mt-1 mb-2'>{props.video?.description ?? props.description}</div>\n </div>\n <div>\n <button\n className='btn btn-dark me-2'\n onClick={() =>\n onClick(props.appLink ?? props.redirectUrl, videoAnalyticsOptions, { videoId: props.video?.id })}\n >\n <Text namespace={namespace} phrase='watch'/>\n </button>\n <button\n className='btn btn-outline-dark me-2'\n onClick={() => onClick(\n props.supportArticle,\n { ...helpArticleAnalyticsOptions, location: props.locationContext },\n { url: props.supportArticle }\n )}\n >\n <Text namespace={namespace} phrase='learnMore'/>\n </button>\n <div\n className='btn btn-outline-dark d-sm-none'\n onClick={onDismissWithAnalytics}\n >\n <Text namespace={namespace} phrase='dismiss'/>\n </div>\n </div>\n </div>\n </div>\n <div className='position-absolute top-0 end-0 p-2 d-sm-inline d-none'>\n <IconButton\n svg={CloseSvg}\n onClick={onDismissWithAnalytics}\n />\n </div>\n </div>\n );\n}\n","import { SettingName } from './SettingName';\n\n// tutorial videos should be added here if they are meant to be embedded into the product\nexport enum TutorialVideoType {\n SearchAndDiscover = 'searchAndDiscover',\n Analytics = 'analytics',\n OpenClassroom = 'openClassroom',\n CreateClassroom = 'createClassroom',\n UploadVideo = 'uploadVideo',\n Playlist = 'playlist',\n ShareVideo = 'shareVideo'\n}\n\n// link to the domain options that manage video highlight visibility\nexport const dismissibleTutorialVideoTypeSettingsMapping: {[key in TutorialVideoType]: SettingName } = {\n [TutorialVideoType.Analytics]: SettingName.HasDismissedAnalyticsTutorial,\n [TutorialVideoType.OpenClassroom]: SettingName.HasDismissedOpenClassroomsTutorial,\n [TutorialVideoType.SearchAndDiscover]: SettingName.HasDismissedSearchAndDiscoverTutorial,\n [TutorialVideoType.CreateClassroom]: SettingName.HasDismissedClassroomsTutorial,\n [TutorialVideoType.Playlist]: SettingName.HasDismissedPlaylistsTutorial,\n [TutorialVideoType.ShareVideo]: SettingName.HasDismissedMySharesTutorial,\n [TutorialVideoType.UploadVideo]: SettingName.HasDismissedMyVideosTutorial\n};\n","import { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\n\nexport const HardCoded = {\n OlympicsTopics: {\n // AU_PRIMARY\n ['18']: {\n id: 'Oq9WnjA',\n name: '2026 Milano Cortina Winter Olympic Games'\n },\n // AU_SECONDARY\n ['9']: {\n id: 'EoAYjoR',\n name: '2026 Milano Cortina Winter Olympic Games'\n }\n },\n CommonwealthGameTopics: {\n // SCT_PRIMARY\n ['12']: {\n id: 'AO0j90j',\n name: 'Commonwealth Games Glasgow 2026'\n },\n // SCT_SECONDARY\n ['24']: {\n id: 'ZJxKkg1',\n name: 'Commonwealth Games Glasgow 2026'\n },\n // ENG_PRIMARY\n ['16']: {\n id: 'agD7d73',\n name: 'Commonwealth Games Glasgow 2026'\n },\n // ENG_SECONDARY\n ['47']: {\n id: 'm6mpl27',\n name: 'Commonwealth Games Glasgow 2026'\n },\n // AU_PRIMARY\n ['18']: {\n id: '3bRp6eA',\n name: 'Commonwealth Games Glasgow 2026'\n },\n // AU SECONDARY\n ['9']: {\n id: '7mjAxYR',\n name: 'Commonwealth Games Glasgow 2026'\n }\n },\n PublicTranscriptVideoIds: [\n '78902422',\n '8139055',\n '32102562',\n '36875667',\n '3713657',\n '9900524',\n '48278572',\n '39424302',\n '3712691',\n '54504550',\n '23852726',\n '3713563',\n '3714027',\n '51281358',\n '58785149',\n '7322586',\n '3716774',\n '36554689',\n '54192890',\n '6689791',\n '10749459',\n '3712691',\n '81764158',\n '43772092',\n '43974358',\n '48091365',\n '6430651',\n '3713735',\n '54096131',\n '57977558',\n '78840166',\n '57738254',\n '51666370',\n '49858722'\n ],\n SpecialEvents: {\n dlL00b3: {\n id: 'dlL00b3',\n iconUrl: 'https://img.clickviewapp.com/v2/covers/PGbNp0'\n }\n },\n Classifications: {\n Twig: {\n EnglandSecondary: {\n HUB: 'yrg5vYN'\n },\n ScotlandSecondary: {\n HUB: 'Y69j14M'\n },\n InternationalSecondary: {\n HUB: 'MYM6GGM'\n },\n NewZealandSecondary: {\n HUB: 'agNmRd9'\n },\n CanadaMiddle: {\n HUB: '3brl1mY'\n },\n CanadaHigh: {\n HUB: 'kZJ9vkz'\n }\n },\n Tigtag: {\n EnglandPrimary: {\n HUB: 'D1218zx',\n TIGTAG_HUB: 'odldxPJ',\n TIGTAG_JUNIOR_HUB: 'nENExnL'\n },\n ScotlandPrimary: {\n HUB: 'JjAONbj',\n TIGTAG_HUB: '3bNAGl1',\n TIGTAG_JUNIOR_HUB: 'K6GKp43'\n },\n InternationalPrimary: {\n HUB: 'W1xqbk2',\n TIGTAG_HUB: 'ek3dJr8',\n TIGTAG_JUNIOR_HUB: 'PGyKzpn'\n },\n NewZealandPrimary: {\n HUB: 'odnkREE',\n TIGTAG_HUB: 'kZJ4RPa',\n TIGTAG_JUNIOR_HUB: 'zMg80DR'\n },\n CanadaElementary: {\n HUB: 'JjabmDE',\n TIGTAG_HUB: 'dq9Ewje',\n TIGTAG_JUNIOR_HUB: 'bmElWrb'\n },\n CanadaMiddle: {\n HUB: 'dq9EwyZ',\n TIGTAG_HUB: 'K6abxjP',\n TIGTAG_JUNIOR_HUB: '7mwxLdR'\n }\n }\n },\n // Production values. For testing in development, change these to staging preso values\n PresentationIds: {\n DEFAULT: 1,\n DEFAULT_CURRICULUM: 10,\n\n AU_PRIMARY: 18,\n AU_SECONDARY: 9,\n AU_TERTIARY: 81,\n US_ELEMENTARY: 13,\n US_MIDDLE: 14,\n US_HIGH: 15,\n CA_ELEMENTARY: 100,\n CA_MIDDLE: 101,\n CA_HIGH: 102,\n STREAMABLE_LEARNING: 68,\n ENG_PRIMARY: 16,\n ENG_SECONDARY: 47,\n SCT_PRIMARY: 12,\n SCT_SECONDARY: 24,\n UK_TERTIARY: 82,\n INT_PRIMARY: 19,\n INT_SECONDARY: 21,\n NZ_PRIMARY: 96,\n NZ_SECONDARY: 97\n },\n Libraries: {\n LICENCED_CONTENT_COLLECTION: '3700633',\n\n AU_PRIMARY: '10066675',\n AU_SECONDARY: '59401330',\n AU_TERTIARY: '5836680',\n US_ELEMENTARY: '38693445',\n US_MIDDLE: '39642303',\n US_HIGH: '38693435',\n CA_ELEMENTARY: '92862332',\n CA_MIDDLE: '92862334',\n CA_HIGH: '92862344',\n STREAMABLE_LEARNING: '78688869',\n ENG_PRIMARY: '35340580',\n ENG_SECONDARY: '59889793',\n SCT_PRIMARY: '33386791',\n SCT_SECONDARY: '59856733',\n UK_TERTIARY: '5815036',\n INT_PRIMARY: '3706428',\n INT_SECONDARY: '3706459',\n NZ_PRIMARY: '3705693',\n NZ_SECONDARY: '3705710',\n NZ_MTV: '26989676',\n\n TWIG: '88117784',\n TIGTAG: '80333935'\n },\n Rostering: {\n sources: {\n 0: { name: 'Unknown', iconUrl: '' },\n 1: { name: 'Clever', iconUrl: 'https://img.clickviewapp.com/v2/logos/LqlKgd' },\n 2: { name: 'ClassLink', iconUrl: 'https://img.clickviewapp.com/v2/logos/ZA2ew5' },\n 3: { name: 'Google', iconUrl: 'https://img.clickviewapp.com/v2/logos/l5x0jL' },\n 4: { name: 'Microsoft', iconUrl: 'https://img.clickviewapp.com/v2/logos/xAxGPP' },\n 5: { name: 'Schoology', iconUrl: 'https://img.clickviewapp.com/v2/logos/kZNEyz' },\n 6: { name: 'PowerSchool', iconUrl: 'https://img.clickviewapp.com/v2/logos/m6aDmR' }\n }\n },\n Images: {\n Level_1: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/dlM73E',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/WAe8MP',\n TOPIC_TALL_POSTER: 'https://img.clickviewapp.com/v2/tallposters/raRm7E',\n NEW_RELEASES_BANNER: 'https://img.clickviewapp.com/v2/banners/3kzeZ2'\n },\n Level_2: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/WAeKvP',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/9DAZJv',\n TOPIC_TALL_POSTER: 'https://img.clickviewapp.com/v2/tallposters/eKG2bq',\n NEW_RELEASES_BANNER: 'https://img.clickviewapp.com/v2/banners/xyn5eP'\n },\n Level_3: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/dl1d0g',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/R0Pz7A',\n TOPIC_TALL_POSTER: 'https://img.clickviewapp.com/v2/tallposters/8LYZ9R',\n NEW_RELEASES_BANNER: 'https://img.clickviewapp.com/v2/banners/nKDyRj'\n },\n Level_4: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/vYJPP5',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/PGPLLP'\n },\n TOPIC_DEFAULT_BANNER: 'https://img.clickviewapp.com/v2/banners/yKvoG0',\n STREAMABLE_TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/q6gnOn',\n STREAMABLE_TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/age95g'\n },\n Onboarding: {\n Playlist: {\n COVER_FILE_ID: 'G149g3',\n BANNER_FILE_ID: 'bmPLkn'\n },\n LOADING_THUMBNAILS: [\n 'https://img.clickviewapp.com/v2/thumbnails/7m34ne',\n 'https://img.clickviewapp.com/v2/thumbnails/W1bjqJ',\n 'https://img.clickviewapp.com/v2/thumbnails/G14M1e',\n 'https://img.clickviewapp.com/v2/thumbnails/2mnv5x',\n 'https://img.clickviewapp.com/v2/thumbnails/xAEG91',\n 'https://img.clickviewapp.com/v2/thumbnails/agnbyg',\n 'https://img.clickviewapp.com/v2/thumbnails/W13emP',\n 'https://img.clickviewapp.com/v2/thumbnails/Y6j2vy',\n 'https://img.clickviewapp.com/v2/thumbnails/W1MJGE',\n 'https://img.clickviewapp.com/v2/thumbnails/OqDJqG',\n 'https://img.clickviewapp.com/v2/thumbnails/1My9Wn',\n 'https://img.clickviewapp.com/v2/thumbnails/G14MRe',\n 'https://img.clickviewapp.com/v2/thumbnails/5bgKpl',\n 'https://img.clickviewapp.com/v2/thumbnails/agnbp9',\n 'https://img.clickviewapp.com/v2/thumbnails/G147R1',\n 'https://img.clickviewapp.com/v2/thumbnails/5bgMz5',\n 'https://img.clickviewapp.com/v2/thumbnails/G14Me5',\n 'https://img.clickviewapp.com/v2/thumbnails/5bEovE',\n 'https://img.clickviewapp.com/v2/thumbnails/odY4oZ',\n 'https://img.clickviewapp.com/v2/thumbnails/yrqwqD',\n 'https://img.clickviewapp.com/v2/thumbnails/K6pOmR',\n 'https://img.clickviewapp.com/v2/thumbnails/vYK3w4',\n 'https://img.clickviewapp.com/v2/thumbnails/agnD88',\n 'https://img.clickviewapp.com/v2/thumbnails/4rKmp7',\n 'https://img.clickviewapp.com/v2/thumbnails/0wM4r3',\n 'https://img.clickviewapp.com/v2/thumbnails/69A2jO',\n 'https://img.clickviewapp.com/v2/thumbnails/7m3Z3e',\n 'https://img.clickviewapp.com/v2/thumbnails/3bGL94',\n 'https://img.clickviewapp.com/v2/thumbnails/Y6jwLo',\n 'https://img.clickviewapp.com/v2/thumbnails/1MyPby'\n ]\n },\n Tutorial: {\n staging: {\n [InstanceRegion.AU]: {\n PLAYLIST: '92095406',\n SHARE: 'bwXYNM'\n },\n [InstanceRegion.NZ]: {\n PLAYLIST: '92095406',\n SHARE: 'bwXYNM'\n },\n [InstanceRegion.UK]: {\n PLAYLIST: '92095406',\n SHARE: 'bwXYNM'\n },\n [InstanceRegion.US]: {\n PLAYLIST: '92095406',\n SHARE: 'bwXYNM'\n }\n },\n production: {\n [InstanceRegion.AU]: {\n PLAYLIST: '',\n SHARE: ''\n },\n [InstanceRegion.NZ]: {\n PLAYLIST: '',\n SHARE: ''\n },\n [InstanceRegion.UK]: {\n PLAYLIST: '',\n SHARE: ''\n },\n [InstanceRegion.US]: {\n PLAYLIST: '103312110',\n SHARE: 'jWy8VY'\n }\n }\n },\n TutorialVideoHighlight: {\n analytics: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095356',\n SHARE: 'DN8vMg'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '102633825',\n SHARE: 'Ggg8mp'\n }\n }\n },\n searchAndDiscover: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095348',\n SHARE: 'G2Ylra'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '102633632',\n SHARE: 'Dem5BK'\n }\n }\n },\n openClassroom: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095362',\n SHARE: 'bwXY5w'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '100539257',\n SHARE: 'Dv7nnq'\n }\n }\n },\n createClassroom: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095338',\n SHARE: 'Gm0kXY'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '102633076',\n SHARE: 'bZR5OR'\n }\n }\n },\n uploadVideo: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095354',\n SHARE: 'Dk90O8'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '102633711',\n SHARE: 'GpE0e7'\n }\n }\n },\n playlist: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095342',\n SHARE: 'b9P51m'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '102630572',\n SHARE: 'b994n0'\n }\n }\n },\n shareVideo: {\n staging: {\n [InstanceRegion.US]: {\n VIDEO: '92095350',\n SHARE: 'DN8v4g'\n }\n },\n production: {\n [InstanceRegion.US]: {\n VIDEO: '100539256',\n SHARE: 'Ggvddm'\n }\n }\n }\n }\n};\n","import { Flight } from 'libs/common/react/index';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { SettingKind } from 'libs/shared/enums/SettingKind';\nimport { dismissibleTutorialVideoTypeSettingsMapping, TutorialVideoType } from 'libs/shared/enums/TutorialVideoType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, VideoTypes } from 'libs/shared/interfaces';\n\nexport function useTutorialVideoHighlight(\n type: TutorialVideoType,\n requireDismissal: boolean = true\n) {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const instanceRegion = currentUser.data?.instanceRegion;\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const ids = config.data?.liteUrl.includes('staging') ?\n HardCoded.TutorialVideoHighlight[type].staging :\n HardCoded.TutorialVideoHighlight[type].production;\n const videoIds = ids[instanceRegion as keyof typeof ids];\n\n const playlistIds = config.data?.liteUrl.includes('staging') ?\n HardCoded.Tutorial.staging[instanceRegion] :\n HardCoded.Tutorial.production[instanceRegion];\n\n const { hasPermissions } = usePermissions();\n\n // if the user is not signed in or not a student, this should fetch the video\n const shouldShowVideo = videoIds !== undefined && !hasPermissions(PermissionName.StudentExperience);\n\n const tutorialVideo = Flight.useBasicFetch<VideoTypes>(\n shouldShowVideo &&\n VideoRequests.sharedVideo(videoIds.VIDEO, videoIds.SHARE)\n );\n\n const settings = useSettings(LocationContext.VideoHighlight);\n\n if (!requireDismissal || !Object.keys(dismissibleTutorialVideoTypeSettingsMapping).includes(type)) {\n return {\n shouldShowVideo,\n tutorialVideo,\n videoIds,\n playlistIds\n };\n }\n\n const tutorialSettingsMap = {\n [TutorialVideoType.Analytics]: settings.hasDismissedAnalyticsTutorial,\n [TutorialVideoType.OpenClassroom]: settings.hasDismissedOpenClassroomsTutorial,\n [TutorialVideoType.SearchAndDiscover]: settings.hasDismissedSearchAndDiscoverTutorial,\n [TutorialVideoType.CreateClassroom]: settings.hasDismissedClassroomsTutorial,\n [TutorialVideoType.Playlist]: settings.hasDismissedPlaylistsTutorial,\n [TutorialVideoType.ShareVideo]: settings.hasDismissedMySharesTutorial,\n [TutorialVideoType.UploadVideo]: settings.hasDismissedMyVideosTutorial\n };\n \n const settingName = dismissibleTutorialVideoTypeSettingsMapping[type as TutorialVideoType];\n\n const dismissVideoHighlight = async () => {\n if (!Object.keys(tutorialSettingsMap).includes(type) || !settingName) return;\n await settings.updateUserSettingAsync({\n name: settingName,\n value: true,\n kind: SettingKind.Setting\n });\n };\n\n const hasDismissedVideoHighlight = tutorialSettingsMap[type as keyof typeof tutorialSettingsMap] ?? null;\n\n return {\n shouldShowVideo,\n tutorialVideo,\n videoIds,\n playlistIds,\n hasDismissedVideoHighlight,\n dismissVideoHighlight\n };\n}\n","import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nexport const VideoRequests = {\n video(\n id: string,\n shareId?: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'thumbnail',\n shareId\n }),\n key: `video:${id}`\n };\n }\n};\n","import { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsRequestFilter } from 'libs/shared/interfaces';\nimport { getAnalyticsRequestKey } from 'libs/shared/utils/AnalyticsRequestUtils';\n\nimport { TopSearch } from 'shared/interfaces';\n\nexport const SearchRequests = {\n topSearches(\n filter: AnalyticsRequestFilter,\n success?: (data: TopSearch[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/analytics/search/top', filter),\n key: getAnalyticsRequestKey('top:searches', filter),\n normalize: false,\n success,\n error,\n always\n };\n }\n};\n","import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'reportsDashboard.topSearchesCardEmptyStateV2';\n\nexport function TopSearchesCardEmptyStateV2() {\n return (\n <div className='d-flex align-items-center justify-content-center text-center h-100'>\n <Text namespace={namespace} phrase='message' />\n </div>\n );\n}\n","import React from 'react';\n\nexport function PartialTopSearchesCardV2() {\n return (\n <>\n <div className='partial-loading-background w-50 mb-3'> </div>\n\n <div className='partial-loading-background mb-3 w-25'> </div>\n <div className='partial-loading-background mb-3 w-33'> </div>\n <div className='partial-loading-background mb-3 w-33'> </div>\n <div className='partial-loading-background mb-3 w-50'> </div>\n <div className='partial-loading-background mb-3 w-25'> </div>\n <div className='partial-loading-background mb-3 w-100'> </div>\n <div className='partial-loading-background mb-3 w-25'> </div>\n <div className='partial-loading-background mb-3 w-75'> </div>\n <div className='partial-loading-background mb-3 w-33'> </div>\n <div className='partial-loading-background mb-3 w-100'> </div>\n </>\n );\n}\n","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { Flight } from 'libs/common/react/index';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useGetExternalUrl } from 'libs/shared/hooks/UseGetExternalUrl';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\n\nimport { SearchRequests } from 'shared/flight-requests/SearchRequests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { TopSearch } from 'shared/interfaces';\nimport { ExternalRouteHelper } from 'shared/utils/ExternalRouteHelper';\n\nimport { TopSearchesCardEmptyStateV2 } from 'apps/dashboard/views/overview-cards/top-searches-v2/empty-state/TopSearchesCardEmptyStateV2';\nimport { PartialTopSearchesCardV2 } from 'apps/dashboard/views/overview-cards/top-searches-v2/partial-loading/PartialTopSearchesCardV2';\n\nconst namespace = 'reportsDashboard.topSearchesCardV2';\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function TopSearchesCardV2View() {\n const requestFilter = useGetRequestFilter('search');\n\n const searches = Flight.useBasicFetch<TopSearch[]>(SearchRequests.topSearches(requestFilter));\n\n const getSearchUrl = useGetExternalUrl(ExternalRouteHelper.getPrimarySearchUrl);\n\n return (\n <div className='d-flex flex-column h-100 bg-white overflow-hidden rounded pt-3 px-3'>\n {searches.data ? (\n <>\n <h2 className='h6 mb-3'><Text namespace={namespace} phrase='topSearches' /></h2>\n\n {searches.data.length ?\n <>\n <Scrollbars className='position-relative'>\n <ol className='position-absolute w-100 ps-4'>\n {searches.data.map((s, idx) => {\n return (\n <li\n key={idx}\n className='mb-3'\n >\n <a\n href={getSearchUrl(s.query)}\n target='_blank'\n className='position-relative d-flex justify-content-between align-items-center pe-5'\n >\n <span>\n {s.query}\n </span>\n <div className='position-absolute w-100 text-end opacity-0 opacity-100-hover pe-3'>\n <SvgContainer svg={NewWindowSvg} />\n </div>\n </a>\n </li>\n );\n })}\n </ol>\n </Scrollbars>\n </> :\n <TopSearchesCardEmptyStateV2 />\n }\n </>\n ) : <PartialTopSearchesCardV2 />}\n </div>\n );\n}\n","import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'reportsDashboard.topStreamsCardEmptyState';\n\nexport function TopStreamsCardEmptyState() {\n return (\n <div className='d-flex align-items-center justify-content-center text-center h-100'>\n <Text namespace={namespace} phrase='message' />\n </div>\n );\n}\n","import React from 'react';\n\nexport function PartialTopStreamsCard(): JSX.Element {\n return (\n <>\n <div className='partial-loading-background w-50 mb-3'> </div>\n\n <div className='position-relative'>\n <ul className='list-unstyled position-absolute top-0 start-0 w-100 h-100'>\n {Array(10).fill(null).map((_, i) => (\n <li key={i} className='mb-3'>\n <div className='row g-0'>\n <div className='col-5'>\n <div className='ratio ratio-16x9 rounded partial-loading-background' />\n </div>\n <div className='col-7 d-flex align-items-center'>\n <div className='mx-2 w-100'>\n <div className='w-100 partial-loading-background mb-1'> </div>\n <div className='w-75 partial-loading-background'> </div>\n </div>\n </div>\n </div>\n </li>\n ))}\n </ul>\n </div>\n </>\n );\n}\n","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoSubText } from 'libs/shared/components/video-sub-text/VideoSubText';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useBatchFetch } from 'libs/shared/hooks/UseBatchFetch';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { VideoViewsV2Requests } from 'shared/flight-requests/VideoViewsV2Requests';\nimport { useGetAppLinkFilterParams, useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { TopVideoV2 } from 'shared/interfaces';\nimport { getSchoolVideoAppLink } from 'shared/utils/ReportsAppLinkUtils';\n\nimport { TopStreamsCardEmptyState } from 'apps/dashboard/views/overview-cards/top-streams/empty-state/TopStreamsCardEmptyState';\nimport { PartialTopStreamsCard } from 'apps/dashboard/views/overview-cards/top-streams/partial-loading/PartialTopStreamsCard';\n\nconst namespace = 'reportsDashboard.topStreamsCard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst LIMIT = 10;\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function TopStreamsCardView() {\n const filterQueryParams = useGetAppLinkFilterParams();\n const requestFilter = useGetRequestFilter('video-views');\n\n const topStreams = Flight.useBasicFetch<TopVideoV2[]>(VideoViewsV2Requests.topStreams(LIMIT, requestFilter));\n\n const videos = useBatchFetch<VideoTypes>(\n topStreams.data?.map(v => v.objectId) ?? [],\n VideoRequests.videos\n );\n\n const hasLoaded = (\n topStreams.hasCompleted &&\n !videos.isFetching\n );\n\n return (\n <div className='d-flex flex-column h-100 bg-white overflow-hidden px-3 rounded pt-3'>\n {hasLoaded ?\n <>\n <div className='d-flex justify-content-between'>\n <h2 className='h6 mb-3'>{getPhrase('topVideos')}</h2>\n <AppLink\n appLink={{ application: AppChannels.VIDEOS, action: Actions.Videos.TOP_VIDEOS }}\n className='text-info'\n >\n <Text namespace={namespace} phrase='seeAll' />\n </AppLink>\n </div>\n\n {videos.itemsArr?.length ?\n <Scrollbars className='position-relative'>\n <div className='position-absolute w-100'>\n <ul className='list-unstyled'>\n {topStreams.data.map(stream => {\n const video = videos.items[stream.objectId];\n\n if (!video)\n return;\n\n return (\n <li key={video.id} className='mb-3'>\n <AppLink appLink={getSchoolVideoAppLink(video, filterQueryParams)}>\n <div className='row g-0'>\n <div className='col-5'>\n <VideoThumbnail\n video={video}\n imageOptions={{ size: ImageSize.Small }}\n textPosition={ThumbnailTextPosition.Independent}\n type='cosmetic'\n hideMask\n size='sm'\n />\n </div>\n <div className='col-7'>\n <div className='d-flex flex-column mx-2'>\n {VideoHelper.isVideoType(video) && (\n <VideoSubText\n type='series'\n video={video}\n analyticsOptions={null}\n className='d-inline clamp-1'\n />\n )}\n <span className='clamp-2 fw-medium'>\n {video.name}\n </span>\n <Text namespace={namespace} phrase='views' options={{ smartCount: stream.combinedCount }} />\n </div>\n </div>\n </div>\n </AppLink>\n </li>\n );\n })}\n </ul>\n </div>\n </Scrollbars> :\n <TopStreamsCardEmptyState />\n }\n </> :\n <PartialTopStreamsCard />\n }\n </div>\n );\n}\n",".cogIcon {\n cursor: pointer;\n color: $gray-900;\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { CloseSvg } from 'libs/shared/images/svg/actions/CloseSvg';\nimport { CogSvg } from 'libs/shared/images/svg/objects/CogSvg';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { ViewModelKeys } from 'shared/constants/ReportsViewModels';\n\nimport styles from './classroom-views-alert.module.scss';\n\nconst namespace = 'reportsDashboard.classroomViewsAlert';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClassroomViewsAlertProps {\n hasClassroomViews: boolean;\n}\n\nexport function ClassroomViewsAlert(props: ClassroomViewsAlertProps): JSX.Element | null {\n const [ show, setShow ] = useViewModel(\n ViewModelKeys.CLASSROOM_VIEWS_ALERT,\n true,\n { storage: StorageType.LocalStorage }\n );\n\n if (!props.hasClassroomViews || !show)\n return null;\n\n return (\n <div role='alert' className='d-flex justify-content-between align-items-center bg-light-blue border border-info rounded p-2 mb-2'>\n <div className='d-flex align-items-center gap-1 ms-1'>\n <span className='fw-bold'>\n <Text namespace={namespace} phrase='leadIn' />\n </span>\n <IconButton\n customSize\n svg={CogSvg}\n svgSize={SvgContainerSize.Standard}\n appLink={{ application: AppChannels.DEFAULT, action: Actions.Default.CLASSROOM_VIEWS_POPUP }}\n className={styles.cogIcon}\n tooltip={getPhrase('settingsTitle')}\n tooltipTrigger={['hover']}\n ariaLabel={getPhrase('settingsTitle')}\n />\n <Text namespace={namespace} phrase='description' />\n <a className='text-info' href={ArticleHelper.getLiteArticle(LiteSupportArticle.ClassroomViews)} target='_blank' rel='noopener noreferrer'>\n <Text namespace={namespace} phrase='link' />\n </a>\n </div>\n <IconButton svg={CloseSvg} className='text-blue' onClick={() => setShow(false)} />\n </div>\n );\n}\n",":local {\n .topRow {\n min-height: 25rem;\n }\n\n .barChart {\n flex: 1 0;\n min-width: 0;\n }\n\n .videoViews {\n flex: 2 0;\n min-width: 0;\n }\n\n .bottomRow {\n min-height: 27rem;\n }\n\n .bottomColumn {\n flex: 1 0;\n min-width: 0;\n }\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { VideoHighlight } from 'libs/shared/components/video-highlight/VideoHighlight';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { TutorialVideoType } from 'libs/shared/enums/TutorialVideoType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useGetExternalUrl } from 'libs/shared/hooks/UseGetExternalUrl';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { useTutorialVideoHighlight } from 'libs/shared/hooks/useTutorialVideoHighlight';\nimport { Config } from 'libs/shared/interfaces';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { TopicAnalyticsType } from 'shared/enums/TopicAnalyticsType';\nimport { VideoRequests } from 'shared/flight-requests/VideoRequests';\nimport { useIsTertiary } from 'shared/hooks/useIsTertiary';\nimport { useSetHeaderTitle } from 'shared/hooks/UseSetHeaderTitle';\nimport { ExternalRouteHelper } from 'shared/utils/ExternalRouteHelper';\nimport { StreamsBarChartCardView } from 'shared/views/overview-cards/streams-bar-chart-card/StreamsBarChartCardView';\nimport { StreamsChartCardView } from 'shared/views/overview-cards/streams-chart-card/StreamsChartCardView';\nimport { TopClassificationsCardView } from 'shared/views/overview-cards/top-classifications-card/TopClassificationsCardView';\n\nimport { TopSearchesCardV2View } from 'apps/dashboard/views/overview-cards/top-searches-v2/TopSearchesCardV2View';\nimport { TopStreamsCardView } from 'apps/dashboard/views/overview-cards/top-streams/TopStreamsCardView';\n\nimport { ClassroomViewsAlert } from './components/classroom-views-alert/ClassroomViewsAlert';\n\nimport styles from './school-analytics-dashboard.module.scss';\n\nconst TOP_CLASSIFICATIONS_LIMIT = 10;\n\nconst namespace = 'reportsDashboard.schoolAnalyticsDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SchoolAnalyticsDashboardView(): JSX.Element {\n const isTertiary = useIsTertiary();\n const { hasStudentReach } =\n useSettings(LocationContext.VideoHighlight);\n\n const header = isTertiary ? getPhrase('tertiaryDashboard') : getPhrase('dashboard');\n const { shouldShowVideo, videoIds, playlistIds, hasDismissedVideoHighlight, dismissVideoHighlight } =\n useTutorialVideoHighlight(TutorialVideoType.Analytics);\n\n const tutorialVideo = Flight.useBasicFetch(\n shouldShowVideo &&\n VideoRequests.video(videoIds.VIDEO, videoIds.SHARE)\n );\n const getObjectUrl = useGetExternalUrl(ExternalRouteHelper.getPrimaryObjectUrl);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const playlistUrl = ExternalRouteHelper.getSharePlaylistUrl({\n id: ProductId.Primary,\n order: 0,\n name: '',\n url: config.data?.liteUrl,\n imageUrl: ''\n }, playlistIds?.SHARE);\n\n useSetPageMetadata({ title: header });\n useSetHeaderTitle(header);\n\n return (\n <div className='d-flex flex-column gap-3'>\n <ClassroomViewsAlert hasClassroomViews={hasStudentReach} />\n {tutorialVideo?.data && !hasDismissedVideoHighlight &&\n <VideoHighlight\n video={tutorialVideo?.data}\n subtitle={getPhrase('videoHighlightSubtitle')}\n description={getPhrase('videoHighlightDescription')}\n bgColorClassName='bg-light-blue'\n supportArticle={ArticleHelper.getLiteArticle(LiteSupportArticle.ClassroomAnalytics)}\n onDismiss={dismissVideoHighlight}\n redirectUrl={getObjectUrl(tutorialVideo?.data)}\n redirectPlaylistUrl={playlistUrl}\n locationContext={LocationContext.VideoHighlight}\n />\n }\n <div className={`d-flex gap-3 ${styles.topRow}`}>\n <div className={styles.barChart}>\n <StreamsBarChartCardView\n type='year_group'\n appLink={{ application: AppChannels.VIDEOS, action: Actions.Videos.HOME }}\n appLinkText={getPhrase('seeOverview')}\n />\n </div>\n <div className={styles.videoViews}>\n <StreamsChartCardView type='user_type' />\n </div>\n </div>\n <div className={`d-flex gap-3 ${styles.bottomRow}`}>\n <div className={styles.bottomColumn}>\n <TopStreamsCardView />\n </div>\n <div className={styles.bottomColumn}>\n <TopClassificationsCardView\n type={TopicAnalyticsType.RootTopic}\n heading={getPhrase('subjects')}\n appLink={{ application: AppChannels.VIDEOS, action: Actions.Videos.HOME }}\n appLinkText={getPhrase('seeOverview')}\n emptyStateText={getPhrase('emptySubjects')}\n limit={TOP_CLASSIFICATIONS_LIMIT}\n />\n </div>\n <div className={styles.bottomColumn}>\n <TopSearchesCardV2View />\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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AAe,IAAK,CACnB,SAAU,GACV,MAAO,GACR,EACA,EAAe,IAAK,CACnB,SAAU,YACV,MAAO,SACR,CACF,CACF,CACD,uBAAwB,CACtB,UAAW,CACT,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,kBAAmB,CACjB,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,cAAe,CACb,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,gBAAiB,CACf,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,YAAa,CACX,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,SAAU,CACR,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACD,WAAY,CACV,QAAS,EACN,EAAe,IAAK,CACnB,MAAO,WACP,MAAO,SACR,CACF,CACD,WAAY,EACT,EAAe,IAAK,CACnB,MAAO,YACP,MAAO,SACR,CACF,CACF,CACF,CACF,CC1YD,SAAgB,GACd,EACA,EAA4B,GAC5B,CAEA,IAAM,EADc,EAAkC,GAAa,aAAa,CAAC,CAC9C,MAAM,eACnC,EAAS,EAA6B,EAAe,QAAQ,CAAC,CAK9D,GAHM,EAAO,MAAM,QAAQ,SAAS,UAAU,CAClD,EAAU,uBAAuB,GAAM,QACvC,EAAU,uBAAuB,GAAM,YA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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Jn as e,P as t,st as n}from"./CM0wW4AE.chunk.js";import{r}from"./B01-hGyk.chunk.js";import{n as i}from"./KyOyA3o8.chunk.js";import{t as a}from"./I5Dnl_eN.chunk.js";import{n as o,r as s}from"./H5KLIhR_.chunk.js";import{n as c}from"./dSmIXyxJ.chunk.js";import{$ as l,F as u,M as d}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{Jn as e,P as t,st as n}from"./CM0wW4AE.chunk.js";import{r}from"./B01-hGyk.chunk.js";import{n as i}from"./KyOyA3o8.chunk.js";import{t as a}from"./I5Dnl_eN.chunk.js";import{n as o,r as s}from"./H5KLIhR_.chunk.js";import{n as c}from"./dSmIXyxJ.chunk.js";import{$ as l,F as u,M as d}from"./app-CYtIuHZu.js";import{m as f}from"./DhuQHM9r2.chunk.js";import{t as p}from"./J1C7-I-X.chunk.js";var m=e(n());function h(e){let[,t]=i(d.HEADER_ACTIONS);(0,m.useEffect)(()=>(t(e),()=>{t(null)}),[!!e])}var g=t(),_=a.encloseNamespace(`reportsShared.anonymiseAction`);function v(){let[e,t]=i(d.ANONYMISE_USERS,!1);return(0,g.jsxs)(`div`,{className:`d-flex align-items center justify-content-between`,onClick:()=>t(!e),children:[(0,g.jsx)(`span`,{className:`me-3`,children:_(`hideNames`)}),(0,g.jsx)(c,{on:e,onClick:()=>{}})]})}var y=a.encloseNamespace(`reportsShared.utils`);function b(e){let t=f(l.getPrimaryObjectUrl);if(!e)return;let n=[];return t&&n.push({label:()=>(0,g.jsxs)(`span`,{className:`d-flex justify-content-between align-items-center`,children:[(0,g.jsx)(`span`,{className:`me-2`,children:y(`seeVideo`)}),(0,g.jsx)(r,{svg:u})]}),href:t(e),openInNewTab:!0}),n.push({label:()=>(0,g.jsx)(v,{})}),n}function x(){return[{label:y(`generateReport`),appLink:{application:s.DEFAULT,action:o.Default.GENERATE_REPORT,params:{type:p.VideoViews}}}]}function S(){return[{label:y(`generateReport`),appLink:{application:s.DEFAULT,action:o.Default.GENERATE_REPORT,params:{type:p.Logins}}}]}export{h as i,x as n,b as r,S as t};
|
|
2
|
+
//# sourceMappingURL=DPOQnXtj.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"DPOQnXtj.chunk.js","names":[],"sources":["../../src/shared/hooks/UseSetHeaderActions.ts","../../src/shared/components/anonymise-action/AnonymiseAction.tsx","../../src/shared/utils/HeaderActionUtils.tsx"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { DropdownActionOptions } from 'libs/shared/components/actions/ActionsDropdown';\n\nimport { ViewModelKeys } from 'shared/constants/ReportsViewModels';\n\n/**\n * This hook will only set the actions on the initial render.\n * If the actions are dynamic, either this hook will need to be updated\n * or useViewModel used directly.\n */\nexport function useSetHeaderActions(actions?: DropdownActionOptions[]): void {\n const [ , setActions ] = useViewModel<DropdownActionOptions[]>(ViewModelKeys.HEADER_ACTIONS);\n\n useEffect(() => {\n setActions(actions);\n\n return () => {\n setActions(null);\n };\n }, [!!actions]);\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\n\nimport { ViewModelKeys } from 'shared/constants/ReportsViewModels';\n\nconst namespace = 'reportsShared.anonymiseAction';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function AnonymiseAction(): JSX.Element {\n const [ anonymiseUsers, setAnonymiseUsers ] = useViewModel<boolean>(ViewModelKeys.ANONYMISE_USERS, false);\n\n return (\n <div\n className='d-flex align-items center justify-content-between'\n onClick={() => setAnonymiseUsers(!anonymiseUsers)}\n >\n <span className='me-3'>\n {getPhrase('hideNames')}\n </span>\n <ToggleSwitch on={anonymiseUsers} onClick={() => {}} />\n </div>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { DropdownActionOptions } from 'libs/shared/components/actions/ActionsDropdown';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { useGetExternalUrl } from 'libs/shared/hooks/UseGetExternalUrl';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\nimport { BaseObject } from 'libs/shared/interfaces';\n\nimport { AnonymiseAction } from 'shared/components/anonymise-action/AnonymiseAction';\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { GenerateReportType } from 'shared/views/generate-report/GenerateReportView';\n\nimport { ExternalRouteHelper } from './ExternalRouteHelper';\n\nconst namespace = 'reportsShared.utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function useGetObjectHeaderActions(object?: BaseObject): DropdownActionOptions[] {\n const getObjectUrl = useGetExternalUrl(ExternalRouteHelper.getPrimaryObjectUrl);\n if (!object)\n return;\n\n const actions: DropdownActionOptions[] = [];\n\n if (getObjectUrl)\n actions.push({\n label: () => (\n <span\n className='d-flex justify-content-between align-items-center'\n >\n <span className='me-2'>\n {/* // TODO: once we have non-video types this will need to be updated. */}\n {getPhrase('seeVideo')}\n </span>\n <SvgContainer svg={NewWindowSvg} />\n </span>\n ),\n href: getObjectUrl(object),\n openInNewTab: true\n });\n\n actions.push({\n label: () => <AnonymiseAction />\n });\n\n return actions;\n}\n\nexport function getVideoHeaderActions(): DropdownActionOptions[] {\n return [{\n label: getPhrase('generateReport'),\n appLink: {\n application: AppChannels.DEFAULT,\n action: Actions.Default.GENERATE_REPORT,\n params: { type: GenerateReportType.VideoViews }\n }\n }];\n}\n\nexport function getLoginHeaderActions(): DropdownActionOptions[] {\n return [{\n label: getPhrase('generateReport'),\n appLink: {\n application: AppChannels.DEFAULT,\n action: Actions.Default.GENERATE_REPORT,\n params: { type: GenerateReportType.Logins }\n }\n }];\n}\n"],"mappings":"oZAaA,SAAgB,EAAoB,EAAyC,CAC3E,GAAM,EAAI,GAAe,EAAsC,EAAc,eAAe,EAE5F,EAAA,EAAA,gBACE,EAAW,EAAQ,KAEN,CACX,EAAW,KAAK,GAEjB,CAAC,CAAC,CAAC,EAAQ,CAAC,WCZX,EAAY,EAAgB,iBADhB,gCAC2C,CAE7D,SAAgB,GAA+B,CAC7C,GAAM,CAAE,EAAgB,GAAsB,EAAsB,EAAc,gBAAiB,GAAM,CAEzG,OACE,EAAA,EAAA,MAAC,MAAD,CACE,UAAU,oDACV,YAAe,EAAkB,CAAC,EAAe,UAFnD,EAIE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,gBACb,EAAU,YAAY,CAClB,CAAA,EACP,EAAA,EAAA,KAAC,EAAD,CAAc,GAAI,EAAgB,YAAe,GAAM,CAAA,CACnD,GCNV,IAAM,EAAY,EAAgB,iBADhB,sBAC2C,CAE7D,SAAgB,EAA0B,EAA8C,CACtF,IAAM,EAAe,EAAkB,EAAoB,oBAAoB,CAC/E,GAAI,CAAC,EACH,OAEF,IAAM,EAAmC,EAAE,CAuB3C,OArBI,GACF,EAAQ,KAAK,CACX,WACE,EAAA,EAAA,MAAC,OAAD,CACE,UAAU,6DADZ,EAGE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,gBAEb,EAAU,WAAW,CACjB,CAAA,EACP,EAAA,EAAA,KAAC,EAAD,CAAc,IAAK,EAAgB,CAAA,CAC9B,GAET,KAAM,EAAa,EAAO,CAC1B,aAAc,GACf,CAAC,CAEJ,EAAQ,KAAK,CACX,WAAa,EAAA,EAAA,KAAC,EAAD,EAAmB,CAAA,CACjC,CAAC,CAEK,EAGT,SAAgB,GAAiD,CAC/D,MAAO,CAAC,CACN,MAAO,EAAU,iBAAiB,CAClC,QAAS,CACP,YAAa,EAAY,QACzB,OAAQ,EAAQ,QAAQ,gBACxB,OAAQ,CAAE,KAAM,EAAmB,WAAY,CAChD,CACF,CAAC,CAGJ,SAAgB,GAAiD,CAC/D,MAAO,CAAC,CACN,MAAO,EAAU,iBAAiB,CAClC,QAAS,CACP,YAAa,EAAY,QACzB,OAAQ,EAAQ,QAAQ,gBACxB,OAAQ,CAAE,KAAM,EAAmB,OAAQ,CAC5C,CACF,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Jn as e,Kn as t,P as n,Zt as r,st as i}from"./CM0wW4AE.chunk.js";import{a,h as o}from"./dUFTODMz.chunk.js";import{t as s}from"./I5Dnl_eN.chunk.js";import{t as c}from"./CnyxksnC.chunk.js";import{t as l}from"./dSmIXyxJ.chunk.js";import{B as u,H as d,c as f}from"./app-m6P7KXE1.js";import{t as p}from"./CZWFQGjD2.chunk.js";var m=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`,re=`crop`,ie=`cropend`,ae=`cropmove`,oe=`cropstart`,se=`dblclick`,ce=p?`touchstart`:`mousedown`,le=p?`touchmove`:`mousemove`,ue=p?`touchend touchcancel`:`mouseup`,de=m?`pointerdown`:ce,fe=m?`pointermove`:le,pe=m?`pointerup pointercancel`:ue,me=`ready`,he=`resize`,ge=`wheel`,_e=`zoom`,ve=`image/jpeg`,ye=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,be=/^data:/,xe=/^data:image\/jpeg;base64,/,Se=/^img|canvas$/i,Ce=200,we=100,Te={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},Ee=`<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>`,De=Number.isNaN||f.isNaN;function L(e){return typeof e==`number`&&!De(e)}var Oe=function(e){return e>0&&e<1/0};function ke(e){return e===void 0}function R(t){return e(t)===`object`&&t!==null}var Ae=Object.prototype.hasOwnProperty;function z(e){if(!R(e))return!1;try{var t=e.constructor,n=t.prototype;return t&&n&&Ae.call(n,`isPrototypeOf`)}catch{return!1}}function B(e){return typeof e==`function`}var je=Array.prototype.slice;function Me(e){return Array.from?Array.from(e):je.call(e)}function V(e,t){return e&&B(t)&&(Array.isArray(e)||L(e.length)?Me(e).forEach(function(n,r){t.call(e,n,r,e)}):R(e)&&Object.keys(e).forEach(function(n){t.call(e,e[n],n,e)})),e}var H=Object.assign||function(e){var t=[...arguments].slice(1);return R(e)&&t.length>0&&t.forEach(function(t){R(t)&&Object.keys(t).forEach(function(n){e[n]=t[n]})}),e},Ne=/\.\d*(?:0|9){12}\d*$/;function U(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return Ne.test(e)?Math.round(e*t)/t:e}var Pe=/^width|height|left|top|marginLeft|marginTop$/;function W(e,t){var n=e.style;V(t,function(e,t){Pe.test(t)&&L(e)&&(e=`${e}px`),n[t]=e})}function Fe(e,t){return e.classList?e.classList.contains(t):e.className.indexOf(t)>-1}function G(e,t){if(t){if(L(e.length)){V(e,function(e){G(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 K(e,t){if(t){if(L(e.length)){V(e,function(e){K(e,t)});return}if(e.classList){e.classList.remove(t);return}e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,``))}}function q(e,t,n){if(t){if(L(e.length)){V(e,function(e){q(e,t,n)});return}n?G(e,t):K(e,t)}}var Ie=/([a-z\d])([A-Z])/g;function Le(e){return e.replace(Ie,`$1-$2`).toLowerCase()}function Re(e,t){return R(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute(`data-${Le(t)}`)}function J(e,t,n){R(n)?e[t]=n:e.dataset?e.dataset[t]=n:e.setAttribute(`data-${Le(t)}`,n)}function ze(e,t){if(R(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-${Le(t)}`)}var Be=/\s\s*/,Ve=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 Y(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Be).forEach(function(t){if(!Ve){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 X(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Be).forEach(function(t){if(r.once&&!Ve){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 Z(e,t,n){var r;return B(Event)&&B(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 He(e){var t=e.getBoundingClientRect();return{left:t.left+(window.pageXOffset-document.documentElement.clientLeft),top:t.top+(window.pageYOffset-document.documentElement.clientTop)}}var Ue=f.location,We=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Ge(e){var t=e.match(We);return t!==null&&(t[1]!==Ue.protocol||t[2]!==Ue.hostname||t[3]!==Ue.port)}function Ke(e){var t=`timestamp=${new Date().getTime()}`;return e+(e.indexOf(`?`)===-1?`?`:`&`)+t}function Q(e){var t=e.rotate,n=e.scaleX,r=e.scaleY,i=e.translateX,a=e.translateY,o=[];L(i)&&i!==0&&o.push(`translateX(${i}px)`),L(a)&&a!==0&&o.push(`translateY(${a}px)`),L(t)&&t!==0&&o.push(`rotate(${t}deg)`),L(n)&&n!==1&&o.push(`scaleX(${n})`),L(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 V(e,function(e,r){delete t[r],V(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 V(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=Oe(r),o=Oe(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)),re=Math.min(ee.height,Math.max(te.height,o)),ie=[-ne/2,-re/2,ne,re];return j.width=U(F),j.height=U(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(ie.map(function(e){return Math.floor(U(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 V(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,Me(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;G(r,A),K(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,W(r,{width:i.width,height:i.height}),G(e,A),K(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=H({},t),this.initialCanvasData=H({},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,W(this.canvas,H({width:n.width,height:n.height},Q({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);H(n,{width:r,height:i,left:(t.width-r)/2,top:(t.height-i)/2}),W(this.image,H({width:n.width,height:n.height},Q(H({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=H({},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&&J(this.face,F,n.width>=t.width&&n.height>=t.height?v:g),W(this.cropBox,H({width:n.width,height:n.height},Q({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Z(this.element,re,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,V(o,function(e){var n=document.createElement(`img`);J(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(){V(this.previews,function(e){var t=Re(e,I);W(e,{width:t.width,height:t.height}),e.innerHTML=t.html,ze(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||(W(this.viewBoxImage,H({width:a,height:o},Q(H({translateX:-s,translateY:-c},e)))),V(this.previews,function(t){var n=Re(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),W(t,{width:d,height:f}),W(t.getElementsByTagName(`img`)[0],H({width:a*p,height:o*p},Q(H({translateX:-s*p,translateY:-c*p},e))))}))}},st={bind:function(){var e=this.element,t=this.options,n=this.cropper;B(t.cropstart)&&X(e,oe,t.cropstart),B(t.cropmove)&&X(e,ae,t.cropmove),B(t.cropend)&&X(e,ie,t.cropend),B(t.crop)&&X(e,re,t.crop),B(t.zoom)&&X(e,_e,t.zoom),X(n,de,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&X(n,ge,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&X(n,se,this.onDblclick=this.dblclick.bind(this)),X(e.ownerDocument,fe,this.onCropMove=this.cropMove.bind(this)),X(e.ownerDocument,pe,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&X(window,he,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,n=this.cropper;B(t.cropstart)&&Y(e,oe,t.cropstart),B(t.cropmove)&&Y(e,ae,t.cropmove),B(t.cropend)&&Y(e,ie,t.cropend),B(t.crop)&&Y(e,re,t.crop),B(t.zoom)&&Y(e,_e,t.zoom),Y(n,de,this.onCropStart),t.zoomable&&t.zoomOnWheel&&Y(n,ge,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Y(n,se,this.onDblclick),Y(e.ownerDocument,fe,this.onCropMove),Y(e.ownerDocument,pe,this.onCropEnd),t.responsive&&Y(window,he,this.onResize)}},ct={resize:function(){var e=this.options,t=this.container,n=this.containerData,r=Number(e.minContainerWidth)||Ce,i=Number(e.minContainerHeight)||we;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(V(o,function(e,t){o[t]=e*a})),this.setCropBoxData(V(s,function(e,t){s[t]=e*a})))}}},dblclick:function(){this.disabled||this.options.dragMode===ne||this.setDragMode(Fe(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`)&&(L(t)&&t!==1||L(n)&&n!==0||e.ctrlKey))){var r=this.options,i=this.pointers,a;e.changedTouches?V(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:Re(e.target,F),ye.test(a)&&Z(this.element,oe,{originalEvent:e,action:a})!==!1&&(e.preventDefault(),this.action=a,this.cropping=!1,a===_&&(this.cropping=!0,G(this.dragBox,N)))}},cropMove:function(e){var t=this.action;if(!(this.disabled||!t)){var n=this.pointers;e.preventDefault(),Z(this.element,ae,{originalEvent:e,action:t})!==!1&&(e.changedTouches?V(e.changedTouches,function(e){H(n[e.identifier]||{},Je(e,!0))}):H(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?V(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,q(this.dragBox,N,this.cropped&&this.options.modal)),Z(this.element,ie,{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=He(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||(K(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()),V(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&&G(this.dragBox,N),K(this.cropBox,A),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=H({},this.initialImageData),this.canvasData=H({},this.initialCanvasData),this.cropBoxData=H({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(H(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),K(this.dragBox,N),G(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,V(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,K(this.cropper,k)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,G(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(ke(e)?e:r+Number(e),ke(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&&(L(e)&&(n.left=e,r=!0),L(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(Z(this.element,_e,{ratio:e,oldRatio:a/s,originalEvent:n})===!1)return this;if(n){var d=this.pointers,f=He(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 z(t)&&L(t.x)&&L(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),L(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,L(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(L(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&&(L(e)&&(n.scaleX=e,r=!0),L(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(V(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&&z(e)){var a=!1;t.rotatable&&L(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,a=!0),t.scalable&&(L(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,a=!0),L(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,a=!0)),a&&this.renderCanvas(!0,!0);var o=n.width/n.naturalWidth;L(e.x)&&(i.left=e.x*o+r.left),L(e.y)&&(i.top=e.y*o+r.top),L(e.width)&&(i.width=e.width*o),L(e.height)&&(i.height=e.height*o),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?H({},this.containerData):{}},getImageData:function(){return this.sized?H({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&V([`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&&z(e)&&(L(e.left)&&(t.left=e.left),L(e.top)&&(t.top=e.top),L(e.width)?(t.width=e.width,t.height=e.width/n):L(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&&z(e)&&(L(e.left)&&(t.left=e.left),L(e.top)&&(t.top=e.top),L(e.width)&&e.width!==t.width&&(r=!0,t.width=e.width),L(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=U(m),g.height=U(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(U(e))})))),g},setAspectRatio:function(e){var t=this.options;return!this.disabled&&!ke(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,J(n,F,e),q(n,O,i),q(n,P,a),t.cropBoxMovable||(J(r,F,e),q(r,O,i),q(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||!Se.test(n.tagName))throw Error(`The first argument is required and must be an <img> or <canvas> element.`);this.element=n,this.options=H({},Te,z(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(be.test(e)){xe.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`)!==ve&&i.abort()},i.onload=function(){t.read(i.response)},i.onloadend=function(){t.reloading=!1,t.xhr=null},r.checkCrossOrigin&&Ge(e)&&n.crossOrigin&&(e=Ke(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,ve);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&&Ge(t)&&(n||=`anonymous`,r=Ke(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),G(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){H(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=Ee;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),G(e,A),r.insertBefore(a,e.nextSibling),this.isImg||K(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,G(c,A),t.guides||G(c.getElementsByClassName(`${h}-dashed`),A),t.center||G(c.getElementsByClassName(`${h}-center`),A),t.background&&G(a,`${h}-bg`),t.highlight||G(l,M),t.cropBoxMovable&&(G(l,P),J(l,F,g)),t.cropBoxResizable||(G(c.getElementsByClassName(`${h}-line`),A),G(c.getElementsByClassName(`${h}-point`),A)),this.render(),this.ready=!0,this.setDragMode(t.dragMode),t.autoCrop&&this.crop(),this.setData(t.data),B(t.ready)&&X(e,me,t.ready,{once:!0}),Z(e,me)}}},{key:`unbuild`,value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),K(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){H(Te,z(e)&&e)}}]),e}();return H(ft.prototype,at,ot,st,ct,lt,ut),ft})})),h=e(i()),g=e(m()),_=/data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,.*/,v=e=>{let t=e.match(_);if(t)return t[1]};function y(e,t,n,r=0,i=0,a={},o){let[s,c]=h.useState(!1),[l,u]=h.useState(!1),d=h.useRef(null),f=p(),m=()=>{if(!s)return;u(!0);let e=d.current.getCroppedCanvas().toDataURL(v(t));typeof n==`function`&&n(e)};async function _(){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 g.default(e.current,{ready:()=>c(!0),aspectRatio:r/i,minCropBoxWidth:r*t,minCropBoxHeight:i*t,...a})}catch(e){throw o?.(e),e}}return h.useEffect(()=>(_(),()=>{d.current?.destroy()}),[]),{crop:m,showSpinner:l,imageLoaded:s}}var b=n(),x=`shared.imageCropper`,S=function(e){return e[e.NoRestrictions=0]=`NoRestrictions`,e[e.RestrictToCanvas=1]=`RestrictToCanvas`,e}(S||{});C.defaultProps={submitVariant:`dark`};function C(e){let{dataUrl:t,minHeight:n,minWidth:i,submitVariant:a,onCrop:o,onCancel:c,onCropStart:d,onCropEnd:f}=e,p=h.useRef(null),{crop:m,showSpinner:g,imageLoaded:_}=y(p,t,o,i,n,{viewMode:S.RestrictToCanvas,autoCropArea:1,cropstart:d,cropend:f},()=>r.throw(new u));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`div`,{className:`pb-3 cropper-img-padding`,children:(0,b.jsx)(`img`,{ref:p,src:t,className:`img img-fluid`})}),(0,b.jsxs)(l,{children:[(0,b.jsx)(l.Cancel,{onClick:c}),(0,b.jsx)(l.Submit,{onClick:m,disabled:!_,showSpinner:g,text:s.getPhrase(x,`crop`),variant:a})]})]})}function w(e){let t=o(),{getDataUrlAndResetContext:n,setImage:r}=h.useContext(d),[i,s]=h.useState(),[l,u]=h.useState(!1),[p,m]=h.useState(!1);function g(n){a(t,e.getRequest(e.imageType,n,r,e.closePopup))}function _(){l||e.closePopup()}return h.useEffect(()=>s(n()),[]),(0,b.jsx)(c,{title:`Crop Image`,size:e.popupSize,closePopup:_,onEntered:()=>m(!0),children:p&&i&&(0,b.jsx)(C,{dataUrl:i,minWidth:e.overrideDimensions?.width??f[e.imageType].width,minHeight:e.overrideDimensions?.height??f[e.imageType].height,onCrop:g,onCancel:e.closePopup,submitVariant:e.submitVariant,onCropStart:()=>u(!0),onCropEnd:()=>u(!1)})})}export{w as ImageUploadView};
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{Jn as e,Kn as t,P as n,Zt as r,st as i}from"./CM0wW4AE.chunk.js";import{a,h as o}from"./dUFTODMz.chunk.js";import{t as s}from"./I5Dnl_eN.chunk.js";import{t as c}from"./CnyxksnC.chunk.js";import{t as l}from"./dSmIXyxJ.chunk.js";import{B as u,H as d,c as f}from"./app-CYtIuHZu.js";import{t as p}from"./CZWFQGjD2.chunk.js";var m=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`,re=`crop`,ie=`cropend`,ae=`cropmove`,oe=`cropstart`,se=`dblclick`,ce=p?`touchstart`:`mousedown`,le=p?`touchmove`:`mousemove`,ue=p?`touchend touchcancel`:`mouseup`,de=m?`pointerdown`:ce,fe=m?`pointermove`:le,pe=m?`pointerup pointercancel`:ue,me=`ready`,he=`resize`,ge=`wheel`,_e=`zoom`,ve=`image/jpeg`,ye=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,be=/^data:/,xe=/^data:image\/jpeg;base64,/,Se=/^img|canvas$/i,Ce=200,we=100,Te={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},Ee=`<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>`,De=Number.isNaN||f.isNaN;function L(e){return typeof e==`number`&&!De(e)}var Oe=function(e){return e>0&&e<1/0};function ke(e){return e===void 0}function R(t){return e(t)===`object`&&t!==null}var Ae=Object.prototype.hasOwnProperty;function z(e){if(!R(e))return!1;try{var t=e.constructor,n=t.prototype;return t&&n&&Ae.call(n,`isPrototypeOf`)}catch{return!1}}function B(e){return typeof e==`function`}var je=Array.prototype.slice;function Me(e){return Array.from?Array.from(e):je.call(e)}function V(e,t){return e&&B(t)&&(Array.isArray(e)||L(e.length)?Me(e).forEach(function(n,r){t.call(e,n,r,e)}):R(e)&&Object.keys(e).forEach(function(n){t.call(e,e[n],n,e)})),e}var H=Object.assign||function(e){var t=[...arguments].slice(1);return R(e)&&t.length>0&&t.forEach(function(t){R(t)&&Object.keys(t).forEach(function(n){e[n]=t[n]})}),e},Ne=/\.\d*(?:0|9){12}\d*$/;function U(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return Ne.test(e)?Math.round(e*t)/t:e}var Pe=/^width|height|left|top|marginLeft|marginTop$/;function W(e,t){var n=e.style;V(t,function(e,t){Pe.test(t)&&L(e)&&(e=`${e}px`),n[t]=e})}function Fe(e,t){return e.classList?e.classList.contains(t):e.className.indexOf(t)>-1}function G(e,t){if(t){if(L(e.length)){V(e,function(e){G(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 K(e,t){if(t){if(L(e.length)){V(e,function(e){K(e,t)});return}if(e.classList){e.classList.remove(t);return}e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,``))}}function q(e,t,n){if(t){if(L(e.length)){V(e,function(e){q(e,t,n)});return}n?G(e,t):K(e,t)}}var Ie=/([a-z\d])([A-Z])/g;function Le(e){return e.replace(Ie,`$1-$2`).toLowerCase()}function Re(e,t){return R(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute(`data-${Le(t)}`)}function J(e,t,n){R(n)?e[t]=n:e.dataset?e.dataset[t]=n:e.setAttribute(`data-${Le(t)}`,n)}function ze(e,t){if(R(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-${Le(t)}`)}var Be=/\s\s*/,Ve=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 Y(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Be).forEach(function(t){if(!Ve){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 X(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Be).forEach(function(t){if(r.once&&!Ve){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 Z(e,t,n){var r;return B(Event)&&B(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 He(e){var t=e.getBoundingClientRect();return{left:t.left+(window.pageXOffset-document.documentElement.clientLeft),top:t.top+(window.pageYOffset-document.documentElement.clientTop)}}var Ue=f.location,We=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Ge(e){var t=e.match(We);return t!==null&&(t[1]!==Ue.protocol||t[2]!==Ue.hostname||t[3]!==Ue.port)}function Ke(e){var t=`timestamp=${new Date().getTime()}`;return e+(e.indexOf(`?`)===-1?`?`:`&`)+t}function Q(e){var t=e.rotate,n=e.scaleX,r=e.scaleY,i=e.translateX,a=e.translateY,o=[];L(i)&&i!==0&&o.push(`translateX(${i}px)`),L(a)&&a!==0&&o.push(`translateY(${a}px)`),L(t)&&t!==0&&o.push(`rotate(${t}deg)`),L(n)&&n!==1&&o.push(`scaleX(${n})`),L(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 V(e,function(e,r){delete t[r],V(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 V(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=Oe(r),o=Oe(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)),re=Math.min(ee.height,Math.max(te.height,o)),ie=[-ne/2,-re/2,ne,re];return j.width=U(F),j.height=U(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(ie.map(function(e){return Math.floor(U(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 V(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,Me(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;G(r,A),K(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,W(r,{width:i.width,height:i.height}),G(e,A),K(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=H({},t),this.initialCanvasData=H({},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,W(this.canvas,H({width:n.width,height:n.height},Q({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);H(n,{width:r,height:i,left:(t.width-r)/2,top:(t.height-i)/2}),W(this.image,H({width:n.width,height:n.height},Q(H({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=H({},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&&J(this.face,F,n.width>=t.width&&n.height>=t.height?v:g),W(this.cropBox,H({width:n.width,height:n.height},Q({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Z(this.element,re,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,V(o,function(e){var n=document.createElement(`img`);J(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(){V(this.previews,function(e){var t=Re(e,I);W(e,{width:t.width,height:t.height}),e.innerHTML=t.html,ze(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||(W(this.viewBoxImage,H({width:a,height:o},Q(H({translateX:-s,translateY:-c},e)))),V(this.previews,function(t){var n=Re(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),W(t,{width:d,height:f}),W(t.getElementsByTagName(`img`)[0],H({width:a*p,height:o*p},Q(H({translateX:-s*p,translateY:-c*p},e))))}))}},st={bind:function(){var e=this.element,t=this.options,n=this.cropper;B(t.cropstart)&&X(e,oe,t.cropstart),B(t.cropmove)&&X(e,ae,t.cropmove),B(t.cropend)&&X(e,ie,t.cropend),B(t.crop)&&X(e,re,t.crop),B(t.zoom)&&X(e,_e,t.zoom),X(n,de,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&X(n,ge,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&X(n,se,this.onDblclick=this.dblclick.bind(this)),X(e.ownerDocument,fe,this.onCropMove=this.cropMove.bind(this)),X(e.ownerDocument,pe,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&X(window,he,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,n=this.cropper;B(t.cropstart)&&Y(e,oe,t.cropstart),B(t.cropmove)&&Y(e,ae,t.cropmove),B(t.cropend)&&Y(e,ie,t.cropend),B(t.crop)&&Y(e,re,t.crop),B(t.zoom)&&Y(e,_e,t.zoom),Y(n,de,this.onCropStart),t.zoomable&&t.zoomOnWheel&&Y(n,ge,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Y(n,se,this.onDblclick),Y(e.ownerDocument,fe,this.onCropMove),Y(e.ownerDocument,pe,this.onCropEnd),t.responsive&&Y(window,he,this.onResize)}},ct={resize:function(){var e=this.options,t=this.container,n=this.containerData,r=Number(e.minContainerWidth)||Ce,i=Number(e.minContainerHeight)||we;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(V(o,function(e,t){o[t]=e*a})),this.setCropBoxData(V(s,function(e,t){s[t]=e*a})))}}},dblclick:function(){this.disabled||this.options.dragMode===ne||this.setDragMode(Fe(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`)&&(L(t)&&t!==1||L(n)&&n!==0||e.ctrlKey))){var r=this.options,i=this.pointers,a;e.changedTouches?V(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:Re(e.target,F),ye.test(a)&&Z(this.element,oe,{originalEvent:e,action:a})!==!1&&(e.preventDefault(),this.action=a,this.cropping=!1,a===_&&(this.cropping=!0,G(this.dragBox,N)))}},cropMove:function(e){var t=this.action;if(!(this.disabled||!t)){var n=this.pointers;e.preventDefault(),Z(this.element,ae,{originalEvent:e,action:t})!==!1&&(e.changedTouches?V(e.changedTouches,function(e){H(n[e.identifier]||{},Je(e,!0))}):H(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?V(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,q(this.dragBox,N,this.cropped&&this.options.modal)),Z(this.element,ie,{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=He(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||(K(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()),V(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&&G(this.dragBox,N),K(this.cropBox,A),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=H({},this.initialImageData),this.canvasData=H({},this.initialCanvasData),this.cropBoxData=H({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(H(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),K(this.dragBox,N),G(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,V(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,K(this.cropper,k)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,G(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(ke(e)?e:r+Number(e),ke(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&&(L(e)&&(n.left=e,r=!0),L(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(Z(this.element,_e,{ratio:e,oldRatio:a/s,originalEvent:n})===!1)return this;if(n){var d=this.pointers,f=He(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 z(t)&&L(t.x)&&L(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),L(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,L(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(L(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&&(L(e)&&(n.scaleX=e,r=!0),L(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(V(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&&z(e)){var a=!1;t.rotatable&&L(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,a=!0),t.scalable&&(L(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,a=!0),L(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,a=!0)),a&&this.renderCanvas(!0,!0);var o=n.width/n.naturalWidth;L(e.x)&&(i.left=e.x*o+r.left),L(e.y)&&(i.top=e.y*o+r.top),L(e.width)&&(i.width=e.width*o),L(e.height)&&(i.height=e.height*o),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?H({},this.containerData):{}},getImageData:function(){return this.sized?H({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&V([`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&&z(e)&&(L(e.left)&&(t.left=e.left),L(e.top)&&(t.top=e.top),L(e.width)?(t.width=e.width,t.height=e.width/n):L(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&&z(e)&&(L(e.left)&&(t.left=e.left),L(e.top)&&(t.top=e.top),L(e.width)&&e.width!==t.width&&(r=!0,t.width=e.width),L(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=U(m),g.height=U(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(U(e))})))),g},setAspectRatio:function(e){var t=this.options;return!this.disabled&&!ke(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,J(n,F,e),q(n,O,i),q(n,P,a),t.cropBoxMovable||(J(r,F,e),q(r,O,i),q(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||!Se.test(n.tagName))throw Error(`The first argument is required and must be an <img> or <canvas> element.`);this.element=n,this.options=H({},Te,z(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(be.test(e)){xe.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`)!==ve&&i.abort()},i.onload=function(){t.read(i.response)},i.onloadend=function(){t.reloading=!1,t.xhr=null},r.checkCrossOrigin&&Ge(e)&&n.crossOrigin&&(e=Ke(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,ve);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&&Ge(t)&&(n||=`anonymous`,r=Ke(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),G(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){H(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=Ee;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),G(e,A),r.insertBefore(a,e.nextSibling),this.isImg||K(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,G(c,A),t.guides||G(c.getElementsByClassName(`${h}-dashed`),A),t.center||G(c.getElementsByClassName(`${h}-center`),A),t.background&&G(a,`${h}-bg`),t.highlight||G(l,M),t.cropBoxMovable&&(G(l,P),J(l,F,g)),t.cropBoxResizable||(G(c.getElementsByClassName(`${h}-line`),A),G(c.getElementsByClassName(`${h}-point`),A)),this.render(),this.ready=!0,this.setDragMode(t.dragMode),t.autoCrop&&this.crop(),this.setData(t.data),B(t.ready)&&X(e,me,t.ready,{once:!0}),Z(e,me)}}},{key:`unbuild`,value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),K(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){H(Te,z(e)&&e)}}]),e}();return H(ft.prototype,at,ot,st,ct,lt,ut),ft})})),h=e(i()),g=e(m()),_=/data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,.*/,v=e=>{let t=e.match(_);if(t)return t[1]};function y(e,t,n,r=0,i=0,a={},o){let[s,c]=h.useState(!1),[l,u]=h.useState(!1),d=h.useRef(null),f=p(),m=()=>{if(!s)return;u(!0);let e=d.current.getCroppedCanvas().toDataURL(v(t));typeof n==`function`&&n(e)};async function _(){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 g.default(e.current,{ready:()=>c(!0),aspectRatio:r/i,minCropBoxWidth:r*t,minCropBoxHeight:i*t,...a})}catch(e){throw o?.(e),e}}return h.useEffect(()=>(_(),()=>{d.current?.destroy()}),[]),{crop:m,showSpinner:l,imageLoaded:s}}var b=n(),x=`shared.imageCropper`,S=function(e){return e[e.NoRestrictions=0]=`NoRestrictions`,e[e.RestrictToCanvas=1]=`RestrictToCanvas`,e}(S||{});C.defaultProps={submitVariant:`dark`};function C(e){let{dataUrl:t,minHeight:n,minWidth:i,submitVariant:a,onCrop:o,onCancel:c,onCropStart:d,onCropEnd:f}=e,p=h.useRef(null),{crop:m,showSpinner:g,imageLoaded:_}=y(p,t,o,i,n,{viewMode:S.RestrictToCanvas,autoCropArea:1,cropstart:d,cropend:f},()=>r.throw(new u));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`div`,{className:`pb-3 cropper-img-padding`,children:(0,b.jsx)(`img`,{ref:p,src:t,className:`img img-fluid`})}),(0,b.jsxs)(l,{children:[(0,b.jsx)(l.Cancel,{onClick:c}),(0,b.jsx)(l.Submit,{onClick:m,disabled:!_,showSpinner:g,text:s.getPhrase(x,`crop`),variant:a})]})]})}function w(e){let t=o(),{getDataUrlAndResetContext:n,setImage:r}=h.useContext(d),[i,s]=h.useState(),[l,u]=h.useState(!1),[p,m]=h.useState(!1);function g(n){a(t,e.getRequest(e.imageType,n,r,e.closePopup))}function _(){l||e.closePopup()}return h.useEffect(()=>s(n()),[]),(0,b.jsx)(c,{title:`Crop Image`,size:e.popupSize,closePopup:_,onEntered:()=>m(!0),children:p&&i&&(0,b.jsx)(C,{dataUrl:i,minWidth:e.overrideDimensions?.width??f[e.imageType].width,minHeight:e.overrideDimensions?.height??f[e.imageType].height,onCrop:g,onCancel:e.closePopup,submitVariant:e.submitVariant,onCropStart:()=>u(!0),onCropEnd:()=>u(!1)})})}export{w as ImageUploadView};
|
|
2
|
+
//# sourceMappingURL=DUl1SIxT2.chunk.js.map
|