{"version":3,"names":["AdsFooterLegalLink","text","title","link","linkObj","getHyperLinkObject","anchorAttributes","href","hrefLang","hreflang","rel","target","onClick","h","class","Object","assign","AdsFooterLink","AdsFooterLinkHeader","headingLevel","Heading","AdsFooterLinkSection","sectionHeader","sectionLinks","length","map","slink","AdsFooterSocialLink","icon","svgIcon","undefined","classIcon","svgIconObj","getSVGIconObject","active","iconObj","getIconObject","isNullOrUndefined","generateSVGImage","data","height","width","adsFooterCss","AdsFooterStyle0","AdsFooter","constructor","hostRef","this","el","setAttribute","identifier","generateId","component","handleIdentifierChange","newValue","componentDidLoad","Pipeline.addComponent","disconnectedCallback","Pipeline.removeComponent","render","copyrightEl","Array","from","querySelectorAll","copyright","name","slottedLogo","_b","_a","socialLinks","push","footerAttributes","srLabel","key","_d","_c","sections","section","_f","_e","_h","_g","socialLink","join","_k","_j","legalLinks","_m","_l","legalLink"],"sources":["src/components/ads-footer/components/ads-footer-legal-link/ads-footer-legal-link.tsx","src/components/ads-footer/components/ads-footer-link/ads-footer-link.tsx","src/components/ads-footer/components/ads-footer-link-header/ads-footer-link-header.tsx","src/components/ads-footer/components/ads-footer-link-section/ads-footer-link-section.tsx","src/components/ads-footer/components/ads-footer-social-link/ads-footer-social-link.tsx","src/components/ads-footer/ads-footer.scss?tag=ads-footer&encapsulation=shadow","src/components/ads-footer/ads-footer.tsx"],"sourcesContent":["import { FooterLegalLink } from '../../ads-footer.types';\nimport { FunctionalComponent, VNode, h } from '@stencil/core';\nimport { getHyperLinkObject } from '../../../core/interfaces/Hyperlink';\n\nexport const AdsFooterLegalLink: FunctionalComponent = ({ text, title, link }) => {\n const linkObj = getHyperLinkObject(link);\n const anchorAttributes = {\n href: linkObj?.href,\n hrefLang: linkObj?.hreflang || null,\n rel: linkObj?.rel || null,\n target: linkObj?.target || null,\n title: title || null,\n onClick: linkObj?.onClick || null,\n 'data-track': 'true',\n 'data-track-value': text,\n };\n\n return (\n \n ) as VNode;\n};\n","import { FooterLink } from '../../ads-footer.types';\nimport { FunctionalComponent, VNode, h } from '@stencil/core';\nimport { getHyperLinkObject } from '../../../core/interfaces/Hyperlink';\n\nexport const AdsFooterLink: FunctionalComponent = ({ link, text, title }) => {\n const linkObj = getHyperLinkObject(link);\n const anchorAttributes = {\n href: linkObj?.href,\n hrefLang: linkObj?.hreflang || null,\n rel: linkObj?.rel || null,\n target: linkObj?.target || null,\n title: title || null,\n onClick: linkObj?.onClick || null,\n 'data-track': 'true',\n 'data-track-value': text,\n };\n\n return (\n
  • \n {text}\n
  • \n ) as VNode;\n};\n","import { FooterLinkHeader } from '../../ads-footer.types';\nimport { FunctionalComponent, VNode, h } from '@stencil/core';\nimport { getHyperLinkObject } from '../../../core/interfaces/Hyperlink';\n\nexport const AdsFooterLinkHeader: FunctionalComponent = ({ link, text, title, headingLevel }) => {\n const Heading = `h${headingLevel || 2}`;\n const linkObj = getHyperLinkObject(link);\n\n const anchorAttributes = {\n href: linkObj?.href,\n hrefLang: linkObj?.hreflang || null,\n rel: linkObj?.rel || null,\n target: linkObj?.target || null,\n title: title || null,\n onClick: linkObj?.onClick || null,\n 'data-track': 'true',\n 'data-track-value': text,\n };\n\n return (\n \n ) as VNode;\n};\n","import { AdsFooterLink } from '../ads-footer-link/ads-footer-link';\nimport { AdsFooterLinkHeader } from '../ads-footer-link-header/ads-footer-link-header';\nimport { FooterSection } from '../../ads-footer.types';\nimport { FunctionalComponent, VNode, h } from '@stencil/core';\n\nexport const AdsFooterLinkSection: FunctionalComponent = ({ sectionHeader, sectionLinks }) => {\n return sectionHeader || sectionLinks?.length > 0\n ? ((\n \n ) as VNode)\n : null;\n};\n","import { FooterSocialLink } from '../../ads-footer.types';\nimport { FunctionalComponent, VNode, h } from '@stencil/core';\nimport { Icon, SVGIcon, SVGIconData, getIconObject, getSVGIconObject } from '../../../core/interfaces/Icon';\nimport { generateSVGImage, isNullOrUndefined } from 'utils/index';\nimport { getHyperLinkObject } from '../../../core/interfaces/Hyperlink';\n\nexport const AdsFooterSocialLink: FunctionalComponent = ({ icon, title, link }) => {\n const linkObj = getHyperLinkObject(link);\n const anchorAttributes = {\n href: linkObj?.href,\n hrefLang: linkObj?.hreflang || null,\n rel: linkObj?.rel || null,\n target: linkObj?.target || null,\n title: title || null,\n onClick: linkObj?.onClick || null,\n 'data-track': 'true',\n 'data-track-value': title || null,\n };\n\n let svgIcon: SVGIconData = undefined;\n let classIcon: string = undefined;\n const svgIconObj = getSVGIconObject(icon as SVGIcon);\n svgIcon = svgIconObj?.active;\n const iconObj = getIconObject(icon as Icon);\n classIcon = iconObj?.active;\n\n return (\n
  • \n \n {(classIcon || svgIcon) && (\n \n {!isNullOrUndefined(svgIcon) && generateSVGImage({ data: svgIcon.data, height: svgIcon.height, width: svgIcon.width })}\n \n )}\n \n
  • \n ) as VNode;\n};\n","@import 'core';\n\n@import '@fortawesome/fontawesome-pro/scss/fontawesome.scss';\n@import '@fortawesome/fontawesome-pro/scss/brands.scss';\n@import '@fortawesome/fontawesome-pro/scss/light.scss';\n@import '@fortawesome/fontawesome-pro/scss/regular.scss';\n@import '@fortawesome/fontawesome-pro/scss/solid.scss';\n\n@import './components/ads-footer-link/ads-footer-link.scss';\n@import './components/ads-footer-link-header/ads-footer-link-header.scss';\n@import './components/ads-footer-link-section/ads-footer-link-section.scss';\n@import './components/ads-footer-social-link/ads-footer-social-link.scss';\n@import './components/ads-footer-legal-link/ads-footer-legal-link.scss';\n\n/**\n * @prop --ads-footer-background-color: Background color\n * @prop --ads-footer-color: Text color\n * @prop --ads-footer-hr-border-color: Border color\n * @prop --ads-footer-legal-link-color: Legal link text color\n * @prop --ads-footer-legal-link-color-hover: Legal link text color when hovered\n * @prop --ads-footer-legal-link-color-visited: Legal link text color when visited\n * @prop --ads-footer-link-color: Link text color\n * @prop --ads-footer-link-color-hover: Link text color when hovered\n * @prop --ads-footer-link-color-visited: Link text color when visited\n * @prop --ads-footer-link-header-color: Header text color\n * @prop --ads-footer-link-header-color-hover: Header text color when hovered\n * @prop --ads-footer-link-header-color-visited: Header text color when visited\n * @prop --ads-footer-link-social-color: Social link text color\n * @prop --ads-footer-link-social-color-hover: Social link text color when hovered\n * @prop --ads-footer-link-social-color-visited: Social link text color when visited\n */\n\n* {\n margin: 0;\n padding: 0;\n text-indent: 0;\n}\n\n:host {\n background-color: var(--ads-footer-background-color, $ads-footer-background-color);\n display: block;\n position: relative;\n width: 100%;\n}\n\n:host([theme='default']) {\n @include ads-vars-component-footer-default;\n}\n\n:host([theme='dark']) {\n @include ads-vars-component-footer-dark;\n}\n\n::slotted(*) {\n width: 100%;\n}\n\n.c-footer {\n color: var(--ads-footer-color, $ads-footer-color);\n font-size: 14px;\n font-family: var(--ads-font-family);\n line-height: 21px;\n padding-bottom: 32px;\n padding-top: 32px;\n\n ul {\n list-style: none;\n margin-bottom: 16px !important;\n }\n\n hr {\n border-color: var(--ads-footer-hr-border-color, $ads-footer-hr-border-color);\n margin-top: 16px;\n }\n\n &__slotted {\n display: flex;\n margin: 16px 0;\n }\n\n &__container {\n @include ads-container(true);\n @include ads-container-breakpoint-map(true);\n\n @include media-query(md-down) {\n @include ads-container-full-width(true);\n }\n }\n\n &__row {\n @include ads-grid-row(true);\n }\n\n &__column {\n @include ads-grid-column(true);\n @include ads-grid-responsive-column(true, 12, 12);\n\n &-6 {\n @include ads-grid-column(true);\n @include ads-grid-responsive-column(true, 12, 12);\n\n @include media-query(md-up) {\n @include ads-grid-responsive-column(true, 6, 12);\n }\n }\n }\n\n &__social-link-list {\n display: grid;\n grid-auto-columns: max-content;\n grid-auto-flow: column;\n gap: 27px;\n }\n\n &__legal-link-list {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n}\n","import { Component, Element, Prop, VNode, Watch, h } from '@stencil/core';\n\nimport * as Pipeline from '../core/utils/pipeline';\nimport { AdsFooterLegalLink } from './components/ads-footer-legal-link/ads-footer-legal-link';\nimport { AdsFooterLinkSection } from './components/ads-footer-link-section/ads-footer-link-section';\nimport { AdsFooterSocialLink } from './components/ads-footer-social-link/ads-footer-social-link';\nimport { BaseComponent } from '../core/interfaces/BaseComponent';\nimport { Footer, FooterLegalLink, FooterSection, FooterSocialLink } from './ads-footer.types';\nimport { Theme } from '../core/types/globalTypes';\nimport { generateId } from '../core/utils/components';\n\n/**\n * The Footer component is a content container at the bottom of a page that displays links to social media and to content across the Arm digital estate.\n * By having the footer on each page, the user has a consistent set of navigation actions.\n * @tag ``\n * @slot copyright-section - The copyright string\n * @slot logo - The logo area\n * @example\n * \n *
    \n * Copyright © 2021 Arm Limited (or its affiliates). All rights reserved.\n *
    \n *
    \n */\n@Component({\n tag: 'ads-footer',\n styleUrl: 'ads-footer.scss',\n shadow: true,\n})\nexport class AdsFooter implements BaseComponent {\n /**\n * @hidden\n */\n component: string;\n\n constructor() {\n this.el.setAttribute('id', this.identifier || generateId('ads-footer'));\n this.component = 'ads-footer';\n }\n\n @Element() private el: HTMLAdsFooterElement;\n\n /**\n * The unique identifier (optional)\n */\n @Prop({ attribute: 'id' }) identifier?: string;\n\n /**\n * Text to display as the aria-label of the component (optional)\n */\n @Prop({ reflect: true }) srLabel?: string;\n\n /**\n * The theme for this component instance (optional)\n * Values: \"default\", \"dark\"\n */\n @Prop({ reflect: true }) theme?: Theme;\n\n /**\n * The footer data\n */\n @Prop() data: Footer;\n\n /**\n * Handle identifier property changes\n * @param {string} newValue The new value for \"identifier\"\n * @hidden\n */\n @Watch('identifier')\n handleIdentifierChange(newValue: string): void {\n this.el.setAttribute('id', newValue || generateId('ads-footer'));\n }\n\n protected componentDidLoad(): void {\n Pipeline.addComponent(this.el);\n }\n\n protected disconnectedCallback(): void {\n Pipeline.removeComponent(this.el);\n }\n\n protected render(): VNode {\n const copyrightEl = Array.from(this.el.querySelectorAll('[slot=\"copyright-section\"]'));\n const copyright =\n copyrightEl?.length > 0\n ? ((\n \n ) as HTMLElement)\n : null;\n\n const slottedLogo = ['c-footer__slotted'];\n this.data?.socialLinks?.length > 0 ? slottedLogo.push('c-footer__column-6') : slottedLogo.push('c-footer__column');\n\n const footerAttributes = {\n 'aria-label': this.srLabel,\n };\n\n return (\n \n ) as VNode;\n }\n}\n"],"mappings":"wUAIO,MAAMA,EAA2D,EAAGC,OAAMC,QAAOC,WACtF,MAAMC,EAAUC,EAAmBF,GACnC,MAAMG,EAAmB,CACvBC,KAAMH,IAAO,MAAPA,SAAO,SAAPA,EAASG,KACfC,UAAUJ,IAAO,MAAPA,SAAO,SAAPA,EAASK,WAAY,KAC/BC,KAAKN,IAAO,MAAPA,SAAO,SAAPA,EAASM,MAAO,KACrBC,QAAQP,IAAO,MAAPA,SAAO,SAAPA,EAASO,SAAU,KAC3BT,MAAOA,GAAS,KAChBU,SAASR,IAAO,MAAPA,SAAO,SAAPA,EAASQ,UAAW,KAC7B,aAAc,OACd,mBAAoBX,GAGtB,OACEY,EAAA,MAAIC,MAAM,qBACRD,EAAA,IAAAE,OAAAC,OAAA,GAAOV,GAAmBL,GACvB,EChBF,MAAMgB,EAAiD,EAAGd,OAAMF,OAAMC,YAC3E,MAAME,EAAUC,EAAmBF,GACnC,MAAMG,EAAmB,CACvBC,KAAMH,IAAO,MAAPA,SAAO,SAAPA,EAASG,KACfC,UAAUJ,IAAO,MAAPA,SAAO,SAAPA,EAASK,WAAY,KAC/BC,KAAKN,IAAO,MAAPA,SAAO,SAAPA,EAASM,MAAO,KACrBC,QAAQP,IAAO,MAAPA,SAAO,SAAPA,EAASO,SAAU,KAC3BT,MAAOA,GAAS,KAChBU,SAASR,IAAO,MAAPA,SAAO,SAAPA,EAASQ,UAAW,KAC7B,aAAc,OACd,mBAAoBX,GAGtB,OACEY,EAAA,MAAIC,MAAM,eACRD,EAAA,IAAAE,OAAAC,OAAA,GAAOV,GAAmBL,GACvB,EChBF,MAAMiB,EAA6D,EAAGf,OAAMF,OAAMC,QAAOiB,mBAC9F,MAAMC,EAAU,IAAID,GAAgB,IACpC,MAAMf,EAAUC,EAAmBF,GAEnC,MAAMG,EAAmB,CACvBC,KAAMH,IAAO,MAAPA,SAAO,SAAPA,EAASG,KACfC,UAAUJ,IAAO,MAAPA,SAAO,SAAPA,EAASK,WAAY,KAC/BC,KAAKN,IAAO,MAAPA,SAAO,SAAPA,EAASM,MAAO,KACrBC,QAAQP,IAAO,MAAPA,SAAO,SAAPA,EAASO,SAAU,KAC3BT,MAAOA,GAAS,KAChBU,SAASR,IAAO,MAAPA,SAAO,SAAPA,EAASQ,UAAW,KAC7B,aAAc,OACd,mBAAoBX,GAGtB,OACEY,EAAA,OAAKC,MAAM,sBACTD,EAACO,EAAO,KACNP,EAAA,IAAAE,OAAAC,OAAA,GAAOV,GAAmBL,IAExB,ECnBH,MAAMoB,EAA2D,EAAGC,gBAAeC,kBACjFD,IAAiBC,IAAY,MAAZA,SAAY,SAAZA,EAAcC,QAAS,EAEzCX,EAAA,OAAKC,MAAM,uBACTD,EAACK,EAAmB,CAClBf,KAAMmB,EAAcnB,KACpBF,KAAMqB,EAAcrB,KACpBC,MAAOoB,EAAcpB,MACrBiB,aAAcG,EAAcH,eAE9BN,EAAA,MAAIC,MAAM,uBACPS,IAAY,MAAZA,SAAY,SAAZA,EAAcE,KAAKC,GAAWb,EAACI,EAAa,CAACd,KAAMuB,EAAMvB,KAAMF,KAAMyB,EAAMzB,KAAMC,MAAOwB,EAAMxB,YAIrG,KCdC,MAAMyB,EAA6D,EAAGC,OAAM1B,QAAOC,WACxF,MAAMC,EAAUC,EAAmBF,GACnC,MAAMG,EAAmB,CACvBC,KAAMH,IAAO,MAAPA,SAAO,SAAPA,EAASG,KACfC,UAAUJ,IAAO,MAAPA,SAAO,SAAPA,EAASK,WAAY,KAC/BC,KAAKN,IAAO,MAAPA,SAAO,SAAPA,EAASM,MAAO,KACrBC,QAAQP,IAAO,MAAPA,SAAO,SAAPA,EAASO,SAAU,KAC3BT,MAAOA,GAAS,KAChBU,SAASR,IAAO,MAAPA,SAAO,SAAPA,EAASQ,UAAW,KAC7B,aAAc,OACd,mBAAoBV,GAAS,MAG/B,IAAI2B,EAAuBC,UAC3B,IAAIC,EAAoBD,UACxB,MAAME,EAAaC,EAAiBL,GACpCC,EAAUG,IAAU,MAAVA,SAAU,SAAVA,EAAYE,OACtB,MAAMC,EAAUC,EAAcR,GAC9BG,EAAYI,IAAO,MAAPA,SAAO,SAAPA,EAASD,OAErB,OACErB,EAAA,MAAIC,MAAM,sBACRD,EAAA,IAAAE,OAAAC,OAAA,GAAOV,IACHyB,GAAaF,IACbhB,EAAA,QAAMC,MAAOiB,GAAaA,IACtBM,EAAkBR,IAAYS,EAAiB,CAAEC,KAAMV,EAAQU,KAAMC,OAAQX,EAAQW,OAAQC,MAAOZ,EAAQY,UAIjH,ECnCT,MAAMC,EAAe,i/9ZACrB,MAAAC,EAAeD,E,MC4BFE,EAAS,MAMpB,WAAAC,CAAAC,G,oGACEC,KAAKC,GAAGC,aAAa,KAAMF,KAAKG,YAAcC,EAAW,eACzDJ,KAAKK,UAAY,Y,CAgCnB,sBAAAC,CAAuBC,GACrBP,KAAKC,GAAGC,aAAa,KAAMK,GAAYH,EAAW,c,CAG1C,gBAAAI,GACRC,EAAsBT,KAAKC,G,CAGnB,oBAAAS,GACRC,EAAyBX,KAAKC,G,CAGtB,MAAAW,G,4BACR,MAAMC,EAAcC,MAAMC,KAAKf,KAAKC,GAAGe,iBAAiB,+BACxD,MAAMC,GACJJ,IAAW,MAAXA,SAAW,SAAXA,EAAapC,QAAS,EAEhBX,EAAA,OAAKC,MAAM,iBACTD,EAAA,OAAKC,MAAM,oBACTD,EAAA,QAAMoD,KAAK,wBAIjB,KAEN,MAAMC,EAAc,CAAC,uBACrBC,GAAAC,EAAArB,KAAKR,QAAI,MAAA6B,SAAA,SAAAA,EAAEC,eAAW,MAAAF,SAAA,SAAAA,EAAE3C,QAAS,EAAI0C,EAAYI,KAAK,sBAAwBJ,EAAYI,KAAK,oBAE/F,MAAMC,EAAmB,CACvB,aAAcxB,KAAKyB,SAGrB,OACE3D,EAAA,SAAAE,OAAAC,OAAA,CAAAyD,IAAA,2CAAQ3D,MAAM,YAAeyD,GAC3B1D,EAAA,OAAA4D,IAAA,2CAAK3D,MAAM,uBACTD,EAAA,OAAA4D,IAAA,2CAAK3D,MAAM,kBACR4D,GAAAC,EAAA5B,KAAKR,QAAI,MAAAoC,SAAA,SAAAA,EAAEC,YAAQ,MAAAF,SAAA,SAAAA,EAAEjD,KACnBoD,GACEhE,EAACQ,EAAoB,CAACC,cAAeuD,EAAQvD,cAAeC,aAAcsD,EAAQtD,mBAI3FV,EAAA,OAAA4D,IAAA,2CAAK3D,MAAM,uBACTD,EAAA,OAAA4D,IAAA,2CAAK3D,MAAM,iBACTD,EAAA,OAAA4D,IAAA,2CAAK3D,MAAM,oBACTD,EAAA,MAAA4D,IAAA,+CAGJ5D,EAAA,OAAA4D,IAAA,2CAAK3D,MAAM,mBACRgE,GAAAC,EAAAhC,KAAKR,QAAI,MAAAwC,SAAA,SAAAA,EAAEV,eAAW,MAAAS,SAAA,SAAAA,EAAEtD,QAAS,EAChCX,EAAA,OAAKC,MAAM,sBACTD,EAAA,MAAIC,MAAM,+BACPkE,GAAAC,EAAAlC,KAAKR,QAAI,MAAA0C,SAAA,SAAAA,EAAEZ,eAAW,MAAAW,SAAA,SAAAA,EAAEvD,KACtByD,GACErE,EAACc,EAAmB,CAACC,KAAMsD,EAAWtD,KAAM1B,MAAOgF,EAAWhF,MAAOC,KAAM+E,EAAW/E,WAI7F,KACJU,EAAA,OAAA4D,IAAA,2CAAK3D,MAAOoD,EAAYiB,KAAK,MAC3BtE,EAAA,QAAA4D,IAAA,2CAAMR,KAAK,aAGdmB,GAAAC,EAAAtC,KAAKR,QAAI,MAAA8C,SAAA,SAAAA,EAAEC,cAAU,MAAAF,SAAA,SAAAA,EAAE5D,QAAS,EAC/BX,EAAA,OAAKC,MAAM,iBACTD,EAAA,OAAKC,MAAM,oBACTD,EAAA,MAAIC,MAAM,8BACPyE,GAAAC,EAAAzC,KAAKR,QAAI,MAAAiD,SAAA,SAAAA,EAAEF,cAAU,MAAAC,SAAA,SAAAA,EAAE9D,KACrBgE,GACE5E,EAACb,EAAkB,CAACE,MAAOuF,EAAUvF,MAAOC,KAAMsF,EAAUtF,KAAMF,KAAMwF,EAAUxF,YAK3F,KACH+D,G","ignoreList":[]}