@odx/angular 1.0.0-rc.3 → 1.0.0-rc.4

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 (220) hide show
  1. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +3 -3
  2. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +3 -1
  3. package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +2 -0
  4. package/cdk/dynamic-view/lib/helpers/index.d.ts +1 -0
  5. package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +1 -0
  6. package/components/chip/README.md +3 -0
  7. package/components/chip/index.d.ts +2 -0
  8. package/components/chip/lib/chip.component.d.ts +15 -0
  9. package/components/chip/lib/models/chip-size.d.ts +5 -0
  10. package/components/chip/lib/models/chip-variant.d.ts +7 -0
  11. package/components/chip/lib/models/index.d.ts +2 -0
  12. package/components/circular-progress/README.md +3 -0
  13. package/components/circular-progress/index.d.ts +2 -0
  14. package/components/circular-progress/lib/circular-progress.component.d.ts +28 -0
  15. package/components/circular-progress/lib/models/circular-progress-size.d.ts +7 -0
  16. package/components/circular-progress/lib/models/index.d.ts +1 -0
  17. package/components/loading-spinner/README.md +3 -0
  18. package/components/loading-spinner/index.d.ts +3 -0
  19. package/components/loading-spinner/lib/loading-spinner.component.d.ts +15 -0
  20. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +26 -0
  21. package/components/loading-spinner/lib/loading-spinner.module.d.ts +9 -0
  22. package/components/loading-spinner/lib/loading-spinner.service.d.ts +9 -0
  23. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +6 -1
  24. package/components/main-menu/lib/main-menu.component.d.ts +3 -1
  25. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +1 -0
  26. package/components/modal/lib/modal.component.d.ts +2 -1
  27. package/components/modal/lib/modal.directive.d.ts +8 -4
  28. package/components/modal/lib/models/modal-ref.d.ts +4 -2
  29. package/components/progress/README.md +3 -0
  30. package/components/progress/index.d.ts +1 -0
  31. package/components/progress/lib/progress.component.d.ts +14 -0
  32. package/esm2020/animations/lib/fade.mjs +2 -5
  33. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +6 -6
  34. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  35. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
  36. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +23 -14
  37. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +20 -8
  38. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
  39. package/esm2020/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +9 -0
  40. package/esm2020/cdk/dynamic-view/lib/helpers/index.mjs +2 -1
  41. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +3 -2
  42. package/esm2020/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +1 -1
  43. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
  44. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +3 -3
  45. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  46. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +6 -6
  47. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -3
  48. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  49. package/esm2020/components/accordion/lib/accordion.component.mjs +3 -3
  50. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  51. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +3 -3
  52. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  53. package/esm2020/components/action-group/action-group.component.mjs +3 -3
  54. package/esm2020/components/area-header/area-header.component.mjs +3 -3
  55. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  56. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  57. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  58. package/esm2020/components/avatar/lib/avatar.component.mjs +3 -3
  59. package/esm2020/components/badge/lib/badge.component.mjs +3 -3
  60. package/esm2020/components/badge/lib/badge.directive.mjs +3 -3
  61. package/esm2020/components/button/lib/button.component.mjs +3 -3
  62. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  63. package/esm2020/components/checkbox/lib/checkbox.component.mjs +3 -3
  64. package/esm2020/components/chip/index.mjs +3 -0
  65. package/esm2020/components/chip/lib/chip.component.mjs +54 -0
  66. package/esm2020/components/chip/lib/models/chip-size.mjs +5 -0
  67. package/esm2020/components/chip/lib/models/chip-variant.mjs +7 -0
  68. package/esm2020/components/chip/lib/models/index.mjs +3 -0
  69. package/esm2020/components/chip/odx-angular-components-chip.mjs +5 -0
  70. package/esm2020/components/circular-progress/index.mjs +3 -0
  71. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +91 -0
  72. package/esm2020/components/circular-progress/lib/models/circular-progress-size.mjs +7 -0
  73. package/esm2020/components/circular-progress/lib/models/index.mjs +2 -0
  74. package/esm2020/components/circular-progress/odx-angular-components-circular-progress.mjs +5 -0
  75. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  76. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  77. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +3 -3
  78. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +3 -3
  79. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  80. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  81. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
  82. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  83. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  84. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  85. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  86. package/esm2020/components/form-field/lib/form-field.component.mjs +3 -3
  87. package/esm2020/components/form-field/lib/form-field.module.mjs +4 -4
  88. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  89. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +3 -3
  90. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  91. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  92. package/esm2020/components/header/lib/header.component.mjs +3 -3
  93. package/esm2020/components/header/lib/header.module.mjs +4 -4
  94. package/esm2020/components/icon/lib/icon.component.mjs +3 -3
  95. package/esm2020/components/link/link.directive.mjs +3 -3
  96. package/esm2020/components/loading-spinner/index.mjs +4 -0
  97. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +58 -0
  98. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +87 -0
  99. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +19 -0
  100. package/esm2020/components/loading-spinner/lib/loading-spinner.service.mjs +17 -0
  101. package/esm2020/components/loading-spinner/odx-angular-components-loading-spinner.mjs +5 -0
  102. package/esm2020/components/logo/logo.directive.mjs +3 -3
  103. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  104. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +20 -9
  105. package/esm2020/components/main-menu/lib/main-menu.component.mjs +7 -6
  106. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  107. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  108. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  109. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +10 -8
  110. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +3 -3
  111. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  112. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  113. package/esm2020/components/modal/lib/modal.component.mjs +11 -7
  114. package/esm2020/components/modal/lib/modal.directive.mjs +24 -6
  115. package/esm2020/components/modal/lib/modal.module.mjs +4 -4
  116. package/esm2020/components/modal/lib/modal.service.mjs +3 -3
  117. package/esm2020/components/modal/lib/models/modal-ref.mjs +9 -2
  118. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +3 -3
  119. package/esm2020/components/progress/index.mjs +2 -0
  120. package/esm2020/components/progress/lib/progress.component.mjs +51 -0
  121. package/esm2020/components/progress/odx-angular-components-progress.mjs +5 -0
  122. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
  123. package/esm2020/components/radio-group/lib/radio-group.component.mjs +3 -3
  124. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  125. package/esm2020/components/switch/lib/switch.component.mjs +3 -3
  126. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
  127. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -3
  128. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  129. package/esm2020/lib/controllers/controller.mjs +11 -10
  130. package/esm2020/lib/controllers/disabled.controller.mjs +3 -3
  131. package/esm2020/lib/controllers/readonly.controller.mjs +3 -3
  132. package/esm2020/lib/core.module.mjs +4 -4
  133. package/esm2020/lib/directives/click-outside.directive.mjs +3 -3
  134. package/esm2020/lib/services/window-ref.mjs +3 -3
  135. package/fesm2015/odx-angular-animations.mjs +1 -1
  136. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  137. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +5 -5
  138. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  139. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +6 -6
  140. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +54 -25
  141. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  142. package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
  143. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +12 -12
  144. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  145. package/fesm2015/odx-angular-components-accordion.mjs +13 -13
  146. package/fesm2015/odx-angular-components-action-group.mjs +3 -3
  147. package/fesm2015/odx-angular-components-area-header.mjs +13 -13
  148. package/fesm2015/odx-angular-components-avatar.mjs +3 -3
  149. package/fesm2015/odx-angular-components-badge.mjs +6 -6
  150. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  151. package/fesm2015/odx-angular-components-button.mjs +3 -3
  152. package/fesm2015/odx-angular-components-checkbox.mjs +3 -3
  153. package/fesm2015/odx-angular-components-chip.mjs +71 -0
  154. package/fesm2015/odx-angular-components-chip.mjs.map +1 -0
  155. package/fesm2015/odx-angular-components-circular-progress.mjs +103 -0
  156. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -0
  157. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  158. package/fesm2015/odx-angular-components-form-field.mjs +34 -34
  159. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  160. package/fesm2015/odx-angular-components-header.mjs +13 -13
  161. package/fesm2015/odx-angular-components-icon.mjs +3 -3
  162. package/fesm2015/odx-angular-components-link.mjs +3 -3
  163. package/fesm2015/odx-angular-components-loading-spinner.mjs +173 -0
  164. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -0
  165. package/fesm2015/odx-angular-components-logo.mjs +3 -3
  166. package/fesm2015/odx-angular-components-main-menu.mjs +34 -23
  167. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  168. package/fesm2015/odx-angular-components-modal.mjs +70 -42
  169. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  170. package/fesm2015/odx-angular-components-progress.mjs +57 -0
  171. package/fesm2015/odx-angular-components-progress.mjs.map +1 -0
  172. package/fesm2015/odx-angular-components-radio-group.mjs +10 -10
  173. package/fesm2015/odx-angular-components-switch.mjs +3 -3
  174. package/fesm2015/odx-angular-components-toggle-button-group.mjs +10 -10
  175. package/fesm2015/odx-angular.mjs +27 -26
  176. package/fesm2015/odx-angular.mjs.map +1 -1
  177. package/fesm2020/odx-angular-animations.mjs +1 -4
  178. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  179. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +5 -5
  180. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  181. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +6 -6
  182. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +52 -23
  183. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  184. package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
  185. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +12 -12
  186. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  187. package/fesm2020/odx-angular-components-accordion.mjs +13 -13
  188. package/fesm2020/odx-angular-components-action-group.mjs +3 -3
  189. package/fesm2020/odx-angular-components-area-header.mjs +13 -13
  190. package/fesm2020/odx-angular-components-avatar.mjs +3 -3
  191. package/fesm2020/odx-angular-components-badge.mjs +6 -6
  192. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  193. package/fesm2020/odx-angular-components-button.mjs +3 -3
  194. package/fesm2020/odx-angular-components-checkbox.mjs +3 -3
  195. package/fesm2020/odx-angular-components-chip.mjs +71 -0
  196. package/fesm2020/odx-angular-components-chip.mjs.map +1 -0
  197. package/fesm2020/odx-angular-components-circular-progress.mjs +103 -0
  198. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -0
  199. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  200. package/fesm2020/odx-angular-components-form-field.mjs +34 -34
  201. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  202. package/fesm2020/odx-angular-components-header.mjs +13 -13
  203. package/fesm2020/odx-angular-components-icon.mjs +3 -3
  204. package/fesm2020/odx-angular-components-link.mjs +3 -3
  205. package/fesm2020/odx-angular-components-loading-spinner.mjs +172 -0
  206. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -0
  207. package/fesm2020/odx-angular-components-logo.mjs +3 -3
  208. package/fesm2020/odx-angular-components-main-menu.mjs +34 -23
  209. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  210. package/fesm2020/odx-angular-components-modal.mjs +69 -41
  211. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  212. package/fesm2020/odx-angular-components-progress.mjs +57 -0
  213. package/fesm2020/odx-angular-components-progress.mjs.map +1 -0
  214. package/fesm2020/odx-angular-components-radio-group.mjs +10 -10
  215. package/fesm2020/odx-angular-components-switch.mjs +3 -3
  216. package/fesm2020/odx-angular-components-toggle-button-group.mjs +10 -10
  217. package/fesm2020/odx-angular.mjs +27 -26
  218. package/fesm2020/odx-angular.mjs.map +1 -1
  219. package/lib/controllers/controller.d.ts +1 -2
  220. package/package.json +35 -2
