@acorex/components 5.0.13 → 5.0.14

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 (196) hide show
  1. package/{esm2015/acorex-components.js → esm2020/acorex-components.mjs} +0 -0
  2. package/{esm2015/lib/alert/alert-button.component.js → esm2020/lib/alert/alert-button.component.mjs} +3 -3
  3. package/{esm2015/lib/alert/alert-contnet.component.js → esm2020/lib/alert/alert-contnet.component.mjs} +3 -3
  4. package/{esm2015/lib/alert/alert-footer.component.js → esm2020/lib/alert/alert-footer.component.mjs} +3 -3
  5. package/{esm2015/lib/alert/alert-suffix.component.js → esm2020/lib/alert/alert-suffix.component.mjs} +3 -3
  6. package/{esm2015/lib/alert/alert-title.component.js → esm2020/lib/alert/alert-title.component.mjs} +3 -3
  7. package/esm2020/lib/alert/alert.component.mjs +124 -0
  8. package/{esm2015/lib/alert/alert.module.js → esm2020/lib/alert/alert.module.mjs} +4 -4
  9. package/{esm2015/lib/alert/index.js → esm2020/lib/alert/index.mjs} +0 -0
  10. package/{esm2015/lib/avatar/avatar.component.js → esm2020/lib/avatar/avatar.component.mjs} +5 -12
  11. package/{esm2015/lib/avatar/avatar.module.js → esm2020/lib/avatar/avatar.module.mjs} +4 -4
  12. package/{esm2015/lib/avatar/index.js → esm2020/lib/avatar/index.mjs} +0 -0
  13. package/{esm2015/lib/badge/badge.component.js → esm2020/lib/badge/badge.component.mjs} +5 -11
  14. package/{esm2015/lib/badge/badge.module.js → esm2020/lib/badge/badge.module.mjs} +4 -4
  15. package/{esm2015/lib/badge/index.js → esm2020/lib/badge/index.mjs} +0 -0
  16. package/{esm2015/lib/base/common.module.js → esm2020/lib/base/common.module.mjs} +4 -4
  17. package/{esm2015/lib/base/custom-cdk-overlay.service.js → esm2020/lib/base/custom-cdk-overlay.service.mjs} +6 -6
  18. package/{esm2015/lib/base/drawing.class.js → esm2020/lib/base/drawing.class.mjs} +0 -0
  19. package/{esm2015/lib/base/events.class.js → esm2020/lib/base/events.class.mjs} +0 -0
  20. package/{esm2015/lib/base/index.js → esm2020/lib/base/index.mjs} +0 -0
  21. package/{esm2015/lib/base/mixin/base-components.class.js → esm2020/lib/base/mixin/base-components.class.mjs} +10 -10
  22. package/{esm2015/lib/base/mixin/button-mixin.class.js → esm2020/lib/base/mixin/button-mixin.class.mjs} +0 -0
  23. package/{esm2015/lib/base/mixin/clickable-mixin.class.js → esm2020/lib/base/mixin/clickable-mixin.class.mjs} +0 -0
  24. package/{esm2015/lib/base/mixin/constratctor.js → esm2020/lib/base/mixin/constratctor.mjs} +0 -0
  25. package/esm2020/lib/base/mixin/datalist-component.class.mjs +96 -0
  26. package/esm2020/lib/base/mixin/dropdown-mixin.class.mjs +89 -0
  27. package/{esm2015/lib/base/mixin/index.js → esm2020/lib/base/mixin/index.mjs} +0 -0
  28. package/{esm2015/lib/base/mixin/interactive-mixin.class.js → esm2020/lib/base/mixin/interactive-mixin.class.mjs} +9 -9
  29. package/{esm2015/lib/base/mixin/loading-mixin.class.js → esm2020/lib/base/mixin/loading-mixin.class.mjs} +0 -0
  30. package/{esm2015/lib/base/mixin/mixin.class.js → esm2020/lib/base/mixin/mixin.class.mjs} +0 -0
  31. package/{esm2015/lib/base/mixin/selection-component.class.js → esm2020/lib/base/mixin/selection-component.class.mjs} +0 -0
  32. package/{esm2015/lib/base/mixin/sizable-mixin.class.js → esm2020/lib/base/mixin/sizable-mixin.class.mjs} +0 -0
  33. package/{esm2015/lib/base/mixin/textbox-mixin.class.js → esm2020/lib/base/mixin/textbox-mixin.class.mjs} +0 -0
  34. package/esm2020/lib/base/mixin/value-mixin.class.mjs +196 -0
  35. package/{esm2015/lib/base/overlay.service.js → esm2020/lib/base/overlay.service.mjs} +3 -3
  36. package/{esm2015/lib/base/responsive.directive.js → esm2020/lib/base/responsive.directive.mjs} +3 -3
  37. package/{esm2015/lib/base/styles.class.js → esm2020/lib/base/styles.class.mjs} +0 -0
  38. package/{esm2015/lib/button/button-group.component.js → esm2020/lib/button/button-group.component.mjs} +5 -12
  39. package/{esm2015/lib/button/button-item.class.js → esm2020/lib/button/button-item.class.mjs} +0 -0
  40. package/{esm2015/lib/button/button-item.component.js → esm2020/lib/button/button-item.component.mjs} +3 -3
  41. package/esm2020/lib/button/button.component.mjs +65 -0
  42. package/{esm2015/lib/button/button.module.js → esm2020/lib/button/button.module.mjs} +4 -4
  43. package/{esm2015/lib/button/index.js → esm2020/lib/button/index.mjs} +0 -0
  44. package/{esm2015/lib/calendar/calendar.class.js → esm2020/lib/calendar/calendar.class.mjs} +3 -3
  45. package/{esm2015/lib/calendar/calendar.component.js → esm2020/lib/calendar/calendar.component.mjs} +5 -12
  46. package/{esm2015/lib/calendar/calendar.module.js → esm2020/lib/calendar/calendar.module.mjs} +4 -4
  47. package/{esm2015/lib/calendar/index.js → esm2020/lib/calendar/index.mjs} +0 -0
  48. package/{esm2015/lib/carousel/carousel-arrows.component.js → esm2020/lib/carousel/carousel-arrows.component.mjs} +3 -3
  49. package/{esm2015/lib/carousel/carousel-item.component.js → esm2020/lib/carousel/carousel-item.component.mjs} +3 -3
  50. package/{esm2015/lib/carousel/carousel-pager.component.js → esm2020/lib/carousel/carousel-pager.component.mjs} +3 -3
  51. package/{esm2015/lib/carousel/carousel-splidejs.class.js → esm2020/lib/carousel/carousel-splidejs.class.mjs} +0 -0
  52. package/{esm2015/lib/carousel/carousel.class.js → esm2020/lib/carousel/carousel.class.mjs} +3 -3
  53. package/{esm2015/lib/carousel/carousel.component.js → esm2020/lib/carousel/carousel.component.mjs} +7 -15
  54. package/{esm2015/lib/carousel/carousel.module.js → esm2020/lib/carousel/carousel.module.mjs} +4 -4
  55. package/{esm2015/lib/carousel/index.js → esm2020/lib/carousel/index.mjs} +0 -0
  56. package/esm2020/lib/checkbox/checkbox.component.mjs +51 -0
  57. package/{esm2015/lib/checkbox/checkbox.module.js → esm2020/lib/checkbox/checkbox.module.mjs} +4 -4
  58. package/{esm2015/lib/checkbox/index.js → esm2020/lib/checkbox/index.mjs} +0 -0
  59. package/esm2020/lib/datalist/datalist.component.mjs +73 -0
  60. package/{esm2015/lib/datalist/datalist.module.js → esm2020/lib/datalist/datalist.module.mjs} +4 -4
  61. package/{esm2015/lib/datalist/index.js → esm2020/lib/datalist/index.mjs} +0 -0
  62. package/esm2020/lib/datepicker/datepicker.component.mjs +125 -0
  63. package/{esm2015/lib/datepicker/datepicker.module.js → esm2020/lib/datepicker/datepicker.module.mjs} +4 -4
  64. package/{esm2015/lib/datepicker/index.js → esm2020/lib/datepicker/index.mjs} +0 -0
  65. package/{esm2015/lib/decorators/content.component.js → esm2020/lib/decorators/content.component.mjs} +3 -3
  66. package/{esm2015/lib/decorators/decorators.module.js → esm2020/lib/decorators/decorators.module.mjs} +4 -4
  67. package/{esm2015/lib/decorators/index.js → esm2020/lib/decorators/index.mjs} +0 -0
  68. package/{esm2015/lib/decorators/prefix.component.js → esm2020/lib/decorators/prefix.component.mjs} +3 -3
  69. package/{esm2015/lib/decorators/suffix.component.js → esm2020/lib/decorators/suffix.component.mjs} +3 -3
  70. package/{esm2015/lib/dialog/dialog.class.js → esm2020/lib/dialog/dialog.class.mjs} +0 -0
  71. package/{esm2015/lib/dialog/dialog.component.js → esm2020/lib/dialog/dialog.component.mjs} +5 -10
  72. package/{esm2015/lib/dialog/dialog.module.js → esm2020/lib/dialog/dialog.module.mjs} +4 -4
  73. package/esm2020/lib/dialog/dialog.service.mjs +145 -0
  74. package/{esm2015/lib/dialog/index.js → esm2020/lib/dialog/index.mjs} +0 -0
  75. package/{esm2015/lib/drawer/drawer-container.component.js → esm2020/lib/drawer/drawer-container.component.mjs} +3 -3
  76. package/{esm2015/lib/drawer/drawer-content.component.js → esm2020/lib/drawer/drawer-content.component.mjs} +3 -3
  77. package/{esm2015/lib/drawer/drawer.component.js → esm2020/lib/drawer/drawer.component.mjs} +3 -3
  78. package/{esm2015/lib/drawer/drawer.module.js → esm2020/lib/drawer/drawer.module.mjs} +4 -4
  79. package/{esm2015/lib/drawer/index.js → esm2020/lib/drawer/index.mjs} +0 -0
  80. package/esm2020/lib/dropdown/dropdown-panel.component.mjs +80 -0
  81. package/esm2020/lib/dropdown/dropdown.component.mjs +28 -0
  82. package/{esm2015/lib/dropdown/dropdown.module.js → esm2020/lib/dropdown/dropdown.module.mjs} +4 -4
  83. package/{esm2015/lib/dropdown/index.js → esm2020/lib/dropdown/index.mjs} +0 -0
  84. package/{esm2015/lib/form/form-field.component.js → esm2020/lib/form/form-field.component.mjs} +3 -3
  85. package/{esm2015/lib/form/form-field.module.js → esm2020/lib/form/form-field.module.mjs} +4 -4
  86. package/{esm2015/lib/form/form-hint.component.js → esm2020/lib/form/form-hint.component.mjs} +3 -3
  87. package/{esm2015/lib/form/form.component.js → esm2020/lib/form/form.component.mjs} +3 -3
  88. package/{esm2015/lib/form/index.js → esm2020/lib/form/index.mjs} +0 -0
  89. package/{esm2015/lib/icon/icon.component.js → esm2020/lib/icon/icon.component.mjs} +3 -3
  90. package/{esm2015/lib/icon/icon.module.js → esm2020/lib/icon/icon.module.mjs} +4 -4
  91. package/{esm2015/lib/icon/index.js → esm2020/lib/icon/index.mjs} +0 -0
  92. package/{esm2015/lib/input-mask/index.js → esm2020/lib/input-mask/index.mjs} +0 -0
  93. package/{esm2015/lib/input-mask/input-mask.component.js → esm2020/lib/input-mask/input-mask.component.mjs} +3 -3
  94. package/{esm2015/lib/input-mask/input-mask.module.js → esm2020/lib/input-mask/input-mask.module.mjs} +4 -4
  95. package/{esm2015/lib/label/index.js → esm2020/lib/label/index.mjs} +0 -0
  96. package/{esm2015/lib/label/label.component.js → esm2020/lib/label/label.component.mjs} +5 -10
  97. package/{esm2015/lib/label/label.module.js → esm2020/lib/label/label.module.mjs} +4 -4
  98. package/{esm2015/lib/loading/index.js → esm2020/lib/loading/index.mjs} +0 -0
  99. package/{esm2015/lib/loading/loading-spinner.component.js → esm2020/lib/loading/loading-spinner.component.mjs} +3 -3
  100. package/{esm2015/lib/loading/loading.component.js → esm2020/lib/loading/loading.component.mjs} +3 -3
  101. package/{esm2015/lib/loading/loading.directive.js → esm2020/lib/loading/loading.directive.mjs} +3 -3
  102. package/{esm2015/lib/loading/loading.module.js → esm2020/lib/loading/loading.module.mjs} +4 -4
  103. package/esm2020/lib/loading/loading.service.mjs +154 -0
  104. package/{esm2015/lib/number-box/index.js → esm2020/lib/number-box/index.mjs} +0 -0
  105. package/{esm2015/lib/number-box/number-box.component.js → esm2020/lib/number-box/number-box.component.mjs} +9 -17
  106. package/{esm2015/lib/number-box/number-box.module.js → esm2020/lib/number-box/number-box.module.mjs} +4 -4
  107. package/{esm2015/lib/page/base-page.class.js → esm2020/lib/page/base-page.class.mjs} +3 -3
  108. package/{esm2015/lib/page/index.js → esm2020/lib/page/index.mjs} +0 -0
  109. package/{esm2015/lib/page/page-footer.component.js → esm2020/lib/page/page-footer.component.mjs} +3 -3
  110. package/{esm2015/lib/page/page.component.js → esm2020/lib/page/page.component.mjs} +3 -3
  111. package/{esm2015/lib/page/page.module.js → esm2020/lib/page/page.module.mjs} +4 -4
  112. package/{esm2015/lib/password-box/index.js → esm2020/lib/password-box/index.mjs} +0 -0
  113. package/{esm2015/lib/password-box/password-box.component.js → esm2020/lib/password-box/password-box.component.mjs} +7 -15
  114. package/{esm2015/lib/password-box/password-box.module.js → esm2020/lib/password-box/password-box.module.mjs} +4 -4
  115. package/{esm2015/lib/popover/index.js → esm2020/lib/popover/index.mjs} +0 -0
  116. package/esm2020/lib/popover/popover.component.mjs +213 -0
  117. package/{esm2015/lib/popover/popover.module.js → esm2020/lib/popover/popover.module.mjs} +4 -4
  118. package/{esm2015/lib/popup/index.js → esm2020/lib/popup/index.mjs} +0 -0
  119. package/{esm2015/lib/popup/popup.component.js → esm2020/lib/popup/popup.component.mjs} +5 -10
  120. package/{esm2015/lib/popup/popup.module.js → esm2020/lib/popup/popup.module.mjs} +4 -4
  121. package/esm2020/lib/popup/popup.service.mjs +93 -0
  122. package/{esm2015/lib/radio/index.js → esm2020/lib/radio/index.mjs} +0 -0
  123. package/esm2020/lib/radio/radio.component.mjs +16 -0
  124. package/{esm2015/lib/radio/radio.module.js → esm2020/lib/radio/radio.module.mjs} +4 -4
  125. package/{esm2015/lib/range-slider/index.js → esm2020/lib/range-slider/index.mjs} +0 -0
  126. package/{esm2015/lib/range-slider/range-slider.component.js → esm2020/lib/range-slider/range-slider.component.mjs} +5 -11
  127. package/{esm2015/lib/range-slider/range-slider.module.js → esm2020/lib/range-slider/range-slider.module.mjs} +4 -4
  128. package/{esm2015/lib/selectbox/index.js → esm2020/lib/selectbox/index.mjs} +0 -0
  129. package/esm2020/lib/selectbox/selectbox.component.mjs +193 -0
  130. package/{esm2015/lib/selectbox/selectbox.module.js → esm2020/lib/selectbox/selectbox.module.mjs} +4 -4
  131. package/{esm2015/lib/selection-list/index.js → esm2020/lib/selection-list/index.mjs} +0 -0
  132. package/esm2020/lib/selection-list/selection-list.component.mjs +40 -0
  133. package/{esm2015/lib/selection-list/selection-list.module.js → esm2020/lib/selection-list/selection-list.module.mjs} +4 -4
  134. package/{esm2015/lib/side-menu/index.js → esm2020/lib/side-menu/index.mjs} +0 -0
  135. package/{esm2015/lib/side-menu/side-menu.component.js → esm2020/lib/side-menu/side-menu.component.mjs} +5 -11
  136. package/{esm2015/lib/side-menu/side-menu.module.js → esm2020/lib/side-menu/side-menu.module.mjs} +4 -4
  137. package/{esm2015/lib/switch/index.js → esm2020/lib/switch/index.mjs} +0 -0
  138. package/{esm2015/lib/switch/switch.component.js → esm2020/lib/switch/switch.component.mjs} +5 -12
  139. package/{esm2015/lib/switch/switch.module.js → esm2020/lib/switch/switch.module.mjs} +6 -7
  140. package/{esm2015/lib/tabs/index.js → esm2020/lib/tabs/index.mjs} +0 -0
  141. package/{esm2015/lib/tabs/tab-content.directive.js → esm2020/lib/tabs/tab-content.directive.mjs} +3 -3
  142. package/{esm2015/lib/tabs/tab-item.component.js → esm2020/lib/tabs/tab-item.component.mjs} +3 -3
  143. package/{esm2015/lib/tabs/tab-strip.component.js → esm2020/lib/tabs/tab-strip.component.mjs} +5 -12
  144. package/{esm2015/lib/tabs/tab-view.component.js → esm2020/lib/tabs/tab-view.component.mjs} +5 -12
  145. package/{esm2015/lib/tabs/tab.component.js → esm2020/lib/tabs/tab.component.mjs} +3 -3
  146. package/{esm2015/lib/tabs/tabs.class.js → esm2020/lib/tabs/tabs.class.mjs} +0 -0
  147. package/{esm2015/lib/tabs/tabs.component.js → esm2020/lib/tabs/tabs.component.mjs} +3 -3
  148. package/{esm2015/lib/tabs/tabs.module.js → esm2020/lib/tabs/tabs.module.mjs} +4 -4
  149. package/{esm2015/lib/textbox/index.js → esm2020/lib/textbox/index.mjs} +0 -0
  150. package/{esm2015/lib/textbox/textbox.component.js → esm2020/lib/textbox/textbox.component.mjs} +7 -15
  151. package/{esm2015/lib/textbox/textbox.module.js → esm2020/lib/textbox/textbox.module.mjs} +4 -4
  152. package/{esm2015/lib/time-box/index.js → esm2020/lib/time-box/index.mjs} +0 -0
  153. package/{esm2015/lib/time-box/time-box.component.js → esm2020/lib/time-box/time-box.component.mjs} +5 -13
  154. package/{esm2015/lib/time-box/time-box.module.js → esm2020/lib/time-box/time-box.module.mjs} +4 -4
  155. package/{esm2015/lib/toast/index.js → esm2020/lib/toast/index.mjs} +0 -0
  156. package/{esm2015/lib/toast/toast.class.js → esm2020/lib/toast/toast.class.mjs} +0 -0
  157. package/esm2020/lib/toast/toast.component.mjs +44 -0
  158. package/{esm2015/lib/toast/toast.module.js → esm2020/lib/toast/toast.module.mjs} +4 -4
  159. package/{esm2015/lib/toast/toast.service.js → esm2020/lib/toast/toast.service.mjs} +3 -3
  160. package/{esm2015/lib/tooltip/index.js → esm2020/lib/tooltip/index.mjs} +0 -0
  161. package/{esm2015/lib/tooltip/tooltip.component.js → esm2020/lib/tooltip/tooltip.component.mjs} +6 -13
  162. package/{esm2015/lib/tooltip/tooltip.directive.js → esm2020/lib/tooltip/tooltip.directive.mjs} +3 -3
  163. package/{esm2015/lib/tooltip/tooltip.module.js → esm2020/lib/tooltip/tooltip.module.mjs} +4 -4
  164. package/{esm2015/lib/validation/index.js → esm2020/lib/validation/index.mjs} +0 -0
  165. package/{esm2015/lib/validation/validation-rule.widget.js → esm2020/lib/validation/validation-rule.widget.mjs} +3 -3
  166. package/{esm2015/lib/validation/validation.class.js → esm2020/lib/validation/validation.class.mjs} +0 -0
  167. package/{esm2015/lib/validation/validation.module.js → esm2020/lib/validation/validation.module.mjs} +4 -4
  168. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  169. package/fesm2015/acorex-components.mjs +6423 -0
  170. package/fesm2015/acorex-components.mjs.map +1 -0
  171. package/{fesm2015/acorex-components.js → fesm2020/acorex-components.mjs} +481 -694
  172. package/fesm2020/acorex-components.mjs.map +1 -0
  173. package/lib/base/mixin/mixin.class.d.ts +1 -1
  174. package/lib/datepicker/datepicker.component.d.ts +1 -1
  175. package/package.json +21 -8
  176. package/bundles/acorex-components.umd.js +0 -7723
  177. package/bundles/acorex-components.umd.js.map +0 -1
  178. package/esm2015/lib/alert/alert.component.js +0 -130
  179. package/esm2015/lib/base/mixin/datalist-component.class.js +0 -97
  180. package/esm2015/lib/base/mixin/dropdown-mixin.class.js +0 -90
  181. package/esm2015/lib/base/mixin/value-mixin.class.js +0 -195
  182. package/esm2015/lib/button/button.component.js +0 -73
  183. package/esm2015/lib/checkbox/checkbox.component.js +0 -58
  184. package/esm2015/lib/datalist/datalist.component.js +0 -81
  185. package/esm2015/lib/datepicker/datepicker.component.js +0 -134
  186. package/esm2015/lib/dialog/dialog.service.js +0 -146
  187. package/esm2015/lib/dropdown/dropdown-panel.component.js +0 -87
  188. package/esm2015/lib/dropdown/dropdown.component.js +0 -35
  189. package/esm2015/lib/loading/loading.service.js +0 -155
  190. package/esm2015/lib/popover/popover.component.js +0 -220
  191. package/esm2015/lib/popup/popup.service.js +0 -94
  192. package/esm2015/lib/radio/radio.component.js +0 -22
  193. package/esm2015/lib/selectbox/selectbox.component.js +0 -201
  194. package/esm2015/lib/selection-list/selection-list.component.js +0 -47
  195. package/esm2015/lib/toast/toast.component.js +0 -50
  196. package/fesm2015/acorex-components.js.map +0 -1
