@messaia/cdk 12.3.5-rc21 → 13.0.0-rc02

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 (1093) hide show
  1. package/esm2020/lib/base/base.module.mjs +64 -0
  2. package/esm2020/lib/base/components/base.component.mjs +436 -0
  3. package/esm2020/lib/base/components/generic-form.component.mjs +482 -0
  4. package/esm2020/lib/base/components/generic-list.component.mjs +461 -0
  5. package/{esm2015/lib/base/constants/common.js → esm2020/lib/base/constants/common.mjs} +0 -0
  6. package/{esm2015/lib/base/enums/message-type.js → esm2020/lib/base/enums/message-type.mjs} +0 -0
  7. package/{esm2015/lib/base/helpers/auth-helper.js → esm2020/lib/base/helpers/auth-helper.mjs} +0 -0
  8. package/esm2020/lib/base/interceptors/base.interceptor.mjs +138 -0
  9. package/esm2020/lib/base/interceptors/caching-interceptor.mjs +68 -0
  10. package/esm2020/lib/base/interceptors/loading.interceptor.mjs +63 -0
  11. package/{esm2015/lib/base/models/auth-user.js → esm2020/lib/base/models/auth-user.mjs} +0 -0
  12. package/{esm2015/lib/base/public_api.js → esm2020/lib/base/public_api.mjs} +0 -0
  13. package/esm2020/lib/base/services/file.service.mjs +18 -0
  14. package/esm2020/lib/base/services/loading-screen.service.mjs +47 -0
  15. package/esm2020/lib/base/services/print.service.mjs +40 -0
  16. package/esm2020/lib/chips/chips.module.mjs +63 -0
  17. package/esm2020/lib/chips/components/chips.component.mjs +419 -0
  18. package/esm2020/lib/chips/public_api.mjs +3 -0
  19. package/{esm2015/lib/common/animations/collapse/collapse.animation.js → esm2020/lib/common/animations/collapse/collapse.animation.mjs} +0 -0
  20. package/{esm2015/lib/common/animations/common/interfaces.js → esm2020/lib/common/animations/common/interfaces.mjs} +0 -0
  21. package/{esm2015/lib/common/behaviors/constructor.js → esm2020/lib/common/behaviors/constructor.mjs} +0 -0
  22. package/esm2020/lib/common/behaviors/control-value-accesor.mixin.mjs +39 -0
  23. package/{esm2015/lib/common/behaviors/disabled.mixin.js → esm2020/lib/common/behaviors/disabled.mixin.mjs} +0 -0
  24. package/esm2020/lib/common/common.module.mjs +118 -0
  25. package/{esm2015/lib/common/constants/constants.js → esm2020/lib/common/constants/constants.mjs} +0 -0
  26. package/esm2020/lib/common/directives/disable-control.directive.mjs +34 -0
  27. package/{esm2015/lib/common/enums/salutation.js → esm2020/lib/common/enums/salutation.mjs} +0 -0
  28. package/{esm2015/lib/common/functions/decorators.js → esm2020/lib/common/functions/decorators.mjs} +0 -0
  29. package/{esm2015/lib/common/functions/functions.js → esm2020/lib/common/functions/functions.mjs} +0 -0
  30. package/esm2020/lib/common/functions/utils.mjs +161 -0
  31. package/esm2020/lib/common/helpers/app-storage.mjs +53 -0
  32. package/esm2020/lib/common/helpers/dynamic-builder.mjs +49 -0
  33. package/esm2020/lib/common/models/app-setting.mjs +10 -0
  34. package/{esm2015/lib/common/models/audit-user.js → esm2020/lib/common/models/audit-user.mjs} +0 -0
  35. package/{esm2015/lib/common/models/entity.js → esm2020/lib/common/models/entity.mjs} +0 -0
  36. package/{esm2015/lib/common/models/enum-item.js → esm2020/lib/common/models/enum-item.mjs} +0 -0
  37. package/{esm2015/lib/common/models/key-value.js → esm2020/lib/common/models/key-value.mjs} +0 -0
  38. package/{esm2015/lib/common/models/save-action.js → esm2020/lib/common/models/save-action.mjs} +0 -0
  39. package/esm2020/lib/common/pipes/data-source.pipe.mjs +15 -0
  40. package/esm2020/lib/common/pipes/enum.pipe.mjs +23 -0
  41. package/esm2020/lib/common/pipes/file-size.pipe.mjs +37 -0
  42. package/esm2020/lib/common/pipes/filter.pipe.mjs +23 -0
  43. package/esm2020/lib/common/pipes/first-letter.mjs +24 -0
  44. package/esm2020/lib/common/pipes/keys.mjs +18 -0
  45. package/esm2020/lib/common/pipes/month-name.pipe.mjs +27 -0
  46. package/esm2020/lib/common/pipes/only-number.mjs +53 -0
  47. package/esm2020/lib/common/pipes/order.pipe.mjs +183 -0
  48. package/esm2020/lib/common/pipes/placeholder.pipe.mjs +26 -0
  49. package/esm2020/lib/common/pipes/safe-html.pipe.mjs +31 -0
  50. package/esm2020/lib/common/pipes/time.pipe.mjs +20 -0
  51. package/esm2020/lib/common/pipes/titlecase.pipe.mjs +14 -0
  52. package/esm2020/lib/common/pipes/truncate.pipe.mjs +15 -0
  53. package/esm2020/lib/common/pipes/values.mjs +14 -0
  54. package/esm2020/lib/common/public_api.mjs +18 -0
  55. package/esm2020/lib/common/services/base.service.mjs +19 -0
  56. package/{esm2015/lib/common/services/context-helper.js → esm2020/lib/common/services/context-helper.mjs} +0 -0
  57. package/esm2020/lib/common/services/enum.service.mjs +44 -0
  58. package/{esm2015/lib/common/services/service-locator.js → esm2020/lib/common/services/service-locator.mjs} +0 -0
  59. package/esm2020/lib/dialogs/alert-dialog/alert-dialog.component.mjs +31 -0
  60. package/esm2020/lib/dialogs/confirm-dialog/confirm-dialog.component.mjs +37 -0
  61. package/esm2020/lib/dialogs/dialog.component.mjs +56 -0
  62. package/esm2020/lib/dialogs/dialogs.module.mjs +82 -0
  63. package/esm2020/lib/dialogs/prompt-dialog/prompt-dialog.component.mjs +40 -0
  64. package/{esm2015/lib/dialogs/public_api.js → esm2020/lib/dialogs/public_api.mjs} +0 -0
  65. package/esm2020/lib/dialogs/services/dialog.service.mjs +136 -0
  66. package/esm2020/lib/file/file-input.component.mjs +327 -0
  67. package/esm2020/lib/file/file.module.mjs +39 -0
  68. package/{esm2015/lib/file/public_api.js → esm2020/lib/file/public_api.mjs} +0 -0
  69. package/esm2020/lib/form-validators/abstract/typed-form.mjs +3 -0
  70. package/esm2020/lib/form-validators/algorithm/luhn-algorithm.mjs +15 -0
  71. package/esm2020/lib/form-validators/const/app-validators.const.mjs +68 -0
  72. package/esm2020/lib/form-validators/const/app.const.mjs +17 -0
  73. package/esm2020/lib/form-validators/const/config-names.const.mjs +9 -0
  74. package/esm2020/lib/form-validators/const/config-required-fields.const.mjs +11 -0
  75. package/esm2020/lib/form-validators/const/decorators.const.mjs +23 -0
  76. package/esm2020/lib/form-validators/const/events.const.mjs +14 -0
  77. package/esm2020/lib/form-validators/const/html-elements.const.mjs +7 -0
  78. package/esm2020/lib/form-validators/const/iban-country-wise-regex.const.mjs +80 -0
  79. package/esm2020/lib/form-validators/const/index.mjs +6 -0
  80. package/esm2020/lib/form-validators/const/operators.const.mjs +7 -0
  81. package/esm2020/lib/form-validators/const/validation-alphabet-locale.const.mjs +9 -0
  82. package/esm2020/lib/form-validators/const/validator.const.mjs +8 -0
  83. package/esm2020/lib/form-validators/core/defaultContainer.mjs +243 -0
  84. package/esm2020/lib/form-validators/core/validator.interface.mjs +2 -0
  85. package/esm2020/lib/form-validators/core/validator.static.mjs +74 -0
  86. package/esm2020/lib/form-validators/decorators/allOf.decorator.mjs +10 -0
  87. package/esm2020/lib/form-validators/decorators/alpha.decorator.mjs +10 -0
  88. package/esm2020/lib/form-validators/decorators/alphaNumeric.decorator.mjs +10 -0
  89. package/esm2020/lib/form-validators/decorators/and.decorator.mjs +6 -0
  90. package/esm2020/lib/form-validators/decorators/ascii.decorator.mjs +6 -0
  91. package/esm2020/lib/form-validators/decorators/async.decorator.mjs +6 -0
  92. package/esm2020/lib/form-validators/decorators/base-decorator.function.mjs +7 -0
  93. package/esm2020/lib/form-validators/decorators/choice.decorator.mjs +10 -0
  94. package/esm2020/lib/form-validators/decorators/compare.decorator.mjs +6 -0
  95. package/esm2020/lib/form-validators/decorators/compose.decorator.mjs +6 -0
  96. package/esm2020/lib/form-validators/decorators/contains.decorator.mjs +10 -0
  97. package/esm2020/lib/form-validators/decorators/credit-card.decorator.mjs +10 -0
  98. package/esm2020/lib/form-validators/decorators/cusip.decorator.mjs +6 -0
  99. package/esm2020/lib/form-validators/decorators/custom.decorator.mjs +10 -0
  100. package/esm2020/lib/form-validators/decorators/dataUri.decorator.mjs +6 -0
  101. package/esm2020/lib/form-validators/decorators/date.decorator.mjs +10 -0
  102. package/esm2020/lib/form-validators/decorators/different.decorator.mjs +6 -0
  103. package/esm2020/lib/form-validators/decorators/digit.decorator.mjs +6 -0
  104. package/esm2020/lib/form-validators/decorators/email.decorator.mjs +6 -0
  105. package/esm2020/lib/form-validators/decorators/endsWith.decorator.mjs +10 -0
  106. package/esm2020/lib/form-validators/decorators/even.decorator.mjs +6 -0
  107. package/esm2020/lib/form-validators/decorators/extension.decorator.mjs +10 -0
  108. package/esm2020/lib/form-validators/decorators/factor.decorator.mjs +10 -0
  109. package/esm2020/lib/form-validators/decorators/file.decorator.mjs +10 -0
  110. package/esm2020/lib/form-validators/decorators/fileSize.decorator.mjs +10 -0
  111. package/esm2020/lib/form-validators/decorators/greater-than-equal-to.decorator.mjs +10 -0
  112. package/esm2020/lib/form-validators/decorators/greater-than.decorator.mjs +10 -0
  113. package/esm2020/lib/form-validators/decorators/grid.decorator.mjs +6 -0
  114. package/esm2020/lib/form-validators/decorators/hexColor.decorator.mjs +6 -0
  115. package/esm2020/lib/form-validators/decorators/image.decorator.mjs +10 -0
  116. package/esm2020/lib/form-validators/decorators/index.mjs +91 -0
  117. package/esm2020/lib/form-validators/decorators/json.decorator.mjs +6 -0
  118. package/esm2020/lib/form-validators/decorators/latLong.decorator.mjs +6 -0
  119. package/esm2020/lib/form-validators/decorators/latitude.decorator.mjs +6 -0
  120. package/esm2020/lib/form-validators/decorators/leapYear.decorator.mjs +6 -0
  121. package/esm2020/lib/form-validators/decorators/less-than-equal-to.decorator.mjs +10 -0
  122. package/esm2020/lib/form-validators/decorators/less-than.decorator.mjs +10 -0
  123. package/esm2020/lib/form-validators/decorators/longitude.decorator.mjs +6 -0
  124. package/esm2020/lib/form-validators/decorators/lowercase.decorator.mjs +6 -0
  125. package/esm2020/lib/form-validators/decorators/mac.decorator.mjs +6 -0
  126. package/esm2020/lib/form-validators/decorators/mask.decorator.mjs +6 -0
  127. package/esm2020/lib/form-validators/decorators/maxDate.decorator.mjs +10 -0
  128. package/esm2020/lib/form-validators/decorators/maxLength.decorator.mjs +10 -0
  129. package/esm2020/lib/form-validators/decorators/maxNumber.decorator.mjs +10 -0
  130. package/esm2020/lib/form-validators/decorators/maxTime.decorator.mjs +10 -0
  131. package/esm2020/lib/form-validators/decorators/minDate.decorator.mjs +10 -0
  132. package/esm2020/lib/form-validators/decorators/minLength.decorator.mjs +10 -0
  133. package/esm2020/lib/form-validators/decorators/minNumber.decorator.mjs +10 -0
  134. package/esm2020/lib/form-validators/decorators/minTime.decorator.mjs +10 -0
  135. package/esm2020/lib/form-validators/decorators/model.decorator.mjs +7 -0
  136. package/esm2020/lib/form-validators/decorators/non-validation-decorators/disable.decorator.mjs +8 -0
  137. package/esm2020/lib/form-validators/decorators/non-validation-decorators/elementClass.decorator.mjs +8 -0
  138. package/esm2020/lib/form-validators/decorators/non-validation-decorators/error.decorator.mjs +8 -0
  139. package/esm2020/lib/form-validators/decorators/noneOf.decorator.mjs +10 -0
  140. package/esm2020/lib/form-validators/decorators/not.decorator.mjs +6 -0
  141. package/esm2020/lib/form-validators/decorators/notEmpty.decorator.mjs +6 -0
  142. package/esm2020/lib/form-validators/decorators/numeric.decorator.mjs +10 -0
  143. package/esm2020/lib/form-validators/decorators/odd.decorator.mjs +6 -0
  144. package/esm2020/lib/form-validators/decorators/oneOf.decorator.mjs +10 -0
  145. package/esm2020/lib/form-validators/decorators/or.decorator.mjs +6 -0
  146. package/esm2020/lib/form-validators/decorators/password.decorator.mjs +10 -0
  147. package/esm2020/lib/form-validators/decorators/pattern.decorator.mjs +10 -0
  148. package/esm2020/lib/form-validators/decorators/port.decorator.mjs +6 -0
  149. package/esm2020/lib/form-validators/decorators/primeNumber.decorator.mjs +6 -0
  150. package/esm2020/lib/form-validators/decorators/prop-array.decorator.mjs +18 -0
  151. package/esm2020/lib/form-validators/decorators/prop-object.decorator.mjs +8 -0
  152. package/esm2020/lib/form-validators/decorators/prop.decorator.mjs +16 -0
  153. package/esm2020/lib/form-validators/decorators/range.decorator.mjs +10 -0
  154. package/esm2020/lib/form-validators/decorators/required.decorator.mjs +6 -0
  155. package/esm2020/lib/form-validators/decorators/requiredTrue.decorator.mjs +6 -0
  156. package/esm2020/lib/form-validators/decorators/rule.decorator.mjs +6 -0
  157. package/esm2020/lib/form-validators/decorators/sanitize/blacklist.decorator.mjs +8 -0
  158. package/esm2020/lib/form-validators/decorators/sanitize/escape.decorator.mjs +8 -0
  159. package/esm2020/lib/form-validators/decorators/sanitize/ltrim.decorator.mjs +8 -0
  160. package/esm2020/lib/form-validators/decorators/sanitize/prefix.decorator.mjs +8 -0
  161. package/esm2020/lib/form-validators/decorators/sanitize/rtrim.decorator.mjs +8 -0
  162. package/esm2020/lib/form-validators/decorators/sanitize/sanitize.decorator.mjs +8 -0
  163. package/esm2020/lib/form-validators/decorators/sanitize/stripLow.decorator.mjs +8 -0
  164. package/esm2020/lib/form-validators/decorators/sanitize/suffix.decorator.mjs +8 -0
  165. package/esm2020/lib/form-validators/decorators/sanitize/toBoolean.decorator.mjs +8 -0
  166. package/esm2020/lib/form-validators/decorators/sanitize/toDate.decorator.mjs +8 -0
  167. package/esm2020/lib/form-validators/decorators/sanitize/toDouble.decorator.mjs +8 -0
  168. package/esm2020/lib/form-validators/decorators/sanitize/toFloat.decorator.mjs +8 -0
  169. package/esm2020/lib/form-validators/decorators/sanitize/toInt.decorator.mjs +8 -0
  170. package/esm2020/lib/form-validators/decorators/sanitize/toString.decorator.mjs +8 -0
  171. package/esm2020/lib/form-validators/decorators/sanitize/trim.decorator.mjs +8 -0
  172. package/esm2020/lib/form-validators/decorators/sanitize/whitelist.decorator.mjs +8 -0
  173. package/esm2020/lib/form-validators/decorators/startsWith.decorator.mjs +10 -0
  174. package/esm2020/lib/form-validators/decorators/time.decorator.mjs +10 -0
  175. package/esm2020/lib/form-validators/decorators/unique.decorator.mjs +6 -0
  176. package/esm2020/lib/form-validators/decorators/uppercase.decorator.mjs +6 -0
  177. package/esm2020/lib/form-validators/decorators/url.decorator.mjs +10 -0
  178. package/esm2020/lib/form-validators/directives/base-directive.mjs +43 -0
  179. package/esm2020/lib/form-validators/directives/control-host.directive.mjs +34 -0
  180. package/esm2020/lib/form-validators/directives/html-control-template.directive.mjs +20 -0
  181. package/esm2020/lib/form-validators/directives/rx-form.directive.mjs +134 -0
  182. package/esm2020/lib/form-validators/directives/template-validations/async-validation.directive.mjs +31 -0
  183. package/esm2020/lib/form-validators/directives/template-validations/base-validator.directive.mjs +42 -0
  184. package/esm2020/lib/form-validators/directives/template-validations/control-expression-process.mjs +26 -0
  185. package/esm2020/lib/form-validators/directives/template-validations/file-control.directive.mjs +91 -0
  186. package/esm2020/lib/form-validators/directives/template-validations/image-file-control.directive.mjs +50 -0
  187. package/esm2020/lib/form-validators/directives/template-validations/rxformcontrol.directive.mjs +277 -0
  188. package/esm2020/lib/form-validators/domain/disable-provider.mjs +93 -0
  189. package/esm2020/lib/form-validators/domain/element-processor/decimal.provider.mjs +59 -0
  190. package/esm2020/lib/form-validators/domain/element-processor/mask.provider.mjs +430 -0
  191. package/esm2020/lib/form-validators/domain/form-data.mjs +47 -0
  192. package/esm2020/lib/form-validators/enums/error-message-binding-strategy.mjs +11 -0
  193. package/esm2020/lib/form-validators/enums/index.mjs +5 -0
  194. package/esm2020/lib/form-validators/enums/ip-version.mjs +7 -0
  195. package/esm2020/lib/form-validators/enums/numeric-value-type.mjs +7 -0
  196. package/esm2020/lib/form-validators/enums/reset-type.mjs +10 -0
  197. package/esm2020/lib/form-validators/enums/url-validation-type.mjs +7 -0
  198. package/esm2020/lib/form-validators/models/config/alpha-config.mjs +2 -0
  199. package/esm2020/lib/form-validators/models/config/array-config.mjs +2 -0
  200. package/esm2020/lib/form-validators/models/config/base-config-fn.mjs +2 -0
  201. package/esm2020/lib/form-validators/models/config/base-config.mjs +2 -0
  202. package/esm2020/lib/form-validators/models/config/base-date-config.mjs +2 -0
  203. package/esm2020/lib/form-validators/models/config/choice-config.mjs +2 -0
  204. package/esm2020/lib/form-validators/models/config/compare-config.mjs +2 -0
  205. package/esm2020/lib/form-validators/models/config/component-config.mjs +2 -0
  206. package/esm2020/lib/form-validators/models/config/compose-config.mjs +2 -0
  207. package/esm2020/lib/form-validators/models/config/contains-config.mjs +2 -0
  208. package/esm2020/lib/form-validators/models/config/credit-card-config.mjs +2 -0
  209. package/esm2020/lib/form-validators/models/config/custom-config.mjs +2 -0
  210. package/esm2020/lib/form-validators/models/config/date-config.mjs +2 -0
  211. package/esm2020/lib/form-validators/models/config/default-config.mjs +2 -0
  212. package/esm2020/lib/form-validators/models/config/digit-config.mjs +2 -0
  213. package/esm2020/lib/form-validators/models/config/disable-config.mjs +2 -0
  214. package/esm2020/lib/form-validators/models/config/element-class-config.mjs +2 -0
  215. package/esm2020/lib/form-validators/models/config/email-config.mjs +2 -0
  216. package/esm2020/lib/form-validators/models/config/error-config.mjs +2 -0
  217. package/esm2020/lib/form-validators/models/config/extension-config.mjs +2 -0
  218. package/esm2020/lib/form-validators/models/config/factor-config.mjs +2 -0
  219. package/esm2020/lib/form-validators/models/config/field-config.mjs +2 -0
  220. package/esm2020/lib/form-validators/models/config/file-config.mjs +2 -0
  221. package/esm2020/lib/form-validators/models/config/hex-color-config.mjs +2 -0
  222. package/esm2020/lib/form-validators/models/config/iban-config.mjs +2 -0
  223. package/esm2020/lib/form-validators/models/config/image-config.mjs +2 -0
  224. package/esm2020/lib/form-validators/models/config/index.mjs +35 -0
  225. package/esm2020/lib/form-validators/models/config/ip-config.mjs +2 -0
  226. package/esm2020/lib/form-validators/models/config/logical-operator-config.mjs +2 -0
  227. package/esm2020/lib/form-validators/models/config/mask-config.mjs +2 -0
  228. package/esm2020/lib/form-validators/models/config/max-date-config.mjs +2 -0
  229. package/esm2020/lib/form-validators/models/config/message-config.mjs +2 -0
  230. package/esm2020/lib/form-validators/models/config/min-date-config.mjs +2 -0
  231. package/esm2020/lib/form-validators/models/config/model-config.mjs +2 -0
  232. package/esm2020/lib/form-validators/models/config/number-config.mjs +2 -0
  233. package/esm2020/lib/form-validators/models/config/numeric-config.mjs +2 -0
  234. package/esm2020/lib/form-validators/models/config/password-config.mjs +2 -0
  235. package/esm2020/lib/form-validators/models/config/pattern-config.mjs +2 -0
  236. package/esm2020/lib/form-validators/models/config/prop-config.mjs +2 -0
  237. package/esm2020/lib/form-validators/models/config/props-config.mjs +2 -0
  238. package/esm2020/lib/form-validators/models/config/range-config.mjs +2 -0
  239. package/esm2020/lib/form-validators/models/config/relational-operator-config.mjs +2 -0
  240. package/esm2020/lib/form-validators/models/config/required-config.mjs +2 -0
  241. package/esm2020/lib/form-validators/models/config/rule-config.mjs +2 -0
  242. package/esm2020/lib/form-validators/models/config/sanitize-config.mjs +2 -0
  243. package/esm2020/lib/form-validators/models/config/size-config.mjs +2 -0
  244. package/esm2020/lib/form-validators/models/config/string-comparison-config.mjs +2 -0
  245. package/esm2020/lib/form-validators/models/config/time-config.mjs +2 -0
  246. package/esm2020/lib/form-validators/models/config/todate-config.mjs +2 -0
  247. package/esm2020/lib/form-validators/models/config/unique-config.mjs +2 -0
  248. package/esm2020/lib/form-validators/models/config/url-config.mjs +2 -0
  249. package/esm2020/lib/form-validators/models/form-builder-configuration.mjs +8 -0
  250. package/esm2020/lib/form-validators/models/index.mjs +3 -0
  251. package/esm2020/lib/form-validators/models/interface/array-prop-instance-config.interface.mjs +2 -0
  252. package/esm2020/lib/form-validators/models/interface/auto-instance-config.interface.mjs +2 -0
  253. package/esm2020/lib/form-validators/models/interface/form-data-config.mjs +2 -0
  254. package/esm2020/lib/form-validators/models/interface/i-abstract-control.mjs +4 -0
  255. package/esm2020/lib/form-validators/models/interface/i-form-group.mjs +2 -0
  256. package/esm2020/lib/form-validators/models/interface/instance-argument.interface.mjs +2 -0
  257. package/esm2020/lib/form-validators/models/interface/object-prop-instance-config.interface.mjs +2 -0
  258. package/esm2020/lib/form-validators/models/interface/options.mjs +2 -0
  259. package/esm2020/lib/form-validators/models/password-validation.model.mjs +2 -0
  260. package/esm2020/lib/form-validators/models/prop-validation-config.mjs +2 -0
  261. package/esm2020/lib/form-validators/public_api.mjs +25 -0
  262. package/esm2020/lib/form-validators/reactive-form-validators/allOf.validator.mjs +22 -0
  263. package/esm2020/lib/form-validators/reactive-form-validators/alpha.validator.mjs +9 -0
  264. package/esm2020/lib/form-validators/reactive-form-validators/alphaNumeric.validator.mjs +9 -0
  265. package/esm2020/lib/form-validators/reactive-form-validators/and.validator.mjs +23 -0
  266. package/esm2020/lib/form-validators/reactive-form-validators/ascii.validator.mjs +9 -0
  267. package/esm2020/lib/form-validators/reactive-form-validators/async/base.async.validator.mjs +24 -0
  268. package/esm2020/lib/form-validators/reactive-form-validators/choice.validator.mjs +19 -0
  269. package/esm2020/lib/form-validators/reactive-form-validators/compare.validator.mjs +20 -0
  270. package/esm2020/lib/form-validators/reactive-form-validators/compose.validator.mjs +23 -0
  271. package/esm2020/lib/form-validators/reactive-form-validators/conditional-change.validator.mjs +63 -0
  272. package/esm2020/lib/form-validators/reactive-form-validators/contains.validator.mjs +15 -0
  273. package/esm2020/lib/form-validators/reactive-form-validators/credit-card.validator.mjs +48 -0
  274. package/esm2020/lib/form-validators/reactive-form-validators/cusip.validator.mjs +38 -0
  275. package/esm2020/lib/form-validators/reactive-form-validators/custom.validator.mjs +23 -0
  276. package/esm2020/lib/form-validators/reactive-form-validators/dataUri.validator.mjs +9 -0
  277. package/esm2020/lib/form-validators/reactive-form-validators/date.validator.mjs +8 -0
  278. package/esm2020/lib/form-validators/reactive-form-validators/different.validator.mjs +19 -0
  279. package/esm2020/lib/form-validators/reactive-form-validators/digit.validator.mjs +9 -0
  280. package/esm2020/lib/form-validators/reactive-form-validators/email.validator.mjs +9 -0
  281. package/esm2020/lib/form-validators/reactive-form-validators/endsWith.validator.mjs +16 -0
  282. package/esm2020/lib/form-validators/reactive-form-validators/even.validator.mjs +15 -0
  283. package/esm2020/lib/form-validators/reactive-form-validators/extension.validator.mjs +40 -0
  284. package/esm2020/lib/form-validators/reactive-form-validators/factor.validator.mjs +37 -0
  285. package/esm2020/lib/form-validators/reactive-form-validators/file.validator.mjs +26 -0
  286. package/esm2020/lib/form-validators/reactive-form-validators/fileSize.validator.mjs +32 -0
  287. package/esm2020/lib/form-validators/reactive-form-validators/greater-than-equal-to.validator.mjs +8 -0
  288. package/esm2020/lib/form-validators/reactive-form-validators/greater-than.validator.mjs +8 -0
  289. package/esm2020/lib/form-validators/reactive-form-validators/grid.validator.mjs +31 -0
  290. package/esm2020/lib/form-validators/reactive-form-validators/hexcolor.validator.mjs +9 -0
  291. package/esm2020/lib/form-validators/reactive-form-validators/iban.validator.mjs +30 -0
  292. package/esm2020/lib/form-validators/reactive-form-validators/image.validator.mjs +48 -0
  293. package/esm2020/lib/form-validators/reactive-form-validators/index.mjs +66 -0
  294. package/esm2020/lib/form-validators/reactive-form-validators/ip.validator.mjs +35 -0
  295. package/esm2020/lib/form-validators/reactive-form-validators/json.validator.mjs +26 -0
  296. package/esm2020/lib/form-validators/reactive-form-validators/latLong.validator.mjs +18 -0
  297. package/esm2020/lib/form-validators/reactive-form-validators/latitude.validator.mjs +9 -0
  298. package/esm2020/lib/form-validators/reactive-form-validators/leapYear.validator.mjs +16 -0
  299. package/esm2020/lib/form-validators/reactive-form-validators/less-than-equal-to.validator.mjs +8 -0
  300. package/esm2020/lib/form-validators/reactive-form-validators/less-than.validator.mjs +8 -0
  301. package/esm2020/lib/form-validators/reactive-form-validators/longitude.validator.mjs +9 -0
  302. package/esm2020/lib/form-validators/reactive-form-validators/lowercase.validator.mjs +15 -0
  303. package/esm2020/lib/form-validators/reactive-form-validators/mac.validator.mjs +9 -0
  304. package/esm2020/lib/form-validators/reactive-form-validators/mask.validator.mjs +13 -0
  305. package/esm2020/lib/form-validators/reactive-form-validators/maxDate.validator.mjs +8 -0
  306. package/esm2020/lib/form-validators/reactive-form-validators/maxLength.validator.mjs +16 -0
  307. package/esm2020/lib/form-validators/reactive-form-validators/maxNumber.validator.mjs +16 -0
  308. package/esm2020/lib/form-validators/reactive-form-validators/maxTime.validator.mjs +8 -0
  309. package/esm2020/lib/form-validators/reactive-form-validators/minDate.validator.mjs +8 -0
  310. package/esm2020/lib/form-validators/reactive-form-validators/minLength.validator.mjs +16 -0
  311. package/esm2020/lib/form-validators/reactive-form-validators/minNumber.validator.mjs +16 -0
  312. package/esm2020/lib/form-validators/reactive-form-validators/minTime.validator.mjs +8 -0
  313. package/esm2020/lib/form-validators/reactive-form-validators/noneOf.validator.mjs +24 -0
  314. package/esm2020/lib/form-validators/reactive-form-validators/not.validator.mjs +23 -0
  315. package/esm2020/lib/form-validators/reactive-form-validators/notEmpty.validator.mjs +17 -0
  316. package/esm2020/lib/form-validators/reactive-form-validators/numeric.validator.mjs +20 -0
  317. package/esm2020/lib/form-validators/reactive-form-validators/odd.validator.mjs +16 -0
  318. package/esm2020/lib/form-validators/reactive-form-validators/oneOf.validator.mjs +22 -0
  319. package/esm2020/lib/form-validators/reactive-form-validators/or.validator.mjs +23 -0
  320. package/esm2020/lib/form-validators/reactive-form-validators/password.validator.mjs +33 -0
  321. package/esm2020/lib/form-validators/reactive-form-validators/pattern.validator.mjs +17 -0
  322. package/esm2020/lib/form-validators/reactive-form-validators/port.validator.mjs +18 -0
  323. package/esm2020/lib/form-validators/reactive-form-validators/primeNumber.validator.mjs +26 -0
  324. package/esm2020/lib/form-validators/reactive-form-validators/range.validator.mjs +16 -0
  325. package/esm2020/lib/form-validators/reactive-form-validators/required.validator.mjs +17 -0
  326. package/esm2020/lib/form-validators/reactive-form-validators/requiredTrue.validator.mjs +16 -0
  327. package/esm2020/lib/form-validators/reactive-form-validators/rule.validator.mjs +20 -0
  328. package/esm2020/lib/form-validators/reactive-form-validators/startsWith.validator.mjs +16 -0
  329. package/esm2020/lib/form-validators/reactive-form-validators/time.validator.mjs +18 -0
  330. package/esm2020/lib/form-validators/reactive-form-validators/unique.validator.mjs +70 -0
  331. package/esm2020/lib/form-validators/reactive-form-validators/uppercase.validator.mjs +15 -0
  332. package/esm2020/lib/form-validators/reactive-form-validators/url.validator.mjs +28 -0
  333. package/esm2020/lib/form-validators/services/base-form-builder.mjs +115 -0
  334. package/esm2020/lib/form-validators/services/entity.service.mjs +64 -0
  335. package/esm2020/lib/form-validators/services/form-control.mjs +349 -0
  336. package/esm2020/lib/form-validators/services/form-group.mjs +2 -0
  337. package/esm2020/lib/form-validators/services/reactive-form.module.mjs +52 -0
  338. package/esm2020/lib/form-validators/services/rx-form-array.mjs +100 -0
  339. package/esm2020/lib/form-validators/services/rx-form-builder.mjs +559 -0
  340. package/esm2020/lib/form-validators/services/rx-form-group.mjs +299 -0
  341. package/esm2020/lib/form-validators/services/typed-form-builder.mjs +23 -0
  342. package/esm2020/lib/form-validators/util/alphabet-regex.locale.mjs +29 -0
  343. package/esm2020/lib/form-validators/util/app-util.mjs +141 -0
  344. package/esm2020/lib/form-validators/util/check-length.mjs +10 -0
  345. package/esm2020/lib/form-validators/util/config-provider.mjs +35 -0
  346. package/esm2020/lib/form-validators/util/date-checker.function.mjs +52 -0
  347. package/esm2020/lib/form-validators/util/date-provider.mjs +97 -0
  348. package/esm2020/lib/form-validators/util/form-const.mjs +3 -0
  349. package/esm2020/lib/form-validators/util/form-provider.mjs +37 -0
  350. package/esm2020/lib/form-validators/util/index.mjs +7 -0
  351. package/esm2020/lib/form-validators/util/instance-provider.function.mjs +30 -0
  352. package/esm2020/lib/form-validators/util/ip-checker.mjs +18 -0
  353. package/esm2020/lib/form-validators/util/linq.mjs +147 -0
  354. package/esm2020/lib/form-validators/util/object-maker.mjs +38 -0
  355. package/esm2020/lib/form-validators/util/reactive-form-config.mjs +23 -0
  356. package/esm2020/lib/form-validators/util/regex-rules.mjs +37 -0
  357. package/esm2020/lib/form-validators/util/regex-validator.mjs +74 -0
  358. package/esm2020/lib/form-validators/util/relational-checker.function.mjs +85 -0
  359. package/esm2020/lib/form-validators/util/reset-form.mjs +56 -0
  360. package/esm2020/lib/form-validators/util/sanitizers.mjs +131 -0
  361. package/esm2020/lib/form-validators/util/time-checker.function.mjs +48 -0
  362. package/esm2020/lib/form-validators/util/type.mjs +2 -0
  363. package/esm2020/lib/form-validators/util/validator-value-checker.mjs +17 -0
  364. package/esm2020/lib/form-validators/validators-extension/allOf-validator.extension.mjs +11 -0
  365. package/esm2020/lib/form-validators/validators-extension/alpha-validator.extension.mjs +11 -0
  366. package/esm2020/lib/form-validators/validators-extension/alphaNumeric-validator.extension.mjs +11 -0
  367. package/esm2020/lib/form-validators/validators-extension/and-validator.extension.mjs +7 -0
  368. package/esm2020/lib/form-validators/validators-extension/ascii-validator.extension.mjs +7 -0
  369. package/esm2020/lib/form-validators/validators-extension/base-validator.function.mjs +33 -0
  370. package/esm2020/lib/form-validators/validators-extension/choice-validator.extension.mjs +11 -0
  371. package/esm2020/lib/form-validators/validators-extension/compare-validator.extension.mjs +7 -0
  372. package/esm2020/lib/form-validators/validators-extension/compose-validator.extension.mjs +7 -0
  373. package/esm2020/lib/form-validators/validators-extension/contains-validator.extension.mjs +11 -0
  374. package/esm2020/lib/form-validators/validators-extension/credit-card-validator.extension.mjs +11 -0
  375. package/esm2020/lib/form-validators/validators-extension/cusip-validator.extension.mjs +7 -0
  376. package/esm2020/lib/form-validators/validators-extension/custom-validator.extension.mjs +11 -0
  377. package/esm2020/lib/form-validators/validators-extension/dataUri-validator.extension.mjs +7 -0
  378. package/esm2020/lib/form-validators/validators-extension/date-validator.extension.mjs +11 -0
  379. package/esm2020/lib/form-validators/validators-extension/different-validator.extension.mjs +7 -0
  380. package/esm2020/lib/form-validators/validators-extension/digit-validator.extension.mjs +7 -0
  381. package/esm2020/lib/form-validators/validators-extension/email-validator.extension.mjs +7 -0
  382. package/esm2020/lib/form-validators/validators-extension/endsWith-validator.extension.mjs +11 -0
  383. package/esm2020/lib/form-validators/validators-extension/even-validator.extension.mjs +7 -0
  384. package/esm2020/lib/form-validators/validators-extension/extension-validator.extension.mjs +10 -0
  385. package/esm2020/lib/form-validators/validators-extension/factor-validator.extension.mjs +11 -0
  386. package/esm2020/lib/form-validators/validators-extension/file-validator.extension.mjs +10 -0
  387. package/esm2020/lib/form-validators/validators-extension/fileSize-validator.extension.mjs +10 -0
  388. package/esm2020/lib/form-validators/validators-extension/greater-than-equal-to-validator.extension.mjs +11 -0
  389. package/esm2020/lib/form-validators/validators-extension/greater-than-validator.extension.mjs +11 -0
  390. package/esm2020/lib/form-validators/validators-extension/grid-validator.extension.mjs +7 -0
  391. package/esm2020/lib/form-validators/validators-extension/hexcolor-validator.extension.mjs +7 -0
  392. package/esm2020/lib/form-validators/validators-extension/iban-validator.extension.mjs +11 -0
  393. package/esm2020/lib/form-validators/validators-extension/image-validator.extension.mjs +10 -0
  394. package/esm2020/lib/form-validators/validators-extension/index.mjs +68 -0
  395. package/esm2020/lib/form-validators/validators-extension/ip-validator.extension.mjs +11 -0
  396. package/esm2020/lib/form-validators/validators-extension/json-validator.extension.mjs +7 -0
  397. package/esm2020/lib/form-validators/validators-extension/latLong-validator.extension.mjs +7 -0
  398. package/esm2020/lib/form-validators/validators-extension/latitude-validator.extension.mjs +7 -0
  399. package/esm2020/lib/form-validators/validators-extension/leapYear-validator.extension.mjs +7 -0
  400. package/esm2020/lib/form-validators/validators-extension/less-than-equal-to-validator.extension.mjs +11 -0
  401. package/esm2020/lib/form-validators/validators-extension/less-than-validator.extension.mjs +11 -0
  402. package/esm2020/lib/form-validators/validators-extension/longitude-validator.extension.mjs +7 -0
  403. package/esm2020/lib/form-validators/validators-extension/lowercase-validator.extension.mjs +7 -0
  404. package/esm2020/lib/form-validators/validators-extension/mac-validator.extension.mjs +7 -0
  405. package/esm2020/lib/form-validators/validators-extension/mask-validator.extension.mjs +7 -0
  406. package/esm2020/lib/form-validators/validators-extension/maxDate-validator.extension.mjs +11 -0
  407. package/esm2020/lib/form-validators/validators-extension/maxLength-validator.extension.mjs +11 -0
  408. package/esm2020/lib/form-validators/validators-extension/maxNumber-validator.extension.mjs +11 -0
  409. package/esm2020/lib/form-validators/validators-extension/maxTime-validator.extension.mjs +11 -0
  410. package/esm2020/lib/form-validators/validators-extension/minDate-validator.extension.mjs +11 -0
  411. package/esm2020/lib/form-validators/validators-extension/minLength-validator.extension.mjs +11 -0
  412. package/esm2020/lib/form-validators/validators-extension/minNumber-validator.extension.mjs +11 -0
  413. package/esm2020/lib/form-validators/validators-extension/minTime-validator.extension.mjs +11 -0
  414. package/esm2020/lib/form-validators/validators-extension/noneOf-validator.extension.mjs +11 -0
  415. package/esm2020/lib/form-validators/validators-extension/not-validator.extension.mjs +7 -0
  416. package/esm2020/lib/form-validators/validators-extension/notEmpty-validator.extension.mjs +7 -0
  417. package/esm2020/lib/form-validators/validators-extension/numeric-validator.extension.mjs +11 -0
  418. package/esm2020/lib/form-validators/validators-extension/odd-validator.extension.mjs +7 -0
  419. package/esm2020/lib/form-validators/validators-extension/oneOf-validator.extension.mjs +11 -0
  420. package/esm2020/lib/form-validators/validators-extension/or-validator.extension.mjs +7 -0
  421. package/esm2020/lib/form-validators/validators-extension/password-validator.extension.mjs +11 -0
  422. package/esm2020/lib/form-validators/validators-extension/pattern-validator.extension.mjs +11 -0
  423. package/esm2020/lib/form-validators/validators-extension/port-validator.extension.mjs +7 -0
  424. package/esm2020/lib/form-validators/validators-extension/primeNumber-validator.extension.mjs +7 -0
  425. package/esm2020/lib/form-validators/validators-extension/range-validator.extension.mjs +11 -0
  426. package/esm2020/lib/form-validators/validators-extension/required-validator.extension.mjs +7 -0
  427. package/esm2020/lib/form-validators/validators-extension/requiredTrue-validator.extension.mjs +7 -0
  428. package/esm2020/lib/form-validators/validators-extension/rxweb-validators.mjs +108 -0
  429. package/esm2020/lib/form-validators/validators-extension/startsWith-validator.extension.mjs +11 -0
  430. package/esm2020/lib/form-validators/validators-extension/time-validator.extension.mjs +11 -0
  431. package/esm2020/lib/form-validators/validators-extension/unique-validator.extension.mjs +7 -0
  432. package/esm2020/lib/form-validators/validators-extension/uppercase-validator.extension.mjs +7 -0
  433. package/esm2020/lib/form-validators/validators-extension/url-validator.extension.mjs +11 -0
  434. package/esm2020/lib/form-validators/validators-function/alpha-validation.function.mjs +37 -0
  435. package/esm2020/lib/form-validators/validators-function/regex-validation.function.mjs +16 -0
  436. package/esm2020/lib/forms/components/generic-form/generic-form.component.mjs +131 -0
  437. package/{esm2015/lib/forms/constants/constants.js → esm2020/lib/forms/constants/constants.mjs} +0 -0
  438. package/esm2020/lib/forms/directives/mat-form-field-readonly.directive.mjs +33 -0
  439. package/{esm2015/lib/forms/enums/form-field-type.js → esm2020/lib/forms/enums/form-field-type.mjs} +0 -0
  440. package/esm2020/lib/forms/forms.module.mjs +122 -0
  441. package/esm2020/lib/forms/functions/decorators.mjs +127 -0
  442. package/{esm2015/lib/forms/functions/functions.js → esm2020/lib/forms/functions/functions.mjs} +0 -0
  443. package/esm2020/lib/forms/helpers/abstract-mat-form-field.mjs +251 -0
  444. package/esm2020/lib/forms/helpers/value-accessor-base.mjs +141 -0
  445. package/{esm2015/lib/forms/models/form-field-definition.js → esm2020/lib/forms/models/form-field-definition.mjs} +0 -0
  446. package/{esm2015/lib/forms/models/form-field-group.js → esm2020/lib/forms/models/form-field-group.mjs} +0 -0
  447. package/esm2020/lib/forms/public_api.mjs +4 -0
  448. package/esm2020/lib/forms/validators/equal-validator.directive.mjs +79 -0
  449. package/esm2020/lib/forms/validators/native-element-injector.directive.mjs +32 -0
  450. package/esm2020/lib/forms/validators/unique-validator-directive.mjs +75 -0
  451. package/esm2020/lib/http/http.module.mjs +20 -0
  452. package/{esm2015/lib/http/public_api.js → esm2020/lib/http/public_api.mjs} +0 -0
  453. package/{esm2015/lib/http/services/generic.service.js → esm2020/lib/http/services/generic.service.mjs} +0 -0
  454. package/esm2020/lib/layout/layout-card-over/layout-card-over.component.mjs +43 -0
  455. package/esm2020/lib/layout/layout-footer/layout-footer.component.mjs +34 -0
  456. package/esm2020/lib/layout/layout-manage-list/layout-manage-list.component.mjs +128 -0
  457. package/esm2020/lib/layout/layout-manage-list/layout-manage-list.directives.mjs +81 -0
  458. package/esm2020/lib/layout/layout-nav/layout-nav.component.mjs +62 -0
  459. package/esm2020/lib/layout/layout-nav-list/layout-nav-list.component.mjs +123 -0
  460. package/esm2020/lib/layout/layout-nav-list/layout-nav-list.directives.mjs +81 -0
  461. package/esm2020/lib/layout/layout-toggle.class.mjs +71 -0
  462. package/esm2020/lib/layout/layout.component.mjs +82 -0
  463. package/esm2020/lib/layout/layout.directives.mjs +81 -0
  464. package/esm2020/lib/layout/layout.module.mjs +118 -0
  465. package/esm2020/lib/layout/navigation-drawer/navigation-drawer.component.mjs +167 -0
  466. package/{esm2015/lib/layout/public_api.js → esm2020/lib/layout/public_api.mjs} +0 -0
  467. package/esm2020/lib/media/directives/media-toggle.directive.mjs +115 -0
  468. package/esm2020/lib/media/media.module.mjs +37 -0
  469. package/{esm2015/lib/media/public_api.js → esm2020/lib/media/public_api.mjs} +0 -0
  470. package/esm2020/lib/media/services/media.service.mjs +108 -0
  471. package/esm2020/lib/menu/components/menu.component.mjs +52 -0
  472. package/{esm2015/lib/menu/enums/menu-scope.js → esm2020/lib/menu/enums/menu-scope.mjs} +0 -0
  473. package/esm2020/lib/menu/menu.module.mjs +50 -0
  474. package/{esm2015/lib/menu/models/menu-item.js → esm2020/lib/menu/models/menu-item.mjs} +0 -0
  475. package/{esm2015/lib/menu/models/menu.js → esm2020/lib/menu/models/menu.mjs} +0 -0
  476. package/{esm2015/lib/menu/public_api.js → esm2020/lib/menu/public_api.mjs} +0 -0
  477. package/esm2020/lib/menu/services/menu-items.service.mjs +19 -0
  478. package/esm2020/lib/menu/services/menu.resolve.mjs +55 -0
  479. package/esm2020/lib/menu/services/menu.service.mjs +19 -0
  480. package/{esm2015/lib/search/public_api.js → esm2020/lib/search/public_api.mjs} +0 -0
  481. package/esm2020/lib/search/search.module.mjs +47 -0
  482. package/esm2020/lib/search/vd-search-box/vd-search-box.component.mjs +143 -0
  483. package/esm2020/lib/search/vd-search-input/vd-search-input.component.mjs +148 -0
  484. package/esm2020/lib/select/public_api.mjs +3 -0
  485. package/esm2020/lib/select/select.component.mjs +407 -0
  486. package/esm2020/lib/select/select.module.mjs +45 -0
  487. package/esm2020/lib/table/components/dynamic-table/dynamic-table.component.mjs +301 -0
  488. package/esm2020/lib/table/components/filter-clear.component.mjs +44 -0
  489. package/esm2020/lib/table/components/filter-date.component.mjs +151 -0
  490. package/esm2020/lib/table/components/filter-input.component.mjs +198 -0
  491. package/esm2020/lib/table/components/filter-select.component.mjs +334 -0
  492. package/esm2020/lib/table/directives/data-source-filter.directive.mjs +45 -0
  493. package/{esm2015/lib/table/enums/table-column-type.js → esm2020/lib/table/enums/table-column-type.mjs} +0 -0
  494. package/esm2020/lib/table/functions/decorators.mjs +135 -0
  495. package/esm2020/lib/table/functions/functions.mjs +15 -0
  496. package/{esm2015/lib/table/models/pagination.js → esm2020/lib/table/models/pagination.mjs} +0 -0
  497. package/{esm2015/lib/table/models/table-column.js → esm2020/lib/table/models/table-column.mjs} +0 -0
  498. package/{esm2015/lib/table/models/table-definition.js → esm2020/lib/table/models/table-definition.mjs} +0 -0
  499. package/{esm2015/lib/table/models/table-menu-item.js → esm2020/lib/table/models/table-menu-item.mjs} +0 -0
  500. package/esm2020/lib/table/paginator-intl.mjs +44 -0
  501. package/esm2020/lib/table/public_api.mjs +3 -0
  502. package/esm2020/lib/table/table.data-source.mjs +210 -0
  503. package/esm2020/lib/table/table.module.mjs +140 -0
  504. package/esm2020/lib/table/table.static-data-source.mjs +133 -0
  505. package/esm2020/messaia-cdk.mjs +5 -0
  506. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  507. package/fesm2015/messaia-cdk.mjs +15946 -0
  508. package/fesm2015/messaia-cdk.mjs.map +1 -0
  509. package/fesm2020/messaia-cdk.mjs +15868 -0
  510. package/fesm2020/messaia-cdk.mjs.map +1 -0
  511. package/lib/base/base.module.d.ts +7 -0
  512. package/lib/base/components/base.component.d.ts +8 -0
  513. package/lib/base/components/generic-form.component.d.ts +3 -0
  514. package/lib/base/components/generic-list.component.d.ts +3 -0
  515. package/lib/base/interceptors/base.interceptor.d.ts +3 -0
  516. package/lib/base/interceptors/caching-interceptor.d.ts +3 -0
  517. package/lib/base/interceptors/loading.interceptor.d.ts +3 -0
  518. package/lib/base/services/file.service.d.ts +3 -0
  519. package/lib/base/services/loading-screen.service.d.ts +3 -0
  520. package/lib/base/services/print.service.d.ts +3 -0
  521. package/lib/chips/chips.module.d.ts +13 -2
  522. package/lib/chips/components/chips.component.d.ts +7 -0
  523. package/lib/chips/public_api.d.ts +1 -0
  524. package/lib/common/common.module.d.ts +20 -0
  525. package/lib/common/directives/disable-control.directive.d.ts +3 -0
  526. package/lib/common/functions/utils.d.ts +3 -0
  527. package/lib/common/helpers/app-storage.d.ts +3 -0
  528. package/lib/common/helpers/dynamic-builder.d.ts +3 -0
  529. package/lib/common/models/app-setting.d.ts +3 -0
  530. package/lib/common/pipes/data-source.pipe.d.ts +3 -0
  531. package/lib/common/pipes/enum.pipe.d.ts +3 -0
  532. package/lib/common/pipes/file-size.pipe.d.ts +3 -0
  533. package/lib/common/pipes/filter.pipe.d.ts +3 -0
  534. package/lib/common/pipes/first-letter.d.ts +3 -0
  535. package/lib/common/pipes/keys.d.ts +3 -0
  536. package/lib/common/pipes/month-name.pipe.d.ts +3 -0
  537. package/lib/common/pipes/only-number.d.ts +3 -0
  538. package/lib/common/pipes/order.pipe.d.ts +4 -1
  539. package/lib/common/pipes/placeholder.pipe.d.ts +3 -0
  540. package/lib/common/pipes/safe-html.pipe.d.ts +3 -0
  541. package/lib/common/pipes/time.pipe.d.ts +3 -0
  542. package/lib/common/pipes/titlecase.pipe.d.ts +3 -0
  543. package/lib/common/pipes/truncate.pipe.d.ts +3 -0
  544. package/lib/common/pipes/values.d.ts +3 -0
  545. package/lib/common/public_api.d.ts +16 -0
  546. package/lib/common/services/base.service.d.ts +3 -0
  547. package/lib/common/services/enum.service.d.ts +3 -0
  548. package/lib/common/styles/platform.scss +1 -1
  549. package/lib/common/theming/_all-theme.scss +1 -1
  550. package/lib/dialogs/alert-dialog/alert-dialog.component.d.ts +3 -0
  551. package/lib/dialogs/confirm-dialog/confirm-dialog.component.d.ts +3 -0
  552. package/lib/dialogs/dialog.component.d.ts +9 -0
  553. package/lib/dialogs/dialogs.module.d.ts +13 -0
  554. package/lib/dialogs/prompt-dialog/prompt-dialog.component.d.ts +3 -0
  555. package/lib/dialogs/services/dialog.service.d.ts +3 -0
  556. package/lib/file/file-input.component.d.ts +3 -0
  557. package/lib/file/file.module.d.ts +10 -0
  558. package/lib/form-validators/directives/base-directive.d.ts +3 -0
  559. package/lib/form-validators/directives/control-host.directive.d.ts +3 -0
  560. package/lib/form-validators/directives/html-control-template.directive.d.ts +3 -0
  561. package/lib/form-validators/directives/rx-form.directive.d.ts +3 -0
  562. package/lib/form-validators/directives/template-validations/async-validation.directive.d.ts +3 -0
  563. package/lib/form-validators/directives/template-validations/base-validator.directive.d.ts +3 -0
  564. package/lib/form-validators/directives/template-validations/control-expression-process.d.ts +3 -0
  565. package/lib/form-validators/directives/template-validations/file-control.directive.d.ts +3 -0
  566. package/lib/form-validators/directives/template-validations/image-file-control.directive.d.ts +3 -0
  567. package/lib/form-validators/directives/template-validations/rxformcontrol.directive.d.ts +3 -0
  568. package/lib/form-validators/domain/element-processor/decimal.provider.d.ts +3 -0
  569. package/lib/form-validators/services/reactive-form.module.d.ts +16 -0
  570. package/lib/form-validators/services/rx-form-builder.d.ts +3 -0
  571. package/lib/form-validators/services/typed-form-builder.d.ts +3 -0
  572. package/lib/forms/components/generic-form/generic-form.component.d.ts +11 -0
  573. package/lib/forms/directives/mat-form-field-readonly.directive.d.ts +3 -0
  574. package/lib/forms/forms.module.d.ts +23 -0
  575. package/lib/forms/helpers/abstract-mat-form-field.d.ts +4 -1
  576. package/lib/forms/helpers/value-accessor-base.d.ts +3 -0
  577. package/lib/forms/public_api.d.ts +2 -0
  578. package/lib/forms/validators/equal-validator.directive.d.ts +3 -0
  579. package/lib/forms/validators/native-element-injector.directive.d.ts +3 -0
  580. package/lib/forms/validators/unique-validator-directive.d.ts +3 -0
  581. package/lib/http/http.module.d.ts +5 -0
  582. package/lib/layout/layout-card-over/layout-card-over.component.d.ts +3 -0
  583. package/lib/layout/layout-footer/layout-footer.component.d.ts +3 -0
  584. package/lib/layout/layout-manage-list/layout-manage-list.component.d.ts +3 -0
  585. package/lib/layout/layout-manage-list/layout-manage-list.directives.d.ts +7 -0
  586. package/lib/layout/layout-nav/layout-nav.component.d.ts +3 -0
  587. package/lib/layout/layout-nav-list/layout-nav-list.component.d.ts +3 -0
  588. package/lib/layout/layout-nav-list/layout-nav-list.directives.d.ts +7 -0
  589. package/lib/layout/layout-toggle.class.d.ts +3 -0
  590. package/lib/layout/layout.component.d.ts +3 -0
  591. package/lib/layout/layout.directives.d.ts +7 -0
  592. package/lib/layout/layout.module.d.ts +22 -0
  593. package/lib/layout/navigation-drawer/navigation-drawer.component.d.ts +7 -0
  594. package/lib/media/directives/media-toggle.directive.d.ts +3 -0
  595. package/lib/media/media.module.d.ts +6 -0
  596. package/lib/media/services/media.service.d.ts +3 -0
  597. package/lib/menu/components/menu.component.d.ts +3 -0
  598. package/lib/menu/menu.module.d.ts +9 -0
  599. package/lib/menu/services/menu-items.service.d.ts +3 -0
  600. package/lib/menu/services/menu.resolve.d.ts +5 -0
  601. package/lib/menu/services/menu.service.d.ts +3 -0
  602. package/lib/search/search.module.d.ts +11 -0
  603. package/lib/search/vd-search-box/vd-search-box.component.d.ts +3 -0
  604. package/lib/search/vd-search-input/vd-search-input.component.d.ts +3 -0
  605. package/lib/select/public_api.d.ts +1 -0
  606. package/lib/select/select.component.d.ts +5 -0
  607. package/lib/select/select.module.d.ts +10 -0
  608. package/lib/table/components/dynamic-table/dynamic-table.component.d.ts +3 -0
  609. package/lib/table/components/filter-clear.component.d.ts +3 -0
  610. package/lib/table/components/filter-date.component.d.ts +3 -0
  611. package/lib/table/components/filter-input.component.d.ts +3 -0
  612. package/lib/table/components/filter-select.component.d.ts +5 -0
  613. package/lib/table/directives/data-source-filter.directive.d.ts +3 -0
  614. package/lib/table/paginator-intl.d.ts +3 -0
  615. package/lib/table/public_api.d.ts +1 -0
  616. package/lib/table/table.module.d.ts +28 -0
  617. package/messaia-cdk.d.ts +1 -25
  618. package/package.json +20 -8
  619. package/src/lib/common/styles/font/README.md +9 -0
  620. package/src/lib/layout/README.md +119 -0
  621. package/src/lib/layout/layout-card-over/README.md +36 -0
  622. package/src/lib/layout/layout-manage-list/README.md +76 -0
  623. package/src/lib/layout/layout-nav/README.md +40 -0
  624. package/src/lib/layout/layout-nav-list/README.md +85 -0
  625. package/bundles/messaia-cdk.umd.js +0 -17755
  626. package/bundles/messaia-cdk.umd.js.map +0 -1
  627. package/esm2015/lib/base/base.module.js +0 -47
  628. package/esm2015/lib/base/components/base.component.js +0 -441
  629. package/esm2015/lib/base/components/generic-form.component.js +0 -492
  630. package/esm2015/lib/base/components/generic-list.component.js +0 -469
  631. package/esm2015/lib/base/interceptors/base.interceptor.js +0 -148
  632. package/esm2015/lib/base/interceptors/caching-interceptor.js +0 -75
  633. package/esm2015/lib/base/interceptors/loading.interceptor.js +0 -70
  634. package/esm2015/lib/base/services/file.service.js +0 -25
  635. package/esm2015/lib/base/services/loading-screen.service.js +0 -46
  636. package/esm2015/lib/base/services/print.service.js +0 -49
  637. package/esm2015/lib/chips/chips.module.js +0 -44
  638. package/esm2015/lib/chips/components/chips.component.js +0 -420
  639. package/esm2015/lib/chips/public_api.js +0 -2
  640. package/esm2015/lib/common/behaviors/control-value-accesor.mixin.js +0 -41
  641. package/esm2015/lib/common/common.module.js +0 -86
  642. package/esm2015/lib/common/directives/disable-control.directive.js +0 -43
  643. package/esm2015/lib/common/functions/utils.js +0 -160
  644. package/esm2015/lib/common/helpers/app-storage.js +0 -51
  645. package/esm2015/lib/common/helpers/dynamic-builder.js +0 -58
  646. package/esm2015/lib/common/models/app-setting.js +0 -8
  647. package/esm2015/lib/common/pipes/data-source.pipe.js +0 -12
  648. package/esm2015/lib/common/pipes/enum.pipe.js +0 -20
  649. package/esm2015/lib/common/pipes/file-size.pipe.js +0 -34
  650. package/esm2015/lib/common/pipes/filter.pipe.js +0 -20
  651. package/esm2015/lib/common/pipes/first-letter.js +0 -21
  652. package/esm2015/lib/common/pipes/keys.js +0 -15
  653. package/esm2015/lib/common/pipes/month-name.pipe.js +0 -24
  654. package/esm2015/lib/common/pipes/only-number.js +0 -60
  655. package/esm2015/lib/common/pipes/order.pipe.js +0 -180
  656. package/esm2015/lib/common/pipes/placeholder.pipe.js +0 -23
  657. package/esm2015/lib/common/pipes/safe-html.pipe.js +0 -37
  658. package/esm2015/lib/common/pipes/time.pipe.js +0 -17
  659. package/esm2015/lib/common/pipes/titlecase.pipe.js +0 -11
  660. package/esm2015/lib/common/pipes/truncate.pipe.js +0 -12
  661. package/esm2015/lib/common/pipes/values.js +0 -11
  662. package/esm2015/lib/common/public_api.js +0 -2
  663. package/esm2015/lib/common/services/base.service.js +0 -26
  664. package/esm2015/lib/common/services/enum.service.js +0 -42
  665. package/esm2015/lib/dialogs/alert-dialog/alert-dialog.component.js +0 -38
  666. package/esm2015/lib/dialogs/confirm-dialog/confirm-dialog.component.js +0 -44
  667. package/esm2015/lib/dialogs/dialog.component.js +0 -47
  668. package/esm2015/lib/dialogs/dialogs.module.js +0 -54
  669. package/esm2015/lib/dialogs/prompt-dialog/prompt-dialog.component.js +0 -44
  670. package/esm2015/lib/dialogs/services/dialog.service.js +0 -145
  671. package/esm2015/lib/file/file-input.component.js +0 -301
  672. package/esm2015/lib/file/file.module.js +0 -25
  673. package/esm2015/lib/form-validators/abstract/typed-form.js +0 -3
  674. package/esm2015/lib/form-validators/algorithm/luhn-algorithm.js +0 -15
  675. package/esm2015/lib/form-validators/const/app-validators.const.js +0 -68
  676. package/esm2015/lib/form-validators/const/app.const.js +0 -17
  677. package/esm2015/lib/form-validators/const/config-names.const.js +0 -9
  678. package/esm2015/lib/form-validators/const/config-required-fields.const.js +0 -11
  679. package/esm2015/lib/form-validators/const/decorators.const.js +0 -23
  680. package/esm2015/lib/form-validators/const/events.const.js +0 -14
  681. package/esm2015/lib/form-validators/const/html-elements.const.js +0 -7
  682. package/esm2015/lib/form-validators/const/iban-country-wise-regex.const.js +0 -80
  683. package/esm2015/lib/form-validators/const/index.js +0 -6
  684. package/esm2015/lib/form-validators/const/operators.const.js +0 -7
  685. package/esm2015/lib/form-validators/const/validation-alphabet-locale.const.js +0 -9
  686. package/esm2015/lib/form-validators/const/validator.const.js +0 -8
  687. package/esm2015/lib/form-validators/core/defaultContainer.js +0 -243
  688. package/esm2015/lib/form-validators/core/validator.interface.js +0 -2
  689. package/esm2015/lib/form-validators/core/validator.static.js +0 -74
  690. package/esm2015/lib/form-validators/decorators/allOf.decorator.js +0 -10
  691. package/esm2015/lib/form-validators/decorators/alpha.decorator.js +0 -10
  692. package/esm2015/lib/form-validators/decorators/alphaNumeric.decorator.js +0 -10
  693. package/esm2015/lib/form-validators/decorators/and.decorator.js +0 -6
  694. package/esm2015/lib/form-validators/decorators/ascii.decorator.js +0 -6
  695. package/esm2015/lib/form-validators/decorators/async.decorator.js +0 -6
  696. package/esm2015/lib/form-validators/decorators/base-decorator.function.js +0 -7
  697. package/esm2015/lib/form-validators/decorators/choice.decorator.js +0 -10
  698. package/esm2015/lib/form-validators/decorators/compare.decorator.js +0 -6
  699. package/esm2015/lib/form-validators/decorators/compose.decorator.js +0 -6
  700. package/esm2015/lib/form-validators/decorators/contains.decorator.js +0 -10
  701. package/esm2015/lib/form-validators/decorators/credit-card.decorator.js +0 -10
  702. package/esm2015/lib/form-validators/decorators/cusip.decorator.js +0 -6
  703. package/esm2015/lib/form-validators/decorators/custom.decorator.js +0 -10
  704. package/esm2015/lib/form-validators/decorators/dataUri.decorator.js +0 -6
  705. package/esm2015/lib/form-validators/decorators/date.decorator.js +0 -10
  706. package/esm2015/lib/form-validators/decorators/different.decorator.js +0 -6
  707. package/esm2015/lib/form-validators/decorators/digit.decorator.js +0 -6
  708. package/esm2015/lib/form-validators/decorators/email.decorator.js +0 -6
  709. package/esm2015/lib/form-validators/decorators/endsWith.decorator.js +0 -10
  710. package/esm2015/lib/form-validators/decorators/even.decorator.js +0 -6
  711. package/esm2015/lib/form-validators/decorators/extension.decorator.js +0 -10
  712. package/esm2015/lib/form-validators/decorators/factor.decorator.js +0 -10
  713. package/esm2015/lib/form-validators/decorators/file.decorator.js +0 -10
  714. package/esm2015/lib/form-validators/decorators/fileSize.decorator.js +0 -10
  715. package/esm2015/lib/form-validators/decorators/greater-than-equal-to.decorator.js +0 -10
  716. package/esm2015/lib/form-validators/decorators/greater-than.decorator.js +0 -10
  717. package/esm2015/lib/form-validators/decorators/grid.decorator.js +0 -6
  718. package/esm2015/lib/form-validators/decorators/hexColor.decorator.js +0 -6
  719. package/esm2015/lib/form-validators/decorators/image.decorator.js +0 -10
  720. package/esm2015/lib/form-validators/decorators/index.js +0 -91
  721. package/esm2015/lib/form-validators/decorators/json.decorator.js +0 -6
  722. package/esm2015/lib/form-validators/decorators/latLong.decorator.js +0 -6
  723. package/esm2015/lib/form-validators/decorators/latitude.decorator.js +0 -6
  724. package/esm2015/lib/form-validators/decorators/leapYear.decorator.js +0 -6
  725. package/esm2015/lib/form-validators/decorators/less-than-equal-to.decorator.js +0 -10
  726. package/esm2015/lib/form-validators/decorators/less-than.decorator.js +0 -10
  727. package/esm2015/lib/form-validators/decorators/longitude.decorator.js +0 -6
  728. package/esm2015/lib/form-validators/decorators/lowercase.decorator.js +0 -6
  729. package/esm2015/lib/form-validators/decorators/mac.decorator.js +0 -6
  730. package/esm2015/lib/form-validators/decorators/mask.decorator.js +0 -6
  731. package/esm2015/lib/form-validators/decorators/maxDate.decorator.js +0 -10
  732. package/esm2015/lib/form-validators/decorators/maxLength.decorator.js +0 -10
  733. package/esm2015/lib/form-validators/decorators/maxNumber.decorator.js +0 -10
  734. package/esm2015/lib/form-validators/decorators/maxTime.decorator.js +0 -10
  735. package/esm2015/lib/form-validators/decorators/minDate.decorator.js +0 -10
  736. package/esm2015/lib/form-validators/decorators/minLength.decorator.js +0 -10
  737. package/esm2015/lib/form-validators/decorators/minNumber.decorator.js +0 -10
  738. package/esm2015/lib/form-validators/decorators/minTime.decorator.js +0 -10
  739. package/esm2015/lib/form-validators/decorators/model.decorator.js +0 -7
  740. package/esm2015/lib/form-validators/decorators/non-validation-decorators/disable.decorator.js +0 -8
  741. package/esm2015/lib/form-validators/decorators/non-validation-decorators/elementClass.decorator.js +0 -8
  742. package/esm2015/lib/form-validators/decorators/non-validation-decorators/error.decorator.js +0 -8
  743. package/esm2015/lib/form-validators/decorators/noneOf.decorator.js +0 -10
  744. package/esm2015/lib/form-validators/decorators/not.decorator.js +0 -6
  745. package/esm2015/lib/form-validators/decorators/notEmpty.decorator.js +0 -6
  746. package/esm2015/lib/form-validators/decorators/numeric.decorator.js +0 -10
  747. package/esm2015/lib/form-validators/decorators/odd.decorator.js +0 -6
  748. package/esm2015/lib/form-validators/decorators/oneOf.decorator.js +0 -10
  749. package/esm2015/lib/form-validators/decorators/or.decorator.js +0 -6
  750. package/esm2015/lib/form-validators/decorators/password.decorator.js +0 -10
  751. package/esm2015/lib/form-validators/decorators/pattern.decorator.js +0 -10
  752. package/esm2015/lib/form-validators/decorators/port.decorator.js +0 -6
  753. package/esm2015/lib/form-validators/decorators/primeNumber.decorator.js +0 -6
  754. package/esm2015/lib/form-validators/decorators/prop-array.decorator.js +0 -18
  755. package/esm2015/lib/form-validators/decorators/prop-object.decorator.js +0 -8
  756. package/esm2015/lib/form-validators/decorators/prop.decorator.js +0 -16
  757. package/esm2015/lib/form-validators/decorators/range.decorator.js +0 -10
  758. package/esm2015/lib/form-validators/decorators/required.decorator.js +0 -6
  759. package/esm2015/lib/form-validators/decorators/requiredTrue.decorator.js +0 -6
  760. package/esm2015/lib/form-validators/decorators/rule.decorator.js +0 -6
  761. package/esm2015/lib/form-validators/decorators/sanitize/blacklist.decorator.js +0 -8
  762. package/esm2015/lib/form-validators/decorators/sanitize/escape.decorator.js +0 -8
  763. package/esm2015/lib/form-validators/decorators/sanitize/ltrim.decorator.js +0 -8
  764. package/esm2015/lib/form-validators/decorators/sanitize/prefix.decorator.js +0 -8
  765. package/esm2015/lib/form-validators/decorators/sanitize/rtrim.decorator.js +0 -8
  766. package/esm2015/lib/form-validators/decorators/sanitize/sanitize.decorator.js +0 -8
  767. package/esm2015/lib/form-validators/decorators/sanitize/stripLow.decorator.js +0 -8
  768. package/esm2015/lib/form-validators/decorators/sanitize/suffix.decorator.js +0 -8
  769. package/esm2015/lib/form-validators/decorators/sanitize/toBoolean.decorator.js +0 -8
  770. package/esm2015/lib/form-validators/decorators/sanitize/toDate.decorator.js +0 -8
  771. package/esm2015/lib/form-validators/decorators/sanitize/toDouble.decorator.js +0 -8
  772. package/esm2015/lib/form-validators/decorators/sanitize/toFloat.decorator.js +0 -8
  773. package/esm2015/lib/form-validators/decorators/sanitize/toInt.decorator.js +0 -8
  774. package/esm2015/lib/form-validators/decorators/sanitize/toString.decorator.js +0 -8
  775. package/esm2015/lib/form-validators/decorators/sanitize/trim.decorator.js +0 -8
  776. package/esm2015/lib/form-validators/decorators/sanitize/whitelist.decorator.js +0 -8
  777. package/esm2015/lib/form-validators/decorators/startsWith.decorator.js +0 -10
  778. package/esm2015/lib/form-validators/decorators/time.decorator.js +0 -10
  779. package/esm2015/lib/form-validators/decorators/unique.decorator.js +0 -6
  780. package/esm2015/lib/form-validators/decorators/uppercase.decorator.js +0 -6
  781. package/esm2015/lib/form-validators/decorators/url.decorator.js +0 -10
  782. package/esm2015/lib/form-validators/directives/base-directive.js +0 -43
  783. package/esm2015/lib/form-validators/directives/control-host.directive.js +0 -42
  784. package/esm2015/lib/form-validators/directives/html-control-template.directive.js +0 -28
  785. package/esm2015/lib/form-validators/directives/rx-form.directive.js +0 -131
  786. package/esm2015/lib/form-validators/directives/template-validations/async-validation.directive.js +0 -26
  787. package/esm2015/lib/form-validators/directives/template-validations/base-validator.directive.js +0 -42
  788. package/esm2015/lib/form-validators/directives/template-validations/control-expression-process.js +0 -25
  789. package/esm2015/lib/form-validators/directives/template-validations/file-control.directive.js +0 -93
  790. package/esm2015/lib/form-validators/directives/template-validations/image-file-control.directive.js +0 -55
  791. package/esm2015/lib/form-validators/directives/template-validations/rxformcontrol.directive.js +0 -237
  792. package/esm2015/lib/form-validators/domain/disable-provider.js +0 -93
  793. package/esm2015/lib/form-validators/domain/element-processor/decimal.provider.js +0 -64
  794. package/esm2015/lib/form-validators/domain/element-processor/mask.provider.js +0 -430
  795. package/esm2015/lib/form-validators/domain/form-data.js +0 -47
  796. package/esm2015/lib/form-validators/enums/error-message-binding-strategy.js +0 -11
  797. package/esm2015/lib/form-validators/enums/index.js +0 -5
  798. package/esm2015/lib/form-validators/enums/ip-version.js +0 -7
  799. package/esm2015/lib/form-validators/enums/numeric-value-type.js +0 -7
  800. package/esm2015/lib/form-validators/enums/reset-type.js +0 -10
  801. package/esm2015/lib/form-validators/enums/url-validation-type.js +0 -7
  802. package/esm2015/lib/form-validators/models/config/alpha-config.js +0 -2
  803. package/esm2015/lib/form-validators/models/config/array-config.js +0 -2
  804. package/esm2015/lib/form-validators/models/config/base-config-fn.js +0 -2
  805. package/esm2015/lib/form-validators/models/config/base-config.js +0 -2
  806. package/esm2015/lib/form-validators/models/config/base-date-config.js +0 -2
  807. package/esm2015/lib/form-validators/models/config/choice-config.js +0 -2
  808. package/esm2015/lib/form-validators/models/config/compare-config.js +0 -2
  809. package/esm2015/lib/form-validators/models/config/component-config.js +0 -2
  810. package/esm2015/lib/form-validators/models/config/compose-config.js +0 -2
  811. package/esm2015/lib/form-validators/models/config/contains-config.js +0 -2
  812. package/esm2015/lib/form-validators/models/config/credit-card-config.js +0 -2
  813. package/esm2015/lib/form-validators/models/config/custom-config.js +0 -2
  814. package/esm2015/lib/form-validators/models/config/date-config.js +0 -2
  815. package/esm2015/lib/form-validators/models/config/default-config.js +0 -2
  816. package/esm2015/lib/form-validators/models/config/digit-config.js +0 -2
  817. package/esm2015/lib/form-validators/models/config/disable-config.js +0 -2
  818. package/esm2015/lib/form-validators/models/config/element-class-config.js +0 -2
  819. package/esm2015/lib/form-validators/models/config/email-config.js +0 -2
  820. package/esm2015/lib/form-validators/models/config/error-config.js +0 -2
  821. package/esm2015/lib/form-validators/models/config/extension-config.js +0 -2
  822. package/esm2015/lib/form-validators/models/config/factor-config.js +0 -2
  823. package/esm2015/lib/form-validators/models/config/field-config.js +0 -2
  824. package/esm2015/lib/form-validators/models/config/file-config.js +0 -2
  825. package/esm2015/lib/form-validators/models/config/hex-color-config.js +0 -2
  826. package/esm2015/lib/form-validators/models/config/iban-config.js +0 -2
  827. package/esm2015/lib/form-validators/models/config/image-config.js +0 -2
  828. package/esm2015/lib/form-validators/models/config/index.js +0 -35
  829. package/esm2015/lib/form-validators/models/config/ip-config.js +0 -2
  830. package/esm2015/lib/form-validators/models/config/logical-operator-config.js +0 -2
  831. package/esm2015/lib/form-validators/models/config/mask-config.js +0 -2
  832. package/esm2015/lib/form-validators/models/config/max-date-config.js +0 -2
  833. package/esm2015/lib/form-validators/models/config/message-config.js +0 -2
  834. package/esm2015/lib/form-validators/models/config/min-date-config.js +0 -2
  835. package/esm2015/lib/form-validators/models/config/model-config.js +0 -2
  836. package/esm2015/lib/form-validators/models/config/number-config.js +0 -2
  837. package/esm2015/lib/form-validators/models/config/numeric-config.js +0 -2
  838. package/esm2015/lib/form-validators/models/config/password-config.js +0 -2
  839. package/esm2015/lib/form-validators/models/config/pattern-config.js +0 -2
  840. package/esm2015/lib/form-validators/models/config/prop-config.js +0 -2
  841. package/esm2015/lib/form-validators/models/config/props-config.js +0 -2
  842. package/esm2015/lib/form-validators/models/config/range-config.js +0 -2
  843. package/esm2015/lib/form-validators/models/config/relational-operator-config.js +0 -2
  844. package/esm2015/lib/form-validators/models/config/required-config.js +0 -2
  845. package/esm2015/lib/form-validators/models/config/rule-config.js +0 -2
  846. package/esm2015/lib/form-validators/models/config/sanitize-config.js +0 -2
  847. package/esm2015/lib/form-validators/models/config/size-config.js +0 -2
  848. package/esm2015/lib/form-validators/models/config/string-comparison-config.js +0 -2
  849. package/esm2015/lib/form-validators/models/config/time-config.js +0 -2
  850. package/esm2015/lib/form-validators/models/config/todate-config.js +0 -2
  851. package/esm2015/lib/form-validators/models/config/unique-config.js +0 -2
  852. package/esm2015/lib/form-validators/models/config/url-config.js +0 -2
  853. package/esm2015/lib/form-validators/models/form-builder-configuration.js +0 -8
  854. package/esm2015/lib/form-validators/models/index.js +0 -3
  855. package/esm2015/lib/form-validators/models/interface/array-prop-instance-config.interface.js +0 -2
  856. package/esm2015/lib/form-validators/models/interface/auto-instance-config.interface.js +0 -2
  857. package/esm2015/lib/form-validators/models/interface/form-data-config.js +0 -2
  858. package/esm2015/lib/form-validators/models/interface/i-abstract-control.js +0 -4
  859. package/esm2015/lib/form-validators/models/interface/i-form-group.js +0 -2
  860. package/esm2015/lib/form-validators/models/interface/instance-argument.interface.js +0 -2
  861. package/esm2015/lib/form-validators/models/interface/object-prop-instance-config.interface.js +0 -2
  862. package/esm2015/lib/form-validators/models/interface/options.js +0 -2
  863. package/esm2015/lib/form-validators/models/password-validation.model.js +0 -2
  864. package/esm2015/lib/form-validators/models/prop-validation-config.js +0 -2
  865. package/esm2015/lib/form-validators/public_api.js +0 -25
  866. package/esm2015/lib/form-validators/reactive-form-validators/allOf.validator.js +0 -22
  867. package/esm2015/lib/form-validators/reactive-form-validators/alpha.validator.js +0 -9
  868. package/esm2015/lib/form-validators/reactive-form-validators/alphaNumeric.validator.js +0 -9
  869. package/esm2015/lib/form-validators/reactive-form-validators/and.validator.js +0 -23
  870. package/esm2015/lib/form-validators/reactive-form-validators/ascii.validator.js +0 -9
  871. package/esm2015/lib/form-validators/reactive-form-validators/async/base.async.validator.js +0 -24
  872. package/esm2015/lib/form-validators/reactive-form-validators/choice.validator.js +0 -19
  873. package/esm2015/lib/form-validators/reactive-form-validators/compare.validator.js +0 -20
  874. package/esm2015/lib/form-validators/reactive-form-validators/compose.validator.js +0 -23
  875. package/esm2015/lib/form-validators/reactive-form-validators/conditional-change.validator.js +0 -63
  876. package/esm2015/lib/form-validators/reactive-form-validators/contains.validator.js +0 -15
  877. package/esm2015/lib/form-validators/reactive-form-validators/credit-card.validator.js +0 -48
  878. package/esm2015/lib/form-validators/reactive-form-validators/cusip.validator.js +0 -38
  879. package/esm2015/lib/form-validators/reactive-form-validators/custom.validator.js +0 -23
  880. package/esm2015/lib/form-validators/reactive-form-validators/dataUri.validator.js +0 -9
  881. package/esm2015/lib/form-validators/reactive-form-validators/date.validator.js +0 -8
  882. package/esm2015/lib/form-validators/reactive-form-validators/different.validator.js +0 -19
  883. package/esm2015/lib/form-validators/reactive-form-validators/digit.validator.js +0 -9
  884. package/esm2015/lib/form-validators/reactive-form-validators/email.validator.js +0 -9
  885. package/esm2015/lib/form-validators/reactive-form-validators/endsWith.validator.js +0 -16
  886. package/esm2015/lib/form-validators/reactive-form-validators/even.validator.js +0 -15
  887. package/esm2015/lib/form-validators/reactive-form-validators/extension.validator.js +0 -40
  888. package/esm2015/lib/form-validators/reactive-form-validators/factor.validator.js +0 -37
  889. package/esm2015/lib/form-validators/reactive-form-validators/file.validator.js +0 -26
  890. package/esm2015/lib/form-validators/reactive-form-validators/fileSize.validator.js +0 -32
  891. package/esm2015/lib/form-validators/reactive-form-validators/greater-than-equal-to.validator.js +0 -8
  892. package/esm2015/lib/form-validators/reactive-form-validators/greater-than.validator.js +0 -8
  893. package/esm2015/lib/form-validators/reactive-form-validators/grid.validator.js +0 -31
  894. package/esm2015/lib/form-validators/reactive-form-validators/hexcolor.validator.js +0 -9
  895. package/esm2015/lib/form-validators/reactive-form-validators/iban.validator.js +0 -30
  896. package/esm2015/lib/form-validators/reactive-form-validators/image.validator.js +0 -48
  897. package/esm2015/lib/form-validators/reactive-form-validators/index.js +0 -66
  898. package/esm2015/lib/form-validators/reactive-form-validators/ip.validator.js +0 -35
  899. package/esm2015/lib/form-validators/reactive-form-validators/json.validator.js +0 -26
  900. package/esm2015/lib/form-validators/reactive-form-validators/latLong.validator.js +0 -18
  901. package/esm2015/lib/form-validators/reactive-form-validators/latitude.validator.js +0 -9
  902. package/esm2015/lib/form-validators/reactive-form-validators/leapYear.validator.js +0 -16
  903. package/esm2015/lib/form-validators/reactive-form-validators/less-than-equal-to.validator.js +0 -8
  904. package/esm2015/lib/form-validators/reactive-form-validators/less-than.validator.js +0 -8
  905. package/esm2015/lib/form-validators/reactive-form-validators/longitude.validator.js +0 -9
  906. package/esm2015/lib/form-validators/reactive-form-validators/lowercase.validator.js +0 -15
  907. package/esm2015/lib/form-validators/reactive-form-validators/mac.validator.js +0 -9
  908. package/esm2015/lib/form-validators/reactive-form-validators/mask.validator.js +0 -13
  909. package/esm2015/lib/form-validators/reactive-form-validators/maxDate.validator.js +0 -8
  910. package/esm2015/lib/form-validators/reactive-form-validators/maxLength.validator.js +0 -16
  911. package/esm2015/lib/form-validators/reactive-form-validators/maxNumber.validator.js +0 -16
  912. package/esm2015/lib/form-validators/reactive-form-validators/maxTime.validator.js +0 -8
  913. package/esm2015/lib/form-validators/reactive-form-validators/minDate.validator.js +0 -8
  914. package/esm2015/lib/form-validators/reactive-form-validators/minLength.validator.js +0 -16
  915. package/esm2015/lib/form-validators/reactive-form-validators/minNumber.validator.js +0 -16
  916. package/esm2015/lib/form-validators/reactive-form-validators/minTime.validator.js +0 -8
  917. package/esm2015/lib/form-validators/reactive-form-validators/noneOf.validator.js +0 -24
  918. package/esm2015/lib/form-validators/reactive-form-validators/not.validator.js +0 -23
  919. package/esm2015/lib/form-validators/reactive-form-validators/notEmpty.validator.js +0 -17
  920. package/esm2015/lib/form-validators/reactive-form-validators/numeric.validator.js +0 -20
  921. package/esm2015/lib/form-validators/reactive-form-validators/odd.validator.js +0 -16
  922. package/esm2015/lib/form-validators/reactive-form-validators/oneOf.validator.js +0 -22
  923. package/esm2015/lib/form-validators/reactive-form-validators/or.validator.js +0 -23
  924. package/esm2015/lib/form-validators/reactive-form-validators/password.validator.js +0 -33
  925. package/esm2015/lib/form-validators/reactive-form-validators/pattern.validator.js +0 -17
  926. package/esm2015/lib/form-validators/reactive-form-validators/port.validator.js +0 -18
  927. package/esm2015/lib/form-validators/reactive-form-validators/primeNumber.validator.js +0 -26
  928. package/esm2015/lib/form-validators/reactive-form-validators/range.validator.js +0 -16
  929. package/esm2015/lib/form-validators/reactive-form-validators/required.validator.js +0 -17
  930. package/esm2015/lib/form-validators/reactive-form-validators/requiredTrue.validator.js +0 -16
  931. package/esm2015/lib/form-validators/reactive-form-validators/rule.validator.js +0 -20
  932. package/esm2015/lib/form-validators/reactive-form-validators/startsWith.validator.js +0 -16
  933. package/esm2015/lib/form-validators/reactive-form-validators/time.validator.js +0 -18
  934. package/esm2015/lib/form-validators/reactive-form-validators/unique.validator.js +0 -70
  935. package/esm2015/lib/form-validators/reactive-form-validators/uppercase.validator.js +0 -15
  936. package/esm2015/lib/form-validators/reactive-form-validators/url.validator.js +0 -28
  937. package/esm2015/lib/form-validators/services/base-form-builder.js +0 -115
  938. package/esm2015/lib/form-validators/services/entity.service.js +0 -64
  939. package/esm2015/lib/form-validators/services/form-control.js +0 -349
  940. package/esm2015/lib/form-validators/services/form-group.js +0 -2
  941. package/esm2015/lib/form-validators/services/reactive-form.module.js +0 -53
  942. package/esm2015/lib/form-validators/services/rx-form-array.js +0 -100
  943. package/esm2015/lib/form-validators/services/rx-form-builder.js +0 -565
  944. package/esm2015/lib/form-validators/services/rx-form-group.js +0 -299
  945. package/esm2015/lib/form-validators/services/typed-form-builder.js +0 -29
  946. package/esm2015/lib/form-validators/util/alphabet-regex.locale.js +0 -29
  947. package/esm2015/lib/form-validators/util/app-util.js +0 -141
  948. package/esm2015/lib/form-validators/util/check-length.js +0 -10
  949. package/esm2015/lib/form-validators/util/config-provider.js +0 -35
  950. package/esm2015/lib/form-validators/util/date-checker.function.js +0 -52
  951. package/esm2015/lib/form-validators/util/date-provider.js +0 -97
  952. package/esm2015/lib/form-validators/util/form-const.js +0 -3
  953. package/esm2015/lib/form-validators/util/form-provider.js +0 -37
  954. package/esm2015/lib/form-validators/util/index.js +0 -7
  955. package/esm2015/lib/form-validators/util/instance-provider.function.js +0 -30
  956. package/esm2015/lib/form-validators/util/ip-checker.js +0 -18
  957. package/esm2015/lib/form-validators/util/linq.js +0 -147
  958. package/esm2015/lib/form-validators/util/object-maker.js +0 -38
  959. package/esm2015/lib/form-validators/util/reactive-form-config.js +0 -23
  960. package/esm2015/lib/form-validators/util/regex-rules.js +0 -37
  961. package/esm2015/lib/form-validators/util/regex-validator.js +0 -74
  962. package/esm2015/lib/form-validators/util/relational-checker.function.js +0 -85
  963. package/esm2015/lib/form-validators/util/reset-form.js +0 -56
  964. package/esm2015/lib/form-validators/util/sanitizers.js +0 -131
  965. package/esm2015/lib/form-validators/util/time-checker.function.js +0 -48
  966. package/esm2015/lib/form-validators/util/type.js +0 -2
  967. package/esm2015/lib/form-validators/util/validator-value-checker.js +0 -17
  968. package/esm2015/lib/form-validators/validators-extension/allOf-validator.extension.js +0 -11
  969. package/esm2015/lib/form-validators/validators-extension/alpha-validator.extension.js +0 -11
  970. package/esm2015/lib/form-validators/validators-extension/alphaNumeric-validator.extension.js +0 -11
  971. package/esm2015/lib/form-validators/validators-extension/and-validator.extension.js +0 -7
  972. package/esm2015/lib/form-validators/validators-extension/ascii-validator.extension.js +0 -7
  973. package/esm2015/lib/form-validators/validators-extension/base-validator.function.js +0 -33
  974. package/esm2015/lib/form-validators/validators-extension/choice-validator.extension.js +0 -11
  975. package/esm2015/lib/form-validators/validators-extension/compare-validator.extension.js +0 -7
  976. package/esm2015/lib/form-validators/validators-extension/compose-validator.extension.js +0 -7
  977. package/esm2015/lib/form-validators/validators-extension/contains-validator.extension.js +0 -11
  978. package/esm2015/lib/form-validators/validators-extension/credit-card-validator.extension.js +0 -11
  979. package/esm2015/lib/form-validators/validators-extension/cusip-validator.extension.js +0 -7
  980. package/esm2015/lib/form-validators/validators-extension/custom-validator.extension.js +0 -11
  981. package/esm2015/lib/form-validators/validators-extension/dataUri-validator.extension.js +0 -7
  982. package/esm2015/lib/form-validators/validators-extension/date-validator.extension.js +0 -11
  983. package/esm2015/lib/form-validators/validators-extension/different-validator.extension.js +0 -7
  984. package/esm2015/lib/form-validators/validators-extension/digit-validator.extension.js +0 -7
  985. package/esm2015/lib/form-validators/validators-extension/email-validator.extension.js +0 -7
  986. package/esm2015/lib/form-validators/validators-extension/endsWith-validator.extension.js +0 -11
  987. package/esm2015/lib/form-validators/validators-extension/even-validator.extension.js +0 -7
  988. package/esm2015/lib/form-validators/validators-extension/extension-validator.extension.js +0 -10
  989. package/esm2015/lib/form-validators/validators-extension/factor-validator.extension.js +0 -11
  990. package/esm2015/lib/form-validators/validators-extension/file-validator.extension.js +0 -10
  991. package/esm2015/lib/form-validators/validators-extension/fileSize-validator.extension.js +0 -10
  992. package/esm2015/lib/form-validators/validators-extension/greater-than-equal-to-validator.extension.js +0 -11
  993. package/esm2015/lib/form-validators/validators-extension/greater-than-validator.extension.js +0 -11
  994. package/esm2015/lib/form-validators/validators-extension/grid-validator.extension.js +0 -7
  995. package/esm2015/lib/form-validators/validators-extension/hexcolor-validator.extension.js +0 -7
  996. package/esm2015/lib/form-validators/validators-extension/iban-validator.extension.js +0 -11
  997. package/esm2015/lib/form-validators/validators-extension/image-validator.extension.js +0 -10
  998. package/esm2015/lib/form-validators/validators-extension/index.js +0 -68
  999. package/esm2015/lib/form-validators/validators-extension/ip-validator.extension.js +0 -11
  1000. package/esm2015/lib/form-validators/validators-extension/json-validator.extension.js +0 -7
  1001. package/esm2015/lib/form-validators/validators-extension/latLong-validator.extension.js +0 -7
  1002. package/esm2015/lib/form-validators/validators-extension/latitude-validator.extension.js +0 -7
  1003. package/esm2015/lib/form-validators/validators-extension/leapYear-validator.extension.js +0 -7
  1004. package/esm2015/lib/form-validators/validators-extension/less-than-equal-to-validator.extension.js +0 -11
  1005. package/esm2015/lib/form-validators/validators-extension/less-than-validator.extension.js +0 -11
  1006. package/esm2015/lib/form-validators/validators-extension/longitude-validator.extension.js +0 -7
  1007. package/esm2015/lib/form-validators/validators-extension/lowercase-validator.extension.js +0 -7
  1008. package/esm2015/lib/form-validators/validators-extension/mac-validator.extension.js +0 -7
  1009. package/esm2015/lib/form-validators/validators-extension/mask-validator.extension.js +0 -7
  1010. package/esm2015/lib/form-validators/validators-extension/maxDate-validator.extension.js +0 -11
  1011. package/esm2015/lib/form-validators/validators-extension/maxLength-validator.extension.js +0 -11
  1012. package/esm2015/lib/form-validators/validators-extension/maxNumber-validator.extension.js +0 -11
  1013. package/esm2015/lib/form-validators/validators-extension/maxTime-validator.extension.js +0 -11
  1014. package/esm2015/lib/form-validators/validators-extension/minDate-validator.extension.js +0 -11
  1015. package/esm2015/lib/form-validators/validators-extension/minLength-validator.extension.js +0 -11
  1016. package/esm2015/lib/form-validators/validators-extension/minNumber-validator.extension.js +0 -11
  1017. package/esm2015/lib/form-validators/validators-extension/minTime-validator.extension.js +0 -11
  1018. package/esm2015/lib/form-validators/validators-extension/noneOf-validator.extension.js +0 -11
  1019. package/esm2015/lib/form-validators/validators-extension/not-validator.extension.js +0 -7
  1020. package/esm2015/lib/form-validators/validators-extension/notEmpty-validator.extension.js +0 -7
  1021. package/esm2015/lib/form-validators/validators-extension/numeric-validator.extension.js +0 -11
  1022. package/esm2015/lib/form-validators/validators-extension/odd-validator.extension.js +0 -7
  1023. package/esm2015/lib/form-validators/validators-extension/oneOf-validator.extension.js +0 -11
  1024. package/esm2015/lib/form-validators/validators-extension/or-validator.extension.js +0 -7
  1025. package/esm2015/lib/form-validators/validators-extension/password-validator.extension.js +0 -11
  1026. package/esm2015/lib/form-validators/validators-extension/pattern-validator.extension.js +0 -11
  1027. package/esm2015/lib/form-validators/validators-extension/port-validator.extension.js +0 -7
  1028. package/esm2015/lib/form-validators/validators-extension/primeNumber-validator.extension.js +0 -7
  1029. package/esm2015/lib/form-validators/validators-extension/range-validator.extension.js +0 -11
  1030. package/esm2015/lib/form-validators/validators-extension/required-validator.extension.js +0 -7
  1031. package/esm2015/lib/form-validators/validators-extension/requiredTrue-validator.extension.js +0 -7
  1032. package/esm2015/lib/form-validators/validators-extension/rxweb-validators.js +0 -108
  1033. package/esm2015/lib/form-validators/validators-extension/startsWith-validator.extension.js +0 -11
  1034. package/esm2015/lib/form-validators/validators-extension/time-validator.extension.js +0 -11
  1035. package/esm2015/lib/form-validators/validators-extension/unique-validator.extension.js +0 -7
  1036. package/esm2015/lib/form-validators/validators-extension/uppercase-validator.extension.js +0 -7
  1037. package/esm2015/lib/form-validators/validators-extension/url-validator.extension.js +0 -11
  1038. package/esm2015/lib/form-validators/validators-function/alpha-validation.function.js +0 -37
  1039. package/esm2015/lib/form-validators/validators-function/regex-validation.function.js +0 -16
  1040. package/esm2015/lib/forms/components/generic-form/generic-form.component.js +0 -149
  1041. package/esm2015/lib/forms/directives/mat-form-field-readonly.directive.js +0 -40
  1042. package/esm2015/lib/forms/forms.module.js +0 -70
  1043. package/esm2015/lib/forms/functions/decorators.js +0 -129
  1044. package/esm2015/lib/forms/helpers/abstract-mat-form-field.js +0 -257
  1045. package/esm2015/lib/forms/helpers/value-accessor-base.js +0 -140
  1046. package/esm2015/lib/forms/public_api.js +0 -2
  1047. package/esm2015/lib/forms/validators/equal-validator.directive.js +0 -75
  1048. package/esm2015/lib/forms/validators/native-element-injector.directive.js +0 -38
  1049. package/esm2015/lib/forms/validators/unique-validator-directive.js +0 -78
  1050. package/esm2015/lib/http/http.module.js +0 -14
  1051. package/esm2015/lib/layout/layout-card-over/layout-card-over.component.js +0 -35
  1052. package/esm2015/lib/layout/layout-footer/layout-footer.component.js +0 -48
  1053. package/esm2015/lib/layout/layout-manage-list/layout-manage-list.component.js +0 -125
  1054. package/esm2015/lib/layout/layout-manage-list/layout-manage-list.directives.js +0 -103
  1055. package/esm2015/lib/layout/layout-nav/layout-nav.component.js +0 -59
  1056. package/esm2015/lib/layout/layout-nav-list/layout-nav-list.component.js +0 -111
  1057. package/esm2015/lib/layout/layout-nav-list/layout-nav-list.directives.js +0 -103
  1058. package/esm2015/lib/layout/layout-toggle.class.js +0 -80
  1059. package/esm2015/lib/layout/layout.component.js +0 -77
  1060. package/esm2015/lib/layout/layout.directives.js +0 -103
  1061. package/esm2015/lib/layout/layout.module.js +0 -64
  1062. package/esm2015/lib/layout/navigation-drawer/navigation-drawer.component.js +0 -148
  1063. package/esm2015/lib/media/directives/media-toggle.directive.js +0 -118
  1064. package/esm2015/lib/media/media.module.js +0 -29
  1065. package/esm2015/lib/media/services/media.service.js +0 -116
  1066. package/esm2015/lib/menu/components/menu.component.js +0 -45
  1067. package/esm2015/lib/menu/menu.module.js +0 -38
  1068. package/esm2015/lib/menu/services/menu-items.service.js +0 -26
  1069. package/esm2015/lib/menu/services/menu.resolve.js +0 -61
  1070. package/esm2015/lib/menu/services/menu.service.js +0 -26
  1071. package/esm2015/lib/search/search.module.js +0 -31
  1072. package/esm2015/lib/search/vd-search-box/vd-search-box.component.js +0 -111
  1073. package/esm2015/lib/search/vd-search-input/vd-search-input.component.js +0 -122
  1074. package/esm2015/lib/select/public_api.js +0 -2
  1075. package/esm2015/lib/select/select.component.js +0 -396
  1076. package/esm2015/lib/select/select.module.js +0 -29
  1077. package/esm2015/lib/table/components/dynamic-table/dynamic-table.component.js +0 -264
  1078. package/esm2015/lib/table/components/filter-clear.component.js +0 -45
  1079. package/esm2015/lib/table/components/filter-date.component.js +0 -133
  1080. package/esm2015/lib/table/components/filter-input.component.js +0 -179
  1081. package/esm2015/lib/table/components/filter-select.component.js +0 -309
  1082. package/esm2015/lib/table/directives/data-source-filter.directive.js +0 -43
  1083. package/esm2015/lib/table/functions/decorators.js +0 -137
  1084. package/esm2015/lib/table/functions/functions.js +0 -18
  1085. package/esm2015/lib/table/paginator-intl.js +0 -42
  1086. package/esm2015/lib/table/public_api.js +0 -2
  1087. package/esm2015/lib/table/table.data-source.js +0 -211
  1088. package/esm2015/lib/table/table.module.js +0 -84
  1089. package/esm2015/lib/table/table.static-data-source.js +0 -135
  1090. package/esm2015/messaia-cdk.js +0 -29
  1091. package/fesm2015/messaia-cdk.js +0 -15733
  1092. package/fesm2015/messaia-cdk.js.map +0 -1
  1093. package/messaia-cdk.metadata.json +0 -1
