@radix-ng/primitives 0.5.0 → 0.7.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 (183) hide show
  1. package/alert-dialog/README.md +1 -0
  2. package/alert-dialog/index.d.ts +6 -0
  3. package/alert-dialog/src/alert-dialog-cancel.directive.d.ts +7 -0
  4. package/alert-dialog/src/alert-dialog-content.directive.d.ts +8 -0
  5. package/alert-dialog/src/alert-dialog-root.directive.d.ts +9 -0
  6. package/alert-dialog/src/alert-dialog-title.directive.d.ts +5 -0
  7. package/alert-dialog/src/alert-dialog-trigger.directive.d.ts +7 -0
  8. package/alert-dialog/src/alert-dialog.service.d.ts +14 -0
  9. package/avatar/index.d.ts +3 -1
  10. package/avatar/src/avatar-fallback.directive.d.ts +10 -17
  11. package/avatar/src/avatar-image.directive.d.ts +10 -11
  12. package/avatar/src/avatar-root.directive.d.ts +21 -0
  13. package/avatar/src/avatar.config.d.ts +3 -2
  14. package/checkbox/src/checkbox.directive.d.ts +5 -3
  15. package/collapsible/README.md +1 -0
  16. package/collapsible/index.d.ts +3 -0
  17. package/collapsible/src/collapsible-content.directive.d.ts +11 -0
  18. package/collapsible/src/collapsible-root.directive.d.ts +52 -0
  19. package/collapsible/src/collapsible-trigger.directive.d.ts +26 -0
  20. package/esm2022/alert-dialog/index.mjs +7 -0
  21. package/esm2022/alert-dialog/radix-ng-primitives-alert-dialog.mjs +5 -0
  22. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +24 -0
  23. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +26 -0
  24. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +24 -0
  25. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +14 -0
  26. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +24 -0
  27. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +45 -0
  28. package/esm2022/avatar/index.mjs +2 -2
  29. package/esm2022/avatar/src/avatar-fallback.directive.mjs +23 -30
  30. package/esm2022/avatar/src/avatar-image.directive.mjs +29 -31
  31. package/esm2022/avatar/src/avatar-root.directive.mjs +38 -0
  32. package/esm2022/avatar/src/avatar.config.mjs +2 -2
  33. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +3 -3
  34. package/esm2022/checkbox/src/checkbox.directive.mjs +16 -6
  35. package/esm2022/collapsible/index.mjs +4 -0
  36. package/esm2022/collapsible/radix-ng-primitives-collapsible.mjs +5 -0
  37. package/esm2022/collapsible/src/collapsible-content.directive.mjs +26 -0
  38. package/esm2022/collapsible/src/collapsible-root.directive.mjs +114 -0
  39. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +49 -0
  40. package/esm2022/label/index.mjs +2 -2
  41. package/esm2022/label/src/label-root.directive.mjs +48 -0
  42. package/esm2022/progress/index.mjs +2 -2
  43. package/esm2022/progress/src/progress-indicator.directive.mjs +11 -10
  44. package/esm2022/progress/src/progress-root.directive.mjs +71 -0
  45. package/esm2022/radio/index.mjs +2 -4
  46. package/esm2022/radio/src/radio-indicator.directive.mjs +8 -13
  47. package/esm2022/radio/src/radio-item.directive.mjs +27 -42
  48. package/esm2022/radio/src/radio-root.directive.mjs +104 -0
  49. package/esm2022/roving-focus/index.mjs +1 -3
  50. package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +9 -16
  51. package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +21 -26
  52. package/esm2022/separator/src/separator.directive.mjs +12 -17
  53. package/esm2022/switch/index.mjs +3 -3
  54. package/esm2022/switch/src/switch-input.directive.mjs +30 -0
  55. package/esm2022/switch/src/switch-root.directive.mjs +71 -0
  56. package/esm2022/switch/src/switch-thumb.directive.mjs +10 -12
  57. package/esm2022/toggle/index.mjs +2 -2
  58. package/esm2022/toggle/src/toggle-root.directive.mjs +49 -0
  59. package/esm2022/toggle-group/src/toggle-group-button.directive.mjs +9 -14
  60. package/esm2022/toggle-group/src/toggle-group-multi.directive.mjs +4 -4
  61. package/esm2022/toggle-group/src/toggle-group.directive.mjs +9 -12
  62. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +150 -0
  63. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -0
  64. package/fesm2022/radix-ng-primitives-avatar.mjs +79 -90
  65. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  66. package/fesm2022/radix-ng-primitives-checkbox.mjs +18 -8
  67. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  68. package/fesm2022/radix-ng-primitives-collapsible.mjs +190 -0
  69. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -0
  70. package/fesm2022/radix-ng-primitives-label.mjs +20 -32
  71. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  72. package/fesm2022/radix-ng-primitives-progress.mjs +55 -49
  73. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  74. package/fesm2022/radix-ng-primitives-radio.mjs +69 -101
  75. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  76. package/fesm2022/radix-ng-primitives-roving-focus.mjs +19 -42
  77. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  78. package/fesm2022/radix-ng-primitives-separator.mjs +12 -17
  79. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-switch.mjs +77 -110
  81. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-toggle-group.mjs +19 -27
  83. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-toggle.mjs +16 -32
  85. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  86. package/label/index.d.ts +1 -1
  87. package/label/src/label-root.directive.d.ts +13 -0
  88. package/package.json +14 -21
  89. package/progress/index.d.ts +2 -1
  90. package/progress/src/progress-indicator.directive.d.ts +2 -2
  91. package/progress/src/progress-root.directive.d.ts +29 -0
  92. package/radio/index.d.ts +1 -3
  93. package/radio/src/radio-indicator.directive.d.ts +3 -9
  94. package/radio/src/radio-item.directive.d.ts +9 -28
  95. package/radio/src/{radio-group.directive.d.ts → radio-root.directive.d.ts} +24 -17
  96. package/roving-focus/index.d.ts +0 -2
  97. package/roving-focus/src/roving-focus-group.directive.d.ts +4 -6
  98. package/roving-focus/src/roving-focus-item.directive.d.ts +6 -8
  99. package/separator/src/separator.directive.d.ts +14 -8
  100. package/switch/index.d.ts +3 -2
  101. package/switch/src/switch-input.directive.d.ts +6 -0
  102. package/switch/src/switch-root.directive.d.ts +34 -0
  103. package/switch/src/switch-thumb.directive.d.ts +2 -5
  104. package/toggle/index.d.ts +2 -1
  105. package/toggle/src/toggle-root.directive.d.ts +32 -0
  106. package/toggle-group/src/toggle-group-button.directive.d.ts +1 -4
  107. package/toggle-group/src/toggle-group-multi.directive.d.ts +1 -1
  108. package/toggle-group/src/toggle-group.directive.d.ts +2 -2
  109. package/accordion/README.md +0 -3
  110. package/accordion/index.d.ts +0 -7
  111. package/accordion/src/accordion/accordion.directive.d.ts +0 -64
  112. package/accordion/src/accordion/accordion.token.d.ts +0 -4
  113. package/accordion/src/accordion-content/accordion-content.directive.d.ts +0 -44
  114. package/accordion/src/accordion-header/accordion-header.directive.d.ts +0 -6
  115. package/accordion/src/accordion-item/accordion-item.directive.d.ts +0 -42
  116. package/accordion/src/accordion-item/accordion-item.token.d.ts +0 -4
  117. package/accordion/src/accordion-state.directive.d.ts +0 -28
  118. package/accordion/src/accordion-trigger/accordion-trigger.directive.d.ts +0 -23
  119. package/accordion/src/accordion.config.d.ts +0 -25
  120. package/avatar/src/avatar.directive.d.ts +0 -22
  121. package/avatar/src/avatar.token.d.ts +0 -4
  122. package/esm2022/accordion/index.mjs +0 -8
  123. package/esm2022/accordion/radix-ng-primitives-accordion.mjs +0 -5
  124. package/esm2022/accordion/src/accordion/accordion.directive.mjs +0 -108
  125. package/esm2022/accordion/src/accordion/accordion.token.mjs +0 -6
  126. package/esm2022/accordion/src/accordion-content/accordion-content.directive.mjs +0 -75
  127. package/esm2022/accordion/src/accordion-header/accordion-header.directive.mjs +0 -17
  128. package/esm2022/accordion/src/accordion-item/accordion-item.directive.mjs +0 -81
  129. package/esm2022/accordion/src/accordion-item/accordion-item.token.mjs +0 -6
  130. package/esm2022/accordion/src/accordion-state.directive.mjs +0 -49
  131. package/esm2022/accordion/src/accordion-trigger/accordion-trigger.directive.mjs +0 -49
  132. package/esm2022/accordion/src/accordion.config.mjs +0 -27
  133. package/esm2022/avatar/src/avatar.directive.mjs +0 -38
  134. package/esm2022/avatar/src/avatar.token.mjs +0 -6
  135. package/esm2022/label/src/label.directive.mjs +0 -60
  136. package/esm2022/overlay/index.mjs +0 -5
  137. package/esm2022/overlay/radix-ng-primitives-overlay.mjs +0 -5
  138. package/esm2022/overlay/src/overlay-arrow.directive.mjs +0 -59
  139. package/esm2022/overlay/src/overlay-arrow.token.mjs +0 -3
  140. package/esm2022/overlay/src/overlay-trigger.directive.mjs +0 -279
  141. package/esm2022/overlay/src/overlay-trigger.token.mjs +0 -9
  142. package/esm2022/overlay/src/overlay.directive.mjs +0 -51
  143. package/esm2022/overlay/src/overlay.token.mjs +0 -3
  144. package/esm2022/progress/src/progress.directive.mjs +0 -62
  145. package/esm2022/progress/src/progress.token.mjs +0 -6
  146. package/esm2022/radio/src/radio-group.directive.mjs +0 -108
  147. package/esm2022/radio/src/radio-group.token.mjs +0 -6
  148. package/esm2022/radio/src/radio-item.token.mjs +0 -6
  149. package/esm2022/roving-focus/src/roving-focus-group.token.mjs +0 -9
  150. package/esm2022/roving-focus/src/roving-focus-item.token.mjs +0 -6
  151. package/esm2022/switch/src/switch.directive.mjs +0 -125
  152. package/esm2022/switch/src/switch.token.mjs +0 -6
  153. package/esm2022/toggle/src/toggle.directive.mjs +0 -65
  154. package/esm2022/visually-hidden/index.mjs +0 -2
  155. package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +0 -5
  156. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +0 -42
  157. package/fesm2022/radix-ng-primitives-accordion.mjs +0 -394
  158. package/fesm2022/radix-ng-primitives-accordion.mjs.map +0 -1
  159. package/fesm2022/radix-ng-primitives-overlay.mjs +0 -399
  160. package/fesm2022/radix-ng-primitives-overlay.mjs.map +0 -1
  161. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +0 -49
  162. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +0 -1
  163. package/label/src/label.directive.d.ts +0 -19
  164. package/overlay/README.md +0 -1
  165. package/overlay/index.d.ts +0 -4
  166. package/overlay/src/overlay-arrow.directive.d.ts +0 -29
  167. package/overlay/src/overlay-arrow.token.d.ts +0 -3
  168. package/overlay/src/overlay-trigger.directive.d.ts +0 -163
  169. package/overlay/src/overlay-trigger.token.d.ts +0 -7
  170. package/overlay/src/overlay.directive.d.ts +0 -29
  171. package/overlay/src/overlay.token.d.ts +0 -3
  172. package/progress/src/progress.directive.d.ts +0 -26
  173. package/progress/src/progress.token.d.ts +0 -4
  174. package/radio/src/radio-group.token.d.ts +0 -4
  175. package/radio/src/radio-item.token.d.ts +0 -4
  176. package/roving-focus/src/roving-focus-group.token.d.ts +0 -7
  177. package/roving-focus/src/roving-focus-item.token.d.ts +0 -4
  178. package/switch/src/switch.directive.d.ts +0 -73
  179. package/switch/src/switch.token.d.ts +0 -4
  180. package/toggle/src/toggle.directive.d.ts +0 -30
  181. package/visually-hidden/README.md +0 -3
  182. package/visually-hidden/index.d.ts +0 -1
  183. package/visually-hidden/src/visually-hidden.directive.d.ts +0 -11
