{"version":3,"file":"score-content-header-heading.js","sources":["../../../../src/components/score/score-content-header/score-content-header-heading.ts"],"sourcesContent":["import { CSSResultGroup, TemplateResult, html } from 'lit';\nimport { OutlineElement } from '../../base/outline-element/outline-element';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport componentStyles from './score-content-header-heading.css.lit';\nimport contentHeader from './score-content-header.css.lit';\nimport { SlotController } from '../../controllers/slot-controller';\nimport '../score-heading/score-heading';\nimport '../score-icon/score-icon';\nimport { MobileController } from '../../controllers/mobile-controller';\nimport { classMap } from 'lit/directives/class-map.js';\n\n/**\n * The ScoreContentHeader component\n * @element score-content-header-heading\n */\n@customElement('score-content-header-heading')\nexport class ScoreContentHeaderHeading extends OutlineElement {\n static styles: CSSResultGroup = [contentHeader, componentStyles];\n slots = new SlotController(this, true);\n private mobileController = new MobileController(this, 'lg');\n\n /**\n * Indicator if header will have a save button\n */\n @property({ type: Boolean, attribute: 'save-button' })\n saveButton = false;\n\n /**\n * if page is saved or not\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-saved' })\n isSaved = false;\n\n @state() hasHeadingSlot: boolean;\n @state() hasSubheadingSlot: boolean;\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n firstUpdated(): void {\n this.hasHeadingSlot = this.slots.test('heading');\n this.hasSubheadingSlot = this.slots.test('subheading');\n }\n\n handleClick() {\n this.isSaved = !this.isSaved;\n }\n\n render(): TemplateResult {\n const headingContainerClasses = {\n 'heading-container': true,\n 'heading-mobile': this.mobileController.isMobile,\n };\n return html`\n ${this.hasHeadingSlot\n ? html`
\n
\n ${this.headingTemplate()} ${this.subheadingTemplate()}\n
\n ${this.saveButtonTemplate()}\n
`\n : null}\n `;\n }\n\n /**\n * Template partial for the Heading slot.\n * @returns TemplateResult | null\n */\n headingTemplate(): TemplateResult | null {\n if (!this.hasHeadingSlot) return null;\n\n return html` \n \n `;\n }\n\n /**\n * Template partial for the Subheading slot.\n * @returns TemplateResult | null\n */\n subheadingTemplate(): TemplateResult | null {\n if (!this.hasSubheadingSlot) return null;\n\n return html` \n \n `;\n }\n\n /**\n * Template partial for the SaveButton slot.\n * @returns TemplateResult | null\n */\n saveButtonTemplate(): TemplateResult | null {\n if (!this.saveButton) return null;\n\n return html``;\n }\n}\ndeclare global {\n interface HTMLElementTagNameMap {\n 'score-content-header-heading': ScoreContentHeaderHeading;\n }\n}\n"],"names":["ScoreContentHeaderHeading","OutlineElement","constructor","this","slots","SlotController","mobileController","MobileController","saveButton","isSaved","connectedCallback","super","firstUpdated","hasHeadingSlot","test","hasSubheadingSlot","handleClick","render","headingContainerClasses","isMobile","html","classMap","headingTemplate","subheadingTemplate","saveButtonTemplate","styles","contentHeader","componentStyles","__decorate","property","type","Boolean","attribute","prototype","reflect","state","customElement"],"mappings":"iyCAgBO,IAAMA,EAAN,cAAwCC,EAAxCC,kCAELC,KAAKC,MAAG,IAAIC,EAAeF,MAAM,GACzBA,KAAgBG,iBAAG,IAAIC,EAAiBJ,KAAM,MAMtDA,KAAUK,YAAG,EAMbL,KAAOM,SAAG,CAyFX,CApFCC,oBACEC,MAAMD,mBACP,CAEDE,eACET,KAAKU,eAAiBV,KAAKC,MAAMU,KAAK,WACtCX,KAAKY,kBAAoBZ,KAAKC,MAAMU,KAAK,aAC1C,CAEDE,cACEb,KAAKM,SAAWN,KAAKM,OACtB,CAEDQ,SACE,MAAMC,EAA0B,CAC9B,qBAAqB,EACrB,iBAAkBf,KAAKG,iBAAiBa,UAE1C,OAAOC,CAAI;QACPjB,KAAKU,eACHO,CAAI,eAAeC,EAASH;;gBAEtBf,KAAKmB,qBAAqBnB,KAAKoB;;cAEjCpB,KAAKqB;kBAET;KAEP,CAMDF,kBACE,OAAKnB,KAAKU,eAEHO,CAAI;cACDjB,KAAKY,kBAAoB,GAAK;oBACxBZ,KAAKG,iBAAiBa,SAAW,WAAa;;;sBAJ7B,IAQlC,CAMDI,qBACE,OAAKpB,KAAKY,kBAEHK,CAAI;;oBAEKjB,KAAKG,iBAAiBa,SAAW,KAAO;;;;sBAJpB,IASrC,CAMDK,qBACE,OAAKrB,KAAKK,WAEHY,CAAI,0CAA0CjB,KAAKa;QACtDb,KAAKM,QACHW,CAAI;;;;0BAKJA,CAAI;;;;;;+BAMiBjB,KAAKM,QAAU,QAAU;eAfvB,IAiB9B,GAtGMT,EAAAyB,OAAyB,CAACC,EAAeC,GAQhDC,EAAA,CADCC,EAAS,CAAEC,KAAMC,QAASC,UAAW,iBACnBhC,EAAAiC,UAAA,kBAAA,GAMnBL,EAAA,CADCC,EAAS,CAAEC,KAAMC,QAASG,SAAS,EAAMF,UAAW,cACrChC,EAAAiC,UAAA,eAAA,GAEPL,EAAA,CAARO,KAAgCnC,EAAAiC,UAAA,sBAAA,GACxBL,EAAA,CAARO,KAAmCnC,EAAAiC,UAAA,yBAAA,GAlBzBjC,EAAyB4B,EAAA,CADrCQ,EAAc,iCACFpC"}