@radix-ng/primitives 0.20.2 → 0.22.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.
Files changed (82) hide show
  1. package/avatar/src/avatar-fallback.directive.d.ts +1 -1
  2. package/avatar/src/avatar-image.directive.d.ts +3 -3
  3. package/compodoc/documentation.json +6879 -2567
  4. package/core/index.d.ts +1 -0
  5. package/core/src/id-generator.d.ts +12 -0
  6. package/esm2022/avatar/src/avatar-fallback.directive.mjs +6 -8
  7. package/esm2022/avatar/src/avatar-image.directive.mjs +4 -3
  8. package/esm2022/core/index.mjs +2 -1
  9. package/esm2022/core/src/create-inject-context/index.mjs +2 -2
  10. package/esm2022/core/src/id-generator.mjs +43 -0
  11. package/esm2022/popover/index.mjs +14 -4
  12. package/esm2022/popover/src/popover-anchor.directive.mjs +70 -0
  13. package/esm2022/popover/src/popover-anchor.token.mjs +3 -0
  14. package/esm2022/popover/src/popover-arrow.directive.mjs +12 -7
  15. package/esm2022/popover/src/popover-close.directive.mjs +16 -4
  16. package/esm2022/popover/src/popover-close.token.mjs +3 -0
  17. package/esm2022/popover/src/popover-content-attributes.component.mjs +70 -0
  18. package/esm2022/popover/src/popover-content-attributes.token.mjs +3 -0
  19. package/esm2022/popover/src/popover-content.directive.mjs +120 -84
  20. package/esm2022/popover/src/popover-root.directive.mjs +232 -64
  21. package/esm2022/popover/src/popover-root.inject.mjs +4 -4
  22. package/esm2022/popover/src/popover-trigger.directive.mjs +5 -7
  23. package/esm2022/popover/src/popover.types.mjs +18 -1
  24. package/esm2022/popover/src/popover.utils.mjs +4 -6
  25. package/esm2022/switch/src/switch-input.directive.mjs +16 -7
  26. package/esm2022/switch/src/switch-root.directive.mjs +59 -14
  27. package/esm2022/switch/src/switch-thumb.directive.mjs +3 -3
  28. package/esm2022/tabs/index.mjs +3 -6
  29. package/esm2022/tabs/src/tabs-content.directive.mjs +14 -8
  30. package/esm2022/tabs/src/tabs-list.directive.mjs +9 -6
  31. package/esm2022/tabs/src/tabs-root.directive.mjs +40 -37
  32. package/esm2022/tabs/src/tabs-trigger.directive.mjs +43 -17
  33. package/esm2022/tabs/src/utils.mjs +7 -0
  34. package/esm2022/toggle/index.mjs +2 -2
  35. package/esm2022/toggle/src/toggle-visually-hidden-input.directive.mjs +31 -0
  36. package/esm2022/toggle/src/toggle.directive.mjs +39 -8
  37. package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +4 -3
  38. package/fesm2022/radix-ng-primitives-avatar.mjs +8 -9
  39. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  40. package/fesm2022/radix-ng-primitives-core.mjs +44 -3
  41. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  42. package/fesm2022/radix-ng-primitives-popover.mjs +672 -303
  43. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  44. package/fesm2022/radix-ng-primitives-switch.mjs +76 -22
  45. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  46. package/fesm2022/radix-ng-primitives-tabs.mjs +109 -109
  47. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  48. package/fesm2022/radix-ng-primitives-toggle-group.mjs +3 -2
  49. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  50. package/fesm2022/radix-ng-primitives-toggle.mjs +47 -15
  51. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  52. package/package.json +1 -1
  53. package/popover/index.d.ts +5 -1
  54. package/popover/src/popover-anchor.directive.d.ts +28 -0
  55. package/popover/src/popover-anchor.token.d.ts +3 -0
  56. package/popover/src/popover-arrow.directive.d.ts +8 -5
  57. package/popover/src/popover-close.directive.d.ts +1 -1
  58. package/popover/src/popover-close.token.d.ts +3 -0
  59. package/popover/src/popover-content-attributes.component.d.ts +17 -0
  60. package/popover/src/popover-content-attributes.token.d.ts +3 -0
  61. package/popover/src/popover-content.directive.d.ts +36 -23
  62. package/popover/src/popover-root.directive.d.ts +89 -18
  63. package/popover/src/popover-root.inject.d.ts +2 -1
  64. package/popover/src/popover-trigger.directive.d.ts +3 -5
  65. package/popover/src/popover.types.d.ts +14 -3
  66. package/switch/src/switch-input.directive.d.ts +2 -0
  67. package/switch/src/switch-root.directive.d.ts +33 -5
  68. package/tabs/index.d.ts +0 -1
  69. package/tabs/src/tabs-content.directive.d.ts +6 -1
  70. package/tabs/src/tabs-list.directive.d.ts +6 -2
  71. package/tabs/src/tabs-root.directive.d.ts +25 -9
  72. package/tabs/src/tabs-trigger.directive.d.ts +13 -3
  73. package/tabs/src/utils.d.ts +2 -0
  74. package/toggle/index.d.ts +2 -2
  75. package/toggle/src/toggle-visually-hidden-input.directive.d.ts +6 -0
  76. package/toggle/src/toggle.directive.d.ts +20 -2
  77. package/esm2022/popover/src/popover-root.token.mjs +0 -3
  78. package/esm2022/tabs/src/tabs-context.service.mjs +0 -43
  79. package/esm2022/toggle/src/toggle-input.directive.mjs +0 -30
  80. package/popover/src/popover-root.token.d.ts +0 -3
  81. package/tabs/src/tabs-context.service.d.ts +0 -22
  82. package/toggle/src/toggle-input.directive.d.ts +0 -6
@@ -1,54 +1,57 @@
1
- import { Directive, effect, EventEmitter, inject, Input, Output } from '@angular/core';
2
- import { RdxTabsContextService, TABS_CONTEXT_TOKEN } from './tabs-context.service';
1
+ import { Directive, InjectionToken, input, model, output } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
3
+ export const RDX_TABS_ROOT_TOKEN = new InjectionToken('RdxTabsRootDirective');
4
4
  export class RdxTabsRootDirective {
5
5
  constructor() {
6
- this.tabsContext = inject(TABS_CONTEXT_TOKEN);
7
- this.orientation = 'horizontal';
8
- // Event handler called when the value changes.
9
- this.onValueChange = new EventEmitter();
10
- effect(() => {
11
- const value = this.tabsContext.value$();
12
- if (value !== undefined) {
13
- this.onValueChange.emit(value);
14
- }
15
- });
6
+ /**
7
+ * The controlled value of the tab to activate. Should be used in conjunction with `onValueChange`.
8
+ */
9
+ this.value = model();
10
+ this.defaultValue = input();
11
+ /**
12
+ * When automatic, tabs are activated when receiving focus. When manual, tabs are activated when clicked.
13
+ */
14
+ this.activationMode = input('automatic');
15
+ /**
16
+ * The orientation of the component.
17
+ */
18
+ this.orientation = input('horizontal');
19
+ this.dir = input('ltr');
20
+ /**
21
+ * Event handler called when the value changes.
22
+ */
23
+ this.onValueChange = output();
16
24
  }
17
25
  ngOnInit() {
18
- this.tabsContext.setOrientation(this.orientation);
19
- if (this.dir) {
20
- this.tabsContext.setDir(this.dir);
21
- }
22
- if (this.value) {
23
- this.tabsContext.setValue(this.value);
24
- }
25
- else if (this.defaultValue) {
26
- this.tabsContext.setValue(this.defaultValue);
26
+ if (this.defaultValue()) {
27
+ this.value.set(this.defaultValue());
27
28
  }
28
29
  }
30
+ select(value) {
31
+ this.value.set(value);
32
+ this.onValueChange.emit(value);
33
+ }
34
+ /** @ignore */
35
+ getBaseId() {
36
+ return `tabs-${Math.random().toString(36).substr(2, 9)}`;
37
+ }
29
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxTabsRootDirective, isStandalone: true, selector: "[rdxTabsRoot]", inputs: { value: "value", defaultValue: "defaultValue", orientation: "orientation", dir: "dir" }, outputs: { onValueChange: "onValueChange" }, host: { properties: { "attr.data-orientation": "orientation", "attr.dir": "dir" } }, providers: [{ provide: TABS_CONTEXT_TOKEN, useExisting: RdxTabsContextService }], ngImport: i0 }); }
39
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxTabsRootDirective, isStandalone: true, selector: "[rdxTabsRoot]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, activationMode: { classPropertyName: "activationMode", publicName: "activationMode", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", onValueChange: "onValueChange" }, host: { properties: { "attr.data-orientation": "orientation()", "attr.dir": "dir()" } }, providers: [
40
+ { provide: RDX_TABS_ROOT_TOKEN, useExisting: RdxTabsRootDirective }
41
+ ], ngImport: i0 }); }
31
42
  }
