ng-primitives 0.92.0 → 0.94.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/a11y/index.d.ts +5 -1
- package/accordion/index.d.ts +30 -1
- package/autofill/index.d.ts +6 -0
- package/avatar/index.d.ts +17 -2
- package/breadcrumbs/index.d.ts +35 -7
- package/button/index.d.ts +24 -4
- package/checkbox/index.d.ts +17 -1
- package/fesm2022/ng-primitives-accordion.mjs +24 -0
- package/fesm2022/ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/ng-primitives-button.mjs +18 -4
- package/fesm2022/ng-primitives-button.mjs.map +1 -1
- package/fesm2022/ng-primitives-checkbox.mjs +25 -8
- package/fesm2022/ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/ng-primitives-file-upload.mjs +39 -38
- package/fesm2022/ng-primitives-file-upload.mjs.map +1 -1
- package/fesm2022/ng-primitives-focus-trap.mjs +107 -138
- package/fesm2022/ng-primitives-focus-trap.mjs.map +1 -1
- package/fesm2022/ng-primitives-form-field.mjs +323 -365
- package/fesm2022/ng-primitives-form-field.mjs.map +1 -1
- package/fesm2022/ng-primitives-input.mjs +10 -2
- package/fesm2022/ng-primitives-input.mjs.map +1 -1
- package/fesm2022/ng-primitives-interactions.mjs +57 -58
- package/fesm2022/ng-primitives-interactions.mjs.map +1 -1
- package/fesm2022/ng-primitives-listbox.mjs +2 -2
- package/fesm2022/ng-primitives-listbox.mjs.map +1 -1
- package/fesm2022/ng-primitives-menu.mjs +313 -352
- package/fesm2022/ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/ng-primitives-roving-focus.mjs +1 -1
- package/fesm2022/ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/ng-primitives-separator.mjs +15 -7
- package/fesm2022/ng-primitives-separator.mjs.map +1 -1
- package/fesm2022/ng-primitives-slider.mjs +26 -9
- package/fesm2022/ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/ng-primitives-state.mjs +37 -8
- package/fesm2022/ng-primitives-state.mjs.map +1 -1
- package/fesm2022/ng-primitives-switch.mjs +16 -5
- package/fesm2022/ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/ng-primitives-tabs.mjs +197 -189
- package/fesm2022/ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/ng-primitives-textarea.mjs +7 -0
- package/fesm2022/ng-primitives-textarea.mjs.map +1 -1
- package/fesm2022/ng-primitives-toggle-group.mjs +22 -5
- package/fesm2022/ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/ng-primitives-toggle.mjs +16 -5
- package/fesm2022/ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/ng-primitives-toolbar.mjs +2 -2
- package/fesm2022/ng-primitives-toolbar.mjs.map +1 -1
- package/fesm2022/ng-primitives-tooltip.mjs +4 -4
- package/fesm2022/ng-primitives-tooltip.mjs.map +1 -1
- package/fesm2022/ng-primitives-utils.mjs.map +1 -1
- package/file-upload/index.d.ts +30 -8
- package/focus-trap/index.d.ts +35 -75
- package/form-field/index.d.ts +328 -123
- package/input/index.d.ts +19 -0
- package/interactions/index.d.ts +16 -16
- package/menu/index.d.ts +247 -120
- package/package.json +1 -1
- package/roving-focus/index.d.ts +88 -12
- package/schematics/ng-generate/templates/tabs/tabs.__fileSuffix@dasherize__.ts.template +2 -2
- package/separator/index.d.ts +1 -0
- package/slider/index.d.ts +34 -6
- package/state/index.d.ts +31 -8
- package/switch/index.d.ts +20 -4
- package/tabs/index.d.ts +343 -82
- package/textarea/index.d.ts +13 -0
- package/toggle/index.d.ts +12 -3
- package/toggle-group/index.d.ts +22 -2
- package/toolbar/index.d.ts +7 -0
- package/utils/index.d.ts +1 -1
package/a11y/index.d.ts
CHANGED
|
@@ -71,10 +71,14 @@ declare const injectVisuallyHiddenState: {
|
|
|
71
71
|
(): Signal<NgpVisuallyHiddenState>;
|
|
72
72
|
(options: {
|
|
73
73
|
hoisted: true;
|
|
74
|
+
optional?: boolean;
|
|
75
|
+
skipSelf?: boolean;
|
|
74
76
|
}): Signal<NgpVisuallyHiddenState | null>;
|
|
75
77
|
(options?: {
|
|
76
78
|
hoisted?: boolean;
|
|
77
|
-
|
|
79
|
+
optional?: boolean;
|
|
80
|
+
skipSelf?: boolean;
|
|
81
|
+
}): Signal<NgpVisuallyHiddenState> | Signal<NgpVisuallyHiddenState | null>;
|
|
78
82
|
};
|
|
79
83
|
declare const provideVisuallyHiddenState: (opts?: {
|
|
80
84
|
inherit?: boolean;
|
package/accordion/index.d.ts
CHANGED
|
@@ -34,10 +34,14 @@ declare const injectAccordionContentState: {
|
|
|
34
34
|
(): Signal<{}>;
|
|
35
35
|
(options: {
|
|
36
36
|
hoisted: true;
|
|
37
|
+
optional?: boolean;
|
|
38
|
+
skipSelf?: boolean;
|
|
37
39
|
}): Signal<{} | null>;
|
|
38
40
|
(options?: {
|
|
39
41
|
hoisted?: boolean;
|
|
40
|
-
|
|
42
|
+
optional?: boolean;
|
|
43
|
+
skipSelf?: boolean;
|
|
44
|
+
}): Signal<{}> | Signal<{} | null>;
|
|
41
45
|
};
|
|
42
46
|
declare const provideAccordionContentState: (opts?: {
|
|
43
47
|
inherit?: boolean;
|
|
@@ -282,7 +286,25 @@ declare class NgpAccordion<T> {
|
|
|
282
286
|
* @internal
|
|
283
287
|
*/
|
|
284
288
|
isOpen(value: T): boolean;
|
|
289
|
+
/**
|
|
290
|
+
* Set the value of the accordion.
|
|
291
|
+
* @param value The value to set.
|
|
292
|
+
*/
|
|
293
|
+
setValue(value: T | T[] | null): void;
|
|
294
|
+
/**
|
|
295
|
+
* @param value The value to toggle.
|
|
296
|
+
*/
|
|
285
297
|
toggle(value: T): void;
|
|
298
|
+
/**
|
|
299
|
+
* Set the disabled state of the accordion.
|
|
300
|
+
* @param value The disabled state.
|
|
301
|
+
*/
|
|
302
|
+
setDisabled(value: boolean): void;
|
|
303
|
+
/**
|
|
304
|
+
* Set the orientation of the accordion.
|
|
305
|
+
* @param value The orientation.
|
|
306
|
+
*/
|
|
307
|
+
setOrientation(value: NgpOrientation): void;
|
|
286
308
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgpAccordion<any>, never>;
|
|
287
309
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgpAccordion<any>, "[ngpAccordion]", ["ngpAccordion"], { "type": { "alias": "ngpAccordionType"; "required": false; "isSignal": true; }; "collapsible": { "alias": "ngpAccordionCollapsible"; "required": false; "isSignal": true; }; "value": { "alias": "ngpAccordionValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpAccordionDisabled"; "required": false; "isSignal": true; }; "orientation": { "alias": "ngpAccordionOrientation"; "required": false; "isSignal": true; }; }, { "valueChange": "ngpAccordionValueChange"; }, never, never, true, never>;
|
|
288
310
|
}
|
|
@@ -342,15 +364,22 @@ declare const injectAccordionTriggerState: {
|
|
|
342
364
|
}>;
|
|
343
365
|
(options: {
|
|
344
366
|
hoisted: true;
|
|
367
|
+
optional?: boolean;
|
|
368
|
+
skipSelf?: boolean;
|
|
345
369
|
}): Signal<{
|
|
346
370
|
id: Signal<string>;
|
|
347
371
|
toggle: () => void;
|
|
348
372
|
} | null>;
|
|
349
373
|
(options?: {
|
|
350
374
|
hoisted?: boolean;
|
|
375
|
+
optional?: boolean;
|
|
376
|
+
skipSelf?: boolean;
|
|
351
377
|
}): Signal<{
|
|
352
378
|
id: Signal<string>;
|
|
353
379
|
toggle: () => void;
|
|
380
|
+
}> | Signal<{
|
|
381
|
+
id: Signal<string>;
|
|
382
|
+
toggle: () => void;
|
|
354
383
|
} | null>;
|
|
355
384
|
};
|
|
356
385
|
declare const provideAccordionTriggerState: (opts?: {
|
package/autofill/index.d.ts
CHANGED
|
@@ -45,13 +45,19 @@ declare const injectAutofillState: {
|
|
|
45
45
|
}>;
|
|
46
46
|
(options: {
|
|
47
47
|
hoisted: true;
|
|
48
|
+
optional?: boolean;
|
|
49
|
+
skipSelf?: boolean;
|
|
48
50
|
}): Signal<{
|
|
49
51
|
autofilled: _angular_core.WritableSignal<boolean>;
|
|
50
52
|
} | null>;
|
|
51
53
|
(options?: {
|
|
52
54
|
hoisted?: boolean;
|
|
55
|
+
optional?: boolean;
|
|
56
|
+
skipSelf?: boolean;
|
|
53
57
|
}): Signal<{
|
|
54
58
|
autofilled: _angular_core.WritableSignal<boolean>;
|
|
59
|
+
}> | Signal<{
|
|
60
|
+
autofilled: _angular_core.WritableSignal<boolean>;
|
|
55
61
|
} | null>;
|
|
56
62
|
};
|
|
57
63
|
declare const provideAutofillState: (opts?: {
|
package/avatar/index.d.ts
CHANGED
|
@@ -34,10 +34,14 @@ declare const injectAvatarFallbackState: {
|
|
|
34
34
|
(): Signal<{}>;
|
|
35
35
|
(options: {
|
|
36
36
|
hoisted: true;
|
|
37
|
+
optional?: boolean;
|
|
38
|
+
skipSelf?: boolean;
|
|
37
39
|
}): Signal<{} | null>;
|
|
38
40
|
(options?: {
|
|
39
41
|
hoisted?: boolean;
|
|
40
|
-
|
|
42
|
+
optional?: boolean;
|
|
43
|
+
skipSelf?: boolean;
|
|
44
|
+
}): Signal<{}> | Signal<{} | null>;
|
|
41
45
|
};
|
|
42
46
|
declare const provideAvatarFallbackState: (opts?: {
|
|
43
47
|
inherit?: boolean;
|
|
@@ -62,10 +66,14 @@ declare const injectAvatarImageState: {
|
|
|
62
66
|
(): _angular_core.Signal<{}>;
|
|
63
67
|
(options: {
|
|
64
68
|
hoisted: true;
|
|
69
|
+
optional?: boolean;
|
|
70
|
+
skipSelf?: boolean;
|
|
65
71
|
}): _angular_core.Signal<{} | null>;
|
|
66
72
|
(options?: {
|
|
67
73
|
hoisted?: boolean;
|
|
68
|
-
|
|
74
|
+
optional?: boolean;
|
|
75
|
+
skipSelf?: boolean;
|
|
76
|
+
}): _angular_core.Signal<{}> | _angular_core.Signal<{} | null>;
|
|
69
77
|
};
|
|
70
78
|
declare const provideAvatarImageState: (opts?: {
|
|
71
79
|
inherit?: boolean;
|
|
@@ -98,15 +106,22 @@ declare const injectAvatarState: {
|
|
|
98
106
|
}>;
|
|
99
107
|
(options: {
|
|
100
108
|
hoisted: true;
|
|
109
|
+
optional?: boolean;
|
|
110
|
+
skipSelf?: boolean;
|
|
101
111
|
}): Signal<{
|
|
102
112
|
status: _angular_core.WritableSignal<NgpAvatarStatus>;
|
|
103
113
|
setStatus: (newStatus: NgpAvatarStatus) => void;
|
|
104
114
|
} | null>;
|
|
105
115
|
(options?: {
|
|
106
116
|
hoisted?: boolean;
|
|
117
|
+
optional?: boolean;
|
|
118
|
+
skipSelf?: boolean;
|
|
107
119
|
}): Signal<{
|
|
108
120
|
status: _angular_core.WritableSignal<NgpAvatarStatus>;
|
|
109
121
|
setStatus: (newStatus: NgpAvatarStatus) => void;
|
|
122
|
+
}> | Signal<{
|
|
123
|
+
status: _angular_core.WritableSignal<NgpAvatarStatus>;
|
|
124
|
+
setStatus: (newStatus: NgpAvatarStatus) => void;
|
|
110
125
|
} | null>;
|
|
111
126
|
};
|
|
112
127
|
declare const provideAvatarState: (opts?: {
|
package/breadcrumbs/index.d.ts
CHANGED
|
@@ -73,10 +73,14 @@ declare const injectBreadcrumbsState: {
|
|
|
73
73
|
(): _angular_core.Signal<{}>;
|
|
74
74
|
(options: {
|
|
75
75
|
hoisted: true;
|
|
76
|
+
optional?: boolean;
|
|
77
|
+
skipSelf?: boolean;
|
|
76
78
|
}): _angular_core.Signal<{} | null>;
|
|
77
79
|
(options?: {
|
|
78
80
|
hoisted?: boolean;
|
|
79
|
-
|
|
81
|
+
optional?: boolean;
|
|
82
|
+
skipSelf?: boolean;
|
|
83
|
+
}): _angular_core.Signal<{}> | _angular_core.Signal<{} | null>;
|
|
80
84
|
};
|
|
81
85
|
declare const provideBreadcrumbsState: (opts?: {
|
|
82
86
|
inherit?: boolean;
|
|
@@ -92,10 +96,14 @@ declare const injectBreadcrumbListState: {
|
|
|
92
96
|
(): _angular_core.Signal<{}>;
|
|
93
97
|
(options: {
|
|
94
98
|
hoisted: true;
|
|
99
|
+
optional?: boolean;
|
|
100
|
+
skipSelf?: boolean;
|
|
95
101
|
}): _angular_core.Signal<{} | null>;
|
|
96
102
|
(options?: {
|
|
97
103
|
hoisted?: boolean;
|
|
98
|
-
|
|
104
|
+
optional?: boolean;
|
|
105
|
+
skipSelf?: boolean;
|
|
106
|
+
}): _angular_core.Signal<{}> | _angular_core.Signal<{} | null>;
|
|
99
107
|
};
|
|
100
108
|
declare const provideBreadcrumbListState: (opts?: {
|
|
101
109
|
inherit?: boolean;
|
|
@@ -111,10 +119,14 @@ declare const injectBreadcrumbItemState: {
|
|
|
111
119
|
(): _angular_core.Signal<{}>;
|
|
112
120
|
(options: {
|
|
113
121
|
hoisted: true;
|
|
122
|
+
optional?: boolean;
|
|
123
|
+
skipSelf?: boolean;
|
|
114
124
|
}): _angular_core.Signal<{} | null>;
|
|
115
125
|
(options?: {
|
|
116
126
|
hoisted?: boolean;
|
|
117
|
-
|
|
127
|
+
optional?: boolean;
|
|
128
|
+
skipSelf?: boolean;
|
|
129
|
+
}): _angular_core.Signal<{}> | _angular_core.Signal<{} | null>;
|
|
118
130
|
};
|
|
119
131
|
declare const provideBreadcrumbItemState: (opts?: {
|
|
120
132
|
inherit?: boolean;
|
|
@@ -130,10 +142,14 @@ declare const injectBreadcrumbLinkState: {
|
|
|
130
142
|
(): _angular_core.Signal<{}>;
|
|
131
143
|
(options: {
|
|
132
144
|
hoisted: true;
|
|
145
|
+
optional?: boolean;
|
|
146
|
+
skipSelf?: boolean;
|
|
133
147
|
}): _angular_core.Signal<{} | null>;
|
|
134
148
|
(options?: {
|
|
135
149
|
hoisted?: boolean;
|
|
136
|
-
|
|
150
|
+
optional?: boolean;
|
|
151
|
+
skipSelf?: boolean;
|
|
152
|
+
}): _angular_core.Signal<{}> | _angular_core.Signal<{} | null>;
|
|
137
153
|
};
|
|
138
154
|
declare const provideBreadcrumbLinkState: (opts?: {
|
|
139
155
|
inherit?: boolean;
|
|
@@ -149,10 +165,14 @@ declare const injectBreadcrumbPageState: {
|
|
|
149
165
|
(): _angular_core.Signal<{}>;
|
|
150
166
|
(options: {
|
|
151
167
|
hoisted: true;
|
|
168
|
+
optional?: boolean;
|
|
169
|
+
skipSelf?: boolean;
|
|
152
170
|
}): _angular_core.Signal<{} | null>;
|
|
153
171
|
(options?: {
|
|
154
172
|
hoisted?: boolean;
|
|
155
|
-
|
|
173
|
+
optional?: boolean;
|
|
174
|
+
skipSelf?: boolean;
|
|
175
|
+
}): _angular_core.Signal<{}> | _angular_core.Signal<{} | null>;
|
|
156
176
|
};
|
|
157
177
|
declare const provideBreadcrumbPageState: (opts?: {
|
|
158
178
|
inherit?: boolean;
|
|
@@ -168,10 +188,14 @@ declare const injectBreadcrumbSeparatorState: {
|
|
|
168
188
|
(): _angular_core.Signal<{}>;
|
|
169
189
|
(options: {
|
|
170
190
|
hoisted: true;
|
|
191
|
+
optional?: boolean;
|
|
192
|
+
skipSelf?: boolean;
|
|
171
193
|
}): _angular_core.Signal<{} | null>;
|
|
172
194
|
(options?: {
|
|
173
195
|
hoisted?: boolean;
|
|
174
|
-
|
|
196
|
+
optional?: boolean;
|
|
197
|
+
skipSelf?: boolean;
|
|
198
|
+
}): _angular_core.Signal<{}> | _angular_core.Signal<{} | null>;
|
|
175
199
|
};
|
|
176
200
|
declare const provideBreadcrumbSeparatorState: (opts?: {
|
|
177
201
|
inherit?: boolean;
|
|
@@ -187,10 +211,14 @@ declare const injectBreadcrumbEllipsisState: {
|
|
|
187
211
|
(): _angular_core.Signal<{}>;
|
|
188
212
|
(options: {
|
|
189
213
|
hoisted: true;
|
|
214
|
+
optional?: boolean;
|
|
215
|
+
skipSelf?: boolean;
|
|
190
216
|
}): _angular_core.Signal<{} | null>;
|
|
191
217
|
(options?: {
|
|
192
218
|
hoisted?: boolean;
|
|
193
|
-
|
|
219
|
+
optional?: boolean;
|
|
220
|
+
skipSelf?: boolean;
|
|
221
|
+
}): _angular_core.Signal<{}> | _angular_core.Signal<{} | null>;
|
|
194
222
|
};
|
|
195
223
|
declare const provideBreadcrumbEllipsisState: (opts?: {
|
|
196
224
|
inherit?: boolean;
|
package/button/index.d.ts
CHANGED
|
@@ -3,20 +3,35 @@ import { Signal } from '@angular/core';
|
|
|
3
3
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
4
4
|
|
|
5
5
|
interface NgpButtonState {
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Whether the button is disabled.
|
|
8
|
+
*/
|
|
9
|
+
readonly disabled: Signal<boolean>;
|
|
10
|
+
/**
|
|
11
|
+
* Set the disabled state of the button.
|
|
12
|
+
* @param value The disabled state.
|
|
13
|
+
*/
|
|
14
|
+
setDisabled(value: boolean): void;
|
|
7
15
|
}
|
|
8
16
|
interface NgpButtonProps {
|
|
9
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Whether the button is disabled.
|
|
19
|
+
*/
|
|
20
|
+
readonly disabled?: Signal<boolean>;
|
|
10
21
|
}
|
|
11
|
-
declare const ngpButton: ({ disabled }: NgpButtonProps) => NgpButtonState;
|
|
22
|
+
declare const ngpButton: ({ disabled: _disabled }: NgpButtonProps) => NgpButtonState;
|
|
12
23
|
declare const injectButtonState: {
|
|
13
24
|
(): Signal<NgpButtonState>;
|
|
14
25
|
(options: {
|
|
15
26
|
hoisted: true;
|
|
27
|
+
optional?: boolean;
|
|
28
|
+
skipSelf?: boolean;
|
|
16
29
|
}): Signal<NgpButtonState | null>;
|
|
17
30
|
(options?: {
|
|
18
31
|
hoisted?: boolean;
|
|
19
|
-
|
|
32
|
+
optional?: boolean;
|
|
33
|
+
skipSelf?: boolean;
|
|
34
|
+
}): Signal<NgpButtonState> | Signal<NgpButtonState | null>;
|
|
20
35
|
};
|
|
21
36
|
declare const provideButtonState: (opts?: {
|
|
22
37
|
inherit?: boolean;
|
|
@@ -31,6 +46,11 @@ declare class NgpButton {
|
|
|
31
46
|
* The button state.
|
|
32
47
|
*/
|
|
33
48
|
protected readonly state: NgpButtonState;
|
|
49
|
+
/**
|
|
50
|
+
* Set the disabled state of the button.
|
|
51
|
+
* @param value The disabled state.
|
|
52
|
+
*/
|
|
53
|
+
setDisabled(value: boolean): void;
|
|
34
54
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgpButton, never>;
|
|
35
55
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgpButton, "[ngpButton]", ["ngpButton"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
36
56
|
}
|
package/checkbox/index.d.ts
CHANGED
|
@@ -82,10 +82,14 @@ declare const injectCheckboxState: {
|
|
|
82
82
|
(): Signal<NgpCheckboxState>;
|
|
83
83
|
(options: {
|
|
84
84
|
hoisted: true;
|
|
85
|
+
optional?: boolean;
|
|
86
|
+
skipSelf?: boolean;
|
|
85
87
|
}): Signal<NgpCheckboxState | null>;
|
|
86
88
|
(options?: {
|
|
87
89
|
hoisted?: boolean;
|
|
88
|
-
|
|
90
|
+
optional?: boolean;
|
|
91
|
+
skipSelf?: boolean;
|
|
92
|
+
}): Signal<NgpCheckboxState> | Signal<NgpCheckboxState | null>;
|
|
89
93
|
};
|
|
90
94
|
declare const provideCheckboxState: (opts?: {
|
|
91
95
|
inherit?: boolean;
|
|
@@ -129,6 +133,18 @@ declare class NgpCheckbox {
|
|
|
129
133
|
*/
|
|
130
134
|
protected readonly state: NgpCheckboxState;
|
|
131
135
|
toggle(event?: Event): void;
|
|
136
|
+
/**
|
|
137
|
+
* Update the checked value.
|
|
138
|
+
*/
|
|
139
|
+
setChecked(value: boolean): void;
|
|
140
|
+
/**
|
|
141
|
+
* Update the indeterminate value.
|
|
142
|
+
*/
|
|
143
|
+
setIndeterminate(value: boolean): void;
|
|
144
|
+
/**
|
|
145
|
+
* Set the disabled value.
|
|
146
|
+
*/
|
|
147
|
+
setDisabled(value: boolean): void;
|
|
132
148
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgpCheckbox, never>;
|
|
133
149
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgpCheckbox, "[ngpCheckbox]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "checked": { "alias": "ngpCheckboxChecked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "ngpCheckboxIndeterminate"; "required": false; "isSignal": true; }; "required": { "alias": "ngpCheckboxRequired"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpCheckboxDisabled"; "required": false; "isSignal": true; }; }, { "checkedChange": "ngpCheckboxCheckedChange"; "indeterminateChange": "ngpCheckboxIndeterminateChange"; }, never, never, true, never>;
|
|
134
150
|
}
|
|
@@ -381,9 +381,33 @@ class NgpAccordion {
|
|
|
381
381
|
isOpen(value) {
|
|
382
382
|
return this.state.isOpen(value);
|
|
383
383
|
}
|
|
384
|
+
/**
|
|
385
|
+
* Set the value of the accordion.
|
|
386
|
+
* @param value The value to set.
|
|
387
|
+
*/
|
|
388
|
+
setValue(value) {
|
|
389
|
+
this.state.setValue(value);
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* @param value The value to toggle.
|
|
393
|
+
*/
|
|
384
394
|
toggle(value) {
|
|
385
395
|
this.state.toggle(value);
|
|
386
396
|
}
|
|
397
|
+
/**
|
|
398
|
+
* Set the disabled state of the accordion.
|
|
399
|
+
* @param value The disabled state.
|
|
400
|
+
*/
|
|
401
|
+
setDisabled(value) {
|
|
402
|
+
this.state.setDisabled(value);
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Set the orientation of the accordion.
|
|
406
|
+
* @param value The orientation.
|
|
407
|
+
*/
|
|
408
|
+
setOrientation(value) {
|
|
409
|
+
this.state.setOrientation(value);
|
|
410
|
+
}
|
|
387
411
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpAccordion, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
388
412
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpAccordion, isStandalone: true, selector: "[ngpAccordion]", inputs: { type: { classPropertyName: "type", publicName: "ngpAccordionType", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "ngpAccordionCollapsible", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "ngpAccordionValue", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpAccordionDisabled", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "ngpAccordionOrientation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "ngpAccordionValueChange" }, providers: [provideAccordionState()], exportAs: ["ngpAccordion"], ngImport: i0 }); }
|
|
389
413
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-primitives-accordion.mjs","sources":["../../../../packages/ng-primitives/accordion/src/accordion/accordion-state.ts","../../../../packages/ng-primitives/accordion/src/accordion-item/accordion-item-state.ts","../../../../packages/ng-primitives/accordion/src/accordion-content/accordion-content-state.ts","../../../../packages/ng-primitives/accordion/src/accordion-content/accordion-content.ts","../../../../packages/ng-primitives/accordion/src/accordion-item/accordion-item.ts","../../../../packages/ng-primitives/accordion/src/accordion-trigger/accordion-trigger-state.ts","../../../../packages/ng-primitives/accordion/src/accordion-trigger/accordion-trigger.ts","../../../../packages/ng-primitives/accordion/src/config/accordion-config.ts","../../../../packages/ng-primitives/accordion/src/accordion/accordion.ts","../../../../packages/ng-primitives/accordion/src/ng-primitives-accordion.ts"],"sourcesContent":["import { signal, Signal, WritableSignal } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, controlled, createPrimitive, deprecatedSetter } from 'ng-primitives/state';\n\n/**\n * The state interface for the Accordion pattern.\n */\nexport interface NgpAccordionState<T> {\n /**\n * The value of the accordion.\n */\n readonly value: WritableSignal<T | T[] | null>;\n /**\n * Whether the accordion is disabled.\n */\n readonly disabled: WritableSignal<boolean>;\n /**\n * The accordion orientation.\n */\n readonly orientation: WritableSignal<NgpOrientation>;\n /**\n * Set the value of the accordion.\n */\n setValue(value: T | T[] | null): void;\n /**\n * Set the disabled state of the accordion.\n */\n setDisabled(value: boolean): void;\n /**\n * Set the orientation of the accordion.\n */\n setOrientation(value: NgpOrientation): void;\n /**\n * Whether the specified value is open.\n */\n isOpen(value: T): boolean;\n /**\n * Toggle the specified value.\n */\n toggle(value: T): void;\n}\n\n/**\n * The props interface for the Accordion pattern.\n */\nexport interface NgpAccordionProps<T> {\n /**\n * The type of the accordion.\n */\n readonly type: Signal<NgpAccordionType>;\n\n /**\n * Whether the accordion is collapsible.\n */\n readonly collapsible: Signal<boolean>;\n\n /**\n * The value of the accordion.\n */\n readonly value: Signal<T | T[] | null>;\n\n /**\n * Whether the accordion is disabled.\n */\n readonly disabled?: Signal<boolean>;\n\n /**\n * The accordion orientation.\n */\n readonly orientation: Signal<NgpOrientation>;\n\n /**\n * Callback fired when valueChange is emitted.\n */\n readonly onValueChange?: (value: T | T[] | null) => void;\n}\n\nexport const [NgpAccordionStateToken, ngpAccordion, _injectAccordionState, provideAccordionState] =\n createPrimitive(\n 'NgpAccordion',\n <T>({\n type,\n collapsible,\n value: _value = signal(null),\n disabled: _disabled = signal(false),\n orientation: _orientation = signal('vertical'),\n onValueChange,\n }: NgpAccordionProps<T>): NgpAccordionState<T> => {\n const element = injectElementRef();\n\n // Create controlled signals\n const value = controlled(_value);\n const disabled = controlled(_disabled);\n const orientation = controlled(_orientation);\n\n // Host bindings extracted from directive\n attrBinding(element, 'data-orientation', orientation);\n attrBinding(element, 'data-disabled', disabled);\n\n // Setter methods\n function setDisabled(value: boolean): void {\n disabled.set(value);\n }\n\n function setOrientation(value: NgpOrientation): void {\n orientation.set(value);\n }\n\n function setValue(newValue: T | T[] | null): void {\n value.set(newValue);\n }\n\n // Methods extracted from directive\n /**\n * @param value The value to check. @returns Whether the value is open. @internal\n */\n function isOpen(itemValue: T): boolean {\n if (type() === 'multiple') {\n return (value() as T[] | null)?.includes(itemValue) ?? false;\n }\n\n return value() === itemValue;\n }\n\n function toggle(itemValue: T): void {\n const open = isOpen(itemValue);\n\n // if we are in single mode and the itemValue is already open and the accordion is not collapsible, do nothing\n if (type() === 'single' && open && !collapsible()) {\n return;\n }\n\n // if we are in single mode then toggle the itemValue\n if (type() === 'single') {\n const newValue = open ? null : itemValue;\n value.set(newValue);\n onValueChange?.(newValue);\n return;\n }\n\n // if we are in multiple mode then toggle the itemValue\n let values = (value() as T[]) ?? [];\n\n if (open) {\n values = values.filter(v => v !== itemValue);\n } else {\n values = [...values, itemValue];\n }\n value.set(values);\n onValueChange?.(values);\n }\n\n return {\n value: deprecatedSetter(value, 'setValue'),\n disabled: deprecatedSetter(disabled, 'setDisabled'),\n orientation: deprecatedSetter(orientation, 'setOrientation'),\n setDisabled,\n setOrientation,\n setValue,\n isOpen,\n toggle,\n };\n },\n );\n\nexport type NgpAccordionType = 'single' | 'multiple';\n\nexport function injectAccordionState<T>(): Signal<NgpAccordionState<T>> {\n return _injectAccordionState() as Signal<NgpAccordionState<T>>;\n}\n","import { computed, Signal, signal } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { controlled, createPrimitive, dataBinding, deprecatedSetter } from 'ng-primitives/state';\nimport { injectAccordionState } from '../accordion/accordion-state';\n\nexport interface NgpAccordionItemState<T> {\n /**\n * The value of the accordion item.\n */\n readonly value: Signal<T>;\n /**\n * Whether the accordion item is disabled.\n */\n readonly disabled: Signal<boolean>;\n /**\n * Whether the accordion item is expanded.\n */\n readonly open: Signal<boolean>;\n /**\n * The trigger id.\n */\n readonly triggerId: Signal<string | undefined>;\n /**\n * The content id.\n */\n readonly contentId: Signal<string | undefined>;\n /**\n * Set the disabled state of the accordion item.\n */\n setDisabled(value: boolean): void;\n /**\n * Set the trigger of the accordion item.\n */\n setTrigger(id: string): void;\n /**\n * Set the content of the accordion item.\n */\n setContent(id: string): void;\n}\n\nexport interface NgpAccordionItemProps<T> {\n /**\n * The value of the accordion item.\n */\n readonly value: Signal<T>;\n /**\n * Whether the accordion item is disabled.\n */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpAccordionItemStateToken,\n ngpAccordionItem,\n _injectAccordionItemState,\n provideAccordionItemState,\n] = createPrimitive(\n 'NgpAccordionItem',\n <T>({ value, disabled: _disabled = signal(false) }: NgpAccordionItemProps<T>) => {\n const accordion = injectAccordionState<T>();\n const element = injectElementRef();\n\n const disabled = controlled(_disabled);\n\n // Whether the accordion item is expanded.\n const open = computed<boolean>(() => accordion().isOpen(value()));\n\n const trigger = signal<string | undefined>(undefined);\n const content = signal<string | undefined>(undefined);\n\n // Setup host data bindings\n dataBinding(element, 'data-orientation', accordion().orientation);\n dataBinding(element, 'data-open', open);\n dataBinding(element, 'data-disabled', () => disabled() || accordion().disabled());\n\n // Set the disabled state of the accordion item.\n function setDisabled(value: boolean) {\n disabled.set(value);\n }\n\n function setTrigger(id: string) {\n trigger.set(id);\n }\n\n function setContent(id: string) {\n content.set(id);\n }\n\n return {\n value,\n open,\n disabled: deprecatedSetter(disabled, 'setDisabled'),\n triggerId: deprecatedSetter(trigger, 'setTrigger'),\n contentId: deprecatedSetter(content, 'setContent'),\n setDisabled,\n setTrigger,\n setContent,\n };\n },\n);\n\nexport function injectAccordionItemState<T>(): Signal<NgpAccordionItemState<T>> {\n return _injectAccordionItemState() as Signal<NgpAccordionItemState<T>>;\n}\n","import { afterRenderEffect, computed, signal, Signal } from '@angular/core';\nimport { fromMutationObserver, injectDimensions, injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { safeTakeUntilDestroyed, uniqueId } from 'ng-primitives/utils';\nimport { debounceTime } from 'rxjs/operators';\nimport { injectAccordionItemState } from '../accordion-item/accordion-item-state';\nimport { injectAccordionState } from '../accordion/accordion-state';\n\nexport interface NgpAccordionContentState {\n /**\n * The id of the content region\n */\n readonly id: Signal<string>;\n}\n\nexport interface NgpAccordionContentProps {\n /**\n * The id of the content region\n */\n readonly id?: Signal<string>;\n}\n\nexport const [\n NgpAccordionContentStateToken,\n ngpAccordionContent,\n injectAccordionContentState,\n provideAccordionContentState,\n] = createPrimitive(\n 'NgpAccordionContent',\n <T>({ id = signal(uniqueId('ngp-accordion-content')) }: NgpAccordionContentProps) => {\n const element = injectElementRef();\n const accordion = injectAccordionState<T>();\n const accordionItem = injectAccordionItemState<T>();\n const dimensions = injectDimensions();\n\n const hidden = computed(() =>\n !accordionItem().open() && dimensions().height === 0 ? 'until-found' : null,\n );\n\n // Host bindings\n attrBinding(element, 'role', 'region');\n attrBinding(element, 'id', id);\n attrBinding(element, 'aria-labelledby', accordionItem().triggerId);\n attrBinding(element, 'hidden', hidden);\n\n dataBinding(element, 'data-orientation', accordion().orientation);\n dataBinding(element, 'data-open', accordionItem().open);\n dataBinding(element, 'data-closed', () => !accordionItem().open());\n\n listener(element, 'beforematch', onBeforeMatch);\n\n // Register the content with the accordion item state\n accordionItem().setContent(id());\n\n /**\n * Handle the beforematch event to automatically open the accordion item\n * when the browser's find-in-page functionality tries to reveal hidden content.\n */\n function onBeforeMatch(): void {\n const isDisabled = accordion().disabled() || accordionItem().disabled();\n if (isDisabled) {\n return;\n }\n accordion().toggle(accordionItem().value() as T);\n }\n\n function updateDimensions(): void {\n if (accordionItem().open()) {\n // remove the inline styles to reset them\n element.nativeElement.style.removeProperty('--ngp-accordion-content-width');\n element.nativeElement.style.removeProperty('--ngp-accordion-content-height');\n // set the dimensions based on the content\n element.nativeElement.style.setProperty(\n '--ngp-accordion-content-width',\n `${element.nativeElement.scrollWidth}px`,\n );\n element.nativeElement.style.setProperty(\n '--ngp-accordion-content-height',\n `${element.nativeElement.scrollHeight}px`,\n );\n }\n }\n\n // any time the open state of the accordion item changes, update the dimensions\n afterRenderEffect(() => updateDimensions());\n\n // update dimensions when the content changes\n fromMutationObserver(element.nativeElement, {\n childList: true,\n subtree: true,\n disabled: computed(() => !accordionItem().open()),\n })\n .pipe(debounceTime(0), safeTakeUntilDestroyed())\n .subscribe(() => updateDimensions());\n\n return {};\n },\n);\n","import { Directive, input } from '@angular/core';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { ngpAccordionContent } from './accordion-content-state';\n\n/**\n * Apply the `ngpAccordionContent` directive to an element that represents the content of an accordion item.\n */\n@Directive({\n selector: '[ngpAccordionContent]',\n exportAs: 'ngpAccordionContent',\n})\nexport class NgpAccordionContent<T> {\n /**\n * The id of the content region\n */\n readonly id = input<string>(uniqueId('ngp-accordion-content'));\n\n constructor() {\n ngpAccordionContent<T>({ id: this.id });\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, booleanAttribute, input } from '@angular/core';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { injectAccordionState } from '../accordion/accordion-state';\nimport { ngpAccordionItem, provideAccordionItemState } from './accordion-item-state';\n\n/**\n * Apply the `ngpAccordionItem` directive to an element that represents an accordion item.\n */\n@Directive({\n selector: '[ngpAccordionItem]',\n exportAs: 'ngpAccordionItem',\n providers: [provideAccordionItemState()],\n})\nexport class NgpAccordionItem<T> {\n /**\n * Access the accordion.\n */\n protected readonly accordion = injectAccordionState<T>();\n\n /**\n * The value of the accordion item.\n */\n readonly value = input<T>(uniqueId('ngp-accordion-item') as T, {\n alias: 'ngpAccordionItemValue',\n });\n\n /**\n * Whether the accordion item is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpAccordionItemDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The accordion item state.\n */\n protected readonly state = ngpAccordionItem<T>({\n value: this.value,\n disabled: this.disabled,\n });\n\n /**\n * The open state of the accordion item.\n */\n readonly open = this.state.open;\n}\n","import { HOST_TAG_NAME, inject, signal, Signal } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { injectAccordionItemState } from '../accordion-item/accordion-item-state';\nimport { injectAccordionState } from '../accordion/accordion-state';\n\nexport interface NgpAccordionTriggerState {\n /**\n * The id of the trigger button\n */\n readonly id: Signal<string>;\n /**\n * Toggle the accordion item.\n */\n toggle(): void;\n}\n\nexport interface NgpAccordionTriggerProps {\n /**\n * The id of the trigger button\n */\n readonly id?: Signal<string>;\n}\n\nexport const [\n NgpAccordionTriggerStateToken,\n ngpAccordionTrigger,\n injectAccordionTriggerState,\n provideAccordionTriggerState,\n] = createPrimitive(\n 'NgpAccordionTrigger',\n <T>({ id = signal(uniqueId('ngp-accordion-trigger')) }: NgpAccordionTriggerProps) => {\n const element = injectElementRef();\n const tagName = inject(HOST_TAG_NAME);\n const accordion = injectAccordionState<T>();\n const accordionItem = injectAccordionItemState<T>();\n\n // Host bindings\n attrBinding(element, 'id', id);\n attrBinding(element, 'type', tagName === 'button' ? 'button' : null);\n attrBinding(element, 'aria-controls', accordionItem().contentId);\n attrBinding(element, 'aria-expanded', accordionItem().open);\n dataBinding(element, 'data-orientation', accordion().orientation);\n dataBinding(element, 'data-open', accordionItem().open);\n dataBinding(\n element,\n 'data-disabled',\n () => accordionItem().disabled() || accordion().disabled(),\n );\n\n // register the trigger with the accordion item\n accordionItem().setTrigger(id());\n\n // Methods\n function toggle(): void {\n if (accordionItem().disabled() || accordion().disabled()) {\n return;\n }\n\n accordion().toggle(accordionItem().value()!);\n }\n\n // Event listeners\n listener(element, 'click', toggle);\n\n return { id, toggle };\n },\n);\n","import { Directive, input } from '@angular/core';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { ngpAccordionTrigger } from './accordion-trigger-state';\n\n/**\n * Apply the `ngpAccordionTrigger` directive to an element that represents the trigger for an accordion item, such as a button.\n */\n@Directive({\n selector: '[ngpAccordionTrigger]',\n exportAs: 'ngpAccordionTrigger',\n})\nexport class NgpAccordionTrigger<T> {\n /**\n * The id of the trigger.\n */\n readonly id = input<string>(uniqueId('ngp-accordion-trigger'));\n\n private readonly state = ngpAccordionTrigger<T>({ id: this.id });\n\n /**\n * Toggle the accordion item.\n */\n toggle(): void {\n this.state.toggle();\n }\n}\n","import { InjectionToken, Provider, inject } from '@angular/core';\nimport type { NgpAccordionType } from '../accordion/accordion-state';\n\nexport interface NgpAccordionConfig {\n /**\n * The default type of the accordion\n * @default 'single'\n */\n type: NgpAccordionType;\n /**\n * Whether the accordion is collapsible\n * @default false\n */\n collapsible: boolean;\n /**\n * The default orientation of the accordion\n * @default 'vertical'\n */\n orientation: 'vertical' | 'horizontal';\n}\n\nexport const defaultAccordionConfig: NgpAccordionConfig = {\n type: 'single',\n collapsible: false,\n orientation: 'vertical',\n};\n\nexport const NgpAccordionConfigToken = new InjectionToken<NgpAccordionConfig>(\n 'NgpAccordionConfigToken',\n);\n\n/**\n * Provide the default Accordion configuration\n * @param config The Accordion configuration\n * @returns The provider\n */\nexport function provideAccordionConfig(config: Partial<NgpAccordionConfig>): Provider[] {\n return [\n {\n provide: NgpAccordionConfigToken,\n useValue: { ...defaultAccordionConfig, ...config },\n },\n ];\n}\n\n/**\n * Inject the Accordion configuration\n * @returns The global Accordion configuration\n */\nexport function injectAccordionConfig(): NgpAccordionConfig {\n return inject(NgpAccordionConfigToken, { optional: true }) ?? defaultAccordionConfig;\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, output } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { injectAccordionConfig } from '../config/accordion-config';\nimport { ngpAccordion, NgpAccordionType, provideAccordionState } from './accordion-state';\n\n/**\n * Apply the `ngpAccordion` directive to an element that represents the group of accordion items.\n */\n@Directive({\n selector: '[ngpAccordion]',\n exportAs: 'ngpAccordion',\n providers: [provideAccordionState()],\n})\nexport class NgpAccordion<T> {\n /**\n * Access the global accordion configuration.\n */\n private readonly config = injectAccordionConfig();\n\n /**\n * The type of the accordion.\n */\n readonly type = input<NgpAccordionType>(this.config.type, {\n alias: 'ngpAccordionType',\n });\n\n /**\n * Whether the accordion is collapsible.\n */\n readonly collapsible = input<boolean, BooleanInput>(this.config.collapsible, {\n alias: 'ngpAccordionCollapsible',\n transform: booleanAttribute,\n });\n\n /**\n * The value of the accordion.\n */\n readonly value = input<T | T[] | null>(null, {\n alias: 'ngpAccordionValue',\n });\n\n /**\n * Event emitted when the accordion value changes.\n */\n readonly valueChange = output<T | T[] | null>({\n alias: 'ngpAccordionValueChange',\n });\n\n /**\n * Whether the accordion is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpAccordionDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The accordion orientation.\n */\n readonly orientation = input<NgpOrientation>(this.config.orientation, {\n alias: 'ngpAccordionOrientation',\n });\n\n /**\n * The accordion state.\n */\n protected readonly state = ngpAccordion<T>({\n type: this.type,\n collapsible: this.collapsible,\n value: this.value,\n disabled: this.disabled,\n orientation: this.orientation,\n onValueChange: value => this.valueChange.emit(value),\n });\n\n /**\n * @param value The value to check.\n * @returns Whether the value is open.\n * @internal\n */\n isOpen(value: T): boolean {\n return this.state.isOpen(value);\n }\n\n toggle(value: T): void {\n this.state.toggle(value);\n }\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":"ng-primitives-accordion.mjs","sources":["../../../../packages/ng-primitives/accordion/src/accordion/accordion-state.ts","../../../../packages/ng-primitives/accordion/src/accordion-item/accordion-item-state.ts","../../../../packages/ng-primitives/accordion/src/accordion-content/accordion-content-state.ts","../../../../packages/ng-primitives/accordion/src/accordion-content/accordion-content.ts","../../../../packages/ng-primitives/accordion/src/accordion-item/accordion-item.ts","../../../../packages/ng-primitives/accordion/src/accordion-trigger/accordion-trigger-state.ts","../../../../packages/ng-primitives/accordion/src/accordion-trigger/accordion-trigger.ts","../../../../packages/ng-primitives/accordion/src/config/accordion-config.ts","../../../../packages/ng-primitives/accordion/src/accordion/accordion.ts","../../../../packages/ng-primitives/accordion/src/ng-primitives-accordion.ts"],"sourcesContent":["import { signal, Signal, WritableSignal } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, controlled, createPrimitive, deprecatedSetter } from 'ng-primitives/state';\n\n/**\n * The state interface for the Accordion pattern.\n */\nexport interface NgpAccordionState<T> {\n /**\n * The value of the accordion.\n */\n readonly value: WritableSignal<T | T[] | null>;\n /**\n * Whether the accordion is disabled.\n */\n readonly disabled: WritableSignal<boolean>;\n /**\n * The accordion orientation.\n */\n readonly orientation: WritableSignal<NgpOrientation>;\n /**\n * Set the value of the accordion.\n */\n setValue(value: T | T[] | null): void;\n /**\n * Set the disabled state of the accordion.\n */\n setDisabled(value: boolean): void;\n /**\n * Set the orientation of the accordion.\n */\n setOrientation(value: NgpOrientation): void;\n /**\n * Whether the specified value is open.\n */\n isOpen(value: T): boolean;\n /**\n * Toggle the specified value.\n */\n toggle(value: T): void;\n}\n\n/**\n * The props interface for the Accordion pattern.\n */\nexport interface NgpAccordionProps<T> {\n /**\n * The type of the accordion.\n */\n readonly type: Signal<NgpAccordionType>;\n\n /**\n * Whether the accordion is collapsible.\n */\n readonly collapsible: Signal<boolean>;\n\n /**\n * The value of the accordion.\n */\n readonly value: Signal<T | T[] | null>;\n\n /**\n * Whether the accordion is disabled.\n */\n readonly disabled?: Signal<boolean>;\n\n /**\n * The accordion orientation.\n */\n readonly orientation: Signal<NgpOrientation>;\n\n /**\n * Callback fired when valueChange is emitted.\n */\n readonly onValueChange?: (value: T | T[] | null) => void;\n}\n\nexport const [NgpAccordionStateToken, ngpAccordion, _injectAccordionState, provideAccordionState] =\n createPrimitive(\n 'NgpAccordion',\n <T>({\n type,\n collapsible,\n value: _value = signal(null),\n disabled: _disabled = signal(false),\n orientation: _orientation = signal('vertical'),\n onValueChange,\n }: NgpAccordionProps<T>): NgpAccordionState<T> => {\n const element = injectElementRef();\n\n // Create controlled signals\n const value = controlled(_value);\n const disabled = controlled(_disabled);\n const orientation = controlled(_orientation);\n\n // Host bindings extracted from directive\n attrBinding(element, 'data-orientation', orientation);\n attrBinding(element, 'data-disabled', disabled);\n\n // Setter methods\n function setDisabled(value: boolean): void {\n disabled.set(value);\n }\n\n function setOrientation(value: NgpOrientation): void {\n orientation.set(value);\n }\n\n function setValue(newValue: T | T[] | null): void {\n value.set(newValue);\n }\n\n // Methods extracted from directive\n /**\n * @param value The value to check. @returns Whether the value is open. @internal\n */\n function isOpen(itemValue: T): boolean {\n if (type() === 'multiple') {\n return (value() as T[] | null)?.includes(itemValue) ?? false;\n }\n\n return value() === itemValue;\n }\n\n function toggle(itemValue: T): void {\n const open = isOpen(itemValue);\n\n // if we are in single mode and the itemValue is already open and the accordion is not collapsible, do nothing\n if (type() === 'single' && open && !collapsible()) {\n return;\n }\n\n // if we are in single mode then toggle the itemValue\n if (type() === 'single') {\n const newValue = open ? null : itemValue;\n value.set(newValue);\n onValueChange?.(newValue);\n return;\n }\n\n // if we are in multiple mode then toggle the itemValue\n let values = (value() as T[]) ?? [];\n\n if (open) {\n values = values.filter(v => v !== itemValue);\n } else {\n values = [...values, itemValue];\n }\n value.set(values);\n onValueChange?.(values);\n }\n\n return {\n value: deprecatedSetter(value, 'setValue'),\n disabled: deprecatedSetter(disabled, 'setDisabled'),\n orientation: deprecatedSetter(orientation, 'setOrientation'),\n setDisabled,\n setOrientation,\n setValue,\n isOpen,\n toggle,\n };\n },\n );\n\nexport type NgpAccordionType = 'single' | 'multiple';\n\nexport function injectAccordionState<T>(): Signal<NgpAccordionState<T>> {\n return _injectAccordionState() as Signal<NgpAccordionState<T>>;\n}\n","import { computed, Signal, signal } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { controlled, createPrimitive, dataBinding, deprecatedSetter } from 'ng-primitives/state';\nimport { injectAccordionState } from '../accordion/accordion-state';\n\nexport interface NgpAccordionItemState<T> {\n /**\n * The value of the accordion item.\n */\n readonly value: Signal<T>;\n /**\n * Whether the accordion item is disabled.\n */\n readonly disabled: Signal<boolean>;\n /**\n * Whether the accordion item is expanded.\n */\n readonly open: Signal<boolean>;\n /**\n * The trigger id.\n */\n readonly triggerId: Signal<string | undefined>;\n /**\n * The content id.\n */\n readonly contentId: Signal<string | undefined>;\n /**\n * Set the disabled state of the accordion item.\n */\n setDisabled(value: boolean): void;\n /**\n * Set the trigger of the accordion item.\n */\n setTrigger(id: string): void;\n /**\n * Set the content of the accordion item.\n */\n setContent(id: string): void;\n}\n\nexport interface NgpAccordionItemProps<T> {\n /**\n * The value of the accordion item.\n */\n readonly value: Signal<T>;\n /**\n * Whether the accordion item is disabled.\n */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpAccordionItemStateToken,\n ngpAccordionItem,\n _injectAccordionItemState,\n provideAccordionItemState,\n] = createPrimitive(\n 'NgpAccordionItem',\n <T>({ value, disabled: _disabled = signal(false) }: NgpAccordionItemProps<T>) => {\n const accordion = injectAccordionState<T>();\n const element = injectElementRef();\n\n const disabled = controlled(_disabled);\n\n // Whether the accordion item is expanded.\n const open = computed<boolean>(() => accordion().isOpen(value()));\n\n const trigger = signal<string | undefined>(undefined);\n const content = signal<string | undefined>(undefined);\n\n // Setup host data bindings\n dataBinding(element, 'data-orientation', accordion().orientation);\n dataBinding(element, 'data-open', open);\n dataBinding(element, 'data-disabled', () => disabled() || accordion().disabled());\n\n // Set the disabled state of the accordion item.\n function setDisabled(value: boolean) {\n disabled.set(value);\n }\n\n function setTrigger(id: string) {\n trigger.set(id);\n }\n\n function setContent(id: string) {\n content.set(id);\n }\n\n return {\n value,\n open,\n disabled: deprecatedSetter(disabled, 'setDisabled'),\n triggerId: deprecatedSetter(trigger, 'setTrigger'),\n contentId: deprecatedSetter(content, 'setContent'),\n setDisabled,\n setTrigger,\n setContent,\n };\n },\n);\n\nexport function injectAccordionItemState<T>(): Signal<NgpAccordionItemState<T>> {\n return _injectAccordionItemState() as Signal<NgpAccordionItemState<T>>;\n}\n","import { afterRenderEffect, computed, signal, Signal } from '@angular/core';\nimport { fromMutationObserver, injectDimensions, injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { safeTakeUntilDestroyed, uniqueId } from 'ng-primitives/utils';\nimport { debounceTime } from 'rxjs/operators';\nimport { injectAccordionItemState } from '../accordion-item/accordion-item-state';\nimport { injectAccordionState } from '../accordion/accordion-state';\n\nexport interface NgpAccordionContentState {\n /**\n * The id of the content region\n */\n readonly id: Signal<string>;\n}\n\nexport interface NgpAccordionContentProps {\n /**\n * The id of the content region\n */\n readonly id?: Signal<string>;\n}\n\nexport const [\n NgpAccordionContentStateToken,\n ngpAccordionContent,\n injectAccordionContentState,\n provideAccordionContentState,\n] = createPrimitive(\n 'NgpAccordionContent',\n <T>({ id = signal(uniqueId('ngp-accordion-content')) }: NgpAccordionContentProps) => {\n const element = injectElementRef();\n const accordion = injectAccordionState<T>();\n const accordionItem = injectAccordionItemState<T>();\n const dimensions = injectDimensions();\n\n const hidden = computed(() =>\n !accordionItem().open() && dimensions().height === 0 ? 'until-found' : null,\n );\n\n // Host bindings\n attrBinding(element, 'role', 'region');\n attrBinding(element, 'id', id);\n attrBinding(element, 'aria-labelledby', accordionItem().triggerId);\n attrBinding(element, 'hidden', hidden);\n\n dataBinding(element, 'data-orientation', accordion().orientation);\n dataBinding(element, 'data-open', accordionItem().open);\n dataBinding(element, 'data-closed', () => !accordionItem().open());\n\n listener(element, 'beforematch', onBeforeMatch);\n\n // Register the content with the accordion item state\n accordionItem().setContent(id());\n\n /**\n * Handle the beforematch event to automatically open the accordion item\n * when the browser's find-in-page functionality tries to reveal hidden content.\n */\n function onBeforeMatch(): void {\n const isDisabled = accordion().disabled() || accordionItem().disabled();\n if (isDisabled) {\n return;\n }\n accordion().toggle(accordionItem().value() as T);\n }\n\n function updateDimensions(): void {\n if (accordionItem().open()) {\n // remove the inline styles to reset them\n element.nativeElement.style.removeProperty('--ngp-accordion-content-width');\n element.nativeElement.style.removeProperty('--ngp-accordion-content-height');\n // set the dimensions based on the content\n element.nativeElement.style.setProperty(\n '--ngp-accordion-content-width',\n `${element.nativeElement.scrollWidth}px`,\n );\n element.nativeElement.style.setProperty(\n '--ngp-accordion-content-height',\n `${element.nativeElement.scrollHeight}px`,\n );\n }\n }\n\n // any time the open state of the accordion item changes, update the dimensions\n afterRenderEffect(() => updateDimensions());\n\n // update dimensions when the content changes\n fromMutationObserver(element.nativeElement, {\n childList: true,\n subtree: true,\n disabled: computed(() => !accordionItem().open()),\n })\n .pipe(debounceTime(0), safeTakeUntilDestroyed())\n .subscribe(() => updateDimensions());\n\n return {};\n },\n);\n","import { Directive, input } from '@angular/core';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { ngpAccordionContent } from './accordion-content-state';\n\n/**\n * Apply the `ngpAccordionContent` directive to an element that represents the content of an accordion item.\n */\n@Directive({\n selector: '[ngpAccordionContent]',\n exportAs: 'ngpAccordionContent',\n})\nexport class NgpAccordionContent<T> {\n /**\n * The id of the content region\n */\n readonly id = input<string>(uniqueId('ngp-accordion-content'));\n\n constructor() {\n ngpAccordionContent<T>({ id: this.id });\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, booleanAttribute, input } from '@angular/core';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { injectAccordionState } from '../accordion/accordion-state';\nimport { ngpAccordionItem, provideAccordionItemState } from './accordion-item-state';\n\n/**\n * Apply the `ngpAccordionItem` directive to an element that represents an accordion item.\n */\n@Directive({\n selector: '[ngpAccordionItem]',\n exportAs: 'ngpAccordionItem',\n providers: [provideAccordionItemState()],\n})\nexport class NgpAccordionItem<T> {\n /**\n * Access the accordion.\n */\n protected readonly accordion = injectAccordionState<T>();\n\n /**\n * The value of the accordion item.\n */\n readonly value = input<T>(uniqueId('ngp-accordion-item') as T, {\n alias: 'ngpAccordionItemValue',\n });\n\n /**\n * Whether the accordion item is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpAccordionItemDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The accordion item state.\n */\n protected readonly state = ngpAccordionItem<T>({\n value: this.value,\n disabled: this.disabled,\n });\n\n /**\n * The open state of the accordion item.\n */\n readonly open = this.state.open;\n}\n","import { HOST_TAG_NAME, inject, signal, Signal } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { injectAccordionItemState } from '../accordion-item/accordion-item-state';\nimport { injectAccordionState } from '../accordion/accordion-state';\n\nexport interface NgpAccordionTriggerState {\n /**\n * The id of the trigger button\n */\n readonly id: Signal<string>;\n /**\n * Toggle the accordion item.\n */\n toggle(): void;\n}\n\nexport interface NgpAccordionTriggerProps {\n /**\n * The id of the trigger button\n */\n readonly id?: Signal<string>;\n}\n\nexport const [\n NgpAccordionTriggerStateToken,\n ngpAccordionTrigger,\n injectAccordionTriggerState,\n provideAccordionTriggerState,\n] = createPrimitive(\n 'NgpAccordionTrigger',\n <T>({ id = signal(uniqueId('ngp-accordion-trigger')) }: NgpAccordionTriggerProps) => {\n const element = injectElementRef();\n const tagName = inject(HOST_TAG_NAME);\n const accordion = injectAccordionState<T>();\n const accordionItem = injectAccordionItemState<T>();\n\n // Host bindings\n attrBinding(element, 'id', id);\n attrBinding(element, 'type', tagName === 'button' ? 'button' : null);\n attrBinding(element, 'aria-controls', accordionItem().contentId);\n attrBinding(element, 'aria-expanded', accordionItem().open);\n dataBinding(element, 'data-orientation', accordion().orientation);\n dataBinding(element, 'data-open', accordionItem().open);\n dataBinding(\n element,\n 'data-disabled',\n () => accordionItem().disabled() || accordion().disabled(),\n );\n\n // register the trigger with the accordion item\n accordionItem().setTrigger(id());\n\n // Methods\n function toggle(): void {\n if (accordionItem().disabled() || accordion().disabled()) {\n return;\n }\n\n accordion().toggle(accordionItem().value()!);\n }\n\n // Event listeners\n listener(element, 'click', toggle);\n\n return { id, toggle };\n },\n);\n","import { Directive, input } from '@angular/core';\nimport { uniqueId } from 'ng-primitives/utils';\nimport { ngpAccordionTrigger } from './accordion-trigger-state';\n\n/**\n * Apply the `ngpAccordionTrigger` directive to an element that represents the trigger for an accordion item, such as a button.\n */\n@Directive({\n selector: '[ngpAccordionTrigger]',\n exportAs: 'ngpAccordionTrigger',\n})\nexport class NgpAccordionTrigger<T> {\n /**\n * The id of the trigger.\n */\n readonly id = input<string>(uniqueId('ngp-accordion-trigger'));\n\n private readonly state = ngpAccordionTrigger<T>({ id: this.id });\n\n /**\n * Toggle the accordion item.\n */\n toggle(): void {\n this.state.toggle();\n }\n}\n","import { InjectionToken, Provider, inject } from '@angular/core';\nimport type { NgpAccordionType } from '../accordion/accordion-state';\n\nexport interface NgpAccordionConfig {\n /**\n * The default type of the accordion\n * @default 'single'\n */\n type: NgpAccordionType;\n /**\n * Whether the accordion is collapsible\n * @default false\n */\n collapsible: boolean;\n /**\n * The default orientation of the accordion\n * @default 'vertical'\n */\n orientation: 'vertical' | 'horizontal';\n}\n\nexport const defaultAccordionConfig: NgpAccordionConfig = {\n type: 'single',\n collapsible: false,\n orientation: 'vertical',\n};\n\nexport const NgpAccordionConfigToken = new InjectionToken<NgpAccordionConfig>(\n 'NgpAccordionConfigToken',\n);\n\n/**\n * Provide the default Accordion configuration\n * @param config The Accordion configuration\n * @returns The provider\n */\nexport function provideAccordionConfig(config: Partial<NgpAccordionConfig>): Provider[] {\n return [\n {\n provide: NgpAccordionConfigToken,\n useValue: { ...defaultAccordionConfig, ...config },\n },\n ];\n}\n\n/**\n * Inject the Accordion configuration\n * @returns The global Accordion configuration\n */\nexport function injectAccordionConfig(): NgpAccordionConfig {\n return inject(NgpAccordionConfigToken, { optional: true }) ?? defaultAccordionConfig;\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, output } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { injectAccordionConfig } from '../config/accordion-config';\nimport { ngpAccordion, NgpAccordionType, provideAccordionState } from './accordion-state';\n\n/**\n * Apply the `ngpAccordion` directive to an element that represents the group of accordion items.\n */\n@Directive({\n selector: '[ngpAccordion]',\n exportAs: 'ngpAccordion',\n providers: [provideAccordionState()],\n})\nexport class NgpAccordion<T> {\n /**\n * Access the global accordion configuration.\n */\n private readonly config = injectAccordionConfig();\n\n /**\n * The type of the accordion.\n */\n readonly type = input<NgpAccordionType>(this.config.type, {\n alias: 'ngpAccordionType',\n });\n\n /**\n * Whether the accordion is collapsible.\n */\n readonly collapsible = input<boolean, BooleanInput>(this.config.collapsible, {\n alias: 'ngpAccordionCollapsible',\n transform: booleanAttribute,\n });\n\n /**\n * The value of the accordion.\n */\n readonly value = input<T | T[] | null>(null, {\n alias: 'ngpAccordionValue',\n });\n\n /**\n * Event emitted when the accordion value changes.\n */\n readonly valueChange = output<T | T[] | null>({\n alias: 'ngpAccordionValueChange',\n });\n\n /**\n * Whether the accordion is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpAccordionDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The accordion orientation.\n */\n readonly orientation = input<NgpOrientation>(this.config.orientation, {\n alias: 'ngpAccordionOrientation',\n });\n\n /**\n * The accordion state.\n */\n protected readonly state = ngpAccordion<T>({\n type: this.type,\n collapsible: this.collapsible,\n value: this.value,\n disabled: this.disabled,\n orientation: this.orientation,\n onValueChange: value => this.valueChange.emit(value),\n });\n\n /**\n * @param value The value to check.\n * @returns Whether the value is open.\n * @internal\n */\n isOpen(value: T): boolean {\n return this.state.isOpen(value);\n }\n\n /**\n * Set the value of the accordion.\n * @param value The value to set.\n */\n setValue(value: T | T[] | null): void {\n this.state.setValue(value);\n }\n\n /**\n * @param value The value to toggle.\n */\n toggle(value: T): void {\n this.state.toggle(value);\n }\n\n /**\n * Set the disabled state of the accordion.\n * @param value The disabled state.\n */\n setDisabled(value: boolean): void {\n this.state.setDisabled(value);\n }\n\n /**\n * Set the orientation of the accordion.\n * @param value The orientation.\n */\n setOrientation(value: NgpOrientation): void {\n this.state.setOrientation(value);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, booleanAttribute, Directive } from '@angular/core';
|
|
2
|
+
import { signal, input, booleanAttribute, Directive } from '@angular/core';
|
|
3
3
|
import { ngpInteractions } from 'ng-primitives/interactions';
|
|
4
4
|
import { injectElementRef } from 'ng-primitives/internal';
|
|
5
|
-
import { createPrimitive, dataBinding, attrBinding } from 'ng-primitives/state';
|
|
5
|
+
import { createPrimitive, controlled, dataBinding, attrBinding } from 'ng-primitives/state';
|
|
6
6
|
|
|
7
|
-
const [NgpButtonStateToken, ngpButton, injectButtonState, provideButtonState] = createPrimitive('NgpButton', ({ disabled }) => {
|
|
7
|
+
const [NgpButtonStateToken, ngpButton, injectButtonState, provideButtonState] = createPrimitive('NgpButton', ({ disabled: _disabled = signal(false) }) => {
|
|
8
8
|
const element = injectElementRef();
|
|
9
9
|
const isButton = element.nativeElement.tagName.toLowerCase() === 'button';
|
|
10
|
+
const disabled = controlled(_disabled);
|
|
10
11
|
// Setup interactions (hover, press, focus-visible)
|
|
11
12
|
ngpInteractions({ hover: true, press: true, focusVisible: true, disabled });
|
|
12
13
|
// Setup host attribute bindings
|
|
@@ -15,7 +16,13 @@ const [NgpButtonStateToken, ngpButton, injectButtonState, provideButtonState] =
|
|
|
15
16
|
if (isButton) {
|
|
16
17
|
attrBinding(element, 'disabled', () => (disabled() ? '' : null));
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
+
function setDisabled(value) {
|
|
20
|
+
disabled.set(value);
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
disabled: disabled.asReadonly(),
|
|
24
|
+
setDisabled,
|
|
25
|
+
};
|
|
19
26
|
});
|
|
20
27
|
|
|
21
28
|
class NgpButton {
|
|
@@ -31,6 +38,13 @@ class NgpButton {
|
|
|
31
38
|
*/
|
|
32
39
|
this.state = ngpButton({ disabled: this.disabled });
|
|
33
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Set the disabled state of the button.
|
|
43
|
+
* @param value The disabled state.
|
|
44
|
+
*/
|
|
45
|
+
setDisabled(value) {
|
|
46
|
+
this.state.setDisabled(value);
|
|
47
|
+
}
|
|
34
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35
49
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpButton, isStandalone: true, selector: "[ngpButton]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideButtonState({ inherit: false })], exportAs: ["ngpButton"], ngImport: i0 }); }
|
|
36
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-primitives-button.mjs","sources":["../../../../packages/ng-primitives/button/src/button/button-state.ts","../../../../packages/ng-primitives/button/src/button/button.ts","../../../../packages/ng-primitives/button/src/ng-primitives-button.ts"],"sourcesContent":["import { Signal } from '@angular/core';\nimport { ngpInteractions } from 'ng-primitives/interactions';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding } from 'ng-primitives/state';\n\nexport interface NgpButtonState {\n disabled: Signal<boolean>;\n}\n\nexport interface NgpButtonProps {\n disabled
|
|
1
|
+
{"version":3,"file":"ng-primitives-button.mjs","sources":["../../../../packages/ng-primitives/button/src/button/button-state.ts","../../../../packages/ng-primitives/button/src/button/button.ts","../../../../packages/ng-primitives/button/src/ng-primitives-button.ts"],"sourcesContent":["import { signal, Signal } from '@angular/core';\nimport { ngpInteractions } from 'ng-primitives/interactions';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, controlled, createPrimitive, dataBinding } from 'ng-primitives/state';\n\nexport interface NgpButtonState {\n /**\n * Whether the button is disabled.\n */\n readonly disabled: Signal<boolean>;\n\n /**\n * Set the disabled state of the button.\n * @param value The disabled state.\n */\n setDisabled(value: boolean): void;\n}\n\nexport interface NgpButtonProps {\n /**\n * Whether the button is disabled.\n */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [NgpButtonStateToken, ngpButton, injectButtonState, provideButtonState] =\n createPrimitive(\n 'NgpButton',\n ({ disabled: _disabled = signal(false) }: NgpButtonProps): NgpButtonState => {\n const element = injectElementRef();\n const isButton = element.nativeElement.tagName.toLowerCase() === 'button';\n const disabled = controlled(_disabled);\n\n // Setup interactions (hover, press, focus-visible)\n ngpInteractions({ hover: true, press: true, focusVisible: true, disabled });\n\n // Setup host attribute bindings\n dataBinding(element, 'data-disabled', disabled);\n\n // Add the disabled attribute if it's a button element\n if (isButton) {\n attrBinding(element, 'disabled', () => (disabled() ? '' : null));\n }\n\n function setDisabled(value: boolean): void {\n disabled.set(value);\n }\n\n return {\n disabled: disabled.asReadonly(),\n setDisabled,\n };\n },\n );\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { ngpButton, provideButtonState } from './button-state';\n\n@Directive({\n selector: '[ngpButton]',\n exportAs: 'ngpButton',\n providers: [provideButtonState({ inherit: false })],\n})\nexport class NgpButton {\n /**\n * Whether the button is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /**\n * The button state.\n */\n protected readonly state = ngpButton({ disabled: this.disabled });\n\n /**\n * Set the disabled state of the button.\n * @param value The disabled state.\n */\n setDisabled(value: boolean): void {\n this.state.setDisabled(value);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAyBO,MAAM,CAAC,mBAAmB,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,GAClF,eAAe,CACb,WAAW,EACX,CAAC,EAAE,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,EAAkB,KAAoB;AAC1E,IAAA,MAAM,OAAO,GAAG,gBAAgB,EAAE;AAClC,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ;AACzE,IAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC;;AAGtC,IAAA,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;AAG3E,IAAA,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC;;IAG/C,IAAI,QAAQ,EAAE;QACZ,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAClE;IAEA,SAAS,WAAW,CAAC,KAAc,EAAA;AACjC,QAAA,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IACrB;IAEA,OAAO;AACL,QAAA,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE;QAC/B,WAAW;KACZ;AACH,CAAC;;MC3CQ,SAAS,CAAA;AALtB,IAAA,WAAA,GAAA;AAME;;AAEG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAwB,KAAK,4CACpD,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAD2B;AACtD,gBAAA,SAAS,EAAE,gBAAgB;AAC5B,aAAA,CAAA,CAAA,CAAC;AAEF;;AAEG;QACgB,IAAA,CAAA,KAAK,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AASlE,IAAA;AAPC;;;AAGG;AACH,IAAA,WAAW,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;IAC/B;8GAnBW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAFT,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAExC,SAAS,EAAA,UAAA,EAAA,CAAA;kBALrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE,WAAW;oBACrB,SAAS,EAAE,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACpD,iBAAA;;;ACRD;;AAEG;;;;"}
|