primeng 20.0.0-rc.2 → 20.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/autocomplete/index.d.ts +8 -7
  2. package/baseeditableholder/index.d.ts +14 -5
  3. package/basemodelholder/index.d.ts +12 -0
  4. package/cascadeselect/index.d.ts +7 -5
  5. package/checkbox/index.d.ts +9 -7
  6. package/colorpicker/index.d.ts +8 -7
  7. package/datepicker/index.d.ts +8 -7
  8. package/editor/index.d.ts +9 -8
  9. package/fesm2022/primeng-autocomplete.mjs +33 -35
  10. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  11. package/fesm2022/primeng-baseeditableholder.mjs +25 -7
  12. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  13. package/fesm2022/primeng-basemodelholder.mjs +25 -0
  14. package/fesm2022/primeng-basemodelholder.mjs.map +1 -0
  15. package/fesm2022/primeng-card.mjs +2 -2
  16. package/fesm2022/primeng-card.mjs.map +1 -1
  17. package/fesm2022/primeng-cascadeselect.mjs +21 -23
  18. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  19. package/fesm2022/primeng-checkbox.mjs +13 -15
  20. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  21. package/fesm2022/primeng-colorpicker.mjs +35 -37
  22. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  23. package/fesm2022/primeng-contextmenu.mjs +1 -9
  24. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  25. package/fesm2022/primeng-datepicker.mjs +41 -43
  26. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  27. package/fesm2022/primeng-divider.mjs +2 -2
  28. package/fesm2022/primeng-divider.mjs.map +1 -1
  29. package/fesm2022/primeng-editor.mjs +8 -10
  30. package/fesm2022/primeng-editor.mjs.map +1 -1
  31. package/fesm2022/primeng-fileupload.mjs +4 -3
  32. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  33. package/fesm2022/primeng-inputmask.mjs +23 -25
  34. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  35. package/fesm2022/primeng-inputnumber.mjs +28 -30
  36. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  37. package/fesm2022/primeng-inputotp.mjs +26 -28
  38. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  39. package/fesm2022/primeng-inputtext.mjs +11 -5
  40. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  41. package/fesm2022/primeng-knob.mjs +22 -24
  42. package/fesm2022/primeng-knob.mjs.map +1 -1
  43. package/fesm2022/primeng-listbox.mjs +36 -38
  44. package/fesm2022/primeng-listbox.mjs.map +1 -1
  45. package/fesm2022/primeng-menubar.mjs +2 -2
  46. package/fesm2022/primeng-menubar.mjs.map +1 -1
  47. package/fesm2022/primeng-multiselect.mjs +38 -39
  48. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  49. package/fesm2022/primeng-password.mjs +19 -21
  50. package/fesm2022/primeng-password.mjs.map +1 -1
  51. package/fesm2022/primeng-radiobutton.mjs +16 -18
  52. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  53. package/fesm2022/primeng-rating.mjs +14 -16
  54. package/fesm2022/primeng-rating.mjs.map +1 -1
  55. package/fesm2022/primeng-select.mjs +32 -34
  56. package/fesm2022/primeng-select.mjs.map +1 -1
  57. package/fesm2022/primeng-selectbutton.mjs +15 -17
  58. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  59. package/fesm2022/primeng-slider.mjs +28 -30
  60. package/fesm2022/primeng-slider.mjs.map +1 -1
  61. package/fesm2022/primeng-stepper.mjs +32 -7
  62. package/fesm2022/primeng-stepper.mjs.map +1 -1
  63. package/fesm2022/primeng-table.mjs +13 -21
  64. package/fesm2022/primeng-table.mjs.map +1 -1
  65. package/fesm2022/primeng-textarea.mjs +10 -5
  66. package/fesm2022/primeng-textarea.mjs.map +1 -1
  67. package/fesm2022/primeng-togglebutton.mjs +13 -15
  68. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  69. package/fesm2022/primeng-toggleswitch.mjs +14 -16
  70. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  71. package/fesm2022/primeng-tree.mjs +1 -1
  72. package/fesm2022/primeng-tree.mjs.map +1 -1
  73. package/fesm2022/primeng-treeselect.mjs +16 -18
  74. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  75. package/fesm2022/primeng-treetable.mjs +8 -8
  76. package/fesm2022/primeng-treetable.mjs.map +1 -1
  77. package/inputmask/index.d.ts +8 -7
  78. package/inputnumber/index.d.ts +8 -7
  79. package/inputotp/index.d.ts +7 -5
  80. package/inputtext/index.d.ts +10 -4
  81. package/knob/index.d.ts +7 -5
  82. package/listbox/index.d.ts +8 -7
  83. package/multiselect/index.d.ts +8 -7
  84. package/package.json +213 -209
  85. package/password/index.d.ts +7 -5
  86. package/radiobutton/index.d.ts +9 -7
  87. package/rating/index.d.ts +8 -7
  88. package/select/index.d.ts +8 -7
  89. package/selectbutton/index.d.ts +9 -8
  90. package/slider/index.d.ts +9 -8
  91. package/stepper/index.d.ts +4 -0
  92. package/table/index.d.ts +1 -5
  93. package/textarea/index.d.ts +9 -4
  94. package/togglebutton/index.d.ts +8 -7
  95. package/toggleswitch/index.d.ts +7 -5
  96. package/treeselect/index.d.ts +7 -5
