@colijnit/corecomponents_v12 12.2.25 → 12.2.26

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 (1277) hide show
  1. package/README.md +9 -12
  2. package/bundles/colijnit-corecomponents_v12.umd.js +14046 -0
  3. package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -0
  4. package/colijnit-corecomponents_v12.d.ts +43 -0
  5. package/colijnit-corecomponents_v12.metadata.json +1 -0
  6. package/esm2015/colijnit-corecomponents_v12.js +44 -0
  7. package/esm2015/lib/components/article-tile/article-tile.component.js +80 -0
  8. package/esm2015/lib/components/article-tile/article-tile.module.js +35 -0
  9. package/esm2015/lib/components/base/base-input.component.js +834 -0
  10. package/esm2015/lib/components/base/base.module.js +22 -0
  11. package/esm2015/lib/components/base/commit-buttons/commit-buttons.component.js +103 -0
  12. package/esm2015/lib/components/base/commit-buttons/commit-buttons.module.js +21 -0
  13. package/esm2015/lib/components/base/dialog-base.component.js +6 -0
  14. package/esm2015/lib/components/base-input-date-picker/base-input-date-picker.directive.js +25 -0
  15. package/esm2015/lib/components/button/button.component.js +79 -0
  16. package/esm2015/lib/components/button/button.module.js +19 -0
  17. package/esm2015/lib/components/calendar/calendar-template.component.js +342 -0
  18. package/esm2015/lib/components/calendar/calendar.component.js +45 -0
  19. package/esm2015/lib/components/calendar/calendar.module.js +28 -0
  20. package/esm2015/lib/components/card/card.component.js +72 -0
  21. package/esm2015/lib/components/card/card.module.js +35 -0
  22. package/esm2015/lib/components/carousel/carousel.component.js +130 -0
  23. package/esm2015/lib/components/carousel/carousel.module.js +32 -0
  24. package/esm2015/lib/components/carousel-3d/carousel-3d.component.js +315 -0
  25. package/esm2015/lib/components/carousel-3d/carousel-3d.module.js +19 -0
  26. package/esm2015/lib/components/carousel-3d/carouselItem.js +54 -0
  27. package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.component.js +87 -0
  28. package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.module.js +19 -0
  29. package/esm2015/lib/components/co-dialog/co-dialog.component.js +113 -0
  30. package/esm2015/lib/components/co-dialog/co-dialog.module.js +19 -0
  31. package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.component.js +51 -0
  32. package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.module.js +17 -0
  33. package/esm2015/lib/components/collapsible/collapsible.component.js +92 -0
  34. package/esm2015/lib/components/collapsible/collapsible.module.js +19 -0
  35. package/esm2015/lib/components/color-picker/color-picker.component.js +41 -0
  36. package/esm2015/lib/components/color-picker/color-picker.module.js +21 -0
  37. package/esm2015/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.js +79 -0
  38. package/esm2015/lib/components/core-dialog/core-dialog.module.js +39 -0
  39. package/esm2015/lib/components/core-dialog/core-dialog.service.js +67 -0
  40. package/esm2015/lib/components/core-dialog/core-dynamic-component.service.js +93 -0
  41. package/esm2015/lib/components/double-calendar/double-calendar.component.js +80 -0
  42. package/esm2015/lib/components/double-calendar/double-calendar.module.js +25 -0
  43. package/esm2015/lib/components/filter-item/filter-item-viewmodel.js +13 -0
  44. package/esm2015/lib/components/filter-item/filter-item.component.js +646 -0
  45. package/esm2015/lib/components/filter-item/filter-item.module.js +43 -0
  46. package/esm2015/lib/components/filter-item/filter-viewmodel.js +11 -0
  47. package/esm2015/lib/components/form/form.component.js +184 -0
  48. package/esm2015/lib/components/form/form.module.js +23 -0
  49. package/esm2015/lib/components/grid-toolbar/grid-toolbar.component.js +57 -0
  50. package/esm2015/lib/components/grid-toolbar/grid-toolbar.module.js +23 -0
  51. package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.component.js +28 -0
  52. package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.module.js +19 -0
  53. package/esm2015/lib/components/icon/icon-cache.service.js +52 -0
  54. package/esm2015/lib/components/icon/icon.component.js +48 -0
  55. package/esm2015/lib/components/icon/icon.module.js +25 -0
  56. package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.component.js +64 -0
  57. package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.module.js +23 -0
  58. package/esm2015/lib/components/image/image.component.js +42 -0
  59. package/esm2015/lib/components/image/image.module.js +14 -0
  60. package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +79 -0
  61. package/esm2015/lib/components/input-checkbox/input-checkbox.module.js +19 -0
  62. package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +91 -0
  63. package/esm2015/lib/components/input-date-picker/input-date-picker.module.js +26 -0
  64. package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +134 -0
  65. package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.module.js +27 -0
  66. package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +314 -0
  67. package/esm2015/lib/components/input-number-picker/input-number-picker.module.js +23 -0
  68. package/esm2015/lib/components/input-radio-button/input-radio-button.component.js +84 -0
  69. package/esm2015/lib/components/input-radio-button/input-radio-button.module.js +19 -0
  70. package/esm2015/lib/components/input-scanner/bar-code-scanner.js +23 -0
  71. package/esm2015/lib/components/input-scanner/input-scanner.component.js +72 -0
  72. package/esm2015/lib/components/input-scanner/input-scanner.module.js +21 -0
  73. package/esm2015/lib/components/input-scanner/scanner.service.js +28 -0
  74. package/esm2015/lib/components/input-search/input-search.component.js +79 -0
  75. package/esm2015/lib/components/input-search/input-search.module.js +21 -0
  76. package/esm2015/lib/components/input-text/input-text.component.js +239 -0
  77. package/esm2015/lib/components/input-text/input-text.module.js +33 -0
  78. package/esm2015/lib/components/input-textarea/input-textarea.component.js +78 -0
  79. package/esm2015/lib/components/input-textarea/input-textarea.module.js +27 -0
  80. package/esm2015/lib/components/level-indicator/level-indicator-level.enum.js +7 -0
  81. package/esm2015/lib/components/level-indicator/level-indicator.component.js +36 -0
  82. package/esm2015/lib/components/level-indicator/level-indicator.module.js +15 -0
  83. package/esm2015/lib/components/list-of-values/list-of-values-multiselect-popup.component.js +112 -0
  84. package/esm2015/lib/components/list-of-values/list-of-values-popup.component.js +242 -0
  85. package/esm2015/lib/components/list-of-values/list-of-values.component.js +233 -0
  86. package/esm2015/lib/components/list-of-values/list-of-values.module.js +38 -0
  87. package/esm2015/lib/components/loader/loader.component.js +84 -0
  88. package/esm2015/lib/components/loader/loader.module.js +19 -0
  89. package/esm2015/lib/components/pagination/paginate.pipe.js +99 -0
  90. package/esm2015/lib/components/pagination/pagination-instance.js +2 -0
  91. package/esm2015/lib/components/pagination/pagination.component.js +126 -0
  92. package/esm2015/lib/components/pagination/pagination.module.js +28 -0
  93. package/esm2015/lib/components/pagination/pagination.service.js +88 -0
  94. package/esm2015/lib/components/pagination-bar/pagination-bar.component.js +151 -0
  95. package/esm2015/lib/components/pagination-bar/pagination-bar.module.js +19 -0
  96. package/esm2015/lib/components/popup/const/popup-window-token.js +3 -0
  97. package/esm2015/lib/components/popup/interface/popup-button.js +8 -0
  98. package/esm2015/lib/components/popup/interface/popup-close-event.js +2 -0
  99. package/esm2015/lib/components/popup/interface/popup-settings.js +42 -0
  100. package/esm2015/lib/components/popup/interface/popup.js +2 -0
  101. package/esm2015/lib/components/popup/model/popup-button-globals.js +11 -0
  102. package/esm2015/lib/components/popup/model/popup-window.js +38 -0
  103. package/esm2015/lib/components/popup/popup-buttons.component.js +53 -0
  104. package/esm2015/lib/components/popup/popup-message-display.component.js +47 -0
  105. package/esm2015/lib/components/popup/popup-window-shell.component.js +159 -0
  106. package/esm2015/lib/components/popup/popup.module.js +49 -0
  107. package/esm2015/lib/components/popup/service/popup-shower.service.js +90 -0
  108. package/esm2015/lib/components/popup/service/prompt.service.js +127 -0
  109. package/esm2015/lib/components/popup/text-input-popup.component.js +36 -0
  110. package/esm2015/lib/components/responsive-text/responsive-text.component.js +24 -0
  111. package/esm2015/lib/components/responsive-text/responsive-text.module.js +19 -0
  112. package/esm2015/lib/components/simple-grid/base-simple-grid.component.js +164 -0
  113. package/esm2015/lib/components/simple-grid/simple-grid-cell.component.js +172 -0
  114. package/esm2015/lib/components/simple-grid/simple-grid-column.directive.js +111 -0
  115. package/esm2015/lib/components/simple-grid/simple-grid.component.js +465 -0
  116. package/esm2015/lib/components/simple-grid/simple-grid.module.js +41 -0
  117. package/esm2015/lib/components/tile/tile.component.js +73 -0
  118. package/esm2015/lib/components/tile/tile.module.js +23 -0
  119. package/esm2015/lib/components/tile-select/tile-select.component.js +36 -0
  120. package/esm2015/lib/components/tile-select/tile-select.module.js +21 -0
  121. package/esm2015/lib/components/tooltip/tooltip.component.js +77 -0
  122. package/esm2015/lib/components/tooltip/tooltip.module.js +19 -0
  123. package/esm2015/lib/components/validation-error/validation-error.component.js +38 -0
  124. package/esm2015/lib/components/validation-error/validation-error.module.js +25 -0
  125. package/esm2015/lib/components/view-mode-buttons/content-view-mode.enum.js +11 -0
  126. package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.component.js +61 -0
  127. package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.module.js +21 -0
  128. package/esm2015/lib/core/constant/default-upper-bound-for-range-components.js +4 -0
  129. package/esm2015/lib/core/constant/java-max-int.js +2 -0
  130. package/esm2015/lib/core/constant/number-inputs-key-down-white-list.js +45 -0
  131. package/esm2015/lib/core/decorator/input-boolean.decorator.js +34 -0
  132. package/esm2015/lib/core/enum/co-direction.js +9 -0
  133. package/esm2015/lib/core/enum/co-document-image-display-kind.enum.js +7 -0
  134. package/esm2015/lib/core/enum/co-document-type.enum.js +11 -0
  135. package/esm2015/lib/core/enum/co-orientation.js +17 -0
  136. package/esm2015/lib/core/enum/core-components-icon.enum.js +300 -0
  137. package/esm2015/lib/core/enum/file-type-internal.enum.js +17 -0
  138. package/esm2015/lib/core/enum/file-type.enum.js +11 -0
  139. package/esm2015/lib/core/enum/filterItem-mode.enum.js +43 -0
  140. package/esm2015/lib/core/enum/input-number-picker-show-mode.enum.js +8 -0
  141. package/esm2015/lib/core/enum/keyboard-code.enum.js +74 -0
  142. package/esm2015/lib/core/enum/keyboard-key.enum.js +76 -0
  143. package/esm2015/lib/core/enum/object-right-type.enum.js +7 -0
  144. package/esm2015/lib/core/enum/popup-button-type.enum.js +12 -0
  145. package/esm2015/lib/core/enum/popup-type.enum.js +11 -0
  146. package/esm2015/lib/core/enum/table-name.enum.js +81 -0
  147. package/esm2015/lib/core/function/any-nill.function.js +6 -0
  148. package/esm2015/lib/core/function/is-nill.function.js +5 -0
  149. package/esm2015/lib/core/function/none-nill.function.js +17 -0
  150. package/esm2015/lib/core/function/not-nill.function.js +5 -0
  151. package/esm2015/lib/core/model/bounds-constrained-number-value.js +171 -0
  152. package/esm2015/lib/core/model/check-precision-and-scale-result.js +2 -0
  153. package/esm2015/lib/core/model/check-within-stepped-bounds-result.js +2 -0
  154. package/esm2015/lib/core/model/co-document-right.bo.js +3 -0
  155. package/esm2015/lib/core/model/co-document.bo.js +121 -0
  156. package/esm2015/lib/core/model/core-components-icon-svg.js +299 -0
  157. package/esm2015/lib/core/model/element-position.js +10 -0
  158. package/esm2015/lib/core/model/event/string-prompt-result-event.js +8 -0
  159. package/esm2015/lib/core/service/form-input-user-change-listener.service.js +25 -0
  160. package/esm2015/lib/core/service/form-master.service.js +102 -0
  161. package/esm2015/lib/core/service/ng-zone-wrapper.service.js +20 -0
  162. package/esm2015/lib/core/utils/array-utils.js +264 -0
  163. package/esm2015/lib/core/utils/browser-utils.js +100 -0
  164. package/esm2015/lib/core/utils/direction-enum-utils.js +14 -0
  165. package/esm2015/lib/core/utils/event-utils.js +53 -0
  166. package/esm2015/lib/core/utils/file-utils.js +267 -0
  167. package/esm2015/lib/core/utils/number-utils.js +309 -0
  168. package/esm2015/lib/core/utils/object-utils.js +186 -0
  169. package/esm2015/lib/core/utils/string-utils.js +94 -0
  170. package/esm2015/lib/core/validator/email.validator.js +6 -0
  171. package/esm2015/lib/core/validator/equal.validator.js +11 -0
  172. package/esm2015/lib/core/validator/max-string-length.validator.js +10 -0
  173. package/esm2015/lib/core/validator/password.validator.js +31 -0
  174. package/esm2015/lib/core/validator/precision-scale.validator.js +11 -0
  175. package/esm2015/lib/core/validator/required.validator.js +5 -0
  176. package/esm2015/lib/directives/clickoutside/click-outside-master.service.js +57 -0
  177. package/esm2015/lib/directives/clickoutside/click-outside.directive.js +71 -0
  178. package/esm2015/lib/directives/clickoutside/clickoutside.module.js +19 -0
  179. package/esm2015/lib/directives/observe-visibility/observe-visibility.directive.js +53 -0
  180. package/esm2015/lib/directives/observe-visibility/observe-visibility.module.js +15 -0
  181. package/esm2015/lib/directives/overlay/overlay-parent.directive.js +19 -0
  182. package/esm2015/lib/directives/overlay/overlay.directive.js +161 -0
  183. package/esm2015/lib/directives/overlay/overlay.module.js +18 -0
  184. package/esm2015/lib/directives/ripple/ripple-ref.js +26 -0
  185. package/esm2015/lib/directives/ripple/ripple-renderer.js +160 -0
  186. package/esm2015/lib/directives/ripple/ripple.directive.js +80 -0
  187. package/esm2015/lib/directives/ripple/ripple.module.js +24 -0
  188. package/esm2015/lib/directives/ripple/scroll-dispatcher.service.js +108 -0
  189. package/esm2015/lib/directives/ripple/scrollable.directive.js +40 -0
  190. package/esm2015/lib/directives/ripple/viewport-ruler.service.js +73 -0
  191. package/esm2015/lib/directives/screen-configuration/screen-configuration.directive.js +158 -0
  192. package/esm2015/lib/directives/screen-configuration/screen-configuration.module.js +19 -0
  193. package/esm2015/lib/directives/stopclick/stop-click.directive.js +38 -0
  194. package/esm2015/lib/directives/stopclick/stop-click.module.js +15 -0
  195. package/esm2015/lib/directives/template-wrapper/template-wrapper.directive.js +68 -0
  196. package/esm2015/lib/directives/template-wrapper/template-wrapper.module.js +15 -0
  197. package/esm2015/lib/directives/tooltip/tooltip-directive.module.js +19 -0
  198. package/esm2015/lib/directives/tooltip/tooltip.directive.js +78 -0
  199. package/esm2015/lib/interfaces/dialog-response.interface.js +2 -0
  200. package/esm2015/lib/interfaces/scanner-input.interface.js +2 -0
  201. package/esm2015/lib/interfaces/screen-config-adapter-component-interface-name.js +4 -0
  202. package/esm2015/lib/interfaces/screen-config-adapter.component.interface.js +2 -0
  203. package/esm2015/lib/model/enum/app-button-type.enum.js +11 -0
  204. package/esm2015/lib/model/enum/app-popup-type.enum.js +8 -0
  205. package/esm2015/lib/pipes/append.pipe.js +17 -0
  206. package/esm2015/lib/pipes/append.pipe.module.js +15 -0
  207. package/esm2015/lib/pipes/filter.pipe.js +16 -0
  208. package/esm2015/lib/pipes/filter.pipe.module.js +15 -0
  209. package/esm2015/lib/pipes/prepend.pipe.js +17 -0
  210. package/esm2015/lib/pipes/prepend.pipe.module.js +15 -0
  211. package/esm2015/lib/pipes/price-display-pipe.module.js +15 -0
  212. package/esm2015/lib/pipes/price-display.pipe.js +20 -0
  213. package/esm2015/lib/service/base-module-screen-config.service.js +205 -0
  214. package/esm2015/lib/service/base-module.service.js +42 -0
  215. package/esm2015/lib/service/color-sequence.service.js +23 -0
  216. package/esm2015/lib/service/overlay.service.js +73 -0
  217. package/esm2015/lib/translation/core-components-translation.module.js +29 -0
  218. package/esm2015/lib/translation/core-components-translation.service.js +17 -0
  219. package/esm2015/lib/translation/core-dictionary.service.js +29 -0
  220. package/esm2015/lib/translation/core-localize.pipe.js +26 -0
  221. package/esm2015/public-api.js +130 -0
  222. package/fesm2015/colijnit-corecomponents_v12.js +13387 -0
  223. package/fesm2015/colijnit-corecomponents_v12.js.map +1 -0
  224. package/lib/components/article-tile/article-tile.component.d.ts +22 -0
  225. package/lib/components/article-tile/article-tile.module.d.ts +2 -0
  226. package/lib/components/base/base-input.component.d.ts +182 -0
  227. package/lib/components/base/base.module.d.ts +2 -0
  228. package/lib/components/base/commit-buttons/commit-buttons.component.d.ts +21 -0
  229. package/lib/components/base/commit-buttons/commit-buttons.module.d.ts +2 -0
  230. package/lib/components/base/dialog-base.component.d.ts +4 -0
  231. package/lib/components/base-input-date-picker/base-input-date-picker.directive.d.ts +15 -0
  232. package/lib/components/button/button.component.d.ts +29 -0
  233. package/lib/components/button/button.module.d.ts +2 -0
  234. package/lib/components/calendar/calendar-template.component.d.ts +60 -0
  235. package/lib/components/calendar/calendar.component.d.ts +13 -0
  236. package/lib/components/calendar/calendar.module.d.ts +2 -0
  237. package/lib/components/card/card.component.d.ts +23 -0
  238. package/lib/components/card/card.module.d.ts +2 -0
  239. package/lib/components/carousel/carousel.component.d.ts +23 -0
  240. package/lib/components/carousel/carousel.module.d.ts +6 -0
  241. package/lib/components/carousel-3d/carousel-3d.component.d.ts +55 -0
  242. package/lib/components/carousel-3d/carousel-3d.module.d.ts +2 -0
  243. package/lib/components/carousel-3d/carouselItem.d.ts +13 -0
  244. package/lib/components/checkmark-overlay/checkmark-overlay.component.d.ts +17 -0
  245. package/lib/components/checkmark-overlay/checkmark-overlay.module.d.ts +2 -0
  246. package/lib/components/co-dialog/co-dialog.component.d.ts +23 -0
  247. package/lib/components/co-dialog/co-dialog.module.d.ts +2 -0
  248. package/lib/components/co-dialog-wizard/co-dialog-wizard.component.d.ts +9 -0
  249. package/lib/components/co-dialog-wizard/co-dialog-wizard.module.d.ts +2 -0
  250. package/lib/components/collapsible/collapsible.component.d.ts +22 -0
  251. package/lib/components/collapsible/collapsible.module.d.ts +2 -0
  252. package/lib/components/color-picker/color-picker.component.d.ts +6 -0
  253. package/lib/components/color-picker/color-picker.module.d.ts +2 -0
  254. package/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.d.ts +20 -0
  255. package/lib/components/core-dialog/core-dialog.module.d.ts +4 -0
  256. package/lib/components/core-dialog/core-dialog.service.d.ts +15 -0
  257. package/lib/components/core-dialog/core-dynamic-component.service.d.ts +12 -0
  258. package/lib/components/double-calendar/double-calendar.component.d.ts +18 -0
  259. package/lib/components/double-calendar/double-calendar.module.d.ts +2 -0
  260. package/lib/components/filter-item/filter-item-viewmodel.d.ts +9 -0
  261. package/lib/components/filter-item/filter-item.component.d.ts +80 -0
  262. package/lib/components/filter-item/filter-item.module.d.ts +2 -0
  263. package/lib/components/filter-item/filter-viewmodel.d.ts +8 -0
  264. package/lib/components/form/form.component.d.ts +39 -0
  265. package/lib/components/form/form.module.d.ts +2 -0
  266. package/lib/components/grid-toolbar/grid-toolbar.component.d.ts +19 -0
  267. package/lib/components/grid-toolbar/grid-toolbar.module.d.ts +2 -0
  268. package/lib/components/grid-toolbar-button/grid-toolbar-button.component.d.ts +8 -0
  269. package/lib/components/grid-toolbar-button/grid-toolbar-button.module.d.ts +2 -0
  270. package/lib/components/icon/icon-cache.service.d.ts +20 -0
  271. package/lib/components/icon/icon.component.d.ts +17 -0
  272. package/lib/components/icon/icon.module.d.ts +2 -0
  273. package/lib/components/icon-collapse-handle/icon-collapse-handle.component.d.ts +21 -0
  274. package/lib/components/icon-collapse-handle/icon-collapse-handle.module.d.ts +2 -0
  275. package/lib/components/image/image.component.d.ts +20 -0
  276. package/lib/components/image/image.module.d.ts +2 -0
  277. package/lib/components/input-checkbox/input-checkbox.component.d.ts +24 -0
  278. package/lib/components/input-checkbox/input-checkbox.module.d.ts +2 -0
  279. package/lib/components/input-date-picker/input-date-picker.component.d.ts +12 -0
  280. package/lib/components/input-date-picker/input-date-picker.module.d.ts +2 -0
  281. package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +20 -0
  282. package/lib/components/input-date-range-picker/input-date-range-picker.module.d.ts +2 -0
  283. package/lib/components/input-number-picker/input-number-picker.component.d.ts +73 -0
  284. package/lib/components/input-number-picker/input-number-picker.module.d.ts +2 -0
  285. package/lib/components/input-radio-button/input-radio-button.component.d.ts +19 -0
  286. package/lib/components/input-radio-button/input-radio-button.module.d.ts +2 -0
  287. package/lib/components/input-scanner/bar-code-scanner.d.ts +7 -0
  288. package/lib/components/input-scanner/input-scanner.component.d.ts +24 -0
  289. package/lib/components/input-scanner/input-scanner.module.d.ts +2 -0
  290. package/lib/components/input-scanner/scanner.service.d.ts +11 -0
  291. package/lib/components/input-search/input-search.component.d.ts +19 -0
  292. package/lib/components/input-search/input-search.module.d.ts +2 -0
  293. package/lib/components/input-text/input-text.component.d.ts +65 -0
  294. package/lib/components/input-text/input-text.module.d.ts +2 -0
  295. package/lib/components/input-textarea/input-textarea.component.d.ts +19 -0
  296. package/lib/components/input-textarea/input-textarea.module.d.ts +2 -0
  297. package/lib/components/level-indicator/level-indicator-level.enum.d.ts +5 -0
  298. package/lib/components/level-indicator/level-indicator.component.d.ts +10 -0
  299. package/lib/components/level-indicator/level-indicator.module.d.ts +2 -0
  300. package/lib/components/list-of-values/list-of-values-multiselect-popup.component.d.ts +25 -0
  301. package/lib/components/list-of-values/list-of-values-popup.component.d.ts +47 -0
  302. package/lib/components/list-of-values/list-of-values.component.d.ts +37 -0
  303. package/lib/components/list-of-values/list-of-values.module.d.ts +2 -0
  304. package/lib/components/loader/loader.component.d.ts +3 -0
  305. package/lib/components/loader/loader.module.d.ts +2 -0
  306. package/lib/components/pagination/paginate.pipe.d.ts +15 -0
  307. package/lib/components/pagination/pagination-instance.d.ts +14 -0
  308. package/lib/components/pagination/pagination.component.d.ts +38 -0
  309. package/lib/components/pagination/pagination.module.d.ts +2 -0
  310. package/lib/components/pagination/pagination.service.d.ts +24 -0
  311. package/lib/components/pagination-bar/pagination-bar.component.d.ts +33 -0
  312. package/lib/components/pagination-bar/pagination-bar.module.d.ts +2 -0
  313. package/lib/components/popup/const/popup-window-token.d.ts +3 -0
  314. package/lib/components/popup/interface/popup-button.d.ts +8 -0
  315. package/lib/components/popup/interface/popup-close-event.d.ts +5 -0
  316. package/lib/components/popup/interface/popup-settings.d.ts +21 -0
  317. package/lib/components/popup/interface/popup.d.ts +9 -0
  318. package/lib/components/popup/model/popup-button-globals.d.ts +9 -0
  319. package/lib/components/popup/model/popup-window.d.ts +21 -0
  320. package/lib/components/popup/popup-buttons.component.d.ts +13 -0
  321. package/lib/components/popup/popup-message-display.component.d.ts +12 -0
  322. package/lib/components/popup/popup-window-shell.component.d.ts +42 -0
  323. package/lib/components/popup/popup.module.d.ts +4 -0
  324. package/lib/components/popup/service/popup-shower.service.d.ts +17 -0
  325. package/lib/components/popup/service/prompt.service.d.ts +17 -0
  326. package/lib/components/popup/text-input-popup.component.d.ts +12 -0
  327. package/lib/components/responsive-text/responsive-text.component.d.ts +4 -0
  328. package/lib/components/responsive-text/responsive-text.module.d.ts +2 -0
  329. package/lib/components/simple-grid/base-simple-grid.component.d.ts +52 -0
  330. package/lib/components/simple-grid/simple-grid-cell.component.d.ts +30 -0
  331. package/lib/components/simple-grid/simple-grid-column.directive.d.ts +42 -0
  332. package/lib/components/simple-grid/simple-grid.component.d.ts +64 -0
  333. package/lib/components/simple-grid/simple-grid.module.d.ts +2 -0
  334. package/lib/components/tile/tile.component.d.ts +16 -0
  335. package/lib/components/tile/tile.module.d.ts +2 -0
  336. package/lib/components/tile-select/tile-select.component.d.ts +8 -0
  337. package/lib/components/tile-select/tile-select.module.d.ts +2 -0
  338. package/lib/components/tooltip/tooltip.component.d.ts +18 -0
  339. package/lib/components/tooltip/tooltip.module.d.ts +2 -0
  340. package/lib/components/validation-error/validation-error.component.d.ts +12 -0
  341. package/lib/components/validation-error/validation-error.module.d.ts +2 -0
  342. package/lib/components/view-mode-buttons/content-view-mode.enum.d.ts +8 -0
  343. package/lib/components/view-mode-buttons/view-mode-buttons.component.d.ts +17 -0
  344. package/lib/components/view-mode-buttons/view-mode-buttons.module.d.ts +2 -0
  345. package/lib/core/constant/default-upper-bound-for-range-components.d.ts +2 -0
  346. package/lib/core/constant/java-max-int.d.ts +1 -0
  347. package/lib/core/constant/number-inputs-key-down-white-list.d.ts +2 -0
  348. package/lib/core/decorator/input-boolean.decorator.d.ts +8 -0
  349. package/lib/core/enum/co-direction.d.ts +6 -0
  350. package/lib/core/enum/co-document-image-display-kind.enum.d.ts +5 -0
  351. package/lib/core/enum/co-document-type.enum.d.ts +5 -0
  352. package/lib/core/enum/co-orientation.d.ts +6 -0
  353. package/lib/core/enum/core-components-icon.enum.d.ts +298 -0
  354. package/lib/core/enum/file-type-internal.enum.d.ts +15 -0
  355. package/lib/core/enum/file-type.enum.d.ts +5 -0
  356. package/lib/core/enum/filterItem-mode.enum.d.ts +15 -0
  357. package/lib/core/enum/input-number-picker-show-mode.enum.d.ts +5 -0
  358. package/lib/core/enum/keyboard-code.enum.d.ts +71 -0
  359. package/lib/core/enum/keyboard-key.enum.d.ts +70 -0
  360. package/lib/core/enum/object-right-type.enum.d.ts +5 -0
  361. package/lib/core/enum/popup-button-type.enum.d.ts +9 -0
  362. package/lib/core/enum/popup-type.enum.d.ts +9 -0
  363. package/lib/core/enum/table-name.enum.d.ts +79 -0
  364. package/lib/core/function/any-nill.function.d.ts +1 -0
  365. package/lib/core/function/is-nill.function.d.ts +1 -0
  366. package/lib/core/function/none-nill.function.d.ts +1 -0
  367. package/lib/core/function/not-nill.function.d.ts +1 -0
  368. package/lib/core/model/bounds-constrained-number-value.d.ts +46 -0
  369. package/lib/core/model/check-precision-and-scale-result.d.ts +4 -0
  370. package/lib/core/model/check-within-stepped-bounds-result.d.ts +8 -0
  371. package/lib/core/model/co-document-right.bo.d.ts +6 -0
  372. package/lib/core/model/co-document.bo.d.ts +61 -0
  373. package/lib/core/model/core-components-icon-svg.d.ts +4 -0
  374. package/lib/core/model/element-position.d.ts +7 -0
  375. package/lib/core/model/event/string-prompt-result-event.d.ts +6 -0
  376. package/lib/core/service/form-input-user-change-listener.service.d.ts +10 -0
  377. package/lib/core/service/form-master.service.d.ts +26 -0
  378. package/lib/core/service/ng-zone-wrapper.service.d.ts +6 -0
  379. package/lib/core/utils/array-utils.d.ts +85 -0
  380. package/lib/core/utils/browser-utils.d.ts +15 -0
  381. package/lib/core/utils/direction-enum-utils.d.ts +5 -0
  382. package/lib/core/utils/event-utils.d.ts +12 -0
  383. package/lib/core/utils/file-utils.d.ts +29 -0
  384. package/lib/core/utils/number-utils.d.ts +89 -0
  385. package/lib/core/utils/object-utils.d.ts +31 -0
  386. package/lib/core/utils/string-utils.d.ts +25 -0
  387. package/lib/core/validator/email.validator.d.ts +2 -0
  388. package/lib/core/validator/equal.validator.d.ts +2 -0
  389. package/lib/core/validator/max-string-length.validator.d.ts +2 -0
  390. package/lib/core/validator/password.validator.d.ts +3 -0
  391. package/lib/core/validator/precision-scale.validator.d.ts +2 -0
  392. package/lib/core/validator/required.validator.d.ts +2 -0
  393. package/lib/directives/clickoutside/click-outside-master.service.d.ts +15 -0
  394. package/lib/directives/clickoutside/click-outside.directive.d.ts +18 -0
  395. package/lib/directives/clickoutside/clickoutside.module.d.ts +2 -0
  396. package/lib/directives/observe-visibility/observe-visibility.directive.d.ts +14 -0
  397. package/lib/directives/observe-visibility/observe-visibility.module.d.ts +2 -0
  398. package/lib/directives/overlay/overlay-parent.directive.d.ts +6 -0
  399. package/lib/directives/overlay/overlay.directive.d.ts +25 -0
  400. package/lib/directives/overlay/overlay.module.d.ts +2 -0
  401. package/lib/directives/ripple/ripple-ref.d.ts +21 -0
  402. package/lib/directives/ripple/ripple-renderer.d.ts +56 -0
  403. package/lib/directives/ripple/ripple.directive.d.ts +56 -0
  404. package/lib/directives/ripple/ripple.module.d.ts +2 -0
  405. package/lib/directives/ripple/scroll-dispatcher.service.d.ts +51 -0
  406. package/lib/directives/ripple/scrollable.directive.d.ts +20 -0
  407. package/lib/directives/ripple/viewport-ruler.service.d.ts +29 -0
  408. package/lib/directives/screen-configuration/screen-configuration.directive.d.ts +32 -0
  409. package/lib/directives/screen-configuration/screen-configuration.module.d.ts +2 -0
  410. package/lib/directives/stopclick/stop-click.directive.d.ts +10 -0
  411. package/lib/directives/stopclick/stop-click.module.d.ts +2 -0
  412. package/lib/directives/template-wrapper/template-wrapper.directive.d.ts +13 -0
  413. package/lib/directives/template-wrapper/template-wrapper.module.d.ts +2 -0
  414. package/lib/directives/tooltip/tooltip-directive.module.d.ts +2 -0
  415. package/lib/directives/tooltip/tooltip.directive.d.ts +20 -0
  416. package/lib/interfaces/dialog-response.interface.d.ts +6 -0
  417. package/lib/interfaces/scanner-input.interface.d.ts +3 -0
  418. package/lib/interfaces/screen-config-adapter-component-interface-name.d.ts +3 -0
  419. package/lib/interfaces/screen-config-adapter.component.interface.d.ts +10 -0
  420. package/lib/model/enum/app-button-type.enum.d.ts +9 -0
  421. package/lib/model/enum/app-popup-type.enum.d.ts +6 -0
  422. package/lib/pipes/append.pipe.d.ts +4 -0
  423. package/lib/pipes/append.pipe.module.d.ts +2 -0
  424. package/lib/pipes/filter.pipe.d.ts +4 -0
  425. package/lib/pipes/filter.pipe.module.d.ts +2 -0
  426. package/lib/pipes/prepend.pipe.d.ts +4 -0
  427. package/lib/pipes/prepend.pipe.module.d.ts +2 -0
  428. package/lib/pipes/price-display-pipe.module.d.ts +2 -0
  429. package/lib/pipes/price-display.pipe.d.ts +4 -0
  430. package/lib/service/base-module-screen-config.service.d.ts +47 -0
  431. package/lib/service/base-module.service.d.ts +22 -0
  432. package/lib/service/color-sequence.service.d.ts +4 -0
  433. package/lib/service/overlay.service.d.ts +13 -0
  434. package/lib/translation/core-components-translation.module.d.ts +4 -0
  435. package/lib/translation/core-components-translation.service.d.ts +6 -0
  436. package/lib/translation/core-dictionary.service.d.ts +12 -0
  437. package/lib/translation/core-localize.pipe.d.ts +7 -0
  438. package/package.json +22 -43
  439. package/public-api.d.ts +126 -0
  440. package/.browserslistrc +0 -17
  441. package/.editorconfig +0 -16
  442. package/.idea/CoreComponents_v12.iml +0 -12
  443. package/.idea/misc.xml +0 -9
  444. package/.idea/modules.xml +0 -8
  445. package/.idea/vcs.xml +0 -6
  446. package/CoreComponents_v12.iml +0 -12
  447. package/angular.json +0 -149
  448. package/dist/corecomponentstest/favicon.ico +0 -0
  449. package/dist/corecomponentstest/index.html +0 -13
  450. package/dist/corecomponentstest/main.js +0 -24187
  451. package/dist/corecomponentstest/main.js.map +0 -1
  452. package/dist/corecomponentstest/polyfills.js +0 -2891
  453. package/dist/corecomponentstest/polyfills.js.map +0 -1
  454. package/dist/corecomponentstest/runtime.js +0 -161
  455. package/dist/corecomponentstest/runtime.js.map +0 -1
  456. package/dist/corecomponentstest/styles.css +0 -2926
  457. package/dist/corecomponentstest/styles.css.map +0 -1
  458. package/dist/corecomponentstest/vendor.js +0 -118790
  459. package/dist/corecomponentstest/vendor.js.map +0 -1
  460. package/karma.conf.js +0 -44
  461. package/move-assets.js +0 -14
  462. package/projects/corecomponents/README.md +0 -24
  463. package/projects/corecomponents/karma.conf.js +0 -44
  464. package/projects/corecomponents/ng-package.json +0 -10
  465. package/projects/corecomponents/package-lock.json +0 -13
  466. package/projects/corecomponents/package.json +0 -19
  467. package/projects/corecomponents/src/lib/components/article-tile/article-tile.component.ts +0 -95
  468. package/projects/corecomponents/src/lib/components/article-tile/article-tile.module.ts +0 -34
  469. package/projects/corecomponents/src/lib/components/base/base-input.component.ts +0 -988
  470. package/projects/corecomponents/src/lib/components/base/base.module.ts +0 -22
  471. package/projects/corecomponents/src/lib/components/base/commit-buttons/commit-buttons.component.ts +0 -120
  472. package/projects/corecomponents/src/lib/components/base/commit-buttons/commit-buttons.module.ts +0 -19
  473. package/projects/corecomponents/src/lib/components/base/dialog-base.component.ts +0 -8
  474. package/projects/corecomponents/src/lib/components/base-input-date-picker/base-input-date-picker.directive.ts +0 -32
  475. package/projects/corecomponents/src/lib/components/base-input-time/base-input-time-directive.ts +0 -31
  476. package/projects/corecomponents/src/lib/components/button/button.component.ts +0 -117
  477. package/projects/corecomponents/src/lib/components/button/button.module.ts +0 -18
  478. package/projects/corecomponents/src/lib/components/calendar/calendar-template.component.ts +0 -392
  479. package/projects/corecomponents/src/lib/components/calendar/calendar.component.ts +0 -54
  480. package/projects/corecomponents/src/lib/components/calendar/calendar.module.ts +0 -26
  481. package/projects/corecomponents/src/lib/components/card/card.component.ts +0 -94
  482. package/projects/corecomponents/src/lib/components/card/card.module.ts +0 -34
  483. package/projects/corecomponents/src/lib/components/carousel/carousel.component.ts +0 -128
  484. package/projects/corecomponents/src/lib/components/carousel/carousel.module.ts +0 -28
  485. package/projects/corecomponents/src/lib/components/carousel-3d/carousel-3d.component.ts +0 -392
  486. package/projects/corecomponents/src/lib/components/carousel-3d/carousel-3d.module.ts +0 -17
  487. package/projects/corecomponents/src/lib/components/carousel-3d/carouselItem.ts +0 -77
  488. package/projects/corecomponents/src/lib/components/checkmark-overlay/checkmark-overlay.component.ts +0 -99
  489. package/projects/corecomponents/src/lib/components/checkmark-overlay/checkmark-overlay.module.ts +0 -18
  490. package/projects/corecomponents/src/lib/components/co-dialog/animation.ts +0 -2
  491. package/projects/corecomponents/src/lib/components/co-dialog/co-dialog.component.ts +0 -130
  492. package/projects/corecomponents/src/lib/components/co-dialog/co-dialog.module.ts +0 -17
  493. package/projects/corecomponents/src/lib/components/co-dialog-wizard/co-dialog-wizard.component.ts +0 -50
  494. package/projects/corecomponents/src/lib/components/co-dialog-wizard/co-dialog-wizard.module.ts +0 -15
  495. package/projects/corecomponents/src/lib/components/collapsible/collapsible.component.ts +0 -114
  496. package/projects/corecomponents/src/lib/components/collapsible/collapsible.module.ts +0 -17
  497. package/projects/corecomponents/src/lib/components/color-picker/color-picker.component.ts +0 -40
  498. package/projects/corecomponents/src/lib/components/color-picker/color-picker.module.ts +0 -19
  499. package/projects/corecomponents/src/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.ts +0 -86
  500. package/projects/corecomponents/src/lib/components/core-dialog/core-dialog.module.ts +0 -37
  501. package/projects/corecomponents/src/lib/components/core-dialog/core-dialog.service.ts +0 -61
  502. package/projects/corecomponents/src/lib/components/core-dialog/core-dynamic-component.service.ts +0 -101
  503. package/projects/corecomponents/src/lib/components/double-calendar/double-calendar.component.ts +0 -102
  504. package/projects/corecomponents/src/lib/components/double-calendar/double-calendar.module.ts +0 -23
  505. package/projects/corecomponents/src/lib/components/filter-item/filter-item-viewmodel.ts +0 -20
  506. package/projects/corecomponents/src/lib/components/filter-item/filter-item.component.ts +0 -715
  507. package/projects/corecomponents/src/lib/components/filter-item/filter-item.module.ts +0 -42
  508. package/projects/corecomponents/src/lib/components/filter-item/filter-viewmodel.ts +0 -11
  509. package/projects/corecomponents/src/lib/components/form/form.component.ts +0 -211
  510. package/projects/corecomponents/src/lib/components/form/form.module.ts +0 -22
  511. package/projects/corecomponents/src/lib/components/grid-toolbar/grid-toolbar.component.ts +0 -62
  512. package/projects/corecomponents/src/lib/components/grid-toolbar/grid-toolbar.module.ts +0 -21
  513. package/projects/corecomponents/src/lib/components/grid-toolbar-button/grid-toolbar-button.component.ts +0 -28
  514. package/projects/corecomponents/src/lib/components/grid-toolbar-button/grid-toolbar-button.module.ts +0 -17
  515. package/projects/corecomponents/src/lib/components/icon/icon-cache.service.ts +0 -57
  516. package/projects/corecomponents/src/lib/components/icon/icon.component.ts +0 -54
  517. package/projects/corecomponents/src/lib/components/icon/icon.module.ts +0 -24
  518. package/projects/corecomponents/src/lib/components/icon-collapse-handle/icon-collapse-handle.component.ts +0 -75
  519. package/projects/corecomponents/src/lib/components/icon-collapse-handle/icon-collapse-handle.module.ts +0 -21
  520. package/projects/corecomponents/src/lib/components/image/image.component.ts +0 -51
  521. package/projects/corecomponents/src/lib/components/image/image.module.ts +0 -12
  522. package/projects/corecomponents/src/lib/components/input-checkbox/input-checkbox.component.ts +0 -85
  523. package/projects/corecomponents/src/lib/components/input-checkbox/input-checkbox.module.ts +0 -17
  524. package/projects/corecomponents/src/lib/components/input-date-picker/input-date-picker.component.ts +0 -103
  525. package/projects/corecomponents/src/lib/components/input-date-picker/input-date-picker.module.ts +0 -24
  526. package/projects/corecomponents/src/lib/components/input-date-range-picker/input-date-range-picker.component.ts +0 -155
  527. package/projects/corecomponents/src/lib/components/input-date-range-picker/input-date-range-picker.module.ts +0 -25
  528. package/projects/corecomponents/src/lib/components/input-number-picker/input-number-picker.component.ts +0 -378
  529. package/projects/corecomponents/src/lib/components/input-number-picker/input-number-picker.module.ts +0 -20
  530. package/projects/corecomponents/src/lib/components/input-radio-button/input-radio-button.component.ts +0 -86
  531. package/projects/corecomponents/src/lib/components/input-radio-button/input-radio-button.module.ts +0 -17
  532. package/projects/corecomponents/src/lib/components/input-scanner/bar-code-scanner.ts +0 -25
  533. package/projects/corecomponents/src/lib/components/input-scanner/input-scanner.component.ts +0 -89
  534. package/projects/corecomponents/src/lib/components/input-scanner/input-scanner.module.ts +0 -19
  535. package/projects/corecomponents/src/lib/components/input-scanner/scanner.service.ts +0 -28
  536. package/projects/corecomponents/src/lib/components/input-search/input-search.component.ts +0 -85
  537. package/projects/corecomponents/src/lib/components/input-search/input-search.module.ts +0 -20
  538. package/projects/corecomponents/src/lib/components/input-text/input-text.component.ts +0 -294
  539. package/projects/corecomponents/src/lib/components/input-text/input-text.module.ts +0 -31
  540. package/projects/corecomponents/src/lib/components/input-textarea/input-textarea.component.ts +0 -81
  541. package/projects/corecomponents/src/lib/components/input-textarea/input-textarea.module.ts +0 -25
  542. package/projects/corecomponents/src/lib/components/input-time/input-time.component.ts +0 -72
  543. package/projects/corecomponents/src/lib/components/input-time/input-time.module.ts +0 -22
  544. package/projects/corecomponents/src/lib/components/level-indicator/level-indicator-level.enum.ts +0 -5
  545. package/projects/corecomponents/src/lib/components/level-indicator/level-indicator.component.ts +0 -42
  546. package/projects/corecomponents/src/lib/components/level-indicator/level-indicator.module.ts +0 -13
  547. package/projects/corecomponents/src/lib/components/list-of-values/list-of-values-multiselect-popup.component.ts +0 -132
  548. package/projects/corecomponents/src/lib/components/list-of-values/list-of-values-popup.component.ts +0 -281
  549. package/projects/corecomponents/src/lib/components/list-of-values/list-of-values.component.ts +0 -257
  550. package/projects/corecomponents/src/lib/components/list-of-values/list-of-values.module.ts +0 -35
  551. package/projects/corecomponents/src/lib/components/loader/loader.component.ts +0 -82
  552. package/projects/corecomponents/src/lib/components/loader/loader.module.ts +0 -17
  553. package/projects/corecomponents/src/lib/components/pagination/paginate.pipe.ts +0 -116
  554. package/projects/corecomponents/src/lib/components/pagination/pagination-instance.ts +0 -18
  555. package/projects/corecomponents/src/lib/components/pagination/pagination.component.ts +0 -160
  556. package/projects/corecomponents/src/lib/components/pagination/pagination.module.ts +0 -26
  557. package/projects/corecomponents/src/lib/components/pagination/pagination.service.ts +0 -99
  558. package/projects/corecomponents/src/lib/components/pagination-bar/pagination-bar.component.ts +0 -178
  559. package/projects/corecomponents/src/lib/components/pagination-bar/pagination-bar.module.ts +0 -17
  560. package/projects/corecomponents/src/lib/components/popup/const/popup-window-token.ts +0 -4
  561. package/projects/corecomponents/src/lib/components/popup/interface/popup-button.ts +0 -14
  562. package/projects/corecomponents/src/lib/components/popup/interface/popup-close-event.ts +0 -8
  563. package/projects/corecomponents/src/lib/components/popup/interface/popup-settings.ts +0 -70
  564. package/projects/corecomponents/src/lib/components/popup/interface/popup.ts +0 -17
  565. package/projects/corecomponents/src/lib/components/popup/model/popup-button-globals.ts +0 -11
  566. package/projects/corecomponents/src/lib/components/popup/model/popup-window.ts +0 -51
  567. package/projects/corecomponents/src/lib/components/popup/popup-buttons.component.ts +0 -61
  568. package/projects/corecomponents/src/lib/components/popup/popup-message-display.component.ts +0 -49
  569. package/projects/corecomponents/src/lib/components/popup/popup-window-shell.component.ts +0 -222
  570. package/projects/corecomponents/src/lib/components/popup/popup.module.ts +0 -48
  571. package/projects/corecomponents/src/lib/components/popup/service/popup-shower.service.ts +0 -98
  572. package/projects/corecomponents/src/lib/components/popup/service/prompt.service.ts +0 -127
  573. package/projects/corecomponents/src/lib/components/popup/text-input-popup.component.ts +0 -36
  574. package/projects/corecomponents/src/lib/components/responsive-text/responsive-text.component.ts +0 -24
  575. package/projects/corecomponents/src/lib/components/responsive-text/responsive-text.module.ts +0 -17
  576. package/projects/corecomponents/src/lib/components/simple-grid/base-simple-grid.component.ts +0 -194
  577. package/projects/corecomponents/src/lib/components/simple-grid/simple-grid-cell.component.ts +0 -192
  578. package/projects/corecomponents/src/lib/components/simple-grid/simple-grid-column.directive.ts +0 -143
  579. package/projects/corecomponents/src/lib/components/simple-grid/simple-grid.component.ts +0 -489
  580. package/projects/corecomponents/src/lib/components/simple-grid/simple-grid.module.ts +0 -38
  581. package/projects/corecomponents/src/lib/components/tile/tile.component.ts +0 -71
  582. package/projects/corecomponents/src/lib/components/tile/tile.module.ts +0 -21
  583. package/projects/corecomponents/src/lib/components/tile-select/tile-select.component.ts +0 -36
  584. package/projects/corecomponents/src/lib/components/tile-select/tile-select.module.ts +0 -19
  585. package/projects/corecomponents/src/lib/components/tooltip/tooltip.component.ts +0 -96
  586. package/projects/corecomponents/src/lib/components/tooltip/tooltip.module.ts +0 -17
  587. package/projects/corecomponents/src/lib/components/validation-error/validation-error.component.ts +0 -45
  588. package/projects/corecomponents/src/lib/components/validation-error/validation-error.module.ts +0 -24
  589. package/projects/corecomponents/src/lib/components/view-mode-buttons/content-view-mode.enum.ts +0 -9
  590. package/projects/corecomponents/src/lib/components/view-mode-buttons/view-mode-buttons.component.ts +0 -63
  591. package/projects/corecomponents/src/lib/components/view-mode-buttons/view-mode-buttons.module.ts +0 -19
  592. package/projects/corecomponents/src/lib/core/abstract/collection-based-component.ts +0 -488
  593. package/projects/corecomponents/src/lib/core/config/device-environment.ts +0 -26
  594. package/projects/corecomponents/src/lib/core/constant/default-upper-bound-for-range-components.ts +0 -4
  595. package/projects/corecomponents/src/lib/core/constant/java-max-int.ts +0 -1
  596. package/projects/corecomponents/src/lib/core/constant/number-inputs-key-down-white-list.ts +0 -46
  597. package/projects/corecomponents/src/lib/core/decorator/input-boolean.decorator.ts +0 -35
  598. package/projects/corecomponents/src/lib/core/enum/co-direction.ts +0 -7
  599. package/projects/corecomponents/src/lib/core/enum/co-document-image-display-kind.enum.ts +0 -5
  600. package/projects/corecomponents/src/lib/core/enum/co-document-type.enum.ts +0 -9
  601. package/projects/corecomponents/src/lib/core/enum/co-orientation.ts +0 -18
  602. package/projects/corecomponents/src/lib/core/enum/collection-based-component-input-driver-prop.enum.ts +0 -10
  603. package/projects/corecomponents/src/lib/core/enum/color-sequence-name.enum.ts +0 -5
  604. package/projects/corecomponents/src/lib/core/enum/core-components-icon.enum.ts +0 -299
  605. package/projects/corecomponents/src/lib/core/enum/file-type-internal.enum.ts +0 -15
  606. package/projects/corecomponents/src/lib/core/enum/file-type.enum.ts +0 -9
  607. package/projects/corecomponents/src/lib/core/enum/filterItem-mode.enum.ts +0 -57
  608. package/projects/corecomponents/src/lib/core/enum/float-label-type.enum.ts +0 -5
  609. package/projects/corecomponents/src/lib/core/enum/input-number-picker-show-mode.enum.ts +0 -6
  610. package/projects/corecomponents/src/lib/core/enum/input-text-type.enum.ts +0 -4
  611. package/projects/corecomponents/src/lib/core/enum/keyboard-code.enum.ts +0 -72
  612. package/projects/corecomponents/src/lib/core/enum/keyboard-key.enum.ts +0 -78
  613. package/projects/corecomponents/src/lib/core/enum/logical-operator-type.enum.ts +0 -5
  614. package/projects/corecomponents/src/lib/core/enum/object-right-type.enum.ts +0 -5
  615. package/projects/corecomponents/src/lib/core/enum/popup-button-type.enum.ts +0 -10
  616. package/projects/corecomponents/src/lib/core/enum/popup-type.enum.ts +0 -9
  617. package/projects/corecomponents/src/lib/core/enum/schedule-view.enum.ts +0 -14
  618. package/projects/corecomponents/src/lib/core/enum/search-data-type.ts +0 -4
  619. package/projects/corecomponents/src/lib/core/enum/search-property-state.ts +0 -5
  620. package/projects/corecomponents/src/lib/core/enum/sort-data-type.ts +0 -6
  621. package/projects/corecomponents/src/lib/core/enum/sort-direction.ts +0 -9
  622. package/projects/corecomponents/src/lib/core/enum/table-name.enum.ts +0 -79
  623. package/projects/corecomponents/src/lib/core/enum/value-comparison-type.ts +0 -11
  624. package/projects/corecomponents/src/lib/core/function/any-nill.function.ts +0 -6
  625. package/projects/corecomponents/src/lib/core/function/is-nill.function.ts +0 -4
  626. package/projects/corecomponents/src/lib/core/function/none-nill.function.ts +0 -16
  627. package/projects/corecomponents/src/lib/core/function/not-nill.function.ts +0 -4
  628. package/projects/corecomponents/src/lib/core/interface/search-property.ts +0 -15
  629. package/projects/corecomponents/src/lib/core/interface/sort-property.ts +0 -16
  630. package/projects/corecomponents/src/lib/core/model/bounds-constrained-number-value.ts +0 -222
  631. package/projects/corecomponents/src/lib/core/model/check-precision-and-scale-result.ts +0 -5
  632. package/projects/corecomponents/src/lib/core/model/check-within-stepped-bounds-result.ts +0 -8
  633. package/projects/corecomponents/src/lib/core/model/co-document-right.bo.ts +0 -9
  634. package/projects/corecomponents/src/lib/core/model/co-document.bo.ts +0 -193
  635. package/projects/corecomponents/src/lib/core/model/color-sequence.ts +0 -39
  636. package/projects/corecomponents/src/lib/core/model/color.ts +0 -29
  637. package/projects/corecomponents/src/lib/core/model/core-components-icon-svg.ts +0 -299
  638. package/projects/corecomponents/src/lib/core/model/element-position.ts +0 -14
  639. package/projects/corecomponents/src/lib/core/model/event/number-prompt-result-event.ts +0 -10
  640. package/projects/corecomponents/src/lib/core/model/event/string-prompt-result-event.ts +0 -10
  641. package/projects/corecomponents/src/lib/core/model/numerical-range.ts +0 -19
  642. package/projects/corecomponents/src/lib/core/service/form-input-user-change-listener.service.ts +0 -31
  643. package/projects/corecomponents/src/lib/core/service/form-master.service.ts +0 -119
  644. package/projects/corecomponents/src/lib/core/service/ng-zone-wrapper.service.ts +0 -15
  645. package/projects/corecomponents/src/lib/core/utils/array-utils.spec.ts +0 -588
  646. package/projects/corecomponents/src/lib/core/utils/array-utils.ts +0 -301
  647. package/projects/corecomponents/src/lib/core/utils/browser-utils.ts +0 -123
  648. package/projects/corecomponents/src/lib/core/utils/business-object-utils.ts +0 -42
  649. package/projects/corecomponents/src/lib/core/utils/css-utils.ts +0 -276
  650. package/projects/corecomponents/src/lib/core/utils/direction-enum-utils.ts +0 -15
  651. package/projects/corecomponents/src/lib/core/utils/element-ref.utils.ts +0 -12
  652. package/projects/corecomponents/src/lib/core/utils/event-utils.ts +0 -61
  653. package/projects/corecomponents/src/lib/core/utils/file-utils.ts +0 -291
  654. package/projects/corecomponents/src/lib/core/utils/number-utils.spec.ts +0 -657
  655. package/projects/corecomponents/src/lib/core/utils/number-utils.ts +0 -350
  656. package/projects/corecomponents/src/lib/core/utils/object-utils.ts +0 -205
  657. package/projects/corecomponents/src/lib/core/utils/parameter-value-conversion-utils.ts +0 -116
  658. package/projects/corecomponents/src/lib/core/utils/search-utils.ts +0 -121
  659. package/projects/corecomponents/src/lib/core/utils/sort-utils.ts +0 -108
  660. package/projects/corecomponents/src/lib/core/utils/string-utils.ts +0 -100
  661. package/projects/corecomponents/src/lib/core/validator/email.validator.ts +0 -10
  662. package/projects/corecomponents/src/lib/core/validator/equal.validator.ts +0 -14
  663. package/projects/corecomponents/src/lib/core/validator/max-string-length.validator.ts +0 -11
  664. package/projects/corecomponents/src/lib/core/validator/password.validator.ts +0 -35
  665. package/projects/corecomponents/src/lib/core/validator/precision-scale.validator.ts +0 -14
  666. package/projects/corecomponents/src/lib/core/validator/required.validator.ts +0 -9
  667. package/projects/corecomponents/src/lib/directives/align-with/align-with.directive.ts +0 -158
  668. package/projects/corecomponents/src/lib/directives/align-with/align-with.module.ts +0 -13
  669. package/projects/corecomponents/src/lib/directives/clickoutside/click-outside-master.service.ts +0 -64
  670. package/projects/corecomponents/src/lib/directives/clickoutside/click-outside.directive.ts +0 -72
  671. package/projects/corecomponents/src/lib/directives/clickoutside/clickoutside.module.ts +0 -17
  672. package/projects/corecomponents/src/lib/directives/observe-visibility/observe-visibility.directive.ts +0 -55
  673. package/projects/corecomponents/src/lib/directives/observe-visibility/observe-visibility.module.ts +0 -13
  674. package/projects/corecomponents/src/lib/directives/overlay/overlay-parent.directive.ts +0 -20
  675. package/projects/corecomponents/src/lib/directives/overlay/overlay.directive.ts +0 -170
  676. package/projects/corecomponents/src/lib/directives/overlay/overlay.module.ts +0 -16
  677. package/projects/corecomponents/src/lib/directives/parsevalue/parse-value.directive.ts +0 -42
  678. package/projects/corecomponents/src/lib/directives/parsevalue/parse-value.module.ts +0 -13
  679. package/projects/corecomponents/src/lib/directives/resize/resize-detect.directive.ts +0 -54
  680. package/projects/corecomponents/src/lib/directives/resize/resize-detect.module.ts +0 -13
  681. package/projects/corecomponents/src/lib/directives/ripple/ripple-ref.ts +0 -28
  682. package/projects/corecomponents/src/lib/directives/ripple/ripple-renderer.ts +0 -217
  683. package/projects/corecomponents/src/lib/directives/ripple/ripple.directive.ts +0 -116
  684. package/projects/corecomponents/src/lib/directives/ripple/ripple.module.ts +0 -24
  685. package/projects/corecomponents/src/lib/directives/ripple/scroll-dispatcher.service.ts +0 -129
  686. package/projects/corecomponents/src/lib/directives/ripple/scrollable.directive.ts +0 -37
  687. package/projects/corecomponents/src/lib/directives/ripple/viewport-ruler.service.ts +0 -84
  688. package/projects/corecomponents/src/lib/directives/screen-configuration/screen-configuration.directive.ts +0 -170
  689. package/projects/corecomponents/src/lib/directives/screen-configuration/screen-configuration.module.ts +0 -16
  690. package/projects/corecomponents/src/lib/directives/stopclick/stop-click.directive.ts +0 -35
  691. package/projects/corecomponents/src/lib/directives/stopclick/stop-click.module.ts +0 -14
  692. package/projects/corecomponents/src/lib/directives/template-wrapper/template-wrapper.directive.ts +0 -71
  693. package/projects/corecomponents/src/lib/directives/template-wrapper/template-wrapper.module.ts +0 -13
  694. package/projects/corecomponents/src/lib/directives/tooltip/tooltip-directive.module.ts +0 -17
  695. package/projects/corecomponents/src/lib/directives/tooltip/tooltip.directive.ts +0 -94
  696. package/projects/corecomponents/src/lib/interfaces/dialog-response.interface.ts +0 -7
  697. package/projects/corecomponents/src/lib/interfaces/lov-options.component.interface.ts +0 -4
  698. package/projects/corecomponents/src/lib/interfaces/scanner-input.interface.ts +0 -3
  699. package/projects/corecomponents/src/lib/interfaces/screen-config-adapter-component-interface-name.ts +0 -6
  700. package/projects/corecomponents/src/lib/interfaces/screen-config-adapter.component.interface.ts +0 -10
  701. package/projects/corecomponents/src/lib/model/data-item.ts +0 -9
  702. package/projects/corecomponents/src/lib/model/enum/app-button-type.enum.ts +0 -9
  703. package/projects/corecomponents/src/lib/model/enum/app-popup-type.enum.ts +0 -6
  704. package/projects/corecomponents/src/lib/model/enum/currency-code.enum.ts +0 -7
  705. package/projects/corecomponents/src/lib/model/enum/language-code.enum.ts +0 -8
  706. package/projects/corecomponents/src/lib/model/map/currencies.map.ts +0 -6
  707. package/projects/corecomponents/src/lib/modules/drag-drop/drag-drop-container.component.ts +0 -115
  708. package/projects/corecomponents/src/lib/modules/drag-drop/drag-drop-container.css +0 -34
  709. package/projects/corecomponents/src/lib/modules/drag-drop/drag-drop-manager.service.ts +0 -414
  710. package/projects/corecomponents/src/lib/modules/drag-drop/drag-drop.module.ts +0 -20
  711. package/projects/corecomponents/src/lib/modules/drag-drop/draggable.directive.ts +0 -70
  712. package/projects/corecomponents/src/lib/modules/drag-drop/model/co-drag-event.ts +0 -5
  713. package/projects/corecomponents/src/lib/modules/drag-drop/model/co-drop-event.ts +0 -9
  714. package/projects/corecomponents/src/lib/modules/drag-drop/model/drag-drop-container-element.ts +0 -7
  715. package/projects/corecomponents/src/lib/modules/drag-drop/model/drag-drop-container.ts +0 -9
  716. package/projects/corecomponents/src/lib/modules/media-monitor/flex-layout-breakpoint.enum.ts +0 -5
  717. package/projects/corecomponents/src/lib/modules/media-monitor/media-monitor.module.ts +0 -14
  718. package/projects/corecomponents/src/lib/modules/media-monitor/media-monitor.service.ts +0 -36
  719. package/projects/corecomponents/src/lib/modules/pagination/paginate.pipe.ts +0 -116
  720. package/projects/corecomponents/src/lib/modules/pagination/pagination-instance.ts +0 -18
  721. package/projects/corecomponents/src/lib/modules/pagination/pagination.component.ts +0 -229
  722. package/projects/corecomponents/src/lib/modules/pagination/pagination.module.ts +0 -25
  723. package/projects/corecomponents/src/lib/modules/pagination/pagination.service.ts +0 -98
  724. package/projects/corecomponents/src/lib/pipes/append.pipe.module.ts +0 -13
  725. package/projects/corecomponents/src/lib/pipes/append.pipe.ts +0 -17
  726. package/projects/corecomponents/src/lib/pipes/co-currency-pipe.module.ts +0 -13
  727. package/projects/corecomponents/src/lib/pipes/co-currency.pipe.ts +0 -45
  728. package/projects/corecomponents/src/lib/pipes/emun-keys.pipe.ts +0 -20
  729. package/projects/corecomponents/src/lib/pipes/enum-keys-pipe.module.ts +0 -13
  730. package/projects/corecomponents/src/lib/pipes/file-type-image-pipe.module.ts +0 -13
  731. package/projects/corecomponents/src/lib/pipes/file-type-image.pipe.ts +0 -45
  732. package/projects/corecomponents/src/lib/pipes/filter.pipe.module.ts +0 -13
  733. package/projects/corecomponents/src/lib/pipes/filter.pipe.ts +0 -14
  734. package/projects/corecomponents/src/lib/pipes/master-pipe.module.ts +0 -13
  735. package/projects/corecomponents/src/lib/pipes/master.pipe.ts +0 -71
  736. package/projects/corecomponents/src/lib/pipes/prepend.pipe.module.ts +0 -13
  737. package/projects/corecomponents/src/lib/pipes/prepend.pipe.ts +0 -17
  738. package/projects/corecomponents/src/lib/pipes/price-display-pipe.module.ts +0 -14
  739. package/projects/corecomponents/src/lib/pipes/price-display.pipe.ts +0 -20
  740. package/projects/corecomponents/src/lib/pipes/safe-style.pipe.module.ts +0 -13
  741. package/projects/corecomponents/src/lib/pipes/safe-style.pipe.ts +0 -14
  742. package/projects/corecomponents/src/lib/pipes/ucfirst-pipe.module.ts +0 -13
  743. package/projects/corecomponents/src/lib/pipes/ucfirst.pipe.ts +0 -14
  744. package/projects/corecomponents/src/lib/service/base-module-screen-config.service.ts +0 -241
  745. package/projects/corecomponents/src/lib/service/base-module.service.ts +0 -50
  746. package/projects/corecomponents/src/lib/service/color-sequence.service.ts +0 -20
  747. package/projects/corecomponents/src/lib/service/overlay.service.ts +0 -81
  748. package/projects/corecomponents/src/lib/translation/core-components-translation.module.ts +0 -27
  749. package/projects/corecomponents/src/lib/translation/core-components-translation.service.ts +0 -15
  750. package/projects/corecomponents/src/lib/translation/core-dictionary.service.ts +0 -27
  751. package/projects/corecomponents/src/lib/translation/core-localize.pipe.ts +0 -21
  752. package/projects/corecomponents/src/public-api.ts +0 -137
  753. package/projects/corecomponents/src/res/icons/Barcode.svg +0 -1
  754. package/projects/corecomponents/src/res/icons/CashRegister.svg +0 -1
  755. package/projects/corecomponents/src/res/icons/CirclePlusSkinny.svg +0 -1
  756. package/projects/corecomponents/src/res/icons/CrossSkinny.svg +0 -1
  757. package/projects/corecomponents/src/res/icons/FolderArrow.svg +0 -1
  758. package/projects/corecomponents/src/res/icons/Home.svg +0 -1
  759. package/projects/corecomponents/src/res/icons/POS.svg +0 -1
  760. package/projects/corecomponents/src/res/icons/Shop.svg +0 -1
  761. package/projects/corecomponents/src/res/icons/SinglePerson.svg +0 -1
  762. package/projects/corecomponents/src/res/icons/Star.svg +0 -1
  763. package/projects/corecomponents/src/res/icons/TrashBin.svg +0 -1
  764. package/projects/corecomponents/src/res/icons/account.svg +0 -1
  765. package/projects/corecomponents/src/res/icons/account_round_open.svg +0 -1
  766. package/projects/corecomponents/src/res/icons/activities.svg +0 -1
  767. package/projects/corecomponents/src/res/icons/add_to_cart_drop.svg +0 -1
  768. package/projects/corecomponents/src/res/icons/arrow_down.svg +0 -1
  769. package/projects/corecomponents/src/res/icons/arrow_fat_left.svg +0 -1
  770. package/projects/corecomponents/src/res/icons/arrow_fat_right.svg +0 -1
  771. package/projects/corecomponents/src/res/icons/arrow_left.svg +0 -4
  772. package/projects/corecomponents/src/res/icons/arrow_left_round_open.svg +0 -1
  773. package/projects/corecomponents/src/res/icons/arrow_point_down.svg +0 -6
  774. package/projects/corecomponents/src/res/icons/arrow_point_left.svg +0 -8
  775. package/projects/corecomponents/src/res/icons/arrow_point_right.svg +0 -8
  776. package/projects/corecomponents/src/res/icons/arrow_point_up.svg +0 -8
  777. package/projects/corecomponents/src/res/icons/arrow_right_round_open.svg +0 -1
  778. package/projects/corecomponents/src/res/icons/arrow_scroll_down.svg +0 -6
  779. package/projects/corecomponents/src/res/icons/arrow_scroll_left.svg +0 -22
  780. package/projects/corecomponents/src/res/icons/arrow_scroll_right.svg +0 -22
  781. package/projects/corecomponents/src/res/icons/arrow_scroll_up.svg +0 -6
  782. package/projects/corecomponents/src/res/icons/arrow_up.svg +0 -3
  783. package/projects/corecomponents/src/res/icons/article.svg +0 -1
  784. package/projects/corecomponents/src/res/icons/article_with_fold.svg +0 -1
  785. package/projects/corecomponents/src/res/icons/asterisk_small.svg +0 -1
  786. package/projects/corecomponents/src/res/icons/attachments.svg +0 -1
  787. package/projects/corecomponents/src/res/icons/back_to_top.svg +0 -1
  788. package/projects/corecomponents/src/res/icons/big_mac.svg +0 -6
  789. package/projects/corecomponents/src/res/icons/boxes.svg +0 -1
  790. package/projects/corecomponents/src/res/icons/brush.svg +0 -1
  791. package/projects/corecomponents/src/res/icons/brush_round_open.svg +0 -1
  792. package/projects/corecomponents/src/res/icons/building_columns.svg +0 -1
  793. package/projects/corecomponents/src/res/icons/businessrules.svg +0 -1
  794. package/projects/corecomponents/src/res/icons/calendar.svg +0 -1
  795. package/projects/corecomponents/src/res/icons/calendar_day.svg +0 -37
  796. package/projects/corecomponents/src/res/icons/calendar_day_regular.svg +0 -1
  797. package/projects/corecomponents/src/res/icons/calendar_empty.svg +0 -16
  798. package/projects/corecomponents/src/res/icons/calendar_range.svg +0 -1
  799. package/projects/corecomponents/src/res/icons/calendar_round_open.svg +0 -16
  800. package/projects/corecomponents/src/res/icons/camera.svg +0 -1
  801. package/projects/corecomponents/src/res/icons/cancel.svg +0 -1
  802. package/projects/corecomponents/src/res/icons/cancel_round_filled.svg +0 -1
  803. package/projects/corecomponents/src/res/icons/cancel_round_open.svg +0 -1
  804. package/projects/corecomponents/src/res/icons/cart.svg +0 -1
  805. package/projects/corecomponents/src/res/icons/cart_open.svg +0 -8
  806. package/projects/corecomponents/src/res/icons/case_manager.svg +0 -1
  807. package/projects/corecomponents/src/res/icons/cash_register_simple.svg +0 -1
  808. package/projects/corecomponents/src/res/icons/change_location.svg +0 -1
  809. package/projects/corecomponents/src/res/icons/check.svg +0 -1
  810. package/projects/corecomponents/src/res/icons/check_duotone.svg +0 -1
  811. package/projects/corecomponents/src/res/icons/check_round.svg +0 -1
  812. package/projects/corecomponents/src/res/icons/check_round_open.svg +0 -10
  813. package/projects/corecomponents/src/res/icons/check_simple.svg +0 -3
  814. package/projects/corecomponents/src/res/icons/check_thin.svg +0 -1
  815. package/projects/corecomponents/src/res/icons/chevron_down_regular.svg +0 -1
  816. package/projects/corecomponents/src/res/icons/chevron_up_regular.svg +0 -1
  817. package/projects/corecomponents/src/res/icons/client.svg +0 -1
  818. package/projects/corecomponents/src/res/icons/clock.svg +0 -1
  819. package/projects/corecomponents/src/res/icons/clockArrow.svg +0 -1
  820. package/projects/corecomponents/src/res/icons/cogWheelPlus.svg +0 -1
  821. package/projects/corecomponents/src/res/icons/cogWheels.svg +0 -1
  822. package/projects/corecomponents/src/res/icons/column_options.svg +0 -18
  823. package/projects/corecomponents/src/res/icons/company.svg +0 -1
  824. package/projects/corecomponents/src/res/icons/company_flat.svg +0 -4
  825. package/projects/corecomponents/src/res/icons/configurable.svg +0 -1
  826. package/projects/corecomponents/src/res/icons/consultant.svg +0 -1
  827. package/projects/corecomponents/src/res/icons/copy.svg +0 -1
  828. package/projects/corecomponents/src/res/icons/crosshair_1.svg +0 -1
  829. package/projects/corecomponents/src/res/icons/dashboard.svg +0 -1
  830. package/projects/corecomponents/src/res/icons/delivery_method.svg +0 -32
  831. package/projects/corecomponents/src/res/icons/delivery_status_uncheck.svg +0 -9
  832. package/projects/corecomponents/src/res/icons/delivery_truck.svg +0 -1
  833. package/projects/corecomponents/src/res/icons/detail_record.svg +0 -1
  834. package/projects/corecomponents/src/res/icons/detail_view.svg +0 -1
  835. package/projects/corecomponents/src/res/icons/dictionary.svg +0 -1
  836. package/projects/corecomponents/src/res/icons/documentWrench.svg +0 -1
  837. package/projects/corecomponents/src/res/icons/documents.svg +0 -1
  838. package/projects/corecomponents/src/res/icons/dollar.svg +0 -1
  839. package/projects/corecomponents/src/res/icons/download.svg +0 -1
  840. package/projects/corecomponents/src/res/icons/dropdown.svg +0 -4
  841. package/projects/corecomponents/src/res/icons/dropzone.svg +0 -1
  842. package/projects/corecomponents/src/res/icons/edit_pencil.svg +0 -1
  843. package/projects/corecomponents/src/res/icons/edit_pencil_circle.svg +0 -1
  844. package/projects/corecomponents/src/res/icons/edit_pencil_round.svg +0 -11
  845. package/projects/corecomponents/src/res/icons/edit_pencil_simple.svg +0 -16
  846. package/projects/corecomponents/src/res/icons/email.svg +0 -1
  847. package/projects/corecomponents/src/res/icons/email_round_open.svg +0 -6
  848. package/projects/corecomponents/src/res/icons/employee.svg +0 -1
  849. package/projects/corecomponents/src/res/icons/employee_two.svg +0 -1
  850. package/projects/corecomponents/src/res/icons/employer.svg +0 -1
  851. package/projects/corecomponents/src/res/icons/employment.svg +0 -1
  852. package/projects/corecomponents/src/res/icons/employment_end.svg +0 -7
  853. package/projects/corecomponents/src/res/icons/equal.svg +0 -1
  854. package/projects/corecomponents/src/res/icons/euro.svg +0 -1
  855. package/projects/corecomponents/src/res/icons/exclamation.svg +0 -1
  856. package/projects/corecomponents/src/res/icons/exclamation_round_open.svg +0 -1
  857. package/projects/corecomponents/src/res/icons/eye_circle.svg +0 -1
  858. package/projects/corecomponents/src/res/icons/eye_circle_large.svg +0 -1
  859. package/projects/corecomponents/src/res/icons/eye_round_filled.svg +0 -11
  860. package/projects/corecomponents/src/res/icons/factory.svg +0 -1
  861. package/projects/corecomponents/src/res/icons/fasttrack.svg +0 -1
  862. package/projects/corecomponents/src/res/icons/filter.svg +0 -1
  863. package/projects/corecomponents/src/res/icons/finish.svg +0 -1
  864. package/projects/corecomponents/src/res/icons/fixed_option_value_tree.svg +0 -1
  865. package/projects/corecomponents/src/res/icons/fixed_tree_option_value.svg +0 -1
  866. package/projects/corecomponents/src/res/icons/floppy_disk_solid.svg +0 -1
  867. package/projects/corecomponents/src/res/icons/folder_arrow_in.svg +0 -8
  868. package/projects/corecomponents/src/res/icons/formula.svg +0 -1
  869. package/projects/corecomponents/src/res/icons/fullscreen.svg +0 -6
  870. package/projects/corecomponents/src/res/icons/gear_double.svg +0 -21
  871. package/projects/corecomponents/src/res/icons/global_search.svg +0 -45
  872. package/projects/corecomponents/src/res/icons/globe.svg +0 -1
  873. package/projects/corecomponents/src/res/icons/greater_than.svg +0 -1
  874. package/projects/corecomponents/src/res/icons/groupby.svg +0 -1
  875. package/projects/corecomponents/src/res/icons/hamburger.svg +0 -1
  876. package/projects/corecomponents/src/res/icons/hand_pointer.svg +0 -1
  877. package/projects/corecomponents/src/res/icons/hbarchart.svg +0 -6
  878. package/projects/corecomponents/src/res/icons/home_circle.svg +0 -9
  879. package/projects/corecomponents/src/res/icons/home_open.svg +0 -7
  880. package/projects/corecomponents/src/res/icons/home_round_open.svg +0 -11
  881. package/projects/corecomponents/src/res/icons/hourglass.svg +0 -1
  882. package/projects/corecomponents/src/res/icons/icon_3d.svg +0 -1
  883. package/projects/corecomponents/src/res/icons/id.svg +0 -1
  884. package/projects/corecomponents/src/res/icons/image.svg +0 -1
  885. package/projects/corecomponents/src/res/icons/incoming_storage.svg +0 -1
  886. package/projects/corecomponents/src/res/icons/information.svg +0 -1
  887. package/projects/corecomponents/src/res/icons/information_round_open.svg +0 -6
  888. package/projects/corecomponents/src/res/icons/input_multiplechoice.svg +0 -1
  889. package/projects/corecomponents/src/res/icons/input_text.svg +0 -1
  890. package/projects/corecomponents/src/res/icons/input_textarea.svg +0 -1
  891. package/projects/corecomponents/src/res/icons/inventory.svg +0 -1
  892. package/projects/corecomponents/src/res/icons/invoice.svg +0 -20
  893. package/projects/corecomponents/src/res/icons/ione_logo.svg +0 -1
  894. package/projects/corecomponents/src/res/icons/ione_logo_fat.svg +0 -1
  895. package/projects/corecomponents/src/res/icons/ione_status_next.svg +0 -43
  896. package/projects/corecomponents/src/res/icons/ione_workflow.svg +0 -62
  897. package/projects/corecomponents/src/res/icons/keyboard.svg +0 -1
  898. package/projects/corecomponents/src/res/icons/keychain.svg +0 -1
  899. package/projects/corecomponents/src/res/icons/label.svg +0 -5
  900. package/projects/corecomponents/src/res/icons/label_round_open.svg +0 -6
  901. package/projects/corecomponents/src/res/icons/landmark_flag.svg +0 -1
  902. package/projects/corecomponents/src/res/icons/library.svg +0 -21
  903. package/projects/corecomponents/src/res/icons/linechart.svg +0 -1
  904. package/projects/corecomponents/src/res/icons/link_circle.svg +0 -1
  905. package/projects/corecomponents/src/res/icons/linked_products.svg +0 -1
  906. package/projects/corecomponents/src/res/icons/list_view.svg +0 -8
  907. package/projects/corecomponents/src/res/icons/location.svg +0 -1
  908. package/projects/corecomponents/src/res/icons/lock.svg +0 -1
  909. package/projects/corecomponents/src/res/icons/lock_round_open.svg +0 -8
  910. package/projects/corecomponents/src/res/icons/logo.svg +0 -1
  911. package/projects/corecomponents/src/res/icons/logout.svg +0 -1
  912. package/projects/corecomponents/src/res/icons/magic_wand.svg +0 -1
  913. package/projects/corecomponents/src/res/icons/magnifier.svg +0 -5
  914. package/projects/corecomponents/src/res/icons/manager.svg +0 -12
  915. package/projects/corecomponents/src/res/icons/mask.svg +0 -1
  916. package/projects/corecomponents/src/res/icons/master_detail.svg +0 -1
  917. package/projects/corecomponents/src/res/icons/material_circle_large.svg +0 -1
  918. package/projects/corecomponents/src/res/icons/medal_bronze.svg +0 -23
  919. package/projects/corecomponents/src/res/icons/medal_gold.svg +0 -23
  920. package/projects/corecomponents/src/res/icons/medal_silver.svg +0 -23
  921. package/projects/corecomponents/src/res/icons/medical_officer.svg +0 -14
  922. package/projects/corecomponents/src/res/icons/microphone.svg +0 -1
  923. package/projects/corecomponents/src/res/icons/minus_round_open.svg +0 -1
  924. package/projects/corecomponents/src/res/icons/minus_simple.svg +0 -1
  925. package/projects/corecomponents/src/res/icons/mobile.svg +0 -1
  926. package/projects/corecomponents/src/res/icons/multi_select_check.svg +0 -10
  927. package/projects/corecomponents/src/res/icons/new_task.svg +0 -1
  928. package/projects/corecomponents/src/res/icons/not_equal.svg +0 -4
  929. package/projects/corecomponents/src/res/icons/note.svg +0 -1
  930. package/projects/corecomponents/src/res/icons/note_bordered.svg +0 -1
  931. package/projects/corecomponents/src/res/icons/notification.svg +0 -1
  932. package/projects/corecomponents/src/res/icons/option.svg +0 -1
  933. package/projects/corecomponents/src/res/icons/optionset.svg +0 -1
  934. package/projects/corecomponents/src/res/icons/order.svg +0 -1
  935. package/projects/corecomponents/src/res/icons/orderpicking.svg +0 -1
  936. package/projects/corecomponents/src/res/icons/outgoing_storage.svg +0 -1
  937. package/projects/corecomponents/src/res/icons/over_booking.svg +0 -1
  938. package/projects/corecomponents/src/res/icons/pause_circle.svg +0 -12
  939. package/projects/corecomponents/src/res/icons/pen_to_square_solid.svg +0 -1
  940. package/projects/corecomponents/src/res/icons/pencil_round_open.svg +0 -10
  941. package/projects/corecomponents/src/res/icons/phone.svg +0 -1
  942. package/projects/corecomponents/src/res/icons/phone_round_open.svg +0 -10
  943. package/projects/corecomponents/src/res/icons/piechart.svg +0 -24
  944. package/projects/corecomponents/src/res/icons/pin.svg +0 -9
  945. package/projects/corecomponents/src/res/icons/pin_round_open.svg +0 -11
  946. package/projects/corecomponents/src/res/icons/play_circle.svg +0 -1
  947. package/projects/corecomponents/src/res/icons/plus_round.svg +0 -9
  948. package/projects/corecomponents/src/res/icons/plus_round_open.svg +0 -1
  949. package/projects/corecomponents/src/res/icons/plus_simple.svg +0 -1
  950. package/projects/corecomponents/src/res/icons/plus_skinny.svg +0 -8
  951. package/projects/corecomponents/src/res/icons/plus_solid.svg +0 -1
  952. package/projects/corecomponents/src/res/icons/plus_stars.svg +0 -1
  953. package/projects/corecomponents/src/res/icons/pointer.svg +0 -7
  954. package/projects/corecomponents/src/res/icons/pointer_3d.svg +0 -8
  955. package/projects/corecomponents/src/res/icons/pointer_filled.svg +0 -6
  956. package/projects/corecomponents/src/res/icons/positioning.svg +0 -1
  957. package/projects/corecomponents/src/res/icons/pregnancy.svg +0 -18
  958. package/projects/corecomponents/src/res/icons/preset.svg +0 -1
  959. package/projects/corecomponents/src/res/icons/print.svg +0 -1
  960. package/projects/corecomponents/src/res/icons/product_properties.svg +0 -1
  961. package/projects/corecomponents/src/res/icons/purchase.svg +0 -15
  962. package/projects/corecomponents/src/res/icons/qrcode.svg +0 -59
  963. package/projects/corecomponents/src/res/icons/question.svg +0 -1
  964. package/projects/corecomponents/src/res/icons/radio_uncheck.svg +0 -1
  965. package/projects/corecomponents/src/res/icons/range.svg +0 -1
  966. package/projects/corecomponents/src/res/icons/range_select.svg +0 -1
  967. package/projects/corecomponents/src/res/icons/rectangles.svg +0 -15
  968. package/projects/corecomponents/src/res/icons/refresh.svg +0 -1
  969. package/projects/corecomponents/src/res/icons/relations.svg +0 -20
  970. package/projects/corecomponents/src/res/icons/remark.svg +0 -1
  971. package/projects/corecomponents/src/res/icons/remark_round_open.svg +0 -6
  972. package/projects/corecomponents/src/res/icons/report_in_type.svg +0 -1
  973. package/projects/corecomponents/src/res/icons/resize.svg +0 -3
  974. package/projects/corecomponents/src/res/icons/resize_down.svg +0 -1
  975. package/projects/corecomponents/src/res/icons/resize_up.svg +0 -1
  976. package/projects/corecomponents/src/res/icons/return_goods.svg +0 -4
  977. package/projects/corecomponents/src/res/icons/returns.svg +0 -1
  978. package/projects/corecomponents/src/res/icons/rotate_left_solid.svg +0 -1
  979. package/projects/corecomponents/src/res/icons/save_disk.svg +0 -15
  980. package/projects/corecomponents/src/res/icons/save_skinny.svg +0 -3
  981. package/projects/corecomponents/src/res/icons/scale_balanced.svg +0 -1
  982. package/projects/corecomponents/src/res/icons/scanner.svg +0 -1
  983. package/projects/corecomponents/src/res/icons/search_round_open.svg +0 -9
  984. package/projects/corecomponents/src/res/icons/sections.svg +0 -1
  985. package/projects/corecomponents/src/res/icons/select_all_round.svg +0 -5
  986. package/projects/corecomponents/src/res/icons/services.svg +0 -1
  987. package/projects/corecomponents/src/res/icons/settings.svg +0 -20
  988. package/projects/corecomponents/src/res/icons/shopping_cart.svg +0 -1
  989. package/projects/corecomponents/src/res/icons/shopping_cart_nr.svg +0 -1
  990. package/projects/corecomponents/src/res/icons/shortcut.svg +0 -1
  991. package/projects/corecomponents/src/res/icons/skills.svg +0 -1
  992. package/projects/corecomponents/src/res/icons/slide_in.svg +0 -1
  993. package/projects/corecomponents/src/res/icons/slider_panel.svg +0 -7
  994. package/projects/corecomponents/src/res/icons/small_tiles.svg +0 -1
  995. package/projects/corecomponents/src/res/icons/smaller_than.svg +0 -1
  996. package/projects/corecomponents/src/res/icons/sort_asc.svg +0 -1
  997. package/projects/corecomponents/src/res/icons/sort_desc.svg +0 -1
  998. package/projects/corecomponents/src/res/icons/star_round_open.svg +0 -6
  999. package/projects/corecomponents/src/res/icons/status_active.svg +0 -1
  1000. package/projects/corecomponents/src/res/icons/status_adoption.svg +0 -1
  1001. package/projects/corecomponents/src/res/icons/status_fostercare.svg +0 -1
  1002. package/projects/corecomponents/src/res/icons/status_ill.svg +0 -10
  1003. package/projects/corecomponents/src/res/icons/status_leave.svg +0 -1
  1004. package/projects/corecomponents/src/res/icons/status_pregnancy.svg +0 -10
  1005. package/projects/corecomponents/src/res/icons/stock.svg +0 -1
  1006. package/projects/corecomponents/src/res/icons/stock_management.svg +0 -25
  1007. package/projects/corecomponents/src/res/icons/storage.svg +0 -1
  1008. package/projects/corecomponents/src/res/icons/supervisor.svg +0 -1
  1009. package/projects/corecomponents/src/res/icons/supplier.svg +0 -18
  1010. package/projects/corecomponents/src/res/icons/surgery.svg +0 -35
  1011. package/projects/corecomponents/src/res/icons/tablechart.svg +0 -15
  1012. package/projects/corecomponents/src/res/icons/tag.svg +0 -1
  1013. package/projects/corecomponents/src/res/icons/talk_too_much.svg +0 -7
  1014. package/projects/corecomponents/src/res/icons/target.svg +0 -1
  1015. package/projects/corecomponents/src/res/icons/task.svg +0 -1
  1016. package/projects/corecomponents/src/res/icons/thick_lines.svg +0 -1
  1017. package/projects/corecomponents/src/res/icons/thin_lines.svg +0 -1
  1018. package/projects/corecomponents/src/res/icons/three_sixty_view.svg +0 -1
  1019. package/projects/corecomponents/src/res/icons/thumb_bronze.svg +0 -29
  1020. package/projects/corecomponents/src/res/icons/thumb_gold.svg +0 -29
  1021. package/projects/corecomponents/src/res/icons/thumb_silver.svg +0 -29
  1022. package/projects/corecomponents/src/res/icons/timeline.svg +0 -1
  1023. package/projects/corecomponents/src/res/icons/transaction_detail.svg +0 -19
  1024. package/projects/corecomponents/src/res/icons/transactions.svg +0 -12
  1025. package/projects/corecomponents/src/res/icons/trash_can_solid.svg +0 -1
  1026. package/projects/corecomponents/src/res/icons/triangle_down.svg +0 -1
  1027. package/projects/corecomponents/src/res/icons/triangle_large.svg +0 -5
  1028. package/projects/corecomponents/src/res/icons/triangle_left.svg +0 -1
  1029. package/projects/corecomponents/src/res/icons/triangle_right.svg +0 -1
  1030. package/projects/corecomponents/src/res/icons/triangle_up.svg +0 -1
  1031. package/projects/corecomponents/src/res/icons/truck.svg +0 -1
  1032. package/projects/corecomponents/src/res/icons/truck_calendar.svg +0 -15
  1033. package/projects/corecomponents/src/res/icons/undo_round_open.svg +0 -1
  1034. package/projects/corecomponents/src/res/icons/user.svg +0 -9
  1035. package/projects/corecomponents/src/res/icons/variants.svg +0 -1
  1036. package/projects/corecomponents/src/res/icons/vbarchart.svg +0 -6
  1037. package/projects/corecomponents/src/res/icons/view.svg +0 -1
  1038. package/projects/corecomponents/src/res/icons/warehouse.svg +0 -1
  1039. package/projects/corecomponents/src/res/icons/watermark.svg +0 -10
  1040. package/projects/corecomponents/src/res/icons/website.svg +0 -1
  1041. package/projects/corecomponents/src/res/icons/wizard.svg +0 -18
  1042. package/projects/corecomponents/src/res/icons/wms.svg +0 -24
  1043. package/projects/corecomponents/src/res/icons/work_in_progress.svg +0 -10
  1044. package/projects/corecomponents/src/res/icons/work_in_progress_round_open.svg +0 -9
  1045. package/projects/corecomponents/src/res/icons/wrench.svg +0 -4
  1046. package/projects/corecomponents/src/res/icons/x_axis.svg +0 -5
  1047. package/projects/corecomponents/src/res/icons/y_axis.svg +0 -5
  1048. package/projects/corecomponents/src/test.ts +0 -28
  1049. package/projects/corecomponents/tsconfig.lib.json +0 -20
  1050. package/projects/corecomponents/tsconfig.lib.prod.json +0 -16
  1051. package/projects/corecomponents/tsconfig.spec.json +0 -17
  1052. package/scripts/export.bat +0 -9
  1053. package/scripts/merge-icons.js +0 -39
  1054. package/scripts/publish.bat +0 -6
  1055. package/src/app/app.component.scss +0 -36
  1056. package/src/app/app.component.spec.ts +0 -31
  1057. package/src/app/app.component.ts +0 -559
  1058. package/src/app/app.module.ts +0 -145
  1059. package/src/app/components/button-showcase.component.ts +0 -82
  1060. package/src/app/components/carousel-3d-showcase.component.ts +0 -70
  1061. package/src/app/components/checkbox-showcase.component.ts +0 -56
  1062. package/src/app/components/co-dialog-showcase.component.ts +0 -189
  1063. package/src/app/components/co-simple-grid-test.component.ts +0 -146
  1064. package/src/app/components/filter-item-showcase.component.ts +0 -178
  1065. package/src/app/components/forms-showcase.component.ts +0 -703
  1066. package/src/app/components/icon-showcase.component.ts +0 -72
  1067. package/src/app/components/input-checkbox-showcase.component.ts +0 -87
  1068. package/src/app/components/input-date-picker-showcase.component.ts +0 -90
  1069. package/src/app/components/input-number-picker-showcase.component.ts +0 -125
  1070. package/src/app/components/input-radio-button-showcase.component.ts +0 -87
  1071. package/src/app/components/input-scanner-showcase.component.ts +0 -35
  1072. package/src/app/components/input-text-showcase.component.ts +0 -200
  1073. package/src/app/components/input-time-showcase.component.ts +0 -104
  1074. package/src/app/components/number-picker-showcase.component.ts +0 -17
  1075. package/src/app/components/simple-grid-showcase.component.ts +0 -60
  1076. package/src/app/model/data-item.ts +0 -9
  1077. package/src/app/model/enum/currency-code.enum.ts +0 -7
  1078. package/src/app/model/enum/language-code.enum.ts +0 -8
  1079. package/src/app/model/map/currencies.map.ts +0 -6
  1080. package/src/app/service/showcase-data.service.ts +0 -1110
  1081. package/src/assets/.gitkeep +0 -0
  1082. package/src/environments/environment.prod.ts +0 -3
  1083. package/src/environments/environment.ts +0 -16
  1084. package/src/favicon.ico +0 -0
  1085. package/src/index.html +0 -13
  1086. package/src/main.ts +0 -12
  1087. package/src/polyfills.ts +0 -65
  1088. package/src/styles.scss +0 -56
  1089. package/src/test.ts +0 -27
  1090. package/tsconfig.app.json +0 -15
  1091. package/tsconfig.json +0 -37
  1092. package/tsconfig.spec.json +0 -18
  1093. /package/{projects/corecomponents/src/lib → lib}/components/article-tile/article-tile.component.scss +0 -0
  1094. /package/{projects/corecomponents/src/lib → lib}/components/base/commit-buttons/style/_layout.scss +0 -0
  1095. /package/{projects/corecomponents/src/lib → lib}/components/base/commit-buttons/style/_material-definition.scss +0 -0
  1096. /package/{projects/corecomponents/src/lib → lib}/components/base/commit-buttons/style/_theme.scss +0 -0
  1097. /package/{projects/corecomponents/src/lib → lib}/components/base/commit-buttons/style/material.scss +0 -0
  1098. /package/{projects/corecomponents/src/lib → lib}/components/button/style/_co-ripple.scss +0 -0
  1099. /package/{projects/corecomponents/src/lib → lib}/components/button/style/_layout.scss +0 -0
  1100. /package/{projects/corecomponents/src/lib → lib}/components/button/style/_material-definition.scss +0 -0
  1101. /package/{projects/corecomponents/src/lib → lib}/components/button/style/_theme.scss +0 -0
  1102. /package/{projects/corecomponents/src/lib → lib}/components/button/style/material.scss +0 -0
  1103. /package/{projects/corecomponents/src/lib → lib}/components/calendar/style/_layout.scss +0 -0
  1104. /package/{projects/corecomponents/src/lib → lib}/components/calendar/style/_material-definition.scss +0 -0
  1105. /package/{projects/corecomponents/src/lib → lib}/components/calendar/style/_theme.scss +0 -0
  1106. /package/{projects/corecomponents/src/lib → lib}/components/calendar/style/material.scss +0 -0
  1107. /package/{projects/corecomponents/src/lib → lib}/components/card/style/_layout.scss +0 -0
  1108. /package/{projects/corecomponents/src/lib → lib}/components/card/style/_material-definition.scss +0 -0
  1109. /package/{projects/corecomponents/src/lib → lib}/components/card/style/_theme.scss +0 -0
  1110. /package/{projects/corecomponents/src/lib → lib}/components/card/style/material.scss +0 -0
  1111. /package/{projects/corecomponents/src/lib → lib}/components/carousel/style/_layout.scss +0 -0
  1112. /package/{projects/corecomponents/src/lib → lib}/components/carousel/style/_material-definition.scss +0 -0
  1113. /package/{projects/corecomponents/src/lib → lib}/components/carousel/style/_theme.scss +0 -0
  1114. /package/{projects/corecomponents/src/lib → lib}/components/carousel/style/material.scss +0 -0
  1115. /package/{projects/corecomponents/src/lib → lib}/components/carousel-3d/style/_layout.scss +0 -0
  1116. /package/{projects/corecomponents/src/lib → lib}/components/carousel-3d/style/_material-definition.scss +0 -0
  1117. /package/{projects/corecomponents/src/lib → lib}/components/carousel-3d/style/_theme.scss +0 -0
  1118. /package/{projects/corecomponents/src/lib → lib}/components/carousel-3d/style/material.scss +0 -0
  1119. /package/{projects/corecomponents/src/lib → lib}/components/checkmark-overlay/style/_layout.scss +0 -0
  1120. /package/{projects/corecomponents/src/lib → lib}/components/checkmark-overlay/style/_material-definition.scss +0 -0
  1121. /package/{projects/corecomponents/src/lib → lib}/components/checkmark-overlay/style/_theme.scss +0 -0
  1122. /package/{projects/corecomponents/src/lib → lib}/components/checkmark-overlay/style/material.scss +0 -0
  1123. /package/{projects/corecomponents/src/lib → lib}/components/co-dialog/style/_layout.scss +0 -0
  1124. /package/{projects/corecomponents/src/lib → lib}/components/co-dialog/style/_material-definition.scss +0 -0
  1125. /package/{projects/corecomponents/src/lib → lib}/components/co-dialog/style/_theme.scss +0 -0
  1126. /package/{projects/corecomponents/src/lib → lib}/components/co-dialog/style/material.scss +0 -0
  1127. /package/{projects/corecomponents/src/lib → lib}/components/co-dialog-wizard/style/_layout.scss +0 -0
  1128. /package/{projects/corecomponents/src/lib → lib}/components/co-dialog-wizard/style/_material-definition.scss +0 -0
  1129. /package/{projects/corecomponents/src/lib → lib}/components/co-dialog-wizard/style/_theme.scss +0 -0
  1130. /package/{projects/corecomponents/src/lib → lib}/components/co-dialog-wizard/style/material.scss +0 -0
  1131. /package/{projects/corecomponents/src/lib → lib}/components/collapsible/style/_layout.scss +0 -0
  1132. /package/{projects/corecomponents/src/lib → lib}/components/collapsible/style/_material-definition.scss +0 -0
  1133. /package/{projects/corecomponents/src/lib → lib}/components/collapsible/style/_theme.scss +0 -0
  1134. /package/{projects/corecomponents/src/lib → lib}/components/collapsible/style/material.scss +0 -0
  1135. /package/{projects/corecomponents/src/lib → lib}/components/color-picker/style/_layout.scss +0 -0
  1136. /package/{projects/corecomponents/src/lib → lib}/components/color-picker/style/_material-definition.scss +0 -0
  1137. /package/{projects/corecomponents/src/lib → lib}/components/color-picker/style/_theme.scss +0 -0
  1138. /package/{projects/corecomponents/src/lib → lib}/components/color-picker/style/material.scss +0 -0
  1139. /package/{projects/corecomponents/src/lib → lib}/components/core-dialog/confirmation-dialog/style/_layout.scss +0 -0
  1140. /package/{projects/corecomponents/src/lib → lib}/components/core-dialog/confirmation-dialog/style/_material-definition.scss +0 -0
  1141. /package/{projects/corecomponents/src/lib → lib}/components/core-dialog/confirmation-dialog/style/_theme.scss +0 -0
  1142. /package/{projects/corecomponents/src/lib → lib}/components/core-dialog/confirmation-dialog/style/material.scss +0 -0
  1143. /package/{projects/corecomponents/src/lib → lib}/components/core-dialog/style/_layout.scss +0 -0
  1144. /package/{projects/corecomponents/src/lib → lib}/components/core-dialog/style/_material-definition.scss +0 -0
  1145. /package/{projects/corecomponents/src/lib → lib}/components/core-dialog/style/_theme.scss +0 -0
  1146. /package/{projects/corecomponents/src/lib → lib}/components/core-dialog/style/material.scss +0 -0
  1147. /package/{projects/corecomponents/src/lib → lib}/components/double-calendar/style/_layout.scss +0 -0
  1148. /package/{projects/corecomponents/src/lib → lib}/components/double-calendar/style/_material-definition.scss +0 -0
  1149. /package/{projects/corecomponents/src/lib → lib}/components/double-calendar/style/_theme.scss +0 -0
  1150. /package/{projects/corecomponents/src/lib → lib}/components/double-calendar/style/material.scss +0 -0
  1151. /package/{projects/corecomponents/src/lib → lib}/components/filter-item/style/_layout.scss +0 -0
  1152. /package/{projects/corecomponents/src/lib → lib}/components/filter-item/style/_material-definition.scss +0 -0
  1153. /package/{projects/corecomponents/src/lib → lib}/components/filter-item/style/_theme.scss +0 -0
  1154. /package/{projects/corecomponents/src/lib → lib}/components/filter-item/style/material.scss +0 -0
  1155. /package/{projects/corecomponents/src/lib → lib}/components/grid-toolbar/style/_layout.scss +0 -0
  1156. /package/{projects/corecomponents/src/lib → lib}/components/grid-toolbar/style/_material-definition.scss +0 -0
  1157. /package/{projects/corecomponents/src/lib → lib}/components/grid-toolbar/style/_theme.scss +0 -0
  1158. /package/{projects/corecomponents/src/lib → lib}/components/grid-toolbar/style/material.scss +0 -0
  1159. /package/{projects/corecomponents/src/lib → lib}/components/grid-toolbar-button/style/_layout.scss +0 -0
  1160. /package/{projects/corecomponents/src/lib → lib}/components/grid-toolbar-button/style/_material-definition.scss +0 -0
  1161. /package/{projects/corecomponents/src/lib → lib}/components/grid-toolbar-button/style/_theme.scss +0 -0
  1162. /package/{projects/corecomponents/src/lib → lib}/components/grid-toolbar-button/style/material.scss +0 -0
  1163. /package/{projects/corecomponents/src/lib → lib}/components/icon/style/_layout.scss +0 -0
  1164. /package/{projects/corecomponents/src/lib → lib}/components/icon/style/_material-definition.scss +0 -0
  1165. /package/{projects/corecomponents/src/lib → lib}/components/icon/style/_theme.scss +0 -0
  1166. /package/{projects/corecomponents/src/lib → lib}/components/icon/style/material.scss +0 -0
  1167. /package/{projects/corecomponents/src/lib → lib}/components/icon-collapse-handle/style/_layout.scss +0 -0
  1168. /package/{projects/corecomponents/src/lib → lib}/components/icon-collapse-handle/style/_material-definition.scss +0 -0
  1169. /package/{projects/corecomponents/src/lib → lib}/components/icon-collapse-handle/style/_theme.scss +0 -0
  1170. /package/{projects/corecomponents/src/lib → lib}/components/icon-collapse-handle/style/material.scss +0 -0
  1171. /package/{projects/corecomponents/src/lib → lib}/components/image/style/_layout.scss +0 -0
  1172. /package/{projects/corecomponents/src/lib → lib}/components/image/style/_material-definition.scss +0 -0
  1173. /package/{projects/corecomponents/src/lib → lib}/components/image/style/_theme.scss +0 -0
  1174. /package/{projects/corecomponents/src/lib → lib}/components/image/style/material.scss +0 -0
  1175. /package/{projects/corecomponents/src/lib → lib}/components/input-checkbox/style/_layout.scss +0 -0
  1176. /package/{projects/corecomponents/src/lib → lib}/components/input-checkbox/style/_material-definition.scss +0 -0
  1177. /package/{projects/corecomponents/src/lib → lib}/components/input-checkbox/style/_theme.scss +0 -0
  1178. /package/{projects/corecomponents/src/lib → lib}/components/input-checkbox/style/material.scss +0 -0
  1179. /package/{projects/corecomponents/src/lib → lib}/components/input-date-picker/style/_layout.scss +0 -0
  1180. /package/{projects/corecomponents/src/lib → lib}/components/input-date-picker/style/_material-definition.scss +0 -0
  1181. /package/{projects/corecomponents/src/lib → lib}/components/input-date-picker/style/_theme.scss +0 -0
  1182. /package/{projects/corecomponents/src/lib → lib}/components/input-date-picker/style/material.scss +0 -0
  1183. /package/{projects/corecomponents/src/lib → lib}/components/input-date-range-picker/style/_layout.scss +0 -0
  1184. /package/{projects/corecomponents/src/lib → lib}/components/input-date-range-picker/style/_material-definition.scss +0 -0
  1185. /package/{projects/corecomponents/src/lib → lib}/components/input-date-range-picker/style/_theme.scss +0 -0
  1186. /package/{projects/corecomponents/src/lib → lib}/components/input-date-range-picker/style/material.scss +0 -0
  1187. /package/{projects/corecomponents/src/lib → lib}/components/input-number-picker/style/_layout.scss +0 -0
  1188. /package/{projects/corecomponents/src/lib → lib}/components/input-number-picker/style/_material-definition.scss +0 -0
  1189. /package/{projects/corecomponents/src/lib → lib}/components/input-number-picker/style/_theme.scss +0 -0
  1190. /package/{projects/corecomponents/src/lib → lib}/components/input-number-picker/style/material.scss +0 -0
  1191. /package/{projects/corecomponents/src/lib → lib}/components/input-radio-button/style/_layout.scss +0 -0
  1192. /package/{projects/corecomponents/src/lib → lib}/components/input-radio-button/style/_material-definition.scss +0 -0
  1193. /package/{projects/corecomponents/src/lib → lib}/components/input-radio-button/style/_theme.scss +0 -0
  1194. /package/{projects/corecomponents/src/lib → lib}/components/input-radio-button/style/material.scss +0 -0
  1195. /package/{projects/corecomponents/src/lib → lib}/components/input-scanner/style/_layout.scss +0 -0
  1196. /package/{projects/corecomponents/src/lib → lib}/components/input-scanner/style/_material-definition.scss +0 -0
  1197. /package/{projects/corecomponents/src/lib → lib}/components/input-scanner/style/_theme.scss +0 -0
  1198. /package/{projects/corecomponents/src/lib → lib}/components/input-scanner/style/material.scss +0 -0
  1199. /package/{projects/corecomponents/src/lib → lib}/components/input-search/style/_layout.scss +0 -0
  1200. /package/{projects/corecomponents/src/lib → lib}/components/input-search/style/_material-definition.scss +0 -0
  1201. /package/{projects/corecomponents/src/lib → lib}/components/input-search/style/_theme.scss +0 -0
  1202. /package/{projects/corecomponents/src/lib → lib}/components/input-search/style/material.scss +0 -0
  1203. /package/{projects/corecomponents/src/lib → lib}/components/input-text/style/_layout.scss +0 -0
  1204. /package/{projects/corecomponents/src/lib → lib}/components/input-text/style/_material-definition.scss +0 -0
  1205. /package/{projects/corecomponents/src/lib → lib}/components/input-text/style/_theme.scss +0 -0
  1206. /package/{projects/corecomponents/src/lib → lib}/components/input-text/style/material.scss +0 -0
  1207. /package/{projects/corecomponents/src/lib → lib}/components/input-textarea/style/_layout.scss +0 -0
  1208. /package/{projects/corecomponents/src/lib → lib}/components/input-textarea/style/_material-definition.scss +0 -0
  1209. /package/{projects/corecomponents/src/lib → lib}/components/input-textarea/style/_theme.scss +0 -0
  1210. /package/{projects/corecomponents/src/lib → lib}/components/input-textarea/style/material.scss +0 -0
  1211. /package/{projects/corecomponents/src/lib → lib}/components/level-indicator/style/_layout.scss +0 -0
  1212. /package/{projects/corecomponents/src/lib → lib}/components/level-indicator/style/_material-definition.scss +0 -0
  1213. /package/{projects/corecomponents/src/lib → lib}/components/level-indicator/style/_theme.scss +0 -0
  1214. /package/{projects/corecomponents/src/lib → lib}/components/level-indicator/style/material.scss +0 -0
  1215. /package/{projects/corecomponents/src/lib → lib}/components/list-of-values/style/_layout.scss +0 -0
  1216. /package/{projects/corecomponents/src/lib → lib}/components/list-of-values/style/_material-definition.scss +0 -0
  1217. /package/{projects/corecomponents/src/lib → lib}/components/list-of-values/style/_theme.scss +0 -0
  1218. /package/{projects/corecomponents/src/lib → lib}/components/list-of-values/style/material.scss +0 -0
  1219. /package/{projects/corecomponents/src/lib → lib}/components/loader/style/_layout.scss +0 -0
  1220. /package/{projects/corecomponents/src/lib → lib}/components/loader/style/_material-definition.scss +0 -0
  1221. /package/{projects/corecomponents/src/lib → lib}/components/loader/style/_theme.scss +0 -0
  1222. /package/{projects/corecomponents/src/lib → lib}/components/loader/style/material.scss +0 -0
  1223. /package/{projects/corecomponents/src/lib → lib}/components/pagination/style/_layout.scss +0 -0
  1224. /package/{projects/corecomponents/src/lib → lib}/components/pagination/style/_material-definition.scss +0 -0
  1225. /package/{projects/corecomponents/src/lib → lib}/components/pagination/style/_theme.scss +0 -0
  1226. /package/{projects/corecomponents/src/lib → lib}/components/pagination/style/material.scss +0 -0
  1227. /package/{projects/corecomponents/src/lib → lib}/components/pagination-bar/style/_layout.scss +0 -0
  1228. /package/{projects/corecomponents/src/lib → lib}/components/pagination-bar/style/_material-definition.scss +0 -0
  1229. /package/{projects/corecomponents/src/lib → lib}/components/pagination-bar/style/_theme.scss +0 -0
  1230. /package/{projects/corecomponents/src/lib → lib}/components/pagination-bar/style/material.scss +0 -0
  1231. /package/{projects/corecomponents/src/lib → lib}/components/popup/popup-buttons.component.scss +0 -0
  1232. /package/{projects/corecomponents/src/lib → lib}/components/popup/popup-window-shell.component.scss +0 -0
  1233. /package/{projects/corecomponents/src/lib → lib}/components/responsive-text/style/_layout.scss +0 -0
  1234. /package/{projects/corecomponents/src/lib → lib}/components/responsive-text/style/_material-definition.scss +0 -0
  1235. /package/{projects/corecomponents/src/lib → lib}/components/responsive-text/style/_theme.scss +0 -0
  1236. /package/{projects/corecomponents/src/lib → lib}/components/responsive-text/style/material.scss +0 -0
  1237. /package/{projects/corecomponents/src/lib → lib}/components/simple-grid/style/_layout.scss +0 -0
  1238. /package/{projects/corecomponents/src/lib → lib}/components/simple-grid/style/_material-definition.scss +0 -0
  1239. /package/{projects/corecomponents/src/lib → lib}/components/simple-grid/style/_theme.scss +0 -0
  1240. /package/{projects/corecomponents/src/lib → lib}/components/simple-grid/style/material.scss +0 -0
  1241. /package/{projects/corecomponents/src/lib → lib}/components/tile/style/_layout.scss +0 -0
  1242. /package/{projects/corecomponents/src/lib → lib}/components/tile/style/_material-definition.scss +0 -0
  1243. /package/{projects/corecomponents/src/lib → lib}/components/tile/style/_theme.scss +0 -0
  1244. /package/{projects/corecomponents/src/lib → lib}/components/tile/style/material.scss +0 -0
  1245. /package/{projects/corecomponents/src/lib → lib}/components/tile-select/style/_layout.scss +0 -0
  1246. /package/{projects/corecomponents/src/lib → lib}/components/tile-select/style/_material-definition.scss +0 -0
  1247. /package/{projects/corecomponents/src/lib → lib}/components/tile-select/style/_theme.scss +0 -0
  1248. /package/{projects/corecomponents/src/lib → lib}/components/tile-select/style/material.scss +0 -0
  1249. /package/{projects/corecomponents/src/lib → lib}/components/tooltip/style/_layout.scss +0 -0
  1250. /package/{projects/corecomponents/src/lib → lib}/components/tooltip/style/_material-definition.scss +0 -0
  1251. /package/{projects/corecomponents/src/lib → lib}/components/tooltip/style/_theme.scss +0 -0
  1252. /package/{projects/corecomponents/src/lib → lib}/components/tooltip/style/material.scss +0 -0
  1253. /package/{projects/corecomponents/src/lib → lib}/components/validation-error/style/_layout.scss +0 -0
  1254. /package/{projects/corecomponents/src/lib → lib}/components/validation-error/style/_material-definition.scss +0 -0
  1255. /package/{projects/corecomponents/src/lib → lib}/components/validation-error/style/_theme.scss +0 -0
  1256. /package/{projects/corecomponents/src/lib → lib}/components/validation-error/style/material.scss +0 -0
  1257. /package/{projects/corecomponents/src/lib → lib}/components/view-mode-buttons/style/_layout.scss +0 -0
  1258. /package/{projects/corecomponents/src/lib → lib}/components/view-mode-buttons/style/_material-definition.scss +0 -0
  1259. /package/{projects/corecomponents/src/lib → lib}/components/view-mode-buttons/style/_theme.scss +0 -0
  1260. /package/{projects/corecomponents/src/lib → lib}/components/view-mode-buttons/style/material.scss +0 -0
  1261. /package/{projects/corecomponents/src/lib → lib}/modules/pagination/style/_layout.scss +0 -0
  1262. /package/{projects/corecomponents/src/lib → lib}/modules/pagination/style/_material-definition.scss +0 -0
  1263. /package/{projects/corecomponents/src/lib → lib}/modules/pagination/style/_theme.scss +0 -0
  1264. /package/{projects/corecomponents/src/lib → lib}/modules/pagination/style/material.scss +0 -0
  1265. /package/{projects/corecomponents/src/lib → lib}/style/_input.mixins.scss +0 -0
  1266. /package/{projects/corecomponents/src/lib → lib}/style/_mixin.scss +0 -0
  1267. /package/{projects/corecomponents/src/lib → lib}/style/_variables.scss +0 -0
  1268. /package/{projects/corecomponents/src/lib → lib}/style/corecomponents-globals.scss +0 -0
  1269. /package/{projects/corecomponents/src/lib → lib}/style/material2/_core.scss +0 -0
  1270. /package/{projects/corecomponents/src/lib → lib}/style/material2/_material2-scss-barrel.scss +0 -0
  1271. /package/{projects/corecomponents/src/lib → lib}/style/material2/ripple/_co-ripple.scss +0 -0
  1272. /package/{projects/corecomponents/src/lib → lib}/style/material2/style/_elevation.scss +0 -0
  1273. /package/{projects/corecomponents/src/lib → lib}/style/material2/style/_list-common.scss +0 -0
  1274. /package/{projects/corecomponents/src/lib → lib}/style/material2/style/_variables.scss +0 -0
  1275. /package/{projects/corecomponents/src/lib → lib}/style/material2/theming/_palette.scss +0 -0
  1276. /package/{projects/corecomponents/src/lib → lib}/style/material2/theming/_theming.scss +0 -0
  1277. /package/{projects/corecomponents/src/lib → lib}/style/material2/typography/_typography.scss +0 -0
