{"version":3,"file":"accordion-faq-v2.mjs","sources":["../../../../src/accordion-faq/v2/accordion-faq.ts"],"sourcesContent":["import { unsafeCSS, nothing, type CSSResult, type TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { BaseOrganism } from '../../base-organism';\nimport { appendStylesheet } from '../../core/utils';\nimport { AnalyticsService } from '../../core';\nimport '@vg-constellation/web/accordion';\nimport styles from './accordion-faq.scss?inline';\nimport slotStyles from './accordion-faq.slot.scss?inline';\n\n@customElement('pips-v2-accordion-faq')\nexport class AccordionFaqV2 extends BaseOrganism {\n  static override styles: CSSResult[] = [...BaseOrganism.styles, unsafeCSS(styles)];\n\n  private _analyticsController: AbortController | null = null;\n  private readonly _analyticsService = new AnalyticsService();\n\n  override connectedCallback(): void {\n    super.connectedCallback();\n    appendStylesheet({\n      target: this,\n      styles: slotStyles,\n      name: `${this.tagName.toLowerCase()}-slot`,\n    });\n    this.attachAnalyticsListeners();\n  }\n\n  override disconnectedCallback(): void {\n    super.disconnectedCallback();\n    this._analyticsController?.abort();\n    this._analyticsController = null;\n  }\n\n  protected override renderLoading(): TemplateResult | typeof nothing {\n    return nothing;\n  }\n\n  protected override renderError(): TemplateResult | typeof nothing {\n    return nothing;\n  }\n\n  private attachAnalyticsListeners(): void {\n    this._analyticsController?.abort();\n    this._analyticsController = new AbortController();\n    const { signal } = this._analyticsController;\n    this.addEventListener('c11n-accordion-open', (e: Event) => {\n      const accordion = (e.target as Element).closest('c11n-web-v1-accordion');\n      if (!accordion) return;\n      const elementId = this.id || this.tagName;\n      const resourceType = this.dataset.cmpResourceType || this.tagName;\n      const heading = accordion.querySelector('c11n-web-v1-accordion-header')?.textContent?.trim() ?? '';\n      const subPageID = `${elementId}:${heading}:${resourceType}`;\n      this._analyticsService.trackSubPageViewed({\n        subPageID,\n        spClicked: true,\n      });\n    }, { signal });\n  }\n}\n"],"names":["AccordionFaqV2","BaseOrganism","super","arguments","this","_analyticsController","_analyticsService","AnalyticsService","connectedCallback","appendStylesheet","target","styles","name","tagName","toLowerCase","attachAnalyticsListeners","disconnectedCallback","abort","renderLoading","nothing","renderError","AbortController","signal","addEventListener","e","accordion","closest","elementId","id","resourceType","dataset","cmpResourceType","subPageID","querySelector","textContent","trim","trackSubPageViewed","spClicked","unsafeCSS","customElement"],"mappings":"2rCAUO,IAAMA,EAAN,cAA6BC,CAAAA,CAA7B,cAAAC,MAAAA,GAAAC,SAAAA,EAGLC,KAAQC,qBAA+C,KACvDD,KAAiBE,kBAAoB,IAAIC,CAAiB,CAEjD,oBACPL,MAAMM,kBAAAA,EACNC,EAAiB,CACfC,OAAQN,KACRO,wbACAC,KAAM,GAAGR,KAAKS,QAAQC,YAAAA,CAAAA,OAAAA,CAAAA,EAExBV,KAAKW,0BACP,CAES,uBACPb,MAAMc,qBAAAA,EACNZ,KAAKC,sBAAsBY,MAAAA,EAC3Bb,KAAKC,qBAAuB,IAC9B,CAEmB,eAAAa,CACjB,OAAOC,CACT,CAEmB,aAAAC,CACjB,OAAOD,CACT,CAEQ,2BACNf,KAAKC,sBAAsBY,MAAAA,EAC3Bb,KAAKC,qBAAuB,IAAIgB,gBAChC,KAAA,CAAMC,OAAAA,CAAAA,EAAalB,KAAKC,qBACxBD,KAAKmB,iBAAiB,sBAAwBC,GAAAA,CAC5C,MAAMC,EAAaD,EAAEd,OAAmBgB,QAAQ,uBAAA,EAChD,IAAKD,EAAW,OAChB,MAAME,EAAYvB,KAAKwB,IAAMxB,KAAKS,QAC5BgB,EAAezB,KAAK0B,QAAQC,iBAAmB3B,KAAKS,QAEpDmB,EAAY,GAAGL,CAAAA,IADLF,EAAUQ,cAAc,8BAAA,GAAiCC,aAAaC,KAAAA,GAAU,EAAA,IACnDN,IAC7CzB,KAAKE,kBAAkB8B,mBAAmB,CACxCJ,UAAAA,EACAK,YAAW,CAAA,CAAA,EAEZ,CAAEf,OAAAA,GACP,CAAA,EA9CWtB,EACKW,OAAsB,CAAA,GAAIV,EAAaU,OAAQ2B,2BADpDtC,wGAAN,CADNuC,EAAc,uBAAA,CAAA,EACFvC,CAAAA"}