@@ -6,9 +6,9 @@ export class AXFormHintComponent extends AXBaseComponentMixin {
6
6
  super(elementRef, cdr);
7
7
  }
8
8
  }
9
- AXFormHintComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXFormHintComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10
- AXFormHintComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXFormHintComponent, selector: "ax-form-hint", usesInheritance: true, ngImport: i0, template: ' <p class="ax-text-light-400 ax-text-xs ax-py-1 dark:ax-text-light-300"><ng-content></ng-content></p>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXFormHintComponent, decorators: [{
9
+ AXFormHintComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXFormHintComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10
+ AXFormHintComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AXFormHintComponent, selector: "ax-form-hint", usesInheritance: true, ngImport: i0, template: ' <p class="ax-text-light-400 ax-text-xs ax-py-1 dark:ax-text-light-300"><ng-content></ng-content></p>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXFormHintComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{
14
14
  selector: 'ax-form-hint',
@@ -37,9 +37,9 @@ export class AXFormComponent extends AXBaseComponentMixin {
37
37
  });
38
38
  }
39
39
  }
40
- AXFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXFormComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
41
- AXFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXFormComponent, selector: "ax-form", usesInheritance: true, ngImport: i0, template: '<div class="ax-form"><ng-content></ng-content></div>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXFormComponent, decorators: [{
40
+ AXFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXFormComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
41
+ AXFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AXFormComponent, selector: "ax-form", usesInheritance: true, ngImport: i0, template: '<div class="ax-form"><ng-content></ng-content></div>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXFormComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{
45
45
  selector: 'ax-form',
