@m1z23r/ngx-ui 1.1.28 → 1.1.30

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": "@m1z23r/ngx-ui",
3
- "version": "1.1.28",
3
+ "version": "1.1.30",
4
4
  "description": "A modern Angular UI component library with themeable components and responsive layout system",
5
5
  "license": "MIT",
6
6
  "author": "m1z23r",
@@ -452,6 +452,13 @@ interface DynamicTab<TData = unknown, TResult = unknown> {
452
452
  closable: boolean;
453
453
  tabRef: TabRef<TResult>;
454
454
  }
455
+ /**
456
+ * Controls how inactive tab panels are handled.
457
+ * - `'conditional'` (default): Inactive panels are removed from the DOM (destroyed/recreated on switch).
458
+ * - `'persistent'`: All panels stay in the DOM, inactive ones are hidden via CSS `display: none`.
459
+ * Use this to preserve component state across tab switches.
460
+ */
461
+ type TabRenderMode = 'conditional' | 'persistent';
455
462
 
456
463
  /**
457
464
  * Service for managing dynamic tabs.
@@ -1174,6 +1181,8 @@ declare class TabComponent {
1174
1181
  private readonly iconDirective;
1175
1182
  /** @internal */
1176
1183
  readonly _index: _angular_core.WritableSignal<number>;
1184
+ /** @internal */
1185
+ readonly _renderMode: _angular_core.WritableSignal<TabRenderMode>;
1177
1186
  private _parent;
1178
1187
  readonly iconTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
1179
1188
  protected readonly isActive: _angular_core.Signal<boolean>;
@@ -1189,6 +1198,7 @@ declare class TabsComponent {
1189
1198
  readonly variant: _angular_core.InputSignal<TabsVariant>;
1190
1199
  readonly size: _angular_core.InputSignal<TabsSize>;
1191
1200
  readonly ariaLabel: _angular_core.InputSignal<string>;
1201
+ readonly renderMode: _angular_core.InputSignal<TabRenderMode>;
1192
1202
  readonly activeTab: _angular_core.ModelSignal<string | number>;
1193
1203
  readonly tabs: _angular_core.Signal<readonly TabComponent[]>;
1194
1204
  private readonly tabList;
@@ -1204,7 +1214,7 @@ declare class TabsComponent {
1204
1214
  /** @internal */
1205
1215
  _isTabActive(tab: TabComponent, index: number): boolean;
1206
1216
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabsComponent, never>;
1207
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsComponent, "ui-tabs", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; }, { "activeTab": "activeTabChange"; }, ["tabs"], ["*"], true, never>;
1217
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsComponent, "ui-tabs", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "renderMode": { "alias": "renderMode"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; }, { "activeTab": "activeTabChange"; }, ["tabs"], ["*"], true, never>;
1208
1218
  }
1209
1219
 
