@clickview/reports 0.85.0-rc.0 → 0.85.0-rc.1

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.
Files changed (69) hide show
  1. package/dist/.vite/manifest.json +265 -265
  2. package/dist/bundles.json +1 -1
  3. package/dist/css/B6REaZgP.chunk.css +8 -0
  4. package/dist/en.json +1 -1
  5. package/dist/scripts/{B8cDqk3r.chunk.js → 1pdbKMyH.chunk.js} +2 -2
  6. package/dist/scripts/{B8cDqk3r.chunk.js.map → 1pdbKMyH.chunk.js.map} +1 -1
  7. package/dist/scripts/{DK3tHqQv.chunk.js → 2MxiB_er.chunk.js} +2 -2
  8. package/dist/scripts/{DK3tHqQv.chunk.js.map → 2MxiB_er.chunk.js.map} +1 -1
  9. package/dist/scripts/{BPMB_v0s2.chunk.js → 3EzrYsbw2.chunk.js} +2 -2
  10. package/dist/scripts/{BPMB_v0s2.chunk.js.map → 3EzrYsbw2.chunk.js.map} +1 -1
  11. package/dist/scripts/{Kl4bbkgr2.chunk.js → 3q7nyVif2.chunk.js} +2 -2
  12. package/dist/scripts/{Kl4bbkgr2.chunk.js.map → 3q7nyVif2.chunk.js.map} +1 -1
  13. package/dist/scripts/{Bqyk3nb6.chunk.js → B9S_LeFP.chunk.js} +2 -2
  14. package/dist/scripts/{Bqyk3nb6.chunk.js.map → B9S_LeFP.chunk.js.map} +1 -1
  15. package/dist/scripts/{nCttr7GT.chunk.js → BKW2JeVr.chunk.js} +2 -2
  16. package/dist/scripts/{nCttr7GT.chunk.js.map → BKW2JeVr.chunk.js.map} +1 -1
  17. package/dist/scripts/{09UoyYDa2.chunk.js → BfhdSOSX2.chunk.js} +2 -2
  18. package/dist/scripts/{09UoyYDa2.chunk.js.map → BfhdSOSX2.chunk.js.map} +1 -1
  19. package/dist/scripts/{BxLSGp7E.chunk.js → BnfA2fln.chunk.js} +2 -2
  20. package/dist/scripts/{BxLSGp7E.chunk.js.map → BnfA2fln.chunk.js.map} +1 -1
  21. package/dist/scripts/{DcpG_Euo.chunk.js → BpzXy-5d.chunk.js} +2 -2
  22. package/dist/scripts/{DcpG_Euo.chunk.js.map → BpzXy-5d.chunk.js.map} +1 -1
  23. package/dist/scripts/Bs1YLdQb.chunk.js +1 -0
  24. package/dist/scripts/{CHNBnXs-2.chunk.js → Bua2prVk2.chunk.js} +2 -2
  25. package/dist/scripts/{CHNBnXs-2.chunk.js.map → Bua2prVk2.chunk.js.map} +1 -1
  26. package/dist/scripts/{Cf1whmy32.chunk.js → BvNaANAO2.chunk.js} +2 -2
  27. package/dist/scripts/{Cf1whmy32.chunk.js.map → BvNaANAO2.chunk.js.map} +1 -1
  28. package/dist/scripts/{Cn2w0OHm.chunk.js → Bx5qk-PZ.chunk.js} +3 -3
  29. package/dist/scripts/{Cn2w0OHm.chunk.js.map → Bx5qk-PZ.chunk.js.map} +1 -1
  30. package/dist/scripts/{DirX37xL2.chunk.js → CCLDpjnt2.chunk.js} +2 -2
  31. package/dist/scripts/{DirX37xL2.chunk.js.map → CCLDpjnt2.chunk.js.map} +1 -1
  32. package/dist/scripts/{Do88yXba.chunk.js → CJIwkABI.chunk.js} +2 -2
  33. package/dist/scripts/{Do88yXba.chunk.js.map → CJIwkABI.chunk.js.map} +1 -1
  34. package/dist/scripts/{ByFS52xu.chunk.js → CKRKdk5U.chunk.js} +2 -2
  35. package/dist/scripts/{ByFS52xu.chunk.js.map → CKRKdk5U.chunk.js.map} +1 -1
  36. package/dist/scripts/{Dh8AAJA8.chunk.js → CKVaLGJC.chunk.js} +2 -2
  37. package/dist/scripts/{Dh8AAJA8.chunk.js.map → CKVaLGJC.chunk.js.map} +1 -1
  38. package/dist/scripts/{BXoBk1VP2.chunk.js → CMKPCLR42.chunk.js} +2 -2
  39. package/dist/scripts/{BXoBk1VP2.chunk.js.map → CMKPCLR42.chunk.js.map} +1 -1
  40. package/dist/scripts/Cah5ISd-.chunk.js +1 -0
  41. package/dist/scripts/{CEteFkmm.chunk.js → ClOZ7MLV.chunk.js} +2 -2
  42. package/dist/scripts/{CEteFkmm.chunk.js.map → ClOZ7MLV.chunk.js.map} +1 -1
  43. package/dist/scripts/{P2dNpLmC2.chunk.js → CowZxgkl2.chunk.js} +2 -2
  44. package/dist/scripts/{P2dNpLmC2.chunk.js.map → CowZxgkl2.chunk.js.map} +1 -1
  45. package/dist/scripts/{BfahlE_H.chunk.js → Cpm-LpwK.chunk.js} +2 -2
  46. package/dist/scripts/{BfahlE_H.chunk.js.map → Cpm-LpwK.chunk.js.map} +1 -1
  47. package/dist/scripts/{C7odFv7G.chunk.js → CqCz1X85.chunk.js} +2 -2
  48. package/dist/scripts/{C7odFv7G.chunk.js.map → CqCz1X85.chunk.js.map} +1 -1
  49. package/dist/scripts/{adNSdUOa2.chunk.js → DMI-Lxl02.chunk.js} +2 -2
  50. package/dist/scripts/{adNSdUOa2.chunk.js.map → DMI-Lxl02.chunk.js.map} +1 -1
  51. package/dist/scripts/{CGjQxvvn2.chunk.js → DTy5e0Yv2.chunk.js} +2 -2
  52. package/dist/scripts/{CGjQxvvn2.chunk.js.map → DTy5e0Yv2.chunk.js.map} +1 -1
  53. package/dist/scripts/{B-Cpv5JW2.chunk.js → DgPadkLi2.chunk.js} +2 -2
  54. package/dist/scripts/{B-Cpv5JW2.chunk.js.map → DgPadkLi2.chunk.js.map} +1 -1
  55. package/dist/scripts/{CLXgS35R.chunk.js → Udxe63DQ.chunk.js} +2 -2
  56. package/dist/scripts/{CLXgS35R.chunk.js.map → Udxe63DQ.chunk.js.map} +1 -1
  57. package/dist/scripts/{app-eLOi12JS.js → app-BigOHyYp.js} +3 -3
  58. package/dist/scripts/{app-eLOi12JS.js.map → app-BigOHyYp.js.map} +1 -1
  59. package/dist/scripts/{BA2M0rUU.chunk.js → c7dUmf3R.chunk.js} +2 -2
  60. package/dist/scripts/{BA2M0rUU.chunk.js.map → c7dUmf3R.chunk.js.map} +1 -1
  61. package/dist/scripts/{Cu7qiGbY2.chunk.js → ktNy7dHM2.chunk.js} +2 -2
  62. package/dist/scripts/{Cu7qiGbY2.chunk.js.map → ktNy7dHM2.chunk.js.map} +1 -1
  63. package/dist/scripts/{BVgv-v1c.chunk.js → n2iCrpxU.chunk.js} +2 -2
  64. package/dist/scripts/{BVgv-v1c.chunk.js.map → n2iCrpxU.chunk.js.map} +1 -1
  65. package/dist/scripts/{BtwiC__j2.chunk.js → r-dVoZ7W2.chunk.js} +2 -2
  66. package/dist/scripts/{BtwiC__j2.chunk.js.map → r-dVoZ7W2.chunk.js.map} +1 -1
  67. package/package.json +1 -1
  68. package/dist/scripts/DcQNbWG1.chunk.js +0 -1
  69. package/dist/scripts/DxPCyajz.chunk.js +0 -1
