@odx/angular 1.0.0-rc.18 → 1.0.0-rc.19

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 (252) hide show
  1. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +3 -1
  2. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +2 -1
  3. package/components/form-field/lib/form-field.config.d.ts +1 -0
  4. package/components/form-field/lib/services/form-field-error.service.d.ts +1 -0
  5. package/components/select/lib/select.component.d.ts +1 -0
  6. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +5 -2
  7. package/esm2020/cdk/a11y/lib/a11y.module.mjs +4 -4
  8. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +3 -3
  9. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +3 -3
  10. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
  11. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
  12. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +9 -5
  13. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +3 -3
  14. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
  15. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  16. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
  17. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
  18. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +3 -3
  19. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
  20. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
  21. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +3 -3
  22. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  23. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +3 -3
  24. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +11 -7
  25. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  26. package/esm2020/components/accordion/lib/accordion.component.mjs +3 -3
  27. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  28. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +3 -3
  29. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  30. package/esm2020/components/action-group/action-group.component.mjs +3 -3
  31. package/esm2020/components/area-header/area-header.component.mjs +3 -3
  32. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  33. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  34. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  35. package/esm2020/components/avatar/lib/avatar.component.mjs +3 -3
  36. package/esm2020/components/badge/lib/badge.component.mjs +3 -3
  37. package/esm2020/components/badge/lib/badge.directive.mjs +3 -3
  38. package/esm2020/components/bar/lib/bar.component.mjs +3 -3
  39. package/esm2020/components/bar/lib/bar.module.mjs +4 -4
  40. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +3 -3
  41. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +3 -3
  42. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  43. package/esm2020/components/button/lib/button.component.mjs +3 -3
  44. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  45. package/esm2020/components/checkbox/lib/checkbox.component.mjs +3 -3
  46. package/esm2020/components/checkbox/lib/checkbox.module.mjs +4 -4
  47. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +3 -3
  48. package/esm2020/components/chip/lib/chip.component.mjs +3 -3
  49. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +5 -5
  50. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  51. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  52. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +3 -3
  53. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +3 -3
  54. package/esm2020/components/dropdown/lib/dropdown.component.mjs +3 -3
  55. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +3 -3
  56. package/esm2020/components/dropdown/lib/dropdown.module.mjs +4 -4
  57. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  58. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  59. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
  60. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  61. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  62. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  63. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  64. package/esm2020/components/form-field/lib/form-field.component.mjs +3 -3
  65. package/esm2020/components/form-field/lib/form-field.config.mjs +2 -1
  66. package/esm2020/components/form-field/lib/form-field.module.mjs +4 -4
  67. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  68. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +9 -11
  69. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  70. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  71. package/esm2020/components/header/lib/header.component.mjs +3 -3
  72. package/esm2020/components/header/lib/header.module.mjs +4 -4
  73. package/esm2020/components/icon/lib/icon.component.mjs +3 -3
  74. package/esm2020/components/inline-message/lib/inline-message.component.mjs +3 -3
  75. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +3 -3
  76. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +3 -3
  77. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +3 -3
  78. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +4 -4
  79. package/esm2020/components/link/link.directive.mjs +3 -3
  80. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +3 -3
  81. package/esm2020/components/list/lib/list.component.mjs +3 -3
  82. package/esm2020/components/list/lib/list.module.mjs +4 -4
  83. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
  84. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +3 -3
  85. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  86. package/esm2020/components/logo/logo.directive.mjs +3 -3
  87. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  88. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +3 -3
  89. package/esm2020/components/main-menu/lib/main-menu.component.mjs +3 -3
  90. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  91. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  92. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +3 -3
  93. package/esm2020/components/menu/lib/menu.component.mjs +3 -3
  94. package/esm2020/components/menu/lib/menu.directive.mjs +3 -3
  95. package/esm2020/components/menu/lib/menu.module.mjs +4 -4
  96. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
  97. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  98. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +3 -3
  99. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +3 -3
  100. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +3 -3
  101. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  102. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  103. package/esm2020/components/modal/lib/modal.component.mjs +3 -3
  104. package/esm2020/components/modal/lib/modal.directive.mjs +3 -3
  105. package/esm2020/components/modal/lib/modal.module.mjs +4 -4
  106. package/esm2020/components/modal/lib/modal.service.mjs +3 -3
  107. package/esm2020/components/progress/lib/progress.component.mjs +3 -3
  108. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
  109. package/esm2020/components/radio-group/lib/radio-group.component.mjs +3 -3
  110. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  111. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +3 -3
  112. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
  113. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  114. package/esm2020/components/select/lib/components/option/option.component.mjs +3 -3
  115. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +3 -3
  116. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
  117. package/esm2020/components/select/lib/select.component.mjs +16 -11
  118. package/esm2020/components/select/lib/select.module.mjs +4 -4
  119. package/esm2020/components/slider/lib/slider.directive.mjs +3 -3
  120. package/esm2020/components/spinbox/lib/spinbox.component.mjs +3 -3
  121. package/esm2020/components/switch/lib/switch.component.mjs +3 -3
  122. package/esm2020/components/switch/lib/switch.module.mjs +4 -4
  123. package/esm2020/components/switch/lib/switch.validator.mjs +3 -3
  124. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +14 -5
  125. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +3 -3
  126. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +4 -4
  127. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
  128. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +3 -3
  129. package/esm2020/components/toast/lib/toast.module.mjs +4 -4
  130. package/esm2020/components/toast/lib/toast.service.mjs +3 -3
  131. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
  132. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -3
  133. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  134. package/esm2020/components/tooltip/lib/tooltip.component.mjs +3 -3
  135. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +3 -3
  136. package/esm2020/lib/controllers/controller.mjs +3 -3
  137. package/esm2020/lib/controllers/disabled.controller.mjs +3 -3
  138. package/esm2020/lib/controllers/readonly.controller.mjs +3 -3
  139. package/esm2020/lib/core.module.mjs +4 -4
  140. package/esm2020/lib/directives/click-outside.directive.mjs +3 -3
  141. package/esm2020/lib/directives/delegate-focus.directive.mjs +3 -3
  142. package/esm2020/lib/directives/with-disabled-state.directive.mjs +3 -3
  143. package/esm2020/lib/directives/with-tabindex.directive.mjs +3 -3
  144. package/esm2020/lib/services/window-ref.mjs +3 -3
  145. package/esm2020/utils/lib/helpers/event-manager.mjs +3 -3
  146. package/fesm2015/odx-angular-cdk-a11y.mjs +13 -13
  147. package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
  148. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +8 -4
  149. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  150. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +6 -6
  151. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +6 -6
  152. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +9 -9
  153. package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
  154. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +17 -14
  155. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  156. package/fesm2015/odx-angular-components-accordion.mjs +13 -13
  157. package/fesm2015/odx-angular-components-action-group.mjs +3 -3
  158. package/fesm2015/odx-angular-components-area-header.mjs +13 -13
  159. package/fesm2015/odx-angular-components-avatar.mjs +3 -3
  160. package/fesm2015/odx-angular-components-badge.mjs +6 -6
  161. package/fesm2015/odx-angular-components-bar.mjs +13 -13
  162. package/fesm2015/odx-angular-components-breadcrumbs.mjs +3 -3
  163. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  164. package/fesm2015/odx-angular-components-button.mjs +3 -3
  165. package/fesm2015/odx-angular-components-checkbox.mjs +10 -10
  166. package/fesm2015/odx-angular-components-chip.mjs +3 -3
  167. package/fesm2015/odx-angular-components-circular-progress.mjs +4 -4
  168. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -1
  169. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  170. package/fesm2015/odx-angular-components-dropdown.mjs +10 -10
  171. package/fesm2015/odx-angular-components-form-field.mjs +41 -41
  172. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  173. package/fesm2015/odx-angular-components-header.mjs +13 -13
  174. package/fesm2015/odx-angular-components-icon.mjs +3 -3
  175. package/fesm2015/odx-angular-components-inline-message.mjs +3 -3
  176. package/fesm2015/odx-angular-components-launch-tile.mjs +13 -13
  177. package/fesm2015/odx-angular-components-link.mjs +3 -3
  178. package/fesm2015/odx-angular-components-list.mjs +10 -10
  179. package/fesm2015/odx-angular-components-loading-spinner.mjs +10 -10
  180. package/fesm2015/odx-angular-components-logo.mjs +3 -3
  181. package/fesm2015/odx-angular-components-main-menu.mjs +16 -16
  182. package/fesm2015/odx-angular-components-menu.mjs +13 -13
  183. package/fesm2015/odx-angular-components-modal.mjs +34 -34
  184. package/fesm2015/odx-angular-components-progress.mjs +3 -3
  185. package/fesm2015/odx-angular-components-radio-group.mjs +10 -10
  186. package/fesm2015/odx-angular-components-rail-navigation.mjs +10 -10
  187. package/fesm2015/odx-angular-components-select.mjs +29 -23
  188. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  189. package/fesm2015/odx-angular-components-slider.mjs +3 -3
  190. package/fesm2015/odx-angular-components-spinbox.mjs +3 -3
  191. package/fesm2015/odx-angular-components-switch.mjs +10 -10
  192. package/fesm2015/odx-angular-components-tab-bar.mjs +21 -12
  193. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -1
  194. package/fesm2015/odx-angular-components-toast.mjs +13 -13
  195. package/fesm2015/odx-angular-components-toggle-button-group.mjs +10 -10
  196. package/fesm2015/odx-angular-components-tooltip.mjs +6 -6
  197. package/fesm2015/odx-angular-utils.mjs +3 -3
  198. package/fesm2015/odx-angular.mjs +28 -28
  199. package/fesm2020/odx-angular-cdk-a11y.mjs +13 -13
  200. package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
  201. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +8 -4
  202. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  203. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +6 -6
  204. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +6 -6
  205. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +9 -9
  206. package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
  207. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +17 -14
  208. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  209. package/fesm2020/odx-angular-components-accordion.mjs +13 -13
  210. package/fesm2020/odx-angular-components-action-group.mjs +3 -3
  211. package/fesm2020/odx-angular-components-area-header.mjs +13 -13
  212. package/fesm2020/odx-angular-components-avatar.mjs +3 -3
  213. package/fesm2020/odx-angular-components-badge.mjs +6 -6
  214. package/fesm2020/odx-angular-components-bar.mjs +13 -13
  215. package/fesm2020/odx-angular-components-breadcrumbs.mjs +3 -3
  216. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  217. package/fesm2020/odx-angular-components-button.mjs +3 -3
  218. package/fesm2020/odx-angular-components-checkbox.mjs +10 -10
  219. package/fesm2020/odx-angular-components-chip.mjs +3 -3
  220. package/fesm2020/odx-angular-components-circular-progress.mjs +4 -4
  221. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -1
  222. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  223. package/fesm2020/odx-angular-components-dropdown.mjs +10 -10
  224. package/fesm2020/odx-angular-components-form-field.mjs +40 -41
  225. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  226. package/fesm2020/odx-angular-components-header.mjs +13 -13
  227. package/fesm2020/odx-angular-components-icon.mjs +3 -3
  228. package/fesm2020/odx-angular-components-inline-message.mjs +3 -3
  229. package/fesm2020/odx-angular-components-launch-tile.mjs +13 -13
  230. package/fesm2020/odx-angular-components-link.mjs +3 -3
  231. package/fesm2020/odx-angular-components-list.mjs +10 -10
  232. package/fesm2020/odx-angular-components-loading-spinner.mjs +10 -10
  233. package/fesm2020/odx-angular-components-logo.mjs +3 -3
  234. package/fesm2020/odx-angular-components-main-menu.mjs +16 -16
  235. package/fesm2020/odx-angular-components-menu.mjs +13 -13
  236. package/fesm2020/odx-angular-components-modal.mjs +34 -34
  237. package/fesm2020/odx-angular-components-progress.mjs +3 -3
  238. package/fesm2020/odx-angular-components-radio-group.mjs +10 -10
  239. package/fesm2020/odx-angular-components-rail-navigation.mjs +10 -10
  240. package/fesm2020/odx-angular-components-select.mjs +29 -23
  241. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  242. package/fesm2020/odx-angular-components-slider.mjs +3 -3
  243. package/fesm2020/odx-angular-components-spinbox.mjs +3 -3
  244. package/fesm2020/odx-angular-components-switch.mjs +10 -10
  245. package/fesm2020/odx-angular-components-tab-bar.mjs +20 -12
  246. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -1
  247. package/fesm2020/odx-angular-components-toast.mjs +13 -13
  248. package/fesm2020/odx-angular-components-toggle-button-group.mjs +10 -10
  249. package/fesm2020/odx-angular-components-tooltip.mjs +6 -6
  250. package/fesm2020/odx-angular-utils.mjs +3 -3
  251. package/fesm2020/odx-angular.mjs +28 -28
  252. package/package.json +2 -2
