@radix-ng/primitives 0.18.1 → 0.19.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/avatar/index.d.ts +1 -2
- package/avatar/src/avatar-fallback.directive.d.ts +11 -23
- package/avatar/src/avatar-image.directive.d.ts +10 -14
- package/avatar/src/avatar-root.directive.d.ts +5 -15
- package/checkbox/index.d.ts +11 -0
- package/checkbox/src/checkbox-button.directive.d.ts +1 -1
- package/checkbox/src/checkbox-indicator.directive.d.ts +1 -1
- package/checkbox/src/checkbox-input.directive.d.ts +1 -1
- package/checkbox/src/checkbox.directive.d.ts +1 -1
- package/compodoc/documentation.json +4895 -2139
- package/core/index.d.ts +2 -0
- package/core/src/control-value-accessor/index.d.ts +75 -0
- package/core/src/create-inject-context/assert-injector.d.ts +51 -0
- package/core/src/create-inject-context/index.d.ts +68 -0
- package/core/src/types.d.ts +23 -0
- package/esm2022/avatar/index.mjs +1 -1
- package/esm2022/avatar/src/avatar-fallback.directive.mjs +38 -40
- package/esm2022/avatar/src/avatar-image.directive.mjs +25 -26
- package/esm2022/avatar/src/avatar-root.directive.mjs +13 -25
- package/esm2022/checkbox/index.mjs +31 -1
- package/esm2022/checkbox/src/checkbox-button.directive.mjs +3 -3
- package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +3 -3
- package/esm2022/checkbox/src/checkbox-input.directive.mjs +3 -3
- package/esm2022/checkbox/src/checkbox.directive.mjs +3 -3
- package/esm2022/core/index.mjs +3 -1
- package/esm2022/core/src/control-value-accessor/index.mjs +103 -0
- package/esm2022/core/src/create-inject-context/assert-injector.mjs +15 -0
- package/esm2022/core/src/create-inject-context/index.mjs +116 -0
- package/esm2022/core/src/types.mjs +2 -0
- package/esm2022/radio/index.mjs +2 -1
- package/esm2022/radio/src/radio-item-input.directive.mjs +37 -0
- package/esm2022/radio/src/radio-item.directive.mjs +55 -36
- package/esm2022/radio/src/radio-root.directive.mjs +24 -110
- package/esm2022/radio/src/radio-tokens.mjs +1 -1
- package/esm2022/roving-focus/index.mjs +3 -0
- package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +5 -0
- package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +138 -0
- package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +133 -0
- package/esm2022/roving-focus/src/utils.mjs +47 -0
- package/esm2022/select/src/select-item.directive.mjs +8 -2
- package/esm2022/slider/src/slider-orientation-context.service.mjs +3 -4
- package/esm2022/slider/src/slider-root.component.mjs +5 -2
- package/esm2022/toggle/src/toggle-input.directive.mjs +4 -3
- package/fesm2022/radix-ng-primitives-avatar.mjs +70 -85
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +35 -10
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +230 -3
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +142 -176
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +320 -0
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-select.mjs +7 -1
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +6 -4
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +3 -2
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/package.json +7 -1
- package/radio/index.d.ts +1 -0
- package/radio/src/radio-item-input.directive.d.ts +12 -0
- package/radio/src/radio-item.directive.d.ts +23 -14
- package/radio/src/radio-root.directive.d.ts +15 -31
- package/radio/src/radio-tokens.d.ts +3 -3
- package/roving-focus/README.md +3 -0
- package/roving-focus/index.d.ts +3 -0
- package/roving-focus/src/roving-focus-group.directive.d.ts +50 -0
- package/roving-focus/src/roving-focus-item.directive.d.ts +50 -0
- package/roving-focus/src/utils.d.ts +19 -0
- package/select/src/select-item.directive.d.ts +7 -1
- package/slider/src/slider-root.component.d.ts +2 -0
- package/toggle/src/toggle-input.directive.d.ts +1 -1
@@ -1,32 +1,19 @@
|
|
1
|
-
import { isPlatformBrowser } from '@angular/common';
|
2
1
|
import * as i0 from '@angular/core';
|
3
|
-
import {
|
2
|
+
import { signal, Injectable, Directive, InjectionToken, inject, input, effect, ElementRef, output, computed } from '@angular/core';
|
4
3
|
|
5
|
-
|
6
|
-
function injectAvatar() {
|
7
|
-
return inject(RdxAvatarToken);
|
8
|
-
}
|
9
|
-
class RdxAvatarRootDirective {
|
4
|
+
class RdxAvatarRootContext {
|
10
5
|
constructor() {
|
11
|
-
|
12
|
-
* A readonly signal property that holds the current state of image loading.
|
13
|
-
* To set a new status, use the `setState` method of the component.
|
14
|
-
* @internal
|
15
|
-
*/
|
16
|
-
this._state = signal('idle');
|
17
|
-
}
|
18
|
-
/**
|
19
|
-
* Set the avatar state.
|
20
|
-
* @param state The new image loading status to set. This value should be one of the predefined states
|
21
|
-
* in the `ImageLoadingStatus`
|
22
|
-
* @returns void This method does not return a value.
|
23
|
-
* @internal
|
24
|
-
*/
|
25
|
-
_setState(state) {
|
26
|
-
this._state.set(state);
|
6
|
+
this.imageLoadingStatus = signal('loading');
|
27
7
|
}
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarRootContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
9
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarRootContext }); }
|
10
|
+
}
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarRootContext, decorators: [{
|
12
|
+
type: Injectable
|
13
|
+
}] });
|
14
|
+
class RdxAvatarRootDirective {
|
28
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
29
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxAvatarRootDirective, isStandalone: true, selector: "span[rdxAvatarRoot]", providers: [
|
16
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxAvatarRootDirective, isStandalone: true, selector: "span[rdxAvatarRoot]", providers: [RdxAvatarRootContext], exportAs: ["rdxAvatarRoot"], ngImport: i0 }); }
|
30
17
|
}
|
31
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarRootDirective, decorators: [{
|
32
19
|
type: Directive,
|
@@ -34,7 +21,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
34
21
|
selector: 'span[rdxAvatarRoot]',
|
35
22
|
exportAs: 'rdxAvatarRoot',
|
36
23
|
standalone: true,
|
37
|
-
providers: [
|
24
|
+
providers: [RdxAvatarRootContext]
|
38
25
|
}]
|
39
26
|
}] });
|
40
27
|
|
@@ -56,114 +43,112 @@ function injectAvatarConfig() {
|
|
56
43
|
|
57
44
|
class RdxAvatarFallbackDirective {
|
58
45
|
constructor() {
|
59
|
-
this.
|
46
|
+
this.avatarRoot = inject(RdxAvatarRootContext);
|
60
47
|
this.config = injectAvatarConfig();
|
61
|
-
this.
|
62
|
-
this.
|
63
|
-
/**
|
64
|
-
* Define a delay before the fallback is shown.
|
65
|
-
* This is useful to only show the fallback for those with slower connections.
|
66
|
-
* @default 0
|
67
|
-
*/
|
68
|
-
this.delayMs = this.config.delayMs;
|
69
|
-
this.visible = signal(false);
|
70
|
-
/**
|
71
|
-
* Determine the delay has elapsed, and we can show the fallback.
|
72
|
-
*/
|
73
|
-
this.delayElapsed = false;
|
48
|
+
this.delayMs = input(this.config.delayMs);
|
49
|
+
this.canRender = signal(false);
|
74
50
|
this.timeoutId = null;
|
51
|
+
effect(() => {
|
52
|
+
const status = this.avatarRoot.imageLoadingStatus();
|
53
|
+
if (status === 'loading') {
|
54
|
+
this.startDelayTimer();
|
55
|
+
}
|
56
|
+
else {
|
57
|
+
this.clearDelayTimer();
|
58
|
+
this.canRender.set(false);
|
59
|
+
}
|
60
|
+
}, { allowSignalWrites: true });
|
75
61
|
}
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
62
|
+
get shouldRender() {
|
63
|
+
return this.canRender() && this.avatarRoot.imageLoadingStatus() !== 'loaded';
|
64
|
+
}
|
65
|
+
startDelayTimer() {
|
66
|
+
this.clearDelayTimer();
|
67
|
+
if (this.delayMs() > 0) {
|
68
|
+
this.timeoutId = setTimeout(() => {
|
69
|
+
this.canRender.set(true);
|
70
|
+
}, this.delayMs());
|
71
|
+
}
|
72
|
+
else {
|
73
|
+
this.canRender.set(true);
|
86
74
|
}
|
87
75
|
}
|
88
|
-
|
89
|
-
if (
|
90
|
-
|
76
|
+
clearDelayTimer() {
|
77
|
+
if (this.timeoutId !== null) {
|
78
|
+
clearTimeout(this.timeoutId);
|
79
|
+
this.timeoutId = null;
|
91
80
|
}
|
92
81
|
}
|
93
|
-
|
94
|
-
this.
|
82
|
+
ngOnDestroy() {
|
83
|
+
this.clearDelayTimer();
|
95
84
|
}
|
96
85
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarFallbackDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
97
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
86
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxAvatarFallbackDirective, isStandalone: true, selector: "span[rdxAvatarFallback]", inputs: { delayMs: { classPropertyName: "delayMs", publicName: "delayMs", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "shouldRender ? null : \"none\" " } }, exportAs: ["rdxAvatarFallback"], ngImport: i0 }); }
|
98
87
|
}
|
99
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarFallbackDirective, decorators: [{
|
100
89
|
type: Directive,
|
101
90
|
args: [{
|
102
91
|
selector: 'span[rdxAvatarFallback]',
|
103
|
-
exportAs: 'rdxAvatarFallback',
|
104
92
|
standalone: true,
|
93
|
+
exportAs: 'rdxAvatarFallback',
|
105
94
|
host: {
|
106
|
-
'[style.display]': '
|
95
|
+
'[style.display]': 'shouldRender ? null : "none" '
|
107
96
|
}
|
108
97
|
}]
|
109
|
-
}],
|
110
|
-
type: Input,
|
111
|
-
args: [{ alias: 'rdxDelayMs', transform: numberAttribute }]
|
112
|
-
}] } });
|
98
|
+
}], ctorParameters: () => [] });
|
113
99
|
|
114
100
|
class RdxAvatarImageDirective {
|
115
101
|
constructor() {
|
116
|
-
this.
|
117
|
-
this.elementRef = inject(ElementRef);
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
*/
|
122
|
-
this.onLoadingStatusChange = new EventEmitter();
|
102
|
+
this.avatarRoot = inject(RdxAvatarRootContext);
|
103
|
+
this.elementRef = inject((ElementRef));
|
104
|
+
this.src = (input.required);
|
105
|
+
this.onLoadingStatusChange = output();
|
106
|
+
this.imageLoadingStatus = computed(() => this.avatarRoot.imageLoadingStatus());
|
123
107
|
}
|
124
108
|
ngOnInit() {
|
125
|
-
this.avatar._setState('loading');
|
126
109
|
if (!this.nativeElement.src) {
|
127
|
-
this.
|
110
|
+
this.setImageStatus('error');
|
111
|
+
}
|
112
|
+
else if (this.nativeElement.complete) {
|
113
|
+
this.setImageStatus('loaded');
|
128
114
|
}
|
129
|
-
|
130
|
-
this.
|
115
|
+
else {
|
116
|
+
this.setImageStatus('loading');
|
131
117
|
}
|
132
|
-
this.onLoadingStatusChange.emit(this.avatar._state());
|
133
118
|
}
|
134
119
|
onLoad() {
|
135
|
-
this.
|
136
|
-
this.onLoadingStatusChange.emit('loaded');
|
120
|
+
this.setImageStatus('loaded');
|
137
121
|
}
|
138
122
|
onError() {
|
139
|
-
this.
|
140
|
-
|
123
|
+
this.setImageStatus('error');
|
124
|
+
}
|
125
|
+
setImageStatus(status) {
|
126
|
+
this.avatarRoot.imageLoadingStatus.set(status);
|
127
|
+
this.onLoadingStatusChange.emit(status);
|
141
128
|
}
|
142
129
|
get nativeElement() {
|
143
130
|
return this.elementRef.nativeElement;
|
144
131
|
}
|
145
132
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
146
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxAvatarImageDirective, isStandalone: true, selector: "img[rdxAvatarImage]", outputs: { onLoadingStatusChange: "onLoadingStatusChange" }, host: {
|
133
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxAvatarImageDirective, isStandalone: true, selector: "img[rdxAvatarImage]", outputs: { onLoadingStatusChange: "onLoadingStatusChange" }, host: { listeners: { "load": "onLoad()", "error": "onError()" }, properties: { "style.display": "(imageLoadingStatus() === \"loaded\")? null : \"none\"" } }, exportAs: ["rdxAvatarImage"], ngImport: i0 }); }
|
147
134
|
}
|
148
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarImageDirective, decorators: [{
|
149
136
|
type: Directive,
|
150
137
|
args: [{
|
151
138
|
selector: 'img[rdxAvatarImage]',
|
152
|
-
exportAs: 'rdxAvatarImage',
|
153
139
|
standalone: true,
|
140
|
+
exportAs: 'rdxAvatarImage',
|
154
141
|
host: {
|
155
|
-
role: 'img',
|
156
142
|
'(load)': 'onLoad()',
|
157
|
-
'(error)': 'onError()'
|
143
|
+
'(error)': 'onError()',
|
144
|
+
'[style.display]': '(imageLoadingStatus() === "loaded")? null : "none"'
|
158
145
|
}
|
159
146
|
}]
|
160
|
-
}]
|
161
|
-
type: Output
|
162
|
-
}] } });
|
147
|
+
}] });
|
163
148
|
|
164
149
|
/**
|
165
150
|
* Generated bundle index. Do not edit.
|
166
151
|
*/
|
167
152
|
|
168
|
-
export { RdxAvatarConfigToken, RdxAvatarFallbackDirective, RdxAvatarImageDirective, RdxAvatarRootDirective, defaultAvatarConfig,
|
153
|
+
export { RdxAvatarConfigToken, RdxAvatarFallbackDirective, RdxAvatarImageDirective, RdxAvatarRootContext, RdxAvatarRootDirective, defaultAvatarConfig, injectAvatarConfig, provideRdxAvatarConfig };
|
169
154
|
//# sourceMappingURL=radix-ng-primitives-avatar.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"radix-ng-primitives-avatar.mjs","sources":["../../../packages/primitives/avatar/src/avatar-root.directive.ts","../../../packages/primitives/avatar/src/avatar.config.ts","../../../packages/primitives/avatar/src/avatar-fallback.directive.ts","../../../packages/primitives/avatar/src/avatar-image.directive.ts","../../../packages/primitives/avatar/radix-ng-primitives-avatar.ts"],"sourcesContent":["import { Directive, inject, InjectionToken, signal } from '@angular/core';\n\nconst RdxAvatarToken = new InjectionToken<RdxAvatarRootDirective>('RdxAvatarToken');\n\nexport function injectAvatar(): RdxAvatarRootDirective {\n return inject(RdxAvatarToken);\n}\n\nexport type RdxImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error';\n\n@Directive({\n selector: 'span[rdxAvatarRoot]',\n exportAs: 'rdxAvatarRoot',\n standalone: true,\n providers: [{ provide: RdxAvatarToken, useExisting: RdxAvatarRootDirective }]\n})\nexport class RdxAvatarRootDirective {\n /**\n * A readonly signal property that holds the current state of image loading.\n * To set a new status, use the `setState` method of the component.\n * @internal\n */\n readonly _state = signal<RdxImageLoadingStatus>('idle');\n\n /**\n * Set the avatar state.\n * @param state The new image loading status to set. This value should be one of the predefined states\n * in the `ImageLoadingStatus`\n * @returns void This method does not return a value.\n * @internal\n */\n _setState(state: RdxImageLoadingStatus): void {\n this._state.set(state);\n }\n}\n","import { inject, InjectionToken, Provider } from '@angular/core';\n\nexport interface RdxAvatarConfig {\n /**\n * Define a delay before the fallback is shown.\n * This is useful to only show the fallback for those with slower connections.\n * @default 0\n */\n delayMs: number;\n}\n\nexport const defaultAvatarConfig: RdxAvatarConfig = {\n delayMs: 0\n};\n\nexport const RdxAvatarConfigToken = new InjectionToken<RdxAvatarConfig>('RdxAvatarConfigToken');\n\nexport function provideRdxAvatarConfig(config: Partial<RdxAvatarConfig>): Provider[] {\n return [\n {\n provide: RdxAvatarConfigToken,\n useValue: { ...defaultAvatarConfig, ...config }\n }\n ];\n}\n\nexport function injectAvatarConfig(): RdxAvatarConfig {\n return inject(RdxAvatarConfigToken, { optional: true }) ?? defaultAvatarConfig;\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Directive,\n inject,\n Input,\n NgZone,\n numberAttribute,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n signal\n} from '@angular/core';\nimport { injectAvatar } from './avatar-root.directive';\nimport { injectAvatarConfig } from './avatar.config';\n\nexport interface RdxAvatarFallbackProps {\n delayMs?: number;\n}\n\n@Directive({\n selector: 'span[rdxAvatarFallback]',\n exportAs: 'rdxAvatarFallback',\n standalone: true,\n host: {\n '[style.display]': 'visible() ? null : \"none\"'\n }\n})\nexport class RdxAvatarFallbackDirective implements RdxAvatarFallbackProps, OnInit, OnDestroy {\n private readonly avatar = injectAvatar();\n\n private readonly config = injectAvatarConfig();\n\n private readonly ngZone = inject(NgZone);\n\n private readonly platformId = inject(PLATFORM_ID);\n\n /**\n * Define a delay before the fallback is shown.\n * This is useful to only show the fallback for those with slower connections.\n * @default 0\n */\n @Input({ alias: 'rdxDelayMs', transform: numberAttribute }) delayMs: number = this.config.delayMs;\n\n readonly visible = signal(false);\n\n /**\n * Determine the delay has elapsed, and we can show the fallback.\n */\n private delayElapsed = false;\n\n private timeoutId: ReturnType<typeof setTimeout> | null = null;\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.ngZone.runOutsideAngular(() => {\n this.timeoutId = globalThis.setTimeout(() => {\n this.ngZone.run(() => {\n this.delayElapsed = true;\n this.updateVisibility();\n });\n }, this.delayMs);\n });\n }\n }\n\n ngOnDestroy(): void {\n if (isPlatformBrowser(this.platformId) && this.timeoutId !== null) {\n globalThis.clearTimeout(this.timeoutId);\n }\n }\n\n private updateVisibility(): void {\n this.visible.set(this.delayElapsed && this.avatar._state() !== 'loaded');\n }\n}\n","import { Directive, ElementRef, EventEmitter, inject, OnInit, Output } from '@angular/core';\nimport { injectAvatar, RdxImageLoadingStatus } from './avatar-root.directive';\n\nexport interface RdxAvatarImageProps {\n onLoadingStatusChange?: EventEmitter<RdxImageLoadingStatus>;\n}\n\n@Directive({\n selector: 'img[rdxAvatarImage]',\n exportAs: 'rdxAvatarImage',\n standalone: true,\n host: {\n role: 'img',\n '(load)': 'onLoad()',\n '(error)': 'onError()'\n }\n})\nexport class RdxAvatarImageDirective implements RdxAvatarImageProps, OnInit {\n private readonly avatar = injectAvatar();\n\n private readonly elementRef = inject<ElementRef<HTMLImageElement>>(ElementRef);\n\n /**\n * By default, it will only render when it has loaded.\n * You can use the `onLoadingStatusChange` handler if you need more control.\n */\n @Output() onLoadingStatusChange = new EventEmitter<RdxImageLoadingStatus>();\n\n ngOnInit(): void {\n this.avatar._setState('loading');\n\n if (!this.nativeElement.src) {\n this.avatar._setState('error');\n }\n\n if (this.nativeElement.complete) {\n this.avatar._setState('loaded');\n }\n\n this.onLoadingStatusChange.emit(this.avatar._state());\n }\n\n protected onLoad(): void {\n this.avatar._setState('loaded');\n this.onLoadingStatusChange.emit('loaded');\n }\n\n protected onError(): void {\n this.avatar._setState('error');\n this.onLoadingStatusChange.emit('error');\n }\n\n get nativeElement() {\n return this.elementRef.nativeElement;\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":"radix-ng-primitives-avatar.mjs","sources":["../../../packages/primitives/avatar/src/avatar-root.directive.ts","../../../packages/primitives/avatar/src/avatar.config.ts","../../../packages/primitives/avatar/src/avatar-fallback.directive.ts","../../../packages/primitives/avatar/src/avatar-image.directive.ts","../../../packages/primitives/avatar/radix-ng-primitives-avatar.ts"],"sourcesContent":["import { Directive, Injectable, signal } from '@angular/core';\n\nexport type RdxImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error';\n\n@Injectable()\nexport class RdxAvatarRootContext {\n readonly imageLoadingStatus = signal<RdxImageLoadingStatus>('loading');\n}\n\n@Directive({\n selector: 'span[rdxAvatarRoot]',\n exportAs: 'rdxAvatarRoot',\n standalone: true,\n providers: [RdxAvatarRootContext]\n})\nexport class RdxAvatarRootDirective {}\n","import { inject, InjectionToken, Provider } from '@angular/core';\n\nexport interface RdxAvatarConfig {\n /**\n * Define a delay before the fallback is shown.\n * This is useful to only show the fallback for those with slower connections.\n * @default 0\n */\n delayMs: number;\n}\n\nexport const defaultAvatarConfig: RdxAvatarConfig = {\n delayMs: 0\n};\n\nexport const RdxAvatarConfigToken = new InjectionToken<RdxAvatarConfig>('RdxAvatarConfigToken');\n\nexport function provideRdxAvatarConfig(config: Partial<RdxAvatarConfig>): Provider[] {\n return [\n {\n provide: RdxAvatarConfigToken,\n useValue: { ...defaultAvatarConfig, ...config }\n }\n ];\n}\n\nexport function injectAvatarConfig(): RdxAvatarConfig {\n return inject(RdxAvatarConfigToken, { optional: true }) ?? defaultAvatarConfig;\n}\n","import { Directive, effect, inject, input, OnDestroy, signal } from '@angular/core';\nimport { RdxAvatarRootContext } from './avatar-root.directive';\nimport { injectAvatarConfig } from './avatar.config';\n\n@Directive({\n selector: 'span[rdxAvatarFallback]',\n standalone: true,\n exportAs: 'rdxAvatarFallback',\n host: {\n '[style.display]': 'shouldRender ? null : \"none\" '\n }\n})\nexport class RdxAvatarFallbackDirective implements OnDestroy {\n protected readonly avatarRoot = inject(RdxAvatarRootContext);\n\n private readonly config = injectAvatarConfig();\n\n readonly delayMs = input<number>(this.config.delayMs);\n\n protected readonly canRender = signal(false);\n private timeoutId: ReturnType<typeof setTimeout> | null = null;\n\n constructor() {\n effect(\n () => {\n const status = this.avatarRoot.imageLoadingStatus();\n if (status === 'loading') {\n this.startDelayTimer();\n } else {\n this.clearDelayTimer();\n this.canRender.set(false);\n }\n },\n { allowSignalWrites: true }\n );\n }\n\n get shouldRender() {\n return this.canRender() && this.avatarRoot.imageLoadingStatus() !== 'loaded';\n }\n\n private startDelayTimer() {\n this.clearDelayTimer();\n if (this.delayMs() > 0) {\n this.timeoutId = setTimeout(() => {\n this.canRender.set(true);\n }, this.delayMs());\n } else {\n this.canRender.set(true);\n }\n }\n\n private clearDelayTimer() {\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n ngOnDestroy() {\n this.clearDelayTimer();\n }\n}\n","import { computed, Directive, ElementRef, inject, input, OnInit, output } from '@angular/core';\nimport { RdxAvatarRootContext, RdxImageLoadingStatus } from './avatar-root.directive';\n\n@Directive({\n selector: 'img[rdxAvatarImage]',\n standalone: true,\n exportAs: 'rdxAvatarImage',\n host: {\n '(load)': 'onLoad()',\n '(error)': 'onError()',\n '[style.display]': '(imageLoadingStatus() === \"loaded\")? null : \"none\"'\n }\n})\nexport class RdxAvatarImageDirective implements OnInit {\n private readonly avatarRoot = inject(RdxAvatarRootContext);\n private readonly elementRef = inject(ElementRef<HTMLImageElement>);\n\n readonly src = input.required<string>;\n\n readonly onLoadingStatusChange = output<RdxImageLoadingStatus>();\n\n readonly imageLoadingStatus = computed(() => this.avatarRoot.imageLoadingStatus());\n\n ngOnInit(): void {\n if (!this.nativeElement.src) {\n this.setImageStatus('error');\n } else if (this.nativeElement.complete) {\n this.setImageStatus('loaded');\n } else {\n this.setImageStatus('loading');\n }\n }\n\n onLoad() {\n this.setImageStatus('loaded');\n }\n\n onError() {\n this.setImageStatus('error');\n }\n\n private setImageStatus(status: RdxImageLoadingStatus) {\n this.avatarRoot.imageLoadingStatus.set(status);\n this.onLoadingStatusChange.emit(status);\n }\n\n get nativeElement() {\n return this.elementRef.nativeElement;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { InjectionToken, inject, input, computed, Directive, EventEmitter, booleanAttribute, Input, Output } from '@angular/core';
|
2
|
+
import { InjectionToken, inject, input, computed, Directive, EventEmitter, booleanAttribute, Input, Output, NgModule } from '@angular/core';
|
3
3
|
import * as i1 from '@radix-ng/primitives/visually-hidden';
|
4
4
|
import { RdxVisuallyHiddenInputDirective } from '@radix-ng/primitives/visually-hidden';
|
5
5
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
@@ -16,13 +16,13 @@ class RdxCheckboxButtonDirective {
|
|
16
16
|
this.elementId = computed(() => (this.id() ? this.id() : `rdx-checkbox-${this.id()}`));
|
17
17
|
}
|
18
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxCheckboxButtonDirective, isStandalone: true, selector: "button[
|
19
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxCheckboxButtonDirective, isStandalone: true, selector: "button[rdxCheckboxButton]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "checkbox", "tabindex": "-1" }, properties: { "checked": "checkbox.checked", "disabled": "checkbox.disabled", "required": "checkbox.required", "attr.id": "elementId()", "attr.aria-checked": "checkbox.indeterminate ? \"mixed\" : checkbox.checked", "attr.aria-required": "checkbox.required ? \"\" : null", "attr.data-state": "checkbox.state", "attr.data-disabled": "checkbox.disabled ? \"\" : null" } }, ngImport: i0 }); }
|
20
20
|
}
|
21
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxButtonDirective, decorators: [{
|
22
22
|
type: Directive,
|
23
23
|
args: [{
|
24
24
|
standalone: true,
|
25
|
-
selector: 'button[
|
25
|
+
selector: 'button[rdxCheckboxButton]',
|
26
26
|
host: {
|
27
27
|
type: 'button',
|
28
28
|
role: 'checkbox',
|
@@ -44,12 +44,12 @@ class RdxCheckboxIndicatorDirective {
|
|
44
44
|
this.checkbox = injectCheckbox();
|
45
45
|
}
|
46
46
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
47
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxCheckboxIndicatorDirective, isStandalone: true, selector: "[
|
47
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxCheckboxIndicatorDirective, isStandalone: true, selector: "[rdxCheckboxIndicator]", host: { properties: { "style.pointer-events": "\"none\"", "attr.aria-checked": "checkbox.indeterminate ? \"mixed\" : checkbox.checked", "attr.data-state": "checkbox.state", "attr.data-disabled": "checkbox.disabled ? \"\" : null" } }, ngImport: i0 }); }
|
48
48
|
}
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxIndicatorDirective, decorators: [{
|
50
50
|
type: Directive,
|
51
51
|
args: [{
|
52
|
-
selector: '[
|
52
|
+
selector: '[rdxCheckboxIndicator]',
|
53
53
|
standalone: true,
|
54
54
|
host: {
|
55
55
|
'[style.pointer-events]': '"none"',
|
@@ -74,13 +74,13 @@ class RdxCheckboxInputDirective {
|
|
74
74
|
});
|
75
75
|
}
|
76
76
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
77
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxCheckboxInputDirective, isStandalone: true, selector: "input[
|
77
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxCheckboxInputDirective, isStandalone: true, selector: "input[rdxCheckboxInput]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "checkbox", "tabindex": "-1" }, properties: { "checked": "checkbox.checked", "disabled": "checkbox.disabled", "required": "checkbox.required", "attr.id": "elementId()", "attr.aria-hidden": "true", "attr.aria-checked": "checkbox.indeterminate ? \"mixed\" : checkbox.checked", "attr.aria-required": "checkbox.required ? \"\" : null", "attr.data-state": "checkbox.state", "attr.data-disabled": "checkbox.disabled ? \"\" : null", "attr.value": "value()" } }, hostDirectives: [{ directive: i1.RdxVisuallyHiddenInputDirective, inputs: ["feature", "\"fully-hidden\""] }], ngImport: i0 }); }
|
78
78
|
}
|
79
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxInputDirective, decorators: [{
|
80
80
|
type: Directive,
|
81
81
|
args: [{
|
82
82
|
standalone: true,
|
83
|
-
selector: 'input[
|
83
|
+
selector: 'input[rdxCheckboxInput]',
|
84
84
|
hostDirectives: [{ directive: RdxVisuallyHiddenInputDirective, inputs: ['feature: "fully-hidden"'] }],
|
85
85
|
host: {
|
86
86
|
type: 'checkbox',
|
@@ -195,7 +195,7 @@ class RdxCheckboxDirective {
|
|
195
195
|
this.disabled = isDisabled;
|
196
196
|
}
|
197
197
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
198
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxCheckboxDirective, isStandalone: true, selector: "[
|
198
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxCheckboxDirective, isStandalone: true, selector: "[rdxCheckboxRoot]", inputs: { checked: ["checked", "checked", booleanAttribute], indeterminate: ["indeterminate", "indeterminate", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute] }, outputs: { checkedChange: "checkedChange", indeterminateChange: "indeterminateChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)", "blur": "onBlur()" }, properties: { "disabled": "disabled", "attr.data-disabled": "disabled ? \"\" : null", "attr.data-state": "state" } }, providers: [
|
199
199
|
{ provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },
|
200
200
|
{ provide: NG_VALUE_ACCESSOR, useExisting: RdxCheckboxDirective, multi: true }
|
201
201
|
], usesOnChanges: true, ngImport: i0 }); }
|
@@ -203,7 +203,7 @@ class RdxCheckboxDirective {
|
|
203
203
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxDirective, decorators: [{
|
204
204
|
type: Directive,
|
205
205
|
args: [{
|
206
|
-
selector: '[
|
206
|
+
selector: '[rdxCheckboxRoot]',
|
207
207
|
standalone: true,
|
208
208
|
providers: [
|
209
209
|
{ provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },
|
@@ -236,9 +236,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
236
236
|
type: Output
|
237
237
|
}] } });
|
238
238
|
|
239
|
+
const _imports = [
|
240
|
+
RdxCheckboxInputDirective,
|
241
|
+
RdxCheckboxDirective,
|
242
|
+
RdxCheckboxButtonDirective,
|
243
|
+
RdxCheckboxIndicatorDirective
|
244
|
+
];
|
245
|
+
class RdxCheckboxModule {
|
246
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
247
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxModule, imports: [RdxCheckboxInputDirective,
|
248
|
+
RdxCheckboxDirective,
|
249
|
+
RdxCheckboxButtonDirective,
|
250
|
+
RdxCheckboxIndicatorDirective], exports: [RdxCheckboxInputDirective,
|
251
|
+
RdxCheckboxDirective,
|
252
|
+
RdxCheckboxButtonDirective,
|
253
|
+
RdxCheckboxIndicatorDirective] }); }
|
254
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxModule }); }
|
255
|
+
}
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxCheckboxModule, decorators: [{
|
257
|
+
type: NgModule,
|
258
|
+
args: [{
|
259
|
+
imports: [..._imports],
|
260
|
+
exports: [..._imports]
|
261
|
+
}]
|
262
|
+
}] });
|
263
|
+
|
239
264
|
/**
|
240
265
|
* Generated bundle index. Do not edit.
|
241
266
|
*/
|
242
267
|
|
243
|
-
export { RdxCheckboxButtonDirective, RdxCheckboxDirective, RdxCheckboxIndicatorDirective, RdxCheckboxInputDirective, RdxCheckboxToken, injectCheckbox };
|
268
|
+
export { RdxCheckboxButtonDirective, RdxCheckboxDirective, RdxCheckboxIndicatorDirective, RdxCheckboxInputDirective, RdxCheckboxModule, RdxCheckboxToken, injectCheckbox };
|
244
269
|
//# sourceMappingURL=radix-ng-primitives-checkbox.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"radix-ng-primitives-checkbox.mjs","sources":["../../../packages/primitives/checkbox/src/checkbox.token.ts","../../../packages/primitives/checkbox/src/checkbox-button.directive.ts","../../../packages/primitives/checkbox/src/checkbox-indicator.directive.ts","../../../packages/primitives/checkbox/src/checkbox-input.directive.ts","../../../packages/primitives/checkbox/src/checkbox.directive.ts","../../../packages/primitives/checkbox/radix-ng-primitives-checkbox.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nimport type { RdxCheckboxDirective } from './checkbox.directive';\n\nexport const RdxCheckboxToken = new InjectionToken<RdxCheckboxDirective>('RdxCheckboxToken');\n\nexport function injectCheckbox(): RdxCheckboxDirective {\n return inject(RdxCheckboxToken);\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { injectCheckbox } from './checkbox.token';\n\n@Directive({\n standalone: true,\n selector: 'button[CheckboxButton]',\n host: {\n type: 'button',\n role: 'checkbox',\n tabindex: '-1',\n '[checked]': 'checkbox.checked',\n '[disabled]': 'checkbox.disabled',\n '[required]': 'checkbox.required',\n '[attr.id]': 'elementId()',\n '[attr.aria-checked]': 'checkbox.indeterminate ? \"mixed\" : checkbox.checked',\n '[attr.aria-required]': 'checkbox.required ? \"\" : null',\n '[attr.data-state]': 'checkbox.state',\n '[attr.data-disabled]': 'checkbox.disabled ? \"\" : null'\n }\n})\nexport class RdxCheckboxButtonDirective {\n protected readonly checkbox = injectCheckbox();\n\n readonly id = input<string | null>(null);\n protected readonly elementId = computed(() => (this.id() ? this.id() : `rdx-checkbox-${this.id()}`));\n}\n","import { Directive } from '@angular/core';\nimport { injectCheckbox } from './checkbox.token';\n\n@Directive({\n selector: '[CheckboxIndicator]',\n standalone: true,\n host: {\n '[style.pointer-events]': '\"none\"',\n '[attr.aria-checked]': 'checkbox.indeterminate ? \"mixed\" : checkbox.checked',\n '[attr.data-state]': 'checkbox.state',\n '[attr.data-disabled]': 'checkbox.disabled ? \"\" : null'\n }\n})\nexport class RdxCheckboxIndicatorDirective {\n protected readonly checkbox = injectCheckbox();\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { RdxVisuallyHiddenInputDirective } from '@radix-ng/primitives/visually-hidden';\nimport { injectCheckbox } from './checkbox.token';\n\n@Directive({\n standalone: true,\n selector: 'input[CheckboxInput]',\n hostDirectives: [{ directive: RdxVisuallyHiddenInputDirective, inputs: ['feature: \"fully-hidden\"'] }],\n host: {\n type: 'checkbox',\n tabindex: '-1',\n '[checked]': 'checkbox.checked',\n '[disabled]': 'checkbox.disabled',\n '[required]': 'checkbox.required',\n '[attr.id]': 'elementId()',\n '[attr.aria-hidden]': 'true',\n '[attr.aria-checked]': 'checkbox.indeterminate ? \"mixed\" : checkbox.checked',\n '[attr.aria-required]': 'checkbox.required ? \"\" : null',\n '[attr.data-state]': 'checkbox.state',\n '[attr.data-disabled]': 'checkbox.disabled ? \"\" : null',\n '[attr.value]': 'value()'\n }\n})\nexport class RdxCheckboxInputDirective {\n protected readonly checkbox = injectCheckbox();\n\n readonly id = input<string>();\n protected readonly elementId = computed(() => (this.id() ? this.id() : `rdx-checkbox-${this.id()}`));\n\n protected readonly value = computed(() => {\n const state = this.checkbox.state;\n if (state === 'indeterminate') {\n return '';\n }\n\n return state ? 'on' : 'off';\n });\n}\n","import { booleanAttribute, Directive, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RdxCheckboxToken } from './checkbox.token';\n\nexport type CheckboxState = 'unchecked' | 'checked' | 'indeterminate';\n\n@Directive({\n selector: '[CheckboxRoot]',\n standalone: true,\n providers: [\n { provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },\n { provide: NG_VALUE_ACCESSOR, useExisting: RdxCheckboxDirective, multi: true }\n ],\n host: {\n '[disabled]': 'disabled',\n '[attr.data-disabled]': 'disabled ? \"\" : null',\n '[attr.data-state]': 'state',\n\n '(keydown)': 'onKeyDown($event)',\n '(click)': 'onClick($event)',\n '(blur)': 'onBlur()'\n }\n})\nexport class RdxCheckboxDirective implements ControlValueAccessor, OnChanges {\n /**\n * The controlled checked state of the checkbox. Must be used in conjunction with onCheckedChange.\n */\n @Input({ transform: booleanAttribute }) checked = false;\n\n /**\n * Defines whether the checkbox is indeterminate.\n */\n @Input({ transform: booleanAttribute }) indeterminate = false;\n\n /**\n * Defines whether the checkbox is disabled.\n */\n @Input({ transform: booleanAttribute }) disabled = false;\n\n @Input({ transform: booleanAttribute }) required = false;\n\n /**\n * Event emitted when the checkbox checked state changes.\n */\n @Output() readonly checkedChange = new EventEmitter<boolean>();\n\n /**\n * Event emitted when the indeterminate state changes.\n */\n @Output() readonly indeterminateChange = new EventEmitter<boolean>();\n\n /**\n * Determine the state\n */\n get state(): CheckboxState {\n if (this.indeterminate) {\n return 'indeterminate';\n }\n return this.checked ? 'checked' : 'unchecked';\n }\n\n /**\n * Store the callback function that should be called when the checkbox checked state changes.\n * @internal\n */\n private onChange?: (checked: boolean) => void;\n\n /**\n * Store the callback function that should be called when the checkbox is blurred.\n * @internal\n */\n private onTouched?: () => void;\n\n protected onKeyDown(event: KeyboardEvent): void {\n // According to WAI ARIA, Checkboxes don't activate on enter keypress\n if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n protected onClick($event: MouseEvent): void {\n if (this.disabled) {\n return;\n }\n\n this.checked = this.indeterminate ? true : !this.checked;\n this.checkedChange.emit(this.checked);\n this.onChange?.(this.checked);\n\n if (this.indeterminate) {\n this.indeterminate = false;\n this.indeterminateChange.emit(this.indeterminate);\n }\n\n $event.preventDefault();\n }\n\n protected onBlur(): void {\n this.onTouched?.();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['checked'] && !changes['checked'].isFirstChange()) {\n this.checkedChange.emit(this.checked);\n }\n if (changes['indeterminate'] && !changes['indeterminate'].isFirstChange()) {\n this.indeterminateChange.emit(this.indeterminate);\n }\n }\n\n /**\n * Sets the checked state of the checkbox.\n * @param checked The checked state of the checkbox.\n * @internal\n */\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n /**\n * Registers a callback function that should be called when the checkbox checked state changes.\n * @param fn The callback function.\n * @internal\n */\n registerOnChange(fn: (checked: boolean) => void): void {\n this.onChange = fn;\n }\n\n /**\n * Registers a callback function that should be called when the checkbox is blurred.\n * @param fn The callback function.\n * @internal\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the checkbox.\n * @param isDisabled The disabled state of the checkbox.\n * @internal\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\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":"radix-ng-primitives-checkbox.mjs","sources":["../../../packages/primitives/checkbox/src/checkbox.token.ts","../../../packages/primitives/checkbox/src/checkbox-button.directive.ts","../../../packages/primitives/checkbox/src/checkbox-indicator.directive.ts","../../../packages/primitives/checkbox/src/checkbox-input.directive.ts","../../../packages/primitives/checkbox/src/checkbox.directive.ts","../../../packages/primitives/checkbox/index.ts","../../../packages/primitives/checkbox/radix-ng-primitives-checkbox.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nimport type { RdxCheckboxDirective } from './checkbox.directive';\n\nexport const RdxCheckboxToken = new InjectionToken<RdxCheckboxDirective>('RdxCheckboxToken');\n\nexport function injectCheckbox(): RdxCheckboxDirective {\n return inject(RdxCheckboxToken);\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { injectCheckbox } from './checkbox.token';\n\n@Directive({\n standalone: true,\n selector: 'button[rdxCheckboxButton]',\n host: {\n type: 'button',\n role: 'checkbox',\n tabindex: '-1',\n '[checked]': 'checkbox.checked',\n '[disabled]': 'checkbox.disabled',\n '[required]': 'checkbox.required',\n '[attr.id]': 'elementId()',\n '[attr.aria-checked]': 'checkbox.indeterminate ? \"mixed\" : checkbox.checked',\n '[attr.aria-required]': 'checkbox.required ? \"\" : null',\n '[attr.data-state]': 'checkbox.state',\n '[attr.data-disabled]': 'checkbox.disabled ? \"\" : null'\n }\n})\nexport class RdxCheckboxButtonDirective {\n protected readonly checkbox = injectCheckbox();\n\n readonly id = input<string | null>(null);\n\n protected readonly elementId = computed(() => (this.id() ? this.id() : `rdx-checkbox-${this.id()}`));\n}\n","import { Directive } from '@angular/core';\nimport { injectCheckbox } from './checkbox.token';\n\n@Directive({\n selector: '[rdxCheckboxIndicator]',\n standalone: true,\n host: {\n '[style.pointer-events]': '\"none\"',\n '[attr.aria-checked]': 'checkbox.indeterminate ? \"mixed\" : checkbox.checked',\n '[attr.data-state]': 'checkbox.state',\n '[attr.data-disabled]': 'checkbox.disabled ? \"\" : null'\n }\n})\nexport class RdxCheckboxIndicatorDirective {\n protected readonly checkbox = injectCheckbox();\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { RdxVisuallyHiddenInputDirective } from '@radix-ng/primitives/visually-hidden';\nimport { injectCheckbox } from './checkbox.token';\n\n@Directive({\n standalone: true,\n selector: 'input[rdxCheckboxInput]',\n hostDirectives: [{ directive: RdxVisuallyHiddenInputDirective, inputs: ['feature: \"fully-hidden\"'] }],\n host: {\n type: 'checkbox',\n tabindex: '-1',\n '[checked]': 'checkbox.checked',\n '[disabled]': 'checkbox.disabled',\n '[required]': 'checkbox.required',\n '[attr.id]': 'elementId()',\n '[attr.aria-hidden]': 'true',\n '[attr.aria-checked]': 'checkbox.indeterminate ? \"mixed\" : checkbox.checked',\n '[attr.aria-required]': 'checkbox.required ? \"\" : null',\n '[attr.data-state]': 'checkbox.state',\n '[attr.data-disabled]': 'checkbox.disabled ? \"\" : null',\n '[attr.value]': 'value()'\n }\n})\nexport class RdxCheckboxInputDirective {\n protected readonly checkbox = injectCheckbox();\n\n readonly id = input<string>();\n\n protected readonly elementId = computed(() => (this.id() ? this.id() : `rdx-checkbox-${this.id()}`));\n\n protected readonly value = computed(() => {\n const state = this.checkbox.state;\n if (state === 'indeterminate') {\n return '';\n }\n\n return state ? 'on' : 'off';\n });\n}\n","import { booleanAttribute, Directive, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RdxCheckboxToken } from './checkbox.token';\n\nexport type CheckboxState = 'unchecked' | 'checked' | 'indeterminate';\n\n@Directive({\n selector: '[rdxCheckboxRoot]',\n standalone: true,\n providers: [\n { provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },\n { provide: NG_VALUE_ACCESSOR, useExisting: RdxCheckboxDirective, multi: true }\n ],\n host: {\n '[disabled]': 'disabled',\n '[attr.data-disabled]': 'disabled ? \"\" : null',\n '[attr.data-state]': 'state',\n\n '(keydown)': 'onKeyDown($event)',\n '(click)': 'onClick($event)',\n '(blur)': 'onBlur()'\n }\n})\nexport class RdxCheckboxDirective implements ControlValueAccessor, OnChanges {\n /**\n * The controlled checked state of the checkbox. Must be used in conjunction with onCheckedChange.\n */\n @Input({ transform: booleanAttribute }) checked = false;\n\n /**\n * Defines whether the checkbox is indeterminate.\n */\n @Input({ transform: booleanAttribute }) indeterminate = false;\n\n /**\n * Defines whether the checkbox is disabled.\n */\n @Input({ transform: booleanAttribute }) disabled = false;\n\n @Input({ transform: booleanAttribute }) required = false;\n\n /**\n * Event emitted when the checkbox checked state changes.\n */\n @Output() readonly checkedChange = new EventEmitter<boolean>();\n\n /**\n * Event emitted when the indeterminate state changes.\n */\n @Output() readonly indeterminateChange = new EventEmitter<boolean>();\n\n /**\n * Determine the state\n */\n get state(): CheckboxState {\n if (this.indeterminate) {\n return 'indeterminate';\n }\n return this.checked ? 'checked' : 'unchecked';\n }\n\n /**\n * Store the callback function that should be called when the checkbox checked state changes.\n * @internal\n */\n private onChange?: (checked: boolean) => void;\n\n /**\n * Store the callback function that should be called when the checkbox is blurred.\n * @internal\n */\n private onTouched?: () => void;\n\n protected onKeyDown(event: KeyboardEvent): void {\n // According to WAI ARIA, Checkboxes don't activate on enter keypress\n if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n protected onClick($event: MouseEvent): void {\n if (this.disabled) {\n return;\n }\n\n this.checked = this.indeterminate ? true : !this.checked;\n this.checkedChange.emit(this.checked);\n this.onChange?.(this.checked);\n\n if (this.indeterminate) {\n this.indeterminate = false;\n this.indeterminateChange.emit(this.indeterminate);\n }\n\n $event.preventDefault();\n }\n\n protected onBlur(): void {\n this.onTouched?.();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['checked'] && !changes['checked'].isFirstChange()) {\n this.checkedChange.emit(this.checked);\n }\n if (changes['indeterminate'] && !changes['indeterminate'].isFirstChange()) {\n this.indeterminateChange.emit(this.indeterminate);\n }\n }\n\n /**\n * Sets the checked state of the checkbox.\n * @param checked The checked state of the checkbox.\n * @internal\n */\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n /**\n * Registers a callback function that should be called when the checkbox checked state changes.\n * @param fn The callback function.\n * @internal\n */\n registerOnChange(fn: (checked: boolean) => void): void {\n this.onChange = fn;\n }\n\n /**\n * Registers a callback function that should be called when the checkbox is blurred.\n * @param fn The callback function.\n * @internal\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the checkbox.\n * @param isDisabled The disabled state of the checkbox.\n * @internal\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RdxCheckboxButtonDirective } from './src/checkbox-button.directive';\nimport { RdxCheckboxIndicatorDirective } from './src/checkbox-indicator.directive';\nimport { RdxCheckboxInputDirective } from './src/checkbox-input.directive';\nimport { RdxCheckboxDirective } from './src/checkbox.directive';\n\nexport * from './src/checkbox-button.directive';\nexport * from './src/checkbox-indicator.directive';\nexport * from './src/checkbox-input.directive';\nexport * from './src/checkbox.directive';\nexport type { CheckboxState } from './src/checkbox.directive';\nexport * from './src/checkbox.token';\n\nconst _imports = [\n RdxCheckboxInputDirective,\n RdxCheckboxDirective,\n RdxCheckboxButtonDirective,\n RdxCheckboxIndicatorDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|