@flusys/ng-ui 8.1.3 → 8.1.5

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flusys/ng-ui",
3
- "version": "8.1.3",
3
+ "version": "8.1.5",
4
4
  "description": "FLUSYS native UI component library ",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { EnvironmentProviders, TemplateRef, OnDestroy, AfterViewInit, OnInit, ElementRef, InjectionToken, Type, Injector } from '@angular/core';
2
+ import { EnvironmentProviders, TemplateRef, OnDestroy, AfterViewInit, OnInit, ElementRef, InjectionToken, Type, Injector, Signal } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
  import * as rxjs from 'rxjs';
5
5
 
@@ -737,6 +737,13 @@ declare class SelectComponent implements ControlValueAccessor {
737
737
  readonly virtualScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
738
738
  readonly virtualScrollItemSize: _angular_core.InputSignal<number>;
739
739
  readonly lazy: _angular_core.InputSignalWithTransform<boolean, unknown>;
740
+ /**
741
+ * Full option object for the current `value()`, supplied by the consumer.
742
+ * Pinned into the option pool (deduped by `optionValue`) whenever a lazy-loaded
743
+ * or filtered `options()` page doesn't happen to contain it, so the trigger
744
+ * label, checkmark and list row always resolve correctly on edit forms.
745
+ */
746
+ readonly selectedObject: _angular_core.InputSignal<unknown>;
740
747
  readonly hostClass: _angular_core.Signal<string>;
741
748
  readonly onFilter: _angular_core.OutputEmitterRef<{
742
749
  filter: string;
@@ -762,13 +769,9 @@ declare class SelectComponent implements ControlValueAccessor {
762
769
  private readonly _editableInputRef;
763
770
  private readonly _filterInputRef;
764
771
  private readonly _panelRef;
765
- private readonly _panelTop;
766
- private readonly _panelLeft;
767
- private readonly _panelWidth;
772
+ private readonly _placement;
768
773
  readonly panelClass: _angular_core.Signal<string>;
769
774
  readonly panelStyle: _angular_core.Signal<Record<string, string>>;
770
- private position;
771
- private adjustForViewport;
772
775
  readonly selectedItemRef: _angular_core.Signal<TemplateRef<unknown> | undefined>;
773
776
  readonly itemRef: _angular_core.Signal<TemplateRef<unknown> | undefined>;
774
777
  readonly groupRef: _angular_core.Signal<TemplateRef<unknown> | undefined>;
@@ -797,6 +800,9 @@ declare class SelectComponent implements ControlValueAccessor {
797
800
  readonly filterFieldList: _angular_core.Signal<string[]>;
798
801
  private matchesFilter;
799
802
  private optionMatchesQuery;
803
+ private readonly selectedObjectEntry;
804
+ private mergeSelected;
805
+ readonly optionsWithSelected: _angular_core.Signal<unknown[]>;
800
806
  readonly filteredOptions: _angular_core.Signal<unknown[]>;
801
807
  readonly allLeafOptions: _angular_core.Signal<unknown[]>;
802
808
  readonly flatItems: _angular_core.Signal<FSelectFlatItem[]>;
@@ -829,7 +835,7 @@ declare class SelectComponent implements ControlValueAccessor {
829
835
  registerOnTouched(fn: () => void): void;
830
836
  setDisabledState(): void;
831
837
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectComponent, never>;
832
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent, "f-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterBy": { "alias": "filterBy"; "required": false; "isSignal": true; }; "filterMatchMode": { "alias": "filterMatchMode"; "required": false; "isSignal": true; }; "filterLocale": { "alias": "filterLocale"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "resetFilterOnHide": { "alias": "resetFilterOnHide"; "required": false; "isSignal": true; }; "autofocusFilter": { "alias": "autofocusFilter"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyFilterMessage": { "alias": "emptyFilterMessage"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingIcon": { "alias": "loadingIcon"; "required": false; "isSignal": true; }; "dropdownIcon": { "alias": "dropdownIcon"; "required": false; "isSignal": true; }; "clearIcon": { "alias": "clearIcon"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "checkmark": { "alias": "checkmark"; "required": false; "isSignal": true; }; "group": { "alias": "group"; "required": false; "isSignal": true; }; "optionGroupLabel": { "alias": "optionGroupLabel"; "required": false; "isSignal": true; }; "optionGroupChildren": { "alias": "optionGroupChildren"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "virtualScrollItemSize": { "alias": "virtualScrollItemSize"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; }, { "onFilter": "onFilter"; "onChange": "onChange"; "onShow": "onShow"; "onHide": "onHide"; "onBlur": "onBlur"; "onFocus": "onFocus"; "onClear": "onClear"; "onLazyLoad": "onLazyLoad"; }, ["selectedItemRef", "itemRef", "groupRef", "headerRef", "footerRef", "emptyRef", "emptyFilterRef", "loaderRef", "filterRef", "fTemplates"], never, true, never>;
838
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent, "f-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterBy": { "alias": "filterBy"; "required": false; "isSignal": true; }; "filterMatchMode": { "alias": "filterMatchMode"; "required": false; "isSignal": true; }; "filterLocale": { "alias": "filterLocale"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "resetFilterOnHide": { "alias": "resetFilterOnHide"; "required": false; "isSignal": true; }; "autofocusFilter": { "alias": "autofocusFilter"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyFilterMessage": { "alias": "emptyFilterMessage"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingIcon": { "alias": "loadingIcon"; "required": false; "isSignal": true; }; "dropdownIcon": { "alias": "dropdownIcon"; "required": false; "isSignal": true; }; "clearIcon": { "alias": "clearIcon"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "checkmark": { "alias": "checkmark"; "required": false; "isSignal": true; }; "group": { "alias": "group"; "required": false; "isSignal": true; }; "optionGroupLabel": { "alias": "optionGroupLabel"; "required": false; "isSignal": true; }; "optionGroupChildren": { "alias": "optionGroupChildren"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "virtualScrollItemSize": { "alias": "virtualScrollItemSize"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "selectedObject": { "alias": "selectedObject"; "required": false; "isSignal": true; }; }, { "onFilter": "onFilter"; "onChange": "onChange"; "onShow": "onShow"; "onHide": "onHide"; "onBlur": "onBlur"; "onFocus": "onFocus"; "onClear": "onClear"; "onLazyLoad": "onLazyLoad"; }, ["selectedItemRef", "itemRef", "groupRef", "headerRef", "footerRef", "emptyRef", "emptyFilterRef", "loaderRef", "filterRef", "fTemplates"], never, true, never>;
833
839
  }
834
840
 
835
841
  type FMultiSelectFilterMatchMode = 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals';
@@ -849,13 +855,9 @@ declare class MultiSelectComponent implements ControlValueAccessor {
849
855
  private readonly _triggerRef;
850
856
  private readonly _filterInputRef;
851
857
  private readonly _panelRef;
852
- private readonly _panelTop;
853
- private readonly _panelLeft;
854
- private readonly _panelWidth;
858
+ private readonly _placement;
855
859
  readonly panelClass: _angular_core.Signal<string>;
856
860
  readonly panelStyle: _angular_core.Signal<Record<string, string>>;
857
- private position;
858
- private adjustForViewport;
859
861
  readonly triggerClass: _angular_core.Signal<string>;
860
862
  readonly options: _angular_core.InputSignal<unknown[]>;
861
863
  readonly optionLabel: _angular_core.InputSignal<string>;
@@ -895,6 +897,13 @@ declare class MultiSelectComponent implements ControlValueAccessor {
895
897
  readonly virtualScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
896
898
  readonly virtualScrollItemSize: _angular_core.InputSignal<number>;
897
899
  readonly lazy: _angular_core.InputSignalWithTransform<boolean, unknown>;
900
+ /**
901
+ * Full option objects for the currently selected `values()`, supplied by the
902
+ * consumer. Pinned into the option pool (deduped by `optionValue`) whenever a
903
+ * lazy-loaded or filtered `options()` page doesn't contain one of them, so
904
+ * chips/labels always resolve correctly on edit forms.
905
+ */
906
+ readonly selectedObjects: _angular_core.InputSignal<unknown[]>;
898
907
  readonly hostClass: _angular_core.Signal<string>;
899
908
  readonly onBlur: _angular_core.OutputEmitterRef<void>;
900
909
  readonly onFocus: _angular_core.OutputEmitterRef<FocusEvent>;
@@ -945,6 +954,9 @@ declare class MultiSelectComponent implements ControlValueAccessor {
945
954
  readonly filterFieldList: _angular_core.Signal<string[]>;
946
955
  private matchesFilter;
947
956
  private optionMatchesQuery;
957
+ private readonly selectedObjectEntries;
958
+ private mergeSelected;
959
+ readonly optionsWithSelected: _angular_core.Signal<unknown[]>;
948
960
  readonly filteredOptions: _angular_core.Signal<unknown[]>;
949
961
  readonly allLeafOptions: _angular_core.Signal<unknown[]>;
950
962
  readonly flatItems: _angular_core.Signal<FMultiSelectFlatItem[]>;
@@ -979,7 +991,7 @@ declare class MultiSelectComponent implements ControlValueAccessor {
979
991
  registerOnTouched(fn: () => void): void;
980
992
  setDisabledState(): void;
981
993
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MultiSelectComponent, never>;
982
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiSelectComponent, "f-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterBy": { "alias": "filterBy"; "required": false; "isSignal": true; }; "filterMatchMode": { "alias": "filterMatchMode"; "required": false; "isSignal": true; }; "filterLocale": { "alias": "filterLocale"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "resetFilterOnHide": { "alias": "resetFilterOnHide"; "required": false; "isSignal": true; }; "autofocusFilter": { "alias": "autofocusFilter"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyFilterMessage": { "alias": "emptyFilterMessage"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "maxSelectedLabels": { "alias": "maxSelectedLabels"; "required": false; "isSignal": true; }; "selectionLimit": { "alias": "selectionLimit"; "required": false; "isSignal": true; }; "showToggleAll": { "alias": "showToggleAll"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingIcon": { "alias": "loadingIcon"; "required": false; "isSignal": true; }; "dropdownIcon": { "alias": "dropdownIcon"; "required": false; "isSignal": true; }; "clearIcon": { "alias": "clearIcon"; "required": false; "isSignal": true; }; "group": { "alias": "group"; "required": false; "isSignal": true; }; "optionGroupLabel": { "alias": "optionGroupLabel"; "required": false; "isSignal": true; }; "optionGroupChildren": { "alias": "optionGroupChildren"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "virtualScrollItemSize": { "alias": "virtualScrollItemSize"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "onChange": "onChange"; "onFilter": "onFilter"; "onShow": "onShow"; "onHide": "onHide"; "onClear": "onClear"; "onLazyLoad": "onLazyLoad"; "onSelectAllChange": "onSelectAllChange"; }, ["selectedItemRef", "itemRef", "groupRef", "headerRef", "footerRef", "emptyRef", "emptyFilterRef", "loaderRef", "filterRef", "fTemplates"], never, true, never>;
994
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiSelectComponent, "f-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterBy": { "alias": "filterBy"; "required": false; "isSignal": true; }; "filterMatchMode": { "alias": "filterMatchMode"; "required": false; "isSignal": true; }; "filterLocale": { "alias": "filterLocale"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "resetFilterOnHide": { "alias": "resetFilterOnHide"; "required": false; "isSignal": true; }; "autofocusFilter": { "alias": "autofocusFilter"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyFilterMessage": { "alias": "emptyFilterMessage"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "maxSelectedLabels": { "alias": "maxSelectedLabels"; "required": false; "isSignal": true; }; "selectionLimit": { "alias": "selectionLimit"; "required": false; "isSignal": true; }; "showToggleAll": { "alias": "showToggleAll"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingIcon": { "alias": "loadingIcon"; "required": false; "isSignal": true; }; "dropdownIcon": { "alias": "dropdownIcon"; "required": false; "isSignal": true; }; "clearIcon": { "alias": "clearIcon"; "required": false; "isSignal": true; }; "group": { "alias": "group"; "required": false; "isSignal": true; }; "optionGroupLabel": { "alias": "optionGroupLabel"; "required": false; "isSignal": true; }; "optionGroupChildren": { "alias": "optionGroupChildren"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "virtualScrollItemSize": { "alias": "virtualScrollItemSize"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "selectedObjects": { "alias": "selectedObjects"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "onChange": "onChange"; "onFilter": "onFilter"; "onShow": "onShow"; "onHide": "onHide"; "onClear": "onClear"; "onLazyLoad": "onLazyLoad"; "onSelectAllChange": "onSelectAllChange"; }, ["selectedItemRef", "itemRef", "groupRef", "headerRef", "footerRef", "emptyRef", "emptyFilterRef", "loaderRef", "filterRef", "fTemplates"], never, true, never>;
983
995
  }
984
996
 
985
997
  interface CheckboxChangeEvent {
@@ -1733,11 +1745,11 @@ declare class PopoverComponent {
1733
1745
  readonly onHide: _angular_core.OutputEmitterRef<void>;
1734
1746
  private readonly _visible;
1735
1747
  readonly visible: _angular_core.Signal<boolean>;
1736
- private readonly _top;
1748
+ private readonly panelRef;
1749
+ private readonly _placement;
1737
1750
  readonly top: _angular_core.Signal<number>;
1738
- private readonly _left;
1739
1751
  readonly left: _angular_core.Signal<number>;
1740
- private readonly panelRef;
1752
+ readonly maxHeight: _angular_core.Signal<number | null>;
1741
1753
  private _anchor;
1742
1754
  private _previouslyFocused;
1743
1755
  private readonly _windowWidth;
@@ -1750,8 +1762,6 @@ declare class PopoverComponent {
1750
1762
  private showInternal;
1751
1763
  hide(): void;
1752
1764
  private focusPanel;
1753
- private position;
1754
- private adjustForViewport;
1755
1765
  onCloseIconClick(event: Event): void;
1756
1766
  onEscape(): void;
1757
1767
  onDocumentClick(e: Event): void;
@@ -2435,15 +2445,10 @@ declare class AutoCompleteComponent implements ControlValueAccessor {
2435
2445
  readonly listboxId: string;
2436
2446
  private readonly anchorRef;
2437
2447
  private readonly panelRef;
2438
- private readonly _panelTop;
2439
- private readonly _panelLeft;
2440
- private readonly _panelWidth;
2448
+ private readonly _placement;
2441
2449
  readonly panelClass: _angular_core.Signal<string>;
2442
2450
  readonly panelStyle: _angular_core.Signal<Record<string, string>>;
2443
- private position;
2444
- private adjustForViewport;
2445
2451
  private openPanel;
2446
- constructor();
2447
2452
  onDocumentClick(e: MouseEvent): void;
2448
2453
  readonly suggestions: _angular_core.InputSignal<unknown[]>;
2449
2454
  readonly field: _angular_core.InputSignal<string>;
@@ -2698,11 +2703,10 @@ declare class SplitButtonComponent {
2698
2703
  readonly onHide: _angular_core.OutputEmitterRef<void>;
2699
2704
  private readonly _open;
2700
2705
  readonly open: _angular_core.Signal<boolean>;
2701
- private readonly _menuTop;
2702
- private readonly _menuLeft;
2706
+ private readonly _placement;
2703
2707
  readonly menuTop: _angular_core.Signal<number>;
2704
2708
  readonly menuLeft: _angular_core.Signal<number>;
2705
- constructor();
2709
+ readonly menuMaxHeight: _angular_core.Signal<number | null>;
2706
2710
  readonly groupClass: _angular_core.Signal<string>;
2707
2711
  readonly dropdownClass: _angular_core.Signal<string>;
2708
2712
  readonly menuPanelClass: _angular_core.Signal<string>;
@@ -2715,8 +2719,6 @@ declare class SplitButtonComponent {
2715
2719
  private close;
2716
2720
  private menuItems;
2717
2721
  private focusItem;
2718
- private positionMenu;
2719
- private adjustMenuForViewport;
2720
2722
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SplitButtonComponent, never>;
2721
2723
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SplitButtonComponent, "f-splitbutton", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "raised": { "alias": "raised"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "outlined": { "alias": "outlined"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "iconPos": { "alias": "iconPos"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "menuStyleClass": { "alias": "menuStyleClass"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "dropdownIcon": { "alias": "dropdownIcon"; "required": false; "isSignal": true; }; "expandAriaLabel": { "alias": "expandAriaLabel"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; "onDropdownClick": "onDropdownClick"; "onShow": "onShow"; "onHide": "onHide"; }, never, never, true, never>;
2722
2724
  }
@@ -2890,7 +2892,6 @@ interface FlatTreeSelectNode {
2890
2892
  }
2891
2893
  declare class TreeSelectComponent implements ControlValueAccessor {
2892
2894
  private readonly _el;
2893
- constructor();
2894
2895
  readonly options: _angular_core.InputSignal<TreeNode<unknown>[]>;
2895
2896
  readonly placeholder: _angular_core.InputSignal<string>;
2896
2897
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -2912,13 +2913,9 @@ declare class TreeSelectComponent implements ControlValueAccessor {
2912
2913
  readonly hostClass: _angular_core.Signal<string>;
2913
2914
  private readonly triggerRef;
2914
2915
  private readonly panelRef;
2915
- private readonly _panelTop;
2916
- private readonly _panelLeft;
2917
- private readonly _panelWidth;
2916
+ private readonly _placement;
2918
2917
  readonly panelClass: _angular_core.Signal<string>;
2919
2918
  readonly panelStyle: _angular_core.Signal<Record<string, string>>;
2920
- private position;
2921
- private adjustForViewport;
2922
2919
  private readonly _open;
2923
2920
  readonly open: _angular_core.Signal<boolean>;
2924
2921
  private readonly _filterText;
@@ -3127,11 +3124,9 @@ declare class MenuComponent {
3127
3124
  readonly onHide: _angular_core.OutputEmitterRef<void>;
3128
3125
  private readonly _visible;
3129
3126
  readonly visible: _angular_core.Signal<boolean>;
3130
- private readonly _top;
3131
- private readonly _left;
3127
+ private readonly _placement;
3132
3128
  private _openedAt;
3133
3129
  private _anchor;
3134
- constructor();
3135
3130
  readonly fTemplates: _angular_core.Signal<readonly FTemplateDirective[]>;
3136
3131
  private namedTemplate;
3137
3132
  readonly itemTpl: _angular_core.Signal<TemplateRef<unknown> | null>;
@@ -3143,8 +3138,6 @@ declare class MenuComponent {
3143
3138
  toggle(event?: Event): void;
3144
3139
  show(event?: Event): void;
3145
3140
  hide(): void;
3146
- private position;
3147
- private adjustForViewport;
3148
3141
  onDocumentClick(e: MouseEvent): void;
3149
3142
  onItemClick(e: Event, item: MenuItem): void;
3150
3143
  onKeydown(e: KeyboardEvent): void;
@@ -3202,9 +3195,8 @@ declare class TieredMenuComponent {
3202
3195
  readonly onHide: _angular_core.OutputEmitterRef<void>;
3203
3196
  private readonly _visible;
3204
3197
  readonly visible: _angular_core.Signal<boolean>;
3205
- private readonly _top;
3198
+ private readonly _placement;
3206
3199
  readonly top: _angular_core.Signal<number>;
3207
- private readonly _left;
3208
3200
  readonly left: _angular_core.Signal<number>;
3209
3201
  private _openedAt;
3210
3202
  private _anchor;
@@ -3220,8 +3212,6 @@ declare class TieredMenuComponent {
3220
3212
  toggle(event?: Event): void;
3221
3213
  show(event?: Event): void;
3222
3214
  hide(): void;
3223
- private position;
3224
- private adjustForViewport;
3225
3215
  isItemActive(item: MenuItem, level: number): boolean;
3226
3216
  itemsAtLevel(level: number): MenuItem[];
3227
3217
  onItemMouseEnter(event: MouseEvent, item: MenuItem, level: number): void;
@@ -3287,7 +3277,7 @@ declare class MegaMenuComponent {
3287
3277
  private readonly _activeItem;
3288
3278
  readonly activeItem: _angular_core.Signal<MenuItem | null>;
3289
3279
  private readonly _panelAlign;
3290
- readonly panelAlign: _angular_core.Signal<"end" | "start">;
3280
+ readonly panelAlign: _angular_core.Signal<"start" | "end">;
3291
3281
  private readonly _mobileOpen;
3292
3282
  readonly mobileOpen: _angular_core.Signal<boolean>;
3293
3283
  private readonly _mobileExpanded;
@@ -3588,7 +3578,6 @@ interface CascadeOption {
3588
3578
  }
3589
3579
  declare class CascadeSelectComponent implements ControlValueAccessor {
3590
3580
  private readonly _el;
3591
- constructor();
3592
3581
  readonly options: _angular_core.InputSignal<CascadeOption[]>;
3593
3582
  readonly optionLabel: _angular_core.InputSignal<string>;
3594
3583
  readonly optionValue: _angular_core.InputSignal<string>;
@@ -3608,12 +3597,9 @@ declare class CascadeSelectComponent implements ControlValueAccessor {
3608
3597
  readonly hostClass: _angular_core.Signal<string>;
3609
3598
  private readonly triggerRef;
3610
3599
  private readonly panelRef;
3611
- private readonly _panelTop;
3612
- private readonly _panelLeft;
3600
+ private readonly _placement;
3613
3601
  readonly panelClass: _angular_core.Signal<string>;
3614
3602
  readonly panelStyle: _angular_core.Signal<Record<string, string>>;
3615
- private position;
3616
- private adjustForViewport;
3617
3603
  private readonly _open;
3618
3604
  readonly open: _angular_core.Signal<boolean>;
3619
3605
  private readonly _activePath;
@@ -3695,9 +3681,8 @@ declare class ConfirmPopupComponent {
3695
3681
  readonly dismissable: _angular_core.InputSignalWithTransform<boolean, unknown>;
3696
3682
  readonly styleClass: _angular_core.InputSignal<string>;
3697
3683
  readonly style: _angular_core.InputSignal<Record<string, string> | null>;
3698
- private readonly _top;
3684
+ private readonly _placement;
3699
3685
  readonly top: _angular_core.Signal<number>;
3700
- private readonly _left;
3701
3686
  readonly left: _angular_core.Signal<number>;
3702
3687
  private readonly _zIndex;
3703
3688
  readonly zIndex: _angular_core.Signal<number | null>;
@@ -3719,8 +3704,6 @@ declare class ConfirmPopupComponent {
3719
3704
  resolvedRejectIcon(c: {
3720
3705
  rejectIcon?: string;
3721
3706
  }): string;
3722
- private position;
3723
- private adjustForViewport;
3724
3707
  onEscape(): void;
3725
3708
  accept(fn?: () => void): void;
3726
3709
  reject(fn?: () => void): void;
@@ -4454,15 +4437,94 @@ declare class RippleDirective {
4454
4437
  type UiIconSeverity = 'success' | 'info' | 'warn' | 'danger' | 'secondary' | 'contrast' | null;
4455
4438
  declare class UiIconComponent {
4456
4439
  readonly name: _angular_core.InputSignal<string>;
4457
- readonly size: _angular_core.InputSignal<number>;
4440
+ readonly size: _angular_core.InputSignal<number | undefined>;
4458
4441
  readonly spin: _angular_core.InputSignalWithTransform<boolean, unknown>;
4459
4442
  readonly fill: _angular_core.InputSignalWithTransform<boolean, unknown>;
4460
4443
  readonly severity: _angular_core.InputSignal<UiIconSeverity>;
4444
+ readonly resolvedSize: _angular_core.Signal<string | number>;
4461
4445
  readonly lucideName: _angular_core.Signal<string>;
4462
4446
  readonly iconClass: _angular_core.Signal<string>;
4463
4447
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiIconComponent, never>;
4464
4448
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UiIconComponent, "ui-icon", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "spin": { "alias": "spin"; "required": false; "isSignal": true; }; "fill": { "alias": "fill"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
4465
4449
  }
4466
4450
 
4467
- export { AURA_PRESET, AccordionComponent, AccordionContentComponent, AccordionContext, AccordionHeaderComponent, AccordionPanelComponent, AnimateOnScrollDirective, AutoCompleteComponent, AutoFocusDirective, AvatarComponent, AvatarGroupComponent, BadgeComponent, BlockUiComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CardComponent, CarouselComponent, CascadeSelectComponent, ChartComponent, CheckboxComponent, ChipComponent, ColorPickerComponent, ConfirmDialog, ConfirmPopupComponent, ConfirmationService, ContextMenuComponent, DYNAMIC_DIALOG_DATA, DYNAMIC_DIALOG_REF, DataViewComponent, DatePickerComponent, DialogComponent, DividerComponent, DockComponent, DrawerComponent, DynamicDialogComponent, DynamicDialogRef, DynamicDialogService, EditorComponent, FButtonDirective, FTemplateDirective, FieldsetComponent, FileUploadComponent, FloatLabelComponent, FluidComponent, GalleriaComponent, IconFieldComponent, IftaLabelComponent, ImageCompareComponent, ImageComponent, InplaceComponent, InputGroupAddonComponent, InputGroupComponent, InputIconComponent, InputMaskDirective, InputNumberComponent, InputOtpComponent, InputPasswordDirective, InputTextDirective, KeyFilterDirective, KnobComponent, LARA_PRESET, ListboxComponent, MegaMenuComponent, MenuComponent, MenubarComponent, MessageComponent, MessageService, MeterGroupComponent, MultiSelectComponent, NOIR_PRIMARY, NORA_PRESET, NgUIConfig, OrderListComponent, OrganizationChartComponent, OverlayBadgeComponent, PRESETS, PRESET_NAMES, PRIMARY_PALETTES, PaginatorComponent, PanelComponent, PanelMenuComponent, PasswordComponent, PickListComponent, PopoverComponent, ProgressSpinnerComponent, ProgressbarComponent, RadioButtonComponent, RatingComponent, RippleDirective, SURFACE_PALETTES, ScrollPanelComponent, ScrollTopComponent, ScrollerComponent, SelectButtonComponent, SelectComponent, SkeletonComponent, SliderComponent, SortIconComponent, SortableColumnDirective, SpeedDialComponent, SplitButtonComponent, SplitterComponent, SplitterPanelComponent, StepsComponent, StyleClassDirective, TabComponent, TabListComponent, TabPanelComponent, TabPanelsComponent, TableComponent, TabsComponent, TabsContext, TagComponent, TerminalComponent, TextareaDirective, TieredMenuComponent, TimelineComponent, ToastComponent, ToggleButtonComponent, ToggleSwitchComponent, ToolbarComponent, TooltipDirective, TreeComponent, TreeSelectComponent, TreeTableComponent, TreeTableService, TreeTableTogglerComponent, UiIconComponent, applyDarkSemantics, applyLightSemantics, applyPreset, applyPrimaryPalette, applySurfacePalette, applyTheme, buildBootstrapPreset, provideNgUI };
4468
- export type { ApplyThemeOptions, AutoCompleteCompleteEvent, AutoCompleteSelectEvent, BadgeSeverity, BadgeSize, ButtonSeverity, CheckboxChangeEvent, ColorFormat, ColorPalette, ColorPickerChangeEvent, DataViewLayout, DialogPosition, DrawerPosition, DynamicDialogConfig, FileRemoveEvent, FileSelectEvent, FloatLabelVariant, GalleriaItem, KeyFilterPreset, ListboxChangeEvent, MenuItem, MenuItemCommandEvent, MeterItem, NgUIOptions, NgUITranslationConfig, PaginatorState, PresetName, ProvideNgUIOptions, RadioButtonClickEvent, SelectButtonTokens, SpeedDialDirection, SpeedDialType, StepsMenuItem, SurfacePalette, TableLazyLoadEvent, TerminalCommandEvent, ThemePreset, TimelineAlign, TimelineLayout, TreeSelectionMode as TreeComponentSelectionMode, TreeNode, TreeSelectionMode$1 as TreeSelectionMode, TreeTableNode, UiMessage };
4451
+ declare class OverlayStackService {
4452
+ private readonly _doc;
4453
+ private nextZIndex;
4454
+ private lockCount;
4455
+ open(): number;
4456
+ lockScroll(): void;
4457
+ unlockScroll(): void;
4458
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlayStackService, never>;
4459
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<OverlayStackService>;
4460
+ }
4461
+
4462
+ type OverlayAlign = 'start' | 'end';
4463
+ type OverlayDirection = 'down' | 'up';
4464
+ interface OverlayRect {
4465
+ top: number;
4466
+ left: number;
4467
+ right: number;
4468
+ bottom: number;
4469
+ width: number;
4470
+ height: number;
4471
+ }
4472
+ interface OverlaySize {
4473
+ width: number;
4474
+ height: number;
4475
+ }
4476
+ interface OverlayPositionOptions {
4477
+ /** Distance between the anchor and the panel. */
4478
+ gap?: number;
4479
+ /** Minimum distance kept between the panel and every viewport edge. */
4480
+ margin?: number;
4481
+ /** `start` aligns the left edges to the anchor, `end` the right edges. */
4482
+ align?: OverlayAlign;
4483
+ /** Force the panel to the anchor's width (trigger-style dropdowns). */
4484
+ matchAnchorWidth?: boolean;
4485
+ /** Never clamp the panel below this, even when the viewport is tiny. */
4486
+ minHeight?: number;
4487
+ /**
4488
+ * Set to false for overlays whose children escape their box (flyout submenus
4489
+ * need `overflow: visible`, so a `max-height` would cut them off instead).
4490
+ */
4491
+ clampHeight?: boolean;
4492
+ }
4493
+ interface OverlayPlacement {
4494
+ top: number;
4495
+ left: number;
4496
+ /** `null` when the panel keeps its own width. */
4497
+ width: number | null;
4498
+ /** `null` when `clampHeight` is disabled. */
4499
+ maxHeight: number | null;
4500
+ direction: OverlayDirection;
4501
+ }
4502
+ /**
4503
+ * Places a panel against an anchor inside the viewport: flips above the anchor
4504
+ * when there is more room there, clamps horizontally, and hands back a
4505
+ * `maxHeight` when the panel would otherwise be cut off by a viewport edge, so
4506
+ * it scrolls internally instead.
4507
+ */
4508
+ declare function computeOverlayPlacement(anchor: OverlayRect, panel: OverlaySize, viewport: OverlaySize, options?: OverlayPositionOptions): OverlayPlacement;
4509
+ declare function overlayPlacementStyle(placement: OverlayPlacement | null): Record<string, string>;
4510
+ interface OverlayPositionConfig {
4511
+ /** Positions (and listens) only while this is true. */
4512
+ active: () => boolean;
4513
+ anchor: () => HTMLElement | null | undefined;
4514
+ panel: () => HTMLElement | null | undefined;
4515
+ options?: () => OverlayPositionOptions;
4516
+ }
4517
+ /**
4518
+ * Signal-based placement for components that render their panel from a
4519
+ * template. Bind the result through `overlayPlacementStyle()`. Must be called
4520
+ * in an injection context.
4521
+ */
4522
+ declare function overlayPosition(config: OverlayPositionConfig): Signal<OverlayPlacement | null>;
4523
+ /**
4524
+ * Imperative twin of `overlayPosition()` for overlays that portal a plain DOM
4525
+ * node instead of rendering a template. Returns a dispose function.
4526
+ */
4527
+ declare function attachOverlayPosition(anchor: HTMLElement, panel: HTMLElement, options?: OverlayPositionOptions): () => void;
4528
+
4529
+ export { AURA_PRESET, AccordionComponent, AccordionContentComponent, AccordionContext, AccordionHeaderComponent, AccordionPanelComponent, AnimateOnScrollDirective, AutoCompleteComponent, AutoFocusDirective, AvatarComponent, AvatarGroupComponent, BadgeComponent, BlockUiComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CardComponent, CarouselComponent, CascadeSelectComponent, ChartComponent, CheckboxComponent, ChipComponent, ColorPickerComponent, ConfirmDialog, ConfirmPopupComponent, ConfirmationService, ContextMenuComponent, DYNAMIC_DIALOG_DATA, DYNAMIC_DIALOG_REF, DataViewComponent, DatePickerComponent, DialogComponent, DividerComponent, DockComponent, DrawerComponent, DynamicDialogComponent, DynamicDialogRef, DynamicDialogService, EditorComponent, FButtonDirective, FTemplateDirective, FieldsetComponent, FileUploadComponent, FloatLabelComponent, FluidComponent, GalleriaComponent, IconFieldComponent, IftaLabelComponent, ImageCompareComponent, ImageComponent, InplaceComponent, InputGroupAddonComponent, InputGroupComponent, InputIconComponent, InputMaskDirective, InputNumberComponent, InputOtpComponent, InputPasswordDirective, InputTextDirective, KeyFilterDirective, KnobComponent, LARA_PRESET, ListboxComponent, MegaMenuComponent, MenuComponent, MenubarComponent, MessageComponent, MessageService, MeterGroupComponent, MultiSelectComponent, NOIR_PRIMARY, NORA_PRESET, NgUIConfig, OrderListComponent, OrganizationChartComponent, OverlayBadgeComponent, OverlayStackService, PRESETS, PRESET_NAMES, PRIMARY_PALETTES, PaginatorComponent, PanelComponent, PanelMenuComponent, PasswordComponent, PickListComponent, PopoverComponent, ProgressSpinnerComponent, ProgressbarComponent, RadioButtonComponent, RatingComponent, RippleDirective, SURFACE_PALETTES, ScrollPanelComponent, ScrollTopComponent, ScrollerComponent, SelectButtonComponent, SelectComponent, SkeletonComponent, SliderComponent, SortIconComponent, SortableColumnDirective, SpeedDialComponent, SplitButtonComponent, SplitterComponent, SplitterPanelComponent, StepsComponent, StyleClassDirective, TabComponent, TabListComponent, TabPanelComponent, TabPanelsComponent, TableComponent, TabsComponent, TabsContext, TagComponent, TerminalComponent, TextareaDirective, TieredMenuComponent, TimelineComponent, ToastComponent, ToggleButtonComponent, ToggleSwitchComponent, ToolbarComponent, TooltipDirective, TreeComponent, TreeSelectComponent, TreeTableComponent, TreeTableService, TreeTableTogglerComponent, UiIconComponent, applyDarkSemantics, applyLightSemantics, applyPreset, applyPrimaryPalette, applySurfacePalette, applyTheme, attachOverlayPosition, buildBootstrapPreset, computeOverlayPlacement, overlayPlacementStyle, overlayPosition, provideNgUI };
4530
+ export type { ApplyThemeOptions, AutoCompleteCompleteEvent, AutoCompleteSelectEvent, BadgeSeverity, BadgeSize, ButtonSeverity, CheckboxChangeEvent, ColorFormat, ColorPalette, ColorPickerChangeEvent, DataViewLayout, DialogPosition, DrawerPosition, DynamicDialogConfig, FileRemoveEvent, FileSelectEvent, FloatLabelVariant, GalleriaItem, KeyFilterPreset, ListboxChangeEvent, MenuItem, MenuItemCommandEvent, MeterItem, NgUIOptions, NgUITranslationConfig, OverlayAlign, OverlayDirection, OverlayPlacement, OverlayPositionConfig, OverlayPositionOptions, PaginatorState, PresetName, ProvideNgUIOptions, RadioButtonClickEvent, SelectButtonTokens, SpeedDialDirection, SpeedDialType, StepsMenuItem, SurfacePalette, TableLazyLoadEvent, TerminalCommandEvent, ThemePreset, TimelineAlign, TimelineLayout, TreeSelectionMode as TreeComponentSelectionMode, TreeNode, TreeSelectionMode$1 as TreeSelectionMode, TreeTableNode, UiMessage };