@colijnit/corecomponents_v12 12.2.20 → 12.2.22

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 (436) hide show
  1. package/bundles/colijnit-corecomponents_v12.umd.js +13656 -13656
  2. package/colijnit-corecomponents_v12.d.ts +43 -43
  3. package/esm2015/colijnit-corecomponents_v12.js +43 -43
  4. package/esm2015/lib/components/article-tile/article-tile.component.js +49 -49
  5. package/esm2015/lib/components/article-tile/article-tile.module.js +34 -34
  6. package/esm2015/lib/components/base/base-input.component.js +833 -833
  7. package/esm2015/lib/components/base/base.module.js +21 -21
  8. package/esm2015/lib/components/base/commit-buttons/commit-buttons.component.js +85 -85
  9. package/esm2015/lib/components/base/commit-buttons/commit-buttons.module.js +20 -20
  10. package/esm2015/lib/components/base/dialog-base.component.js +5 -5
  11. package/esm2015/lib/components/base-input-date-picker/base-input-date-picker.directive.js +24 -24
  12. package/esm2015/lib/components/button/button.component.js +73 -73
  13. package/esm2015/lib/components/button/button.module.js +18 -18
  14. package/esm2015/lib/components/calendar/calendar-template.component.js +281 -281
  15. package/esm2015/lib/components/calendar/calendar.component.js +32 -32
  16. package/esm2015/lib/components/calendar/calendar.module.js +27 -27
  17. package/esm2015/lib/components/card/card.component.js +50 -50
  18. package/esm2015/lib/components/card/card.module.js +34 -34
  19. package/esm2015/lib/components/carousel/carousel.component.js +109 -109
  20. package/esm2015/lib/components/carousel/carousel.module.js +31 -31
  21. package/esm2015/lib/components/carousel-3d/carousel-3d.component.js +293 -293
  22. package/esm2015/lib/components/carousel-3d/carousel-3d.module.js +18 -18
  23. package/esm2015/lib/components/carousel-3d/carouselItem.js +53 -53
  24. package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.component.js +72 -72
  25. package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.module.js +18 -18
  26. package/esm2015/lib/components/co-dialog/co-dialog.component.js +91 -91
  27. package/esm2015/lib/components/co-dialog/co-dialog.module.js +18 -18
  28. package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.component.js +35 -35
  29. package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.module.js +16 -16
  30. package/esm2015/lib/components/collapsible/collapsible.component.js +67 -67
  31. package/esm2015/lib/components/collapsible/collapsible.module.js +18 -18
  32. package/esm2015/lib/components/color-picker/color-picker.component.js +33 -33
  33. package/esm2015/lib/components/color-picker/color-picker.module.js +20 -20
  34. package/esm2015/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.js +46 -46
  35. package/esm2015/lib/components/core-dialog/core-dialog.module.js +38 -38
  36. package/esm2015/lib/components/core-dialog/core-dialog.service.js +66 -66
  37. package/esm2015/lib/components/core-dialog/core-dynamic-component.service.js +92 -92
  38. package/esm2015/lib/components/double-calendar/double-calendar.component.js +62 -62
  39. package/esm2015/lib/components/double-calendar/double-calendar.module.js +24 -24
  40. package/esm2015/lib/components/filter-item/filter-item-viewmodel.js +12 -12
  41. package/esm2015/lib/components/filter-item/filter-item.component.js +496 -496
  42. package/esm2015/lib/components/filter-item/filter-item.module.js +42 -42
  43. package/esm2015/lib/components/filter-item/filter-viewmodel.js +10 -10
  44. package/esm2015/lib/components/form/form.component.js +181 -181
  45. package/esm2015/lib/components/form/form.module.js +22 -22
  46. package/esm2015/lib/components/grid-toolbar/grid-toolbar.component.js +48 -48
  47. package/esm2015/lib/components/grid-toolbar/grid-toolbar.module.js +22 -22
  48. package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.component.js +23 -23
  49. package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.module.js +18 -18
  50. package/esm2015/lib/components/icon/icon-cache.service.js +51 -51
  51. package/esm2015/lib/components/icon/icon.component.js +47 -47
  52. package/esm2015/lib/components/icon/icon.module.js +24 -24
  53. package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.component.js +56 -56
  54. package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.module.js +22 -22
  55. package/esm2015/lib/components/image/image.component.js +31 -31
  56. package/esm2015/lib/components/image/image.module.js +13 -13
  57. package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +71 -71
  58. package/esm2015/lib/components/input-checkbox/input-checkbox.module.js +18 -18
  59. package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +74 -74
  60. package/esm2015/lib/components/input-date-picker/input-date-picker.module.js +25 -25
  61. package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +107 -107
  62. package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.module.js +26 -26
  63. package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +285 -285
  64. package/esm2015/lib/components/input-number-picker/input-number-picker.module.js +22 -22
  65. package/esm2015/lib/components/input-radio-button/input-radio-button.component.js +77 -77
  66. package/esm2015/lib/components/input-radio-button/input-radio-button.module.js +18 -18
  67. package/esm2015/lib/components/input-scanner/bar-code-scanner.js +22 -22
  68. package/esm2015/lib/components/input-scanner/input-scanner.component.js +54 -54
  69. package/esm2015/lib/components/input-scanner/input-scanner.module.js +20 -20
  70. package/esm2015/lib/components/input-scanner/scanner.service.js +27 -27
  71. package/esm2015/lib/components/input-search/input-search.component.js +59 -59
  72. package/esm2015/lib/components/input-search/input-search.module.js +20 -20
  73. package/esm2015/lib/components/input-text/input-text.component.js +179 -179
  74. package/esm2015/lib/components/input-text/input-text.module.js +32 -32
  75. package/esm2015/lib/components/input-textarea/input-textarea.component.js +55 -55
  76. package/esm2015/lib/components/input-textarea/input-textarea.module.js +26 -26
  77. package/esm2015/lib/components/level-indicator/level-indicator-level.enum.js +6 -6
  78. package/esm2015/lib/components/level-indicator/level-indicator.component.js +29 -29
  79. package/esm2015/lib/components/level-indicator/level-indicator.module.js +14 -14
  80. package/esm2015/lib/components/list-of-values/list-of-values-multiselect-popup.component.js +87 -87
  81. package/esm2015/lib/components/list-of-values/list-of-values-popup.component.js +218 -218
  82. package/esm2015/lib/components/list-of-values/list-of-values.component.js +199 -199
  83. package/esm2015/lib/components/list-of-values/list-of-values.module.js +37 -37
  84. package/esm2015/lib/components/loader/loader.component.js +16 -16
  85. package/esm2015/lib/components/loader/loader.module.js +18 -18
  86. package/esm2015/lib/components/pagination/paginate.pipe.js +98 -98
  87. package/esm2015/lib/components/pagination/pagination-instance.js +1 -1
  88. package/esm2015/lib/components/pagination/pagination.component.js +107 -107
  89. package/esm2015/lib/components/pagination/pagination.module.js +27 -27
  90. package/esm2015/lib/components/pagination/pagination.service.js +87 -87
  91. package/esm2015/lib/components/pagination-bar/pagination-bar.component.js +136 -136
  92. package/esm2015/lib/components/pagination-bar/pagination-bar.module.js +18 -18
  93. package/esm2015/lib/components/popup/const/popup-window-token.js +2 -2
  94. package/esm2015/lib/components/popup/interface/popup-button.js +7 -7
  95. package/esm2015/lib/components/popup/interface/popup-close-event.js +1 -1
  96. package/esm2015/lib/components/popup/interface/popup-settings.js +41 -41
  97. package/esm2015/lib/components/popup/interface/popup.js +1 -1
  98. package/esm2015/lib/components/popup/model/popup-button-globals.js +10 -10
  99. package/esm2015/lib/components/popup/model/popup-window.js +37 -37
  100. package/esm2015/lib/components/popup/popup-buttons.component.js +42 -42
  101. package/esm2015/lib/components/popup/popup-message-display.component.js +37 -37
  102. package/esm2015/lib/components/popup/popup-window-shell.component.js +141 -141
  103. package/esm2015/lib/components/popup/popup.module.js +48 -48
  104. package/esm2015/lib/components/popup/service/popup-shower.service.js +89 -89
  105. package/esm2015/lib/components/popup/service/prompt.service.js +126 -126
  106. package/esm2015/lib/components/popup/text-input-popup.component.js +33 -33
  107. package/esm2015/lib/components/responsive-text/responsive-text.component.js +17 -17
  108. package/esm2015/lib/components/responsive-text/responsive-text.module.js +18 -18
  109. package/esm2015/lib/components/simple-grid/base-simple-grid.component.js +163 -163
  110. package/esm2015/lib/components/simple-grid/simple-grid-cell.component.js +141 -141
  111. package/esm2015/lib/components/simple-grid/simple-grid-column.directive.js +110 -110
  112. package/esm2015/lib/components/simple-grid/simple-grid.component.js +378 -378
  113. package/esm2015/lib/components/simple-grid/simple-grid.module.js +40 -40
  114. package/esm2015/lib/components/tile/tile.component.js +44 -44
  115. package/esm2015/lib/components/tile/tile.module.js +22 -22
  116. package/esm2015/lib/components/tile-select/tile-select.component.js +26 -26
  117. package/esm2015/lib/components/tile-select/tile-select.module.js +20 -20
  118. package/esm2015/lib/components/tooltip/tooltip.component.js +74 -74
  119. package/esm2015/lib/components/tooltip/tooltip.module.js +18 -18
  120. package/esm2015/lib/components/validation-error/validation-error.component.js +30 -30
  121. package/esm2015/lib/components/validation-error/validation-error.module.js +24 -24
  122. package/esm2015/lib/components/view-mode-buttons/content-view-mode.enum.js +10 -10
  123. package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.component.js +41 -41
  124. package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.module.js +20 -20
  125. package/esm2015/lib/core/constant/default-upper-bound-for-range-components.js +3 -3
  126. package/esm2015/lib/core/constant/java-max-int.js +1 -1
  127. package/esm2015/lib/core/constant/number-inputs-key-down-white-list.js +44 -44
  128. package/esm2015/lib/core/decorator/input-boolean.decorator.js +33 -33
  129. package/esm2015/lib/core/enum/co-direction.js +8 -8
  130. package/esm2015/lib/core/enum/co-document-image-display-kind.enum.js +6 -6
  131. package/esm2015/lib/core/enum/co-document-type.enum.js +10 -10
  132. package/esm2015/lib/core/enum/co-orientation.js +16 -16
  133. package/esm2015/lib/core/enum/core-components-icon.enum.js +299 -299
  134. package/esm2015/lib/core/enum/file-type-internal.enum.js +16 -16
  135. package/esm2015/lib/core/enum/file-type.enum.js +10 -10
  136. package/esm2015/lib/core/enum/filterItem-mode.enum.js +42 -42
  137. package/esm2015/lib/core/enum/input-number-picker-show-mode.enum.js +7 -7
  138. package/esm2015/lib/core/enum/keyboard-code.enum.js +73 -73
  139. package/esm2015/lib/core/enum/keyboard-key.enum.js +75 -75
  140. package/esm2015/lib/core/enum/object-right-type.enum.js +6 -6
  141. package/esm2015/lib/core/enum/popup-button-type.enum.js +11 -11
  142. package/esm2015/lib/core/enum/popup-type.enum.js +10 -10
  143. package/esm2015/lib/core/enum/table-name.enum.js +80 -80
  144. package/esm2015/lib/core/function/any-nill.function.js +5 -5
  145. package/esm2015/lib/core/function/is-nill.function.js +4 -4
  146. package/esm2015/lib/core/function/none-nill.function.js +16 -16
  147. package/esm2015/lib/core/function/not-nill.function.js +4 -4
  148. package/esm2015/lib/core/model/bounds-constrained-number-value.js +170 -170
  149. package/esm2015/lib/core/model/check-precision-and-scale-result.js +1 -1
  150. package/esm2015/lib/core/model/check-within-stepped-bounds-result.js +1 -1
  151. package/esm2015/lib/core/model/co-document-right.bo.js +2 -2
  152. package/esm2015/lib/core/model/co-document.bo.js +120 -120
  153. package/esm2015/lib/core/model/core-components-icon-svg.js +298 -298
  154. package/esm2015/lib/core/model/element-position.js +9 -9
  155. package/esm2015/lib/core/model/event/string-prompt-result-event.js +7 -7
  156. package/esm2015/lib/core/service/form-input-user-change-listener.service.js +24 -24
  157. package/esm2015/lib/core/service/form-master.service.js +101 -101
  158. package/esm2015/lib/core/service/ng-zone-wrapper.service.js +19 -19
  159. package/esm2015/lib/core/utils/array-utils.js +263 -263
  160. package/esm2015/lib/core/utils/browser-utils.js +99 -99
  161. package/esm2015/lib/core/utils/direction-enum-utils.js +13 -13
  162. package/esm2015/lib/core/utils/event-utils.js +52 -52
  163. package/esm2015/lib/core/utils/file-utils.js +266 -266
  164. package/esm2015/lib/core/utils/number-utils.js +308 -308
  165. package/esm2015/lib/core/utils/object-utils.js +185 -185
  166. package/esm2015/lib/core/utils/string-utils.js +93 -93
  167. package/esm2015/lib/core/validator/email.validator.js +5 -5
  168. package/esm2015/lib/core/validator/equal.validator.js +10 -10
  169. package/esm2015/lib/core/validator/max-string-length.validator.js +9 -9
  170. package/esm2015/lib/core/validator/password.validator.js +30 -30
  171. package/esm2015/lib/core/validator/precision-scale.validator.js +10 -10
  172. package/esm2015/lib/core/validator/required.validator.js +4 -4
  173. package/esm2015/lib/directives/clickoutside/click-outside-master.service.js +56 -56
  174. package/esm2015/lib/directives/clickoutside/click-outside.directive.js +70 -70
  175. package/esm2015/lib/directives/clickoutside/clickoutside.module.js +18 -18
  176. package/esm2015/lib/directives/observe-visibility/observe-visibility.directive.js +52 -52
  177. package/esm2015/lib/directives/observe-visibility/observe-visibility.module.js +14 -14
  178. package/esm2015/lib/directives/overlay/overlay-parent.directive.js +18 -18
  179. package/esm2015/lib/directives/overlay/overlay.directive.js +160 -160
  180. package/esm2015/lib/directives/overlay/overlay.module.js +17 -17
  181. package/esm2015/lib/directives/ripple/ripple-ref.js +25 -25
  182. package/esm2015/lib/directives/ripple/ripple-renderer.js +159 -159
  183. package/esm2015/lib/directives/ripple/ripple.directive.js +79 -79
  184. package/esm2015/lib/directives/ripple/ripple.module.js +23 -23
  185. package/esm2015/lib/directives/ripple/scroll-dispatcher.service.js +107 -107
  186. package/esm2015/lib/directives/ripple/scrollable.directive.js +39 -39
  187. package/esm2015/lib/directives/ripple/viewport-ruler.service.js +72 -72
  188. package/esm2015/lib/directives/screen-configuration/screen-configuration.directive.js +157 -157
  189. package/esm2015/lib/directives/screen-configuration/screen-configuration.module.js +18 -18
  190. package/esm2015/lib/directives/stopclick/stop-click.directive.js +37 -37
  191. package/esm2015/lib/directives/stopclick/stop-click.module.js +14 -14
  192. package/esm2015/lib/directives/template-wrapper/template-wrapper.directive.js +67 -67
  193. package/esm2015/lib/directives/template-wrapper/template-wrapper.module.js +14 -14
  194. package/esm2015/lib/directives/tooltip/tooltip-directive.module.js +18 -18
  195. package/esm2015/lib/directives/tooltip/tooltip.directive.js +77 -77
  196. package/esm2015/lib/interfaces/dialog-response.interface.js +1 -1
  197. package/esm2015/lib/interfaces/scanner-input.interface.js +1 -1
  198. package/esm2015/lib/interfaces/screen-config-adapter-component-interface-name.js +3 -3
  199. package/esm2015/lib/interfaces/screen-config-adapter.component.interface.js +1 -1
  200. package/esm2015/lib/model/enum/app-button-type.enum.js +10 -10
  201. package/esm2015/lib/model/enum/app-popup-type.enum.js +7 -7
  202. package/esm2015/lib/pipes/append.pipe.js +16 -16
  203. package/esm2015/lib/pipes/append.pipe.module.js +14 -14
  204. package/esm2015/lib/pipes/filter.pipe.js +15 -15
  205. package/esm2015/lib/pipes/filter.pipe.module.js +14 -14
  206. package/esm2015/lib/pipes/prepend.pipe.js +16 -16
  207. package/esm2015/lib/pipes/prepend.pipe.module.js +14 -14
  208. package/esm2015/lib/pipes/price-display-pipe.module.js +14 -14
  209. package/esm2015/lib/pipes/price-display.pipe.js +19 -19
  210. package/esm2015/lib/service/base-module-screen-config.service.js +204 -204
  211. package/esm2015/lib/service/base-module.service.js +41 -41
  212. package/esm2015/lib/service/color-sequence.service.js +22 -22
  213. package/esm2015/lib/service/overlay.service.js +72 -72
  214. package/esm2015/lib/translation/core-components-translation.module.js +28 -28
  215. package/esm2015/lib/translation/core-components-translation.service.js +16 -16
  216. package/esm2015/lib/translation/core-dictionary.service.js +28 -28
  217. package/esm2015/lib/translation/core-localize.pipe.js +25 -25
  218. package/esm2015/public-api.js +129 -129
  219. package/fesm2015/colijnit-corecomponents_v12.js +12066 -12066
  220. package/lib/components/article-tile/article-tile.component.d.ts +22 -22
  221. package/lib/components/article-tile/article-tile.module.d.ts +2 -2
  222. package/lib/components/base/base-input.component.d.ts +182 -182
  223. package/lib/components/base/base.module.d.ts +2 -2
  224. package/lib/components/base/commit-buttons/commit-buttons.component.d.ts +21 -21
  225. package/lib/components/base/commit-buttons/commit-buttons.module.d.ts +2 -2
  226. package/lib/components/base/dialog-base.component.d.ts +4 -4
  227. package/lib/components/base-input-date-picker/base-input-date-picker.directive.d.ts +15 -15
  228. package/lib/components/button/button.component.d.ts +29 -29
  229. package/lib/components/button/button.module.d.ts +2 -2
  230. package/lib/components/calendar/calendar-template.component.d.ts +60 -60
  231. package/lib/components/calendar/calendar.component.d.ts +13 -13
  232. package/lib/components/calendar/calendar.module.d.ts +2 -2
  233. package/lib/components/card/card.component.d.ts +23 -23
  234. package/lib/components/card/card.module.d.ts +2 -2
  235. package/lib/components/carousel/carousel.component.d.ts +23 -23
  236. package/lib/components/carousel/carousel.module.d.ts +6 -6
  237. package/lib/components/carousel-3d/carousel-3d.component.d.ts +55 -55
  238. package/lib/components/carousel-3d/carousel-3d.module.d.ts +2 -2
  239. package/lib/components/carousel-3d/carouselItem.d.ts +13 -13
  240. package/lib/components/checkmark-overlay/checkmark-overlay.component.d.ts +17 -17
  241. package/lib/components/checkmark-overlay/checkmark-overlay.module.d.ts +2 -2
  242. package/lib/components/co-dialog/co-dialog.component.d.ts +23 -23
  243. package/lib/components/co-dialog/co-dialog.module.d.ts +2 -2
  244. package/lib/components/co-dialog-wizard/co-dialog-wizard.component.d.ts +9 -9
  245. package/lib/components/co-dialog-wizard/co-dialog-wizard.module.d.ts +2 -2
  246. package/lib/components/collapsible/collapsible.component.d.ts +22 -22
  247. package/lib/components/collapsible/collapsible.module.d.ts +2 -2
  248. package/lib/components/color-picker/color-picker.component.d.ts +6 -6
  249. package/lib/components/color-picker/color-picker.module.d.ts +2 -2
  250. package/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.d.ts +20 -20
  251. package/lib/components/core-dialog/core-dialog.module.d.ts +4 -4
  252. package/lib/components/core-dialog/core-dialog.service.d.ts +15 -15
  253. package/lib/components/core-dialog/core-dynamic-component.service.d.ts +12 -12
  254. package/lib/components/double-calendar/double-calendar.component.d.ts +18 -18
  255. package/lib/components/double-calendar/double-calendar.module.d.ts +2 -2
  256. package/lib/components/filter-item/filter-item-viewmodel.d.ts +9 -9
  257. package/lib/components/filter-item/filter-item.component.d.ts +80 -80
  258. package/lib/components/filter-item/filter-item.module.d.ts +2 -2
  259. package/lib/components/filter-item/filter-viewmodel.d.ts +8 -8
  260. package/lib/components/form/form.component.d.ts +39 -39
  261. package/lib/components/form/form.module.d.ts +2 -2
  262. package/lib/components/grid-toolbar/grid-toolbar.component.d.ts +19 -19
  263. package/lib/components/grid-toolbar/grid-toolbar.module.d.ts +2 -2
  264. package/lib/components/grid-toolbar-button/grid-toolbar-button.component.d.ts +8 -8
  265. package/lib/components/grid-toolbar-button/grid-toolbar-button.module.d.ts +2 -2
  266. package/lib/components/icon/icon-cache.service.d.ts +20 -20
  267. package/lib/components/icon/icon.component.d.ts +17 -17
  268. package/lib/components/icon/icon.module.d.ts +2 -2
  269. package/lib/components/icon-collapse-handle/icon-collapse-handle.component.d.ts +21 -21
  270. package/lib/components/icon-collapse-handle/icon-collapse-handle.module.d.ts +2 -2
  271. package/lib/components/image/image.component.d.ts +20 -20
  272. package/lib/components/image/image.module.d.ts +2 -2
  273. package/lib/components/input-checkbox/input-checkbox.component.d.ts +24 -24
  274. package/lib/components/input-checkbox/input-checkbox.module.d.ts +2 -2
  275. package/lib/components/input-date-picker/input-date-picker.component.d.ts +12 -12
  276. package/lib/components/input-date-picker/input-date-picker.module.d.ts +2 -2
  277. package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +20 -20
  278. package/lib/components/input-date-range-picker/input-date-range-picker.module.d.ts +2 -2
  279. package/lib/components/input-number-picker/input-number-picker.component.d.ts +73 -73
  280. package/lib/components/input-number-picker/input-number-picker.module.d.ts +2 -2
  281. package/lib/components/input-radio-button/input-radio-button.component.d.ts +19 -19
  282. package/lib/components/input-radio-button/input-radio-button.module.d.ts +2 -2
  283. package/lib/components/input-scanner/bar-code-scanner.d.ts +7 -7
  284. package/lib/components/input-scanner/input-scanner.component.d.ts +23 -23
  285. package/lib/components/input-scanner/input-scanner.module.d.ts +2 -2
  286. package/lib/components/input-scanner/scanner.service.d.ts +11 -11
  287. package/lib/components/input-search/input-search.component.d.ts +18 -18
  288. package/lib/components/input-search/input-search.module.d.ts +2 -2
  289. package/lib/components/input-text/input-text.component.d.ts +62 -62
  290. package/lib/components/input-text/input-text.module.d.ts +2 -2
  291. package/lib/components/input-textarea/input-textarea.component.d.ts +19 -19
  292. package/lib/components/input-textarea/input-textarea.module.d.ts +2 -2
  293. package/lib/components/level-indicator/level-indicator-level.enum.d.ts +5 -5
  294. package/lib/components/level-indicator/level-indicator.component.d.ts +10 -10
  295. package/lib/components/level-indicator/level-indicator.module.d.ts +2 -2
  296. package/lib/components/list-of-values/list-of-values-multiselect-popup.component.d.ts +25 -25
  297. package/lib/components/list-of-values/list-of-values-popup.component.d.ts +47 -47
  298. package/lib/components/list-of-values/list-of-values.component.d.ts +37 -37
  299. package/lib/components/list-of-values/list-of-values.module.d.ts +2 -2
  300. package/lib/components/list-of-values/style/_layout.scss +4 -0
  301. package/lib/components/loader/loader.component.d.ts +3 -3
  302. package/lib/components/loader/loader.module.d.ts +2 -2
  303. package/lib/components/pagination/paginate.pipe.d.ts +15 -15
  304. package/lib/components/pagination/pagination-instance.d.ts +14 -14
  305. package/lib/components/pagination/pagination.component.d.ts +38 -38
  306. package/lib/components/pagination/pagination.module.d.ts +2 -2
  307. package/lib/components/pagination/pagination.service.d.ts +24 -24
  308. package/lib/components/pagination-bar/pagination-bar.component.d.ts +33 -33
  309. package/lib/components/pagination-bar/pagination-bar.module.d.ts +2 -2
  310. package/lib/components/popup/const/popup-window-token.d.ts +3 -3
  311. package/lib/components/popup/interface/popup-button.d.ts +8 -8
  312. package/lib/components/popup/interface/popup-close-event.d.ts +5 -5
  313. package/lib/components/popup/interface/popup-settings.d.ts +21 -21
  314. package/lib/components/popup/interface/popup.d.ts +9 -9
  315. package/lib/components/popup/model/popup-button-globals.d.ts +9 -9
  316. package/lib/components/popup/model/popup-window.d.ts +21 -21
  317. package/lib/components/popup/popup-buttons.component.d.ts +13 -13
  318. package/lib/components/popup/popup-message-display.component.d.ts +12 -12
  319. package/lib/components/popup/popup-window-shell.component.d.ts +42 -42
  320. package/lib/components/popup/popup.module.d.ts +4 -4
  321. package/lib/components/popup/service/popup-shower.service.d.ts +17 -17
  322. package/lib/components/popup/service/prompt.service.d.ts +17 -17
  323. package/lib/components/popup/text-input-popup.component.d.ts +12 -12
  324. package/lib/components/responsive-text/responsive-text.component.d.ts +4 -4
  325. package/lib/components/responsive-text/responsive-text.module.d.ts +2 -2
  326. package/lib/components/simple-grid/base-simple-grid.component.d.ts +52 -52
  327. package/lib/components/simple-grid/simple-grid-cell.component.d.ts +30 -30
  328. package/lib/components/simple-grid/simple-grid-column.directive.d.ts +42 -42
  329. package/lib/components/simple-grid/simple-grid.component.d.ts +64 -64
  330. package/lib/components/simple-grid/simple-grid.module.d.ts +2 -2
  331. package/lib/components/tile/tile.component.d.ts +16 -16
  332. package/lib/components/tile/tile.module.d.ts +2 -2
  333. package/lib/components/tile-select/tile-select.component.d.ts +8 -8
  334. package/lib/components/tile-select/tile-select.module.d.ts +2 -2
  335. package/lib/components/tooltip/tooltip.component.d.ts +18 -18
  336. package/lib/components/tooltip/tooltip.module.d.ts +2 -2
  337. package/lib/components/validation-error/validation-error.component.d.ts +12 -12
  338. package/lib/components/validation-error/validation-error.module.d.ts +2 -2
  339. package/lib/components/view-mode-buttons/content-view-mode.enum.d.ts +8 -8
  340. package/lib/components/view-mode-buttons/view-mode-buttons.component.d.ts +17 -17
  341. package/lib/components/view-mode-buttons/view-mode-buttons.module.d.ts +2 -2
  342. package/lib/core/constant/default-upper-bound-for-range-components.d.ts +2 -2
  343. package/lib/core/constant/java-max-int.d.ts +1 -1
  344. package/lib/core/constant/number-inputs-key-down-white-list.d.ts +2 -2
  345. package/lib/core/decorator/input-boolean.decorator.d.ts +8 -8
  346. package/lib/core/enum/co-direction.d.ts +6 -6
  347. package/lib/core/enum/co-document-image-display-kind.enum.d.ts +5 -5
  348. package/lib/core/enum/co-document-type.enum.d.ts +5 -5
  349. package/lib/core/enum/co-orientation.d.ts +6 -6
  350. package/lib/core/enum/core-components-icon.enum.d.ts +298 -298
  351. package/lib/core/enum/file-type-internal.enum.d.ts +15 -15
  352. package/lib/core/enum/file-type.enum.d.ts +5 -5
  353. package/lib/core/enum/filterItem-mode.enum.d.ts +15 -15
  354. package/lib/core/enum/input-number-picker-show-mode.enum.d.ts +5 -5
  355. package/lib/core/enum/keyboard-code.enum.d.ts +71 -71
  356. package/lib/core/enum/keyboard-key.enum.d.ts +70 -70
  357. package/lib/core/enum/object-right-type.enum.d.ts +5 -5
  358. package/lib/core/enum/popup-button-type.enum.d.ts +9 -9
  359. package/lib/core/enum/popup-type.enum.d.ts +9 -9
  360. package/lib/core/enum/table-name.enum.d.ts +79 -79
  361. package/lib/core/function/any-nill.function.d.ts +1 -1
  362. package/lib/core/function/is-nill.function.d.ts +1 -1
  363. package/lib/core/function/none-nill.function.d.ts +1 -1
  364. package/lib/core/function/not-nill.function.d.ts +1 -1
  365. package/lib/core/model/bounds-constrained-number-value.d.ts +46 -46
  366. package/lib/core/model/check-precision-and-scale-result.d.ts +4 -4
  367. package/lib/core/model/check-within-stepped-bounds-result.d.ts +8 -8
  368. package/lib/core/model/co-document-right.bo.d.ts +6 -6
  369. package/lib/core/model/co-document.bo.d.ts +61 -61
  370. package/lib/core/model/core-components-icon-svg.d.ts +4 -4
  371. package/lib/core/model/element-position.d.ts +7 -7
  372. package/lib/core/model/event/string-prompt-result-event.d.ts +6 -6
  373. package/lib/core/service/form-input-user-change-listener.service.d.ts +10 -10
  374. package/lib/core/service/form-master.service.d.ts +26 -26
  375. package/lib/core/service/ng-zone-wrapper.service.d.ts +6 -6
  376. package/lib/core/utils/array-utils.d.ts +85 -85
  377. package/lib/core/utils/browser-utils.d.ts +15 -15
  378. package/lib/core/utils/direction-enum-utils.d.ts +5 -5
  379. package/lib/core/utils/event-utils.d.ts +12 -12
  380. package/lib/core/utils/file-utils.d.ts +29 -29
  381. package/lib/core/utils/number-utils.d.ts +89 -89
  382. package/lib/core/utils/object-utils.d.ts +31 -31
  383. package/lib/core/utils/string-utils.d.ts +25 -25
  384. package/lib/core/validator/email.validator.d.ts +2 -2
  385. package/lib/core/validator/equal.validator.d.ts +2 -2
  386. package/lib/core/validator/max-string-length.validator.d.ts +2 -2
  387. package/lib/core/validator/password.validator.d.ts +3 -3
  388. package/lib/core/validator/precision-scale.validator.d.ts +2 -2
  389. package/lib/core/validator/required.validator.d.ts +2 -2
  390. package/lib/directives/clickoutside/click-outside-master.service.d.ts +15 -15
  391. package/lib/directives/clickoutside/click-outside.directive.d.ts +18 -18
  392. package/lib/directives/clickoutside/clickoutside.module.d.ts +2 -2
  393. package/lib/directives/observe-visibility/observe-visibility.directive.d.ts +14 -14
  394. package/lib/directives/observe-visibility/observe-visibility.module.d.ts +2 -2
  395. package/lib/directives/overlay/overlay-parent.directive.d.ts +6 -6
  396. package/lib/directives/overlay/overlay.directive.d.ts +25 -25
  397. package/lib/directives/overlay/overlay.module.d.ts +2 -2
  398. package/lib/directives/ripple/ripple-ref.d.ts +21 -21
  399. package/lib/directives/ripple/ripple-renderer.d.ts +56 -56
  400. package/lib/directives/ripple/ripple.directive.d.ts +56 -56
  401. package/lib/directives/ripple/ripple.module.d.ts +2 -2
  402. package/lib/directives/ripple/scroll-dispatcher.service.d.ts +51 -51
  403. package/lib/directives/ripple/scrollable.directive.d.ts +20 -20
  404. package/lib/directives/ripple/viewport-ruler.service.d.ts +29 -29
  405. package/lib/directives/screen-configuration/screen-configuration.directive.d.ts +32 -32
  406. package/lib/directives/screen-configuration/screen-configuration.module.d.ts +2 -2
  407. package/lib/directives/stopclick/stop-click.directive.d.ts +10 -10
  408. package/lib/directives/stopclick/stop-click.module.d.ts +2 -2
  409. package/lib/directives/template-wrapper/template-wrapper.directive.d.ts +13 -13
  410. package/lib/directives/template-wrapper/template-wrapper.module.d.ts +2 -2
  411. package/lib/directives/tooltip/tooltip-directive.module.d.ts +2 -2
  412. package/lib/directives/tooltip/tooltip.directive.d.ts +20 -20
  413. package/lib/interfaces/dialog-response.interface.d.ts +6 -6
  414. package/lib/interfaces/scanner-input.interface.d.ts +3 -3
  415. package/lib/interfaces/screen-config-adapter-component-interface-name.d.ts +3 -3
  416. package/lib/interfaces/screen-config-adapter.component.interface.d.ts +10 -10
  417. package/lib/model/enum/app-button-type.enum.d.ts +9 -9
  418. package/lib/model/enum/app-popup-type.enum.d.ts +6 -6
  419. package/lib/pipes/append.pipe.d.ts +4 -4
  420. package/lib/pipes/append.pipe.module.d.ts +2 -2
  421. package/lib/pipes/filter.pipe.d.ts +4 -4
  422. package/lib/pipes/filter.pipe.module.d.ts +2 -2
  423. package/lib/pipes/prepend.pipe.d.ts +4 -4
  424. package/lib/pipes/prepend.pipe.module.d.ts +2 -2
  425. package/lib/pipes/price-display-pipe.module.d.ts +2 -2
  426. package/lib/pipes/price-display.pipe.d.ts +4 -4
  427. package/lib/service/base-module-screen-config.service.d.ts +47 -47
  428. package/lib/service/base-module.service.d.ts +22 -22
  429. package/lib/service/color-sequence.service.d.ts +4 -4
  430. package/lib/service/overlay.service.d.ts +13 -13
  431. package/lib/translation/core-components-translation.module.d.ts +4 -4
  432. package/lib/translation/core-components-translation.service.d.ts +6 -6
  433. package/lib/translation/core-dictionary.service.d.ts +12 -12
  434. package/lib/translation/core-localize.pipe.d.ts +7 -7
  435. package/package.json +2 -2
  436. package/public-api.d.ts +126 -126