@@ -9,9 +9,9 @@ export class AXIconComponent extends AXSizableComponentMixin {
9
9
  return `ax-ic ${this.icon}`;
10
10
  }
11
11
  }
12
- AXIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXIconComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
13
- AXIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXIconComponent, selector: "ax-icon", inputs: { icon: "icon" }, host: { properties: { "class": "this.__iconClass" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXIconComponent, decorators: [{
12
+ AXIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXIconComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
13
+ AXIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AXIconComponent, selector: "ax-icon", inputs: { icon: "icon" }, host: { properties: { "class": "this.__iconClass" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXIconComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{
17
17
  selector: 'ax-icon',
@@ -6,10 +6,10 @@ const COMPONENT = [AXIconComponent];
6
6
  const MODULES = [CommonModule];
7
7
  export class AXIconModule {
8
8
  }
9
- AXIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- AXIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXIconModule, declarations: [AXIconComponent], imports: [CommonModule], exports: [AXIconComponent] });
11
- AXIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXIconModule, providers: [], imports: [[...MODULES]] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXIconModule, decorators: [{
9
+ AXIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ AXIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXIconModule, declarations: [AXIconComponent], imports: [CommonModule], exports: [AXIconComponent] });
11
+ AXIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXIconModule, providers: [], imports: [[...MODULES]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXIconModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [...COMPONENT],
@@ -18,9 +18,9 @@ export class AXInputMaskComponent {
18
18
  this._suffix = v;
19
19
  }
20
20
  }
21
- AXInputMaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXInputMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- AXInputMaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXInputMaskComponent, selector: "ax-input-mask", inputs: { prefix: "prefix", suffix: "suffix", showMaskTyped: "showMaskTyped", clearIfNotMatch: "clearIfNotMatch", mask: "mask" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXInputMaskComponent, decorators: [{
21
+ AXInputMaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXInputMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ AXInputMaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AXInputMaskComponent, selector: "ax-input-mask", inputs: { prefix: "prefix", suffix: "suffix", showMaskTyped: "showMaskTyped", clearIfNotMatch: "clearIfNotMatch", mask: "mask" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXInputMaskComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{
26
26
  selector: 'ax-input-mask',
@@ -8,10 +8,10 @@ const COMPONENT = [AXInputMaskComponent];
8
8
  const MODULES = [CommonModule, NgxMaskModule.forRoot()];
9
9
  export class AXInputMaskModule {
10
10
  }
11
- AXInputMaskModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXInputMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- AXInputMaskModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXInputMaskModule, declarations: [AXInputMaskComponent], imports: [CommonModule, i1.NgxMaskModule], exports: [AXInputMaskComponent] });
13
- AXInputMaskModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXInputMaskModule, providers: [], imports: [[...MODULES]] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXInputMaskModule, decorators: [{
11
+ AXInputMaskModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXInputMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ AXInputMaskModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXInputMaskModule, declarations: [AXInputMaskComponent], imports: [CommonModule, i1.NgxMaskModule], exports: [AXInputMaskComponent] });
13
+ AXInputMaskModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXInputMaskModule, providers: [], imports: [[...MODULES]] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXInputMaskModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  declarations: [...COMPONENT],
@@ -6,15 +6,10 @@ export class AXLabelComponent extends AXBaseComponentMixin {
6
6
  super(elementRef, cdr);
7
7
  }
8
8
  }
9
- AXLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLabelComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10
- AXLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXLabelComponent, selector: "ax-label", usesInheritance: true, ngImport: i0, template: "<label>\r\n <ng-content></ng-content>\r\n</label>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLabelComponent, decorators: [{
9
+ AXLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLabelComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10
+ AXLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AXLabelComponent, selector: "ax-label", usesInheritance: true, ngImport: i0, template: "<label>\r\n <ng-content></ng-content>\r\n</label>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLabelComponent, decorators: [{
12
12
  type: Component,
13
- args: [{
14
- selector: 'ax-label',
15
- templateUrl: './label.component.html',
16
- changeDetection: ChangeDetectionStrategy.OnPush,
17
- encapsulation: ViewEncapsulation.None
18
- }]
13
+ args: [{ selector: 'ax-label', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<label>\r\n <ng-content></ng-content>\r\n</label>" }]
19
14
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9sYWJlbC9sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2xhYmVsL2xhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxvQkFBb0IsRUFBQyxNQUFNLFNBQVMsQ0FBQzs7QUFROUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFvQjtJQUV4RCxZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDeEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDOzs2R0FKVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQix1RUNUN0Isc0RBRVE7MkZET0ssZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudE1peGlufSBmcm9tICcuLi9iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtbGFiZWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhMYWJlbENvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIHtcclxuXHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxsYWJlbD5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9sYWJlbD4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9sYWJlbC9sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2xhYmVsL2xhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxvQkFBb0IsRUFBQyxNQUFNLFNBQVMsQ0FBQzs7QUFROUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFvQjtJQUV4RCxZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDeEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDOzs2R0FKVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQix1RUNUN0Isc0RBRVE7MkZET0ssZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLFVBQVUsbUJBRUgsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnRNaXhpbn0gZnJvbSAnLi4vYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWxhYmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYTGFiZWxDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnRNaXhpbiB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bGFiZWw+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbGFiZWw+Il19
@@ -6,10 +6,10 @@ const COMPONENT = [AXLabelComponent];
6
6
  const MODULES = [CommonModule];
7
7
  export class AXLabelModule {
8
8
  }
9
- AXLabelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- AXLabelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLabelModule, declarations: [AXLabelComponent], imports: [CommonModule], exports: [AXLabelComponent] });
11
- AXLabelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLabelModule, providers: [], imports: [[...MODULES]] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLabelModule, decorators: [{
9
+ AXLabelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ AXLabelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLabelModule, declarations: [AXLabelComponent], imports: [CommonModule], exports: [AXLabelComponent] });
11
+ AXLabelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLabelModule, providers: [], imports: [[...MODULES]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLabelModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [...COMPONENT],
@@ -2,8 +2,8 @@ import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class AXLoadingSpinnerComponent {
4
4
  }
5
- AXLoadingSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- AXLoadingSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", ngImport: i0, template: `
5
+ AXLoadingSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ AXLoadingSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", ngImport: i0, template: `
7
7
  <svg version="1.1" width="100" id="loader-1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
8
8
  x="0px" y="0px" viewBox="0 0 50 50" xml:space="preserve">
9
9
  <path fill="current"
@@ -13,7 +13,7 @@ AXLoadingSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
13
13
  </path>
14
14
  </svg>
15
15
  `, isInline: true });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingSpinnerComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingSpinnerComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{
19
19
  selector: 'ax-loading-spinner',
@@ -29,11 +29,11 @@ export class AXLoadingComponent extends AXBaseComponentMixin {
29
29
  this._cdr.markForCheck();
30
30
  }
31
31
  }
32
- AXLoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
33
- AXLoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXLoadingComponent, selector: "ax-loading", inputs: { visible: "visible", type: "type" }, outputs: { visibleChange: "visibleChange" }, host: { classAttribute: "ax-loading" }, usesInheritance: true, ngImport: i0, template: `
32
+ AXLoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
33
+ AXLoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AXLoadingComponent, selector: "ax-loading", inputs: { visible: "visible", type: "type" }, outputs: { visibleChange: "visibleChange" }, host: { classAttribute: "ax-loading" }, usesInheritance: true, ngImport: i0, template: `
34
34
  <ng-template [cdkPortalOutlet]="_selectedPortal" ></ng-template>
35
35
  `, isInline: true, directives: [{ type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{
39
39
  selector: 'ax-loading',
@@ -53,9 +53,9 @@ export class AXLoadingDirective {
53
53
  this.renderer.addClass(this.overlayElement, OVERLAY_CLASS);
54
54
  }
55
55
  }
56
- AXLoadingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
57
- AXLoadingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: AXLoadingDirective, selector: "[axIsLoading]", inputs: { isLoading: ["axIsLoading", "isLoading"] }, usesOnChanges: true, ngImport: i0 });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingDirective, decorators: [{
56
+ AXLoadingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
57
+ AXLoadingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: AXLoadingDirective, selector: "[axIsLoading]", inputs: { isLoading: ["axIsLoading", "isLoading"] }, usesOnChanges: true, ngImport: i0 });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingDirective, decorators: [{
59
59
  type: Directive,
60
60
  args: [{
61
61
  selector: '[axIsLoading]'
@@ -20,10 +20,10 @@ export class AXLoadingModule {
20
20
  });
21
21
  }
22
22
  }
23
- AXLoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
- AXLoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent], imports: [CommonModule, OverlayModule, PortalModule], exports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent] });
25
- AXLoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingModule, providers: [], imports: [[...MODULES]] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingModule, decorators: [{
23
+ AXLoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
+ AXLoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent], imports: [CommonModule, OverlayModule, PortalModule], exports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent] });
25
+ AXLoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingModule, providers: [], imports: [[...MODULES]] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
29
  declarations: [...COMPONENT],
@@ -0,0 +1,154 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { asyncScheduler, BehaviorSubject } from 'rxjs';
3
+ import { finalize, observeOn } from 'rxjs/operators';
4
+ import { AXLoadingComponent } from './loading.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../base/overlay.service";
7
+ const DEFAULT_LOADER_ID = '_DEFAULT';
8
+ /**
9
+ * Used for centrally setting/unsetting loading flags for components or services.
10
+ * Should be connected to global HTTP interceptor which will unset
11
+ * the loading flags in case an error happens using the clearLoadings() method.
12
+ *
13
+ * FAQ:
14
+ * Q: How to change loading flag for a parent component?
15
+ * A: Inject the parent component as a dependency to your constructor and
16
+ * call loadingService.setLoading(parentComponent, STATE).
17
+ *
18
+ * Q: How to change loading flag for a child component?
19
+ * A: Use a @ViewChild with component selector and pass the
20
+ * reference of the child to setLoading method.
21
+ *
22
+ * Q: I need more loading indicators in my components. How to?
23
+ * A: Assign a LoaderId to each indicator and then use them
24
+ * with calls to methods of this service.
25
+ */
26
+ export class AXLoadingService {
27
+ constructor(zoneRef, overlayService) {
28
+ this.zoneRef = zoneRef;
29
+ this.overlayService = overlayService;
30
+ // WeakMap will remove components from itself upon
31
+ // their garbage collection by JS runtime.
32
+ this.loadingStates = new WeakMap();
33
+ // Both loading state maps are kept in-sync such that
34
+ // they can be used by both sync and async methods.
35
+ this.loadingStates$ = new WeakMap();
36
+ this._stack = [];
37
+ }
38
+ show(location) {
39
+ let host;
40
+ if (location) {
41
+ host = location.closest('.ax-loading-host');
42
+ }
43
+ const containerElement = (host || location);
44
+ const com = this.overlayService.show(AXLoadingComponent, {}, {
45
+ closeOnClickOutside: false,
46
+ containerElement,
47
+ hasBackdrop: true,
48
+ backdropClass: ['ax-loading-overlay'],
49
+ scroll: 'block'
50
+ });
51
+ com.instance.visible = true;
52
+ const id = new Date().getTime();
53
+ this._stack.push({ id, component: com });
54
+ return id;
55
+ }
56
+ hide(id) {
57
+ const f = this._stack.find(c => c.id === id);
58
+ if (f) {
59
+ f.component.dispose();
60
+ this._stack = this._stack.filter(c => c.id !== id);
61
+ }
62
+ }
63
+ // Observable creation operator.
64
+ // LoaderId can be used when there are multiple loading indicators associated to a single context.
65
+ // Context can be any object, though in practice, components and services will be the most common contexts.
66
+ // loaderId is a non-mandatory parameter - when not specified, a default loaderId is used.
67
+ // Such a scenario is used when your context has contains only one loading indicator.
68
+ doLoading(source$, context, loaderId) {
69
+ this.startLoading(context, loaderId);
70
+ return source$.pipe(observeOn(asyncScheduler), finalize(() => this.endLoading(context, loaderId)));
71
+ }
72
+ // To be used in your html templates.
73
+ // Returns a boolean indicating whether a given loader is active in a given context.
74
+ // If loaderId is unspecified, the method will return a logical disjunction of all
75
+ // loader states in the context.
76
+ isLoading(context, loaderId) {
77
+ const loaderStates = this.loadingStates.get(context);
78
+ if (!loaderStates) {
79
+ return false;
80
+ }
81
+ else {
82
+ if (loaderId !== undefined) {
83
+ return loaderStates.get(this.getLoaderId(loaderId)) ?? false;
84
+ }
85
+ else {
86
+ return [...loaderStates.values()].filter(state => state).length > 0;
87
+ }
88
+ }
89
+ }
90
+ // To be used in your html templates with async pipes.
91
+ // Returns an Observable of booleans indicating whether a given loader is active in a given context.
92
+ isLoading$(context, loaderId) {
93
+ const coalescedLoaderId = this.getLoaderId(loaderId);
94
+ if (!this.hasLoadingStates(context, coalescedLoaderId)) {
95
+ this.setLoadingState(context, false, loaderId);
96
+ }
97
+ return this.loadingStates$.get(context).get(coalescedLoaderId);
98
+ }
99
+ // The startLoading and endLoading methods are intended to be used when handling
100
+ // complex scenarios where a need for extended usage flexibility is desired.
101
+ startLoading(context, loaderId) {
102
+ this.setLoadingState(context, true, this.getLoaderId(loaderId));
103
+ }
104
+ endLoading(context, loaderId) {
105
+ this.setLoadingState(context, false, this.getLoaderId(loaderId));
106
+ }
107
+ // To be called by middleware code (HTTP interceptors/routing listeners, etc.).
108
+ clearLoadings() {
109
+ this.loadingStates = new WeakMap();
110
+ this.loadingStates$ = new WeakMap();
111
+ }
112
+ setLoadingState(context, state, loaderId) {
113
+ if (!this.hasLoadingStates(context, loaderId)) {
114
+ if (this.hasContextLoadingState(context)) {
115
+ this.loadingStates.get(context).set(loaderId, state);
116
+ this.loadingStates$.get(context).set(loaderId, new BehaviorSubject(state));
117
+ }
118
+ else {
119
+ this.loadingStates.set(context, new Map([
120
+ [loaderId, state]
121
+ ]));
122
+ this.loadingStates$.set(context, new Map([
123
+ [loaderId, new BehaviorSubject(state)]
124
+ ]));
125
+ }
126
+ }
127
+ else {
128
+ // @ts-ignore - loadingStates[context] is surely defined in this branch
129
+ this.loadingStates.get(context).set(loaderId, state);
130
+ this.loadingStates$.get(context).get(loaderId).next(state);
131
+ }
132
+ }
133
+ hasLoadingStates(context, loaderId) {
134
+ return this.hasContextLoadingState(context) && this.hasLoaderLoadingState(context, loaderId);
135
+ }
136
+ hasContextLoadingState(context) {
137
+ return this.loadingStates.has(context) && this.loadingStates$.has(context);
138
+ }
139
+ hasLoaderLoadingState(context, loaderId) {
140
+ return this.loadingStates.get(context).has(loaderId) && this.loadingStates$.get(context).has(loaderId);
141
+ }
142
+ getLoaderId(loaderId) {
143
+ return loaderId ?? DEFAULT_LOADER_ID;
144
+ }
145
+ }
146
+ AXLoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingService, deps: [{ token: i0.NgZone }, { token: i1.AXOverlayService }], target: i0.ɵɵFactoryTarget.Injectable });
147
+ AXLoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingService, providedIn: 'root' });
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AXLoadingService, decorators: [{
149
+ type: Injectable,
150
+ args: [{
151
+ providedIn: 'root'
152
+ }]
153
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.AXOverlayService }]; } });
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9sb2FkaW5nL2xvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUl6RCxNQUFNLGlCQUFpQixHQUFhLFVBQVUsQ0FBQztBQUUvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBUXpCLFlBQXNCLE9BQWUsRUFBVSxjQUFnQztRQUF6RCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBUC9FLGtEQUFrRDtRQUNsRCwwQ0FBMEM7UUFDaEMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBMEMsQ0FBQztRQUNoRixxREFBcUQ7UUFDckQsbURBQW1EO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQTJELENBQUM7UUFJMUYsV0FBTSxHQUFrRCxFQUFFLENBQUM7SUFGZ0IsQ0FBQztJQUlwRixJQUFJLENBQUMsUUFBa0I7UUFDbkIsSUFBSSxJQUFhLENBQUM7UUFDbEIsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQUksSUFBSSxRQUFRLENBQW1CLENBQUM7UUFDOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFD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OzZHQTNJUSxnQkFBZ0I7aUhBQWhCLGdCQUFnQixjQUZiLE1BQU07MkZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBhc3luY1NjaGVkdWxlciwgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCBvYnNlcnZlT24gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFYT3ZlcmxheVNlcnZpY2UsIEFYT3ZlcmxheVZpZXdSZWYgfSBmcm9tICcuLi9iYXNlL292ZXJsYXkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFYTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy5jb21wb25lbnQnO1xyXG5cclxudHlwZSBMb2FkaW5nQ29udGV4dCA9IG9iamVjdDtcclxudHlwZSBMb2FkZXJJZCA9IHN0cmluZyB8IG51bWJlcjsgLy8gZXhwZWN0ZWQgZW51bSB2YWx1ZXNcclxuY29uc3QgREVGQVVMVF9MT0FERVJfSUQ6IExvYWRlcklkID0gJ19ERUZBVUxUJztcclxuXHJcbi8qKlxyXG4gKiBVc2VkIGZvciBjZW50cmFsbHkgc2V0dGluZy91bnNldHRpbmcgbG9hZGluZyBmbGFncyBmb3IgY29tcG9uZW50cyBvciBzZXJ2aWNlcy5cclxuICogU2hvdWxkIGJlIGNvbm5lY3RlZCB0byBnbG9iYWwgSFRUUCBpbnRlcmNlcHRvciB3aGljaCB3aWxsIHVuc2V0XHJcbiAqIHRoZSBsb2FkaW5nIGZsYWdzIGluIGNhc2UgYW4gZXJyb3IgaGFwcGVucyB1c2luZyB0aGUgY2xlYXJMb2FkaW5ncygpIG1ldGhvZC5cclxuICpcclxuICogRkFROlxyXG4gKiBROiBIb3cgdG8gY2hhbmdlIGxvYWRpbmcgZmxhZyBmb3IgYSBwYXJlbnQgY29tcG9uZW50P1xyXG4gKiBBOiBJbmplY3QgdGhlIHBhcmVudCBjb21wb25lbnQgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgY29uc3RydWN0b3IgYW5kXHJcbiAqICAgIGNhbGwgbG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhwYXJlbnRDb21wb25lbnQsIFNUQVRFKS5cclxuICogXHJcbiAqIFE6IEhvdyB0byBjaGFuZ2UgbG9hZGluZyBmbGFnIGZvciBhIGNoaWxkIGNvbXBvbmVudD9cclxuICogQTogVXNlIGEgQFZpZXdDaGlsZCB3aXRoIGNvbXBvbmVudCBzZWxlY3RvciBhbmQgcGFzcyB0aGVcclxuICogICAgcmVmZXJlbmNlIG9mIHRoZSBjaGlsZCB0byBzZXRMb2FkaW5nIG1ldGhvZC5cclxuICpcclxuICogUTogSSBuZWVkIG1vcmUgbG9hZGluZyBpbmRpY2F0b3JzIGluIG15IGNvbXBvbmVudHMuIEhvdyB0bz9cclxuICogQTogQXNzaWduIGEgTG9hZGVySWQgdG8gZWFjaCBpbmRpY2F0b3IgYW5kIHRoZW4gdXNlIHRoZW1cclxuICogICAgd2l0aCBjYWxscyB0byBtZXRob2RzIG9mIHRoaXMgc2VydmljZS5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhMb2FkaW5nU2VydmljZSB7XHJcbiAgICAvLyBXZWFrTWFwIHdpbGwgcmVtb3ZlIGNvbXBvbmVudHMgZnJvbSBpdHNlbGYgdXBvblxyXG4gICAgLy8gdGhlaXIgZ2FyYmFnZSBjb2xsZWN0aW9uIGJ5IEpTIHJ1bnRpbWUuXHJcbiAgICBwcm90ZWN0ZWQgbG9hZGluZ1N0YXRlcyA9IG5ldyBXZWFrTWFwPExvYWRpbmdDb250ZXh0LCBNYXA8TG9hZGVySWQsIGJvb2xlYW4+PigpO1xyXG4gICAgLy8gQm90aCBsb2FkaW5nIHN0YXRlIG1hcHMgYXJlIGtlcHQgaW4tc3luYyBzdWNoIHRoYXRcclxuICAgIC8vIHRoZXkgY2FuIGJlIHVzZWQgYnkgYm90aCBzeW5jIGFuZCBhc3luYyBtZXRob2RzLlxyXG4gICAgcHJvdGVjdGVkIGxvYWRpbmdTdGF0ZXMkID0gbmV3IFdlYWtNYXA8TG9hZGluZ0NvbnRleHQsIE1hcDxMb2FkZXJJZCwgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+Pj4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgem9uZVJlZjogTmdab25lLCBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBBWE92ZXJsYXlTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBwcml2YXRlIF9zdGFjazogeyBpZDogbnVtYmVyLCBjb21wb25lbnQ6IEFYT3ZlcmxheVZpZXdSZWYgfVtdID0gW107XHJcblxyXG4gICAgc2hvdyhsb2NhdGlvbj86IEVsZW1lbnQpOiBudW1iZXIge1xyXG4gICAgICAgIGxldCBob3N0OiBFbGVtZW50O1xyXG4gICAgICAgIGlmIChsb2NhdGlvbikge1xyXG4gICAgICAgICAgICBob3N0ID0gbG9jYXRpb24uY2xvc2VzdCgnLmF4LWxvYWRpbmctaG9zdCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gKGhvc3QgfHwgbG9jYXRpb24pIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbSA9IHRoaXMub3ZlcmxheVNlcnZpY2Uuc2hvdyhBWExvYWRpbmdDb21wb25lbnQsIHt9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBjbG9zZU9uQ2xpY2tPdXRzaWRlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lckVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IFsnYXgtbG9hZGluZy1vdmVybGF5J10sXHJcbiAgICAgICAgICAgICAgICBzY3JvbGw6ICdibG9jaydcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgY29tLmluc3RhbmNlLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IGlkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5fc3RhY2sucHVzaCh7IGlkLCBjb21wb25lbnQ6IGNvbSB9KTtcclxuICAgICAgICByZXR1cm4gaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaGlkZShpZCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGYgPSB0aGlzLl9zdGFjay5maW5kKGMgPT4gYy5pZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmIChmKSB7XHJcbiAgICAgICAgICAgIGYuY29tcG9uZW50LmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5fc3RhY2sgPSB0aGlzLl9zdGFjay5maWx0ZXIoYyA9PiBjLmlkICE9PSBpZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBPYnNlcnZhYmxlIGNyZWF0aW9uIG9wZXJhdG9yLlxyXG4gICAgLy8gTG9hZGVySWQgY2FuIGJlIHVzZWQgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgbG9hZGluZyBpbmRpY2F0b3JzIGFzc29jaWF0ZWQgdG8gYSBzaW5nbGUgY29udGV4dC5cclxuICAgIC8vIENvbnRleHQgY2FuIGJlIGFueSBvYmplY3QsIHRob3VnaCBpbiBwcmFjdGljZSwgY29tcG9uZW50cyBhbmQgc2VydmljZXMgd2lsbCBiZSB0aGUgbW9zdCBjb21tb24gY29udGV4dHMuXHJcbiAgICAvLyBsb2FkZXJJZCBpcyBhIG5vbi1tYW5kYXRvcnkgcGFyYW1ldGVyIC0gd2hlbiBub3Qgc3BlY2lmaWVkLCBhIGRlZmF1bHQgbG9hZGVySWQgaXMgdXNlZC5cclxuICAgIC8vIFN1Y2ggYSBzY2VuYXJpbyBpcyB1c2VkIHdoZW4geW91ciBjb250ZXh0IGhhcyBjb250YWlucyBvbmx5IG9uZSBsb2FkaW5nIGluZGljYXRvci5cclxuICAgIGRvTG9hZGluZzxWPihzb3VyY2UkOiBPYnNlcnZhYmxlPFY+LCBjb250ZXh0OiBMb2FkaW5nQ29udGV4dCwgbG9hZGVySWQ/OiBMb2FkZXJJZCk6IE9ic2VydmFibGU8Vj4ge1xyXG4gICAgICAgIHRoaXMuc3RhcnRMb2FkaW5nKGNvbnRleHQsIGxvYWRlcklkKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZSQucGlwZShcclxuICAgICAgICAgICAgb2JzZXJ2ZU9uKGFzeW5jU2NoZWR1bGVyKSxcclxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5lbmRMb2FkaW5nKGNvbnRleHQsIGxvYWRlcklkKSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUbyBiZSB1c2VkIGluIHlvdXIgaHRtbCB0ZW1wbGF0ZXMuXHJcbiAgICAvLyBSZXR1cm5zIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgYSBnaXZlbiBsb2FkZXIgaXMgYWN0aXZlIGluIGEgZ2l2ZW4gY29udGV4dC5cclxuICAgIC8vIElmIGxvYWRlcklkIGlzIHVuc3BlY2lmaWVkLCB0aGUgbWV0aG9kIHdpbGwgcmV0dXJuIGEgbG9naWNhbCBkaXNqdW5jdGlvbiBvZiBhbGxcclxuICAgIC8vIGxvYWRlciBzdGF0ZXMgaW4gdGhlIGNvbnRleHQuXHJcbiAgICBpc0xvYWRpbmcoY29udGV4dDogTG9hZGluZ0NvbnRleHQsIGxvYWRlcklkPzogTG9hZGVySWQpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBsb2FkZXJTdGF0ZXMgPSB0aGlzLmxvYWRpbmdTdGF0ZXMuZ2V0KGNvbnRleHQpO1xyXG5cclxuICAgICAgICBpZiAoIWxvYWRlclN0YXRlcykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAobG9hZGVySWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxvYWRlclN0YXRlcy5nZXQodGhpcy5nZXRMb2FkZXJJZChsb2FkZXJJZCkpID8/IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5sb2FkZXJTdGF0ZXMudmFsdWVzKCldLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZSkubGVuZ3RoID4gMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUbyBiZSB1c2VkIGluIHlvdXIgaHRtbCB0ZW1wbGF0ZXMgd2l0aCBhc3luYyBwaXBlcy5cclxuICAgIC8vIFJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiBib29sZWFucyBpbmRpY2F0aW5nIHdoZXRoZXIgYSBnaXZlbiBsb2FkZXIgaXMgYWN0aXZlIGluIGEgZ2l2ZW4gY29udGV4dC5cclxuICAgIGlzTG9hZGluZyQoY29udGV4dDogTG9hZGluZ0NvbnRleHQsIGxvYWRlcklkPzogTG9hZGVySWQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBjb25zdCBjb2FsZXNjZWRMb2FkZXJJZCA9IHRoaXMuZ2V0TG9hZGVySWQobG9hZGVySWQpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuaGFzTG9hZGluZ1N0YXRlcyhjb250ZXh0LCBjb2FsZXNjZWRMb2FkZXJJZCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdGUoY29udGV4dCwgZmFsc2UsIGxvYWRlcklkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmdTdGF0ZXMkLmdldChjb250ZXh0KS5nZXQoY29hbGVzY2VkTG9hZGVySWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoZSBzdGFydExvYWRpbmcgYW5kIGVuZExvYWRpbmcgbWV0aG9kcyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aGVuIGhhbmRsaW5nXHJcbiAgICAvLyBjb21wbGV4IHNjZW5hcmlvcyB3aGVyZSBhIG5lZWQgZm9yIGV4dGVuZGVkIHVzYWdlIGZsZXhpYmlsaXR5IGlzIGRlc2lyZWQuXHJcbiAgICBzdGFydExvYWRpbmcoY29udGV4dDogTG9hZGluZ0NvbnRleHQsIGxvYWRlcklkPzogTG9hZGVySWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNldExvYWRpbmdTdGF0ZShjb250ZXh0LCB0cnVlLCB0aGlzLmdldExvYWRlcklkKGxvYWRlcklkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZW5kTG9hZGluZyhjb250ZXh0OiBMb2FkaW5nQ29udGV4dCwgbG9hZGVySWQ/OiBMb2FkZXJJZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKGNvbnRleHQsIGZhbHNlLCB0aGlzLmdldExvYWRlcklkKGxvYWRlcklkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVG8gYmUgY2FsbGVkIGJ5IG1pZGRsZXdhcmUgY29kZSAoSFRUUCBpbnRlcmNlcHRvcnMvcm91dGluZyBsaXN0ZW5lcnMsIGV0Yy4pLlxyXG4gICAgY2xlYXJMb2FkaW5ncygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMgPSBuZXcgV2Vha01hcDxMb2FkaW5nQ29udGV4dCwgTWFwPExvYWRlcklkLCBib29sZWFuPj4oKTtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkID0gbmV3IFdlYWtNYXA8TG9hZGluZ0NvbnRleHQsIE1hcDxMb2FkZXJJZCwgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+Pj4oKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc2V0TG9hZGluZ1N0YXRlKGNvbnRleHQ6IExvYWRpbmdDb250ZXh0LCBzdGF0ZTogYm9vbGVhbiwgbG9hZGVySWQ6IExvYWRlcklkKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmhhc0xvYWRpbmdTdGF0ZXMoY29udGV4dCwgbG9hZGVySWQpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0NvbnRleHRMb2FkaW5nU3RhdGUoY29udGV4dCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N0YXRlcy5nZXQoY29udGV4dCkuc2V0KGxvYWRlcklkLCBzdGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkLmdldChjb250ZXh0KS5zZXQobG9hZGVySWQsIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oc3RhdGUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N0YXRlcy5zZXQoY29udGV4dCwgbmV3IE1hcDxMb2FkZXJJZCwgYm9vbGVhbj4oW1xyXG4gICAgICAgICAgICAgICAgICAgIFtsb2FkZXJJZCwgc3RhdGVdXHJcbiAgICAgICAgICAgICAgICBdKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkLnNldChjb250ZXh0LCBuZXcgTWFwPExvYWRlcklkLCBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4+KFtcclxuICAgICAgICAgICAgICAgICAgICBbbG9hZGVySWQsIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oc3RhdGUpXVxyXG4gICAgICAgICAgICAgICAgXSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIC0gbG9hZGluZ1N0YXRlc1tjb250ZXh0XSBpcyBzdXJlbHkgZGVmaW5lZCBpbiB0aGlzIGJyYW5jaFxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMuZ2V0KGNvbnRleHQpLnNldChsb2FkZXJJZCwgc3RhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkLmdldChjb250ZXh0KS5nZXQobG9hZGVySWQpLm5leHQoc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaGFzTG9hZGluZ1N0YXRlcyhjb250ZXh0OiBMb2FkaW5nQ29udGV4dCwgbG9hZGVySWQ6IExvYWRlcklkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ29udGV4dExvYWRpbmdTdGF0ZShjb250ZXh0KSAmJiB0aGlzLmhhc0xvYWRlckxvYWRpbmdTdGF0ZShjb250ZXh0LCBsb2FkZXJJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGhhc0NvbnRleHRMb2FkaW5nU3RhdGUoY29udGV4dDogTG9hZGluZ0NvbnRleHQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkaW5nU3RhdGVzLmhhcyhjb250ZXh0KSAmJiB0aGlzLmxvYWRpbmdTdGF0ZXMkLmhhcyhjb250ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaGFzTG9hZGVyTG9hZGluZ1N0YXRlKGNvbnRleHQ6IExvYWRpbmdDb250ZXh0LCBsb2FkZXJJZDogTG9hZGVySWQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkaW5nU3RhdGVzLmdldChjb250ZXh0KS5oYXMobG9hZGVySWQpICYmIHRoaXMubG9hZGluZ1N0YXRlcyQuZ2V0KGNvbnRleHQpLmhhcyhsb2FkZXJJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldExvYWRlcklkKGxvYWRlcklkPzogTG9hZGVySWQpOiBMb2FkZXJJZCB7XHJcbiAgICAgICAgcmV0dXJuIGxvYWRlcklkID8/IERFRkFVTFRfTE9BREVSX0lEO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==