32
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsRootDirective, decorators: [{
33
44
  type: Directive,
34
45
  args: [{
35
46
  selector: '[rdxTabsRoot]',
36
47
  standalone: true,
37
- providers: [{ provide: TABS_CONTEXT_TOKEN, useExisting: RdxTabsContextService }],
48
+ providers: [
49
+ { provide: RDX_TABS_ROOT_TOKEN, useExisting: RdxTabsRootDirective }
50
+ ],
38
51
  host: {
39
- '[attr.data-orientation]': 'orientation',
40
- '[attr.dir]': 'dir'
52
+ '[attr.data-orientation]': 'orientation()',
53
+ '[attr.dir]': 'dir()'
41
54
  }
42
55
  }]
43
- }], ctorParameters: () => [], propDecorators: { value: [{
44
- type: Input
45
- }], defaultValue: [{
46
- type: Input
47
- }], orientation: [{
48
- type: Input
49
- }], dir: [{
50
- type: Input
51
- }], onValueChange: [{
52
- type: Output
53
- }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1yb290LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdGFicy9zcmMvdGFicy1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBbUNuRixNQUFNLE9BQU8sb0JBQW9CO0lBVzdCO1FBVmlCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFJakQsZ0JBQVcsR0FBRyxZQUFZLENBQUM7UUFHcEMsK0NBQStDO1FBQ3JDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUdqRCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNMLENBQUM7K0dBaENRLG9CQUFvQjttR0FBcEIsb0JBQW9CLGdTQU5sQixDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxDQUFDOzs0RkFNdkUsb0JBQW9CO2tCQVRoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLENBQUM7b0JBQ2hGLElBQUksRUFBRTt3QkFDRix5QkFBeUIsRUFBRSxhQUFhO3dCQUN4QyxZQUFZLEVBQUUsS0FBSztxQkFDdEI7aUJBQ0o7d0RBSVksS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBR0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZWZmZWN0LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhUYWJzQ29udGV4dFNlcnZpY2UsIFRBQlNfQ09OVEVYVF9UT0tFTiB9IGZyb20gJy4vdGFicy1jb250ZXh0LnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYnNQcm9wcyB7XG4gICAgLyoqIFRoZSB2YWx1ZSBmb3IgdGhlIHNlbGVjdGVkIHRhYiwgaWYgY29udHJvbGxlZCAqL1xuICAgIHZhbHVlPzogc3RyaW5nO1xuICAgIC8qKiBUaGUgdmFsdWUgb2YgdGhlIHRhYiB0byBzZWxlY3QgYnkgZGVmYXVsdCwgaWYgdW5jb250cm9sbGVkICovXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIC8qKiBBIGZ1bmN0aW9uIGNhbGxlZCB3aGVuIGEgbmV3IHRhYiBpcyBzZWxlY3RlZCAqL1xuICAgIG9uVmFsdWVDaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBUaGUgb3JpZW50YXRpb24gdGhlIHRhYnMgYXJlIGxheWVkIG91dC5cbiAgICAgKiBNYWlubHkgc28gYXJyb3cgbmF2aWdhdGlvbiBpcyBkb25lIGFjY29yZGluZ2x5IChsZWZ0ICYgcmlnaHQgdnMuIHVwICYgZG93bilcbiAgICAgKiBAZGVmYXVsdFZhbHVlIGhvcml6b250YWxcbiAgICAgKi9cbiAgICBvcmllbnRhdGlvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgZGlyZWN0aW9uIG9mIG5hdmlnYXRpb24gYmV0d2VlbiB0b29sYmFyIGl0ZW1zLlxuICAgICAqL1xuICAgIGRpcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIGEgdGFiIGlzIGFjdGl2YXRlZCBhdXRvbWF0aWNhbGx5IG9yIG1hbnVhbGx5LlxuICAgICAqIEBkZWZhdWx0VmFsdWUgYXV0b21hdGljXG4gICAgICogKi9cbiAgICBhY3RpdmF0aW9uTW9kZT86ICdhdXRvbWF0aWMnIHwgJ21hbnVhbCc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFRhYnNSb290XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRBQlNfQ09OVEVYVF9UT0tFTiwgdXNlRXhpc3Rpbmc6IFJkeFRhYnNDb250ZXh0U2VydmljZSB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdvcmllbnRhdGlvbicsXG4gICAgICAgICdbYXR0ci5kaXJdJzogJ2RpcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRhYnNSb290RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYnNDb250ZXh0ID0gaW5qZWN0KFRBQlNfQ09OVEVYVF9UT0tFTik7XG5cbiAgICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgb3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCc7XG4gICAgQElucHV0KCkgZGlyPzogc3RyaW5nO1xuXG4gICAgLy8gRXZlbnQgaGFuZGxlciBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICBAT3V0cHV0KCkgb25WYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudGFic0NvbnRleHQudmFsdWUkKCk7XG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudGFic0NvbnRleHQuc2V0T3JpZW50YXRpb24odGhpcy5vcmllbnRhdGlvbik7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlyKSB7XG4gICAgICAgICAgICB0aGlzLnRhYnNDb250ZXh0LnNldERpcih0aGlzLmRpcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy50YWJzQ29udGV4dC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy50YWJzQ29udGV4dC5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
56
+ }] });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1yb290LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdGFicy9zcmMvdGFicy1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUE0QnhGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUF1QixzQkFBc0IsQ0FBQyxDQUFDO0FBWXBHLE1BQU0sT0FBTyxvQkFBb0I7SUFWakM7UUFXSTs7V0FFRztRQUNNLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUV4QixpQkFBWSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRXhDOztXQUVHO1FBQ00sbUJBQWMsR0FBRyxLQUFLLENBQXlCLFdBQVcsQ0FBQyxDQUFDO1FBRXJFOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxLQUFLLENBQWtCLFlBQVksQ0FBQyxDQUFDO1FBRW5ELFFBQUcsR0FBRyxLQUFLLENBQVMsS0FBSyxDQUFDLENBQUM7UUFFcEM7O1dBRUc7UUFDTSxrQkFBYSxHQUFHLE1BQU0sRUFBVSxDQUFDO0tBaUI3QztJQWZHLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGNBQWM7SUFDZCxTQUFTO1FBQ0wsT0FBTyxRQUFRLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdELENBQUM7K0dBdkNRLG9CQUFvQjttR0FBcEIsb0JBQW9CLHczQkFQbEI7WUFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUU7U0FBQzs7NEZBTS9ELG9CQUFvQjtrQkFWaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHNCQUFzQixFQUFFO3FCQUFDO29CQUN4RSxJQUFJLEVBQUU7d0JBQ0YseUJBQXlCLEVBQUUsZUFBZTt3QkFDMUMsWUFBWSxFQUFFLE9BQU87cUJBQ3hCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiwgaW5wdXQsIG1vZGVsLCBPbkluaXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYnNQcm9wcyB7XG4gICAgLyoqIFRoZSB2YWx1ZSBmb3IgdGhlIHNlbGVjdGVkIHRhYiwgaWYgY29udHJvbGxlZCAqL1xuICAgIHZhbHVlPzogc3RyaW5nO1xuICAgIC8qKiBUaGUgdmFsdWUgb2YgdGhlIHRhYiB0byBzZWxlY3QgYnkgZGVmYXVsdCwgaWYgdW5jb250cm9sbGVkICovXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIC8qKiBBIGZ1bmN0aW9uIGNhbGxlZCB3aGVuIGEgbmV3IHRhYiBpcyBzZWxlY3RlZCAqL1xuICAgIG9uVmFsdWVDaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBUaGUgb3JpZW50YXRpb24gdGhlIHRhYnMgYXJlIGxheWVkIG91dC5cbiAgICAgKiBNYWlubHkgc28gYXJyb3cgbmF2aWdhdGlvbiBpcyBkb25lIGFjY29yZGluZ2x5IChsZWZ0ICYgcmlnaHQgdnMuIHVwICYgZG93bilcbiAgICAgKiBAZGVmYXVsdFZhbHVlIGhvcml6b250YWxcbiAgICAgKi9cbiAgICBvcmllbnRhdGlvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgZGlyZWN0aW9uIG9mIG5hdmlnYXRpb24gYmV0d2VlbiB0b29sYmFyIGl0ZW1zLlxuICAgICAqL1xuICAgIGRpcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIGEgdGFiIGlzIGFjdGl2YXRlZCBhdXRvbWF0aWNhbGx5IG9yIG1hbnVhbGx5LlxuICAgICAqIEBkZWZhdWx0VmFsdWUgYXV0b21hdGljXG4gICAgICogKi9cbiAgICBhY3RpdmF0aW9uTW9kZT86ICdhdXRvbWF0aWMnIHwgJ21hbnVhbCc7XG59XG5cbmV4cG9ydCB0eXBlIERhdGFPcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCc7XG5cbmV4cG9ydCBjb25zdCBSRFhfVEFCU19ST09UX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFJkeFRhYnNSb290RGlyZWN0aXZlPignUmR4VGFic1Jvb3REaXJlY3RpdmUnKTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VGFic1Jvb3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFJEWF9UQUJTX1JPT1RfVE9LRU4sIHVzZUV4aXN0aW5nOiBSZHhUYWJzUm9vdERpcmVjdGl2ZSB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdvcmllbnRhdGlvbigpJyxcbiAgICAgICAgJ1thdHRyLmRpcl0nOiAnZGlyKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhUYWJzUm9vdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbnRyb2xsZWQgdmFsdWUgb2YgdGhlIHRhYiB0byBhY3RpdmF0ZS4gU2hvdWxkIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgb25WYWx1ZUNoYW5nZWAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdmFsdWUgPSBtb2RlbDxzdHJpbmc+KCk7XG5cbiAgICByZWFkb25seSBkZWZhdWx0VmFsdWUgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIGF1dG9tYXRpYywgdGFicyBhcmUgYWN0aXZhdGVkIHdoZW4gcmVjZWl2aW5nIGZvY3VzLiBXaGVuIG1hbnVhbCwgdGFicyBhcmUgYWN0aXZhdGVkIHdoZW4gY2xpY2tlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhY3RpdmF0aW9uTW9kZSA9IGlucHV0PCdhdXRvbWF0aWMnIHwgJ21hbnVhbCc+KCdhdXRvbWF0aWMnKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBvcmllbnRhdGlvbiBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9yaWVudGF0aW9uID0gaW5wdXQ8RGF0YU9yaWVudGF0aW9uPignaG9yaXpvbnRhbCcpO1xuXG4gICAgcmVhZG9ubHkgZGlyID0gaW5wdXQ8c3RyaW5nPignbHRyJyk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9uVmFsdWVDaGFuZ2UgPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlLnNldCh0aGlzLmRlZmF1bHRWYWx1ZSgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgZ2V0QmFzZUlkKCkge1xuICAgICAgICByZXR1cm4gYHRhYnMtJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgOSl9YDtcbiAgICB9XG59XG4iXX0=
@@ -1,22 +1,33 @@
1
- import { booleanAttribute, computed, Directive, inject, input } from '@angular/core';
2
- import { TABS_CONTEXT_TOKEN } from './tabs-context.service';
1
+ import { booleanAttribute, computed, Directive, effect, inject, input } from '@angular/core';
2
+ import { RdxRovingFocusItemDirective } from '@radix-ng/primitives/roving-focus';
3
+ import { RDX_TABS_ROOT_TOKEN } from './tabs-root.directive';
4
+ import { makeContentId, makeTriggerId } from './utils';
3
5
  import * as i0 from "@angular/core";
