@clickview/lite 0.0.18-rc.2 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/11.chunk.css +14 -8
- package/dist/css/12.chunk.css +15 -5
- package/dist/css/13.chunk.css +5 -13
- package/dist/css/14.chunk.css +6 -6
- package/dist/css/15.chunk.css +15 -3
- package/dist/css/16.chunk.css +9 -3
- package/dist/css/17.chunk.css +4 -2
- package/dist/css/19.chunk.css +2 -6
- package/dist/css/2.chunk.css +0 -14
- package/dist/css/20.chunk.css +2 -2
- package/dist/css/21.chunk.css +7 -1
- package/dist/css/22.chunk.css +2 -2
- package/dist/css/23.chunk.css +2 -2
- package/dist/css/24.chunk.css +1 -1
- package/dist/css/25.chunk.css +2 -2
- package/dist/css/26.chunk.css +2 -2
- package/dist/css/27.chunk.css +1 -67
- package/dist/css/28.chunk.css +2 -48
- package/dist/css/29.chunk.css +2 -45
- package/dist/css/3.chunk.css +7 -13
- package/dist/css/31.chunk.css +1 -6
- package/dist/css/34.chunk.css +1 -5
- package/dist/css/38.chunk.css +2 -36
- package/dist/css/4.chunk.css +13 -5
- package/dist/css/44.chunk.css +1 -1
- package/dist/css/46.chunk.css +2 -0
- package/dist/css/5.chunk.css +8 -2
- package/dist/css/6.chunk.css +2 -0
- package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +1 -1
- package/dist/libs/shared/src/utils/ImageHelper.d.ts +1 -1
- package/dist/scripts/0-d95e8444c4.chunk.js +1 -0
- package/dist/scripts/{1-f6fa17226d.chunk.js → 1-2b6afccaa5.chunk.js} +3 -3
- package/dist/scripts/11-d419aa0984.chunk.js +1 -0
- package/dist/scripts/12-b38a27f951.chunk.js +1 -0
- package/dist/scripts/13-1ad100c6fa.chunk.js +1 -0
- package/dist/scripts/14-9f08e07fae.chunk.js +1 -0
- package/dist/scripts/15-ee9fb81b9f.chunk.js +1 -0
- package/dist/scripts/{14-11868e2868.chunk.js → 16-8fe78e04c2.chunk.js} +1 -1
- package/dist/scripts/17-ea7fe3ea28.chunk.js +1 -0
- package/dist/scripts/18-1bb07c0b9b.chunk.js +1 -0
- package/dist/scripts/19-c869d34687.chunk.js +1 -0
- package/dist/scripts/2-a816feb2a1.chunk.js +1 -0
- package/dist/scripts/20-43ec005977.chunk.js +1 -0
- package/dist/scripts/21-8513db8251.chunk.js +1 -0
- package/dist/scripts/22-d4adb2384c.chunk.js +1 -0
- package/dist/scripts/23-d8b5b9ad2c.chunk.js +1 -0
- package/dist/scripts/{21-891207049a.chunk.js → 24-f2913e26e2.chunk.js} +1 -1
- package/dist/scripts/25-68705527ea.chunk.js +1 -0
- package/dist/scripts/26-7d25448f1c.chunk.js +1 -0
- package/dist/scripts/27-bab6c9f5c7.chunk.js +1 -0
- package/dist/scripts/28-080baa3fbc.chunk.js +1 -0
- package/dist/scripts/29-5e9889b68a.chunk.js +1 -0
- package/dist/scripts/3-6e2ac46662.chunk.js +7 -0
- package/dist/scripts/{27-f26afdae78.chunk.js → 30-cdbeea4fc5.chunk.js} +1 -1
- package/dist/scripts/31-6fa4413cdb.chunk.js +1 -0
- package/dist/scripts/32-d4725d3b7d.chunk.js +1 -0
- package/dist/scripts/33-bec24aab85.chunk.js +1 -0
- package/dist/scripts/34-c42c6cf42a.chunk.js +1 -0
- package/dist/scripts/{33-4579af9cf9.chunk.js → 35-4512b236f2.chunk.js} +1 -1
- package/dist/scripts/{34-d8b96d9f9f.chunk.js → 36-eede7769b2.chunk.js} +1 -1
- package/dist/scripts/37-80ed339c4f.chunk.js +1 -0
- package/dist/scripts/{37-afd3d321e3.chunk.js → 38-c11d4c88e3.chunk.js} +1 -1
- package/dist/scripts/{38-6ad53aa15b.chunk.js → 39-d0e74fb062.chunk.js} +1 -1
- package/dist/scripts/4-ea79bf1533.chunk.js +1 -0
- package/dist/scripts/{39-46c747b1d9.chunk.js → 40-d764e6157b.chunk.js} +1 -1
- package/dist/scripts/{40-c1b8806b1c.chunk.js → 41-0aa7093354.chunk.js} +1 -1
- package/dist/scripts/42-3d8c5fa14c.chunk.js +1 -0
- package/dist/scripts/43-969806e81e.chunk.js +1 -0
- package/dist/scripts/44-e8e3fef4c3.chunk.js +1 -0
- package/dist/scripts/45-d8f70269d6.chunk.js +1 -0
- package/dist/scripts/{44-7f92272274.chunk.js → 46-946ae22c1f.chunk.js} +1 -1
- package/dist/scripts/47-1579412cd0.chunk.js +1 -0
- package/dist/scripts/48-fdf97c1c73.chunk.js +1 -0
- package/dist/scripts/49-970fc479c8.chunk.js +1 -0
- package/dist/scripts/5-d1bb14adf6.chunk.js +1 -0
- package/dist/scripts/50-1257ab0b95.chunk.js +1 -0
- package/dist/scripts/{50-8cb0d9cd7d.chunk.js → 51-ac615445f0.chunk.js} +1 -1
- package/dist/scripts/52-874629b81c.chunk.js +1 -0
- package/dist/scripts/{52-bfb2683b5d.chunk.js → 53-22e3d0793b.chunk.js} +1 -1
- package/dist/scripts/{53-3cf5cd5f69.chunk.js → 54-da1a07610c.chunk.js} +1 -1
- package/dist/scripts/{54-26807e3e49.chunk.js → 55-02647df65c.chunk.js} +1 -1
- package/dist/scripts/56-1b6e6349fa.chunk.js +1 -0
- package/dist/scripts/57-8fc09ba02c.chunk.js +1 -0
- package/dist/scripts/{56-d4abc25ec3.chunk.js → 58-8e5cc56c3f.chunk.js} +1 -1
- package/dist/scripts/6-0e53df2ece.chunk.js +1 -0
- package/dist/scripts/7-26822045b2.chunk.js +1 -0
- package/dist/scripts/8-7450eff674.chunk.js +1 -0
- package/dist/scripts/9-f24f1577dd.chunk.js +1 -0
- package/dist/scripts/bundle-5ecb0c9441.min.js +1 -0
- package/dist/scripts/bundle-c6241bd7ac.min.js +1 -0
- package/dist/scripts/bundles.json +1 -1
- package/package.json +3 -3
- package/dist/css/0.chunk.css.map +0 -1
- package/dist/css/1.chunk.css +0 -146
- package/dist/css/1.chunk.css.map +0 -1
- package/dist/css/10.chunk.css +0 -20
- package/dist/css/10.chunk.css.map +0 -1
- package/dist/css/11.chunk.css.map +0 -1
- package/dist/css/12.chunk.css.map +0 -1
- package/dist/css/13.chunk.css.map +0 -1
- package/dist/css/14.chunk.css.map +0 -1
- package/dist/css/16.chunk.css.map +0 -1
- package/dist/css/18.chunk.css.map +0 -1
- package/dist/css/19.chunk.css.map +0 -1
- package/dist/css/21.chunk.css.map +0 -1
- package/dist/css/22.chunk.css.map +0 -1
- package/dist/css/23.chunk.css.map +0 -1
- package/dist/css/24.chunk.css.map +0 -1
- package/dist/css/25.chunk.css.map +0 -1
- package/dist/css/26.chunk.css.map +0 -1
- package/dist/css/27.chunk.css.map +0 -1
- package/dist/css/28.chunk.css.map +0 -1
- package/dist/css/29.chunk.css.map +0 -1
- package/dist/css/3.chunk.css.map +0 -1
- package/dist/css/30.chunk.css.map +0 -1
- package/dist/css/31.chunk.css.map +0 -1
- package/dist/css/32.chunk.css +0 -5
- package/dist/css/32.chunk.css.map +0 -1
- package/dist/css/34.chunk.css.map +0 -1
- package/dist/css/35.chunk.css +0 -7
- package/dist/css/35.chunk.css.map +0 -1
- package/dist/css/36.chunk.css +0 -4
- package/dist/css/36.chunk.css.map +0 -1
- package/dist/css/37.chunk.css +0 -4
- package/dist/css/37.chunk.css.map +0 -1
- package/dist/css/38.chunk.css.map +0 -1
- package/dist/css/4.chunk.css.map +0 -1
- package/dist/css/45.chunk.css +0 -9
- package/dist/css/45.chunk.css.map +0 -1
- package/dist/css/5.chunk.css.map +0 -1
- package/dist/css/9.chunk.css +0 -24
- package/dist/css/lite-app.css.map +0 -1
- package/dist/scripts/0-525bd75473.chunk.js +0 -1
- package/dist/scripts/0.chunk.js +0 -478
- package/dist/scripts/0.chunk.js.map +0 -1
- package/dist/scripts/1.chunk.js +0 -621
- package/dist/scripts/1.chunk.js.map +0 -1
- package/dist/scripts/10-f3b34b2d35.chunk.js +0 -1
- package/dist/scripts/10.chunk.js +0 -400
- package/dist/scripts/10.chunk.js.map +0 -1
- package/dist/scripts/11-a698af3f1c.chunk.js +0 -1
- package/dist/scripts/11.chunk.js +0 -1289
- package/dist/scripts/11.chunk.js.map +0 -1
- package/dist/scripts/12-9ace90fcbc.chunk.js +0 -1
- package/dist/scripts/12.chunk.js +0 -1059
- package/dist/scripts/12.chunk.js.map +0 -1
- package/dist/scripts/13-3a4f103546.chunk.js +0 -1
- package/dist/scripts/13.chunk.js +0 -751
- package/dist/scripts/13.chunk.js.map +0 -1
- package/dist/scripts/14.chunk.js +0 -425
- package/dist/scripts/14.chunk.js.map +0 -1
- package/dist/scripts/15-78ff5e8be2.chunk.js +0 -1
- package/dist/scripts/15.chunk.js +0 -609
- package/dist/scripts/15.chunk.js.map +0 -1
- package/dist/scripts/16-22f6224811.chunk.js +0 -1
- package/dist/scripts/16.chunk.js +0 -648
- package/dist/scripts/16.chunk.js.map +0 -1
- package/dist/scripts/17-afe6281dd5.chunk.js +0 -1
- package/dist/scripts/17.chunk.js +0 -541
- package/dist/scripts/17.chunk.js.map +0 -1
- package/dist/scripts/18-47be31c0b6.chunk.js +0 -1
- package/dist/scripts/18.chunk.js +0 -766
- package/dist/scripts/18.chunk.js.map +0 -1
- package/dist/scripts/19-89c0b2c20e.chunk.js +0 -1
- package/dist/scripts/19.chunk.js +0 -647
- package/dist/scripts/19.chunk.js.map +0 -1
- package/dist/scripts/2-3b37480a80.chunk.js +0 -7
- package/dist/scripts/2.chunk.js +0 -8259
- package/dist/scripts/2.chunk.js.map +0 -1
- package/dist/scripts/20-32ac3fe0b9.chunk.js +0 -1
- package/dist/scripts/20.chunk.js +0 -122
- package/dist/scripts/20.chunk.js.map +0 -1
- package/dist/scripts/21.chunk.js +0 -1571
- package/dist/scripts/21.chunk.js.map +0 -1
- package/dist/scripts/22-24236e6723.chunk.js +0 -1
- package/dist/scripts/22.chunk.js +0 -1387
- package/dist/scripts/22.chunk.js.map +0 -1
- package/dist/scripts/23-7b425169bc.chunk.js +0 -1
- package/dist/scripts/23.chunk.js +0 -1121
- package/dist/scripts/23.chunk.js.map +0 -1
- package/dist/scripts/24-40edd30087.chunk.js +0 -1
- package/dist/scripts/24.chunk.js +0 -1348
- package/dist/scripts/24.chunk.js.map +0 -1
- package/dist/scripts/25-887b9ef587.chunk.js +0 -1
- package/dist/scripts/25.chunk.js +0 -1137
- package/dist/scripts/25.chunk.js.map +0 -1
- package/dist/scripts/26-cbe0ff0f77.chunk.js +0 -1
- package/dist/scripts/26.chunk.js +0 -906
- package/dist/scripts/26.chunk.js.map +0 -1
- package/dist/scripts/27.chunk.js +0 -1143
- package/dist/scripts/27.chunk.js.map +0 -1
- package/dist/scripts/28-70414fd373.chunk.js +0 -1
- package/dist/scripts/28.chunk.js +0 -656
- package/dist/scripts/28.chunk.js.map +0 -1
- package/dist/scripts/29-944b5c01a7.chunk.js +0 -1
- package/dist/scripts/29.chunk.js +0 -616
- package/dist/scripts/29.chunk.js.map +0 -1
- package/dist/scripts/3-233f573a92.chunk.js +0 -1
- package/dist/scripts/3.chunk.js +0 -585
- package/dist/scripts/3.chunk.js.map +0 -1
- package/dist/scripts/30-3a229887e9.chunk.js +0 -1
- package/dist/scripts/30.chunk.js +0 -557
- package/dist/scripts/30.chunk.js.map +0 -1
- package/dist/scripts/31-ab038bfc0c.chunk.js +0 -1
- package/dist/scripts/31.chunk.js +0 -731
- package/dist/scripts/31.chunk.js.map +0 -1
- package/dist/scripts/32-8bd6703eef.chunk.js +0 -1
- package/dist/scripts/32.chunk.js +0 -957
- package/dist/scripts/32.chunk.js.map +0 -1
- package/dist/scripts/33.chunk.js +0 -938
- package/dist/scripts/33.chunk.js.map +0 -1
- package/dist/scripts/34.chunk.js +0 -523
- package/dist/scripts/34.chunk.js.map +0 -1
- package/dist/scripts/35-666d815525.chunk.js +0 -1
- package/dist/scripts/35.chunk.js +0 -414
- package/dist/scripts/35.chunk.js.map +0 -1
- package/dist/scripts/36-02ce5f3538.chunk.js +0 -1
- package/dist/scripts/36.chunk.js +0 -404
- package/dist/scripts/36.chunk.js.map +0 -1
- package/dist/scripts/37.chunk.js +0 -245
- package/dist/scripts/37.chunk.js.map +0 -1
- package/dist/scripts/38.chunk.js +0 -343
- package/dist/scripts/38.chunk.js.map +0 -1
- package/dist/scripts/39.chunk.js +0 -318
- package/dist/scripts/39.chunk.js.map +0 -1
- package/dist/scripts/4-6942fee782.chunk.js +0 -1
- package/dist/scripts/4.chunk.js +0 -1030
- package/dist/scripts/4.chunk.js.map +0 -1
- package/dist/scripts/40.chunk.js +0 -236
- package/dist/scripts/40.chunk.js.map +0 -1
- package/dist/scripts/41-f4c23477e3.chunk.js +0 -1
- package/dist/scripts/41.chunk.js +0 -231
- package/dist/scripts/41.chunk.js.map +0 -1
- package/dist/scripts/42-7a5b92d70b.chunk.js +0 -1
- package/dist/scripts/42.chunk.js +0 -350
- package/dist/scripts/42.chunk.js.map +0 -1
- package/dist/scripts/43-97193a87df.chunk.js +0 -1
- package/dist/scripts/43.chunk.js +0 -225
- package/dist/scripts/43.chunk.js.map +0 -1
- package/dist/scripts/44.chunk.js +0 -318
- package/dist/scripts/44.chunk.js.map +0 -1
- package/dist/scripts/45-265f1a7a42.chunk.js +0 -1
- package/dist/scripts/45.chunk.js +0 -64
- package/dist/scripts/45.chunk.js.map +0 -1
- package/dist/scripts/46-a594ad7eba.chunk.js +0 -1
- package/dist/scripts/46.chunk.js +0 -108
- package/dist/scripts/46.chunk.js.map +0 -1
- package/dist/scripts/47-99777c20cf.chunk.js +0 -1
- package/dist/scripts/47.chunk.js +0 -110
- package/dist/scripts/47.chunk.js.map +0 -1
- package/dist/scripts/48-9880523c82.chunk.js +0 -1
- package/dist/scripts/48.chunk.js +0 -148
- package/dist/scripts/48.chunk.js.map +0 -1
- package/dist/scripts/49-5e718594e5.chunk.js +0 -1
- package/dist/scripts/49.chunk.js +0 -142
- package/dist/scripts/49.chunk.js.map +0 -1
- package/dist/scripts/5-2f631dcd74.chunk.js +0 -1
- package/dist/scripts/5.chunk.js +0 -3262
- package/dist/scripts/5.chunk.js.map +0 -1
- package/dist/scripts/50.chunk.js +0 -145
- package/dist/scripts/50.chunk.js.map +0 -1
- package/dist/scripts/51-211b643ca5.chunk.js +0 -1
- package/dist/scripts/51.chunk.js +0 -176
- package/dist/scripts/51.chunk.js.map +0 -1
- package/dist/scripts/52.chunk.js +0 -160
- package/dist/scripts/52.chunk.js.map +0 -1
- package/dist/scripts/53.chunk.js +0 -98
- package/dist/scripts/53.chunk.js.map +0 -1
- package/dist/scripts/54.chunk.js +0 -48
- package/dist/scripts/54.chunk.js.map +0 -1
- package/dist/scripts/55-d38be4860b.chunk.js +0 -1
- package/dist/scripts/55.chunk.js +0 -99
- package/dist/scripts/55.chunk.js.map +0 -1
- package/dist/scripts/56.chunk.js +0 -64
- package/dist/scripts/56.chunk.js.map +0 -1
- package/dist/scripts/57.chunk.js +0 -72
- package/dist/scripts/57.chunk.js.map +0 -1
- package/dist/scripts/58.chunk.js +0 -73
- package/dist/scripts/58.chunk.js.map +0 -1
- package/dist/scripts/59.chunk.js +0 -70
- package/dist/scripts/59.chunk.js.map +0 -1
- package/dist/scripts/6-4d72a3c3fc.chunk.js +0 -1
- package/dist/scripts/6.chunk.js +0 -24
- package/dist/scripts/6.chunk.js.map +0 -1
- package/dist/scripts/60.chunk.js +0 -32
- package/dist/scripts/60.chunk.js.map +0 -1
- package/dist/scripts/61.chunk.js +0 -29
- package/dist/scripts/61.chunk.js.map +0 -1
- package/dist/scripts/62.chunk.js +0 -27
- package/dist/scripts/62.chunk.js.map +0 -1
- package/dist/scripts/63.chunk.js +0 -67
- package/dist/scripts/63.chunk.js.map +0 -1
- package/dist/scripts/64.chunk.js +0 -80
- package/dist/scripts/64.chunk.js.map +0 -1
- package/dist/scripts/65.chunk.js +0 -65
- package/dist/scripts/65.chunk.js.map +0 -1
- package/dist/scripts/66.chunk.js +0 -67
- package/dist/scripts/66.chunk.js.map +0 -1
- package/dist/scripts/67.chunk.js +0 -104
- package/dist/scripts/67.chunk.js.map +0 -1
- package/dist/scripts/68.chunk.js +0 -69
- package/dist/scripts/68.chunk.js.map +0 -1
- package/dist/scripts/69.chunk.js +0 -89
- package/dist/scripts/69.chunk.js.map +0 -1
- package/dist/scripts/7-90ad392b55.chunk.js +0 -1
- package/dist/scripts/7.chunk.js +0 -327
- package/dist/scripts/7.chunk.js.map +0 -1
- package/dist/scripts/70.chunk.js +0 -36
- package/dist/scripts/70.chunk.js.map +0 -1
- package/dist/scripts/8.chunk.js +0 -470
- package/dist/scripts/8.chunk.js.map +0 -1
- package/dist/scripts/9-52877087ef.chunk.js +0 -1
- package/dist/scripts/9.chunk.js +0 -471
- package/dist/scripts/9.chunk.js.map +0 -1
- package/dist/scripts/bundle-87d75d901a.min.js +0 -1
- package/dist/scripts/bundle-99976c17a2.min.js +0 -1
- package/dist/scripts/bundle-9f5ad50596.min.js +0 -1
- package/dist/scripts/bundle-a4952df647.min.js +0 -1
- package/dist/scripts/bundle.js +0 -34769
- package/dist/scripts/bundle.js.map +0 -1
- /package/dist/css/{30.chunk.css → 8.chunk.css} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/lazy-image/LazyImage.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/components/lazy-image/lazy-image.scss?fb96","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/thumbnails/base/BaseThumbnail.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/thumbnails/base/ThumbnailFallback.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/components/thumbnails/base/thumbnail-fallback.scss?dff8","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/components/thumbnails/base/thumbnail.scss?b360","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/banner-widget/BannerWidget.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/greeting-widget/GreetingWidget.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/items/tall-subject-widget-item/TallSubjectWidgetItem.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/items/tall-subject-widget-item/tall-subject-widget-item.scss?333e","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/items/video-widget-item/VideoWidgetItem.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/items/video-widget-item/video-widget-item.scss?4d14","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/enums/ThumbnailSize.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/enums/UserGroup.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/useAppOptions.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/DashboardHelper.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/dashboard/flight-requests/DashboardRequests.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/dashboard/views/dashboard/DashboardView.tsx","webpack://@clickview/lite/./src/apps/dashboard/views/dashboard/dashboard.scss?904d"],"names":[],"mappings":"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","file":"scripts/26.chunk.js","sourcesContent":["import * as React from 'react';\r\nimport * as ReactIntersectionObserver from 'react-intersection-observer';\r\n\r\nimport styles from './lazy-image.scss';\r\n\r\ninterface LazyImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\r\n forceLoad?: boolean;\r\n}\r\n\r\nexport const LazyImage = React.memo(function({ forceLoad, ...propsWithSrc }: LazyImageProps): React.ReactElement {\r\n const [ ref, inView ] = ReactIntersectionObserver.useInView({ triggerOnce: true });\r\n\r\n if (typeof (window as any).IntersectionObserver === 'undefined')\r\n return <img alt='' {...propsWithSrc} />;\r\n\r\n const { src, ...propsWithoutSrc } = propsWithSrc;\r\n\r\n const imgProps: React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement> = {\r\n alt: '',\r\n ...propsWithoutSrc,\r\n ...((inView || forceLoad) ? { src } : {})\r\n };\r\n\r\n if (!forceLoad)\r\n imgProps.ref = ref;\r\n\r\n return (\r\n <img className={styles.image} {...imgProps} />\r\n );\r\n});","// extracted by mini-css-extract-plugin\nmodule.exports = {\"image\":\"cv--image--1YW-E\"};","import * as _ from 'underscore';\r\nimport * as React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\n\r\nimport { Image } from 'libs/shared/interfaces';\r\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { ThumbnailSize } from 'libs/shared/enums/ThumbnailSize';\r\n\r\nimport styles from './thumbnail.scss';\r\n\r\nfunction buildThumbnailUrl(srcUrl: string, size: ThumbnailSize = ThumbnailSize.Small): string {\r\n return `${srcUrl}?size=${size}`;\r\n}\r\n\r\nfunction getThumbnailClassName(props: ThumbnailProps): string {\r\n let className = `thumbnail ${styles.thumbnail}`;\r\n\r\n let aspectRatioClassName = '';\r\n\r\n if (props.aspectRatio === AspectRatio.SixteenByNine)\r\n aspectRatioClassName = styles.sixteenByNine;\r\n\r\n if (props.aspectRatio === AspectRatio.NineBySixteen)\r\n aspectRatioClassName = styles.nineBySixteen;\r\n\r\n if (props.aspectRatio === AspectRatio.OneByOne)\r\n aspectRatioClassName = styles.oneByOne;\r\n\r\n if (props.aspectRatio === AspectRatio.TwoByThree)\r\n aspectRatioClassName = styles.twoByThree;\r\n\r\n if (aspectRatioClassName)\r\n className += ` ${aspectRatioClassName}`;\r\n\r\n if (props.className)\r\n className += ` ${props.className}`;\r\n\r\n return className;\r\n}\r\n\r\nexport enum AspectRatio {\r\n SixteenByNine,\r\n OneByOne,\r\n TwoByThree,\r\n NineBySixteen\r\n}\r\n\r\ninterface ThumbnailProps {\r\n data: Image | string;\r\n size?: ThumbnailSize;\r\n appLink?: Core.AppLink;\r\n aspectRatio?: AspectRatio;\r\n className?: string;\r\n preload?: boolean;\r\n}\r\n\r\nexport function BaseThumbnail(props: React.PropsWithChildren<ThumbnailProps>): React.ReactElement {\r\n const { data, size, appLink, preload } = props;\r\n\r\n let url = '';\r\n\r\n if (typeof data === 'string') {\r\n url = data;\r\n } else if (ObjectHelper.isObject(data)) {\r\n url = data.url;\r\n }\r\n\r\n const thumbnailUrl = url && buildThumbnailUrl(url, size);\r\n\r\n return (\r\n <div className={getThumbnailClassName(props)}>\r\n <AppLink appLink={appLink}>\r\n {props.children}\r\n {thumbnailUrl && <LazyImage src={thumbnailUrl} forceLoad={preload} />}\r\n </AppLink>\r\n </div>\r\n );\r\n}\r\n\r\n","import * as React from 'react';\r\n\r\nimport { useService } from 'libs/common/react/hooks/UseService';\r\n\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { ImageUrls } from 'libs/shared/interfaces';\r\nimport { SharedServices } from 'libs/shared/constants/SharedServices';\r\nimport { ImageUrlService } from 'libs/shared/services/ImageUrlService';\r\n\r\nimport styles from './thumbnail-fallback.scss';\r\n\r\nexport enum ThumbnailFallbackType {\r\n Video,\r\n Playlist,\r\n Series,\r\n Subject,\r\n TallSubject\r\n}\r\n\r\nexport enum ThumbnailFallbackMediaType {\r\n Svg,\r\n Image\r\n}\r\n\r\nfunction getContainerClass(type: ThumbnailFallbackMediaType, objectType: ThumbnailFallbackType): string {\r\n if (objectType === ThumbnailFallbackType.Subject)\r\n return styles.subjectFallbackContainer;\r\n\r\n if (type === ThumbnailFallbackMediaType.Svg)\r\n return styles.svgFallbackContainer;\r\n\r\n return styles.baseFallbackContainer;\r\n}\r\n\r\nfunction getClassByType(type: ThumbnailFallbackType): string {\r\n if (type === ThumbnailFallbackType.Video)\r\n return styles.videoFallback;\r\n\r\n if (type === ThumbnailFallbackType.Playlist)\r\n return styles.playlistFallback;\r\n\r\n if (type === ThumbnailFallbackType.Series || type === ThumbnailFallbackType.TallSubject)\r\n return styles.posterFallback;\r\n\r\n if (type === ThumbnailFallbackType.Subject)\r\n return styles.subjectFallback;\r\n\r\n return '';\r\n}\r\n\r\nfunction getMedia(type: ThumbnailFallbackType, imageUrls: ImageUrls): string {\r\n if (type === ThumbnailFallbackType.Video)\r\n return cvSvgLibrary.Play;\r\n\r\n if (type === ThumbnailFallbackType.Playlist)\r\n return cvSvgLibrary.Playlist;\r\n\r\n if (type === ThumbnailFallbackType.Series)\r\n return cvSvgLibrary.Series;\r\n\r\n if (type === ThumbnailFallbackType.Subject || type === ThumbnailFallbackType.TallSubject)\r\n return cvSvgLibrary.Subject;\r\n\r\n return '';\r\n}\r\n\r\ninterface ThumbnailFallbackProps {\r\n type: ThumbnailFallbackType;\r\n mediaType?: ThumbnailFallbackMediaType;\r\n extraClasses?: string;\r\n}\r\n\r\nThumbnailFallback.defaultProps = {\r\n mediaType: ThumbnailFallbackMediaType.Svg\r\n};\r\n\r\nexport function ThumbnailFallback(props: ThumbnailFallbackProps): JSX.Element {\r\n const { type, mediaType, extraClasses } = props;\r\n\r\n const imageUrlService = useService<ImageUrlService>(SharedServices.ImageUrl);\r\n const imageUrls = imageUrlService.getImageUrls();\r\n\r\n const typeClass = getClassByType(type);\r\n const media = getMedia(type, imageUrls);\r\n\r\n let className = `${getContainerClass(mediaType, type)}`;\r\n\r\n if (extraClasses)\r\n className += ` ${props.extraClasses}`;\r\n\r\n return (\r\n <div className={className}>\r\n {mediaType === ThumbnailFallbackMediaType.Svg\r\n ? <SvgContainer svgName={media} className={ typeClass } tagName='div' />\r\n : <div className={styles.fallbackThumbnailImage} style={{ backgroundImage: `url('${media}')` }} />\r\n }\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"baseFallbackContainer\":\"cv--baseFallbackContainer--1wRjB\",\"svgFallbackContainer\":\"cv--svgFallbackContainer--2t1jq\",\"subjectFallbackContainer\":\"cv--subjectFallbackContainer--12D74\",\"videoFallback\":\"cv--videoFallback--6BPy-\",\"playlistFallback\":\"cv--playlistFallback--1slQX\",\"posterFallback\":\"cv--posterFallback--i0o8n\",\"subjectFallback\":\"cv--subjectFallback--2Srdd\",\"fallbackThumbnailImage\":\"cv--fallbackThumbnailImage--2L_tV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"thumbnail\":\"cv--thumbnail--3lfBf\",\"sixteenByNine\":\"cv--sixteenByNine--2LqZ8\",\"nineBySixteen\":\"cv--nineBySixteen--136ry\",\"oneByOne\":\"cv--oneByOne--2wYLa\",\"twoByThree\":\"cv--twoByThree--1eC6Q\"};","import * as React from 'react';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { ImageType } from 'libs/shared/enums/Images';\r\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\r\nimport { Banner } from 'libs/shared/interfaces';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\n\r\ninterface BannerWidgetProps {\r\n appLink: Core.AppLink;\r\n banner: Banner;\r\n imageCdnUrl: string;\r\n heading?: string;\r\n}\r\n\r\nexport function BannerWidget(props: BannerWidgetProps): JSX.Element {\r\n const { heading, banner, imageCdnUrl, appLink } = props;\r\n\r\n const url = ImageHelper.createBannerUrl(banner, {\r\n fallbackBaseUrl: imageCdnUrl,\r\n fallbackCategoryName: heading,\r\n type: ImageType.Banners\r\n });\r\n\r\n return (\r\n <AppLink appLink={appLink}>\r\n <div className='banner' style={{ backgroundImage: `url('${url}')` }}></div>\r\n </AppLink>\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { TimeHelper } from 'libs/common/react/utils/TimeHelper';\r\nimport { CurrentUser } from 'libs/shared/interfaces';\r\n\r\ninterface GreetingWidgetProps {\r\n user: CurrentUser;\r\n}\r\n\r\nconst namespace = 'shared.greeting';\r\n\r\nfunction getTimeOfDayGreeting(getPhrase: Function): string {\r\n const timeOfDay = TimeHelper.currentTimeOfDay();\r\n\r\n switch (timeOfDay) {\r\n case 'morning': return getPhrase('morning');\r\n case 'afternoon': return getPhrase('afternoon');\r\n case 'evening': return getPhrase('evening');\r\n default: return getPhrase('fallback');\r\n }\r\n}\r\n\r\nexport const GreetingWidget = React.memo(function({ user }: GreetingWidgetProps): JSX.Element {\r\n const getPhrase = LanguageService.encloseNamespace(namespace);\r\n return (\r\n <h1 className='h2'>\r\n <strong>\r\n {getTimeOfDayGreeting(getPhrase)}\r\n <span className='text-info'> {user && user.givenName}</span>\r\n ,\r\n </strong>\r\n <br/>\r\n <strong>{getPhrase('prompt')}</strong>\r\n </h1>\r\n );\r\n}, (prevProps, nextProps) => prevProps.user?.id === nextProps.user?.id);","import * as React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\r\n\r\nimport { WidgetContext, Classification, PresentationAudience } from 'libs/shared/interfaces';\r\nimport { ThumbnailSize } from 'libs/shared/enums/ThumbnailSize';\r\nimport { BaseThumbnail, AspectRatio } from 'libs/shared/components/thumbnails/base/BaseThumbnail';\r\nimport { ThumbnailFallback, ThumbnailFallbackType } from 'libs/shared/components/thumbnails/base/ThumbnailFallback';\r\n\r\nimport styles from './tall-subject-widget-item.scss';\r\n\r\nfunction getClassName(context: WidgetContext): string {\r\n return `${styles.slidingSubject} ${styles.thumbnailContainer}`;\r\n}\r\n\r\nexport interface TallSubjectWidgetItemProps {\r\n data: Classification;\r\n appLink: Core.AppLink;\r\n audiences: PresentationAudience[];\r\n context?: WidgetContext;\r\n preloadImage?: boolean;\r\n}\r\n\r\nexport function TallSubjectWidgetItem(props : TallSubjectWidgetItemProps): JSX.Element {\r\n const { data, appLink, context, preloadImage } = props;\r\n\r\n const subjectAppLink: Core.AppLink = {\r\n ...appLink,\r\n args: [ data.id, TextHelper.slugify(data.name) ]\r\n };\r\n\r\n return (\r\n <div className={getClassName(context)}>\r\n <BaseThumbnail\r\n data={data.tallPoster}\r\n appLink={subjectAppLink}\r\n aspectRatio={AspectRatio.NineBySixteen}\r\n preload={preloadImage}\r\n size={ThumbnailSize.Large}>\r\n <ThumbnailFallback type={ThumbnailFallbackType.TallSubject} />\r\n <h3 className={`h4 ${styles.heading}`}>{data.name}</h3>\r\n </BaseThumbnail>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"slidingSubject\":\"cv--slidingSubject--16BT9\",\"heading\":\"cv--heading--1ZUkE\",\"thumbnailContainer\":\"cv--thumbnailContainer--1uhoK\",\"partialLoadingHeading\":\"cv--partialLoadingHeading--1-m4K\",\"partialLoading\":\"cv--partialLoading--3fvkd\",\"labelContainer\":\"cv--labelContainer--3T7RZ\"};","import * as React from 'react';\r\nimport { Core } from 'libs/common/core';\r\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\r\n\r\nimport { WidgetContext, Video, WidgetType } from 'libs/shared/interfaces';\r\nimport { ThumbnailSize } from 'libs/shared/enums/ThumbnailSize';\r\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\r\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\r\nimport { useHoverIntent } from 'libs/shared/hooks/UseHover';\r\n\r\nimport styles from './video-widget-item.scss';\r\n\r\ninterface VideoWidgetItemProps {\r\n data: Video;\r\n appLink: Core.AppLink;\r\n seriesAppLink: Core.AppLink;\r\n context: WidgetContext;\r\n thumbnailSize: ThumbnailSize;\r\n onHover: (isHovering: boolean) => void;\r\n preloadImage?: boolean;\r\n}\r\n\r\nexport const VideoWidgetItem = React.memo(function(props : VideoWidgetItemProps): JSX.Element {\r\n const { data: video, appLink, seriesAppLink, context, thumbnailSize, preloadImage } = props;\r\n\r\n const [ ref, isHovering ] = useHoverIntent<HTMLDivElement>(styles.hovering);\r\n\r\n React.useEffect(() => {\r\n props.onHover(isHovering);\r\n }, [isHovering]);\r\n\r\n const videoAppLink: Core.AppLink = {\r\n ...appLink,\r\n args: [ video.id, TextHelper.slugify(video.name) ]\r\n };\r\n\r\n let width = styles.rowWidth;\r\n\r\n if (context.type === WidgetType.LargeRow || context.collectionSize === 3)\r\n width = styles.largeRowWidth;\r\n\r\n return (\r\n <div ref={ref} className={`p-1 flex-shrink-0 position-relative ${width}`}>\r\n <VideoThumbnail\r\n video={video}\r\n type='expandable'\r\n appLink={videoAppLink}\r\n seriesAppLink={seriesAppLink}\r\n textPosition={ThumbnailTextPosition.Overlay}\r\n size={thumbnailSize}\r\n preload={preloadImage}\r\n hovering={isHovering}\r\n />\r\n </div>\r\n );\r\n}, (prevProps, nextProps): boolean => {\r\n return prevProps.preloadImage === nextProps.preloadImage\r\n && prevProps.data?.name === nextProps.data?.name\r\n && prevProps.data?.series?.id === nextProps.data?.series?.id;\r\n});","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rowWidth\":\"cv--rowWidth--8IgrO\",\"largeRowWidth\":\"cv--largeRowWidth--q46rm\",\"hovering\":\"cv--hovering--IeeJA\"};","export enum ThumbnailSize {\r\n Small = 'small',\r\n Medium = 'medium',\r\n Large = 'large',\r\n Raw = 'raw'\r\n}","export enum UserGroup {\r\n Learner = 'learner',\r\n Staff = 'staff'\r\n}","import { useInstance } from 'libs/common/react/hooks/UseInstance';\r\n\r\nimport { SharedServices } from 'libs/shared/constants/SharedServices';\r\nimport { AppOptionsService } from 'libs/shared/services/AppOptionsService';\r\n\r\nexport const useAppOptions = () => {\r\n return useInstance<AppOptionsService>(SharedServices.AppOptions);\r\n};","import { OnlineUserRole } from 'libs/shared/enums/UserRole';\r\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\r\n\r\nexport const DashboardHelper = {\r\n\r\n /**\r\n * Same implementation as GetUserGroup() in Online.\r\n * @param userRole \r\n */\r\n getUserGroup(userRole: OnlineUserRole): UserGroup {\r\n if (userRole === OnlineUserRole.Student)\r\n return UserGroup.Learner;\r\n\r\n return UserGroup.Staff;\r\n }\r\n};\r\n","import { Flight } from 'libs/common/flight';\r\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\r\nimport { LibraryType } from 'libs/shared/enums/LibraryType';\r\nimport { CustomerType } from 'libs/shared/enums/CustomerType';\r\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\r\n\r\nconst endpoints = {\r\n widgets: (libraryType: LibraryType, customerType: CustomerType, userRole: number, countryCode: string) => {\r\n const base = `api/domain/v2/dashboards/widgets`;\r\n return UrlHelper.urlBuilder(base, { libraryType, customerType, userRole, countryCode });\r\n },\r\n playlist: (id: string, maxRatingValue: number, userGroup: UserGroup, page?: number, limit?: number) => {\r\n const base = `api/domain/v2/dashboards/playlists/${id}/videos`;\r\n return UrlHelper.urlBuilder(base, { maxRatingValue, userGroup, page, limit });\r\n },\r\n};\r\n\r\nexport const DashboardRequests = {\r\n widgets(libraryType: LibraryType, customerType: CustomerType, userRole: number, countryCode: string): Flight.Request {\r\n return {\r\n url: endpoints.widgets(libraryType, customerType, userRole, countryCode),\r\n key: `widgets:${libraryType}:${customerType}:${countryCode}`\r\n };\r\n },\r\n widgetPlaylist(\r\n id: string,\r\n maxRatingValue: number,\r\n userGroup: UserGroup,\r\n page?: number,\r\n limit?: number\r\n ): Flight.Request {\r\n return {\r\n url: endpoints.playlist(id, maxRatingValue, userGroup, page, limit),\r\n key: `widget:${id}:${maxRatingValue}:${userGroup}:${page}`\r\n };\r\n },\r\n contentUpdates(): Flight.Request {\r\n return {\r\n key: `content:updates`,\r\n // TODO: Replace with subjects api content updates endpoint\r\n url: '/api/latest-releases?limit=25&removeRestrictions=true'\r\n };\r\n }\r\n};\r\n","import * as _ from 'underscore';\r\nimport * as React from 'react';\r\nimport * as ReactIntersectionObserver from 'react-intersection-observer';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { BackboneViewWrapper } from 'libs/common/react/components/BackboneViewWrapper';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { useViewModel } from 'libs/common/react/hooks/useViewModel';\r\n\r\nimport { CurrentUser, WidgetCollection, Playlist, WidgetType, Classification, Banner, Presentation } from 'libs/shared/interfaces';\r\nimport { DashboardHelper } from 'libs/shared/utils/DashboardHelper';\r\nimport { LibraryType } from 'libs/shared/enums/LibraryType';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { useAppOptions } from 'libs/shared/hooks/useAppOptions';\r\nimport { FixedWidget } from 'libs/shared/components/widgets/fixed-widget/FixedWidget';\r\nimport { VideoWidgetItem } from 'libs/shared/components/widgets/items/video-widget-item/VideoWidgetItem';\r\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\r\nimport { GreetingWidget } from 'libs/shared/components/widgets/greeting-widget/GreetingWidget';\r\nimport { TallSubjectWidgetItem } from 'libs/shared/components/widgets/items/tall-subject-widget-item/TallSubjectWidgetItem';\r\nimport { BannerWidget } from 'libs/shared/components/widgets/banner-widget/BannerWidget';\r\nimport { OnlineUserRole } from 'libs/shared/enums/UserRole';\r\nimport { SearchBarView } from 'libs/shared/apps/search/views/search-bar/SearchBarView';\r\nimport { Query } from 'libs/shared/apps/search/models/Query';\r\n\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\r\n\r\nimport { DashboardRequests } from 'apps/dashboard/flight-requests/DashboardRequests';\r\n\r\nimport styles from './dashboard.scss';\r\n\r\nconst DASHBOARD_NAV_OFFSET: string = '-126px 0px';\r\n\r\nconst appLinks = {\r\n video: { application: AppChannels.DEFAULT, action: Actions.Default.PLAY_VIDEO },\r\n collection: { application: AppChannels.DASHBOARD, action: Actions.Dashboard.DASHBOARD },\r\n series: { application: AppChannels.DEFAULT, action: Actions.Default.SERIES },\r\n classification: { application: AppChannels.SUBJECT, action: Actions.Subjects.CLASSIFICATION },\r\n subjectPreferences: {\r\n application: AppChannels.SUBJECT,\r\n action: Actions.Subjects.PREFERENCES,\r\n params: { step: 'subjects' }\r\n }\r\n};\r\n\r\n/**\r\n * Data fetching hooks\r\n */\r\n\r\nfunction useGetClassifications(shouldFetch: boolean): Flight.Response<Classification[]> {\r\n return Flight.useBasicFetch<Classification[]>(ClassificationRequests.classifications());\r\n}\r\n\r\nfunction useGetWidgets(user: CurrentUser): WidgetCollection {\r\n const { onlineCustomerType } = useAppOptions();\r\n\r\n // TODO: Replace this when we have UserRole coming through correctly from Master/Domain.\r\n // We don't have access to OnlineUserRole in Lite - which is what this endpoint expects.\r\n const role = OnlineUserRole.Staff;\r\n\r\n const widgetsRequest = user?.countryCode\r\n && DashboardRequests.widgets(LibraryType.HostedLibrary, onlineCustomerType, role, user?.countryCode);\r\n\r\n return Flight.useBasicFetch<WidgetCollection>(widgetsRequest).data;\r\n}\r\n\r\nfunction useGetWidgetPlaylist(id: string, user: CurrentUser, shouldFetch: boolean): Flight.Response<Playlist> {\r\n // TODO: As with useGetWidgets, this needs to be updated once we have a valid UserType\r\n return Flight.useBasicFetch<Playlist>(shouldFetch ?\r\n DashboardRequests.widgetPlaylist(id, null,\r\n DashboardHelper.getUserGroup(OnlineUserRole.Staff), 1, 25)\r\n : null);\r\n}\r\n\r\n/**\r\n * TODO: Remove hardcoded banner.\r\n * Need to consider a backend for the different widget types.\r\n */\r\nfunction getBanner(): Banner {\r\n return {\r\n id: 'Xg84gv',\r\n url: 'http://image.api.stg.cvnet.io/v2/banners/Xg84gv'\r\n };\r\n}\r\n\r\n/**\r\n * Explcitly seperated SearchBar into it's own local component as changing\r\n * the searchContext (in repsonse to the intersdection observer) will \r\n * re-render the component. We don't want to have to re-render the \r\n * whole dashboard each time - Mike\r\n */\r\ninterface SearchBarProps {\r\n presentationId: string;\r\n}\r\n\r\nfunction SearchBar(props: SearchBarProps): JSX.Element {\r\n const { presentationId } = props;\r\n\r\n const [ showSearchInNav, setShowSearchInNav ] = useViewModel<boolean>(ViewModelKeys.SEARCH_BAR_LOCATION, false);\r\n\r\n const [ ref, inView ] = ReactIntersectionObserver.useInView({\r\n rootMargin: DASHBOARD_NAV_OFFSET,\r\n });\r\n\r\n if (inView === showSearchInNav)\r\n setShowSearchInNav(!inView);\r\n\r\n return (\r\n <div ref={ref} className={styles.searchBar}>\r\n <BackboneViewWrapper\r\n className={`container ${styles.searchBarContainer}`}\r\n view={SearchBarView}\r\n options={{\r\n model: ViewModelService.get<Query>('search', { ctor: Query }),\r\n disableMask: true,\r\n presentationId\r\n }}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nexport function DashboardView(): JSX.Element {\r\n const userRequest = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser);\r\n const widgets = useGetWidgets(userRequest.data);\r\n const presentation = Flight.useBasicFetch<Presentation>(ClassificationRequests.presentation());\r\n\r\n return (\r\n <div className='dashboard-widgets bg-white'>\r\n <div className='pt-5 px-1'>\r\n <GreetingWidget user={userRequest.data}/>\r\n </div>\r\n <SearchBar presentationId={presentation.data?.id} />\r\n <FixedWidget\r\n name='Subjects'\r\n type={WidgetType.Row}\r\n contents={WidgetContents.Subjects}\r\n fetch={useGetClassifications}\r\n setData={(classifications: Classification[]) => classifications}\r\n lazyLoad={false}\r\n childComponent={TallSubjectWidgetItem}\r\n settingsAppLink={appLinks.subjectPreferences}\r\n childAppLink={appLinks.classification}\r\n />\r\n <div className='py-3 px-1'>\r\n <BannerWidget\r\n appLink={appLinks.series}\r\n banner={getBanner()}\r\n imageCdnUrl={''}\r\n />\r\n </div>\r\n {widgets && widgets.map((widget, index) =>\r\n <FixedWidget\r\n key={index}\r\n type={widget.type}\r\n contents={WidgetContents.Videos}\r\n fetch={_.partial(useGetWidgetPlaylist, widget.collectionId.toString())}\r\n setData={(playlist: Playlist) => playlist.videos.data}\r\n lazyLoad={true}\r\n childComponent={(props): JSX.Element =>\r\n <VideoWidgetItem {...props}\r\n appLink={appLinks.video}\r\n seriesAppLink={appLinks.series}\r\n />}\r\n appLink={appLinks.collection}\r\n childAppLink={appLinks.video}\r\n />\r\n )};\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"searchBar\":\"cv--searchBar--3pFjl\",\"searchBarContainer\":\"cv--searchBarContainer--W4B6T\"};"],"sourceRoot":""}
|