{"version":3,"file":"view-script.min.js","sources":["../../../../block-editor/blocks/video-plus/view-script.js"],"sourcesContent":["export default class Video {\n\tselectors = {\n\t\tcover: '.video-plus__cover',\n\t\tinner: '.video-plus__inner',\n\t\thide: 'video-plus__wrapper--hide-cover',\n\t\tcontrols: '.video-plus__controls',\n\t\treveal: 'video-plus__wrapper--reveal-video',\n\t\tmessage: 'cookieconsent-optout-marketing'\n\t};\n\n\tconstructor( node ) {\n\t\tconst { selectors: { inner, controls, message, cover } } = this;\n\n\t\tthis.node = node;\n\t\tthis.attempted = false;\n\t\tthis.message = false;\n\t\tthis.cover = this.node.querySelector(cover);\n\t\tthis.inner = this.node.querySelector(inner);\n\t\tthis.controls = this.node.querySelector(controls);\n\t\tthis.player = this.node.querySelector('iframe') ?? this.node.querySelector('video');\n\n\t\tthis.node.addEventListener('click', () => {\n\t\t\tthis.attempted = true;\n\t\t\tthis.onPlayClick();\n\t\t});\n\n\t\tthis.cookieType = this.player.dataset.cookieconsent ?? null;\n\t\twindow.addEventListener('CookiebotOnAccept', () => { this.onCookieBotAccept() } );\n\t\tthis.onPlayClick();\n\t}\n\n\tonPlayClick() {\n\t\tconst { selectors: { hide, reveal }, node, player } = this;\n\t\tconst { contentWindow, dataset, playVideo } = player;\n\t\tconst source = dataset.cookieblockSrc ?? dataset.src ?? player.src;\n\n\t\tif ( ! this.cookieCheck() ) {\n\t\t\tthis.showMessage();\n\t\t\tconsole.error('Video disabled due to Cookiebot consent settings.', this.cookieType, source);\n\t\t\treturn false;\n\t\t}\n\n\t\tconst url = new URL(source);\n\n\t\tif (this.attempted) {\n\t\t\tnode.classList.add(hide);\n\t\t\tnode.classList.add(reveal);\n\t\t}\n\n\t\tif (contentWindow) {\n\t\t\turl.searchParams.append('enablejsapi', '1');\n\t\t\tif (this.attempted) {\n\t\t\t\turl.searchParams.append('autoplay', '1');\n\t\t\t}\n\t\t\tplayer.src = url.href;\n\t\t\treturn contentWindow.postMessage('{\"event\":\"command\",\"func\":\"playVideo\",\"args\":\"\"}', '*');\n\t\t}\n\n\t\t// If the button hasn't been clicked, we're performing a prefunctory\n\t\t// cookiecheck and swapping src attrs if appropriate.\n\t\treturn this.attempted ? playVideo() : true;\n\t}\n\n\tshowMessage() {\n\t\tconst { selectors, message, node } = this;\n\t\tconst el = document.createElement('div');\n\n\t\tel.classList.add(selectors.message );\n\t\tel.innerHTML = `Please accept ${ this.cookieType ?? '' } cookies to watch this video.`;\n\t\t! message && node.append(el);\n\n\t\tthis.message = el;\n\t}\n\n cookieCheck() {\n\t\ttry {\n\t\t\tif ( ! window?.Cookiebot?.consent || ! this.cookieType ) {\n\t\t\t\t// if cookiebot doesn't exist - act as if all things are allowed\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn window.Cookiebot.consent[ this.cookieType ];\n\t\t} catch ( fault ) {\n\t\t\treturn false;\n\t\t}\n }\n\n\tonCookieBotAccept() {\n\t\tif ( ! this.cookieCheck() ) {\n\t\t\treturn this.showMessage();\n\t\t}\n\n\t\treturn this.attempted && this.onPlayClick();\n\t}\n}\n\nconst videos = document.getElementsByClassName('video-plus__wrapper') ?? [];\n[...videos].map((vid) => { return new Video(vid); });\n"],"names":["Video","selectors","cover","inner","hide","controls","reveal","message","constructor","node","this","attempted","querySelector","player","addEventListener","onPlayClick","cookieType","dataset","cookieconsent","window","onCookieBotAccept","contentWindow","playVideo","source","cookieblockSrc","src","cookieCheck","showMessage","console","error","url","URL","classList","add","searchParams","append","href","postMessage","el","document","createElement","innerHTML","Cookiebot","consent","fault","getElementsByClassName","map","vid"],"mappings":"kEAAe,MAAMA,EACpBC,UAAY,CACXC,MAAO,qBACPC,MAAO,qBACPC,KAAM,kCACNC,SAAU,wBACVC,OAAQ,oCACRC,QAAS,kCAGVC,WAAAA,CAAaC,GACZ,MAAQR,WAAWE,MAAEA,EAAKE,SAAEA,EAAQE,QAAEA,EAAOL,MAAEA,IAAYQ,KAE3DA,KAAKD,KAAOA,EACZC,KAAKC,WAAY,EACjBD,KAAKH,SAAU,EACfG,KAAKR,MAAQQ,KAAKD,KAAKG,cAAcV,GACrCQ,KAAKP,MAAQO,KAAKD,KAAKG,cAAcT,GACrCO,KAAKL,SAAWK,KAAKD,KAAKG,cAAcP,GACxCK,KAAKG,OAASH,KAAKD,KAAKG,cAAc,WAAaF,KAAKD,KAAKG,cAAc,SAE3EF,KAAKD,KAAKK,iBAAiB,SAAS,KACnCJ,KAAKC,WAAY,EACjBD,KAAKK,aAAa,IAGnBL,KAAKM,WAAaN,KAAKG,OAAOI,QAAQC,eAAiB,KACvDC,OAAOL,iBAAiB,qBAAqB,KAAQJ,KAAKU,mBAAmB,IAC7EV,KAAKK,aACN,CAEAA,WAAAA,GACC,MAAQd,WAAWG,KAAEA,EAAIE,OAAEA,GAAQG,KAAEA,EAAII,OAAEA,GAAWH,MAChDW,cAAEA,EAAaJ,QAAEA,EAAOK,UAAEA,GAAcT,EACxCU,EAASN,EAAQO,gBAAkBP,EAAQQ,KAAOZ,EAAOY,IAE/D,IAAOf,KAAKgB,cAGX,OAFAhB,KAAKiB,cACLC,QAAQC,MAAM,oDAAqDnB,KAAKM,WAAYO,IAC7E,EAGR,MAAMO,EAAM,IAAIC,IAAIR,GAOpB,OALIb,KAAKC,YACRF,EAAKuB,UAAUC,IAAI7B,GACnBK,EAAKuB,UAAUC,IAAI3B,IAGhBe,GACHS,EAAII,aAAaC,OAAO,cAAe,KACnCzB,KAAKC,WACRmB,EAAII,aAAaC,OAAO,WAAY,KAErCtB,EAAOY,IAAMK,EAAIM,KACVf,EAAcgB,YAAY,mDAAoD,OAK/E3B,KAAKC,WAAYW,GACzB,CAEAK,WAAAA,GACC,MAAM1B,UAAEA,EAASM,QAAEA,EAAOE,KAAEA,GAASC,KAC/B4B,EAAKC,SAASC,cAAc,OAElCF,EAAGN,UAAUC,IAAIhC,EAAUM,SAC3B+B,EAAGG,UAAa,+DAA+D/B,KAAKM,YAAc,8CAChGT,GAAWE,EAAK0B,OAAOG,GAEzB5B,KAAKH,QAAU+B,CAChB,CAEGZ,WAAAA,GACF,IACC,OAAOP,QAAQuB,WAAWC,UAAajC,KAAKM,YAKrCG,OAAOuB,UAAUC,QAASjC,KAAKM,WACtC,CAAC,MAAQ4B,GACT,OAAO,CACR,CACE,CAEHxB,iBAAAA,GACC,OAAOV,KAAKgB,cAILhB,KAAKC,WAAaD,KAAKK,cAHtBL,KAAKiB,aAId,QAID,IADeY,SAASM,uBAAuB,wBAA0B,IAC7DC,KAAKC,GAAiB,IAAI/C,EAAM+C"}