@odx/angular 1.0.0-rc.2 → 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 (221) hide show
  1. package/README.md +0 -1
  2. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +3 -3
  3. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +3 -1
  4. package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +2 -0
  5. package/cdk/dynamic-view/lib/helpers/index.d.ts +1 -0
  6. package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +1 -0
  7. package/components/chip/README.md +3 -0
  8. package/components/chip/index.d.ts +2 -0
  9. package/components/chip/lib/chip.component.d.ts +15 -0
  10. package/components/chip/lib/models/chip-size.d.ts +5 -0
  11. package/components/chip/lib/models/chip-variant.d.ts +7 -0
  12. package/components/chip/lib/models/index.d.ts +2 -0
  13. package/components/circular-progress/README.md +3 -0
  14. package/components/circular-progress/index.d.ts +2 -0
  15. package/components/circular-progress/lib/circular-progress.component.d.ts +28 -0
  16. package/components/circular-progress/lib/models/circular-progress-size.d.ts +7 -0
  17. package/components/circular-progress/lib/models/index.d.ts +1 -0
  18. package/components/loading-spinner/README.md +3 -0
  19. package/components/loading-spinner/index.d.ts +3 -0
  20. package/components/loading-spinner/lib/loading-spinner.component.d.ts +15 -0
  21. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +26 -0
  22. package/components/loading-spinner/lib/loading-spinner.module.d.ts +9 -0
  23. package/components/loading-spinner/lib/loading-spinner.service.d.ts +9 -0
  24. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +6 -1
  25. package/components/main-menu/lib/main-menu.component.d.ts +3 -1
  26. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +1 -0
  27. package/components/modal/lib/modal.component.d.ts +2 -1
  28. package/components/modal/lib/modal.directive.d.ts +8 -4
  29. package/components/modal/lib/models/modal-ref.d.ts +4 -2
  30. package/components/progress/README.md +3 -0
  31. package/components/progress/index.d.ts +1 -0
  32. package/components/progress/lib/progress.component.d.ts +14 -0
  33. package/esm2020/animations/lib/fade.mjs +2 -5
  34. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +6 -6
  35. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  36. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
  37. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +23 -14
  38. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +20 -8
  39. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
  40. package/esm2020/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +9 -0
  41. package/esm2020/cdk/dynamic-view/lib/helpers/index.mjs +2 -1
  42. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +3 -2
  43. package/esm2020/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +1 -1
  44. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
  45. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +3 -3
  46. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  47. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +6 -6
  48. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -3
  49. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  50. package/esm2020/components/accordion/lib/accordion.component.mjs +3 -3
  51. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  52. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +3 -3
  53. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  54. package/esm2020/components/action-group/action-group.component.mjs +3 -3
  55. package/esm2020/components/area-header/area-header.component.mjs +3 -3
  56. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  57. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  58. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  59. package/esm2020/components/avatar/lib/avatar.component.mjs +3 -3
  60. package/esm2020/components/badge/lib/badge.component.mjs +3 -3
  61. package/esm2020/components/badge/lib/badge.directive.mjs +3 -3
  62. package/esm2020/components/button/lib/button.component.mjs +3 -3
  63. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  64. package/esm2020/components/checkbox/lib/checkbox.component.mjs +3 -3
  65. package/esm2020/components/chip/index.mjs +3 -0
  66. package/esm2020/components/chip/lib/chip.component.mjs +54 -0
  67. package/esm2020/components/chip/lib/models/chip-size.mjs +5 -0
  68. package/esm2020/components/chip/lib/models/chip-variant.mjs +7 -0
  69. package/esm2020/components/chip/lib/models/index.mjs +3 -0
  70. package/esm2020/components/chip/odx-angular-components-chip.mjs +5 -0
  71. package/esm2020/components/circular-progress/index.mjs +3 -0
  72. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +91 -0
  73. package/esm2020/components/circular-progress/lib/models/circular-progress-size.mjs +7 -0
  74. package/esm2020/components/circular-progress/lib/models/index.mjs +2 -0
  75. package/esm2020/components/circular-progress/odx-angular-components-circular-progress.mjs +5 -0
  76. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  77. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  78. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +3 -3
  79. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +3 -3
  80. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  81. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  82. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
  83. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  84. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  85. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  86. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  87. package/esm2020/components/form-field/lib/form-field.component.mjs +3 -3
  88. package/esm2020/components/form-field/lib/form-field.module.mjs +4 -4
  89. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  90. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +3 -3
  91. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  92. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  93. package/esm2020/components/header/lib/header.component.mjs +3 -3
  94. package/esm2020/components/header/lib/header.module.mjs +4 -4
  95. package/esm2020/components/icon/lib/icon.component.mjs +3 -3
  96. package/esm2020/components/link/link.directive.mjs +3 -3
  97. package/esm2020/components/loading-spinner/index.mjs +4 -0
  98. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +58 -0
  99. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +87 -0
  100. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +19 -0
  101. package/esm2020/components/loading-spinner/lib/loading-spinner.service.mjs +17 -0
  102. package/esm2020/components/loading-spinner/odx-angular-components-loading-spinner.mjs +5 -0
  103. package/esm2020/components/logo/logo.directive.mjs +3 -3
  104. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  105. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +20 -9
  106. package/esm2020/components/main-menu/lib/main-menu.component.mjs +7 -6
  107. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  108. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  109. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  110. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +10 -8
  111. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +3 -3
  112. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  113. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  114. package/esm2020/components/modal/lib/modal.component.mjs +11 -7
  115. package/esm2020/components/modal/lib/modal.directive.mjs +24 -6
  116. package/esm2020/components/modal/lib/modal.module.mjs +4 -4
  117. package/esm2020/components/modal/lib/modal.service.mjs +3 -3
  118. package/esm2020/components/modal/lib/models/modal-ref.mjs +9 -2
  119. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +3 -3
  120. package/esm2020/components/progress/index.mjs +2 -0
  121. package/esm2020/components/progress/lib/progress.component.mjs +51 -0
  122. package/esm2020/components/progress/odx-angular-components-progress.mjs +5 -0
  123. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
  124. package/esm2020/components/radio-group/lib/radio-group.component.mjs +3 -3
  125. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  126. package/esm2020/components/switch/lib/switch.component.mjs +3 -3
  127. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
  128. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -3
  129. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  130. package/esm2020/lib/controllers/controller.mjs +11 -10
  131. package/esm2020/lib/controllers/disabled.controller.mjs +3 -3
  132. package/esm2020/lib/controllers/readonly.controller.mjs +3 -3
  133. package/esm2020/lib/core.module.mjs +4 -4
  134. package/esm2020/lib/directives/click-outside.directive.mjs +3 -3
  135. package/esm2020/lib/services/window-ref.mjs +3 -3
  136. package/fesm2015/odx-angular-animations.mjs +1 -1
  137. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  138. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +5 -5
  139. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  140. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +6 -6
  141. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +54 -25
  142. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  143. package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
  144. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +12 -12
  145. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  146. package/fesm2015/odx-angular-components-accordion.mjs +13 -13
  147. package/fesm2015/odx-angular-components-action-group.mjs +3 -3
  148. package/fesm2015/odx-angular-components-area-header.mjs +13 -13
  149. package/fesm2015/odx-angular-components-avatar.mjs +3 -3
  150. package/fesm2015/odx-angular-components-badge.mjs +6 -6
  151. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  152. package/fesm2015/odx-angular-components-button.mjs +3 -3
  153. package/fesm2015/odx-angular-components-checkbox.mjs +3 -3
  154. package/fesm2015/odx-angular-components-chip.mjs +71 -0
  155. package/fesm2015/odx-angular-components-chip.mjs.map +1 -0
  156. package/fesm2015/odx-angular-components-circular-progress.mjs +103 -0
  157. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -0
  158. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  159. package/fesm2015/odx-angular-components-form-field.mjs +34 -34
  160. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  161. package/fesm2015/odx-angular-components-header.mjs +13 -13
  162. package/fesm2015/odx-angular-components-icon.mjs +3 -3
  163. package/fesm2015/odx-angular-components-link.mjs +3 -3
  164. package/fesm2015/odx-angular-components-loading-spinner.mjs +173 -0
  165. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -0
  166. package/fesm2015/odx-angular-components-logo.mjs +3 -3
  167. package/fesm2015/odx-angular-components-main-menu.mjs +34 -23
  168. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  169. package/fesm2015/odx-angular-components-modal.mjs +70 -42
  170. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  171. package/fesm2015/odx-angular-components-progress.mjs +57 -0
  172. package/fesm2015/odx-angular-components-progress.mjs.map +1 -0
  173. package/fesm2015/odx-angular-components-radio-group.mjs +10 -10
  174. package/fesm2015/odx-angular-components-switch.mjs +3 -3
  175. package/fesm2015/odx-angular-components-toggle-button-group.mjs +10 -10
  176. package/fesm2015/odx-angular.mjs +27 -26
  177. package/fesm2015/odx-angular.mjs.map +1 -1
  178. package/fesm2020/odx-angular-animations.mjs +1 -4
  179. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  180. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +5 -5
  181. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  182. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +6 -6
  183. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +52 -23
  184. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  185. package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
  186. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +12 -12
  187. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  188. package/fesm2020/odx-angular-components-accordion.mjs +13 -13
  189. package/fesm2020/odx-angular-components-action-group.mjs +3 -3
  190. package/fesm2020/odx-angular-components-area-header.mjs +13 -13
  191. package/fesm2020/odx-angular-components-avatar.mjs +3 -3
  192. package/fesm2020/odx-angular-components-badge.mjs +6 -6
  193. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  194. package/fesm2020/odx-angular-components-button.mjs +3 -3
  195. package/fesm2020/odx-angular-components-checkbox.mjs +3 -3
  196. package/fesm2020/odx-angular-components-chip.mjs +71 -0
  197. package/fesm2020/odx-angular-components-chip.mjs.map +1 -0
  198. package/fesm2020/odx-angular-components-circular-progress.mjs +103 -0
  199. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -0
  200. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  201. package/fesm2020/odx-angular-components-form-field.mjs +34 -34
  202. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  203. package/fesm2020/odx-angular-components-header.mjs +13 -13
  204. package/fesm2020/odx-angular-components-icon.mjs +3 -3
  205. package/fesm2020/odx-angular-components-link.mjs +3 -3
  206. package/fesm2020/odx-angular-components-loading-spinner.mjs +172 -0
  207. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -0
  208. package/fesm2020/odx-angular-components-logo.mjs +3 -3
  209. package/fesm2020/odx-angular-components-main-menu.mjs +34 -23
  210. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  211. package/fesm2020/odx-angular-components-modal.mjs +69 -41
  212. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  213. package/fesm2020/odx-angular-components-progress.mjs +57 -0
  214. package/fesm2020/odx-angular-components-progress.mjs.map +1 -0
  215. package/fesm2020/odx-angular-components-radio-group.mjs +10 -10
  216. package/fesm2020/odx-angular-components-switch.mjs +3 -3
  217. package/fesm2020/odx-angular-components-toggle-button-group.mjs +10 -10
  218. package/fesm2020/odx-angular.mjs +27 -26
  219. package/fesm2020/odx-angular.mjs.map +1 -1
  220. package/lib/controllers/controller.d.ts +1 -2
  221. package/package.json +37 -5
