{"version":3,"file":"VideoCarouselModal.Main.min.js","mappings":"yBA6EA,SAASA,IAER,MAAMC,EAAgBC,EAAE,mBAAmBC,QAAQ,uBAC7CC,EAAYH,EAAcE,QAAQ,8BAClCE,EAAkBJ,EAAcK,KAAK,sBACrCC,EAAgBF,EAAgBC,KAAK,oBACrCE,EAAeH,EAAgBC,KAAK,yBACpCG,EAASF,EAAcD,KAAK,2BAA2BI,KAAK,OAGlEL,EAAgBM,YAAY,kBAC5BN,EAAgBC,KAAK,wBAAwBM,IAAI,UAAW,QAC5DP,EAAgBC,KAAK,wBAAwBM,IAAI,UAAW,SAC5DP,EAAgBQ,SAAS,wBAAwBD,IAAI,UAAW,QAChEL,EAAcI,YAAY,gBAC1BJ,EAAcD,KAAK,2BAA2BI,KAAK,MAAO,IAC1DH,EAAcD,KAAK,2BAA2BI,KAAK,MAAOD,GAC1DD,EAAaM,WAAW,YACxBN,EAAaI,IAAI,UAAW,QAE5BV,EAAE,qBAAqBa,MAAK,WAC3Bb,EAAEc,MAAML,YAAY,iBACrB,IAEAP,EAAUE,KAAK,wEAAwEW,IAAI,iBAAiBC,OAE5Gb,EAAgBO,IAAI,CACnB,MAAS,GACT,OAAU,GACV,IAAO,GACP,KAAQ,KAGTL,EAAcK,IAAI,CACjB,MAAS,GACT,OAAU,KAGXV,EAAE,QAAQS,YAAY,iBAGtBQ,OAAOC,KAAKC,uBAAuBd,EACpC,CCnHMY,OAAQG,wBDFP,WACN,MACMjB,EAAkBH,EAAE,mBADI,CAAC,IAAK,IAAK,KAG7BqB,SAASC,IACpBL,OAAOM,WAAW,eAAeD,QAAiBE,iBAAiB,UAAU,KAC5E1B,GAAyB,GACxB,IAGHE,EAAEiB,QAAQQ,GAAG,UAAU,YA6GxB,SAAqBC,GACpB,GAAIA,EAAaC,QAAU,EAC1B,OAGD,MAAMC,EAAU5B,EAAEiB,QACZd,EAAkBuB,EAAatB,KAAK,sBACpCC,EAAgBF,EAAgBC,KAAK,oBACrCyB,EAAQ,GAAK,EAEfD,EAAQE,SAAWF,EAAQG,QAAUF,GACxC1B,EAAgB2B,OAAO,QACvB3B,EAAgB4B,OAAO5B,EAAgB2B,SAAW,IAAMD,EAAQ,MAGhE1B,EAAgB4B,MAAM,QACtB5B,EAAgB2B,QAAQ3B,EAAgB4B,QAAU,IAAMF,EAAQ,KAGjE,MAAMG,EAAMJ,EAAQE,SAAW,EAAI3B,EAAgB2B,SAAW,EACxDG,EAAOL,EAAQG,QAAU,EAAI5B,EAAgB4B,QAAU,EAE7D5B,EAAgBO,IAAI,MAAOsB,EAAM,MACjC7B,EAAgBO,IAAI,OAAQuB,EAAO,MAEnC5B,EAAc0B,MAAM5B,EAAgB4B,QAAU,IAC9C1B,EAAcyB,OAAO3B,EAAgB2B,SAAW,GACjD,CAvIEI,CAAY/B,EAAgBF,QAAQ,uBACrC,IAMAD,EAAEmC,UAAUV,GAAG,QAAS,2CAA2C,WAClE3B,GACD,IAEAE,EAAEmC,UAAUV,GAAG,WAAW,SAAUW,GACnC,MAAMC,EAAkC,WAAdD,EAAME,IAC1BC,EAAmD,UAAdH,EAAME,KAAmBtC,EAAEoC,EAAMI,QAAQC,SAAS,oBACvFC,EAA+B,QAAdN,EAAME,IACvBK,EAAmBP,EAAMQ,SAE3BzC,EAAgBwB,QAAU,IAI1BU,GAAYE,EACfzC,IAEQ4C,IAAUC,GAAW3C,EAAEoC,EAAMI,QAAQC,SAAS,qBACtDzC,EAAEoC,EAAMI,QAAQvC,QAAQ,iBAAiB4C,QACzCT,EAAMU,kBAEEJ,GAASC,GAAW3C,EAAEoC,EAAMI,QAAQC,SAAS,kBACrDzC,EAAEoC,EAAMI,QAAQpC,KAAK,qBAAqByC,QAC1CT,EAAMU,kBAER,GACD,C","sources":["/./VideoCarouselModal/VideoCarouselModal.ts","/./VideoCarouselModal/VideoCarouselModal.Main.ts"],"sourcesContent":["// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nexport function InitializeCarouselModalEvents() {\r\n\tconst breakpoints: number[] = [900, 768, 480];\r\n\tconst $modalContainer = $('.modalContainer');\r\n\r\n\tbreakpoints.forEach((breakpoint: number) => {\r\n\t\twindow.matchMedia(`(max-width: ${breakpoint}px)`).addEventListener('change', () => {\r\n\t\t\tresetCarouselVideoModal();\r\n\t\t});\r\n\t});\r\n\r\n\t$(window).on('resize', function () {\r\n\t\tresizeModal($modalContainer.closest('.supCardControlCard'));\r\n\t});\r\n\r\n\t// Use event delegation to listen click event since slick.js will\r\n\t// re-initialize when number of card number is not default value and\r\n\t// event delegation is able to attach dynamic content for the event\r\n\t// listener.\r\n\t$(document).on('click', '.modalCloseButton, .modalPageBackground', function () {\r\n\t\tresetCarouselVideoModal();\r\n\t});\r\n\r\n\t$(document).on('keydown', function (event) {\r\n\t\tconst isEscape: boolean = event.key === 'Escape';\r\n\t\tconst isEnterOnModalCloseButton: boolean = event.key === 'Enter' && $(event.target).hasClass('modalCloseButton');\r\n\t\tconst isTab: boolean = event.key === 'Tab';\r\n\t\tconst isShift: boolean = event.shiftKey;\r\n\r\n\t\tif ($modalContainer.length <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (isEscape || isEnterOnModalCloseButton) {\r\n\t\t\tresetCarouselVideoModal();\r\n\t\t}\r\n\t\telse if (isTab && !isShift && $(event.target).hasClass('modalCloseButton')) {\r\n\t\t\t$(event.target).closest('.slick-active').focus();\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\t\telse if (isTab && isShift && $(event.target).hasClass('slick-active')) {\r\n\t\t\t$(event.target).find('.modalCloseButton').focus();\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nexport function setCarouselVideoModal(carouselCard: JQuery) {\r\n\r\n\tif (carouselCard.length <= 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst $carousel = carouselCard.closest('div.supCardControlCarousel');\r\n\tconst $modalContainer = carouselCard.find('div.videoContainer');\r\n\tconst $modalContent = $modalContainer.find('div.videoContent');\r\n\tconst $closeButton = $modalContainer.find('span.modalCloseButton');\r\n\r\n\t$modalContainer.addClass('modalContainer');\r\n\t$modalContainer.find('.modalCloseButton').css('display', 'block');\r\n\t$modalContainer.find('.supCardControlImage').css('display', 'none');\r\n\t$modalContainer.siblings('.modalPageBackground').css('display', 'block');\r\n\t$modalContent.addClass('modalContent');\r\n\t$closeButton.css('display', 'block');\r\n\t$closeButton.attr(\"tabindex\", \"0\");\r\n\r\n\t$('[class^=\"slick-\"]').each(function () {\r\n\t\t$(this).addClass('resetTransform');\r\n\t});\r\n\r\n\t$carousel.find('.supCardControlCarouselPrevButton, .supCardControlCarouselNextButton').not('.slick-hidden').hide();\r\n\t$('body').addClass('disableScroll');\r\n\r\n\tresizeModal(carouselCard);\r\n}\r\n\r\nfunction resetCarouselVideoModal() {\r\n\r\n\tconst $carouselCard = $('.modalContainer').closest('.supCardControlCard');\r\n\tconst $carousel = $carouselCard.closest('div.supCardControlCarousel');\r\n\tconst $modalContainer = $carouselCard.find('div.videoContainer');\r\n\tconst $modalContent = $modalContainer.find('div.videoContent');\r\n\tconst $closeButton = $modalContainer.find('span.modalCloseButton');\r\n\tconst $video = $modalContent.find('iframe.oneplayer-iframe').attr(\"src\");\r\n\r\n\t\r\n\t$modalContainer.removeClass('modalContainer');\r\n\t$modalContainer.find('div.modalCloseButton').css('display', 'none');\r\n\t$modalContainer.find('.supCardControlImage').css('display', 'block');\r\n\t$modalContainer.siblings('.modalPageBackground').css('display', 'none');\r\n\t$modalContent.removeClass('modalContent');\r\n\t$modalContent.find('iframe.oneplayer-iframe').attr(\"src\", \"\");\r\n\t$modalContent.find('iframe.oneplayer-iframe').attr(\"src\", $video);\r\n\t$closeButton.removeAttr(\"tabindex\");\r\n\t$closeButton.css('display', 'none');\r\n\r\n\t$('[class^=\"slick-\"]').each(function () {\r\n\t\t$(this).removeClass('resetTransform');\r\n\t});\r\n\r\n\t$carousel.find('.supCardControlCarouselPrevButton, .supCardControlCarouselNextButton').not('.slick-hidden').show();\r\n\r\n\t$modalContainer.css({\r\n\t\t'width': '',\r\n\t\t'height': '',\r\n\t\t'top': '',\r\n\t\t'left': ''\r\n\t});\r\n\r\n\t$modalContent.css({\r\n\t\t'width': '',\r\n\t\t'height': ''\r\n\t});\r\n\r\n\t$('body').removeClass('disableScroll');\r\n\r\n\t// Pause video play\r\n\twindow.occe.suspendStateOfContents($modalContent);\r\n}\r\n\r\nfunction resizeModal(carouselCard: JQuery) {\r\n\tif (carouselCard.length <= 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst $window = $(window);\r\n\tconst $modalContainer = carouselCard.find('div.videoContainer');\r\n\tconst $modalContent = $modalContainer.find('div.videoContent');\r\n\tconst ratio = 16 / 9;\r\n\r\n\tif ($window.height() < $window.width() / ratio) {\r\n\t\t$modalContainer.height(\"95vh\");\r\n\t\t$modalContainer.width(($modalContainer.height() - 80) * ratio + 80);\r\n\t}\r\n\telse {\r\n\t\t$modalContainer.width(\"95vw\");\r\n\t\t$modalContainer.height(($modalContainer.width() - 80) / ratio + 80);\r\n\t}\r\n\r\n\tconst top = $window.height() / 2 - $modalContainer.height() / 2;\r\n\tconst left = $window.width() / 2 - $modalContainer.width() / 2;\r\n\r\n\t$modalContainer.css('top', top + 'px');\r\n\t$modalContainer.css('left', left + 'px');\r\n\r\n\t$modalContent.width($modalContainer.width() - 80);\r\n\t$modalContent.height($modalContainer.height() - 80);\r\n}\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nimport { InitializeCarouselModalEvents } from './VideoCarouselModal';\r\n\r\n(window).InitializeCarouselModal = InitializeCarouselModalEvents;\r\n"],"names":["resetCarouselVideoModal","$carouselCard","$","closest","$carousel","$modalContainer","find","$modalContent","$closeButton","$video","attr","removeClass","css","siblings","removeAttr","each","this","not","show","window","occe","suspendStateOfContents","InitializeCarouselModal","forEach","breakpoint","matchMedia","addEventListener","on","carouselCard","length","$window","ratio","height","width","top","left","resizeModal","document","event","isEscape","key","isEnterOnModalCloseButton","target","hasClass","isTab","isShift","shiftKey","focus","preventDefault"],"sourceRoot":""}