@@ -40,7 +40,7 @@ const classes = {
40
40
  'p-treeselect p-component p-inputwrapper',
41
41
  {
42
42
  'p-treeselect-display-chip': instance.display === 'chip',
43
- 'p-disabled': instance.disabled(),
43
+ 'p-disabled': instance.$disabled(),
44
44
  'p-invalid': instance.invalid(),
45
45
  'p-focus': instance.focused,
46
46
  'p-variant-filled': instance.$variant() === 'filled',
@@ -499,8 +499,6 @@ class TreeSelect extends BaseEditableHolder {
499
499
  expandedNodes = [];
500
500
  _options;
501
501
  templateMap;
502
- onModelChange = () => { };
503
- onModelTouched = () => { };
504
502
  listId = '';
505
503
  _componentStyle = inject(TreeSelectStyle);
506
504
  onHostClick(event) {
@@ -590,7 +588,7 @@ class TreeSelect extends BaseEditableHolder {
590
588
  this.cd.markForCheck();
591
589
  }
592
590
  onClick(event) {
593
- if (this.disabled()) {
591
+ if (this.$disabled()) {
594
592
  return;
595
593
  }
596
594
  if (!this.overlayViewChild?.el?.nativeElement?.contains(event.target) && !hasClass(event.target, 'p-treeselect-close') && !hasClass(event.target, 'p-checkbox-box') && !hasClass(event.target, 'p-checkbox-icon')) {
@@ -826,7 +824,7 @@ class TreeSelect extends BaseEditableHolder {
826
824
  this.onNodeUnselect.emit(event);
827
825
  }
828
826
  onInputFocus(event) {
829
- if (this.disabled()) {
827
+ if (this.$disabled()) {
830
828
  // For ScreenReaders
831
829
  return;
832
830
  }
@@ -838,17 +836,17 @@ class TreeSelect extends BaseEditableHolder {
838
836
  this.onBlur.emit(event);
839
837
  this.onModelTouched();
840
838
  }
841
- writeValue(value) {
839
+ /**
840
+ * @override
841
+ *
842
+ * @see {@link BaseEditableHolder.writeControlValue}
843
+ * Writes the value to the control.
844
+ */
845
+ writeControlValue(value) {
842
846
  this.value = value;
843
847
  this.updateTreeState();
844
848
  this.cd.markForCheck();
845
849
  }
846
- registerOnChange(fn) {
847
- this.onModelChange = fn;
848
- }
849
- registerOnTouched(fn) {
850
- this.onModelTouched = fn;
851
- }
852
850
  get emptyValue() {
853
851
  return !this.value || Object.keys(this.value).length === 0;
854
852
  }
@@ -868,11 +866,11 @@ class TreeSelect extends BaseEditableHolder {
868
866
  role="combobox"
869
867
  [attr.id]="inputId"
870
868
  readonly
871
- [attr.disabled]="disabled() ? '' : undefined"
869
+ [attr.disabled]="$disabled() ? '' : undefined"
872
870
  (focus)="onInputFocus($event)"
873
871
  (blur)="onInputBlur($event)"
874
872
  (keydown)="onKeyDown($event)"
875
- [attr.tabindex]="!disabled() ? tabindex : -1"
873
+ [attr.tabindex]="!$disabled() ? tabindex : -1"
876
874
  [attr.aria-controls]="overlayVisible ? listId : null"
877
875
  [attr.aria-haspopup]="'tree'"
878
876
  [attr.aria-expanded]="overlayVisible ?? false"
@@ -899,7 +897,7 @@ class TreeSelect extends BaseEditableHolder {
899
897
  </ng-template>
900
898
  </div>
901
899
  </div>
902
- <ng-container *ngIf="checkValue() && !disabled() && showClear">
900
+ <ng-container *ngIf="checkValue() && !$disabled() && showClear">
903
901
  <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" />
904
902
  <span *ngIf="clearIconTemplate || clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)">
905
903
  <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
@@ -1009,11 +1007,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
1009
1007
  role="combobox"
1010
1008
  [attr.id]="inputId"
1011
1009
  readonly
1012
- [attr.disabled]="disabled() ? '' : undefined"
1010
+ [attr.disabled]="$disabled() ? '' : undefined"
1013
1011
  (focus)="onInputFocus($event)"
1014
1012
  (blur)="onInputBlur($event)"
1015
1013
  (keydown)="onKeyDown($event)"
1016
- [attr.tabindex]="!disabled() ? tabindex : -1"
1014
+ [attr.tabindex]="!$disabled() ? tabindex : -1"
1017
1015
  [attr.aria-controls]="overlayVisible ? listId : null"
1018
1016
  [attr.aria-haspopup]="'tree'"
1019
1017
  [attr.aria-expanded]="overlayVisible ?? false"
@@ -1040,7 +1038,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
1040
1038
  </ng-template>
1041
1039
  </div>
1042
1040
  </div>
1043
- <ng-container *ngIf="checkValue() && !disabled() && showClear">
1041
+ <ng-container *ngIf="checkValue() && !$disabled() && showClear">
1044
1042
  <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" />
1045
1043
  <span *ngIf="clearIconTemplate || clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)">
1046
1044
  <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-treeselect.mjs","sources":["../../src/treeselect/style/treeselectstyle.ts","../../src/treeselect/treeselect.ts","../../src/treeselect/primeng-treeselect.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/treeselect';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = /*css*/ `\n ${style}\n\n /* For PrimeNG */\n\n .p-treeselect.ng-invalid.ng-dirty {\n border-color: dt('treeselect.invalid.border.color');\n }\n\n p-treeselect.ng-invalid.ng-dirty.p-focus {\n border-color: dt('treeselect.focus.border.color');\n }\n\n p-treeselect.ng-invalid.ng-dirty .p-treeselect-label.p-placeholder {\n color: dt('treeselect.invalid.placeholder.color');\n }\n`;\n\nconst inlineStyles = {\n root: ({ instance }) => ({ position: instance.$appendTo() === 'self' ? 'relative' : undefined, ...instance.containerStyle })\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-treeselect p-component p-inputwrapper',\n {\n 'p-treeselect-display-chip': instance.display === 'chip',\n 'p-disabled': instance.disabled(),\n 'p-invalid': instance.invalid(),\n 'p-focus': instance.focused,\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-inputwrapper-filled': !instance.emptyValue,\n 'p-inputwrapper-focus': instance.focused || instance.overlayVisible,\n 'p-treeselect-open': instance.overlayVisible,\n 'p-treeselect-clearable': instance.showClear,\n 'p-treeselect-fluid': instance.hasFluid,\n 'p-treeselect-sm p-inputfield-sm': instance.size() === 'small',\n 'p-treeselect-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n labelContainer: 'p-treeselect-label-container',\n label: ({ instance }) => [\n 'p-treeselect-label',\n {\n 'p-placeholder': instance.label === instance.placeholder,\n 'p-treeselect-label-empty': !instance.placeholder && instance.emptyValue\n }\n ],\n chip: 'p-treeselect-chip-item',\n pcChip: 'p-treeselect-chip',\n dropdown: 'p-treeselect-dropdown',\n dropdownIcon: 'p-treeselect-dropdown-icon',\n panel: 'p-treeselect-overlay p-component-overlay p-component',\n treeContainer: 'p-treeselect-tree-container',\n emptyMessage: 'p-treeselect-empty-message'\n};\n\n@Injectable()\nexport class TreeSelectStyle extends BaseStyle {\n name = 'treeselect';\n\n theme = theme;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * TreeSelect is a form component to choose from hierarchical data.\n *\n * [Live Demo](https://www.primeng.org/treeselect/)\n *\n * @module treeselectstyle\n *\n */\nexport enum TreeSelectClasses {\n /**\n * Class name of the root element\n */\n root = 'p-treeselect',\n /**\n * Class name of the label container element\n */\n labelContainer = 'p-treeselect-label-container',\n /**\n * Class name of the label element\n */\n label = 'p-treeselect-label',\n /**\n * Class name of the chip item element\n */\n chipItem = 'p-treeselect-chip-item',\n /**\n * Class name of the chip element\n */\n pcChip = 'p-treeselect-chip',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-treeselect-dropdown',\n /**\n * Class name of the dropdown icon element\n */\n dropdownIcon = 'p-treeselect-dropdown-icon',\n /**\n * Class name of the panel element\n */\n panel = 'p-treeselect-overlay',\n /**\n * Class name of the tree container element\n */\n treeContainer = 'p-treeselect-tree-container',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-treeselect-empty-message'\n}\n\nexport interface TreeSelectStyle extends BaseStyle {}\n","import { AnimationEvent } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n inject,\n input,\n Input,\n NgModule,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, hasClass, isNotEmpty, uuid } from '@primeuix/utils';\nimport { OverlayOptions, PrimeTemplate, ScrollerOptions, SharedModule, TreeNode } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Chip } from 'primeng/chip';\nimport { Fluid } from 'primeng/fluid';\nimport { ChevronDownIcon, TimesIcon } from 'primeng/icons';\nimport { Overlay } from 'primeng/overlay';\nimport { Tree, TreeFilterEvent, TreeNodeSelectEvent, TreeNodeUnSelectEvent } from 'primeng/tree';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { TreeSelectStyle } from './style/treeselectstyle';\nimport { TreeSelectNodeCollapseEvent, TreeSelectNodeExpandEvent } from './treeselect.interface';\n\nexport const TREESELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TreeSelect),\n multi: true\n};\n/**\n * TreeSelect is a form component to choose from hierarchical data.\n * @group Components\n */\n@Component({\n selector: 'p-treeSelect, p-treeselect, p-tree-select',\n standalone: true,\n imports: [CommonModule, Overlay, SharedModule, Tree, AutoFocus, TimesIcon, ChevronDownIcon, Chip],\n template: `\n <div class=\"p-hidden-accessible\">\n <input\n #focusInput\n type=\"text\"\n role=\"combobox\"\n [attr.id]=\"inputId\"\n readonly\n [attr.disabled]=\"disabled() ? '' : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.tabindex]=\"!disabled() ? tabindex : -1\"\n [attr.aria-controls]=\"overlayVisible ? listId : null\"\n [attr.aria-haspopup]=\"'tree'\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel || (label === 'p-emptylabel' ? undefined : label)\"\n [pAutoFocus]=\"autofocus\"\n />\n </div>\n <div [class]=\"cx('labelContainer')\">\n <div [class]=\"cn(cx('label'), labelStyleClass)\" [ngStyle]=\"labelStyle\">\n <ng-container *ngIf=\"valueTemplate || _valueTemplate; else defaultValueTemplate\">\n <ng-container *ngTemplateOutlet=\"valueTemplate || _valueTemplate; context: { $implicit: value, placeholder: placeholder }\"></ng-container>\n </ng-container>\n <ng-template #defaultValueTemplate>\n <ng-container *ngIf=\"display === 'comma'; else chipsValueTemplate\">\n {{ label || 'empty' }}\n </ng-container>\n <ng-template #chipsValueTemplate>\n <div *ngFor=\"let node of value\" [class]=\"cx('chipItem')\">\n <p-chip [label]=\"node.label\" [class]=\"cx('pcChip')\" />\n </div>\n <ng-container *ngIf=\"emptyValue\">{{ placeholder || 'empty' }}</ng-container>\n </ng-template>\n </ng-template>\n </div>\n </div>\n <ng-container *ngIf=\"checkValue() && !disabled() && showClear\">\n <svg data-p-icon=\"times\" *ngIf=\"!clearIconTemplate && !_clearIconTemplate\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" />\n <span *ngIf=\"clearIconTemplate || clearIconTemplate\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate || _clearIconTemplate\"></ng-template>\n </span>\n </ng-container>\n <div [class]=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"tree\" [attr.aria-expanded]=\"overlayVisible ?? false\" [attr.aria-label]=\"'treeselect trigger'\">\n <svg data-p-icon=\"chevron-down\" *ngIf=\"!triggerIconTemplate && !_triggerIconTemplate && !dropdownIconTemplate && !_dropdownIconTemplate\" [class]=\"cx('dropdownIcon')\" />\n <span *ngIf=\"triggerIconTemplate || _triggerIconTemplate || dropdownIconTemplate || _dropdownIconTemplate\" [class]=\"cx('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"triggerIconTemplate || _triggerIconTemplate || dropdownIconTemplate || _dropdownIconTemplate\"></ng-template>\n </span>\n </div>\n <p-overlay\n #overlay\n [hostAttrSelector]=\"attrSelector\"\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onBeforeHide)=\"onOverlayBeforeHide($event)\"\n (onShow)=\"onShow.emit($event)\"\n (onHide)=\"hide($event)\"\n >\n <ng-template #content>\n <div #panel [attr.id]=\"listId\" [class]=\"cn(cx('panel'), panelStyleClass, panelClass)\" [ngStyle]=\"panelStyle\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n >\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate; context: { $implicit: value, options: options }\"></ng-container>\n <div [class]=\"cx('treeContainer')\" [ngStyle]=\"{ 'max-height': scrollHeight }\">\n <p-tree\n #tree\n [value]=\"options\"\n [propagateSelectionDown]=\"propagateSelectionDown\"\n [propagateSelectionUp]=\"propagateSelectionUp\"\n [selectionMode]=\"selectionMode\"\n (selectionChange)=\"onSelectionChange($event)\"\n [selection]=\"value\"\n [metaKeySelection]=\"metaKeySelection\"\n (onNodeExpand)=\"nodeExpand($event)\"\n (onNodeCollapse)=\"nodeCollapse($event)\"\n (onNodeSelect)=\"onSelect($event)\"\n [emptyMessage]=\"emptyMessage\"\n (onNodeUnselect)=\"onUnselect($event)\"\n [filter]=\"filter\"\n [filterBy]=\"filterBy\"\n [filterMode]=\"filterMode\"\n [filterPlaceholder]=\"filterPlaceholder\"\n [filterLocale]=\"filterLocale\"\n [filteredNodes]=\"filteredNodes\"\n [virtualScroll]=\"virtualScroll\"\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n [_templateMap]=\"templateMap\"\n [loading]=\"loading\"\n [filterInputAutoFocus]=\"filterInputAutoFocus\"\n >\n <ng-container *ngIf=\"emptyTemplate || _emptyTemplate\">\n <ng-template #empty>\n <ng-container *ngTemplateOutlet=\"emptyTemplate || _emptyTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template #togglericon let-expanded *ngIf=\"itemTogglerIconTemplate || _itemTogglerIconTemplate\">\n <ng-container *ngTemplateOutlet=\"itemTogglerIconTemplate || _itemTogglerIconTemplate; context: { $implicit: expanded }\"></ng-container>\n </ng-template>\n <ng-template #checkboxicon let-selected let-partialSelected=\"partialSelected\" *ngIf=\"itemCheckboxIconTemplate || _itemCheckboxIconTemplate\">\n <ng-container *ngTemplateOutlet=\"itemCheckboxIconTemplate || _itemCheckboxIconTemplate; context: { $implicit: selected, partialSelected: partialSelected }\"></ng-container>\n </ng-template>\n <ng-template #loadingicon *ngIf=\"itemLoadingIconTemplate || _itemLoadingIconTemplate\">\n <ng-container *ngTemplateOutlet=\"itemLoadingIconTemplate || _itemLoadingIconTemplate\"></ng-container>\n </ng-template>\n </p-tree>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: value, options: options }\"></ng-container>\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n ></span>\n </div>\n </ng-template>\n </p-overlay>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TREESELECT_VALUE_ACCESSOR, TreeSelectStyle],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), containerStyleClass)\",\n '[style]': \"sx('root')\"\n }\n})\nexport class TreeSelect extends BaseEditableHolder implements AfterContentInit {\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Height of the viewport, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n @Input() scrollHeight: string = '400px';\n /**\n * Defines how multiple items can be selected, when true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) metaKeySelection: boolean = false;\n /**\n * Defines how the selected items are displayed.\n * @group Props\n */\n @Input() display: 'comma' | 'chip' = 'comma';\n /**\n * Defines the selection mode.\n * @group Props\n */\n @Input() selectionMode: 'single' | 'multiple' | 'checkbox' = 'single';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: string | undefined = '0';\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Label to display when there are no selections.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Style class of the overlay panel.\n * @group Props\n */\n @Input() panelClass: string | string[] | Set<string> | { [klass: string]: any } | undefined;\n /**\n * Inline style of the panel element.\n * @group Props\n */\n @Input() panelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the panel element.\n * @group Props\n */\n @Input() panelStyleClass: string | undefined;\n /**\n * Inline style of the container element.\n * @deprecated since v20.0.0, use `style` instead.\n * @group Props\n */\n @Input() containerStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the container element.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() containerStyleClass: string | undefined;\n /**\n * Inline style of the label element.\n * @group Props\n */\n @Input() labelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the label element.\n * @group Props\n */\n @Input() labelStyleClass: string | undefined;\n /**\n * Specifies the options for the overlay.\n * @group Props\n */\n @Input() overlayOptions: OverlayOptions | undefined;\n /**\n * Text to display when there are no options available. Defaults to value from PrimeNG locale configuration.\n * @group Props\n */\n @Input() emptyMessage: string = '';\n /**\n * When specified, displays an input field to filter the items.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) filter: boolean = false;\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n @Input() filterBy: string = 'label';\n /**\n * Mode for filtering valid values are \"lenient\" and \"strict\". Default is lenient.\n * @group Props\n */\n @Input() filterMode: string = 'lenient';\n /**\n * Placeholder text to show when filter input is empty.\n * @group Props\n */\n @Input() filterPlaceholder: string | undefined;\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input() filterLocale: string | undefined;\n /**\n * Determines whether the filter input should be automatically focused when the component is rendered.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) filterInputAutoFocus: boolean = true;\n /**\n * Whether checkbox selections propagate to descendant nodes.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) propagateSelectionDown: boolean = true;\n /**\n * Whether checkbox selections propagate to ancestor nodes.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) propagateSelectionUp: boolean = true;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * Clears the filter value when hiding the dropdown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) resetFilterOnHide: boolean = true;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n @Input() virtualScroll: boolean | undefined;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input() virtualScrollItemSize: number | undefined;\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n @Input() virtualScrollOptions: ScrollerOptions | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * An array of treenodes.\n * @defaultValue undefined\n * @group Props\n */\n @Input() get options(): TreeNode[] | undefined {\n return this._options;\n }\n set options(options: TreeNode[] | undefined) {\n this._options = options;\n this.updateTreeState();\n }\n /**\n * Displays a loader to indicate data load is in progress.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) loading: boolean | undefined;\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<'large' | 'small' | undefined>();\n /**\n * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<'filled' | 'outlined' | undefined>();\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n /**\n * Callback to invoke when a node is expanded.\n * @param {TreeSelectNodeExpandEvent} event - Custom node expand event.\n * @group Emits\n */\n @Output() onNodeExpand: EventEmitter<TreeSelectNodeExpandEvent> = new EventEmitter<TreeSelectNodeExpandEvent>();\n /**\n * Callback to invoke when a node is collapsed.\n * @param {TreeSelectNodeCollapseEvent} event - Custom node collapse event.\n * @group Emits\n */\n @Output() onNodeCollapse: EventEmitter<TreeSelectNodeCollapseEvent> = new EventEmitter<TreeSelectNodeCollapseEvent>();\n /**\n * Callback to invoke when the overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when the overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onHide: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n @Output() onClear: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when data is filtered.\n * @group Emits\n */\n @Output() onFilter: EventEmitter<TreeFilterEvent> = new EventEmitter<TreeFilterEvent>();\n /**\n * Callback to invoke when treeselect gets focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when treeselect loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when a node is unselected.\n * @param {TreeNodeUnSelectEvent} event - node unselect event.\n * @group Emits\n */\n @Output() onNodeUnselect: EventEmitter<TreeNodeUnSelectEvent> = new EventEmitter<TreeNodeUnSelectEvent>();\n /**\n * Callback to invoke when a node is selected.\n * @param {TreeNodeSelectEvent} event - node select event.\n * @group Emits\n */\n @Output() onNodeSelect: EventEmitter<TreeNodeSelectEvent> = new EventEmitter<TreeNodeSelectEvent>();\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n @ViewChild('focusInput') focusInput: Nullable<ElementRef>;\n\n @ViewChild('filter') filterViewChild: Nullable<ElementRef>;\n\n @ViewChild('tree') treeViewChild: Nullable<Tree>;\n\n @ViewChild('panel') panelEl: Nullable<ElementRef>;\n\n @ViewChild('overlay') overlayViewChild: Nullable<Overlay>;\n\n @ViewChild('firstHiddenFocusableEl') firstHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n @ViewChild('lastHiddenFocusableEl') lastHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant());\n\n pcFluid: Fluid = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n public filteredNodes: TreeNode[] | undefined | null;\n\n filterValue: Nullable<string> = null;\n\n serializedValue: Nullable<any[]>;\n /**\n * Custom value template.\n * @group Templates\n */\n @ContentChild('value', { descendants: false }) valueTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom header template.\n * @group Templates\n */\n @ContentChild('header', { descendants: false }) headerTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n @ContentChild('empty', { descendants: false }) emptyTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom footer template.\n * @group Templates\n */\n @ContentChild('footer', { descendants: false }) footerTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n @ContentChild('clearicon', { descendants: false }) clearIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom trigger icon template.\n * @group Templates\n */\n @ContentChild('triggericon', { descendants: false }) triggerIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n @ContentChild('dropdownicon', { descendants: false }) dropdownIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n @ContentChild('filtericon', { descendants: false }) filterIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom close icon template.\n * @group Templates\n */\n @ContentChild('closeicon', { descendants: false }) closeIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom item toggler icon template.\n * @group Templates\n */\n @ContentChild('itemtogglericon', { descendants: false }) itemTogglerIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom item checkbox icon template.\n * @group Templates\n */\n @ContentChild('itemcheckboxicon', { descendants: false }) itemCheckboxIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom item loading icon template.\n * @group Templates\n */\n @ContentChild('itemloadingicon', { descendants: false }) itemLoadingIconTemplate: Nullable<TemplateRef<any>>;\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<PrimeTemplate>>;\n\n _valueTemplate: TemplateRef<any> | undefined;\n\n _headerTemplate: TemplateRef<any> | undefined;\n\n _emptyTemplate: TemplateRef<any> | undefined;\n\n _footerTemplate: TemplateRef<any> | undefined;\n\n _clearIconTemplate: TemplateRef<any> | undefined;\n\n _triggerIconTemplate: TemplateRef<any> | undefined;\n\n _filterIconTemplate: TemplateRef<any> | undefined;\n\n _closeIconTemplate: TemplateRef<any> | undefined;\n\n _itemTogglerIconTemplate: TemplateRef<any> | undefined;\n\n _itemCheckboxIconTemplate: TemplateRef<any> | undefined;\n\n _itemLoadingIconTemplate: TemplateRef<any> | undefined;\n\n _dropdownIconTemplate: TemplateRef<any> | undefined;\n\n focused: Nullable<boolean>;\n\n overlayVisible: Nullable<boolean>;\n\n value: any | undefined;\n\n expandedNodes: any[] = [];\n\n _options: TreeNode[] | undefined;\n\n public templateMap: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n listId: string = '';\n\n _componentStyle = inject(TreeSelectStyle);\n\n @HostListener('click', ['$event'])\n onHostClick(event: MouseEvent) {\n this.onClick(event);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.listId = uuid('pn_id_') + '_list';\n this.updateTreeState();\n }\n\n ngAfterContentInit() {\n if ((this.templates as QueryList<PrimeTemplate>).length) {\n this.templateMap = {};\n }\n\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'value':\n this._valueTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'empty':\n this._emptyTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'clearicon':\n this._clearIconTemplate = item.template;\n break;\n\n case 'triggericon':\n this._triggerIconTemplate = item.template;\n break;\n\n case 'filtericon':\n this._filterIconTemplate = item.template;\n break;\n\n case 'closeicon':\n this._closeIconTemplate = item.template;\n break;\n\n case 'itemtogglericon':\n this._itemTogglerIconTemplate = item.template;\n break;\n\n case 'itemcheckboxicon':\n this._itemCheckboxIconTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this._dropdownIconTemplate = item.template;\n break;\n\n case 'itemloadingicon':\n this._itemLoadingIconTemplate = item.template;\n break;\n\n default: //TODO: @deprecated Use \"value\" template instead\n if (item.name) this.templateMap[item.name] = item.template;\n else this.valueTemplate = item.template;\n break;\n }\n });\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n if (this.filter) {\n isNotEmpty(this.filterValue) && this.treeViewChild?._filter(<any>this.filterValue);\n this.filterInputAutoFocus && this.filterViewChild?.nativeElement.focus();\n } else {\n let focusableElements = <any>getFocusableElements(this.panelEl.nativeElement);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n }\n break;\n }\n }\n\n onOverlayBeforeHide(event: any) {\n let focusableElements = <any>getFocusableElements(this.el.nativeElement);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n }\n\n onSelectionChange(event: any) {\n this.value = event;\n this.onModelChange(this.value);\n this.cd.markForCheck();\n }\n\n onClick(event: any) {\n if (this.disabled()) {\n return;\n }\n\n if (!this.overlayViewChild?.el?.nativeElement?.contains(event.target) && !hasClass(event.target, 'p-treeselect-close') && !hasClass(event.target, 'p-checkbox-box') && !hasClass(event.target, 'p-checkbox-icon')) {\n if (this.overlayVisible) {\n this.hide();\n } else {\n this.show();\n }\n\n this.focusInput?.nativeElement.focus();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n //down\n case 'ArrowDown':\n if (!this.overlayVisible) {\n this.show();\n event.preventDefault();\n }\n this.onArrowDown(event);\n event.preventDefault();\n break;\n\n //space\n case 'Space':\n case 'Enter':\n if (!this.overlayVisible) {\n this.show();\n event.preventDefault();\n }\n break;\n\n //escape\n case 'Escape':\n if (this.overlayVisible) {\n this.hide();\n this.focusInput?.nativeElement.focus();\n event.preventDefault();\n }\n break;\n\n //tab\n case 'Tab':\n this.onTabKey(event);\n break;\n\n default:\n break;\n }\n }\n\n onFilterInput(event: Event) {\n this.filterValue = (event.target as HTMLInputElement).value;\n this.treeViewChild?._filter(this.filterValue);\n this.onFilter.emit({\n filter: this.filterValue,\n filteredValue: this.treeViewChild?.filteredNodes\n });\n setTimeout(() => {\n this.overlayViewChild.alignOverlay();\n });\n }\n\n onArrowDown(event: KeyboardEvent) {\n if (this.overlayVisible && this.panelEl?.nativeElement) {\n let focusableElements = <any>getFocusableElements(this.panelEl.nativeElement, '.p-tree-node');\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n\n event.preventDefault();\n }\n }\n\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.focusInput?.nativeElement ? getFirstFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInput?.nativeElement;\n\n focus(focusableEl);\n }\n\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.focusInput?.nativeElement ? getLastFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInput?.nativeElement;\n\n focus(focusableEl);\n }\n\n show() {\n this.overlayVisible = true;\n }\n\n hide(event?: any) {\n this.overlayVisible = false;\n this.resetFilter();\n\n this.onHide.emit(event);\n this.cd.markForCheck();\n }\n\n clear(event: Event) {\n this.value = null;\n this.resetExpandedNodes();\n this.resetPartialSelected();\n this.onModelChange(this.value);\n this.onClear.emit();\n\n event.stopPropagation();\n }\n\n checkValue() {\n return this.value !== null && isNotEmpty(this.value);\n }\n\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay.nativeElement : this.firstHiddenFocusableElementOnOverlay.nativeElement);\n\n event.preventDefault();\n } else {\n this.overlayVisible && this.hide(this.filter);\n }\n }\n }\n\n hasFocusableElements() {\n return getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n }\n\n resetFilter() {\n if (this.filter && !this.resetFilterOnHide) {\n this.filteredNodes = this.treeViewChild?.filteredNodes;\n this.treeViewChild?.resetFilter();\n } else {\n this.filterValue = null;\n }\n }\n\n updateTreeState() {\n if (this.value) {\n let selectedNodes = this.selectionMode === 'single' ? [this.value] : [...this.value];\n this.resetExpandedNodes();\n this.resetPartialSelected();\n if (selectedNodes && this.options) {\n this.updateTreeBranchState(null, null, selectedNodes);\n }\n }\n }\n\n updateTreeBranchState(node: TreeNode | null, path: any, selectedNodes: TreeNode[]) {\n if (node) {\n if (this.isSelected(node)) {\n this.expandPath(path);\n selectedNodes.splice(selectedNodes.indexOf(node), 1);\n }\n\n if (selectedNodes.length > 0 && node.children) {\n for (let childNode of node.children) {\n this.updateTreeBranchState(childNode, [...path, node], selectedNodes);\n }\n }\n } else {\n for (let childNode of this.options as TreeNode[]) {\n this.updateTreeBranchState(childNode, [], selectedNodes);\n }\n }\n }\n\n expandPath(expandedNodes: TreeNode[]) {\n for (let node of expandedNodes) {\n node.expanded = true;\n }\n\n this.expandedNodes = [...expandedNodes];\n }\n\n nodeExpand(event: { originalEvent: Event; node: TreeNode }) {\n this.onNodeExpand.emit(event);\n this.expandedNodes.push(event.node);\n setTimeout(() => {\n this.overlayViewChild.alignOverlay();\n });\n }\n\n nodeCollapse(event: { originalEvent: Event; node: TreeNode }) {\n this.onNodeCollapse.emit(event);\n this.expandedNodes.splice(this.expandedNodes.indexOf(event.node), 1);\n setTimeout(() => {\n this.overlayViewChild.alignOverlay();\n });\n }\n\n resetExpandedNodes() {\n for (let node of this.expandedNodes) {\n node.expanded = false;\n }\n\n this.expandedNodes = [];\n }\n\n resetPartialSelected(nodes = this.options): void {\n if (!nodes) {\n return;\n }\n\n for (let node of nodes) {\n node.partialSelected = false;\n\n if (node.children && node.children?.length > 0) {\n this.resetPartialSelected(node.children);\n }\n }\n }\n\n findSelectedNodes(node: TreeNode, keys: any[], selectedNodes: TreeNode[]) {\n if (node) {\n if (this.isSelected(node)) {\n selectedNodes.push(node);\n delete keys[node.key as any];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n } else {\n for (let childNode of this.options as TreeNode[]) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n }\n\n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1;\n }\n\n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n\n if (this.value) {\n if (this.selectionMode === 'single') {\n let areNodesEqual = (this.value.key && this.value.key === node.key) || this.value == node;\n index = areNodesEqual ? 0 : -1;\n } else {\n for (let i = 0; i < this.value.length; i++) {\n let selectedNode = this.value[i];\n let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;\n if (areNodesEqual) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n\n onSelect(event: TreeNodeSelectEvent) {\n this.onNodeSelect.emit(event);\n\n if (this.selectionMode === 'single') {\n this.hide();\n this.focusInput?.nativeElement.focus();\n }\n }\n\n onUnselect(event: TreeNodeUnSelectEvent) {\n this.onNodeUnselect.emit(event);\n }\n\n onInputFocus(event: Event) {\n if (this.disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.onBlur.emit(event);\n this.onModelTouched();\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.updateTreeState();\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n get emptyValue() {\n return !this.value || Object.keys(this.value).length === 0;\n }\n\n get emptyOptions() {\n return !this.options || this.options.length === 0;\n }\n\n get label() {\n let value = this.value || [];\n return value.length ? value.map((node: TreeNode) => node.label).join(', ') : this.selectionMode === 'single' && this.value ? value.label : this.placeholder;\n }\n}\n\n@NgModule({\n imports: [TreeSelect, SharedModule],\n exports: [TreeSelect, SharedModule]\n})\nexport class TreeSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-treeselect.mjs","sources":["../../src/treeselect/style/treeselectstyle.ts","../../src/treeselect/treeselect.ts","../../src/treeselect/primeng-treeselect.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/treeselect';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = /*css*/ `\n ${style}\n\n /* For PrimeNG */\n\n .p-treeselect.ng-invalid.ng-dirty {\n border-color: dt('treeselect.invalid.border.color');\n }\n\n p-treeselect.ng-invalid.ng-dirty.p-focus {\n border-color: dt('treeselect.focus.border.color');\n }\n\n p-treeselect.ng-invalid.ng-dirty .p-treeselect-label.p-placeholder {\n color: dt('treeselect.invalid.placeholder.color');\n }\n`;\n\nconst inlineStyles = {\n root: ({ instance }) => ({ position: instance.$appendTo() === 'self' ? 'relative' : undefined, ...instance.containerStyle })\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-treeselect p-component p-inputwrapper',\n {\n 'p-treeselect-display-chip': instance.display === 'chip',\n 'p-disabled': instance.$disabled(),\n 'p-invalid': instance.invalid(),\n 'p-focus': instance.focused,\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-inputwrapper-filled': !instance.emptyValue,\n 'p-inputwrapper-focus': instance.focused || instance.overlayVisible,\n 'p-treeselect-open': instance.overlayVisible,\n 'p-treeselect-clearable': instance.showClear,\n 'p-treeselect-fluid': instance.hasFluid,\n 'p-treeselect-sm p-inputfield-sm': instance.size() === 'small',\n 'p-treeselect-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n labelContainer: 'p-treeselect-label-container',\n label: ({ instance }) => [\n 'p-treeselect-label',\n {\n 'p-placeholder': instance.label === instance.placeholder,\n 'p-treeselect-label-empty': !instance.placeholder && instance.emptyValue\n }\n ],\n chip: 'p-treeselect-chip-item',\n pcChip: 'p-treeselect-chip',\n dropdown: 'p-treeselect-dropdown',\n dropdownIcon: 'p-treeselect-dropdown-icon',\n panel: 'p-treeselect-overlay p-component-overlay p-component',\n treeContainer: 'p-treeselect-tree-container',\n emptyMessage: 'p-treeselect-empty-message'\n};\n\n@Injectable()\nexport class TreeSelectStyle extends BaseStyle {\n name = 'treeselect';\n\n theme = theme;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * TreeSelect is a form component to choose from hierarchical data.\n *\n * [Live Demo](https://www.primeng.org/treeselect/)\n *\n * @module treeselectstyle\n *\n */\nexport enum TreeSelectClasses {\n /**\n * Class name of the root element\n */\n root = 'p-treeselect',\n /**\n * Class name of the label container element\n */\n labelContainer = 'p-treeselect-label-container',\n /**\n * Class name of the label element\n */\n label = 'p-treeselect-label',\n /**\n * Class name of the chip item element\n */\n chipItem = 'p-treeselect-chip-item',\n /**\n * Class name of the chip element\n */\n pcChip = 'p-treeselect-chip',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-treeselect-dropdown',\n /**\n * Class name of the dropdown icon element\n */\n dropdownIcon = 'p-treeselect-dropdown-icon',\n /**\n * Class name of the panel element\n */\n panel = 'p-treeselect-overlay',\n /**\n * Class name of the tree container element\n */\n treeContainer = 'p-treeselect-tree-container',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-treeselect-empty-message'\n}\n\nexport interface TreeSelectStyle extends BaseStyle {}\n","import { AnimationEvent } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n inject,\n input,\n Input,\n NgModule,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, hasClass, isNotEmpty, uuid } from '@primeuix/utils';\nimport { OverlayOptions, PrimeTemplate, ScrollerOptions, SharedModule, TreeNode } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Chip } from 'primeng/chip';\nimport { Fluid } from 'primeng/fluid';\nimport { ChevronDownIcon, TimesIcon } from 'primeng/icons';\nimport { Overlay } from 'primeng/overlay';\nimport { Tree, TreeFilterEvent, TreeNodeSelectEvent, TreeNodeUnSelectEvent } from 'primeng/tree';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { TreeSelectStyle } from './style/treeselectstyle';\nimport { TreeSelectNodeCollapseEvent, TreeSelectNodeExpandEvent } from './treeselect.interface';\n\nexport const TREESELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TreeSelect),\n multi: true\n};\n/**\n * TreeSelect is a form component to choose from hierarchical data.\n * @group Components\n */\n@Component({\n selector: 'p-treeSelect, p-treeselect, p-tree-select',\n standalone: true,\n imports: [CommonModule, Overlay, SharedModule, Tree, AutoFocus, TimesIcon, ChevronDownIcon, Chip],\n template: `\n <div class=\"p-hidden-accessible\">\n <input\n #focusInput\n type=\"text\"\n role=\"combobox\"\n [attr.id]=\"inputId\"\n readonly\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.tabindex]=\"!$disabled() ? tabindex : -1\"\n [attr.aria-controls]=\"overlayVisible ? listId : null\"\n [attr.aria-haspopup]=\"'tree'\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel || (label === 'p-emptylabel' ? undefined : label)\"\n [pAutoFocus]=\"autofocus\"\n />\n </div>\n <div [class]=\"cx('labelContainer')\">\n <div [class]=\"cn(cx('label'), labelStyleClass)\" [ngStyle]=\"labelStyle\">\n <ng-container *ngIf=\"valueTemplate || _valueTemplate; else defaultValueTemplate\">\n <ng-container *ngTemplateOutlet=\"valueTemplate || _valueTemplate; context: { $implicit: value, placeholder: placeholder }\"></ng-container>\n </ng-container>\n <ng-template #defaultValueTemplate>\n <ng-container *ngIf=\"display === 'comma'; else chipsValueTemplate\">\n {{ label || 'empty' }}\n </ng-container>\n <ng-template #chipsValueTemplate>\n <div *ngFor=\"let node of value\" [class]=\"cx('chipItem')\">\n <p-chip [label]=\"node.label\" [class]=\"cx('pcChip')\" />\n </div>\n <ng-container *ngIf=\"emptyValue\">{{ placeholder || 'empty' }}</ng-container>\n </ng-template>\n </ng-template>\n </div>\n </div>\n <ng-container *ngIf=\"checkValue() && !$disabled() && showClear\">\n <svg data-p-icon=\"times\" *ngIf=\"!clearIconTemplate && !_clearIconTemplate\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" />\n <span *ngIf=\"clearIconTemplate || clearIconTemplate\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate || _clearIconTemplate\"></ng-template>\n </span>\n </ng-container>\n <div [class]=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"tree\" [attr.aria-expanded]=\"overlayVisible ?? false\" [attr.aria-label]=\"'treeselect trigger'\">\n <svg data-p-icon=\"chevron-down\" *ngIf=\"!triggerIconTemplate && !_triggerIconTemplate && !dropdownIconTemplate && !_dropdownIconTemplate\" [class]=\"cx('dropdownIcon')\" />\n <span *ngIf=\"triggerIconTemplate || _triggerIconTemplate || dropdownIconTemplate || _dropdownIconTemplate\" [class]=\"cx('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"triggerIconTemplate || _triggerIconTemplate || dropdownIconTemplate || _dropdownIconTemplate\"></ng-template>\n </span>\n </div>\n <p-overlay\n #overlay\n [hostAttrSelector]=\"attrSelector\"\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onBeforeHide)=\"onOverlayBeforeHide($event)\"\n (onShow)=\"onShow.emit($event)\"\n (onHide)=\"hide($event)\"\n >\n <ng-template #content>\n <div #panel [attr.id]=\"listId\" [class]=\"cn(cx('panel'), panelStyleClass, panelClass)\" [ngStyle]=\"panelStyle\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n >\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate; context: { $implicit: value, options: options }\"></ng-container>\n <div [class]=\"cx('treeContainer')\" [ngStyle]=\"{ 'max-height': scrollHeight }\">\n <p-tree\n #tree\n [value]=\"options\"\n [propagateSelectionDown]=\"propagateSelectionDown\"\n [propagateSelectionUp]=\"propagateSelectionUp\"\n [selectionMode]=\"selectionMode\"\n (selectionChange)=\"onSelectionChange($event)\"\n [selection]=\"value\"\n [metaKeySelection]=\"metaKeySelection\"\n (onNodeExpand)=\"nodeExpand($event)\"\n (onNodeCollapse)=\"nodeCollapse($event)\"\n (onNodeSelect)=\"onSelect($event)\"\n [emptyMessage]=\"emptyMessage\"\n (onNodeUnselect)=\"onUnselect($event)\"\n [filter]=\"filter\"\n [filterBy]=\"filterBy\"\n [filterMode]=\"filterMode\"\n [filterPlaceholder]=\"filterPlaceholder\"\n [filterLocale]=\"filterLocale\"\n [filteredNodes]=\"filteredNodes\"\n [virtualScroll]=\"virtualScroll\"\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n [_templateMap]=\"templateMap\"\n [loading]=\"loading\"\n [filterInputAutoFocus]=\"filterInputAutoFocus\"\n >\n <ng-container *ngIf=\"emptyTemplate || _emptyTemplate\">\n <ng-template #empty>\n <ng-container *ngTemplateOutlet=\"emptyTemplate || _emptyTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template #togglericon let-expanded *ngIf=\"itemTogglerIconTemplate || _itemTogglerIconTemplate\">\n <ng-container *ngTemplateOutlet=\"itemTogglerIconTemplate || _itemTogglerIconTemplate; context: { $implicit: expanded }\"></ng-container>\n </ng-template>\n <ng-template #checkboxicon let-selected let-partialSelected=\"partialSelected\" *ngIf=\"itemCheckboxIconTemplate || _itemCheckboxIconTemplate\">\n <ng-container *ngTemplateOutlet=\"itemCheckboxIconTemplate || _itemCheckboxIconTemplate; context: { $implicit: selected, partialSelected: partialSelected }\"></ng-container>\n </ng-template>\n <ng-template #loadingicon *ngIf=\"itemLoadingIconTemplate || _itemLoadingIconTemplate\">\n <ng-container *ngTemplateOutlet=\"itemLoadingIconTemplate || _itemLoadingIconTemplate\"></ng-container>\n </ng-template>\n </p-tree>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: value, options: options }\"></ng-container>\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n ></span>\n </div>\n </ng-template>\n </p-overlay>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TREESELECT_VALUE_ACCESSOR, TreeSelectStyle],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), containerStyleClass)\",\n '[style]': \"sx('root')\"\n }\n})\nexport class TreeSelect extends BaseEditableHolder implements AfterContentInit {\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Height of the viewport, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n @Input() scrollHeight: string = '400px';\n /**\n * Defines how multiple items can be selected, when true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) metaKeySelection: boolean = false;\n /**\n * Defines how the selected items are displayed.\n * @group Props\n */\n @Input() display: 'comma' | 'chip' = 'comma';\n /**\n * Defines the selection mode.\n * @group Props\n */\n @Input() selectionMode: 'single' | 'multiple' | 'checkbox' = 'single';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: string | undefined = '0';\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Label to display when there are no selections.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Style class of the overlay panel.\n * @group Props\n */\n @Input() panelClass: string | string[] | Set<string> | { [klass: string]: any } | undefined;\n /**\n * Inline style of the panel element.\n * @group Props\n */\n @Input() panelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the panel element.\n * @group Props\n */\n @Input() panelStyleClass: string | undefined;\n /**\n * Inline style of the container element.\n * @deprecated since v20.0.0, use `style` instead.\n * @group Props\n */\n @Input() containerStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the container element.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() containerStyleClass: string | undefined;\n /**\n * Inline style of the label element.\n * @group Props\n */\n @Input() labelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the label element.\n * @group Props\n */\n @Input() labelStyleClass: string | undefined;\n /**\n * Specifies the options for the overlay.\n * @group Props\n */\n @Input() overlayOptions: OverlayOptions | undefined;\n /**\n * Text to display when there are no options available. Defaults to value from PrimeNG locale configuration.\n * @group Props\n */\n @Input() emptyMessage: string = '';\n /**\n * When specified, displays an input field to filter the items.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) filter: boolean = false;\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n @Input() filterBy: string = 'label';\n /**\n * Mode for filtering valid values are \"lenient\" and \"strict\". Default is lenient.\n * @group Props\n */\n @Input() filterMode: string = 'lenient';\n /**\n * Placeholder text to show when filter input is empty.\n * @group Props\n */\n @Input() filterPlaceholder: string | undefined;\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input() filterLocale: string | undefined;\n /**\n * Determines whether the filter input should be automatically focused when the component is rendered.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) filterInputAutoFocus: boolean = true;\n /**\n * Whether checkbox selections propagate to descendant nodes.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) propagateSelectionDown: boolean = true;\n /**\n * Whether checkbox selections propagate to ancestor nodes.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) propagateSelectionUp: boolean = true;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * Clears the filter value when hiding the dropdown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) resetFilterOnHide: boolean = true;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n @Input() virtualScroll: boolean | undefined;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input() virtualScrollItemSize: number | undefined;\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n @Input() virtualScrollOptions: ScrollerOptions | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * An array of treenodes.\n * @defaultValue undefined\n * @group Props\n */\n @Input() get options(): TreeNode[] | undefined {\n return this._options;\n }\n set options(options: TreeNode[] | undefined) {\n this._options = options;\n this.updateTreeState();\n }\n /**\n * Displays a loader to indicate data load is in progress.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) loading: boolean | undefined;\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<'large' | 'small' | undefined>();\n /**\n * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<'filled' | 'outlined' | undefined>();\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n /**\n * Callback to invoke when a node is expanded.\n * @param {TreeSelectNodeExpandEvent} event - Custom node expand event.\n * @group Emits\n */\n @Output() onNodeExpand: EventEmitter<TreeSelectNodeExpandEvent> = new EventEmitter<TreeSelectNodeExpandEvent>();\n /**\n * Callback to invoke when a node is collapsed.\n * @param {TreeSelectNodeCollapseEvent} event - Custom node collapse event.\n * @group Emits\n */\n @Output() onNodeCollapse: EventEmitter<TreeSelectNodeCollapseEvent> = new EventEmitter<TreeSelectNodeCollapseEvent>();\n /**\n * Callback to invoke when the overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when the overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onHide: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n @Output() onClear: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when data is filtered.\n * @group Emits\n */\n @Output() onFilter: EventEmitter<TreeFilterEvent> = new EventEmitter<TreeFilterEvent>();\n /**\n * Callback to invoke when treeselect gets focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when treeselect loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when a node is unselected.\n * @param {TreeNodeUnSelectEvent} event - node unselect event.\n * @group Emits\n */\n @Output() onNodeUnselect: EventEmitter<TreeNodeUnSelectEvent> = new EventEmitter<TreeNodeUnSelectEvent>();\n /**\n * Callback to invoke when a node is selected.\n * @param {TreeNodeSelectEvent} event - node select event.\n * @group Emits\n */\n @Output() onNodeSelect: EventEmitter<TreeNodeSelectEvent> = new EventEmitter<TreeNodeSelectEvent>();\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n @ViewChild('focusInput') focusInput: Nullable<ElementRef>;\n\n @ViewChild('filter') filterViewChild: Nullable<ElementRef>;\n\n @ViewChild('tree') treeViewChild: Nullable<Tree>;\n\n @ViewChild('panel') panelEl: Nullable<ElementRef>;\n\n @ViewChild('overlay') overlayViewChild: Nullable<Overlay>;\n\n @ViewChild('firstHiddenFocusableEl') firstHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n @ViewChild('lastHiddenFocusableEl') lastHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant());\n\n pcFluid: Fluid = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n public filteredNodes: TreeNode[] | undefined | null;\n\n filterValue: Nullable<string> = null;\n\n serializedValue: Nullable<any[]>;\n /**\n * Custom value template.\n * @group Templates\n */\n @ContentChild('value', { descendants: false }) valueTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom header template.\n * @group Templates\n */\n @ContentChild('header', { descendants: false }) headerTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n @ContentChild('empty', { descendants: false }) emptyTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom footer template.\n * @group Templates\n */\n @ContentChild('footer', { descendants: false }) footerTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n @ContentChild('clearicon', { descendants: false }) clearIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom trigger icon template.\n * @group Templates\n */\n @ContentChild('triggericon', { descendants: false }) triggerIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n @ContentChild('dropdownicon', { descendants: false }) dropdownIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n @ContentChild('filtericon', { descendants: false }) filterIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom close icon template.\n * @group Templates\n */\n @ContentChild('closeicon', { descendants: false }) closeIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom item toggler icon template.\n * @group Templates\n */\n @ContentChild('itemtogglericon', { descendants: false }) itemTogglerIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom item checkbox icon template.\n * @group Templates\n */\n @ContentChild('itemcheckboxicon', { descendants: false }) itemCheckboxIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom item loading icon template.\n * @group Templates\n */\n @ContentChild('itemloadingicon', { descendants: false }) itemLoadingIconTemplate: Nullable<TemplateRef<any>>;\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<PrimeTemplate>>;\n\n _valueTemplate: TemplateRef<any> | undefined;\n\n _headerTemplate: TemplateRef<any> | undefined;\n\n _emptyTemplate: TemplateRef<any> | undefined;\n\n _footerTemplate: TemplateRef<any> | undefined;\n\n _clearIconTemplate: TemplateRef<any> | undefined;\n\n _triggerIconTemplate: TemplateRef<any> | undefined;\n\n _filterIconTemplate: TemplateRef<any> | undefined;\n\n _closeIconTemplate: TemplateRef<any> | undefined;\n\n _itemTogglerIconTemplate: TemplateRef<any> | undefined;\n\n _itemCheckboxIconTemplate: TemplateRef<any> | undefined;\n\n _itemLoadingIconTemplate: TemplateRef<any> | undefined;\n\n _dropdownIconTemplate: TemplateRef<any> | undefined;\n\n focused: Nullable<boolean>;\n\n overlayVisible: Nullable<boolean>;\n\n value: any | undefined;\n\n expandedNodes: any[] = [];\n\n _options: TreeNode[] | undefined;\n\n public templateMap: any;\n\n listId: string = '';\n\n _componentStyle = inject(TreeSelectStyle);\n\n @HostListener('click', ['$event'])\n onHostClick(event: MouseEvent) {\n this.onClick(event);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.listId = uuid('pn_id_') + '_list';\n this.updateTreeState();\n }\n\n ngAfterContentInit() {\n if ((this.templates as QueryList<PrimeTemplate>).length) {\n this.templateMap = {};\n }\n\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'value':\n this._valueTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'empty':\n this._emptyTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'clearicon':\n this._clearIconTemplate = item.template;\n break;\n\n case 'triggericon':\n this._triggerIconTemplate = item.template;\n break;\n\n case 'filtericon':\n this._filterIconTemplate = item.template;\n break;\n\n case 'closeicon':\n this._closeIconTemplate = item.template;\n break;\n\n case 'itemtogglericon':\n this._itemTogglerIconTemplate = item.template;\n break;\n\n case 'itemcheckboxicon':\n this._itemCheckboxIconTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this._dropdownIconTemplate = item.template;\n break;\n\n case 'itemloadingicon':\n this._itemLoadingIconTemplate = item.template;\n break;\n\n default: //TODO: @deprecated Use \"value\" template instead\n if (item.name) this.templateMap[item.name] = item.template;\n else this.valueTemplate = item.template;\n break;\n }\n });\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n if (this.filter) {\n isNotEmpty(this.filterValue) && this.treeViewChild?._filter(<any>this.filterValue);\n this.filterInputAutoFocus && this.filterViewChild?.nativeElement.focus();\n } else {\n let focusableElements = <any>getFocusableElements(this.panelEl.nativeElement);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n }\n break;\n }\n }\n\n onOverlayBeforeHide(event: any) {\n let focusableElements = <any>getFocusableElements(this.el.nativeElement);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n }\n\n onSelectionChange(event: any) {\n this.value = event;\n this.onModelChange(this.value);\n this.cd.markForCheck();\n }\n\n onClick(event: any) {\n if (this.$disabled()) {\n return;\n }\n\n if (!this.overlayViewChild?.el?.nativeElement?.contains(event.target) && !hasClass(event.target, 'p-treeselect-close') && !hasClass(event.target, 'p-checkbox-box') && !hasClass(event.target, 'p-checkbox-icon')) {\n if (this.overlayVisible) {\n this.hide();\n } else {\n this.show();\n }\n\n this.focusInput?.nativeElement.focus();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n //down\n case 'ArrowDown':\n if (!this.overlayVisible) {\n this.show();\n event.preventDefault();\n }\n this.onArrowDown(event);\n event.preventDefault();\n break;\n\n //space\n case 'Space':\n case 'Enter':\n if (!this.overlayVisible) {\n this.show();\n event.preventDefault();\n }\n break;\n\n //escape\n case 'Escape':\n if (this.overlayVisible) {\n this.hide();\n this.focusInput?.nativeElement.focus();\n event.preventDefault();\n }\n break;\n\n //tab\n case 'Tab':\n this.onTabKey(event);\n break;\n\n default:\n break;\n }\n }\n\n onFilterInput(event: Event) {\n this.filterValue = (event.target as HTMLInputElement).value;\n this.treeViewChild?._filter(this.filterValue);\n this.onFilter.emit({\n filter: this.filterValue,\n filteredValue: this.treeViewChild?.filteredNodes\n });\n setTimeout(() => {\n this.overlayViewChild.alignOverlay();\n });\n }\n\n onArrowDown(event: KeyboardEvent) {\n if (this.overlayVisible && this.panelEl?.nativeElement) {\n let focusableElements = <any>getFocusableElements(this.panelEl.nativeElement, '.p-tree-node');\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n\n event.preventDefault();\n }\n }\n\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.focusInput?.nativeElement ? getFirstFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInput?.nativeElement;\n\n focus(focusableEl);\n }\n\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.focusInput?.nativeElement ? getLastFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInput?.nativeElement;\n\n focus(focusableEl);\n }\n\n show() {\n this.overlayVisible = true;\n }\n\n hide(event?: any) {\n this.overlayVisible = false;\n this.resetFilter();\n\n this.onHide.emit(event);\n this.cd.markForCheck();\n }\n\n clear(event: Event) {\n this.value = null;\n this.resetExpandedNodes();\n this.resetPartialSelected();\n this.onModelChange(this.value);\n this.onClear.emit();\n\n event.stopPropagation();\n }\n\n checkValue() {\n return this.value !== null && isNotEmpty(this.value);\n }\n\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay.nativeElement : this.firstHiddenFocusableElementOnOverlay.nativeElement);\n\n event.preventDefault();\n } else {\n this.overlayVisible && this.hide(this.filter);\n }\n }\n }\n\n hasFocusableElements() {\n return getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n }\n\n resetFilter() {\n if (this.filter && !this.resetFilterOnHide) {\n this.filteredNodes = this.treeViewChild?.filteredNodes;\n this.treeViewChild?.resetFilter();\n } else {\n this.filterValue = null;\n }\n }\n\n updateTreeState() {\n if (this.value) {\n let selectedNodes = this.selectionMode === 'single' ? [this.value] : [...this.value];\n this.resetExpandedNodes();\n this.resetPartialSelected();\n if (selectedNodes && this.options) {\n this.updateTreeBranchState(null, null, selectedNodes);\n }\n }\n }\n\n updateTreeBranchState(node: TreeNode | null, path: any, selectedNodes: TreeNode[]) {\n if (node) {\n if (this.isSelected(node)) {\n this.expandPath(path);\n selectedNodes.splice(selectedNodes.indexOf(node), 1);\n }\n\n if (selectedNodes.length > 0 && node.children) {\n for (let childNode of node.children) {\n this.updateTreeBranchState(childNode, [...path, node], selectedNodes);\n }\n }\n } else {\n for (let childNode of this.options as TreeNode[]) {\n this.updateTreeBranchState(childNode, [], selectedNodes);\n }\n }\n }\n\n expandPath(expandedNodes: TreeNode[]) {\n for (let node of expandedNodes) {\n node.expanded = true;\n }\n\n this.expandedNodes = [...expandedNodes];\n }\n\n nodeExpand(event: { originalEvent: Event; node: TreeNode }) {\n this.onNodeExpand.emit(event);\n this.expandedNodes.push(event.node);\n setTimeout(() => {\n this.overlayViewChild.alignOverlay();\n });\n }\n\n nodeCollapse(event: { originalEvent: Event; node: TreeNode }) {\n this.onNodeCollapse.emit(event);\n this.expandedNodes.splice(this.expandedNodes.indexOf(event.node), 1);\n setTimeout(() => {\n this.overlayViewChild.alignOverlay();\n });\n }\n\n resetExpandedNodes() {\n for (let node of this.expandedNodes) {\n node.expanded = false;\n }\n\n this.expandedNodes = [];\n }\n\n resetPartialSelected(nodes = this.options): void {\n if (!nodes) {\n return;\n }\n\n for (let node of nodes) {\n node.partialSelected = false;\n\n if (node.children && node.children?.length > 0) {\n this.resetPartialSelected(node.children);\n }\n }\n }\n\n findSelectedNodes(node: TreeNode, keys: any[], selectedNodes: TreeNode[]) {\n if (node) {\n if (this.isSelected(node)) {\n selectedNodes.push(node);\n delete keys[node.key as any];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n } else {\n for (let childNode of this.options as TreeNode[]) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n }\n\n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1;\n }\n\n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n\n if (this.value) {\n if (this.selectionMode === 'single') {\n let areNodesEqual = (this.value.key && this.value.key === node.key) || this.value == node;\n index = areNodesEqual ? 0 : -1;\n } else {\n for (let i = 0; i < this.value.length; i++) {\n let selectedNode = this.value[i];\n let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;\n if (areNodesEqual) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n\n onSelect(event: TreeNodeSelectEvent) {\n this.onNodeSelect.emit(event);\n\n if (this.selectionMode === 'single') {\n this.hide();\n this.focusInput?.nativeElement.focus();\n }\n }\n\n onUnselect(event: TreeNodeUnSelectEvent) {\n this.onNodeUnselect.emit(event);\n }\n\n onInputFocus(event: Event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.onBlur.emit(event);\n this.onModelTouched();\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any): void {\n this.value = value;\n this.updateTreeState();\n this.cd.markForCheck();\n }\n\n get emptyValue() {\n return !this.value || Object.keys(this.value).length === 0;\n }\n\n get emptyOptions() {\n return !this.options || this.options.length === 0;\n }\n\n get label() {\n let value = this.value || [];\n return value.length ? value.map((node: TreeNode) => node.label).join(', ') : this.selectionMode === 'single' && this.value ? value.label : this.placeholder;\n }\n}\n\n@NgModule({\n imports: [TreeSelect, SharedModule],\n exports: [TreeSelect, SharedModule]\n})\nexport class TreeSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -3732,7 +3732,7 @@ class TTSortableColumn extends BaseComponent {
3732
3732
  }
3733
3733
  }
3734
3734
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TTSortableColumn, deps: [{ token: TreeTable }], target: i0.ɵɵFactoryTarget.Directive });
3735
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.6", type: TTSortableColumn, isStandalone: false, selector: "[ttSortableColumn]", inputs: { field: ["ttSortableColumn", "field"], ttSortableColumnDisabled: ["ttSortableColumnDisabled", "ttSortableColumnDisabled", booleanAttribute] }, host: { attributes: { "role": "columnheader" }, listeners: { "click": "onClick($event)", "keydown.enter": "onEnterKey($event)" }, properties: { "class": "cx(\"sortableColumn\")", "tabindex": "isEnabled() ? \"0\" : null", "aria-sort": "ariaSorted" } }, providers: [TreeTableStyle], usesInheritance: true, ngImport: i0 });
3735
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.6", type: TTSortableColumn, isStandalone: false, selector: "[ttSortableColumn]", inputs: { field: ["ttSortableColumn", "field"], ttSortableColumnDisabled: ["ttSortableColumnDisabled", "ttSortableColumnDisabled", booleanAttribute] }, host: { attributes: { "role": "columnheader" }, listeners: { "click": "onClick($event)", "keydown.enter": "onEnterKey($event)" }, properties: { "class": "cx(\"sortableColumn\")", "tabindex": "isEnabled() ? \"0\" : null", "attr.aria-sort": "ariaSorted" } }, providers: [TreeTableStyle], usesInheritance: true, ngImport: i0 });
3736
3736
  }
3737
3737
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TTSortableColumn, decorators: [{
3738
3738
  type: Directive,
@@ -3743,7 +3743,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
3743
3743
  '[class]': 'cx("sortableColumn")',
3744
3744
  '[tabindex]': 'isEnabled() ? "0" : null',
3745
3745
  role: 'columnheader',
3746
- '[aria-sort]': 'ariaSorted'
3746
+ '[attr.aria-sort]': 'ariaSorted'
3747
3747
  },
3748
3748
  providers: [TreeTableStyle]
3749
3749
  }]
@@ -4126,7 +4126,7 @@ class TTSelectableRow extends BaseComponent {
4126
4126
  }
4127
4127
  }
4128
4128
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TTSelectableRow, deps: [{ token: TreeTable }, { token: TreeTableService }], target: i0.ɵɵFactoryTarget.Directive });
4129
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.6", type: TTSelectableRow, isStandalone: false, selector: "[ttSelectableRow]", inputs: { rowNode: ["ttSelectableRow", "rowNode"], ttSelectableRowDisabled: ["ttSelectableRowDisabled", "ttSelectableRowDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeyDown($event)", "touchend": "onTouchEnd($event)" }, properties: { "class": "cx(\"row\")", "aria-checked": "selected" } }, providers: [TreeTableStyle], usesInheritance: true, ngImport: i0 });
4129
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.6", type: TTSelectableRow, isStandalone: false, selector: "[ttSelectableRow]", inputs: { rowNode: ["ttSelectableRow", "rowNode"], ttSelectableRowDisabled: ["ttSelectableRowDisabled", "ttSelectableRowDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeyDown($event)", "touchend": "onTouchEnd($event)" }, properties: { "class": "cx(\"row\")", "attr.aria-checked": "selected" } }, providers: [TreeTableStyle], usesInheritance: true, ngImport: i0 });
4130
4130
  }
