UNPKG

primeng

Version:

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

1 lines 13.6 kB
{"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 { style } from '@primeuix/styles/inplace';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: () => ['p-inplace p-component'],\n display: ({ instance }) => ['p-inplace-display', { 'p-disabled': instance.disabled() }],\n content: 'p-inplace-content'\n};\n\n@Injectable()\nexport class InplaceStyle extends BaseStyle {\n name = 'inplace';\n\n style = style;\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 { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, contentChild, inject, InjectionToken, input, NgModule, output, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport type { InplaceContentTemplateContext, InplacePassThrough } from 'primeng/types/inplace';\nimport { InplaceStyle } from './style/inplacestyle';\n\nconst INPLACE_INSTANCE = new InjectionToken<Inplace>('INPLACE_INSTANCE');\n\n@Component({\n selector: 'p-inplacedisplay, p-inplace-display',\n standalone: true,\n template: '<ng-content></ng-content>'\n})\nexport class InplaceDisplay extends BaseComponent {}\n\n@Component({\n selector: 'p-inplacecontent, p-inplace-content',\n standalone: true,\n template: '<ng-content></ng-content>'\n})\nexport class InplaceContent extends BaseComponent {}\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 * @group Components\n */\n@Component({\n selector: 'p-inplace',\n standalone: true,\n imports: [NgTemplateOutlet, SharedModule, Bind],\n template: `\n @if (!active()) {\n <div [class]=\"cx('display')\" [pBind]=\"ptm('display')\" (click)=\"onActivateClick($event)\" tabindex=\"0\" role=\"button\" (keydown)=\"onKeydown($event)\" [attr.data-p-disabled]=\"disabled()\">\n <ng-content select=\"[pInplaceDisplay]\"></ng-content>\n @if (displayTemplate()) {\n <ng-container [ngTemplateOutlet]=\"displayTemplate()!\"></ng-container>\n }\n </div>\n }\n @if (active()) {\n <div [class]=\"cx('content')\" [pBind]=\"ptm('content')\">\n <ng-content select=\"[pInplaceContent]\"></ng-content>\n @if (contentTemplate()) {\n <ng-container [ngTemplateOutlet]=\"contentTemplate()!\" [ngTemplateOutletContext]=\"{ closeCallback: onDeactivateClick.bind(this) }\"></ng-container>\n }\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [InplaceStyle, { provide: INPLACE_INSTANCE, useExisting: Inplace }, { provide: PARENT_INSTANCE, useExisting: Inplace }],\n host: {\n '[attr.aria-live]': \"'polite'\",\n '[class]': \"cx('root')\"\n },\n hostDirectives: [Bind]\n})\nexport class Inplace extends BaseComponent<InplacePassThrough> {\n componentName = 'Inplace';\n\n $pcInplace: Inplace | undefined = inject(INPLACE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Whether the content is displayed or not.\n * @group Props\n */\n active = signal(false);\n\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Allows to prevent clicking.\n * @group Props\n */\n preventClick = input(false, { transform: booleanAttribute });\n\n /**\n * Callback to invoke when inplace is opened.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onActivate = output<Event>();\n\n /**\n * Callback to invoke when inplace is closed.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onDeactivate = output<Event>();\n\n /**\n * Custom display template.\n * @group Templates\n */\n displayTemplate = contentChild<TemplateRef<void>>('display', { descendants: false });\n\n /**\n * Custom content template.\n * @group Templates\n */\n contentTemplate = contentChild<TemplateRef<InplaceContentTemplateContext>>('content', { descendants: false });\n\n _componentStyle = inject(InplaceStyle);\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\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 /**\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.set(true);\n if (event) this.onActivate.emit(event);\n }\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.set(false);\n if (event) this.onDeactivate.emit(event);\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.code === 'Enter') {\n this.activate(event);\n event.preventDefault();\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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"}