{"version":3,"sources":["a1-common.js","accordion.js","main.js"],"names":["bsComponents","freeze","blacksunplc","objects","arrays","$$","nodes","qsa","exports","isPrimaryInteractionMouseLike","window","matchMedia","matches","KeyCode","commonKeyDown","event","component","element","className","allLinks","activeIndex","findIndex","anchorTag","classList","contains","firstChild","lastChild","length","prevSibling","nextSibling","clickElement","targetElement","focus","click","keyCode","preventDefault","utils","attributes","events","security","classes","behaviors","AccordionBehavior","define","constructor","host","this","methods","connectedCallback","lexicalThis","forEach","button","add","selectAccordion","checkUrlHasHash","hash","safeLocationHash","replace","getAttribute","setTimeout","scrollTo","behavior","left","top","offsetTop","slideUp","style","height","remove","slideDown","clientHeight","slideToggle","accordionType","isHasHash","id","elementClassList","document","getElementById","expandCollapse","timeoutMillis","accordionItem","ariaControls","setAttribute","history","pushState","toggle","prototype","HTMLUListElement","accordion","extends","ready","whenDefined","then","querySelectorAll","headingHeight","itemHeight","navigationWrapper","$","closeNavigation","removeClass","scrollToElement","topSpacing","animate","scrollTop","offset","on","stopPropagation","currentTarget","addClass","width","each","find","outerHeight","css","titleHeight","outerImageHeight","imgHeight","accButton","attr","parents"],"mappings":"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","file":"all.min.js","sourcesContent":["/*jslint browser: true, fudge: true, long: true, for: true */\r\n/*global HTMLMediaElement, blacksunplc, console, document, history, parseFloat, setTimeout, window, console */\r\n\r\n/**\r\n * A module providing utility related functions.\r\n * @module blacksunplc/utils\r\n * @requires blacksunplc/objects\r\n * @requires blacksunplc/security\r\n */\r\n\r\nvar bsComponents = {};\r\n(function () {\r\n \"use strict\";\r\n\r\n var freeze = blacksunplc.objects.freeze; // import {freeze} from \"module:blacksunplc/objects\"\r\n var arrays = blacksunplc.arrays; // import * as arrays from \"module:blacksunplc/arrays\"\r\n var $$ = blacksunplc.nodes.qsa; // import {qsa as $$} from \"module:blacksunplc/nodes\"\r\n\r\n var exports = {};\r\n\r\n /**\r\n * Determines if the primary interaction device is mouse-like.\r\n *

The result value will always be true on older devices that\r\n * do not support either `matchMedia` or CSS Media Queries Level 4.

\r\n * @return {boolean}\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries#Media_features\r\n * @see https://caniuse.com/#feat=css-media-interaction\r\n */\r\n exports.isPrimaryInteractionMouseLike = function () {\r\n return !(window.matchMedia && (\r\n window.matchMedia(\"(hover: none)\").matches ||\r\n window.matchMedia(\"(pointer: none)\").matches ||\r\n window.matchMedia(\"(pointer: coarse)\").matches\r\n ));\r\n };\r\n\r\n\r\n /**\r\n * @enum {number}\r\n * @see https://www.w3.org/TR/uievents/#fixed-virtual-key-codes\r\n */\r\n var KeyCode = {\r\n BACKSPACE: 8,\r\n TAB: 9,\r\n ENTER: 13,\r\n SHIFT: 16,\r\n CONTROL: 17,\r\n ALT: 18,\r\n CAPSLOCK: 20,\r\n ESCAPE: 27,\r\n SPACE: 32,\r\n PAGEUP: 33,\r\n PAGEDOWN: 34,\r\n END: 35,\r\n HOME: 36,\r\n ARROWLEFT: 37,\r\n ARROWUP: 38,\r\n ARROWRIGHT: 39,\r\n ARROWDOWN: 40,\r\n DELETE: 46\r\n };\r\n\r\n /**\r\n * @param {!Event} event\r\n * @param {!HTMLUListElement} component\r\n * @param {string} element\r\n * @param {string} className\r\n */\r\n exports.commonKeyDown = function (event, component, element, className) {\r\n var allLinks = $$(element, component);\r\n if (!className) {\r\n className = \"selected\";\r\n }\r\n\r\n var activeIndex = arrays.findIndex($$(element, component), function (anchorTag) {\r\n return anchorTag.classList.contains(className);\r\n });\r\n\r\n var firstChild = allLinks[0];\r\n var lastChild = allLinks[allLinks.length - 1];\r\n var prevSibling = allLinks[activeIndex - 1];\r\n var nextSibling = allLinks[activeIndex + 1];\r\n\r\n if (!prevSibling) {\r\n prevSibling = lastChild;\r\n }\r\n if (!nextSibling) {\r\n nextSibling = firstChild;\r\n }\r\n\r\n /**\r\n * @param {!Element} targetElement\r\n */\r\n function clickElement(targetElement) {\r\n targetElement.focus();\r\n targetElement.click();\r\n }\r\n switch (event.keyCode) {\r\n case KeyCode.ARROWRIGHT:\r\n case KeyCode.ARROWDOWN:\r\n event.preventDefault();\r\n clickElement(nextSibling);\r\n break;\r\n case KeyCode.ARROWLEFT:\r\n case KeyCode.ARROWUP:\r\n event.preventDefault();\r\n clickElement(prevSibling);\r\n break;\r\n case KeyCode.HOME:\r\n event.preventDefault();\r\n clickElement(firstChild);\r\n break;\r\n case KeyCode.END:\r\n event.preventDefault();\r\n clickElement(lastChild);\r\n break;\r\n case KeyCode.SPACE:\r\n event.preventDefault();\r\n break;\r\n default:\r\n return;\r\n }\r\n };\r\n\r\n bsComponents.utils = freeze(exports);\r\n}());\r\n","/*jslint browser: true, fudge: true, long: true, this: true */\r\n/*global blacksunplc, self, bsComponents */\r\n\r\n/**\r\n * Accordion component\r\n */\r\n(function () {\r\n \"use strict\";\r\n\r\n var arrays = blacksunplc.arrays; // import * as arrays from \"module:blacksunplc/arrays\"\r\n var classList = blacksunplc.attributes.classList; // import {classList} from \"module:blacksunplc/attributes\"\r\n var events = blacksunplc.events; // import * as events from \"module:blacksunplc/events\"\r\n var security = blacksunplc.security; // import * as security from \"module:blacksunplc/security\"\r\n var classes = blacksunplc.classes; // import * as classes from \"module:blacksunplc/classes\"\r\n var behaviors = blacksunplc.behaviors; // import * as behaviors from \"module:blacksunplc/behaviors\"\r\n var objects = blacksunplc.objects; // import * as objects from \"module:blacksunplc/objects\"\r\n var $$ = blacksunplc.nodes.qsa; // import {qsa as $$} from \"module:blacksunplc/nodes\"\r\n var utils = bsComponents.utils;\r\n\r\n var exports = {};\r\n\r\n exports.AccordionBehavior = classes.define({\r\n /**\r\n * @this {!exports.AccordionBehavior}\r\n * @param {!HTMLUListElement} host\r\n */\r\n \"constructor\": function (host) {\r\n this.host = host;\r\n },\r\n\r\n \"methods\": {\r\n \"connectedCallback\": function () {\r\n var lexicalThis = this;\r\n\r\n arrays.forEach($$(\".bs-accordion__header button\", this.host), function (button) {\r\n events.add(button, \"click\", function (event) {\r\n event.preventDefault();\r\n lexicalThis.selectAccordion(button);\r\n });\r\n events.add(button, \"keydown\", function (event) {\r\n utils.commonKeyDown(event, lexicalThis.host, \".bs-accordion__header button\");\r\n });\r\n });\r\n lexicalThis.checkUrlHasHash();\r\n },\r\n\r\n \"checkUrlHasHash\": function () {\r\n var hash = security.safeLocationHash();\r\n var lexicalThis = this;\r\n if (hash) {\r\n hash = hash.replace(\"#\", \"\");\r\n arrays.forEach($$(\".bs-accordion__header button\", this.host), function (button) {\r\n if (button.getAttribute(\"aria-controls\") === hash) {\r\n if (!classList(button).contains(\"selected\")) {\r\n lexicalThis.selectAccordion(button);\r\n }\r\n setTimeout(function () {\r\n window.scrollTo({\r\n behavior: \"smooth\",\r\n left: 0,\r\n top: button.offsetTop\r\n });\r\n }, 1000);\r\n }\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * @param {!Element} targetElement\r\n */\r\n \"slideUp\": function (targetElement) {\r\n targetElement.style.height = \"0px\";\r\n setTimeout(function () {\r\n classList(targetElement).remove(\"selected\");\r\n }, 300);\r\n },\r\n\r\n /**\r\n * @param {!Element} targetElement\r\n */\r\n \"slideDown\": function (targetElement) {\r\n classList(targetElement).add(\"selected\");\r\n targetElement.style.height = \"auto\";\r\n var height = targetElement.clientHeight + \"px\";\r\n targetElement.style.height = \"0px\";\r\n setTimeout(function () {\r\n targetElement.style.height = height;\r\n }, 0);\r\n },\r\n\r\n /**\r\n * @param {!Element} targetElement\r\n */\r\n \"slideToggle\": function (targetElement) {\r\n if (!classList(targetElement).contains(\"selected\")) {\r\n this.slideDown(targetElement);\r\n } else {\r\n this.slideUp(targetElement);\r\n }\r\n },\r\n\r\n \"selectAccordion\": function (element) {\r\n var lexicalThis = this;\r\n\r\n var accordionType = lexicalThis.host.getAttribute(\"data-type\");\r\n var isHasHash = lexicalThis.host.getAttribute(\"data-has-hash\");\r\n\r\n var id = element.getAttribute(\"aria-controls\");\r\n var elementClassList = classList(element);\r\n\r\n var targetElement = document.getElementById(id);\r\n if (isHasHash === \"true\") {\r\n history.pushState(null, \"\", \"#\" + id);\r\n }\r\n\r\n function expandCollapse() {\r\n var timeoutMillis = 50;\r\n arrays.forEach($$(\".bs-accordion__header button.selected\", lexicalThis.host), function (accordionItem) {\r\n classList(accordionItem).remove(\"selected\");\r\n var ariaControls = accordionItem.getAttribute(\"aria-controls\");\r\n lexicalThis.slideUp(document.getElementById(ariaControls));\r\n accordionItem.setAttribute(\"aria-expanded\", false);\r\n timeoutMillis = 500;\r\n });\r\n setTimeout(function () {\r\n lexicalThis.slideDown(targetElement);\r\n element.setAttribute(\"aria-expanded\", true);\r\n classList(element).add(\"selected\");\r\n }, timeoutMillis);\r\n }\r\n\r\n\r\n if (accordionType === \"multi\") {\r\n elementClassList.toggle(\"selected\");\r\n lexicalThis.slideToggle(targetElement);\r\n } else if (accordionType === \"noCollapse\") {\r\n if (elementClassList.contains(\"selected\")) {\r\n return;\r\n }\r\n expandCollapse();\r\n } else {\r\n if (elementClassList.contains(\"selected\")) {\r\n elementClassList.remove(\"selected\");\r\n lexicalThis.slideUp(targetElement);\r\n } else {\r\n expandCollapse();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n exports.slideDown = function (element) {\r\n exports.AccordionBehavior.prototype.slideDown(element);\r\n };\r\n exports.selectAccordion = function (element) {\r\n exports.AccordionBehavior.prototype.selectAccordion(element);\r\n };\r\n\r\n /* jshint ignore:start */\r\n\r\n /** @type {(undefined|!exports.AccordionBehavior)} */\r\n HTMLUListElement.prototype.accordion; // this fails in IE/Edge 7 and below\r\n\r\n /* jshint ignore:end */\r\n\r\n behaviors.define(\"accordion-list\", exports.AccordionBehavior, {\"extends\": \"ul\"});\r\n\r\n bsComponents.accordion = objects.freeze(exports);\r\n}());\r\n\r\n\r\nblacksunplc.events.ready(function () {\r\n \"use strict\";\r\n\r\n var arrays = blacksunplc.arrays; // import * as arrays from \"module:blacksunplc/arrays\"\r\n var classList = blacksunplc.attributes.classList; // import {classList} from \"module:blacksunplc/attributes\"\r\n var behaviors = blacksunplc.behaviors; // import * as behaviors from \"module:blacksunplc/behaviors\"\r\n var accordion = bsComponents.accordion; // import * as accordion from \"module:bsComponents/accordion\"\r\n\r\n behaviors.whenDefined(\"accordion-list\").then(function () {\r\n arrays.forEach(document.querySelectorAll(\".bs-accordion__header button\"), function (button) {\r\n if (classList(button).contains(\"selected\")) {\r\n var ariaControls = button.getAttribute(\"aria-controls\");\r\n setTimeout(function () {\r\n accordion.slideDown(document.getElementById(ariaControls));\r\n }, 0);\r\n }\r\n });\r\n });\r\n});\r\n\r\n/* Accordion component end here */","/*jslint browser: true, fudge: true, long: true */\r\n/*global $, blacksunplc, document, window */\r\n\r\nblacksunplc.events.ready(function () {\r\n \"use strict\";\r\n\r\n var navigationWrapper = $(\".main-nav\");\r\n\r\n $(\".hamburger\").on(\"click\", function (event) {\r\n event.stopPropagation();\r\n var button = $(event.currentTarget);\r\n button.addClass(\"is-active\");\r\n navigationWrapper.addClass(\"is-active\");\r\n });\r\n\r\n function closeNavigation() {\r\n $(\".hamburger\").removeClass(\"is-active\");\r\n navigationWrapper.removeClass(\"is-active\");\r\n }\r\n\r\n navigationWrapper.on(\"click\", \".main-nav__close\", function (event) {\r\n event.preventDefault();\r\n closeNavigation();\r\n });\r\n\r\n navigationWrapper.on(\"click\", function (event) {\r\n event.stopPropagation();\r\n });\r\n\r\n $(document).on(\"click\", function () {\r\n closeNavigation();\r\n });\r\n\r\n if ($(\".pillar\").length > 0 && $(window).width > 840) {\r\n var headingHeight = 0;\r\n\r\n $(\".pillar .row\").each(function () {\r\n headingHeight = 0;\r\n\r\n $(this).find(\"h6\").each(function () {\r\n if ($(this).outerHeight() > headingHeight) {\r\n headingHeight = $(this).outerHeight();\r\n }\r\n });\r\n\r\n $(this).find(\"h6\").css(\"height\", headingHeight + \"px\");\r\n });\r\n }\r\n\r\n function scrollToElement(element, topSpacing) {\r\n $(\"html, body\").animate({\r\n scrollTop: element.offset().top - topSpacing\r\n }, 500);\r\n }\r\n\r\n function gotoSectionNavigaion() {\r\n $(\".page-body__navigation\").on(\"click\", \"a\", function (event) {\r\n event.preventDefault();\r\n var anchore = $(event.currentTarget);\r\n var id = anchore.attr(\"href\");\r\n if ($(id).parents(\".bs-accordion\").length) {\r\n var accButton = id.replace(\"#\", \"\");\r\n var button = $(\".bs-accordion__header button[aria-controls=\" + accButton + \"]\");\r\n button.click();\r\n setTimeout(function () {\r\n scrollToElement(button, 70);\r\n }, 300);\r\n } else {\r\n scrollToElement($(id), 100);\r\n }\r\n });\r\n }\r\n\r\n function resizeGallery() {\r\n\r\n if ($(window).width() > 820) {\r\n $(\".pillar__gallery\").each(function () {\r\n var titleHeight = 0;\r\n var outerHeight = 0;\r\n\r\n $(this).find(\"h6\").each(function () {\r\n outerHeight = $(this).outerHeight();\r\n if (outerHeight > titleHeight) {\r\n titleHeight = outerHeight;\r\n }\r\n });\r\n\r\n $(this).find(\"h6\").css(\"height\", titleHeight + \"px\");\r\n });\r\n }\r\n }\r\n function resizeGalleryImage() {\r\n\r\n if ($(window).width() > 820) {\r\n $(\".pillar__gallery\").each(function () {\r\n var imgHeight = 0;\r\n var outerImageHeight = 0;\r\n \r\n $(this).find(\".img-container\").each(function () {\r\n outerImageHeight = $(this).outerHeight();\r\n\r\n if (outerImageHeight > imgHeight) {\r\n imgHeight = outerImageHeight;\r\n }\r\n });\r\n\r\n $(this).find(\".img-container\").css(\"height\", imgHeight + \"px\");\r\n });\r\n }\r\n }\r\n\r\n function dividendCart() {\r\n if ($(window).width() > 820) {\r\n var itemHeight = 0;\r\n $(\".dividends-chart .item li\").each(function () {\r\n\r\n var outerHeight = $(this).outerHeight();\r\n if (outerHeight > itemHeight) {\r\n itemHeight = outerHeight;\r\n }\r\n\r\n });\r\n $(\".dividends-chart .item li\").css(\"height\", itemHeight + \"px\");\r\n }\r\n }\r\n\r\n\r\n resizeGallery();\r\n dividendCart();\r\n\r\n setTimeout(function() {\r\n resizeGalleryImage();\r\n }, 1000);\r\n gotoSectionNavigaion();\r\n});\r\n"]}