{"version":3,"file":"primeng-card.mjs","sources":["../../src/card/style/cardstyle.ts","../../src/card/card.ts","../../src/card/primeng-card.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/card';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: 'p-card p-component',\n    header: 'p-card-header',\n    body: 'p-card-body',\n    caption: 'p-card-caption',\n    title: 'p-card-title',\n    subtitle: 'p-card-subtitle',\n    content: 'p-card-content',\n    footer: 'p-card-footer'\n};\n\n@Injectable()\nexport class CardStyle extends BaseStyle {\n    name = 'card';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * Card is a flexible container component.\n *\n * [Live Demo](https://www.primeng.org/card/)\n *\n * @module cardstyle\n *\n */\nexport enum CardClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-card',\n    /**\n     * Class name of the header element\n     */\n    header = 'p-card-header',\n    /**\n     * Class name of the body element\n     */\n    body = 'p-card-body',\n    /**\n     * Class name of the caption element\n     */\n    caption = 'p-card-caption',\n    /**\n     * Class name of the title element\n     */\n    title = 'p-card-title',\n    /**\n     * Class name of the subtitle element\n     */\n    subtitle = 'p-card-subtitle',\n    /**\n     * Class name of the content element\n     */\n    content = 'p-card-content',\n    /**\n     * Class name of the footer element\n     */\n    footer = 'p-card-footer'\n}\n\nexport interface CardStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, inject, InjectionToken, input, NgModule, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { BlockableUI, Footer, Header, SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { CardStyle } from './style/cardstyle';\nimport { CardPassThrough } from 'primeng/types/card';\n\nconst CARD_INSTANCE = new InjectionToken<Card>('CARD_INSTANCE');\n\n/**\n * Card is a flexible container component.\n * @group Components\n */\n@Component({\n    selector: 'p-card',\n    standalone: true,\n    imports: [NgTemplateOutlet, SharedModule, BindModule],\n    template: `\n        @if (hasHeader()) {\n            <div [pBind]=\"ptm('header')\" [class]=\"cx('header')\">\n                <ng-content select=\"p-header\"></ng-content>\n                <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n            </div>\n        }\n        <div [pBind]=\"ptm('body')\" [class]=\"cx('body')\">\n            @if (hasTitle()) {\n                <div [pBind]=\"ptm('title')\" [class]=\"cx('title')\">\n                    @if (showHeaderText()) {\n                        {{ header() }}\n                    }\n                    <ng-container *ngTemplateOutlet=\"titleTemplate()\"></ng-container>\n                </div>\n            }\n            @if (hasSubtitle()) {\n                <div [pBind]=\"ptm('subtitle')\" [class]=\"cx('subtitle')\">\n                    @if (showSubheaderText()) {\n                        {{ subheader() }}\n                    }\n                    <ng-container *ngTemplateOutlet=\"subtitleTemplate()\"></ng-container>\n                </div>\n            }\n            <div [pBind]=\"ptm('content')\" [class]=\"cx('content')\">\n                <ng-content></ng-content>\n                <ng-container *ngTemplateOutlet=\"contentTemplate()\"></ng-container>\n            </div>\n            @if (hasFooter()) {\n                <div [pBind]=\"ptm('footer')\" [class]=\"cx('footer')\">\n                    <ng-content select=\"p-footer\"></ng-content>\n                    <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n                </div>\n            }\n        </div>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [CardStyle, { provide: CARD_INSTANCE, useExisting: Card }, { provide: PARENT_INSTANCE, useExisting: Card }],\n    host: {\n        '[class]': \"cx('root')\"\n    },\n    hostDirectives: [Bind]\n})\nexport class Card extends BaseComponent<CardPassThrough> implements BlockableUI {\n    componentName = 'Card';\n\n    $pcCard: Card | undefined = inject(CARD_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    _componentStyle = inject(CardStyle);\n\n    /**\n     * Header of the card.\n     * @group Props\n     */\n    header = input<string>();\n\n    /**\n     * Subheader of the card.\n     * @group Props\n     */\n    subheader = input<string>();\n\n    headerFacet = contentChild(Header, { descendants: false });\n\n    footerFacet = contentChild(Footer, { descendants: false });\n\n    /**\n     * Custom header template.\n     * @group Templates\n     */\n    headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n    /**\n     * Custom title template.\n     * @group Templates\n     */\n    titleTemplate = contentChild<TemplateRef<void>>('title', { descendants: false });\n\n    /**\n     * Custom subtitle template.\n     * @group Templates\n     */\n    subtitleTemplate = contentChild<TemplateRef<void>>('subtitle', { descendants: false });\n\n    /**\n     * Custom content template.\n     * @group Templates\n     */\n    contentTemplate = contentChild<TemplateRef<void>>('content', { descendants: false });\n\n    /**\n     * Custom footer template.\n     * @group Templates\n     */\n    footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n    // Template visibility computeds\n    hasHeader = computed(() => !!(this.headerFacet() || this.headerTemplate()));\n\n    hasTitle = computed(() => !!(this.header() || this.titleTemplate()));\n\n    hasSubtitle = computed(() => !!(this.subheader() || this.subtitleTemplate()));\n\n    hasFooter = computed(() => !!(this.footerFacet() || this.footerTemplate()));\n\n    showHeaderText = computed(() => this.header() && !this.titleTemplate());\n\n    showSubheaderText = computed(() => this.subheader() && !this.subtitleTemplate());\n\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n\n    getBlockableElement(): HTMLElement {\n        return this.el.nativeElement;\n    }\n}\n\n@NgModule({\n    imports: [Card, SharedModule, BindModule],\n    exports: [Card, SharedModule, BindModule]\n})\nexport class CardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}