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 23.4 kB
{"version":3,"file":"primeng-fieldset.mjs","sources":["../../src/fieldset/style/fieldsetstyle.ts","../../src/fieldset/fieldset.ts","../../src/fieldset/primeng-fieldset.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-fieldset {\n background: ${dt('fieldset.background')};\n border: 1px solid ${dt('fieldset.border.color')};\n border-radius: ${dt('fieldset.border.radius')};\n color: ${dt('fieldset.color')};\n padding: ${dt('fieldset.padding')};\n margin: 0;\n}\n\n.p-fieldset-legend {\n background: ${dt('fieldset.legend.background')};\n border-radius: ${dt('fieldset.legend.border.radius')};\n border-width: ${dt('fieldset.legend.border.width')};\n border-style: solid;\n border-color: ${dt('fieldset.legend.border.color')};\n color: ${dt('fieldset.legend.color')};\n padding: ${dt('fieldset.legend.padding')};\n transition: background ${dt('fieldset.transition.duration')}, color ${dt('fieldset.transition.duration')}, outline-color ${dt('fieldset.transition.duration')}, box-shadow ${dt('fieldset.transition.duration')};\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend {\n padding: 0;\n}\n\n.p-fieldset-toggle-button {\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n position: relative;\n text-decoration: none;\n display: flex;\n gap: ${dt('fieldset.legend.gap')};\n align-items: center;\n justify-content: center;\n padding: ${dt('fieldset.legend.padding')};\n background: transparent;\n border: 0 none;\n border-radius: ${dt('fieldset.legend.border.radius')};\n transition: background ${dt('fieldset.transition.duration')}, color ${dt('fieldset.transition.duration')}, outline-color ${dt('fieldset.transition.duration')}, box-shadow ${dt('fieldset.transition.duration')};\n outline-color: transparent;\n}\n\n.p-fieldset-legend-label {\n font-weight: ${dt('fieldset.legend.font.weight')};\n}\n\n.p-fieldset-toggle-button:focus-visible {\n box-shadow: ${dt('fieldset.legend.focus.ring.shadow')};\n outline: ${dt('fieldset.legend.focus.ring.width')} ${dt('fieldset.legend.focus.ring.style')} ${dt('fieldset.legend.focus.ring.color')};\n outline-offset: ${dt('fieldset.legend.focus.ring.offset')};\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend:hover {\n color: ${dt('fieldset.legend.hover.color')};\n background: ${dt('fieldset.legend.hover.background')};\n}\n\n.p-fieldset-toggle-icon {\n color: ${dt('fieldset.toggle.icon.color')};\n transition: color ${dt('fieldset.transition.duration')};\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend:hover .p-fieldset-toggle-icon {\n color: ${dt('fieldset.toggle.icon.hover.color')};\n}\n\n.p-fieldset .p-fieldset-content {\n padding: ${dt('fieldset.content.padding')};\n}\n\n/* For PrimeNG */\n.p-fieldset-toggleable.p-fieldset-expanded > .p-fieldset-content-container:not(.ng-animating) {\n overflow: visible\n}\n\n.p-fieldset-toggleable .p-fieldset-content-container {\n overflow: hidden;\n}\n`;\n\nconst classes = {\n root: ({ props }) => [\n 'p-fieldset p-component',\n {\n 'p-fieldset-toggleable': props.toggleable\n }\n ],\n legend: 'p-fieldset-legend',\n legendLabel: 'p-fieldset-legend-label',\n toggleButton: 'p-fieldset-toggle-button',\n toggleIcon: 'p-fieldset-toggle-icon',\n contentContainer: 'p-fieldset-content-container',\n content: 'p-fieldset-content'\n};\n\n@Injectable()\nexport class FieldsetStyle extends BaseStyle {\n name = 'fieldset';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * Fieldset is a grouping component with the optional content toggle feature.\n *\n * [Live Demo](https://www.primeng.org/fieldset/)\n *\n * @module fieldsetstyle\n *\n */\nexport enum FieldsetClasses {\n /**\n * Class name of the root element\n */\n root = 'p-fieldset',\n /**\n * Class name of the legend element\n */\n legend = 'p-fieldset-legend',\n /**\n * Class name of the legend label element\n */\n legendLabel = 'p-fieldset-legend-label',\n /**\n * Class name of the toggle icon element\n */\n toggleIcon = 'p-fieldset-toggle-icon',\n /**\n * Class name of the content container element\n */\n contentContainer = 'p-fieldset-content-container',\n /**\n * Class name of the content element\n */\n content = 'p-fieldset-content'\n}\n\nexport interface FieldsetStyle extends BaseStyle {}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, inject, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BlockableUI, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ButtonModule } from 'primeng/button';\nimport { MinusIcon, PlusIcon } from 'primeng/icons';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { FieldsetAfterToggleEvent, FieldsetBeforeToggleEvent } from './fieldset.interface';\nimport { FieldsetStyle } from './style/fieldsetstyle';\n\n/**\n * Fieldset is a grouping component with the optional content toggle feature.\n * @group Components\n */\n@Component({\n selector: 'p-fieldset',\n standalone: true,\n imports: [CommonModule, ButtonModule, MinusIcon, PlusIcon, SharedModule],\n template: `\n <fieldset\n [attr.id]=\"id\"\n [ngClass]=\"{\n 'p-fieldset p-component': true,\n 'p-fieldset-toggleable': toggleable,\n 'p-fieldset-expanded': !collapsed && toggleable\n }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'fieldset'\"\n [attr.data-pc-section]=\"'root'\"\n >\n <legend class=\"p-fieldset-legend\" [attr.data-pc-section]=\"'legend'\">\n <ng-container *ngIf=\"toggleable; else legendContent\">\n <button\n [attr.id]=\"id + '_header'\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-controls]=\"id + '_content'\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-label]=\"buttonAriaLabel\"\n (click)=\"toggle($event)\"\n (keydown)=\"onKeyDown($event)\"\n class=\"p-fieldset-toggle-button\"\n >\n <ng-container *ngIf=\"collapsed\">\n <PlusIcon *ngIf=\"!expandIconTemplate && !_expandIconTemplate\" [styleClass]=\"'p-fieldset-toggler'\" [attr.data-pc-section]=\"'togglericon'\" />\n <span *ngIf=\"expandIconTemplate || _expandIconTemplate\" class=\"p-fieldset-toggler\" [attr.data-pc-section]=\"'togglericon'\">\n <ng-container *ngTemplateOutlet=\"expandIconTemplate || _expandIconTemplate\"></ng-container>\n </span>\n </ng-container>\n <ng-container *ngIf=\"!collapsed\">\n <MinusIcon *ngIf=\"!collapseIconTemplate && !_collapseIconTemplate\" [styleClass]=\"'p-fieldset-toggler'\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'togglericon'\" />\n <span *ngIf=\"collapseIconTemplate || _collapseIconTemplate\" class=\"p-fieldset-toggler\" [attr.data-pc-section]=\"'togglericon'\">\n <ng-container *ngTemplateOutlet=\"collapseIconTemplate || _collapseIconTemplate\"></ng-container>\n </span>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"legendContent\"></ng-container>\n </button>\n </ng-container>\n <ng-template #legendContent>\n <span class=\"p-fieldset-legend-label\" [attr.data-pc-section]=\"'legendtitle'\">{{ legend }}</span>\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate\"></ng-container>\n </ng-template>\n </legend>\n <div\n [attr.id]=\"id + '_content'\"\n role=\"region\"\n class=\"p-fieldset-content-container\"\n [@fieldsetContent]=\"collapsed ? { value: 'hidden', params: { transitionParams: transitionOptions, height: '0' } } : { value: 'visible', params: { transitionParams: animating ? transitionOptions : '0ms', height: '*' } }\"\n [attr.aria-labelledby]=\"id + '_header'\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.data-pc-section]=\"'toggleablecontent'\"\n (@fieldsetContent.done)=\"onToggleDone()\"\n >\n <div class=\"p-fieldset-content\" [attr.data-pc-section]=\"'content'\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate\"></ng-container>\n </div>\n </div>\n </fieldset>\n `,\n animations: [\n trigger('fieldsetContent', [\n state(\n 'hidden',\n style({\n height: '0'\n })\n ),\n state(\n 'visible',\n style({\n height: '*'\n })\n ),\n transition('visible <=> hidden', [animate('{{transitionParams}}')]),\n transition('void => *', animate(0))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [FieldsetStyle]\n})\nexport class Fieldset extends BaseComponent implements AfterContentInit, BlockableUI {\n /**\n * Header text of the fieldset.\n * @group Props\n */\n @Input() legend: string | undefined;\n /**\n * When specified, content can toggled by clicking the legend.\n * @group Props\n * @defaultValue false\n */\n @Input({ transform: booleanAttribute }) toggleable: boolean | undefined;\n /**\n * Defines the default visibility state of the content.\n * * @group Props\n */\n @Input({ transform: booleanAttribute }) collapsed: boolean | undefined = false;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Transition options of the panel animation.\n * @group Props\n */\n @Input() transitionOptions: string = '400ms cubic-bezier(0.86, 0, 0.07, 1)';\n /**\n * Emits when the collapsed state changes.\n * @param {boolean} value - New value.\n * @group Emits\n */\n @Output() collapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n /**\n * Callback to invoke before panel toggle.\n * @param {PanelBeforeToggleEvent} event - Custom toggle event\n * @group Emits\n */\n @Output() onBeforeToggle: EventEmitter<FieldsetBeforeToggleEvent> = new EventEmitter<FieldsetBeforeToggleEvent>();\n /**\n * Callback to invoke after panel toggle.\n * @param {PanelAfterToggleEvent} event - Custom toggle event\n * @group Emits\n */\n @Output() onAfterToggle: EventEmitter<FieldsetAfterToggleEvent> = new EventEmitter<FieldsetAfterToggleEvent>();\n\n get id() {\n return uuid('pn_id_');\n }\n\n get buttonAriaLabel() {\n return this.legend;\n }\n\n public animating: Nullable<boolean>;\n\n _componentStyle = inject(FieldsetStyle);\n\n /**\n * Defines the header template.\n * @group Templates\n */\n @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<any> | undefined;\n\n /**\n * Defines the expandicon template.\n * @group Templates\n */\n @ContentChild('expandicon', { descendants: false }) expandIconTemplate: TemplateRef<any> | undefined;\n\n /**\n * Defines the collapseicon template.\n * @group Templates\n */\n @ContentChild('collapseicon', { descendants: false }) collapseIconTemplate: TemplateRef<any> | undefined;\n\n /**\n * Defines the content template.\n * @group Templates\n */\n @ContentChild('content', { descendants: false }) contentTemplate: TemplateRef<any> | undefined;\n\n toggle(event: MouseEvent) {\n if (this.animating) {\n return false;\n }\n\n this.animating = true;\n this.onBeforeToggle.emit({ originalEvent: event, collapsed: this.collapsed });\n\n if (this.collapsed) this.expand();\n else this.collapse();\n\n this.onAfterToggle.emit({ originalEvent: event, collapsed: this.collapsed });\n event.preventDefault();\n }\n\n onKeyDown(event) {\n if (event.code === 'Enter' || event.code === 'Space') {\n this.toggle(event);\n event.preventDefault();\n }\n }\n\n expand() {\n this.collapsed = false;\n this.collapsedChange.emit(this.collapsed);\n }\n\n collapse() {\n this.collapsed = true;\n this.collapsedChange.emit(this.collapsed);\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n onToggleDone() {\n this.animating = false;\n }\n\n _headerTemplate: TemplateRef<any> | undefined;\n\n _expandIconTemplate: TemplateRef<any> | undefined;\n\n _collapseIconTemplate: TemplateRef<any> | undefined;\n\n _contentTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'expandicon':\n this._expandIconTemplate = item.template;\n break;\n\n case 'collapseicon':\n this._collapseIconTemplate = item.template;\n break;\n\n case 'content':\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n}\n\n@NgModule({\n imports: [Fieldset, SharedModule],\n exports: [Fieldset, SharedModule]\n})\nexport class FieldsetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}