{"version":3,"file":"499.main.js","mappings":"4LAwCA,SAASA,GAAW,SAAEC,EAAQ,SAAEC,EAAQ,OAAEC,GAAS,IAC/C,MAAO,CAAEC,IAAe,IAAAC,WAAUC,EAAaJ,IACzCK,GAAiB,IAAAC,aAAOC,GAI9B,IAAKH,EAAaJ,GAAW,CACzB,MAAM,SAAEQ,KAAaC,GAAmBT,EACxCK,EAAeK,QAAUF,GACzB,OAAaC,EACjB,CAUA,OATA,IAAAE,YAAU,KACFP,EAAaJ,IACbA,IAAWY,MAAK,EAAGJ,cAAaC,OAC5B,OAAaA,GACbJ,EAAeK,QAAUF,EACzBN,GAAY,EAAK,GAEzB,GACD,IACK,gBAAoBW,EAAA,WAAsB,CAAEC,MAAO,CAAEN,SAAUH,EAAeK,QAAST,WAAYF,EAC/G,CACA,SAASK,EAAaJ,GAClB,MAA2B,mBAAbA,CAClB,C,wBCzDA,MAAMe,EAAe,CACjBP,S,QAAU,KACPQ,EAAA,KACA,K,wBCJP,MAAMC,GAAI,OAAkB,K,qDCJb,SAASC,EAAaC,GAEjC,IAAIC,GAAe,IAAAd,QAAOa,EAAME,WAC5BC,GAAK,IAAAnB,UAAS,CAAEoB,EAAG,EAAGC,EAAG,IAAMC,EAAWH,EAAG,GAAII,EAAcJ,EAAG,GAClEK,GAAK,IAAAxB,UAAS,IAAKyB,EAAeD,EAAG,GAAsBA,EAAG,IAIlE,IAAAhB,YAAU,WACNS,EAAaV,QAAUS,EAAME,SACjC,GAAG,CAACF,GAASA,EAAME,aACnB,IAAAV,YAAU,WACN,IAAIkB,EAAa,SAAUC,GAGvB,IAAIP,EAAIO,EAAEC,QACNP,EAAIM,EAAEE,QACVN,EAAY,CAAEH,EAAGA,EAAGC,EAAGA,GAE3B,EAEA,OADAS,OAAOC,iBAAiB,YAAaL,GAC9B,WACHI,OAAOE,oBAAoB,YAAaN,EAC5C,CACJ,GAAG,IACH,IAAIO,EAAY,CACZC,OAAQ,CACJC,QAAS,EACTC,MAAO,GACPC,OAAuB,EAAfZ,EACRa,MAAsB,EAAfb,EACPc,aAAcd,EACdL,EAAGE,EAASF,EAAIK,EAChBJ,EAAGC,EAASD,EAAII,EAChBe,WAAY,CACRC,SAAU,KAGlBC,KAAM,CACFN,MAAO,EACPG,aAAcd,EACdL,EAAGE,EAASF,EAAIK,EAChBJ,EAAGC,EAASD,EAAII,EAChBY,OAAuB,EAAfZ,EACRa,MAAsB,EAAfb,EACPU,QAAS,EACTK,WAAY,CACRC,SAAU,GACVE,KAAM,UACNvB,EAAG,CACCqB,SAAU,GAEdpB,EAAG,CACCoB,SAAU,GAEdL,MAAO,CACHQ,KAAM,SAGNC,UAAW,QAQ3B,OAAQ,gBAAoB,WAAgB,KAAOvB,EAASF,EAAI,GAAKE,EAASD,EAAI,GAC9E,gBAAoByB,EAAA,MAAY,CAAEC,UAAW,SAAUC,QAAS,SAAUC,QAASjC,EAAME,UAAY,OAAS,SAAUgC,SAAUjB,EAAWkB,MAAO,CAE5IC,aAAc,SACdC,MAAOrC,EAAMsC,iBAAmB,QAChCC,gBAAiBvC,EAAMwC,uBAAyB,UAEpD,gBAAoB,OAAQ,KAAMxC,EAAMyC,iBAAmB,KACvE,CC1Ee,SAASC,EAAwB1C,GAC5C,IAAI2C,EAAS3C,EAAM2C,OAAQ/D,EAAWoB,EAAMpB,SAAUgE,EAAa5C,EAAM4C,WAErEC,GAAe,IAAA1D,QAAO,MACtB2D,GAAgB,IAAA3D,QAAO,MACvB4D,GAA0B,IAAA5D,SAAO,GACjC6D,GAAgB,IAAA7D,QAAOyD,GACvBzC,GAAK,IAAAnB,WAAS,GAAQiE,EAAQ9C,EAAG,GAAI+C,EAAW/C,EAAG,GACnDK,GAAK,IAAAxB,WAAS,GAAQmE,EAAuB3C,EAAG,GAAI4C,EAA0B5C,EAAG,GACjF6C,EAAS,WACTH,GAAS,EACb,EACI5C,GAAW,IAAAnB,QAAO,CAAEiB,EAAG,EAAGC,EAAG,KAGjC,IAAAb,YAAU,WACNuD,EAAwBxD,QAAU4D,CACtC,GAAG,CAACA,KACJ,IAAA3D,YAAU,WAEN,IAAIkB,EAAa,SAAUC,GACvBL,EAASf,QAAQa,EAAIO,EAAEC,QACvBN,EAASf,QAAQc,EAAIM,EAAEE,OAE3B,EAEA,OADAC,OAAOC,iBAAiB,YAAaL,GAC9B,WACHI,OAAOE,oBAAoB,YAAaN,EAC5C,CACJ,GAAG,IACH,IAAI4C,EAAoB,WACpBC,QAAQC,IAAI,kBACRb,EAAOF,eAAiBE,EAAOF,cAAcgB,OAAS,GAItDL,GAAwB,EAEhC,EACIM,EAAoB,WACpBH,QAAQC,IAAI,kBACRb,EAAOF,eAAiBE,EAAOF,cAAcgB,OAAS,GAEtDL,GAAwB,EAEhC,EACIO,EAAkB,SAAUhD,GACvBgC,EAAOiB,WAGZV,GAAS,EACb,EACIW,EAAa,SAAUlD,IAEnBqC,EAAczD,UAAaoD,EAAOF,eAAiB,IAAIgB,SAEhC,QAAvBd,EAAOmB,aAINnB,EAAOiB,WAIZV,GAAS,GAPLJ,EAAcvD,SAAWuD,EAAcvD,QAAQwE,QAQvD,EACIC,EAAkB,WAClB,IAAIpB,EAAJ,CAEA,IAAIqB,EAAYjE,EAAMkE,aAAelE,EAAMkE,YAAY3E,SAAYsD,EAAatD,QAEhF,GAAI0E,EAAU,CACV,IAAIE,EAAOF,EAASG,wBAChB9D,EAASf,QAAQa,EAAI+D,EAAKE,MAC1B/D,EAASf,QAAQa,EAAI+D,EAAKG,OAC1BhE,EAASf,QAAQc,EAAI8D,EAAKI,MAC1BjE,EAASf,QAAQc,EAAI8D,EAAKK,OAMlC,CAdU,CAed,GAsBA,IAAAhF,YAAU,WACNwD,EAAczD,QAAUqD,CAE5B,GAAG,CAACA,KACJ,IAAApD,YAAU,WAEN,IAAIyE,EAAYjE,EAAMkE,aAAelE,EAAMkE,YAAY3E,SAAYsD,EAAatD,QAwBhF,OArBI0E,IAEAA,EAASlD,iBAAiB,aAAcuC,GAExCW,EAASlD,iBAAiB,aAAc2C,GACxCO,EAASlD,iBAAiB,QAAS8C,GACnCI,EAASlD,iBAAiB,cAAe4C,GAEzCc,YAAW,WACP,GAAIR,EAASS,QAAQ,UAAW,CAC5B,IAAIC,EAAU,IAAIC,WAAW,aAAc,CACvCC,SAAS,EACTC,YAAY,EACZC,KAAMjE,SAEVmD,EAASe,cAAcL,EAC3B,CACJ,KAEJ7D,OAAOC,iBAAiB,SAAUiD,GAClCS,WAAWT,EAAiB,IACrB,WACCC,IAEAA,EAASjD,oBAAoB,aAAcsC,GAE3CW,EAASjD,oBAAoB,aAAc0C,GAC3CO,EAASjD,oBAAoB,QAAS6C,GACtCI,EAASjD,oBAAoB,cAAe2C,IAEhD7C,OAAOE,oBAAoB,SAAUgD,EACzC,CACJ,GAAG,CAAChE,EAAMkE,cACV,IAAIe,EAAW,iBAAkBnE,QAAUoE,WAAaA,UAAUC,eAClE,OAAQ,gBAAoB,MAAO,CAAEC,IAAKvC,EAAcV,OAAS8C,IAAYrC,IAAeD,EAAOF,eAAiB,IAAIgB,QAAWN,EAAuB,CAAEkC,OAAQ,QAAW,CAAC,IAC1KJ,IAAYrC,IAAeD,EAAOF,eAAiB,IAAIgB,QAAW,gBAAoB1D,EAAc,CAAEG,UAAWiD,EAAsBX,sBAAuBG,EAAOH,sBAAuBC,cAAeE,EAAOF,cAAeH,gBAAiBK,EAAOL,mBAAsB,KACjR1D,EACA+D,EAAOiB,WAAa,gBAAoB,KAAO,CAAE0B,OAAQrC,EAAOI,OAAQA,EAAQkC,YAAY,GACxF,gBAAoB,KAAa,CAAElC,OAAQA,IAC3C,gBAAoB,KAAW,KAC3B,gBAAoB,SAAU,CAAEmC,GAAI,oBAAsB7C,EAAOiB,UAAW7B,UAAW,QAAS0D,IAAK,iCAAmC9C,EAAOiB,UAAY,8CAA+C8B,iBAAiB,EAAMpE,MAAO,OAAQD,OAAQ,YAAe,KACxP,QAAvBsB,EAAOmB,cAA0BnB,EAAOgD,MAAQ,gBAAoB,IAAK,CAAEP,IAAKtC,EAAe,cAAe,OAAQX,MAAO,CAAE,QAAW,QAAUyD,QAAS5F,EAAM6F,sBAAwB,KAAMC,KAAMnD,EAAOgD,MAAQhD,EAAOF,eACrO,CC/JA,IAAIsD,EAAsC,WAStC,OARAA,EAAWC,OAAOC,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAU7C,OAAQ2C,EAAIC,EAAGD,IAE5C,IAAK,IAAIG,KADTJ,EAAIG,UAAUF,GACOJ,OAAOQ,UAAUC,eAAeC,KAAKP,EAAGI,KACzDL,EAAEK,GAAKJ,EAAEI,IAEjB,OAAOL,CACX,EACOH,EAASY,MAAMC,KAAMN,UAChC,EAOe,SAASO,EAAqB7G,GACzC,IAAI2C,EAAS3C,EAAM2C,OAAQ/D,EAAWoB,EAAMpB,SAAUkI,EAAgB9G,EAAM8G,cACxEC,EAAYpE,EAAOqE,UAAY,KAC/BC,EAAYH,EAAgB,SAAW,MACvCI,GAAW,IAAA/H,QAAO,MAClB8F,EAAW,iBAAkBnE,QAAUoE,WAAaA,UAAUC,eAQlE,OAPA,IAAA3F,YAAU,WAGNiF,YAAW,WACP3D,OAAOkE,cAAc,IAAImC,MAAM,UACnC,GACJ,GAAG,IACK,gBAAoBxI,EAAY,CAAEE,SAAUe,GAChD,gBAAoB8C,EAAyBqD,EAAS,CAAEnD,YAAakE,EAAenE,OAAQA,EAAQuB,YAAagD,GAAYlH,GACzH,gBAAoBF,EAAEsH,IAAKrB,EAAS,CAAE/D,QAAS,CAAEb,QAAS,GAAKkG,YAAa,CAAElG,QAAS,GAAKmG,SAAU,CAAEC,MAAM,EAAMC,OAAQ,QAAUzF,UAAW,0FACtIY,EAAO8E,UAAY9E,EAAO8E,UAAY,YACrC9E,EAAmB,aAAK,kBAAoBA,EAAO+E,aAAgB,KACnE/E,EAAgB,UAAK,eAAiBA,EAAOgF,UAAa,KAC1DhF,EAAmB,aAAK,kBAAoBA,EAAOiF,aAAgB,KAAQjF,EAAOkF,cAAgB,CAAErC,GAAI7C,EAAOkF,cAAcC,QAAQ,KAAM,KAAQ,CAAC,GAC5J,gBAAoB,MAAO,CAAE/F,UAAW,MAAOgG,WAAW,EAAMC,SAAU,2BAA4B5C,IAAK8B,GACvG,gBAAoB,MAAO,CAAEnF,UAAW,yCACpC,gBAAoBkF,EAAU,CAAElF,UAAW,6FAChC+E,EAAgB,qBAAuBnE,EAAOsF,cAAgBtF,EAAOsF,cAAgB,OAAS,KACrGtF,EAAOuF,OAAS,gBAAoB,QAAS,CAAEnG,UAAW,8CAA+CoG,OAAQxF,EAAOyF,YAAczF,EAAOyF,YAAc,GAAIC,KAAM,MAAO,aAAc,aAAcC,UAAU,EAAOC,aAAa,EAAMC,UAAU,EAAMC,OAAO,EAAMC,MAAM,EAAMvG,MAAO,CAAEwG,cAAe,QAAUC,YAAa,aAChU,gBAAoB,SAAU,CAAEnD,IAAK9C,EAAOuF,MAAOtG,KAAM,cACzDhD,GAAYA,EAAS6E,OAAS,GAAK7E,EAASiK,KAAI,SAAUC,EAAM1C,GAC5D,OAAO,EAAA2C,EAAA,GAAYD,EAAM1C,EAC7B,KACA,EAAA4C,EAAA,GAAYrG,EAAOuF,MAAOvF,EAAOsG,aAActG,EAAOyF,YAAazF,EAAOuG,SAC1E,gBAAoB,OAAQ,CAAEC,SAAU,cAAeD,QAASvG,EAAOyG,kBAAoBzG,EAAOyG,kBAAoB,OAAU,KACpItC,GAAiB7B,GAAWtC,EAAOiB,WAC/B,gBAAoB,MAAO,CAAE7B,UAAW,2GACpC,gBAAoB,IAAK,CAAEA,UAAW,6CAAgD,KAC9FY,EAAO0G,aAAe,gBAAoB,QAAS,CAAEtH,UAAW,mCAAoCoG,OAAQxF,EAAO2G,kBAAoB3G,EAAO2G,kBAAoB,GAAIjB,KAAM,MAAO,aAAc,aAAcC,UAAU,EAAOC,aAAa,EAAMC,UAAU,EAAMC,OAAO,EAAMC,MAAM,EAAMvG,MAAO,CAAEwG,cAAe,QAAUC,YAAa,aACvU,gBAAoB,SAAU,CAAEnD,IAAK9C,EAAO0G,YAAazH,KAAM,cAC/DhD,GAAYA,EAAS6E,OAAS,GAAK7E,EAASiK,KAAI,SAAUC,EAAMS,GAC5D,OAAO,EAAAR,EAAA,GAAYD,EAAMS,EAC7B,KACA,EAAAP,EAAA,GAAYrG,EAAO0G,YAAa1G,EAAOsG,aAActG,EAAOyF,YAAazF,EAAOuG,SAChF,gBAAoB,OAAQ,CAAEC,SAAU,cAAeD,QAASvG,EAAO6G,wBAA0B7G,EAAO6G,wBAA0B,OAAU,KAChJ7G,EAAO8G,QAAU9G,EAAOuF,OAAS,gBAAoB,WAAgB,KACjE,gBAAoB,MAAO,CAAEzC,IAAK9C,EAAO8G,MAAO1H,UAAW,sCAAuC2H,MAAO/G,EAAOsG,aAAetG,EAAOsG,aAAe,cAAeE,SAAU,QAASQ,IAAKhH,EAAOiH,kBAAoBjH,EAAOiH,kBAAoB,MAClP,EAAAC,EAAA,GAAYlH,EAAO8G,MAAO9G,EAAOsG,aAActG,EAAOuG,WAAa,KACvEvG,EAAOmH,cAAgBnH,EAAO0G,aAAe,gBAAoB,WAAgB,KAC7E,gBAAoB,MAAO,CAAE5D,IAAK9C,EAAOmH,YAAa/H,UAAW,6CAA8C2H,MAAO/G,EAAOsG,aAAetG,EAAOsG,aAAe,cAAeE,SAAU,QAASQ,IAAKhH,EAAOoH,wBAA0BpH,EAAOoH,wBAA0B,MAC3Q,EAAAF,EAAA,GAAYlH,EAAOmH,YAAanH,EAAOsG,aAActG,EAAOuG,WAAa,MACjF,gBAAoB,MAAO,CAAEnH,UAAW,2DAC5BY,EAAiB,WAAK,gBAAkBA,EAAOqH,WAAc,KAC7DrH,EAAoB,cAAK,mBAAqBA,EAAOsH,cAAiB,KAC9E,gBAAoB,MAAO,CAAElI,UAAW,0CACpC,gBAAoB,MAAO,CAAEA,UAAW,8DAAgEY,EAAOuH,kBAAoBvH,EAAOuH,kBAAoB,WAC1JvH,EAAOsG,cAAgB,gBAAoBlC,EAAU,CAAEhF,UAAWY,EAAOwH,WAAaxH,EAAOwH,WAAa,GAAIhB,SAAU,OAAQiB,wBAAyB,CAAEC,OAAQ1H,EAAOsG,iBAAqB,KAC/LtG,EAAOuG,SAAW,gBAAoB,MAAO,CAAEnH,UAAW,gBAAiBqI,wBAAyB,CAAEC,OAAQ1H,EAAOuG,SAAWC,SAAU,iBAAoB,YAClM,C","sources":["webpack://Pursuit.SinglePageApp/./node_modules/framer-motion/dist/es/components/LazyMotion/index.mjs","webpack://Pursuit.SinglePageApp/./node_modules/framer-motion/dist/es/render/dom/features-animation.mjs","webpack://Pursuit.SinglePageApp/./node_modules/framer-motion/dist/es/render/dom/motion-minimal.mjs","webpack://Pursuit.SinglePageApp/./wwwroot/scripts/clientApp/strips/flyover/customCursor.tsx","webpack://Pursuit.SinglePageApp/./wwwroot/scripts/clientApp/strips/flyover/videoCursorStripWrapper.tsx","webpack://Pursuit.SinglePageApp/./wwwroot/scripts/clientApp/strips/stripHeroImageBanner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useState, useRef, useEffect } from 'react';\nimport { LazyContext } from '../../context/LazyContext.mjs';\nimport { loadFeatures } from '../../motion/features/load-features.mjs';\n\n/**\n * Used in conjunction with the `m` component to reduce bundle size.\n *\n * `m` is a version of the `motion` component that only loads functionality\n * critical for the initial render.\n *\n * `LazyMotion` can then be used to either synchronously or asynchronously\n * load animation and gesture support.\n *\n * ```jsx\n * // Synchronous loading\n * import { LazyMotion, m, domAnimations } from \"framer-motion\"\n *\n * function App() {\n * return (\n * \n * \n * \n * )\n * }\n *\n * // Asynchronous loading\n * import { LazyMotion, m } from \"framer-motion\"\n *\n * function App() {\n * return (\n * import('./path/to/domAnimations')}>\n * \n * \n * )\n * }\n * ```\n *\n * @public\n */\nfunction LazyMotion({ children, features, strict = false }) {\n const [, setIsLoaded] = useState(!isLazyBundle(features));\n const loadedRenderer = useRef(undefined);\n /**\n * If this is a synchronous load, load features immediately\n */\n if (!isLazyBundle(features)) {\n const { renderer, ...loadedFeatures } = features;\n loadedRenderer.current = renderer;\n loadFeatures(loadedFeatures);\n }\n useEffect(() => {\n if (isLazyBundle(features)) {\n features().then(({ renderer, ...loadedFeatures }) => {\n loadFeatures(loadedFeatures);\n loadedRenderer.current = renderer;\n setIsLoaded(true);\n });\n }\n }, []);\n return (React.createElement(LazyContext.Provider, { value: { renderer: loadedRenderer.current, strict } }, children));\n}\nfunction isLazyBundle(features) {\n return typeof features === \"function\";\n}\n\nexport { LazyMotion };\n","import { animations } from '../../motion/features/animations.mjs';\nimport { gestureAnimations } from '../../motion/features/gestures.mjs';\nimport { createDomVisualElement } from './create-visual-element.mjs';\n\n/**\n * @public\n */\nconst domAnimation = {\n renderer: createDomVisualElement,\n ...animations,\n ...gestureAnimations,\n};\n\nexport { domAnimation };\n","import { createMotionProxy } from './motion-proxy.mjs';\nimport { createDomMotionConfig } from './utils/create-config.mjs';\n\n/**\n * @public\n */\nconst m = createMotionProxy(createDomMotionConfig);\n\nexport { m };\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { motion } from \"framer-motion\";\r\nexport default function CustomCursor(props) {\r\n //const { children } = props;\r\n var isVisibleRef = useRef(props.isVisible);\r\n var _a = useState({ x: 0, y: 0 }), cursorXY = _a[0], setCursorXY = _a[1];\r\n var _b = useState(50), cursorRadius = _b[0], setCursorRadius = _b[1];\r\n //const [cursorIsVisible, setCursorIsVisible] = useState(false); \r\n //const [cursorContent, setCursorCursorContent] = useState(\"\");\r\n var getIsVisible = function () { return props.isVisible; };\r\n useEffect(function () {\r\n isVisibleRef.current = props.isVisible;\r\n }, [props && props.isVisible]);\r\n useEffect(function () {\r\n var moveCursor = function (e) {\r\n // if (!props.isVisible) return;\r\n // console.log(\"move cursor: isVisible:\", isVisibleRef.current);\r\n var x = e.clientX;\r\n var y = e.clientY;\r\n setCursorXY({ x: x, y: y });\r\n //setCursorIsVisible(true);\r\n };\r\n window.addEventListener('mousemove', moveCursor);\r\n return function () {\r\n window.removeEventListener('mousemove', moveCursor);\r\n };\r\n }, []);\r\n var container = {\r\n hidden: {\r\n opacity: 0,\r\n scale: .5,\r\n height: cursorRadius * 2,\r\n width: cursorRadius * 2,\r\n borderRadius: cursorRadius,\r\n x: cursorXY.x - cursorRadius,\r\n y: cursorXY.y - cursorRadius,\r\n transition: {\r\n duration: 0.1\r\n }\r\n },\r\n show: {\r\n scale: 1,\r\n borderRadius: cursorRadius,\r\n x: cursorXY.x - cursorRadius,\r\n y: cursorXY.y - cursorRadius,\r\n height: cursorRadius * 2,\r\n width: cursorRadius * 2,\r\n opacity: 1,\r\n transition: {\r\n duration: 0.3,\r\n ease: \"easeOut\",\r\n x: {\r\n duration: 0\r\n },\r\n y: {\r\n duration: 0\r\n },\r\n scale: {\r\n type: \"spring\",\r\n //damping: 5,\r\n //stiffness: 100,\r\n restDelta: 0.01\r\n //damping: 7,\r\n //stiffness: 100,\r\n //restDelta: 0.01\r\n }\r\n }\r\n }\r\n };\r\n return (React.createElement(React.Fragment, null, (cursorXY.x > 0 && cursorXY.y > 0) &&\r\n React.createElement(motion.div, { className: \"cursor\", initial: \"hidden\", animate: props.isVisible ? \"show\" : \"hidden\", variants: container, style: {\r\n //transform: `translate3d(${cursorXY.x}px, ${cursorXY.y}px, 0)`,\r\n mixBlendMode: 'normal',\r\n color: props.cursorTextColor || 'black',\r\n backgroundColor: props.cursorBackgroundColor || 'white' //(cursorIsInsideBanner && cursorContent.length > 0) ? cursorBackgroundColor : 'white', \r\n } },\r\n React.createElement(\"span\", null, props.cursorContent)) || null));\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Modal, ModalBody, ModalHeader } from 'reactstrap';\r\nimport CustomCursor from './customCursor';\r\nexport default function VideoCursorStripWrapper(props) {\r\n var fields = props.fields, children = props.children, isDisabled = props.isDisabled;\r\n //console.log(\"isDisabled: \",isDisabled);\r\n var containerRef = useRef(null);\r\n var cursorLinkRef = useRef(null);\r\n var cursorIsInsideBannerRef = useRef(false);\r\n var isDisabledRef = useRef(isDisabled);\r\n var _a = useState(false), modal = _a[0], setModal = _a[1];\r\n var _b = useState(false), cursorIsInsideBanner = _b[0], setCursorIsInsideBanner = _b[1];\r\n var toggle = function () {\r\n setModal(false);\r\n };\r\n var cursorXY = useRef({ x: 0, y: 0 });\r\n //const [cursorIsVisible, setCursorIsVisible] = useState(false); \r\n //const [cursorContent, setCursorCursorContent] = useState(\"\");\r\n useEffect(function () {\r\n cursorIsInsideBannerRef.current = cursorIsInsideBanner;\r\n }, [cursorIsInsideBanner]);\r\n useEffect(function () {\r\n //if (isDisabled) return;\r\n var moveCursor = function (e) {\r\n cursorXY.current.x = e.clientX;\r\n cursorXY.current.y = e.clientY;\r\n //setCursorIsVisible(true);\r\n };\r\n window.addEventListener('mousemove', moveCursor);\r\n return function () {\r\n window.removeEventListener('mousemove', moveCursor);\r\n };\r\n }, []);\r\n var onMouseEnterStrip = function () {\r\n console.log(\"on mouse enter\");\r\n if (fields.cursorContent && fields.cursorContent.length > 0) {\r\n //setCursorCursorContent(fields.cursorContent);\r\n //setCursorBackgroundColor(fields.cursorBackgroundColor ? fields.cursorBackgroundColor : '');\r\n //setCursorTextColor(fields.cursorTextColor ? fields.cursorTextColor : '');\r\n setCursorIsInsideBanner(true);\r\n }\r\n };\r\n var onMouseLeaveStrip = function () {\r\n console.log(\"on mouse leave\");\r\n if (fields.cursorContent && fields.cursorContent.length > 0) {\r\n //setCursorCursorContent(\"\");\r\n setCursorIsInsideBanner(false);\r\n }\r\n };\r\n var clickStripByBtn = function (e) {\r\n if (!fields.youTubeID)\r\n return;\r\n // open video modal\r\n setModal(true);\r\n };\r\n var clickStrip = function (e) {\r\n // isDisabled has the old value, so use the ref var \r\n if (isDisabledRef.current || !(fields.cursorContent || \"\").length)\r\n return; // || (!isTouch && !cursorIsInsideBannerRef.current)\r\n if (fields.cursorAction == \"link\") {\r\n cursorLinkRef.current && cursorLinkRef.current.click();\r\n return;\r\n }\r\n if (!fields.youTubeID)\r\n return;\r\n //var targetEl = (props.targetElRef && props.targetElRef.current) || containerRef.current;\r\n //console.log(\"click strip: \", e.target == targetEl);\r\n setModal(true);\r\n };\r\n var triggerOnScroll = function () {\r\n if (isDisabled)\r\n return;\r\n var targetEl = (props.targetElRef && props.targetElRef.current) || containerRef.current;\r\n //console.log(\"on scroll matches :hover\", targetEl && targetEl.matches(':hover'));\r\n if (targetEl) {\r\n var rect = targetEl.getBoundingClientRect();\r\n if (cursorXY.current.x < rect.left ||\r\n cursorXY.current.x > rect.right ||\r\n cursorXY.current.y < rect.top ||\r\n cursorXY.current.y > rect.bottom) {\r\n // onMouseLeaveStrip();\r\n }\r\n else {\r\n // onMouseEnterStrip();\r\n }\r\n }\r\n };\r\n var resetMouseEvents = function () {\r\n return;\r\n var targetEl = (props.targetElRef && props.targetElRef.current) || containerRef.current;\r\n console.log(\"reset mouse events\", targetEl);\r\n if (targetEl) {\r\n //targetEl.removeEventListener('mouseover', onMouseEnterStrip);\r\n targetEl.removeEventListener('mouseenter', onMouseEnterStrip);\r\n // targetEl.removeEventListener('mouseout', onMouseLeaveStrip);\r\n targetEl.removeEventListener('mouseleave', onMouseLeaveStrip);\r\n targetEl.removeEventListener('click', clickStrip);\r\n targetEl.removeEventListener('customClick', clickStripByBtn);\r\n if (!isDisabled) {\r\n //targetEl.addEventListener('mouseover', onMouseEnterStrip);\r\n targetEl.addEventListener('mouseenter', onMouseEnterStrip);\r\n // targetEl.addEventListener('mouseout', onMouseLeaveStrip);\r\n targetEl.addEventListener('mouseleave', onMouseLeaveStrip);\r\n targetEl.addEventListener('click', clickStrip);\r\n targetEl.addEventListener('customClick', clickStripByBtn);\r\n }\r\n }\r\n };\r\n useEffect(function () {\r\n isDisabledRef.current = isDisabled;\r\n resetMouseEvents();\r\n }, [isDisabled]);\r\n useEffect(function () {\r\n //if (isDisabled) return;\r\n var targetEl = (props.targetElRef && props.targetElRef.current) || containerRef.current;\r\n //console.log(\"targetElRef changed - add mouseenter event\", targetEl);\r\n // console.log(\"video cursor wrapper - init - \", containerRef, props.targetElRef);\r\n if (targetEl) {\r\n //targetEl.addEventListener('mouseover', onMouseEnterStrip);\r\n targetEl.addEventListener('mouseenter', onMouseEnterStrip);\r\n //targetEl.addEventListener('mouseout', onMouseLeaveStrip);\r\n targetEl.addEventListener('mouseleave', onMouseLeaveStrip);\r\n targetEl.addEventListener('click', clickStrip);\r\n targetEl.addEventListener('customClick', clickStripByBtn);\r\n // Manually dispatch the event if the cursor is already over the element\r\n setTimeout(function () {\r\n if (targetEl.matches(':hover')) {\r\n var event_1 = new MouseEvent('mouseenter', {\r\n bubbles: true,\r\n cancelable: true,\r\n view: window\r\n });\r\n targetEl.dispatchEvent(event_1);\r\n }\r\n });\r\n }\r\n window.addEventListener('scroll', triggerOnScroll);\r\n setTimeout(triggerOnScroll, 50);\r\n return function () {\r\n if (targetEl) {\r\n //targetEl.removeEventListener('mouseover', onMouseEnterStrip);\r\n targetEl.removeEventListener('mouseenter', onMouseEnterStrip);\r\n //targetEl.removeEventListener('mouseout', onMouseLeaveStrip);\r\n targetEl.removeEventListener('mouseleave', onMouseLeaveStrip);\r\n targetEl.removeEventListener('click', clickStrip);\r\n targetEl.removeEventListener('customClick', clickStripByBtn);\r\n }\r\n window.removeEventListener('scroll', triggerOnScroll);\r\n };\r\n }, [props.targetElRef]);\r\n var isTouch = ('ontouchstart' in window || navigator && navigator.maxTouchPoints);\r\n return (React.createElement(\"div\", { ref: containerRef, style: (!isTouch && !isDisabled && (fields.cursorContent || \"\").length) && cursorIsInsideBanner ? { cursor: 'none' } : {} },\r\n (!isTouch && !isDisabled && (fields.cursorContent || \"\").length) && React.createElement(CustomCursor, { isVisible: cursorIsInsideBanner, cursorBackgroundColor: fields.cursorBackgroundColor, cursorContent: fields.cursorContent, cursorTextColor: fields.cursorTextColor }) || null,\r\n children,\r\n fields.youTubeID && React.createElement(Modal, { isOpen: modal, toggle: toggle, fullscreen: true },\r\n React.createElement(ModalHeader, { toggle: toggle }),\r\n React.createElement(ModalBody, null,\r\n React.createElement(\"iframe\", { id: \"bannerVideoIFrame\" + fields.youTubeID, className: \"vimeo\", src: \"https://www.youtube.com/embed/\" + fields.youTubeID + \"?enablejsapi=1&muted=1&rel=0&showinfo=0\", allowFullScreen: true, width: \"100%\", height: \"100%\" }))) || null,\r\n fields.cursorAction == \"link\" && fields.link && React.createElement(\"a\", { ref: cursorLinkRef, \"aria-hidden\": \"true\", style: { \"display\": \"none\" }, onClick: props.handleStripLinkClick || null, href: fields.link }, fields.cursorContent)));\r\n}\r\n","var __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nimport React, { useEffect, useRef } from 'react';\r\nimport { m, LazyMotion, domAnimation } from \"framer-motion\";\r\nimport ImageSchema from './Shared/ImageSchema';\r\nimport VideoSchema from './Shared/VideoSchema';\r\nimport GetVTTTrack from './Shared/GetVTTTrack';\r\nimport VideoCursorStripWrapper from './flyover/videoCursorStripWrapper';\r\nexport default function StripHeroImageBanner(props) {\r\n var fields = props.fields, children = props.children, isFlyoverSite = props.isFlyoverSite;\r\n var TitleTag = (fields.titleTag || 'h1');\r\n var MediaTag = (isFlyoverSite ? 'button' : 'div');\r\n var imgELRef = useRef(null);\r\n var isTouch = ('ontouchstart' in window || navigator && navigator.maxTouchPoints);\r\n useEffect(function () {\r\n //console.log(\"Hero image banner: \", isFlyoverSite);\r\n // because of the lazy loading - we need to trigger window resize after the element was rendered\r\n setTimeout(function () {\r\n window.dispatchEvent(new Event('resize'));\r\n });\r\n }, []);\r\n return (React.createElement(LazyMotion, { features: domAnimation },\r\n React.createElement(VideoCursorStripWrapper, __assign({ isDisabled: !isFlyoverSite, fields: fields, targetElRef: imgELRef }, props),\r\n React.createElement(m.div, __assign({ initial: { opacity: 0 }, whileInView: { opacity: 1 }, viewport: { once: true, margin: \"-30%\" }, className: \"strip sky23-hero-image-banner px-0 container-fluid component component-spacing-y text-\"\r\n + (fields.textColor ? fields.textColor : \"primary\")\r\n + ((fields.contentWidth) ? (\" content-width-\" + fields.contentWidth) : \"\")\r\n + ((fields.topMargin) ? (\" top-margin-\" + fields.topMargin) : \"\")\r\n + ((fields.bottomMargin) ? (\" bottom-margin-\" + fields.bottomMargin) : \"\") }, (fields.jumplinkLabel ? { id: fields.jumplinkLabel.replace(/ /g, '') } : {})),\r\n React.createElement(\"div\", { className: \"row\", itemScope: true, itemType: \"https://schema.org/Thing\", ref: imgELRef },\r\n React.createElement(\"div\", { className: \"col position-relative overflow-hidden\" },\r\n React.createElement(MediaTag, { className: \"media-container border-0 bg-transparent m-0 p-0 rounded-0 w-100 position-relative d-block\"\r\n + (isFlyoverSite ? \" object-position-\" + (fields.focusPosition ? fields.focusPosition : \"top\") : \"\") },\r\n fields.video && React.createElement(\"video\", { className: \"media border-radius w-100 d-none d-md-block\", poster: fields.videoPoster ? fields.videoPoster : \"\", role: \"img\", \"aria-label\": \"Sky Lagoon\", controls: false, playsInline: true, autoPlay: true, muted: true, loop: true, style: { pointerEvents: 'none' }, crossOrigin: \"anonymous\" },\r\n React.createElement(\"source\", { src: fields.video, type: \"video/mp4\" }),\r\n children && children.length > 0 && children.map(function (item, i) {\r\n return GetVTTTrack(item, i);\r\n }),\r\n VideoSchema(fields.video, fields.displayTitle, fields.videoPoster, fields.content),\r\n React.createElement(\"meta\", { itemProp: \"description\", content: fields.video_description ? fields.video_description : \"\" })) || null,\r\n isFlyoverSite && isTouch && fields.youTubeID &&\r\n React.createElement(\"div\", { className: \"overlay position-absolute d-flex align-items-center w-100 h-100 justify-content-center top-0 text-white\" },\r\n React.createElement(\"i\", { className: \"far fa-play-circle play-icon display-1\" })) || null,\r\n fields.mobileVideo && React.createElement(\"video\", { className: \"media-mobile border-radius w-100\", poster: fields.mobileVideoPoster ? fields.mobileVideoPoster : \"\", role: \"img\", \"aria-label\": \"Sky Lagoon\", controls: false, playsInline: true, autoPlay: true, muted: true, loop: true, style: { pointerEvents: 'none' }, crossOrigin: \"anonymous\" },\r\n React.createElement(\"source\", { src: fields.mobileVideo, type: \"video/mp4\" }),\r\n children && children.length > 0 && children.map(function (item, j) {\r\n return GetVTTTrack(item, j);\r\n }),\r\n VideoSchema(fields.mobileVideo, fields.displayTitle, fields.videoPoster, fields.content),\r\n React.createElement(\"meta\", { itemProp: \"description\", content: fields.mobileVideo_description ? fields.mobileVideo_description : \"\" })) || null,\r\n fields.image && !fields.video && React.createElement(React.Fragment, null,\r\n React.createElement(\"img\", { src: fields.image, className: \"img-fluid media w-100 border-radius\", title: fields.displayTitle ? fields.displayTitle : \"Image Title\", itemProp: \"image\", alt: fields.image_description ? fields.image_description : \"\" }),\r\n ImageSchema(fields.image, fields.displayTitle, fields.content)) || null,\r\n fields.mobileImage && !fields.mobileVideo && React.createElement(React.Fragment, null,\r\n React.createElement(\"img\", { src: fields.mobileImage, className: \"img-fluid media-mobile w-100 border-radius\", title: fields.displayTitle ? fields.displayTitle : \"Image Title\", itemProp: \"image\", alt: fields.mobileImage_description ? fields.mobileImage_description : \"\" }),\r\n ImageSchema(fields.mobileImage, fields.displayTitle, fields.content)) || null),\r\n React.createElement(\"div\", { className: \"hero-overlay position-absolute d-flex flex-column px-4 \"\r\n + ((fields.topPadding) ? (\" top-padding-\" + fields.topPadding) : \"\")\r\n + ((fields.bottomPadding) ? (\" bottom-padding-\" + fields.bottomPadding) : \"\") },\r\n React.createElement(\"div\", { className: \"row flex-grow-1 justify-content-center\" },\r\n React.createElement(\"div\", { className: \"col p-4 col-auto title-wrapper d-flex text-center v-align-\" + (fields.verticalAlignment ? fields.verticalAlignment : \"center\") },\r\n fields.displayTitle && React.createElement(TitleTag, { className: fields.titleStyle ? fields.titleStyle : \"\", itemProp: \"name\", dangerouslySetInnerHTML: { __html: fields.displayTitle } }) || null,\r\n fields.content && React.createElement(\"div\", { className: \"strip-content\", dangerouslySetInnerHTML: { __html: fields.content }, itemProp: \"description\" }) || null)))))))));\r\n}\r\n"],"names":["LazyMotion","children","features","strict","setIsLoaded","useState","isLazyBundle","loadedRenderer","useRef","undefined","renderer","loadedFeatures","current","useEffect","then","LazyContext","value","domAnimation","animations","m","CustomCursor","props","isVisibleRef","isVisible","_a","x","y","cursorXY","setCursorXY","_b","cursorRadius","moveCursor","e","clientX","clientY","window","addEventListener","removeEventListener","container","hidden","opacity","scale","height","width","borderRadius","transition","duration","show","ease","type","restDelta","motion","className","initial","animate","variants","style","mixBlendMode","color","cursorTextColor","backgroundColor","cursorBackgroundColor","cursorContent","VideoCursorStripWrapper","fields","isDisabled","containerRef","cursorLinkRef","cursorIsInsideBannerRef","isDisabledRef","modal","setModal","cursorIsInsideBanner","setCursorIsInsideBanner","toggle","onMouseEnterStrip","console","log","length","onMouseLeaveStrip","clickStripByBtn","youTubeID","clickStrip","cursorAction","click","triggerOnScroll","targetEl","targetElRef","rect","getBoundingClientRect","left","right","top","bottom","setTimeout","matches","event_1","MouseEvent","bubbles","cancelable","view","dispatchEvent","isTouch","navigator","maxTouchPoints","ref","cursor","isOpen","fullscreen","id","src","allowFullScreen","link","onClick","handleStripLinkClick","href","__assign","Object","assign","t","s","i","n","arguments","p","prototype","hasOwnProperty","call","apply","this","StripHeroImageBanner","isFlyoverSite","TitleTag","titleTag","MediaTag","imgELRef","Event","div","whileInView","viewport","once","margin","textColor","contentWidth","topMargin","bottomMargin","jumplinkLabel","replace","itemScope","itemType","focusPosition","video","poster","videoPoster","role","controls","playsInline","autoPlay","muted","loop","pointerEvents","crossOrigin","map","item","GetVTTTrack","VideoSchema","displayTitle","content","itemProp","video_description","mobileVideo","mobileVideoPoster","j","mobileVideo_description","image","title","alt","image_description","ImageSchema","mobileImage","mobileImage_description","topPadding","bottomPadding","verticalAlignment","titleStyle","dangerouslySetInnerHTML","__html"],"sourceRoot":""}