ng-primitives 0.94.0 → 0.96.0
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/collection.json +6 -0
- package/fesm2022/ng-primitives-progress.mjs +121 -121
- package/fesm2022/ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/ng-primitives-slider.mjs +260 -264
- package/fesm2022/ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/ng-primitives-toast.mjs.map +1 -1
- package/form-field/index.d.ts +2 -2
- package/package.json +1 -1
- package/progress/index.d.ts +66 -56
- package/schematics/mcp-setup/README.md +180 -0
- package/schematics/mcp-setup/index.d.ts +3 -0
- package/schematics/mcp-setup/index.js +188 -0
- package/schematics/mcp-setup/index.js.map +1 -0
- package/schematics/mcp-setup/schema.d.ts +3 -0
- package/schematics/mcp-setup/schema.json +46 -0
- package/schematics/ng-add/index.d.ts +2 -1
- package/schematics/ng-add/index.js +32 -15
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.d.ts +3 -1
- package/schematics/ng-add/schema.json +39 -1
- package/schematics/ng-generate/templates/range-slider/range-slider.__fileSuffix@dasherize__.ts.template +6 -5
- package/slider/index.d.ts +251 -91
- package/toast/index.d.ts +1 -1
package/collection.json
CHANGED
|
@@ -16,6 +16,12 @@
|
|
|
16
16
|
"description": "Add Angular Primitives to a project.",
|
|
17
17
|
"factory": "./schematics/ng-generate/index",
|
|
18
18
|
"schema": "./schematics/ng-generate/schema.json"
|
|
19
|
+
},
|
|
20
|
+
"mcp-setup": {
|
|
21
|
+
"description": "Configure MCP server for AI tools and editors.",
|
|
22
|
+
"factory": "./schematics/mcp-setup/index",
|
|
23
|
+
"schema": "./schematics/mcp-setup/schema.json",
|
|
24
|
+
"aliases": ["mcp"]
|
|
19
25
|
}
|
|
20
26
|
}
|
|
21
27
|
}
|
|
@@ -1,25 +1,75 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { computed, Directive, input, numberAttribute
|
|
3
|
-
import { createStateToken, createStateProvider, createStateInjector, createState } from 'ng-primitives/state';
|
|
2
|
+
import { computed, signal, Directive, input, numberAttribute } from '@angular/core';
|
|
4
3
|
import { injectElementRef } from 'ng-primitives/internal';
|
|
4
|
+
import { createPrimitive, attrBinding, dataBinding, deprecatedSetter, styleBinding } from 'ng-primitives/state';
|
|
5
5
|
import { uniqueId } from 'ng-primitives/utils';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
7
|
+
const [NgpProgressStateToken, ngpProgress, injectProgressState, provideProgressState] = createPrimitive('NgpProgress', ({ valueLabel = signal((value, max) => `${Math.round((value / max) * 100)}%`), value = signal(null), min = signal(0), max = signal(100), id = signal(uniqueId('ngp-progress')), }) => {
|
|
8
|
+
const element = injectElementRef();
|
|
9
|
+
/**
|
|
10
|
+
* Determine if the progress is indeterminate.
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
const indeterminate = computed(() => value() === null, ...(ngDevMode ? [{ debugName: "indeterminate" }] : []));
|
|
14
|
+
/**
|
|
15
|
+
* Determine if the progress is in a progressing state.
|
|
16
|
+
*/
|
|
17
|
+
const progressing = computed(() => value() != null && value() > 0 && value() < max(), ...(ngDevMode ? [{ debugName: "progressing" }] : []));
|
|
18
|
+
/**
|
|
19
|
+
* Determine if the progress is complete.
|
|
20
|
+
*/
|
|
21
|
+
const complete = computed(() => !!(value() && max() && value() === max()), ...(ngDevMode ? [{ debugName: "complete" }] : []));
|
|
22
|
+
/**
|
|
23
|
+
* Get the progress value text.
|
|
24
|
+
*/
|
|
25
|
+
const valueText = computed(() => {
|
|
26
|
+
const currentValue = value();
|
|
27
|
+
if (currentValue == null) {
|
|
28
|
+
return '';
|
|
29
|
+
}
|
|
30
|
+
return valueLabel()(currentValue, max());
|
|
31
|
+
}, ...(ngDevMode ? [{ debugName: "valueText" }] : []));
|
|
32
|
+
const labelId = signal(undefined, ...(ngDevMode ? [{ debugName: "labelId" }] : []));
|
|
33
|
+
function setLabel(id) {
|
|
34
|
+
labelId.set(id);
|
|
35
|
+
}
|
|
36
|
+
// Attribute bindings
|
|
37
|
+
attrBinding(element, 'role', 'progressbar');
|
|
38
|
+
attrBinding(element, 'id', id);
|
|
39
|
+
attrBinding(element, 'aria-valuemax', max);
|
|
40
|
+
attrBinding(element, 'aria-valuemin', 0);
|
|
41
|
+
attrBinding(element, 'aria-valuenow', value);
|
|
42
|
+
attrBinding(element, 'aria-valuetext', valueText);
|
|
43
|
+
attrBinding(element, 'aria-labelledby', () => (labelId() ? labelId() : null));
|
|
44
|
+
dataBinding(element, 'data-progressing', () => progressing());
|
|
45
|
+
dataBinding(element, 'data-indeterminate', () => indeterminate());
|
|
46
|
+
dataBinding(element, 'data-complete', () => complete());
|
|
47
|
+
return {
|
|
48
|
+
max,
|
|
49
|
+
min,
|
|
50
|
+
labelId: deprecatedSetter(labelId, 'setLabel'),
|
|
51
|
+
valueText,
|
|
52
|
+
id,
|
|
53
|
+
value,
|
|
54
|
+
indeterminate,
|
|
55
|
+
progressing,
|
|
56
|
+
complete,
|
|
57
|
+
setLabel,
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
const [NgpProgressIndicatorStateToken, ngpProgressIndicator] = createPrimitive('NgpProgressIndicator', ({}) => {
|
|
62
|
+
const element = injectElementRef();
|
|
63
|
+
const state = injectProgressState();
|
|
64
|
+
const percentage = computed(() => {
|
|
65
|
+
const min = state().min();
|
|
66
|
+
const max = state().max();
|
|
67
|
+
const value = state().value();
|
|
68
|
+
return value === null ? null : ((value - min) / (max - min)) * 100;
|
|
69
|
+
}, ...(ngDevMode ? [{ debugName: "percentage" }] : []));
|
|
70
|
+
styleBinding(element, 'width.%', percentage);
|
|
71
|
+
return {};
|
|
72
|
+
});
|
|
23
73
|
|
|
24
74
|
/**
|
|
25
75
|
* Apply the `ngpProgressIndicator` directive to an element that represents the current progress.
|
|
@@ -27,114 +77,98 @@ const progressState = createState(NgpProgressStateToken);
|
|
|
27
77
|
*/
|
|
28
78
|
class NgpProgressIndicator {
|
|
29
79
|
constructor() {
|
|
30
|
-
|
|
31
|
-
* Access the progress state.
|
|
32
|
-
*/
|
|
33
|
-
this.state = injectProgressState();
|
|
34
|
-
/**
|
|
35
|
-
* Get the percentage of the progress value.
|
|
36
|
-
*/
|
|
37
|
-
this.percentage = computed(() => this.state().value() === null
|
|
38
|
-
? null
|
|
39
|
-
: ((this.state().value() - this.state().min()) / (this.state().max() - this.state().min())) *
|
|
40
|
-
100, ...(ngDevMode ? [{ debugName: "percentage" }] : []));
|
|
80
|
+
ngpProgressIndicator({});
|
|
41
81
|
}
|
|
42
82
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpProgressIndicator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
43
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: NgpProgressIndicator, isStandalone: true, selector: "[ngpProgressIndicator]",
|
|
83
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: NgpProgressIndicator, isStandalone: true, selector: "[ngpProgressIndicator]", ngImport: i0 }); }
|
|
44
84
|
}
|
|
45
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpProgressIndicator, decorators: [{
|
|
46
86
|
type: Directive,
|
|
47
87
|
args: [{
|
|
48
88
|
selector: '[ngpProgressIndicator]',
|
|
49
|
-
host: {
|
|
50
|
-
'[style.width.%]': 'percentage()',
|
|
51
|
-
'[attr.data-progressing]': 'state().progressing() ? "" : null',
|
|
52
|
-
'[attr.data-indeterminate]': 'state().indeterminate() ? "" : null',
|
|
53
|
-
'[attr.data-complete]': 'state().complete() ? "" : null',
|
|
54
|
-
},
|
|
55
89
|
}]
|
|
56
|
-
}] });
|
|
90
|
+
}], ctorParameters: () => [] });
|
|
91
|
+
|
|
92
|
+
const [NgpProgressLabelStateToken, ngpProgressLabel] = createPrimitive('NgpProgressLabel', ({ id = signal(uniqueId('ngp-progress-label')) }) => {
|
|
93
|
+
const element = injectElementRef();
|
|
94
|
+
const state = injectProgressState();
|
|
95
|
+
attrBinding(element, 'id', id);
|
|
96
|
+
attrBinding(element, 'for', element.nativeElement.tagName === 'LABEL' ? state().id?.() : null);
|
|
97
|
+
dataBinding(element, 'data-progressing', () => state().progressing());
|
|
98
|
+
dataBinding(element, 'data-indeterminate', () => state().indeterminate());
|
|
99
|
+
dataBinding(element, 'data-complete', () => state().complete());
|
|
100
|
+
state().labelId.set(id());
|
|
101
|
+
return {};
|
|
102
|
+
});
|
|
57
103
|
|
|
58
104
|
class NgpProgressLabel {
|
|
59
105
|
constructor() {
|
|
60
|
-
/**
|
|
61
|
-
* Access the progress state.
|
|
62
|
-
*/
|
|
63
|
-
this.state = injectProgressState();
|
|
64
|
-
/**
|
|
65
|
-
* Access the element ref.
|
|
66
|
-
*/
|
|
67
|
-
this.elementRef = injectElementRef();
|
|
68
106
|
/**
|
|
69
107
|
* The unique identifier for the progress label.
|
|
70
108
|
*/
|
|
71
109
|
this.id = input(uniqueId('ngp-progress-label'), ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
72
|
-
this.
|
|
110
|
+
ngpProgressLabel({ id: this.id });
|
|
73
111
|
}
|
|
74
112
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpProgressLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
75
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpProgressLabel, isStandalone: true, selector: "[ngpProgressLabel]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } },
|
|
113
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpProgressLabel, isStandalone: true, selector: "[ngpProgressLabel]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ngpProgressLabel"], ngImport: i0 }); }
|
|
76
114
|
}
|
|
77
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpProgressLabel, decorators: [{
|
|
78
116
|
type: Directive,
|
|
79
117
|
args: [{
|
|
80
118
|
selector: '[ngpProgressLabel]',
|
|
81
119
|
exportAs: 'ngpProgressLabel',
|
|
82
|
-
host: {
|
|
83
|
-
'[attr.id]': 'id()',
|
|
84
|
-
'[attr.for]': 'elementRef.nativeElement.tagName === "LABEL" ? state().id() : null',
|
|
85
|
-
'[attr.data-progressing]': 'state().progressing() ? "" : null',
|
|
86
|
-
'[attr.data-indeterminate]': 'state().indeterminate() ? "" : null',
|
|
87
|
-
'[attr.data-complete]': 'state().complete() ? "" : null',
|
|
88
|
-
},
|
|
89
120
|
}]
|
|
90
121
|
}], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
91
122
|
|
|
123
|
+
const [NgpProgressTrackStateToken, ngpProgressTrack] = createPrimitive('NgpProgressTrack', ({}) => {
|
|
124
|
+
const element = injectElementRef();
|
|
125
|
+
const state = injectProgressState();
|
|
126
|
+
dataBinding(element, 'data-progressing', () => state().progressing());
|
|
127
|
+
dataBinding(element, 'data-indeterminate', () => state().indeterminate());
|
|
128
|
+
dataBinding(element, 'data-complete', () => state().complete());
|
|
129
|
+
return {};
|
|
130
|
+
});
|
|
131
|
+
|
|
92
132
|
class NgpProgressTrack {
|
|
93
133
|
constructor() {
|
|
94
|
-
|
|
95
|
-
* Access the progress state.
|
|
96
|
-
*/
|
|
97
|
-
this.state = injectProgressState();
|
|
134
|
+
ngpProgressTrack({});
|
|
98
135
|
}
|
|
99
136
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpProgressTrack, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
100
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: NgpProgressTrack, isStandalone: true, selector: "[ngpProgressTrack]",
|
|
137
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: NgpProgressTrack, isStandalone: true, selector: "[ngpProgressTrack]", exportAs: ["ngpProgressTrack"], ngImport: i0 }); }
|
|
101
138
|
}
|
|
102
139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpProgressTrack, decorators: [{
|
|
103
140
|
type: Directive,
|
|
104
141
|
args: [{
|
|
105
142
|
selector: '[ngpProgressTrack]',
|
|
106
143
|
exportAs: 'ngpProgressTrack',
|
|
107
|
-
host: {
|
|
108
|
-
'[attr.data-progressing]': 'state().progressing() ? "" : null',
|
|
109
|
-
'[attr.data-indeterminate]': 'state().indeterminate() ? "" : null',
|
|
110
|
-
'[attr.data-complete]': 'state().complete() ? "" : null',
|
|
111
|
-
},
|
|
112
144
|
}]
|
|
113
|
-
}] });
|
|
145
|
+
}], ctorParameters: () => [] });
|
|
146
|
+
|
|
147
|
+
const [NgpProgressValueStateToken, ngpProgressValue] = createPrimitive('NgpProgressValue', ({}) => {
|
|
148
|
+
const element = injectElementRef();
|
|
149
|
+
const state = injectProgressState();
|
|
150
|
+
// Host bindings using helper functions
|
|
151
|
+
attrBinding(element, 'aria-hidden', 'true');
|
|
152
|
+
dataBinding(element, 'data-progressing', () => state().progressing());
|
|
153
|
+
dataBinding(element, 'data-indeterminate', () => state().indeterminate());
|
|
154
|
+
dataBinding(element, 'data-complete', () => state().complete());
|
|
155
|
+
return {};
|
|
156
|
+
});
|
|
114
157
|
|
|
115
158
|
class NgpProgressValue {
|
|
116
159
|
constructor() {
|
|
117
|
-
|
|
118
|
-
* Access the progress state.
|
|
119
|
-
*/
|
|
120
|
-
this.state = injectProgressState();
|
|
160
|
+
ngpProgressValue({});
|
|
121
161
|
}
|
|
122
162
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpProgressValue, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
123
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: NgpProgressValue, isStandalone: true, selector: "[ngpProgressValue]",
|
|
163
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: NgpProgressValue, isStandalone: true, selector: "[ngpProgressValue]", exportAs: ["ngpProgressValue"], ngImport: i0 }); }
|
|
124
164
|
}
|
|
125
165
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpProgressValue, decorators: [{
|
|
126
166
|
type: Directive,
|
|
127
167
|
args: [{
|
|
128
168
|
selector: '[ngpProgressValue]',
|
|
129
169
|
exportAs: 'ngpProgressValue',
|
|
130
|
-
host: {
|
|
131
|
-
'aria-hidden': 'true',
|
|
132
|
-
'[attr.data-progressing]': 'state().progressing() ? "" : null',
|
|
133
|
-
'[attr.data-indeterminate]': 'state().indeterminate() ? "" : null',
|
|
134
|
-
'[attr.data-complete]': 'state().complete() ? "" : null',
|
|
135
|
-
},
|
|
136
170
|
}]
|
|
137
|
-
}] });
|
|
171
|
+
}], ctorParameters: () => [] });
|
|
138
172
|
|
|
139
173
|
/**
|
|
140
174
|
* Apply the `ngpProgress` directive to an element that represents the progress bar.
|
|
@@ -181,63 +215,29 @@ class NgpProgress {
|
|
|
181
215
|
*/
|
|
182
216
|
this.id = input(uniqueId('ngp-progress'), ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
183
217
|
/**
|
|
184
|
-
*
|
|
185
|
-
* @internal
|
|
186
|
-
*/
|
|
187
|
-
this.indeterminate = computed(() => this.state.value() === null, ...(ngDevMode ? [{ debugName: "indeterminate" }] : []));
|
|
188
|
-
/**
|
|
189
|
-
* Determine if the progress is in a progressing state.
|
|
190
|
-
* @internal
|
|
191
|
-
*/
|
|
192
|
-
this.progressing = computed(() => this.state.value() != null &&
|
|
193
|
-
this.state.value() > 0 &&
|
|
194
|
-
this.state.value() < this.state.max(), ...(ngDevMode ? [{ debugName: "progressing" }] : []));
|
|
195
|
-
/**
|
|
196
|
-
* Determine if the progress is complete.
|
|
218
|
+
* The state of the progress bar.
|
|
197
219
|
* @internal
|
|
198
220
|
*/
|
|
199
|
-
this.
|
|
221
|
+
this.state = ngpProgress({
|
|
222
|
+
value: this.value,
|
|
223
|
+
min: this.min,
|
|
224
|
+
max: this.max,
|
|
225
|
+
valueLabel: this.valueLabel,
|
|
226
|
+
id: this.id,
|
|
227
|
+
});
|
|
200
228
|
/**
|
|
201
229
|
* Get the progress value text.
|
|
202
230
|
*/
|
|
203
|
-
this.valueText =
|
|
204
|
-
const value = this.state.value();
|
|
205
|
-
if (value == null) {
|
|
206
|
-
return '';
|
|
207
|
-
}
|
|
208
|
-
return this.state.valueLabel()(value, this.state.max());
|
|
209
|
-
}, ...(ngDevMode ? [{ debugName: "valueText" }] : []));
|
|
210
|
-
/**
|
|
211
|
-
* The label associated with the progress bar.
|
|
212
|
-
* @internal
|
|
213
|
-
*/
|
|
214
|
-
this.label = signal(null, ...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
215
|
-
/**
|
|
216
|
-
* The state of the progress bar.
|
|
217
|
-
* @internal
|
|
218
|
-
*/
|
|
219
|
-
this.state = progressState(this);
|
|
231
|
+
this.valueText = this.state.valueText;
|
|
220
232
|
}
|
|
221
233
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpProgress, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
222
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpProgress, isStandalone: true, selector: "[ngpProgress]", inputs: { value: { classPropertyName: "value", publicName: "ngpProgressValue", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "ngpProgressMin", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "ngpProgressMax", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "ngpProgressValueLabel", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } },
|
|
234
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpProgress, isStandalone: true, selector: "[ngpProgress]", inputs: { value: { classPropertyName: "value", publicName: "ngpProgressValue", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "ngpProgressMin", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "ngpProgressMax", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "ngpProgressValueLabel", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideProgressState()], ngImport: i0 }); }
|
|
223
235
|
}
|
|
224
236
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpProgress, decorators: [{
|
|
225
237
|
type: Directive,
|
|
226
238
|
args: [{
|
|
227
239
|
selector: '[ngpProgress]',
|
|
228
240
|
providers: [provideProgressState()],
|
|
229
|
-
host: {
|
|
230
|
-
role: 'progressbar',
|
|
231
|
-
'[attr.id]': 'id()',
|
|
232
|
-
'[attr.aria-valuemax]': 'state.max()',
|
|
233
|
-
'[attr.aria-valuemin]': '0',
|
|
234
|
-
'[attr.aria-valuenow]': 'state.value()',
|
|
235
|
-
'[attr.aria-valuetext]': 'valueText()',
|
|
236
|
-
'[attr.aria-labelledby]': 'label() ? label()?.id() : null',
|
|
237
|
-
'[attr.data-progressing]': 'progressing() ? "" : null',
|
|
238
|
-
'[attr.data-indeterminate]': 'indeterminate() ? "" : null',
|
|
239
|
-
'[attr.data-complete]': 'complete() ? "" : null',
|
|
240
|
-
},
|
|
241
241
|
}]
|
|
242
242
|
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngpProgressValue", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngpProgressMin", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngpProgressMax", required: false }] }], valueLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngpProgressValueLabel", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
243
243
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-primitives-progress.mjs","sources":["../../../../packages/ng-primitives/progress/src/progress/progress-state.ts","../../../../packages/ng-primitives/progress/src/progress-indicator/progress-indicator.ts","../../../../packages/ng-primitives/progress/src/progress-label/progress-label.ts","../../../../packages/ng-primitives/progress/src/progress-track/progress-track.ts","../../../../packages/ng-primitives/progress/src/progress-value/progress-value.ts","../../../../packages/ng-primitives/progress/src/progress/progress.ts","../../../../packages/ng-primitives/progress/src/ng-primitives-progress.ts"],"sourcesContent":["import {\n createState,\n createStateInjector,\n createStateProvider,\n createStateToken,\n} from 'ng-primitives/state';\nimport type { NgpProgress } from './progress';\n\n/**\n * The state token for the Progress primitive.\n */\nexport const NgpProgressStateToken = createStateToken<NgpProgress>('Progress');\n\n/**\n * Provides the Progress state.\n */\nexport const provideProgressState = createStateProvider(NgpProgressStateToken);\n\n/**\n * Injects the Progress state.\n */\nexport const injectProgressState = createStateInjector<NgpProgress>(NgpProgressStateToken);\n\n/**\n * The Progress state registration function.\n */\nexport const progressState = createState(NgpProgressStateToken);\n","import { computed, Directive } from '@angular/core';\nimport { injectProgressState } from '../progress/progress-state';\n\n/**\n * Apply the `ngpProgressIndicator` directive to an element that represents the current progress.\n * The width of this element can be set to the percentage of the progress value.\n */\n@Directive({\n selector: '[ngpProgressIndicator]',\n host: {\n '[style.width.%]': 'percentage()',\n '[attr.data-progressing]': 'state().progressing() ? \"\" : null',\n '[attr.data-indeterminate]': 'state().indeterminate() ? \"\" : null',\n '[attr.data-complete]': 'state().complete() ? \"\" : null',\n },\n})\nexport class NgpProgressIndicator {\n /**\n * Access the progress state.\n */\n protected readonly state = injectProgressState();\n\n /**\n * Get the percentage of the progress value.\n */\n protected readonly percentage = computed(() =>\n this.state().value() === null\n ? null\n : ((this.state().value()! - this.state().min()) / (this.state().max() - this.state().min())) *\n 100,\n );\n}\n","import { Directive, input } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { injectProgressState } from '../progress/progress-state';\n\n@Directive({\n selector: '[ngpProgressLabel]',\n exportAs: 'ngpProgressLabel',\n host: {\n '[attr.id]': 'id()',\n '[attr.for]': 'elementRef.nativeElement.tagName === \"LABEL\" ? state().id() : null',\n '[attr.data-progressing]': 'state().progressing() ? \"\" : null',\n '[attr.data-indeterminate]': 'state().indeterminate() ? \"\" : null',\n '[attr.data-complete]': 'state().complete() ? \"\" : null',\n },\n})\nexport class NgpProgressLabel {\n /**\n * Access the progress state.\n */\n protected readonly state = injectProgressState();\n\n /**\n * Access the element ref.\n */\n protected readonly elementRef = injectElementRef();\n\n /**\n * The unique identifier for the progress label.\n */\n readonly id = input<string>(uniqueId('ngp-progress-label'));\n\n constructor() {\n this.state().label.set(this);\n }\n}\n","import { Directive } from '@angular/core';\nimport { injectProgressState } from '../progress/progress-state';\n\n@Directive({\n selector: '[ngpProgressTrack]',\n exportAs: 'ngpProgressTrack',\n host: {\n '[attr.data-progressing]': 'state().progressing() ? \"\" : null',\n '[attr.data-indeterminate]': 'state().indeterminate() ? \"\" : null',\n '[attr.data-complete]': 'state().complete() ? \"\" : null',\n },\n})\nexport class NgpProgressTrack {\n /**\n * Access the progress state.\n */\n protected readonly state = injectProgressState();\n}\n","import { Directive } from '@angular/core';\nimport { injectProgressState } from '../progress/progress-state';\n\n@Directive({\n selector: '[ngpProgressValue]',\n exportAs: 'ngpProgressValue',\n host: {\n 'aria-hidden': 'true',\n '[attr.data-progressing]': 'state().progressing() ? \"\" : null',\n '[attr.data-indeterminate]': 'state().indeterminate() ? \"\" : null',\n '[attr.data-complete]': 'state().complete() ? \"\" : null',\n },\n})\nexport class NgpProgressValue {\n /**\n * Access the progress state.\n */\n protected readonly state = injectProgressState();\n}\n","import { NumberInput } from '@angular/cdk/coercion';\nimport { Directive, computed, input, numberAttribute, signal } from '@angular/core';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { NgpProgressLabel } from '../progress-label/progress-label';\nimport { progressState, provideProgressState } from './progress-state';\n\n/**\n * Apply the `ngpProgress` directive to an element that represents the progress bar.\n */\n@Directive({\n selector: '[ngpProgress]',\n providers: [provideProgressState()],\n host: {\n role: 'progressbar',\n '[attr.id]': 'id()',\n '[attr.aria-valuemax]': 'state.max()',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuenow]': 'state.value()',\n '[attr.aria-valuetext]': 'valueText()',\n '[attr.aria-labelledby]': 'label() ? label()?.id() : null',\n '[attr.data-progressing]': 'progressing() ? \"\" : null',\n '[attr.data-indeterminate]': 'indeterminate() ? \"\" : null',\n '[attr.data-complete]': 'complete() ? \"\" : null',\n },\n})\nexport class NgpProgress {\n /**\n * Define the progress value.\n */\n readonly value = input<number | null, NumberInput>(0, {\n alias: 'ngpProgressValue',\n transform: v => (v == null ? null : numberAttribute(v)),\n });\n\n /**\n * Define the progress min value.\n * @default '0'\n */\n readonly min = input<number, NumberInput>(0, {\n alias: 'ngpProgressMin',\n transform: numberAttribute,\n });\n\n /**\n * Define the progress max value.\n * @default 100\n */\n readonly max = input<number, NumberInput>(100, {\n alias: 'ngpProgressMax',\n transform: numberAttribute,\n });\n\n /**\n * Define a function that returns the progress value label.\n * @param value The current value\n * @param max The maximum value\n * @returns The value label\n */\n readonly valueLabel = input<NgpProgressValueTextFn>(\n (value, max) => `${Math.round((value / max) * 100)}%`,\n {\n alias: 'ngpProgressValueLabel',\n },\n );\n\n /**\n * The unique identifier for the progress.\n */\n readonly id = input<string>(uniqueId('ngp-progress'));\n\n /**\n * Determine if the progress is indeterminate.\n * @internal\n */\n readonly indeterminate = computed(() => this.state.value() === null);\n\n /**\n * Determine if the progress is in a progressing state.\n * @internal\n */\n readonly progressing = computed(\n () =>\n this.state.value() != null &&\n this.state.value()! > 0 &&\n this.state.value()! < this.state.max(),\n );\n\n /**\n * Determine if the progress is complete.\n * @internal\n */\n readonly complete = computed(() => this.state.value() === this.state.max());\n\n /**\n * Get the progress value text.\n */\n protected readonly valueText = computed(() => {\n const value = this.state.value();\n\n if (value == null) {\n return '';\n }\n\n return this.state.valueLabel()(value, this.state.max());\n });\n\n /**\n * The label associated with the progress bar.\n * @internal\n */\n readonly label = signal<NgpProgressLabel | null>(null);\n\n /**\n * The state of the progress bar.\n * @internal\n */\n protected readonly state = progressState<NgpProgress>(this);\n}\n\nexport type NgpProgressValueTextFn = (value: number, max: number) => string;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-primitives-progress.mjs","sources":["../../../../packages/ng-primitives/progress/src/progress/progress-state.ts","../../../../packages/ng-primitives/progress/src/progress-indicator/progress-indicator-state.ts","../../../../packages/ng-primitives/progress/src/progress-indicator/progress-indicator.ts","../../../../packages/ng-primitives/progress/src/progress-label/progress-label-state.ts","../../../../packages/ng-primitives/progress/src/progress-label/progress-label.ts","../../../../packages/ng-primitives/progress/src/progress-track/progress-track-state.ts","../../../../packages/ng-primitives/progress/src/progress-track/progress-track.ts","../../../../packages/ng-primitives/progress/src/progress-value/progress-value-state.ts","../../../../packages/ng-primitives/progress/src/progress-value/progress-value.ts","../../../../packages/ng-primitives/progress/src/progress/progress.ts","../../../../packages/ng-primitives/progress/src/ng-primitives-progress.ts"],"sourcesContent":["import { computed, signal, Signal } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, deprecatedSetter } from 'ng-primitives/state';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { NgpProgressValueTextFn } from './progress';\n\nexport interface NgpProgressProps {\n /**\n * The unique identifier for the progress.\n */\n readonly id?: Signal<string>;\n\n /**\n * Define the progress value.\n */\n readonly value?: Signal<number | null>;\n\n /**\n * Define the progress min value.\n * @default '0'\n */\n readonly min?: Signal<number>;\n\n /**\n * Define the progress max value.\n * @default 100\n */\n readonly max?: Signal<number>;\n\n /**\n * Define a function that returns the progress value label.\n * @param value The current value\n * @param max The maximum value\n * @returns The value label\n */\n readonly valueLabel?: Signal<NgpProgressValueTextFn>;\n}\n\nexport interface NgpProgressState {\n /**\n * The unique identifier for the progress.\n */\n readonly id: Signal<string>;\n\n /**\n * Define the progress value.\n */\n readonly value: Signal<number | null>;\n\n /**\n * Define the progress min value.\n * @default '0'\n */\n readonly min: Signal<number>;\n\n /**\n * Define the progress max value.\n * @default 100\n */\n readonly max: Signal<number>;\n\n /**\n * Get the progress value text.\n */\n readonly valueText: Signal<string>;\n\n /**\n * The id of label associated with the progress bar.\n * @internal\n */\n readonly labelId: Signal<string | undefined>;\n\n /**\n * Determine if the progress is indeterminate.\n * @internal\n */\n readonly indeterminate: Signal<boolean>;\n\n /**\n * Determine if the progress is in a progressing state.\n * @internal\n */\n readonly progressing: Signal<boolean>;\n\n /**\n * Determine if the progress is complete.\n * @internal\n */\n readonly complete: Signal<boolean>;\n\n /**\n * Set the label of the progress bar.\n */\n setLabel(id: string): void;\n}\n\nexport const [NgpProgressStateToken, ngpProgress, injectProgressState, provideProgressState] =\n createPrimitive(\n 'NgpProgress',\n ({\n valueLabel = signal((value, max) => `${Math.round((value / max) * 100)}%`),\n value = signal(null),\n min = signal(0),\n max = signal(100),\n id = signal(uniqueId('ngp-progress')),\n }: NgpProgressProps) => {\n const element = injectElementRef();\n\n /**\n * Determine if the progress is indeterminate.\n * @internal\n */\n const indeterminate = computed(() => value() === null);\n\n /**\n * Determine if the progress is in a progressing state.\n */\n const progressing = computed(() => value() != null && value()! > 0 && value()! < max());\n\n /**\n * Determine if the progress is complete.\n */\n const complete = computed(() => !!(value() && max() && value() === max()));\n\n /**\n * Get the progress value text.\n */\n const valueText = computed(() => {\n const currentValue = value();\n\n if (currentValue == null) {\n return '';\n }\n\n return valueLabel()(currentValue, max());\n });\n\n const labelId = signal<string | undefined>(undefined);\n\n function setLabel(id: string) {\n labelId.set(id);\n }\n\n // Attribute bindings\n attrBinding(element, 'role', 'progressbar');\n attrBinding(element, 'id', id);\n attrBinding(element, 'aria-valuemax', max);\n attrBinding(element, 'aria-valuemin', 0);\n attrBinding(element, 'aria-valuenow', value);\n attrBinding(element, 'aria-valuetext', valueText);\n attrBinding(element, 'aria-labelledby', () => (labelId() ? labelId() : null));\n dataBinding(element, 'data-progressing', () => progressing());\n dataBinding(element, 'data-indeterminate', () => indeterminate());\n dataBinding(element, 'data-complete', () => complete());\n\n return {\n max,\n min,\n labelId: deprecatedSetter(labelId, 'setLabel'),\n valueText,\n id,\n value,\n indeterminate,\n progressing,\n complete,\n setLabel,\n } satisfies NgpProgressState;\n },\n );\n","import { computed } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { createPrimitive, styleBinding } from 'ng-primitives/state';\nimport { injectProgressState } from '../progress/progress-state';\n\nexport interface NgpProgressIndicatorState {}\n\nexport interface NgpProgressIndicatorProps {}\n\nexport const [NgpProgressIndicatorStateToken, ngpProgressIndicator] = createPrimitive(\n 'NgpProgressIndicator',\n ({}: NgpProgressIndicatorProps) => {\n const element = injectElementRef();\n\n const state = injectProgressState();\n\n const percentage = computed(() => {\n const min = state().min();\n const max = state().max();\n const value = state().value();\n return value === null ? null : ((value - min) / (max - min)) * 100;\n });\n\n styleBinding(element, 'width.%', percentage);\n\n return {};\n },\n);\n","import { Directive } from '@angular/core';\nimport { ngpProgressIndicator } from './progress-indicator-state';\n\n/**\n * Apply the `ngpProgressIndicator` directive to an element that represents the current progress.\n * The width of this element can be set to the percentage of the progress value.\n */\n@Directive({\n selector: '[ngpProgressIndicator]',\n})\nexport class NgpProgressIndicator {\n constructor() {\n ngpProgressIndicator({});\n }\n}\n","import { signal, Signal } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding } from 'ng-primitives/state';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { injectProgressState } from '../progress/progress-state';\n\nexport interface NgpProgressLabelState {}\n\nexport interface NgpProgressLabelProps {\n /**\n * The unique identifier for the progress label.\n */\n readonly id?: Signal<string>;\n}\n\nexport const [NgpProgressLabelStateToken, ngpProgressLabel] = createPrimitive(\n 'NgpProgressLabel',\n ({ id = signal(uniqueId('ngp-progress-label')) }: NgpProgressLabelProps) => {\n const element = injectElementRef();\n\n const state = injectProgressState();\n\n attrBinding(element, 'id', id);\n attrBinding(element, 'for', element.nativeElement.tagName === 'LABEL' ? state().id?.() : null);\n dataBinding(element, 'data-progressing', () => state().progressing());\n dataBinding(element, 'data-indeterminate', () => state().indeterminate());\n dataBinding(element, 'data-complete', () => state().complete());\n\n state().labelId.set(id());\n\n return {};\n },\n);\n","import { Directive, input } from '@angular/core';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { ngpProgressLabel } from './progress-label-state';\n\n@Directive({\n selector: '[ngpProgressLabel]',\n exportAs: 'ngpProgressLabel',\n})\nexport class NgpProgressLabel {\n /**\n * The unique identifier for the progress label.\n */\n readonly id = input<string>(uniqueId('ngp-progress-label'));\n\n constructor() {\n ngpProgressLabel({ id: this.id });\n }\n}\n","import { injectElementRef } from 'ng-primitives/internal';\nimport { createPrimitive, dataBinding } from 'ng-primitives/state';\nimport { injectProgressState } from '../progress/progress-state';\n\nexport interface NgpProgressTrackState {}\n\nexport interface NgpProgressTrackProps {}\n\nexport const [NgpProgressTrackStateToken, ngpProgressTrack] = createPrimitive(\n 'NgpProgressTrack',\n ({}: NgpProgressTrackProps) => {\n const element = injectElementRef();\n const state = injectProgressState();\n\n dataBinding(element, 'data-progressing', () => state().progressing());\n dataBinding(element, 'data-indeterminate', () => state().indeterminate());\n dataBinding(element, 'data-complete', () => state().complete());\n\n return {};\n },\n);\n","import { Directive } from '@angular/core';\nimport { ngpProgressTrack } from './progress-track-state';\n\n@Directive({\n selector: '[ngpProgressTrack]',\n exportAs: 'ngpProgressTrack',\n})\nexport class NgpProgressTrack {\n constructor() {\n ngpProgressTrack({});\n }\n}\n","import { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding } from 'ng-primitives/state';\nimport { injectProgressState } from '../progress/progress-state';\n\nexport interface NgpProgressValueState {}\n\nexport interface NgpProgressValueProps {}\n\nexport const [NgpProgressValueStateToken, ngpProgressValue] = createPrimitive(\n 'NgpProgressValue',\n ({}: NgpProgressValueProps) => {\n const element = injectElementRef();\n\n const state = injectProgressState();\n // Host bindings using helper functions\n attrBinding(element, 'aria-hidden', 'true');\n dataBinding(element, 'data-progressing', () => state().progressing());\n dataBinding(element, 'data-indeterminate', () => state().indeterminate());\n dataBinding(element, 'data-complete', () => state().complete());\n\n return {};\n },\n);\n","import { Directive } from '@angular/core';\nimport { ngpProgressValue } from './progress-value-state';\n\n@Directive({\n selector: '[ngpProgressValue]',\n exportAs: 'ngpProgressValue',\n})\nexport class NgpProgressValue {\n constructor() {\n ngpProgressValue({});\n }\n}\n","import { NumberInput } from '@angular/cdk/coercion';\nimport { Directive, input, numberAttribute } from '@angular/core';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { ngpProgress, provideProgressState } from './progress-state';\n\n/**\n * Apply the `ngpProgress` directive to an element that represents the progress bar.\n */\n@Directive({\n selector: '[ngpProgress]',\n providers: [provideProgressState()],\n})\nexport class NgpProgress {\n /**\n * Define the progress value.\n */\n readonly value = input<number | null, NumberInput>(0, {\n alias: 'ngpProgressValue',\n transform: v => (v == null ? null : numberAttribute(v)),\n });\n\n /**\n * Define the progress min value.\n * @default '0'\n */\n readonly min = input<number, NumberInput>(0, {\n alias: 'ngpProgressMin',\n transform: numberAttribute,\n });\n\n /**\n * Define the progress max value.\n * @default 100\n */\n readonly max = input<number, NumberInput>(100, {\n alias: 'ngpProgressMax',\n transform: numberAttribute,\n });\n\n /**\n * Define a function that returns the progress value label.\n * @param value The current value\n * @param max The maximum value\n * @returns The value label\n */\n readonly valueLabel = input<NgpProgressValueTextFn>(\n (value, max) => `${Math.round((value / max) * 100)}%`,\n {\n alias: 'ngpProgressValueLabel',\n },\n );\n\n /**\n * The unique identifier for the progress.\n */\n readonly id = input<string>(uniqueId('ngp-progress'));\n\n /**\n * The state of the progress bar.\n * @internal\n */\n private readonly state = ngpProgress({\n value: this.value,\n min: this.min,\n max: this.max,\n valueLabel: this.valueLabel,\n id: this.id,\n });\n\n /**\n * Get the progress value text.\n */\n protected readonly valueText = this.state.valueText;\n}\n\nexport type NgpProgressValueTextFn = (value: number, max: number) => string;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|