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 • 17 kB
Source Map (JSON)
{"version":3,"file":"primeng-inplace.mjs","sources":["../../src/inplace/style/inplacestyle.ts","../../src/inplace/inplace.ts","../../src/inplace/primeng-inplace.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-inplace-display {\n display: inline-block;\n cursor: pointer;\n border: 1px solid transparent;\n padding: ${dt('inplace.padding')};\n border-radius: ${dt('inplace.border.radius')};\n transition: background ${dt('inplace.transition.duration')}, color ${dt('inplace.transition.duration')}, outline-color ${dt('inplace.transition.duration')}, box-shadow ${dt('inplace.transition.duration')};\n outline-color: transparent;\n}\n\n.p-inplace-display:not(.p-disabled):hover {\n background: ${dt('inplace.display.hover.background')};\n color: ${dt('inplace.display.hover.color')};\n}\n\n.p-inplace-display:focus-visible {\n box-shadow: ${dt('inplace.focus.ring.shadow')};\n outline: ${dt('inplace.focus.ring.width')} ${dt('inplace.focus.ring.style')} ${dt('inplace.focus.ring.color')};\n outline-offset: ${dt('inplace.focus.ring.offset')};\n}\n\n.p-inplace-content {\n display: block;\n}\n`;\n\nconst classes = {\n root: 'p-inplace p-component',\n display: ({ props }) => ['p-inplace-display', { 'p-disabled': props.disabled }],\n content: 'p-inplace-content'\n};\n\n@Injectable()\nexport class InplaceStyle extends BaseStyle {\n name = 'inplace';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * Inplace provides an easy to do editing and display at the same time where clicking the output displays the actual content.\n *\n * [Live Demo](https://www.primeng.org/inplace)\n *\n * @module inplacestyle\n *\n */\nexport enum InplaceClasses {\n /**\n * Class name of the root element\n */\n root = 'p-inplace',\n /**\n * Class name of the display element\n */\n display = 'p-inplace-display',\n /**\n * Class name of the content element\n */\n content = 'p-inplace-content'\n}\n\nexport interface InplaceStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, inject, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ButtonModule } from 'primeng/button';\nimport { TimesIcon } from 'primeng/icons';\nimport { InplaceStyle } from './style/inplacestyle';\nimport { Ripple } from 'primeng/ripple';\n\n@Component({\n selector: 'p-inplacedisplay, p-inplaceDisplay',\n standalone: true,\n imports: [CommonModule],\n template: '<ng-content></ng-content>'\n})\nexport class InplaceDisplay {}\n\n@Component({\n selector: 'p-inplacecontent, p-inplaceContent',\n standalone: true,\n imports: [CommonModule],\n template: '<ng-content></ng-content>'\n})\nexport class InplaceContent {}\n/**\n * Inplace provides an easy to do editing and display at the same time where clicking the output displays the actual content.\n * @group Components\n */\n@Component({\n selector: 'p-inplace',\n standalone: true,\n imports: [CommonModule, ButtonModule, TimesIcon, SharedModule, Ripple],\n template: `\n <div [ngClass]=\"{ 'p-inplace p-component': true, 'p-inplace-closable': closable }\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-live]=\"'polite'\">\n <div class=\"p-inplace-display\" (click)=\"onActivateClick($event)\" tabindex=\"0\" role=\"button\" (keydown)=\"onKeydown($event)\" [ngClass]=\"{ 'p-disabled': disabled }\" *ngIf=\"!active\">\n <ng-content select=\"[pInplaceDisplay]\"></ng-content>\n <ng-container *ngTemplateOutlet=\"displayTemplate || _displayTemplate\"></ng-container>\n </div>\n <div class=\"p-inplace-content\" *ngIf=\"active\">\n <ng-content select=\"[pInplaceContent]\"></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate; context: { closeCallback: onDeactivateClick.bind(this) }\"></ng-container>\n\n <ng-container *ngIf=\"closable\">\n <button *ngIf=\"closeIcon\" type=\"button\" [icon]=\"closeIcon\" pButton pRipple (click)=\"onDeactivateClick($event)\" [attr.aria-label]=\"closeAriaLabel\"></button>\n <button *ngIf=\"!closeIcon\" type=\"button\" pButton pRipple [ngClass]=\"'p-button-icon-only'\" (click)=\"onDeactivateClick($event)\" [attr.aria-label]=\"closeAriaLabel\">\n <TimesIcon *ngIf=\"!closeIconTemplate && !_closeIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"closeIconTemplate || _closeIconTemplate\"></ng-template>\n </button>\n </ng-container>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [InplaceStyle]\n})\nexport class Inplace extends BaseComponent implements AfterContentInit {\n /**\n * Whether the content is displayed or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) active: boolean | undefined = false;\n /**\n * Displays a button to switch back to display mode.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) closable: boolean | undefined = false;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined = false;\n /**\n * Allows to prevent clicking.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) preventClick: boolean | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Icon to display in the close button.\n * @group Props\n */\n @Input() closeIcon: string | undefined;\n /**\n * Establishes a string value that labels the close button.\n * @group Props\n */\n @Input() closeAriaLabel: string | undefined;\n /**\n * Callback to invoke when inplace is opened.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onActivate: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when inplace is closed.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onDeactivate: EventEmitter<Event> = new EventEmitter<Event>();\n\n hover!: boolean;\n /**\n * Display template of the element.\n * @group Templates\n */\n @ContentChild('display', { descendants: false }) displayTemplate: TemplateRef<any> | undefined;\n /**\n * Content template of the element.\n * @group Templates\n */\n @ContentChild('content', { descendants: false }) contentTemplate: TemplateRef<any> | undefined;\n /**\n * Close icon template of the element.\n * @group Templates\n */\n @ContentChild('closeicon', { descendants: false }) closeIconTemplate: TemplateRef<any> | undefined;\n\n _componentStyle = inject(InplaceStyle);\n\n onActivateClick(event: MouseEvent) {\n if (!this.preventClick) this.activate(event);\n }\n\n onDeactivateClick(event: MouseEvent) {\n if (!this.preventClick) this.deactivate(event);\n }\n /**\n * Activates the content.\n * @param {Event} event - Browser event.\n * @group Method\n */\n activate(event?: Event) {\n if (!this.disabled) {\n this.active = true;\n this.onActivate.emit(event);\n this.cd.markForCheck();\n }\n }\n /**\n * Deactivates the content.\n * @param {Event} event - Browser event.\n * @group Method\n */\n deactivate(event?: Event) {\n if (!this.disabled) {\n this.active = false;\n this.hover = false;\n this.onDeactivate.emit(event);\n this.cd.markForCheck();\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.code === 'Enter') {\n this.activate(event);\n event.preventDefault();\n }\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n _displayTemplate: TemplateRef<any> | undefined;\n\n _closeIconTemplate: TemplateRef<any> | undefined;\n\n _contentTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'display':\n this._displayTemplate = item.template;\n break;\n\n case 'closeicon':\n this._closeIconTemplate = item.template;\n break;\n\n case 'content':\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n}\n\n@NgModule({\n imports: [Inplace, InplaceContent, InplaceDisplay, SharedModule],\n exports: [Inplace, InplaceContent, InplaceDisplay, SharedModule]\n})\nexport class InplaceModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}