1210
1220
  declare class TabIconDirective {
@@ -1227,6 +1237,7 @@ declare class DynamicTabsComponent {
1227
1237
  readonly variant: _angular_core.InputSignal<DynamicTabsVariant>;
1228
1238
  readonly size: _angular_core.InputSignal<DynamicTabsSize>;
1229
1239
  readonly ariaLabel: _angular_core.InputSignal<string>;
1240
+ readonly renderMode: _angular_core.InputSignal<TabRenderMode>;
1230
1241
  private readonly tabList;
1231
1242
  protected readonly indicatorLeft: _angular_core.WritableSignal<number>;
1232
1243
  protected readonly indicatorWidth: _angular_core.WritableSignal<number>;
@@ -1242,7 +1253,7 @@ declare class DynamicTabsComponent {
1242
1253
  private focusTab;
1243
1254
  private updateIndicator;
1244
1255
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicTabsComponent, never>;
1245
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicTabsComponent, "ui-dynamic-tabs", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1256
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicTabsComponent, "ui-dynamic-tabs", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "renderMode": { "alias": "renderMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1246
1257
  }
1247
1258
 
1248
1259
  declare class AccordionItemComponent {
@@ -1840,20 +1851,37 @@ interface TreeNode {
1840
1851
  children?: TreeNode[];
1841
1852
  data?: unknown;
1842
1853
  }
1854
+ type TreeDropPosition = 'before' | 'after' | 'inside';
1855
+ interface TreeNodeDropEvent {
1856
+ node: TreeNode;
1857
+ target: TreeNode;
1858
+ position: TreeDropPosition;
1859
+ }
1860
+ declare const TREE_HOST: InjectionToken<TreeComponent>;
1843
1861
  declare class TreeComponent {
1844
1862
  readonly nodes: _angular_core.InputSignal<TreeNode[]>;
1845
1863
  readonly indent: _angular_core.InputSignal<number>;
1864
+ readonly draggable: _angular_core.InputSignal<boolean>;
1846
1865
  readonly nodeClick: _angular_core.OutputEmitterRef<TreeNode>;
1847
1866
  readonly nodeExpand: _angular_core.OutputEmitterRef<TreeNode>;
1848
1867
  readonly nodeCollapse: _angular_core.OutputEmitterRef<TreeNode>;
1868
+ readonly nodeDrop: _angular_core.OutputEmitterRef<TreeNodeDropEvent>;
1869
+ /** @internal */
1870
+ readonly _dragNode: _angular_core.WritableSignal<TreeNode | null>;
1871
+ /** @internal */
1872
+ readonly _dragOverNode: _angular_core.WritableSignal<TreeNode | null>;
1873
+ /** @internal */
1874
+ readonly _dropPosition: _angular_core.WritableSignal<TreeDropPosition | null>;
1849
1875
  /** @internal */
1850
1876
  _onNodeClick(node: TreeNode): void;
1851
1877
  /** @internal */
1852
1878
  _onNodeExpand(node: TreeNode): void;
1853
1879
  /** @internal */
1854
1880
  _onNodeCollapse(node: TreeNode): void;
1881
+ /** @internal */
1882
+ _emitDrop(event: TreeNodeDropEvent): void;
1855
1883
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeComponent, never>;
1856
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeComponent, "ui-tree", never, { "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; "indent": { "alias": "indent"; "required": false; "isSignal": true; }; }, { "nodeClick": "nodeClick"; "nodeExpand": "nodeExpand"; "nodeCollapse": "nodeCollapse"; }, never, never, true, never>;
1884
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeComponent, "ui-tree", never, { "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; "indent": { "alias": "indent"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; }, { "nodeClick": "nodeClick"; "nodeExpand": "nodeExpand"; "nodeCollapse": "nodeCollapse"; "nodeDrop": "nodeDrop"; }, never, never, true, never>;
1857
1885
  }
1858
1886
 
1859
1887
  declare class TreeNodeComponent {
@@ -1863,13 +1891,22 @@ declare class TreeNodeComponent {
1863
1891
  readonly nodeClick: _angular_core.OutputEmitterRef<TreeNode>;
1864
1892
  readonly nodeExpand: _angular_core.OutputEmitterRef<TreeNode>;
1865
1893
  readonly nodeCollapse: _angular_core.OutputEmitterRef<TreeNode>;
1894
+ private readonly treeHost;
1866
1895
  private readonly _expanded;
1867
1896
  readonly isExpanded: _angular_core.Signal<boolean>;
1868
1897
  readonly hasChildren: _angular_core.Signal<boolean | undefined>;
1869
1898
  readonly indentGuides: _angular_core.Signal<number[]>;
1899
+ readonly isDraggable: _angular_core.Signal<boolean>;
1900
+ readonly isDragging: _angular_core.Signal<boolean>;
1901
+ readonly dropPosition: _angular_core.Signal<TreeDropPosition | null>;
1870
1902
  toggle(event: MouseEvent): void;
1871
1903
  onClick(event: MouseEvent): void;
1872
1904
  onDoubleClick(event: MouseEvent): void;
1905
+ onDragStart(event: DragEvent): void;
1906
+ onDragEnd(): void;
1907
+ onDragOver(event: DragEvent): void;
1908
+ onDragLeave(event: DragEvent): void;
1909
+ onDrop(event: DragEvent): void;
1873
1910
  /** @internal - forward events from child nodes */
1874
1911
  _onChildNodeClick(node: TreeNode): void;
1875
1912
  /** @internal */
@@ -1880,5 +1917,5 @@ declare class TreeNodeComponent {
1880
1917
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeNodeComponent, "ui-tree-node", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "indent": { "alias": "indent"; "required": false; "isSignal": true; }; }, { "nodeClick": "nodeClick"; "nodeExpand": "nodeExpand"; "nodeCollapse": "nodeCollapse"; }, never, never, true, never>;
1881
1918
  }
1882
1919
 
1883
- export { AccordionComponent, AccordionHeaderDirective, AccordionItemComponent, AlertComponent, BadgeComponent, ButtonComponent, CardComponent, CellTemplateDirective, CellValuePipe, CheckboxComponent, ChipInputComponent, ChipTemplateDirective, CircularProgressComponent, ContentComponent, ContextMenuDirective, DIALOG_DATA, DIALOG_REF, DatepickerComponent, DatetimepickerComponent, DialogRef, DialogService, DropdownComponent, DropdownDividerComponent, DropdownItemComponent, DropdownTriggerDirective, DynamicTabsComponent, FileChooserComponent, FilePreviewPipe, FileSizePipe, FooterComponent, InputComponent, LOADABLE, LoadingDirective, LoadingService, ModalComponent, NavbarComponent, OptionComponent, OptionTemplateDirective, PaginationComponent, ProgressComponent, RadioComponent, RadioGroupComponent, SelectComponent, ShellComponent, SidebarComponent, SidebarService, SidebarToggleComponent, SliderComponent, SpinnerComponent, SplitComponent, SplitPaneComponent, SwitchComponent, TAB_DATA, TAB_REF, TabActivePipe, TabComponent, TabIconDirective, TabRef, TableComponent, TabsComponent, TabsService, TextareaComponent, TimepickerComponent, ToastRef, ToastService, TooltipDirective, TreeComponent, TreeNodeComponent, Validators };
1884
- export type { AccordionVariant, AlertVariant, BadgeSize, BadgeVariant, ButtonColor, ButtonSize, ButtonVariant, CardPadding, CardVariant, CheckboxSize, ChipInputSize, ChipInputVariant, ChipTemplateContext, CircularProgressSize, CircularProgressVariant, DateRange, DatepickerSize, DatepickerVariant, DatepickerView, DatetimepickerSize, DatetimepickerVariant, DatetimepickerView, DialogConfig, DropdownAlign, DropdownPosition, DynamicTabConfig, DynamicTabsSize, DynamicTabsVariant, FileChooserSize, FileChooserVariant, InputType, Loadable, ModalSize, OptionTemplateContext, PaginationSize, ProgressSize, ProgressVariant, RadioGroupOrientation, RadioGroupSize, RadioGroupVariant, SelectSize, SelectVariant, ShellVariant, SliderSize, SortDirection, SortState, SpinnerSize, SpinnerVariant, SplitGutterSize, SplitOrientation, SplitSizeChange, SwitchSize, TableColumn, TabsSize, TabsVariant, TextareaResize, TimeFormat, TimeValue, TimepickerSize, TimepickerVariant, ToastConfig, ToastPosition, ToastVariant, TooltipPosition, TreeNode, ValidationError, ValidationState, ValidatorFn };
1920
+ export { AccordionComponent, AccordionHeaderDirective, AccordionItemComponent, AlertComponent, BadgeComponent, ButtonComponent, CardComponent, CellTemplateDirective, CellValuePipe, CheckboxComponent, ChipInputComponent, ChipTemplateDirective, CircularProgressComponent, ContentComponent, ContextMenuDirective, DIALOG_DATA, DIALOG_REF, DatepickerComponent, DatetimepickerComponent, DialogRef, DialogService, DropdownComponent, DropdownDividerComponent, DropdownItemComponent, DropdownTriggerDirective, DynamicTabsComponent, FileChooserComponent, FilePreviewPipe, FileSizePipe, FooterComponent, InputComponent, LOADABLE, LoadingDirective, LoadingService, ModalComponent, NavbarComponent, OptionComponent, OptionTemplateDirective, PaginationComponent, ProgressComponent, RadioComponent, RadioGroupComponent, SelectComponent, ShellComponent, SidebarComponent, SidebarService, SidebarToggleComponent, SliderComponent, SpinnerComponent, SplitComponent, SplitPaneComponent, SwitchComponent, TAB_DATA, TAB_REF, TREE_HOST, TabActivePipe, TabComponent, TabIconDirective, TabRef, TableComponent, TabsComponent, TabsService, TextareaComponent, TimepickerComponent, ToastRef, ToastService, TooltipDirective, TreeComponent, TreeNodeComponent, Validators };
1921
+ export type { AccordionVariant, AlertVariant, BadgeSize, BadgeVariant, ButtonColor, ButtonSize, ButtonVariant, CardPadding, CardVariant, CheckboxSize, ChipInputSize, ChipInputVariant, ChipTemplateContext, CircularProgressSize, CircularProgressVariant, DateRange, DatepickerSize, DatepickerVariant, DatepickerView, DatetimepickerSize, DatetimepickerVariant, DatetimepickerView, DialogConfig, DropdownAlign, DropdownPosition, DynamicTabConfig, DynamicTabsSize, DynamicTabsVariant, FileChooserSize, FileChooserVariant, InputType, Loadable, ModalSize, OptionTemplateContext, PaginationSize, ProgressSize, ProgressVariant, RadioGroupOrientation, RadioGroupSize, RadioGroupVariant, SelectSize, SelectVariant, ShellVariant, SliderSize, SortDirection, SortState, SpinnerSize, SpinnerVariant, SplitGutterSize, SplitOrientation, SplitSizeChange, SwitchSize, TabRenderMode, TableColumn, TabsSize, TabsVariant, TextareaResize, TimeFormat, TimeValue, TimepickerSize, TimepickerVariant, ToastConfig, ToastPosition, ToastVariant, TooltipPosition, TreeDropPosition, TreeNode, TreeNodeDropEvent, ValidationError, ValidationState, ValidatorFn };