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 • 25.1 kB
Source Map (JSON)
{"version":3,"file":"primeng-badge.mjs","sources":["../../src/badge/style/badgestyle.ts","../../src/badge/badge.ts","../../src/badge/primeng-badge.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as badge_style } from '@primeuix/styles/badge';\nimport { isEmpty, isNotEmpty } from '@primeuix/utils';\nimport { BaseStyle } from 'primeng/base';\n\nconst style = /*css*/ `\n ${badge_style}\n\n /* For PrimeNG (directive)*/\n .p-overlay-badge {\n position: relative;\n }\n\n .p-overlay-badge > .p-badge {\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n transform: translate(50%, -50%);\n transform-origin: 100% 0;\n margin: 0;\n }\n`;\n\nconst classes = {\n root: ({ instance }) => {\n const value = typeof instance.value === 'function' ? instance.value() : instance.value;\n const size = typeof instance.size === 'function' ? instance.size() : instance.size;\n const badgeSize = typeof instance.badgeSize === 'function' ? instance.badgeSize() : instance.badgeSize;\n const severity = typeof instance.severity === 'function' ? instance.severity() : instance.severity;\n\n return [\n 'p-badge p-component',\n {\n 'p-badge-circle': isNotEmpty(value) && String(value).length === 1,\n 'p-badge-dot': isEmpty(value),\n 'p-badge-sm': size === 'small' || badgeSize === 'small',\n 'p-badge-lg': size === 'large' || badgeSize === 'large',\n 'p-badge-xl': size === 'xlarge' || badgeSize === 'xlarge',\n 'p-badge-info': severity === 'info',\n 'p-badge-success': severity === 'success',\n 'p-badge-warn': severity === 'warn',\n 'p-badge-danger': severity === 'danger',\n 'p-badge-secondary': severity === 'secondary',\n 'p-badge-contrast': severity === 'contrast'\n }\n ];\n }\n};\n\n@Injectable()\nexport class BadgeStyle extends BaseStyle {\n name = 'badge';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Badge represents people using icons, labels and images.\n *\n * [Live Demo](https://www.primeng.org/badge)\n *\n * @module badgestyle\n *\n */\nexport enum BadgeClasses {\n /**\n * Class name of the root element\n */\n root = 'p-badge'\n}\n\nexport interface BadgeStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, Directive, effect, inject, InjectionToken, Input, input, NgModule, SimpleChanges, ViewEncapsulation } from '@angular/core';\nimport { addClass, createElement, hasClass, isNotEmpty, removeClass, uuid } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { BadgePassThrough } from 'primeng/types/badge';\nimport { BadgeStyle } from './style/badgestyle';\n\nconst BADGE_INSTANCE = new InjectionToken<Badge>('BADGE_INSTANCE');\n\nconst BADGE_DIRECTIVE_INSTANCE = new InjectionToken<BadgeDirective>('BADGE_DIRECTIVE_INSTANCE');\n\n/**\n * Badge Directive is directive usage of badge component.\n * @group Components\n */\n@Directive({\n selector: '[pBadge]',\n providers: [BadgeStyle, { provide: BADGE_DIRECTIVE_INSTANCE, useExisting: BadgeDirective }, { provide: PARENT_INSTANCE, useExisting: BadgeDirective }],\n standalone: true\n})\nexport class BadgeDirective extends BaseComponent {\n $pcBadgeDirective: BadgeDirective | undefined = inject(BADGE_DIRECTIVE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n ptBadgeDirective = input<BadgePassThrough | undefined>();\n /**\n * When specified, disables the component.\n * @group Props\n */\n @Input('badgeDisabled') public disabled: boolean;\n /**\n * Size of the badge, valid options are \"large\" and \"xlarge\".\n * @group Props\n */\n @Input() public badgeSize: 'large' | 'xlarge' | 'small' | null | undefined;\n /**\n * Size of the badge, valid options are \"large\" and \"xlarge\".\n * @group Props\n * @deprecated use badgeSize instead.\n */\n @Input() public set size(value: 'large' | 'xlarge' | 'small' | null | undefined) {\n this._size = value;\n console.log('size property is deprecated and will removed in v18, use badgeSize instead.');\n }\n get size() {\n return this._size;\n }\n _size: 'large' | 'xlarge' | 'small' | null | undefined;\n /**\n * Severity type of the badge.\n * @group Props\n */\n @Input() severity: 'secondary' | 'info' | 'success' | 'warn' | 'danger' | 'contrast' | null | undefined;\n /**\n * Value to display inside the badge.\n * @group Props\n */\n @Input() public value: string | number;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() badgeStyle: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() badgeStyleClass: string;\n\n private id!: string;\n\n badgeEl: HTMLElement;\n\n _componentStyle = inject(BadgeStyle);\n\n private get activeElement(): HTMLElement {\n return this.el.nativeElement.nodeName.indexOf('-') != -1 ? this.el.nativeElement.firstChild : this.el.nativeElement;\n }\n\n private get canUpdateBadge(): boolean {\n return isNotEmpty(this.id) && !this.disabled;\n }\n\n constructor() {\n super();\n effect(() => {\n this.ptBadgeDirective() && this.directivePT.set(this.ptBadgeDirective());\n });\n }\n\n onChanges(changes: SimpleChanges): void {\n const { value, size, severity, disabled, badgeStyle, badgeStyleClass } = changes;\n\n if (disabled) {\n this.toggleDisableState();\n }\n\n if (!this.canUpdateBadge) {\n return;\n }\n\n if (severity) {\n this.setSeverity(severity.previousValue);\n }\n\n if (size) {\n this.setSizeClasses();\n }\n\n if (value) {\n this.setValue();\n }\n\n if (badgeStyle || badgeStyleClass) {\n this.applyStyles();\n }\n }\n\n onAfterViewInit(): void {\n this.id = uuid('pn_id_') + '_badge';\n this.renderBadgeContent();\n }\n\n private setValue(element?: HTMLElement): void {\n const badge = element ?? this.document.getElementById(this.id);\n\n if (!badge) {\n return;\n }\n\n if (this.value != null) {\n if (hasClass(badge, 'p-badge-dot')) {\n removeClass(badge, 'p-badge-dot');\n }\n\n if (this.value && String(this.value).length === 1) {\n addClass(badge, 'p-badge-circle');\n } else {\n removeClass(badge, 'p-badge-circle');\n }\n } else {\n if (!hasClass(badge, 'p-badge-dot')) {\n addClass(badge, 'p-badge-dot');\n }\n\n removeClass(badge, 'p-badge-circle');\n }\n\n badge.textContent = '';\n const badgeValue = this.value != null ? String(this.value) : '';\n this.renderer.appendChild(badge, this.document.createTextNode(badgeValue));\n }\n\n private setSizeClasses(element?: HTMLElement): void {\n const badge = element ?? this.document.getElementById(this.id);\n\n if (!badge) {\n return;\n }\n\n if (this.badgeSize) {\n if (this.badgeSize === 'large') {\n addClass(badge, 'p-badge-lg');\n removeClass(badge, 'p-badge-xl');\n }\n\n if (this.badgeSize === 'xlarge') {\n addClass(badge, 'p-badge-xl');\n removeClass(badge, 'p-badge-lg');\n }\n } else if (this.size && !this.badgeSize) {\n if (this.size === 'large') {\n addClass(badge, 'p-badge-lg');\n removeClass(badge, 'p-badge-xl');\n }\n\n if (this.size === 'xlarge') {\n addClass(badge, 'p-badge-xl');\n removeClass(badge, 'p-badge-lg');\n }\n } else {\n removeClass(badge, 'p-badge-lg');\n removeClass(badge, 'p-badge-xl');\n }\n }\n\n private renderBadgeContent(): void {\n if (this.disabled) {\n return;\n }\n\n const el = this.activeElement;\n const badge = <HTMLElement>createElement('span', { class: this.cx('root'), id: this.id, 'p-bind': this.ptm('root') });\n this.setSeverity(null, badge);\n this.setSizeClasses(badge);\n this.setValue(badge);\n addClass(el, 'p-overlay-badge');\n this.renderer.appendChild(el, badge);\n this.badgeEl = badge;\n this.applyStyles();\n }\n\n private applyStyles(): void {\n if (this.badgeEl && this.badgeStyle && typeof this.badgeStyle === 'object') {\n for (const [key, value] of Object.entries(this.badgeStyle)) {\n this.renderer.setStyle(this.badgeEl, key, value);\n }\n }\n if (this.badgeEl && this.badgeStyleClass) {\n this.badgeEl.classList.add(...this.badgeStyleClass.split(' '));\n }\n }\n\n private setSeverity(oldSeverity?: 'success' | 'info' | 'warn' | 'danger' | null, element?: HTMLElement): void {\n const badge = element ?? this.document.getElementById(this.id);\n\n if (!badge) {\n return;\n }\n\n if (this.severity) {\n addClass(badge, `p-badge-${this.severity}`);\n }\n\n if (oldSeverity) {\n removeClass(badge, `p-badge-${oldSeverity}`);\n }\n }\n\n private toggleDisableState(): void {\n if (!this.id) {\n return;\n }\n\n if (this.disabled) {\n const badge = this.activeElement?.querySelector(`#${this.id}`);\n\n if (badge) {\n this.renderer.removeChild(this.activeElement, badge);\n }\n } else {\n this.renderBadgeContent();\n }\n }\n}\n/**\n * Badge is a small status indicator for another element.\n * @group Components\n */\n@Component({\n selector: 'p-badge',\n template: `{{ value() }}`,\n standalone: true,\n imports: [CommonModule, SharedModule, BindModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [BadgeStyle, { provide: BADGE_INSTANCE, useExisting: Badge }, { provide: PARENT_INSTANCE, useExisting: Badge }],\n host: {\n '[class]': \"cn(cx('root'), styleClass())\",\n '[style.display]': 'badgeDisabled() ? \"none\" : null'\n },\n hostDirectives: [Bind]\n})\nexport class Badge extends BaseComponent<BadgePassThrough> {\n $pcBadge: Badge | undefined = inject(BADGE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n /**\n * Class of the element.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n styleClass = input<string>();\n /**\n * Size of the badge, valid options are \"large\" and \"xlarge\".\n * @group Props\n */\n badgeSize = input<'small' | 'large' | 'xlarge' | null>();\n /**\n * Size of the badge, valid options are \"large\" and \"xlarge\".\n * @group Props\n */\n size = input<'small' | 'large' | 'xlarge' | null>();\n /**\n * Severity type of the badge.\n * @group Props\n */\n severity = input<'secondary' | 'info' | 'success' | 'warn' | 'danger' | 'contrast' | null>();\n /**\n * Value to display inside the badge.\n * @group Props\n */\n value = input<string | number | null>();\n /**\n * When specified, disables the component.\n * @group Props\n */\n badgeDisabled = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n _componentStyle = inject(BadgeStyle);\n}\n\n@NgModule({\n imports: [Badge, BadgeDirective, SharedModule],\n exports: [Badge, BadgeDirective, SharedModule]\n})\nexport class BadgeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["badge_style"],"mappings":"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"}