6
+ import * as i1 from "@radix-ng/primitives/roving-focus";
4
7
  export class RdxTabsTriggerDirective {
5
8
  constructor() {
6
- this.tabsContext = inject(TABS_CONTEXT_TOKEN);
7
- // A unique value that associates the trigger with a content.
9
+ this.rdxRovingFocusItemDirective = inject(RdxRovingFocusItemDirective);
10
+ this.tabsContext = inject(RDX_TABS_ROOT_TOKEN);
11
+ /**
12
+ * A unique value that associates the trigger with a content.
13
+ */
8
14
  this.value = input.required();
9
- // When true, prevents the user from interacting with the tab.
15
+ /**
16
+ * When true, prevents the user from interacting with the tab.
17
+ */
10
18
  this.disabled = input(false, {
11
19
  transform: booleanAttribute
12
20
  });
13
- this.contentId = computed(() => `${this.tabsContext.getBaseId()}-content-${this.value()}`);
14
- this.triggerId = computed(() => `${this.tabsContext.getBaseId()}-trigger-${this.value}`);
15
- this.selected = computed(() => this.tabsContext.value$() === this.value());
21
+ this.contentId = computed(() => makeContentId(this.tabsContext.getBaseId(), this.value()));
22
+ this.triggerId = computed(() => makeTriggerId(this.tabsContext.getBaseId(), this.value()));
23
+ this.isSelected = computed(() => this.tabsContext.value() === this.value());
24
+ effect(() => (this.rdxRovingFocusItemDirective.active = this.isSelected()));
16
25
  }
17
26
  onMouseDown(event) {
27
+ // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)
28
+ // but not when the control key is pressed (avoiding MacOS right click)
18
29
  if (!this.disabled() && event.button === 0 && !event.ctrlKey) {
19
- this.tabsContext?.setValue(this.value());
30
+ this.tabsContext?.select(this.value());
20
31
  }
21
32
  else {
22
33
  // prevent focus to avoid accidental activation
@@ -25,28 +36,43 @@ export class RdxTabsTriggerDirective {
25
36
  }
26
37
  onKeyDown(event) {
27
38
  if ([' ', 'Enter'].includes(event.key)) {
28
- this.tabsContext?.setValue(this.value());
39
+ this.tabsContext?.select(this.value());
40
+ }
41
+ }
42
+ onFocus() {
43
+ const isAutomaticActivation = this.tabsContext.activationMode() !== 'manual';
44
+ if (!this.isSelected() && !this.disabled() && isAutomaticActivation) {
45
+ this.tabsContext?.select(this.value());
29
46
  }
30
47
  }
31
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxTabsTriggerDirective, isStandalone: true, selector: "[rdxTabsTrigger]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "tab" }, listeners: { "mousedown": "onMouseDown($event)", "keydown": "onKeyDown($event)" }, properties: { "id": "triggerId", "attr.aria-selected": "selected()", "attr.aria-controls": "contentId()", "attr.data-disabled": "disabled() ? '' : undefined", "attr.data-state": "selected() ? 'active' : 'inactive'" } }, ngImport: i0 }); }
49
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxTabsTriggerDirective, isStandalone: true, selector: "[rdxTabsTrigger]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "tab" }, listeners: { "mousedown": "onMouseDown($event)", "keydown": "onKeyDown($event)", "focus": "onFocus()" }, properties: { "id": "triggerId()", "attr.aria-selected": "isSelected()", "attr.aria-controls": "contentId()", "attr.data-disabled": "disabled() ? '' : undefined", "disabled": "disabled()", "attr.data-state": "isSelected() ? 'active' : 'inactive'", "attr.data-orientation": "tabsContext.orientation()" } }, hostDirectives: [{ directive: i1.RdxRovingFocusItemDirective, inputs: ["focusable", "focusable", "active", "active", "allowShiftKey", "allowShiftKey"] }], ngImport: i0 }); }
33
50
  }
34
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsTriggerDirective, decorators: [{
35
52
  type: Directive,
36
53
  args: [{
37
54
  selector: '[rdxTabsTrigger]',
38
55
  standalone: true,
56
+ hostDirectives: [
57
+ {
58
+ directive: RdxRovingFocusItemDirective,
59
+ inputs: ['focusable', 'active', 'allowShiftKey']
60
+ }
61
+ ],
39
62
  host: {
40
63
  type: 'button',
41
64
  role: 'tab',
42
- '[id]': 'triggerId',
43
- '[attr.aria-selected]': 'selected()',
65
+ '[id]': 'triggerId()',
66
+ '[attr.aria-selected]': 'isSelected()',
44
67
  '[attr.aria-controls]': 'contentId()',
45
68
  '[attr.data-disabled]': "disabled() ? '' : undefined",
46
- '[attr.data-state]': "selected() ? 'active' : 'inactive'",
69
+ '[disabled]': 'disabled()',
70
+ '[attr.data-state]': "isSelected() ? 'active' : 'inactive'",
71
+ '[attr.data-orientation]': 'tabsContext.orientation()',
47
72
  '(mousedown)': 'onMouseDown($event)',
48
- '(keydown)': 'onKeyDown($event)'
73
+ '(keydown)': 'onKeyDown($event)',
74
+ '(focus)': 'onFocus()'
49
75
  }
50
76
  }]
51
- }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdGFicy9zcmMvdGFicy10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFzQjVELE1BQU0sT0FBTyx1QkFBdUI7SUFmcEM7UUFnQnVCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFNUQsNkRBQTZEO1FBQ3BELFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFFMUMsOERBQThEO1FBQ3JELGFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtZQUNwRCxTQUFTLEVBQUUsZ0JBQWdCO1NBQzlCLENBQUMsQ0FBQztRQUVnQixjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsWUFBWSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxZQUFZLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXBGLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQWdCNUY7SUFkYSxXQUFXLENBQUMsS0FBaUI7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzRCxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNKLCtDQUErQztZQUMvQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFUyxTQUFTLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0MsQ0FBQztJQUNMLENBQUM7K0dBN0JRLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQWZuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLEtBQUs7d0JBQ1gsTUFBTSxFQUFFLFdBQVc7d0JBQ25CLHNCQUFzQixFQUFFLFlBQVk7d0JBQ3BDLHNCQUFzQixFQUFFLGFBQWE7d0JBQ3JDLHNCQUFzQixFQUFFLDZCQUE2Qjt3QkFDckQsbUJBQW1CLEVBQUUsb0NBQW9DO3dCQUN6RCxhQUFhLEVBQUUscUJBQXFCO3dCQUNwQyxXQUFXLEVBQUUsbUJBQW1CO3FCQUNuQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBjb21wdXRlZCwgRGlyZWN0aXZlLCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbFdpdGhUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRBQlNfQ09OVEVYVF9UT0tFTiB9IGZyb20gJy4vdGFicy1jb250ZXh0LnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgVGFic1RyaWdnZXJQcm9wcyB7XG4gICAgLy8gV2hlbiB0cnVlLCBwcmV2ZW50cyB0aGUgdXNlciBmcm9tIGludGVyYWN0aW5nIHdpdGggdGhlIHRhYi5cbiAgICBkaXNhYmxlZDogSW5wdXRTaWduYWxXaXRoVHJhbnNmb3JtPGJvb2xlYW4sIEJvb2xlYW5JbnB1dD47XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFRhYnNUcmlnZ2VyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICByb2xlOiAndGFiJyxcbiAgICAgICAgJ1tpZF0nOiAndHJpZ2dlcklkJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtc2VsZWN0ZWRdJzogJ3NlbGVjdGVkKCknLFxuICAgICAgICAnW2F0dHIuYXJpYS1jb250cm9sc10nOiAnY29udGVudElkKCknLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiBcImRpc2FibGVkKCkgPyAnJyA6IHVuZGVmaW5lZFwiLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiBcInNlbGVjdGVkKCkgPyAnYWN0aXZlJyA6ICdpbmFjdGl2ZSdcIixcbiAgICAgICAgJyhtb3VzZWRvd24pJzogJ29uTW91c2VEb3duKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VGFic1RyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBUYWJzVHJpZ2dlclByb3BzIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFic0NvbnRleHQgPSBpbmplY3QoVEFCU19DT05URVhUX1RPS0VOKTtcblxuICAgIC8vIEEgdW5pcXVlIHZhbHVlIHRoYXQgYXNzb2NpYXRlcyB0aGUgdHJpZ2dlciB3aXRoIGEgY29udGVudC5cbiAgICByZWFkb25seSB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAgIC8vIFdoZW4gdHJ1ZSwgcHJldmVudHMgdGhlIHVzZXIgZnJvbSBpbnRlcmFjdGluZyB3aXRoIHRoZSB0YWIuXG4gICAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZVxuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRlbnRJZCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMudGFic0NvbnRleHQuZ2V0QmFzZUlkKCl9LWNvbnRlbnQtJHt0aGlzLnZhbHVlKCl9YCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyaWdnZXJJZCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMudGFic0NvbnRleHQuZ2V0QmFzZUlkKCl9LXRyaWdnZXItJHt0aGlzLnZhbHVlfWApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50YWJzQ29udGV4dC52YWx1ZSQoKSA9PT0gdGhpcy52YWx1ZSgpKTtcblxuICAgIHByb3RlY3RlZCBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSAmJiBldmVudC5idXR0b24gPT09IDAgJiYgIWV2ZW50LmN0cmxLZXkpIHtcbiAgICAgICAgICAgIHRoaXMudGFic0NvbnRleHQ/LnNldFZhbHVlKHRoaXMudmFsdWUoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBwcmV2ZW50IGZvY3VzIHRvIGF2b2lkIGFjY2lkZW50YWwgYWN0aXZhdGlvblxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKFsnICcsICdFbnRlciddLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgICAgICAgIHRoaXMudGFic0NvbnRleHQ/LnNldFZhbHVlKHRoaXMudmFsdWUoKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
77
+ }], ctorParameters: () => [] });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdGFicy9zcmMvdGFicy10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7OztBQWdDdkQsTUFBTSxPQUFPLHVCQUF1QjtJQXNCaEM7UUFyQmlCLGdDQUEyQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRWhFLGdCQUFXLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFN0Q7O1dBRUc7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRTFDOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1lBQ3BELFNBQVMsRUFBRSxnQkFBZ0I7U0FDOUIsQ0FBQyxDQUFDO1FBRWdCLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RixjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFdEYsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBR3RGLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRVMsV0FBVyxDQUFDLEtBQWlCO1FBQ25DLDRGQUE0RjtRQUM1Rix1RUFBdUU7UUFDdkUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzRCxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzQyxDQUFDO2FBQU0sQ0FBQztZQUNKLCtDQUErQztZQUMvQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFUyxTQUFTLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNMLENBQUM7SUFFUyxPQUFPO1FBQ2IsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxLQUFLLFFBQVEsQ0FBQztRQUM3RSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLHFCQUFxQixFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNMLENBQUM7K0dBaERRLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQXpCbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFO3dCQUNaOzRCQUNJLFNBQVMsRUFBRSwyQkFBMkI7NEJBQ3RDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDO3lCQUNuRDtxQkFDSjtvQkFFRCxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLEtBQUs7d0JBQ1gsTUFBTSxFQUFFLGFBQWE7d0JBQ3JCLHNCQUFzQixFQUFFLGNBQWM7d0JBQ3RDLHNCQUFzQixFQUFFLGFBQWE7d0JBQ3JDLHNCQUFzQixFQUFFLDZCQUE2Qjt3QkFDckQsWUFBWSxFQUFFLFlBQVk7d0JBQzFCLG1CQUFtQixFQUFFLHNDQUFzQzt3QkFDM0QseUJBQXlCLEVBQUUsMkJBQTJCO3dCQUN0RCxhQUFhLEVBQUUscUJBQXFCO3dCQUNwQyxXQUFXLEVBQUUsbUJBQW1CO3dCQUNoQyxTQUFTLEVBQUUsV0FBVztxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbFdpdGhUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZSB9IGZyb20gJ0ByYWRpeC1uZy9wcmltaXRpdmVzL3JvdmluZy1mb2N1cyc7XG5pbXBvcnQgeyBSRFhfVEFCU19ST09UX1RPS0VOIH0gZnJvbSAnLi90YWJzLXJvb3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IG1ha2VDb250ZW50SWQsIG1ha2VUcmlnZ2VySWQgfSBmcm9tICcuL3V0aWxzJztcblxuaW50ZXJmYWNlIFRhYnNUcmlnZ2VyUHJvcHMge1xuICAgIC8vIFdoZW4gdHJ1ZSwgcHJldmVudHMgdGhlIHVzZXIgZnJvbSBpbnRlcmFjdGluZyB3aXRoIHRoZSB0YWIuXG4gICAgZGlzYWJsZWQ6IElucHV0U2lnbmFsV2l0aFRyYW5zZm9ybTxib29sZWFuLCBCb29sZWFuSW5wdXQ+O1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhUYWJzVHJpZ2dlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBSZHhSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFsnZm9jdXNhYmxlJywgJ2FjdGl2ZScsICdhbGxvd1NoaWZ0S2V5J11cbiAgICAgICAgfVxuICAgIF0sXG5cbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICByb2xlOiAndGFiJyxcbiAgICAgICAgJ1tpZF0nOiAndHJpZ2dlcklkKCknLFxuICAgICAgICAnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnaXNTZWxlY3RlZCgpJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtY29udHJvbHNdJzogJ2NvbnRlbnRJZCgpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogXCJkaXNhYmxlZCgpID8gJycgOiB1bmRlZmluZWRcIixcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6IFwiaXNTZWxlY3RlZCgpID8gJ2FjdGl2ZScgOiAnaW5hY3RpdmUnXCIsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICd0YWJzQ29udGV4dC5vcmllbnRhdGlvbigpJyxcbiAgICAgICAgJyhtb3VzZWRvd24pJzogJ29uTW91c2VEb3duKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1cyknOiAnb25Gb2N1cygpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VGFic1RyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBUYWJzVHJpZ2dlclByb3BzIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJkeFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZSA9IGluamVjdChSZHhSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmUpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYnNDb250ZXh0ID0gaW5qZWN0KFJEWF9UQUJTX1JPT1RfVE9LRU4pO1xuXG4gICAgLyoqXG4gICAgICogQSB1bmlxdWUgdmFsdWUgdGhhdCBhc3NvY2lhdGVzIHRoZSB0cmlnZ2VyIHdpdGggYSBjb250ZW50LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiB0cnVlLCBwcmV2ZW50cyB0aGUgdXNlciBmcm9tIGludGVyYWN0aW5nIHdpdGggdGhlIHRhYi5cbiAgICAgKi9cbiAgICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcbiAgICAgICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGVudElkID0gY29tcHV0ZWQoKCkgPT4gbWFrZUNvbnRlbnRJZCh0aGlzLnRhYnNDb250ZXh0LmdldEJhc2VJZCgpLCB0aGlzLnZhbHVlKCkpKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJpZ2dlcklkID0gY29tcHV0ZWQoKCkgPT4gbWFrZVRyaWdnZXJJZCh0aGlzLnRhYnNDb250ZXh0LmdldEJhc2VJZCgpLCB0aGlzLnZhbHVlKCkpKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1NlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50YWJzQ29udGV4dC52YWx1ZSgpID09PSB0aGlzLnZhbHVlKCkpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiAodGhpcy5yZHhSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmUuYWN0aXZlID0gdGhpcy5pc1NlbGVjdGVkKCkpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgLy8gb25seSBjYWxsIGhhbmRsZXIgaWYgaXQncyB0aGUgbGVmdCBidXR0b24gKG1vdXNlZG93biBnZXRzIHRyaWdnZXJlZCBieSBhbGwgbW91c2UgYnV0dG9ucylcbiAgICAgICAgLy8gYnV0IG5vdCB3aGVuIHRoZSBjb250cm9sIGtleSBpcyBwcmVzc2VkIChhdm9pZGluZyBNYWNPUyByaWdodCBjbGljaylcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKCkgJiYgZXZlbnQuYnV0dG9uID09PSAwICYmICFldmVudC5jdHJsS2V5KSB7XG4gICAgICAgICAgICB0aGlzLnRhYnNDb250ZXh0Py5zZWxlY3QodGhpcy52YWx1ZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHByZXZlbnQgZm9jdXMgdG8gYXZvaWQgYWNjaWRlbnRhbCBhY3RpdmF0aW9uXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoWycgJywgJ0VudGVyJ10uaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgICAgICAgdGhpcy50YWJzQ29udGV4dD8uc2VsZWN0KHRoaXMudmFsdWUoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1cygpIHtcbiAgICAgICAgY29uc3QgaXNBdXRvbWF0aWNBY3RpdmF0aW9uID0gdGhpcy50YWJzQ29udGV4dC5hY3RpdmF0aW9uTW9kZSgpICE9PSAnbWFudWFsJztcbiAgICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQoKSAmJiAhdGhpcy5kaXNhYmxlZCgpICYmIGlzQXV0b21hdGljQWN0aXZhdGlvbikge1xuICAgICAgICAgICAgdGhpcy50YWJzQ29udGV4dD8uc2VsZWN0KHRoaXMudmFsdWUoKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export function makeTriggerId(baseId, value) {
2
+ return `${baseId}-trigger-${value}`;
3
+ }
4
+ export function makeContentId(baseId, value) {
5
+ return `${baseId}-content-${value}`;
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RhYnMvc3JjL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBYyxFQUFFLEtBQXNCO0lBQ2hFLE9BQU8sR0FBRyxNQUFNLFlBQVksS0FBSyxFQUFFLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBYyxFQUFFLEtBQXNCO0lBQ2hFLE9BQU8sR0FBRyxNQUFNLFlBQVksS0FBSyxFQUFFLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBtYWtlVHJpZ2dlcklkKGJhc2VJZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIGAke2Jhc2VJZH0tdHJpZ2dlci0ke3ZhbHVlfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlQ29udGVudElkKGJhc2VJZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIGAke2Jhc2VJZH0tY29udGVudC0ke3ZhbHVlfWA7XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
- export * from './src/toggle-input.directive';
1
+ export * from './src/toggle-visually-hidden-input.directive';
2
2
  export * from './src/toggle.directive';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RvZ2dsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy90b2dnbGUtaW5wdXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3RvZ2dsZS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgdHlwZSB7IFRvZ2dsZVByb3BzIH0gZnJvbSAnLi9zcmMvdG9nZ2xlLmRpcmVjdGl2ZSc7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RvZ2dsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy90b2dnbGUtdmlzdWFsbHktaGlkZGVuLWlucHV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy90b2dnbGUuZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgeyBEYXRhU3RhdGUsIFRvZ2dsZVByb3BzIH0gZnJvbSAnLi9zcmMvdG9nZ2xlLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Directive } from '@angular/core';