@@ -1,3 +1,3 @@
1
- export class CoDocumentRight {
2
- }
1
+ export class CoDocumentRight {
2
+ }
3
3
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY28tZG9jdW1lbnQtcmlnaHQuYm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvcmUvbW9kZWwvY28tZG9jdW1lbnQtcmlnaHQuYm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGVBQWU7Q0FNM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYmplY3RSaWdodFR5cGUgfSBmcm9tICcuLi9lbnVtL29iamVjdC1yaWdodC10eXBlLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgQ29Eb2N1bWVudFJpZ2h0IHtcblxuICAgIHB1YmxpYyB1c2VyR3JvdXBJZDogbnVtYmVyO1xuICAgIHB1YmxpYyBkb2N1bWVudElkOiBudW1iZXI7XG4gICAgcHVibGljIHJpZ2h0TGV2ZWw6IE9iamVjdFJpZ2h0VHlwZTtcblxufVxuIl19
@@ -1,121 +1,121 @@
1
- import { FileType } from '../enum/file-type.enum';
2
- import { FileTypeInternal } from '../enum/file-type-internal.enum';
3
- import { FileUtils } from '../utils/file-utils';
4
- import { CoDocumentImageDisplayKind } from '../enum/co-document-image-display-kind.enum';
5
- import { ObjectRightType } from '../enum/object-right-type.enum';
6
- import { Subject } from 'rxjs';
7
- // See DocumentDTO.
8
- export class CoDocument {
9
- constructor() {
10
- // @ComplexArray(CoDocumentRight)
11
- this.rights = [];
12
- this.retailFormulas = [];
13
- //
14
- // @NoDbField()
15
- // @ComplexField(Subject)
16
- this.documentBodyChange = new Subject();
17
- }
18
- set documentId(value) {
19
- this._documentId = value;
20
- // this._idObject.docId = value;
21
- }
22
- get documentId() {
23
- return this._documentId;
24
- }
25
- set documentBody(documentBody) {
26
- const prev = this._documentBody;
27
- this._documentBody = documentBody;
28
- if (prev !== this._documentBody) {
29
- this.documentBodyChange.next(this._documentBody);
30
- }
31
- }
32
- get documentBody() {
33
- return this._documentBody;
34
- }
35
- // @NoDbField()
36
- // public idForLink: number;
37
- // The internal file type of this document (the MimeType iOneJS uses internally)
38
- get fileTypeInternal() {
39
- if (!this._fileTypeInternal) {
40
- const fileType = FileUtils.FileNameToFileTypeInternal(this.fileName);
41
- if (fileType) {
42
- this._fileTypeInternal = fileType;
43
- }
44
- }
45
- return this._fileTypeInternal;
46
- }
47
- /**
48
- * The mimetype of this document: uses database-fetched this.mimeType, or calculates / guesses the mime type of the document
49
- * if that was not set.
50
- */
51
- get mimeTypeInternal() {
52
- if (this._mimeTypeInternal) {
53
- return this._mimeTypeInternal;
54
- }
55
- else {
56
- this._initMimetypeInternal();
57
- return this._mimeTypeInternal;
58
- }
59
- }
60
- set mimeTypeInternal(value) {
61
- this._mimeTypeInternal = value;
62
- }
63
- // Gives either the document-(prio) or the thumbnail body. Or undefined if not exist.
64
- get bodyAsDataUri() {
65
- if (this._documentBody) {
66
- return this.documentBodyAsDataUri;
67
- }
68
- else if (this.thumbnailBody) {
69
- return this.thumbnailBodyAsDataUri;
70
- }
71
- }
72
- // The body of this document as a data uri. The data uri also contains the mimetype in its string, and the fact that it's base64.
73
- get documentBodyAsDataUri() {
74
- try {
75
- return FileUtils.DocumentBodyToDataUri(this.documentBody, this.mimeTypeInternal);
76
- }
77
- catch (error) {
78
- return "";
79
- }
80
- }
81
- // The Thumbnailbody of this document as a data uri. The data uri also contains the mimetype in its string, and the fact that it's base64.
82
- get thumbnailBodyAsDataUri() {
83
- try {
84
- return FileUtils.DocumentBodyToDataUri(this.thumbnailBody, this.mimeTypeInternal);
85
- }
86
- catch (error) {
87
- return "";
88
- }
89
- }
90
- get isAvatar() {
91
- return this.imageDisplayKind === CoDocumentImageDisplayKind.Avatar;
92
- }
93
- //
94
- // @NoDbField()
95
- // private _idObject: any = {};
96
- get readonly() {
97
- return this.rightLevel === ObjectRightType.ReadOnly;
98
- }
99
- getId() {
100
- return this.documentId;
101
- }
102
- // Returns whether this is an image document or not.
103
- isImageDocument() {
104
- return (this.fileTypeInternal === FileTypeInternal.Image);
105
- }
106
- // @BoSerializerStep()
107
- preventOverridingThumbnailToEmpty() {
108
- if (!this.thumbnailBody) {
109
- this.thumbnailBody = this._documentBody;
110
- }
111
- }
112
- // POSTCONDITION: this._mimeTypeInternal contains, to our best abilities, the true mimeType of this document, a-la "image/jpg"
113
- _initMimetypeInternal() {
114
- // if no fileType, default to FileType.Image for internal mimetype initialization
115
- if ((this.fileType === FileType.Image || !this.fileType) && this.fileName) {
116
- const fileExtension = this.fileName.substr(this.fileName.lastIndexOf(".") + 1);
117
- this._mimeTypeInternal = "image/" + fileExtension;
118
- }
119
- }
120
- }
1
+ import { FileType } from '../enum/file-type.enum';
2
+ import { FileTypeInternal } from '../enum/file-type-internal.enum';
3
+ import { FileUtils } from '../utils/file-utils';
4
+ import { CoDocumentImageDisplayKind } from '../enum/co-document-image-display-kind.enum';
5
+ import { ObjectRightType } from '../enum/object-right-type.enum';
6
+ import { Subject } from 'rxjs';
7
+ // See DocumentDTO.
8
+ export class CoDocument {
9
+ constructor() {
10
+ // @ComplexArray(CoDocumentRight)
11
+ this.rights = [];
12
+ this.retailFormulas = [];
13
+ //
14
+ // @NoDbField()
15
+ // @ComplexField(Subject)
16
+ this.documentBodyChange = new Subject();
17
+ }
18
+ set documentId(value) {
19
+ this._documentId = value;
20
+ // this._idObject.docId = value;
21
+ }
22
+ get documentId() {
23
+ return this._documentId;
24
+ }
25
+ set documentBody(documentBody) {
26
+ const prev = this._documentBody;
27
+ this._documentBody = documentBody;
28
+ if (prev !== this._documentBody) {
29
+ this.documentBodyChange.next(this._documentBody);
30
+ }
31
+ }
32
+ get documentBody() {
33
+ return this._documentBody;
34
+ }
35
+ // @NoDbField()
36
+ // public idForLink: number;
37
+ // The internal file type of this document (the MimeType iOneJS uses internally)
38
+ get fileTypeInternal() {
39
+ if (!this._fileTypeInternal) {
40
+ const fileType = FileUtils.FileNameToFileTypeInternal(this.fileName);
41
+ if (fileType) {
42
+ this._fileTypeInternal = fileType;
43
+ }
44
+ }
45
+ return this._fileTypeInternal;
46
+ }
47
+ /**
48
+ * The mimetype of this document: uses database-fetched this.mimeType, or calculates / guesses the mime type of the document
49
+ * if that was not set.
50
+ */
51
+ get mimeTypeInternal() {
52
+ if (this._mimeTypeInternal) {
53
+ return this._mimeTypeInternal;
54
+ }
55
+ else {
56
+ this._initMimetypeInternal();
57
+ return this._mimeTypeInternal;
58
+ }
59
+ }
60
+ set mimeTypeInternal(value) {
61
+ this._mimeTypeInternal = value;
62
+ }
63
+ // Gives either the document-(prio) or the thumbnail body. Or undefined if not exist.
64
+ get bodyAsDataUri() {
65
+ if (this._documentBody) {
66
+ return this.documentBodyAsDataUri;
67
+ }
68
+ else if (this.thumbnailBody) {
69
+ return this.thumbnailBodyAsDataUri;
70
+ }
71
+ }
72
+ // The body of this document as a data uri. The data uri also contains the mimetype in its string, and the fact that it's base64.
73
+ get documentBodyAsDataUri() {
74
+ try {
75
+ return FileUtils.DocumentBodyToDataUri(this.documentBody, this.mimeTypeInternal);
76
+ }
77
+ catch (error) {
78
+ return "";
79
+ }
80
+ }
81
+ // The Thumbnailbody of this document as a data uri. The data uri also contains the mimetype in its string, and the fact that it's base64.
82
+ get thumbnailBodyAsDataUri() {
83
+ try {
84
+ return FileUtils.DocumentBodyToDataUri(this.thumbnailBody, this.mimeTypeInternal);
85
+ }
86
+ catch (error) {
87
+ return "";
88
+ }
89
+ }
90
+ get isAvatar() {
91
+ return this.imageDisplayKind === CoDocumentImageDisplayKind.Avatar;
92
+ }
93
+ //
94
+ // @NoDbField()
95
+ // private _idObject: any = {};
96
+ get readonly() {
97
+ return this.rightLevel === ObjectRightType.ReadOnly;
98
+ }
99
+ getId() {
100
+ return this.documentId;
101
+ }
102
+ // Returns whether this is an image document or not.
103
+ isImageDocument() {
104
+ return (this.fileTypeInternal === FileTypeInternal.Image);
105
+ }
106
+ // @BoSerializerStep()
107
+ preventOverridingThumbnailToEmpty() {
108
+ if (!this.thumbnailBody) {
109
+ this.thumbnailBody = this._documentBody;
110
+ }
111
+ }
112
+ // POSTCONDITION: this._mimeTypeInternal contains, to our best abilities, the true mimeType of this document, a-la "image/jpg"
113
+ _initMimetypeInternal() {
114
+ // if no fileType, default to FileType.Image for internal mimetype initialization
115
+ if ((this.fileType === FileType.Image || !this.fileType) && this.fileName) {
116
+ const fileExtension = this.fileName.substr(this.fileName.lastIndexOf(".") + 1);
117
+ this._mimeTypeInternal = "image/" + fileExtension;
118
+ }
119
+ }
120
+ }
121
121
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY28tZG9jdW1lbnQuYm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvcmUvbW9kZWwvY28tZG9jdW1lbnQuYm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixtQkFBbUI7QUFDbkIsTUFBTSxPQUFPLFVBQVU7SUEySm5CO1FBN0dBLGlDQUFpQztRQUMxQixXQUFNLEdBQXNCLEVBQUUsQ0FBQztRQW9CL0IsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFxRXJDLEVBQUU7UUFDRixlQUFlO1FBQ2YseUJBQXlCO1FBQ1QsdUJBQWtCLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7SUFpQjVFLENBQUM7SUEzSkQsSUFBVyxVQUFVLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixnQ0FBZ0M7SUFDcEMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQXlDRCxJQUFXLFlBQVksQ0FBQyxZQUFvQjtRQUN4QyxNQUFNLElBQUksR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRXhDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBRWxDLElBQUksSUFBSSxLQUFLLElBQUksQ0FB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QUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN2RSxNQUFNLGFBQWEsR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RixJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxHQUFHLGFBQWEsQ0FBQztTQUNyRDtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlTmFtZSB9IGZyb20gJy4uL2VudW0vdGFibGUtbmFtZS5lbnVtJztcclxuaW1wb3J0IHsgQ29Eb2N1bWVudFR5cGUgfSBmcm9tICcuLi9lbnVtL2NvLWRvY3VtZW50LXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEZpbGVUeXBlIH0gZnJvbSAnLi4vZW51bS9maWxlLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEZpbGVUeXBlSW50ZXJuYWwgfSBmcm9tICcuLi9lbnVtL2ZpbGUtdHlwZS1pbnRlcm5hbC5lbnVtJztcclxuaW1wb3J0IHsgRmlsZVV0aWxzIH0gZnJvbSAnLi4vdXRpbHMvZmlsZS11dGlscyc7XHJcbmltcG9ydCB7IENvRG9jdW1lbnRJbWFnZURpc3BsYXlLaW5kIH0gZnJvbSAnLi4vZW51bS9jby1kb2N1bWVudC1pbWFnZS1kaXNwbGF5LWtpbmQuZW51bSc7XHJcbmltcG9ydCB7IE9iamVjdFJpZ2h0VHlwZSB9IGZyb20gJy4uL2VudW0vb2JqZWN0LXJpZ2h0LXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29Eb2N1bWVudFJpZ2h0IH0gZnJvbSAnLi9jby1kb2N1bWVudC1yaWdodC5ibyc7XHJcbi8vIFNlZSBEb2N1bWVudERUTy5cclxuZXhwb3J0IGNsYXNzIENvRG9jdW1lbnQge1xyXG4gICAgcHVibGljIHNldCBkb2N1bWVudElkKHZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl9kb2N1bWVudElkID0gdmFsdWU7XHJcbiAgICAgICAgLy8gdGhpcy5faWRPYmplY3QuZG9jSWQgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGRvY3VtZW50SWQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnRJZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBARGF0ZUZpZWxkKClcclxuICAgIHB1YmxpYyBjcmVhdGlvbkRhdGU6IERhdGU7XHJcbiAgICAvLyBARGF0ZUZpZWxkKClcclxuICAgIHB1YmxpYyBtb2RpZmllZERhdGU6IERhdGU7XHJcbiAgICAvLyBwdWJsaWMgY3JlYXRpb25Vc2VyOiBzdHJpbmc7XHJcbiAgICAvLyBwdWJsaWMgbW9kaWZpZWRVc2VyOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHB1YmxpYyB0aHVtYm5haWxCb2R5OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdGFibGU6IFRhYmxlTmFtZTtcclxuICAgIHB1YmxpYyBrZXk6IHN0cmluZztcclxuICAgIHB1YmxpYyBmaWxlUGF0aDogc3RyaW5nO1xyXG4gICAgcHVibGljIGRvY3VtZW50VHlwZTogQ29Eb2N1bWVudFR5cGU7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBkYXRhYmFzZS1mZXRjaGVkIG1pbWV0eXBlIG9mIHRoaXMgZG9jdW1lbnQuIE5vdGU6IGlzIGJhcmVseSBzZXQgdG8gYSB2YWx1ZSwgYW5kIHdoZW4gaXQncyBzZXQsIGl0J3MgdXN1YWxseSBnYXJiYWdlIGRhdGEuXHJcbiAgICAgKiBVc2UgLm1pbWVUeXBlSW50ZXJuYWwgaWYgeW91IHdhbnQgdGhlIGJlc3QgZWR1Y2F0ZWQgZ3Vlc3Mgb2YgdGhlIHRydWUgbWltZSB0eXBlIG9mIHRoaXMgZG9jdW1lbnQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtaW1lVHlwZTogc3RyaW5nO1xyXG4gICAgcHVibGljIHB1YmxpY2F0aW9uOiBudW1iZXI7XHJcbiAgICBwdWJsaWMgZmlsZVNpemU6IHN0cmluZztcclxuICAgIHB1YmxpYyBmaWxlVHlwZTogRmlsZVR5cGU7XHJcbiAgICBwdWJsaWMgaXNMb2FkZWQ6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgaW5kZXg6IG51bWJlcjtcclxuICAgIHB1YmxpYyBpbWFnZURpbWVuc2lvbnM6IHN0cmluZztcclxuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xyXG4gICAgLy8gQEJvb2xlYW5UZXh0KFwiVFwiKVxyXG4gICAgLy8gcHVibGljIGRvd25sb2FkYWJsZTogYm9vbGVhbjtcclxuICAgIC8vIEBCb29sZWFuVGV4dChcIlRcIilcclxuICAgIC8vIHB1YmxpYyBhdHRhY2hUb05vdGlmaWNhdGlvbjogYm9vbGVhbjtcclxuICAgIC8vIEBCb29sZWFuVGV4dChcIlRcIilcclxuICAgIC8vIEBEZWZhdWx0U2VuZFZhbHVlKFwiRlwiKVxyXG4gICAgLy8gcHVibGljIHBhdGhJc1VybDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLy8gcHVibGljIGltYWdlVHlwZTogc3RyaW5nO1xyXG4gICAgcHVibGljIGltYWdlRGlzcGxheUtpbmQ6IENvRG9jdW1lbnRJbWFnZURpc3BsYXlLaW5kO1xyXG4gICAgLy8gQENvbXBsZXhBcnJheShUYWcpXHJcbiAgICAvLyBwdWJsaWMgdGFnczogVGFnW10gPSBbXTtcclxuICAgIHB1YmxpYyByaWdodExldmVsOiBPYmplY3RSaWdodFR5cGU7XHJcbiAgICAvLyBAQ29tcGxleEFycmF5KENvRG9jdW1lbnRSaWdodClcclxuICAgIHB1YmxpYyByaWdodHM6IENvRG9jdW1lbnRSaWdodFtdID0gW107XHJcblxyXG4gICAgcHVibGljIHNldCBkb2N1bWVudEJvZHkoZG9jdW1lbnRCb2R5OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBwcmV2OiBzdHJpbmcgPSB0aGlzLl9kb2N1bWVudEJvZHk7XHJcblxyXG4gICAgICAgIHRoaXMuX2RvY3VtZW50Qm9keSA9IGRvY3VtZW50Qm9keTtcclxuXHJcbiAgICAgICAgaWYgKHByZXYgIT09IHRoaXMuX2RvY3VtZW50Qm9keSkge1xyXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50Qm9keUNoYW5nZS5uZXh0KHRoaXMuX2RvY3VtZW50Qm9keSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZG9jdW1lbnRCb2R5KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RvY3VtZW50Qm9keTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBARGVmYXVsdFNlbmRWYWx1ZShbXSlcclxuICAgIC8vIEBDb21wbGV4QXJyYXkoQXJ0aWNsZVNlb1ZhbHVlKVxyXG4gICAgLy8gcHVibGljIHNlb1RpdGxlczogQXJ0aWNsZVNlb1ZhbHVlW10gPSBbXTtcclxuICAgIHB1YmxpYyBmaWxlTmFtZTogc3RyaW5nO1xyXG4gICAgcHVibGljIHJldGFpbEZvcm11bGFzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIC8vIEBOb0RiRmllbGQoKVxyXG4gICAgLy8gcHVibGljIGlkRm9yTGluazogbnVtYmVyO1xyXG5cclxuICAgIC8vIFRoZSBpbnRlcm5hbCBmaWxlIHR5cGUgb2YgdGhpcyBkb2N1bWVudCAodGhlIE1pbWVUeXBlIGlPbmVKUyB1c2VzIGludGVybmFsbHkpXHJcbiAgICBwdWJsaWMgZ2V0IGZpbGVUeXBlSW50ZXJuYWwoKTogRmlsZVR5cGVJbnRlcm5hbCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9maWxlVHlwZUludGVybmFsKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVUeXBlOiBGaWxlVHlwZUludGVybmFsID0gRmlsZVV0aWxzLkZpbGVOYW1lVG9GaWxlVHlwZUludGVybmFsKHRoaXMuZmlsZU5hbWUpO1xyXG4gICAgICAgICAgICBpZiAoZmlsZVR5cGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbGVUeXBlSW50ZXJuYWwgPSBmaWxlVHlwZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZVR5cGVJbnRlcm5hbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtaW1ldHlwZSBvZiB0aGlzIGRvY3VtZW50OiB1c2VzIGRhdGFiYXNlLWZldGNoZWQgdGhpcy5taW1lVHlwZSwgb3IgY2FsY3VsYXRlcyAvIGd1ZXNzZXMgdGhlIG1pbWUgdHlwZSBvZiB0aGUgZG9jdW1lbnRcclxuICAgICAqIGlmIHRoYXQgd2FzIG5vdCBzZXQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgbWltZVR5cGVJbnRlcm5hbCgpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLl9taW1lVHlwZUludGVybmFsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9taW1lVHlwZUludGVybmFsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luaXRNaW1ldHlwZUludGVybmFsKCk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9taW1lVHlwZUludGVybmFsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IG1pbWVUeXBlSW50ZXJuYWwodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX21pbWVUeXBlSW50ZXJuYWwgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBHaXZlcyBlaXRoZXIgdGhlIGRvY3VtZW50LShwcmlvKSBvciB0aGUgdGh1bWJuYWlsIGJvZHkuIE9yIHVuZGVmaW5lZCBpZiBub3QgZXhpc3QuXHJcbiAgICBwdWJsaWMgZ2V0IGJvZHlBc0RhdGFVcmkoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnRCb2R5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50Qm9keUFzRGF0YVVyaTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGh1bWJuYWlsQm9keSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHVtYm5haWxCb2R5QXNEYXRhVXJpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUaGUgYm9keSBvZiB0aGlzIGRvY3VtZW50IGFzIGEgZGF0YSB1cmkuIFRoZSBkYXRhIHVyaSBhbHNvIGNvbnRhaW5zIHRoZSBtaW1ldHlwZSBpbiBpdHMgc3RyaW5nLCBhbmQgdGhlIGZhY3QgdGhhdCBpdCdzIGJhc2U2NC5cclxuICAgIHB1YmxpYyBnZXQgZG9jdW1lbnRCb2R5QXNEYXRhVXJpKCk6IHN0cmluZyB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcmV0dXJuIEZpbGVVdGlscy5Eb2N1bWVudEJvZHlUb0RhdGFVcmkodGhpcy5kb2N1bWVudEJvZHksIHRoaXMubWltZVR5cGVJbnRlcm5hbCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoZSBUaHVtYm5haWxib2R5IG9mIHRoaXMgZG9jdW1lbnQgYXMgYSBkYXRhIHVyaS4gVGhlIGRhdGEgdXJpIGFsc28gY29udGFpbnMgdGhlIG1pbWV0eXBlIGluIGl0cyBzdHJpbmcsIGFuZCB0aGUgZmFjdCB0aGF0IGl0J3MgYmFzZTY0LlxyXG4gICAgcHVibGljIGdldCB0aHVtYm5haWxCb2R5QXNEYXRhVXJpKCk6IHN0cmluZyB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcmV0dXJuIEZpbGVVdGlscy5Eb2N1bWVudEJvZHlUb0RhdGFVcmkodGhpcy50aHVtYm5haWxCb2R5LCB0aGlzLm1pbWVUeXBlSW50ZXJuYWwpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzQXZhdGFyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmltYWdlRGlzcGxheUtpbmQgPT09IENvRG9jdW1lbnRJbWFnZURpc3BsYXlLaW5kLkF2YXRhcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBARGJGaWVsZEFsaWFzKFwiZG9jdW1lbnRCb2R5XCIpXHJcbiAgICBwcml2YXRlIF9kb2N1bWVudEJvZHk6IHN0cmluZztcclxuICAgIC8vXHJcbiAgICAvLyBARGJGaWVsZEFsaWFzKFwiZG9jdW1lbnRJZFwiKVxyXG4gICAgcHJpdmF0ZSBfZG9jdW1lbnRJZDogbnVtYmVyO1xyXG4gICAgLy9cclxuICAgIC8vIEBOb0RiRmllbGQoKVxyXG4gICAgLy8gQENvbXBsZXhGaWVsZChTdWJqZWN0KVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50Qm9keUNoYW5nZTogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG5cclxuICAgIC8vIFRoZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgTWltZVR5cGUsIHNlZSBlbnVtIE1pbWVUeXBlIChhY3R1YWwgbWltZVR5cGUgZmllbGQgaXMgbm90IGZpbGxlZCBpbiBkYiBvZnRlbilcclxuICAgIC8vIEBOb0RiRmllbGQoKVxyXG4gICAgcHJpdmF0ZSBfZmlsZVR5cGVJbnRlcm5hbDogRmlsZVR5cGVJbnRlcm5hbDtcclxuICAgIC8vIGVnIFwiaW1hZ2UvanBlZ1wiXHJcbiAgICAvLyBATm9EYkZpZWxkKClcclxuICAgIHByaXZhdGUgX21pbWVUeXBlSW50ZXJuYWw6IHN0cmluZztcclxuICAgIC8vXHJcbiAgICAvLyBATm9EYkZpZWxkKClcclxuICAgIC8vIHByaXZhdGUgX2lkT2JqZWN0OiBhbnkgPSB7fTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJpZ2h0TGV2ZWwgPT09IE9iamVjdFJpZ2h0VHlwZS5SZWFkT25seTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SWQoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudElkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgd2hldGhlciB0aGlzIGlzIGFuIGltYWdlIGRvY3VtZW50IG9yIG5vdC5cclxuICAgIHB1YmxpYyBpc0ltYWdlRG9jdW1lbnQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLmZpbGVUeXBlSW50ZXJuYWwgPT09IEZpbGVUeXBlSW50ZXJuYWwuSW1hZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEBCb1NlcmlhbGl6ZXJTdGVwKClcclxuICAgIHB1YmxpYyBwcmV2ZW50T3ZlcnJpZGluZ1RodW1ibmFpbFRvRW1wdHkoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnRodW1ibmFpbEJvZHkpIHtcclxuICAgICAgICAgICAgdGhpcy50aHVtYm5haWxCb2R5ID0gdGhpcy5fZG9jdW1lbnRCb2R5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBQT1NUQ09ORElUSU9OOiB0aGlzLl9taW1lVHlwZUludGVybmFsIGNvbnRhaW5zLCB0byBvdXIgYmVzdCBhYmlsaXRpZXMsIHRoZSB0cnVlIG1pbWVUeXBlIG9mIHRoaXMgZG9jdW1lbnQsIGEtbGEgXCJpbWFnZS9qcGdcIlxyXG4gICAgcHJpdmF0ZSBfaW5pdE1pbWV0eXBlSW50ZXJuYWwoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gaWYgbm8gZmlsZVR5cGUsIGRlZmF1bHQgdG8gRmlsZVR5cGUuSW1hZ2UgZm9yIGludGVybmFsIG1pbWV0eXBlIGluaXRpYWxpemF0aW9uXHJcbiAgICAgICAgaWYgKCh0aGlzLmZpbGVUeXBlID09PSBGaWxlVHlwZS5JbWFnZSB8fCAhdGhpcy5maWxlVHlwZSkgJiYgdGhpcy5maWxlTmFtZSkge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlRXh0ZW5zaW9uOiBzdHJpbmcgPSB0aGlzLmZpbGVOYW1lLnN1YnN0cih0aGlzLmZpbGVOYW1lLmxhc3RJbmRleE9mKFwiLlwiKSArIDEpO1xyXG4gICAgICAgICAgICB0aGlzLl9taW1lVHlwZUludGVybmFsID0gXCJpbWFnZS9cIiArIGZpbGVFeHRlbnNpb247XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==