{"version":3,"file":"js/product-2.bundle.js","mappings":"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","sources":["webpack://tchb-health-2/./src/scripts/components/product-1/SplieTest.ts","webpack://tchb-health-2/./src/scripts/components/product-2/Section3.ts","webpack://tchb-health-2/./src/scripts/components/product-2/Section1.ts","webpack://tchb-health-2/./src/scripts/components/product-2/Product2.ts","webpack://tchb-health-2/./src/scripts/components/product-2/Section2.ts"],"sourcesContent":["type Node = { x: number, y: number };\r\n\r\nexport class SplineTest\r\n{\r\n\r\n $root: JQuery;\r\n\r\n constructor($root: JQuery, nodeList: Float32Array)\r\n {\r\n this.$root = $root;\r\n\r\n let result = SplineTest.getCurvePoints(nodeList, .5);\r\n \r\n this.drawPath2(result);\r\n }\r\n\r\n drawPath2(nodeList: Float32Array)\r\n {\r\n let $canvas = $(`= progress)\r\n {\r\n let dProgress = progress - (obj.length - obj.segment) / this.length,\r\n segmentProgress = obj.segment / this.length,\r\n percent = dProgress/segmentProgress;\r\n\r\n // console.log(dProgress/segmentProgress);\r\n\r\n x = obj.x1 + ((obj.x2 - obj.x1) * percent);\r\n y = obj.y2 + ((obj.y2 - obj.y1) * percent);\r\n \r\n break;\r\n }\r\n }\r\n\r\n return {x: x, y: y};\r\n }\r\n}","import ComponentBase from \"@components/ComponentBase\";\r\nimport { ComponentElem } from \"@components/interfaces\";\r\nimport { ScrollListener } from \"../../ts/sframe/ScrollListener\";\r\nimport gsap from \"gsap\";\r\nimport Tools from \"../../ts/Tools\";\r\nimport { SplineTest, Path } from \"../product-1/SplieTest\";\r\nimport ViewportRoot from \"../../ts/sframe/ViewportRoot\";\r\n\r\nexport default class Section3 extends ComponentBase\r\n{\r\n private _mainTl: gsap.core.Timeline;\r\n private _isPaused: boolean = true;\r\n\r\n constructor(elem: ComponentElem)\r\n {\r\n super(elem);\r\n\r\n // this._testForBalls();\r\n // this._testForCurve();\r\n // this.$root.find(\"*\").css(\"animation\", \"none\");\r\n\r\n this._setupAnimate(true, false);\r\n }\r\n\r\n private _testForBalls()\r\n {\r\n // this.$root.find(\".track\").css(\"z-index\", 100);\r\n\r\n let $balls = this.$root.find(\".ball\");\r\n\r\n $balls.each((index, elem: HTMLElement) =>\r\n {\r\n elem.addEventListener(\"click\", (e) =>\r\n {\r\n console.log(`${elem.className}: ${e.offsetX}, ${e.offsetY}`);\r\n });\r\n });\r\n }\r\n\r\n private _testForCurve()\r\n {\r\n this.$root.find(\".section-3-1>*\").css(\"pointer-events\", \"none\");\r\n this.$root.find(\".section-3-1>.track\").css(\"pointer-events\", \"\");\r\n this.$root.find(\".track>*\").css(\"pointer-events\", \"none\");\r\n\r\n let $track = this.$root.find(\".track\");\r\n $track.on(\"click\", (event: JQuery.ClickEvent) =>\r\n {\r\n event.preventDefault();\r\n\r\n console.log(`${event.offsetX}, ${event.offsetY}`);\r\n });\r\n }\r\n\r\n private _setupAnimate(triggerByScroll: boolean = true, triggerByClick: boolean = false)\r\n {\r\n let tl = gsap.timeline({});\r\n let mainTl = this._mainTl = gsap.timeline();\r\n\r\n let track = gsap.utils.selector(this.$root.find(\".track\")[0]),\r\n q = gsap.utils.selector(this.$root.find(\".section-3-1\")[0]),\r\n b1 = q(\".bone-ca-sample-1\"),\r\n b2 = q(\".bone-ca-sample-2\"),\r\n\r\n boneCaList =\r\n [\r\n b1[5],\r\n b1[4],\r\n b1[3],\r\n b1[2],\r\n b1[1],\r\n b1[0],\r\n\r\n b2[5],\r\n b2[4],\r\n b2[3],\r\n b2[2],\r\n b2[1],\r\n b2[0],\r\n ];\r\n\r\n\r\n let startX = 553,\r\n startY = 340,\r\n startX_m = 378,\r\n startY_m = 130,\r\n trackCaDic: any = {\r\n \"1\": q(\".track-ca-1\")[0],\r\n \"2\": q(\".track-ca-2\")[0],\r\n \"3\": q(\".track-ca-3\")[0],\r\n \"4\": q(\".track-ca-4\")[0],\r\n \"5\": q(\".track-ca-5\")[0],\r\n \"6\": q(\".track-ca-6\")[0],\r\n \"7\": q(\".track-ca-7\")[0],\r\n },\r\n progressDic: any = {\r\n \"1\": 0,\r\n \"2\": 0,\r\n \"3\": 0,\r\n \"4\": 0,\r\n \"5\": 0,\r\n \"6\": 0,\r\n \"7\": 0,\r\n },\r\n pathList: { raw: any, raw_m: any, path: Path, path_m: Path }[] = [];\r\n\r\n pathList[\"1\"] =\r\n {\r\n path: null,\r\n raw: [\r\n startX, startY,\r\n 816, 339,\r\n ],\r\n path_m: null,\r\n raw_m: [\r\n startX_m, startY_m,\r\n 488, 128\r\n ]\r\n };\r\n\r\n pathList[\"2\"] =\r\n {\r\n path: null,\r\n raw: [\r\n startX, startY,\r\n 773, 348,\r\n 953, 377,\r\n\r\n 1022, 410,\r\n ],\r\n path_m: null,\r\n raw_m: [\r\n startX_m, startY_m,\r\n 495, 145,\r\n 567, 165,\r\n 613, 205,\r\n 592, 251,\r\n 572, 266\r\n ]\r\n };\r\n\r\n pathList[\"3\"] =\r\n {\r\n path: null,\r\n raw: [\r\n startX, startY,\r\n 773, 348,\r\n 953, 377,\r\n 999, 464,\r\n\r\n 916, 488,\r\n ],\r\n path_m: null,\r\n raw_m: [\r\n startX_m, startY_m,\r\n 495, 145,\r\n 567, 165,\r\n 613, 205,\r\n 597, 273,\r\n 523, 333,\r\n 438, 366\r\n ]\r\n };\r\n\r\n pathList[\"4\"] =\r\n {\r\n path: null,\r\n raw: [\r\n startX, startY,\r\n 773, 348,\r\n 953, 377,\r\n 999, 464,\r\n 916, 488,\r\n 839, 521\r\n ],\r\n path_m: null,\r\n raw_m: [\r\n startX_m, startY_m,\r\n 495, 145,\r\n 567, 165,\r\n 613, 205,\r\n 597, 273,\r\n 523, 333,\r\n 356, 396\r\n ]\r\n };\r\n\r\n pathList[\"5\"] =\r\n {\r\n path: null,\r\n raw: [\r\n startX, startY,\r\n 822, 356,\r\n 936, 376,\r\n 1009, 441,\r\n 875, 509,\r\n 616, 563,\r\n ],\r\n path_m: null,\r\n raw_m: [\r\n startX_m, startY_m,\r\n 616, 563\r\n ]\r\n };\r\n\r\n pathList[\"6\"] =\r\n {\r\n path: null,\r\n raw: [\r\n startX, startY,\r\n 822, 356,\r\n 936, 376,\r\n 1009, 441,\r\n 973, 505,\r\n 640, 605,\r\n 460, 640,\r\n 356, 721,\r\n\r\n 340, 906\r\n ],\r\n path_m: null,\r\n raw_m: [\r\n startX_m, startY_m,\r\n 495, 145,\r\n 567, 165,\r\n 613, 205,\r\n 597, 273,\r\n 523, 333,\r\n\r\n 228, 461,\r\n 140, 528,\r\n 100, 648,\r\n\r\n 133, 755\r\n ]\r\n };\r\n\r\n pathList[\"7\"] =\r\n {\r\n path: null,\r\n raw: [\r\n startX, startY,\r\n 822, 356,\r\n 936, 376,\r\n 1009, 441,\r\n 973, 505,\r\n 640, 605,\r\n 497, 696,\r\n 415, 917,\r\n\r\n 434, 1083\r\n ],\r\n path_m: null,\r\n raw_m: [\r\n startX_m, startY_m,\r\n 495, 145,\r\n 567, 165,\r\n 613, 205,\r\n 597, 273,\r\n 523, 333,\r\n\r\n 228, 461,\r\n 140, 528,\r\n 100, 648,\r\n 129, 878,\r\n\r\n 183, 1005\r\n ]\r\n };\r\n\r\n // new SplineTest(this.$root.find(\".track\"), pathList[\"7\"].raw_m);\r\n\r\n for (let i = 1; i <= 7; i++) {\r\n let obj = pathList[i];\r\n if (obj) {\r\n obj.path = new Path(SplineTest.getCurvePoints(obj.raw));\r\n obj.path_m = new Path(SplineTest.getCurvePoints(obj.raw_m));\r\n // console.log(obj.path.getPosition(1));\r\n }\r\n }\r\n\r\n let ease1 = \"back.out\",\r\n ease2 = \"power1.inOut\",\r\n duration1 = .8;\r\n\r\n tl.set(trackCaDic[\"1\"], { opacity: 0, left: startX, top: startY });\r\n tl.set(trackCaDic[\"2\"], { opacity: 0, left: startX, top: startY });\r\n tl.set(trackCaDic[\"3\"], { opacity: 0, left: startX, top: startY });\r\n tl.set(trackCaDic[\"4\"], { opacity: 0, left: startX, top: startY });\r\n tl.set(trackCaDic[\"5\"], { opacity: 0, left: startX, top: startY });\r\n tl.set(trackCaDic[\"6\"], { opacity: 0, left: startX, top: startY });\r\n tl.set(trackCaDic[\"7\"], { opacity: 0, left: startX, top: startY });\r\n\r\n\r\n tl.set(progressDic, { \"1\": 0 });\r\n tl.set(progressDic, { \"2\": 0 });\r\n tl.set(progressDic, { \"3\": 0 });\r\n tl.set(progressDic, { \"4\": 0 });\r\n tl.set(progressDic, { \"5\": 0 });\r\n tl.set(progressDic, { \"6\": 0 });\r\n tl.set(progressDic, { \"7\": 0 });\r\n\r\n tl.set(q(\".ca-1\"), { opacity: 0, x: -100, y: -50 });\r\n tl.set(q(\".ca-2\"), { opacity: 0, x: -100, y: -50 });\r\n tl.set(q(\".ca-3\"), { opacity: 0, x: -100, y: -50 });\r\n tl.set(q(\".ca-4\"), { opacity: 0, x: -100, y: -50 });\r\n tl.set(q(\".ca-main\"), { opacity: 0, x: -100, y: -50 });\r\n tl.set(q(\".arrow-for-ca\"), { opacity: 0, x: -100, y: -50 });\r\n tl.set(q(\".detail-for-ca\"), { opacity: 0, x: 100 });\r\n\r\n tl.set(q(\".d-1\"), { opacity: 0, x: 100, y: -60 });\r\n tl.set(q(\".d-main\"), { opacity: 0, x: 100, y: -60 });\r\n tl.set(q(\".detail-for-d\"), { opacity: 0, x: 100 });\r\n\r\n tl.set(q(\".k-1\"), { opacity: 0, x: -80, y: -40 });\r\n tl.set(q(\".k-main\"), { opacity: 0, x: -80, y: -40 });\r\n tl.set(q(\".arrow-for-k\"), { opacity: 0, x: -100, y: -100 });\r\n tl.set(q(\".detail-for-k\"), { opacity: 0, x: 100 });\r\n\r\n tl.set(q(\".bone\"), { opacity: 1});\r\n tl.set(q(\".bone-light-1\"), { opacity: 0 });\r\n tl.set(q(\".bone-light-2\"), { opacity: 0 });\r\n tl.set(q(\".bone-ca-shadow\"), { opacity: 0 });\r\n tl.set(boneCaList, { opacity: 0 });\r\n tl.set(q(\".ca-5\"), { opacity: 0});\r\n tl.set(q(\".ca-6\"), { opacity: 0});\r\n tl.set(q(\".ca-7\"), { opacity: 0});\r\n\r\n /* ca in */\r\n tl.addLabel(\"start\", .01);\r\n\r\n tl.to(q(\".ca-1\"), { duration: duration1, opacity: 1, x: 0, y: 0, ease: ease1 }, \"start+=.0\");\r\n tl.to(q(\".ca-2\"), { duration: duration1, opacity: 1, x: 0, y: 0, ease: ease1 }, \"start+=.1\");\r\n tl.to(q(\".ca-3\"), { duration: duration1, opacity: 1, x: 0, y: 0, ease: ease1 }, \"start+=.2\");\r\n tl.to(q(\".ca-4\"), { duration: duration1, opacity: 1, x: 0, y: 0, ease: ease1 }, \"start+=.3\");\r\n tl.to(q(\".ca-main\"), { duration: duration1, opacity: 1, x: 0, y: 0, ease: ease1 }, \"start+=.4\");\r\n tl.to(q(\".arrow-for-ca\"), { duration: duration1, opacity: 1, x: 0, y: 0, ease: ease1 }, \"start+=.2\");\r\n tl.to(q(\".detail-for-ca\"), { duration: .6, opacity: 1, x: 0, ease: \"power1.out\" }, \"start+=.5\");\r\n\r\n mainTl.addLabel(\"start\", .01);\r\n mainTl.add(tl, 0);\r\n\r\n /* d in */\r\n tl = gsap.timeline();\r\n tl.addLabel(\"start\", .01);\r\n\r\n tl.to(q(\".d-1\"), { duration: duration1, opacity: 1, x: 0, y: 0, ease: ease1 }, \"start+=.0\");\r\n tl.to(q(\".d-main\"), { duration: duration1, opacity: 1, x: 0, y: 0, ease: ease1 }, \"start+=.1\");\r\n tl.to(q(\".detail-for-d\"), { duration: .6, opacity: 1, x: 0, ease: \"power1.out\" }, \"start+=.2\");\r\n\r\n mainTl.add(tl, \"+=.4\");\r\n\r\n /* k in */\r\n tl = gsap.timeline();\r\n tl.addLabel(\"start\", .01);\r\n\r\n tl.to(q(\".k-1\"), { duration: duration1, opacity: 1, x: 0, y: 0, ease: ease1 }, \"start+=.0\");\r\n tl.to(q(\".k-main\"), { duration: duration1, opacity: 1, x: 0, y: 0, ease: ease1 }, \"start+=.1\");\r\n tl.to(q(\".arrow-for-k\"), { duration: .6, opacity: 1, x: 0, ease: \"power1.out\" }, \"start+=.0\");\r\n tl.to(q(\".detail-for-k\"), { duration: .6, opacity: 1, x: 0, ease: \"power1.out\" }, \"start+=.2\");\r\n\r\n mainTl.add(tl, \"+=.4\");\r\n\r\n /* bone in */\r\n tl = gsap.timeline();\r\n tl.addLabel(\"start\", .01);\r\n\r\n tl.to(q(\".bone\"), { duration: .9, opacity: 1, ease: \"back.out\" }, \"start+=.0\");\r\n tl.from(boneCaList, { duration: .6, scale: 0, rotate: \"-=80deg\", stagger: .03, ease: \"back.out(4)\" }, 0);\r\n tl.to(boneCaList, { duration: .4, opacity: 1, stagger: .03 }, \"start+=.1\");\r\n tl.to(q(\".bone-light-1\"), { duration: .4, opacity: 1 }, \"start+=.5\");\r\n tl.to(q(\".bone-light-2\"), { duration: .4, opacity: 1 }, \"start+=.55\");\r\n tl.to(q(\".bone-ca-shadow\"), { duration: .5, opacity: 1 }, \"start+=.55\");\r\n tl.to(q(\".ca-5\"), { duration: duration1, opacity: 1, ease: ease1 }, \"start+=.1\");\r\n tl.to(q(\".ca-6\"), { duration: duration1, opacity: 1, ease: ease1 }, \"start+=.2\");\r\n tl.to(q(\".ca-7\"), { duration: duration1, opacity: 1, ease: ease1 }, \"start+=.3\");\r\n\r\n mainTl.add(tl, \"-=.8\");\r\n\r\n /* track in */\r\n function updateProgress(key: any)\r\n {\r\n let progress = progressDic[key],\r\n elem = trackCaDic[key],\r\n path = ViewportRoot.index === 0? pathList[key].path_m: pathList[key].path,\r\n pos = path.getPosition(progress);\r\n\r\n gsap.set(elem, { scale: progress, left: pos.x, top: pos.y });\r\n }\r\n\r\n tl = gsap.timeline();\r\n tl.addLabel(\"start\", .01);\r\n\r\n function setCa(index: string, duration: number = 2)\r\n {\r\n let params: any = { duration: duration, ease: \"power1.out\", onUpdate: updateProgress, onUpdateParams: [index] };\r\n params[index] = 1;\r\n\r\n tl.to(progressDic, params, \"start\");\r\n tl.to(trackCaDic[index], { duration: .4, opacity: 1 }, \"start\");\r\n }\r\n\r\n setCa(\"1\", .7);\r\n setCa(\"2\", 1.2);\r\n setCa(\"3\", 1.5);\r\n setCa(\"4\", 2);\r\n setCa(\"5\", 2.1);\r\n setCa(\"6\", 3.3);\r\n setCa(\"7\", 3.4);\r\n\r\n mainTl.add(tl, \"start+=.1\");\r\n\r\n /* main timeline reset */\r\n mainTl.addLabel(\"start\", .01);\r\n mainTl.time(0, true);\r\n mainTl.tweenTo(\"start\");\r\n\r\n /* bind scroll trigger */\r\n if(triggerByScroll)\r\n {\r\n let eventId = \"section-3-in\";\r\n ScrollListener.addListener(eventId, () =>\r\n {\r\n let result = ScrollListener.testDom(this.$root.find(\".title\")[0], 0, 0);\r\n \r\n if (result.topInside && result.bottomInside) {\r\n // console.log(\"triggered\");\r\n ScrollListener.removeListener(eventId);\r\n setTimeout(() =>\r\n {\r\n this._toggleAnimate(false);\r\n }, 400);\r\n }\r\n });\r\n }\r\n\r\n /* test */\r\n if(triggerByClick)\r\n {\r\n this.$root.on(\"click\", (event: JQuery.ClickEvent) =>\r\n {\r\n event.preventDefault();\r\n this._toggleAnimate();\r\n });\r\n }\r\n }\r\n\r\n private _toggleAnimate(isPaused: boolean = undefined)\r\n {\r\n if (isPaused === undefined) {\r\n isPaused = !this._isPaused;\r\n }\r\n\r\n this._isPaused = isPaused\r\n\r\n if (this._isPaused) {\r\n this._mainTl.time(0, true);\r\n this._mainTl.tweenTo(\"start\");\r\n }\r\n else {\r\n this._mainTl.restart();\r\n }\r\n }\r\n}","import ComponentBase from \"@components/ComponentBase\";\r\nimport { ComponentElem } from \"@components/interfaces\";\r\nimport ViewportRoot from \"../../ts/sframe/ViewportRoot\";\r\nimport PageRoot from \"../common/PageRoot\";\r\nimport GS from \"../../ts/GlobalSetting\";\r\nimport Tools from \"../../ts/Tools\";\r\nimport Geom from \"../../ts/sframe/Geom\";\r\n\r\nexport default class Section1 extends ComponentBase\r\n{ \r\n $sectionContent: JQuery;\r\n $content: JQuery;\r\n $indicateWrapper: JQuery;\r\n\r\n constructor(elem: ComponentElem)\r\n {\r\n super(elem);\r\n\r\n this.$sectionContent = this.$root.find(\".section-content\");\r\n this.$content = this.$root.find(\".center-content\");\r\n this.$indicateWrapper = this.$root.find(\".indicate-wrapper\");\r\n\r\n PageRoot.emitter.on(\"updated\", (viewportScale: number)=>\r\n {\r\n let scale, targetHeight;\r\n\r\n if(ViewportRoot.index === 0)\r\n {\r\n let contentWidth = 640,\r\n contentHeight = 1050,\r\n minHeight = 900,\r\n minRatio = minHeight / contentHeight,\r\n containerWidth = ViewportRoot.width / viewportScale,\r\n containerHeight = ViewportRoot.height / viewportScale - GS.getNavHeight(),\r\n \r\n result = Geom.caculateContain(containerWidth, containerHeight, contentWidth, contentHeight);\r\n\r\n // console.log(containerHeight);\r\n // console.log(result);\r\n\r\n scale = result.ratio;\r\n if(scale < minRatio) scale = minRatio;\r\n\r\n targetHeight = contentHeight * scale;\r\n\r\n if(scale >= 1)\r\n {\r\n this.$content.css({\r\n \"transform\": \"\"\r\n });\r\n this.$indicateWrapper.css({\r\n \"transform\": \"\"\r\n });\r\n \r\n this.$sectionContent.css({\r\n \"height\": \"\"\r\n });\r\n }\r\n else\r\n {\r\n this.$content.css({\r\n \"transform\": `scale(${scale})`\r\n });\r\n \r\n // this.$indicateWrapper.css({\r\n // \"transform\": `scale(${scale})`\r\n // });\r\n \r\n this.$sectionContent.css({\r\n \"height\": targetHeight\r\n });\r\n }\r\n }\r\n else\r\n {\r\n let contentWidth = 1660,\r\n contentHeight = 997,\r\n minHeight = 700,\r\n minRatio = minHeight / contentHeight,\r\n containerWidth = ViewportRoot.width / viewportScale,\r\n containerHeight = ViewportRoot.height / viewportScale - GS.getNavHeight(),\r\n \r\n result = Geom.caculateContain(containerWidth, containerHeight, contentWidth, contentHeight);\r\n\r\n // console.log(containerHeight);\r\n // console.log(result);\r\n\r\n scale = result.ratio;\r\n if(scale < minRatio) scale = minRatio;\r\n\r\n targetHeight = contentHeight * scale;\r\n\r\n if(scale >= 1)\r\n {\r\n this.$content.css({\r\n \"transform\": \"\"\r\n });\r\n this.$indicateWrapper.css({\r\n \"transform\": \"\"\r\n });\r\n \r\n this.$sectionContent.css({\r\n \"height\": \"\"\r\n });\r\n }\r\n else\r\n {\r\n this.$content.css({\r\n \"transform\": `scale(${scale})`\r\n });\r\n \r\n this.$indicateWrapper.css({\r\n \"transform\": `scale(${scale})`\r\n });\r\n \r\n this.$sectionContent.css({\r\n \"height\": targetHeight\r\n });\r\n }\r\n }\r\n \r\n })\r\n }\r\n}","import Main from \"@root/Main\";\r\nimport { ComponentDefineDic, ComponentElem } from \"@components/interfaces\";\r\nimport Components from \"@components/Compoents\";\r\nimport SectionQA from \"../common/SectionQA\";\r\nimport Section3 from \"./Section3\";\r\nimport Section1 from \"./Section1\";\r\nimport Section2 from \"./Section2\";\r\n\r\n\r\nlet _componentDic: ComponentDefineDic =\r\n{\r\n \"section-1\": Section1,\r\n \"section-2\": Section2,\r\n \"section-3\": Section3,\r\n \"section-qa\": SectionQA,\r\n};\r\n\r\nlet $root;\r\n\r\nMain.preInitPage = ()=>\r\n{\r\n // ApiProxy.validatePageData(\"page-data\", page_data_schema);\r\n // ApiProxy.logPageData();\r\n \r\n}\r\n\r\nMain.initPage = () =>\r\n{\r\n $root = $(\"#page-content\");\r\n\r\n // new SplineTest($root.find(`canvas`));\r\n Main.setupGtag();\r\n\r\n}\r\n\r\nComponents.registComponents(_componentDic);\r\n\r\n","import ComponentBase from \"@components/ComponentBase\";\r\nimport { ComponentElem } from \"@components/interfaces\";\r\nimport { ScrollListener } from \"../../ts/sframe/ScrollListener\";\r\n\r\nexport default class Section2 extends ComponentBase\r\n{\r\n private _isEventSent: boolean = false;\r\n private _player: any;\r\n\r\n constructor(elem: ComponentElem)\r\n {\r\n super(elem);\r\n\r\n let self = this;\r\n\r\n var tag = document.createElement('script');\r\n\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n var player, playing = false;\r\n ///@ts-ignore\r\n window.onYouTubeIframeAPIReady = () =>\r\n {\r\n\r\n player = new window.YT.Player('kv-video', {\r\n width: \"100%\",\r\n height: \"100%\",\r\n mute: true,\r\n videoId: 'ATJJzoad0Ps',\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onPlayerStateChange\r\n }\r\n });\r\n\r\n // player.mute();\r\n\r\n self._player = player;\r\n }\r\n \r\n ///@ts-ignore\r\n function onPlayerReady(event) {\r\n // event.target.playVideo();\r\n self._setupAutoPlay();\r\n }\r\n\r\n ///@ts-ignore\r\n function onPlayerStateChange(event: any)\r\n {\r\n if (event.data == window.YT.PlayerState.PLAYING) {\r\n playing = true;\r\n\r\n if(!self._isEventSent)\r\n {\r\n self._isEventSent = true;\r\n if(window.gtag) window.gtag(\"event\", \"Cachew_Click_OTV\", {\"event_label\": \"品牌頁_OTV_PlayBTN\"});\r\n }\r\n }\r\n }\r\n\r\n \r\n }\r\n\r\n private _setupAutoPlay()\r\n {\r\n /* bind scroll trigger */\r\n let eventId = \"section-2-in\";\r\n ScrollListener.addListener(eventId, () =>\r\n {\r\n let result = ScrollListener.testDom(this.$root.find(\".title\")[0], 0, 0);\r\n \r\n if (result.topInside && result.bottomInside) {\r\n // console.log(\"triggered\");\r\n if(this._player)\r\n {\r\n this._player.mute();\r\n this._player.playVideo();\r\n }\r\n ScrollListener.removeListener(eventId);\r\n\r\n }\r\n });\r\n\r\n ScrollListener.update();\r\n }\r\n}"],"names":["$root","nodeList","this","result","SplineTest","getCurvePoints","drawPath2","$canvas","$","width","height","css","append","ctx","getContext","i","length","x","y","moveTo","lineTo","stroke","points","tension","numOfSeg","close","pts","l","rPos","res","Float32Array","cache","cachePtr","slice","unshift","push","st","st2","st3","st23","st32","parse","t","pt1","pt2","pt3","pt4","t1x","t1y","t2x","t2y","c","c1","c2","c3","c4","segmentList","x1","y1","x2","y2","segment","Math","sqrt","getPosition","progress","obj","percent","elem","_isPaused","_setupAnimate","_testForBalls","find","each","index","addEventListener","e","console","log","className","offsetX","offsetY","_testForCurve","on","event","preventDefault","triggerByScroll","triggerByClick","tl","gsap","timeline","mainTl","_mainTl","q","utils","selector","b1","b2","boneCaList","startX","startY","startX_m","startY_m","trackCaDic","progressDic","pathList","path","raw","path_m","raw_m","Path","ease1","duration1","updateProgress","key","pos","ViewportRoot","set","scale","left","top","setCa","duration","params","ease","onUpdate","onUpdateParams","to","opacity","addLabel","add","from","rotate","stagger","time","tweenTo","ScrollListener","addListener","testDom","topInside","bottomInside","removeListener","setTimeout","_toggleAnimate","isPaused","undefined","restart","ComponentBase","$sectionContent","$content","$indicateWrapper","PageRoot","emitter","viewportScale","targetHeight","contentWidth","minRatio","contentHeight","containerWidth","containerHeight","getNavHeight","Geom","caculateContain","ratio","_componentDic","_isEventSent","self","tag","document","createElement","src","firstScriptTag","getElementsByTagName","parentNode","insertBefore","player","onPlayerReady","_setupAutoPlay","onPlayerStateChange","data","window","YT","PlayerState","PLAYING","gtag","onYouTubeIframeAPIReady","Player","mute","videoId","events","_player","eventId","playVideo","update","SectionQA","Main","preInitPage","initPage","setupGtag","registComponents"],"sourceRoot":""}