UNPKG

primeng

Version:

PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB

1 lines 13.5 kB
{"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 { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-card {\n background: ${dt('card.background')};\n color: ${dt('card.color')};\n box-shadow: ${dt('card.shadow')};\n border-radius: ${dt('card.border.radius')};\n display: flex;\n flex-direction: column;\n}\n\n.p-card-caption {\n display: flex;\n flex-direction: column;\n gap: ${dt('card.caption.gap')};\n}\n\n.p-card-body {\n padding: ${dt('card.body.padding')};\n display: flex;\n flex-direction: column;\n gap: ${dt('card.body.gap')};\n}\n\n.p-card-title {\n font-size: ${dt('card.title.font.size')};\n font-weight: ${dt('card.title.font.weight')};\n}\n\n.p-card-subtitle {\n color: ${dt('card.subtitle.color')};\n}\n`;\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 theme = theme;\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 { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, inject, Input, NgModule, QueryList, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { equals } from '@primeuix/utils';\nimport { BlockableUI, Footer, Header, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { CardStyle } from './style/cardstyle';\n\n/**\n * Card is a flexible container component.\n * @group Components\n */\n@Component({\n selector: 'p-card',\n standalone: true,\n imports: [CommonModule, SharedModule],\n template: `\n <div [ngClass]=\"'p-card p-component'\" [ngStyle]=\"_style()\" [class]=\"styleClass\" [attr.data-pc-name]=\"'card'\">\n <div class=\"p-card-header\" *ngIf=\"headerFacet || headerTemplate || _headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate\"></ng-container>\n </div>\n <div class=\"p-card-body\">\n <div class=\"p-card-title\" *ngIf=\"header || titleTemplate || _titleTemplate\">\n <ng-container *ngIf=\"header && !_titleTemplate && !titleTemplate\">{{ header }}</ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate || _titleTemplate\"></ng-container>\n </div>\n <div class=\"p-card-subtitle\" *ngIf=\"subheader || subtitleTemplate || _subtitleTemplate\">\n <ng-container *ngIf=\"subheader && !_subtitleTemplate && !subtitleTemplate\">{{ subheader }}</ng-container>\n <ng-container *ngTemplateOutlet=\"subtitleTemplate || _subtitleTemplate\"></ng-container>\n </div>\n <div class=\"p-card-content\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate\"></ng-container>\n </div>\n <div class=\"p-card-footer\" *ngIf=\"footerFacet || footerTemplate || _footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [CardStyle]\n})\nexport class Card extends BaseComponent implements AfterContentInit, BlockableUI {\n /**\n * Header of the card.\n * @group Props\n */\n @Input() header: string | undefined;\n /**\n * Subheader of the card.\n * @group Props\n */\n @Input() subheader: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() set style(value: { [klass: string]: any } | null | undefined) {\n if (!equals(this._style(), value)) {\n this._style.set(value);\n }\n }\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n\n @ContentChild(Header) headerFacet: TemplateRef<any> | undefined;\n\n @ContentChild(Footer) footerFacet: TemplateRef<any> | undefined;\n\n @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<any> | undefined;\n\n @ContentChild('title', { descendants: false }) titleTemplate: TemplateRef<any> | undefined;\n\n @ContentChild('subtitle', { descendants: false }) subtitleTemplate: TemplateRef<any> | undefined;\n\n @ContentChild('content', { descendants: false }) contentTemplate: TemplateRef<any> | undefined;\n\n @ContentChild('footer', { descendants: false }) footerTemplate: TemplateRef<any> | undefined;\n\n _headerTemplate: TemplateRef<any> | undefined;\n\n _titleTemplate: TemplateRef<any> | undefined;\n\n _subtitleTemplate: TemplateRef<any> | undefined;\n\n _contentTemplate: TemplateRef<any> | undefined;\n\n _footerTemplate: TemplateRef<any> | undefined;\n\n _style = signal<{ [klass: string]: any } | null | undefined>(null);\n\n _componentStyle = inject(CardStyle);\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'title':\n this._titleTemplate = item.template;\n break;\n\n case 'subtitle':\n this._subtitleTemplate = item.template;\n break;\n\n case 'content':\n this._contentTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n default:\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n}\n\n@NgModule({\n imports: [Card, SharedModule],\n exports: [Card, SharedModule]\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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"}