@@ -8,12 +8,12 @@ import { CSSComponent } from '@odx/angular/internal';
8
8
 
9
9
  let SwitchComponent = class SwitchComponent extends CheckBoxControl {
10
10
  };
11
- SwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
- SwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: SwitchComponent, isStandalone: true, selector: "odx-switch", host: { properties: { "class.is-active": "checked" } }, providers: [DisabledController.connect(), ReadonlyController.connect()], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"required || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n", dependencies: [{ kind: "directive", type: ControlDirective, selector: "[odxControl]", exportAs: ["odxControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
+ SwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: SwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
+ SwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: SwitchComponent, isStandalone: true, selector: "odx-switch", host: { properties: { "class.is-active": "checked" } }, providers: [DisabledController.connect(), ReadonlyController.connect()], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"required || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n", dependencies: [{ kind: "directive", type: ControlDirective, selector: "[odxControl]", exportAs: ["odxControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
13
13
  SwitchComponent = __decorate([
14
14
  CSSComponent('switch')
15
15
  ], SwitchComponent);
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SwitchComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: SwitchComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ standalone: true, selector: 'odx-switch', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ControlDirective], providers: [DisabledController.connect(), ReadonlyController.connect()], host: {
19
19
  '[class.is-active]': 'checked',
@@ -12,12 +12,12 @@ let ToggleButtonComponent = class ToggleButtonComponent extends RadioControlDire
12
12
  this.element = injectElement();
13
13
  }
14
14
  };
15
- ToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ToggleButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
16
- ToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ToggleButtonComponent, isStandalone: true, selector: "odx-toggle-button", host: { attributes: { "role": "button" }, properties: { "class.is-active": "isActive", "class.is-disabled": "disabledController?.disabled", "class.is-readonly": "readonlyController?.readonly", "class.has-error": "radioGroupControl.hasError" } }, providers: [DisabledController.connect(), ReadonlyController.connect()], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-toggle-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.required || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.required\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <ng-content></ng-content>\n</label>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
15
+ ToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ToggleButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
16
+ ToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: ToggleButtonComponent, isStandalone: true, selector: "odx-toggle-button", host: { attributes: { "role": "button" }, properties: { "class.is-active": "isActive", "class.is-disabled": "disabledController?.disabled", "class.is-readonly": "readonlyController?.readonly", "class.has-error": "radioGroupControl.hasError" } }, providers: [DisabledController.connect(), ReadonlyController.connect()], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-toggle-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.required || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.required\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <ng-content></ng-content>\n</label>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
17
17
  ToggleButtonComponent = __decorate([
18
18
  CSSComponent('toggle-button')
19
19
  ], ToggleButtonComponent);
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ToggleButtonComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ToggleButtonComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{ standalone: true, selector: 'odx-toggle-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
23
23
  '[class.is-active]': 'isActive',
@@ -35,8 +35,8 @@ let ToggleButtonGroupComponent = ToggleButtonGroupComponent_1 = class ToggleButt
35
35
  this.element = injectElement();
36
36
  }
37
37
  };
38
- ToggleButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ToggleButtonGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
39
- ToggleButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ToggleButtonGroupComponent, isStandalone: true, selector: "odx-toggle-button-group", providers: [
38
+ ToggleButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ToggleButtonGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
39
+ ToggleButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: ToggleButtonGroupComponent, isStandalone: true, selector: "odx-toggle-button-group", providers: [
40
40
  { provide: RADIO_GROUP_CONTROL, useExisting: ToggleButtonGroupComponent_1, multi: false },
41
41
  DisabledController.connect(),
42
42
  ReadonlyController.connect(),
@@ -44,7 +44,7 @@ ToggleButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
44
44
  ToggleButtonGroupComponent = ToggleButtonGroupComponent_1 = __decorate([
45
45
  CSSComponent('toggle-button-group')
46
46
  ], ToggleButtonGroupComponent);
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ToggleButtonGroupComponent, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ToggleButtonGroupComponent, decorators: [{
48
48
  type: Component,
49
49
  args: [{ standalone: true, selector: 'odx-toggle-button-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
50
50
  { provide: RADIO_GROUP_CONTROL, useExisting: ToggleButtonGroupComponent, multi: false },
@@ -56,10 +56,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
56
56
  const modules = [ToggleButtonGroupComponent, ToggleButtonComponent];
57
57
  class ToggleButtonGroupModule {
58
58
  }
59
- ToggleButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ToggleButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
60
- ToggleButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: ToggleButtonGroupModule, imports: [ToggleButtonGroupComponent, ToggleButtonComponent], exports: [CoreModule, ToggleButtonGroupComponent, ToggleButtonComponent] });
61
- ToggleButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ToggleButtonGroupModule, imports: [modules, CoreModule] });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ToggleButtonGroupModule, decorators: [{
59
+ ToggleButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ToggleButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
60
+ ToggleButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.9", ngImport: i0, type: ToggleButtonGroupModule, imports: [ToggleButtonGroupComponent, ToggleButtonComponent], exports: [CoreModule, ToggleButtonGroupComponent, ToggleButtonComponent] });
61
+ ToggleButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ToggleButtonGroupModule, imports: [modules, CoreModule] });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ToggleButtonGroupModule, decorators: [{
63
63
  type: NgModule,
64
64
  args: [{
65
65
  imports: modules,
@@ -1,25 +1,26 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, InjectionToken, inject, ChangeDetectorRef, forwardRef, Input, EventEmitter, Output, NgModule, Injectable } from '@angular/core';
2
+ import { inject, ChangeDetectorRef, Directive, InjectionToken, forwardRef, Input, EventEmitter, Output, NgModule, Injectable } from '@angular/core';
3
3
  import { markForCheck, fromEvents } from '@odx/angular/rxjs';
4
4
  import { pluckFromArray, isPresent, booleanToOptionalAttributeString } from '@odx/angular/utils';
5
5
  import { merge, Subject, share, map, distinctUntilChanged, shareReplay, startWith } from 'rxjs';
6
6
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
7
  import { CommonModule, DOCUMENT } from '@angular/common';
8
8
 
9
- function detectControllerChanges(changeDetector, ...controllers) {
10
- return controllerChanges(...controllers).pipe(markForCheck(changeDetector));
11
- }
12
- function controllerChanges(...controllers) {
9
+ function controllerChanges(controllers) {
13
10
  const changes$ = pluckFromArray(controllers.filter(isPresent), 'change$');
14
11
  return merge(...changes$);
15
12
  }
13
+ function detectControllerChanges(...controllers) {
14
+ const changeDetector = inject(ChangeDetectorRef);
15
+ return controllerChanges(controllers).pipe(markForCheck(changeDetector));
16
+ }
16
17
  class Controller {
17
18
  constructor() {
18
19
  this.change$$ = new Subject();
19
20
  this.change$ = this.change$$.pipe(share());
20
21
  }
21
22
  static setup(controller, changeDetector) {
22
- detectControllerChanges(changeDetector, controller).subscribe();
23
+ controllerChanges([controller]).pipe(markForCheck(changeDetector)).subscribe();
23
24
  return controller;
24
25
  }
25
26
  ngOnChanges() {
@@ -32,9 +33,9 @@ class Controller {
32
33
  this.change$$.next();
33
34
  }
34
35
  }
35
- Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: Controller, deps: [], target: i0.ɵɵFactoryTarget.Directive });
36
- Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: Controller, usesOnChanges: true, ngImport: i0 });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: Controller, decorators: [{
36
+ Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: Controller, deps: [], target: i0.ɵɵFactoryTarget.Directive });
37
+ Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: Controller, usesOnChanges: true, ngImport: i0 });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: Controller, decorators: [{
38
39
  type: Directive
39
40
  }] });
40
41
 
@@ -86,14 +87,14 @@ class DisabledController extends Controller {
86
87
  this.ngOnChanges();
87
88
  }
88
89
  }
89
- DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DisabledController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
90
- DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, host: { properties: { "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute || null" } }, providers: [
90
+ DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: DisabledController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
91
+ DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, host: { properties: { "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute || null" } }, providers: [
91
92
  {
92
93
  provide: DISABLED_INTERNAL_CONTROLLER,
93
94
  useExisting: forwardRef(() => DisabledController),
94
95
  },
95
96
  ], usesInheritance: true, ngImport: i0 });
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DisabledController, decorators: [{
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: DisabledController, decorators: [{
97
98
  type: Directive,
98
99
  args: [{
99
100
  standalone: true,
@@ -150,14 +151,14 @@ class ReadonlyController extends Controller {
150
151
  };
151
152
  }
152
153
  }
153
- ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
154
- ReadonlyController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ReadonlyController, isStandalone: true, selector: "[readonly]", inputs: { readonly: "readonly" }, host: { properties: { "attr.readonly": "hasReadonlyAttribute || null" } }, providers: [
154
+ ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
155
+ ReadonlyController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: ReadonlyController, isStandalone: true, selector: "[readonly]", inputs: { readonly: "readonly" }, host: { properties: { "attr.readonly": "hasReadonlyAttribute || null" } }, providers: [
155
156
  {
156
157
  provide: READONLY_INTERNAL_CONTROLLER,
157
158
  useExisting: forwardRef(() => ReadonlyController),
158
159
  },
159
160
  ], usesInheritance: true, ngImport: i0 });
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReadonlyController, decorators: [{
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ReadonlyController, decorators: [{
161
162
  type: Directive,
162
163
  args: [{
163
164
  standalone: true,
@@ -218,9 +219,9 @@ class ClickOutsideDirective {
218
219
  }, 0);
219
220
  }
220
221
  }
221
- ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
222
- ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ClickOutsideDirective, isStandalone: true, selector: "[odxClickOutside]", inputs: { odxClickOutsideActive: "odxClickOutsideActive" }, outputs: { odxClickOutside: "odxClickOutside" }, usesOnChanges: true, ngImport: i0 });
223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ClickOutsideDirective, decorators: [{
222
+ ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
223
+ ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: ClickOutsideDirective, isStandalone: true, selector: "[odxClickOutside]", inputs: { odxClickOutsideActive: "odxClickOutsideActive" }, outputs: { odxClickOutside: "odxClickOutside" }, usesOnChanges: true, ngImport: i0 });
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ClickOutsideDirective, decorators: [{
224
225
  type: Directive,
225
226
  args: [{
226
227
  standalone: true,
@@ -236,10 +237,10 @@ const controllers = [DisabledController, ReadonlyController];
236
237
  const modules = [ClickOutsideDirective];
237
238
  class CoreModule {
238
239
  }
239
- CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
240
- CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: CoreModule, imports: [DisabledController, ReadonlyController, ClickOutsideDirective], exports: [CommonModule, DisabledController, ReadonlyController, ClickOutsideDirective] });
241
- CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CoreModule, imports: [CommonModule] });
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CoreModule, decorators: [{
240
+ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
241
+ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.9", ngImport: i0, type: CoreModule, imports: [DisabledController, ReadonlyController, ClickOutsideDirective], exports: [CommonModule, DisabledController, ReadonlyController, ClickOutsideDirective] });
242
+ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: CoreModule, imports: [CommonModule] });
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: CoreModule, decorators: [{
243
244
  type: NgModule,
244
245
  args: [{
245
246
  imports: [...controllers, ...modules],
@@ -265,9 +266,9 @@ class WindowRef {
265
266
  return this.location.reload();
266
267
  }
267
268
  }
268
- WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
269
- WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: WindowRef, providedIn: 'root' });
270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: WindowRef, decorators: [{
269
+ WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
270
+ WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: WindowRef, providedIn: 'root' });
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: WindowRef, decorators: [{
271
272
  type: Injectable,
272
273
  args: [{
273
274
  providedIn: 'root',
@@ -278,5 +279,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
278
279
  * Generated bundle index. Do not edit.
279
280
  */
280
281
 
281
- export { ClickOutsideDirective, Controller, CoreModule, DISABLED_CONTROLLER, DisabledController, ReadonlyController, WindowRef, controllerChanges, detectControllerChanges };
282
+ export { ClickOutsideDirective, Controller, CoreModule, DISABLED_CONTROLLER, DisabledController, ReadonlyController, WindowRef, detectControllerChanges };
282
283
  //# sourceMappingURL=odx-angular.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular.mjs","sources":["../../../../libs/angular/src/lib/controllers/controller.ts","../../../../libs/angular/src/lib/controllers/disabled.controller.ts","../../../../libs/angular/src/lib/controllers/readonly.controller.ts","../../../../libs/angular/src/lib/directives/click-outside.directive.ts","../../../../libs/angular/src/lib/core.module.ts","../../../../libs/angular/src/lib/services/window-ref.ts","../../../../libs/angular/src/odx-angular.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, OnChanges, OnDestroy } from '@angular/core';\nimport { markForCheck } from '@odx/angular/rxjs';\nimport { isPresent, pluckFromArray } from '@odx/angular/utils';\nimport { merge, Observable, share, Subject } from 'rxjs';\n\nexport function detectControllerChanges(changeDetector: ChangeDetectorRef, ...controllers: Array<Controller | undefined | null>): Observable<void> {\n return controllerChanges(...controllers).pipe(markForCheck(changeDetector));\n}\n\nexport function controllerChanges(...controllers: Array<Controller | undefined | null>): Observable<void> {\n const changes$ = pluckFromArray(controllers.filter(isPresent), 'change$');\n\n return merge(...changes$);\n}\n\n@Directive()\nexport abstract class Controller implements OnChanges, OnDestroy {\n private readonly change$$ = new Subject<void>();\n\n public readonly change$ = this.change$$.pipe(share());\n\n public static setup(controller: Controller | null, changeDetector: ChangeDetectorRef): Controller | null {\n detectControllerChanges(changeDetector, controller).subscribe();\n\n return controller;\n }\n\n public ngOnChanges(): void {\n this.triggerControllerChange();\n }\n\n public ngOnDestroy(): void {\n this.change$$.complete();\n }\n\n protected triggerControllerChange() {\n this.change$$.next();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, ElementRef, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { booleanToOptionalAttributeString } from '@odx/angular/utils';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nconst ELEMENTS_WITH_DISABLED_ATTRIBUTE = {\n button: true,\n fieldset: true,\n input: true,\n optgroup: true,\n option: true,\n select: true,\n textarea: true,\n} as Record<string, boolean>;\n\nexport const DISABLED_CONTROLLER = new InjectionToken<DisabledController>('@odx/angular::DisabledWatchedController');\nconst DISABLED_INTERNAL_CONTROLLER = new InjectionToken<DisabledController | null>('@odx/angular::DisabledController', {\n factory: () => new DisabledController(null),\n});\n\n@Directive({\n standalone: true,\n selector: '[disabled]',\n providers: [\n {\n provide: DISABLED_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => DisabledController),\n },\n ],\n host: {\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'hasDisabledAttribute || null',\n },\n})\nexport class DisabledController extends Controller {\n public static ngAcceptInputType_disabled: BooleanInput;\n\n private readonly nodeName: string;\n private isDisabled = false;\n\n protected hasDisabledAttribute = false;\n public readonly isDisabled$ = this.change$.pipe(\n map(() => this.isDisabled),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set disabled(value: unknown) {\n if (this.isDisabled !== value) {\n this.isDisabled = coerceBooleanProperty(value);\n this.hasDisabledAttribute = this.isDisabled && ELEMENTS_WITH_DISABLED_ATTRIBUTE[this.nodeName];\n }\n }\n public get disabled(): boolean {\n return this.isDisabled;\n }\n\n public get ariaDisabled(): string | null {\n return booleanToOptionalAttributeString(this.hasDisabledAttribute);\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\n }\n\n public static inject(): DisabledController | null {\n return inject(DISABLED_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return {\n provide: DISABLED_CONTROLLER,\n useFactory: Controller.setup,\n deps: [DISABLED_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n\n public setDisabledState(state: boolean): void {\n this.disabled = state;\n this.ngOnChanges();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, ElementRef, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nconst ELEMENTS_WITH_READONLY_ATTRIBUTE = {\n input: true,\n textarea: true,\n select: true,\n} as Record<string, boolean>;\n\nconst READONLY_CONTROLLER = new InjectionToken<ReadonlyController>('@odx/angular::ReadonlyWatchedController');\nconst READONLY_INTERNAL_CONTROLLER = new InjectionToken<ReadonlyController | null>('@odx/angular::ReadonlyController', {\n factory: () => new ReadonlyController(null),\n});\n\n@Directive({\n standalone: true,\n selector: '[readonly]',\n providers: [\n {\n provide: READONLY_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => ReadonlyController),\n },\n ],\n host: {\n '[attr.readonly]': 'hasReadonlyAttribute || null',\n },\n})\nexport class ReadonlyController extends Controller {\n public static ngAcceptInputType_readonly: BooleanInput;\n\n private readonly nodeName: string;\n private isReadonly = false;\n\n protected hasReadonlyAttribute = false;\n\n public readonly isReadonly$ = this.change$.pipe(\n map(() => this.isReadonly),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set readonly(value: unknown) {\n if (this.isReadonly !== value) {\n this.isReadonly = coerceBooleanProperty(value);\n this.hasReadonlyAttribute = this.isReadonly && ELEMENTS_WITH_READONLY_ATTRIBUTE[this.nodeName];\n }\n }\n public get readonly(): boolean {\n return this.isReadonly;\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\n }\n\n public static inject(): ReadonlyController | null {\n return inject(READONLY_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return {\n provide: READONLY_CONTROLLER,\n useFactory: Controller.setup,\n deps: [READONLY_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, Renderer2 } from '@angular/core';\nimport { NgChanges } from '@odx/angular/utils';\n\n@Directive({\n standalone: true,\n selector: '[odxClickOutside]',\n})\nexport class ClickOutsideDirective implements OnChanges, OnInit, OnDestroy {\n private listener?: () => void;\n\n @Input()\n public odxClickOutsideActive = true;\n\n @Output()\n public readonly odxClickOutside = new EventEmitter<MouseEvent>();\n\n constructor(private readonly element: ElementRef<HTMLElement>, private readonly renderer: Renderer2) {\n this.odxClickOutsideActive = true;\n }\n\n public ngOnInit(): void {\n if (this.odxClickOutsideActive) {\n this.registerHandler();\n }\n }\n\n public ngOnChanges({ odxClickOutsideActive: clickOutsideActive }: NgChanges<ClickOutsideDirective>): void {\n if (!clickOutsideActive?.firstChange && clickOutsideActive?.previousValue !== clickOutsideActive?.currentValue) {\n if (clickOutsideActive?.currentValue) {\n this.registerHandler();\n } else {\n this.destroy();\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private destroy() {\n if (this.listener) {\n this.listener();\n this.listener = undefined;\n }\n }\n\n private registerHandler() {\n setTimeout(() => {\n this.listener ??= this.renderer.listen('document', 'click', (event) => {\n if (this.odxClickOutsideActive && this.element?.nativeElement.isConnected && !this.element?.nativeElement.contains(event.target)) {\n this.odxClickOutside.emit(event);\n }\n });\n }, 0);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DisabledController, ReadonlyController } from './controllers';\nimport { ClickOutsideDirective } from './directives';\n\nconst controllers = [DisabledController, ReadonlyController];\nconst modules = [ClickOutsideDirective];\n\n@NgModule({\n imports: [...controllers, ...modules],\n exports: [CommonModule, ...controllers, ...modules],\n})\nexport class CoreModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { distinctUntilChanged, map, shareReplay, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowRef {\n public readonly nativeWindow = inject(DOCUMENT).defaultView ?? window;\n public readonly isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(\n startWith(null),\n map(() => this.nativeWindow.navigator.onLine),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n public get location(): Location {\n return this.nativeWindow.location;\n }\n\n public getLanguage(): string {\n return this.nativeWindow.navigator.language;\n }\n\n public getOrigin(): string {\n return this.location.origin;\n }\n\n public reloadPage(): void {\n return this.location.reload();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular.mjs","sources":["../../../../libs/angular/src/lib/controllers/controller.ts","../../../../libs/angular/src/lib/controllers/disabled.controller.ts","../../../../libs/angular/src/lib/controllers/readonly.controller.ts","../../../../libs/angular/src/lib/directives/click-outside.directive.ts","../../../../libs/angular/src/lib/core.module.ts","../../../../libs/angular/src/lib/services/window-ref.ts","../../../../libs/angular/src/odx-angular.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, inject, OnChanges, OnDestroy } from '@angular/core';\nimport { markForCheck } from '@odx/angular/rxjs';\nimport { isPresent, pluckFromArray } from '@odx/angular/utils';\nimport { merge, Observable, share, Subject } from 'rxjs';\n\nfunction controllerChanges(controllers: Array<Controller | undefined | null>): Observable<void> {\n const changes$ = pluckFromArray(controllers.filter(isPresent), 'change$');\n\n return merge(...changes$);\n}\n\nexport function detectControllerChanges(...controllers: Array<Controller | undefined | null>): Observable<void> {\n const changeDetector = inject(ChangeDetectorRef);\n\n return controllerChanges(controllers).pipe(markForCheck(changeDetector));\n}\n\n@Directive()\nexport abstract class Controller implements OnChanges, OnDestroy {\n private readonly change$$ = new Subject<void>();\n\n public readonly change$ = this.change$$.pipe(share());\n\n public static setup(controller: Controller | null, changeDetector: ChangeDetectorRef): Controller | null {\n controllerChanges([controller]).pipe(markForCheck(changeDetector)).subscribe();\n\n return controller;\n }\n\n public ngOnChanges(): void {\n this.triggerControllerChange();\n }\n\n public ngOnDestroy(): void {\n this.change$$.complete();\n }\n\n protected triggerControllerChange() {\n this.change$$.next();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, ElementRef, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { booleanToOptionalAttributeString } from '@odx/angular/utils';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nconst ELEMENTS_WITH_DISABLED_ATTRIBUTE = {\n button: true,\n fieldset: true,\n input: true,\n optgroup: true,\n option: true,\n select: true,\n textarea: true,\n} as Record<string, boolean>;\n\nexport const DISABLED_CONTROLLER = new InjectionToken<DisabledController>('@odx/angular::DisabledWatchedController');\nconst DISABLED_INTERNAL_CONTROLLER = new InjectionToken<DisabledController | null>('@odx/angular::DisabledController', {\n factory: () => new DisabledController(null),\n});\n\n@Directive({\n standalone: true,\n selector: '[disabled]',\n providers: [\n {\n provide: DISABLED_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => DisabledController),\n },\n ],\n host: {\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'hasDisabledAttribute || null',\n },\n})\nexport class DisabledController extends Controller {\n public static ngAcceptInputType_disabled: BooleanInput;\n\n private readonly nodeName: string;\n private isDisabled = false;\n\n protected hasDisabledAttribute = false;\n public readonly isDisabled$ = this.change$.pipe(\n map(() => this.isDisabled),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set disabled(value: unknown) {\n if (this.isDisabled !== value) {\n this.isDisabled = coerceBooleanProperty(value);\n this.hasDisabledAttribute = this.isDisabled && ELEMENTS_WITH_DISABLED_ATTRIBUTE[this.nodeName];\n }\n }\n public get disabled(): boolean {\n return this.isDisabled;\n }\n\n public get ariaDisabled(): string | null {\n return booleanToOptionalAttributeString(this.hasDisabledAttribute);\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\n }\n\n public static inject(): DisabledController | null {\n return inject(DISABLED_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return {\n provide: DISABLED_CONTROLLER,\n useFactory: Controller.setup,\n deps: [DISABLED_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n\n public setDisabledState(state: boolean): void {\n this.disabled = state;\n this.ngOnChanges();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, ElementRef, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nconst ELEMENTS_WITH_READONLY_ATTRIBUTE = {\n input: true,\n textarea: true,\n select: true,\n} as Record<string, boolean>;\n\nconst READONLY_CONTROLLER = new InjectionToken<ReadonlyController>('@odx/angular::ReadonlyWatchedController');\nconst READONLY_INTERNAL_CONTROLLER = new InjectionToken<ReadonlyController | null>('@odx/angular::ReadonlyController', {\n factory: () => new ReadonlyController(null),\n});\n\n@Directive({\n standalone: true,\n selector: '[readonly]',\n providers: [\n {\n provide: READONLY_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => ReadonlyController),\n },\n ],\n host: {\n '[attr.readonly]': 'hasReadonlyAttribute || null',\n },\n})\nexport class ReadonlyController extends Controller {\n public static ngAcceptInputType_readonly: BooleanInput;\n\n private readonly nodeName: string;\n private isReadonly = false;\n\n protected hasReadonlyAttribute = false;\n\n public readonly isReadonly$ = this.change$.pipe(\n map(() => this.isReadonly),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set readonly(value: unknown) {\n if (this.isReadonly !== value) {\n this.isReadonly = coerceBooleanProperty(value);\n this.hasReadonlyAttribute = this.isReadonly && ELEMENTS_WITH_READONLY_ATTRIBUTE[this.nodeName];\n }\n }\n public get readonly(): boolean {\n return this.isReadonly;\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\n }\n\n public static inject(): ReadonlyController | null {\n return inject(READONLY_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return {\n provide: READONLY_CONTROLLER,\n useFactory: Controller.setup,\n deps: [READONLY_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, Renderer2 } from '@angular/core';\nimport { NgChanges } from '@odx/angular/utils';\n\n@Directive({\n standalone: true,\n selector: '[odxClickOutside]',\n})\nexport class ClickOutsideDirective implements OnChanges, OnInit, OnDestroy {\n private listener?: () => void;\n\n @Input()\n public odxClickOutsideActive = true;\n\n @Output()\n public readonly odxClickOutside = new EventEmitter<MouseEvent>();\n\n constructor(private readonly element: ElementRef<HTMLElement>, private readonly renderer: Renderer2) {\n this.odxClickOutsideActive = true;\n }\n\n public ngOnInit(): void {\n if (this.odxClickOutsideActive) {\n this.registerHandler();\n }\n }\n\n public ngOnChanges({ odxClickOutsideActive: clickOutsideActive }: NgChanges<ClickOutsideDirective>): void {\n if (!clickOutsideActive?.firstChange && clickOutsideActive?.previousValue !== clickOutsideActive?.currentValue) {\n if (clickOutsideActive?.currentValue) {\n this.registerHandler();\n } else {\n this.destroy();\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private destroy() {\n if (this.listener) {\n this.listener();\n this.listener = undefined;\n }\n }\n\n private registerHandler() {\n setTimeout(() => {\n this.listener ??= this.renderer.listen('document', 'click', (event) => {\n if (this.odxClickOutsideActive && this.element?.nativeElement.isConnected && !this.element?.nativeElement.contains(event.target)) {\n this.odxClickOutside.emit(event);\n }\n });\n }, 0);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DisabledController, ReadonlyController } from './controllers';\nimport { ClickOutsideDirective } from './directives';\n\nconst controllers = [DisabledController, ReadonlyController];\nconst modules = [ClickOutsideDirective];\n\n@NgModule({\n imports: [...controllers, ...modules],\n exports: [CommonModule, ...controllers, ...modules],\n})\nexport class CoreModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { distinctUntilChanged, map, shareReplay, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowRef {\n public readonly nativeWindow = inject(DOCUMENT).defaultView ?? window;\n public readonly isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(\n startWith(null),\n map(() => this.nativeWindow.navigator.onLine),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n public get location(): Location {\n return this.nativeWindow.location;\n }\n\n public getLanguage(): string {\n return this.nativeWindow.navigator.language;\n }\n\n public getOrigin(): string {\n return this.location.origin;\n }\n\n public reloadPage(): void {\n return this.location.reload();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { ChangeDetectorRef, OnChanges, OnDestroy } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
- export declare function detectControllerChanges(changeDetector: ChangeDetectorRef, ...controllers: Array<Controller | undefined | null>): Observable<void>;
5
- export declare function controllerChanges(...controllers: Array<Controller | undefined | null>): Observable<void>;
4
+ export declare function detectControllerChanges(...controllers: Array<Controller | undefined | null>): Observable<void>;
6
5
  export declare abstract class Controller implements OnChanges, OnDestroy {
7
6
  private readonly change$$;
8
7
  readonly change$: Observable<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odx/angular",
3
- "version": "1.0.0-rc.2",
3
+ "version": "1.0.0-rc.4",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {
@@ -9,13 +9,13 @@
9
9
  "@angular/common": ">=14.2.0",
10
10
  "@angular/core": ">=14.2.0",
11
11
  "@angular/forms": ">=14.2.0",
12
- "@odx/ui": ">=0.1.0",
13
- "rxjs": "6.6.7",
14
- "deepmerge-ts": "4.2.2"
12
+ "@angular/router": ">=14.2.0",
13
+ "rxjs": ">=7.5.0",
14
+ "@odx/ui": "1.0.0-rc.4"
15
15
  },
16
16
  "dependencies": {
17
17
  "@floating-ui/dom": "^1.0.1",
18
- "deepmerge": "^4.2.0",
18
+ "deepmerge-ts": "^4.2.0",
19
19
  "tslib": "^2.3.0"
20
20
  },
21
21
  "publishConfig": {
@@ -151,6 +151,22 @@
151
151
  "node": "./fesm2015/odx-angular-components-checkbox.mjs",
152
152
  "default": "./fesm2020/odx-angular-components-checkbox.mjs"
153
153
  },
154
+ "./components/chip": {
155
+ "types": "./components/chip/index.d.ts",
156
+ "esm2020": "./esm2020/components/chip/odx-angular-components-chip.mjs",
157
+ "es2020": "./fesm2020/odx-angular-components-chip.mjs",
158
+ "es2015": "./fesm2015/odx-angular-components-chip.mjs",
159
+ "node": "./fesm2015/odx-angular-components-chip.mjs",
160
+ "default": "./fesm2020/odx-angular-components-chip.mjs"
161
+ },
162
+ "./components/circular-progress": {
163
+ "types": "./components/circular-progress/index.d.ts",
164
+ "esm2020": "./esm2020/components/circular-progress/odx-angular-components-circular-progress.mjs",
165
+ "es2020": "./fesm2020/odx-angular-components-circular-progress.mjs",
166
+ "es2015": "./fesm2015/odx-angular-components-circular-progress.mjs",
167
+ "node": "./fesm2015/odx-angular-components-circular-progress.mjs",
168
+ "default": "./fesm2020/odx-angular-components-circular-progress.mjs"
169
+ },
154
170
  "./components/content-box": {
155
171
  "types": "./components/content-box/index.d.ts",
156
172
  "esm2020": "./esm2020/components/content-box/odx-angular-components-content-box.mjs",
@@ -191,6 +207,14 @@
191
207
  "node": "./fesm2015/odx-angular-components-link.mjs",
192
208
  "default": "./fesm2020/odx-angular-components-link.mjs"
193
209
  },
210
+ "./components/loading-spinner": {
211
+ "types": "./components/loading-spinner/index.d.ts",
212
+ "esm2020": "./esm2020/components/loading-spinner/odx-angular-components-loading-spinner.mjs",
213
+ "es2020": "./fesm2020/odx-angular-components-loading-spinner.mjs",
214
+ "es2015": "./fesm2015/odx-angular-components-loading-spinner.mjs",
215
+ "node": "./fesm2015/odx-angular-components-loading-spinner.mjs",
216
+ "default": "./fesm2020/odx-angular-components-loading-spinner.mjs"
217
+ },
194
218
  "./components/logo": {
195
219
  "types": "./components/logo/index.d.ts",
196
220
  "esm2020": "./esm2020/components/logo/odx-angular-components-logo.mjs",
@@ -215,6 +239,14 @@
215
239
  "node": "./fesm2015/odx-angular-components-modal.mjs",
216
240
  "default": "./fesm2020/odx-angular-components-modal.mjs"
217
241
  },
242
+ "./components/progress": {
243
+ "types": "./components/progress/index.d.ts",
244
+ "esm2020": "./esm2020/components/progress/odx-angular-components-progress.mjs",
245
+ "es2020": "./fesm2020/odx-angular-components-progress.mjs",
246
+ "es2015": "./fesm2015/odx-angular-components-progress.mjs",
247
+ "node": "./fesm2015/odx-angular-components-progress.mjs",
248
+ "default": "./fesm2020/odx-angular-components-progress.mjs"
249
+ },
218
250
  "./components/radio-group": {
219
251
  "types": "./components/radio-group/index.d.ts",
220
252
  "esm2020": "./esm2020/components/radio-group/odx-angular-components-radio-group.mjs",