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
547 lines (542 loc) • 29.5 kB
JavaScript
export * from 'primeng/types/organizationchart';
import { trigger, state, transition, style as style$1, animate } from '@angular/animations';
import * as i1 from '@angular/common';
import { CommonModule } from '@angular/common';
import * as i0 from '@angular/core';
import { Injectable, InjectionToken, inject, forwardRef, booleanAttribute, Input, Inject, ChangeDetectionStrategy, ViewEncapsulation, Component, EventEmitter, ContentChild, ContentChildren, Output, NgModule } from '@angular/core';
import { hasClass } from '@primeuix/utils';
import { SharedModule, PrimeTemplate } from 'primeng/api';
import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
import * as i2 from 'primeng/bind';
import { BindModule, Bind } from 'primeng/bind';
import { ChevronDownIcon, ChevronUpIcon } from 'primeng/icons';
import { Subject } from 'rxjs';
import { style } from '@primeuix/styles/organizationchart';
import { BaseStyle } from 'primeng/base';
const classes = {
root: ({ instance }) => ['p-organizationchart p-component', { 'p-organizationchart-preservespace': instance.preserveSpace }],
table: 'p-organizationchart-table',
node: ({ instance }) => [
'p-organizationchart-node',
{ 'p-organizationchart-node': true, 'p-organizationchart-node-selectable': instance.chart.selectionMode && instance.node.selectable !== false, 'p-organizationchart-node-selected': instance.isSelected() }
],
nodeToggleButton: 'p-organizationchart-node-toggle-button',
nodeToggleButtonIcon: 'p-organizationchart-node-toggle-button-icon',
connectors: 'p-organizationchart-connectors',
connectorDown: 'p-organizationchart-connector-down',
connectorLeft: ({ first }) => ['p-organizationchart-connector-left', { 'p-organizationchart-connector-top': !first }],
connectorRight: ({ last }) => ['p-organizationchart-connector-right', { 'p-organizationchart-connector-top': !last }],
nodeChildren: 'p-organizationchart-node-children'
};
class OrganizationChartStyle extends BaseStyle {
name = 'organizationchart';
style = style;
classes = classes;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: OrganizationChartStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: OrganizationChartStyle });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: OrganizationChartStyle, decorators: [{
type: Injectable
}] });
/**
*
* OrganizationChart visualizes hierarchical organization data.
*
* [Live Demo](https://www.primeng.org/organizationchart)
*
* @module organizationchartstyle
*
*/
var OrganizationChartClasses;
(function (OrganizationChartClasses) {
/**
* Class name of the root element
*/
OrganizationChartClasses["root"] = "p-organizationchart";
/**
* Class name of the table element
*/
OrganizationChartClasses["table"] = "p-organizationchart-table";
/**
* Class name of the node element
*/
OrganizationChartClasses["node"] = "p-organizationchart-node";
/**
* Class name of the node toggle button element
*/
OrganizationChartClasses["nodeToggleButton"] = "p-organizationchart-node-toggle-button";
/**
* Class name of the node toggle button icon element
*/
OrganizationChartClasses["nodeToggleButtonIcon"] = "p-organizationchart-node-toggle-button-icon";
/**
* Class name of the connectors element
*/
OrganizationChartClasses["connectors"] = "p-organizationchart-connectors";
/**
* Class name of the connector down element
*/
OrganizationChartClasses["connectorDown"] = "p-organizationchart-connector-down";
/**
* Class name of the connector left element
*/
OrganizationChartClasses["connectorLeft"] = "p-organizationchart-connector-left";
/**
* Class name of the connector right element
*/
OrganizationChartClasses["connectorRight"] = "p-organizationchart-connector-right";
/**
* Class name of the node children element
*/
OrganizationChartClasses["nodeChildren"] = "p-organizationchart-node-children";
})(OrganizationChartClasses || (OrganizationChartClasses = {}));
const ORGANIZATIONCHART_INSTANCE = new InjectionToken('ORGANIZATIONCHART_INSTANCE');
class OrganizationChartNode extends BaseComponent {
cd;
node;
root;
first;
last;
collapsible;
chart;
subscription;
_componentStyle = inject(OrganizationChartStyle);
constructor(chart, cd) {
super();
this.cd = cd;
this.chart = chart;
this.subscription = this.chart.selectionSource$.subscribe(() => {
this.cd.markForCheck();
});
}
get leaf() {
if (this.node) {
return this.node.leaf == false ? false : !(this.node.children && this.node.children.length);
}
}
get colspan() {
if (this.node) {
return this.node.children && this.node.children.length ? this.node.children.length * 2 : null;
}
}
getChildStyle(node) {
return {
visibility: !this.leaf && node.expanded ? 'inherit' : 'hidden'
};
}
getPTOptions(key) {
return this.ptm(key, {
context: {
expanded: this.node?.expanded,
selectable: this.node?.selectable !== false && this.chart.selectionMode,
selected: this.isSelected(),
toggleable: this.collapsible && !this.leaf,
active: this.isSelected()
}
});
}
getNodeOptions(lineTop, key) {
return this.ptm(key, {
context: {
lineTop
}
});
}
onNodeClick(event, node) {
this.chart.onNodeClick(event, node);
}
toggleNode(event, node) {
node.expanded = !node.expanded;
if (node.expanded)
this.chart.onNodeExpand.emit({ originalEvent: event, node: this.node });
else
this.chart.onNodeCollapse.emit({ originalEvent: event, node: this.node });
event.preventDefault();
}
isSelected() {
return this.chart.isSelected(this.node);
}
onDestroy() {
this.subscription.unsubscribe();
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: OrganizationChartNode, deps: [{ token: forwardRef(() => OrganizationChart) }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.4", type: OrganizationChartNode, isStandalone: true, selector: "[pOrganizationChartNode]", inputs: { node: "node", root: ["root", "root", booleanAttribute], first: ["first", "first", booleanAttribute], last: ["last", "last", booleanAttribute], collapsible: ["collapsible", "collapsible", booleanAttribute] }, providers: [OrganizationChartStyle, { provide: PARENT_INSTANCE, useExisting: OrganizationChartNode }], usesInheritance: true, ngImport: i0, template: `
<tbody *ngIf="node" [pBind]="ptm('body')">
<tr [pBind]="ptm('row')">
<td [attr.colspan]="colspan" [pBind]="ptm('cell')">
<div [class]="cn(cx('node'), node.styleClass)" (click)="onNodeClick($event, node)" [pBind]="getPTOptions('node')">
<div *ngIf="!chart.getTemplateForNode(node)">{{ node.label }}</div>
<div *ngIf="chart.getTemplateForNode(node)">
<ng-container *ngTemplateOutlet="chart.getTemplateForNode(node); context: { $implicit: node }"></ng-container>
</div>
<ng-container *ngIf="collapsible">
<a
*ngIf="!leaf"
tabindex="0"
[class]="cx('nodeToggleButton')"
(click)="toggleNode($event, node)"
(keydown.enter)="toggleNode($event, node)"
(keydown.space)="toggleNode($event, node)"
[pBind]="getPTOptions('nodeToggleButton')"
>
<ng-container *ngIf="!chart.togglerIconTemplate && !chart._togglerIconTemplate">
<svg data-p-icon="chevron-down" *ngIf="node.expanded" [class]="cx('nodeToggleButtonIcon')" [pBind]="getPTOptions('nodeToggleButtonIcon')" />
<svg data-p-icon="chevron-up" *ngIf="!node.expanded" [class]="cx('nodeToggleButtonIcon')" [pBind]="getPTOptions('nodeToggleButtonIcon')" />
</ng-container>
<span [class]="cx('nodeToggleButtonIcon')" *ngIf="chart.togglerIconTemplate || chart._togglerIconTemplate" [pBind]="getPTOptions('nodeToggleButtonIcon')">
<ng-template *ngTemplateOutlet="chart.togglerIconTemplate || chart._togglerIconTemplate; context: { $implicit: node.expanded }"></ng-template>
</span>
</a>
</ng-container>
</div>
</td>
</tr>
<tr [ngStyle]="getChildStyle(node)" [class]="cx('connectors')" []="'in'" [pBind]="ptm('connectors')">
<td [pBind]="ptm('lineCell')" [attr.colspan]="colspan">
<div [pBind]="ptm('connectorDown')" [class]="cx('connectorDown')"></div>
</td>
</tr>
<tr [ngStyle]="getChildStyle(node)" [class]="cx('connectors')" []="'in'" [pBind]="ptm('connectors')">
<ng-container *ngIf="node.children && node.children.length === 1">
<td [pBind]="ptm('lineCell')" [attr.colspan]="colspan">
<div [pBind]="ptm('connectorDown')" [class]="cx('connectorDown')"></div>
</td>
</ng-container>
<ng-container *ngIf="node.children && node.children.length > 1">
<ng-template ngFor let-child [ngForOf]="node.children" let-first="first" let-last="last" let-index="index">
<td [class]="cx('connectorLeft', { first })" [pBind]="getNodeOptions(!(index === 0), 'connectorLeft')"> </td>
<td [class]="cx('connectorRight', { last })" [pBind]="getNodeOptions(!(index === node.children.length - 1), 'connectorRight')"> </td>
</ng-template>
</ng-container>
</tr>
<tr [ngStyle]="getChildStyle(node)" [class]="cx('nodeChildren')" []="'in'" [pBind]="ptm('nodeChildren')">
<td *ngFor="let child of node.children" colspan="2" [pBind]="ptm('nodeCell')">
<table [class]="cx('table')" pOrganizationChartNode [pt]="pt" [node]="child" [collapsible]="node.children && node.children.length > 0 && collapsible"></table>
</td>
</tr>
</tbody>
`, isInline: true, dependencies: [{ kind: "component", type: OrganizationChartNode, selector: "[pOrganizationChartNode]", inputs: ["node", "root", "first", "last", "collapsible"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: ChevronUpIcon, selector: "[data-p-icon=\"chevron-up\"]" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i2.Bind, selector: "[pBind]", inputs: ["pBind"] }], animations: [trigger('childState', [state('in', style$1({ opacity: 1 })), transition('void => *', [style$1({ opacity: 0 }), animate(150)]), transition('* => void', [animate(150, style$1({ opacity: 0 }))])])], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: OrganizationChartNode, decorators: [{
type: Component,
args: [{
selector: '[pOrganizationChartNode]',
standalone: true,
imports: [CommonModule, ChevronDownIcon, ChevronUpIcon, SharedModule, BindModule],
template: `
<tbody *ngIf="node" [pBind]="ptm('body')">
<tr [pBind]="ptm('row')">
<td [attr.colspan]="colspan" [pBind]="ptm('cell')">
<div [class]="cn(cx('node'), node.styleClass)" (click)="onNodeClick($event, node)" [pBind]="getPTOptions('node')">
<div *ngIf="!chart.getTemplateForNode(node)">{{ node.label }}</div>
<div *ngIf="chart.getTemplateForNode(node)">
<ng-container *ngTemplateOutlet="chart.getTemplateForNode(node); context: { $implicit: node }"></ng-container>
</div>
<ng-container *ngIf="collapsible">
<a
*ngIf="!leaf"
tabindex="0"
[class]="cx('nodeToggleButton')"
(click)="toggleNode($event, node)"
(keydown.enter)="toggleNode($event, node)"
(keydown.space)="toggleNode($event, node)"
[pBind]="getPTOptions('nodeToggleButton')"
>
<ng-container *ngIf="!chart.togglerIconTemplate && !chart._togglerIconTemplate">
<svg data-p-icon="chevron-down" *ngIf="node.expanded" [class]="cx('nodeToggleButtonIcon')" [pBind]="getPTOptions('nodeToggleButtonIcon')" />
<svg data-p-icon="chevron-up" *ngIf="!node.expanded" [class]="cx('nodeToggleButtonIcon')" [pBind]="getPTOptions('nodeToggleButtonIcon')" />
</ng-container>
<span [class]="cx('nodeToggleButtonIcon')" *ngIf="chart.togglerIconTemplate || chart._togglerIconTemplate" [pBind]="getPTOptions('nodeToggleButtonIcon')">
<ng-template *ngTemplateOutlet="chart.togglerIconTemplate || chart._togglerIconTemplate; context: { $implicit: node.expanded }"></ng-template>
</span>
</a>
</ng-container>
</div>
</td>
</tr>
<tr [ngStyle]="getChildStyle(node)" [class]="cx('connectors')" []="'in'" [pBind]="ptm('connectors')">
<td [pBind]="ptm('lineCell')" [attr.colspan]="colspan">
<div [pBind]="ptm('connectorDown')" [class]="cx('connectorDown')"></div>
</td>
</tr>
<tr [ngStyle]="getChildStyle(node)" [class]="cx('connectors')" []="'in'" [pBind]="ptm('connectors')">
<ng-container *ngIf="node.children && node.children.length === 1">
<td [pBind]="ptm('lineCell')" [attr.colspan]="colspan">
<div [pBind]="ptm('connectorDown')" [class]="cx('connectorDown')"></div>
</td>
</ng-container>
<ng-container *ngIf="node.children && node.children.length > 1">
<ng-template ngFor let-child [ngForOf]="node.children" let-first="first" let-last="last" let-index="index">
<td [class]="cx('connectorLeft', { first })" [pBind]="getNodeOptions(!(index === 0), 'connectorLeft')"> </td>
<td [class]="cx('connectorRight', { last })" [pBind]="getNodeOptions(!(index === node.children.length - 1), 'connectorRight')"> </td>
</ng-template>
</ng-container>
</tr>
<tr [ngStyle]="getChildStyle(node)" [class]="cx('nodeChildren')" []="'in'" [pBind]="ptm('nodeChildren')">
<td *ngFor="let child of node.children" colspan="2" [pBind]="ptm('nodeCell')">
<table [class]="cx('table')" pOrganizationChartNode [pt]="pt" [node]="child" [collapsible]="node.children && node.children.length > 0 && collapsible"></table>
</td>
</tr>
</tbody>
`,
animations: [trigger('childState', [state('in', style$1({ opacity: 1 })), transition('void => *', [style$1({ opacity: 0 }), animate(150)]), transition('* => void', [animate(150, style$1({ opacity: 0 }))])])],
encapsulation: ViewEncapsulation.None,
changeDetection: ChangeDetectionStrategy.Default,
providers: [OrganizationChartStyle, { provide: PARENT_INSTANCE, useExisting: OrganizationChartNode }]
}]
}], ctorParameters: () => [{ type: OrganizationChart, decorators: [{
type: Inject,
args: [forwardRef(() => OrganizationChart)]
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { node: [{
type: Input
}], root: [{
type: Input,
args: [{ transform: booleanAttribute }]
}], first: [{
type: Input,
args: [{ transform: booleanAttribute }]
}], last: [{
type: Input,
args: [{ transform: booleanAttribute }]
}], collapsible: [{
type: Input,
args: [{ transform: booleanAttribute }]
}] } });
/**
* OrganizationChart visualizes hierarchical organization data.
* @group Components
*/
class OrganizationChart extends BaseComponent {
el;
cd;
/**
* An array of nested TreeNodes.
* @group Props
*/
value;
/**
* Style class of the component.
* @deprecated since v20.0.0, use `class` instead.
* @group Props
*/
styleClass;
/**
* Defines the selection mode.
* @group Props
*/
selectionMode;
/**
* Whether the nodes can be expanded or toggled.
* @group Props
*/
collapsible;
/**
* Whether the space allocated by a node is preserved when hidden.
* @deprecated since v20.0.0.
* @group Props
*/
preserveSpace = true;
/**
* A single treenode instance or an array to refer to the selections.
* @group Props
*/
get selection() {
return this._selection;
}
set selection(val) {
this._selection = val;
if (this.initialized)
this.selectionSource.next(null);
}
/**
* Callback to invoke on selection change.
* @param {*} any - selected value.
* @group Emits
*/
selectionChange = new EventEmitter();
/**
* Callback to invoke when a node is selected.
* @param {OrganizationChartNodeSelectEvent} event - custom node select event.
* @group Emits
*/
onNodeSelect = new EventEmitter();
/**
* Callback to invoke when a node is unselected.
* @param {OrganizationChartNodeUnSelectEvent} event - custom node unselect event.
* @group Emits
*/
onNodeUnselect = new EventEmitter();
/**
* Callback to invoke when a node is expanded.
* @param {OrganizationChartNodeExpandEvent} event - custom node expand event.
* @group Emits
*/
onNodeExpand = new EventEmitter();
/**
* Callback to invoke when a node is collapsed.
* @param {OrganizationChartNodeCollapseEvent} event - custom node collapse event.
* @group Emits
*/
onNodeCollapse = new EventEmitter();
templates;
togglerIconTemplate;
templateMap;
_togglerIconTemplate;
selectionSource = new Subject();
_selection;
initialized;
selectionSource$ = this.selectionSource.asObservable();
_componentStyle = inject(OrganizationChartStyle);
bindDirectiveInstance = inject(Bind, { self: true });
$pcOrganizationChart = inject(ORGANIZATIONCHART_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
constructor(el, cd) {
super();
this.el = el;
this.cd = cd;
}
ngAfterViewChecked() {
this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
}
get root() {
return this.value && this.value.length ? this.value[0] : null;
}
onAfterContentInit() {
if (this.templates.length) {
this.templateMap = {};
}
this.templates.forEach((item) => {
if (item.getType() === 'togglericon') {
this._togglerIconTemplate = item.template;
}
else {
this.templateMap[item.getType()] = item.template;
}
});
this.initialized = true;
}
getTemplateForNode(node) {
if (this.templateMap)
return node.type ? this.templateMap[node.type] : this.templateMap['default'];
else
return null;
}
onNodeClick(event, node) {
let eventTarget = event.target;
if (eventTarget.className && (hasClass(eventTarget, 'p-organizationchart-node-toggle-button') || hasClass(eventTarget, 'p-organizationchart-node-toggle-button-icon'))) {
return;
}
else if (this.selectionMode) {
if (node.selectable === false) {
return;
}
let index = this.findIndexInSelection(node);
let selected = index >= 0;
if (this.selectionMode === 'single') {
if (selected) {
this.selection = null;
this.onNodeUnselect.emit({ originalEvent: event, node: node });
}
else {
this.selection = node;
this.onNodeSelect.emit({ originalEvent: event, node: node });
}
}
else if (this.selectionMode === 'multiple') {
if (selected) {
this.selection = this.selection.filter((val, i) => i != index);
this.onNodeUnselect.emit({ originalEvent: event, node: node });
}
else {
this.selection = [...(this.selection || []), node];
this.onNodeSelect.emit({ originalEvent: event, node: node });
}
}
this.selectionChange.emit(this.selection);
this.selectionSource.next(null);
}
}
findIndexInSelection(node) {
let index = -1;
if (this.selectionMode && this.selection) {
if (this.selectionMode === 'single') {
index = this.selection == node ? 0 : -1;
}
else if (this.selectionMode === 'multiple') {
for (let i = 0; i < this.selection.length; i++) {
if (this.selection[i] == node) {
index = i;
break;
}
}
}
}
return index;
}
isSelected(node) {
return this.findIndexInSelection(node) != -1;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: OrganizationChart, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.4", type: OrganizationChart, isStandalone: true, selector: "p-organizationChart, p-organization-chart, p-organizationchart", inputs: { value: "value", styleClass: "styleClass", selectionMode: "selectionMode", collapsible: ["collapsible", "collapsible", booleanAttribute], preserveSpace: ["preserveSpace", "preserveSpace", booleanAttribute], selection: "selection" }, outputs: { selectionChange: "selectionChange", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse" }, host: { properties: { "class": "cn(cx('root'), styleClass)" } }, providers: [OrganizationChartStyle, { provide: ORGANIZATIONCHART_INSTANCE, useExisting: OrganizationChart }, { provide: PARENT_INSTANCE, useExisting: OrganizationChart }], queries: [{ propertyName: "togglerIconTemplate", first: true, predicate: ["togglericon"] }, { propertyName: "templates", predicate: PrimeTemplate }], usesInheritance: true, hostDirectives: [{ directive: i2.Bind }], ngImport: i0, template: ` <table [class]="cx('table')" [collapsible]="collapsible" pOrganizationChartNode [pt]="pt" [node]="root" *ngIf="root" [pBind]="ptm('table')"></table> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OrganizationChartNode, selector: "[pOrganizationChartNode]", inputs: ["node", "root", "first", "last", "collapsible"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i2.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: OrganizationChart, decorators: [{
type: Component,
args: [{
selector: 'p-organizationChart, p-organization-chart, p-organizationchart',
standalone: true,
imports: [CommonModule, OrganizationChartNode, SharedModule, BindModule],
template: ` <table [class]="cx('table')" [collapsible]="collapsible" pOrganizationChartNode [pt]="pt" [node]="root" *ngIf="root" [pBind]="ptm('table')"></table> `,
changeDetection: ChangeDetectionStrategy.Default,
providers: [OrganizationChartStyle, { provide: ORGANIZATIONCHART_INSTANCE, useExisting: OrganizationChart }, { provide: PARENT_INSTANCE, useExisting: OrganizationChart }],
host: {
'[class]': "cn(cx('root'), styleClass)"
},
hostDirectives: [Bind]
}]
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { value: [{
type: Input
}], styleClass: [{
type: Input
}], selectionMode: [{
type: Input
}], collapsible: [{
type: Input,
args: [{ transform: booleanAttribute }]
}], preserveSpace: [{
type: Input,
args: [{ transform: booleanAttribute }]
}], selection: [{
type: Input
}], selectionChange: [{
type: Output
}], onNodeSelect: [{
type: Output
}], onNodeUnselect: [{
type: Output
}], onNodeExpand: [{
type: Output
}], onNodeCollapse: [{
type: Output
}], templates: [{
type: ContentChildren,
args: [PrimeTemplate]
}], togglerIconTemplate: [{
type: ContentChild,
args: ['togglericon', { descendants: false }]
}] } });
class OrganizationChartModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: OrganizationChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: OrganizationChartModule, imports: [OrganizationChart, OrganizationChartNode, SharedModule], exports: [OrganizationChart, OrganizationChartNode, SharedModule] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: OrganizationChartModule, imports: [OrganizationChart, OrganizationChartNode, SharedModule, SharedModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: OrganizationChartModule, decorators: [{
type: NgModule,
args: [{
imports: [OrganizationChart, OrganizationChartNode, SharedModule],
exports: [OrganizationChart, OrganizationChartNode, SharedModule]
}]
}] });
/**
* Generated bundle index. Do not edit.
*/
export { OrganizationChart, OrganizationChartClasses, OrganizationChartModule, OrganizationChartNode, OrganizationChartStyle };
//# sourceMappingURL=primeng-organizationchart.mjs.map