@@ -0,0 +1,10 @@
1
+ // Represents a positional model
2
+ export class ElementPosition {
3
+ constructor(top, right, bottom, left) {
4
+ this.top = top;
5
+ this.right = right;
6
+ this.bottom = bottom;
7
+ this.left = left;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1wb3NpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29yZS9tb2RlbC9lbGVtZW50LXBvc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdDQUFnQztBQUNoQyxNQUFNLE9BQU8sZUFBZTtJQU14QixZQUFhLEdBQVksRUFBRSxLQUFjLEVBQUUsTUFBZSxFQUFFLElBQWE7UUFDckUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBSZXByZXNlbnRzIGEgcG9zaXRpb25hbCBtb2RlbFxyXG5leHBvcnQgY2xhc3MgRWxlbWVudFBvc2l0aW9uIHtcclxuICAgIHB1YmxpYyB0b3A6IG51bWJlcjtcclxuICAgIHB1YmxpYyByaWdodDogbnVtYmVyO1xyXG4gICAgcHVibGljIGJvdHRvbTogbnVtYmVyO1xyXG4gICAgcHVibGljIGxlZnQ6IG51bWJlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvciAodG9wPzogbnVtYmVyLCByaWdodD86IG51bWJlciwgYm90dG9tPzogbnVtYmVyLCBsZWZ0PzogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy50b3AgPSB0b3A7XHJcbiAgICAgICAgdGhpcy5yaWdodCA9IHJpZ2h0O1xyXG4gICAgICAgIHRoaXMuYm90dG9tID0gYm90dG9tO1xyXG4gICAgICAgIHRoaXMubGVmdCA9IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,8 @@
1
+ // for PromptService.promptString
2
+ export class StringPromptResultEvent {
3
+ constructor(eventType, output) {
4
+ this.eventType = eventType;
5
+ this.output = output;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXByb21wdC1yZXN1bHQtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvcmUvbW9kZWwvZXZlbnQvc3RyaW5nLXByb21wdC1yZXN1bHQtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsaUNBQWlDO0FBQ2pDLE1BQU0sT0FBTyx1QkFBdUI7SUFDaEMsWUFDVyxTQUEwQixFQUMxQixNQUFjO1FBRGQsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV6QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3B1cEJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi9lbnVtL3BvcHVwLWJ1dHRvbi10eXBlLmVudW0nO1xyXG5cclxuLy8gZm9yIFByb21wdFNlcnZpY2UucHJvbXB0U3RyaW5nXHJcbmV4cG9ydCBjbGFzcyBTdHJpbmdQcm9tcHRSZXN1bHRFdmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgZXZlbnRUeXBlOiBQb3B1cEJ1dHRvblR5cGUsXHJcbiAgICAgICAgcHVibGljIG91dHB1dDogc3RyaW5nXHJcbiAgICApIHtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { Subject } from "rxjs";
3
+ export class FormInputUserModelChangeListenerService {
4
+ constructor() {
5
+ // Signal from input-field to change-listener user. Emits (or: should be emitted) each time the end-user has changed the state of a form input's model. Emits model as value.
6
+ this.userModelChange = new Subject();
7
+ // Signal from user of this change-listener to all its child input-fields. Resets their user touched marks.
8
+ this.clearAllMarkedAsUserTouched = new Subject();
9
+ this.hasUserModelChanges = false;
10
+ this._subs = [];
11
+ this._subs.push(this.userModelChange.subscribe(() => {
12
+ this.hasUserModelChanges = true;
13
+ }), this.clearAllMarkedAsUserTouched.subscribe(() => {
14
+ this.hasUserModelChanges = false;
15
+ }));
16
+ }
17
+ ngOnDestroy() {
18
+ this._subs.forEach(sub => sub.unsubscribe());
19
+ }
20
+ }
21
+ FormInputUserModelChangeListenerService.decorators = [
22
+ { type: Injectable }
23
+ ];
24
+ FormInputUserModelChangeListenerService.ctorParameters = () => [];
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC11c2VyLWNoYW5nZS1saXN0ZW5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb3JlL3NlcnZpY2UvZm9ybS1pbnB1dC11c2VyLWNoYW5nZS1saXN0ZW5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUk3QixNQUFNLE9BQU8sdUNBQXVDO0lBV2hEO1FBVkEsNktBQTZLO1FBQzdKLG9CQUFlLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFFbkUsMkdBQTJHO1FBQzNGLGdDQUEyQixHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTFFLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUVwQyxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUcvQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDWCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNwQyxDQUFDLENBQUMsRUFDRixJQUFJLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM1QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7O1lBekJKLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdWJqZWN0fSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEZvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICAvLyBTaWduYWwgZnJvbSBpbnB1dC1maWVsZCB0byBjaGFuZ2UtbGlzdGVuZXIgdXNlci4gRW1pdHMgKG9yOiBzaG91bGQgYmUgZW1pdHRlZCkgZWFjaCB0aW1lIHRoZSBlbmQtdXNlciBoYXMgY2hhbmdlZCB0aGUgc3RhdGUgb2YgYSBmb3JtIGlucHV0J3MgbW9kZWwuIEVtaXRzIG1vZGVsIGFzIHZhbHVlLlxyXG4gICAgcHVibGljIHJlYWRvbmx5IHVzZXJNb2RlbENoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICAgIC8vIFNpZ25hbCBmcm9tIHVzZXIgb2YgdGhpcyBjaGFuZ2UtbGlzdGVuZXIgdG8gYWxsIGl0cyBjaGlsZCBpbnB1dC1maWVsZHMuIFJlc2V0cyB0aGVpciB1c2VyIHRvdWNoZWQgbWFya3MuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2xlYXJBbGxNYXJrZWRBc1VzZXJUb3VjaGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBwdWJsaWMgaGFzVXNlck1vZGVsQ2hhbmdlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLnVzZXJNb2RlbENoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYXNVc2VyTW9kZWxDaGFuZ2VzID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRoaXMuY2xlYXJBbGxNYXJrZWRBc1VzZXJUb3VjaGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhc1VzZXJNb2RlbENoYW5nZXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,102 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { Subject } from "rxjs";
3
+ import { ArrayUtils } from '../utils/array-utils';
4
+ import { ElementPosition } from '../model/element-position';
5
+ /**
6
+ * Service to use inside [providers] of some leaf component that contains multiple <co-form>'s inside, possibly nested. Gives the master
7
+ * full control over submits etc. of all its inner co-forms with just one service.
8
+ */
9
+ export class FormMasterService {
10
+ constructor() {
11
+ // emits when ALL slaves valid-submitted
12
+ this.validSlavesSubmit = new Subject();
13
+ this._slaveForms = [];
14
+ this._subs = [];
15
+ this._positionOfFirstInvalidFieldInDom = new ElementPosition(9999, 9999, 9999, 9999);
16
+ this._firstErrorTooltipSpawned = false;
17
+ }
18
+ ngOnDestroy() {
19
+ this._slaveForms.length = 0;
20
+ this._subs.forEach(s => s.unsubscribe());
21
+ }
22
+ addSlave(coFormComp) {
23
+ this._slaveForms.push(coFormComp);
24
+ this._subs.push(coFormComp.invalidSubmit.subscribe(() => {
25
+ this._handleFormCompInvalidity();
26
+ }));
27
+ this._subs.push(coFormComp.anySubmit.subscribe(() => {
28
+ this._resetFirstInvalidFieldProps();
29
+ }));
30
+ }
31
+ removeSlave(coFormComp) {
32
+ ArrayUtils.RemoveElement(coFormComp, this._slaveForms);
33
+ this._firstErrorTooltipSpawned = false;
34
+ }
35
+ // Returns true if ALL submits were succesful, false if at least one submit failed. Returns undefined if we had no slaves.
36
+ submitSlaves() {
37
+ this._resetFirstInvalidFieldProps();
38
+ let success = true;
39
+ if (this._slaveForms) {
40
+ for (let i = 0, len = this._slaveForms.length; i < len; i++) {
41
+ if (!this._slaveForms[i].submit(true)) {
42
+ success = false;
43
+ }
44
+ }
45
+ }
46
+ if (success) {
47
+ this.validSlavesSubmit.next();
48
+ }
49
+ else {
50
+ this._handleFormCompInvalidity();
51
+ }
52
+ return success;
53
+ }
54
+ resetSlaves() {
55
+ if (this._slaveForms) {
56
+ for (let i = 0, len = this._slaveForms.length; i < len; i++) {
57
+ this._slaveForms[i].reset();
58
+ }
59
+ }
60
+ }
61
+ setFirstInvalidField(form, key, element) {
62
+ if (!element) {
63
+ return;
64
+ }
65
+ const clientRect = element.getBoundingClientRect(), scrollLeft = window.pageXOffset || document.documentElement.scrollLeft, scrollTop = window.pageYOffset || document.documentElement.scrollTop, top = clientRect.top + scrollTop, left = clientRect.left + scrollLeft;
66
+ if (this._positionOfFirstInvalidFieldInDom.top >= top && this._positionOfFirstInvalidFieldInDom.left >= left) {
67
+ this._slaveHoldingFirstInvalidField = form;
68
+ this._keyOfFirstInvalidFieldInDom = key;
69
+ this._positionOfFirstInvalidFieldInDom = new ElementPosition(top, clientRect.right, clientRect.bottom, left);
70
+ }
71
+ }
72
+ allSlavesValid() {
73
+ if (this._slaveForms) {
74
+ for (let i = 0, len = this._slaveForms.length; i < len; i++) {
75
+ if (!this._slaveForms[i].isValid()) {
76
+ return false;
77
+ }
78
+ }
79
+ return true;
80
+ }
81
+ else {
82
+ return true;
83
+ }
84
+ }
85
+ _resetFirstInvalidFieldProps() {
86
+ this._positionOfFirstInvalidFieldInDom = new ElementPosition(9999, 9999, 9999, 9999);
87
+ this._keyOfFirstInvalidFieldInDom = "";
88
+ this._slaveHoldingFirstInvalidField = undefined;
89
+ this._firstErrorTooltipSpawned = false;
90
+ }
91
+ _handleFormCompInvalidity() {
92
+ if (this._slaveHoldingFirstInvalidField && !this._firstErrorTooltipSpawned) {
93
+ this._slaveHoldingFirstInvalidField.showErrorTooltipOnFormGroupControl(this._keyOfFirstInvalidFieldInDom);
94
+ this._firstErrorTooltipSpawned = true;
95
+ }
96
+ }
97
+ }
98
+ FormMasterService.decorators = [
99
+ { type: Injectable }
100
+ ];
101
+ FormMasterService.ctorParameters = () => [];
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYXN0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29yZS9zZXJ2aWNlL2Zvcm0tbWFzdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQ7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGlCQUFpQjtJQWMxQjtRQWJBLHdDQUF3QztRQUN4QixzQkFBaUIsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUvRCxnQkFBVyxHQUFvQixFQUFFLENBQUM7UUFFbEMsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFJM0Isc0NBQWlDLEdBQW9CLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWpHLDhCQUF5QixHQUFZLEtBQUssQ0FBQztJQUduRCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxRQUFRLENBQUMsVUFBeUI7UUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFT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QVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDekUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7b0JBQ2hDLE9BQU8sS0FBSyxDQUFDO2lCQUNoQjthQUNKO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDZjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFTyw0QkFBNEI7UUFDaEMsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLDhCQUE4QixHQUFHLFNBQVMsQ0FBQztRQUNoRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFTyx5QkFBeUI7UUFDN0IsSUFBSSxJQUFJLENBQUMsOEJBQThCLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUU7WUFDeEUsSUFBSSxDQUFDLDhCQUE4QixDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1lBQzFHLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUM7U0FDekM7SUFDTCxDQUFDOzs7WUEzR0osVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZm9ybS9mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFycmF5VXRpbHMgfSBmcm9tICcuLi91dGlscy9hcnJheS11dGlscyc7XHJcbmltcG9ydCB7IEVsZW1lbnRQb3NpdGlvbiB9IGZyb20gJy4uL21vZGVsL2VsZW1lbnQtcG9zaXRpb24nO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgdG8gdXNlIGluc2lkZSBbcHJvdmlkZXJzXSBvZiBzb21lIGxlYWYgY29tcG9uZW50IHRoYXQgY29udGFpbnMgbXVsdGlwbGUgPGNvLWZvcm0+J3MgaW5zaWRlLCBwb3NzaWJseSBuZXN0ZWQuIEdpdmVzIHRoZSBtYXN0ZXJcclxuICogZnVsbCBjb250cm9sIG92ZXIgc3VibWl0cyBldGMuIG9mIGFsbCBpdHMgaW5uZXIgY28tZm9ybXMgd2l0aCBqdXN0IG9uZSBzZXJ2aWNlLlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRm9ybU1hc3RlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgLy8gZW1pdHMgd2hlbiBBTEwgc2xhdmVzIHZhbGlkLXN1Ym1pdHRlZFxyXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbGlkU2xhdmVzU3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9zbGF2ZUZvcm1zOiBGb3JtQ29tcG9uZW50W10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX3NsYXZlSG9sZGluZ0ZpcnN0SW52YWxpZEZpZWxkOiBGb3JtQ29tcG9uZW50O1xyXG4gICAgcHJpdmF0ZSBfa2V5T2ZGaXJzdEludmFsaWRGaWVsZEluRG9tOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIF9wb3NpdGlvbk9mRmlyc3RJbnZhbGlkRmllbGRJbkRvbTogRWxlbWVudFBvc2l0aW9uID0gbmV3IEVsZW1lbnRQb3NpdGlvbig5OTk5LCA5OTk5LCA5OTk5LCA5OTk5KTtcclxuXHJcbiAgICBwcml2YXRlIF9maXJzdEVycm9yVG9vbHRpcFNwYXduZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zbGF2ZUZvcm1zLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkU2xhdmUoY29Gb3JtQ29tcDogRm9ybUNvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NsYXZlRm9ybXMucHVzaChjb0Zvcm1Db21wKTtcclxuICAgICAgICB0aGlzLl9zdWJzLnB1c2goY29Gb3JtQ29tcC5pbnZhbGlkU3VibWl0LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUZvcm1Db21wSW52YWxpZGl0eSgpO1xyXG4gICAgICAgIH0pKTtcclxuICAgICAgICB0aGlzLl9zdWJzLnB1c2goY29Gb3JtQ29tcC5hbnlTdWJtaXQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcmVzZXRGaXJzdEludmFsaWRGaWVsZFByb3BzKCk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVTbGF2ZShjb0Zvcm1Db21wOiBGb3JtQ29tcG9uZW50KTogdm9pZCB7XHJcbiAgICAgICAgQXJyYXlVdGlscy5SZW1vdmVFbGVtZW50KGNvRm9ybUNvbXAsIHRoaXMuX3NsYXZlRm9ybXMpO1xyXG4gICAgICAgIHRoaXMuX2ZpcnN0RXJyb3JUb29sdGlwU3Bhd25lZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBBTEwgc3VibWl0cyB3ZXJlIHN1Y2Nlc2Z1bCwgZmFsc2UgaWYgYXQgbGVhc3Qgb25lIHN1Ym1pdCBmYWlsZWQuIFJldHVybnMgdW5kZWZpbmVkIGlmIHdlIGhhZCBubyBzbGF2ZXMuXHJcbiAgICBwdWJsaWMgc3VibWl0U2xhdmVzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHRoaXMuX3Jlc2V0Rmlyc3RJbnZhbGlkRmllbGRQcm9wcygpO1xyXG4gICAgICAgIGxldCBzdWNjZXNzOiBib29sZWFuID0gdHJ1ZTtcclxuICAgICAgICBpZiAodGhpcy5fc2xhdmVGb3Jtcykge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IHRoaXMuX3NsYXZlRm9ybXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fc2xhdmVGb3Jtc1tpXS5zdWJtaXQodHJ1ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRTbGF2ZXNTdWJtaXQubmV4dCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUZvcm1Db21wSW52YWxpZGl0eSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3VjY2VzcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVzZXRTbGF2ZXMoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NsYXZlRm9ybXMpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSB0aGlzLl9zbGF2ZUZvcm1zLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zbGF2ZUZvcm1zW2ldLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldEZpcnN0SW52YWxpZEZpZWxkKGZvcm06IEZvcm1Db21wb25lbnQsIGtleTogc3RyaW5nLCBlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghZWxlbWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGNsaWVudFJlY3Q6IENsaWVudFJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxyXG4gICAgICAgICAgICBzY3JvbGxMZWZ0OiBudW1iZXIgPSB3aW5kb3cucGFnZVhPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQsXHJcbiAgICAgICAgICAgIHNjcm9sbFRvcDogbnVtYmVyID0gd2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AsXHJcbiAgICAgICAgICAgIHRvcDogbnVtYmVyID0gY2xpZW50UmVjdC50b3AgKyBzY3JvbGxUb3AsXHJcbiAgICAgICAgICAgIGxlZnQ6IG51bWJlciA9IGNsaWVudFJlY3QubGVmdCArIHNjcm9sbExlZnQ7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Bvc2l0aW9uT2ZGaXJzdEludmFsaWRGaWVsZEluRG9tLnRvcCA+PSB0b3AgJiYgdGhpcy5fcG9zaXRpb25PZkZpcnN0SW52YWxpZEZpZWxkSW5Eb20ubGVmdCA+PSBsZWZ0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NsYXZlSG9sZGluZ0ZpcnN0SW52YWxpZEZpZWxkID0gZm9ybTtcclxuICAgICAgICAgICAgdGhpcy5fa2V5T2ZGaXJzdEludmFsaWRGaWVsZEluRG9tID0ga2V5O1xyXG4gICAgICAgICAgICB0aGlzLl9wb3NpdGlvbk9mRmlyc3RJbnZhbGlkRmllbGRJbkRvbSA9IG5ldyBFbGVtZW50UG9zaXRpb24odG9wLCBjbGllbnRSZWN0LnJpZ2h0LCBjbGllbnRSZWN0LmJvdHRvbSwgbGVmdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhbGxTbGF2ZXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5fc2xhdmVGb3Jtcykge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IHRoaXMuX3NsYXZlRm9ybXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fc2xhdmVGb3Jtc1tpXS5pc1ZhbGlkKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Jlc2V0Rmlyc3RJbnZhbGlkRmllbGRQcm9wcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wb3NpdGlvbk9mRmlyc3RJbnZhbGlkRmllbGRJbkRvbSA9IG5ldyBFbGVtZW50UG9zaXRpb24oOTk5OSwgOTk5OSwgOTk5OSwgOTk5OSk7XHJcbiAgICAgICAgdGhpcy5fa2V5T2ZGaXJzdEludmFsaWRGaWVsZEluRG9tID0gXCJcIjtcclxuICAgICAgICB0aGlzLl9zbGF2ZUhvbGRpbmdGaXJzdEludmFsaWRGaWVsZCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLl9maXJzdEVycm9yVG9vbHRpcFNwYXduZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9oYW5kbGVGb3JtQ29tcEludmFsaWRpdHkoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NsYXZlSG9sZGluZ0ZpcnN0SW52YWxpZEZpZWxkICYmICF0aGlzLl9maXJzdEVycm9yVG9vbHRpcFNwYXduZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2xhdmVIb2xkaW5nRmlyc3RJbnZhbGlkRmllbGQuc2hvd0Vycm9yVG9vbHRpcE9uRm9ybUdyb3VwQ29udHJvbCh0aGlzLl9rZXlPZkZpcnN0SW52YWxpZEZpZWxkSW5Eb20pO1xyXG4gICAgICAgICAgICB0aGlzLl9maXJzdEVycm9yVG9vbHRpcFNwYXduZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { Injectable, NgZone } from "@angular/core";
2
+ export class NgZoneWrapperService {
3
+ constructor(_ngZone) {
4
+ this._ngZone = _ngZone;
5
+ }
6
+ setTimeoutOutsideAngular(fn, millis = 0) {
7
+ this._ngZone.runOutsideAngular(() => {
8
+ setTimeout(() => {
9
+ fn();
10
+ }, millis);
11
+ });
12
+ }
13
+ }
14
+ NgZoneWrapperService.decorators = [
15
+ { type: Injectable }
16
+ ];
17
+ NgZoneWrapperService.ctorParameters = () => [
18
+ { type: NgZone }
19
+ ];
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctem9uZS13cmFwcGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvcmUvc2VydmljZS9uZy16b25lLXdyYXBwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdqRCxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLFlBQW9CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQ25DLENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxFQUFZLEVBQUUsU0FBaUIsQ0FBQztRQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNoQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLEVBQUUsRUFBRSxDQUFDO1lBQ1QsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs7WUFYSixVQUFVOzs7WUFGUyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBOZ1pvbmV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ1pvbmVXcmFwcGVyU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRUaW1lb3V0T3V0c2lkZUFuZ3VsYXIoZm46IEZ1bmN0aW9uLCBtaWxsaXM6IG51bWJlciA9IDApOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGZuKCk7XHJcbiAgICAgICAgICAgIH0sIG1pbGxpcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,264 @@
1
+ import { isNill } from "../function/is-nill.function";
2
+ import { notNill } from "../function/not-nill.function";
3
+ import { StringUtils } from "./string-utils";
4
+ import { NumberUtils } from "./number-utils";
5
+ import { ObjectUtils } from "./object-utils";
6
+ export class ArrayUtils {
7
+ /**
8
+ * Inserts given element into given array, on given index number.
9
+ *
10
+ * @param index The index position for the element to insert, use negatives to count from the arrays end
11
+ * @param element The element to insert
12
+ * @param array The array to insert the element into
13
+ * @returns True if and only if given element is succesfully inserted into given array.
14
+ */
15
+ static InsertElement(index, element, array) {
16
+ if (!Array.isArray(array) || Math.abs(index) > array.length || isNill(index)) {
17
+ // cannot insert something into nothing, and cannot insert an element into a non-array (via this contract that is), and
18
+ // we will not insert anything beyond the arrays limits (but we can append to the start or end)
19
+ return false;
20
+ }
21
+ const lenBefore = array.length;
22
+ array.splice(index, 0, element);
23
+ return (array.length === lenBefore + 1);
24
+ }
25
+ /**
26
+ * Removes given element from given array. Doesn't just set it to null like JavaScripts standard 'delete' keyword, but truly removes the
27
+ * element using splice(). Also works on associative arrays.
28
+ *
29
+ * @param element The element to remove.
30
+ * @param array The array to remove the element from.
31
+ * @returns True iff given element was truly successfully removed from given array.
32
+ */
33
+ static RemoveElement(element, array) {
34
+ if (!Array.isArray(array)) {
35
+ return false;
36
+ }
37
+ let index = array.indexOf(element);
38
+ return ArrayUtils.RemoveElementAtIndex(index, array);
39
+ }
40
+ /**
41
+ * Returns a true shallow clone of given array plus all its items. Its first-level members are object-shallow-cloned (optionally with a
42
+ * strongly typed constructor),
43
+ * or just as plain object (see param arrayItemsClass).
44
+ * @param arrayGiven
45
+ * @param arrayItemsClass If provided, the cloned array's first-level items will be strongly typed to / constructed as this class. Otherwise
46
+ * it'll be a plain object.
47
+ * @returns a true shallow clone of given array plus all its items
48
+ */
49
+ static ShallowCloneArrayAndItsItem(arrayGiven, arrayItemsClass) {
50
+ let arrayClone = [];
51
+ if (arrayGiven) {
52
+ for (let i = 0, len = arrayGiven.length; i < len; i++) {
53
+ arrayClone.push(ObjectUtils.GetShallowClone(arrayGiven[i], arrayItemsClass));
54
+ }
55
+ }
56
+ else {
57
+ return [];
58
+ }
59
+ return arrayClone;
60
+ }
61
+ /**
62
+ * Moves given element to given toIndex in given array. Returns whether the element was really moved, thus changing the given array.
63
+ */
64
+ static MoveElement(element, toIndex, array) {
65
+ if (!Array.isArray(array) || isNill(toIndex)) {
66
+ return false;
67
+ }
68
+ let fromIndex = array.indexOf(element);
69
+ let toIndexCorrected = NumberUtils.GetNearestNumberWithinBounds(toIndex, 0, array.length - 1);
70
+ if (fromIndex === -1 || array[toIndexCorrected] === element) {
71
+ // element did not exist in given array, or already existed on given toIndex
72
+ return false;
73
+ }
74
+ array.splice(toIndexCorrected, 0, array.splice(fromIndex, 1)[0]);
75
+ return true;
76
+ }
77
+ /**
78
+ * Returns max value from all resulting values from applying given itemValueFunction to all items of given array.
79
+ * @param array
80
+ * @param itemValueFunction The function aplied to each array item that gives it a numerical value. The max num val found is returned.
81
+ */
82
+ static GetMaxCalculatedValue(array, itemValueFunction) {
83
+ if (!array || !itemValueFunction) {
84
+ return NaN;
85
+ }
86
+ let max = undefined;
87
+ let len = array.length;
88
+ for (let i = 0; i < len; i++) {
89
+ let valueCur = itemValueFunction.call(this);
90
+ if (valueCur > max) {
91
+ max = valueCur;
92
+ }
93
+ }
94
+ return max;
95
+ }
96
+ // Checks if given array is defined, and is an array, and has length > 0, and, optionally checks that the first element is of type given clazz.
97
+ static IsArrayWithElements(arrayToCheck, clazz) {
98
+ if (isNill(arrayToCheck)) {
99
+ return false;
100
+ }
101
+ if (Array.isArray(arrayToCheck) && arrayToCheck.length > 0) {
102
+ if (clazz) {
103
+ return arrayToCheck[0] instanceof clazz;
104
+ }
105
+ return true;
106
+ }
107
+ return false;
108
+ }
109
+ // Removes all elements from given array for which given filter function holds true. Returns true if at least one removed, else false.
110
+ static RemoveElementsByFilter(array, filterFunction) {
111
+ if (!ArrayUtils.IsArrayWithElements(array) || !filterFunction) {
112
+ return false;
113
+ }
114
+ let atLeastOneRemoved = false;
115
+ let len = array.length;
116
+ for (let i = len - 1; i >= 0; i--) {
117
+ let item = array[i];
118
+ if (filterFunction.call(this, item) === true) {
119
+ array.splice(i, 1);
120
+ atLeastOneRemoved = true;
121
+ }
122
+ }
123
+ return atLeastOneRemoved;
124
+ }
125
+ // Replaces the elementOut with given elementIn.
126
+ static ReplaceElement(elementIn, elementOut, array) {
127
+ if (!array || !Array.isArray(array)) {
128
+ return;
129
+ }
130
+ const indexOut = array.indexOf(elementOut);
131
+ if (indexOut > -1) {
132
+ ArrayUtils.InsertElement(indexOut, elementIn, array);
133
+ ArrayUtils.RemoveElement(elementOut, array);
134
+ }
135
+ }
136
+ // Swaps the elements in given array with each other. Returns whether a real swap was made. From and To elements have to exist in array.
137
+ static SwapElements(elementOne, elementTwo, array) {
138
+ if (!Array.isArray(array)) {
139
+ return false;
140
+ }
141
+ const elOneIdx = array.indexOf(elementTwo);
142
+ const elTwoIdx = array.indexOf(elementOne);
143
+ if (elOneIdx === -1 || elTwoIdx === -1) {
144
+ return false;
145
+ }
146
+ array[elOneIdx] = array.splice(elTwoIdx, 1, array[elOneIdx])[0];
147
+ return true;
148
+ }
149
+ // Inserts or removes given toggle element into given elements array; inserts if not yet exists, and removes if already exists.
150
+ static ToggleElement(toggle, elements) {
151
+ elements.indexOf(toggle) > -1 ? ArrayUtils.RemoveElement(toggle, elements) : elements.push(toggle);
152
+ }
153
+ // Returns the number of elements from given array for which given whereFunction holds true.
154
+ static CountWhere(array, whereFunction) {
155
+ if (!ArrayUtils.IsArrayWithElements(array) || !whereFunction) {
156
+ return 0;
157
+ }
158
+ let count = 0;
159
+ const len = array.length;
160
+ for (let i = 0; i < len; i++) {
161
+ if (whereFunction.call(this, array[i])) {
162
+ count++;
163
+ }
164
+ }
165
+ return count;
166
+ }
167
+ /**
168
+ * Returns whether at least one element in given array could be found by given finder function.
169
+ *
170
+ * @param array
171
+ * @param finder A finder function that takes an element of the array and returns a boolean that represents
172
+ * the 'found status' for that element; whether it should have been found or not.
173
+ */
174
+ static ContainsAnElementFoundBy(array, finder) {
175
+ if (!array || !finder) {
176
+ return false;
177
+ }
178
+ return notNill(ArrayUtils.Find(array, finder));
179
+ }
180
+ /**
181
+ * Cross-browser Array.find() function. Returns the first item in given array for which the foundBy function returns true. Returns
182
+ * undefined when none was found.
183
+ *
184
+ * Example usage:
185
+ * let foundItem: BusinessObject = ArrayUtils.Find<BusinessObject>(modelArray, (modelItem: BusinessObject) => <br>
186
+ * (return modelItem.getId() === '1')
187
+ * * });
188
+ *
189
+ * @param array The array with items to search in.
190
+ * @param foundBy The finder function applied on each items of the array, when that returns true, the item is considered found.
191
+ */
192
+ static Find(array, foundBy) {
193
+ if (!array || !foundBy) {
194
+ return undefined;
195
+ }
196
+ for (let i = 0, len = array.length; i < len; i++) {
197
+ let itemCur = array[i];
198
+ if (foundBy(itemCur)) {
199
+ return itemCur;
200
+ }
201
+ }
202
+ return undefined;
203
+ }
204
+ /**
205
+ * Sorts all items in the given array alphabetically (A-to-Z) according to the values of their given property.
206
+ * @param theArray
207
+ * @param propertyName = undefined] When not defined, assumes an array of STRINGS is given, instead of array of OBJECTS.
208
+ * @param [reverseOrder = false] Set to true to sort from Z-to-A instead
209
+ */
210
+ static SortAlphabetically(theArray, propertyName = undefined, reverseOrder = false) {
211
+ if (!theArray || !Array.isArray(theArray)) {
212
+ return;
213
+ }
214
+ let switcher = reverseOrder ? -1 : 1;
215
+ let stringSort = StringUtils.IsStringWithLength(propertyName);
216
+ theArray.sort((itemOne, itemTwo) => {
217
+ let valOne = stringSort ? itemOne[propertyName] : itemOne;
218
+ let valTwo = stringSort ? itemTwo[propertyName] : itemTwo;
219
+ return (valOne > valTwo ? 1 : (valOne < valTwo ? -1 : 0)) * switcher;
220
+ });
221
+ }
222
+ static PushIfNotExist(item, array) {
223
+ if (!array) {
224
+ return false;
225
+ }
226
+ if (array.indexOf(item) === -1) {
227
+ array.push(item);
228
+ return true;
229
+ }
230
+ return false;
231
+ }
232
+ /**
233
+ * Removes element at given index from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really
234
+ * removes the element using splice().
235
+ *
236
+ * @param index
237
+ * @param array
238
+ * @returns True if and only if the element on given index is succesfully removed from given array.
239
+ */
240
+ static RemoveElementAtIndex(index, array) {
241
+ if (NumberUtils.IsNaN(index) || index < 0 || !Array.isArray(array) || array.length === 0) {
242
+ return false;
243
+ }
244
+ if (index in array) {
245
+ array.splice(index, 1);
246
+ return true;
247
+ }
248
+ else {
249
+ return false;
250
+ }
251
+ }
252
+ // Returns true if and only if given array includes given item. Checked by ===.
253
+ static Includes(array, item) {
254
+ if (Array.isArray(array)) {
255
+ for (let i = 0, len = array.length; i < len; i++) {
256
+ if (array[i] === item) {
257
+ return true;
258
+ }
259
+ }
260
+ return false;
261
+ }
262
+ }
263
+ }
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvcmUvdXRpbHMvYXJyYXktdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLE9BQU8sVUFBVTtJQUNuQjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBSSxLQUFhLEVBQUUsT0FBVSxFQUFFLEtBQVU7UUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxRSx1SEFBdUg7WUFDdkgsK0ZBQStGO1lBQy9GLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxTQUFTLEdBQVcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2QyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBSSxPQUFVLEVBQUUsS0FBVTtRQUNqRCxJQUFJLENBQUMsS0FB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QztZQUNqQixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBYSxFQUFFLEtBQVk7UUFDMUQsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3RGLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxFQUFFO1lBQ2hCLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQztJQUVELCtFQUErRTtJQUN4RSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQVksRUFBRSxJQUFTO1FBQzFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QixLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxHQUFHLEdBQVcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM5RCxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7b0JBQ25CLE9BQU8sSUFBSSxDQUFDO2lCQUNmO2FBQ0o7WUFDRCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNOaWxsfSBmcm9tIFwiLi4vZnVuY3Rpb24vaXMtbmlsbC5mdW5jdGlvblwiO1xyXG5pbXBvcnQge25vdE5pbGx9IGZyb20gXCIuLi9mdW5jdGlvbi9ub3QtbmlsbC5mdW5jdGlvblwiO1xyXG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tIFwiLi9zdHJpbmctdXRpbHNcIjtcclxuaW1wb3J0IHtOdW1iZXJVdGlsc30gZnJvbSBcIi4vbnVtYmVyLXV0aWxzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuL29iamVjdC11dGlsc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFycmF5VXRpbHMge1xyXG4gICAgLyoqXHJcbiAgICAgKiBJbnNlcnRzIGdpdmVuIGVsZW1lbnQgaW50byBnaXZlbiBhcnJheSwgb24gZ2l2ZW4gaW5kZXggbnVtYmVyLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggcG9zaXRpb24gZm9yIHRoZSBlbGVtZW50IHRvIGluc2VydCwgdXNlIG5lZ2F0aXZlcyB0byBjb3VudCBmcm9tIHRoZSBhcnJheXMgZW5kXHJcbiAgICAgKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCB0byBpbnNlcnRcclxuICAgICAqIEBwYXJhbSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zZXJ0IHRoZSBlbGVtZW50IGludG9cclxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgYW5kIG9ubHkgaWYgZ2l2ZW4gZWxlbWVudCBpcyBzdWNjZXNmdWxseSBpbnNlcnRlZCBpbnRvIGdpdmVuIGFycmF5LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIEluc2VydEVsZW1lbnQ8VD4oaW5kZXg6IG51bWJlciwgZWxlbWVudDogVCwgYXJyYXk6IFRbXSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcnJheSkgfHwgTWF0aC5hYnMoaW5kZXgpID4gYXJyYXkubGVuZ3RoIHx8IGlzTmlsbChpbmRleCkpIHtcclxuICAgICAgICAgICAgLy8gY2Fubm90IGluc2VydCBzb21ldGhpbmcgaW50byBub3RoaW5nLCBhbmQgY2Fubm90IGluc2VydCBhbiBlbGVtZW50IGludG8gYSBub24tYXJyYXkgKHZpYSB0aGlzIGNvbnRyYWN0IHRoYXQgaXMpLCBhbmRcclxuICAgICAgICAgICAgLy8gd2Ugd2lsbCBub3QgaW5zZXJ0IGFueXRoaW5nIGJleW9uZCB0aGUgYXJyYXlzIGxpbWl0cyAoYnV0IHdlIGNhbiBhcHBlbmQgdG8gdGhlIHN0YXJ0IG9yIGVuZClcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbGVuQmVmb3JlOiBudW1iZXIgPSBhcnJheS5sZW5ndGg7XHJcbiAgICAgICAgYXJyYXkuc3BsaWNlKGluZGV4LCAwLCBlbGVtZW50KTtcclxuICAgICAgICByZXR1cm4gKGFycmF5Lmxlbmd0aCA9PT0gbGVuQmVmb3JlICsgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmVzIGdpdmVuIGVsZW1lbnQgZnJvbSBnaXZlbiBhcnJheS4gRG9lc24ndCBqdXN0IHNldCBpdCB0byBudWxsIGxpa2UgSmF2YVNjcmlwdHMgc3RhbmRhcmQgJ2RlbGV0ZScga2V5d29yZCwgYnV0IHRydWx5IHJlbW92ZXMgdGhlXHJcbiAgICAgKiBlbGVtZW50IHVzaW5nIHNwbGljZSgpLiBBbHNvIHdvcmtzIG9uIGFzc29jaWF0aXZlIGFycmF5cy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCB0byByZW1vdmUuXHJcbiAgICAgKiBAcGFyYW0gYXJyYXkgVGhlIGFycmF5IHRvIHJlbW92ZSB0aGUgZWxlbWVudCBmcm9tLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZmYgZ2l2ZW4gZWxlbWVudCB3YXMgdHJ1bHkgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQgZnJvbSBnaXZlbiBhcnJheS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBSZW1vdmVFbGVtZW50PFQ+KGVsZW1lbnQ6IFQsIGFycmF5OiBUW10pOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXkpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBpbmRleDogbnVtYmVyID0gYXJyYXkuaW5kZXhPZihlbGVtZW50KTtcclxuICAgICAgICByZXR1cm4gQXJyYXlVdGlscy5SZW1vdmVFbGVtZW50QXRJbmRleChpbmRleCwgYXJyYXkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhIHRydWUgc2hhbGxvdyBjbG9uZSBvZiBnaXZlbiBhcnJheSBwbHVzIGFsbCBpdHMgaXRlbXMuIEl0cyBmaXJzdC1sZXZlbCBtZW1iZXJzIGFyZSBvYmplY3Qtc2hhbGxvdy1jbG9uZWQgKG9wdGlvbmFsbHkgd2l0aCBhXHJcbiAgICAgKiBzdHJvbmdseSB0eXBlZCBjb25zdHJ1Y3RvciksXHJcbiAgICAgKiBvciBqdXN0IGFzIHBsYWluIG9iamVjdCAoc2VlIHBhcmFtIGFycmF5SXRlbXNDbGFzcykuXHJcbiAgICAgKiBAcGFyYW0gYXJyYXlHaXZlblxyXG4gICAgICogQHBhcmFtIGFycmF5SXRlbXNDbGFzcyBJZiBwcm92aWRlZCwgdGhlIGNsb25lZCBhcnJheSdzIGZpcnN0LWxldmVsIGl0ZW1zIHdpbGwgYmUgc3Ryb25nbHkgdHlwZWQgdG8gLyBjb25zdHJ1Y3RlZCBhcyB0aGlzIGNsYXNzLiBPdGhlcndpc2VcclxuICAgICAqIGl0J2xsIGJlIGEgcGxhaW4gb2JqZWN0LlxyXG4gICAgICogQHJldHVybnMgYSB0cnVlIHNoYWxsb3cgY2xvbmUgb2YgZ2l2ZW4gYXJyYXkgcGx1cyBhbGwgaXRzIGl0ZW1zXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgU2hhbGxvd0Nsb25lQXJyYXlBbmRJdHNJdGVtPFQ+KGFycmF5R2l2ZW46IFRbXSwgYXJyYXlJdGVtc0NsYXNzPzogYW55KTogVFtdIHtcclxuICAgICAgICBsZXQgYXJyYXlDbG9uZTogVFtdID0gW107XHJcblxyXG4gICAgICAgIGlmIChhcnJheUdpdmVuKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gYXJyYXlHaXZlbi5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgYXJyYXlDbG9uZS5wdXNoKE9iamVjdFV0aWxzLkdldFNoYWxsb3dDbG9uZShhcnJheUdpdmVuW2ldLCBhcnJheUl0ZW1zQ2xhc3MpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBhcnJheUNsb25lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW92ZXMgZ2l2ZW4gZWxlbWVudCB0byBnaXZlbiB0b0luZGV4IGluIGdpdmVuIGFycmF5LiBSZXR1cm5zIHdoZXRoZXIgdGhlIGVsZW1lbnQgd2FzIHJlYWxseSBtb3ZlZCwgdGh1cyBjaGFuZ2luZyB0aGUgZ2l2ZW4gYXJyYXkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgTW92ZUVsZW1lbnQ8VD4oZWxlbWVudDogVCwgdG9JbmRleDogbnVtYmVyLCBhcnJheTogVFtdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFycmF5KSB8fCBpc05pbGwodG9JbmRleCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGZyb21JbmRleDogbnVtYmVyID0gYXJyYXkuaW5kZXhPZihlbGVtZW50KTtcclxuICAgICAgICBsZXQgdG9JbmRleENvcnJlY3RlZDogbnVtYmVyID0gTnVtYmVyVXRpbHMuR2V0TmVhcmVzdE51bWJlcldpdGhpbkJvdW5kcyh0b0luZGV4LCAwLCBhcnJheS5sZW5ndGggLSAxKTtcclxuICAgICAgICBpZiAoZnJvbUluZGV4ID09PSAtMSB8fCBhcnJheVt0b0luZGV4Q29ycmVjdGVkXSA9PT0gZWxlbWVudCkge1xyXG4gICAgICAgICAgICAvLyBlbGVtZW50IGRpZCBub3QgZXhpc3QgaW4gZ2l2ZW4gYXJyYXksIG9yIGFscmVhZHkgZXhpc3RlZCBvbiBnaXZlbiB0b0luZGV4XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYXJyYXkuc3BsaWNlKHRvSW5kZXhDb3JyZWN0ZWQsIDAsIGFycmF5LnNwbGljZShmcm9tSW5kZXgsIDEpWzBdKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgbWF4IHZhbHVlIGZyb20gYWxsIHJlc3VsdGluZyB2YWx1ZXMgZnJvbSBhcHBseWluZyBnaXZlbiBpdGVtVmFsdWVGdW5jdGlvbiB0byBhbGwgaXRlbXMgb2YgZ2l2ZW4gYXJyYXkuXHJcbiAgICAgKiBAcGFyYW0gYXJyYXlcclxuICAgICAqIEBwYXJhbSBpdGVtVmFsdWVGdW5jdGlvbiBUaGUgZnVuY3Rpb24gYXBsaWVkIHRvIGVhY2ggYXJyYXkgaXRlbSB0aGF0IGdpdmVzIGl0IGEgbnVtZXJpY2FsIHZhbHVlLiBUaGUgbWF4IG51bSB2YWwgZm91bmQgaXMgcmV0dXJuZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0TWF4Q2FsY3VsYXRlZFZhbHVlPFQ+KGFycmF5OiBUW10sIGl0ZW1WYWx1ZUZ1bmN0aW9uOiAoaXRlbTogVCkgPT4gbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAoIWFycmF5IHx8ICFpdGVtVmFsdWVGdW5jdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gTmFOO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IG1heDogbnVtYmVyID0gdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICBsZXQgbGVuOiBudW1iZXIgPSBhcnJheS5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCB2YWx1ZUN1cjogbnVtYmVyID0gaXRlbVZhbHVlRnVuY3Rpb24uY2FsbCh0aGlzKTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlQ3VyID4gbWF4KSB7XHJcbiAgICAgICAgICAgICAgICBtYXggPSB2YWx1ZUN1cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG1heDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDaGVja3MgaWYgZ2l2ZW4gYXJyYXkgaXMgZGVmaW5lZCwgYW5kIGlzIGFuIGFycmF5LCBhbmQgaGFzIGxlbmd0aCA+IDAsIGFuZCwgb3B0aW9uYWxseSBjaGVja3MgdGhhdCB0aGUgZmlyc3QgZWxlbWVudCBpcyBvZiB0eXBlIGdpdmVuIGNsYXp6LlxyXG4gICAgcHVibGljIHN0YXRpYyBJc0FycmF5V2l0aEVsZW1lbnRzPFQ+KGFycmF5VG9DaGVjazogVFtdLCBjbGF6ej86IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChpc05pbGwoYXJyYXlUb0NoZWNrKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhcnJheVRvQ2hlY2spICYmIGFycmF5VG9DaGVjay5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGlmIChjbGF6eikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFycmF5VG9DaGVja1swXSBpbnN0YW5jZW9mIGNsYXp6O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVtb3ZlcyBhbGwgZWxlbWVudHMgZnJvbSBnaXZlbiBhcnJheSBmb3Igd2hpY2ggZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uIGhvbGRzIHRydWUuIFJldHVybnMgdHJ1ZSBpZiBhdCBsZWFzdCBvbmUgcmVtb3ZlZCwgZWxzZSBmYWxzZS5cclxuICAgIHB1YmxpYyBzdGF0aWMgUmVtb3ZlRWxlbWVudHNCeUZpbHRlcihhcnJheTogYW55W10sIGZpbHRlckZ1bmN0aW9uOiAoaXRlbTogYW55KSA9PiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFBcnJheVV0aWxzLklzQXJyYXlXaXRoRWxlbWVudHMoYXJyYXkpIHx8ICFmaWx0ZXJGdW5jdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgYXRMZWFzdE9uZVJlbW92ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAgICAgbGV0IGxlbjogbnVtYmVyID0gYXJyYXkubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IGxlbiAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgICAgIGxldCBpdGVtOiBhbnkgPSBhcnJheVtpXTtcclxuICAgICAgICAgICAgaWYgKGZpbHRlckZ1bmN0aW9uLmNhbGwodGhpcywgaXRlbSkgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgICAgIGFycmF5LnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgIGF0TGVhc3RPbmVSZW1vdmVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGF0TGVhc3RPbmVSZW1vdmVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlcGxhY2VzIHRoZSBlbGVtZW50T3V0IHdpdGggZ2l2ZW4gZWxlbWVudEluLlxyXG4gICAgcHVibGljIHN0YXRpYyBSZXBsYWNlRWxlbWVudDxUPihlbGVtZW50SW46IFQsIGVsZW1lbnRPdXQ6IFQsIGFycmF5OiBUW10pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWFycmF5IHx8ICFBcnJheS5pc0FycmF5KGFycmF5KSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBpbmRleE91dDogbnVtYmVyID0gYXJyYXkuaW5kZXhPZihlbGVtZW50T3V0KTtcclxuICAgICAgICBpZiAoaW5kZXhPdXQgPiAtMSkge1xyXG4gICAgICAgICAgICBBcnJheVV0aWxzLkluc2VydEVsZW1lbnQoaW5kZXhPdXQsIGVsZW1lbnRJbiwgYXJyYXkpO1xyXG4gICAgICAgICAgICBBcnJheVV0aWxzLlJlbW92ZUVsZW1lbnQoZWxlbWVudE91dCwgYXJyYXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTd2FwcyB0aGUgZWxlbWVudHMgaW4gZ2l2ZW4gYXJyYXkgd2l0aCBlYWNoIG90aGVyLiBSZXR1cm5zIHdoZXRoZXIgYSByZWFsIHN3YXAgd2FzIG1hZGUuIEZyb20gYW5kIFRvIGVsZW1lbnRzIGhhdmUgdG8gZXhpc3QgaW4gYXJyYXkuXHJcbiAgICBwdWJsaWMgc3RhdGljIFN3YXBFbGVtZW50czxUPihlbGVtZW50T25lOiBULCBlbGVtZW50VHdvOiBULCBhcnJheTogVFtdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFycmF5KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBlbE9uZUlkeDogbnVtYmVyID0gYXJyYXkuaW5kZXhPZihlbGVtZW50VHdvKTtcclxuICAgICAgICBjb25zdCBlbFR3b0lkeDogbnVtYmVyID0gYXJyYXkuaW5kZXhPZihlbGVtZW50T25lKTtcclxuICAgICAgICBpZiAoZWxPbmVJZHggPT09IC0xIHx8IGVsVHdvSWR4ID09PSAtMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhcnJheVtlbE9uZUlkeF0gPSBhcnJheS5zcGxpY2UoZWxUd29JZHgsIDEsIGFycmF5W2VsT25lSWR4XSlbMF07XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW5zZXJ0cyBvciByZW1vdmVzIGdpdmVuIHRvZ2dsZSBlbGVtZW50IGludG8gZ2l2ZW4gZWxlbWVudHMgYXJyYXk7IGluc2VydHMgaWYgbm90IHlldCBleGlzdHMsIGFuZCByZW1vdmVzIGlmIGFscmVhZHkgZXhpc3RzLlxyXG4gICAgcHVibGljIHN0YXRpYyBUb2dnbGVFbGVtZW50PFQ+KHRvZ2dsZTogVCwgZWxlbWVudHM6IFRbXSk6IHZvaWQge1xyXG4gICAgICAgIGVsZW1lbnRzLmluZGV4T2YodG9nZ2xlKSA+IC0xID8gQXJyYXlVdGlscy5SZW1vdmVFbGVtZW50KHRvZ2dsZSwgZWxlbWVudHMpIDogZWxlbWVudHMucHVzaCh0b2dnbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBmcm9tIGdpdmVuIGFycmF5IGZvciB3aGljaCBnaXZlbiB3aGVyZUZ1bmN0aW9uIGhvbGRzIHRydWUuXHJcbiAgICBwdWJsaWMgc3RhdGljIENvdW50V2hlcmU8VD4oYXJyYXk6IFRbXSwgd2hlcmVGdW5jdGlvbjogKGl0ZW06IFQpID0+IGJvb2xlYW4pOiBudW1iZXIge1xyXG4gICAgICAgIGlmICghQXJyYXlVdGlscy5Jc0FycmF5V2l0aEVsZW1lbnRzKGFycmF5KSB8fCAhd2hlcmVGdW5jdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBjb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgICAgICAgY29uc3QgbGVuOiBudW1iZXIgPSBhcnJheS5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICh3aGVyZUZ1bmN0aW9uLmNhbGwodGhpcywgYXJyYXlbaV0pKSB7XHJcbiAgICAgICAgICAgICAgICBjb3VudCsrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY291bnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgYXQgbGVhc3Qgb25lIGVsZW1lbnQgaW4gZ2l2ZW4gYXJyYXkgY291bGQgYmUgZm91bmQgYnkgZ2l2ZW4gZmluZGVyIGZ1bmN0aW9uLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBhcnJheVxyXG4gICAgICogQHBhcmFtIGZpbmRlciBBIGZpbmRlciBmdW5jdGlvbiB0aGF0IHRha2VzIGFuIGVsZW1lbnQgb2YgdGhlIGFycmF5IGFuZCByZXR1cm5zIGEgYm9vbGVhbiB0aGF0IHJlcHJlc2VudHNcclxuICAgICAqIHRoZSAnZm91bmQgc3RhdHVzJyBmb3IgdGhhdCBlbGVtZW50OyB3aGV0aGVyIGl0IHNob3VsZCBoYXZlIGJlZW4gZm91bmQgb3Igbm90LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIENvbnRhaW5zQW5FbGVtZW50Rm91bmRCeTxUPihhcnJheTogVFtdLCBmaW5kZXI6IChlbGVtZW50OiBUKSA9PiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFhcnJheSB8fCAhZmluZGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBub3ROaWxsKEFycmF5VXRpbHMuRmluZDxUPihhcnJheSwgZmluZGVyKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcm9zcy1icm93c2VyIEFycmF5LmZpbmQoKSBmdW5jdGlvbi4gUmV0dXJucyB0aGUgZmlyc3QgaXRlbSBpbiBnaXZlbiBhcnJheSBmb3Igd2hpY2ggdGhlIGZvdW5kQnkgZnVuY3Rpb24gcmV0dXJucyB0cnVlLiBSZXR1cm5zXHJcbiAgICAgKiB1bmRlZmluZWQgd2hlbiBub25lIHdhcyBmb3VuZC5cclxuICAgICAqXHJcbiAgICAgKiBFeGFtcGxlIHVzYWdlOlxyXG4gICAgICogbGV0IGZvdW5kSXRlbTogQnVzaW5lc3NPYmplY3QgPSBBcnJheVV0aWxzLkZpbmQ8QnVzaW5lc3NPYmplY3Q+KG1vZGVsQXJyYXksIChtb2RlbEl0ZW06IEJ1c2luZXNzT2JqZWN0KSA9PiA8YnI+XHJcbiAgICAgKiAgICAgKHJldHVybiBtb2RlbEl0ZW0uZ2V0SWQoKSA9PT0gJzEnKVxyXG4gICAgICogICAqIH0pO1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBhcnJheSBUaGUgYXJyYXkgd2l0aCBpdGVtcyB0byBzZWFyY2ggaW4uXHJcbiAgICAgKiBAcGFyYW0gZm91bmRCeSBUaGUgZmluZGVyIGZ1bmN0aW9uIGFwcGxpZWQgb24gZWFjaCBpdGVtcyBvZiB0aGUgYXJyYXksIHdoZW4gdGhhdCByZXR1cm5zIHRydWUsIHRoZSBpdGVtIGlzIGNvbnNpZGVyZWQgZm91bmQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgRmluZDxUPihhcnJheTogVFtdLCBmb3VuZEJ5OiAoaXRlbTogVCkgPT4gYm9vbGVhbik6IFQge1xyXG4gICAgICAgIGlmICghYXJyYXkgfHwgIWZvdW5kQnkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGl0ZW1DdXI6IFQgPSBhcnJheVtpXTtcclxuICAgICAgICAgICAgaWYgKGZvdW5kQnkoaXRlbUN1cikpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtQ3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTb3J0cyBhbGwgaXRlbXMgaW4gdGhlIGdpdmVuIGFycmF5IGFscGhhYmV0aWNhbGx5IChBLXRvLVopIGFjY29yZGluZyB0byB0aGUgdmFsdWVzIG9mIHRoZWlyIGdpdmVuIHByb3BlcnR5LlxyXG4gICAgICogQHBhcmFtIHRoZUFycmF5XHJcbiAgICAgKiBAcGFyYW0gcHJvcGVydHlOYW1lID0gdW5kZWZpbmVkXSBXaGVuIG5vdCBkZWZpbmVkLCBhc3N1bWVzIGFuIGFycmF5IG9mIFNUUklOR1MgaXMgZ2l2ZW4sIGluc3RlYWQgb2YgYXJyYXkgb2YgT0JKRUNUUy5cclxuICAgICAqIEBwYXJhbSBbcmV2ZXJzZU9yZGVyID0gZmFsc2VdIFNldCB0byB0cnVlIHRvIHNvcnQgZnJvbSBaLXRvLUEgaW5zdGVhZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIFNvcnRBbHBoYWJldGljYWxseTxUPih0aGVBcnJheTogVFtdLCBwcm9wZXJ0eU5hbWU6IHN0cmluZyA9IHVuZGVmaW5lZCwgcmV2ZXJzZU9yZGVyOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoZUFycmF5IHx8ICFBcnJheS5pc0FycmF5KHRoZUFycmF5KSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgc3dpdGNoZXI6IG51bWJlciA9IHJldmVyc2VPcmRlciA/IC0xIDogMTtcclxuICAgICAgICBsZXQgc3RyaW5nU29ydDogYm9vbGVhbiA9IFN0cmluZ1V0aWxzLklzU3RyaW5nV2l0aExlbmd0aChwcm9wZXJ0eU5hbWUpO1xyXG4gICAgICAgIHRoZUFycmF5LnNvcnQoKGl0ZW1PbmU6IFQsIGl0ZW1Ud286IFQpID0+IHtcclxuICAgICAgICAgICAgbGV0IHZhbE9uZTogYW55ID0gc3RyaW5nU29ydCA/IGl0ZW1PbmVbcHJvcGVydHlOYW1lXSA6IGl0ZW1PbmU7XHJcbiAgICAgICAgICAgIGxldCB2YWxUd286IGFueSA9IHN0cmluZ1NvcnQgPyBpdGVtVHdvW3Byb3BlcnR5TmFtZV0gOiBpdGVtVHdvO1xyXG4gICAgICAgICAgICByZXR1cm4gKHZhbE9uZSA+IHZhbFR3byA/IDEgOiAodmFsT25lIDwgdmFsVHdvID8gLTEgOiAwKSkgKiBzd2l0Y2hlcjtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFB1c2hJZk5vdEV4aXN0KGl0ZW06IGFueSwgYXJyYXk6IGFueVtdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFhcnJheSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoYXJyYXkuaW5kZXhPZihpdGVtKSA9PT0gLTEpIHtcclxuICAgICAgICAgICAgYXJyYXkucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgZWxlbWVudCBhdCBnaXZlbiBpbmRleCBmcm9tIGdpdmVuIGFycmF5LiBEb2Vzbid0IGp1c3Qgc2V0IGl0IHRvIG51bGwgbGlrZSBKYXZhU2NyaXB0cyBzdGFuZGFyZCAnZGVsZXRlJyBkb2VzLCBidXQgcmVhbGx5XHJcbiAgICAgKiByZW1vdmVzIHRoZSBlbGVtZW50IHVzaW5nIHNwbGljZSgpLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpbmRleFxyXG4gICAgICogQHBhcmFtIGFycmF5XHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBlbGVtZW50IG9uIGdpdmVuIGluZGV4IGlzIHN1Y2Nlc2Z1bGx5IHJlbW92ZWQgZnJvbSBnaXZlbiBhcnJheS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBSZW1vdmVFbGVtZW50QXRJbmRleChpbmRleDogbnVtYmVyLCBhcnJheTogYW55W10pOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoTnVtYmVyVXRpbHMuSXNOYU4oaW5kZXgpIHx8IGluZGV4IDwgMCB8fCAhQXJyYXkuaXNBcnJheShhcnJheSkgfHwgYXJyYXkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChpbmRleCBpbiBhcnJheSkge1xyXG4gICAgICAgICAgICBhcnJheS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBhbmQgb25seSBpZiBnaXZlbiBhcnJheSBpbmNsdWRlcyBnaXZlbiBpdGVtLiBDaGVja2VkIGJ5ID09PS5cclxuICAgIHB1YmxpYyBzdGF0aWMgSW5jbHVkZXMoYXJyYXk6IGFueVtdLCBpdGVtOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhcnJheSkpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSBhcnJheS5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFycmF5W2ldID09PSBpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,100 @@
1
+ export class BrowserUtils {
2
+ static ScrollToTop(nativeElement, milliSeconds = 200) {
3
+ return BrowserUtils._ScrollTo("scrollTop", nativeElement, milliSeconds, 0);
4
+ }
5
+ static DownloadFile(encodedUri, fileType) {
6
+ const link = document.createElement("a");
7
+ const date = new Date().toDateString();
8
+ link.href = encodedUri;
9
+ link.target = '_blank';
10
+ link.download = "export_" + date + fileType;
11
+ document.body.appendChild(link);
12
+ link.click();
13
+ document.body.removeChild(link);
14
+ }
15
+ static CopyToClipboard(data) {
16
+ const textArea = document.createElement("TEXTAREA");
17
+ const textNode = document.createTextNode(data);
18
+ textArea.appendChild(textNode);
19
+ document.body.appendChild(textArea); // Required for FF
20
+ textArea.select();
21
+ document.execCommand("copy");
22
+ document.body.removeChild(textArea);
23
+ }
24
+ static TabFocusNextElement() {
25
+ const nextTabStop = BrowserUtils._FindNextTabStop(document.activeElement);
26
+ if (nextTabStop) {
27
+ nextTabStop.focus();
28
+ }
29
+ }
30
+ static AreDimensionsInView(dimensions, view) {
31
+ const vp = BrowserUtils.GetDimensions(view);
32
+ return dimensions.top >= vp.top && dimensions.left >= vp.left && dimensions.bottom <= vp.bottom && dimensions.right <= vp.right;
33
+ }
34
+ static HorizontalFitInView(dimensions, view) {
35
+ const vp = BrowserUtils.GetDimensions(view);
36
+ return dimensions.left >= vp.left && dimensions.right <= vp.right;
37
+ }
38
+ static VerticalFitInView(dimensions, view) {
39
+ const vp = BrowserUtils.GetDimensions(view);
40
+ return dimensions.top >= vp.top && dimensions.bottom <= vp.bottom;
41
+ }
42
+ static GetViewport() {
43
+ let viewPortWidth;
44
+ let viewPortHeight;
45
+ // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
46
+ if (typeof window.innerWidth !== 'undefined') {
47
+ viewPortWidth = window.innerWidth;
48
+ viewPortHeight = window.innerHeight;
49
+ }
50
+ else if (typeof document.documentElement !== 'undefined' &&
51
+ typeof document.documentElement.clientWidth !== 'undefined' &&
52
+ document.documentElement.clientWidth !== 0) {
53
+ viewPortWidth = document.documentElement.clientWidth;
54
+ viewPortHeight = document.documentElement.clientHeight;
55
+ }
56
+ else {
57
+ viewPortWidth = document.getElementsByTagName('body')[0].clientWidth;
58
+ viewPortHeight = document.getElementsByTagName('body')[0].clientHeight;
59
+ }
60
+ return { left: 0, top: 0, right: viewPortWidth, bottom: viewPortHeight };
61
+ }
62
+ static GetDimensions(view) {
63
+ if (!view) {
64
+ return this.GetViewport();
65
+ }
66
+ else {
67
+ const elem = view instanceof HTMLElement ? view : view.nativeElement;
68
+ const cr = elem.getBoundingClientRect();
69
+ return { left: cr.left, top: cr.top, right: cr.right, bottom: cr.bottom };
70
+ }
71
+ }
72
+ // Recursive.
73
+ static _ScrollTo(elementScrollProp, element, milliSeconds, toScrollEnd) {
74
+ if (!element || milliSeconds <= 0) {
75
+ return;
76
+ }
77
+ const difference = toScrollEnd - element[elementScrollProp];
78
+ const scrollPerTick = difference / milliSeconds * 10;
79
+ setTimeout(() => {
80
+ element[elementScrollProp] = element[elementScrollProp] + scrollPerTick;
81
+ if (element[elementScrollProp] === toScrollEnd) {
82
+ return;
83
+ }
84
+ BrowserUtils._ScrollTo(elementScrollProp, element, milliSeconds - 10, toScrollEnd);
85
+ }, 10);
86
+ }
87
+ static _FindNextTabStop(element) {
88
+ const tabStopElements = document.querySelectorAll('a[href], area[href], input:not(.hidden):not(.disabled):not(.readonly):not(.read-only), select:not(.hidden):not(.disabled):not(.readonly):not(.read-only), textarea:not(.hidden):not(.disabled):not(.readonly):not(.read-only), button:not(.hidden):not(.disabled):not(.readonly):not(.read-only), iframe, object, embed, *[tabindex]:not(.hidden):not(.disabled):not(.readonly):not(.read-only), *[contenteditable]:not(.hidden):not(.disabled):not(.readonly):not(.read-only)');
89
+ const actualStopEls = [];
90
+ for (let i = 0, len = tabStopElements.length; i < len; i++) {
91
+ const tabEl = tabStopElements[i];
92
+ if (tabEl.tabIndex >= 0) {
93
+ actualStopEls.push(tabEl);
94
+ }
95
+ }
96
+ const elIdx = actualStopEls.indexOf(element);
97
+ return actualStopEls[elIdx + 1] || undefined;
98
+ }
99
+ }
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29yZS91dGlscy9icm93c2VyLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxZQUFZO0lBQ2QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxhQUFrQixFQUFFLGVBQXVCLEdBQUc7UUFDcEUsT0FBTyxZQUFZLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQWtCLEVBQUUsUUFBZ0I7UUFDM0QsTUFBTSxJQUFJLEdBQXNCLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUQsTUFBTSxJQUFJLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUvQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBRTVDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVk7UUFFdEMsTUFBTSxRQUFRLEdBQVEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RCxNQUFNLFFBQVEsR0FBUSxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBELFFB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SUFDWCxDQUFDO0lBRU8sTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQWdCO1FBQzVDLE1BQU0sZUFBZSxHQUF3QixRQUFRLENBQUMsZ0JBQWdCLENBQ2xFLGdkQUFnZCxDQUNuZCxDQUFDO1FBQ0YsTUFBTSxhQUFhLEdBQWMsRUFBRSxDQUFDO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEUsTUFBTSxLQUFLLEdBQVEsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUU7Z0JBQ3JCLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDN0I7U0FDSjtRQUNELE1BQU0sS0FBSyxHQUFXLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsT0FBTyxhQUFhLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUNqRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRQb3NpdGlvbiB9IGZyb20gJy4uL21vZGVsL2VsZW1lbnQtcG9zaXRpb24nO1xyXG5cclxuZXhwb3J0IGNsYXNzIEJyb3dzZXJVdGlscyB7XHJcbiAgICBwdWJsaWMgc3RhdGljIFNjcm9sbFRvVG9wKG5hdGl2ZUVsZW1lbnQ6IGFueSwgbWlsbGlTZWNvbmRzOiBudW1iZXIgPSAyMDApOiB2b2lkIHtcclxuICAgICAgICByZXR1cm4gQnJvd3NlclV0aWxzLl9TY3JvbGxUbyhcInNjcm9sbFRvcFwiLCBuYXRpdmVFbGVtZW50LCBtaWxsaVNlY29uZHMsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgRG93bmxvYWRGaWxlKGVuY29kZWRVcmk6IHN0cmluZywgZmlsZVR5cGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGxpbms6IEhUTUxBbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XHJcbiAgICAgICAgY29uc3QgZGF0ZTogc3RyaW5nID0gbmV3IERhdGUoKS50b0RhdGVTdHJpbmcoKTtcclxuXHJcbiAgICAgICAgbGluay5ocmVmID0gZW5jb2RlZFVyaTtcclxuICAgICAgICBsaW5rLnRhcmdldCA9ICdfYmxhbmsnO1xyXG4gICAgICAgIGxpbmsuZG93bmxvYWQgPSBcImV4cG9ydF9cIiArIGRhdGUgKyBmaWxlVHlwZTtcclxuXHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgICAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIENvcHlUb0NsaXBib2FyZChkYXRhOiBzdHJpbmcpOiB2b2lkIHtcclxuXHJcbiAgICAgICAgY29uc3QgdGV4dEFyZWE6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJURVhUQVJFQVwiKTtcclxuICAgICAgICBjb25zdCB0ZXh0Tm9kZTogYW55ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZGF0YSk7XHJcblxyXG4gICAgICAgIHRleHRBcmVhLmFwcGVuZENoaWxkKHRleHROb2RlKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRBcmVhKTsgLy8gUmVxdWlyZWQgZm9yIEZGXHJcbiAgICAgICAgdGV4dEFyZWEuc2VsZWN0KCk7XHJcbiAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoXCJjb3B5XCIpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dEFyZWEpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgVGFiRm9jdXNOZXh0RWxlbWVudCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBuZXh0VGFiU3RvcDogYW55ID0gQnJvd3NlclV0aWxzLl9GaW5kTmV4dFRhYlN0b3AoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgaWYgKG5leHRUYWJTdG9wKSB7XHJcbiAgICAgICAgICAgIG5leHRUYWJTdG9wLmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgQXJlRGltZW5zaW9uc0luVmlldyhkaW1lbnNpb25zOiBFbGVtZW50UG9zaXRpb24sIHZpZXc/OiBFbGVtZW50UmVmKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgdnA6IEVsZW1lbnRQb3NpdGlvbiA9IEJyb3dzZXJVdGlscy5HZXREaW1lbnNpb25zKHZpZXcpO1xyXG5cclxuICAgICAgICByZXR1cm4gZGltZW5zaW9ucy50b3AgPj0gdnAudG9wICYmIGRpbWVuc2lvbnMubGVmdCA+PSB2cC5sZWZ0ICYmIGRpbWVuc2lvbnMuYm90dG9tIDw9IHZwLmJvdHRvbSAmJiBkaW1lbnNpb25zLnJpZ2h0IDw9IHZwLnJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgSG9yaXpvbnRhbEZpdEluVmlldyhkaW1lbnNpb25zOiBFbGVtZW50UG9zaXRpb24sIHZpZXc/OiBFbGVtZW50UmVmKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgdnA6IEVsZW1lbnRQb3NpdGlvbiA9IEJyb3dzZXJVdGlscy5HZXREaW1lbnNpb25zKHZpZXcpO1xyXG5cclxuICAgICAgICByZXR1cm4gZGltZW5zaW9ucy5sZWZ0ID49IHZwLmxlZnQgJiYgZGltZW5zaW9ucy5yaWdodCA8PSB2cC5yaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFZlcnRpY2FsRml0SW5WaWV3KGRpbWVuc2lvbnM6IEVsZW1lbnRQb3NpdGlvbiwgdmlldz86IEVsZW1lbnRSZWYpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCB2cDogRWxlbWVudFBvc2l0aW9uID0gQnJvd3NlclV0aWxzLkdldERpbWVuc2lvbnModmlldyk7XHJcblxyXG4gICAgICAgIHJldHVybiBkaW1lbnNpb25zLnRvcCA+PSB2cC50b3AgJiYgZGltZW5zaW9ucy5ib3R0b20gPD0gdnAuYm90dG9tO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0Vmlld3BvcnQoKTogRWxlbWVudFBvc2l0aW9uIHtcclxuXHJcbiAgICAgICAgbGV0IHZpZXdQb3J0V2lkdGg6IG51bWJlcjtcclxuICAgICAgICBsZXQgdmlld1BvcnRIZWlnaHQ6IG51bWJlcjtcclxuXHJcbiAgICAgICAgLy8gdGhlIG1vcmUgc3RhbmRhcmRzIGNvbXBsaWFudCBicm93c2VycyAobW96aWxsYS9uZXRzY2FwZS9vcGVyYS9JRTcpIHVzZSB3aW5kb3cuaW5uZXJXaWR0aCBhbmQgd2luZG93LmlubmVySGVpZ2h0XHJcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuaW5uZXJXaWR0aCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgdmlld1BvcnRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgICAgICAgICB2aWV3UG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgIT09ICd1bmRlZmluZWQnICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggIT09ICd1bmRlZmluZWQnICYmXHJcbiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAhPT0gMCkge1xyXG4gICAgICAgICAgICB2aWV3UG9ydFdpZHRoID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoO1xyXG4gICAgICAgICAgICB2aWV3UG9ydEhlaWdodCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdmlld1BvcnRXaWR0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0uY2xpZW50V2lkdGg7XHJcbiAgICAgICAgICAgIHZpZXdQb3J0SGVpZ2h0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge2xlZnQ6IDAsIHRvcDogMCwgcmlnaHQ6IHZpZXdQb3J0V2lkdGgsIGJvdHRvbTogdmlld1BvcnRIZWlnaHR9O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0RGltZW5zaW9ucyh2aWV3PzogRWxlbWVudFJlZik6IEVsZW1lbnRQb3NpdGlvbiB7XHJcbiAgICAgICAgaWYgKCF2aWV3KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkdldFZpZXdwb3J0KCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgZWxlbTogSFRNTEVsZW1lbnQgPSB2aWV3IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgPyB2aWV3IDogdmlldy5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBjcjogQ2xpZW50UmVjdCA9IGVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICAgIHJldHVybiB7bGVmdDogY3IubGVmdCwgdG9wOiBjci50b3AsIHJpZ2h0OiBjci5yaWdodCwgYm90dG9tOiBjci5ib3R0b219O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZWN1cnNpdmUuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfU2Nyb2xsVG8oZWxlbWVudFNjcm9sbFByb3A6IHN0cmluZywgZWxlbWVudDogYW55LCBtaWxsaVNlY29uZHM6IG51bWJlciwgdG9TY3JvbGxFbmQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIGlmICghZWxlbWVudCB8fCBtaWxsaVNlY29uZHMgPD0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkaWZmZXJlbmNlOiBudW1iZXIgPSB0b1Njcm9sbEVuZCAtIGVsZW1lbnRbZWxlbWVudFNjcm9sbFByb3BdO1xyXG4gICAgICAgIGNvbnN0IHNjcm9sbFBlclRpY2s6IG51bWJlciA9IGRpZmZlcmVuY2UgLyBtaWxsaVNlY29uZHMgKiAxMDtcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGVsZW1lbnRbZWxlbWVudFNjcm9sbFByb3BdID0gZWxlbWVudFtlbGVtZW50U2Nyb2xsUHJvcF0gKyBzY3JvbGxQZXJUaWNrO1xyXG4gICAgICAgICAgICBpZiAoZWxlbWVudFtlbGVtZW50U2Nyb2xsUHJvcF0gPT09IHRvU2Nyb2xsRW5kKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQnJvd3NlclV0aWxzLl9TY3JvbGxUbyhlbGVtZW50U2Nyb2xsUHJvcCwgZWxlbWVudCwgbWlsbGlTZWNvbmRzIC0gMTAsIHRvU2Nyb2xsRW5kKTtcclxuICAgICAgICB9LCAxMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX0ZpbmROZXh0VGFiU3RvcChlbGVtZW50OiBFbGVtZW50KTogRWxlbWVudCB7XHJcbiAgICAgICAgY29uc3QgdGFiU3RvcEVsZW1lbnRzOiBOb2RlTGlzdE9mPEVsZW1lbnQ+ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcclxuICAgICAgICAgICAgJ2FbaHJlZl0sIGFyZWFbaHJlZl0sIGlucHV0Om5vdCguaGlkZGVuKTpub3QoLmRpc2FibGVkKTpub3QoLnJlYWRvbmx5KTpub3QoLnJlYWQtb25seSksIHNlbGVjdDpub3QoLmhpZGRlbik6bm90KC5kaXNhYmxlZCk6bm90KC5yZWFkb25seSk6bm90KC5yZWFkLW9ubHkpLCB0ZXh0YXJlYTpub3QoLmhpZGRlbik6bm90KC5kaXNhYmxlZCk6bm90KC5yZWFkb25seSk6bm90KC5yZWFkLW9ubHkpLCBidXR0b246bm90KC5oaWRkZW4pOm5vdCguZGlzYWJsZWQpOm5vdCgucmVhZG9ubHkpOm5vdCgucmVhZC1vbmx5KSwgaWZyYW1lLCBvYmplY3QsIGVtYmVkLCAqW3RhYmluZGV4XTpub3QoLmhpZGRlbik6bm90KC5kaXNhYmxlZCk6bm90KC5yZWFkb25seSk6bm90KC5yZWFkLW9ubHkpLCAqW2NvbnRlbnRlZGl0YWJsZV06bm90KC5oaWRkZW4pOm5vdCguZGlzYWJsZWQpOm5vdCgucmVhZG9ubHkpOm5vdCgucmVhZC1vbmx5KSdcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IGFjdHVhbFN0b3BFbHM6IEVsZW1lbnRbXSA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gdGFiU3RvcEVsZW1lbnRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhYkVsOiBhbnkgPSB0YWJTdG9wRWxlbWVudHNbaV07XHJcbiAgICAgICAgICAgIGlmICh0YWJFbC50YWJJbmRleCA+PSAwKSB7XHJcbiAgICAgICAgICAgICAgICBhY3R1YWxTdG9wRWxzLnB1c2godGFiRWwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGVsSWR4OiBudW1iZXIgPSBhY3R1YWxTdG9wRWxzLmluZGV4T2YoZWxlbWVudCk7XHJcbiAgICAgICAgcmV0dXJuIGFjdHVhbFN0b3BFbHNbZWxJZHggKyAxXSB8fCB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbn1cclxuIl19