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 • 15.5 kB
Source Map (JSON)
{"version":3,"file":"primeng-chip.mjs","sources":["../../src/chip/style/chipstyle.ts","../../src/chip/chip.ts","../../src/chip/primeng-chip.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/chip';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: () => ['p-chip p-component'],\n image: 'p-chip-image',\n icon: 'p-chip-icon',\n label: 'p-chip-label',\n removeIcon: 'p-chip-remove-icon'\n};\n\n@Injectable()\nexport class ChipStyle extends BaseStyle {\n name = 'chip';\n\n theme = style;\n\n classes = classes;\n}\n\n/**\n *\n * Chip represents people using icons, labels and images.\n *\n * [Live Demo](https://www.primeng.org/chip)\n *\n * @module chipstyle\n *\n */\nexport enum ChipClasses {\n /**\n * Class name of the root element\n */\n root = 'p-chip',\n /**\n * Class name of the image element\n */\n image = 'p-chip-image',\n /**\n * Class name of the icon element\n */\n icon = 'p-chip-icon',\n /**\n * Class name of the label element\n */\n label = 'p-chip-label',\n /**\n * Class name of the remove icon element\n */\n removeIcon = 'p-chip-remove-icon'\n}\n\nexport interface ChipStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, inject, Input, NgModule, Output, QueryList, SimpleChanges, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { TimesCircleIcon } from 'primeng/icons';\nimport { ChipProps } from './chip.interface';\nimport { ChipStyle } from './style/chipstyle';\n\n/**\n * Chip represents people using icons, labels and images.\n * @group Components\n */\n@Component({\n selector: 'p-chip',\n standalone: true,\n imports: [CommonModule, TimesCircleIcon, SharedModule],\n template: `\n <ng-content></ng-content>\n <img [class]=\"cx('image')\" [src]=\"image\" *ngIf=\"image; else iconTemplate\" (error)=\"imageError($event)\" [alt]=\"alt\" />\n <ng-template #iconTemplate><span *ngIf=\"icon\" [class]=\"icon\" [ngClass]=\"cx('icon')\" [attr.data-pc-section]=\"'icon'\"></span></ng-template>\n <div [class]=\"cx('label')\" *ngIf=\"label\" [attr.data-pc-section]=\"'label'\">{{ label }}</div>\n <ng-container *ngIf=\"removable\">\n <ng-container *ngIf=\"!removeIconTemplate && !_removeIconTemplate\">\n <span\n tabindex=\"0\"\n *ngIf=\"removeIcon\"\n [class]=\"removeIcon\"\n [ngClass]=\"cx('removeIcon')\"\n [attr.data-pc-section]=\"'removeicon'\"\n (click)=\"close($event)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"removeAriaLabel\"\n role=\"button\"\n ></span>\n <svg\n data-p-icon=\"times-circle\"\n tabindex=\"0\"\n *ngIf=\"!removeIcon\"\n [class]=\"cx('removeIcon')\"\n [attr.data-pc-section]=\"'removeicon'\"\n (click)=\"close($event)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"removeAriaLabel\"\n role=\"button\"\n />\n </ng-container>\n <span *ngIf=\"removeIconTemplate || _removeIconTemplate\" tabindex=\"0\" [attr.data-pc-section]=\"'removeicon'\" [class]=\"cx('removeIcon')\" (click)=\"close($event)\" (keydown)=\"onKeydown($event)\" [attr.aria-label]=\"removeAriaLabel\" role=\"button\">\n <ng-template *ngTemplateOutlet=\"removeIconTemplate || _removeIconTemplate\"></ng-template>\n </span>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ChipStyle],\n host: {\n '[class]': \"cn(cx('root'), styleClass)\",\n '[style.display]': '!visible && \"none\"',\n '[attr.data-pc-name]': \"'chip'\",\n '[attr.aria-label]': 'label',\n '[attr.data-pc-section]': \"'root'\"\n }\n})\nexport class Chip extends BaseComponent implements AfterContentInit {\n /**\n * Defines the text to display.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Defines the icon to display.\n * @group Props\n */\n @Input() icon: string | undefined;\n /**\n * Defines the image to display.\n * @group Props\n */\n @Input() image: string | undefined;\n /**\n * Alt attribute of the image.\n * @group Props\n */\n @Input() alt: string | undefined;\n /**\n * Class of the element.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether to display a remove icon.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) removable: boolean | undefined = false;\n /**\n * Icon of the remove element.\n * @group Props\n */\n @Input() removeIcon: string | undefined;\n /**\n * Callback to invoke when a chip is removed.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n @Output() onRemove: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n /**\n * This event is triggered if an error occurs while loading an image file.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onImageError: EventEmitter<Event> = new EventEmitter<Event>();\n\n visible: boolean = true;\n\n get removeAriaLabel() {\n return this.config.getTranslation(TranslationKeys.ARIA)['removeLabel'];\n }\n /**\n * Used to pass all properties of the chipProps to the Chip component.\n * @group Props\n */\n @Input() get chipProps(): ChipProps {\n return this._chipProps;\n }\n set chipProps(val: ChipProps | undefined) {\n this._chipProps = val;\n\n if (val && typeof val === 'object') {\n //@ts-ignore\n Object.entries(val).forEach(([k, v]) => this[`_${k}`] !== v && (this[`_${k}`] = v));\n }\n }\n\n _chipProps: ChipProps;\n\n _componentStyle = inject(ChipStyle);\n\n @ContentChild('removeicon', { descendants: false }) removeIconTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n _removeIconTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'removeicon':\n this._removeIconTemplate = item.template;\n break;\n\n default:\n this._removeIconTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnChanges(simpleChanges: SimpleChanges) {\n super.ngOnChanges(simpleChanges);\n if (simpleChanges.chipProps && simpleChanges.chipProps.currentValue) {\n const { currentValue } = simpleChanges.chipProps;\n\n if (currentValue.label !== undefined) {\n this.label = currentValue.label;\n }\n if (currentValue.icon !== undefined) {\n this.icon = currentValue.icon;\n }\n if (currentValue.image !== undefined) {\n this.image = currentValue.image;\n }\n if (currentValue.alt !== undefined) {\n this.alt = currentValue.alt;\n }\n if (currentValue.styleClass !== undefined) {\n this.styleClass = currentValue.styleClass;\n }\n if (currentValue.removable !== undefined) {\n this.removable = currentValue.removable;\n }\n if (currentValue.removeIcon !== undefined) {\n this.removeIcon = currentValue.removeIcon;\n }\n }\n }\n\n close(event: MouseEvent) {\n this.visible = false;\n this.onRemove.emit(event);\n }\n\n onKeydown(event) {\n if (event.key === 'Enter' || event.key === 'Backspace') {\n this.close(event);\n }\n }\n\n imageError(event: Event) {\n this.onImageError.emit(event);\n }\n}\n\n@NgModule({\n imports: [Chip, SharedModule],\n exports: [Chip, SharedModule]\n})\nexport class ChipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}