2
+ import { RdxVisuallyHiddenInputDirective } from '@radix-ng/primitives/visually-hidden';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@radix-ng/primitives/visually-hidden";
5
+ export class RdxToggleVisuallyHiddenInputDirective {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleVisuallyHiddenInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxToggleVisuallyHiddenInputDirective, isStandalone: true, selector: "input[rdxToggleVisuallyHiddenInput]", host: { attributes: { "type": "checkbox" } }, exportAs: ["rdxToggleVisuallyHiddenInput"], hostDirectives: [{ directive: i1.RdxVisuallyHiddenInputDirective, inputs: ["name", "name", "required", "required", "value", "value", "disabled", "disabled"] }], ngImport: i0 }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleVisuallyHiddenInputDirective, decorators: [{
10
+ type: Directive,
11
+ args: [{
12
+ selector: 'input[rdxToggleVisuallyHiddenInput]',
13
+ exportAs: 'rdxToggleVisuallyHiddenInput',
14
+ standalone: true,
15
+ hostDirectives: [
16
+ {
17
+ directive: RdxVisuallyHiddenInputDirective,
18
+ inputs: [
19
+ 'name',
20
+ 'required',
21
+ 'value',
22
+ 'disabled'
23
+ ]
24
+ }
25
+ ],
26
+ host: {
27
+ type: 'checkbox'
28
+ }
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXZpc3VhbGx5LWhpZGRlbi1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RvZ2dsZS9zcmMvdG9nZ2xlLXZpc3VhbGx5LWhpZGRlbi1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBcUJ2RixNQUFNLE9BQU8scUNBQXFDOytHQUFyQyxxQ0FBcUM7bUdBQXJDLHFDQUFxQzs7NEZBQXJDLHFDQUFxQztrQkFuQmpELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFDQUFxQztvQkFDL0MsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsK0JBQStCOzRCQUMxQyxNQUFNLEVBQUU7Z0NBQ0osTUFBTTtnQ0FDTixVQUFVO2dDQUNWLE9BQU87Z0NBQ1AsVUFBVTs2QkFDYjt5QkFDSjtxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFVBQVU7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhWaXN1YWxseUhpZGRlbklucHV0RGlyZWN0aXZlIH0gZnJvbSAnQHJhZGl4LW5nL3ByaW1pdGl2ZXMvdmlzdWFsbHktaGlkZGVuJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbnB1dFtyZHhUb2dnbGVWaXN1YWxseUhpZGRlbklucHV0XScsXG4gICAgZXhwb3J0QXM6ICdyZHhUb2dnbGVWaXN1YWxseUhpZGRlbklucHV0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogUmR4VmlzdWFsbHlIaWRkZW5JbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgICAgICduYW1lJyxcbiAgICAgICAgICAgICAgICAncmVxdWlyZWQnLFxuICAgICAgICAgICAgICAgICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgJ2Rpc2FibGVkJ1xuICAgICAgICAgICAgXVxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICdjaGVja2JveCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvZ2dsZVZpc3VhbGx5SGlkZGVuSW5wdXREaXJlY3RpdmUge31cbiJdfQ==
@@ -1,5 +1,11 @@
1
- import { booleanAttribute, Directive, input, model, output } from '@angular/core';
1
+ import { booleanAttribute, computed, Directive, forwardRef, input, model, output, signal } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
2
3
  import * as i0 from "@angular/core";
4
+ export const TOGGLE_VALUE_ACCESSOR = {
5
+ provide: NG_VALUE_ACCESSOR,
6
+ useExisting: forwardRef(() => RdxToggleDirective),
7
+ multi: true
8
+ };
3
9
  export class RdxToggleDirective {
4
10
  constructor() {
5
11
  /**
@@ -16,19 +22,43 @@ export class RdxToggleDirective {
16
22
  * When true, prevents the user from interacting with the toggle.
17
23
  */
18
24
  this.disabled = input(false, { transform: booleanAttribute });
25
+ /** @ignore */
26
+ this.disabledState = computed(() => this.disabled() || this.accessorDisabled());
27
+ this.dataState = computed(() => {
28
+ return this.pressed() ? 'on' : 'off';
29
+ });
19
30
  /**
20
31
  * Event handler called when the pressed state of the toggle changes.
21
32
  */
22
33
  this.onPressedChange = output();
34
+ this.accessorDisabled = signal(false);
35
+ this.onChange = () => { };
23
36
  }
24
- toggle() {
37
+ togglePressed() {
25
38
  if (!this.disabled()) {
26
39
  this.pressed.set(!this.pressed());
40
+ this.onChange(this.pressed());
27
41
  this.onPressedChange.emit(this.pressed());
28
42
  }
29
43
  }
44
+ /** @ignore */
45
+ writeValue(value) {
46
+ this.pressed.set(value);
47
+ }
48
+ /** @ignore */
49
+ registerOnChange(fn) {
50
+ this.onChange = fn;
51
+ }
52
+ /** @ignore */
53
+ registerOnTouched(fn) {
54
+ this.onTouched = fn;
55
+ }
56
+ /** @ignore */
57
+ setDisabledState(isDisabled) {
58
+ this.accessorDisabled.set(isDisabled);
59
+ }
30
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxToggleDirective, isStandalone: true, selector: "[rdxToggle]", inputs: { defaultPressed: { classPropertyName: "defaultPressed", publicName: "defaultPressed", isSignal: true, isRequired: false, transformFunction: null }, pressed: { classPropertyName: "pressed", publicName: "pressed", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pressed: "pressedChange", onPressedChange: "onPressedChange" }, host: { listeners: { "click": "toggle()" }, properties: { "attr.aria-pressed": "pressed()", "attr.data-state": "pressed() ? \"on\" : \"off\"", "attr.data-disabled": "disabled()", "disabled": "disabled()" } }, exportAs: ["rdxToggle"], ngImport: i0 }); }
61
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxToggleDirective, isStandalone: true, selector: "[rdxToggle]", inputs: { defaultPressed: { classPropertyName: "defaultPressed", publicName: "defaultPressed", isSignal: true, isRequired: false, transformFunction: null }, pressed: { classPropertyName: "pressed", publicName: "pressed", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pressed: "pressedChange", onPressedChange: "onPressedChange" }, host: { listeners: { "click": "togglePressed()" }, properties: { "attr.aria-pressed": "pressed()", "attr.data-state": "dataState()", "attr.data-disabled": "disabledState() ? \"\" : undefined", "disabled": "disabledState()" } }, providers: [TOGGLE_VALUE_ACCESSOR], exportAs: ["rdxToggle"], ngImport: i0 }); }
32
62
  }
33
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleDirective, decorators: [{
34
64
  type: Directive,
@@ -36,13 +66,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
36
66
  selector: '[rdxToggle]',
37
67
  exportAs: 'rdxToggle',
38
68
  standalone: true,
69
+ providers: [TOGGLE_VALUE_ACCESSOR],
39
70
  host: {
40
71
  '[attr.aria-pressed]': 'pressed()',
41
- '[attr.data-state]': 'pressed() ? "on" : "off"',
42
- '[attr.data-disabled]': 'disabled()',
43
- '[disabled]': 'disabled()',
44
- '(click)': 'toggle()'
72
+ '[attr.data-state]': 'dataState()',
73
+ '[attr.data-disabled]': 'disabledState() ? "" : undefined',
74
+ '[disabled]': 'disabledState()',
75
+ '(click)': 'togglePressed()'
45
76
  }
46
77
  }]
47
78
  }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9nZ2xlL3NyYy90b2dnbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQW9CLE1BQU0sZUFBZSxDQUFDOztBQXdDcEcsTUFBTSxPQUFPLGtCQUFrQjtJQWIvQjtRQWNJOzs7V0FHRztRQUNNLG1CQUFjLEdBQUcsS0FBSyxDQUF3QixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRS9GOzs7V0FHRztRQUNNLFlBQU8sR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFFekQ7O1dBRUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUF3QixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRXpGOztXQUVHO1FBQ00sb0JBQWUsR0FBRyxNQUFNLEVBQVcsQ0FBQztLQVFoRDtJQU5hLE1BQU07UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0wsQ0FBQzsrR0E1QlEsa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBYjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLHFCQUFxQixFQUFFLFdBQVc7d0JBQ2xDLG1CQUFtQixFQUFFLDBCQUEwQjt3QkFDL0Msc0JBQXNCLEVBQUUsWUFBWTt3QkFDcEMsWUFBWSxFQUFFLFlBQVk7d0JBRTFCLFNBQVMsRUFBRSxVQUFVO3FCQUN4QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIGlucHV0LCBtb2RlbCwgb3V0cHV0LCBPdXRwdXRFbWl0dGVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9nZ2xlUHJvcHMge1xuICAgIC8qKlxuICAgICAqIFRoZSBjb250cm9sbGVkIHN0YXRlIG9mIHRoZSB0b2dnbGUuXG4gICAgICovXG4gICAgcHJlc3NlZD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc3RhdGUgb2YgdGhlIHRvZ2dsZSB3aGVuIGluaXRpYWxseSByZW5kZXJlZC4gVXNlIGBkZWZhdWx0UHJlc3NlZGBcbiAgICAgKiBpZiB5b3UgZG8gbm90IG5lZWQgdG8gY29udHJvbCB0aGUgc3RhdGUgb2YgdGhlIHRvZ2dsZS5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICovXG4gICAgZGVmYXVsdFByZXNzZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNhbGxiYWNrIHRoYXQgZmlyZXMgd2hlbiB0aGUgc3RhdGUgb2YgdGhlIHRvZ2dsZSBjaGFuZ2VzLlxuICAgICAqL1xuICAgIG9uUHJlc3NlZENoYW5nZT86IE91dHB1dEVtaXR0ZXJSZWY8Ym9vbGVhbj47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgaXMgZGlzYWJsZWQuXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqL1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VG9nZ2xlXScsXG4gICAgZXhwb3J0QXM6ICdyZHhUb2dnbGUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuYXJpYS1wcmVzc2VkXSc6ICdwcmVzc2VkKCknLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAncHJlc3NlZCgpID8gXCJvblwiIDogXCJvZmZcIicsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG5cbiAgICAgICAgJyhjbGljayknOiAndG9nZ2xlKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhUb2dnbGVEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIFRoZSBwcmVzc2VkIHN0YXRlIG9mIHRoZSB0b2dnbGUgd2hlbiBpdCBpcyBpbml0aWFsbHkgcmVuZGVyZWQuXG4gICAgICogVXNlIHdoZW4geW91IGRvIG5vdCBuZWVkIHRvIGNvbnRyb2wgaXRzIHByZXNzZWQgc3RhdGUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVmYXVsdFByZXNzZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb250cm9sbGVkIHByZXNzZWQgc3RhdGUgb2YgdGhlIHRvZ2dsZS5cbiAgICAgKiBNdXN0IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgb25QcmVzc2VkQ2hhbmdlYC5cbiAgICAgKi9cbiAgICByZWFkb25seSBwcmVzc2VkID0gbW9kZWw8Ym9vbGVhbj4odGhpcy5kZWZhdWx0UHJlc3NlZCgpKTtcblxuICAgIC8qKlxuICAgICAqIFdoZW4gdHJ1ZSwgcHJldmVudHMgdGhlIHVzZXIgZnJvbSBpbnRlcmFjdGluZyB3aXRoIHRoZSB0b2dnbGUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIHByZXNzZWQgc3RhdGUgb2YgdGhlIHRvZ2dsZSBjaGFuZ2VzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9uUHJlc3NlZENoYW5nZSA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gICAgcHJvdGVjdGVkIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMucHJlc3NlZC5zZXQoIXRoaXMucHJlc3NlZCgpKTtcbiAgICAgICAgICAgIHRoaXMub25QcmVzc2VkQ2hhbmdlLmVtaXQodGhpcy5wcmVzc2VkKCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9nZ2xlL3NyYy90b2dnbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUE2QnpFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFRO0lBQ3RDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztJQUNqRCxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFnQkYsTUFBTSxPQUFPLGtCQUFrQjtJQWQvQjtRQWVJOzs7V0FHRztRQUNNLG1CQUFjLEdBQUcsS0FBSyxDQUF3QixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRS9GOzs7V0FHRztRQUNNLFlBQU8sR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFFekQ7O1dBRUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUF3QixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLGNBQWM7UUFDTCxrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUVqRSxjQUFTLEdBQUcsUUFBUSxDQUFZLEdBQUcsRUFBRTtZQUNwRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNNLG9CQUFlLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFVNUIscUJBQWdCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFDLGFBQVEsR0FBeUIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBdUJyRDtJQWpDYSxhQUFhO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNMLENBQUM7SUFRRCxjQUFjO0lBQ2QsVUFBVSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7SUFDZCxnQkFBZ0IsQ0FBQyxFQUF3QjtRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsY0FBYztJQUNkLGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7SUFDZCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7K0dBOURRLGtCQUFrQjttR0FBbEIsa0JBQWtCLHV3QkFWaEIsQ0FBQyxxQkFBcUIsQ0FBQzs7NEZBVXpCLGtCQUFrQjtrQkFkOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDbEMsSUFBSSxFQUFFO3dCQUNGLHFCQUFxQixFQUFFLFdBQVc7d0JBQ2xDLG1CQUFtQixFQUFFLGFBQWE7d0JBQ2xDLHNCQUFzQixFQUFFLGtDQUFrQzt3QkFDMUQsWUFBWSxFQUFFLGlCQUFpQjt3QkFFL0IsU0FBUyxFQUFFLGlCQUFpQjtxQkFDL0I7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGNvbXB1dGVkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGlucHV0LFxuICAgIG1vZGVsLFxuICAgIG91dHB1dCxcbiAgICBPdXRwdXRFbWl0dGVyUmVmLFxuICAgIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGludGVyZmFjZSBUb2dnbGVQcm9wcyB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbnRyb2xsZWQgc3RhdGUgb2YgdGhlIHRvZ2dsZS5cbiAgICAgKi9cbiAgICBwcmVzc2VkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBzdGF0ZSBvZiB0aGUgdG9nZ2xlIHdoZW4gaW5pdGlhbGx5IHJlbmRlcmVkLiBVc2UgYGRlZmF1bHRQcmVzc2VkYFxuICAgICAqIGlmIHlvdSBkbyBub3QgbmVlZCB0byBjb250cm9sIHRoZSBzdGF0ZSBvZiB0aGUgdG9nZ2xlLlxuICAgICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICAgKi9cbiAgICBkZWZhdWx0UHJlc3NlZD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2FsbGJhY2sgdGhhdCBmaXJlcyB3aGVuIHRoZSBzdGF0ZSBvZiB0aGUgdG9nZ2xlIGNoYW5nZXMuXG4gICAgICovXG4gICAgb25QcmVzc2VkQ2hhbmdlPzogT3V0cHV0RW1pdHRlclJlZjxib29sZWFuPjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRvZ2dsZSBpcyBkaXNhYmxlZC5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICovXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBEYXRhU3RhdGUgPSAnb24nIHwgJ29mZic7XG5cbmV4cG9ydCBjb25zdCBUT0dHTEVfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSZHhUb2dnbGVEaXJlY3RpdmUpLFxuICAgIG11bHRpOiB0cnVlXG59O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhUb2dnbGVdJyxcbiAgICBleHBvcnRBczogJ3JkeFRvZ2dsZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtUT0dHTEVfVkFMVUVfQUNDRVNTT1JdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmFyaWEtcHJlc3NlZF0nOiAncHJlc3NlZCgpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ2RhdGFTdGF0ZSgpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkU3RhdGUoKSA/IFwiXCIgOiB1bmRlZmluZWQnLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZFN0YXRlKCknLFxuXG4gICAgICAgICcoY2xpY2spJzogJ3RvZ2dsZVByZXNzZWQoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvZ2dsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICAvKipcbiAgICAgKiBUaGUgcHJlc3NlZCBzdGF0ZSBvZiB0aGUgdG9nZ2xlIHdoZW4gaXQgaXMgaW5pdGlhbGx5IHJlbmRlcmVkLlxuICAgICAqIFVzZSB3aGVuIHlvdSBkbyBub3QgbmVlZCB0byBjb250cm9sIGl0cyBwcmVzc2VkIHN0YXRlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlZmF1bHRQcmVzc2VkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29udHJvbGxlZCBwcmVzc2VkIHN0YXRlIG9mIHRoZSB0b2dnbGUuXG4gICAgICogTXVzdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYG9uUHJlc3NlZENoYW5nZWAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHJlc3NlZCA9IG1vZGVsPGJvb2xlYW4+KHRoaXMuZGVmYXVsdFByZXNzZWQoKSk7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHRydWUsIHByZXZlbnRzIHRoZSB1c2VyIGZyb20gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgdG9nZ2xlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IGRpc2FibGVkU3RhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRpc2FibGVkKCkgfHwgdGhpcy5hY2Nlc3NvckRpc2FibGVkKCkpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGFTdGF0ZSA9IGNvbXB1dGVkPERhdGFTdGF0ZT4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVzc2VkKCkgPyAnb24nIDogJ29mZic7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSBwcmVzc2VkIHN0YXRlIG9mIHRoZSB0b2dnbGUgY2hhbmdlcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBvblByZXNzZWRDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICAgIHByb3RlY3RlZCB0b2dnbGVQcmVzc2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5wcmVzc2VkLnNldCghdGhpcy5wcmVzc2VkKCkpO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnByZXNzZWQoKSk7XG4gICAgICAgICAgICB0aGlzLm9uUHJlc3NlZENoYW5nZS5lbWl0KHRoaXMucHJlc3NlZCgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3JEaXNhYmxlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgb25Ub3VjaGVkOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXNzZWQuc2V0KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY2Nlc3NvckRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcbiAgICB9XG59XG4iXX0=