4131
4131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TTSelectableRow, decorators: [{
4132
4132
  type: Directive,
@@ -4135,7 +4135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
4135
4135
  standalone: false,
4136
4136
  host: {
4137
4137
  '[class]': 'cx("row")',
4138
- '[aria-checked]': 'selected'
4138
+ '[attr.aria-checked]': 'selected'
4139
4139
  },
4140
4140
  providers: [TreeTableStyle]
4141
4141
  }]
@@ -4869,7 +4869,7 @@ class TTRow extends BaseComponent {
4869
4869
  });
4870
4870
  }
4871
4871
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TTRow, deps: [{ token: TreeTable }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4872
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: TTRow, isStandalone: false, selector: "[ttRow]", inputs: { rowNode: ["ttRow", "rowNode"] }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class": "'p-element ' + styleClass", "tabindex": "'0'", "aria-expanded": "expanded", "aria-level": "level", "data-pc-section": "row", "role": "row" } }, providers: [TreeTableStyle], usesInheritance: true, ngImport: i0 });
4872
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: TTRow, isStandalone: false, selector: "[ttRow]", inputs: { rowNode: ["ttRow", "rowNode"] }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class": "'p-element ' + styleClass", "tabindex": "'0'", "attr.aria-expanded": "expanded", "attr.aria-level": "level", "attr.data-pc-section": "row", "role": "row" } }, providers: [TreeTableStyle], usesInheritance: true, ngImport: i0 });
4873
4873
  }
4874
4874
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TTRow, decorators: [{
4875
4875
  type: Directive,
@@ -4879,9 +4879,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
4879
4879
  host: {
4880
4880
  '[class]': `'p-element ' + styleClass`,
4881
4881
  '[tabindex]': "'0'",
4882
- '[aria-expanded]': 'expanded',
4883
- '[aria-level]': 'level',
4884
- '[data-pc-section]': 'row',
4882
+ '[attr.aria-expanded]': 'expanded',
4883
+ '[attr.aria-level]': 'level',
4884
+ '[attr.data-pc-section]': 'row',
4885
4885
  '[role]': 'row'
4886
4886
  },
4887
4887
  providers: [TreeTableStyle]