@@ -27,8 +27,8 @@ let ProgressComponent = class ProgressComponent {
27
27
  return this._value;
28
28
  }
29
29
  };
30
- ProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- ProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ProgressComponent, isStandalone: true, selector: "odx-progress", inputs: { value: "value" }, host: { properties: { "attr.aria-valuenow": "ariaValueNow", "attr.aria-valuemax": "100", "attr.aria-valuemin": "0", "attr.role": "\"meter\"" } }, ngImport: i0, template: "<div class=\"odx-progress__indicator\" style=\"transform: scaleX({{ progressValue }})\"></div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
30
+ ProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ ProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: ProgressComponent, isStandalone: true, selector: "odx-progress", inputs: { value: "value" }, host: { properties: { "attr.aria-valuenow": "ariaValueNow", "attr.aria-valuemax": "100", "attr.aria-valuemin": "0", "attr.role": "\"meter\"" } }, ngImport: i0, template: "<div class=\"odx-progress__indicator\" style=\"transform: scaleX({{ progressValue }})\"></div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
32
32
  __decorate([
33
33
  CSSModifier(),
34
34
  __metadata("design:type", Object)
@@ -37,7 +37,7 @@ ProgressComponent = __decorate([
37
37
  CSSComponent('progress')
38
38
  ], ProgressComponent);
39
39
  export { ProgressComponent };
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ProgressComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ProgressComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: 'odx-progress', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
43
43
  '[attr.aria-valuenow]': 'ariaValueNow',
@@ -20,8 +20,8 @@ let RadioButtonComponent = class RadioButtonComponent extends RadioControlDirect
20
20
  this.withLabel = !!this.contentElement.nativeElement.textContent?.trim();
21
21
  }
22
22
  };