@@ -54,7 +54,7 @@ export class RdxToggleGroupItemDirective {
54
54
  // TODO
55
55
  }
56
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleGroupItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxToggleGroupItemDirective, isStandalone: true, selector: "[rdxToggleGroupItem]", inputs: { value: "value", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "role": "radio" }, listeners: { "click": "toggle()" }, properties: { "attr.aria-checked": "checked", "attr.aria-disabled": "disabled || toggleGroup.disabled", "attr.aria-pressed": "undefined", "attr.data-disabled": "disabled || toggleGroup.disabled", "attr.data-state": "checked ? \"on\" : \"off\"", "attr.data-orientation": "toggleGroup.orientation" } }, providers: [{ provide: RdxToggleGroupItemToken, useExisting: RdxToggleGroupItemDirective }], exportAs: ["rdxToggleGroupItem"], usesOnChanges: true, ngImport: i0 }); }
57
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxToggleGroupItemDirective, isStandalone: true, selector: "[rdxToggleGroupItem]", inputs: { value: "value", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "role": "radio" }, listeners: { "click": "toggle()", "focus": "focus()" }, properties: { "attr.aria-checked": "checked", "attr.aria-disabled": "disabled || toggleGroup.disabled", "attr.aria-pressed": "undefined", "attr.data-disabled": "disabled || toggleGroup.disabled", "attr.data-state": "checked ? \"on\" : \"off\"", "attr.data-orientation": "toggleGroup.orientation" } }, providers: [{ provide: RdxToggleGroupItemToken, useExisting: RdxToggleGroupItemDirective }], exportAs: ["rdxToggleGroupItem"], usesOnChanges: true, ngImport: i0 }); }
58
58
  }
