@latitude-ui/widgets 0.0.31 → 0.0.32
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/fesm2022/latitude-ui-widgets-button.mjs +18 -20
- package/fesm2022/latitude-ui-widgets-button.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-checkbox.mjs +2 -2
- package/fesm2022/latitude-ui-widgets-checkbox.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-core.mjs +29 -11
- package/fesm2022/latitude-ui-widgets-core.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-listbox.mjs +4 -4
- package/fesm2022/latitude-ui-widgets-listbox.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-menu.mjs +73 -0
- package/fesm2022/latitude-ui-widgets-menu.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-select.mjs +6 -6
- package/fesm2022/latitude-ui-widgets-select.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-switch.mjs +2 -2
- package/fesm2022/latitude-ui-widgets-switch.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-textbox.mjs +6 -6
- package/fesm2022/latitude-ui-widgets-textbox.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-toolbar.mjs +3 -14
- package/fesm2022/latitude-ui-widgets-toolbar.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-tree.mjs +75 -0
- package/fesm2022/latitude-ui-widgets-tree.mjs.map +1 -0
- package/menu/README.md +3 -0
- package/package.json +12 -3
- package/tree/README.md +3 -0
- package/types/latitude-ui-widgets-button.d.ts +3 -9
- package/types/latitude-ui-widgets-core.d.ts +8 -2
- package/types/latitude-ui-widgets-menu.d.ts +30 -0
- package/types/latitude-ui-widgets-tree.d.ts +42 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, ChangeDetectionStrategy, ViewEncapsulation, Component, signal, linkedSignal, computed, untracked } from '@angular/core';
|
|
3
|
+
import { rxResource } from '@angular/core/rxjs-interop';
|
|
4
|
+
|
|
5
|
+
class TreeComponent {
|
|
6
|
+
store = input(...(ngDevMode ? [undefined, { debugName: "store" }] : []));
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: TreeComponent, isStandalone: true, selector: "lat-tree", inputs: { store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["latTree"], ngImport: i0, template: "", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: TreeComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ exportAs: 'latTree', selector: 'lat-tree', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "" }]
|
|
13
|
+
}], propDecorators: { store: [{ type: i0.Input, args: [{ isSignal: true, alias: "store", required: false }] }] } });
|
|
14
|
+
|
|
15
|
+
class TreeNode {
|
|
16
|
+
id;
|
|
17
|
+
pid;
|
|
18
|
+
value;
|
|
19
|
+
children;
|
|
20
|
+
downlevel;
|
|
21
|
+
constructor(value, options) {
|
|
22
|
+
const { id, pid, children, downlevel } = options;
|
|
23
|
+
this.value = signal(value, ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
24
|
+
this.id = linkedSignal({ ...(ngDevMode ? { debugName: "id" } : {}), source: () => this.value(),
|
|
25
|
+
computation: (value) => id(value) });
|
|
26
|
+
this.pid = linkedSignal({ ...(ngDevMode ? { debugName: "pid" } : {}), source: () => this.value(),
|
|
27
|
+
computation: (value) => pid(value) });
|
|
28
|
+
this.children = linkedSignal({ ...(ngDevMode ? { debugName: "children" } : {}), source: () => this.value(),
|
|
29
|
+
computation: (value) => children(value) });
|
|
30
|
+
this.downlevel = linkedSignal({ ...(ngDevMode ? { debugName: "downlevel" } : {}), source: () => this.value(),
|
|
31
|
+
computation: (value) => downlevel(value) });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function tree({ queryFn, queryChildrenFn, params, ...options }) {
|
|
35
|
+
const stream = rxResource({
|
|
36
|
+
params,
|
|
37
|
+
...options,
|
|
38
|
+
stream: (params) => queryFn(params)
|
|
39
|
+
});
|
|
40
|
+
const values = computed(() => stream.hasValue() ? stream.value() : [], ...(ngDevMode ? [{ debugName: "values" }] : []));
|
|
41
|
+
const status = computed(() => {
|
|
42
|
+
switch (stream.status()) {
|
|
43
|
+
case 'idle':
|
|
44
|
+
return 'idle';
|
|
45
|
+
case 'error':
|
|
46
|
+
return 'rejected';
|
|
47
|
+
case 'local':
|
|
48
|
+
case 'resolved':
|
|
49
|
+
return 'fulfilled';
|
|
50
|
+
case 'loading':
|
|
51
|
+
case 'reloading':
|
|
52
|
+
return 'pending';
|
|
53
|
+
}
|
|
54
|
+
}, ...(ngDevMode ? [{ debugName: "status" }] : []));
|
|
55
|
+
return {
|
|
56
|
+
values,
|
|
57
|
+
status,
|
|
58
|
+
set(nodes) {
|
|
59
|
+
return stream.set(nodes);
|
|
60
|
+
},
|
|
61
|
+
update(updateFn) {
|
|
62
|
+
return stream.update((nodes) => updateFn(nodes ?? []));
|
|
63
|
+
},
|
|
64
|
+
children(node) {
|
|
65
|
+
return untracked(() => queryChildrenFn ? queryChildrenFn(node, {}) : node.children());
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Generated bundle index. Do not edit.
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
export { TreeComponent, TreeNode, tree };
|
|
75
|
+
//# sourceMappingURL=latitude-ui-widgets-tree.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-tree.mjs","sources":["../../../../packages/widgets/tree/lib/tree.component.ts","../../../../packages/widgets/tree/lib/tree.component.html","../../../../packages/widgets/tree/lib/tree.api.ts","../../../../packages/widgets/tree/latitude-ui-widgets-tree.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\r\nimport { TreeStore } from './tree.api';\r\n\r\n\r\n@Component({\r\n exportAs: 'latTree',\r\n selector: 'lat-tree',\r\n templateUrl: './tree.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TreeComponent<T = unknown> {\r\n readonly store = input<TreeStore<T>>();\r\n}\r\n","","import { Observable } from 'rxjs';\r\nimport {\r\n computed,\r\n Injector,\r\n linkedSignal,\r\n ResourceLoaderParams,\r\n Signal,\r\n signal,\r\n untracked,\r\n WritableSignal\r\n} from '@angular/core';\r\nimport { rxResource } from '@angular/core/rxjs-interop';\r\n\r\n\r\nexport class TreeNode<T = unknown> {\r\n readonly id: WritableSignal<string>;\r\n\r\n readonly pid: WritableSignal<string | undefined>;\r\n\r\n readonly value: WritableSignal<T>;\r\n\r\n readonly children: WritableSignal<TreeNode<T>[]>;\r\n\r\n readonly downlevel: WritableSignal<boolean>;\r\n\r\n constructor(\r\n value: T,\r\n options: {\r\n id: (value: T) => string;\r\n pid: (value: T) => string | undefined;\r\n children: (value: T) => TreeNode<T>[];\r\n downlevel: (value: T) => boolean;\r\n }\r\n ) {\r\n const { id, pid, children, downlevel } = options;\r\n\r\n this.value = signal(value);\r\n\r\n this.id = linkedSignal({\r\n source: () => this.value(),\r\n computation: (value) => id(value)\r\n });\r\n\r\n this.pid = linkedSignal({\r\n source: () => this.value(),\r\n computation: (value) => pid(value)\r\n });\r\n\r\n this.children = linkedSignal({\r\n source: () => this.value(),\r\n computation: (value) => children(value)\r\n });\r\n\r\n this.downlevel = linkedSignal({\r\n source: () => this.value(),\r\n computation: (value) => downlevel(value)\r\n });\r\n }\r\n}\r\n\r\nexport interface TreeStore<T = unknown> {\r\n\r\n readonly values: Signal<TreeNode<T>[]>;\r\n\r\n readonly status: Signal<'idle' | 'pending' | 'fulfilled' | 'rejected'>;\r\n\r\n set(nodes: TreeNode<T>[]): void;\r\n\r\n update(updateFn: (nodes: TreeNode<T>[]) => TreeNode<T>[]): void;\r\n\r\n children(node: TreeNode<T>): TreeNode<T>[] | Observable<TreeNode<T>[]>;\r\n}\r\n\r\n\r\nexport type TreeResourceQueryFn<T, R> = (params: ResourceLoaderParams<R>) => Observable<TreeNode<T>[]>;\r\nexport type TreeResourceQueryChildrenFn<T, R> = (node: TreeNode<T>, params: ResourceLoaderParams<R>) => Observable<TreeNode<T>[]>;\r\n\r\nexport type TreeResourceOptions<T, R> = {\r\n params?: () => R;\r\n queryFn: TreeResourceQueryFn<T, R>;\r\n queryChildrenFn?: TreeResourceQueryChildrenFn<T, R>;\r\n injector?: Injector;\r\n}\r\n\r\n\r\nexport function tree<T, R>({ queryFn, queryChildrenFn, params, ...options }: TreeResourceOptions<T, R>): TreeStore<T> {\r\n const stream = rxResource({\r\n params,\r\n ...options,\r\n stream: (params) => queryFn(params)\r\n });\r\n\r\n const values = computed(() => stream.hasValue() ? stream.value() : []);\r\n\r\n const status = computed(() => {\r\n switch (stream.status()) {\r\n case 'idle':\r\n return 'idle';\r\n case 'error':\r\n return 'rejected';\r\n case 'local':\r\n case 'resolved':\r\n return 'fulfilled';\r\n case 'loading':\r\n case 'reloading':\r\n return 'pending';\r\n }\r\n });\r\n\r\n return {\r\n values,\r\n status,\r\n\r\n set(nodes: TreeNode<T>[]) {\r\n return stream.set(nodes);\r\n },\r\n update(updateFn: (nodes: TreeNode<T>[]) => TreeNode<T>[]) {\r\n return stream.update((nodes) => updateFn(nodes ?? []));\r\n },\r\n children(node: TreeNode<T>) {\r\n return untracked(() => queryChildrenFn ? queryChildrenFn(node, {} as never) : node.children());\r\n }\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/menu/README.md
ADDED
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@latitude-ui/widgets",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.32",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^21.1.0",
|
|
6
6
|
"@angular/core": "^21.1.0",
|
|
7
|
+
"@angular/aria": "^21.1.0",
|
|
7
8
|
"@angular/cdk": "^21.1.0",
|
|
8
|
-
"@maskito/core": "
|
|
9
|
-
"@maskito/kit": "
|
|
9
|
+
"@maskito/core": "5.1.0",
|
|
10
|
+
"@maskito/kit": "5.1.0"
|
|
10
11
|
},
|
|
11
12
|
"sideEffects": false,
|
|
12
13
|
"module": "fesm2022/latitude-ui-widgets.mjs",
|
|
@@ -47,6 +48,10 @@
|
|
|
47
48
|
"types": "./types/latitude-ui-widgets-lookup.d.ts",
|
|
48
49
|
"default": "./fesm2022/latitude-ui-widgets-lookup.mjs"
|
|
49
50
|
},
|
|
51
|
+
"./menu": {
|
|
52
|
+
"types": "./types/latitude-ui-widgets-menu.d.ts",
|
|
53
|
+
"default": "./fesm2022/latitude-ui-widgets-menu.mjs"
|
|
54
|
+
},
|
|
50
55
|
"./scrollable": {
|
|
51
56
|
"types": "./types/latitude-ui-widgets-scrollable.d.ts",
|
|
52
57
|
"default": "./fesm2022/latitude-ui-widgets-scrollable.mjs"
|
|
@@ -70,6 +75,10 @@
|
|
|
70
75
|
"./toolbar": {
|
|
71
76
|
"types": "./types/latitude-ui-widgets-toolbar.d.ts",
|
|
72
77
|
"default": "./fesm2022/latitude-ui-widgets-toolbar.mjs"
|
|
78
|
+
},
|
|
79
|
+
"./tree": {
|
|
80
|
+
"types": "./types/latitude-ui-widgets-tree.d.ts",
|
|
81
|
+
"default": "./fesm2022/latitude-ui-widgets-tree.mjs"
|
|
73
82
|
}
|
|
74
83
|
},
|
|
75
84
|
"dependencies": {
|
package/tree/README.md
ADDED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _latitude_ui_widgets_core from '@latitude-ui/widgets/core';
|
|
2
2
|
import { BoxSize } from '@latitude-ui/widgets/core';
|
|
3
3
|
import * as _angular_core from '@angular/core';
|
|
4
|
-
import { ElementRef
|
|
4
|
+
import { ElementRef } from '@angular/core';
|
|
5
5
|
|
|
6
6
|
type ButtonSize = BoxSize;
|
|
7
7
|
type ButtonVariant = 'default' | 'action' | 'secondary' | 'text' | 'link' | 'inherit' | ({} & string);
|
|
@@ -21,11 +21,5 @@ declare class ButtonComponent {
|
|
|
21
21
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "lat-button", ["latButton"], { "role": { "alias": "role"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
readonly variant: Signal<ButtonVariant>;
|
|
27
|
-
}
|
|
28
|
-
declare const BUTTON_PATTERN: InjectionToken<ButtonPattern>;
|
|
29
|
-
|
|
30
|
-
export { BUTTON_PATTERN, ButtonComponent };
|
|
31
|
-
export type { ButtonPattern, ButtonSize, ButtonVariant };
|
|
24
|
+
export { ButtonComponent };
|
|
25
|
+
export type { ButtonSize, ButtonVariant };
|
|
@@ -2,6 +2,7 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
import { InjectionToken, Signal } from '@angular/core';
|
|
3
3
|
import * as _angular_forms from '@angular/forms';
|
|
4
4
|
import { NgControl, FormControlStatus, AbstractControl } from '@angular/forms';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
5
6
|
|
|
6
7
|
type BoxSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'inherit';
|
|
7
8
|
|
|
@@ -95,7 +96,12 @@ declare class HTMLFormControlContainer<T> {
|
|
|
95
96
|
|
|
96
97
|
declare function noop(): void;
|
|
97
98
|
|
|
99
|
+
type Task<T = unknown> = T | Promise<T> | Observable<T>;
|
|
100
|
+
declare function isPromise<T = unknown>(input: unknown): input is Promise<T>;
|
|
101
|
+
declare function isObservable<T = unknown>(input: any): input is Observable<T>;
|
|
102
|
+
declare function taskToObservable<T>(task: Task<T>): Observable<T>;
|
|
103
|
+
|
|
98
104
|
declare function uid(): string;
|
|
99
105
|
|
|
100
|
-
export { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY, HTMLFormControl, HTMLFormControlContainer, LAT_ASSETS_PATH, noop, uid };
|
|
101
|
-
export type { BoxSize, HTMLFormControlSize, HTMLFormControlVariant };
|
|
106
|
+
export { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY, HTMLFormControl, HTMLFormControlContainer, LAT_ASSETS_PATH, isObservable, isPromise, noop, taskToObservable, uid };
|
|
107
|
+
export type { BoxSize, HTMLFormControlSize, HTMLFormControlVariant, Task };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import * as i1 from '@angular/aria/menu';
|
|
3
|
+
|
|
4
|
+
declare class MenuComponent {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "lat-menu", ["latMenu"], {}, {}, never, ["lat-menuitem,lat-menugroup,lat-menulabel"], true, [{ directive: typeof i1.Menu; inputs: { "id": "id"; "disabled": "disabled"; "typeaheadDelay": "typeaheadDelay"; }; outputs: {}; }]>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
declare class MenuGroupComponent {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MenuGroupComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MenuGroupComponent, "lat-menugroup", ["latMenuGroup"], {}, {}, never, ["lat-menuitem,lat-menugroup"], true, never>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare class MenuItemComponent {
|
|
15
|
+
readonly role: i0.InputSignal<string>;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemComponent, "lat-menuitem", ["latMenuItem"], { "role": { "alias": "role"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.MenuItem; inputs: { "id": "id"; "disabled": "disabled"; "value": "value"; }; outputs: {}; }]>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
declare class MenuLabelComponent {
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MenuLabelComponent, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MenuLabelComponent, "lat-menulabel", ["latMenuLabel"], {}, {}, never, ["*"], true, never>;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
declare class MenuTriggerDirective {
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MenuTriggerDirective, never>;
|
|
27
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MenuTriggerDirective, "[latMenuTrigger]", ["latMenuTrigger"], {}, {}, never, never, true, [{ directive: typeof i1.MenuTrigger; inputs: { "disabled": "disabled"; }; outputs: {}; }]>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { MenuComponent, MenuGroupComponent, MenuItemComponent, MenuLabelComponent, MenuTriggerDirective };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Signal, WritableSignal, ResourceLoaderParams, Injector } from '@angular/core';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
|
|
5
|
+
declare class TreeNode<T = unknown> {
|
|
6
|
+
readonly id: WritableSignal<string>;
|
|
7
|
+
readonly pid: WritableSignal<string | undefined>;
|
|
8
|
+
readonly value: WritableSignal<T>;
|
|
9
|
+
readonly children: WritableSignal<TreeNode<T>[]>;
|
|
10
|
+
readonly downlevel: WritableSignal<boolean>;
|
|
11
|
+
constructor(value: T, options: {
|
|
12
|
+
id: (value: T) => string;
|
|
13
|
+
pid: (value: T) => string | undefined;
|
|
14
|
+
children: (value: T) => TreeNode<T>[];
|
|
15
|
+
downlevel: (value: T) => boolean;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
interface TreeStore<T = unknown> {
|
|
19
|
+
readonly values: Signal<TreeNode<T>[]>;
|
|
20
|
+
readonly status: Signal<'idle' | 'pending' | 'fulfilled' | 'rejected'>;
|
|
21
|
+
set(nodes: TreeNode<T>[]): void;
|
|
22
|
+
update(updateFn: (nodes: TreeNode<T>[]) => TreeNode<T>[]): void;
|
|
23
|
+
children(node: TreeNode<T>): TreeNode<T>[] | Observable<TreeNode<T>[]>;
|
|
24
|
+
}
|
|
25
|
+
type TreeResourceQueryFn<T, R> = (params: ResourceLoaderParams<R>) => Observable<TreeNode<T>[]>;
|
|
26
|
+
type TreeResourceQueryChildrenFn<T, R> = (node: TreeNode<T>, params: ResourceLoaderParams<R>) => Observable<TreeNode<T>[]>;
|
|
27
|
+
type TreeResourceOptions<T, R> = {
|
|
28
|
+
params?: () => R;
|
|
29
|
+
queryFn: TreeResourceQueryFn<T, R>;
|
|
30
|
+
queryChildrenFn?: TreeResourceQueryChildrenFn<T, R>;
|
|
31
|
+
injector?: Injector;
|
|
32
|
+
};
|
|
33
|
+
declare function tree<T, R>({ queryFn, queryChildrenFn, params, ...options }: TreeResourceOptions<T, R>): TreeStore<T>;
|
|
34
|
+
|
|
35
|
+
declare class TreeComponent<T = unknown> {
|
|
36
|
+
readonly store: i0.InputSignal<TreeStore<T> | undefined>;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TreeComponent<any>, never>;
|
|
38
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TreeComponent<any>, "lat-tree", ["latTree"], { "store": { "alias": "store"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { TreeComponent, TreeNode, tree };
|
|
42
|
+
export type { TreeResourceOptions, TreeResourceQueryChildrenFn, TreeResourceQueryFn, TreeStore };
|