23
- RadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RadioButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
- RadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: RadioButtonComponent, isStandalone: true, selector: "odx-radio-button", providers: [DisabledController.connect(), ReadonlyController.connect()], viewQueries: [{ propertyName: "contentElement", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-radio-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.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <div class=\"odx-radio-button__indicator\"></div>\n <div class=\"odx-radio-button__content\" [cdkObserveContentDisabled]=\"disabledController?.disabled\" (cdkObserveContent)=\"onContentChange()\" #content>\n <ng-content></ng-content>\n </div>\n</label>\n", dependencies: [{ kind: "ngmodule", type: ObserversModule }, { kind: "directive", type: i1.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23
+ RadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RadioButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
+ RadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: RadioButtonComponent, isStandalone: true, selector: "odx-radio-button", providers: [DisabledController.connect(), ReadonlyController.connect()], viewQueries: [{ propertyName: "contentElement", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-radio-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.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <div class=\"odx-radio-button__indicator\"></div>\n <div class=\"odx-radio-button__content\" [cdkObserveContentDisabled]=\"disabledController?.disabled\" (cdkObserveContent)=\"onContentChange()\" #content>\n <ng-content></ng-content>\n </div>\n</label>\n", dependencies: [{ kind: "ngmodule", type: ObserversModule }, { kind: "directive", type: i1.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
25
25
  __decorate([
26
26
  CSSModifier(),
27
27
  __metadata("design:type", Object)
@@ -30,7 +30,7 @@ RadioButtonComponent = __decorate([
30
30
  CSSComponent('radio-button')
31
31
  ], RadioButtonComponent);
32
32
  export { RadioButtonComponent };
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RadioButtonComponent, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RadioButtonComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ standalone: true, selector: 'odx-radio-button', imports: [ObserversModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect(), ReadonlyController.connect()], template: "<label class=\"odx-radio-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.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <div class=\"odx-radio-button__indicator\"></div>\n <div class=\"odx-radio-button__content\" [cdkObserveContentDisabled]=\"disabledController?.disabled\" (cdkObserveContent)=\"onContentChange()\" #content>\n <ng-content></ng-content>\n </div>\n</label>\n" }]
36
36
  }], propDecorators: { withLabel: [], contentElement: [{
@@ -13,8 +13,8 @@ let RadioGroupComponent = RadioGroupComponent_1 = class RadioGroupComponent exte
13
13
  this.horizontal = false;
14
14
  }
15
15
  };
16
- RadioGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RadioGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
17
- RadioGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: RadioGroupComponent, isStandalone: true, selector: "odx-radio-group", inputs: { horizontal: "horizontal" }, providers: [
16
+ RadioGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RadioGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
17
+ RadioGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: RadioGroupComponent, isStandalone: true, selector: "odx-radio-group", inputs: { horizontal: "horizontal" }, providers: [
18
18
  {
19
19
  provide: RADIO_GROUP_CONTROL,
20
20
  useExisting: forwardRef(() => RadioGroupComponent_1),
@@ -31,7 +31,7 @@ RadioGroupComponent = RadioGroupComponent_1 = __decorate([
31
31
  CSSComponent('radio-group')
32
32
  ], RadioGroupComponent);
33
33
  export { RadioGroupComponent };
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RadioGroupComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RadioGroupComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ standalone: true, selector: 'odx-radio-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
37
37
  {
@@ -6,10 +6,10 @@ import * as i0 from "@angular/core";
6
6
  const modules = [RadioGroupComponent, RadioButtonComponent];
7
7
  export class RadioGroupModule {
8
8
  }
9
- RadioGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RadioGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- RadioGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: RadioGroupModule, imports: [RadioGroupComponent, RadioButtonComponent], exports: [CoreModule, RadioGroupComponent, RadioButtonComponent] });
11
- RadioGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RadioGroupModule, imports: [modules, CoreModule] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RadioGroupModule, decorators: [{
9
+ RadioGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RadioGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ RadioGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: RadioGroupModule, imports: [RadioGroupComponent, RadioButtonComponent], exports: [CoreModule, RadioGroupComponent, RadioButtonComponent] });
11
+ RadioGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RadioGroupModule, imports: [modules, CoreModule] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RadioGroupModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: modules,
@@ -15,8 +15,8 @@ let RailNavigationItemComponent = class RailNavigationItemComponent {
15
15
  this.isSelected = false;
16
16
  }
17
17
  };
18
- RailNavigationItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RailNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- RailNavigationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: RailNavigationItemComponent, isStandalone: true, selector: "a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]", inputs: { isSelected: "isSelected", iconName: "iconName" }, host: { properties: { "class.is-selected": "isSelected || routerLinkActive?.isActive" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0, template: "<odx-icon [name]=\"iconName\" size=\"large\"></odx-icon>\n<span class=\"odx-rail-navigation-item__container\">\n <ng-content></ng-content>\n</span>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
18
+ RailNavigationItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RailNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ RailNavigationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: RailNavigationItemComponent, isStandalone: true, selector: "a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]", inputs: { isSelected: "isSelected", iconName: "iconName" }, host: { properties: { "class.is-selected": "isSelected || routerLinkActive?.isActive" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0, template: "<odx-icon [name]=\"iconName\" size=\"large\"></odx-icon>\n<span class=\"odx-rail-navigation-item__container\">\n <ng-content></ng-content>\n</span>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
20
20
  __decorate([
21
21
  Transform(coerceBooleanProperty),
22
22
  __metadata("design:type", Object)
@@ -25,7 +25,7 @@ RailNavigationItemComponent = __decorate([
25
25
  CSSComponent('rail-navigation-item')
26
26
  ], RailNavigationItemComponent);
27
27
  export { RailNavigationItemComponent };
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RailNavigationItemComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RailNavigationItemComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ standalone: true, selector: 'a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent], hostDirectives: [WithDisabledState, WithTabIndex], host: {
31
31
  '[class.is-selected]': 'isSelected || routerLinkActive?.isActive',
@@ -24,8 +24,8 @@ let RailNavigationComponent = class RailNavigationComponent {
24
24
  this.isOpenChange.emit(this.isOpen);
25
25
  }
26
26
  };
27
- RailNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RailNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- RailNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: RailNavigationComponent, isStandalone: true, selector: "odx-rail-navigation", inputs: { isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, host: { properties: { "class.is-open": "isOpen" } }, ngImport: i0, template: "<nav class=\"odx-rail-navigation__content\">\n <ng-content selector=\"a[odxRailNavigationItem], button[odxRailNavigationItem]\"></ng-content>\n</nav>\n<button odxRailNavigationItem class=\"odx-rail-navigation__expand\" iconName=\"chevron-right\" (click)=\"toggle()\"></button>\n", dependencies: [{ kind: "component", type: RailNavigationItemComponent, selector: "a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]", inputs: ["isSelected", "iconName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
27
+ RailNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RailNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
+ RailNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: RailNavigationComponent, isStandalone: true, selector: "odx-rail-navigation", inputs: { isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, host: { properties: { "class.is-open": "isOpen" } }, ngImport: i0, template: "<nav class=\"odx-rail-navigation__content\">\n <ng-content selector=\"a[odxRailNavigationItem], button[odxRailNavigationItem]\"></ng-content>\n</nav>\n<button odxRailNavigationItem class=\"odx-rail-navigation__expand\" iconName=\"chevron-right\" (click)=\"toggle()\"></button>\n", dependencies: [{ kind: "component", type: RailNavigationItemComponent, selector: "a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]", inputs: ["isSelected", "iconName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
29
  __decorate([
30
30
  Transform(coerceBooleanProperty),
31
31
  __metadata("design:type", Object)
@@ -34,7 +34,7 @@ RailNavigationComponent = __decorate([
34
34
  CSSComponent('rail-navigation')
35
35
  ], RailNavigationComponent);
36
36
  export { RailNavigationComponent };
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RailNavigationComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RailNavigationComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ standalone: true, selector: 'odx-rail-navigation', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [RailNavigationItemComponent], host: {
40
40
  '[class.is-open]': 'isOpen',
@@ -6,10 +6,10 @@ import * as i0 from "@angular/core";
6
6
  const modules = [RailNavigationComponent, RailNavigationItemComponent];
7
7
  export class RailNavigationModule {
8
8
  }
9
- RailNavigationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RailNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- RailNavigationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: RailNavigationModule, imports: [RailNavigationComponent, RailNavigationItemComponent], exports: [RailNavigationComponent, RailNavigationItemComponent, CoreModule] });
11
- RailNavigationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RailNavigationModule, imports: [modules, CoreModule] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: RailNavigationModule, decorators: [{
9
+ RailNavigationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RailNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ RailNavigationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: RailNavigationModule, imports: [RailNavigationComponent, RailNavigationItemComponent], exports: [RailNavigationComponent, RailNavigationItemComponent, CoreModule] });
11
+ RailNavigationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RailNavigationModule, imports: [modules, CoreModule] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: RailNavigationModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: modules,
@@ -64,8 +64,8 @@ let OptionComponent = class OptionComponent {
64
64
  this.selectControl.selectOption(this);
65
65
  }
66
66
  };
67
- OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
- OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: OptionComponent, isStandalone: true, selector: "odx-option", inputs: { value: "value", notFoundMessage: "notFoundMessage" }, host: { attributes: { "role": "option" }, listeners: { "click": "select($event)" }, properties: { "attr.aria-selected": "isSelected", "attr.aria-disabled": "disabled || null", "class.is-disabled": "disabled", "class.is-selected": "isSelected", "class.is-active": "isActive" } }, providers: [DisabledController.connect(), ReadonlyController.connect()], ngImport: i0, template: "<odx-checkbox [checked]=\"isSelected\" *ngIf=\"selectControl.multiple && !notFoundMessage; else single\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</odx-checkbox>\n\n<ng-template #single>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CheckboxComponent, selector: "odx-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
67
+ OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: OptionComponent, isStandalone: true, selector: "odx-option", inputs: { value: "value", notFoundMessage: "notFoundMessage" }, host: { attributes: { "role": "option" }, listeners: { "click": "select($event)" }, properties: { "attr.aria-selected": "isSelected", "attr.aria-disabled": "disabled || null", "class.is-disabled": "disabled", "class.is-selected": "isSelected", "class.is-active": "isActive" } }, providers: [DisabledController.connect(), ReadonlyController.connect()], ngImport: i0, template: "<odx-checkbox [checked]=\"isSelected\" *ngIf=\"selectControl.multiple && !notFoundMessage; else single\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</odx-checkbox>\n\n<ng-template #single>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CheckboxComponent, selector: "odx-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
69
69
  __decorate([
70
70
  Transform(coerceBooleanProperty),
71
71
  __metadata("design:type", Object)
@@ -75,7 +75,7 @@ OptionComponent = __decorate([
75
75
  __metadata("design:paramtypes", [])
76
76
  ], OptionComponent);
77
77
  export { OptionComponent };
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: OptionComponent, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: OptionComponent, decorators: [{
79
79
  type: Component,
80
80
  args: [{ standalone: true, selector: 'odx-option', imports: [CoreModule, DynamicViewDirective, CheckboxComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect(), ReadonlyController.connect()], host: {
81
81
  '[attr.aria-selected]': 'isSelected',
@@ -22,13 +22,13 @@ let SelectSearchFieldDirective = class SelectSearchFieldDirective {
22
22
  return this.element.nativeElement.value;
23
23
  }
24
24
  };
25
- SelectSearchFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SelectSearchFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
- SelectSearchFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: SelectSearchFieldDirective, isStandalone: true, selector: "input[odxSelectSearchField]", inputs: { notFoundContent: ["odxSelectSearchField", "notFoundContent"] }, host: { listeners: { "keydown.delete": "reset()" }, properties: { "class.odx-form-field-control": "true" } }, ngImport: i0 });
25
+ SelectSearchFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SelectSearchFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
+ SelectSearchFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.3", type: SelectSearchFieldDirective, isStandalone: true, selector: "input[odxSelectSearchField]", inputs: { notFoundContent: ["odxSelectSearchField", "notFoundContent"] }, host: { listeners: { "keydown.delete": "reset()" }, properties: { "class.odx-form-field-control": "true" } }, ngImport: i0 });
27
27
  SelectSearchFieldDirective = __decorate([
28
28
  CSSComponent('select__search')
29
29
  ], SelectSearchFieldDirective);
30
30
  export { SelectSearchFieldDirective };
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SelectSearchFieldDirective, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SelectSearchFieldDirective, decorators: [{
32
32
  type: Directive,
33
33
  args: [{
34
34
  standalone: true,
@@ -32,15 +32,15 @@ export class SelectSearchFilterPipe {
32
32
  return items.filter((item) => search(stringify(item), query));
33
33
  }
34
34
  }
35
- SelectSearchFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SelectSearchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
36
- SelectSearchFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SelectSearchFilterPipe, isStandalone: true, name: "odxSelectSearchFilter", pure: false });
35
+ SelectSearchFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SelectSearchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
36
+ SelectSearchFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: SelectSearchFilterPipe, isStandalone: true, name: "odxSelectSearchFilter", pure: false });
37
37
  __decorate([
38
38
  Pure,
39
39
  __metadata("design:type", Function),
40
40
  __metadata("design:paramtypes", [Object, String, Function]),
41
41
  __metadata("design:returntype", Object)
42
42
  ], SelectSearchFilterPipe.prototype, "filter", null);
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SelectSearchFilterPipe, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SelectSearchFilterPipe, decorators: [{
44
44
  type: Pipe,
45
45
  args: [{
46
46
  pure: false,
@@ -10,8 +10,8 @@ import { DropdownDirective } from '@odx/angular/components/dropdown';
10
10
  import { IconComponent } from '@odx/angular/components/icon';
11
11
  import { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';
12
12
  import { CSSComponent, CSSModifier } from '@odx/angular/internal';
13
+ import { fromQueryList } from '@odx/angular/rxjs';
13
14
  import { deferFn, injectElement, Transform } from '@odx/angular/utils';
14
- import { filter } from 'rxjs';
15
15
  import { OptionComponent } from './components';
16
16
  import { SelectSearchFieldDirective } from './directives';
17
17
  import { SELECT_CONTROL } from './select.tokens';
@@ -47,12 +47,13 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
47
47
  if (!this.options)
48
48
  return;
49
49
  this.keyManager = new ActiveDescendantKeyManager(this.options).withHomeAndEnd().skipPredicate((item) => item.disabled);
50
- this.options.changes.pipe(filter(() => this.isOpen)).subscribe(() => {
51
- deferFn(() => this.activateSelectedOption());
52
- this.triggerControllerChange();
50
+ fromQueryList(this.options).subscribe(() => {
51
+ this.updateSelectedOption();
52
+ if (this.isOpen) {
53
+ deferFn(() => this.activateSelectedOption());
54
+ }
53
55
  });
54
56
  this.searchField?.valueChange$.subscribe(() => this.triggerControllerChange());
55
- deferFn(() => this.updateSelectedOption());
56
57
  }
57
58
  registerOnChange(fn) {
58
59
  super.registerOnChange((value) => {
@@ -99,9 +100,10 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
99
100
  }
100
101
  this.keyManager?.onKeydown(event);
101
102
  }
103
+ handleFocusOut() {
104
+ this.onTouched();
105
+ }
102
106
  activateSelectedOption() {
103
- if (this.multiple)
104
- return;
105
107
  let activeIndex = this.options?.toArray().findIndex((option) => option.isSelected && !option.disabled);
106
108
  if (!activeIndex || activeIndex === -1) {
107
109
  activeIndex = this.options?.toArray().findIndex((option) => !option.disabled) ?? -1;
@@ -147,8 +149,8 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
147
149
  this.triggerControllerChange();
148
150
  }
149
151
  };
150
- SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
151
- SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SelectComponent, isStandalone: true, selector: "odx-select", inputs: { placeholder: "placeholder", isLoading: "isLoading", multiple: "multiple", selectedOptionTemplate: "selectedOptionTemplate", stringify: "stringify", identityMatcher: "identityMatcher" }, outputs: { change: "change" }, host: { listeners: { "click": "openDropdown($event)", "keydown": "openDropdown($event)" }, properties: { "attr.aria-disabled": "isDisabled || null", "class.is-open": "isOpen", "tabindex": "searchFieldEnabled || isDisabled ? -1 : 0", "attr.aria-multiselectable": "multiple" } }, providers: [
152
+ SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
+ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: SelectComponent, isStandalone: true, selector: "odx-select", inputs: { placeholder: "placeholder", isLoading: "isLoading", multiple: "multiple", selectedOptionTemplate: "selectedOptionTemplate", stringify: "stringify", identityMatcher: "identityMatcher" }, outputs: { change: "change" }, host: { listeners: { "click": "openDropdown($event)", "keydown": "openDropdown($event)", "focusout": "handleFocusOut()" }, properties: { "attr.aria-disabled": "isDisabled || null", "class.is-open": "isOpen", "tabindex": "searchFieldEnabled || isDisabled ? -1 : 0", "attr.aria-multiselectable": "multiple" } }, providers: [
152
154
  {
153
155
  provide: SELECT_CONTROL,
154
156
  useExisting: forwardRef(() => SelectComponent_1),
@@ -168,7 +170,7 @@ SelectComponent = SelectComponent_1 = __decorate([
168
170
  __metadata("design:paramtypes", [])
169
171
  ], SelectComponent);
170
172
  export { SelectComponent };
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SelectComponent, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SelectComponent, decorators: [{
172
174
  type: Component,
173
175
  args: [{ standalone: true, selector: 'odx-select', imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, OptionComponent, LoadingSpinnerModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
174
176
  {
@@ -210,5 +212,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
210
212
  }, {
211
213
  type: HostListener,
212
214
  args: ['keydown', ['$event']]
215
+ }], handleFocusOut: [{
216
+ type: HostListener,
217
+ args: ['focusout']
213
218
  }] } });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3NlbGVjdC9zcmMvbGliL3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFtQixvQkFBb0IsRUFBZSxNQUFNLGNBQWMsQ0FBQztBQUN2SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFT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QixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLENBQUMsaUJBRXJHLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDO3lCQUMvQztxQkFDRixRQUNLO3dCQUNKLHNCQUFzQixFQUFFLG9CQUFvQjt3QkFDNUMsaUJBQWlCLEVBQUUsUUFBUTt3QkFDM0IsWUFBWSxFQUFFLDJDQUEyQzt3QkFDekQsNkJBQTZCLEVBQUUsVUFBVTtxQkFDMUM7MEVBY1MsT0FBTztzQkFEaEIsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRTtnQkFJNUUsUUFBUTtzQkFEakIsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBa0JyQixXQUFXO3NCQURqQixLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFNQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsc0JBQXNCO3NCQUQ1QixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUtDLE1BQU07c0JBRlosTUFBTTtnQkFLQSxXQUFXO3NCQURqQixZQUFZO3VCQUFDLDBCQUEwQjtnQkEwRDlCLFlBQVk7c0JBRnJCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDaEMsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzLCBJZGVudGl0eU1hdGNoZXIsIE9EWF9JREVOVElUWV9NQVRDSEVSLCBTdHJpbmdpZnlGbiB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDdXN0b21Gb3JtQ29udHJvbCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBEeW5hbWljVmlld0RpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcbmltcG9ydCB7IERyb3Bkb3duRGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgTG9hZGluZ1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWZlckZuLCBpbmplY3RFbGVtZW50LCBUcmFuc2Zvcm0gfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWxlY3RDb250cm9sLCBTZWxlY3RDb250cm9sT3B0aW9uIH0gZnJvbSAnLi9hYnN0cmFjdCc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgU2VsZWN0U2VhcmNoRmllbGREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgU0VMRUNUX0NPTlRST0wgfSBmcm9tICcuL3NlbGVjdC50b2tlbnMnO1xuXG5AQ1NTQ29tcG9uZW50KCdzZWxlY3QnKVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LXNlbGVjdCcsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBEcm9wZG93bkRpcmVjdGl2ZSwgSWNvbkNvbXBvbmVudCwgRHluYW1pY1ZpZXdEaXJlY3RpdmUsIE9wdGlvbkNvbXBvbmVudCwgTG9hZGluZ1NwaW5uZXJNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNFTEVDVF9DT05UUk9MLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICB9LFxuICBdLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQgfHwgbnVsbCcsXG4gICAgJ1tjbGFzcy5pcy1vcGVuXSc6ICdpc09wZW4nLFxuICAgICdbdGFiaW5kZXhdJzogJ3NlYXJjaEZpZWxkRW5hYmxlZCB8fCBpc0Rpc2FibGVkID8gLTEgOiAwJyxcbiAgICAnW2F0dHIuYXJpYS1tdWx0aXNlbGVjdGFibGVdJzogJ211bHRpcGxlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50PFQgPSB1bmtub3duIHwgdW5rbm93bltdPiBleHRlbmRzIEN1c3RvbUZvcm1Db250cm9sPFQgfCBudWxsPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIFNlbGVjdENvbnRyb2w8VD4ge1xuICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2lzTG9hZGluZzogQm9vbGVhbklucHV0O1xuICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX211bHRpcGxlOiBCb29sZWFuSW5wdXQ7XG5cbiAgcHJpdmF0ZSBrZXlNYW5hZ2VyPzogQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8T3B0aW9uQ29tcG9uZW50PFQ+PjtcblxuICBwcm90ZWN0ZWQgc2VhcmNoRmllbGRFbmFibGVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzbW9vdGhTY3JvbGxFbmFibGVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzZWxlY3RlZE9wdGlvbjogT3B0aW9uQ29tcG9uZW50PFQ+IHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCBzZWxlY3RlZE9wdGlvblRleHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oT3B0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlLCBlbWl0RGlzdGluY3RDaGFuZ2VzT25seTogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgb3B0aW9ucz86IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+O1xuXG4gIEBWaWV3Q2hpbGQoRHJvcGRvd25EaXJlY3RpdmUpXG4gIHByb3RlY3RlZCBkcm9wZG93bj86IERyb3Bkb3duRGlyZWN0aXZlO1xuXG4gIHB1YmxpYyBnZXQgaGFzT3B0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duPy5pc09wZW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkT3B0aW9uQ29udGVudCgpOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogVCB8IG51bGwgfT4gfCBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbiA/IHRoaXMuc2VsZWN0ZWRPcHRpb25UZW1wbGF0ZSA/PyB0aGlzLnNlbGVjdGVkT3B0aW9uVGV4dCA6IG51bGw7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnJztcblxuICBAVHJhbnNmb3JtKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSlcbiAgQElucHV0KClcbiAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIEBUcmFuc2Zvcm0oY29lcmNlQm9vbGVhblByb3BlcnR5KVxuICBASW5wdXQoKVxuICBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRPcHRpb25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBUIH0+IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0cmluZ2lmeT86IFN0cmluZ2lmeUZuPFQgfCBudWxsPjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWRlbnRpdHlNYXRjaGVyOiBJZGVudGl0eU1hdGNoZXI8VCB8IG51bGw+ID0gaW5qZWN0KE9EWF9JREVOVElUWV9NQVRDSEVSKTtcblxuICBAT3V0cHV0KClcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIHB1YmxpYyBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChTZWxlY3RTZWFyY2hGaWVsZERpcmVjdGl2ZSlcbiAgcHVibGljIHNlYXJjaEZpZWxkPzogU2VsZWN0U2VhcmNoRmllbGREaXJlY3RpdmU7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIobnVsbCk7XG4gICAgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXModGhpcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcHRpb25zKSByZXR1cm47XG4gICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyKHRoaXMub3B0aW9ucykud2l0aEhvbWVBbmRFbmQoKS5za2lwUHJlZGljYXRlKChpdGVtKSA9PiBpdGVtLmRpc2FibGVkKTtcbiAgICB0aGlzLm9wdGlvbnMuY2hhbmdlcy5waXBlKGZpbHRlcigoKSA9PiB0aGlzLmlzT3BlbikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBkZWZlckZuKCgpID0+IHRoaXMuYWN0aXZhdGVTZWxlY3RlZE9wdGlvbigpKTtcbiAgICAgIHRoaXMudHJpZ2dlckNvbnRyb2xsZXJDaGFuZ2UoKTtcbiAgICB9KTtcbiAgICB0aGlzLnNlYXJjaEZpZWxkPy52YWx1ZUNoYW5nZSQuc3Vic2NyaWJlKCgpID0+IHRoaXMudHJpZ2dlckNvbnRyb2xsZXJDaGFuZ2UoKSk7XG4gICAgZGVmZXJGbigoKSA9PiB0aGlzLnVwZGF0ZVNlbGVjdGVkT3B0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogVCB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBzdXBlci5yZWdpc3Rlck9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZE9wdGlvbigpO1xuICAgICAgZm4odmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdE9wdGlvbihvcHRpb24/OiBTZWxlY3RDb250cm9sT3B0aW9uPFQgfCBUW10+IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChvcHRpb24gJiYgIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgb3B0aW9uLnN3aXRjaENoZWNrYm94KCk7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMubXVsdGlwbGVcbiAgICAgICAgPyB0aGlzLm9wdGlvbnNcbiAgICAgICAgICAgID8udG9BcnJheSgpXG4gICAgICAgICAgICAuZmlsdGVyKCh7IGlzU2VsZWN0ZWQgfSkgPT4gaXNTZWxlY3RlZClcbiAgICAgICAgICAgIC5tYXAoKHsgdmFsdWUgfSkgPT4gdmFsdWUpXG4gICAgICAgIDogb3B0aW9uLnZhbHVlO1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZSgodmFsdWUgYXMgVCkgPz8gbnVsbCk7XG4gICAgfVxuXG4gICAgIXRoaXMubXVsdGlwbGUgJiYgdGhpcy5kcm9wZG93bj8uY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc09wdGlvblNlbGVjdGVkKG9wdGlvbjogU2VsZWN0Q29udHJvbE9wdGlvbjxUIHwgVFtdPik6IGJvb2xlYW4ge1xuICAgIGlmIChvcHRpb24gJiYgIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKHRoaXMudmFsdWUgYXMgVFtdKS5pbmNsdWRlcyhvcHRpb24udmFsdWUgYXMgVCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5pZGVudGl0eU1hdGNoZXIob3B0aW9uLnZhbHVlIGFzIFQsIHRoaXMudmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsT3B0aW9uSW50b1ZpZXcoeyBlbGVtZW50IH06IFNlbGVjdENvbnRyb2xPcHRpb248VD4pOiB2b2lkIHtcbiAgICBjb25zdCBiZWhhdmlvciA9IHRoaXMuc21vb3RoU2Nyb2xsRW5hYmxlZCA/ICdzbW9vdGgnIDogdW5kZWZpbmVkO1xuICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnY2VudGVyJywgYmVoYXZpb3IgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb3BlbkRyb3Bkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaXNMb2FkaW5nKSByZXR1cm47XG4gICAgaWYgKHRoaXMuaXNPcGVuICYmIHRoaXMuaGFzT3B0aW9ucykge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnNlbGVjdE9wdGlvbih0aGlzLmtleU1hbmFnZXI/LmFjdGl2ZUl0ZW0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMua2V5TWFuYWdlcj8ub25LZXlkb3duKGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhY3RpdmF0ZVNlbGVjdGVkT3B0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSByZXR1cm47XG4gICAgbGV0IGFjdGl2ZUluZGV4ID0gdGhpcy5vcHRpb25zPy50b0FycmF5KCkuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbi5pc1NlbGVjdGVkICYmICFvcHRpb24uZGlzYWJsZWQpO1xuICAgIGlmICghYWN0aXZlSW5kZXggfHwgYWN0aXZlSW5kZXggPT09IC0xKSB7XG4gICAgICBhY3RpdmVJbmRleCA9IHRoaXMub3B0aW9ucz8udG9BcnJheSgpLmZpbmRJbmRleCgob3B0aW9uKSA9PiAhb3B0aW9uLmRpc2FibGVkKSA/PyAtMTtcbiAgICB9XG4gICAgdGhpcy5rZXlNYW5hZ2VyPy5zZXRBY3RpdmVJdGVtKGFjdGl2ZUluZGV4KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkRyb3Bkb3duT3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2YXRlU2VsZWN0ZWRPcHRpb24oKTtcbiAgICBpZiAoIXRoaXMuc2VhcmNoRmllbGRFbmFibGVkKSB7XG4gICAgICB0aGlzLnNlYXJjaEZpZWxkRW5hYmxlZCA9ICEhdGhpcy5zZWFyY2hGaWVsZDtcbiAgICAgIGRlZmVyRm4oKCkgPT4gdGhpcy5zZWFyY2hGaWVsZD8uZm9jdXMoKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uRHJvcGRvd25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVTbW9vdGhTY3JvbGwoKTtcbiAgICBpZiAodGhpcy5zZWFyY2hGaWVsZEVuYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoRmllbGRFbmFibGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Ecm9wZG93bkNsb3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaEZpZWxkPy5yZXNldCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRpc2FibGVTbW9vdGhTY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zbW9vdGhTY3JvbGxFbmFibGVkID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgZW5hYmxlU21vb3RoU2Nyb2xsKCk6IHZvaWQge1xuICAgIHRoaXMuc21vb3RoU2Nyb2xsRW5hYmxlZCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNlbGVjdGVkT3B0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM/LnRvQXJyYXkoKTtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gb3B0aW9ucz8uZmluZCgob3B0aW9uKSA9PiBvcHRpb24uaXNTZWxlY3RlZCkgPz8gbnVsbDtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvblRleHQgPVxuICAgICAgICBvcHRpb25zXG4gICAgICAgICAgPy5maWx0ZXIoKHsgaXNTZWxlY3RlZCB9KSA9PiBpc1NlbGVjdGVkKVxuICAgICAgICAgIC5tYXAoKG9wdGlvbikgPT4gdGhpcy5zdHJpbmdpZnk/LihvcHRpb24udmFsdWUpID8/IG9wdGlvbi5nZXRMYWJlbCgpKVxuICAgICAgICAgIC5qb2luKCcsICcpID8/IG51bGw7XG5cbiAgICAgIHRoaXMudHJpZ2dlckNvbnRyb2xsZXJDaGFuZ2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvblRleHQgPSB0aGlzLnNlbGVjdGVkT3B0aW9uID8gdGhpcy5zdHJpbmdpZnk/Lih0aGlzLnNlbGVjdGVkT3B0aW9uPy52YWx1ZSkgPz8gdGhpcy5zZWxlY3RlZE9wdGlvbi5nZXRMYWJlbCgpIDogbnVsbDtcbiAgICB0aGlzLnRyaWdnZXJDb250cm9sbGVyQ2hhbmdlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxuICBjbGFzcz1cIm9keC1zZWxlY3RfX3RyaWdnZXJcIlxuICBbb2R4RHJvcGRvd25dPVwiZHJvcGRvd25Db250ZW50XCJcbiAgW29keERyb3Bkb3duRGlzYWJsZWRdPVwiaXNEaXNhYmxlZCB8fCBpc1JlYWRvbmx5XCJcbiAgW29keERyb3Bkb3duT3B0aW9uc109XCJ7IG1hdGNoUmVmZXJlbmNlV2lkdGg6IHRydWUsIG9mZnNldDogNCB9XCJcbiAgW29keERyb3Bkb3duUmVmZXJlbmNlRWxlbWVudF09XCJlbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIlxuICBbb2R4RHJvcGRvd25TaG93TG9hZGVyXT1cImlzTG9hZGluZ1wiXG4gIChvZHhEcm9wZG93bkJlZm9yZU9wZW4pPVwib25Ecm9wZG93bk9wZW4oKVwiXG4gIChvZHhEcm9wZG93bkJlZm9yZUNsb3NlKT1cIm9uRHJvcGRvd25DbG9zZSgpXCJcbiAgKG9keERyb3Bkb3duQWZ0ZXJDbG9zZSk9XCJvbkRyb3Bkb3duQ2xvc2VkKClcIlxuICAob2R4RHJvcGRvd25BZnRlck9wZW4pPVwiZW5hYmxlU21vb3RoU2Nyb2xsKClcIlxuPlxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwiIXNlYXJjaEZpZWxkRW5hYmxlZFwiIFtuZ0lmRWxzZV09XCJzZWFyY2hGaWVsZFRlbXBsYXRlXCI+XG4gICAgPGRpdiBjbGFzcz1cIm9keC1zZWxlY3RfX3ZhbHVlXCIgKm5nSWY9XCJzZWxlY3RlZE9wdGlvbkNvbnRlbnQ7IGVsc2UgcGxhY2Vob2xkZXJUZW1wbGF0ZVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtvZHhEeW5hbWljVmlld109XCJzZWxlY3RlZE9wdGlvbkNvbnRlbnRcIiBbb2R4RHluYW1pY1ZpZXdDb250ZXh0XT1cInsgJGltcGxpY2l0OiB2YWx1ZSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICNwbGFjZWhvbGRlclRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJvZHgtc2VsZWN0X19wbGFjZWhvbGRlclwiPlxuICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICNzZWFyY2hGaWVsZFRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltvZHhTZWxlY3RTZWFyY2hGaWVsZF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxvZHgtaWNvbiBjbGFzcz1cIm9keC1zZWxlY3RfX2luZGljYXRvclwiIG5hbWU9XCJjaGV2cm9uLWRvd25cIj48L29keC1pY29uPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duQ29udGVudD5cbiAgPGRpdiBjbGFzcz1cIm9keC1zZWxlY3QtZHJvcGRvd25cIiByb2xlPVwibGlzdGJveFwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJoYXNPcHRpb25zXCIgW25nSWZFbHNlXT1cIm5vT3B0aW9uc1RlbXBsYXRlXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI25vT3B0aW9uc1RlbXBsYXRlPlxuICAgICAgPG9keC1vcHRpb24gZGlzYWJsZWQgbm90Rm91bmRNZXNzYWdlPlxuICAgICAgICA8bmctdGVtcGxhdGUgW29keER5bmFtaWNWaWV3XT1cInNlYXJjaEZpZWxkPy5ub3RGb3VuZENvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9vZHgtb3B0aW9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3NlbGVjdC9zcmMvbGliL3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFtQixvQkFBb0IsRUFBZSxNQUFNLGNBQWMsQ0FBQztBQUN2SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENB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LElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDO3lCQUMvQztxQkFDRixRQUNLO3dCQUNKLHNCQUFzQixFQUFFLG9CQUFvQjt3QkFDNUMsaUJBQWlCLEVBQUUsUUFBUTt3QkFDM0IsWUFBWSxFQUFFLDJDQUEyQzt3QkFDekQsNkJBQTZCLEVBQUUsVUFBVTtxQkFDMUM7MEVBY1MsT0FBTztzQkFEaEIsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRTtnQkFJNUUsUUFBUTtzQkFEakIsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBa0JyQixXQUFXO3NCQURqQixLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFNQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsc0JBQXNCO3NCQUQ1QixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUtDLE1BQU07c0JBRlosTUFBTTtnQkFLQSxXQUFXO3NCQURqQixZQUFZO3VCQUFDLDBCQUEwQjtnQkEyRDlCLFlBQVk7c0JBRnJCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDaEMsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZXpCLGNBQWM7c0JBRHZCLFlBQVk7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXMsIElkZW50aXR5TWF0Y2hlciwgT0RYX0lERU5USVRZX01BVENIRVIsIFN0cmluZ2lmeUZuIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IEN1c3RvbUZvcm1Db250cm9sIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9jdXN0b20tZm9ybS1jb250cm9sJztcbmltcG9ydCB7IER5bmFtaWNWaWV3RGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcnO1xuaW1wb3J0IHsgRHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQsIENTU01vZGlmaWVyIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGZyb21RdWVyeUxpc3QgfSBmcm9tICdAb2R4L2FuZ3VsYXIvcnhqcyc7XG5pbXBvcnQgeyBkZWZlckZuLCBpbmplY3RFbGVtZW50LCBUcmFuc2Zvcm0gfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0Q29udHJvbCwgU2VsZWN0Q29udHJvbE9wdGlvbiB9IGZyb20gJy4vYWJzdHJhY3QnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IFNlbGVjdFNlYXJjaEZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFNFTEVDVF9DT05UUk9MIH0gZnJvbSAnLi9zZWxlY3QudG9rZW5zJztcblxuQENTU0NvbXBvbmVudCgnc2VsZWN0JylcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ29keC1zZWxlY3QnLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgRHJvcGRvd25EaXJlY3RpdmUsIEljb25Db21wb25lbnQsIER5bmFtaWNWaWV3RGlyZWN0aXZlLCBPcHRpb25Db21wb25lbnQsIExvYWRpbmdTcGlubmVyTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTRUxFQ1RfQ09OVFJPTCxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXG4gICAgfSxcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkIHx8IG51bGwnLFxuICAgICdbY2xhc3MuaXMtb3Blbl0nOiAnaXNPcGVuJyxcbiAgICAnW3RhYmluZGV4XSc6ICdzZWFyY2hGaWVsZEVuYWJsZWQgfHwgaXNEaXNhYmxlZCA/IC0xIDogMCcsXG4gICAgJ1thdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXSc6ICdtdWx0aXBsZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudDxUID0gdW5rbm93biB8IHVua25vd25bXT4gZXh0ZW5kcyBDdXN0b21Gb3JtQ29udHJvbDxUIHwgbnVsbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBTZWxlY3RDb250cm9sPFQ+IHtcbiAgcHVibGljIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9pc0xvYWRpbmc6IEJvb2xlYW5JbnB1dDtcbiAgcHVibGljIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9tdWx0aXBsZTogQm9vbGVhbklucHV0O1xuXG4gIHByaXZhdGUga2V5TWFuYWdlcj86IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPE9wdGlvbkNvbXBvbmVudDxUPj47XG5cbiAgcHJvdGVjdGVkIHNlYXJjaEZpZWxkRW5hYmxlZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgc21vb3RoU2Nyb2xsRW5hYmxlZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRPcHRpb246IE9wdGlvbkNvbXBvbmVudDxUPiB8IG51bGwgPSBudWxsO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRPcHRpb25UZXh0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBAQ29udGVudENoaWxkcmVuKE9wdGlvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSwgZW1pdERpc3RpbmN0Q2hhbmdlc09ubHk6IHRydWUgfSlcbiAgcHJvdGVjdGVkIG9wdGlvbnM/OiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+PjtcblxuICBAVmlld0NoaWxkKERyb3Bkb3duRGlyZWN0aXZlKVxuICBwcm90ZWN0ZWQgZHJvcGRvd24/OiBEcm9wZG93bkRpcmVjdGl2ZTtcblxuICBwdWJsaWMgZ2V0IGhhc09wdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgcHVibGljIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kcm9wZG93bj8uaXNPcGVuO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZE9wdGlvbkNvbnRlbnQoKTogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IFQgfCBudWxsIH0+IHwgc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb24gPyB0aGlzLnNlbGVjdGVkT3B0aW9uVGVtcGxhdGUgPz8gdGhpcy5zZWxlY3RlZE9wdGlvblRleHQgOiBudWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQFRyYW5zZm9ybShjb2VyY2VCb29sZWFuUHJvcGVydHkpXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBAVHJhbnNmb3JtKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSlcbiAgQElucHV0KClcbiAgcHVibGljIG11bHRpcGxlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGVkT3B0aW9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogVCB9PiB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdHJpbmdpZnk/OiBTdHJpbmdpZnlGbjxUIHwgbnVsbD47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlkZW50aXR5TWF0Y2hlcjogSWRlbnRpdHlNYXRjaGVyPFQgfCBudWxsPiA9IGluamVjdChPRFhfSURFTlRJVFlfTUFUQ0hFUik7XG5cbiAgQE91dHB1dCgpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBwdWJsaWMgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0U2VhcmNoRmllbGREaXJlY3RpdmUpXG4gIHB1YmxpYyBzZWFyY2hGaWVsZD86IFNlbGVjdFNlYXJjaEZpZWxkRGlyZWN0aXZlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKG51bGwpO1xuICAgIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzKHRoaXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucykgcmV0dXJuO1xuICAgIHRoaXMua2V5TWFuYWdlciA9IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcih0aGlzLm9wdGlvbnMpLndpdGhIb21lQW5kRW5kKCkuc2tpcFByZWRpY2F0ZSgoaXRlbSkgPT4gaXRlbS5kaXNhYmxlZCk7XG4gICAgZnJvbVF1ZXJ5TGlzdCh0aGlzLm9wdGlvbnMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkT3B0aW9uKCk7XG4gICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgZGVmZXJGbigoKSA9PiB0aGlzLmFjdGl2YXRlU2VsZWN0ZWRPcHRpb24oKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zZWFyY2hGaWVsZD8udmFsdWVDaGFuZ2UkLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRyaWdnZXJDb250cm9sbGVyQ2hhbmdlKCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogVCB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBzdXBlci5yZWdpc3Rlck9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZE9wdGlvbigpO1xuICAgICAgZm4odmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdE9wdGlvbihvcHRpb24/OiBTZWxlY3RDb250cm9sT3B0aW9uPFQgfCBUW10+IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChvcHRpb24gJiYgIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgb3B0aW9uLnN3aXRjaENoZWNrYm94KCk7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMubXVsdGlwbGVcbiAgICAgICAgPyB0aGlzLm9wdGlvbnNcbiAgICAgICAgICAgID8udG9BcnJheSgpXG4gICAgICAgICAgICAuZmlsdGVyKCh7IGlzU2VsZWN0ZWQgfSkgPT4gaXNTZWxlY3RlZClcbiAgICAgICAgICAgIC5tYXAoKHsgdmFsdWUgfSkgPT4gdmFsdWUpXG4gICAgICAgIDogb3B0aW9uLnZhbHVlO1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZSgodmFsdWUgYXMgVCkgPz8gbnVsbCk7XG4gICAgfVxuXG4gICAgIXRoaXMubXVsdGlwbGUgJiYgdGhpcy5kcm9wZG93bj8uY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc09wdGlvblNlbGVjdGVkKG9wdGlvbjogU2VsZWN0Q29udHJvbE9wdGlvbjxUIHwgVFtdPik6IGJvb2xlYW4ge1xuICAgIGlmIChvcHRpb24gJiYgIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKHRoaXMudmFsdWUgYXMgVFtdKS5pbmNsdWRlcyhvcHRpb24udmFsdWUgYXMgVCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5pZGVudGl0eU1hdGNoZXIob3B0aW9uLnZhbHVlIGFzIFQsIHRoaXMudmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsT3B0aW9uSW50b1ZpZXcoeyBlbGVtZW50IH06IFNlbGVjdENvbnRyb2xPcHRpb248VD4pOiB2b2lkIHtcbiAgICBjb25zdCBiZWhhdmlvciA9IHRoaXMuc21vb3RoU2Nyb2xsRW5hYmxlZCA/ICdzbW9vdGgnIDogdW5kZWZpbmVkO1xuICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnY2VudGVyJywgYmVoYXZpb3IgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb3BlbkRyb3Bkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaXNMb2FkaW5nKSByZXR1cm47XG4gICAgaWYgKHRoaXMuaXNPcGVuICYmIHRoaXMuaGFzT3B0aW9ucykge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnNlbGVjdE9wdGlvbih0aGlzLmtleU1hbmFnZXI/LmFjdGl2ZUl0ZW0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMua2V5TWFuYWdlcj8ub25LZXlkb3duKGV2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgcHJvdGVjdGVkIGhhbmRsZUZvY3VzT3V0KCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWN0aXZhdGVTZWxlY3RlZE9wdGlvbigpOiB2b2lkIHtcbiAgICBsZXQgYWN0aXZlSW5kZXggPSB0aGlzLm9wdGlvbnM/LnRvQXJyYXkoKS5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uLmlzU2VsZWN0ZWQgJiYgIW9wdGlvbi5kaXNhYmxlZCk7XG4gICAgaWYgKCFhY3RpdmVJbmRleCB8fCBhY3RpdmVJbmRleCA9PT0gLTEpIHtcbiAgICAgIGFjdGl2ZUluZGV4ID0gdGhpcy5vcHRpb25zPy50b0FycmF5KCkuZmluZEluZGV4KChvcHRpb24pID0+ICFvcHRpb24uZGlzYWJsZWQpID8/IC0xO1xuICAgIH1cbiAgICB0aGlzLmtleU1hbmFnZXI/LnNldEFjdGl2ZUl0ZW0oYWN0aXZlSW5kZXgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRHJvcGRvd25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZhdGVTZWxlY3RlZE9wdGlvbigpO1xuICAgIGlmICghdGhpcy5zZWFyY2hGaWVsZEVuYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoRmllbGRFbmFibGVkID0gISF0aGlzLnNlYXJjaEZpZWxkO1xuICAgICAgZGVmZXJGbigoKSA9PiB0aGlzLnNlYXJjaEZpZWxkPy5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Ecm9wZG93bkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZVNtb290aFNjcm9sbCgpO1xuICAgIGlmICh0aGlzLnNlYXJjaEZpZWxkRW5hYmxlZCkge1xuICAgICAgdGhpcy5zZWFyY2hGaWVsZEVuYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvbkRyb3Bkb3duQ2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRmllbGQ/LnJlc2V0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGlzYWJsZVNtb290aFNjcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNtb290aFNjcm9sbEVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbmFibGVTbW9vdGhTY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zbW9vdGhTY3JvbGxFbmFibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWRPcHRpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucz8udG9BcnJheSgpO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zPy5maW5kKChvcHRpb24pID0+IG9wdGlvbi5pc1NlbGVjdGVkKSA/PyBudWxsO1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uVGV4dCA9XG4gICAgICAgIG9wdGlvbnNcbiAgICAgICAgICA/LmZpbHRlcigoeyBpc1NlbGVjdGVkIH0pID0+IGlzU2VsZWN0ZWQpXG4gICAgICAgICAgLm1hcCgob3B0aW9uKSA9PiB0aGlzLnN0cmluZ2lmeT8uKG9wdGlvbi52YWx1ZSkgPz8gb3B0aW9uLmdldExhYmVsKCkpXG4gICAgICAgICAgLmpvaW4oJywgJykgPz8gbnVsbDtcblxuICAgICAgdGhpcy50cmlnZ2VyQ29udHJvbGxlckNoYW5nZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uVGV4dCA9IHRoaXMuc2VsZWN0ZWRPcHRpb24gPyB0aGlzLnN0cmluZ2lmeT8uKHRoaXMuc2VsZWN0ZWRPcHRpb24/LnZhbHVlKSA/PyB0aGlzLnNlbGVjdGVkT3B0aW9uLmdldExhYmVsKCkgOiBudWxsO1xuICAgIHRoaXMudHJpZ2dlckNvbnRyb2xsZXJDaGFuZ2UoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gIGNsYXNzPVwib2R4LXNlbGVjdF9fdHJpZ2dlclwiXG4gIFtvZHhEcm9wZG93bl09XCJkcm9wZG93bkNvbnRlbnRcIlxuICBbb2R4RHJvcGRvd25EaXNhYmxlZF09XCJpc0Rpc2FibGVkIHx8IGlzUmVhZG9ubHlcIlxuICBbb2R4RHJvcGRvd25PcHRpb25zXT1cInsgbWF0Y2hSZWZlcmVuY2VXaWR0aDogdHJ1ZSwgb2Zmc2V0OiA0IH1cIlxuICBbb2R4RHJvcGRvd25SZWZlcmVuY2VFbGVtZW50XT1cImVsZW1lbnQubmF0aXZlRWxlbWVudFwiXG4gIFtvZHhEcm9wZG93blNob3dMb2FkZXJdPVwiaXNMb2FkaW5nXCJcbiAgKG9keERyb3Bkb3duQmVmb3JlT3Blbik9XCJvbkRyb3Bkb3duT3BlbigpXCJcbiAgKG9keERyb3Bkb3duQmVmb3JlQ2xvc2UpPVwib25Ecm9wZG93bkNsb3NlKClcIlxuICAob2R4RHJvcGRvd25BZnRlckNsb3NlKT1cIm9uRHJvcGRvd25DbG9zZWQoKVwiXG4gIChvZHhEcm9wZG93bkFmdGVyT3Blbik9XCJlbmFibGVTbW9vdGhTY3JvbGwoKVwiXG4+XG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCIhc2VhcmNoRmllbGRFbmFibGVkXCIgW25nSWZFbHNlXT1cInNlYXJjaEZpZWxkVGVtcGxhdGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwib2R4LXNlbGVjdF9fdmFsdWVcIiAqbmdJZj1cInNlbGVjdGVkT3B0aW9uQ29udGVudDsgZWxzZSBwbGFjZWhvbGRlclRlbXBsYXRlXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW29keER5bmFtaWNWaWV3XT1cInNlbGVjdGVkT3B0aW9uQ29udGVudFwiIFtvZHhEeW5hbWljVmlld0NvbnRleHRdPVwieyAkaW1wbGljaXQ6IHZhbHVlIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyVGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cIm9keC1zZWxlY3RfX3BsYWNlaG9sZGVyXCI+XG4gICAgICB7eyBwbGFjZWhvbGRlciB9fVxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3NlYXJjaEZpZWxkVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW29keFNlbGVjdFNlYXJjaEZpZWxkXVwiPjwvbmctY29udGVudD5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG9keC1pY29uIGNsYXNzPVwib2R4LXNlbGVjdF9faW5kaWNhdG9yXCIgbmFtZT1cImNoZXZyb24tZG93blwiPjwvb2R4LWljb24+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd25Db250ZW50PlxuICA8ZGl2IGNsYXNzPVwib2R4LXNlbGVjdC1kcm9wZG93blwiIHJvbGU9XCJsaXN0Ym94XCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImhhc09wdGlvbnNcIiBbbmdJZkVsc2VdPVwibm9PcHRpb25zVGVtcGxhdGVcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9PcHRpb25zVGVtcGxhdGU+XG4gICAgICA8b2R4LW9wdGlvbiBkaXNhYmxlZCBub3RGb3VuZE1lc3NhZ2U+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbb2R4RHluYW1pY1ZpZXddPVwic2VhcmNoRmllbGQ/Lm5vdEZvdW5kQ29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L29keC1vcHRpb24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -8,10 +8,10 @@ import * as i0 from "@angular/core";
8
8
  const modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent];
9
9
  export class SelectModule {
10
10
  }
11
- SelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- SelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SelectModule, imports: [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent], exports: [CoreModule, SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent] });
13
- SelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SelectModule, imports: [SelectComponent, OptionComponent, CoreModule] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SelectModule, decorators: [{
11
+ SelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ SelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: SelectModule, imports: [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent], exports: [CoreModule, SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent] });
13
+ SelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SelectModule, imports: [SelectComponent, OptionComponent, CoreModule] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SelectModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  imports: modules,
@@ -22,13 +22,13 @@ let SliderDirective = class SliderDirective {
22
22
  return (100 * (this.value - this.min)) / (this.max - this.min) || 0;
23
23
  }
24
24
  };
25
- SliderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
- SliderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: SliderDirective, isStandalone: true, selector: "input[type=range][odxSlider]", host: { properties: { "style.--odx-slider-filled.%": "this.valuePercentage" } }, hostDirectives: [{ directive: i1.WithDisabledState }], ngImport: i0 });
25
+ SliderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
+ SliderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.3", type: SliderDirective, isStandalone: true, selector: "input[type=range][odxSlider]", host: { properties: { "style.--odx-slider-filled.%": "this.valuePercentage" } }, hostDirectives: [{ directive: i1.WithDisabledState }], ngImport: i0 });
27
27
  SliderDirective = __decorate([
28
28
  CSSComponent('slider')
29
29
  ], SliderDirective);
30
30
  export { SliderDirective };
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SliderDirective, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SliderDirective, decorators: [{
32
32
  type: Directive,
33
33
  args: [{
34
34
  standalone: true,
@@ -53,8 +53,8 @@ let SpinboxComponent = class SpinboxComponent extends CustomFormControl {
53
53
  }), switchMap(({ type }) => (['mouseup', 'keyup'].includes(type) ? NEVER : timer(500, 100).pipe(startWith(undefined)))), this.takeUntilDestroyed());
54
54
  }
55
55
  };
56
- SpinboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SpinboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
- SpinboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SpinboxComponent, isStandalone: true, selector: "odx-spinbox", inputs: { max: "max", min: "min", step: "step" }, providers: [DisabledController.connect(), ReadonlyController.connect()], viewQueries: [{ propertyName: "decrementButton", first: true, predicate: ["decrementButton"], descendants: true }, { propertyName: "incrementButton", first: true, predicate: ["incrementButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-minus\" #decrementButton></button>\n<input\n odxControl\n class=\"odx-spinbox__input\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n type=\"number\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (keydown)=\"maxSteps($event)\"\n (change)=\"onInputChange()\"\n (blur)=\"checkValue()\"\n/>\n<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-plus\" #incrementButton></button>\n", dependencies: [{ kind: "directive", type: ControlDirective, selector: "[odxControl]", exportAs: ["odxControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
56
+ SpinboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SpinboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
+ SpinboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: SpinboxComponent, isStandalone: true, selector: "odx-spinbox", inputs: { max: "max", min: "min", step: "step" }, providers: [DisabledController.connect(), ReadonlyController.connect()], viewQueries: [{ propertyName: "decrementButton", first: true, predicate: ["decrementButton"], descendants: true }, { propertyName: "incrementButton", first: true, predicate: ["incrementButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-minus\" #decrementButton></button>\n<input\n odxControl\n class=\"odx-spinbox__input\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n type=\"number\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (keydown)=\"maxSteps($event)\"\n (change)=\"onInputChange()\"\n (blur)=\"checkValue()\"\n/>\n<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-plus\" #incrementButton></button>\n", dependencies: [{ kind: "directive", type: ControlDirective, selector: "[odxControl]", exportAs: ["odxControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
58
58
  __decorate([
59
59
  Transform(coerceNumberProperty),
60
60
  __metadata("design:type", Object)
@@ -72,7 +72,7 @@ SpinboxComponent = __decorate([
72
72
  __metadata("design:paramtypes", [])
73
73
  ], SpinboxComponent);
74
74
  export { SpinboxComponent };
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SpinboxComponent, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SpinboxComponent, decorators: [{
76
76
  type: Component,
77
77
  args: [{ standalone: true, selector: 'odx-spinbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ControlDirective], providers: [DisabledController.connect(), ReadonlyController.connect()], template: "<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-minus\" #decrementButton></button>\n<input\n odxControl\n class=\"odx-spinbox__input\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n type=\"number\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (keydown)=\"maxSteps($event)\"\n (change)=\"onInputChange()\"\n (blur)=\"checkValue()\"\n/>\n<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-plus\" #incrementButton></button>\n" }]
78
78
  }], ctorParameters: function () { return []; }, propDecorators: { decrementButton: [{
@@ -8,13 +8,13 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "@odx/angular";
9
9
  let SwitchComponent = class SwitchComponent extends CheckBoxControl {
10
10
  };
11
- SwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
- SwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SwitchComponent, isStandalone: true, selector: "odx-switch", host: { properties: { "class.is-active": "checked" } }, providers: [ReadonlyController.connect()], usesInheritance: true, hostDirectives: [{ directive: i1.WithDisabledState }], 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]=\"isRequired || null\"\n [attr.tabindex]=\"tabindex || 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: "15.2.3", ngImport: i0, type: SwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
+ SwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: SwitchComponent, isStandalone: true, selector: "odx-switch", host: { properties: { "class.is-active": "checked" } }, providers: [ReadonlyController.connect()], usesInheritance: true, hostDirectives: [{ directive: i1.WithDisabledState }], 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]=\"isRequired || null\"\n [attr.tabindex]=\"tabindex || 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
16
  export { SwitchComponent };
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SwitchComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SwitchComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ standalone: true, selector: 'odx-switch', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ControlDirective], providers: [ReadonlyController.connect()], hostDirectives: [WithDisabledState], host: {
20
20
  '[class.is-active]': 'checked',
@@ -6,10 +6,10 @@ import * as i0 from "@angular/core";
6
6
  const modules = [SwitchComponent, SwitchValidator];
7
7
  export class SwitchModule {
8
8
  }
9
- SwitchModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- SwitchModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SwitchModule, imports: [SwitchComponent, SwitchValidator], exports: [CoreModule, SwitchComponent, SwitchValidator] });
11
- SwitchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SwitchModule, imports: [SwitchComponent, CoreModule] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SwitchModule, decorators: [{
9
+ SwitchModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ SwitchModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: SwitchModule, imports: [SwitchComponent, SwitchValidator], exports: [CoreModule, SwitchComponent, SwitchValidator] });
11
+ SwitchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SwitchModule, imports: [SwitchComponent, CoreModule] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SwitchModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: modules,
@@ -3,15 +3,15 @@ import { CheckboxRequiredValidator, NG_VALIDATORS } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  export class SwitchValidator extends CheckboxRequiredValidator {
5
5
  }
6
- SwitchValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SwitchValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7
- SwitchValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: SwitchValidator, isStandalone: true, selector: "odx-switch[required][formControlName], odx-switch[required][formControl], odx-switch[required][ngModel]", providers: [
6
+ SwitchValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SwitchValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7
+ SwitchValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.3", type: SwitchValidator, isStandalone: true, selector: "odx-switch[required][formControlName], odx-switch[required][formControl], odx-switch[required][ngModel]", providers: [
8
8
  {
9
9
  provide: NG_VALIDATORS,
10
10
  useExisting: forwardRef(() => SwitchValidator),
11
11
  multi: true,
12
12
  },
13
13
  ], usesInheritance: true, ngImport: i0 });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SwitchValidator, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SwitchValidator, decorators: [{
15
15
  type: Directive,
16
16
  args: [{
17
17
  standalone: true,