{"version":3,"sources":["../../../../../Content/ContentCast/Inline/src/utils.js","../../../../../Content/ContentCast/Inline/src/accordion.js","../../../../../Content/ContentCast/Inline/Custom/HPModern/src/fullSpecs.js","../../../../../Content/ContentCast/Inline/Custom/HPModern/src/main.js"],"names":["dispatchEvent","logCall","element","action","actionContext","eventType","clientParams","$parentSection","$","closest","ElementIds","attr","elementContext","ElementContext","Action","isPlainObject","JSON","stringify","ActionContext","Et","makeClientParams","ccs_cc_log","c","headerSelector","contentSelector","stateAttr","expanded","collapsed","ariaStateAttr","changeState","$header","o","withAnimation","expand","initialState","undefined","targetState","concat","accordion","expandedText","collapsedText","$content","parent","children","slideDown","css","trigger","slideUp","context","type","index","data","title","accHeader","specs","ep","options","$container","find","each","this","on","e","originalEvent","stopPropagation","initAccordion","$accHeader","html","inlineContentId"],"mappings":"oFA+EO,SAASA,EAAcC,EAASC,EAASC,EAAQC,EAAeC,OAChEC,EAIA,SAA0BJ,EAASC,EAAQC,EAAeC,OAC1DC,EAAe,GACfC,EAAiBC,EAAEN,GAASO,QAAQ,oBAE1CH,EAAaI,WAAaH,EAAeI,KAAK,sBAExCC,EAAiBL,EAAeI,KAAK,gBACvCC,IACHN,EAAaO,eAAiBD,GAG3BT,IACHG,EAAaQ,OAASX,GAGnBC,IACCI,EAAEO,cAAcX,KACnBA,EAAgBY,KAAKC,UAAUb,IAGhCE,EAAaY,cAAgBd,GAG1BC,IACHC,EAAaa,GAAKd,UAGZC,EA/Bcc,CAAiBlB,EAASC,EAAQC,EAAeC,GACtEgB,WAAWrB,cAAcC,EAASK,GC9EnC,IAAMgB,EAAI,CACTC,eAAgB,4BAChBC,gBAAiB,6BACjBC,UAAW,+BACXC,SAAU,WACVC,UAAW,YACXC,cAAe,iBAmBhB,SAASC,EAAYC,EAASC,EAAGC,EAAeC,GAE/C,IAAIC,OAEWC,IAAXF,IAEHA,GADAC,EAAeJ,EAAQnB,KAAKW,EAAEG,cACJH,EAAEI,UAG7BI,EAAQnB,KAAKW,EAAEM,cAAeK,GAC9B,IAAMG,EAAcH,EAASX,EAAEI,SAAWJ,EAAEK,UAE5C,GAAIO,IAAiBE,EAArB,CAIAN,EACEnB,KAAKW,EAAEG,UAAWW,GAClBzB,KAAK,aAFP,GAAA0B,OAEwBP,EAAQnB,KAAK,SAFrC,KAAA0B,OAEiDJ,EAASF,EAAEO,UAAUC,aAAeR,EAAEO,UAAUE,gBAEjG,IAAMC,EAAWX,EAAQY,SAASA,SAASC,SAASrB,EAAEE,iBAWtD,GATIS,GACHD,EAAgBS,EAASG,YAAcH,EAASI,IAAI,UAAW,SAC/DJ,EAASK,QAAQ,mBAGjBd,EAAgBS,EAASM,UAAYN,EAASI,IAAI,UAAW,QAC7DJ,EAASK,QAAQ,wBAGGX,IAAjBD,EAAJ,CAIA,IAAMc,EAAU,CACfC,KAAI,WAAAZ,OAAaD,IAAgBd,EAAEI,SAAW,OAAS,UAGlDwB,EAAQpB,EAAQqB,KAAK,SACvBD,IACHF,EAAQE,MAAQA,EAChBF,EAAQI,MAAQtB,EAAQnB,KAAK,UAG9BX,EAAc+B,EAAE9B,QAAS6B,EAAS,gBAAiBkB,KCvEpD,IAAM1B,EAAI,CACT+B,UAAW,6BAGG,SAAAC,EAASC,EAAIC,IDMrB,SAAcC,EAAYD,GAChCC,EAAWC,KAAKpC,EAAEC,gBAAgBoC,KAAK,WACtC,IAAM7B,EAAUtB,EAAEoD,MAElB/B,EAAYC,EAAS0B,GAAS,EAAO1B,EAAQnB,KAAKW,EAAEG,aAAeH,EAAEI,YAGtE+B,EAAWI,GAAG,QACbvC,EAAEC,eACF,SAAUuC,GACTjC,EAAYrB,EAAEoD,MAAOJ,OAA6BrB,IAApB2B,EAAEC,eAChCD,EAAEE,oBChBJC,CAAcV,EAAIC,GAElB,IAAMU,EAAaX,EAAGG,KAAKpC,EAAE+B,WAE7BE,EAAGM,GAAG,gBAAiB,WAAA,OAAMK,EAAWC,KAAX,IAAA9B,OAAoBmB,EAAQlB,UAAUC,iBACnEgB,EAAGM,GAAG,iBAAkB,WAAA,OAAMK,EAAWC,KAAX,IAAA9B,OAAoBmB,EAAQlB,UAAUE,yBCTtD,SAAUgB,GAIxBF,EAFW9C,EAAC,IAAA6B,OAAKmB,EAAQY,kBAEfZ","file":"hp.modern.fullSpecs.min.js","sourcesContent":["import $ from \"jquery\";\r\n\r\nconst c = {\r\n\tensureStyleLoaded: \".ccs-cc-inline-ensure-style-loaded\",\r\n\thiddenHrefLinks: \"a[data-url]\",\r\n\tclickableClass: \"ccs-cc-inline-clickable\",\r\n\turlAttr: \"data-url\"\r\n};\r\n\r\nexport function isMobile() {\r\n\treturn ccs_util.isMobile();\r\n}\r\n\r\nexport function keepFocus() {\r\n\treturn ccs_util.keepFocus(...arguments);\r\n}\r\n\r\nexport function initViewportEvent() {\r\n\treturn ccs_util.initViewportEvent(...arguments);\r\n}\r\n\r\nexport function stringFormat() {\r\n\treturn ccs_util.stringFormat(...arguments);\r\n}\r\n\r\nexport function restoreHref($container) {\r\n\r\n\t$container\r\n\t\t.find(c.hiddenHrefLinks)\r\n\t\t.addBack(c.hiddenHrefLinks)\r\n\t\t.each(function () {\r\n\t\t\tconst $link = $(this);\r\n\t\t\tconst url = $link.attr(c.urlAttr);\r\n\r\n\t\t\t$link\r\n\t\t\t\t.attr(\"href\", url)\r\n\t\t\t\t.removeAttr(c.urlAttr)\r\n\t\t\t\t.addClass(c.clickableClass);\r\n\t\t});\r\n}\r\n\r\nexport function ensureStyles($container) {\r\n\treturn $container.find(c.ensureStyleLoaded).height() > 0;\r\n}\r\n\r\nexport function bindResizeEvent(func) {\r\n\r\n\tif (isMobile()) {\r\n\t\twindow\r\n\t\t\t.matchMedia(\"(orientation: portrait)\")\r\n\t\t\t.addListener(func);\r\n\t} else {\r\n\t\t$(window).on(\"resize\", func);\r\n\t}\r\n}\r\n\r\nexport function isElementInViewport(element, spread) {\r\n\r\n\tspread = spread || 0;\r\n\r\n\tconst $element = $(element);\r\n\tif ($element.length === 0) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tconst windowsHeight = $(window).height();\r\n\tconst viewportScrollTop = $(window).scrollTop();\r\n\r\n\tconst areaTop = viewportScrollTop < spread ? 0 : viewportScrollTop - spread;\r\n\tconst areaBottom = viewportScrollTop + windowsHeight + spread;\r\n\r\n\tconst elementTop = $element.offset().top;\r\n\tconst elementBottom = elementTop + $element.height();\r\n\r\n\treturn elementBottom <= areaBottom\r\n\t\t&& elementTop >= areaTop\r\n\t\t&& $element.is(\":visible\");\r\n}\r\n\r\nexport function dispatchEvent(logCall, element, action, actionContext, eventType) {\r\n\tconst clientParams = makeClientParams(element, action, actionContext, eventType);\r\n\tccs_cc_log.dispatchEvent(logCall, clientParams);\r\n}\r\n\r\nexport function makeClientParams(element, action, actionContext, eventType) {\r\n\tconst clientParams = {};\r\n\tconst $parentSection = $(element).closest(\"[data-elementid]\");\r\n\r\n\tclientParams.ElementIds = $parentSection.attr(\"data-elementid\");\r\n\r\n\tconst elementContext = $parentSection.attr(\"data-context\");\r\n\tif (elementContext) {\r\n\t\tclientParams.ElementContext = elementContext;\r\n\t}\r\n\r\n\tif (action) {\r\n\t\tclientParams.Action = action;\r\n\t}\r\n\r\n\tif (actionContext) {\r\n\t\tif ($.isPlainObject(actionContext)) {\r\n\t\t\tactionContext = JSON.stringify(actionContext);\r\n\t\t}\r\n\r\n\t\tclientParams.ActionContext = actionContext;\r\n\t}\r\n\r\n\tif (eventType) {\r\n\t\tclientParams.Et = eventType;\r\n\t}\r\n\r\n\treturn clientParams;\r\n}\r\n\r\n// https://www.w3schools.com/js/js_cookies.asp\r\nexport function setCookie(cname, cvalue, exdays) {\r\n\tvar cookie = cname + \"=\" + cvalue + \";path=/\";\r\n\tif (exdays) {\r\n\t\tconst d = new Date();\r\n\t\td.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n\r\n\t\tcookie += \";expires=\" + d.toUTCString();\r\n\t}\r\n\tdocument.cookie = cookie;\r\n}\r\n\r\nexport function getCookie(cname) {\r\n\tconst name = cname + \"=\";\r\n\tconst decodedCookie = decodeURIComponent(document.cookie);\r\n\tconst ca = decodedCookie.split(\";\");\r\n\tfor (let i = 0; i < ca.length; i++) {\r\n\t\tlet c = ca[i];\r\n\t\twhile (c.charAt(0) === \" \") {\r\n\t\t\tc = c.substring(1);\r\n\t\t}\r\n\t\tif (c.indexOf(name) === 0) {\r\n\t\t\treturn c.substring(name.length, c.length);\r\n\t\t}\r\n\t}\r\n\treturn \"\";\r\n}\r\n// end cookie\r\n\r\nexport function fixBlockWidth($ep) {\r\n\tvar $block = $ep,\r\n\t\ttimer;\r\n\r\n\tif ($block.closest(\"td\").length) {\r\n\t\tconst fixInvoker = function () {\r\n\t\t\tif ($block.is(\":visible\")) {\r\n\t\t\t\t$block.css(\"position\", \"absolute\");\r\n\r\n\t\t\t\tconst width = $block.parent().width();\r\n\t\t\t\tif (width !== 0) {\r\n\t\t\t\t\t$block.width(width);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$block.css(\"position\", \"\");\r\n\t\t\t} else {\r\n\t\t\t\tclearTimeout(timer);\r\n\t\t\t\ttimer = setTimeout(fixInvoker, 300);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tbindResizeEvent(fixInvoker);\r\n\t\tfixInvoker.call();\r\n\t}\r\n}\r\n\r\nexport function updateOnVisible($ep, elements, callback, timeout) {\r\n\r\n\tif (!$ep || typeof callback !== \"function\") {\r\n\t\tconsole.error(\"updateOnVisible: '$ep' or 'callback' parameters are not defined\");\r\n\t\treturn;\r\n\t}\r\n\r\n\telements = elements || $ep;\r\n\ttimeout = timeout || 300;\r\n\r\n\tif (typeof elements === \"string\") {\r\n\t\telements = $ep.find(elements);\r\n\t}\r\n\r\n\tif (elements instanceof $) {\r\n\t\telements = elements.toArray();\r\n\t}\r\n\r\n\tif (!Array.isArray(elements)) {\r\n\t\telements = [elements];\r\n\t}\r\n\r\n\tfor (let i = 0; i < elements.length; i++) {\r\n\t\tupdateOnVisibleImpl($ep, elements[i], callback, timeout);\r\n\t}\r\n}\r\n\r\nfunction updateOnVisibleImpl($ep, element, callback, timeout) {\r\n\tconst $el = $(element);\r\n\r\n\tif ($el.is(\":visible\") && ensureStyles($ep)) {\r\n\t\tcallback(element);\r\n\r\n\t} else {\r\n\t\tsetTimeout(() => updateOnVisibleImpl(...arguments), timeout);\r\n\t}\r\n}\r\n","import $ from \"jquery\";\r\nimport { dispatchEvent } from \"./utils\";\r\n\r\nconst c = {\r\n\theaderSelector: \".ccs-cc-inline-acc-header\",\r\n\tcontentSelector: \".ccs-cc-inline-acc-content\",\r\n\tstateAttr: \"data-ccs-cc-inline-acc-state\",\r\n\texpanded: \"expanded\",\r\n\tcollapsed: \"collapsed\",\r\n\tariaStateAttr: \"aria-expanded\"\r\n};\r\n\r\nexport function init($container, options) {\r\n\t$container.find(c.headerSelector).each(function () {\r\n\t\tconst $header = $(this);\r\n\r\n\t\tchangeState($header, options, false, $header.attr(c.stateAttr) === c.expanded);\r\n\t});\r\n\r\n\t$container.on(\"click\",\r\n\t\tc.headerSelector,\r\n\t\tfunction (e) {\r\n\t\t\tchangeState($(this), options, e.originalEvent !== undefined);\r\n\t\t\te.stopPropagation();\r\n\t\t}\r\n\t);\r\n}\r\n\r\nfunction changeState($header, o, withAnimation, expand) {\r\n\r\n\tlet initialState;\r\n\r\n\tif (expand === undefined) { // not initialization\r\n\t\tinitialState = $header.attr(c.stateAttr);\r\n\t\texpand = initialState !== c.expanded;\r\n\t}\r\n\r\n\t$header.attr(c.ariaStateAttr, expand);\r\n\tconst targetState = expand ? c.expanded : c.collapsed;\r\n\r\n\tif (initialState === targetState) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t$header\r\n\t\t.attr(c.stateAttr, targetState)\r\n\t\t.attr(\"aria-label\", `${$header.attr(\"title\")} ${expand ? o.accordion.expandedText : o.accordion.collapsedText}`);\r\n\r\n\tconst $content = $header.parent().parent().children(c.contentSelector);\r\n\r\n\tif (expand) {\r\n\t\twithAnimation ? $content.slideDown() : $content.css(\"display\", \"block\");\r\n\t\t$content.trigger(\"accordionOpen\");\r\n\t}\r\n\telse {\r\n\t\twithAnimation ? $content.slideUp() : $content.css(\"display\", \"none\");\r\n\t\t$content.trigger(\"accordionClose\");\r\n\t}\r\n\r\n\tif (initialState === undefined) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst context = {\r\n\t\ttype: `section-${targetState === c.expanded ? \"open\" : \"close\"}`\r\n\t};\r\n\r\n\tconst index = $header.data(\"index\");\r\n\tif (index) {\r\n\t\tcontext.index = index;\r\n\t\tcontext.title = $header.attr(\"title\");\r\n\t}\r\n\r\n\tdispatchEvent(o.logCall, $header, \"feature-click\", context);\r\n}\r\n\r\nexport function expand($area) {\r\n\ttoggle($area, c.expanded);\r\n}\r\n\r\nexport function collapse($area) {\r\n\ttoggle($area, c.collapsed);\r\n}\r\n\r\nfunction toggle($area, state) {\r\n\tconst $header = $area.filter(c.headerSelector).add($area.find(c.headerSelector));\r\n\r\n\tif ($header.length > 0 && $header.attr(c.stateAttr) !== state) {\r\n\t\t$header.trigger(\"click\");\r\n\t}\r\n}","import { init as initAccordion } from \"../../../src/accordion\";\r\n\r\nconst c = {\r\n\taccHeader: \".ccs-cc-inline-acc-header\",\r\n};\r\n\r\nexport default function(ep, options) {\r\n\tinitAccordion(ep, options);\r\n\r\n\tconst $accHeader = ep.find(c.accHeader);\r\n\r\n\tep.on(\"accordionOpen\", () => $accHeader.html(`-${options.accordion.expandedText}`));\r\n\tep.on(\"accordionClose\", () => $accHeader.html(`+${options.accordion.collapsedText}`));\r\n}","import $ from \"jquery\";\r\nimport specs from \"./fullSpecs\";\r\n\r\nexport default function (options) {\r\n\r\n\tconst ep = $(`#${options.inlineContentId}`);\r\n\r\n\tspecs(ep, options);\r\n}\r\n"],"sourceRoot":"../../../../.."}