@clickview/lite 0.0.20-rc.1 → 0.0.20
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/scripts/{bundle-df3f2fe30a.min.js → bundle-0a051d30d1.min.js} +1 -1
- package/dist/scripts/bundles.json +1 -1
- package/package.json +1 -1
- 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/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/15.chunk.css.map +0 -1
- package/dist/css/16.chunk.css.map +0 -1
- package/dist/css/17.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 +0 -32
- 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 -6
- package/dist/css/32.chunk.css.map +0 -1
- package/dist/css/33.chunk.css +0 -5
- package/dist/css/33.chunk.css.map +0 -1
- package/dist/css/34.chunk.css.map +0 -1
- package/dist/css/36.chunk.css +0 -6
- package/dist/css/36.chunk.css.map +0 -1
- package/dist/css/37.chunk.css +0 -7
- package/dist/css/37.chunk.css.map +0 -1
- package/dist/css/38.chunk.css.map +0 -1
- package/dist/css/41.chunk.css +0 -38
- package/dist/css/41.chunk.css.map +0 -1
- package/dist/css/5.chunk.css.map +0 -1
- package/dist/css/51.chunk.css +0 -9
- package/dist/css/51.chunk.css.map +0 -1
- package/dist/css/6.chunk.css.map +0 -1
- package/dist/css/7.chunk.css +0 -66
- package/dist/css/7.chunk.css.map +0 -1
- package/dist/css/lite-app.css.map +0 -1
- package/dist/projects/lite/src/polyfills.d.ts +0 -2
- package/dist/scripts/0.chunk.js +0 -308
- package/dist/scripts/0.chunk.js.map +0 -1
- package/dist/scripts/1.chunk.js +0 -623
- package/dist/scripts/1.chunk.js.map +0 -1
- package/dist/scripts/10.chunk.js +0 -530
- package/dist/scripts/10.chunk.js.map +0 -1
- package/dist/scripts/11.chunk.js +0 -380
- package/dist/scripts/11.chunk.js.map +0 -1
- package/dist/scripts/12.chunk.js +0 -434
- package/dist/scripts/12.chunk.js.map +0 -1
- package/dist/scripts/13.chunk.js +0 -1287
- package/dist/scripts/13.chunk.js.map +0 -1
- package/dist/scripts/14.chunk.js +0 -575
- package/dist/scripts/14.chunk.js.map +0 -1
- package/dist/scripts/15.chunk.js +0 -806
- package/dist/scripts/15.chunk.js.map +0 -1
- package/dist/scripts/16.chunk.js +0 -482
- package/dist/scripts/16.chunk.js.map +0 -1
- package/dist/scripts/17.chunk.js +0 -428
- package/dist/scripts/17.chunk.js.map +0 -1
- package/dist/scripts/18.chunk.js +0 -766
- package/dist/scripts/18.chunk.js.map +0 -1
- package/dist/scripts/19.chunk.js +0 -647
- package/dist/scripts/19.chunk.js.map +0 -1
- package/dist/scripts/2.chunk.js +0 -18882
- package/dist/scripts/2.chunk.js.map +0 -1
- package/dist/scripts/20.chunk.js +0 -212
- package/dist/scripts/20.chunk.js.map +0 -1
- package/dist/scripts/21.chunk.js +0 -1591
- package/dist/scripts/21.chunk.js.map +0 -1
- package/dist/scripts/22.chunk.js +0 -1348
- package/dist/scripts/22.chunk.js.map +0 -1
- package/dist/scripts/23.chunk.js +0 -1181
- package/dist/scripts/23.chunk.js.map +0 -1
- package/dist/scripts/24.chunk.js +0 -1141
- package/dist/scripts/24.chunk.js.map +0 -1
- package/dist/scripts/25.chunk.js +0 -907
- package/dist/scripts/25.chunk.js.map +0 -1
- package/dist/scripts/26.chunk.js +0 -979
- package/dist/scripts/26.chunk.js.map +0 -1
- package/dist/scripts/27.chunk.js +0 -655
- package/dist/scripts/27.chunk.js.map +0 -1
- package/dist/scripts/28.chunk.js +0 -615
- package/dist/scripts/28.chunk.js.map +0 -1
- package/dist/scripts/29.chunk.js +0 -622
- package/dist/scripts/29.chunk.js.map +0 -1
- package/dist/scripts/3.chunk.js +0 -809
- package/dist/scripts/3.chunk.js.map +0 -1
- package/dist/scripts/30.chunk.js +0 -468
- package/dist/scripts/30.chunk.js.map +0 -1
- package/dist/scripts/31.chunk.js +0 -441
- package/dist/scripts/31.chunk.js.map +0 -1
- package/dist/scripts/32.chunk.js +0 -509
- package/dist/scripts/32.chunk.js.map +0 -1
- package/dist/scripts/33.chunk.js +0 -957
- package/dist/scripts/33.chunk.js.map +0 -1
- package/dist/scripts/34.chunk.js +0 -502
- package/dist/scripts/34.chunk.js.map +0 -1
- package/dist/scripts/35.chunk.js +0 -938
- package/dist/scripts/35.chunk.js.map +0 -1
- package/dist/scripts/36.chunk.js +0 -537
- package/dist/scripts/36.chunk.js.map +0 -1
- package/dist/scripts/37.chunk.js +0 -414
- package/dist/scripts/37.chunk.js.map +0 -1
- package/dist/scripts/38.chunk.js +0 -245
- package/dist/scripts/38.chunk.js.map +0 -1
- package/dist/scripts/39.chunk.js +0 -337
- package/dist/scripts/39.chunk.js.map +0 -1
- package/dist/scripts/4.chunk.js +0 -402
- package/dist/scripts/4.chunk.js.map +0 -1
- package/dist/scripts/40.chunk.js +0 -350
- package/dist/scripts/40.chunk.js.map +0 -1
- package/dist/scripts/41.chunk.js +0 -343
- package/dist/scripts/41.chunk.js.map +0 -1
- package/dist/scripts/42.chunk.js +0 -404
- package/dist/scripts/42.chunk.js.map +0 -1
- package/dist/scripts/43.chunk.js +0 -221
- package/dist/scripts/43.chunk.js.map +0 -1
- package/dist/scripts/44.chunk.js +0 -230
- package/dist/scripts/44.chunk.js.map +0 -1
- package/dist/scripts/45.chunk.js +0 -409
- package/dist/scripts/45.chunk.js.map +0 -1
- package/dist/scripts/46.chunk.js +0 -272
- package/dist/scripts/46.chunk.js.map +0 -1
- package/dist/scripts/47.chunk.js +0 -267
- package/dist/scripts/47.chunk.js.map +0 -1
- package/dist/scripts/48.chunk.js +0 -359
- package/dist/scripts/48.chunk.js.map +0 -1
- package/dist/scripts/49.chunk.js +0 -225
- package/dist/scripts/49.chunk.js.map +0 -1
- package/dist/scripts/5.chunk.js +0 -1104
- package/dist/scripts/5.chunk.js.map +0 -1
- package/dist/scripts/50.chunk.js +0 -318
- package/dist/scripts/50.chunk.js.map +0 -1
- package/dist/scripts/51.chunk.js +0 -64
- package/dist/scripts/51.chunk.js.map +0 -1
- package/dist/scripts/52.chunk.js +0 -108
- package/dist/scripts/52.chunk.js.map +0 -1
- package/dist/scripts/53.chunk.js +0 -110
- package/dist/scripts/53.chunk.js.map +0 -1
- package/dist/scripts/54.chunk.js +0 -162
- package/dist/scripts/54.chunk.js.map +0 -1
- package/dist/scripts/55.chunk.js +0 -145
- package/dist/scripts/55.chunk.js.map +0 -1
- package/dist/scripts/56.chunk.js +0 -139
- package/dist/scripts/56.chunk.js.map +0 -1
- package/dist/scripts/57.chunk.js +0 -142
- package/dist/scripts/57.chunk.js.map +0 -1
- package/dist/scripts/58.chunk.js +0 -173
- package/dist/scripts/58.chunk.js.map +0 -1
- package/dist/scripts/59.chunk.js +0 -160
- package/dist/scripts/59.chunk.js.map +0 -1
- package/dist/scripts/6.chunk.js +0 -335
- package/dist/scripts/6.chunk.js.map +0 -1
- package/dist/scripts/60.chunk.js +0 -98
- package/dist/scripts/60.chunk.js.map +0 -1
- package/dist/scripts/61.chunk.js +0 -48
- package/dist/scripts/61.chunk.js.map +0 -1
- package/dist/scripts/62.chunk.js +0 -70
- package/dist/scripts/62.chunk.js.map +0 -1
- package/dist/scripts/63.chunk.js +0 -32
- package/dist/scripts/63.chunk.js.map +0 -1
- package/dist/scripts/64.chunk.js +0 -29
- package/dist/scripts/64.chunk.js.map +0 -1
- package/dist/scripts/65.chunk.js +0 -27
- package/dist/scripts/65.chunk.js.map +0 -1
- package/dist/scripts/66.chunk.js +0 -65
- package/dist/scripts/66.chunk.js.map +0 -1
- package/dist/scripts/67.chunk.js +0 -67
- package/dist/scripts/67.chunk.js.map +0 -1
- package/dist/scripts/68.chunk.js +0 -104
- 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.chunk.js +0 -2579
- package/dist/scripts/7.chunk.js.map +0 -1
- package/dist/scripts/70.chunk.js +0 -1001
- package/dist/scripts/70.chunk.js.map +0 -1
- package/dist/scripts/71.chunk.js +0 -36
- package/dist/scripts/71.chunk.js.map +0 -1
- package/dist/scripts/8.chunk.js +0 -24
- package/dist/scripts/8.chunk.js.map +0 -1
- package/dist/scripts/9.chunk.js +0 -327
- package/dist/scripts/9.chunk.js.map +0 -1
- package/dist/scripts/bundle.js +0 -38145
- package/dist/scripts/bundle.js.map +0 -1
- package/dist/scripts/polyfills.js +0 -15232
- package/dist/scripts/polyfills.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/fixed-widget/FixedWidget.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/fixed-widget/FixedWidgetReducer.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/fixed-widget/FixedWidgetUtils.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/fixed-widget/PartialFixedWidget.tsx","webpack://@clickview/lite/C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/fixed-widget/fixed-widget.scss?df22","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/sliding-list/SlidingListContainer.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/widget-button/WidgetButton.tsx","webpack://@clickview/lite/C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/widget-button/widget-button.scss?8d03","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/enums/CssMeasurement.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/enums/WidgetContents.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/enums/WidgetInteraction.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseHover.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseLazyLoad.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/DragHelper.ts"],"names":[],"mappings":"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","file":"scripts/5.chunk.js","sourcesContent":["import * as React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\n\r\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\r\nimport { WidgetButton, WidgetButtonDirection } from 'libs/shared/components/widgets/widget-button/WidgetButton';\r\nimport { SlidingListContainer } from 'libs/shared/components/widgets/sliding-list/SlidingListContainer';\r\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\r\nimport { useHover } from 'libs/shared/hooks/UseHover';\r\nimport { WidgetType, WidgetContext } from 'libs/shared/interfaces';\r\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\nimport { useLazyLoad } from 'libs/shared/hooks/UseLazyLoad';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { ThumbnailSize } from 'libs/shared/enums/ThumbnailSize';\r\n\r\nimport { PartialFixedWidget } from './PartialFixedWidget';\r\nimport { useFetchData, formatData, getCollectionAppLink, getShouldPreload, getOnTouchStart, getOnTouchEnd } from './FixedWidgetUtils';\r\nimport { FixedWidgetReducer, initialWidgetState, lazyWidgetInit } from './FixedWidgetReducer';\r\n\r\nimport styles from './fixed-widget.scss';\r\n\r\nconst namespace = 'shared.fixedWidget';\r\n\r\nexport interface FixedWidgetProps {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n\r\n type: WidgetType;\r\n contents: WidgetContents;\r\n\r\n collection?: any;\r\n lazyLoad?: boolean;\r\n fetch?: (...args: any) => Flight.Response<any>;\r\n prefetched?: boolean;\r\n setData?: (data: any) => any;\r\n\r\n childComponent: React.ElementType;\r\n childAppLink: Core.AppLink;\r\n appLink?: Core.AppLink;\r\n settingsAppLink?: Core.AppLink;\r\n}\r\n\r\nFixedWidget.defaultProps = {\r\n type: WidgetType.Row\r\n};\r\n\r\nfunction FixedWidget(props: FixedWidgetProps): JSX.Element {\r\n const [ initialTouchX, setInitialTouchX ] = React.useState(null);\r\n const [ containerWidth, setContainerWidth ] = React.useState(null);\r\n const [ percentageDragged, setPercentageDragged ] = React.useState(0);\r\n\r\n const [ state, dispatch ] = React.useReducer(FixedWidgetReducer, initialWidgetState, lazyWidgetInit);\r\n\r\n const containerRef = React.useRef(null);\r\n const [ buttonsRef, isHovering ] = useHover<HTMLDivElement>();\r\n\r\n const [ isHoveringOnFarLeft, setIsHoveringOnFarLeft ] = React.useState(false);\r\n const [ isHoveringOnFarRight, setIsHoveringOnFarRight ] = React.useState(false);\r\n\r\n const { ref, inView } = useLazyLoad(props.lazyLoad);\r\n const mediaQuery = useGetMediaQueryString();\r\n\r\n React.useEffect(() => {\r\n dispatch({\r\n type: WidgetInteraction.Resize,\r\n payload: {\r\n mediaQuery,\r\n type: props.type,\r\n contents: props.contents,\r\n collection: state.collection\r\n }\r\n });\r\n }, [mediaQuery]);\r\n\r\n const response = useFetchData(props, dispatch, state, mediaQuery, !props.lazyLoad || inView);\r\n\r\n function onSetIsHovering(hovering: boolean, index: number): void {\r\n // This callback will hide the far left button if the user is hovering on the far left widget item.\r\n // Same goes for the far right button & widget item.\r\n if ((index + 1) / state.viewableItems % 1 === 0) {\r\n setIsHoveringOnFarRight(hovering);\r\n } else if (index / state.viewableItems % 1 === 0) {\r\n setIsHoveringOnFarLeft(hovering);\r\n }\r\n }\r\n\r\n const widgetContext: WidgetContext = {\r\n type: state.type,\r\n size: state.currentSize,\r\n collectionSize: state.collection.length,\r\n contents: props.contents\r\n };\r\n\r\n const data = formatData(props, response?.data || props.collection);\r\n\r\n if (response?.hasError)\r\n return <></>;\r\n\r\n if (!data || ObjectHelper.isEmpty(data) && !props.prefetched) {\r\n return (\r\n <div ref={ref}>\r\n <PartialFixedWidget type={props.type} />\r\n </div>\r\n );\r\n }\r\n\r\n if (!state.collection.length)\r\n return <></>;\r\n\r\n const WidgetItemComponent = props.childComponent;\r\n\r\n return (\r\n <div className='pb-3'>\r\n\r\n <div className='mb-1'>\r\n <AppLink appLink={getCollectionAppLink(props.appLink, data)}>\r\n <h2 className='h4 mb-0 d-inline-block align-top pl-1 text-dark'>\r\n {data.name}\r\n {!!props.appLink && (\r\n <SvgContainer svgName={cvSvgLibrary.ChevronRight} size={SvgContainerSize.Small} />\r\n )}\r\n </h2>\r\n {props.settingsAppLink &&\r\n <AppLink appLink={props.settingsAppLink}>\r\n <SvgContainer\r\n svgName={cvSvgLibrary.Cog}\r\n className='d-inline-block svg-container cursor-pointer'\r\n title={LanguageService.getPhrase(namespace, 'preferencesTooltip')}\r\n tooltipPlacement='right'\r\n />\r\n </AppLink>\r\n }\r\n </AppLink>\r\n\r\n {data.description &&\r\n <p className='text-truncate pl-1 mb-0 description'>{data.description}</p>\r\n }\r\n </div>\r\n\r\n <div ref={buttonsRef} className='position-relative'>\r\n {!isHoveringOnFarLeft && <div className={styles.leftOverflowGradient} />}\r\n <WidgetButton\r\n direction={WidgetButtonDirection.Left}\r\n onClick={() => dispatch({ type: WidgetInteraction.Previous })}\r\n hide={isHoveringOnFarLeft || (\r\n state.offset <= state.collection.length && !(isHovering && state.offset !== state.viewableItems)\r\n )}\r\n contents={props.contents}\r\n />\r\n\r\n <SlidingListContainer\r\n position={state.position}\r\n positionType={CssMeasurement.Percentage}\r\n onTouchMove={getOnTouchStart(\r\n state,\r\n containerRef,\r\n containerWidth,\r\n setContainerWidth,\r\n initialTouchX,\r\n setInitialTouchX,\r\n setPercentageDragged\r\n )}\r\n onTouchEnd={getOnTouchEnd(\r\n containerRef,\r\n setInitialTouchX,\r\n percentageDragged,\r\n setPercentageDragged,\r\n dispatch\r\n )}\r\n ref={containerRef}\r\n percentageDragged={percentageDragged}\r\n >\r\n {state.collection.map((widgetItem, index) => {\r\n return (\r\n <WidgetItemComponent\r\n key={widgetItem.id}\r\n data={widgetItem}\r\n appLink={props.childAppLink}\r\n context={widgetContext}\r\n preloadImage={getShouldPreload(state)(widgetItem)}\r\n thumbnailSize={ThumbnailSize.Medium}\r\n onHover={(hovering: boolean) => {\r\n /**\r\n * For some reason this needs to be called after a set timeout, otherwise\r\n * the `useHover` listener on the `buttonsRef` element will not detect it's hover\r\n * event. - Josh\r\n */\r\n window.setTimeout(() => {\r\n onSetIsHovering(hovering, index);\r\n }, 0);\r\n }}\r\n />\r\n );\r\n })}\r\n </SlidingListContainer>\r\n\r\n <WidgetButton\r\n direction={WidgetButtonDirection.Right}\r\n onClick={() => dispatch({ type: WidgetInteraction.Next })}\r\n hide={\r\n isHoveringOnFarRight || (\r\n (state.offset > state.viewableItems || state.offset === state.collection.length) &&\r\n !(isHovering && state.offset < state.collection.length)\r\n )\r\n }\r\n contents={props.contents}\r\n />\r\n {!isHoveringOnFarRight && <div className={styles.rightOverflowGradient} />}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nconst Memoized = React.memo(FixedWidget);\r\n\r\nexport { Memoized as FixedWidget };","import { ReducerActions } from 'libs/common/react/interfaces';\r\n\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\r\nimport { WidgetType } from 'libs/shared/interfaces';\r\n\r\nimport { getComputeFunction } from './FixedWidgetUtils';\r\n\r\nexport interface FixedWidgetPayload {\r\n mediaQuery?: MediaQueryStrings;\r\n contents?: WidgetContents;\r\n type?: WidgetType;\r\n collection?: any[];\r\n}\r\n\r\nexport interface FixedWidgetState {\r\n // Current position within the widget collection\r\n offset: number;\r\n // Number of items viewable in slider for the current breakpoint/viewport size\r\n viewableItems: number;\r\n // Relative position of slider in the window. Used for an inline translate3d().\r\n position: number;\r\n // Collection of widget items\r\n collection: any[];\r\n // String representation of the current media query\r\n currentSize: MediaQueryStrings;\r\n // Type of widget being managed. May change on `Resize`.\r\n type: WidgetType;\r\n}\r\n\r\nexport const initialWidgetState: FixedWidgetState = {\r\n offset: 0,\r\n viewableItems: 4,\r\n position: 0,\r\n collection: [],\r\n currentSize: MediaQueryStrings.LG,\r\n type: WidgetType.Row\r\n};\r\n\r\nconst computeNextPosition = (prevState: FixedWidgetState): object => {\r\n const { collection, viewableItems, offset, position } = prevState;\r\n\r\n const remainingCount = collection.length - offset;\r\n\r\n /**\r\n * If the remaining items are evening divisible by the items in view, or,\r\n * we have more items that can be displayed in the view, move the slider a full 100%.\r\n */\r\n if (remainingCount % viewableItems === 0 || remainingCount > viewableItems)\r\n return {\r\n position: position - 100,\r\n offset: offset + viewableItems\r\n };\r\n\r\n /**\r\n * Where there are less items than we can show in a full slide, \r\n * calculate the % movement required to only show those items.\r\n */\r\n if (remainingCount < viewableItems)\r\n return {\r\n position: position - (remainingCount / viewableItems * 100),\r\n offset: offset + remainingCount\r\n };\r\n\r\n /**\r\n * Default back to the current state as a fallback\r\n */\r\n return {\r\n position: position,\r\n offset: offset\r\n };\r\n};\r\n\r\nconst computePreviousPosition = (prevState: FixedWidgetState): object => {\r\n const { viewableItems, offset, position } = prevState;\r\n\r\n const remainingCount = offset - viewableItems;\r\n\r\n if (remainingCount % viewableItems === 0 || remainingCount > viewableItems)\r\n return {\r\n position: position + 100,\r\n offset: offset - viewableItems\r\n };\r\n\r\n if (remainingCount < viewableItems)\r\n return {\r\n position: position + (remainingCount / viewableItems * 100),\r\n offset: offset - remainingCount\r\n };\r\n\r\n return {\r\n position: position,\r\n offset: offset\r\n };\r\n};\r\n\r\nexport function FixedWidgetReducer(\r\n prevState: FixedWidgetState,\r\n action: ReducerActions<WidgetInteraction, FixedWidgetPayload>\r\n): FixedWidgetState {\r\n const { type, payload = {} } = action;\r\n\r\n switch (type) {\r\n case WidgetInteraction.Next: {\r\n return {\r\n ...prevState,\r\n ...computeNextPosition(prevState)\r\n };\r\n }\r\n\r\n case WidgetInteraction.Previous: {\r\n return {\r\n ...prevState,\r\n ...computePreviousPosition(prevState)\r\n };\r\n }\r\n\r\n case WidgetInteraction.Resize: {\r\n const computeViewableItems = getComputeFunction(payload.contents);\r\n const initialSeen = computeViewableItems(payload.mediaQuery, payload.type, payload.collection?.length);\r\n\r\n return {\r\n ...prevState,\r\n currentSize: payload.mediaQuery,\r\n position: 0,\r\n offset: initialSeen,\r\n viewableItems: initialSeen,\r\n type: payload.type\r\n };\r\n }\r\n\r\n case WidgetInteraction.Init: {\r\n const computeViewableItems = getComputeFunction(payload.contents);\r\n const initialSeen = computeViewableItems(payload.mediaQuery, payload.type, payload.collection?.length);\r\n\r\n return lazyWidgetInit({\r\n ...prevState,\r\n collection: payload.collection,\r\n currentSize: payload.mediaQuery,\r\n offset: initialSeen,\r\n viewableItems: initialSeen,\r\n type: payload.type\r\n });\r\n }\r\n\r\n default:\r\n return prevState;\r\n }\r\n}\r\n\r\nexport function lazyWidgetInit(newState: FixedWidgetState): FixedWidgetState {\r\n return { ...initialWidgetState, ...newState };\r\n}","import * as React from 'react';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { Core } from 'libs/common/core';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\r\nimport { ReducerActions } from 'libs/common/react/interfaces';\r\n\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\nimport { BaseObject, WidgetType } from 'libs/shared/interfaces';\r\n\r\nimport { FixedWidgetProps } from './FixedWidget';\r\nimport { FixedWidgetState, FixedWidgetPayload } from './FixedWidgetReducer';\r\n\r\nexport interface WidgetData {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n}\r\n\r\nexport function useFetchData(\r\n props: FixedWidgetProps,\r\n dispatch: Function,\r\n state: FixedWidgetState,\r\n mediaQueryType: MediaQueryStrings,\r\n shouldFetch: boolean\r\n): Flight.Response<any> {\r\n const { fetch, setData, type, collection: items, prefetched, contents } = props;\r\n\r\n let data = items;\r\n let res: Flight.Response<any>;\r\n\r\n if (!data || ObjectHelper.isEmpty(data) && !prefetched) {\r\n res = fetch(shouldFetch);\r\n data = res.data;\r\n }\r\n\r\n /**\r\n * Once we have the widget data, lazily update our state with the new collection\r\n */\r\n React.useEffect(() => {\r\n if (!data || ObjectHelper.isEmpty(data))\r\n return;\r\n\r\n dispatch({\r\n type: WidgetInteraction.Init,\r\n payload: {\r\n collection: FunctionHelper.isFunction(setData) ? setData(data) : data,\r\n mediaQuery: mediaQueryType,\r\n type,\r\n contents\r\n }\r\n });\r\n\r\n }, [data]);\r\n\r\n return res;\r\n}\r\n\r\n/**\r\n * This function wrapper determines which widget item images should be pre-fetched by the LazyImage component.\r\n * It does this by looking at which images are going to be shown after the users clicks on the \"Next\"\r\n * widget button.\r\n */\r\nexport function getShouldPreload(state: FixedWidgetState): (widgetItem: any) => boolean {\r\n const { offset, viewableItems, collection } = state;\r\n\r\n // The index of the latest item that has been fetched\r\n const maxLoadedIndex = offset;\r\n\r\n /**\r\n * The indicesToPreload is an array of indices of widget items that should be prefetched by the\r\n * LazyImage component\r\n */\r\n const indicesToPreload: number[] = [];\r\n for (let i = 0; i < maxLoadedIndex + viewableItems; i++) {\r\n indicesToPreload.push(i);\r\n }\r\n\r\n /**\r\n * A widget item calls this function to determine whether or not its image can be pre-fetched.\r\n * This is determined by whether or not its index has been deemed valid to be pre-fetched\r\n * by the scope above\r\n */\r\n return function shouldPreload(widgetItem: any): boolean {\r\n const index = collection.indexOf(widgetItem);\r\n\r\n return indicesToPreload.includes(index);\r\n };\r\n}\r\n\r\nexport function getCollectionAppLink(appLink: Core.AppLink, data: WidgetData): Core.AppLink {\r\n if (!appLink)\r\n return;\r\n\r\n return {\r\n ...appLink,\r\n args: appLink.args || [ data.id, TextHelper.slugify(data.name) ]\r\n };\r\n}\r\n\r\n/**\r\n * Allow explicit name and description props to override the fetched\r\n * data properties.\r\n * \r\n * @param props \r\n * @param data \r\n */\r\nexport function formatData(props: FixedWidgetProps, data: BaseObject): WidgetData {\r\n const { name, description } = props;\r\n\r\n const overrideProps: WidgetData = {};\r\n\r\n if (Array.isArray(data))\r\n return { name, description };\r\n\r\n if (props.name) overrideProps.name = name;\r\n if (props.description) overrideProps.description = description;\r\n\r\n return { ...data, ...overrideProps };\r\n}\r\n\r\n/**\r\n * The functions below are used by the reducer to compute the number of widget items\r\n * displayed on the screen based on the media query, widget type, and total number of items.\r\n */\r\ntype ComputeFunction = (mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number) => number;\r\n\r\nexport function getComputeFunction(contents: WidgetContents): ComputeFunction {\r\n switch (contents) {\r\n case WidgetContents.Playlists:\r\n return computeViewablePlaylists;\r\n\r\n case WidgetContents.Videos:\r\n return computeViewableVideos;\r\n\r\n case WidgetContents.Subjects:\r\n return computeViewableSubjects;\r\n\r\n case WidgetContents.UserChannels:\r\n return computeViewableUserChannels;\r\n\r\n case WidgetContents.Series:\r\n default:\r\n return computeViewableSeries;\r\n }\r\n}\r\n\r\nfunction computeViewablePlaylists(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 5;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 2;\r\n else if (mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableVideos(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 4;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 2;\r\n else if (mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n else if (\r\n mediaQuery === MediaQueryStrings.LG\r\n || mediaQuery === MediaQueryStrings.XL\r\n || mediaQuery === MediaQueryStrings.XXL\r\n ) {\r\n if (type === WidgetType.LargeRow)\r\n maxItems = 3;\r\n\r\n else if (itemCount < 4)\r\n maxItems = 3;\r\n\r\n else\r\n maxItems = 4;\r\n }\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableSubjects(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 6;\r\n\r\n if (mediaQuery === MediaQueryStrings.SM || mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n else if (mediaQuery === MediaQueryStrings.LG)\r\n maxItems = 5;\r\n else if (mediaQuery === MediaQueryStrings.XL || mediaQuery === MediaQueryStrings.XXL)\r\n maxItems = 6;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableUserChannels(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 6;\r\n\r\n if (mediaQuery === MediaQueryStrings.SM || mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n else if (mediaQuery === MediaQueryStrings.LG)\r\n maxItems = 5;\r\n else if (mediaQuery === MediaQueryStrings.XL || mediaQuery === MediaQueryStrings.XXL)\r\n maxItems = 6;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableSeries(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 4;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 2;\r\n else if (mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 3;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\n/**\r\n * Touch event handlers\r\n */\r\nexport function getOnTouchStart(\r\n widgetState: FixedWidgetState,\r\n containerRef: React.MutableRefObject<HTMLDivElement>,\r\n containerWidth: number,\r\n setContainerWidth: React.Dispatch<number>,\r\n initialTouchX: number,\r\n setInitialTouchX: React.Dispatch<number>,\r\n setPercentageDragged: React.Dispatch<number>\r\n): (event: React.TouchEvent<HTMLDivElement>) => void {\r\n return function(event: React.TouchEvent<HTMLDivElement>): void {\r\n const firstTouch = event.touches.item(0);\r\n const touchX = firstTouch.clientX;\r\n\r\n /**\r\n * Runs only on the very first touch event.\r\n * \r\n * Sets the initial x-coordinate as a reference point to calculate how far the user has dragged before\r\n * they release their finder\r\n */\r\n if (!initialTouchX) {\r\n containerRef.current.style.transition = '';\r\n\r\n setContainerWidth(containerRef.current.getBoundingClientRect().width);\r\n setInitialTouchX(touchX);\r\n }\r\n\r\n const pixelsDragged = initialTouchX - touchX;\r\n\r\n // Calculate how far the user has moved their finger as a percentage of the widget's container element\r\n let currentPercentageDragged = ((pixelsDragged / containerWidth) * 100);\r\n\r\n /**\r\n * These 2 if statements prevent the user from dragging the widget beyond its limits.\r\n * One if statement handles if they have dragged to the left, and the other is for dragging to the right.\r\n * \r\n * The same logic is used to hide the widget buttons (see the `hide` prop passed to `<WidgetButton />`)\r\n */\r\n if (currentPercentageDragged < 0 && (widgetState.offset === widgetState.viewableItems))\r\n currentPercentageDragged = 0;\r\n\r\n else if (currentPercentageDragged > 0 && (widgetState.offset === widgetState.collection.length))\r\n currentPercentageDragged = 0;\r\n\r\n setPercentageDragged(currentPercentageDragged);\r\n };\r\n}\r\n\r\nconst DRAG_TOLERANCE = 7.5; // % of container width using to trigger a transition.\r\n\r\nexport function getOnTouchEnd(\r\n containerRef: React.MutableRefObject<HTMLDivElement>,\r\n setInitialTouchX: React.Dispatch<number>,\r\n percentageDragged: number,\r\n setPercentageDragged: React.Dispatch<number>,\r\n dispatch: React.Dispatch<ReducerActions<WidgetInteraction, FixedWidgetPayload>>\r\n): () => void {\r\n return function(): void {\r\n containerRef.current.style.transition = 'transform .5s ease-in-out';\r\n setInitialTouchX(null);\r\n\r\n /**\r\n * Only trigger a Next/Previous widget event if the user has dragged beyond DRAG_TOLERANCE% either way of the\r\n * container's width. This means if the user only drags left/right a tiny little bit, the widget\r\n * will simply slide back into its original place.\r\n */\r\n if (Math.abs(percentageDragged) >= DRAG_TOLERANCE) {\r\n const reducerAction = percentageDragged > 0 ? WidgetInteraction.Next : WidgetInteraction.Previous;\r\n\r\n dispatch({\r\n type: reducerAction\r\n });\r\n }\r\n\r\n setPercentageDragged(0);\r\n };\r\n}","import * as React from 'react';\r\n\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { WidgetType } from 'libs/shared/interfaces';\r\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\r\n\r\nimport styles from './fixed-widget.scss';\r\n\r\nfunction useMediaQueryListeners(): HashObject {\r\n const mediaQuery = useGetMediaQueryString();\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n return {\r\n itemCount: 1,\r\n colSize: 12\r\n };\r\n\r\n if (mediaQuery === MediaQueryStrings.SM)\r\n return {\r\n itemCount: 2,\r\n colSize: 6\r\n };\r\n\r\n if (mediaQuery === MediaQueryStrings.MD)\r\n return {\r\n itemCount: 3,\r\n colSize: 4\r\n };\r\n\r\n return {\r\n itemCount: 4,\r\n colSize: 3\r\n };\r\n}\r\n\r\nconst PartialLoadingItem = ({ colSize }: HashObject) => (\r\n <div className={`col-${colSize}`}>\r\n <div className={`${styles.partialItem} mx-1 partial-loading-background`} />\r\n </div>\r\n);\r\n\r\ninterface PartialFixedWidgetProps {\r\n type: WidgetType;\r\n}\r\n\r\nexport function PartialFixedWidget(props: PartialFixedWidgetProps): JSX.Element {\r\n const { itemCount, colSize } = useMediaQueryListeners();\r\n\r\n let items = [];\r\n for (let i = 0; i < itemCount; i++) {\r\n items.push(<PartialLoadingItem key={i} colSize={colSize} />);\r\n }\r\n\r\n return (\r\n <div className='widget pb-3'>\r\n <div className={`${styles.partialHeading} mx-1 mb-1 partial-loading-background`}></div>\r\n <div className={`${styles.partialDescription} mx-1 my-1 partial-loading-background`}></div>\r\n <div className={`${styles.slidingContainer} row`}>\r\n {items}\r\n </div>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"leftOverflowGradient\":\"cv--leftOverflowGradient--u_MPi\",\"rightOverflowGradient\":\"cv--rightOverflowGradient--38ooL\",\"partialHeading\":\"cv--partialHeading--OVsdA\",\"partialDescription\":\"cv--partialDescription--1HtA2\",\"partialItem\":\"cv--partialItem--3G2hG\",\"largePartialItem\":\"cv--largePartialItem--NnK8O\"};","import * as React from 'react';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\nimport { UserAgentHelper } from 'libs/common/backbone/utils/UserAgentHelper';\r\n\r\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\r\nimport { DragHelper } from 'libs/shared/utils/DragHelper';\r\n\r\nconst isTouchScreen = UserAgentHelper.isTouchScreen();\r\n\r\nfunction getPositionStyling(xPosition: number, measurement: CssMeasurement, dragPercentage?: number): object {\r\n // Used in situations where a touch screen user is dragging the `<FixedWidget />`\r\n if (measurement === CssMeasurement.Percentage && dragPercentage)\r\n xPosition = xPosition - dragPercentage;\r\n\r\n return {\r\n transform: `translate3d(${xPosition}${measurement}, 0px, 0px)`,\r\n transition: 'transform .5s ease-in-out'\r\n };\r\n}\r\n\r\ninterface SlidingListContainerProps extends React.PropsWithChildren<{}> {\r\n position: number;\r\n positionType: CssMeasurement;\r\n\r\n onDrag?: (event: React.DragEvent<HTMLDivElement>) => void;\r\n onDragEnd?: () => void;\r\n\r\n onTouchMove?: (event: React.TouchEvent<HTMLDivElement>) => void;\r\n onTouchEnd?: () => void;\r\n\r\n percentageDragged?: number;\r\n}\r\n\r\nexport const SlidingListContainer = React.forwardRef((\r\n props: SlidingListContainerProps,\r\n ref: React.MutableRefObject<HTMLDivElement>\r\n): JSX.Element => {\r\n const { children, positionType, onDrag, onDragEnd, onTouchMove, onTouchEnd, percentageDragged, position = 0 } = props;\r\n\r\n function getEventListeners(): HashObject {\r\n const listenerProps: HashObject = {};\r\n\r\n if (onDrag && onDragEnd) {\r\n listenerProps.draggable = true;\r\n listenerProps.onDrag = onDrag;\r\n listenerProps.onDragEnd = onDragEnd;\r\n listenerProps.onDragStart = DragHelper.hideDragImage;\r\n listenerProps.onDragOver = (e: React.DragEvent<HTMLDivElement>) => e.preventDefault();\r\n }\r\n\r\n if (onTouchMove && onTouchEnd && isTouchScreen) {\r\n listenerProps.onTouchMoveCapture = onTouchMove;\r\n listenerProps.onTouchEndCapture = onTouchEnd;\r\n }\r\n\r\n return listenerProps;\r\n }\r\n\r\n return (\r\n <div\r\n className='d-flex flex-nowrap position-relative w-100'\r\n style={getPositionStyling(position, positionType, percentageDragged)}\r\n ref={ref}\r\n {...getEventListeners()}\r\n >\r\n {children}\r\n </div>\r\n );\r\n});","import * as React from 'react';\r\n\r\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\n\r\nimport styles from './widget-button.scss';\r\n\r\nexport enum WidgetButtonDirection {\r\n Left,\r\n Right\r\n}\r\n\r\nfunction getPositionClass(contents: WidgetContents, isLeftDirection: boolean): string {\r\n let className = styles.topPos;\r\n\r\n // Left / Right\r\n if (isLeftDirection)\r\n className += ' ' + styles.left;\r\n else\r\n className += ' ' + styles.right;\r\n\r\n return className;\r\n}\r\n\r\ninterface WidgetButtonProps {\r\n onClick: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n direction: WidgetButtonDirection;\r\n hide: boolean;\r\n contents?: WidgetContents;\r\n useGradientBackdrop?: boolean;\r\n}\r\n\r\nexport const WidgetButton = React.memo(function(props: WidgetButtonProps): JSX.Element {\r\n const isLeft = props.direction === WidgetButtonDirection.Left;\r\n\r\n const arrowSvg = isLeft ? cvSvgLibrary.ChevronLeft : cvSvgLibrary.ChevronRight;\r\n\r\n const positionClass = getPositionClass(props.contents, isLeft);\r\n\r\n if (props.hide)\r\n return <></>;\r\n\r\n return (\r\n <>\r\n <div role='button' className={`${positionClass} ${styles.button}`} onClick={props.onClick}>\r\n <SvgContainer\r\n svgName={arrowSvg}\r\n size={SvgContainerSize.Medium}\r\n className='svg-container d-inline-block'\r\n />\r\n </div>\r\n\r\n {props.useGradientBackdrop && <div className={isLeft ? styles.gradientLeft : styles.gradientRight} />}\r\n <div role='button' onClick={props.onClick} className={\r\n isLeft ? styles.extendedClickableAreaLeft : styles.extendedClickableAreaRight\r\n } />\r\n </>\r\n );\r\n}, (prevProps, nextProps) => prevProps.hide === nextProps.hide);","// extracted by mini-css-extract-plugin\nmodule.exports = {\"left\":\"cv--left--789pr\",\"right\":\"cv--right--1P8qt\",\"button\":\"cv--button--24q_F\",\"gradientLeft\":\"cv--gradientLeft--3fkiw\",\"gradientRight\":\"cv--gradientRight--2RDDy\",\"extendedClickableAreaRight\":\"cv--extendedClickableAreaRight--13dgy\",\"extendedClickableAreaLeft\":\"cv--extendedClickableAreaLeft--37LtK\",\"videoTopPos\":\"cv--videoTopPos--1XTRO\",\"topPos\":\"cv--topPos--3_p_J\"};","export enum CssMeasurement {\r\n Percentage = '%',\r\n Pixels = 'px'\r\n}","export enum WidgetContents {\r\n Videos = 'videos',\r\n Series = 'series',\r\n Subjects = 'subjects',\r\n Playlists = 'playlists',\r\n UserChannels = 'user channels'\r\n}","export enum WidgetInteraction {\r\n Init = 'init',\r\n Next = 'next',\r\n Previous = 'previous',\r\n Resize = 'resize',\r\n Drag = 'drag'\r\n}","import { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { useMediaQuery } from './UseMediaQuery';\r\n\r\nexport function useGetMediaQueryString(): MediaQueryStrings {\r\n /**\r\n * I tried to do this by looping through `MediaQueryStrings`'s keys, but you can't run\r\n * hooks in a loop :(\r\n */\r\n const isXS = useMediaQuery(MediaQueryStrings.XS);\r\n const isSM = useMediaQuery(MediaQueryStrings.SM);\r\n const isMD = useMediaQuery(MediaQueryStrings.MD);\r\n const isLG = useMediaQuery(MediaQueryStrings.LG);\r\n const isXL = useMediaQuery(MediaQueryStrings.XL);\r\n const isXXL = useMediaQuery(MediaQueryStrings.XXL);\r\n\r\n let currentString = MediaQueryStrings.LG; // default\r\n if (isXS) currentString = MediaQueryStrings.XS;\r\n if (isSM) currentString = MediaQueryStrings.SM;\r\n if (isMD) currentString = MediaQueryStrings.MD;\r\n if (isLG) currentString = MediaQueryStrings.LG;\r\n if (isXL) currentString = MediaQueryStrings.XL;\r\n if (isXXL) currentString = MediaQueryStrings.XXL;\r\n\r\n return currentString;\r\n}","import * as React from 'react';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\ninterface HoverOptions {\r\n /**\r\n * Classes to be applied to the target element on hover. Useful if you want to style the element on hover\r\n * after a delay (controlled by the `timeout` option below)\r\n */\r\n className?: string;\r\n\r\n /**\r\n * A delay between when the user actually hovers on the element, and when the hook returns `true` for `isHovering`.\r\n * This can be used to determine whether a user has actually intended for a hover event on an element to be\r\n * triggered or not. Defaults to 0.\r\n */\r\n delay?: number;\r\n}\r\n\r\nconst defaultOptions: HoverOptions = {\r\n className: '',\r\n delay: 0\r\n};\r\n\r\n/**\r\n * This hook detects hover events on an element.\r\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\r\n */\r\nexport function useHover<T extends HTMLElement>(\r\n options: HoverOptions = defaultOptions\r\n): [ React.MutableRefObject<T>, boolean ] {\r\n const [ isHovering, setHovering ] = React.useState(false);\r\n\r\n const ref = React.useRef<T>(null);\r\n\r\n const triggerHover = FunctionHelper.throttle(() => {\r\n if (options.className)\r\n ref.current?.classList?.add(options.className);\r\n\r\n setHovering(true);\r\n }, options.delay, { leading: false });\r\n\r\n const handleMouseOut = () => {\r\n if (FunctionHelper.isFunction(triggerHover.cancel))\r\n triggerHover.cancel();\r\n\r\n if (options.className)\r\n ref.current?.classList?.remove(options.className);\r\n\r\n setHovering(false);\r\n };\r\n\r\n React.useLayoutEffect(() => {\r\n const node = ref.current;\r\n\r\n if (node) {\r\n node.addEventListener('mouseenter', triggerHover);\r\n node.addEventListener('mouseleave', handleMouseOut);\r\n\r\n return () => {\r\n node.removeEventListener('mouseenter', triggerHover);\r\n node.removeEventListener('mouseleave', handleMouseOut);\r\n };\r\n }\r\n }, [ref.current]);\r\n\r\n return [ ref, isHovering ];\r\n}\r\n\r\nexport function useHoverIntent<T extends HTMLElement>(className: string): [ React.MutableRefObject<T>, boolean ] {\r\n return useHover({\r\n className,\r\n delay: 275\r\n });\r\n}","import * as ReactIntersectionObserver from 'react-intersection-observer';\r\n\r\ninterface LazyUtils {\r\n ref: (node?: Element) => void | null;\r\n inView: boolean;\r\n}\r\n\r\nexport function useLazyLoad(lazyLoadProp: boolean): LazyUtils {\r\n const lazyLoad = lazyLoadProp && !(typeof (window as any).IntersectionObserver === 'undefined');\r\n let [ ref, inView ] = ReactIntersectionObserver.useInView({ triggerOnce: true });\r\n\r\n if (!lazyLoad)\r\n inView = true;\r\n\r\n return { ref, inView };\r\n}","const blankImage = new Image();\r\nblankImage.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=';\r\n\r\nexport const DragHelper = {\r\n // This removes the image that appears when you drag a draggable HTML element\r\n hideDragImage(event: React.DragEvent<HTMLElement>): void {\r\n event.dataTransfer.setDragImage(blankImage, 0, 0);\r\n }\r\n};"],"sourceRoot":""}
|
package/dist/scripts/50.chunk.js
DELETED
|
@@ -1,318 +0,0 @@
|
|
|
1
|
-
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[50],{
|
|
2
|
-
|
|
3
|
-
/***/ "../../../node_modules/copy-to-clipboard/index.js":
|
|
4
|
-
/*!********************************************************************************!*\
|
|
5
|
-
!*** C:/ClickView/front-end/clickview/node_modules/copy-to-clipboard/index.js ***!
|
|
6
|
-
\********************************************************************************/
|
|
7
|
-
/*! no static exports found */
|
|
8
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
9
|
-
|
|
10
|
-
"use strict";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var deselectCurrent = __webpack_require__(/*! toggle-selection */ "../../../node_modules/toggle-selection/index.js");
|
|
14
|
-
|
|
15
|
-
var clipboardToIE11Formatting = {
|
|
16
|
-
"text/plain": "Text",
|
|
17
|
-
"text/html": "Url",
|
|
18
|
-
"default": "Text"
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
var defaultMessage = "Copy to clipboard: #{key}, Enter";
|
|
22
|
-
|
|
23
|
-
function format(message) {
|
|
24
|
-
var copyKey = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C";
|
|
25
|
-
return message.replace(/#{\s*key\s*}/g, copyKey);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function copy(text, options) {
|
|
29
|
-
var debug,
|
|
30
|
-
message,
|
|
31
|
-
reselectPrevious,
|
|
32
|
-
range,
|
|
33
|
-
selection,
|
|
34
|
-
mark,
|
|
35
|
-
success = false;
|
|
36
|
-
if (!options) {
|
|
37
|
-
options = {};
|
|
38
|
-
}
|
|
39
|
-
debug = options.debug || false;
|
|
40
|
-
try {
|
|
41
|
-
reselectPrevious = deselectCurrent();
|
|
42
|
-
|
|
43
|
-
range = document.createRange();
|
|
44
|
-
selection = document.getSelection();
|
|
45
|
-
|
|
46
|
-
mark = document.createElement("span");
|
|
47
|
-
mark.textContent = text;
|
|
48
|
-
// reset user styles for span element
|
|
49
|
-
mark.style.all = "unset";
|
|
50
|
-
// prevents scrolling to the end of the page
|
|
51
|
-
mark.style.position = "fixed";
|
|
52
|
-
mark.style.top = 0;
|
|
53
|
-
mark.style.clip = "rect(0, 0, 0, 0)";
|
|
54
|
-
// used to preserve spaces and line breaks
|
|
55
|
-
mark.style.whiteSpace = "pre";
|
|
56
|
-
// do not inherit user-select (it may be `none`)
|
|
57
|
-
mark.style.webkitUserSelect = "text";
|
|
58
|
-
mark.style.MozUserSelect = "text";
|
|
59
|
-
mark.style.msUserSelect = "text";
|
|
60
|
-
mark.style.userSelect = "text";
|
|
61
|
-
mark.addEventListener("copy", function(e) {
|
|
62
|
-
e.stopPropagation();
|
|
63
|
-
if (options.format) {
|
|
64
|
-
e.preventDefault();
|
|
65
|
-
if (typeof e.clipboardData === "undefined") { // IE 11
|
|
66
|
-
debug && console.warn("unable to use e.clipboardData");
|
|
67
|
-
debug && console.warn("trying IE specific stuff");
|
|
68
|
-
window.clipboardData.clearData();
|
|
69
|
-
var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"]
|
|
70
|
-
window.clipboardData.setData(format, text);
|
|
71
|
-
} else { // all other browsers
|
|
72
|
-
e.clipboardData.clearData();
|
|
73
|
-
e.clipboardData.setData(options.format, text);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (options.onCopy) {
|
|
77
|
-
e.preventDefault();
|
|
78
|
-
options.onCopy(e.clipboardData);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
document.body.appendChild(mark);
|
|
83
|
-
|
|
84
|
-
range.selectNodeContents(mark);
|
|
85
|
-
selection.addRange(range);
|
|
86
|
-
|
|
87
|
-
var successful = document.execCommand("copy");
|
|
88
|
-
if (!successful) {
|
|
89
|
-
throw new Error("copy command was unsuccessful");
|
|
90
|
-
}
|
|
91
|
-
success = true;
|
|
92
|
-
} catch (err) {
|
|
93
|
-
debug && console.error("unable to copy using execCommand: ", err);
|
|
94
|
-
debug && console.warn("trying IE specific stuff");
|
|
95
|
-
try {
|
|
96
|
-
window.clipboardData.setData(options.format || "text", text);
|
|
97
|
-
options.onCopy && options.onCopy(window.clipboardData);
|
|
98
|
-
success = true;
|
|
99
|
-
} catch (err) {
|
|
100
|
-
debug && console.error("unable to copy using clipboardData: ", err);
|
|
101
|
-
debug && console.error("falling back to prompt");
|
|
102
|
-
message = format("message" in options ? options.message : defaultMessage);
|
|
103
|
-
window.prompt(message, text);
|
|
104
|
-
}
|
|
105
|
-
} finally {
|
|
106
|
-
if (selection) {
|
|
107
|
-
if (typeof selection.removeRange == "function") {
|
|
108
|
-
selection.removeRange(range);
|
|
109
|
-
} else {
|
|
110
|
-
selection.removeAllRanges();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
if (mark) {
|
|
115
|
-
document.body.removeChild(mark);
|
|
116
|
-
}
|
|
117
|
-
reselectPrevious();
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
return success;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
module.exports = copy;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
/***/ }),
|
|
127
|
-
|
|
128
|
-
/***/ "../../../node_modules/react-copy-to-clipboard/lib/Component.js":
|
|
129
|
-
/*!**********************************************************************************************!*\
|
|
130
|
-
!*** C:/ClickView/front-end/clickview/node_modules/react-copy-to-clipboard/lib/Component.js ***!
|
|
131
|
-
\**********************************************************************************************/
|
|
132
|
-
/*! no static exports found */
|
|
133
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
134
|
-
|
|
135
|
-
"use strict";
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
Object.defineProperty(exports, "__esModule", {
|
|
139
|
-
value: true
|
|
140
|
-
});
|
|
141
|
-
exports.CopyToClipboard = void 0;
|
|
142
|
-
|
|
143
|
-
var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
|
|
144
|
-
|
|
145
|
-
var _copyToClipboard = _interopRequireDefault(__webpack_require__(/*! copy-to-clipboard */ "../../../node_modules/copy-to-clipboard/index.js"));
|
|
146
|
-
|
|
147
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
148
|
-
|
|
149
|
-
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
150
|
-
|
|
151
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
152
|
-
|
|
153
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
154
|
-
|
|
155
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
156
|
-
|
|
157
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
158
|
-
|
|
159
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
160
|
-
|
|
161
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
162
|
-
|
|
163
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
164
|
-
|
|
165
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
166
|
-
|
|
167
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
168
|
-
|
|
169
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
170
|
-
|
|
171
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
172
|
-
|
|
173
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
174
|
-
|
|
175
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
176
|
-
|
|
177
|
-
var CopyToClipboard =
|
|
178
|
-
/*#__PURE__*/
|
|
179
|
-
function (_React$PureComponent) {
|
|
180
|
-
_inherits(CopyToClipboard, _React$PureComponent);
|
|
181
|
-
|
|
182
|
-
function CopyToClipboard() {
|
|
183
|
-
var _getPrototypeOf2;
|
|
184
|
-
|
|
185
|
-
var _this;
|
|
186
|
-
|
|
187
|
-
_classCallCheck(this, CopyToClipboard);
|
|
188
|
-
|
|
189
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
190
|
-
args[_key] = arguments[_key];
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CopyToClipboard)).call.apply(_getPrototypeOf2, [this].concat(args)));
|
|
194
|
-
|
|
195
|
-
_defineProperty(_assertThisInitialized(_this), "onClick", function (event) {
|
|
196
|
-
var _this$props = _this.props,
|
|
197
|
-
text = _this$props.text,
|
|
198
|
-
onCopy = _this$props.onCopy,
|
|
199
|
-
children = _this$props.children,
|
|
200
|
-
options = _this$props.options;
|
|
201
|
-
|
|
202
|
-
var elem = _react["default"].Children.only(children);
|
|
203
|
-
|
|
204
|
-
var result = (0, _copyToClipboard["default"])(text, options);
|
|
205
|
-
|
|
206
|
-
if (onCopy) {
|
|
207
|
-
onCopy(text, result);
|
|
208
|
-
} // Bypass onClick if it was present
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
if (elem && elem.props && typeof elem.props.onClick === 'function') {
|
|
212
|
-
elem.props.onClick(event);
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
return _this;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
_createClass(CopyToClipboard, [{
|
|
220
|
-
key: "render",
|
|
221
|
-
value: function render() {
|
|
222
|
-
var _this$props2 = this.props,
|
|
223
|
-
_text = _this$props2.text,
|
|
224
|
-
_onCopy = _this$props2.onCopy,
|
|
225
|
-
_options = _this$props2.options,
|
|
226
|
-
children = _this$props2.children,
|
|
227
|
-
props = _objectWithoutProperties(_this$props2, ["text", "onCopy", "options", "children"]);
|
|
228
|
-
|
|
229
|
-
var elem = _react["default"].Children.only(children);
|
|
230
|
-
|
|
231
|
-
return _react["default"].cloneElement(elem, _objectSpread({}, props, {
|
|
232
|
-
onClick: this.onClick
|
|
233
|
-
}));
|
|
234
|
-
}
|
|
235
|
-
}]);
|
|
236
|
-
|
|
237
|
-
return CopyToClipboard;
|
|
238
|
-
}(_react["default"].PureComponent);
|
|
239
|
-
|
|
240
|
-
exports.CopyToClipboard = CopyToClipboard;
|
|
241
|
-
|
|
242
|
-
_defineProperty(CopyToClipboard, "defaultProps", {
|
|
243
|
-
onCopy: undefined,
|
|
244
|
-
options: undefined
|
|
245
|
-
});
|
|
246
|
-
|
|
247
|
-
/***/ }),
|
|
248
|
-
|
|
249
|
-
/***/ "../../../node_modules/react-copy-to-clipboard/lib/index.js":
|
|
250
|
-
/*!******************************************************************************************!*\
|
|
251
|
-
!*** C:/ClickView/front-end/clickview/node_modules/react-copy-to-clipboard/lib/index.js ***!
|
|
252
|
-
\******************************************************************************************/
|
|
253
|
-
/*! no static exports found */
|
|
254
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
255
|
-
|
|
256
|
-
"use strict";
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
var _require = __webpack_require__(/*! ./Component */ "../../../node_modules/react-copy-to-clipboard/lib/Component.js"),
|
|
260
|
-
CopyToClipboard = _require.CopyToClipboard;
|
|
261
|
-
|
|
262
|
-
CopyToClipboard.CopyToClipboard = CopyToClipboard;
|
|
263
|
-
module.exports = CopyToClipboard;
|
|
264
|
-
|
|
265
|
-
/***/ }),
|
|
266
|
-
|
|
267
|
-
/***/ "../../../node_modules/toggle-selection/index.js":
|
|
268
|
-
/*!*******************************************************************************!*\
|
|
269
|
-
!*** C:/ClickView/front-end/clickview/node_modules/toggle-selection/index.js ***!
|
|
270
|
-
\*******************************************************************************/
|
|
271
|
-
/*! no static exports found */
|
|
272
|
-
/***/ (function(module, exports) {
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
module.exports = function () {
|
|
276
|
-
var selection = document.getSelection();
|
|
277
|
-
if (!selection.rangeCount) {
|
|
278
|
-
return function () {};
|
|
279
|
-
}
|
|
280
|
-
var active = document.activeElement;
|
|
281
|
-
|
|
282
|
-
var ranges = [];
|
|
283
|
-
for (var i = 0; i < selection.rangeCount; i++) {
|
|
284
|
-
ranges.push(selection.getRangeAt(i));
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML
|
|
288
|
-
case 'INPUT':
|
|
289
|
-
case 'TEXTAREA':
|
|
290
|
-
active.blur();
|
|
291
|
-
break;
|
|
292
|
-
|
|
293
|
-
default:
|
|
294
|
-
active = null;
|
|
295
|
-
break;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
selection.removeAllRanges();
|
|
299
|
-
return function () {
|
|
300
|
-
selection.type === 'Caret' &&
|
|
301
|
-
selection.removeAllRanges();
|
|
302
|
-
|
|
303
|
-
if (!selection.rangeCount) {
|
|
304
|
-
ranges.forEach(function(range) {
|
|
305
|
-
selection.addRange(range);
|
|
306
|
-
});
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
active &&
|
|
310
|
-
active.focus();
|
|
311
|
-
};
|
|
312
|
-
};
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
/***/ })
|
|
316
|
-
|
|
317
|
-
}]);
|
|
318
|
-
//# sourceMappingURL=50.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/node_modules/copy-to-clipboard/index.js","file://C:/ClickView/front-end/clickview/node_modules/react-copy-to-clipboard/lib/Component.js","file://C:/ClickView/front-end/clickview/node_modules/react-copy-to-clipboard/lib/index.js","file://C:/ClickView/front-end/clickview/node_modules/toggle-selection/index.js"],"names":[],"mappings":"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","file":"scripts/50.chunk.js","sourcesContent":["\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n function CopyToClipboard() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CopyToClipboard)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, [\"text\", \"onCopy\", \"options\", \"children\"]);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return _react[\"default\"].cloneElement(elem, _objectSpread({}, props, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n"],"sourceRoot":""}
|
package/dist/scripts/51.chunk.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[51],{
|
|
2
|
-
|
|
3
|
-
/***/ "./src/apps/embed/views/embed/EmbedView.tsx":
|
|
4
|
-
/*!**************************************************!*\
|
|
5
|
-
!*** ./src/apps/embed/views/embed/EmbedView.tsx ***!
|
|
6
|
-
\**************************************************/
|
|
7
|
-
/*! exports provided: EmbedView */
|
|
8
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9
|
-
|
|
10
|
-
"use strict";
|
|
11
|
-
__webpack_require__.r(__webpack_exports__);
|
|
12
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EmbedView", function() { return EmbedView; });
|
|
13
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
14
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
15
|
-
/* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
|
|
16
|
-
/* harmony import */ var _libs_shared_src_flight_requests_ConfigRequests__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/flight-requests/ConfigRequests */ "../../libs/shared/src/flight-requests/ConfigRequests.ts");
|
|
17
|
-
/* harmony import */ var shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! shared/flight-requests/VideoRequests */ "./src/shared/flight-requests/VideoRequests.ts");
|
|
18
|
-
/* harmony import */ var shared_components_web_player_WebPlayer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! shared/components/web-player/WebPlayer */ "./src/shared/components/web-player/WebPlayer.tsx");
|
|
19
|
-
/* harmony import */ var _embed_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./embed.scss */ "./src/apps/embed/views/embed/embed.scss");
|
|
20
|
-
/* harmony import */ var _embed_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_embed_scss__WEBPACK_IMPORTED_MODULE_5__);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
function EmbedView(props) {
|
|
28
|
-
var video = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_1__["Flight"].useBasicFetch(shared_flight_requests_VideoRequests__WEBPACK_IMPORTED_MODULE_3__["VideoRequests"].video(props.id));
|
|
29
|
-
var config = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_1__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_ConfigRequests__WEBPACK_IMPORTED_MODULE_2__["ConfigRequests"].config);
|
|
30
|
-
/**
|
|
31
|
-
* Our body normally has overflow-y: scroll;
|
|
32
|
-
* So we need to override it for the embedded play view
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
|
|
36
|
-
document.body.classList.add('overflow-hidden');
|
|
37
|
-
return function () {
|
|
38
|
-
return document.body.classList.remove('overflow-hidden');
|
|
39
|
-
};
|
|
40
|
-
}, []);
|
|
41
|
-
if (!video.data || !config.data) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
|
|
42
|
-
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](shared_components_web_player_WebPlayer__WEBPACK_IMPORTED_MODULE_4__["WebPlayer"], {
|
|
43
|
-
id: video.data.id,
|
|
44
|
-
webPlayerHost: config.data.webPlayerUrl,
|
|
45
|
-
className: _embed_scss__WEBPACK_IMPORTED_MODULE_5___default.a.embeddedPlayer
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/***/ }),
|
|
50
|
-
|
|
51
|
-
/***/ "./src/apps/embed/views/embed/embed.scss":
|
|
52
|
-
/*!***********************************************!*\
|
|
53
|
-
!*** ./src/apps/embed/views/embed/embed.scss ***!
|
|
54
|
-
\***********************************************/
|
|
55
|
-
/*! no static exports found */
|
|
56
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
57
|
-
|
|
58
|
-
// extracted by mini-css-extract-plugin
|
|
59
|
-
module.exports = {"embeddedPlayer":"cv--embeddedPlayer--3kXb6"};
|
|
60
|
-
|
|
61
|
-
/***/ })
|
|
62
|
-
|
|
63
|
-
}]);
|
|
64
|
-
//# sourceMappingURL=51.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/embed/views/embed/EmbedView.tsx","webpack://@clickview/lite/./src/apps/embed/views/embed/embed.scss?7896"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AAEA;AACA;AAEA;AAWM,SAAU,SAAV,CAAoB,KAApB,EAAyC;AAC7C,MAAM,KAAK,GAAG,6DAAM,CAAC,aAAP,CAA4B,kFAAa,CAAC,KAAd,CAAoB,KAAK,CAAC,EAA1B,CAA5B,CAAd;AACA,MAAM,MAAM,GAAG,6DAAM,CAAC,aAAP,CAA6B,8FAAc,CAAC,MAA5C,CAAf;AAEA;;;;;AAIA,kDAAgB,YAAK;AACnB,YAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,GAAxB,CAA4B,iBAA5B;AACA,WAAO;AAAA,aAAM,QAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,MAAxB,CAA+B,iBAA/B,CAAN;AAAA,KAAP;AACD,GAHD,EAGG,EAHH;AAMA,MAAI,CAAC,KAAK,CAAC,IAAP,IAAe,CAAC,MAAM,CAAC,IAA3B,EACE,OAAO,yGAAP;AAEF,SACE,oDAAC,gFAAD,EAAU;AAAC,MAAE,EAAE,KAAK,CAAC,IAAN,CAAW,EAAhB;AAAoB,iBAAa,EAAE,MAAM,CAAC,IAAP,CAAY,YAA/C;AAA6D,aAAS,EAAE,kDAAM,CAAC;AAA/E,GAAV,CADF;AAGD,C;;;;;;;;;;;ACvCD;AACA,kBAAkB,8C","file":"scripts/51.chunk.js","sourcesContent":["import * as React from 'react';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { Video, Config } from 'libs/shared/interfaces';\r\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\r\n\r\nimport { VideoRequests } from 'shared/flight-requests/VideoRequests';\r\nimport { WebPlayer } from 'shared/components/web-player/WebPlayer';\r\n\r\nimport styles from './embed.scss';\r\n\r\ninterface EmbedViewProps {\r\n /**\r\n * TODO: Replace id with shortcode. It's just a master id now\r\n * as a placeholder\r\n */\r\n id: string;\r\n autoplay: boolean;\r\n}\r\n\r\nexport function EmbedView(props: EmbedViewProps): JSX.Element {\r\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\r\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config);\r\n\r\n /**\r\n * Our body normally has overflow-y: scroll;\r\n * So we need to override it for the embedded play view\r\n */\r\n React.useEffect(() => {\r\n document.body.classList.add('overflow-hidden');\r\n return () => document.body.classList.remove('overflow-hidden');\r\n }, []);\r\n\r\n\r\n if (!video.data || !config.data)\r\n return <></>;\r\n\r\n return (\r\n <WebPlayer id={video.data.id} webPlayerHost={config.data.webPlayerUrl} className={styles.embeddedPlayer} />\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"embeddedPlayer\":\"cv--embeddedPlayer--3kXb6\"};"],"sourceRoot":""}
|