59
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleGroupItemDirective, decorators: [{
60
60
  type: Directive,
@@ -71,7 +71,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
71
71
  '[attr.data-disabled]': 'disabled || toggleGroup.disabled',
72
72
  '[attr.data-state]': 'checked ? "on" : "off"',
73
73
  '[attr.data-orientation]': 'toggleGroup.orientation',
74
- '(click)': 'toggle()'
74
+ '(click)': 'toggle()',
75
+ '(focus)': 'focus()'
75
76
  }
76
77
  }]
77
78
  }], propDecorators: { value: [{
@@ -81,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
81
82
  type: Input,
82
83
  args: [{ transform: booleanAttribute }]
83
84
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b2dnbGUtZ3JvdXAvc3JjL3RvZ2dsZS1ncm91cC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFvQnpELE1BQU0sT0FBTywyQkFBMkI7SUFsQnhDO1FBbUJJOzs7V0FHRztRQUNnQixnQkFBVyxHQUFHLGlCQUFpQixFQUFFLENBQUM7UUFFcEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQU1qRDs7O1dBR0c7UUFDcUMsYUFBUSxHQUFHLEtBQUssQ0FBQztLQTRDNUQ7SUExQ0c7O09BRUc7SUFDSCxJQUFjLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksVUFBVSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDWCxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWM7UUFDVixPQUFPO0lBQ1gsQ0FBQzsrR0E1RFEsMkJBQTJCO21HQUEzQiwyQkFBMkIscUhBaUJoQixnQkFBZ0IsMFlBL0J6QixDQUFDLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxDQUFDOzs0RkFjbEYsMkJBQTJCO2tCQWxCdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyw2QkFBNkIsRUFBRSxDQUFDO29CQUMzRixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IscUJBQXFCLEVBQUUsU0FBUzt3QkFDaEMsc0JBQXNCLEVBQUUsa0NBQWtDO3dCQUMxRCxxQkFBcUIsRUFBRSxXQUFXO3dCQUVsQyxzQkFBc0IsRUFBRSxrQ0FBa0M7d0JBQzFELG1CQUFtQixFQUFFLHdCQUF3Qjt3QkFDN0MseUJBQXlCLEVBQUUseUJBQXlCO3dCQUVwRCxTQUFTLEVBQUUsVUFBVTtxQkFDeEI7aUJBQ0o7OEJBWThCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQU1lLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c2FibGVPcHRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4VG9nZ2xlR3JvdXBJdGVtVG9rZW4gfSBmcm9tICcuL3RvZ2dsZS1ncm91cC1pdGVtLnRva2VuJztcbmltcG9ydCB7IGluamVjdFRvZ2dsZUdyb3VwIH0gZnJvbSAnLi90b2dnbGUtZ3JvdXAudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhUb2dnbGVHcm91cEl0ZW1dJyxcbiAgICBleHBvcnRBczogJ3JkeFRvZ2dsZUdyb3VwSXRlbScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJkeFRvZ2dsZUdyb3VwSXRlbVRva2VuLCB1c2VFeGlzdGluZzogUmR4VG9nZ2xlR3JvdXBJdGVtRGlyZWN0aXZlIH1dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ3JhZGlvJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtY2hlY2tlZF0nOiAnY2hlY2tlZCcsXG4gICAgICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCB0b2dnbGVHcm91cC5kaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5hcmlhLXByZXNzZWRdJzogJ3VuZGVmaW5lZCcsXG5cbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IHRvZ2dsZUdyb3VwLmRpc2FibGVkJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ2NoZWNrZWQgPyBcIm9uXCIgOiBcIm9mZlwiJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ3RvZ2dsZUdyb3VwLm9yaWVudGF0aW9uJyxcblxuICAgICAgICAnKGNsaWNrKSc6ICd0b2dnbGUoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvZ2dsZUdyb3VwSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRm9jdXNhYmxlT3B0aW9uIHtcbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIHRvZ2dsZSBncm91cC5cbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRvZ2dsZUdyb3VwID0gaW5qZWN0VG9nZ2xlR3JvdXAoKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgb2YgdGhpcyB0b2dnbGUgYnV0dG9uLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHZhbHVlITogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGlzIHRvZ2dsZSBidXR0b24gaXMgZGlzYWJsZWQuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhpcyB0b2dnbGUgYnV0dG9uIGlzIGNoZWNrZWQuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2dnbGVHcm91cC5pc1NlbGVjdGVkKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICgnZGlzYWJsZWQnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50b2dnbGVHcm91cC50b2dnbGUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5zdXJlIHRoZSBkaXNhYmxlZCBzdGF0ZSBpcyBwcm9wYWdhdGVkIHRvIHRoZSByb3ZpbmcgZm9jdXMgaXRlbS5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgdXBkYXRlRGlzYWJsZWQoKTogdm9pZCB7XG4gICAgICAgIC8vIFRPRE9cbiAgICB9XG59XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b2dnbGUtZ3JvdXAvc3JjL3RvZ2dsZS1ncm91cC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFxQnpELE1BQU0sT0FBTywyQkFBMkI7SUFuQnhDO1FBb0JJOzs7V0FHRztRQUNnQixnQkFBVyxHQUFHLGlCQUFpQixFQUFFLENBQUM7UUFFcEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQU1qRDs7O1dBR0c7UUFDcUMsYUFBUSxHQUFHLEtBQUssQ0FBQztLQTRDNUQ7SUExQ0c7O09BRUc7SUFDSCxJQUFjLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksVUFBVSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDWCxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWM7UUFDVixPQUFPO0lBQ1gsQ0FBQzsrR0E1RFEsMkJBQTJCO21HQUEzQiwyQkFBMkIscUhBaUJoQixnQkFBZ0IsOFpBaEN6QixDQUFDLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxDQUFDOzs0RkFlbEYsMkJBQTJCO2tCQW5CdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyw2QkFBNkIsRUFBRSxDQUFDO29CQUMzRixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IscUJBQXFCLEVBQUUsU0FBUzt3QkFDaEMsc0JBQXNCLEVBQUUsa0NBQWtDO3dCQUMxRCxxQkFBcUIsRUFBRSxXQUFXO3dCQUVsQyxzQkFBc0IsRUFBRSxrQ0FBa0M7d0JBQzFELG1CQUFtQixFQUFFLHdCQUF3Qjt3QkFDN0MseUJBQXlCLEVBQUUseUJBQXlCO3dCQUVwRCxTQUFTLEVBQUUsVUFBVTt3QkFDckIsU0FBUyxFQUFFLFNBQVM7cUJBQ3ZCO2lCQUNKOzhCQVk4QixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFNZSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNhYmxlT3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFRvZ2dsZUdyb3VwSXRlbVRva2VuIH0gZnJvbSAnLi90b2dnbGUtZ3JvdXAtaXRlbS50b2tlbic7XG5pbXBvcnQgeyBpbmplY3RUb2dnbGVHcm91cCB9IGZyb20gJy4vdG9nZ2xlLWdyb3VwLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VG9nZ2xlR3JvdXBJdGVtXScsXG4gICAgZXhwb3J0QXM6ICdyZHhUb2dnbGVHcm91cEl0ZW0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSZHhUb2dnbGVHcm91cEl0ZW1Ub2tlbiwgdXNlRXhpc3Rpbmc6IFJkeFRvZ2dsZUdyb3VwSXRlbURpcmVjdGl2ZSB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdyYWRpbycsXG4gICAgICAgICdbYXR0ci5hcmlhLWNoZWNrZWRdJzogJ2NoZWNrZWQnLFxuICAgICAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgdG9nZ2xlR3JvdXAuZGlzYWJsZWQnLFxuICAgICAgICAnW2F0dHIuYXJpYS1wcmVzc2VkXSc6ICd1bmRlZmluZWQnLFxuXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCB0b2dnbGVHcm91cC5kaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdjaGVja2VkID8gXCJvblwiIDogXCJvZmZcIicsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICd0b2dnbGVHcm91cC5vcmllbnRhdGlvbicsXG5cbiAgICAgICAgJyhjbGljayknOiAndG9nZ2xlKCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdmb2N1cygpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VG9nZ2xlR3JvdXBJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBGb2N1c2FibGVPcHRpb24ge1xuICAgIC8qKlxuICAgICAqIEFjY2VzcyB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9nZ2xlR3JvdXAgPSBpbmplY3RUb2dnbGVHcm91cCgpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIC8qKlxuICAgICAqIFRoZSB2YWx1ZSBvZiB0aGlzIHRvZ2dsZSBidXR0b24uXG4gICAgICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdmFsdWUhOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoaXMgdG9nZ2xlIGJ1dHRvbiBpcyBkaXNhYmxlZC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGlzIHRvZ2dsZSBidXR0b24gaXMgY2hlY2tlZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvZ2dsZUdyb3VwLmlzU2VsZWN0ZWQodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCdkaXNhYmxlZCcgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRvZ2dsZUdyb3VwLnRvZ2dsZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbnN1cmUgdGhlIGRpc2FibGVkIHN0YXRlIGlzIHByb3BhZ2F0ZWQgdG8gdGhlIHJvdmluZyBmb2N1cyBpdGVtLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICB1cGRhdGVEaXNhYmxlZCgpOiB2b2lkIHtcbiAgICAgICAgLy8gVE9ET1xuICAgIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, Injectable, Directive, InjectionToken, inject, input, effect, ElementRef, output, computed } from '@angular/core';
2
+ import { signal, Injectable, Directive, InjectionToken, inject, input, computed, effect, ElementRef, output } from '@angular/core';
3
3
 
4
4
  class RdxAvatarRootContext {
5
5
  constructor() {
@@ -46,6 +46,7 @@ class RdxAvatarFallbackDirective {
46
46
  this.avatarRoot = inject(RdxAvatarRootContext);
47
47
  this.config = injectAvatarConfig();
48
48
  this.delayMs = input(this.config.delayMs);
49
+ this.shouldRender = computed(() => this.canRender() && this.avatarRoot.imageLoadingStatus() !== 'loaded');
49
50
  this.canRender = signal(false);
50
51
  this.timeoutId = null;
51
52
  effect(() => {
@@ -55,13 +56,10 @@ class RdxAvatarFallbackDirective {
55
56
  }
56
57
  else {
57
58
  this.clearDelayTimer();
58
- this.canRender.set(false);
59
+ this.canRender.set(true);
59
60
  }
60
61
  }, { allowSignalWrites: true });
61
62
  }
62
- get shouldRender() {
63
- return this.canRender() && this.avatarRoot.imageLoadingStatus() !== 'loaded';
64
- }
65
63
  startDelayTimer() {
66
64
  this.clearDelayTimer();
67
65
  if (this.delayMs() > 0) {
@@ -83,7 +81,7 @@ class RdxAvatarFallbackDirective {
83
81
  this.clearDelayTimer();
84
82
  }
85
83
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarFallbackDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
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 }); }
84
+ 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 }); }
87
85
  }
