@qualcomm-ui/angular-core 1.4.1 → 1.4.2
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/qualcomm-ui-angular-core-accordion.mjs +27 -27
- package/fesm2022/qualcomm-ui-angular-core-avatar.mjs +15 -15
- package/fesm2022/qualcomm-ui-angular-core-checkbox.mjs +24 -24
- package/fesm2022/qualcomm-ui-angular-core-collapsible.mjs +12 -12
- package/fesm2022/qualcomm-ui-angular-core-combobox.mjs +60 -60
- package/fesm2022/qualcomm-ui-angular-core-dialog.mjs +33 -33
- package/fesm2022/qualcomm-ui-angular-core-dom.mjs +12 -12
- package/fesm2022/qualcomm-ui-angular-core-events.mjs +3 -3
- package/fesm2022/qualcomm-ui-angular-core-highlight.mjs +3 -3
- package/fesm2022/qualcomm-ui-angular-core-inline-notification.mjs +21 -21
- package/fesm2022/qualcomm-ui-angular-core-input.mjs +9 -9
- package/fesm2022/qualcomm-ui-angular-core-locale.mjs +3 -3
- package/fesm2022/qualcomm-ui-angular-core-lorem-ipsum.mjs +3 -3
- package/fesm2022/qualcomm-ui-angular-core-machine.mjs +9 -9
- package/fesm2022/qualcomm-ui-angular-core-menu.mjs +69 -69
- package/fesm2022/qualcomm-ui-angular-core-number-input.mjs +36 -36
- package/fesm2022/qualcomm-ui-angular-core-observers.mjs +3 -3
- package/fesm2022/qualcomm-ui-angular-core-pagination.mjs +27 -27
- package/fesm2022/qualcomm-ui-angular-core-password-input.mjs +30 -30
- package/fesm2022/qualcomm-ui-angular-core-popover.mjs +33 -33
- package/fesm2022/qualcomm-ui-angular-core-portal.mjs +9 -9
- package/fesm2022/qualcomm-ui-angular-core-presence.mjs +9 -9
- package/fesm2022/qualcomm-ui-angular-core-progress-ring.mjs +24 -24
- package/fesm2022/qualcomm-ui-angular-core-progress.mjs +27 -27
- package/fesm2022/qualcomm-ui-angular-core-radio.mjs +33 -33
- package/fesm2022/qualcomm-ui-angular-core-segmented-control.mjs +15 -15
- package/fesm2022/qualcomm-ui-angular-core-select.mjs +51 -51
- package/fesm2022/qualcomm-ui-angular-core-side-nav.mjs +21 -21
- package/fesm2022/qualcomm-ui-angular-core-signals.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-slider.mjs +51 -51
- package/fesm2022/qualcomm-ui-angular-core-switch.mjs +21 -21
- package/fesm2022/qualcomm-ui-angular-core-tabs.mjs +27 -27
- package/fesm2022/qualcomm-ui-angular-core-text-area.mjs +21 -21
- package/fesm2022/qualcomm-ui-angular-core-text-input.mjs +27 -27
- package/fesm2022/qualcomm-ui-angular-core-toast.mjs +24 -24
- package/fesm2022/qualcomm-ui-angular-core-tooltip.mjs +21 -21
- package/fesm2022/qualcomm-ui-angular-core-tree.mjs +48 -48
- package/fesm2022/qualcomm-ui-angular-core-virtual.mjs.map +1 -1
- package/package.json +2 -2
- package/signals/index.d.ts +2 -2
|
@@ -7,10 +7,10 @@ import { tooltipMachine, createTooltipApi } from '@qualcomm-ui/core/tooltip';
|
|
|
7
7
|
// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
|
8
8
|
// SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
9
9
|
class TooltipContextService extends BaseApiContextService {
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
11
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TooltipContextService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TooltipContextService });
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TooltipContextService, decorators: [{
|
|
14
14
|
type: Injectable
|
|
15
15
|
}] });
|
|
16
16
|
const [TOOLTIP_CONTEXT, useTooltipContext, provideTooltipContext] = createApiContext("TooltipContext", TooltipContextService);
|
|
@@ -23,10 +23,10 @@ class CoreTooltipArrowTipDirective {
|
|
|
23
23
|
ngOnInit() {
|
|
24
24
|
this.trackBindings();
|
|
25
25
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
27
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipArrowTipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTooltipArrowTipDirective, isStandalone: true, ngImport: i0 });
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipArrowTipDirective, decorators: [{
|
|
30
30
|
type: Directive
|
|
31
31
|
}] });
|
|
32
32
|
|
|
@@ -48,10 +48,10 @@ class CoreTooltipArrowDirective {
|
|
|
48
48
|
ngOnInit() {
|
|
49
49
|
this.trackBindings();
|
|
50
50
|
}
|
|
51
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
52
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipArrowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
52
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: CoreTooltipArrowDirective, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
53
53
|
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipArrowDirective, decorators: [{
|
|
55
55
|
type: Directive
|
|
56
56
|
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
57
57
|
|
|
@@ -73,10 +73,10 @@ class CoreTooltipContentDirective {
|
|
|
73
73
|
ngOnInit() {
|
|
74
74
|
this.trackBindings();
|
|
75
75
|
}
|
|
76
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
77
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
76
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
77
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: CoreTooltipContentDirective, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
78
78
|
}
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipContentDirective, decorators: [{
|
|
80
80
|
type: Directive
|
|
81
81
|
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
82
82
|
|
|
@@ -98,10 +98,10 @@ class CoreTooltipPositionerDirective {
|
|
|
98
98
|
ngOnInit() {
|
|
99
99
|
this.trackBindings();
|
|
100
100
|
}
|
|
101
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
102
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
101
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipPositionerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
102
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: CoreTooltipPositionerDirective, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
103
103
|
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipPositionerDirective, decorators: [{
|
|
105
105
|
type: Directive
|
|
106
106
|
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
107
107
|
|
|
@@ -123,10 +123,10 @@ class CoreTooltipTriggerDirective {
|
|
|
123
123
|
ngOnInit() {
|
|
124
124
|
this.trackBindings();
|
|
125
125
|
}
|
|
126
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
127
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
126
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
127
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: CoreTooltipTriggerDirective, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
128
128
|
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipTriggerDirective, decorators: [{
|
|
130
130
|
type: Directive
|
|
131
131
|
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
132
132
|
|
|
@@ -199,10 +199,10 @@ class CoreTooltipRootDirective {
|
|
|
199
199
|
this.tooltipContext.init(computed(() => createTooltipApi(machine, normalizeProps)));
|
|
200
200
|
this.trackBindings();
|
|
201
201
|
}
|
|
202
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
203
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
202
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
203
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: CoreTooltipRootDirective, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, closeOnClick: { classPropertyName: "closeOnClick", publicName: "closeOnClick", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, positioning: { classPropertyName: "positioning", publicName: "positioning", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openChanged: "openChanged" }, ngImport: i0 });
|
|
204
204
|
}
|
|
205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTooltipRootDirective, decorators: [{
|
|
206
206
|
type: Directive
|
|
207
207
|
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], dir: [{ type: i0.Input, args: [{ isSignal: true, alias: "dir", required: false }] }], closeOnClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnClick", required: false }] }], closeOnEscape: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscape", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], positioning: [{ type: i0.Input, args: [{ isSignal: true, alias: "positioning", required: false }] }], openChanged: [{ type: i0.Output, args: ["openChanged"] }] } });
|
|
208
208
|
|
|
@@ -10,10 +10,10 @@ import '@qualcomm-ui/utils/collection';
|
|
|
10
10
|
// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
|
11
11
|
// SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
12
12
|
class TreeContextService extends BaseApiContextService {
|
|
13
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
14
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeContextService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeContextService });
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeContextService, decorators: [{
|
|
17
17
|
type: Injectable
|
|
18
18
|
}] });
|
|
19
19
|
const [TREE_CONTEXT, useTreeContext, provideTreeContext,] = createApiContext("TreeContext", TreeContextService);
|
|
@@ -21,10 +21,10 @@ const [TREE_CONTEXT, useTreeContext, provideTreeContext,] = createApiContext("Tr
|
|
|
21
21
|
// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
|
22
22
|
// SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
23
23
|
class TreeNodePropsContextService extends BaseApiContextService {
|
|
24
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
25
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeNodePropsContextService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeNodePropsContextService });
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeNodePropsContextService, decorators: [{
|
|
28
28
|
type: Injectable
|
|
29
29
|
}] });
|
|
30
30
|
const [TREE_NODE_PROPS_CONTEXT, useTreeNodePropsContext, provideTreeNodePropsContext,] = createApiContext("TreeNodePropsContext", TreeNodePropsContextService);
|
|
@@ -40,10 +40,10 @@ class CoreTreeBranchContentDirective {
|
|
|
40
40
|
ngOnInit() {
|
|
41
41
|
this.trackBindings();
|
|
42
42
|
}
|
|
43
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
44
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
43
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeBranchContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
44
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTreeBranchContentDirective, isStandalone: true, ngImport: i0 });
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeBranchContentDirective, decorators: [{
|
|
47
47
|
type: Directive
|
|
48
48
|
}] });
|
|
49
49
|
|
|
@@ -58,10 +58,10 @@ class CoreTreeBranchIndentGuideDirective {
|
|
|
58
58
|
ngOnInit() {
|
|
59
59
|
this.trackBindings();
|
|
60
60
|
}
|
|
61
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
62
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
61
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeBranchIndentGuideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
62
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTreeBranchIndentGuideDirective, isStandalone: true, ngImport: i0 });
|
|
63
63
|
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeBranchIndentGuideDirective, decorators: [{
|
|
65
65
|
type: Directive
|
|
66
66
|
}] });
|
|
67
67
|
|
|
@@ -76,10 +76,10 @@ class CoreTreeBranchNodeDirective {
|
|
|
76
76
|
ngOnInit() {
|
|
77
77
|
this.trackBindings();
|
|
78
78
|
}
|
|
79
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
80
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
79
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeBranchNodeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
80
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTreeBranchNodeDirective, isStandalone: true, ngImport: i0 });
|
|
81
81
|
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeBranchNodeDirective, decorators: [{
|
|
83
83
|
type: Directive
|
|
84
84
|
}] });
|
|
85
85
|
|
|
@@ -94,10 +94,10 @@ class CoreTreeBranchTriggerDirective {
|
|
|
94
94
|
ngOnInit() {
|
|
95
95
|
this.trackBindings();
|
|
96
96
|
}
|
|
97
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
98
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
97
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeBranchTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
98
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTreeBranchTriggerDirective, isStandalone: true, ngImport: i0 });
|
|
99
99
|
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeBranchTriggerDirective, decorators: [{
|
|
101
101
|
type: Directive
|
|
102
102
|
}] });
|
|
103
103
|
|
|
@@ -112,10 +112,10 @@ class CoreTreeBranchDirective {
|
|
|
112
112
|
ngOnInit() {
|
|
113
113
|
this.trackBindings();
|
|
114
114
|
}
|
|
115
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
116
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
115
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeBranchDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
116
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTreeBranchDirective, isStandalone: true, ngImport: i0 });
|
|
117
117
|
}
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeBranchDirective, decorators: [{
|
|
119
119
|
type: Directive
|
|
120
120
|
}] });
|
|
121
121
|
|
|
@@ -139,10 +139,10 @@ class CoreTreeLabelDirective {
|
|
|
139
139
|
ngOnInit() {
|
|
140
140
|
this.trackBindings();
|
|
141
141
|
}
|
|
142
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
143
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
142
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
143
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: CoreTreeLabelDirective, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
144
144
|
}
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeLabelDirective, decorators: [{
|
|
146
146
|
type: Directive
|
|
147
147
|
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
148
148
|
|
|
@@ -157,10 +157,10 @@ class CoreTreeLeafNodeDirective {
|
|
|
157
157
|
ngOnInit() {
|
|
158
158
|
this.trackBindings();
|
|
159
159
|
}
|
|
160
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
161
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
160
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeLeafNodeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
161
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTreeLeafNodeDirective, isStandalone: true, ngImport: i0 });
|
|
162
162
|
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeLeafNodeDirective, decorators: [{
|
|
164
164
|
type: Directive
|
|
165
165
|
}] });
|
|
166
166
|
|
|
@@ -175,10 +175,10 @@ class CoreTreeNodeActionDirective {
|
|
|
175
175
|
ngOnInit() {
|
|
176
176
|
this.trackBindings();
|
|
177
177
|
}
|
|
178
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
179
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
178
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeNodeActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
179
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTreeNodeActionDirective, isStandalone: true, ngImport: i0 });
|
|
180
180
|
}
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeNodeActionDirective, decorators: [{
|
|
182
182
|
type: Directive
|
|
183
183
|
}] });
|
|
184
184
|
|
|
@@ -193,10 +193,10 @@ class CoreTreeNodeCheckboxDirective {
|
|
|
193
193
|
ngOnInit() {
|
|
194
194
|
this.trackBindings();
|
|
195
195
|
}
|
|
196
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
197
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
196
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeNodeCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
197
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTreeNodeCheckboxDirective, isStandalone: true, ngImport: i0 });
|
|
198
198
|
}
|
|
199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeNodeCheckboxDirective, decorators: [{
|
|
200
200
|
type: Directive
|
|
201
201
|
}] });
|
|
202
202
|
|
|
@@ -211,10 +211,10 @@ class CoreTreeNodeIconDirective {
|
|
|
211
211
|
ngOnInit() {
|
|
212
212
|
this.trackBindings();
|
|
213
213
|
}
|
|
214
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
215
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
214
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeNodeIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
215
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTreeNodeIconDirective, isStandalone: true, ngImport: i0 });
|
|
216
216
|
}
|
|
217
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeNodeIconDirective, decorators: [{
|
|
218
218
|
type: Directive
|
|
219
219
|
}] });
|
|
220
220
|
|
|
@@ -229,10 +229,10 @@ class CoreTreeNodeIndicatorDirective {
|
|
|
229
229
|
ngOnInit() {
|
|
230
230
|
this.trackBindings();
|
|
231
231
|
}
|
|
232
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
233
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
232
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeNodeIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
233
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTreeNodeIndicatorDirective, isStandalone: true, ngImport: i0 });
|
|
234
234
|
}
|
|
235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
235
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeNodeIndicatorDirective, decorators: [{
|
|
236
236
|
type: Directive
|
|
237
237
|
}] });
|
|
238
238
|
|
|
@@ -247,10 +247,10 @@ class CoreTreeNodeTextDirective {
|
|
|
247
247
|
ngOnInit() {
|
|
248
248
|
this.trackBindings();
|
|
249
249
|
}
|
|
250
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
251
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
250
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeNodeTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
251
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: CoreTreeNodeTextDirective, isStandalone: true, ngImport: i0 });
|
|
252
252
|
}
|
|
253
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
253
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeNodeTextDirective, decorators: [{
|
|
254
254
|
type: Directive
|
|
255
255
|
}] });
|
|
256
256
|
|
|
@@ -452,20 +452,20 @@ class CoreTreeRootDirective {
|
|
|
452
452
|
})));
|
|
453
453
|
this.trackBindings();
|
|
454
454
|
}
|
|
455
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
456
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
455
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
456
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: CoreTreeRootDirective, isStandalone: true, inputs: { checkedValue: { classPropertyName: "checkedValue", publicName: "checkedValue", isSignal: true, isRequired: false, transformFunction: null }, collection: { classPropertyName: "collection", publicName: "collection", isSignal: true, isRequired: false, transformFunction: null }, defaultCheckedValue: { classPropertyName: "defaultCheckedValue", publicName: "defaultCheckedValue", isSignal: true, isRequired: false, transformFunction: null }, defaultExpandedValue: { classPropertyName: "defaultExpandedValue", publicName: "defaultExpandedValue", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedValue: { classPropertyName: "defaultFocusedValue", publicName: "defaultFocusedValue", isSignal: true, isRequired: false, transformFunction: null }, defaultSelectedValue: { classPropertyName: "defaultSelectedValue", publicName: "defaultSelectedValue", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, expandedValue: { classPropertyName: "expandedValue", publicName: "expandedValue", isSignal: true, isRequired: false, transformFunction: null }, expandOnClick: { classPropertyName: "expandOnClick", publicName: "expandOnClick", isSignal: true, isRequired: false, transformFunction: null }, focusedValue: { classPropertyName: "focusedValue", publicName: "focusedValue", isSignal: true, isRequired: false, transformFunction: null }, getRootNode: { classPropertyName: "getRootNode", publicName: "getRootNode", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, loadChildren: { classPropertyName: "loadChildren", publicName: "loadChildren", isSignal: true, isRequired: false, transformFunction: null }, lazyMount: { classPropertyName: "lazyMount", publicName: "lazyMount", isSignal: true, isRequired: false, transformFunction: null }, selectedValue: { classPropertyName: "selectedValue", publicName: "selectedValue", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, shouldHideNode: { classPropertyName: "shouldHideNode", publicName: "shouldHideNode", isSignal: true, isRequired: false, transformFunction: null }, typeahead: { classPropertyName: "typeahead", publicName: "typeahead", isSignal: true, isRequired: false, transformFunction: null }, unmountOnExit: { classPropertyName: "unmountOnExit", publicName: "unmountOnExit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedValueChanged: "checkedValueChanged", expandedValueChanged: "expandedValueChanged", focusChanged: "focusChanged", loadChildrenComplete: "loadChildrenComplete", loadChildrenError: "loadChildrenError", selectedValueChanged: "selectedValueChanged" }, ngImport: i0 });
|
|
457
457
|
}
|
|
458
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
458
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CoreTreeRootDirective, decorators: [{
|
|
459
459
|
type: Directive
|
|
460
460
|
}], propDecorators: { checkedValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkedValue", required: false }] }], collection: [{ type: i0.Input, args: [{ isSignal: true, alias: "collection", required: false }] }], defaultCheckedValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultCheckedValue", required: false }] }], defaultExpandedValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultExpandedValue", required: false }] }], defaultFocusedValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultFocusedValue", required: false }] }], defaultSelectedValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultSelectedValue", required: false }] }], dir: [{ type: i0.Input, args: [{ isSignal: true, alias: "dir", required: false }] }], expandedValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedValue", required: false }] }], expandOnClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandOnClick", required: false }] }], focusedValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusedValue", required: false }] }], getRootNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "getRootNode", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], loadChildren: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadChildren", required: false }] }], lazyMount: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazyMount", required: false }] }], selectedValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedValue", required: false }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], shouldHideNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "shouldHideNode", required: false }] }], typeahead: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeahead", required: false }] }], unmountOnExit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unmountOnExit", required: false }] }], checkedValueChanged: [{ type: i0.Output, args: ["checkedValueChanged"] }], expandedValueChanged: [{ type: i0.Output, args: ["expandedValueChanged"] }], focusChanged: [{ type: i0.Output, args: ["focusChanged"] }], loadChildrenComplete: [{ type: i0.Output, args: ["loadChildrenComplete"] }], loadChildrenError: [{ type: i0.Output, args: ["loadChildrenError"] }], selectedValueChanged: [{ type: i0.Output, args: ["selectedValueChanged"] }] } });
|
|
461
461
|
|
|
462
462
|
// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
|
463
463
|
// SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
464
464
|
class TreeNodeStateContextService extends BaseApiContextService {
|
|
465
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
466
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
465
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeNodeStateContextService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
466
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeNodeStateContextService });
|
|
467
467
|
}
|
|
468
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
468
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeNodeStateContextService, decorators: [{
|
|
469
469
|
type: Injectable
|
|
470
470
|
}] });
|
|
471
471
|
const [TREE_NODE_STATE_CONTEXT, useTreeNodeStateContext, provideTreeNodeStateContext,] = createApiContext("TreeNodeStateContext", TreeNodeStateContextService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qualcomm-ui-angular-core-virtual.mjs","sources":["../../src/virtual/proxy.ts","../../src/virtual/types.ts","../../src/virtual/virtual.ts","../../src/virtual/qualcomm-ui-angular-core-virtual.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n computed,\n type Signal,\n untracked,\n type WritableSignal,\n} from \"@angular/core\"\nimport type {Virtualizer} from \"@tanstack/virtual-core\"\n\nimport type {AngularVirtualizer} from \"./types\"\n\nexport function proxyVirtualizer<\n V extends Virtualizer<any, any>,\n S extends Element | Window = V extends Virtualizer<infer U, any> ? U : never,\n I extends Element = V extends Virtualizer<any, infer U> ? U : never,\n>(\n virtualizerSignal: WritableSignal<V>,\n lazyInit: () => V,\n): AngularVirtualizer<S, I> {\n return new Proxy(virtualizerSignal, {\n apply() {\n return virtualizerSignal()\n },\n get(target, property) {\n const untypedTarget = target as any\n if (untypedTarget[property]) {\n return untypedTarget[property]\n }\n let virtualizer = untracked(virtualizerSignal)\n if (virtualizer == null) {\n virtualizer = lazyInit()\n untracked(() => virtualizerSignal.set(virtualizer))\n }\n\n // Create computed signals for each property that represents a reactive value\n if (\n typeof property === \"string\" &&\n [\n \"getTotalSize\",\n \"getVirtualItems\",\n \"isScrolling\",\n \"options\",\n \"range\",\n \"scrollDirection\",\n \"scrollElement\",\n \"scrollOffset\",\n \"scrollRect\",\n \"measureElementCache\",\n \"measurementsCache\",\n ].includes(property)\n ) {\n const isFunction =\n typeof virtualizer[property as keyof V] === \"function\"\n Object.defineProperty(untypedTarget, property, {\n configurable: true,\n enumerable: true,\n value: isFunction\n ? computed(() => (target()[property as keyof V] as Function)())\n : computed(() => target()[property as keyof V]),\n })\n }\n\n // Create plain signals for functions that accept arguments and return\n // reactive values\n if (\n typeof property === \"string\" &&\n [\n \"getOffsetForAlignment\",\n \"getOffsetForIndex\",\n \"getVirtualItemForOffset\",\n \"indexFromElement\",\n ].includes(property)\n ) {\n const fn = virtualizer[property as keyof V] as Function\n Object.defineProperty(untypedTarget, property, {\n configurable: true,\n enumerable: true,\n value: toComputed(virtualizerSignal, fn),\n })\n }\n\n return untypedTarget[property] || virtualizer[property as keyof V]\n },\n getOwnPropertyDescriptor() {\n return {\n configurable: true,\n enumerable: true,\n }\n },\n has(_, property: string) {\n return !!untracked(virtualizerSignal)[property as keyof V]\n },\n ownKeys() {\n return Reflect.ownKeys(untracked(virtualizerSignal))\n },\n }) as unknown as AngularVirtualizer<S, I>\n}\n\nfunction toComputed<V extends Virtualizer<any, any>>(\n signal: Signal<V>,\n fn: Function,\n) {\n const computedCache: Record<string, Signal<unknown>> = {}\n\n return (...args: Array<any>) => {\n // Cache computeds by their arguments to avoid re-creating the computed on each\n // call\n const serializedArgs = serializeArgs(...args)\n if (computedCache.hasOwnProperty(serializedArgs)) {\n return computedCache[serializedArgs]?.()\n }\n const computedSignal = computed(() => {\n void signal()\n return fn(...args)\n })\n\n computedCache[serializedArgs] = computedSignal\n\n return computedSignal()\n }\n}\n\nfunction serializeArgs(...args: Array<any>) {\n return JSON.stringify(args)\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {Signal} from \"@angular/core\"\nimport type {Virtualizer} from \"@tanstack/virtual-core\"\n\nexport type AngularVirtualizer<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n> = Omit<\n Virtualizer<TScrollElement, TItemElement>,\n | \"getTotalSize\"\n | \"getVirtualItems\"\n | \"isScrolling\"\n | \"options\"\n | \"range\"\n | \"scrollDirection\"\n | \"scrollElement\"\n | \"scrollOffset\"\n | \"scrollRect\"\n> & {\n getTotalSize: Signal<\n ReturnType<Virtualizer<TScrollElement, TItemElement>[\"getTotalSize\"]>\n >\n getVirtualItems: Signal<\n ReturnType<Virtualizer<TScrollElement, TItemElement>[\"getVirtualItems\"]>\n >\n isScrolling: Signal<Virtualizer<TScrollElement, TItemElement>[\"isScrolling\"]>\n options: Signal<Virtualizer<TScrollElement, TItemElement>[\"options\"]>\n range: Signal<Virtualizer<TScrollElement, TItemElement>[\"range\"]>\n scrollDirection: Signal<\n Virtualizer<TScrollElement, TItemElement>[\"scrollDirection\"]\n >\n scrollElement: Signal<\n Virtualizer<TScrollElement, TItemElement>[\"scrollElement\"]\n >\n scrollOffset: Signal<\n Virtualizer<TScrollElement, TItemElement>[\"scrollOffset\"]\n >\n scrollRect: Signal<Virtualizer<TScrollElement, TItemElement>[\"scrollRect\"]>\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\n/**\n * Forked from @tanstack/angular-virtual. TODO: create PR and fix the library.\n * Potential issue: the library intends to support older versions of Angular which\n * emits warnings on newer versions because they are using deprecated features. May\n * need to maintain this fork for a while.\n */\nimport {DOCUMENT} from \"@angular/common\"\nimport {\n afterNextRender,\n computed,\n DestroyRef,\n effect,\n type ElementRef,\n inject,\n InjectionToken,\n type Signal,\n signal,\n untracked,\n} from \"@angular/core\"\nimport {\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n type PartialKeys,\n Virtualizer,\n type VirtualizerOptions,\n windowScroll,\n} from \"@tanstack/virtual-core\"\n\nimport {WINDOW} from \"@qualcomm-ui/angular-core/dom\"\n\nimport {proxyVirtualizer} from \"./proxy\"\nimport type {AngularVirtualizer} from \"./types\"\n\nexport * from \"@tanstack/virtual-core\"\nexport * from \"./types\"\n\nfunction createVirtualizerBase<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n>(\n options: Signal<VirtualizerOptions<TScrollElement, TItemElement>>,\n): AngularVirtualizer<TScrollElement, TItemElement> {\n let virtualizer: Virtualizer<TScrollElement, TItemElement>\n function lazyInit() {\n virtualizer ??= new Virtualizer(options())\n return virtualizer\n }\n\n const virtualizerSignal = signal(virtualizer!, {equal: () => false})\n\n // two-way sync options\n effect(() => {\n const _options = options()\n lazyInit()\n virtualizerSignal.set(virtualizer)\n virtualizer.setOptions({\n ..._options,\n onChange: (instance, sync) => {\n // update virtualizerSignal so that dependent computeds recompute.\n virtualizerSignal.set(instance)\n _options.onChange?.(instance, sync)\n },\n })\n // update virtualizerSignal so that dependent computeds recompute.\n virtualizerSignal.set(virtualizer)\n })\n\n const scrollElement = computed(() => options().getScrollElement())\n // let the virtualizer know when the scroll element is changed\n effect(() => {\n const el = scrollElement()\n if (el) {\n untracked(virtualizerSignal)._willUpdate()\n }\n })\n\n let cleanup: () => void | undefined\n afterNextRender({read: () => (virtualizer ?? lazyInit())._didMount()})\n\n // @ts-ignore use before assign\n inject(DestroyRef).onDestroy(() => cleanup?.())\n\n return proxyVirtualizer(virtualizerSignal, lazyInit)\n}\n\nexport const ANGULAR_VIRTUALIZER_INSTANCE_TOKEN = new InjectionToken<\n AngularVirtualizer<any, any>\n>(\"VIRTUALIZER_TOKEN\")\n\nexport type AngularVirtualizerOptions<\n TScrollElement extends Element,\n TItemElement extends Element,\n> = PartialKeys<\n Omit<VirtualizerOptions<TScrollElement, TItemElement>, \"getScrollElement\">,\n \"observeElementRect\" | \"observeElementOffset\" | \"scrollToFn\"\n> & {\n scrollElement: ElementRef<TScrollElement> | TScrollElement | undefined\n}\n\nexport function injectVirtualizer<\n TScrollElement extends Element,\n TItemElement extends Element,\n>(\n options: () => AngularVirtualizerOptions<TScrollElement, TItemElement>,\n): AngularVirtualizer<TScrollElement, TItemElement> {\n const resolvedOptions = computed(() => {\n return {\n getScrollElement: () => {\n const elementOrRef = options().scrollElement\n return (\n (isElementRef(elementOrRef)\n ? elementOrRef.nativeElement\n : elementOrRef) ?? null\n )\n },\n observeElementOffset,\n observeElementRect,\n scrollToFn: elementScroll,\n ...options(),\n }\n })\n return createVirtualizerBase<TScrollElement, TItemElement>(resolvedOptions)\n}\n\nfunction isElementRef<T extends Element>(\n elementOrRef: ElementRef<T> | T | undefined,\n): elementOrRef is ElementRef<T> {\n return elementOrRef != null && \"nativeElement\" in elementOrRef\n}\n\nexport function injectWindowVirtualizer<TItemElement extends Element>(\n options: () => PartialKeys<\n VirtualizerOptions<Window, TItemElement>,\n | \"getScrollElement\"\n | \"observeElementRect\"\n | \"observeElementOffset\"\n | \"scrollToFn\"\n >,\n): AngularVirtualizer<Window, TItemElement> {\n const document = inject(DOCUMENT)\n const window = inject(WINDOW)\n const resolvedOptions = computed(() => {\n return {\n getScrollElement: () => (typeof document !== \"undefined\" ? window : null),\n initialOffset: () =>\n typeof document !== \"undefined\" ? window.scrollY : 0,\n observeElementOffset: observeWindowOffset,\n observeElementRect: observeWindowRect,\n scrollToFn: windowScroll,\n ...options(),\n }\n })\n return createVirtualizerBase<Window, TItemElement>(resolvedOptions)\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"qualcomm-ui-angular-core-virtual.mjs","sources":["../../src/virtual/proxy.ts","../../src/virtual/types.ts","../../src/virtual/virtual.ts","../../src/virtual/qualcomm-ui-angular-core-virtual.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n computed,\n type Signal,\n untracked,\n type WritableSignal,\n} from \"@angular/core\"\nimport type {Virtualizer} from \"@tanstack/virtual-core\"\n\nimport type {AngularVirtualizer} from \"./types\"\n\nexport function proxyVirtualizer<\n V extends Virtualizer<any, any>,\n S extends Element | Window = V extends Virtualizer<infer U, any> ? U : never,\n I extends Element = V extends Virtualizer<any, infer U> ? U : never,\n>(\n virtualizerSignal: WritableSignal<V>,\n lazyInit: () => V,\n): AngularVirtualizer<S, I> {\n return new Proxy(virtualizerSignal, {\n apply() {\n return virtualizerSignal()\n },\n get(target, property) {\n const untypedTarget: any = target as NonNullable<unknown>\n if (untypedTarget[property]) {\n return untypedTarget[property]\n }\n let virtualizer = untracked(virtualizerSignal)\n if (virtualizer == null) {\n virtualizer = lazyInit()\n untracked(() => virtualizerSignal.set(virtualizer))\n }\n\n // Create computed signals for each property that represents a reactive value\n if (\n typeof property === \"string\" &&\n [\n \"getTotalSize\",\n \"getVirtualItems\",\n \"isScrolling\",\n \"options\",\n \"range\",\n \"scrollDirection\",\n \"scrollElement\",\n \"scrollOffset\",\n \"scrollRect\",\n \"measureElementCache\",\n \"measurementsCache\",\n ].includes(property)\n ) {\n const isFunction =\n typeof virtualizer[property as keyof V] === \"function\"\n Object.defineProperty(untypedTarget, property, {\n configurable: true,\n enumerable: true,\n value: isFunction\n ? computed(() =>\n (\n target()[property as keyof V] as (\n ...args: unknown[]\n ) => unknown\n )(),\n )\n : computed(() => target()[property as keyof V]),\n })\n }\n\n // Create plain signals for functions that accept arguments and return\n // reactive values\n if (\n typeof property === \"string\" &&\n [\n \"getOffsetForAlignment\",\n \"getOffsetForIndex\",\n \"getVirtualItemForOffset\",\n \"indexFromElement\",\n ].includes(property)\n ) {\n const fn = virtualizer[property as keyof V] as (\n ...args: unknown[]\n ) => unknown\n Object.defineProperty(untypedTarget, property, {\n configurable: true,\n enumerable: true,\n value: toComputed(virtualizerSignal, fn),\n })\n }\n\n return untypedTarget[property] || virtualizer[property as keyof V]\n },\n getOwnPropertyDescriptor() {\n return {\n configurable: true,\n enumerable: true,\n }\n },\n has(_, property: string) {\n return !!untracked(virtualizerSignal)[property as keyof V]\n },\n ownKeys() {\n return Reflect.ownKeys(untracked(virtualizerSignal))\n },\n }) as unknown as AngularVirtualizer<S, I>\n}\n\nfunction toComputed<V extends Virtualizer<any, any>>(\n signal: Signal<V>,\n fn: (...args: unknown[]) => unknown,\n) {\n const computedCache: Record<string, Signal<unknown>> = {}\n\n return (...args: Array<any>) => {\n // Cache computeds by their arguments to avoid re-creating the computed on each\n // call\n const serializedArgs = serializeArgs(...args)\n if (computedCache.hasOwnProperty(serializedArgs)) {\n return computedCache[serializedArgs]?.()\n }\n const computedSignal = computed(() => {\n void signal()\n return fn(...args)\n })\n\n computedCache[serializedArgs] = computedSignal\n\n return computedSignal()\n }\n}\n\nfunction serializeArgs(...args: Array<any>) {\n return JSON.stringify(args)\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {Signal} from \"@angular/core\"\nimport type {Virtualizer} from \"@tanstack/virtual-core\"\n\nexport type AngularVirtualizer<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n> = Omit<\n Virtualizer<TScrollElement, TItemElement>,\n | \"getTotalSize\"\n | \"getVirtualItems\"\n | \"isScrolling\"\n | \"options\"\n | \"range\"\n | \"scrollDirection\"\n | \"scrollElement\"\n | \"scrollOffset\"\n | \"scrollRect\"\n> & {\n getTotalSize: Signal<\n ReturnType<Virtualizer<TScrollElement, TItemElement>[\"getTotalSize\"]>\n >\n getVirtualItems: Signal<\n ReturnType<Virtualizer<TScrollElement, TItemElement>[\"getVirtualItems\"]>\n >\n isScrolling: Signal<Virtualizer<TScrollElement, TItemElement>[\"isScrolling\"]>\n options: Signal<Virtualizer<TScrollElement, TItemElement>[\"options\"]>\n range: Signal<Virtualizer<TScrollElement, TItemElement>[\"range\"]>\n scrollDirection: Signal<\n Virtualizer<TScrollElement, TItemElement>[\"scrollDirection\"]\n >\n scrollElement: Signal<\n Virtualizer<TScrollElement, TItemElement>[\"scrollElement\"]\n >\n scrollOffset: Signal<\n Virtualizer<TScrollElement, TItemElement>[\"scrollOffset\"]\n >\n scrollRect: Signal<Virtualizer<TScrollElement, TItemElement>[\"scrollRect\"]>\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\n/**\n * Forked from @tanstack/angular-virtual. TODO: create PR and fix the library.\n * Potential issue: the library intends to support older versions of Angular which\n * emits warnings on newer versions because they are using deprecated features. May\n * need to maintain this fork for a while.\n */\nimport {DOCUMENT} from \"@angular/common\"\nimport {\n afterNextRender,\n computed,\n DestroyRef,\n effect,\n type ElementRef,\n inject,\n InjectionToken,\n type Signal,\n signal,\n untracked,\n} from \"@angular/core\"\nimport {\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n type PartialKeys,\n Virtualizer,\n type VirtualizerOptions,\n windowScroll,\n} from \"@tanstack/virtual-core\"\n\nimport {WINDOW} from \"@qualcomm-ui/angular-core/dom\"\n\nimport {proxyVirtualizer} from \"./proxy\"\nimport type {AngularVirtualizer} from \"./types\"\n\nexport * from \"@tanstack/virtual-core\"\nexport * from \"./types\"\n\nfunction createVirtualizerBase<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n>(\n options: Signal<VirtualizerOptions<TScrollElement, TItemElement>>,\n): AngularVirtualizer<TScrollElement, TItemElement> {\n let virtualizer: Virtualizer<TScrollElement, TItemElement>\n function lazyInit() {\n virtualizer ??= new Virtualizer(options())\n return virtualizer\n }\n\n const virtualizerSignal = signal(virtualizer!, {equal: () => false})\n\n // two-way sync options\n effect(() => {\n const _options = options()\n lazyInit()\n virtualizerSignal.set(virtualizer)\n virtualizer.setOptions({\n ..._options,\n onChange: (instance, sync) => {\n // update virtualizerSignal so that dependent computeds recompute.\n virtualizerSignal.set(instance)\n _options.onChange?.(instance, sync)\n },\n })\n // update virtualizerSignal so that dependent computeds recompute.\n virtualizerSignal.set(virtualizer)\n })\n\n const scrollElement = computed(() => options().getScrollElement())\n // let the virtualizer know when the scroll element is changed\n effect(() => {\n const el = scrollElement()\n if (el) {\n untracked(virtualizerSignal)._willUpdate()\n }\n })\n\n let cleanup: () => void | undefined\n afterNextRender({read: () => (virtualizer ?? lazyInit())._didMount()})\n\n // @ts-ignore use before assign\n inject(DestroyRef).onDestroy(() => cleanup?.())\n\n return proxyVirtualizer(virtualizerSignal, lazyInit)\n}\n\nexport const ANGULAR_VIRTUALIZER_INSTANCE_TOKEN = new InjectionToken<\n AngularVirtualizer<any, any>\n>(\"VIRTUALIZER_TOKEN\")\n\nexport type AngularVirtualizerOptions<\n TScrollElement extends Element,\n TItemElement extends Element,\n> = PartialKeys<\n Omit<VirtualizerOptions<TScrollElement, TItemElement>, \"getScrollElement\">,\n \"observeElementRect\" | \"observeElementOffset\" | \"scrollToFn\"\n> & {\n scrollElement: ElementRef<TScrollElement> | TScrollElement | undefined\n}\n\nexport function injectVirtualizer<\n TScrollElement extends Element,\n TItemElement extends Element,\n>(\n options: () => AngularVirtualizerOptions<TScrollElement, TItemElement>,\n): AngularVirtualizer<TScrollElement, TItemElement> {\n const resolvedOptions = computed(() => {\n return {\n getScrollElement: () => {\n const elementOrRef = options().scrollElement\n return (\n (isElementRef(elementOrRef)\n ? elementOrRef.nativeElement\n : elementOrRef) ?? null\n )\n },\n observeElementOffset,\n observeElementRect,\n scrollToFn: elementScroll,\n ...options(),\n }\n })\n return createVirtualizerBase<TScrollElement, TItemElement>(resolvedOptions)\n}\n\nfunction isElementRef<T extends Element>(\n elementOrRef: ElementRef<T> | T | undefined,\n): elementOrRef is ElementRef<T> {\n return elementOrRef != null && \"nativeElement\" in elementOrRef\n}\n\nexport function injectWindowVirtualizer<TItemElement extends Element>(\n options: () => PartialKeys<\n VirtualizerOptions<Window, TItemElement>,\n | \"getScrollElement\"\n | \"observeElementRect\"\n | \"observeElementOffset\"\n | \"scrollToFn\"\n >,\n): AngularVirtualizer<Window, TItemElement> {\n const document = inject(DOCUMENT)\n const window = inject(WINDOW)\n const resolvedOptions = computed(() => {\n return {\n getScrollElement: () => (typeof document !== \"undefined\" ? window : null),\n initialOffset: () =>\n typeof document !== \"undefined\" ? window.scrollY : 0,\n observeElementOffset: observeWindowOffset,\n observeElementRect: observeWindowRect,\n scrollToFn: windowScroll,\n ...options(),\n }\n })\n return createVirtualizerBase<Window, TItemElement>(resolvedOptions)\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qualcomm-ui/angular-core",
|
|
3
3
|
"description": "Design-agnostic Angular building blocks and utilities.",
|
|
4
|
-
"version": "1.4.
|
|
4
|
+
"version": "1.4.2",
|
|
5
5
|
"author": "Ryan Bower",
|
|
6
6
|
"license": "BSD-3-Clause-Clear",
|
|
7
7
|
"sideEffects": false,
|
|
@@ -204,7 +204,7 @@
|
|
|
204
204
|
"@angular/forms": ">=20 <23",
|
|
205
205
|
"@angular/platform-browser": ">=20 <23",
|
|
206
206
|
"@angular/platform-browser-dynamic": ">=20 <23",
|
|
207
|
-
"@qualcomm-ui/core": "^1.2.
|
|
207
|
+
"@qualcomm-ui/core": "^1.2.1",
|
|
208
208
|
"@qualcomm-ui/dom": "^1.0.7",
|
|
209
209
|
"@qualcomm-ui/utils": "^1.1.0",
|
|
210
210
|
"@tanstack/virtual-core": ">=3.13.12",
|
package/signals/index.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ declare function accessSignal<T>(maybeSignal: MaybeSignal<T>): T;
|
|
|
32
32
|
* injectValue(); // string
|
|
33
33
|
* ```
|
|
34
34
|
*/
|
|
35
|
-
declare function assertInjector<Runner extends () => any>(fn:
|
|
35
|
+
declare function assertInjector<Runner extends () => any>(fn: (...args: unknown[]) => any, injector: Injector | undefined | null, runner: Runner): ReturnType<Runner>;
|
|
36
36
|
/**
|
|
37
37
|
* `assertInjector` extends `assertInInjectionContext` with an optional `Injector`
|
|
38
38
|
* After assertion, `assertInjector` returns a guaranteed `Injector` whether it is
|
|
@@ -43,7 +43,7 @@ declare function assertInjector<Runner extends () => any>(fn: Function, injector
|
|
|
43
43
|
* @param {Injector | undefined | null} injector - the optional "custom" Injector
|
|
44
44
|
* @returns Injector
|
|
45
45
|
*/
|
|
46
|
-
declare function assertInjector(fn:
|
|
46
|
+
declare function assertInjector(fn: (...args: any[]) => unknown, injector: Injector | undefined | null): Injector;
|
|
47
47
|
/**
|
|
48
48
|
* `hostBinding` takes a `hostPropertyName` to attach a data property, a class, a
|
|
49
49
|
* style or an attribute (as `@HostBinding` would) to the host. The update is
|