@@ -1,12 +1,12 @@
1
- import { AsyncPipe } from '@angular/common';
2
1
  import { OnDestroy } from '@angular/core';
3
2
  import { DynamicTextContent } from './facade';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class DynamicViewComponent implements OnDestroy {
6
- protected asyncPipe: AsyncPipe;
7
- protected resolveContent: () => string | null;
5
+ private readonly element;
6
+ private currentSubscription;
8
7
  set content(value: DynamicTextContent);
9
8
  ngOnDestroy(): void;
9
+ private setContent;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicViewComponent, never>;
11
11
  static ɵcmp: i0.ɵɵComponentDeclaration<DynamicViewComponent, "odx-dynamic-view", never, { "content": "content"; }, {}, never, never, true>;
12
12
  }
@@ -5,7 +5,9 @@ import * as i0 from "@angular/core";
5
5
  export declare class DynamicViewDirective<T extends DynamicContent<unknown> = DynamicContent<unknown>> implements OnDestroy, OnInit, OnChanges {
6
6
  private readonly dynamicViewService;
7
7
  private readonly viewContainer;
8
+ private readonly template;
8
9
  private viewRef;
10
+ private contentViewRef;
9
11
  content?: T | DynamicViewRef<T> | null;
10
12
  injector?: Injector;
11
13
  context?: GetDynamicViewContext<T>;
@@ -16,5 +18,5 @@ export declare class DynamicViewDirective<T extends DynamicContent<unknown> = Dy
16
18
  private render;
17
19
  private destroy;
18
20
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicViewDirective<any>, never>;
19
- static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicViewDirective<any>, "[odxDynamicView]", never, { "content": "odxDynamicView"; "injector": "odxDynamicViewInjector"; "context": "odxDynamicViewContext"; }, {}, never, never, true>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicViewDirective<any>, "ng-template[odxDynamicView]", never, { "content": "odxDynamicView"; "injector": "odxDynamicViewInjector"; "context": "odxDynamicViewContext"; }, {}, never, never, true>;
20
22
  }