@@ -1,61 +1,54 @@
1
- import { Directive, Input, numberAttribute } from '@angular/core';
1
+ import { Directive, inject, Input, NgZone, numberAttribute } from '@angular/core';
2
+ import { injectAvatar } from './avatar-root.directive';
2
3
  import { injectAvatarConfig } from './avatar.config';
3
- import { RdxAvatarState } from './avatar.directive';
4
- import { injectAvatar } from './avatar.token';
5
4
  import * as i0 from "@angular/core";
6
5
  export class RdxAvatarFallbackDirective {
7
6
  constructor() {
8
- /**
9
- * Access the avatar
10
- */
11
7
  this.avatar = injectAvatar();
12
- /**
13
- * Access the global configuration.
14
- */
15
8
  this.config = injectAvatarConfig();
9
+ this.ngZone = inject(NgZone);
16
10
  /**
17
- * Define a delay before the fallback is shown. This is useful to only show the fallback for those with slower connections.
11
+ * Define a delay before the fallback is shown.
12
+ * This is useful to only show the fallback for those with slower connections.
18
13
  * @default 0
19
14
  */
20
- this.delay = this.config.delay;
15
+ this.delayMs = this.config.delayMs;
21
16
  /**
22
17
  * Determine the delay has elapsed, and we can show the fallback.
23
18
  */
24
19
  this.delayElapsed = false;
25
- /**
26
- * Store the timeout id.
27
- */
28
20
  this.timeoutId = null;
29
21
  }
30
- /**
31
- * Determine if this element should be hidden.
32
- */
33
22
  get visible() {
34
- // we need to check if the element can render and if the avatar is not in a loaded state
35
- return this.delayElapsed && this.avatar.state !== RdxAvatarState.Loaded;
23
+ return this.delayElapsed && this.avatar._state() !== 'loaded';
36
24
  }
37
25
  ngOnInit() {
38
- this.timeoutId = window.setTimeout(() => (this.delayElapsed = true), this.delay);
26
+ this.ngZone.runOutsideAngular(() => {
27
+ this.timeoutId = window.setTimeout(() => (this.delayElapsed = true), this.delayMs);
28
+ });
39
29
  }
40
30
  ngOnDestroy() {
41
- if (this.timeoutId) {
42
- window.clearTimeout(this.timeoutId);
43
- }
31
+ this.ngZone.run(() => {
32
+ if (this.timeoutId) {
33
+ window.clearTimeout(this.timeoutId);
34
+ }
35
+ });
44
36
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAvatarFallbackDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
46
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: RdxAvatarFallbackDirective, isStandalone: true, selector: "[rdxAvatarFallback]", inputs: { delay: ["rdxAvatarFallbackDelay", "delay", numberAttribute] }, host: { properties: { "style.display": "visible ? null : \"none\"" } }, ngImport: i0 }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxAvatarFallbackDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
38
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.4", type: RdxAvatarFallbackDirective, isStandalone: true, selector: "span[AvatarFallback]", inputs: { delayMs: ["rdxDelayMs", "delayMs", numberAttribute] }, host: { properties: { "style.display": "visible ? null : \"none\"" } }, exportAs: ["AvatarFallback"], ngImport: i0 }); }
47
39
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAvatarFallbackDirective, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxAvatarFallbackDirective, decorators: [{
49
41
  type: Directive,
50
42
  args: [{
51
- selector: '[rdxAvatarFallback]',
43
+ selector: 'span[AvatarFallback]',
44
+ exportAs: 'AvatarFallback',
52
45
  standalone: true,
53
46
  host: {
54
47
  '[style.display]': 'visible ? null : "none"'
55
48
  }
56
49
  }]
57
- }], propDecorators: { delay: [{
50
+ }], propDecorators: { delayMs: [{
58
51
  type: Input,
59
- args: [{ alias: 'rdxAvatarFallbackDelay', transform: numberAttribute }]
52
+ args: [{ alias: 'rdxDelayMs', transform: numberAttribute }]
60
53
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWZhbGxiYWNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvYXZhdGFyL3NyYy9hdmF0YXItZmFsbGJhY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFTOUMsTUFBTSxPQUFPLDBCQUEwQjtJQVB2QztRQVFJOztXQUVHO1FBQ2MsV0FBTSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBRXpDOztXQUVHO1FBQ2MsV0FBTSxHQUFHLGtCQUFrQixFQUFFLENBQUM7UUFFL0M7OztXQUdHO1FBQ3FFLFVBQUssR0FDekUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFVdEI7O1dBRUc7UUFDSyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUU3Qjs7V0FFRztRQUNLLGNBQVMsR0FBa0IsSUFBSSxDQUFDO0tBVzNDO0lBM0JHOztPQUVHO0lBQ0gsSUFBYyxPQUFPO1FBQ2pCLHdGQUF3RjtRQUN4RixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUM1RSxDQUFDO0lBWUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNMLENBQUM7OEdBNUNRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDRHQWVrQixlQUFlOzsyRkFmM0QsMEJBQTBCO2tCQVB0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsaUJBQWlCLEVBQUUseUJBQXlCO3FCQUMvQztpQkFDSjs4QkFnQjJFLEtBQUs7c0JBQTVFLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgaW5qZWN0QXZhdGFyQ29uZmlnIH0gZnJvbSAnLi9hdmF0YXIuY29uZmlnJztcbmltcG9ydCB7IFJkeEF2YXRhclN0YXRlIH0gZnJvbSAnLi9hdmF0YXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IGluamVjdEF2YXRhciB9IGZyb20gJy4vYXZhdGFyLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4QXZhdGFyRmFsbGJhY2tdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tzdHlsZS5kaXNwbGF5XSc6ICd2aXNpYmxlID8gbnVsbCA6IFwibm9uZVwiJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4QXZhdGFyRmFsbGJhY2tEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSBhdmF0YXJcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGF2YXRhciA9IGluamVjdEF2YXRhcigpO1xuXG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSBnbG9iYWwgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdEF2YXRhckNvbmZpZygpO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgZGVsYXkgYmVmb3JlIHRoZSBmYWxsYmFjayBpcyBzaG93bi4gVGhpcyBpcyB1c2VmdWwgdG8gb25seSBzaG93IHRoZSBmYWxsYmFjayBmb3IgdGhvc2Ugd2l0aCBzbG93ZXIgY29ubmVjdGlvbnMuXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAncmR4QXZhdGFyRmFsbGJhY2tEZWxheScsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGRlbGF5OiBudW1iZXIgPVxuICAgICAgICB0aGlzLmNvbmZpZy5kZWxheTtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSBpZiB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGhpZGRlbi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlIGVsZW1lbnQgY2FuIHJlbmRlciBhbmQgaWYgdGhlIGF2YXRhciBpcyBub3QgaW4gYSBsb2FkZWQgc3RhdGVcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVsYXlFbGFwc2VkICYmIHRoaXMuYXZhdGFyLnN0YXRlICE9PSBSZHhBdmF0YXJTdGF0ZS5Mb2FkZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lIHRoZSBkZWxheSBoYXMgZWxhcHNlZCwgYW5kIHdlIGNhbiBzaG93IHRoZSBmYWxsYmFjay5cbiAgICAgKi9cbiAgICBwcml2YXRlIGRlbGF5RWxhcHNlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogU3RvcmUgdGhlIHRpbWVvdXQgaWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSB0aW1lb3V0SWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4gKHRoaXMuZGVsYXlFbGFwc2VkID0gdHJ1ZSksIHRoaXMuZGVsYXkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aW1lb3V0SWQpIHtcbiAgICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SWQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWZhbGxiYWNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvYXZhdGFyL3NyYy9hdmF0YXItZmFsbGJhY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sZUFBZSxFQUdsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBY3JELE1BQU0sT0FBTywwQkFBMEI7SUFSdkM7UUFTcUIsV0FBTSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBRXhCLFdBQU0sR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBRTlCLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekM7Ozs7V0FJRztRQUN5RCxZQUFPLEdBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBTXhCOztXQUVHO1FBQ0ssaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsY0FBUyxHQUFrQixJQUFJLENBQUM7S0FlM0M7SUF4QkcsSUFBYyxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLFFBQVEsQ0FBQztJQUNsRSxDQUFDO0lBU0QsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBdENRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHFHQVlNLGVBQWU7OzJGQVovQywwQkFBMEI7a0JBUnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixpQkFBaUIsRUFBRSx5QkFBeUI7cUJBQy9DO2lCQUNKOzhCQWErRCxPQUFPO3NCQUFsRSxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgaW5qZWN0QXZhdGFyIH0gZnJvbSAnLi9hdmF0YXItcm9vdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgaW5qZWN0QXZhdGFyQ29uZmlnIH0gZnJvbSAnLi9hdmF0YXIuY29uZmlnJztcblxuZXhwb3J0IGludGVyZmFjZSBBdmF0YXJGYWxsYmFja1Byb3BzIHtcbiAgICBkZWxheU1zPzogbnVtYmVyO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3NwYW5bQXZhdGFyRmFsbGJhY2tdJyxcbiAgICBleHBvcnRBczogJ0F2YXRhckZhbGxiYWNrJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tzdHlsZS5kaXNwbGF5XSc6ICd2aXNpYmxlID8gbnVsbCA6IFwibm9uZVwiJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4QXZhdGFyRmFsbGJhY2tEaXJlY3RpdmUgaW1wbGVtZW50cyBBdmF0YXJGYWxsYmFja1Byb3BzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdmF0YXIgPSBpbmplY3RBdmF0YXIoKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0QXZhdGFyQ29uZmlnKCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgZGVsYXkgYmVmb3JlIHRoZSBmYWxsYmFjayBpcyBzaG93bi5cbiAgICAgKiBUaGlzIGlzIHVzZWZ1bCB0byBvbmx5IHNob3cgdGhlIGZhbGxiYWNrIGZvciB0aG9zZSB3aXRoIHNsb3dlciBjb25uZWN0aW9ucy5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICdyZHhEZWxheU1zJywgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgZGVsYXlNczogbnVtYmVyID1cbiAgICAgICAgdGhpcy5jb25maWcuZGVsYXlNcztcblxuICAgIHByb3RlY3RlZCBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVsYXlFbGFwc2VkICYmIHRoaXMuYXZhdGFyLl9zdGF0ZSgpICE9PSAnbG9hZGVkJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgdGhlIGRlbGF5IGhhcyBlbGFwc2VkLCBhbmQgd2UgY2FuIHNob3cgdGhlIGZhbGxiYWNrLlxuICAgICAqL1xuICAgIHByaXZhdGUgZGVsYXlFbGFwc2VkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHRpbWVvdXRJZDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiAodGhpcy5kZWxheUVsYXBzZWQgPSB0cnVlKSwgdGhpcy5kZWxheU1zKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aW1lb3V0SWQpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dElkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,50 +1,48 @@
1
- import { Directive, ElementRef, HostListener, inject } from '@angular/core';
2
- import { RdxAvatarState } from './avatar.directive';
3
- import { injectAvatar } from './avatar.token';
1
+ import { Directive, ElementRef, EventEmitter, inject, Output } from '@angular/core';
2
+ import { injectAvatar } from './avatar-root.directive';
4
3
  import * as i0 from "@angular/core";
5
4
  export class RdxAvatarImageDirective {
6
5
  constructor() {
7
- /**
8
- * Access the avatar
9
- */
10
6
  this.avatar = injectAvatar();
11
- /**
12
- * Access the image element ref.
13
- */
14
7
  this.elementRef = inject(ElementRef);
8
+ /* By default, it will only render when it has loaded.
9
+ * You can use the `onLoadingStatusChange` handler if you need more control.
10
+ */
11
+ this.onLoadingStatusChange = new EventEmitter();
15
12
  }
16
13
  ngOnInit() {
17
- // mark the avatar as loading
18
- this.avatar.setState(RdxAvatarState.Loading);
19
- // if there is no src, we can report this as an error
14
+ this.avatar._setState('loading');
20
15
  if (!this.elementRef.nativeElement.src) {
21
- this.avatar.setState(RdxAvatarState.Error);
16
+ this.avatar._setState('error');
22
17
  }
23
- // if the image has already loaded, we can report this to the avatar
24
18
  if (this.elementRef.nativeElement.complete) {
25
- this.avatar.setState(RdxAvatarState.Loaded);
19
+ this.avatar._setState('loaded');
26
20
  }
21
+ this.onLoadingStatusChange.emit(this.avatar._state());
27
22
  }
28
- onLoad() {
29
- this.avatar.setState(RdxAvatarState.Loaded);
23
+ _onLoad() {
24
+ this.avatar._setState('loaded');
25
+ this.onLoadingStatusChange.emit('loaded');
30
26
  }
31
- onError() {
32
- this.avatar.setState(RdxAvatarState.Error);
27
+ _onError() {
28
+ this.avatar._setState('error');
29
+ this.onLoadingStatusChange.emit('error');
33
30
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAvatarImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: RdxAvatarImageDirective, isStandalone: true, selector: "img[rdxAvatarImage]", host: { listeners: { "load": "onLoad()", "error": "onError()" } }, ngImport: i0 }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxAvatarImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxAvatarImageDirective, isStandalone: true, selector: "img[AvatarImage]", outputs: { onLoadingStatusChange: "onLoadingStatusChange" }, host: { listeners: { "load": "_onLoad()", "error": "_onError()" } }, exportAs: ["AvatarImage"], ngImport: i0 }); }
36
33
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAvatarImageDirective, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxAvatarImageDirective, decorators: [{
38
35
  type: Directive,
39
36
  args: [{
40
- selector: 'img[rdxAvatarImage]',
41
- standalone: true
37
+ selector: 'img[AvatarImage]',
38
+ exportAs: 'AvatarImage',
39
+ standalone: true,
40
+ host: {
41
+ '(load)': '_onLoad()',
42
+ '(error)': '_onError()'
43
+ }
42
44
  }]
43
- }], propDecorators: { onLoad: [{
44
- type: HostListener,
45
- args: ['load']
46
- }], onError: [{
47
- type: HostListener,
48
- args: ['error']
45
+ }], propDecorators: { onLoadingStatusChange: [{
46
+ type: Output
49
47
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWltYWdlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvYXZhdGFyL3NyYy9hdmF0YXItaW1hZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFNOUMsTUFBTSxPQUFPLHVCQUF1QjtJQUpwQztRQUtJOztXQUVHO1FBQ2MsV0FBTSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBRXpDOztXQUVHO1FBQ2MsZUFBVSxHQUFHLE1BQU0sQ0FBK0IsVUFBVSxDQUFDLENBQUM7S0EwQmxGO0lBeEJHLFFBQVE7UUFDSiw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTdDLHFEQUFxRDtRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFFRCxvRUFBb0U7UUFDcEUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNMLENBQUM7SUFHUyxNQUFNO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFHUyxPQUFPO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7OEdBbENRLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkE0QmEsTUFBTTtzQkFEZixZQUFZO3VCQUFDLE1BQU07Z0JBTVYsT0FBTztzQkFEaEIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJkeEF2YXRhclN0YXRlIH0gZnJvbSAnLi9hdmF0YXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IGluamVjdEF2YXRhciB9IGZyb20gJy4vYXZhdGFyLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbWdbcmR4QXZhdGFySW1hZ2VdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJkeEF2YXRhckltYWdlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIGF2YXRhclxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXZhdGFyID0gaW5qZWN0QXZhdGFyKCk7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIGltYWdlIGVsZW1lbnQgcmVmLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxJbWFnZUVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBtYXJrIHRoZSBhdmF0YXIgYXMgbG9hZGluZ1xuICAgICAgICB0aGlzLmF2YXRhci5zZXRTdGF0ZShSZHhBdmF0YXJTdGF0ZS5Mb2FkaW5nKTtcblxuICAgICAgICAvLyBpZiB0aGVyZSBpcyBubyBzcmMsIHdlIGNhbiByZXBvcnQgdGhpcyBhcyBhbiBlcnJvclxuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNyYykge1xuICAgICAgICAgICAgdGhpcy5hdmF0YXIuc2V0U3RhdGUoUmR4QXZhdGFyU3RhdGUuRXJyb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaWYgdGhlIGltYWdlIGhhcyBhbHJlYWR5IGxvYWRlZCwgd2UgY2FuIHJlcG9ydCB0aGlzIHRvIHRoZSBhdmF0YXJcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbXBsZXRlKSB7XG4gICAgICAgICAgICB0aGlzLmF2YXRhci5zZXRTdGF0ZShSZHhBdmF0YXJTdGF0ZS5Mb2FkZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbG9hZCcpXG4gICAgcHJvdGVjdGVkIG9uTG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hdmF0YXIuc2V0U3RhdGUoUmR4QXZhdGFyU3RhdGUuTG9hZGVkKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdlcnJvcicpXG4gICAgcHJvdGVjdGVkIG9uRXJyb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXZhdGFyLnNldFN0YXRlKFJkeEF2YXRhclN0YXRlLkVycm9yKTtcbiAgICB9XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWltYWdlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvYXZhdGFyL3NyYy9hdmF0YXItaW1hZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVGLE9BQU8sRUFBc0IsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBZTNFLE1BQU0sT0FBTyx1QkFBdUI7SUFUcEM7UUFVcUIsV0FBTSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBRXhCLGVBQVUsR0FBRyxNQUFNLENBQStCLFVBQVUsQ0FBQyxDQUFDO1FBRS9FOztXQUVHO1FBQ08sMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7S0F5QjVFO0lBdkJHLFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs4R0FoQ1EsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBVG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsUUFBUSxFQUFFLFdBQVc7d0JBQ3JCLFNBQVMsRUFBRSxZQUFZO3FCQUMxQjtpQkFDSjs4QkFTYSxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJbWFnZUxvYWRpbmdTdGF0dXMsIGluamVjdEF2YXRhciB9IGZyb20gJy4vYXZhdGFyLXJvb3QuZGlyZWN0aXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBBdmF0YXJJbWFnZVByb3BzIHtcbiAgICBvbkxvYWRpbmdTdGF0dXNDaGFuZ2U/OiBFdmVudEVtaXR0ZXI8SW1hZ2VMb2FkaW5nU3RhdHVzPjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbWdbQXZhdGFySW1hZ2VdJyxcbiAgICBleHBvcnRBczogJ0F2YXRhckltYWdlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhsb2FkKSc6ICdfb25Mb2FkKCknLFxuICAgICAgICAnKGVycm9yKSc6ICdfb25FcnJvcigpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4QXZhdGFySW1hZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBBdmF0YXJJbWFnZVByb3BzLCBPbkluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXZhdGFyID0gaW5qZWN0QXZhdGFyKCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MSW1hZ2VFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgICAvKiBCeSBkZWZhdWx0LCBpdCB3aWxsIG9ubHkgcmVuZGVyIHdoZW4gaXQgaGFzIGxvYWRlZC5cbiAgICAgKiBZb3UgY2FuIHVzZSB0aGUgYG9uTG9hZGluZ1N0YXR1c0NoYW5nZWAgaGFuZGxlciBpZiB5b3UgbmVlZCBtb3JlIGNvbnRyb2wuXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uTG9hZGluZ1N0YXR1c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SW1hZ2VMb2FkaW5nU3RhdHVzPigpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXZhdGFyLl9zZXRTdGF0ZSgnbG9hZGluZycpO1xuXG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3JjKSB7XG4gICAgICAgICAgICB0aGlzLmF2YXRhci5fc2V0U3RhdGUoJ2Vycm9yJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29tcGxldGUpIHtcbiAgICAgICAgICAgIHRoaXMuYXZhdGFyLl9zZXRTdGF0ZSgnbG9hZGVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uTG9hZGluZ1N0YXR1c0NoYW5nZS5lbWl0KHRoaXMuYXZhdGFyLl9zdGF0ZSgpKTtcbiAgICB9XG5cbiAgICBfb25Mb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmF2YXRhci5fc2V0U3RhdGUoJ2xvYWRlZCcpO1xuICAgICAgICB0aGlzLm9uTG9hZGluZ1N0YXR1c0NoYW5nZS5lbWl0KCdsb2FkZWQnKTtcbiAgICB9XG5cbiAgICBfb25FcnJvcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hdmF0YXIuX3NldFN0YXRlKCdlcnJvcicpO1xuICAgICAgICB0aGlzLm9uTG9hZGluZ1N0YXR1c0NoYW5nZS5lbWl0KCdlcnJvcicpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { Directive, inject, InjectionToken, signal } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const RdxAvatarToken = new InjectionToken('RdxAvatarToken');
4
+ export function injectAvatar() {
5
+ return inject(RdxAvatarToken);
6
+ }
7
+ export class RdxAvatarRootDirective {
8
+ constructor() {
9
+ /**
10
+ * A readonly signal property that holds the current state of image loading.
11
+ * To set a new status, use the `setState` method of the component.
12
+ * @internal
13
+ */
14
+ this._state = signal('idle');
15
+ }
16
+ /**
17
+ * Set the avatar state.
18
+ * @param state The new image loading status to set. This value should be one of the predefined states
19
+ * in the `ImageLoadingStatus`
20
+ * @returns void This method does not return a value.
21
+ * @internal
22
+ */
23
+ _setState(state) {
24
+ this._state.set(state);
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxAvatarRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxAvatarRootDirective, isStandalone: true, selector: "span[AvatarRoot]", providers: [{ provide: RdxAvatarToken, useExisting: RdxAvatarRootDirective }], exportAs: ["AvatarRoot"], ngImport: i0 }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxAvatarRootDirective, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ selector: 'span[AvatarRoot]',
33
+ exportAs: 'AvatarRoot',
34
+ standalone: true,
35
+ providers: [{ provide: RdxAvatarToken, useExisting: RdxAvatarRootDirective }]
36
+ }]
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLXJvb3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9hdmF0YXIvc3JjL2F2YXRhci1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxRSxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsZ0JBQWdCLENBQUMsQ0FBQztBQUVwRixNQUFNLFVBQVUsWUFBWTtJQUN4QixPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBVUQsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQU9JOzs7O1dBSUc7UUFDTSxXQUFNLEdBQUcsTUFBTSxDQUFxQixNQUFNLENBQUMsQ0FBQztLQVl4RDtJQVZHOzs7Ozs7T0FNRztJQUNILFNBQVMsQ0FBQyxLQUF5QjtRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOzhHQWpCUSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwrREFGcEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLENBQUM7OzJGQUVwRSxzQkFBc0I7a0JBTmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyx3QkFBd0IsRUFBRSxDQUFDO2lCQUNoRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IFJkeEF2YXRhclRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeEF2YXRhclJvb3REaXJlY3RpdmU+KCdSZHhBdmF0YXJUb2tlbicpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QXZhdGFyKCk6IFJkeEF2YXRhclJvb3REaXJlY3RpdmUge1xuICAgIHJldHVybiBpbmplY3QoUmR4QXZhdGFyVG9rZW4pO1xufVxuXG5leHBvcnQgdHlwZSBJbWFnZUxvYWRpbmdTdGF0dXMgPSAnaWRsZScgfCAnbG9hZGluZycgfCAnbG9hZGVkJyB8ICdlcnJvcic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnc3BhbltBdmF0YXJSb290XScsXG4gICAgZXhwb3J0QXM6ICdBdmF0YXJSb290JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUmR4QXZhdGFyVG9rZW4sIHVzZUV4aXN0aW5nOiBSZHhBdmF0YXJSb290RGlyZWN0aXZlIH1dXG59KVxuZXhwb3J0IGNsYXNzIFJkeEF2YXRhclJvb3REaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIEEgcmVhZG9ubHkgc2lnbmFsIHByb3BlcnR5IHRoYXQgaG9sZHMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgaW1hZ2UgbG9hZGluZy5cbiAgICAgKiBUbyBzZXQgYSBuZXcgc3RhdHVzLCB1c2UgdGhlIGBzZXRTdGF0ZWAgbWV0aG9kIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgX3N0YXRlID0gc2lnbmFsPEltYWdlTG9hZGluZ1N0YXR1cz4oJ2lkbGUnKTtcblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgYXZhdGFyIHN0YXRlLlxuICAgICAqIEBwYXJhbSBzdGF0ZSBUaGUgbmV3IGltYWdlIGxvYWRpbmcgc3RhdHVzIHRvIHNldC4gVGhpcyB2YWx1ZSBzaG91bGQgYmUgb25lIG9mIHRoZSBwcmVkZWZpbmVkIHN0YXRlc1xuICAgICAqICAgICAgICAgICAgICBpbiB0aGUgYEltYWdlTG9hZGluZ1N0YXR1c2BcbiAgICAgKiBAcmV0dXJucyB2b2lkIFRoaXMgbWV0aG9kIGRvZXMgbm90IHJldHVybiBhIHZhbHVlLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIF9zZXRTdGF0ZShzdGF0ZTogSW1hZ2VMb2FkaW5nU3RhdHVzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N0YXRlLnNldChzdGF0ZSk7XG4gICAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { inject, InjectionToken } from '@angular/core';
2
2
  export const defaultAvatarConfig = {
3
- delay: 0
3
+ delayMs: 0
4
4
  };
5
5
  export const RdxAvatarConfigToken = new InjectionToken('RdxAvatarConfigToken');
6
6
  export function provideRdxAvatarConfig(config) {
@@ -14,4 +14,4 @@ export function provideRdxAvatarConfig(config) {
14
14
  export function injectAvatarConfig() {
15
15
  return inject(RdxAvatarConfigToken, { optional: true }) ?? defaultAvatarConfig;
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvYXZhdGFyL3NyYy9hdmF0YXIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBVWpFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFvQjtJQUNoRCxLQUFLLEVBQUUsQ0FBQztDQUNYLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0Isc0JBQXNCLENBQUMsQ0FBQztBQUVoRyxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBZ0M7SUFDbkUsT0FBTztRQUNIO1lBQ0ksT0FBTyxFQUFFLG9CQUFvQjtZQUM3QixRQUFRLEVBQUUsRUFBRSxHQUFHLG1CQUFtQixFQUFFLEdBQUcsTUFBTSxFQUFFO1NBQ2xEO0tBQ0osQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksbUJBQW1CLENBQUM7QUFDbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR4QXZhdGFyQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBEZWZpbmUgYSBkZWxheSBiZWZvcmUgdGhlIGZhbGxiYWNrIGlzIHNob3duLiBUaGlzIGlzIHVzZWZ1bCB0byBvbmx5IHNob3cgdGhlIGZhbGxiYWNrIGZvciB0aG9zZSB3aXRoIHNsb3dlciBjb25uZWN0aW9ucy5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgZGVsYXk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRBdmF0YXJDb25maWc6IFJkeEF2YXRhckNvbmZpZyA9IHtcbiAgICBkZWxheTogMFxufTtcblxuZXhwb3J0IGNvbnN0IFJkeEF2YXRhckNvbmZpZ1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeEF2YXRhckNvbmZpZz4oJ1JkeEF2YXRhckNvbmZpZ1Rva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlUmR4QXZhdGFyQ29uZmlnKGNvbmZpZzogUGFydGlhbDxSZHhBdmF0YXJDb25maWc+KTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogUmR4QXZhdGFyQ29uZmlnVG9rZW4sXG4gICAgICAgICAgICB1c2VWYWx1ZTogeyAuLi5kZWZhdWx0QXZhdGFyQ29uZmlnLCAuLi5jb25maWcgfVxuICAgICAgICB9XG4gICAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEF2YXRhckNvbmZpZygpOiBSZHhBdmF0YXJDb25maWcge1xuICAgIHJldHVybiBpbmplY3QoUmR4QXZhdGFyQ29uZmlnVG9rZW4sIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gZGVmYXVsdEF2YXRhckNvbmZpZztcbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvYXZhdGFyL3NyYy9hdmF0YXIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBV2pFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFvQjtJQUNoRCxPQUFPLEVBQUUsQ0FBQztDQUNiLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0Isc0JBQXNCLENBQUMsQ0FBQztBQUVoRyxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBZ0M7SUFDbkUsT0FBTztRQUNIO1lBQ0ksT0FBTyxFQUFFLG9CQUFvQjtZQUM3QixRQUFRLEVBQUUsRUFBRSxHQUFHLG1CQUFtQixFQUFFLEdBQUcsTUFBTSxFQUFFO1NBQ2xEO0tBQ0osQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksbUJBQW1CLENBQUM7QUFDbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR4QXZhdGFyQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBEZWZpbmUgYSBkZWxheSBiZWZvcmUgdGhlIGZhbGxiYWNrIGlzIHNob3duLlxuICAgICAqIFRoaXMgaXMgdXNlZnVsIHRvIG9ubHkgc2hvdyB0aGUgZmFsbGJhY2sgZm9yIHRob3NlIHdpdGggc2xvd2VyIGNvbm5lY3Rpb25zLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBkZWxheU1zOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0QXZhdGFyQ29uZmlnOiBSZHhBdmF0YXJDb25maWcgPSB7XG4gICAgZGVsYXlNczogMFxufTtcblxuZXhwb3J0IGNvbnN0IFJkeEF2YXRhckNvbmZpZ1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeEF2YXRhckNvbmZpZz4oJ1JkeEF2YXRhckNvbmZpZ1Rva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlUmR4QXZhdGFyQ29uZmlnKGNvbmZpZzogUGFydGlhbDxSZHhBdmF0YXJDb25maWc+KTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogUmR4QXZhdGFyQ29uZmlnVG9rZW4sXG4gICAgICAgICAgICB1c2VWYWx1ZTogeyAuLi5kZWZhdWx0QXZhdGFyQ29uZmlnLCAuLi5jb25maWcgfVxuICAgICAgICB9XG4gICAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEF2YXRhckNvbmZpZygpOiBSZHhBdmF0YXJDb25maWcge1xuICAgIHJldHVybiBpbmplY3QoUmR4QXZhdGFyQ29uZmlnVG9rZW4sIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gZGVmYXVsdEF2YXRhckNvbmZpZztcbn1cbiJdfQ==
@@ -5,10 +5,10 @@ export class RdxCheckboxIndicatorDirective {
5
5
  constructor() {
6
6
  this.checkbox = injectCheckbox();
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxCheckboxIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: RdxCheckboxIndicatorDirective, isStandalone: true, selector: "[rdxCheckboxIndicator]", host: { properties: { "style.pointer-events": "\"none\"", "attr.data-state": "checkbox.state", "attr.data-disabled": "checkbox.disabled ? \"\" : null" } }, ngImport: i0 }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxCheckboxIndicatorDirective, isStandalone: true, selector: "[rdxCheckboxIndicator]", host: { properties: { "style.pointer-events": "\"none\"", "attr.data-state": "checkbox.state", "attr.data-disabled": "checkbox.disabled ? \"\" : null" } }, ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxCheckboxIndicatorDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxIndicatorDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: '[rdxCheckboxIndicator]',
@@ -41,10 +41,12 @@ export class RdxCheckboxDirective {
41
41
  }
42
42
  }
43
43
  onClick() {
44
+ if (this.disabled) {
45
+ return;
46
+ }
44
47
  this.checked = this.indeterminate ? true : !this.checked;
45
48
  this.checkedChange.emit(this.checked);
46
49
  this.onChange?.(this.checked);
47
- // if the checkbox was indeterminate, it isn't anymore
48
50
  if (this.indeterminate) {
49
51
  this.indeterminate = false;
50
52
  this.indeterminateChange.emit(this.indeterminate);
@@ -53,6 +55,14 @@ export class RdxCheckboxDirective {
53
55
  onBlur() {
54
56
  this.onTouched?.();
55
57
  }
58
+ ngOnChanges(changes) {
59
+ if (changes['checked'] && !changes['checked'].isFirstChange()) {
60
+ this.checkedChange.emit(this.checked);
61
+ }
62
+ if (changes['indeterminate'] && !changes['indeterminate'].isFirstChange()) {
63
+ this.indeterminateChange.emit(this.indeterminate);
64
+ }
65
+ }
56
66
  /**
57
67
  * Sets the checked state of the checkbox.
58
68
  * @param checked The checked state of the checkbox.
@@ -85,13 +95,13 @@ export class RdxCheckboxDirective {
85
95
  setDisabledState(isDisabled) {
86
96
  this.disabled = isDisabled;
87
97
  }
88
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
89
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: RdxCheckboxDirective, isStandalone: true, selector: "button[rdxCheckbox]", inputs: { checked: ["checked", "checked", booleanAttribute], indeterminate: ["indeterminate", "indeterminate", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { checkedChange: "checkedChange", indeterminateChange: "indeterminateChange" }, host: { attributes: { "type": "button", "role": "checkbox" }, listeners: { "keydown": "onKeydown($event)", "click": "onClick()", "blur": "onBlur()" }, properties: { "disabled": "disabled", "attr.aria-checked": "indeterminate ? \"mixed\" : checked", "attr.data-disabled": "disabled ? \"\" : null", "attr.data-state": "state" } }, providers: [
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
99
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.4", type: RdxCheckboxDirective, isStandalone: true, selector: "button[rdxCheckbox]", inputs: { checked: ["checked", "checked", booleanAttribute], indeterminate: ["indeterminate", "indeterminate", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { checkedChange: "checkedChange", indeterminateChange: "indeterminateChange" }, host: { attributes: { "type": "button", "role": "checkbox" }, listeners: { "keydown": "onKeydown($event)", "click": "onClick()", "blur": "onBlur()" }, properties: { "disabled": "disabled", "attr.aria-checked": "indeterminate ? \"mixed\" : checked", "attr.data-disabled": "disabled ? \"\" : null", "attr.data-state": "state" } }, providers: [
90
100
  { provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },
91
101
  { provide: NG_VALUE_ACCESSOR, useExisting: RdxCheckboxDirective, multi: true }
92
- ], ngImport: i0 }); }
102
+ ], usesOnChanges: true, ngImport: i0 }); }
93
103
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxCheckboxDirective, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxDirective, decorators: [{
95
105
  type: Directive,
96
106
  args: [{
97
107
  selector: 'button[rdxCheckbox]',
@@ -132,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
132
142
  type: HostListener,
133
143
  args: ['blur']
134
144
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jaGVja2JveC9zcmMvY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBa0JwRCxNQUFNLE9BQU8sb0JBQW9CO0lBaEJqQztRQWlCSTs7V0FFRztRQUNxQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXhEOztXQUVHO1FBRUgsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFdEI7O1dBRUc7UUFDcUMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUV6RDs7V0FFRztRQUNnQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFL0Q7O1dBRUc7UUFDZ0Isd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQXFGeEU7SUFuRkc7O09BRUc7SUFDSCxJQUFJLEtBQUs7UUFDTCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixPQUFPLGVBQWUsQ0FBQztRQUMzQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNsRCxDQUFDO0lBZUQsU0FBUyxDQUFDLEtBQW9CO1FBQzFCLHFFQUFxRTtRQUNyRSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNCLENBQUM7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ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgUmR4Q2hlY2tib3hUb2tlbiB9IGZyb20gJy4vY2hlY2tib3gudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2J1dHRvbltyZHhDaGVja2JveF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogUmR4Q2hlY2tib3hUb2tlbiwgdXNlRXhpc3Rpbmc6IFJkeENoZWNrYm94RGlyZWN0aXZlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBSZHhDaGVja2JveERpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgcm9sZTogJ2NoZWNrYm94JyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2F0dHIuYXJpYS1jaGVja2VkXSc6ICdpbmRldGVybWluYXRlID8gXCJtaXhlZFwiIDogY2hlY2tlZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCA/IFwiXCIgOiBudWxsJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ3N0YXRlJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4Q2hlY2tib3hEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBjaGVja2VkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGluZGV0ZXJtaW5hdGUuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBkaXNhYmxlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY2hlY2tib3ggY2hlY2tlZCBzdGF0ZSBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBjaGVja2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBpbmRldGVybWluYXRlIHN0YXRlIGNoYW5nZXMuXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGluZGV0ZXJtaW5hdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgdGhlIHN0YXRlXG4gICAgICovXG4gICAgZ2V0IHN0YXRlKCk6ICdjaGVja2VkJyB8ICd1bmNoZWNrZWQnIHwgJ2luZGV0ZXJtaW5hdGUnIHtcbiAgICAgICAgaWYgKHRoaXMuaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuICdpbmRldGVybWluYXRlJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja2VkID8gJ2NoZWNrZWQnIDogJ3VuY2hlY2tlZCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RvcmUgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBjaGVja2VkIHN0YXRlIGNoYW5nZXMuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSBvbkNoYW5nZT86IChjaGVja2VkOiBib29sZWFuKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogU3RvcmUgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBpcyBibHVycmVkLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgb25Ub3VjaGVkPzogKCkgPT4gdm9pZDtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBBY2NvcmRpbmcgdG8gV0FJIEFSSUEsIENoZWNrYm94ZXMgZG9uJ3QgYWN0aXZhdGUgb24gZW50ZXIga2V5cHJlc3NcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLmluZGV0ZXJtaW5hdGUgPyB0cnVlIDogIXRoaXMuY2hlY2tlZDtcbiAgICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZT8uKHRoaXMuY2hlY2tlZCk7XG5cbiAgICAgICAgLy8gaWYgdGhlIGNoZWNrYm94IHdhcyBpbmRldGVybWluYXRlLCBpdCBpc24ndCBhbnltb3JlXG4gICAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pbmRldGVybWluYXRlQ2hhbmdlLmVtaXQodGhpcy5pbmRldGVybWluYXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICAgIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQ/LigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGNoZWNrZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LlxuICAgICAqIEBwYXJhbSBjaGVja2VkIFRoZSBjaGVja2VkIHN0YXRlIG9mIHRoZSBjaGVja2JveC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICB3cml0ZVZhbHVlKGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gY2hlY2tlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggY2hlY2tlZCBzdGF0ZSBjaGFuZ2VzLlxuICAgICAqIEBwYXJhbSBmbiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBpcyBibHVycmVkLlxuICAgICAqIEBwYXJhbSBmbiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY2hlY2tib3guXG4gICAgICogQHBhcmFtIGlzRGlzYWJsZWQgVGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBjaGVja2JveC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxufVxuIl19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jaGVja2JveC9zcmMvY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBb0JwRCxNQUFNLE9BQU8sb0JBQW9CO0lBaEJqQztRQWlCSTs7V0FFRztRQUNxQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXhEOztXQUVHO1FBQ3FDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRTlEOztXQUVHO1FBQ3FDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFekQ7O1dBRUc7UUFDZ0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRS9EOztXQUVHO1FBQ2dCLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0FpR3hFO0lBL0ZHOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ0wsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsT0FBTyxlQUFlLENBQUM7UUFDM0IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQWVELFNBQVMsQ0FBQyxLQUFvQjtRQUMxQixxRUFBcUU7UUFDckUsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUdELE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDekQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7SUFHRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN4RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsT0FBZ0I7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxFQUE4QjtRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDOzhHQXhIUSxvQkFBb0I7a0dBQXBCLG9CQUFvQixpR0FJVCxnQkFBZ0IscURBS2hCLGdCQUFnQixzQ0FLaEIsZ0JBQWdCLGtiQTNCekI7WUFDUCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUU7WUFDaEUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7U0FDakY7OzJGQVVRLG9CQUFvQjtrQkFoQmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLHNCQUFzQixFQUFFO3dCQUNoRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLHNCQUFzQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQ2pGO29CQUNELElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsVUFBVTt3QkFDaEIsWUFBWSxFQUFFLFVBQVU7d0JBQ3hCLHFCQUFxQixFQUFFLG1DQUFtQzt3QkFDMUQsc0JBQXNCLEVBQUUsc0JBQXNCO3dCQUM5QyxtQkFBbUIsRUFBRSxPQUFPO3FCQUMvQjtpQkFDSjs4QkFLMkMsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLRSxhQUFhO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUtFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS25CLGFBQWE7c0JBQS9CLE1BQU07Z0JBS1ksbUJBQW1CO3NCQUFyQyxNQUFNO2dCQXlCUCxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVNuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFpQnJCLE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgUmR4Q2hlY2tib3hUb2tlbiB9IGZyb20gJy4vY2hlY2tib3gudG9rZW4nO1xuXG5leHBvcnQgdHlwZSBDaGVja2JveFN0YXRlID0gJ3VuY2hlY2tlZCcgfCAnY2hlY2tlZCcgfCAnaW5kZXRlcm1pbmF0ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYnV0dG9uW3JkeENoZWNrYm94XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBSZHhDaGVja2JveFRva2VuLCB1c2VFeGlzdGluZzogUmR4Q2hlY2tib3hEaXJlY3RpdmUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IFJkeENoZWNrYm94RGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICByb2xlOiAnY2hlY2tib3gnLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5hcmlhLWNoZWNrZWRdJzogJ2luZGV0ZXJtaW5hdGUgPyBcIm1peGVkXCIgOiBjaGVja2VkJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkID8gXCJcIiA6IG51bGwnLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnc3RhdGUnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhDaGVja2JveERpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hldGhlciB0aGUgY2hlY2tib3ggaXMgY2hlY2tlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgY2hlY2tlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBpbmRldGVybWluYXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpbmRldGVybWluYXRlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGRpc2FibGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjaGVja2JveCBjaGVja2VkIHN0YXRlIGNoYW5nZXMuXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGNoZWNrZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGluZGV0ZXJtaW5hdGUgc3RhdGUgY2hhbmdlcy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgaW5kZXRlcm1pbmF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSB0aGUgc3RhdGVcbiAgICAgKi9cbiAgICBnZXQgc3RhdGUoKTogQ2hlY2tib3hTdGF0ZSB7XG4gICAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgIHJldHVybiAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0b3JlIHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggY2hlY2tlZCBzdGF0ZSBjaGFuZ2VzLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgb25DaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlIHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggaXMgYmx1cnJlZC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcml2YXRlIG9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gQWNjb3JkaW5nIHRvIFdBSSBBUklBLCBDaGVja2JveGVzIGRvbid0IGFjdGl2YXRlIG9uIGVudGVyIGtleXByZXNzXG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMuaW5kZXRlcm1pbmF0ZSA/IHRydWUgOiAhdGhpcy5jaGVja2VkO1xuICAgICAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdCh0aGlzLmNoZWNrZWQpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlPy4odGhpcy5jaGVja2VkKTtcblxuICAgICAgICBpZiAodGhpcy5pbmRldGVybWluYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUNoYW5nZS5lbWl0KHRoaXMuaW5kZXRlcm1pbmF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkPy4oKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydjaGVja2VkJ10gJiYgIWNoYW5nZXNbJ2NoZWNrZWQnXS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KHRoaXMuY2hlY2tlZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXNbJ2luZGV0ZXJtaW5hdGUnXSAmJiAhY2hhbmdlc1snaW5kZXRlcm1pbmF0ZSddLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5pbmRldGVybWluYXRlQ2hhbmdlLmVtaXQodGhpcy5pbmRldGVybWluYXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGNoZWNrZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LlxuICAgICAqIEBwYXJhbSBjaGVja2VkIFRoZSBjaGVja2VkIHN0YXRlIG9mIHRoZSBjaGVja2JveC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICB3cml0ZVZhbHVlKGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gY2hlY2tlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggY2hlY2tlZCBzdGF0ZSBjaGFuZ2VzLlxuICAgICAqIEBwYXJhbSBmbiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBpcyBibHVycmVkLlxuICAgICAqIEBwYXJhbSBmbiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY2hlY2tib3guXG4gICAgICogQHBhcmFtIGlzRGlzYWJsZWQgVGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBjaGVja2JveC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './src/collapsible-root.directive';
2
+ export * from './src/collapsible-trigger.directive';
3
+ export * from './src/collapsible-content.directive';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvbGxhcHNpYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvY29sbGFwc2libGUtcm9vdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvY29sbGFwc2libGUtdHJpZ2dlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvY29sbGFwc2libGUtY29udGVudC5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1jb2xsYXBzaWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvY29sbGFwc2libGUvcmFkaXgtbmctcHJpbWl0aXZlcy1jb2xsYXBzaWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Directive, ElementRef, inject, InjectionToken } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export const RdxCollapsibleContentToken = new InjectionToken('RdxCollapsibleContentToken');
4
+ export class RdxCollapsibleContentDirective {
5
+ constructor() {
6
+ /**
7
+ * Reference to CollapsibleContent host element
8
+ */
9
+ this.elementRef = inject(ElementRef);
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxCollapsibleContentDirective, isStandalone: true, selector: "[CollapsibleContent]", providers: [
13
+ { provide: RdxCollapsibleContentToken, useExisting: RdxCollapsibleContentDirective }
14
+ ], ngImport: i0 }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleContentDirective, decorators: [{
17
+ type: Directive,
18
+ args: [{
19
+ selector: '[CollapsibleContent]',
20
+ standalone: true,
21
+ providers: [
22
+ { provide: RdxCollapsibleContentToken, useExisting: RdxCollapsibleContentDirective }
23
+ ]
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvbGxhcHNpYmxlL3NyYy9jb2xsYXBzaWJsZS1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU5RSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FDeEQsNEJBQTRCLENBQy9CLENBQUM7QUFTRixNQUFNLE9BQU8sOEJBQThCO0lBUDNDO1FBUUk7O1dBRUc7UUFDSCxlQUFVLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztLQUM1RDs4R0FMWSw4QkFBOEI7a0dBQTlCLDhCQUE4QixtRUFKNUI7WUFDUCxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLEVBQUUsOEJBQThCLEVBQUU7U0FDdkY7OzJGQUVRLDhCQUE4QjtrQkFQMUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsZ0NBQWdDLEVBQUU7cUJBQ3ZGO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBSZHhDb2xsYXBzaWJsZUNvbnRlbnRUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHhDb2xsYXBzaWJsZUNvbnRlbnREaXJlY3RpdmU+KFxuICAgICdSZHhDb2xsYXBzaWJsZUNvbnRlbnRUb2tlbidcbik7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW0NvbGxhcHNpYmxlQ29udGVudF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogUmR4Q29sbGFwc2libGVDb250ZW50VG9rZW4sIHVzZUV4aXN0aW5nOiBSZHhDb2xsYXBzaWJsZUNvbnRlbnREaXJlY3RpdmUgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUmR4Q29sbGFwc2libGVDb250ZW50RGlyZWN0aXZlIHtcbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gQ29sbGFwc2libGVDb250ZW50IGhvc3QgZWxlbWVudFxuICAgICAqL1xuICAgIGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xufVxuIl19
@@ -0,0 +1,114 @@
1
+ import { contentChild, Directive, EventEmitter, inject, InjectionToken, Input, Output } from '@angular/core';
2
+ import { asyncScheduler } from 'rxjs';
3
+ import { RdxCollapsibleContentToken } from './collapsible-content.directive';
4
+ import * as i0 from "@angular/core";
5
+ const RdxCollapsibleToken = new InjectionToken('RdxCollapsibleToken');
6
+ export function injectCollapsible() {
7
+ return inject(RdxCollapsibleRootDirective);
8
+ }
9
+ export class RdxCollapsibleRootDirective {
10
+ constructor() {
11
+ /**
12
+ * Reference to RdxCollapsibleContent directive
13
+ * @private
14
+ * @ignore
15
+ */
16
+ this.contentDirective = contentChild.required(RdxCollapsibleContentToken);
17
+ /**
18
+ * Stores collapsible state
19
+ * @private
20
+ * @ignore
21
+ */
22
+ this._open = false;
23
+ /**
24
+ * Determines whether a directive is available for interaction
25
+ */
26
+ this.disabled = false;
27
+ /**
28
+ * Emitted with new value when directive state changed
29
+ */
30
+ this.openChange = new EventEmitter();
31
+ }
32
+ /**
33
+ * Sets the state of the directive. `true` - expanded, `false` - collapsed
34
+ * @param {boolean} value
35
+ */
36
+ set open(value) {
37
+ if (value !== this._open) {
38
+ this.openChange.emit(value);
39
+ }
40
+ this._open = value;
41
+ this.setPresence();
42
+ }
43
+ /**
44
+ * Allows to change directive state
45
+ * @param {boolean | undefined} value
46
+ */
47
+ setOpen(value) {
48
+ if (this.disabled) {
49
+ return;
50
+ }
51
+ if (value === undefined) {
52
+ this.open = !this._open;
53
+ }
54
+ else {
55
+ this.open = value;
56
+ }
57
+ this.setPresence();
58
+ }
59
+ /**
60
+ * Returns directive state (open | closed)
61
+ */
62
+ getState() {
63
+ return this._open ? 'open' : 'closed';
64
+ }
65
+ /**
66
+ * Returns current directive state
67
+ */
68
+ isOpen() {
69
+ return this._open;
70
+ }
71
+ /**
72
+ * Controls visibility of content
73
+ * @private
74
+ * @ignore
75
+ */
76
+ setPresence() {
77
+ if (!this.contentDirective) {
78
+ return;
79
+ }
80
+ this.contentDirective().elementRef.nativeElement.setAttribute('data-state', this.getState());
81
+ if (this.isOpen()) {
82
+ this.contentDirective().elementRef.nativeElement.removeAttribute('hidden');
83
+ }
84
+ else {
85
+ asyncScheduler.schedule(() => {
86
+ const animations = this.contentDirective().elementRef.nativeElement.getAnimations();
87
+ if (animations === undefined || animations.length === 0) {
88
+ this.contentDirective().elementRef.nativeElement.setAttribute('hidden', '');
89
+ }
90
+ });
91
+ }
92
+ }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
94
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.0.4", type: RdxCollapsibleRootDirective, isStandalone: true, selector: "[CollapsibleRoot]", inputs: { disabled: "disabled", open: "open" }, outputs: { openChange: "openChange" }, host: { properties: { "attr.data-state": "getState()" } }, providers: [{ provide: RdxCollapsibleToken, useExisting: RdxCollapsibleRootDirective }], queries: [{ propertyName: "contentDirective", first: true, predicate: RdxCollapsibleContentToken, descendants: true, isSignal: true }], exportAs: ["collapsibleRoot"], ngImport: i0 }); }
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleRootDirective, decorators: [{
97
+ type: Directive,
98
+ args: [{
99
+ selector: '[CollapsibleRoot]',
100
+ standalone: true,
101
+ exportAs: 'collapsibleRoot',
102
+ providers: [{ provide: RdxCollapsibleToken, useExisting: RdxCollapsibleRootDirective }],
103
+ host: {
104
+ '[attr.data-state]': 'getState()'
105
+ }
106
+ }]
107
+ }], propDecorators: { disabled: [{
108
+ type: Input
109
+ }], open: [{
110
+ type: Input
111
+ }], openChange: [{
112
+ type: Output
113
+ }] } });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtcm9vdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvbGxhcHNpYmxlL3NyYy9jb2xsYXBzaWJsZS1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBRTdFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQThCLHFCQUFxQixDQUFDLENBQUM7QUFFbkcsTUFBTSxVQUFVLGlCQUFpQjtJQUM3QixPQUFPLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFhRCxNQUFNLE9BQU8sMkJBQTJCO0lBVHhDO1FBVUk7Ozs7V0FJRztRQUNjLHFCQUFnQixHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUV0Rjs7OztXQUlHO1FBQ0ssVUFBSyxHQUFHLEtBQUssQ0FBQztRQUV0Qjs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFlMUI7O1dBRUc7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQTZEdEQ7SUE3RUc7OztPQUdHO0lBQ0gsSUFBYSxJQUFJLENBQUMsS0FBYztRQUM1QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBT0Q7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEtBQWU7UUFDbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM1QixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVc7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDekIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDekQsWUFBWSxFQUNaLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FDbEIsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0UsQ0FBQzthQUFNLENBQUM7WUFDSixjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFFcEYsSUFBSSxVQUFVLEtBQUssU0FBUyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3RELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDaEYsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7OEdBaEdRLDJCQUEyQjtrR0FBM0IsMkJBQTJCLGtOQUx6QixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxDQUFDLHdFQVc3QiwwQkFBMEI7OzJGQU4zRSwyQkFBMkI7a0JBVHZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsNkJBQTZCLEVBQUUsQ0FBQztvQkFDdkYsSUFBSSxFQUFFO3dCQUNGLG1CQUFtQixFQUFFLFlBQVk7cUJBQ3BDO2lCQUNKOzhCQW1CWSxRQUFRO3NCQUFoQixLQUFLO2dCQU1PLElBQUk7c0JBQWhCLEtBQUs7Z0JBWUksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgY29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIElucHV0LFxuICAgIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFJkeENvbGxhcHNpYmxlQ29udGVudFRva2VuIH0gZnJvbSAnLi9jb2xsYXBzaWJsZS1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbmNvbnN0IFJkeENvbGxhcHNpYmxlVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmR4Q29sbGFwc2libGVSb290RGlyZWN0aXZlPignUmR4Q29sbGFwc2libGVUb2tlbicpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Q29sbGFwc2libGUoKTogUmR4Q29sbGFwc2libGVSb290RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gaW5qZWN0KFJkeENvbGxhcHNpYmxlUm9vdERpcmVjdGl2ZSk7XG59XG5cbmV4cG9ydCB0eXBlIFJkeENvbGxhcHNpYmxlU3RhdGUgPSAnb3BlbicgfCAnY2xvc2VkJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbQ29sbGFwc2libGVSb290XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBleHBvcnRBczogJ2NvbGxhcHNpYmxlUm9vdCcsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSZHhDb2xsYXBzaWJsZVRva2VuLCB1c2VFeGlzdGluZzogUmR4Q29sbGFwc2libGVSb290RGlyZWN0aXZlIH1dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ2dldFN0YXRlKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhDb2xsYXBzaWJsZVJvb3REaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIFJlZmVyZW5jZSB0byBSZHhDb2xsYXBzaWJsZUNvbnRlbnQgZGlyZWN0aXZlXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50RGlyZWN0aXZlID0gY29udGVudENoaWxkLnJlcXVpcmVkKFJkeENvbGxhcHNpYmxlQ29udGVudFRva2VuKTtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyBjb2xsYXBzaWJsZSBzdGF0ZVxuICAgICAqIEBwcml2YXRlXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHByaXZhdGUgX29wZW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgd2hldGhlciBhIGRpcmVjdGl2ZSBpcyBhdmFpbGFibGUgZm9yIGludGVyYWN0aW9uXG4gICAgICovXG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHN0YXRlIG9mIHRoZSBkaXJlY3RpdmUuIGB0cnVlYCAtIGV4cGFuZGVkLCBgZmFsc2VgIC0gY29sbGFwc2VkXG4gICAgICogQHBhcmFtIHtib29sZWFufSB2YWx1ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCBvcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fb3Blbikge1xuICAgICAgICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fb3BlbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFByZXNlbmNlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aXRoIG5ldyB2YWx1ZSB3aGVuIGRpcmVjdGl2ZSBzdGF0ZSBjaGFuZ2VkXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBBbGxvd3MgdG8gY2hhbmdlIGRpcmVjdGl2ZSBzdGF0ZVxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbiB8IHVuZGVmaW5lZH0gdmFsdWVcbiAgICAgKi9cbiAgICBzZXRPcGVuKHZhbHVlPzogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLl9vcGVuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFByZXNlbmNlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBkaXJlY3RpdmUgc3RhdGUgKG9wZW4gfCBjbG9zZWQpXG4gICAgICovXG4gICAgZ2V0U3RhdGUoKTogUmR4Q29sbGFwc2libGVTdGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXJyZW50IGRpcmVjdGl2ZSBzdGF0ZVxuICAgICAqL1xuICAgIGlzT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wZW47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udHJvbHMgdmlzaWJpbGl0eSBvZiBjb250ZW50XG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRQcmVzZW5jZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRlbnREaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29udGVudERpcmVjdGl2ZSgpLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAnZGF0YS1zdGF0ZScsXG4gICAgICAgICAgICB0aGlzLmdldFN0YXRlKClcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy5pc09wZW4oKSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50RGlyZWN0aXZlKCkuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnaGlkZGVuJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhc3luY1NjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYW5pbWF0aW9ucyA9IHRoaXMuY29udGVudERpcmVjdGl2ZSgpLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBbmltYXRpb25zKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoYW5pbWF0aW9ucyA9PT0gdW5kZWZpbmVkIHx8IGFuaW1hdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudERpcmVjdGl2ZSgpLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hpZGRlbicsICcnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { Directive } from '@angular/core';
2
+ import { injectCollapsible } from './collapsible-root.directive';
3
+ import * as i0 from "@angular/core";
4
+ export class RdxCollapsibleTriggerDirective {
5
+ constructor() {
6
+ /**
7
+ * Reference to CollapsibleRoot
8
+ * @private
9
+ * @ignore
10
+ */
11
+ this.collapsible = injectCollapsible();
12
+ }
13
+ /**
14
+ * Called on trigger clicked
15
+ */
16
+ onOpenToggle() {
17
+ this.collapsible.setOpen();
18
+ }
19
+ /**
20
+ * Returns current directive state (open | closed)
21
+ * @ignore
22
+ */
23
+ getState() {
24
+ return this.collapsible.getState();
25
+ }
26
+ /**
27
+ * Returns current trigger state
28
+ * @ignore
29
+ */
30
+ getDisabled() {
31
+ return this.collapsible.disabled ? 'disabled' : undefined;
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxCollapsibleTriggerDirective, isStandalone: true, selector: "[CollapsibleTrigger]", host: { listeners: { "click": "onOpenToggle()" }, properties: { "attr.data-state": "getState()", "attr.aria-expanded": "getState() === \"open\" ? \"true\" : \"false\"", "disabled": "getDisabled()" } }, ngImport: i0 }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleTriggerDirective, decorators: [{
37
+ type: Directive,
38
+ args: [{
39
+ selector: '[CollapsibleTrigger]',
40
+ standalone: true,
41
+ host: {
42
+ '(click)': 'onOpenToggle()',
43
+ '[attr.data-state]': 'getState()',
44
+ '[attr.aria-expanded]': 'getState() === "open" ? "true" : "false"',
45
+ '[disabled]': 'getDisabled()'
46
+ }
47
+ }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvbGxhcHNpYmxlL3NyYy9jb2xsYXBzaWJsZS10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBdUIsTUFBTSw4QkFBOEIsQ0FBQzs7QUFZdEYsTUFBTSxPQUFPLDhCQUE4QjtJQVYzQztRQVdJOzs7O1dBSUc7UUFDYyxnQkFBVyxHQUFHLGlCQUFpQixFQUFFLENBQUM7S0F3QnREO0lBdEJHOztPQUVHO0lBQ0gsWUFBWTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM5RCxDQUFDOzhHQTdCUSw4QkFBOEI7a0dBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFWMUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLFNBQVMsRUFBRSxnQkFBZ0I7d0JBQzNCLG1CQUFtQixFQUFFLFlBQVk7d0JBQ2pDLHNCQUFzQixFQUFFLDBDQUEwQzt3QkFDbEUsWUFBWSxFQUFFLGVBQWU7cUJBQ2hDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGluamVjdENvbGxhcHNpYmxlLCBSZHhDb2xsYXBzaWJsZVN0YXRlIH0gZnJvbSAnLi9jb2xsYXBzaWJsZS1yb290LmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW0NvbGxhcHNpYmxlVHJpZ2dlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdvbk9wZW5Ub2dnbGUoKScsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdnZXRTdGF0ZSgpJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ2dldFN0YXRlKCkgPT09IFwib3BlblwiID8gXCJ0cnVlXCIgOiBcImZhbHNlXCInLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdnZXREaXNhYmxlZCgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4Q29sbGFwc2libGVUcmlnZ2VyRGlyZWN0aXZlIHtcbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gQ29sbGFwc2libGVSb290XG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb2xsYXBzaWJsZSA9IGluamVjdENvbGxhcHNpYmxlKCk7XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgb24gdHJpZ2dlciBjbGlja2VkXG4gICAgICovXG4gICAgb25PcGVuVG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbGxhcHNpYmxlLnNldE9wZW4oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1cnJlbnQgZGlyZWN0aXZlIHN0YXRlIChvcGVuIHwgY2xvc2VkKVxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBnZXRTdGF0ZSgpOiBSZHhDb2xsYXBzaWJsZVN0YXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sbGFwc2libGUuZ2V0U3RhdGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1cnJlbnQgdHJpZ2dlciBzdGF0ZVxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBnZXREaXNhYmxlZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xsYXBzaWJsZS5kaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiB1bmRlZmluZWQ7XG4gICAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
- export * from './src/label.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2xhYmVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9sYWJlbC5kaXJlY3RpdmUnO1xuIl19
1
+ export * from './src/label-root.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2xhYmVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9sYWJlbC1yb290LmRpcmVjdGl2ZSc7XG4iXX0=