88
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarFallbackDirective, decorators: [{
89
87
  type: Directive,
@@ -92,7 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
92
90
  standalone: true,
93
91
  exportAs: 'rdxAvatarFallback',
94
92
  host: {
95
- '[style.display]': 'shouldRender ? null : "none" '
93
+ '[style.display]': 'shouldRender() ? null : "none" '
96
94
  }
97
95
  }]
98
96
  }], ctorParameters: () => [] });
@@ -101,11 +99,12 @@ class RdxAvatarImageDirective {
101
99
  constructor() {
102
100
  this.avatarRoot = inject(RdxAvatarRootContext);
103
101
  this.elementRef = inject((ElementRef));
104
- this.src = (input.required);
102
+ this.src = input();
105
103
  this.onLoadingStatusChange = output();
106
104
  this.imageLoadingStatus = computed(() => this.avatarRoot.imageLoadingStatus());
107
105
  }
108
106
  ngOnInit() {
107
+ this.nativeElement.src = this.src();
109
108
  if (!this.nativeElement.src) {
110
109
  this.setImageStatus('error');
111
110
  }
@@ -130,7 +129,7 @@ class RdxAvatarImageDirective {
130
129
  return this.elementRef.nativeElement;
131
130
  }
132
131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
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 }); }
132
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxAvatarImageDirective, isStandalone: true, selector: "img[rdxAvatarImage]", inputs: { src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onLoadingStatusChange: "onLoadingStatusChange" }, host: { listeners: { "load": "onLoad()", "error": "onError()" }, properties: { "style.display": "(imageLoadingStatus() === \"loaded\")? null : \"none\"" } }, exportAs: ["rdxAvatarImage"], ngImport: i0 }); }
134
133
  }
135
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAvatarImageDirective, decorators: [{
136
135
  type: Directive,
@@ -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, 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
+ {"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 { computed, 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 shouldRender = computed(\n () => this.canRender() && this.avatarRoot.imageLoadingStatus() !== 'loaded'\n );\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(true);\n }\n },\n { allowSignalWrites: true }\n );\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<string>();\n\n readonly onLoadingStatusChange = output<RdxImageLoadingStatus>();\n\n protected readonly imageLoadingStatus = computed(() => this.avatarRoot.imageLoadingStatus());\n\n ngOnInit(): void {\n this.nativeElement.src = this.src();\n\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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"}