@@ -0,0 +1,2 @@
1
+ import { Type } from '@angular/core';
2
+ export declare function createProjectableNodes(component: Type<unknown>, nodes: Node[]): Node[][];
@@ -1,2 +1,3 @@
1
+ export * from './create-projectable-nodes';
1
2
  export * from './is-dynamic-text-content';
2
3
  export * from './is-dynamic-view';
@@ -3,5 +3,6 @@ import { DynamicContent, GetDynamicViewContext } from '../facade';
3
3
  export interface DynamicViewOptions<T extends DynamicContent> {
4
4
  injector: Injector;
5
5
  context?: GetDynamicViewContext<T>;
6
+ projectableNodes?: Node[][];
6
7
  vcr?: ViewContainerRef;
7
8
  }
@@ -0,0 +1,3 @@
1
+ # @odx/angular/components/chip
2
+
3
+ Secondary entry point of `@odx/angular`. It can be used by importing from `@odx/angular/components/chip`.
@@ -0,0 +1,2 @@
1
+ export * from './lib/chip.component';
2
+ export * from './lib/models';
@@ -0,0 +1,15 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
+ import { EventEmitter } from '@angular/core';
3
+ import { ChipSize, ChipVariant } from './models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ChipComponent {
6
+ static ngAcceptInputType_removable: BooleanInput;
7
+ readonly element: import("@angular/core").ElementRef<HTMLElement>;
8
+ removable: boolean;
9
+ size: ChipSize;
10
+ variant: ChipVariant;
11
+ remove: EventEmitter<void>;
12
+ onClick(): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChipComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChipComponent, "odx-chip", never, { "removable": "removable"; "size": "size"; "variant": "variant"; }, { "remove": "remove"; }, never, ["*"], true>;
15
+ }
@@ -0,0 +1,5 @@
1
+ export declare type ChipSize = typeof ChipSize[keyof typeof ChipSize];
2
+ export declare const ChipSize: {
3
+ readonly SMALL: "small";
4
+ readonly MEDIUM: "medium";
5
+ };
@@ -0,0 +1,7 @@
1
+ export declare type ChipVariant = typeof ChipVariant[keyof typeof ChipVariant];
2
+ export declare const ChipVariant: {
3
+ readonly SECONDARY: "secondary";
4
+ readonly HIGHLIGHT: "highlight";
5
+ readonly SUCCESS: "success";
6
+ readonly DANGER: "danger";
7
+ };
@@ -0,0 +1,2 @@
1
+ export * from './chip-size';
2
+ export * from './chip-variant';
@@ -0,0 +1,3 @@
1
+ # @odx/angular/components/circular-progress
2
+
3
+ Secondary entry point of `@odx/angular`. It can be used by importing from `@odx/angular/components/circular-progress`.
@@ -0,0 +1,2 @@
1
+ export * from './lib/circular-progress.component';
2
+ export * from './lib/models';
@@ -0,0 +1,28 @@
1
+ import { NumberInput } from '@angular/cdk/coercion';
2
+ import { AfterViewInit, OnChanges } from '@angular/core';
3
+ import { NgChanges } from '@odx/angular/utils';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CircularProgressComponent implements OnChanges, AfterViewInit {
6
+ static ngAcceptInputType_size: NumberInput;
7
+ static ngAcceptInputType_stroke: NumberInput;
8
+ static ngAcceptInputType_value: NumberInput;
9
+ private readonly changeDetector;
10
+ private _value;
11
+ protected readonly viewPortSize = 100;
12
+ protected radius: number;
13
+ protected normalizedStroke: number;
14
+ protected circumference: number;
15
+ protected get ariaValueNow(): null | number;
16
+ protected get progressValue(): number;
17
+ readonly element: import("@angular/core").ElementRef<HTMLElement>;
18
+ indeterminate: boolean;
19
+ stroke: number;
20
+ size: "medium";
21
+ set value(value: unknown);
22
+ get value(): number;
23
+ ngAfterViewInit(): void;
24
+ ngOnChanges(changes: NgChanges<CircularProgressComponent>): void;
25
+ private updateDimensions;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<CircularProgressComponent, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<CircularProgressComponent, "odx-circular-progress", never, { "stroke": "stroke"; "size": "size"; "value": "value"; }, {}, never, never, true>;
28
+ }
@@ -0,0 +1,7 @@
1
+ export declare type CircularProgressSize = typeof CircularProgressSize[keyof typeof CircularProgressSize];
2
+ export declare const CircularProgressSize: {
3
+ readonly AUTO: "auto";
4
+ readonly SMALL: "small";
5
+ readonly MEDIUM: "medium";
6
+ readonly LARGE: "large";
7
+ };
@@ -0,0 +1 @@
1
+ export * from './circular-progress-size';
@@ -0,0 +1,3 @@
1
+ # @odx/angular/components/loading-spinner
2
+
3
+ Secondary entry point of `@odx/angular`. It can be used by importing from `@odx/angular/components/loading-spinner`.
@@ -0,0 +1,3 @@
1
+ export * from './lib/loading-spinner.component';
2
+ export * from './lib/loading-spinner.directive';
3
+ export * from './lib/loading-spinner.module';
@@ -0,0 +1,15 @@
1
+ import { AnimationEvent } from '@angular/animations';
2
+ import { OnInit } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class LoadingSpinnerComponent implements OnInit {
5
+ private readonly spinnerService;
6
+ private readonly windowRef;
7
+ protected backgroundColor: string | null;
8
+ readonly element: import("@angular/core").ElementRef<HTMLElement>;
9
+ autoColor: boolean;
10
+ animationFinished({ toState }: AnimationEvent): void;
11
+ ngOnInit(): void;
12
+ private resolveBackgroundColor;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoadingSpinnerComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoadingSpinnerComponent, "odx-loading-spinner", never, { "autoColor": "autoColor"; }, {}, never, never, true>;
15
+ }
@@ -0,0 +1,26 @@
1
+ import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
2
+ import * as i0 from "@angular/core";
3
+ export declare class LoadingSpinnerDirective {
4
+ static ngAcceptInputType_autoColor: BooleanInput;
5
+ static ngAcceptInputType_isLoading: BooleanInput;
6
+ static ngAcceptInputType_minHeight: NumberInput;
7
+ private readonly dynamicViewService;
8
+ private readonly hostElement;
9
+ private readonly renderer;
10
+ private readonly spinnerService;
11
+ private readonly injector;
12
+ private readonly windowRef;
13
+ private parentMinHeight;
14
+ private viewRef;
15
+ autoColor: boolean;
16
+ set isLoading(value: boolean);
17
+ set minHeight(value: unknown);
18
+ private setParent;
19
+ private setParentHeight;
20
+ private appendSpinner;
21
+ private resetParentElement;
22
+ private hasStaticPosition;
23
+ constructor();
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoadingSpinnerDirective, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LoadingSpinnerDirective, "[odxLoadingSpinner]", never, { "autoColor": "odxLoadingSpinnerAutoColor"; "isLoading": "odxLoadingSpinner"; "minHeight": "odxLoadingSpinnerMinHeight"; }, {}, never, never, true>;
26
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./loading-spinner.component";
3
+ import * as i2 from "./loading-spinner.directive";
4
+ import * as i3 from "@odx/angular";
5
+ export declare class LoadingSpinnerModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoadingSpinnerModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<LoadingSpinnerModule, never, [typeof i1.LoadingSpinnerComponent, typeof i2.LoadingSpinnerDirective], [typeof i3.CoreModule, typeof i1.LoadingSpinnerComponent, typeof i2.LoadingSpinnerDirective]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<LoadingSpinnerModule>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class LoadingSpinnerService implements OnDestroy {
5
+ readonly spinnerDestroyed$: Subject<void>;
6
+ ngOnDestroy(): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoadingSpinnerService, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<LoadingSpinnerService>;
9
+ }
@@ -1,9 +1,14 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
+ import { RouterLinkActive } from '@angular/router';
1
3
  import { DisabledController } from '@odx/angular';
2
4
  import * as i0 from "@angular/core";
3
5
  export declare class MainMenuItemDirective {
6
+ static readonly ngAcceptInputType_isSelected: BooleanInput;
4
7
  protected readonly disabledController: DisabledController | null;
8
+ protected readonly routerLinkActive: RouterLinkActive | null;
5
9
  readonly element: import("@angular/core").ElementRef<HTMLLinkElement>;
10
+ isSelected: boolean;
6
11
  get isDisabled(): boolean;
7
12
  static ɵfac: i0.ɵɵFactoryDeclaration<MainMenuItemDirective, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<MainMenuItemDirective, "a[odxMainMenuItem]", never, {}, {}, never, never, true>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MainMenuItemDirective, "[odxMainMenuItem]", never, { "isSelected": "isSelected"; }, {}, never, never, true>;
9
14
  }
@@ -1,6 +1,8 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
1
2
  import { MainMenuService } from './main-menu.service';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class MainMenuComponent {
5
+ static readonly ngAcceptInputType_isOpen: BooleanInput;
4
6
  protected readonly mainMenuService: MainMenuService;
5
7
  readonly element: import("@angular/core").ElementRef<HTMLElement>;
6
8
  title: string;
@@ -11,5 +13,5 @@ export declare class MainMenuComponent {
11
13
  menuOpen: import("rxjs").Observable<boolean>;
12
14
  close(): void;
13
15
  static ɵfac: i0.ɵɵFactoryDeclaration<MainMenuComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<MainMenuComponent, "odx-main-menu", never, { "title": "title"; "subtitle": "subtitle"; "copyright": "copyright"; "isOpen": "isOpen"; }, { "menuOpen": "menuOpen"; }, never, ["a[odxMainMenuItem]", "[odxLink]"], true>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<MainMenuComponent, "odx-main-menu", never, { "title": "title"; "subtitle": "subtitle"; "copyright": "copyright"; "isOpen": "isOpen"; }, { "menuOpen": "menuOpen"; }, never, ["*", "[odxLink]"], true>;
15
17
  }
@@ -5,6 +5,7 @@ export declare class ModalHeaderComponent implements AfterContentInit {
5
5
  protected readonly modalRef: import("@odx/angular/components/modal").ModalRef<unknown, unknown>;
6
6
  readonly element: import("@angular/core").ElementRef<HTMLElement>;
7
7
  areaHeaderComponent?: AreaHeaderComponent;
8
+ constructor();
8
9
  ngAfterContentInit(): void;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ModalHeaderComponent, never>;
10
11
  static ɵcmp: i0.ɵɵComponentDeclaration<ModalHeaderComponent, "odx-modal-header", never, {}, {}, ["areaHeaderComponent"], ["odx-area-header"], true>;
@@ -8,8 +8,9 @@ export declare class ModalComponent {
8
8
  $implicit: import("@odx/angular/components/modal").ModalRef<unknown, unknown>;
9
9
  };
10
10
  readonly element: import("@angular/core").ElementRef<HTMLElement>;
11
- readonly size: import("@odx/angular/components/modal").ModalSize;
11
+ size: import("@odx/angular/components/modal").ModalSize;
12
12
  content: Exclude<DynamicContent, DynamicTextContent>;
13
+ constructor();
13
14
  onClose(): void;
14
15
  static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
15
16
  static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "odx-modal", never, { "content": "content"; }, {}, never, never, true>;
@@ -1,14 +1,18 @@
1
- import { OnDestroy, TemplateRef } from '@angular/core';
1
+ import { EventEmitter, OnChanges, OnDestroy, TemplateRef } from '@angular/core';
2
+ import { NgChanges } from '@odx/angular/utils';
2
3
  import { ModalOptions } from './models';
3
4
  import * as i0 from "@angular/core";
4
- export declare class ModalDirective implements OnDestroy {
5
+ export declare class ModalDirective implements OnChanges, OnDestroy {
5
6
  private readonly modalService;
6
7
  private modalRef;
7
- modalOptions?: Partial<ModalOptions> | '' | null;
8
8
  protected readonly template: TemplateRef<any>;
9
+ modalOptions?: Partial<ModalOptions> | '' | null;
10
+ modalClose: EventEmitter<any>;
11
+ modalDismiss: EventEmitter<any>;
12
+ ngOnChanges(changes: NgChanges<ModalDirective>): void;
9
13
  ngOnDestroy(): void;
10
14
  open(): void;
11
15
  dismiss(): void;
12
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ModalDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<ModalDirective, "ng-template[odxModal]", ["odxModal"], { "modalOptions": "odxModal"; }, {}, never, never, true>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ModalDirective, "ng-template[odxModal]", ["odxModal"], { "modalOptions": "odxModal"; }, { "modalClose": "odxModalClose"; "modalDismiss": "odxModalDismiss"; }, never, never, true>;
14
18
  }
@@ -1,6 +1,7 @@
1
+ import { Controller } from '@odx/angular';
1
2
  import { ModalOptions } from './modal-options';
2
- export declare class ModalRef<Data = unknown, Result = unknown> {
3
- private readonly internalOptions;
3
+ export declare class ModalRef<Data = unknown, Result = unknown> extends Controller {
4
+ private internalOptions;
4
5
  private readonly onClose$$;
5
6
  private readonly onDismiss$$;
6
7
  readonly onClose$: import("rxjs").Observable<Result>;
@@ -10,6 +11,7 @@ export declare class ModalRef<Data = unknown, Result = unknown> {
10
11
  get data(): Data;
11
12
  get options(): ModalOptions<Data>;
12
13
  constructor(internalOptions: ModalOptions<Data>);
14
+ update(options: Partial<ModalOptions<Data>>): void;
13
15
  dismiss(): void;
14
16
  close(result: Result): void;
15
17
  private destroy;
@@ -0,0 +1,3 @@
1
+ # @odx/angular/components/progress
2
+
3
+ Secondary entry point of `@odx/angular`. It can be used by importing from `@odx/angular/components/progress`.
@@ -0,0 +1 @@
1
+ export * from './lib/progress.component';
@@ -0,0 +1,14 @@
1
+ import { NumberInput } from '@angular/cdk/coercion';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ProgressComponent {
4
+ static ngAcceptInputType_value: NumberInput;
5
+ private _value;
6
+ protected get ariaValueNow(): null | number;
7
+ protected get progressValue(): number;
8
+ readonly element: import("@angular/core").ElementRef<HTMLElement>;
9
+ set value(value: unknown);
10
+ get value(): number;
11
+ indeterminate: boolean;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProgressComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProgressComponent, "odx-progress", never, { "value": "value"; }, {}, never, never, true>;
14
+ }
@@ -1,12 +1,9 @@
1
1
  import { animate, animation, style } from '@angular/animations';
2
2
  import { DEFAULT_ANIMATION_PARAMS } from './config';
3
3
  export const fadeIn = (to = 1) => animation([style({ opacity: 0 }), animate('{{duration}} {{ delay }} {{ timingFn }}', style({ opacity: to }))], {
4
- params: {
5
- ...DEFAULT_ANIMATION_PARAMS,
6
- to: 1,
7
- },
4
+ params: DEFAULT_ANIMATION_PARAMS,
8
5
  });
9
6
  export const fadeOut = (to = 0) => animation([animate('{{duration}} {{ delay }} {{ timingFn }}', style({ opacity: to }))], {
10
7
  params: DEFAULT_ANIMATION_PARAMS,
11
8
  });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9hbmltYXRpb25zL3NyYy9saWIvZmFkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQy9CLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyx5Q0FBeUMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDN0csTUFBTSxFQUFFO1FBQ04sR0FBRyx3QkFBd0I7UUFDM0IsRUFBRSxFQUFFLENBQUM7S0FDTjtDQUNGLENBQUMsQ0FBQztBQUVMLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUNoQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMseUNBQXlDLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQ3RGLE1BQU0sRUFBRSx3QkFBd0I7Q0FDakMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgYW5pbWF0aW9uLCBzdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgREVGQVVMVF9BTklNQVRJT05fUEFSQU1TIH0gZnJvbSAnLi9jb25maWcnO1xuXG5leHBvcnQgY29uc3QgZmFkZUluID0gKHRvID0gMSkgPT5cbiAgYW5pbWF0aW9uKFtzdHlsZSh7IG9wYWNpdHk6IDAgfSksIGFuaW1hdGUoJ3t7ZHVyYXRpb259fSB7eyBkZWxheSB9fSB7eyB0aW1pbmdGbiB9fScsIHN0eWxlKHsgb3BhY2l0eTogdG8gfSkpXSwge1xuICAgIHBhcmFtczoge1xuICAgICAgLi4uREVGQVVMVF9BTklNQVRJT05fUEFSQU1TLFxuICAgICAgdG86IDEsXG4gICAgfSxcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBmYWRlT3V0ID0gKHRvID0gMCkgPT5cbiAgYW5pbWF0aW9uKFthbmltYXRlKCd7e2R1cmF0aW9ufX0ge3sgZGVsYXkgfX0ge3sgdGltaW5nRm4gfX0nLCBzdHlsZSh7IG9wYWNpdHk6IHRvIH0pKV0sIHtcbiAgICBwYXJhbXM6IERFRkFVTFRfQU5JTUFUSU9OX1BBUkFNUyxcbiAgfSk7XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9hbmltYXRpb25zL3NyYy9saWIvZmFkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQy9CLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyx5Q0FBeUMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDN0csTUFBTSxFQUFFLHdCQUF3QjtDQUNqQyxDQUFDLENBQUM7QUFFTCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FDaEMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUN0RixNQUFNLEVBQUUsd0JBQXdCO0NBQ2pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGlvbiwgc3R5bGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERFRkFVTFRfQU5JTUFUSU9OX1BBUkFNUyB9IGZyb20gJy4vY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IGZhZGVJbiA9ICh0byA9IDEpID0+XG4gIGFuaW1hdGlvbihbc3R5bGUoeyBvcGFjaXR5OiAwIH0pLCBhbmltYXRlKCd7e2R1cmF0aW9ufX0ge3sgZGVsYXkgfX0ge3sgdGltaW5nRm4gfX0nLCBzdHlsZSh7IG9wYWNpdHk6IHRvIH0pKV0sIHtcbiAgICBwYXJhbXM6IERFRkFVTFRfQU5JTUFUSU9OX1BBUkFNUyxcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBmYWRlT3V0ID0gKHRvID0gMCkgPT5cbiAgYW5pbWF0aW9uKFthbmltYXRlKCd7e2R1cmF0aW9ufX0ge3sgZGVsYXkgfX0ge3sgdGltaW5nRm4gfX0nLCBzdHlsZSh7IG9wYWNpdHk6IHRvIH0pKV0sIHtcbiAgICBwYXJhbXM6IERFRkFVTFRfQU5JTUFUSU9OX1BBUkFNUyxcbiAgfSk7XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, Directive, inject, Input } from '@angular/core';
1
+ import { Directive, Input } from '@angular/core';
2
2
  import { Validators } from '@angular/forms';
3
3
  import { detectControllerChanges } from '@odx/angular';
4
4
  import { CustomFormControl } from '@odx/angular/cdk/custom-form-control';
@@ -9,7 +9,7 @@ export class CheckBoxControl extends CustomFormControl {
9
9
  super(false);
10
10
  this.element = injectElement();
11
11
  this.value = null;
12
- detectControllerChanges(inject(ChangeDetectorRef), this).subscribe();
12
+ detectControllerChanges(this).subscribe();
13
13
  }
14
14
  set checked(value) {
15
15
  this.controlValue = value;
@@ -28,9 +28,9 @@ export class CheckBoxControl extends CustomFormControl {
28
28
  this.toggleValidator(Validators.requiredTrue, this.required);
29
29
  }
30
30
  }
31
- CheckBoxControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: CheckBoxControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
- CheckBoxControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: CheckBoxControl, selector: "[odxCheckBoxControl]", inputs: { checked: "checked", value: "value" }, usesInheritance: true, ngImport: i0 });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: CheckBoxControl, decorators: [{
31
+ CheckBoxControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: CheckBoxControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
+ CheckBoxControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: CheckBoxControl, selector: "[odxCheckBoxControl]", inputs: { checked: "checked", value: "value" }, usesInheritance: true, ngImport: i0 });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: CheckBoxControl, decorators: [{
34
34
  type: Directive,
35
35
  args: [{
36
36
  selector: '[odxCheckBoxControl]',
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
40
40
  }], value: [{
41
41
  type: Input
42
42
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2NoZWNrYm94LWNvbnRyb2wvc3JjL2xpYi9jaGVja2JveC1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBSzdFLE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUEwQjtJQW9CN0Q7UUFDRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFsQkMsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBV25DLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBUWpDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZFLENBQUM7SUFsQkQsSUFDVyxPQUFPLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBS0QsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sd0JBQXdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFPTSxTQUFTLENBQUMsS0FBWTtRQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLFdBQVcsQ0FBRSxLQUFLLENBQUMsTUFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRWtCLHVCQUF1QjtRQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9ELENBQUM7OzRHQWhDVSxlQUFlO2dHQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQzswRUFPWSxPQUFPO3NCQURqQixLQUFLO2dCQVNDLEtBQUs7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXMgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ3VzdG9tRm9ybUNvbnRyb2wgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2N1c3RvbS1mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHsgYm9vbGVhblRvQXR0cmlidXRlU3RyaW5nLCBpbmplY3RFbGVtZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW29keENoZWNrQm94Q29udHJvbF0nLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja0JveENvbnRyb2wgZXh0ZW5kcyBDdXN0b21Gb3JtQ29udHJvbDxib29sZWFuPiB7XG4gIHB1YmxpYyBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfY2hlY2tlZDogQm9vbGVhbklucHV0O1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuY29udHJvbFZhbHVlID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xWYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBhcmlhQ2hlY2tlZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBib29sZWFuVG9BdHRyaWJ1dGVTdHJpbmcodGhpcy5jaGVja2VkKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKGZhbHNlKTtcbiAgICBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcyhpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpLCB0aGlzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgc3VwZXIudXBkYXRlVmFsdWUoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVSZXF1aXJlZFZhbGlkYXRvcigpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSwgdGhpcy5yZXF1aXJlZCk7XG4gIH1cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2NoZWNrYm94LWNvbnRyb2wvc3JjL2xpYi9jaGVja2JveC1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFLN0UsTUFBTSxPQUFPLGVBQWdCLFNBQVEsaUJBQTBCO0lBb0I3RDtRQUNFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQWxCQyxZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFXbkMsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFRakMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQWxCRCxJQUNXLE9BQU8sQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFLRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQU9NLFNBQVMsQ0FBQyxLQUFZO1FBQzNCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsV0FBVyxDQUFFLEtBQUssQ0FBQyxNQUEyQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFa0IsdUJBQXVCO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7NEdBaENVLGVBQWU7Z0dBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUgzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzBFQU9ZLE9BQU87c0JBRGpCLEtBQUs7Z0JBU0MsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcyB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDdXN0b21Gb3JtQ29udHJvbCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBib29sZWFuVG9BdHRyaWJ1dGVTdHJpbmcsIGluamVjdEVsZW1lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbb2R4Q2hlY2tCb3hDb250cm9sXScsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrQm94Q29udHJvbCBleHRlbmRzIEN1c3RvbUZvcm1Db250cm9sPGJvb2xlYW4+IHtcbiAgcHVibGljIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9jaGVja2VkOiBCb29sZWFuSW5wdXQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5jb250cm9sVmFsdWUgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbFZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IGFyaWFDaGVja2VkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGJvb2xlYW5Ub0F0dHJpYnV0ZVN0cmluZyh0aGlzLmNoZWNrZWQpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoZmFsc2UpO1xuICAgIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzKHRoaXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBzdXBlci51cGRhdGVWYWx1ZSgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNoZWNrZWQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZVJlcXVpcmVkVmFsaWRhdG9yKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlLCB0aGlzLnJlcXVpcmVkKTtcbiAgfVxufVxuIl19
@@ -6,9 +6,9 @@ export class ControlDirective {
6
6
  this.element = injectElement();
7
7
  }
8
8
  }
9
- ControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
- ControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: ControlDirective, isStandalone: true, selector: "[odxControl]", exportAs: ["odxControl"], ngImport: i0 });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ControlDirective, decorators: [{
9
+ ControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
+ ControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: ControlDirective, isStandalone: true, selector: "[odxControl]", exportAs: ["odxControl"], ngImport: i0 });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ControlDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  standalone: true,
@@ -96,9 +96,9 @@ export class CustomFormControl extends Controller {
96
96
  }
97
97
  }
98
98
  CustomFormControl.CURRENT_INDEX = 0;
99
- CustomFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: CustomFormControl, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
100
- CustomFormControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: CustomFormControl, inputs: { id: "id", name: "name", required: "required" }, host: { properties: { "class.has-error": "hasError", "class.is-disabled": "isDisabled", "class.is-readonly": "isReadonly", "class.is-required": "required" } }, viewQueries: [{ propertyName: "control", first: true, predicate: ControlDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: CustomFormControl, decorators: [{
99
+ CustomFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: CustomFormControl, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
100
+ CustomFormControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: CustomFormControl, inputs: { id: "id", name: "name", required: "required" }, host: { properties: { "class.has-error": "hasError", "class.is-disabled": "isDisabled", "class.is-readonly": "isReadonly", "class.is-required": "required" } }, viewQueries: [{ propertyName: "control", first: true, predicate: ControlDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: CustomFormControl, decorators: [{
102
102
  type: Directive,
103
103
  args: [{
104
104
  host: {
@@ -1,22 +1,34 @@
1
- import { AsyncPipe } from '@angular/common';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, ViewEncapsulation } from '@angular/core';
3
- import { isObservable } from 'rxjs';
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { injectElement } from '@odx/angular/utils';
3
+ import { distinctUntilChanged, isObservable } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export class DynamicViewComponent {
6
6
  constructor() {
7
- this.asyncPipe = new AsyncPipe(inject(ChangeDetectorRef));
8
- this.resolveContent = () => null;
7
+ this.element = injectElement();
8
+ this.currentSubscription = null;
9
9
  }
10
10
  set content(value) {
11
- this.resolveContent = isObservable(value) ? () => this.asyncPipe.transform(value) : () => value;
11
+ if (isObservable(value)) {
12
+ this.ngOnDestroy();
13
+ this.currentSubscription = value.pipe(distinctUntilChanged()).subscribe((innerValue) => {
14
+ this.setContent(innerValue);
15
+ });
16
+ }
17
+ else {
18
+ this.setContent(value);
19
+ }
12
20
  }
13
21
  ngOnDestroy() {
14
- this.asyncPipe?.ngOnDestroy();
22
+ this.currentSubscription?.unsubscribe();
23
+ this.currentSubscription = null;
24
+ }
25
+ setContent(value) {
26
+ this.element.nativeElement.innerHTML = value;
15
27
  }
16
28
  }
17
- DynamicViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DynamicViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- DynamicViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: DynamicViewComponent, isStandalone: true, selector: "odx-dynamic-view", inputs: { content: "content" }, host: { properties: { "innerHTML": "resolveContent()" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DynamicViewComponent, decorators: [{
29
+ DynamicViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: DynamicViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ DynamicViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: DynamicViewComponent, isStandalone: true, selector: "odx-dynamic-view", inputs: { content: "content" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: DynamicViewComponent, decorators: [{
20
32
  type: Component,
21
33
  args: [{
22
34
  selector: 'odx-dynamic-view',
@@ -24,11 +36,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
24
36
  changeDetection: ChangeDetectionStrategy.OnPush,
25
37
  encapsulation: ViewEncapsulation.None,
26
38
  standalone: true,
27
- host: {
28
- '[innerHTML]': 'resolveContent()',
29
- },
30
39
  }]
31
40
  }], propDecorators: { content: [{
32
41
  type: Input
33
42
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3L3NyYy9saWIvZHluYW1pYy12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBYXBDLE1BQU0sT0FBTyxvQkFBb0I7SUFWakM7UUFXWSxjQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztRQUNyRCxtQkFBYyxHQUF3QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7S0FVNUQ7SUFSQyxJQUNXLE9BQU8sQ0FBQyxLQUF5QjtRQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztJQUNsRyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O2lIQVhVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHVLQVJyQixFQUFFOzJGQVFELG9CQUFvQjtrQkFWaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osYUFBYSxFQUFFLGtCQUFrQjtxQkFDbEM7aUJBQ0Y7OEJBTVksT0FBTztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEeW5hbWljVGV4dENvbnRlbnQgfSBmcm9tICcuL2ZhY2FkZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1keW5hbWljLXZpZXcnLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1tpbm5lckhUTUxdJzogJ3Jlc29sdmVDb250ZW50KCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByb3RlY3RlZCBhc3luY1BpcGUgPSBuZXcgQXN5bmNQaXBlKGluamVjdChDaGFuZ2VEZXRlY3RvclJlZikpO1xuICBwcm90ZWN0ZWQgcmVzb2x2ZUNvbnRlbnQ6ICgpID0+IHN0cmluZyB8IG51bGwgPSAoKSA9PiBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY29udGVudCh2YWx1ZTogRHluYW1pY1RleHRDb250ZW50KSB7XG4gICAgdGhpcy5yZXNvbHZlQ29udGVudCA9IGlzT2JzZXJ2YWJsZSh2YWx1ZSkgPyAoKSA9PiB0aGlzLmFzeW5jUGlwZS50cmFuc2Zvcm0odmFsdWUpIDogKCkgPT4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hc3luY1BpcGU/Lm5nT25EZXN0cm95KCk7XG4gIH1cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3L3NyYy9saWIvZHluYW1pYy12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBZ0IsTUFBTSxNQUFNLENBQUM7O0FBVXhFLE1BQU0sT0FBTyxvQkFBb0I7SUFQakM7UUFRbUIsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQ25DLHdCQUFtQixHQUF3QixJQUFJLENBQUM7S0FzQnpEO0lBcEJDLElBQ1csT0FBTyxDQUFDLEtBQXlCO1FBQzFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQ3JGLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQy9DLENBQUM7O2lIQXZCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQiw0R0FMckIsRUFBRTsyRkFLRCxvQkFBb0I7a0JBUGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBTVksT0FBTztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBpc09ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHluYW1pY1RleHRDb250ZW50IH0gZnJvbSAnLi9mYWNhZGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtZHluYW1pYy12aWV3JyxcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG4gIHByaXZhdGUgY3VycmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjb250ZW50KHZhbHVlOiBEeW5hbWljVGV4dENvbnRlbnQpIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlKSkge1xuICAgICAgdGhpcy5uZ09uRGVzdHJveSgpO1xuICAgICAgdGhpcy5jdXJyZW50U3Vic2NyaXB0aW9uID0gdmFsdWUucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKGlubmVyVmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5zZXRDb250ZW50KGlubmVyVmFsdWUpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0Q29udGVudCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmN1cnJlbnRTdWJzY3JpcHRpb24gPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb250ZW50KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB2YWx1ZTtcbiAgfVxufVxuIl19