@@ -1,2 +1,2 @@
1
- import{Jn as e,P as t,st as n}from"./CM0wW4AE.chunk.js";import{v as r}from"./B01-hGyk.chunk.js";import{d as i,n as a}from"./dUFTODMz.chunk.js";import{t as o}from"./NaTUzw6f.chunk.js";import{n as s}from"./CNQKHXPY.chunk.js";import{t as c}from"./DHk1ZJ0C.chunk.js";import{r as l}from"./app-eLOi12JS.js";import{a as u,n as d,t as f}from"./BtwiC__j2.chunk.js";import{t as p}from"./B-Cpv5JW2.chunk.js";var m=function(e){return e[e.RootTopic=1]=`RootTopic`,e[e.ChildTopic=2]=`ChildTopic`,e}({});function h(e,t,n){return{...e,topicAnalyticsType:t,query:`cover`,limit:n}}var g={topTopics(e,t,n,r,i){return{url:s.urlBuilder(`{gateway}/v1/analytics/topics/top`,h(e,t)),key:p(`top:topics:${t}`,e),success:n,error:r,always:i}},topTopicsV2(e,t,n,r,i,a){return{url:s.urlBuilder(`{gateway}/v2/analytics/streams/topics/top`,h(e,t,n)),key:p(`top:topics:${t}:v2:${n}`,e),formatData:e=>(Array.isArray(e)?e:[e]).map(e=>({collectionId:e.topicId,count:e.combinedCount,collection:e.topic})),success:r,error:i,always:a}},viewsByTopic(e,t,n,r,i){return{url:s.urlBuilder(`{gateway}/v1/analytics/topics/count`,h(e,t)),key:p(`views:topics:${t}`,e),normalize:!1,success:n,error:r,always:i}}},_={cover:`_cover_ggfj4_1`,fallbackImage:`_fallbackImage_ggfj4_5`},v=e(n()),y=t();function b(e){return(0,y.jsxs)(`div`,{className:`d-flex position-relative mb-3`,children:[(0,y.jsx)(`div`,{className:`${_.fallbackImage} me-2`,children:(0,y.jsx)(f,{type:d.Subject,extraClasses:`border rounded`})}),(0,y.jsx)(`div`,{className:`w-100`,children:(0,y.jsx)(`div`,{className:`partial-loading-background ${e.className}`,children:`\xA0`})})]})}function x(){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`div`,{className:`partial-loading-background w-25 mb-3`,children:`\xA0`}),(0,y.jsx)(b,{className:`w-25`}),(0,y.jsx)(b,{className:`w-50`}),(0,y.jsx)(b,{className:`w-33`}),(0,y.jsx)(b,{className:`w-25`})]})}var S=o(),C=`reportsShared.topClassificationsCard`;function w(e){let[t,n]=v.useState(!1);return(0,y.jsxs)(`div`,{className:`d-flex position-relative`,children:[!t&&(0,y.jsx)(f,{type:d.Subject,extraClasses:`${_.fallbackImage} border rounded`}),(0,y.jsx)(`div`,{className:`${_.cover} flex-shrink-0 me-2 rounded overflow-hidden`,children:(0,y.jsx)(u,{data:e.topClassification.collection.cover,imageOptions:{size:c.Medium},onLoad:()=>n(!0)})}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`h3`,{className:`h6 mb-0 clamp-2 mt-1`,children:e.topClassification.collection.name}),(0,y.jsx)(`p`,{children:(0,y.jsx)(a,{namespace:C,phrase:`views`,options:{smartCount:e.topClassification.count}})})]})]})}function T(e){let t=l(`video-views`),n=i(!!t&&g.topTopicsV2(t,e.type,e.limit)),a=n.data?.sort((e,t)=>t.count-e.count);return(0,y.jsx)(`div`,{className:`d-flex flex-column h-100 bg-white overflow-hidden rounded pt-3 px-3`,children:n.data?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(`div`,{className:`d-flex justify-content-between`,children:[(0,y.jsx)(`h2`,{className:`h6 mb-3`,children:e.heading}),e.appLink&&e.appLinkText&&(0,y.jsx)(r,{appLink:e.appLink,className:`text-info`,children:e.appLinkText})]}),n.data.length?(0,y.jsx)(S.Scrollbars,{className:`pb-3`,children:(0,y.jsx)(`ul`,{className:`list-unstyled m-0 pe-3`,children:a.map((e,t)=>(0,y.jsx)(`li`,{className:`pb-3`,children:(0,y.jsx)(w,{topClassification:e})},t))})}):(0,y.jsx)(`div`,{className:`d-flex align-items-center justify-content-center h-100`,children:e.emptyStateText})]}):(0,y.jsx)(x,{})})}export{m as n,T as t};
2
- //# sourceMappingURL=P2dNpLmC2.chunk.js.map
1
+ import{Jn as e,P as t,st as n}from"./CM0wW4AE.chunk.js";import{v as r}from"./B01-hGyk.chunk.js";import{d as i,n as a}from"./dUFTODMz.chunk.js";import{t as o}from"./NaTUzw6f.chunk.js";import{n as s}from"./CNQKHXPY.chunk.js";import{t as c}from"./DHk1ZJ0C.chunk.js";import{r as l}from"./app-BigOHyYp.js";import{a as u,n as d,t as f}from"./r-dVoZ7W2.chunk.js";import{t as p}from"./DgPadkLi2.chunk.js";var m=function(e){return e[e.RootTopic=1]=`RootTopic`,e[e.ChildTopic=2]=`ChildTopic`,e}({});function h(e,t,n){return{...e,topicAnalyticsType:t,query:`cover`,limit:n}}var g={topTopics(e,t,n,r,i){return{url:s.urlBuilder(`{gateway}/v1/analytics/topics/top`,h(e,t)),key:p(`top:topics:${t}`,e),success:n,error:r,always:i}},topTopicsV2(e,t,n,r,i,a){return{url:s.urlBuilder(`{gateway}/v2/analytics/streams/topics/top`,h(e,t,n)),key:p(`top:topics:${t}:v2:${n}`,e),formatData:e=>(Array.isArray(e)?e:[e]).map(e=>({collectionId:e.topicId,count:e.combinedCount,collection:e.topic})),success:r,error:i,always:a}},viewsByTopic(e,t,n,r,i){return{url:s.urlBuilder(`{gateway}/v1/analytics/topics/count`,h(e,t)),key:p(`views:topics:${t}`,e),normalize:!1,success:n,error:r,always:i}}},_={cover:`_cover_ggfj4_1`,fallbackImage:`_fallbackImage_ggfj4_5`},v=e(n()),y=t();function b(e){return(0,y.jsxs)(`div`,{className:`d-flex position-relative mb-3`,children:[(0,y.jsx)(`div`,{className:`${_.fallbackImage} me-2`,children:(0,y.jsx)(f,{type:d.Subject,extraClasses:`border rounded`})}),(0,y.jsx)(`div`,{className:`w-100`,children:(0,y.jsx)(`div`,{className:`partial-loading-background ${e.className}`,children:`\xA0`})})]})}function x(){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`div`,{className:`partial-loading-background w-25 mb-3`,children:`\xA0`}),(0,y.jsx)(b,{className:`w-25`}),(0,y.jsx)(b,{className:`w-50`}),(0,y.jsx)(b,{className:`w-33`}),(0,y.jsx)(b,{className:`w-25`})]})}var S=o(),C=`reportsShared.topClassificationsCard`;function w(e){let[t,n]=v.useState(!1);return(0,y.jsxs)(`div`,{className:`d-flex position-relative`,children:[!t&&(0,y.jsx)(f,{type:d.Subject,extraClasses:`${_.fallbackImage} border rounded`}),(0,y.jsx)(`div`,{className:`${_.cover} flex-shrink-0 me-2 rounded overflow-hidden`,children:(0,y.jsx)(u,{data:e.topClassification.collection.cover,imageOptions:{size:c.Medium},onLoad:()=>n(!0)})}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`h3`,{className:`h6 mb-0 clamp-2 mt-1`,children:e.topClassification.collection.name}),(0,y.jsx)(`p`,{children:(0,y.jsx)(a,{namespace:C,phrase:`views`,options:{smartCount:e.topClassification.count}})})]})]})}function T(e){let t=l(`video-views`),n=i(!!t&&g.topTopicsV2(t,e.type,e.limit)),a=n.data?.sort((e,t)=>t.count-e.count);return(0,y.jsx)(`div`,{className:`d-flex flex-column h-100 bg-white overflow-hidden rounded pt-3 px-3`,children:n.data?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(`div`,{className:`d-flex justify-content-between`,children:[(0,y.jsx)(`h2`,{className:`h6 mb-3`,children:e.heading}),e.appLink&&e.appLinkText&&(0,y.jsx)(r,{appLink:e.appLink,className:`text-info`,children:e.appLinkText})]}),n.data.length?(0,y.jsx)(S.Scrollbars,{className:`pb-3`,children:(0,y.jsx)(`ul`,{className:`list-unstyled m-0 pe-3`,children:a.map((e,t)=>(0,y.jsx)(`li`,{className:`pb-3`,children:(0,y.jsx)(w,{topClassification:e})},t))})}):(0,y.jsx)(`div`,{className:`d-flex align-items-center justify-content-center h-100`,children:e.emptyStateText})]}):(0,y.jsx)(x,{})})}export{m as n,T as t};
2
+ //# sourceMappingURL=CowZxgkl2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"P2dNpLmC2.chunk.js","names":[],"sources":["../../src/shared/enums/TopicAnalyticsType.ts","../../src/shared/flight-requests/TopicRequests.ts","../../src/shared/views/overview-cards/top-classifications-card/top-classification-card.module.scss","../../src/shared/views/overview-cards/top-classifications-card/partial-loading/PartialTopClassificationsCard.tsx","../../src/shared/views/overview-cards/top-classifications-card/TopClassificationsCardView.tsx"],"sourcesContent":["export enum TopicAnalyticsType {\n RootTopic = 1,\n ChildTopic = 2\n}\n","import { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsRequestFilter, Classification } from 'libs/shared/interfaces';\nimport { getAnalyticsRequestKey } from 'libs/shared/utils/AnalyticsRequestUtils';\n\nimport { TopicAnalyticsType } from 'shared/enums/TopicAnalyticsType';\n\nfunction getTopicRequestParams(\n filter: AnalyticsRequestFilter,\n topicAnalyticsType: TopicAnalyticsType,\n limit?: number\n): HashObject {\n return {\n ...filter,\n topicAnalyticsType,\n query: 'cover',\n limit\n };\n}\n\nexport const TopicRequests = {\n topTopics(\n filter: AnalyticsRequestFilter,\n topicAnalyticsType: TopicAnalyticsType,\n success?: (data: Classification[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(\n '{gateway}/v1/analytics/topics/top',\n getTopicRequestParams(filter, topicAnalyticsType)\n ),\n key: getAnalyticsRequestKey(`top:topics:${topicAnalyticsType}`, filter),\n success,\n error,\n always\n };\n },\n\n topTopicsV2(\n filter: AnalyticsRequestFilter,\n topicAnalyticsType: TopicAnalyticsType,\n limit: number,\n success?: (data: Classification[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(\n '{gateway}/v2/analytics/streams/topics/top',\n getTopicRequestParams(filter, topicAnalyticsType, limit)\n ),\n key: getAnalyticsRequestKey(`top:topics:${topicAnalyticsType}:v2:${limit}`, filter),\n formatData: data => {\n const items = Array.isArray(data) ? data : [data];\n\n return items.map(item => ({\n collectionId: item.topicId,\n count: item.combinedCount,\n collection: item.topic\n }));\n },\n success,\n error,\n always\n };\n },\n\n viewsByTopic(\n filter: AnalyticsRequestFilter,\n topicAnalyticsType: TopicAnalyticsType,\n success?: (data: Classification[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(\n '{gateway}/v1/analytics/topics/count',\n getTopicRequestParams(filter, topicAnalyticsType)\n ),\n key: getAnalyticsRequestKey(`views:topics:${topicAnalyticsType}`, filter),\n normalize: false,\n success,\n error,\n always\n };\n }\n};\n",":local {\n .cover {\n height: 5rem;\n width: 5rem;\n }\n\n .fallbackImage {\n height: 5rem;\n min-width: 5rem;\n border: none;\n }\n}","import React from 'react';\n\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\n\nimport styles from '../top-classification-card.module.scss';\n\ninterface PartialClassificationItemProps {\n className?: string;\n}\n\nfunction PartialClassificationItem(props: PartialClassificationItemProps) {\n return (\n <div className='d-flex position-relative mb-3'>\n <div className={`${styles.fallbackImage} me-2`}>\n <ImageFallback\n type={ImageFallbackType.Subject}\n extraClasses='border rounded'\n />\n </div>\n\n <div className='w-100'>\n <div className={`partial-loading-background ${props.className}`}>&nbsp;</div>\n </div>\n </div>\n );\n}\n\nexport function PartialTopClassificationsCard() {\n return (\n <>\n <div className='partial-loading-background w-25 mb-3'>&nbsp;</div>\n\n <PartialClassificationItem className='w-25' />\n <PartialClassificationItem className='w-50' />\n <PartialClassificationItem className='w-33'/>\n <PartialClassificationItem className='w-25'/>\n </>\n );\n}\n","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Classification } from 'libs/shared/interfaces';\n\nimport { TopicAnalyticsType } from 'shared/enums/TopicAnalyticsType';\nimport { TopicRequests } from 'shared/flight-requests/TopicRequests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { CollectionViewEvent } from 'shared/interfaces';\nimport { PartialTopClassificationsCard } from 'shared/views/overview-cards/top-classifications-card/partial-loading/PartialTopClassificationsCard';\n\nimport styles from './top-classification-card.module.scss';\n\nconst namespace = 'reportsShared.topClassificationsCard';\n\ninterface ClassificationListItemProps {\n topClassification: CollectionViewEvent<Classification>;\n}\n\nfunction ClassificationListItem(props: ClassificationListItemProps) {\n const [ hasLoadedImage, setHasLoadedImage ] = React.useState(false);\n\n return (\n <div className='d-flex position-relative'>\n {!hasLoadedImage && (\n <ImageFallback\n type={ImageFallbackType.Subject}\n extraClasses={`${styles.fallbackImage} border rounded`}\n />\n )}\n <div className={`${styles.cover} flex-shrink-0 me-2 rounded overflow-hidden`}>\n <BaseImage\n data={props.topClassification.collection.cover}\n imageOptions={{ size: ImageSize.Medium }}\n onLoad={() => setHasLoadedImage(true)}\n />\n </div>\n <div>\n <h3 className='h6 mb-0 clamp-2 mt-1'>\n {props.topClassification.collection.name}\n </h3>\n <p><Text namespace={namespace} phrase='views' options={{ smartCount: props.topClassification.count }} /></p>\n </div>\n </div>\n );\n}\n\ninterface TopClassificationsCardProps {\n heading: string;\n type: TopicAnalyticsType;\n appLink?: Core.AppLink;\n appLinkText?: string;\n emptyStateText: string;\n limit: number;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function TopClassificationsCardView(props: TopClassificationsCardProps) {\n const requestFilter = useGetRequestFilter('video-views');\n \n const topClassifications = Flight.useBasicFetch<CollectionViewEvent<Classification>[]>(!!requestFilter &&\n TopicRequests.topTopicsV2(requestFilter, props.type, props.limit));\n\n const sortedTopClassifications = topClassifications.data?.sort((a, b) => b.count - a.count);\n\n return (\n <div className='d-flex flex-column h-100 bg-white overflow-hidden rounded pt-3 px-3'>\n {topClassifications.data ?\n <>\n <div className='d-flex justify-content-between'>\n <h2 className='h6 mb-3'>{props.heading}</h2>\n\n {props.appLink && props.appLinkText &&\n <AppLink\n appLink={props.appLink}\n className='text-info'\n >\n {props.appLinkText}\n </AppLink>\n }\n </div>\n {topClassifications.data.length ?\n <Scrollbars className='pb-3'>\n <ul className='list-unstyled m-0 pe-3'>\n {sortedTopClassifications.map((t, idx) => (\n <li key={idx} className='pb-3'>\n <ClassificationListItem topClassification={t} />\n </li>\n ))}\n </ul>\n </Scrollbars> :\n <div className='d-flex align-items-center justify-content-center h-100'>{props.emptyStateText}</div>\n }\n </> : <PartialTopClassificationsCard />\n }\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CowZxgkl2.chunk.js","names":[],"sources":["../../src/shared/enums/TopicAnalyticsType.ts","../../src/shared/flight-requests/TopicRequests.ts","../../src/shared/views/overview-cards/top-classifications-card/top-classification-card.module.scss","../../src/shared/views/overview-cards/top-classifications-card/partial-loading/PartialTopClassificationsCard.tsx","../../src/shared/views/overview-cards/top-classifications-card/TopClassificationsCardView.tsx"],"sourcesContent":["export enum TopicAnalyticsType {\n RootTopic = 1,\n ChildTopic = 2\n}\n","import { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsRequestFilter, Classification } from 'libs/shared/interfaces';\nimport { getAnalyticsRequestKey } from 'libs/shared/utils/AnalyticsRequestUtils';\n\nimport { TopicAnalyticsType } from 'shared/enums/TopicAnalyticsType';\n\nfunction getTopicRequestParams(\n filter: AnalyticsRequestFilter,\n topicAnalyticsType: TopicAnalyticsType,\n limit?: number\n): HashObject {\n return {\n ...filter,\n topicAnalyticsType,\n query: 'cover',\n limit\n };\n}\n\nexport const TopicRequests = {\n topTopics(\n filter: AnalyticsRequestFilter,\n topicAnalyticsType: TopicAnalyticsType,\n success?: (data: Classification[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(\n '{gateway}/v1/analytics/topics/top',\n getTopicRequestParams(filter, topicAnalyticsType)\n ),\n key: getAnalyticsRequestKey(`top:topics:${topicAnalyticsType}`, filter),\n success,\n error,\n always\n };\n },\n\n topTopicsV2(\n filter: AnalyticsRequestFilter,\n topicAnalyticsType: TopicAnalyticsType,\n limit: number,\n success?: (data: Classification[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(\n '{gateway}/v2/analytics/streams/topics/top',\n getTopicRequestParams(filter, topicAnalyticsType, limit)\n ),\n key: getAnalyticsRequestKey(`top:topics:${topicAnalyticsType}:v2:${limit}`, filter),\n formatData: data => {\n const items = Array.isArray(data) ? data : [data];\n\n return items.map(item => ({\n collectionId: item.topicId,\n count: item.combinedCount,\n collection: item.topic\n }));\n },\n success,\n error,\n always\n };\n },\n\n viewsByTopic(\n filter: AnalyticsRequestFilter,\n topicAnalyticsType: TopicAnalyticsType,\n success?: (data: Classification[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(\n '{gateway}/v1/analytics/topics/count',\n getTopicRequestParams(filter, topicAnalyticsType)\n ),\n key: getAnalyticsRequestKey(`views:topics:${topicAnalyticsType}`, filter),\n normalize: false,\n success,\n error,\n always\n };\n }\n};\n",":local {\n .cover {\n height: 5rem;\n width: 5rem;\n }\n\n .fallbackImage {\n height: 5rem;\n min-width: 5rem;\n border: none;\n }\n}","import React from 'react';\n\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\n\nimport styles from '../top-classification-card.module.scss';\n\ninterface PartialClassificationItemProps {\n className?: string;\n}\n\nfunction PartialClassificationItem(props: PartialClassificationItemProps) {\n return (\n <div className='d-flex position-relative mb-3'>\n <div className={`${styles.fallbackImage} me-2`}>\n <ImageFallback\n type={ImageFallbackType.Subject}\n extraClasses='border rounded'\n />\n </div>\n\n <div className='w-100'>\n <div className={`partial-loading-background ${props.className}`}>&nbsp;</div>\n </div>\n </div>\n );\n}\n\nexport function PartialTopClassificationsCard() {\n return (\n <>\n <div className='partial-loading-background w-25 mb-3'>&nbsp;</div>\n\n <PartialClassificationItem className='w-25' />\n <PartialClassificationItem className='w-50' />\n <PartialClassificationItem className='w-33'/>\n <PartialClassificationItem className='w-25'/>\n </>\n );\n}\n","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Classification } from 'libs/shared/interfaces';\n\nimport { TopicAnalyticsType } from 'shared/enums/TopicAnalyticsType';\nimport { TopicRequests } from 'shared/flight-requests/TopicRequests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { CollectionViewEvent } from 'shared/interfaces';\nimport { PartialTopClassificationsCard } from 'shared/views/overview-cards/top-classifications-card/partial-loading/PartialTopClassificationsCard';\n\nimport styles from './top-classification-card.module.scss';\n\nconst namespace = 'reportsShared.topClassificationsCard';\n\ninterface ClassificationListItemProps {\n topClassification: CollectionViewEvent<Classification>;\n}\n\nfunction ClassificationListItem(props: ClassificationListItemProps) {\n const [ hasLoadedImage, setHasLoadedImage ] = React.useState(false);\n\n return (\n <div className='d-flex position-relative'>\n {!hasLoadedImage && (\n <ImageFallback\n type={ImageFallbackType.Subject}\n extraClasses={`${styles.fallbackImage} border rounded`}\n />\n )}\n <div className={`${styles.cover} flex-shrink-0 me-2 rounded overflow-hidden`}>\n <BaseImage\n data={props.topClassification.collection.cover}\n imageOptions={{ size: ImageSize.Medium }}\n onLoad={() => setHasLoadedImage(true)}\n />\n </div>\n <div>\n <h3 className='h6 mb-0 clamp-2 mt-1'>\n {props.topClassification.collection.name}\n </h3>\n <p><Text namespace={namespace} phrase='views' options={{ smartCount: props.topClassification.count }} /></p>\n </div>\n </div>\n );\n}\n\ninterface TopClassificationsCardProps {\n heading: string;\n type: TopicAnalyticsType;\n appLink?: Core.AppLink;\n appLinkText?: string;\n emptyStateText: string;\n limit: number;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function TopClassificationsCardView(props: TopClassificationsCardProps) {\n const requestFilter = useGetRequestFilter('video-views');\n \n const topClassifications = Flight.useBasicFetch<CollectionViewEvent<Classification>[]>(!!requestFilter &&\n TopicRequests.topTopicsV2(requestFilter, props.type, props.limit));\n\n const sortedTopClassifications = topClassifications.data?.sort((a, b) => b.count - a.count);\n\n return (\n <div className='d-flex flex-column h-100 bg-white overflow-hidden rounded pt-3 px-3'>\n {topClassifications.data ?\n <>\n <div className='d-flex justify-content-between'>\n <h2 className='h6 mb-3'>{props.heading}</h2>\n\n {props.appLink && props.appLinkText &&\n <AppLink\n appLink={props.appLink}\n className='text-info'\n >\n {props.appLinkText}\n </AppLink>\n }\n </div>\n {topClassifications.data.length ?\n <Scrollbars className='pb-3'>\n <ul className='list-unstyled m-0 pe-3'>\n {sortedTopClassifications.map((t, idx) => (\n <li key={idx} className='pb-3'>\n <ClassificationListItem topClassification={t} />\n </li>\n ))}\n </ul>\n </Scrollbars> :\n <div className='d-flex align-items-center justify-content-center h-100'>{props.emptyStateText}</div>\n }\n </> : <PartialTopClassificationsCard />\n }\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{P as e,st as t}from"./CM0wW4AE.chunk.js";import{t as n}from"./C7xZhn-Q.chunk.js";import{t as r}from"./DIAxWspB.chunk.js";import{F as i}from"./app-eLOi12JS.js";t();var a={container:`_container_nowrk_1`,subContainer:`_subContainer_nowrk_7`},o=e();function s(e){return n({title:e.error?.heading}),e.error?(0,o.jsx)(`div`,{style:{height:`85vh`},children:(0,o.jsx)(`div`,{style:{backgroundImage:`url(${e.imageUrl})`},className:a.container,children:(0,o.jsxs)(r,{className:a.subContainer,children:[(0,o.jsx)(r.Heading,{children:e.error.heading}),(0,o.jsx)(r.Info,{className:`w-33 mb-4`,children:e.error.description}),e.error.cta!==!1&&(0,o.jsx)(r.Cta,{text:e.error.cta.text,className:`btn btn-dark ${e.error.description?`mt-n2`:``}`,href:e.error.cta.url,icon:i,openInNewTab:!0})]})})}):(0,o.jsx)(o.Fragment,{})}export{s as NoClassroomsErrorView};
2
- //# sourceMappingURL=BfahlE_H.chunk.js.map
1
+ import{P as e,st as t}from"./CM0wW4AE.chunk.js";import{t as n}from"./C7xZhn-Q.chunk.js";import{t as r}from"./DIAxWspB.chunk.js";import{F as i}from"./app-BigOHyYp.js";t();var a={container:`_container_nowrk_1`,subContainer:`_subContainer_nowrk_7`},o=e();function s(e){return n({title:e.error?.heading}),e.error?(0,o.jsx)(`div`,{style:{height:`85vh`},children:(0,o.jsx)(`div`,{style:{backgroundImage:`url(${e.imageUrl})`},className:a.container,children:(0,o.jsxs)(r,{className:a.subContainer,children:[(0,o.jsx)(r.Heading,{children:e.error.heading}),(0,o.jsx)(r.Info,{className:`w-33 mb-4`,children:e.error.description}),e.error.cta!==!1&&(0,o.jsx)(r.Cta,{text:e.error.cta.text,className:`btn btn-dark ${e.error.description?`mt-n2`:``}`,href:e.error.cta.url,icon:i,openInNewTab:!0})]})})}):(0,o.jsx)(o.Fragment,{})}export{s as NoClassroomsErrorView};
2
+ //# sourceMappingURL=Cpm-LpwK.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BfahlE_H.chunk.js","names":[],"sources":["../../src/apps/default/views/no-classrooms-error/no-classrooms-error.module.scss","../../src/apps/default/views/no-classrooms-error/NoClassroomsErrorView.tsx"],"sourcesContent":[":local {\n .container {\n height: 100%;\n background-size: 100%;\n background-repeat: no-repeat;\n position: relative;\n }\n \n .subContainer {\n position: absolute;\n top: 40%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n }\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\n\nimport styles from './no-classrooms-error.module.scss';\n\ninterface NoClassroomsErrorViewProps {\n error: ErrorPageError;\n imageUrl?: string;\n}\n\nexport function NoClassroomsErrorView(props: NoClassroomsErrorViewProps): React.ReactElement {\n useSetPageMetadata({ title: props.error?.heading });\n\n if (!props.error)\n return <></>;\n\n return (\n <div style={{ height: '85vh' }}>\n <div style={{ backgroundImage: `url(${props.imageUrl})` }} className={styles.container}>\n <EmptyState className={styles.subContainer}>\n <EmptyState.Heading>{props.error.heading}</EmptyState.Heading>\n\n <EmptyState.Info className='w-33 mb-4'>{props.error.description}</EmptyState.Info>\n\n {props.error.cta !== false &&\n <EmptyState.Cta\n text={props.error.cta.text}\n className={`btn btn-dark ${props.error.description ? 'mt-n2' : ''}`}\n href={props.error.cta.url}\n icon={NewWindowSvg}\n openInNewTab\n />\n }\n </EmptyState>\n </div>\n </div>\n );\n}\n"],"mappings":"4PCcA,SAAgB,EAAsB,EAAuD,CAM3F,OALA,EAAmB,CAAE,MAAO,EAAM,OAAO,QAAS,CAAC,CAE9C,EAAM,OAIT,EAAA,EAAA,KAAC,MAAD,CAAK,MAAO,CAAE,OAAQ,OAAQ,WAC5B,EAAA,EAAA,KAAC,MAAD,CAAK,MAAO,CAAE,gBAAiB,OAAO,EAAM,SAAS,GAAI,CAAE,UAAW,EAAO,oBAC3E,EAAA,EAAA,MAAC,EAAD,CAAY,UAAW,EAAO,sBAA9B,EACE,EAAA,EAAA,KAAC,EAAW,QAAZ,CAAA,SAAqB,EAAM,MAAM,QAA6B,CAAA,EAE9D,EAAA,EAAA,KAAC,EAAW,KAAZ,CAAiB,UAAU,qBAAa,EAAM,MAAM,YAA8B,CAAA,CAEjF,EAAM,MAAM,MAAQ,KACnB,EAAA,EAAA,KAAC,EAAW,IAAZ,CACE,KAAM,EAAM,MAAM,IAAI,KACtB,UAAW,gBAAgB,EAAM,MAAM,YAAc,QAAU,KAC/D,KAAM,EAAM,MAAM,IAAI,IACtB,KAAM,EACN,aAAA,GACA,CAAA,IAGF,CAAA,CACF,CAAA,EArBC,EAAA,EAAA,KAAA,EAAA,SAAA,EAAK,CAAA"}
1
+ {"version":3,"file":"Cpm-LpwK.chunk.js","names":[],"sources":["../../src/apps/default/views/no-classrooms-error/no-classrooms-error.module.scss","../../src/apps/default/views/no-classrooms-error/NoClassroomsErrorView.tsx"],"sourcesContent":[":local {\n .container {\n height: 100%;\n background-size: 100%;\n background-repeat: no-repeat;\n position: relative;\n }\n \n .subContainer {\n position: absolute;\n top: 40%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n }\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\n\nimport styles from './no-classrooms-error.module.scss';\n\ninterface NoClassroomsErrorViewProps {\n error: ErrorPageError;\n imageUrl?: string;\n}\n\nexport function NoClassroomsErrorView(props: NoClassroomsErrorViewProps): React.ReactElement {\n useSetPageMetadata({ title: props.error?.heading });\n\n if (!props.error)\n return <></>;\n\n return (\n <div style={{ height: '85vh' }}>\n <div style={{ backgroundImage: `url(${props.imageUrl})` }} className={styles.container}>\n <EmptyState className={styles.subContainer}>\n <EmptyState.Heading>{props.error.heading}</EmptyState.Heading>\n\n <EmptyState.Info className='w-33 mb-4'>{props.error.description}</EmptyState.Info>\n\n {props.error.cta !== false &&\n <EmptyState.Cta\n text={props.error.cta.text}\n className={`btn btn-dark ${props.error.description ? 'mt-n2' : ''}`}\n href={props.error.cta.url}\n icon={NewWindowSvg}\n openInNewTab\n />\n }\n </EmptyState>\n </div>\n </div>\n );\n}\n"],"mappings":"4PCcA,SAAgB,EAAsB,EAAuD,CAM3F,OALA,EAAmB,CAAE,MAAO,EAAM,OAAO,QAAS,CAAC,CAE9C,EAAM,OAIT,EAAA,EAAA,KAAC,MAAD,CAAK,MAAO,CAAE,OAAQ,OAAQ,WAC5B,EAAA,EAAA,KAAC,MAAD,CAAK,MAAO,CAAE,gBAAiB,OAAO,EAAM,SAAS,GAAI,CAAE,UAAW,EAAO,oBAC3E,EAAA,EAAA,MAAC,EAAD,CAAY,UAAW,EAAO,sBAA9B,EACE,EAAA,EAAA,KAAC,EAAW,QAAZ,CAAA,SAAqB,EAAM,MAAM,QAA6B,CAAA,EAE9D,EAAA,EAAA,KAAC,EAAW,KAAZ,CAAiB,UAAU,qBAAa,EAAM,MAAM,YAA8B,CAAA,CAEjF,EAAM,MAAM,MAAQ,KACnB,EAAA,EAAA,KAAC,EAAW,IAAZ,CACE,KAAM,EAAM,MAAM,IAAI,KACtB,UAAW,gBAAgB,EAAM,MAAM,YAAc,QAAU,KAC/D,KAAM,EAAM,MAAM,IAAI,IACtB,KAAM,EACN,aAAA,GACA,CAAA,IAGF,CAAA,CACF,CAAA,EArBC,EAAA,EAAA,KAAA,EAAA,SAAA,EAAK,CAAA"}
@@ -1,2 +1,2 @@
1
- import{P as e,Zt as t,st as n}from"./CM0wW4AE.chunk.js";import{i as r}from"./S6AM6CLE.chunk.js";import{b as i,d as a,n as o,p as s,t as c}from"./dUFTODMz.chunk.js";import{t as l}from"./CjM_tQvd.chunk.js";import{n as u}from"./CNQKHXPY.chunk.js";import{t as d}from"./I5Dnl_eN.chunk.js";import{t as f}from"./CO7H3BC5.chunk.js";import{t as p}from"./DGCz68te.chunk.js";import{t as m}from"./CnyxksnC.chunk.js";import{t as h}from"./dSmIXyxJ.chunk.js";import{at as g,r as _,tt as v}from"./app-eLOi12JS.js";import{t as y}from"./C1BFkCSD2.chunk.js";var b=`shared.verifiedEmailError`,x=class extends p{constructor(e,t,n){super(`VerifiedEmailRequiredError`),this.message=e,this.liteUrl=t,this.hasLite=n}get name(){return`VerifiedEmailRequiredError`}get dialogOptions(){let e=u.safeUrlConcat(this.liteUrl,`settings/account`);return{title:d.getPhrase(b,`heading`),text:this.hasLite?`${this.message} ${d.getPhrase(b,`visitSettings`,{href:e})}`:this.message,buttons:[{text:d.getPhrase(b,`close`),className:`btn btn-dark`,success:!0}]}}},S=()=>{let e=a(a(r.currentUser()).data?.isAuthenticated&&v.userProducts()),t=!e.hasCompleted;return{hasProduct:n=>t||e.hasError||!e.data?.length?!1:e.data.some(e=>e.id===n),products:e,isLoadingProducts:t}};function C(){let e=y(),{hasProduct:n,isLoadingProducts:r}=S(),i=a(g.config());function o(r,a,o){if(!r.responseJSON||r.responseJSON?.type!==`no-email`){e.error(a);return}t.throw(new x(o,i.data.liteUrl,n(f.Primary)))}return{handleGenerateReportError:o,loading:!i.hasCompleted||r}}function w(e){return{dateRange:{start:e.start,end:e.end},offsetInMin:Math.abs(new Date().getTimezoneOffset())}}var T={videoViewsReport(e,t){return{url:`{gateway}/v1/analytics/video-views/reports`,key:`video:views:report`,type:i.POST,data:{...w(e),version:t},invalidationKeys:`export`,normalize:!1}},loginsReport(e,t,n,r){return{url:`{gateway}/v1/analytics/logins/reports`,key:`logins:report`,data:w(e),type:i.POST,normalize:!1,success:t,error:n,always:r}}};n();var E=e(),D=`reportsShared.generateReport`,O=d.encloseNamespace(D);function k(e){switch(e){case j.Logins:return`loginsDescription`;case j.VideoViews:return`videosDescription`;default:return``}}function A(e){let t=l.convertUTCToLocal(e).toString();return l.format(t,`Do MMMM YYYY`)}var j=function(e){return e[e.Logins=0]=`Logins`,e[e.VideoViews=1]=`VideoViews`,e}({});function M(e){let t=_(`video-views`),n=_(`logins`),r=e.type===j.VideoViews?t:n,i=y(),{loading:a,handleGenerateReportError:l}=C(),u=s();function d(){switch(e.type){case j.Logins:return T.loginsReport(n);case j.VideoViews:return T.videoViewsReport(t,`v3`);default:return null}}function f(){u(d()).then(()=>i.success(O(`success`))).catch(e=>l(e,O(`error`),O(`noEmailError`))).finally(e.closePopup)}return(0,E.jsx)(c.Provider,{value:D,children:(0,E.jsxs)(m,{title:O(`title`),showLoadingSpinner:a,closePopup:e.closePopup,children:[(0,E.jsx)(`p`,{children:(0,E.jsx)(o,{phrase:k(e.type)})}),(0,E.jsx)(`p`,{children:(0,E.jsx)(o,{phrase:`dateRange`,options:{dateFrom:A(r.start),dateTo:A(r.end)}})}),(0,E.jsx)(`p`,{children:(0,E.jsx)(o,{phrase:`emailDescription`})}),(0,E.jsxs)(h,{children:[(0,E.jsx)(h.Cancel,{onClick:e.closePopup}),(0,E.jsx)(h.Submit,{variant:`dark`,onClick:f,text:O(`generateReport`)})]})]})})}export{M as n,A as r,j as t};
2
- //# sourceMappingURL=C7odFv7G.chunk.js.map
1
+ import{P as e,Zt as t,st as n}from"./CM0wW4AE.chunk.js";import{i as r}from"./S6AM6CLE.chunk.js";import{b as i,d as a,n as o,p as s,t as c}from"./dUFTODMz.chunk.js";import{t as l}from"./CjM_tQvd.chunk.js";import{n as u}from"./CNQKHXPY.chunk.js";import{t as d}from"./I5Dnl_eN.chunk.js";import{t as f}from"./CO7H3BC5.chunk.js";import{t as p}from"./DGCz68te.chunk.js";import{t as m}from"./CnyxksnC.chunk.js";import{t as h}from"./dSmIXyxJ.chunk.js";import{at as g,r as _,tt as v}from"./app-BigOHyYp.js";import{t as y}from"./C1BFkCSD2.chunk.js";var b=`shared.verifiedEmailError`,x=class extends p{constructor(e,t,n){super(`VerifiedEmailRequiredError`),this.message=e,this.liteUrl=t,this.hasLite=n}get name(){return`VerifiedEmailRequiredError`}get dialogOptions(){let e=u.safeUrlConcat(this.liteUrl,`settings/account`);return{title:d.getPhrase(b,`heading`),text:this.hasLite?`${this.message} ${d.getPhrase(b,`visitSettings`,{href:e})}`:this.message,buttons:[{text:d.getPhrase(b,`close`),className:`btn btn-dark`,success:!0}]}}},S=()=>{let e=a(a(r.currentUser()).data?.isAuthenticated&&v.userProducts()),t=!e.hasCompleted;return{hasProduct:n=>t||e.hasError||!e.data?.length?!1:e.data.some(e=>e.id===n),products:e,isLoadingProducts:t}};function C(){let e=y(),{hasProduct:n,isLoadingProducts:r}=S(),i=a(g.config());function o(r,a,o){if(!r.responseJSON||r.responseJSON?.type!==`no-email`){e.error(a);return}t.throw(new x(o,i.data.liteUrl,n(f.Primary)))}return{handleGenerateReportError:o,loading:!i.hasCompleted||r}}function w(e){return{dateRange:{start:e.start,end:e.end},offsetInMin:Math.abs(new Date().getTimezoneOffset())}}var T={videoViewsReport(e,t){return{url:`{gateway}/v1/analytics/video-views/reports`,key:`video:views:report`,type:i.POST,data:{...w(e),version:t},invalidationKeys:`export`,normalize:!1}},loginsReport(e,t,n,r){return{url:`{gateway}/v1/analytics/logins/reports`,key:`logins:report`,data:w(e),type:i.POST,normalize:!1,success:t,error:n,always:r}}};n();var E=e(),D=`reportsShared.generateReport`,O=d.encloseNamespace(D);function k(e){switch(e){case j.Logins:return`loginsDescription`;case j.VideoViews:return`videosDescription`;default:return``}}function A(e){let t=l.convertUTCToLocal(e).toString();return l.format(t,`Do MMMM YYYY`)}var j=function(e){return e[e.Logins=0]=`Logins`,e[e.VideoViews=1]=`VideoViews`,e}({});function M(e){let t=_(`video-views`),n=_(`logins`),r=e.type===j.VideoViews?t:n,i=y(),{loading:a,handleGenerateReportError:l}=C(),u=s();function d(){switch(e.type){case j.Logins:return T.loginsReport(n);case j.VideoViews:return T.videoViewsReport(t,`v3`);default:return null}}function f(){u(d()).then(()=>i.success(O(`success`))).catch(e=>l(e,O(`error`),O(`noEmailError`))).finally(e.closePopup)}return(0,E.jsx)(c.Provider,{value:D,children:(0,E.jsxs)(m,{title:O(`title`),showLoadingSpinner:a,closePopup:e.closePopup,children:[(0,E.jsx)(`p`,{children:(0,E.jsx)(o,{phrase:k(e.type)})}),(0,E.jsx)(`p`,{children:(0,E.jsx)(o,{phrase:`dateRange`,options:{dateFrom:A(r.start),dateTo:A(r.end)}})}),(0,E.jsx)(`p`,{children:(0,E.jsx)(o,{phrase:`emailDescription`})}),(0,E.jsxs)(h,{children:[(0,E.jsx)(h.Cancel,{onClick:e.closePopup}),(0,E.jsx)(h.Submit,{variant:`dark`,onClick:f,text:O(`generateReport`)})]})]})})}export{M as n,A as r,j as t};
2
+ //# sourceMappingURL=CqCz1X85.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"C7odFv7G.chunk.js","names":[],"sources":["../../../../libs/shared/src/errors/general/verified-email/VerifiedEmailRequiredError.ts","../../../../libs/shared/src/hooks/UseProducts.ts","../../../../libs/shared/src/hooks/useVerifiedEmailRequiredErrorHandler.ts","../../src/shared/flight-requests/ReportRequests.ts","../../src/shared/views/generate-report/GenerateReportView.tsx"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\nimport { DialogOptions } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.verifiedEmailError';\n\nexport class VerifiedEmailRequiredError extends DialogError {\n public message: string;\n public liteUrl: string;\n public hasLite: boolean;\n\n constructor(message: string, liteUrl: string, hasLite: boolean) {\n super('VerifiedEmailRequiredError');\n\n this.message = message;\n this.liteUrl = liteUrl;\n this.hasLite = hasLite;\n }\n\n // @ts-ignore\n public get name(): string {\n return 'VerifiedEmailRequiredError';\n }\n\n // @ts-ignore\n public get dialogOptions(): DialogOptions {\n const href = UrlHelper.safeUrlConcat(this.liteUrl, 'settings/account');\n\n return {\n title: LanguageService.getPhrase(namespace, 'heading'),\n text: this.hasLite ?\n `${this.message} ${LanguageService.getPhrase(namespace, 'visitSettings', { href })}` :\n this.message,\n buttons: [{\n text: LanguageService.getPhrase(namespace, 'close'),\n className: 'btn btn-dark',\n success: true\n }]\n };\n }\n}\n","import { Flight } from 'libs/common/flight';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ProductRequests } from 'libs/shared/flight-requests/ProductRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Product } from 'libs/shared/interfaces';\n\nexport type HasProductFunc = (productId: ProductId) => boolean;\n\nexport interface UseProductsResponse {\n hasProduct: (product: ProductId) => boolean;\n products: Flight.Response<Product[]>;\n isLoadingProducts: boolean;\n}\n\nexport const useProducts = (): UseProductsResponse => {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const products = Flight.useBasicFetch<Product[]>(currentUser.data?.isAuthenticated && ProductRequests.userProducts());\n const isLoadingProducts = !products.hasCompleted;\n\n const hasProduct = (productId: ProductId) => {\n if (isLoadingProducts || products.hasError)\n return false;\n\n if (!products.data?.length)\n return false;\n\n return products.data.some(product => product.id === productId);\n };\n\n return {\n hasProduct,\n products,\n isLoadingProducts\n };\n};\n","import { Core } from 'libs/common/backbone/index';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { VerifiedEmailRequiredError } from 'libs/shared/errors/general/verified-email/VerifiedEmailRequiredError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { Config } from 'libs/shared/interfaces';\n\nexport function useVerifiedEmailRequiredErrorHandler() {\n const alerts = useAlerts();\n const { hasProduct, isLoadingProducts } = useProducts();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n function handleGenerateReportError(xhr: Xhr, message: string, noEmailError: string) {\n if (!xhr.responseJSON || xhr.responseJSON?.type !== 'no-email') {\n alerts.error(message);\n return;\n }\n\n Core.ErrorHelper.throw(\n new VerifiedEmailRequiredError(noEmailError, config.data.liteUrl, hasProduct(ProductId.Primary))\n );\n }\n\n return {\n handleGenerateReportError,\n loading: !config.hasCompleted || isLoadingProducts\n };\n}\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsRequestFilter } from 'libs/shared/interfaces';\n\ntype ReportVersion = 'v2' | 'v3';\n\ninterface DateRange {\n start: string;\n end: string;\n}\n\ninterface ReportRequestPayload {\n dateRange: DateRange;\n offsetInMin: number;\n userIds?: number[];\n groupsIds?: number[];\n}\n\nfunction formatReportRequest(filterParams: AnalyticsRequestFilter): ReportRequestPayload {\n return {\n dateRange: {\n start: filterParams.start,\n end: filterParams.end\n },\n offsetInMin: Math.abs(new Date().getTimezoneOffset())\n };\n}\n\nexport const ReportRequests = {\n videoViewsReport(\n filterParams: AnalyticsRequestFilter,\n version: ReportVersion\n ): Flight.Request {\n return {\n url: '{gateway}/v1/analytics/video-views/reports',\n key: 'video:views:report',\n type: HttpVerbs.POST,\n data: { ...formatReportRequest(filterParams), version },\n invalidationKeys: 'export',\n normalize: false\n };\n },\n\n loginsReport(\n filterParams: AnalyticsRequestFilter,\n success?: () => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/analytics/logins/reports',\n key: 'logins:report',\n data: formatReportRequest(filterParams),\n type: HttpVerbs.POST,\n normalize: false,\n success,\n error,\n always\n };\n }\n};\n","import React from 'react';\n\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { PropsWithPopupViewProps } from 'libs/shared/interfaces';\n\nimport { ReportRequests } from 'shared/flight-requests/ReportRequests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\n\nconst namespace = 'reportsShared.generateReport';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getLangPhrase(type: GenerateReportType): string {\n switch (type) {\n case GenerateReportType.Logins:\n return 'loginsDescription';\n\n case GenerateReportType.VideoViews:\n return 'videosDescription';\n\n default:\n return '';\n }\n}\n\nexport function getReportFriendlyDate(date: string): string {\n const localDate = DateHelper.convertUTCToLocal(date).toString();\n return DateHelper.format(localDate, 'Do MMMM YYYY');\n}\n\nexport enum GenerateReportType {\n Logins,\n VideoViews\n}\n\ninterface GenerateReportViewProps {\n type: GenerateReportType;\n}\n\nexport function GenerateReportView(props: PropsWithPopupViewProps<GenerateReportViewProps>): JSX.Element {\n const videoViewsFilter = useGetRequestFilter('video-views');\n const loginsFilter = useGetRequestFilter('logins');\n const filterQueryParams = props.type === GenerateReportType.VideoViews ? videoViewsFilter : loginsFilter;\n const alerts = useAlerts();\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n function getRequest(): Flight.Request {\n switch (props.type) {\n case GenerateReportType.Logins:\n return ReportRequests.loginsReport(loginsFilter);\n\n case GenerateReportType.VideoViews:\n return ReportRequests.videoViewsReport(videoViewsFilter, 'v3');\n\n default:\n return null;\n }\n }\n\n function onClick() {\n fetchAsync(getRequest())\n .then(() => alerts.success(getPhrase('success')))\n .catch((xhr: Xhr) => handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError')))\n .finally(props.closePopup);\n }\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <Popup\n title={getPhrase('title')}\n showLoadingSpinner={loading}\n closePopup={props.closePopup}\n >\n <p>\n <Text phrase={getLangPhrase(props.type)} />\n </p>\n <p>\n <Text phrase='dateRange' options={({\n dateFrom: getReportFriendlyDate(filterQueryParams.start),\n dateTo: getReportFriendlyDate(filterQueryParams.end)\n })} />\n </p>\n <p>\n <Text phrase='emailDescription' />\n </p>\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n variant='dark'\n onClick={onClick}\n text={getPhrase('generateReport')}\n />\n </PopupButtons>\n </Popup>\n </LanguageNamespaceContext.Provider>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CqCz1X85.chunk.js","names":[],"sources":["../../../../libs/shared/src/errors/general/verified-email/VerifiedEmailRequiredError.ts","../../../../libs/shared/src/hooks/UseProducts.ts","../../../../libs/shared/src/hooks/useVerifiedEmailRequiredErrorHandler.ts","../../src/shared/flight-requests/ReportRequests.ts","../../src/shared/views/generate-report/GenerateReportView.tsx"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\nimport { DialogOptions } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.verifiedEmailError';\n\nexport class VerifiedEmailRequiredError extends DialogError {\n public message: string;\n public liteUrl: string;\n public hasLite: boolean;\n\n constructor(message: string, liteUrl: string, hasLite: boolean) {\n super('VerifiedEmailRequiredError');\n\n this.message = message;\n this.liteUrl = liteUrl;\n this.hasLite = hasLite;\n }\n\n // @ts-ignore\n public get name(): string {\n return 'VerifiedEmailRequiredError';\n }\n\n // @ts-ignore\n public get dialogOptions(): DialogOptions {\n const href = UrlHelper.safeUrlConcat(this.liteUrl, 'settings/account');\n\n return {\n title: LanguageService.getPhrase(namespace, 'heading'),\n text: this.hasLite ?\n `${this.message} ${LanguageService.getPhrase(namespace, 'visitSettings', { href })}` :\n this.message,\n buttons: [{\n text: LanguageService.getPhrase(namespace, 'close'),\n className: 'btn btn-dark',\n success: true\n }]\n };\n }\n}\n","import { Flight } from 'libs/common/flight';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ProductRequests } from 'libs/shared/flight-requests/ProductRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Product } from 'libs/shared/interfaces';\n\nexport type HasProductFunc = (productId: ProductId) => boolean;\n\nexport interface UseProductsResponse {\n hasProduct: (product: ProductId) => boolean;\n products: Flight.Response<Product[]>;\n isLoadingProducts: boolean;\n}\n\nexport const useProducts = (): UseProductsResponse => {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const products = Flight.useBasicFetch<Product[]>(currentUser.data?.isAuthenticated && ProductRequests.userProducts());\n const isLoadingProducts = !products.hasCompleted;\n\n const hasProduct = (productId: ProductId) => {\n if (isLoadingProducts || products.hasError)\n return false;\n\n if (!products.data?.length)\n return false;\n\n return products.data.some(product => product.id === productId);\n };\n\n return {\n hasProduct,\n products,\n isLoadingProducts\n };\n};\n","import { Core } from 'libs/common/backbone/index';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { VerifiedEmailRequiredError } from 'libs/shared/errors/general/verified-email/VerifiedEmailRequiredError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { Config } from 'libs/shared/interfaces';\n\nexport function useVerifiedEmailRequiredErrorHandler() {\n const alerts = useAlerts();\n const { hasProduct, isLoadingProducts } = useProducts();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n function handleGenerateReportError(xhr: Xhr, message: string, noEmailError: string) {\n if (!xhr.responseJSON || xhr.responseJSON?.type !== 'no-email') {\n alerts.error(message);\n return;\n }\n\n Core.ErrorHelper.throw(\n new VerifiedEmailRequiredError(noEmailError, config.data.liteUrl, hasProduct(ProductId.Primary))\n );\n }\n\n return {\n handleGenerateReportError,\n loading: !config.hasCompleted || isLoadingProducts\n };\n}\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsRequestFilter } from 'libs/shared/interfaces';\n\ntype ReportVersion = 'v2' | 'v3';\n\ninterface DateRange {\n start: string;\n end: string;\n}\n\ninterface ReportRequestPayload {\n dateRange: DateRange;\n offsetInMin: number;\n userIds?: number[];\n groupsIds?: number[];\n}\n\nfunction formatReportRequest(filterParams: AnalyticsRequestFilter): ReportRequestPayload {\n return {\n dateRange: {\n start: filterParams.start,\n end: filterParams.end\n },\n offsetInMin: Math.abs(new Date().getTimezoneOffset())\n };\n}\n\nexport const ReportRequests = {\n videoViewsReport(\n filterParams: AnalyticsRequestFilter,\n version: ReportVersion\n ): Flight.Request {\n return {\n url: '{gateway}/v1/analytics/video-views/reports',\n key: 'video:views:report',\n type: HttpVerbs.POST,\n data: { ...formatReportRequest(filterParams), version },\n invalidationKeys: 'export',\n normalize: false\n };\n },\n\n loginsReport(\n filterParams: AnalyticsRequestFilter,\n success?: () => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/analytics/logins/reports',\n key: 'logins:report',\n data: formatReportRequest(filterParams),\n type: HttpVerbs.POST,\n normalize: false,\n success,\n error,\n always\n };\n }\n};\n","import React from 'react';\n\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { PropsWithPopupViewProps } from 'libs/shared/interfaces';\n\nimport { ReportRequests } from 'shared/flight-requests/ReportRequests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\n\nconst namespace = 'reportsShared.generateReport';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getLangPhrase(type: GenerateReportType): string {\n switch (type) {\n case GenerateReportType.Logins:\n return 'loginsDescription';\n\n case GenerateReportType.VideoViews:\n return 'videosDescription';\n\n default:\n return '';\n }\n}\n\nexport function getReportFriendlyDate(date: string): string {\n const localDate = DateHelper.convertUTCToLocal(date).toString();\n return DateHelper.format(localDate, 'Do MMMM YYYY');\n}\n\nexport enum GenerateReportType {\n Logins,\n VideoViews\n}\n\ninterface GenerateReportViewProps {\n type: GenerateReportType;\n}\n\nexport function GenerateReportView(props: PropsWithPopupViewProps<GenerateReportViewProps>): JSX.Element {\n const videoViewsFilter = useGetRequestFilter('video-views');\n const loginsFilter = useGetRequestFilter('logins');\n const filterQueryParams = props.type === GenerateReportType.VideoViews ? videoViewsFilter : loginsFilter;\n const alerts = useAlerts();\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n function getRequest(): Flight.Request {\n switch (props.type) {\n case GenerateReportType.Logins:\n return ReportRequests.loginsReport(loginsFilter);\n\n case GenerateReportType.VideoViews:\n return ReportRequests.videoViewsReport(videoViewsFilter, 'v3');\n\n default:\n return null;\n }\n }\n\n function onClick() {\n fetchAsync(getRequest())\n .then(() => alerts.success(getPhrase('success')))\n .catch((xhr: Xhr) => handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError')))\n .finally(props.closePopup);\n }\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <Popup\n title={getPhrase('title')}\n showLoadingSpinner={loading}\n closePopup={props.closePopup}\n >\n <p>\n <Text phrase={getLangPhrase(props.type)} />\n </p>\n <p>\n <Text phrase='dateRange' options={({\n dateFrom: getReportFriendlyDate(filterQueryParams.start),\n dateTo: getReportFriendlyDate(filterQueryParams.end)\n })} />\n </p>\n <p>\n <Text phrase='emailDescription' />\n </p>\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n variant='dark'\n onClick={onClick}\n text={getPhrase('generateReport')}\n />\n </PopupButtons>\n </Popup>\n </LanguageNamespaceContext.Provider>\n );\n}\n"],"mappings":"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"}
@@ -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-eLOi12JS.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=adNSdUOa2.chunk.js.map
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-BigOHyYp.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=DMI-Lxl02.chunk.js.map