@@ -0,0 +1,64 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { HTTP_INTERCEPTORS } from '@angular/common/http';
3
+ import { NgModule } from '@angular/core';
4
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { MatDialogModule } from '@angular/material/dialog';
6
+ import { BaseComponent } from './components/base.component';
7
+ import { GenericFormComponent } from './components/generic-form.component';
8
+ import { GenericListComponent } from './components/generic-list.component';
9
+ import { Common } from './constants/common';
10
+ import { MessageType } from './enums/message-type';
11
+ import { AuthHelper } from './helpers/auth-helper';
12
+ import { BaseInterceptor } from './interceptors/base.interceptor';
13
+ import { CachingInterceptor } from './interceptors/caching-interceptor';
14
+ import { LoadingScreenInterceptor } from './interceptors/loading.interceptor';
15
+ import { AuthUser } from './models/auth-user';
16
+ import { FileService } from './services/file.service';
17
+ import { LoadingScreenService } from './services/loading-screen.service';
18
+ import { PrintService } from './services/print.service';
19
+ import * as i0 from "@angular/core";
20
+ export { AuthUser, MessageType, AuthHelper, BaseComponent, GenericListComponent, GenericFormComponent, Common, BaseInterceptor, CachingInterceptor, LoadingScreenInterceptor, FileService, LoadingScreenService, PrintService };
21
+ const DECLARATIONS = [];
22
+ const MATRIAL_DECLARATIONS = [];
23
+ export class VdBaseModule {
24
+ }
25
+ /** @nocollapse */ /** @nocollapse */ VdBaseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: VdBaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
26
+ /** @nocollapse */ /** @nocollapse */ VdBaseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: VdBaseModule, imports: [CommonModule,
27
+ FormsModule,
28
+ ReactiveFormsModule,
29
+ MatDialogModule] });
30
+ /** @nocollapse */ /** @nocollapse */ VdBaseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: VdBaseModule, providers: [
31
+ { provide: HTTP_INTERCEPTORS, useClass: BaseInterceptor, multi: true },
32
+ { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true },
33
+ { provide: HTTP_INTERCEPTORS, useClass: LoadingScreenInterceptor, multi: true },
34
+ ], imports: [[
35
+ CommonModule,
36
+ FormsModule,
37
+ ReactiveFormsModule,
38
+ MatDialogModule,
39
+ MATRIAL_DECLARATIONS
40
+ ]] });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: VdBaseModule, decorators: [{
42
+ type: NgModule,
43
+ args: [{
44
+ imports: [
45
+ CommonModule,
46
+ FormsModule,
47
+ ReactiveFormsModule,
48
+ MatDialogModule,
49
+ MATRIAL_DECLARATIONS
50
+ ],
51
+ providers: [
52
+ { provide: HTTP_INTERCEPTORS, useClass: BaseInterceptor, multi: true },
53
+ { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true },
54
+ { provide: HTTP_INTERCEPTORS, useClass: LoadingScreenInterceptor, multi: true },
55
+ ],
56
+ declarations: [
57
+ DECLARATIONS
58
+ ],
59
+ exports: [
60
+ DECLARATIONS
61
+ ]
62
+ }]
63
+ }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9iYXNlL2Jhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFeEQsT0FBTyxFQUNOLFFBQVEsRUFDUixXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBRXhCLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFBO0FBc0IvQixNQUFNLE9BQU8sWUFBWTs7K0lBQVosWUFBWTtnSkFBWixZQUFZLFlBbEJ2QixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixlQUFlO2dKQWVKLFlBQVksYUFaYjtRQUNWLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUN0RSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUN6RSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtLQUMvRSxZQVhRO1lBQ1IsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLG9CQUFvQjtTQUNwQjsyRkFhVyxZQUFZO2tCQXBCeEIsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUU7d0JBQ1IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixvQkFBb0I7cUJBQ3BCO29CQUNELFNBQVMsRUFBRTt3QkFDVixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7d0JBQ3RFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUN6RSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDL0U7b0JBQ0QsWUFBWSxFQUFFO3dCQUNiLFlBQVk7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNSLFlBQVk7cUJBQ1o7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHZW5lcmljRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmljLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2VuZXJpY0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJpYy1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4vY29uc3RhbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi9lbnVtcy9tZXNzYWdlLXR5cGUnO1xyXG5pbXBvcnQgeyBBdXRoSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzL2F1dGgtaGVscGVyJztcclxuaW1wb3J0IHsgQmFzZUludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvYmFzZS5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IENhY2hpbmdJbnRlcmNlcHRvciB9IGZyb20gJy4vaW50ZXJjZXB0b3JzL2NhY2hpbmctaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBMb2FkaW5nU2NyZWVuSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9ycy9sb2FkaW5nLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgQXV0aFVzZXIgfSBmcm9tICcuL21vZGVscy9hdXRoLXVzZXInO1xyXG5pbXBvcnQgeyBGaWxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZmlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9hZGluZ1NjcmVlblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2xvYWRpbmctc2NyZWVuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcmludFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ByaW50LnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHtcclxuXHRBdXRoVXNlcixcclxuXHRNZXNzYWdlVHlwZSxcclxuXHRBdXRoSGVscGVyLFxyXG5cdEJhc2VDb21wb25lbnQsXHJcblx0R2VuZXJpY0xpc3RDb21wb25lbnQsXHJcblx0R2VuZXJpY0Zvcm1Db21wb25lbnQsXHJcblx0Q29tbW9uLFxyXG5cdEJhc2VJbnRlcmNlcHRvcixcclxuXHRDYWNoaW5nSW50ZXJjZXB0b3IsXHJcblx0TG9hZGluZ1NjcmVlbkludGVyY2VwdG9yLFxyXG5cdEZpbGVTZXJ2aWNlLFxyXG5cdExvYWRpbmdTY3JlZW5TZXJ2aWNlLFxyXG5cdFByaW50U2VydmljZVxyXG59O1xyXG5cclxuY29uc3QgREVDTEFSQVRJT05TID0gW107XHJcblxyXG5jb25zdCBNQVRSSUFMX0RFQ0xBUkFUSU9OUyA9IFtdXHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0UmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuXHRcdE1hdERpYWxvZ01vZHVsZSxcclxuXHRcdE1BVFJJQUxfREVDTEFSQVRJT05TXHJcblx0XSxcclxuXHRwcm92aWRlcnM6IFtcclxuXHRcdHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBCYXNlSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXHJcblx0XHR7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogQ2FjaGluZ0ludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxyXG5cdFx0eyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IExvYWRpbmdTY3JlZW5JbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcclxuXHRdLFxyXG5cdGRlY2xhcmF0aW9uczogW1xyXG5cdFx0REVDTEFSQVRJT05TXHJcblx0XSxcclxuXHRleHBvcnRzOiBbXHJcblx0XHRERUNMQVJBVElPTlNcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZEJhc2VNb2R1bGUgeyB9Il19
@@ -0,0 +1,436 @@
1
+ import { Location } from '@angular/common';
2
+ import { HttpHeaders } from '@angular/common/http';
3
+ import { ChangeDetectorRef, Directive, ElementRef, QueryList, ViewChildren } from '@angular/core';
4
+ import { MatExpansionPanel } from '@angular/material/expansion';
5
+ import { MatSnackBar } from '@angular/material/snack-bar';
6
+ import { Title } from '@angular/platform-browser';
7
+ import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
8
+ import { of } from 'rxjs';
9
+ import { ContextHelper } from '../../common/common.module';
10
+ import { AppSetting } from '../../common/models/app-setting';
11
+ import { ServiceLocator } from '../../common/services/service-locator';
12
+ import { VdDialogService } from '../../dialogs/services/dialog.service';
13
+ import { VdMediaService } from '../../media/services/media.service';
14
+ import { Common } from '../constants/common';
15
+ import { MessageType } from '../enums/message-type';
16
+ import { AuthHelper } from '../helpers/auth-helper';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "@angular/router";
19
+ /**
20
+ * A base list component for components with pagination support
21
+ */
22
+ // @dynamic
23
+ export class BaseComponent {
24
+ /**
25
+ * Constructor
26
+ */
27
+ constructor(route, changeDetectorRef) {
28
+ this.route = route;
29
+ this.changeDetectorRef = changeDetectorRef;
30
+ /**
31
+ * The subtitle of the current outlet
32
+ */
33
+ this.subtitle = '';
34
+ /**
35
+ * Represents the request errors
36
+ */
37
+ this.errors = new Array();
38
+ /**
39
+ * Allowed file extensions
40
+ */
41
+ this.allowedExtensions = Common.allowedExtensions;
42
+ /**
43
+ * tinyMCE plugins
44
+ */
45
+ this.editorPlugins = Common.editorPlugins;
46
+ /**
47
+ * tinyMCE editor
48
+ */
49
+ this.editorToolbar = Common.editorToolbar;
50
+ /**
51
+ * Editor configuration
52
+ */
53
+ this.editorConfig = {};
54
+ /**
55
+ * urlHash: string
56
+ */
57
+ this.urlHash = null;
58
+ /**
59
+ * Current user object
60
+ */
61
+ this.currentUser = AuthHelper.user;
62
+ /**
63
+ * If true, set url hash
64
+ */
65
+ this.setUrlHash = true;
66
+ this.titleService = this.getService(Title);
67
+ this.dialogService = this.getService(VdDialogService);
68
+ this.media = this.getService(VdMediaService);
69
+ this.snackBarService = this.getService(MatSnackBar);
70
+ this.router = this.getService(Router);
71
+ this.appSetting = this.getService(AppSetting);
72
+ this.location = this.getService(Location);
73
+ ContextHelper.activatedRoute = route;
74
+ ContextHelper.router = this.router;
75
+ ContextHelper.appSetting = this.appSetting;
76
+ this.initEditor();
77
+ }
78
+ get isSaving() { return this._isSaving || this.isLoading; }
79
+ set isSaving(isSaving) { this.isLoading = this._isSaving = isSaving; }
80
+ /**
81
+ * Lifecycle hook that is called after data-bound properties
82
+ * of a directive are initialized.
83
+ */
84
+ ngOnInit() {
85
+ /* Get menu items from route snapshot */
86
+ var mainRoute = this.getMainRoute(this.route.snapshot);
87
+ if (mainRoute) {
88
+ this.menu = mainRoute.data.menu;
89
+ }
90
+ /* Set project name & debug mode */
91
+ this.projectName = this.appSetting.projectName;
92
+ this.debug = this.appSetting.debug;
93
+ /* Get the hash from the url */
94
+ this.route.fragment.subscribe((fragment) => this.urlHash = fragment);
95
+ /**
96
+ * Check permissions
97
+ */
98
+ if (this.route.parent) {
99
+ this.route.parent.url.subscribe((url) => {
100
+ this.className = url[0].path.replace(/(.*)s$/, '$1').replace(/^./, (url[0].path[0] || '').toUpperCase());
101
+ this.canCreate = AuthHelper.isPermitted('Create', `Create${this.className}`);
102
+ this.canUpdate = AuthHelper.isPermitted('Update', `Update${this.className}`);
103
+ });
104
+ }
105
+ /* Set current route */
106
+ this.currentRoute = btoa(this.router.url);
107
+ /**
108
+ * Set page title
109
+ */
110
+ this.router.events.subscribe(x => {
111
+ if (x instanceof NavigationEnd) {
112
+ this.setTitles();
113
+ this.currentRoute = btoa(x.url);
114
+ }
115
+ });
116
+ }
117
+ /**
118
+ * Lifecycle hook that is called after a component's view has been fully initialized.
119
+ */
120
+ ngAfterViewInit() {
121
+ /* Broadcast to all listener observables when loading the page */
122
+ this.media.broadcast();
123
+ /* Set titles */
124
+ this.setTitles();
125
+ /*
126
+ * Force a new change detection cycle since change detections
127
+ * have finished when `ngAfterViewInit` is executed
128
+ */
129
+ this.changeDetectorRef.detectChanges();
130
+ /* Listen for expansion panel changes */
131
+ this.onExpansionPanelChanges();
132
+ }
133
+ /**
134
+ * Refreshs this page/component
135
+ */
136
+ reloadPage() {
137
+ let currentUrl = this.router.url;
138
+ this.router.navigateByUrl('/', { replaceUrl: true }).then(() => this.router.navigateByUrl(currentUrl, { replaceUrl: true }));
139
+ }
140
+ /**
141
+ * Listen for expansion panel changes
142
+ */
143
+ onExpansionPanelChanges() {
144
+ /* Listen for expansion panel changes */
145
+ this.matExpansionPanelQueryList?.changes.subscribe(_ => {
146
+ this.changeDetectorRef.detectChanges();
147
+ /* Find the index of the panel with the specified element ID */
148
+ this.urlHash?.split('.')
149
+ ?.reduce((accumulator, currentValue, index) => accumulator.concat((index > 0 ? (accumulator.slice(-1).join('.') + '.') : '') + currentValue), [])
150
+ ?.forEach((hash) => {
151
+ var expansionPanelIndex = this.matExpansionPanelElementQueryList?.toArray()?.findIndex(x => x.nativeElement.id == hash);
152
+ if (expansionPanelIndex >= 0) {
153
+ this.matExpansionPanelQueryList?.toArray()[expansionPanelIndex]?.open();
154
+ this.changeDetectorRef.detectChanges();
155
+ }
156
+ });
157
+ /* Detect changes for opened panels */
158
+ this.matExpansionPanelQueryList?.forEach(y => {
159
+ y.opened.subscribe(_ => {
160
+ if (this.setUrlHash) {
161
+ /* Get the id of the current opened panel */
162
+ var currentPanelId = y['_viewContainerRef']?.element?.nativeElement?.id;
163
+ /* If the panel ID is set, set it as url segment (hash) */
164
+ if (currentPanelId) {
165
+ this.router.navigate([], { fragment: currentPanelId, replaceUrl: true });
166
+ }
167
+ /* Otherwise remove the segment from the url */
168
+ else {
169
+ this.router.navigate([], { replaceUrl: true });
170
+ }
171
+ }
172
+ /* Detect changes */
173
+ this.changeDetectorRef.detectChanges();
174
+ });
175
+ });
176
+ });
177
+ /* Notify expansion panel list changes */
178
+ this.matExpansionPanelQueryList.notifyOnChanges();
179
+ }
180
+ /**
181
+ * Retrieves an instance from the injector based on the provided token.
182
+ * If not found:
183
+ * - Throws {@link NoProviderError} if no `notFoundValue` that is not equal to
184
+ * Injector.THROW_IF_NOT_FOUND is given
185
+ * - Returns the `notFoundValue` otherwise
186
+ */
187
+ getService(token) {
188
+ return ServiceLocator.getService(token);
189
+ }
190
+ /**
191
+ * Gets base route
192
+ * @param snapshot
193
+ */
194
+ getMainRoute(snapshot) {
195
+ if (snapshot && !snapshot.data.menu) {
196
+ return this.getMainRoute(snapshot.parent);
197
+ }
198
+ return snapshot;
199
+ }
200
+ /**
201
+ * Shows a confirm dialog to delete an item
202
+ */
203
+ showDeleteItemDialog() {
204
+ return this.dialogService.openConfirm({
205
+ message: $localize `:@@dialog.message.delete.one:Are you sure you want to delete this item?`,
206
+ title: $localize `:@@dialog.title.delete:Confirm Delete`,
207
+ cancelButton: $localize `:@@cancel:Cancel`,
208
+ acceptButton: $localize `:@@delete:Delete`,
209
+ }).afterClosed();
210
+ }
211
+ /**
212
+ * Shows a confirm dialog to delete multiple items
213
+ */
214
+ showDeleteItemsDialog() {
215
+ return this.dialogService.openConfirm({
216
+ message: $localize `:@@dialog.message.delete.list:Are you sure you want to delete the selected items?`,
217
+ title: $localize `:@@dialog.title.delete:Confirm Delete`,
218
+ cancelButton: $localize `:@@cancel:Cancel`,
219
+ acceptButton: $localize `:@@delete:Delete`,
220
+ }).afterClosed();
221
+ }
222
+ /**
223
+ * Shows a confirm dialog to send some data
224
+ * @param message The message to display
225
+ * @param observabe The observable instance
226
+ * @param successCallback A success callback
227
+ * @param errorCallback An error callback
228
+ */
229
+ showConfirmationDialog(message, observabe, successCallback = null, errorCallback = null) {
230
+ this.dialogService
231
+ .openConfirm({
232
+ message: message,
233
+ title: $localize `:@@dialog.title.confirm:Confirm`,
234
+ cancelButton: $localize `:@@cancel:Cancel`,
235
+ acceptButton: $localize `:@@ok:Ok`,
236
+ })
237
+ .afterClosed().subscribe((accept) => {
238
+ if (accept) {
239
+ observabe.subscribe(x => {
240
+ this.showMessage($localize `:@@snackbar.send.success:Data sent successfully.`);
241
+ if (successCallback) {
242
+ successCallback(x);
243
+ }
244
+ }, errors => {
245
+ this.isSaving = false;
246
+ if (errorCallback) {
247
+ errorCallback(errors);
248
+ }
249
+ });
250
+ }
251
+ });
252
+ }
253
+ /**
254
+ * Shows a message
255
+ * @param message The message to display
256
+ * @param type The type of the message
257
+ */
258
+ showMessage(message, type = MessageType.Success) {
259
+ var snackBarClass = 'primary';
260
+ switch (type) {
261
+ case MessageType.Success:
262
+ snackBarClass = 'primary';
263
+ break;
264
+ case MessageType.Warning:
265
+ snackBarClass = 'warn';
266
+ break;
267
+ case MessageType.Error:
268
+ snackBarClass = 'error';
269
+ break;
270
+ default:
271
+ break;
272
+ }
273
+ this.snackBarService.open(message || $localize `:@@snackbar.send.success:Data sent successfully.`, null, {
274
+ duration: 3000,
275
+ panelClass: [snackBarClass]
276
+ });
277
+ }
278
+ /**
279
+ * Initoalizes the tinymce editor
280
+ */
281
+ initEditor(editorConfig = {}) {
282
+ Object.assign(this.editorConfig, {
283
+ suffix: '.min',
284
+ skin: false,
285
+ height: '170px',
286
+ content_css: false,
287
+ plugins: this.editorPlugins,
288
+ toolbar: this.editorToolbar,
289
+ paste_as_text: true,
290
+ language: 'de',
291
+ language_url: '/assets/tinymce/langs/de.js',
292
+ document_base_url: `${this.appSetting.apiUrl}file/`,
293
+ automatic_uploads: true,
294
+ relative_urls: true,
295
+ convert_urls: false,
296
+ extended_valid_elements: 'span[id|class|style],+@[data-options]',
297
+ allow_html_in_named_anchor: true
298
+ }, editorConfig);
299
+ this.isEditorInitialzed = true;
300
+ }
301
+ /**
302
+ * Sets subtitle from curren menu
303
+ */
304
+ setTitles() {
305
+ if (this.menu) {
306
+ this.titleService.setTitle(this.menu.title);
307
+ this.title = this.titleService.getTitle();
308
+ if (this.menu.items) {
309
+ var submenu = this.menu.items.filter(x => x.path == this.router.url)[0];
310
+ if (submenu) {
311
+ this.subtitle = submenu.title;
312
+ }
313
+ }
314
+ }
315
+ }
316
+ /**
317
+ * Navigate based on the provided array of commands and a starting point.
318
+ * @param commands
319
+ */
320
+ navigate(commands, queryParams) {
321
+ this.router.navigate(commands, { queryParams: Object.assign({ returnUrl: this.currentRoute }, queryParams || {}), relativeTo: this.route });
322
+ }
323
+ /**
324
+ * Convert Object to HttpHeaders
325
+ *
326
+ * @param body
327
+ */
328
+ toHttpHeaders(body) {
329
+ if (!body) {
330
+ return new HttpHeaders();
331
+ }
332
+ return Object.getOwnPropertyNames(body)
333
+ .filter(key => body[key] != null && body[key] != '')
334
+ .reduce((p, key) => p.set(key, body[key]), new HttpHeaders());
335
+ }
336
+ /**
337
+ * Parses http response errors
338
+ * @param errors
339
+ */
340
+ parseErrors(errors) {
341
+ this.errors = [];
342
+ this.isLoading = false;
343
+ this.isSaving = false;
344
+ if (errors) {
345
+ Object.keys(errors).forEach(el => {
346
+ let error = errors[el];
347
+ if (Array.isArray(error)) {
348
+ error.forEach(err => {
349
+ this.errors.push(err);
350
+ });
351
+ }
352
+ else if (typeof error === "string") {
353
+ this.errors.push(error);
354
+ }
355
+ });
356
+ }
357
+ }
358
+ /**
359
+ * Handle Http operation that failed.
360
+ * Let the app continue.
361
+ * @param operation - name of the operation that failed
362
+ * @param result - optional value to return as the observable result
363
+ */
364
+ handleError(operation = 'operation', result) {
365
+ return (error) => {
366
+ /* Parse the error messages */
367
+ this.parseErrors(error);
368
+ /* Log to console */
369
+ this.warn(`${operation} failed: ${error.message}`);
370
+ /* Let the app keep running by returning an empty result */
371
+ return of(result);
372
+ };
373
+ }
374
+ /**
375
+ * Log to console
376
+ * @param message
377
+ * @param optionalParams
378
+ */
379
+ log(message, ...optionalParams) {
380
+ if (this.debug) {
381
+ console.log(message, optionalParams);
382
+ }
383
+ }
384
+ /**
385
+ * Log to console
386
+ * @param message
387
+ * @param optionalParams
388
+ */
389
+ warn(message, ...optionalParams) {
390
+ if (this.debug) {
391
+ console.warn(message, optionalParams);
392
+ }
393
+ }
394
+ /**
395
+ * Cleans the objects
396
+ * Removes empty properties
397
+ * @param obj
398
+ */
399
+ clean(obj) {
400
+ try {
401
+ for (var propName in obj) {
402
+ if (obj[propName] === null || obj[propName] === undefined || obj[propName] === "") {
403
+ delete obj[propName];
404
+ }
405
+ }
406
+ }
407
+ catch (error) { }
408
+ return obj;
409
+ }
410
+ /**
411
+ * Sanitizes the specified object
412
+ * @param obj
413
+ * @returns
414
+ */
415
+ sanitizeObject(obj, ...ignore) {
416
+ return Object.keys(obj)
417
+ .filter(x => obj[x])
418
+ .filter(x => !(ignore || []).map(x => x.toLowerCase()).includes(x.toLowerCase()))
419
+ .reduce((result, key) => {
420
+ result[key] = isNaN(+obj[key]) ? obj[key] : +obj[key];
421
+ return result;
422
+ }, {});
423
+ }
424
+ }
425
+ /** @nocollapse */ /** @nocollapse */ BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseComponent, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
426
+ /** @nocollapse */ /** @nocollapse */ BaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: BaseComponent, viewQueries: [{ propertyName: "matExpansionPanelElementQueryList", predicate: MatExpansionPanel, descendants: true, read: ElementRef }, { propertyName: "matExpansionPanelQueryList", predicate: MatExpansionPanel, descendants: true }], ngImport: i0 });
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseComponent, decorators: [{
428
+ type: Directive
429
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { matExpansionPanelElementQueryList: [{
430
+ type: ViewChildren,
431
+ args: [MatExpansionPanel, { read: ElementRef }]
432
+ }], matExpansionPanelQueryList: [{
433
+ type: ViewChildren,
434
+ args: [MatExpansionPanel]
435
+ }] } });
436
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9iYXNlL2NvbXBvbmVudHMvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsU0FBUyxFQUFRLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQTBCLGFBQWEsRUFBRSxNQUFNLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1B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QUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2FBQ2hGLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN2QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEQsT0FBTyxNQUFNLENBQUM7UUFDZixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDOztnSkE3aUJvQixhQUFhO29JQUFiLGFBQWEsZ0ZBNklwQixpQkFBaUIsMkJBQVUsVUFBVSw2REFNckMsaUJBQWlCOzJGQW5KVixhQUFhO2tCQURsQyxTQUFTO3FJQStJQyxpQ0FBaUM7c0JBRDFDLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQU8zQywwQkFBMEI7c0JBRG5DLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0LCBRdWVyeUxpc3QsIFR5cGUsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25QYW5lbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgVXJsU2VnbWVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbnRleHRIZWxwZXIgfSBmcm9tICcuLi8uLi9jb21tb24vY29tbW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFwcFNldHRpbmcgfSBmcm9tICcuLi8uLi9jb21tb24vbW9kZWxzL2FwcC1zZXR0aW5nJztcclxuaW1wb3J0IHsgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuLi8uLi9jb21tb24vc2VydmljZXMvc2VydmljZS1sb2NhdG9yJztcclxuaW1wb3J0IHsgVmREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGlhbG9ncy9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFZkTWVkaWFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVkaWEvc2VydmljZXMvbWVkaWEuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lbnUgfSBmcm9tICcuLi8uLi9tZW51L21vZGVscy9tZW51JztcclxuaW1wb3J0IHsgQ29tbW9uIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi4vZW51bXMvbWVzc2FnZS10eXBlJztcclxuaW1wb3J0IHsgQXV0aEhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvYXV0aC1oZWxwZXInO1xyXG5pbXBvcnQgeyBBdXRoVXNlciB9IGZyb20gJy4uL21vZGVscy9hdXRoLXVzZXInO1xyXG5cclxuLyoqXHJcbiAqIEEgYmFzZSBsaXN0IGNvbXBvbmVudCBmb3IgY29tcG9uZW50cyB3aXRoIHBhZ2luYXRpb24gc3VwcG9ydFxyXG4gKi9cclxuLy8gQGR5bmFtaWNcclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuXHQvKipcclxuXHQgKiBBcHAgc2V0dGluZ3NcclxuXHQgKi9cclxuXHRwdWJsaWMgYXBwU2V0dGluZzogQXBwU2V0dGluZztcclxuXHJcblx0LyoqXHJcblx0ICogTWVudSBpdGVtc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBtZW51OiBNZW51O1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBwcm9qZWN0TmFtZTogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgdGl0bGUgb2YgdGhlIGN1cnJlbnQgcGFnZVxyXG5cdCAqL1xyXG5cdHB1YmxpYyB0aXRsZTogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgc3VidGl0bGUgb2YgdGhlIGN1cnJlbnQgb3V0bGV0XHJcblx0ICovXHJcblx0cHVibGljIHN1YnRpdGxlOiBzdHJpbmcgPSAnJztcclxuXHJcblx0LyoqXHJcblx0ICogSWYgdHJ1ZSwgdXNlIHNvbWUgZHVtbXkgZGF0YSBhbmQgc2hvdyBkZWJ1ZyBsb2dzXHJcblx0ICovXHJcblx0cHVibGljIGRlYnVnOiBib29sZWFuO1xyXG5cclxuXHQvKipcdCBcclxuXHQgKiBMb2FkaW5nIHN0YXR1c1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW47XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNhdmluZyBzdGF0dXNcclxuXHQgKi9cclxuXHRwdWJsaWMgX2lzU2F2aW5nOiBib29sZWFuO1xyXG5cdGdldCBpc1NhdmluZygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzU2F2aW5nIHx8IHRoaXMuaXNMb2FkaW5nOyB9XHJcblx0c2V0IGlzU2F2aW5nKGlzU2F2aW5nOiBib29sZWFuKSB7IHRoaXMuaXNMb2FkaW5nID0gdGhpcy5faXNTYXZpbmcgPSBpc1NhdmluZzsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBBIGZsYWcgZWluZGljYXRlcyB0aGF0IHRoZSBlZGl0b3IgaXMgaW5pdGVkXHJcblx0ICovXHJcblx0cHVibGljIGlzRWRpdG9ySW5pdGlhbHplZDogYm9vbGVhbjtcclxuXHJcblx0LyoqXHJcblx0ICogUmVwcmVzZW50cyB0aGUgcmVxdWVzdCBlcnJvcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgZXJyb3JzOiBBcnJheTxzdHJpbmc+ID0gbmV3IEFycmF5PHN0cmluZz4oKTtcclxuXHJcblx0LyoqXHJcblx0ICogVXNlZCB0byBldmFsdWF0ZSB3aGV0aGVyIGEgZ2l2ZW4gbWVkaWEgcXVlcnkgaXMgdHJ1ZSBvciBmYWxzZSBnaXZlbiB0aGUgY3VycmVudCBkZXZpY2UncyBzY3JlZW4gLyB3aW5kb3cgc2l6ZS5cclxuXHQgKi9cclxuXHRwdWJsaWMgbWVkaWE6IFZkTWVkaWFTZXJ2aWNlO1xyXG5cclxuXHQvKipcclxuXHQgKiBBbGxvd2VkIGZpbGUgZXh0ZW5zaW9uc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBhbGxvd2VkRXh0ZW5zaW9uczogc3RyaW5nW10gPSBDb21tb24uYWxsb3dlZEV4dGVuc2lvbnM7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHRpbnlNQ0UgcGx1Z2luc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBlZGl0b3JQbHVnaW5zOiBzdHJpbmcgPSBDb21tb24uZWRpdG9yUGx1Z2lucztcclxuXHJcblx0LyoqXHJcblx0ICogdGlueU1DRSBlZGl0b3JcclxuXHQgKi9cclxuXHRwdWJsaWMgZWRpdG9yVG9vbGJhcjogc3RyaW5nID0gQ29tbW9uLmVkaXRvclRvb2xiYXI7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEVkaXRvciBjb25maWd1cmF0aW9uXHJcblx0ICovXHJcblx0cHVibGljIGVkaXRvckNvbmZpZzogYW55ID0ge307XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByb3ZpZGVzIHRoZSBuYXZpZ2F0aW9uIGFuZCB1cmwgbWFuaXB1bGF0aW9uIGNhcGFiaWxpdGllcy5cclxuXHQgKi9cclxuXHRwdWJsaWMgcm91dGVyOiBSb3V0ZXI7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHVybEhhc2g6IHN0cmluZ1xyXG5cdCAqL1xyXG5cdHB1YmxpYyB1cmxIYXNoOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuXHQvKipcclxuXHQgKiBDbGFzcyBuYW1lXHJcblx0ICovXHJcblx0cHVibGljIGNsYXNzTmFtZTogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBDcmVhdGUgcGVybWlzc2lvblxyXG5cdCAqL1xyXG5cdHB1YmxpYyBjYW5DcmVhdGU6IGJvb2xlYW47XHJcblxyXG5cdC8qKlxyXG5cdCAqIFVwZGF0ZSBwZXJtaXNzaW9uXHJcblx0ICovXHJcblx0cHVibGljIGNhblVwZGF0ZTogYm9vbGVhbjtcclxuXHJcblx0LyoqXHJcblx0ICogQ3VycmVudCByb3V0ZVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBjdXJyZW50Um91dGU6IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogQ3VycmVudCB1c2VyIG9iamVjdFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBjdXJyZW50VXNlcjogQXV0aFVzZXIgPSBBdXRoSGVscGVyLnVzZXI7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgc2VydmljZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGdldCBhbmQgc2V0IHRoZSB0aXRsZSBvZiBhIGN1cnJlbnQgSFRNTCBkb2N1bWVudC5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgdGl0bGVTZXJ2aWNlOiBUaXRsZTtcclxuXHJcblx0LyoqXHJcblx0ICogQSBzZXJ2aWNlIHRvIGRpc3BhdGNoIE1hdGVyaWFsIERlc2lnbiBzbmFjayBiYXIgbWVzc2FnZXMuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHNuYWNrQmFyU2VydmljZTogTWF0U25hY2tCYXI7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgc2VydmljZSB0byBzaG93IGNvbmlybSBhbmQgcHJvbXB0IGRpYWxvZ3MuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IFZkRGlhbG9nU2VydmljZTtcclxuXHJcblx0LyoqXHJcblx0ICogbG9jYXRpb246IExvY2F0aW9uXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGxvY2F0aW9uOiBMb2NhdGlvbjtcclxuXHJcblx0LyoqXHJcblx0ICogSWYgdHJ1ZSwgc2V0IHVybCBoYXNoXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHNldFVybEhhc2g6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBNYXRFeHBhbnNpb25QYW5lbCByZWZcclxuXHQgKi9cclxuXHRAVmlld0NoaWxkcmVuKE1hdEV4cGFuc2lvblBhbmVsLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcclxuXHRwcm90ZWN0ZWQgbWF0RXhwYW5zaW9uUGFuZWxFbGVtZW50UXVlcnlMaXN0OiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcblxyXG5cdC8qKlxyXG5cdCAqIE1hdEV4cGFuc2lvblBhbmVsIHJlZlxyXG5cdCAqL1xyXG5cdEBWaWV3Q2hpbGRyZW4oTWF0RXhwYW5zaW9uUGFuZWwpXHJcblx0cHJvdGVjdGVkIG1hdEV4cGFuc2lvblBhbmVsUXVlcnlMaXN0OiBRdWVyeUxpc3Q8TWF0RXhwYW5zaW9uUGFuZWw+O1xyXG5cclxuXHQvKipcclxuXHQgKiBDb25zdHJ1Y3RvclxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuXHRcdHRoaXMudGl0bGVTZXJ2aWNlID0gdGhpcy5nZXRTZXJ2aWNlKFRpdGxlKTtcclxuXHRcdHRoaXMuZGlhbG9nU2VydmljZSA9IHRoaXMuZ2V0U2VydmljZShWZERpYWxvZ1NlcnZpY2UpO1xyXG5cdFx0dGhpcy5tZWRpYSA9IHRoaXMuZ2V0U2VydmljZShWZE1lZGlhU2VydmljZSk7XHJcblx0XHR0aGlzLnNuYWNrQmFyU2VydmljZSA9IHRoaXMuZ2V0U2VydmljZShNYXRTbmFja0Jhcik7XHJcblx0XHR0aGlzLnJvdXRlciA9IHRoaXMuZ2V0U2VydmljZShSb3V0ZXIpO1xyXG5cdFx0dGhpcy5hcHBTZXR0aW5nID0gdGhpcy5nZXRTZXJ2aWNlKEFwcFNldHRpbmcpO1xyXG5cdFx0dGhpcy5sb2NhdGlvbiA9IHRoaXMuZ2V0U2VydmljZShMb2NhdGlvbik7XHJcblxyXG5cdFx0Q29udGV4dEhlbHBlci5hY3RpdmF0ZWRSb3V0ZSA9IHJvdXRlO1xyXG5cdFx0Q29udGV4dEhlbHBlci5yb3V0ZXIgPSB0aGlzLnJvdXRlcjtcclxuXHRcdENvbnRleHRIZWxwZXIuYXBwU2V0dGluZyA9IHRoaXMuYXBwU2V0dGluZztcclxuXHJcblx0XHR0aGlzLmluaXRFZGl0b3IoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIGFmdGVyIGRhdGEtYm91bmQgcHJvcGVydGllcyBcclxuXHQgKiBvZiBhIGRpcmVjdGl2ZSBhcmUgaW5pdGlhbGl6ZWQuXHJcblx0ICovXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHQvKiBHZXQgbWVudSBpdGVtcyBmcm9tIHJvdXRlIHNuYXBzaG90ICovXHJcblx0XHR2YXIgbWFpblJvdXRlID0gdGhpcy5nZXRNYWluUm91dGUodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XHJcblx0XHRpZiAobWFpblJvdXRlKSB7XHJcblx0XHRcdHRoaXMubWVudSA9IG1haW5Sb3V0ZS5kYXRhLm1lbnU7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogU2V0IHByb2plY3QgbmFtZSAmIGRlYnVnIG1vZGUgKi9cclxuXHRcdHRoaXMucHJvamVjdE5hbWUgPSB0aGlzLmFwcFNldHRpbmcucHJvamVjdE5hbWU7XHJcblx0XHR0aGlzLmRlYnVnID0gdGhpcy5hcHBTZXR0aW5nLmRlYnVnO1xyXG5cclxuXHRcdC8qIEdldCB0aGUgaGFzaCBmcm9tIHRoZSB1cmwgKi9cclxuXHRcdHRoaXMucm91dGUuZnJhZ21lbnQuc3Vic2NyaWJlKChmcmFnbWVudDogc3RyaW5nKSA9PiB0aGlzLnVybEhhc2ggPSBmcmFnbWVudCk7XHJcblxyXG5cdFx0LyoqXHJcblx0XHQgKiBDaGVjayBwZXJtaXNzaW9uc1xyXG5cdFx0ICovXHJcblx0XHRpZiAodGhpcy5yb3V0ZS5wYXJlbnQpIHtcclxuXHRcdFx0dGhpcy5yb3V0ZS5wYXJlbnQudXJsLnN1YnNjcmliZSgodXJsOiBVcmxTZWdtZW50W10pID0+IHtcclxuXHRcdFx0XHR0aGlzLmNsYXNzTmFtZSA9IHVybFswXS5wYXRoLnJlcGxhY2UoLyguKilzJC8sICckMScpLnJlcGxhY2UoL14uLywgKHVybFswXS5wYXRoWzBdIHx8ICcnKS50b1VwcGVyQ2FzZSgpKTtcclxuXHRcdFx0XHR0aGlzLmNhbkNyZWF0ZSA9IEF1dGhIZWxwZXIuaXNQZXJtaXR0ZWQoJ0NyZWF0ZScsIGBDcmVhdGUke3RoaXMuY2xhc3NOYW1lfWApO1xyXG5cdFx0XHRcdHRoaXMuY2FuVXBkYXRlID0gQXV0aEhlbHBlci5pc1Blcm1pdHRlZCgnVXBkYXRlJywgYFVwZGF0ZSR7dGhpcy5jbGFzc05hbWV9YCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8qIFNldCBjdXJyZW50IHJvdXRlICovXHJcblx0XHR0aGlzLmN1cnJlbnRSb3V0ZSA9IGJ0b2EodGhpcy5yb3V0ZXIudXJsKTtcclxuXHJcblx0XHQvKipcclxuXHRcdCAqIFNldCBwYWdlIHRpdGxlXHJcblx0XHQgKi9cclxuXHRcdHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoeCA9PiB7XHJcblx0XHRcdGlmICh4IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG5cdFx0XHRcdHRoaXMuc2V0VGl0bGVzKCk7XHJcblx0XHRcdFx0dGhpcy5jdXJyZW50Um91dGUgPSBidG9hKHgudXJsKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBMaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCBhZnRlciBhIGNvbXBvbmVudCdzIHZpZXcgaGFzIGJlZW4gZnVsbHkgaW5pdGlhbGl6ZWQuXHJcblx0ICovXHJcblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG5cdFx0LyogQnJvYWRjYXN0IHRvIGFsbCBsaXN0ZW5lciBvYnNlcnZhYmxlcyB3aGVuIGxvYWRpbmcgdGhlIHBhZ2UgKi9cclxuXHRcdHRoaXMubWVkaWEuYnJvYWRjYXN0KCk7XHJcblxyXG5cdFx0LyogU2V0IHRpdGxlcyAqL1xyXG5cdFx0dGhpcy5zZXRUaXRsZXMoKTtcclxuXHJcblx0XHQvKiBcclxuXHRcdCAqIEZvcmNlIGEgbmV3IGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUgc2luY2UgY2hhbmdlIGRldGVjdGlvbnMgXHJcblx0XHQgKiBoYXZlIGZpbmlzaGVkIHdoZW4gYG5nQWZ0ZXJWaWV3SW5pdGAgaXMgZXhlY3V0ZWRcclxuXHRcdCAqL1xyXG5cdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG5cdFx0LyogTGlzdGVuIGZvciBleHBhbnNpb24gcGFuZWwgY2hhbmdlcyAqL1xyXG5cdFx0dGhpcy5vbkV4cGFuc2lvblBhbmVsQ2hhbmdlcygpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUmVmcmVzaHMgdGhpcyBwYWdlL2NvbXBvbmVudFxyXG5cdCAqL1xyXG5cdHB1YmxpYyByZWxvYWRQYWdlKCk6IHZvaWQge1xyXG5cdFx0bGV0IGN1cnJlbnRVcmwgPSB0aGlzLnJvdXRlci51cmw7XHJcblx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJywgeyByZXBsYWNlVXJsOiB0cnVlIH0pLnRoZW4oKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChjdXJyZW50VXJsLCB7IHJlcGxhY2VVcmw6IHRydWUgfSkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogTGlzdGVuIGZvciBleHBhbnNpb24gcGFuZWwgY2hhbmdlc1xyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBvbkV4cGFuc2lvblBhbmVsQ2hhbmdlcygpOiB2b2lkIHtcclxuXHRcdC8qIExpc3RlbiBmb3IgZXhwYW5zaW9uIHBhbmVsIGNoYW5nZXMgKi9cclxuXHRcdHRoaXMubWF0RXhwYW5zaW9uUGFuZWxRdWVyeUxpc3Q/LmNoYW5nZXMuc3Vic2NyaWJlKF8gPT4ge1xyXG5cdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcblx0XHRcdC8qIEZpbmQgdGhlIGluZGV4IG9mIHRoZSBwYW5lbCB3aXRoIHRoZSBzcGVjaWZpZWQgZWxlbWVudCBJRCAqL1xyXG5cdFx0XHR0aGlzLnVybEhhc2g/LnNwbGl0KCcuJylcclxuXHRcdFx0XHQ/LnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSwgaW5kZXgpID0+IGFjY3VtdWxhdG9yLmNvbmNhdCgoaW5kZXggPiAwID8gKGFjY3VtdWxhdG9yLnNsaWNlKC0xKS5qb2luKCcuJykgKyAnLicpIDogJycpICsgY3VycmVudFZhbHVlKSwgW10pXHJcblx0XHRcdFx0Py5mb3JFYWNoKChoYXNoOiBzdHJpbmcpID0+IHtcclxuXHRcdFx0XHRcdHZhciBleHBhbnNpb25QYW5lbEluZGV4ID0gdGhpcy5tYXRFeHBhbnNpb25QYW5lbEVsZW1lbnRRdWVyeUxpc3Q/LnRvQXJyYXkoKT8uZmluZEluZGV4KHggPT4geC5uYXRpdmVFbGVtZW50LmlkID09IGhhc2gpO1xyXG5cdFx0XHRcdFx0aWYgKGV4cGFuc2lvblBhbmVsSW5kZXggPj0gMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLm1hdEV4cGFuc2lvblBhbmVsUXVlcnlMaXN0Py50b0FycmF5KClbZXhwYW5zaW9uUGFuZWxJbmRleF0/Lm9wZW4oKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblxyXG5cdFx0XHQvKiBEZXRlY3QgY2hhbmdlcyBmb3Igb3BlbmVkIHBhbmVscyAqL1xyXG5cdFx0XHR0aGlzLm1hdEV4cGFuc2lvblBhbmVsUXVlcnlMaXN0Py5mb3JFYWNoKHkgPT4ge1xyXG5cdFx0XHRcdHkub3BlbmVkLnN1YnNjcmliZShfID0+IHtcclxuXHRcdFx0XHRcdGlmICh0aGlzLnNldFVybEhhc2gpIHtcclxuXHRcdFx0XHRcdFx0LyogR2V0IHRoZSBpZCBvZiB0aGUgY3VycmVudCBvcGVuZWQgcGFuZWwgKi9cclxuXHRcdFx0XHRcdFx0dmFyIGN1cnJlbnRQYW5lbElkID0geVsnX3ZpZXdDb250YWluZXJSZWYnXT8uZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uaWQ7XHJcblxyXG5cdFx0XHRcdFx0XHQvKiBJZiB0aGUgcGFuZWwgSUQgaXMgc2V0LCBzZXQgaXQgYXMgdXJsIHNlZ21lbnQgKGhhc2gpICovXHJcblx0XHRcdFx0XHRcdGlmIChjdXJyZW50UGFuZWxJZCkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7IGZyYWdtZW50OiBjdXJyZW50UGFuZWxJZCwgcmVwbGFjZVVybDogdHJ1ZSB9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LyogT3RoZXJ3aXNlIHJlbW92ZSB0aGUgc2VnbWVudCBmcm9tIHRoZSB1cmwgKi9cclxuXHRcdFx0XHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC8qIERldGVjdCBjaGFuZ2VzICovXHJcblx0XHRcdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHJcblx0XHQvKiBOb3RpZnkgZXhwYW5zaW9uIHBhbmVsIGxpc3QgY2hhbmdlcyAqL1xyXG5cdFx0dGhpcy5tYXRFeHBhbnNpb25QYW5lbFF1ZXJ5TGlzdC5ub3RpZnlPbkNoYW5nZXMoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJldHJpZXZlcyBhbiBpbnN0YW5jZSBmcm9tIHRoZSBpbmplY3RvciBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdG9rZW4uXHJcblx0ICogSWYgbm90IGZvdW5kOlxyXG5cdCAqIC0gVGhyb3dzIHtAbGluayBOb1Byb3ZpZGVyRXJyb3J9IGlmIG5vIGBub3RGb3VuZFZhbHVlYCB0aGF0IGlzIG5vdCBlcXVhbCB0b1xyXG5cdCAqIEluamVjdG9yLlRIUk9XX0lGX05PVF9GT1VORCBpcyBnaXZlblxyXG5cdCAqIC0gUmV0dXJucyB0aGUgYG5vdEZvdW5kVmFsdWVgIG90aGVyd2lzZVxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBnZXRTZXJ2aWNlPFQ+KHRva2VuOiBUeXBlPFQ+KTogVCB7XHJcblx0XHRyZXR1cm4gU2VydmljZUxvY2F0b3IuZ2V0U2VydmljZSh0b2tlbik7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIGJhc2Ugcm91dGVcclxuXHQgKiBAcGFyYW0gc25hcHNob3QgXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGdldE1haW5Sb3V0ZShzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IEFjdGl2YXRlZFJvdXRlU25hcHNob3Qge1xyXG5cdFx0aWYgKHNuYXBzaG90ICYmICFzbmFwc2hvdC5kYXRhLm1lbnUpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuZ2V0TWFpblJvdXRlKHNuYXBzaG90LnBhcmVudCk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHNuYXBzaG90O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0XHQgKiBTaG93cyBhIGNvbmZpcm0gZGlhbG9nIHRvIGRlbGV0ZSBhbiBpdGVtIFxyXG5cdFx0ICovXHJcblx0cHJvdGVjdGVkIHNob3dEZWxldGVJdGVtRGlhbG9nKCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5Db25maXJtKHtcclxuXHRcdFx0bWVzc2FnZTogJGxvY2FsaXplYDpAQGRpYWxvZy5tZXNzYWdlLmRlbGV0ZS5vbmU6QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/YCxcclxuXHRcdFx0dGl0bGU6ICRsb2NhbGl6ZWA6QEBkaWFsb2cudGl0bGUuZGVsZXRlOkNvbmZpcm0gRGVsZXRlYCxcclxuXHRcdFx0Y2FuY2VsQnV0dG9uOiAkbG9jYWxpemVgOkBAY2FuY2VsOkNhbmNlbGAsXHJcblx0XHRcdGFjY2VwdEJ1dHRvbjogJGxvY2FsaXplYDpAQGRlbGV0ZTpEZWxldGVgLFxyXG5cdFx0fSkuYWZ0ZXJDbG9zZWQoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNob3dzIGEgY29uZmlybSBkaWFsb2cgdG8gZGVsZXRlIG11bHRpcGxlIGl0ZW1zXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHNob3dEZWxldGVJdGVtc0RpYWxvZygpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuQ29uZmlybSh7XHJcblx0XHRcdG1lc3NhZ2U6ICRsb2NhbGl6ZWA6QEBkaWFsb2cubWVzc2FnZS5kZWxldGUubGlzdDpBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoZSBzZWxlY3RlZCBpdGVtcz9gLFxyXG5cdFx0XHR0aXRsZTogJGxvY2FsaXplYDpAQGRpYWxvZy50aXRsZS5kZWxldGU6Q29uZmlybSBEZWxldGVgLFxyXG5cdFx0XHRjYW5jZWxCdXR0b246ICRsb2NhbGl6ZWA6QEBjYW5jZWw6Q2FuY2VsYCxcclxuXHRcdFx0YWNjZXB0QnV0dG9uOiAkbG9jYWxpemVgOkBAZGVsZXRlOkRlbGV0ZWAsXHJcblx0XHR9KS5hZnRlckNsb3NlZCgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2hvd3MgYSBjb25maXJtIGRpYWxvZyB0byBzZW5kIHNvbWUgZGF0YVxyXG5cdCAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXlcclxuXHQgKiBAcGFyYW0gb2JzZXJ2YWJlIFRoZSBvYnNlcnZhYmxlIGluc3RhbmNlXHJcblx0ICogQHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBBIHN1Y2Nlc3MgY2FsbGJhY2tcclxuXHQgKiBAcGFyYW0gZXJyb3JDYWxsYmFjayBBbiBlcnJvciBjYWxsYmFja1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBzaG93Q29uZmlybWF0aW9uRGlhbG9nKG1lc3NhZ2U6IHN0cmluZywgb2JzZXJ2YWJlOiBPYnNlcnZhYmxlPGFueT4sIHN1Y2Nlc3NDYWxsYmFjazogRnVuY3Rpb24gPSBudWxsLCBlcnJvckNhbGxiYWNrOiBGdW5jdGlvbiA9IG51bGwpIHtcclxuXHRcdHRoaXMuZGlhbG9nU2VydmljZVxyXG5cdFx0XHQub3BlbkNvbmZpcm0oe1xyXG5cdFx0XHRcdG1lc3NhZ2U6IG1lc3NhZ2UsXHJcblx0XHRcdFx0dGl0bGU6ICRsb2NhbGl6ZWA6QEBkaWFsb2cudGl0bGUuY29uZmlybTpDb25maXJtYCxcclxuXHRcdFx0XHRjYW5jZWxCdXR0b246ICRsb2NhbGl6ZWA6QEBjYW5jZWw6Q2FuY2VsYCxcclxuXHRcdFx0XHRhY2NlcHRCdXR0b246ICRsb2NhbGl6ZWA6QEBvazpPa2AsXHJcblx0XHRcdH0pXHJcblx0XHRcdC5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoYWNjZXB0OiBib29sZWFuKSA9PiB7XHJcblx0XHRcdFx0aWYgKGFjY2VwdCkge1xyXG5cdFx0XHRcdFx0b2JzZXJ2YWJlLnN1YnNjcmliZSh4ID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5zaG93TWVzc2FnZSgkbG9jYWxpemVgOkBAc25hY2tiYXIuc2VuZC5zdWNjZXNzOkRhdGEgc2VudCBzdWNjZXNzZnVsbHkuYCk7XHJcblxyXG5cdFx0XHRcdFx0XHRpZiAoc3VjY2Vzc0NhbGxiYWNrKSB7XHJcblx0XHRcdFx0XHRcdFx0c3VjY2Vzc0NhbGxiYWNrKHgpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LCBlcnJvcnMgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmlzU2F2aW5nID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdGlmIChlcnJvckNhbGxiYWNrKSB7XHJcblx0XHRcdFx0XHRcdFx0ZXJyb3JDYWxsYmFjayhlcnJvcnMpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2hvd3MgYSBtZXNzYWdlXHJcblx0ICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gZGlzcGxheVxyXG5cdCAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHNob3dNZXNzYWdlKG1lc3NhZ2U/OiBzdHJpbmcsIHR5cGU6IE1lc3NhZ2VUeXBlID0gTWVzc2FnZVR5cGUuU3VjY2Vzcyk6IHZvaWQge1xyXG5cdFx0dmFyIHNuYWNrQmFyQ2xhc3MgPSAncHJpbWFyeSc7XHJcblx0XHRzd2l0Y2ggKHR5cGUpIHtcclxuXHRcdFx0Y2FzZSBNZXNzYWdlVHlwZS5TdWNjZXNzOlxyXG5cdFx0XHRcdHNuYWNrQmFyQ2xhc3MgPSAncHJpbWFyeSc7XHJcblx0XHRcdFx0YnJlYWs7XHJcblxyXG5cdFx0XHRjYXNlIE1lc3NhZ2VUeXBlLldhcm5pbmc6XHJcblx0XHRcdFx0c25hY2tCYXJDbGFzcyA9ICd3YXJuJztcclxuXHRcdFx0XHRicmVhaztcclxuXHJcblx0XHRcdGNhc2UgTWVzc2FnZVR5cGUuRXJyb3I6XHJcblx0XHRcdFx0c25hY2tCYXJDbGFzcyA9ICdlcnJvcic7XHJcblx0XHRcdFx0YnJlYWs7XHJcblxyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4obWVzc2FnZSB8fCAkbG9jYWxpemVgOkBAc25hY2tiYXIuc2VuZC5zdWNjZXNzOkRhdGEgc2VudCBzdWNjZXNzZnVsbHkuYCwgbnVsbCwge1xyXG5cdFx0XHRkdXJhdGlvbjogMzAwMCxcclxuXHRcdFx0cGFuZWxDbGFzczogW3NuYWNrQmFyQ2xhc3NdXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEluaXRvYWxpemVzIHRoZSB0aW55bWNlIGVkaXRvclxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBpbml0RWRpdG9yKGVkaXRvckNvbmZpZzogYW55ID0ge30pIHtcclxuXHRcdE9iamVjdC5hc3NpZ24odGhpcy5lZGl0b3JDb25maWcsIHtcclxuXHRcdFx0c3VmZml4OiAnLm1pbicsXHJcblx0XHRcdHNraW46IGZhbHNlLFxyXG5cdFx0XHRoZWlnaHQ6ICcxNzBweCcsXHJcblx0XHRcdGNvbnRlbnRfY3NzOiBmYWxzZSxcclxuXHRcdFx0cGx1Z2luczogdGhpcy5lZGl0b3JQbHVnaW5zLFxyXG5cdFx0XHR0b29sYmFyOiB0aGlzLmVkaXRvclRvb2xiYXIsXHJcblx0XHRcdHBhc3RlX2FzX3RleHQ6IHRydWUsXHJcblx0XHRcdGxhbmd1YWdlOiAnZGUnLFxyXG5cdFx0XHRsYW5ndWFnZV91cmw6ICcvYXNzZXRzL3RpbnltY2UvbGFuZ3MvZGUuanMnLFxyXG5cdFx0XHRkb2N1bWVudF9iYXNlX3VybDogYCR7dGhpcy5hcHBTZXR0aW5nLmFwaVVybH1maWxlL2AsXHJcblx0XHRcdGF1dG9tYXRpY191cGxvYWRzOiB0cnVlLFxyXG5cdFx0XHRyZWxhdGl2ZV91cmxzOiB0cnVlLFxyXG5cdFx0XHRjb252ZXJ0X3VybHM6IGZhbHNlLFxyXG5cdFx0XHRleHRlbmRlZF92YWxpZF9lbGVtZW50czogJ3NwYW5baWR8Y2xhc3N8c3R5bGVdLCtAW2RhdGEtb3B0aW9uc10nLFxyXG5cdFx0XHRhbGxvd19odG1sX2luX25hbWVkX2FuY2hvcjogdHJ1ZVxyXG5cdFx0fSwgZWRpdG9yQ29uZmlnKTtcclxuXHJcblx0XHR0aGlzLmlzRWRpdG9ySW5pdGlhbHplZCA9IHRydWU7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBTZXRzIHN1YnRpdGxlIGZyb20gY3VycmVuIG1lbnVcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgc2V0VGl0bGVzKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMubWVudSkge1xyXG5cdFx0XHR0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aGlzLm1lbnUudGl0bGUpO1xyXG5cdFx0XHR0aGlzLnRpdGxlID0gdGhpcy50aXRsZVNlcnZpY2UuZ2V0VGl0bGUoKTtcclxuXHJcblx0XHRcdGlmICh0aGlzLm1lbnUuaXRlbXMpIHtcclxuXHRcdFx0XHR2YXIgc3VibWVudSA9IHRoaXMubWVudS5pdGVtcy5maWx0ZXIoeCA9PiB4LnBhdGggPT0gdGhpcy5yb3V0ZXIudXJsKVswXTtcclxuXHRcdFx0XHRpZiAoc3VibWVudSkge1xyXG5cdFx0XHRcdFx0dGhpcy5zdWJ0aXRsZSA9IHN1Ym1lbnUudGl0bGU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBOYXZpZ2F0ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgYXJyYXkgb2YgY29tbWFuZHMgYW5kIGEgc3RhcnRpbmcgcG9pbnQuXHJcblx0ICogQHBhcmFtIGNvbW1hbmRzIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBuYXZpZ2F0ZShjb21tYW5kczogYW55W10sIHF1ZXJ5UGFyYW1zPzogYW55KTogdm9pZCB7XHJcblx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShjb21tYW5kcywgeyBxdWVyeVBhcmFtczogT2JqZWN0LmFzc2lnbih7IHJldHVyblVybDogdGhpcy5jdXJyZW50Um91dGUgfSwgcXVlcnlQYXJhbXMgfHwge30pLCByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29udmVydCBPYmplY3QgdG8gSHR0cEhlYWRlcnNcclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gYm9keVxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCB0b0h0dHBIZWFkZXJzKGJvZHk6IE9iamVjdCk6IEh0dHBIZWFkZXJzIHtcclxuXHRcdGlmICghYm9keSkge1xyXG5cdFx0XHRyZXR1cm4gbmV3IEh0dHBIZWFkZXJzKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGJvZHkpXHJcblx0XHRcdC5maWx0ZXIoa2V5ID0+IGJvZHlba2V5XSAhPSBudWxsICYmIGJvZHlba2V5XSAhPSAnJylcclxuXHRcdFx0LnJlZHVjZSgocCwga2V5KSA9PiBwLnNldChrZXksIGJvZHlba2V5XSksIG5ldyBIdHRwSGVhZGVycygpKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFBhcnNlcyBodHRwIHJlc3BvbnNlIGVycm9yc1xyXG5cdCAqIEBwYXJhbSBlcnJvcnMgXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHBhcnNlRXJyb3JzKGVycm9yczogT2JqZWN0KTogdm9pZCB7XHJcblx0XHR0aGlzLmVycm9ycyA9IFtdO1xyXG5cdFx0dGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuXHRcdHRoaXMuaXNTYXZpbmcgPSBmYWxzZTtcclxuXHJcblx0XHRpZiAoZXJyb3JzKSB7XHJcblx0XHRcdE9iamVjdC5rZXlzKGVycm9ycykuZm9yRWFjaChlbCA9PiB7XHJcblx0XHRcdFx0bGV0IGVycm9yID0gZXJyb3JzW2VsXTtcclxuXHRcdFx0XHRpZiAoQXJyYXkuaXNBcnJheShlcnJvcikpIHtcclxuXHRcdFx0XHRcdGVycm9yLmZvckVhY2goZXJyID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvcnMucHVzaChlcnIpO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSBlbHNlIGlmICh0eXBlb2YgZXJyb3IgPT09IFwic3RyaW5nXCIpIHtcclxuXHRcdFx0XHRcdHRoaXMuZXJyb3JzLnB1c2goZXJyb3IpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBIYW5kbGUgSHR0cCBvcGVyYXRpb24gdGhhdCBmYWlsZWQuXHJcblx0ICogTGV0IHRoZSBhcHAgY29udGludWUuXHJcblx0ICogQHBhcmFtIG9wZXJhdGlvbiAtIG5hbWUgb2YgdGhlIG9wZXJhdGlvbiB0aGF0IGZhaWxlZFxyXG5cdCAqIEBwYXJhbSByZXN1bHQgLSBvcHRpb25hbCB2YWx1ZSB0byByZXR1cm4gYXMgdGhlIG9ic2VydmFibGUgcmVzdWx0XHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGhhbmRsZUVycm9yPFQ+KG9wZXJhdGlvbiA9ICdvcGVyYXRpb24nLCByZXN1bHQ/OiBUKSB7XHJcblx0XHRyZXR1cm4gKGVycm9yOiBhbnkpOiBPYnNlcnZhYmxlPFQ+ID0+IHtcclxuXHJcblx0XHRcdC8qIFBhcnNlIHRoZSBlcnJvciBtZXNzYWdlcyAqL1xyXG5cdFx0XHR0aGlzLnBhcnNlRXJyb3JzKGVycm9yKTtcclxuXHJcblx0XHRcdC8qIExvZyB0byBjb25zb2xlICovXHJcblx0XHRcdHRoaXMud2FybihgJHtvcGVyYXRpb259IGZhaWxlZDogJHtlcnJvci5tZXNzYWdlfWApO1xyXG5cclxuXHRcdFx0LyogTGV0IHRoZSBhcHAga2VlcCBydW5uaW5nIGJ5IHJldHVybmluZyBhbiBlbXB0eSByZXN1bHQgKi9cclxuXHRcdFx0cmV0dXJuIG9mKHJlc3VsdCBhcyBUKTtcclxuXHRcdH07XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBMb2cgdG8gY29uc29sZVxyXG5cdCAqIEBwYXJhbSBtZXNzYWdlIFxyXG5cdCAqIEBwYXJhbSBvcHRpb25hbFBhcmFtcyBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgbG9nKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKSB7XHJcblx0XHRpZiAodGhpcy5kZWJ1Zykge1xyXG5cdFx0XHRjb25zb2xlLmxvZyhtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBMb2cgdG8gY29uc29sZVxyXG5cdCAqIEBwYXJhbSBtZXNzYWdlIFxyXG5cdCAqIEBwYXJhbSBvcHRpb25hbFBhcmFtcyBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgd2FybihtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdGlvbmFsUGFyYW1zOiBhbnlbXSkge1xyXG5cdFx0aWYgKHRoaXMuZGVidWcpIHtcclxuXHRcdFx0Y29uc29sZS53YXJuKG1lc3NhZ2UsIG9wdGlvbmFsUGFyYW1zKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENsZWFucyB0aGUgb2JqZWN0c1xyXG5cdCAqIFJlbW92ZXMgZW1wdHkgcHJvcGVydGllc1xyXG5cdCAqIEBwYXJhbSBvYmogXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGNsZWFuKG9iajogYW55KTogYW55IHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdGZvciAodmFyIHByb3BOYW1lIGluIG9iaikge1xyXG5cdFx0XHRcdGlmIChvYmpbcHJvcE5hbWVdID09PSBudWxsIHx8IG9ialtwcm9wTmFtZV0gPT09IHVuZGVmaW5lZCB8fCBvYmpbcHJvcE5hbWVdID09PSBcIlwiKSB7XHJcblx0XHRcdFx0XHRkZWxldGUgb2JqW3Byb3BOYW1lXTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0gY2F0Y2ggKGVycm9yKSB7IH1cclxuXHJcblx0XHRyZXR1cm4gb2JqO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2FuaXRpemVzIHRoZSBzcGVjaWZpZWQgb2JqZWN0XHJcblx0ICogQHBhcmFtIG9iaiBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgc2FuaXRpemVPYmplY3Qob2JqOiBhbnksIC4uLmlnbm9yZTogc3RyaW5nW10pOiBhbnkge1xyXG5cdFx0cmV0dXJuIE9iamVjdC5rZXlzKG9iailcclxuXHRcdFx0LmZpbHRlcih4ID0+IG9ialt4XSlcclxuXHRcdFx0LmZpbHRlcih4ID0+ICEoaWdub3JlIHx8IFtdKS5tYXAoeCA9PiB4LnRvTG93ZXJDYXNlKCkpLmluY2x1ZGVzKHgudG9Mb3dlckNhc2UoKSkpXHJcblx0XHRcdC5yZWR1Y2UoKHJlc3VsdCwga2V5KSA9PiB7XHJcblx0XHRcdFx0cmVzdWx0W2tleV0gPSBpc05hTigrb2JqW2tleV0pID8gb2JqW2tleV0gOiArb2JqW2tleV07XHJcblx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcclxuXHRcdFx0fSwge30pO1xyXG5cdH1cclxufSJdfQ==