@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
@@ -1,430 +0,0 @@
1
- import { BLUR, FOCUS, KEY_DOWN, KEY_PRESS, PASTE } from "../../const";
2
- import { AnnotationTypes } from "../../core/validator.static";
3
- import { getConfigObject } from "../../util/config-provider";
4
- import { FormProvider } from "../../util/form-provider";
5
- import { ObjectMaker } from "../../util/object-maker";
6
- import { RegexValidator } from "../../util/regex-validator";
7
- export class MaskProvider {
8
- constructor(input, mask, renderer, formControl, config) {
9
- this.input = input;
10
- this.mask = mask;
11
- this.renderer = renderer;
12
- this.formControl = formControl;
13
- this.config = config;
14
- this.eventListeners = [];
15
- this.oldValue = '';
16
- this.type = 'text';
17
- this.slotChar = '_';
18
- this.autoClear = false;
19
- this.isInvalid = false;
20
- this.internalProcess = false;
21
- this.bind();
22
- }
23
- bind() {
24
- if (RegexValidator.isNotBlank(this.formControl.value))
25
- this.input.value = this.formControl.value;
26
- this.tests = [];
27
- this.partialPosition = this.mask.length;
28
- this.len = this.mask.length;
29
- this.firstNonMaskPos = null;
30
- this.defs = {
31
- '9': '[0-9]',
32
- 'a': '[A-Za-z]',
33
- '*': '[A-Za-z0-9]'
34
- };
35
- this.androidChrome = false;
36
- let maskTokens = this.mask.split('');
37
- for (let i = 0; i < maskTokens.length; i++) {
38
- let c = maskTokens[i];
39
- if (c == '?') {
40
- this.len--;
41
- this.partialPosition = i;
42
- }
43
- else if (this.defs[c]) {
44
- this.tests.push(new RegExp(this.defs[c]));
45
- if (this.firstNonMaskPos === null) {
46
- this.firstNonMaskPos = this.tests.length - 1;
47
- }
48
- if (i < this.partialPosition) {
49
- this.lastRequiredNonMaskPos = this.tests.length - 1;
50
- }
51
- }
52
- else {
53
- this.tests.push(null);
54
- }
55
- }
56
- this.minLength = this.config.minLength ? this.lastRequiredNonMaskPos - (this.lastRequiredNonMaskPos - this.config.minLength) : this.lastRequiredNonMaskPos;
57
- this.buffer = [];
58
- for (let i = 0; i < maskTokens.length; i++) {
59
- let c = maskTokens[i];
60
- if (c != '?') {
61
- if (this.defs[c])
62
- this.buffer.push(this.getPlaceholder(i));
63
- else
64
- this.buffer.push(c);
65
- }
66
- }
67
- this.defaultBuffer = this.buffer.join('');
68
- this.focusText = this.input.value;
69
- this.bindEvents();
70
- this.checkVal();
71
- }
72
- bindEvents() {
73
- this.eventListeners.push(this.renderer.listen(this.input, FOCUS, this.onFocus.bind(this)));
74
- this.eventListeners.push(this.renderer.listen(this.input, BLUR, this.onBlur.bind(this)));
75
- this.eventListeners.push(this.renderer.listen(this.input, KEY_DOWN, this.onKeyDown.bind(this)));
76
- this.eventListeners.push(this.renderer.listen(this.input, KEY_PRESS, this.onKeyPress.bind(this)));
77
- this.eventListeners.push(this.renderer.listen(this.input, "input", this.onInput.bind(this)));
78
- this.eventListeners.push(this.renderer.listen(this.input, PASTE, this.handleInputChange.bind(this)));
79
- }
80
- validate() {
81
- if ((this.input.value && this.oldValue != this.input.value)) {
82
- this.checkVal(true);
83
- this.isCompleted(null, true);
84
- this.oldValue = this.input.value;
85
- }
86
- let config = getConfigObject(this.config, this.formControl);
87
- if (RegexValidator.isNotBlank(this.getUnmaskedValue()) && FormProvider.ProcessRule(this.formControl, config)) {
88
- if (this.isInvalid) {
89
- return ObjectMaker.toJson(AnnotationTypes.mask, config, [this.formControl.value]);
90
- }
91
- }
92
- return ObjectMaker.null();
93
- }
94
- writeValue(value) {
95
- this.value = value;
96
- if (this.input) {
97
- if (this.value == undefined || this.value == null) {
98
- this.input.value = '';
99
- }
100
- this.checkVal();
101
- }
102
- this.updateFilledState();
103
- }
104
- caret(first, last) {
105
- let range, begin, end;
106
- if (!this.input.offsetParent || this.input !== document.activeElement) {
107
- return;
108
- }
109
- if (typeof first == 'number') {
110
- begin = first;
111
- end = (typeof last === 'number') ? last : begin;
112
- if (this.input.setSelectionRange) {
113
- this.input.setSelectionRange(begin, end);
114
- }
115
- else if (this.input['createTextRange']) {
116
- range = this.input['createTextRange']();
117
- range.collapse(true);
118
- range.moveEnd('character', end);
119
- range.moveStart('character', begin);
120
- range.select();
121
- }
122
- }
123
- else {
124
- if (this.input.setSelectionRange) {
125
- begin = this.input.selectionStart;
126
- end = this.input.selectionEnd;
127
- }
128
- else if (document['selection'] && document['selection'].createRange) {
129
- range = document['selection'].createRange();
130
- begin = 0 - range.duplicate().moveStart('character', -100000);
131
- end = begin + range.text.length;
132
- }
133
- return { begin: begin, end: end };
134
- }
135
- }
136
- isCompleted(lastRequiredNonMaskPos, isNotRunValidator) {
137
- let completed;
138
- lastRequiredNonMaskPos = lastRequiredNonMaskPos || this.lastRequiredNonMaskPos;
139
- for (let i = this.firstNonMaskPos; i <= lastRequiredNonMaskPos; i++) {
140
- if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {
141
- return false;
142
- }
143
- }
144
- this.isInvalid = false;
145
- if (!isNotRunValidator)
146
- this.formControl.updateValueAndValidity();
147
- return true;
148
- }
149
- getPlaceholder(i) {
150
- if (i < this.slotChar.length) {
151
- return this.slotChar.charAt(i);
152
- }
153
- return this.slotChar.charAt(0);
154
- }
155
- seekNext(pos) {
156
- while (++pos < this.len && !this.tests[pos])
157
- ;
158
- return pos;
159
- }
160
- seekPrev(pos) {
161
- while (--pos >= 0 && !this.tests[pos])
162
- ;
163
- return pos;
164
- }
165
- shiftL(begin, end) {
166
- let i, j;
167
- if (begin < 0) {
168
- return;
169
- }
170
- for (i = begin, j = this.seekNext(end); i < this.len; i++) {
171
- if (this.tests[i]) {
172
- if (j < this.len && this.tests[i].test(this.buffer[j])) {
173
- this.buffer[i] = this.buffer[j];
174
- this.buffer[j] = this.getPlaceholder(j);
175
- }
176
- else {
177
- break;
178
- }
179
- j = this.seekNext(j);
180
- }
181
- }
182
- this.writeBuffer();
183
- this.caret(Math.max(this.firstNonMaskPos, begin));
184
- }
185
- shiftR(pos) {
186
- let i, c, j, t;
187
- for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) {
188
- if (this.tests[i]) {
189
- j = this.seekNext(i);
190
- t = this.buffer[i];
191
- this.buffer[i] = c;
192
- if (j < this.len && this.tests[j].test(t)) {
193
- c = t;
194
- }
195
- else {
196
- break;
197
- }
198
- }
199
- }
200
- }
201
- handleAndroidInput(e) {
202
- var curVal = this.input.value;
203
- var pos = this.caret();
204
- if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {
205
- this.checkVal(true);
206
- while (pos.begin > 0 && !this.tests[pos.begin - 1])
207
- pos.begin--;
208
- if (pos.begin === 0) {
209
- while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin])
210
- pos.begin++;
211
- }
212
- this.caret(pos.begin, pos.begin);
213
- }
214
- else {
215
- var pos2 = this.checkVal(true);
216
- while (pos.begin < this.len && !this.tests[pos.begin])
217
- pos.begin++;
218
- this.caret(pos.begin, pos.begin);
219
- }
220
- if (this.isCompleted()) {
221
- this.isInvalid = false;
222
- }
223
- else {
224
- this.isInvalid = true;
225
- this.formControl.updateValueAndValidity();
226
- }
227
- }
228
- onBlur(e) {
229
- this.focus = false;
230
- this.checkVal();
231
- this.updateModel(e);
232
- this.updateFilledState();
233
- if (this.input.value != this.focusText) {
234
- let event = document.createEvent('HTMLEvents');
235
- event.initEvent('change', true, false);
236
- this.input.dispatchEvent(event);
237
- let maskedValue = this.input.value;
238
- this.formControl.setValue(this.config.valueWithMask ? maskedValue : this.getUnmaskedValue());
239
- this.input.value = maskedValue;
240
- }
241
- }
242
- onKeyDown(e) {
243
- let k = e.which || e.keyCode, pos, begin, end;
244
- let iPhone = false;
245
- this.oldVal = this.input.value;
246
- let controlValid = this.config.minLength ? this.isCompleted(this.minLength + 1) : false;
247
- if (k === 8 || k === 46 || (iPhone && k === 127)) {
248
- pos = this.caret();
249
- begin = pos.begin;
250
- end = pos.end;
251
- if (end - begin === 0) {
252
- begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));
253
- end = k === 46 ? this.seekNext(end) : end;
254
- }
255
- this.clearBuffer(begin, end);
256
- this.shiftL(begin, end - 1);
257
- this.setControlValue(e, false, controlValid);
258
- this.updateModel(e);
259
- e.preventDefault();
260
- }
261
- else if (k === 13) {
262
- this.onBlur(e);
263
- this.setControlValue(e, false, controlValid);
264
- this.updateModel(e);
265
- }
266
- else if (k === 27) {
267
- this.input.value = this.focusText;
268
- this.caret(0, this.checkVal());
269
- this.updateModel(e);
270
- this.setControlValue(e, false, controlValid);
271
- e.preventDefault();
272
- }
273
- }
274
- onKeyPress(e) {
275
- var k = e.which || e.keyCode, pos = this.caret(), p, c, next, completed;
276
- if (e.ctrlKey || e.altKey || e.metaKey || k < 32) {
277
- return;
278
- }
279
- else if (k && k !== 13) {
280
- if (pos.end - pos.begin !== 0) {
281
- this.clearBuffer(pos.begin, pos.end);
282
- this.shiftL(pos.begin, pos.end - 1);
283
- }
284
- p = this.seekNext(pos.begin - 1);
285
- if (p < this.len) {
286
- c = String.fromCharCode(k);
287
- if (this.tests[p].test(c)) {
288
- this.shiftR(p);
289
- this.buffer[p] = c;
290
- this.writeBuffer();
291
- next = this.seekNext(p);
292
- this.caret(next);
293
- if (pos.begin <= this.lastRequiredNonMaskPos) {
294
- completed = this.isCompleted();
295
- }
296
- }
297
- }
298
- e.preventDefault();
299
- }
300
- this.updateModel(e);
301
- if (completed === undefined)
302
- completed = this.isCompleted();
303
- this.setControlValue(e, completed, this.config.minLength ? this.isCompleted(this.minLength) : false);
304
- }
305
- clearBuffer(start, end) {
306
- let i;
307
- for (i = start; i < end && i < this.len; i++) {
308
- if (this.tests[i]) {
309
- this.buffer[i] = this.getPlaceholder(i);
310
- }
311
- }
312
- }
313
- writeBuffer() {
314
- this.input.value = this.buffer.join('');
315
- }
316
- checkVal(allow) {
317
- let test = this.input.value, lastMatch = -1, i, c, pos;
318
- for (i = 0, pos = 0; i < this.len; i++) {
319
- if (this.tests[i]) {
320
- this.buffer[i] = this.getPlaceholder(i);
321
- while (pos++ < test.length) {
322
- c = test.charAt(pos - 1);
323
- if (this.tests[i].test(c)) {
324
- this.buffer[i] = c;
325
- lastMatch = i;
326
- break;
327
- }
328
- }
329
- if (pos > test.length) {
330
- this.clearBuffer(i + 1, this.len);
331
- break;
332
- }
333
- }
334
- else {
335
- if (this.buffer[i] === test.charAt(pos)) {
336
- pos++;
337
- }
338
- if (i < this.partialPosition) {
339
- lastMatch = i;
340
- }
341
- }
342
- }
343
- if (allow) {
344
- this.writeBuffer();
345
- }
346
- else if ((lastMatch + 1 < this.partialPosition) && (!this.config.minLength || !(lastMatch >= this.minLength))) {
347
- if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {
348
- this.isInvalid = true;
349
- }
350
- else {
351
- this.isInvalid = true;
352
- this.writeBuffer();
353
- }
354
- }
355
- else {
356
- this.writeBuffer();
357
- this.input.value = this.input.value.substring(0, lastMatch + 1);
358
- }
359
- return (this.partialPosition ? i : this.firstNonMaskPos);
360
- }
361
- onFocus(event) {
362
- this.focus = true;
363
- clearTimeout(this.caretTimeoutId);
364
- let pos;
365
- this.focusText = this.input.value;
366
- pos = this.checkVal();
367
- this.caretTimeoutId = setTimeout(() => {
368
- if (this.input !== document.activeElement) {
369
- return;
370
- }
371
- this.writeBuffer();
372
- if (pos == this.mask.replace("?", "").length) {
373
- this.caret(0, pos);
374
- }
375
- else {
376
- this.caret(pos);
377
- }
378
- this.updateFilledState();
379
- }, 10);
380
- }
381
- onInput(event) {
382
- if (this.androidChrome)
383
- this.handleAndroidInput(event);
384
- else
385
- this.handleInputChange(event);
386
- }
387
- setControlValue(e, isValid, isValidControl) {
388
- this.isInvalid = isValidControl ? !isValidControl : !isValid;
389
- let value = this.input.value;
390
- let controlValue = '';
391
- if (!this.isInvalid)
392
- controlValue = this.config.valueWithMask ? value : this.getUnmaskedValue();
393
- this.formControl.setValue(controlValue);
394
- this.oldValue = this.input.value = value;
395
- if (!isValid)
396
- this.onFocus(e);
397
- }
398
- handleInputChange(event) {
399
- setTimeout(() => {
400
- var pos = this.checkVal(true);
401
- this.caret(pos);
402
- this.updateModel(event);
403
- this.setControlValue(event, this.isCompleted());
404
- }, 0);
405
- }
406
- getUnmaskedValue() {
407
- let unmaskedBuffer = [];
408
- for (let i = 0; i < this.buffer.length; i++) {
409
- let c = this.buffer[i];
410
- if (this.tests[i] && c != this.getPlaceholder(i)) {
411
- unmaskedBuffer.push(c);
412
- }
413
- }
414
- return unmaskedBuffer.join('');
415
- }
416
- updateModel(e) {
417
- }
418
- updateFilledState() {
419
- this.filled = this.input && this.input.value != '';
420
- }
421
- onDestroy() {
422
- let eventCount = this.eventListeners.length;
423
- for (var i = 0; i < eventCount; i++) {
424
- this.eventListeners[0]();
425
- this.eventListeners.splice(0, 1);
426
- }
427
- this.eventListeners = [];
428
- }
429
- }
430
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9kb21haW4vZWxlbWVudC1wcm9jZXNzb3IvbWFzay5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE1BQU0sT0FBTyxZQUFZO0lBNENyQixZQUFvQixLQUF1QixFQUFVLElBQVksRUFBVSxRQUFtQixFQUFVLFdBQXdCLEVBQVUsTUFBa0I7UUFBeEksVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQTFDcEosbUJBQWMsR0FBVSxFQUFFLENBQUM7UUFFbkMsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUV0QixTQUFJLEdBQVcsTUFBTSxDQUFDO1FBRXRCLGFBQVEsR0FBVyxHQUFHLENBQUM7UUFFdkIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQW1HM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQXFRM0Isb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFyVTdCLElBQUksQ0FB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SSxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUM1QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDcEM7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW5kZXJlcjIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEJMVVIsIEZPQ1VTLCBLRVlfRE9XTiwgS0VZX1BSRVNTLCBQQVNURSB9IGZyb20gXCIuLi8uLi9jb25zdFwiO1xuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uLy4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xuaW1wb3J0IHsgTWFza0NvbmZpZyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29uZmlnL21hc2stY29uZmlnXCI7XG5pbXBvcnQgeyBnZXRDb25maWdPYmplY3QgfSBmcm9tIFwiLi4vLi4vdXRpbC9jb25maWctcHJvdmlkZXJcIjtcbmltcG9ydCB7IEZvcm1Qcm92aWRlciB9IGZyb20gXCIuLi8uLi91dGlsL2Zvcm0tcHJvdmlkZXJcIjtcbmltcG9ydCB7IE9iamVjdE1ha2VyIH0gZnJvbSBcIi4uLy4uL3V0aWwvb2JqZWN0LW1ha2VyXCI7XG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gXCIuLi8uLi91dGlsL3JlZ2V4LXZhbGlkYXRvclwiO1xuXG5leHBvcnQgY2xhc3MgTWFza1Byb3ZpZGVyIHtcblxuICAgIHByaXZhdGUgZXZlbnRMaXN0ZW5lcnM6IGFueVtdID0gW107XG5cbiAgICBvbGRWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgICB0eXBlOiBzdHJpbmcgPSAndGV4dCc7XG5cbiAgICBzbG90Q2hhcjogc3RyaW5nID0gJ18nO1xuXG4gICAgYXV0b0NsZWFyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICB2YWx1ZTogYW55O1xuXG4gICAgZGVmczogYW55O1xuXG4gICAgdGVzdHM6IGFueVtdO1xuXG4gICAgcGFydGlhbFBvc2l0aW9uOiBhbnk7XG5cbiAgICBmaXJzdE5vbk1hc2tQb3M6IG51bWJlcjtcblxuICAgIGxhc3RSZXF1aXJlZE5vbk1hc2tQb3M6IGFueTtcblxuICAgIGxlbjogbnVtYmVyO1xuXG4gICAgb2xkVmFsOiBzdHJpbmc7XG5cbiAgICBidWZmZXI6IGFueTtcblxuICAgIGRlZmF1bHRCdWZmZXI6IHN0cmluZztcblxuICAgIGZvY3VzVGV4dDogc3RyaW5nO1xuXG4gICAgY2FyZXRUaW1lb3V0SWQ6IGFueTtcblxuICAgIGFuZHJvaWRDaHJvbWU6IGJvb2xlYW47XG5cbiAgICBmb2N1czogYm9vbGVhbjtcblxuICAgIGZpbGxlZDogYm9vbGVhbjtcblxuICAgIG1pbkxlbmd0aDogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbnB1dDogSFRNTElucHV0RWxlbWVudCwgcHJpdmF0ZSBtYXNrOiBzdHJpbmcsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wsIHByaXZhdGUgY29uZmlnOiBNYXNrQ29uZmlnKSB7XG4gICAgICAgIHRoaXMuYmluZCgpO1xuICAgIH1cblxuICAgIGJpbmQoKSB7XG4gICAgICAgIGlmIChSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpKVxuICAgICAgICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XG4gICAgICAgIHRoaXMudGVzdHMgPSBbXTtcbiAgICAgICAgdGhpcy5wYXJ0aWFsUG9zaXRpb24gPSB0aGlzLm1hc2subGVuZ3RoO1xuICAgICAgICB0aGlzLmxlbiA9IHRoaXMubWFzay5sZW5ndGg7XG4gICAgICAgIHRoaXMuZmlyc3ROb25NYXNrUG9zID0gbnVsbDtcbiAgICAgICAgdGhpcy5kZWZzID0ge1xuICAgICAgICAgICAgJzknOiAnWzAtOV0nLFxuICAgICAgICAgICAgJ2EnOiAnW0EtWmEtel0nLFxuICAgICAgICAgICAgJyonOiAnW0EtWmEtejAtOV0nXG4gICAgICAgIH07XG5cblxuICAgICAgICB0aGlzLmFuZHJvaWRDaHJvbWUgPSBmYWxzZTtcblxuICAgICAgICBsZXQgbWFza1Rva2VucyA9IHRoaXMubWFzay5zcGxpdCgnJyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFza1Rva2Vucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IGMgPSBtYXNrVG9rZW5zW2ldO1xuICAgICAgICAgICAgaWYgKGMgPT0gJz8nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sZW4tLTtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcnRpYWxQb3NpdGlvbiA9IGk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLmRlZnNbY10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRlc3RzLnB1c2gobmV3IFJlZ0V4cCh0aGlzLmRlZnNbY10pKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maXJzdE5vbk1hc2tQb3MgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXJzdE5vbk1hc2tQb3MgPSB0aGlzLnRlc3RzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpIDwgdGhpcy5wYXJ0aWFsUG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0UmVxdWlyZWROb25NYXNrUG9zID0gdGhpcy50ZXN0cy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudGVzdHMucHVzaChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1pbkxlbmd0aCA9IHRoaXMuY29uZmlnLm1pbkxlbmd0aCA/IHRoaXMubGFzdFJlcXVpcmVkTm9uTWFza1BvcyAtICh0aGlzLmxhc3RSZXF1aXJlZE5vbk1hc2tQb3MgLSB0aGlzLmNvbmZpZy5taW5MZW5ndGgpIDogdGhpcy5sYXN0UmVxdWlyZWROb25NYXNrUG9zO1xuICAgICAgICB0aGlzLmJ1ZmZlciA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hc2tUb2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBjID0gbWFza1Rva2Vuc1tpXTtcbiAgICAgICAgICAgIGlmIChjICE9ICc/Jykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlZnNbY10pXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyLnB1c2godGhpcy5nZXRQbGFjZWhvbGRlcihpKSk7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlci5wdXNoKGMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGVmYXVsdEJ1ZmZlciA9IHRoaXMuYnVmZmVyLmpvaW4oJycpO1xuICAgICAgICB0aGlzLmZvY3VzVGV4dCA9IHRoaXMuaW5wdXQudmFsdWU7XG4gICAgICAgIHRoaXMuYmluZEV2ZW50cygpO1xuICAgICAgICB0aGlzLmNoZWNrVmFsKCk7XG4gICAgfVxuXG4gICAgYmluZEV2ZW50cygpIHtcbiAgICAgICAgdGhpcy5ldmVudExpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXQsIEZPQ1VTLCB0aGlzLm9uRm9jdXMuYmluZCh0aGlzKSkpO1xuICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5pbnB1dCwgQkxVUiwgdGhpcy5vbkJsdXIuYmluZCh0aGlzKSkpO1xuICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5pbnB1dCwgS0VZX0RPV04sIHRoaXMub25LZXlEb3duLmJpbmQodGhpcykpKTtcbiAgICAgICAgdGhpcy5ldmVudExpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXQsIEtFWV9QUkVTUywgdGhpcy5vbktleVByZXNzLmJpbmQodGhpcykpKTtcbiAgICAgICAgdGhpcy5ldmVudExpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXQsIFwiaW5wdXRcIiwgdGhpcy5vbklucHV0LmJpbmQodGhpcykpKTtcbiAgICAgICAgdGhpcy5ldmVudExpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXQsIFBBU1RFLCB0aGlzLmhhbmRsZUlucHV0Q2hhbmdlLmJpbmQodGhpcykpKTtcbiAgICB9XG4gICAgaXNJbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gICAgdmFsaWRhdGUoKSB7XG4gICAgICAgIGlmICgodGhpcy5pbnB1dC52YWx1ZSAmJiB0aGlzLm9sZFZhbHVlICE9IHRoaXMuaW5wdXQudmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrVmFsKHRydWUpO1xuICAgICAgICAgICAgdGhpcy5pc0NvbXBsZXRlZChudWxsLCB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMub2xkVmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlXG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNvbmZpZyA9IGdldENvbmZpZ09iamVjdCh0aGlzLmNvbmZpZywgdGhpcy5mb3JtQ29udHJvbCk7XG4gICAgICAgIGlmIChSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKHRoaXMuZ2V0VW5tYXNrZWRWYWx1ZSgpKSAmJiBGb3JtUHJvdmlkZXIuUHJvY2Vzc1J1bGUodGhpcy5mb3JtQ29udHJvbCwgY29uZmlnKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNJbnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihBbm5vdGF0aW9uVHlwZXMubWFzaywgY29uZmlnLCBbdGhpcy5mb3JtQ29udHJvbC52YWx1ZV0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLm51bGwoKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLmlucHV0KSB7XG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZSA9PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jaGVja1ZhbCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgIH1cblxuICAgIGNhcmV0KGZpcnN0PzogbnVtYmVyLCBsYXN0PzogbnVtYmVyKSB7XG4gICAgICAgIGxldCByYW5nZSwgYmVnaW4sIGVuZDtcblxuICAgICAgICBpZiAoIXRoaXMuaW5wdXQub2Zmc2V0UGFyZW50IHx8IHRoaXMuaW5wdXQgIT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgZmlyc3QgPT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIGJlZ2luID0gZmlyc3Q7XG4gICAgICAgICAgICBlbmQgPSAodHlwZW9mIGxhc3QgPT09ICdudW1iZXInKSA/IGxhc3QgOiBiZWdpbjtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0LnNldFNlbGVjdGlvblJhbmdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShiZWdpbiwgZW5kKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuaW5wdXRbJ2NyZWF0ZVRleHRSYW5nZSddKSB7XG4gICAgICAgICAgICAgICAgcmFuZ2UgPSB0aGlzLmlucHV0WydjcmVhdGVUZXh0UmFuZ2UnXSgpO1xuICAgICAgICAgICAgICAgIHJhbmdlLmNvbGxhcHNlKHRydWUpO1xuICAgICAgICAgICAgICAgIHJhbmdlLm1vdmVFbmQoJ2NoYXJhY3RlcicsIGVuZCk7XG4gICAgICAgICAgICAgICAgcmFuZ2UubW92ZVN0YXJ0KCdjaGFyYWN0ZXInLCBiZWdpbik7XG4gICAgICAgICAgICAgICAgcmFuZ2Uuc2VsZWN0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pbnB1dC5zZXRTZWxlY3Rpb25SYW5nZSkge1xuICAgICAgICAgICAgICAgIGJlZ2luID0gdGhpcy5pbnB1dC5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgICAgICBlbmQgPSB0aGlzLmlucHV0LnNlbGVjdGlvbkVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGRvY3VtZW50WydzZWxlY3Rpb24nXSAmJiBkb2N1bWVudFsnc2VsZWN0aW9uJ10uY3JlYXRlUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICByYW5nZSA9IGRvY3VtZW50WydzZWxlY3Rpb24nXS5jcmVhdGVSYW5nZSgpO1xuICAgICAgICAgICAgICAgIGJlZ2luID0gMCAtIHJhbmdlLmR1cGxpY2F0ZSgpLm1vdmVTdGFydCgnY2hhcmFjdGVyJywgLTEwMDAwMCk7XG4gICAgICAgICAgICAgICAgZW5kID0gYmVnaW4gKyByYW5nZS50ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHsgYmVnaW46IGJlZ2luLCBlbmQ6IGVuZCB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNDb21wbGV0ZWQobGFzdFJlcXVpcmVkTm9uTWFza1Bvcz86IG51bWJlciwgaXNOb3RSdW5WYWxpZGF0b3I/OiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBjb21wbGV0ZWQ6IGJvb2xlYW47XG4gICAgICAgIGxhc3RSZXF1aXJlZE5vbk1hc2tQb3MgPSBsYXN0UmVxdWlyZWROb25NYXNrUG9zIHx8IHRoaXMubGFzdFJlcXVpcmVkTm9uTWFza1BvcztcbiAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuZmlyc3ROb25NYXNrUG9zOyBpIDw9IGxhc3RSZXF1aXJlZE5vbk1hc2tQb3M7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbaV0gJiYgdGhpcy5idWZmZXJbaV0gPT09IHRoaXMuZ2V0UGxhY2Vob2xkZXIoaSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0ludmFsaWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKCFpc05vdFJ1blZhbGlkYXRvcilcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBnZXRQbGFjZWhvbGRlcihpOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGkgPCB0aGlzLnNsb3RDaGFyLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2xvdENoYXIuY2hhckF0KGkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNsb3RDaGFyLmNoYXJBdCgwKTtcbiAgICB9XG5cbiAgICBzZWVrTmV4dChwb3MpIHtcbiAgICAgICAgd2hpbGUgKCsrcG9zIDwgdGhpcy5sZW4gJiYgIXRoaXMudGVzdHNbcG9zXSk7XG4gICAgICAgIHJldHVybiBwb3M7XG4gICAgfVxuXG4gICAgc2Vla1ByZXYocG9zKSB7XG4gICAgICAgIHdoaWxlICgtLXBvcyA+PSAwICYmICF0aGlzLnRlc3RzW3Bvc10pO1xuICAgICAgICByZXR1cm4gcG9zO1xuICAgIH1cblxuICAgIHNoaWZ0TChiZWdpbjogbnVtYmVyLCBlbmQ6IG51bWJlcikge1xuICAgICAgICBsZXQgaSwgajtcblxuICAgICAgICBpZiAoYmVnaW4gPCAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGkgPSBiZWdpbiwgaiA9IHRoaXMuc2Vla05leHQoZW5kKTsgaSA8IHRoaXMubGVuOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW2ldKSB7XG4gICAgICAgICAgICAgICAgaWYgKGogPCB0aGlzLmxlbiAmJiB0aGlzLnRlc3RzW2ldLnRlc3QodGhpcy5idWZmZXJbal0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW2ldID0gdGhpcy5idWZmZXJbal07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW2pdID0gdGhpcy5nZXRQbGFjZWhvbGRlcihqKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBqID0gdGhpcy5zZWVrTmV4dChqKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLndyaXRlQnVmZmVyKCk7XG4gICAgICAgIHRoaXMuY2FyZXQoTWF0aC5tYXgodGhpcy5maXJzdE5vbk1hc2tQb3MsIGJlZ2luKSk7XG4gICAgfVxuXG4gICAgc2hpZnRSKHBvcykge1xuICAgICAgICBsZXQgaSwgYywgaiwgdDtcblxuICAgICAgICBmb3IgKGkgPSBwb3MsIGMgPSB0aGlzLmdldFBsYWNlaG9sZGVyKHBvcyk7IGkgPCB0aGlzLmxlbjsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50ZXN0c1tpXSkge1xuICAgICAgICAgICAgICAgIGogPSB0aGlzLnNlZWtOZXh0KGkpO1xuICAgICAgICAgICAgICAgIHQgPSB0aGlzLmJ1ZmZlcltpXTtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlcltpXSA9IGM7XG4gICAgICAgICAgICAgICAgaWYgKGogPCB0aGlzLmxlbiAmJiB0aGlzLnRlc3RzW2pdLnRlc3QodCkpIHtcbiAgICAgICAgICAgICAgICAgICAgYyA9IHQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlQW5kcm9pZElucHV0KGUpIHtcbiAgICAgICAgdmFyIGN1clZhbCA9IHRoaXMuaW5wdXQudmFsdWU7XG4gICAgICAgIHZhciBwb3MgPSB0aGlzLmNhcmV0KCk7XG4gICAgICAgIGlmICh0aGlzLm9sZFZhbCAmJiB0aGlzLm9sZFZhbC5sZW5ndGggJiYgdGhpcy5vbGRWYWwubGVuZ3RoID4gY3VyVmFsLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5jaGVja1ZhbCh0cnVlKTtcbiAgICAgICAgICAgIHdoaWxlIChwb3MuYmVnaW4gPiAwICYmICF0aGlzLnRlc3RzW3Bvcy5iZWdpbiAtIDFdKVxuICAgICAgICAgICAgICAgIHBvcy5iZWdpbi0tO1xuICAgICAgICAgICAgaWYgKHBvcy5iZWdpbiA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHdoaWxlIChwb3MuYmVnaW4gPCB0aGlzLmZpcnN0Tm9uTWFza1BvcyAmJiAhdGhpcy50ZXN0c1twb3MuYmVnaW5dKVxuICAgICAgICAgICAgICAgICAgICBwb3MuYmVnaW4rKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2FyZXQocG9zLmJlZ2luLCBwb3MuYmVnaW4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIHBvczIgPSB0aGlzLmNoZWNrVmFsKHRydWUpO1xuICAgICAgICAgICAgd2hpbGUgKHBvcy5iZWdpbiA8IHRoaXMubGVuICYmICF0aGlzLnRlc3RzW3Bvcy5iZWdpbl0pXG4gICAgICAgICAgICAgICAgcG9zLmJlZ2luKys7XG5cbiAgICAgICAgICAgIHRoaXMuY2FyZXQocG9zLmJlZ2luLCBwb3MuYmVnaW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDb21wbGV0ZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5pc0ludmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25CbHVyKGUpIHtcblxuXG4gICAgICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jaGVja1ZhbCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgICAgIGlmICh0aGlzLmlucHV0LnZhbHVlICE9IHRoaXMuZm9jdXNUZXh0KSB7XG4gICAgICAgICAgICBsZXQgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnSFRNTEV2ZW50cycpO1xuICAgICAgICAgICAgZXZlbnQuaW5pdEV2ZW50KCdjaGFuZ2UnLCB0cnVlLCBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmlucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgbGV0IG1hc2tlZFZhbHVlID0gdGhpcy5pbnB1dC52YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5jb25maWcudmFsdWVXaXRoTWFzayA/IG1hc2tlZFZhbHVlIDogdGhpcy5nZXRVbm1hc2tlZFZhbHVlKCkpO1xuICAgICAgICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IG1hc2tlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25LZXlEb3duKGUpIHtcbiAgICAgICAgbGV0IGsgPSBlLndoaWNoIHx8IGUua2V5Q29kZSxcbiAgICAgICAgICAgIHBvcyxcbiAgICAgICAgICAgIGJlZ2luLFxuICAgICAgICAgICAgZW5kO1xuICAgICAgICBsZXQgaVBob25lID0gZmFsc2U7XG4gICAgICAgIHRoaXMub2xkVmFsID0gdGhpcy5pbnB1dC52YWx1ZTtcbiAgICAgICAgbGV0IGNvbnRyb2xWYWxpZCA9IHRoaXMuY29uZmlnLm1pbkxlbmd0aCA/IHRoaXMuaXNDb21wbGV0ZWQodGhpcy5taW5MZW5ndGggKyAxKSA6IGZhbHNlO1xuICAgICAgICBpZiAoayA9PT0gOCB8fCBrID09PSA0NiB8fCAoaVBob25lICYmIGsgPT09IDEyNykpIHtcbiAgICAgICAgICAgIHBvcyA9IHRoaXMuY2FyZXQoKTtcbiAgICAgICAgICAgIGJlZ2luID0gcG9zLmJlZ2luO1xuICAgICAgICAgICAgZW5kID0gcG9zLmVuZDtcblxuXG4gICAgICAgICAgICBpZiAoZW5kIC0gYmVnaW4gPT09IDApIHtcbiAgICAgICAgICAgICAgICBiZWdpbiA9IGsgIT09IDQ2ID8gdGhpcy5zZWVrUHJldihiZWdpbikgOiAoZW5kID0gdGhpcy5zZWVrTmV4dChiZWdpbiAtIDEpKTtcbiAgICAgICAgICAgICAgICBlbmQgPSBrID09PSA0NiA/IHRoaXMuc2Vla05leHQoZW5kKSA6IGVuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jbGVhckJ1ZmZlcihiZWdpbiwgZW5kKTtcbiAgICAgICAgICAgIHRoaXMuc2hpZnRMKGJlZ2luLCBlbmQgLSAxKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKGUsIGZhbHNlLCBjb250cm9sVmFsaWQpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNb2RlbChlKTtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfSBlbHNlIGlmIChrID09PSAxMykge1xuICAgICAgICAgICAgdGhpcy5vbkJsdXIoZSk7XG4gICAgICAgICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShlLCBmYWxzZSwgY29udHJvbFZhbGlkKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kZWwoZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoayA9PT0gMjcpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXQudmFsdWUgPSB0aGlzLmZvY3VzVGV4dDtcbiAgICAgICAgICAgIHRoaXMuY2FyZXQoMCwgdGhpcy5jaGVja1ZhbCgpKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kZWwoZSk7XG4gICAgICAgICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShlLCBmYWxzZSwgY29udHJvbFZhbGlkKTtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBvbktleVByZXNzKGUpIHtcbiAgICAgICAgdmFyIGsgPSBlLndoaWNoIHx8IGUua2V5Q29kZSxcbiAgICAgICAgICAgIHBvcyA9IHRoaXMuY2FyZXQoKSxcbiAgICAgICAgICAgIHAsXG4gICAgICAgICAgICBjLFxuICAgICAgICAgICAgbmV4dCxcbiAgICAgICAgICAgIGNvbXBsZXRlZDtcbiAgICAgICAgaWYgKGUuY3RybEtleSB8fCBlLmFsdEtleSB8fCBlLm1ldGFLZXkgfHwgayA8IDMyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoayAmJiBrICE9PSAxMykge1xuICAgICAgICAgICAgaWYgKHBvcy5lbmQgLSBwb3MuYmVnaW4gIT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyQnVmZmVyKHBvcy5iZWdpbiwgcG9zLmVuZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaGlmdEwocG9zLmJlZ2luLCBwb3MuZW5kIC0gMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAgPSB0aGlzLnNlZWtOZXh0KHBvcy5iZWdpbiAtIDEpO1xuICAgICAgICAgICAgaWYgKHAgPCB0aGlzLmxlbikge1xuICAgICAgICAgICAgICAgIGMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGspO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW3BdLnRlc3QoYykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGlmdFIocCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbcF0gPSBjO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlQnVmZmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIG5leHQgPSB0aGlzLnNlZWtOZXh0KHApO1xuXG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJldChuZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBvcy5iZWdpbiA8PSB0aGlzLmxhc3RSZXF1aXJlZE5vbk1hc2tQb3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlZCA9IHRoaXMuaXNDb21wbGV0ZWQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlTW9kZWwoZSk7XG4gICAgICAgIGlmIChjb21wbGV0ZWQgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIGNvbXBsZXRlZCA9IHRoaXMuaXNDb21wbGV0ZWQoKVxuICAgICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShlLCBjb21wbGV0ZWQsIHRoaXMuY29uZmlnLm1pbkxlbmd0aCA/IHRoaXMuaXNDb21wbGV0ZWQodGhpcy5taW5MZW5ndGgpIDogZmFsc2UpO1xuICAgIH1cbiAgICBpbnRlcm5hbFByb2Nlc3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBjbGVhckJ1ZmZlcihzdGFydCwgZW5kKSB7XG4gICAgICAgIGxldCBpO1xuICAgICAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZCAmJiBpIDwgdGhpcy5sZW47IGkrKykge1xuICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbaV0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlcltpXSA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIoaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZUJ1ZmZlcigpIHtcbiAgICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IHRoaXMuYnVmZmVyLmpvaW4oJycpO1xuICAgIH1cblxuICAgIGNoZWNrVmFsKGFsbG93PzogYm9vbGVhbikge1xuICAgICAgICBsZXQgdGVzdCA9IHRoaXMuaW5wdXQudmFsdWUsXG4gICAgICAgICAgICBsYXN0TWF0Y2ggPSAtMSxcbiAgICAgICAgICAgIGksXG4gICAgICAgICAgICBjLFxuICAgICAgICAgICAgcG9zO1xuXG4gICAgICAgIGZvciAoaSA9IDAsIHBvcyA9IDA7IGkgPCB0aGlzLmxlbjsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50ZXN0c1tpXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW2ldID0gdGhpcy5nZXRQbGFjZWhvbGRlcihpKTtcbiAgICAgICAgICAgICAgICB3aGlsZSAocG9zKysgPCB0ZXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjID0gdGVzdC5jaGFyQXQocG9zIC0gMSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW2ldLnRlc3QoYykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW2ldID0gYztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RNYXRjaCA9IGk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocG9zID4gdGVzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhckJ1ZmZlcihpICsgMSwgdGhpcy5sZW4pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmJ1ZmZlcltpXSA9PT0gdGVzdC5jaGFyQXQocG9zKSkge1xuICAgICAgICAgICAgICAgICAgICBwb3MrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGkgPCB0aGlzLnBhcnRpYWxQb3NpdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBsYXN0TWF0Y2ggPSBpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoYWxsb3cpIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVCdWZmZXIoKTtcbiAgICAgICAgfSBlbHNlIGlmICgobGFzdE1hdGNoICsgMSA8IHRoaXMucGFydGlhbFBvc2l0aW9uKSAmJiAoIXRoaXMuY29uZmlnLm1pbkxlbmd0aCB8fCAhKGxhc3RNYXRjaCA+PSB0aGlzLm1pbkxlbmd0aCkpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hdXRvQ2xlYXIgfHwgdGhpcy5idWZmZXIuam9pbignJykgPT09IHRoaXMuZGVmYXVsdEJ1ZmZlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNJbnZhbGlkID0gdHJ1ZVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzSW52YWxpZCA9IHRydWVcbiAgICAgICAgICAgICAgICB0aGlzLndyaXRlQnVmZmVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlQnVmZmVyKCk7XG4gICAgICAgICAgICB0aGlzLmlucHV0LnZhbHVlID0gdGhpcy5pbnB1dC52YWx1ZS5zdWJzdHJpbmcoMCwgbGFzdE1hdGNoICsgMSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICh0aGlzLnBhcnRpYWxQb3NpdGlvbiA/IGkgOiB0aGlzLmZpcnN0Tm9uTWFza1Bvcyk7XG4gICAgfVxuXG4gICAgb25Gb2N1cyhldmVudCkge1xuXG4gICAgICAgIHRoaXMuZm9jdXMgPSB0cnVlO1xuXG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNhcmV0VGltZW91dElkKTtcbiAgICAgICAgbGV0IHBvcztcblxuICAgICAgICB0aGlzLmZvY3VzVGV4dCA9IHRoaXMuaW5wdXQudmFsdWU7XG5cbiAgICAgICAgcG9zID0gdGhpcy5jaGVja1ZhbCgpO1xuXG4gICAgICAgIHRoaXMuY2FyZXRUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0ICE9PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy53cml0ZUJ1ZmZlcigpO1xuICAgICAgICAgICAgaWYgKHBvcyA9PSB0aGlzLm1hc2sucmVwbGFjZShcIj9cIiwgXCJcIikubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJldCgwLCBwb3MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcmV0KHBvcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgICAgIH0sIDEwKTtcbiAgICB9XG5cbiAgICBvbklucHV0KGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmFuZHJvaWRDaHJvbWUpXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUFuZHJvaWRJbnB1dChldmVudCk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlSW5wdXRDaGFuZ2UoZXZlbnQpO1xuICAgIH1cbiAgICBzZXRDb250cm9sVmFsdWUoZSwgaXNWYWxpZCwgaXNWYWxpZENvbnRyb2w/OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNJbnZhbGlkID0gaXNWYWxpZENvbnRyb2wgPyAhaXNWYWxpZENvbnRyb2wgOiAhaXNWYWxpZDtcbiAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5pbnB1dC52YWx1ZTtcbiAgICAgICAgbGV0IGNvbnRyb2xWYWx1ZSA9ICcnO1xuICAgICAgICBpZiAoIXRoaXMuaXNJbnZhbGlkKVxuICAgICAgICAgICAgY29udHJvbFZhbHVlID0gdGhpcy5jb25maWcudmFsdWVXaXRoTWFzayA/IHZhbHVlIDogdGhpcy5nZXRVbm1hc2tlZFZhbHVlKClcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShjb250cm9sVmFsdWUpO1xuICAgICAgICB0aGlzLm9sZFZhbHVlID0gdGhpcy5pbnB1dC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICBpZiAoIWlzVmFsaWQpXG4gICAgICAgICAgICB0aGlzLm9uRm9jdXMoZSk7XG4gICAgfVxuXG4gICAgaGFuZGxlSW5wdXRDaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB2YXIgcG9zID0gdGhpcy5jaGVja1ZhbCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY2FyZXQocG9zKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kZWwoZXZlbnQpO1xuICAgICAgICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUoZXZlbnQsIHRoaXMuaXNDb21wbGV0ZWQoKSk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIGdldFVubWFza2VkVmFsdWUoKSB7XG4gICAgICAgIGxldCB1bm1hc2tlZEJ1ZmZlciA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYnVmZmVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgYyA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbaV0gJiYgYyAhPSB0aGlzLmdldFBsYWNlaG9sZGVyKGkpKSB7XG4gICAgICAgICAgICAgICAgdW5tYXNrZWRCdWZmZXIucHVzaChjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5tYXNrZWRCdWZmZXIuam9pbignJyk7XG4gICAgfVxuXG4gICAgdXBkYXRlTW9kZWwoZSkge1xuICAgIH1cblxuICAgIHVwZGF0ZUZpbGxlZFN0YXRlKCkge1xuICAgICAgICB0aGlzLmZpbGxlZCA9IHRoaXMuaW5wdXQgJiYgdGhpcy5pbnB1dC52YWx1ZSAhPSAnJztcbiAgICB9XG5cbiAgICBvbkRlc3Ryb3koKSB7XG4gICAgICAgIGxldCBldmVudENvdW50ID0gdGhpcy5ldmVudExpc3RlbmVycy5sZW5ndGg7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnRDb3VudDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzWzBdKCk7XG4gICAgICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLnNwbGljZSgwLCAxKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzID0gW107XG4gICAgfVxufSJdfQ==
@@ -1,47 +0,0 @@
1
- import { RegexValidator } from '../util/regex-validator';
2
- const OBJECT = "object";
3
- const BOOLEAN = "boolean";
4
- export class FormDataProvider {
5
- convertToFormData(jObject, options) {
6
- return this.convertFormData(jObject, undefined, undefined, options);
7
- }
8
- convertFormData(jObject, currentFormData, parentKey, options) {
9
- let formData = currentFormData || new FormData();
10
- let propName = '';
11
- for (var columnName in jObject) {
12
- propName = !parentKey ? columnName : `${parentKey}[${columnName}]`;
13
- if (Array.isArray(jObject[columnName])) {
14
- jObject[columnName].forEach((row, index) => {
15
- propName = `${columnName}[${index}]`;
16
- if (typeof row === OBJECT)
17
- this.convertFormData(row, formData, propName, options);
18
- else
19
- this.nonObjectValueBind(row, formData, propName, options);
20
- });
21
- }
22
- else if (jObject[columnName] !== null && !(jObject[columnName] instanceof Date) && typeof jObject[columnName] === OBJECT && !(jObject[columnName] instanceof File || jObject[columnName] instanceof FileList)) {
23
- this.convertFormData(jObject[columnName], formData, propName, options);
24
- }
25
- else {
26
- this.nonObjectValueBind(jObject[columnName], formData, propName, options);
27
- }
28
- }
29
- return formData;
30
- }
31
- nonObjectValueBind(value, formData, propName, options) {
32
- if (typeof value === BOOLEAN) {
33
- let formValue = value ? true : false;
34
- formData.append(propName, formValue);
35
- }
36
- else if (value instanceof FileList) {
37
- for (var i = 0; i < value.length; i++) {
38
- formData.append(options && options.excludeImageIndex && value.length === 1 ? propName : `${propName}[${i}]`, value.item(i));
39
- }
40
- }
41
- else {
42
- if (RegexValidator.isNotBlank(value))
43
- formData.append(propName, value);
44
- }
45
- }
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL2RvbWFpbi9mb3JtLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE1BQU0sTUFBTSxHQUFXLFFBQVEsQ0FBQztBQUNoQyxNQUFNLE9BQU8sR0FBVyxTQUFTLENBQUM7QUFFbEMsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixpQkFBaUIsQ0FBQyxPQUErQixFQUFFLE9BQXdCO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQStCLEVBQUUsZUFBMEIsRUFBRSxTQUFrQixFQUFFLE9BQXdCO1FBQ3JILElBQUksUUFBUSxHQUFHLGVBQWUsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2pELElBQUksUUFBUSxHQUFXLEVBQUUsQ0FBQztRQUMxQixLQUFLLElBQUksVUFBVSxJQUFJLE9BQU8sRUFBRTtZQUM1QixRQUFRLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUksVUFBVSxHQUFHLENBQUM7WUFDbkUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFO2dCQUNwQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUN2QyxRQUFRLEdBQUcsR0FBRyxVQUFVLElBQUksS0FBSyxHQUFHLENBQUM7b0JBQ3JDLElBQUksT0FBTyxHQUFHLEtBQUssTUFBTTt3QkFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQzs7d0JBRXZELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbEUsQ0FBQyxDQUFDLENBQUE7YUFDTDtpQkFBTSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxJQUFJLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxZQUFZLFFBQVEsQ0FBQyxFQUFFO2dCQUM3TSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFBO2FBQ3pFO2lCQUFNO2dCQUNILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUM3RTtTQUNKO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVUsRUFBRSxRQUFrQixFQUFFLFFBQWdCLEVBQUUsT0FBd0I7UUFDekYsSUFBSSxPQUFPLEtBQUssS0FBSyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxTQUFTLEdBQVEsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUMxQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUN4QzthQUFNLElBQUksS0FBSyxZQUFZLFFBQVEsRUFBRTtZQUNsQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbkMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvSDtTQUNKO2FBQU07WUFDSCxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO2dCQUNoQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN4QztJQUNMLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1EYXRhQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2ludGVyZmFjZS9mb3JtLWRhdGEtY29uZmlnJztcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSAnLi4vdXRpbC9yZWdleC12YWxpZGF0b3InO1xuXG5jb25zdCBPQkpFQ1Q6IHN0cmluZyA9IFwib2JqZWN0XCI7XG5jb25zdCBCT09MRUFOOiBzdHJpbmcgPSBcImJvb2xlYW5cIjtcblxuZXhwb3J0IGNsYXNzIEZvcm1EYXRhUHJvdmlkZXIge1xuXG4gICAgY29udmVydFRvRm9ybURhdGEoak9iamVjdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgb3B0aW9ucz86IEZvcm1EYXRhQ29uZmlnKTogRm9ybURhdGEge1xuICAgICAgICByZXR1cm4gdGhpcy5jb252ZXJ0Rm9ybURhdGEoak9iamVjdCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGNvbnZlcnRGb3JtRGF0YShqT2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBjdXJyZW50Rm9ybURhdGE/OiBGb3JtRGF0YSwgcGFyZW50S2V5Pzogc3RyaW5nLCBvcHRpb25zPzogRm9ybURhdGFDb25maWcpOiBGb3JtRGF0YSB7XG4gICAgICAgIGxldCBmb3JtRGF0YSA9IGN1cnJlbnRGb3JtRGF0YSB8fCBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgbGV0IHByb3BOYW1lOiBzdHJpbmcgPSAnJztcbiAgICAgICAgZm9yICh2YXIgY29sdW1uTmFtZSBpbiBqT2JqZWN0KSB7XG4gICAgICAgICAgICBwcm9wTmFtZSA9ICFwYXJlbnRLZXkgPyBjb2x1bW5OYW1lIDogYCR7cGFyZW50S2V5fVske2NvbHVtbk5hbWV9XWA7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShqT2JqZWN0W2NvbHVtbk5hbWVdKSkge1xuICAgICAgICAgICAgICAgIGpPYmplY3RbY29sdW1uTmFtZV0uZm9yRWFjaCgocm93LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwcm9wTmFtZSA9IGAke2NvbHVtbk5hbWV9WyR7aW5kZXh9XWA7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygcm93ID09PSBPQkpFQ1QpXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnZlcnRGb3JtRGF0YShyb3csIGZvcm1EYXRhLCBwcm9wTmFtZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm9uT2JqZWN0VmFsdWVCaW5kKHJvdywgZm9ybURhdGEsIHByb3BOYW1lLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIGlmIChqT2JqZWN0W2NvbHVtbk5hbWVdICE9PSBudWxsICYmICEoak9iamVjdFtjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIERhdGUpICYmIHR5cGVvZiBqT2JqZWN0W2NvbHVtbk5hbWVdID09PSBPQkpFQ1QgJiYgIShqT2JqZWN0W2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgRmlsZSB8fCBqT2JqZWN0W2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgRmlsZUxpc3QpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb252ZXJ0Rm9ybURhdGEoak9iamVjdFtjb2x1bW5OYW1lXSwgZm9ybURhdGEsIHByb3BOYW1lLCBvcHRpb25zKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vbk9iamVjdFZhbHVlQmluZChqT2JqZWN0W2NvbHVtbk5hbWVdLCBmb3JtRGF0YSwgcHJvcE5hbWUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmb3JtRGF0YTtcbiAgICB9XG5cbiAgICBub25PYmplY3RWYWx1ZUJpbmQodmFsdWU6IGFueSwgZm9ybURhdGE6IEZvcm1EYXRhLCBwcm9wTmFtZTogc3RyaW5nLCBvcHRpb25zPzogRm9ybURhdGFDb25maWcpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gQk9PTEVBTikge1xuICAgICAgICAgICAgbGV0IGZvcm1WYWx1ZTogYW55ID0gdmFsdWUgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQocHJvcE5hbWUsIGZvcm1WYWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBGaWxlTGlzdCkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChvcHRpb25zICYmIG9wdGlvbnMuZXhjbHVkZUltYWdlSW5kZXggJiYgdmFsdWUubGVuZ3RoID09PSAxID8gcHJvcE5hbWUgOiBgJHtwcm9wTmFtZX1bJHtpfV1gLCB2YWx1ZS5pdGVtKGkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKHZhbHVlKSlcbiAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQocHJvcE5hbWUsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxufSJdfQ==
@@ -1,11 +0,0 @@
1
- export var ErrorMessageBindingStrategy;
2
- (function (ErrorMessageBindingStrategy) {
3
- ErrorMessageBindingStrategy[ErrorMessageBindingStrategy["None"] = 0] = "None";
4
- ErrorMessageBindingStrategy[ErrorMessageBindingStrategy["OnSubmit"] = 1] = "OnSubmit";
5
- ErrorMessageBindingStrategy[ErrorMessageBindingStrategy["OnDirty"] = 2] = "OnDirty";
6
- ErrorMessageBindingStrategy[ErrorMessageBindingStrategy["OnTouched"] = 3] = "OnTouched";
7
- ErrorMessageBindingStrategy[ErrorMessageBindingStrategy["OnDirtyOrTouched"] = 4] = "OnDirtyOrTouched";
8
- ErrorMessageBindingStrategy[ErrorMessageBindingStrategy["OnDirtyOrSubmit"] = 5] = "OnDirtyOrSubmit";
9
- ErrorMessageBindingStrategy[ErrorMessageBindingStrategy["OnTouchedOrSubmit"] = 6] = "OnTouchedOrSubmit";
10
- })(ErrorMessageBindingStrategy || (ErrorMessageBindingStrategy = {}));
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS1iaW5kaW5nLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL2VudW1zL2Vycm9yLW1lc3NhZ2UtYmluZGluZy1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSwyQkFRWDtBQVJELFdBQVksMkJBQTJCO0lBQ25DLDZFQUFJLENBQUE7SUFDSixxRkFBUSxDQUFBO0lBQ1IsbUZBQU8sQ0FBQTtJQUNQLHVGQUFTLENBQUE7SUFDVCxxR0FBZ0IsQ0FBQTtJQUNoQixtR0FBZSxDQUFBO0lBQ2YsdUdBQWlCLENBQUE7QUFDckIsQ0FBQyxFQVJXLDJCQUEyQixLQUEzQiwyQkFBMkIsUUFRdEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFcnJvck1lc3NhZ2VCaW5kaW5nU3RyYXRlZ3kge1xuICAgIE5vbmUsXG4gICAgT25TdWJtaXQsXG4gICAgT25EaXJ0eSxcbiAgICBPblRvdWNoZWQsXG4gICAgT25EaXJ0eU9yVG91Y2hlZCxcbiAgICBPbkRpcnR5T3JTdWJtaXQsXG4gICAgT25Ub3VjaGVkT3JTdWJtaXRcbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- export * from './error-message-binding-strategy';
2
- export * from './ip-version';
3
- export * from './numeric-value-type';
4
- export * from './reset-type';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvZW51bXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lcnJvci1tZXNzYWdlLWJpbmRpbmctc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi9pcC12ZXJzaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbnVtZXJpYy12YWx1ZS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzZXQtdHlwZSc7XG5cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export var IpVersion;
2
- (function (IpVersion) {
3
- IpVersion[IpVersion["V4"] = 1] = "V4";
4
- IpVersion[IpVersion["V6"] = 2] = "V6";
5
- IpVersion[IpVersion["AnyOne"] = 3] = "AnyOne";
6
- })(IpVersion || (IpVersion = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXAtdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9lbnVtcy9pcC12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIscUNBQU0sQ0FBQTtJQUNOLHFDQUFFLENBQUE7SUFDRiw2Q0FBTSxDQUFBO0FBQ1IsQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSXBWZXJzaW9uIHtcbiAgVjQgPSAxLFxuICBWNixcbiAgQW55T25lXG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- export var NumericValueType;
2
- (function (NumericValueType) {
3
- NumericValueType[NumericValueType["PositiveNumber"] = 1] = "PositiveNumber";
4
- NumericValueType[NumericValueType["NegativeNumber"] = 2] = "NegativeNumber";
5
- NumericValueType[NumericValueType["Both"] = 3] = "Both";
6
- })(NumericValueType || (NumericValueType = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy12YWx1ZS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL2VudW1zL251bWVyaWMtdmFsdWUtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFJWDtBQUpELFdBQVksZ0JBQWdCO0lBQ3hCLDJFQUFrQixDQUFBO0lBQ2xCLDJFQUFjLENBQUE7SUFDZCx1REFBSSxDQUFBO0FBQ1IsQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBOdW1lcmljVmFsdWVUeXBlIHtcbiAgICBQb3NpdGl2ZU51bWJlciA9IDEsXG4gICAgTmVnYXRpdmVOdW1iZXIsXG4gICAgQm90aFxufVxuIl19
@@ -1,10 +0,0 @@
1
- export var ResetFormType;
2
- (function (ResetFormType) {
3
- ResetFormType[ResetFormType["ControlsOnly"] = 1] = "ControlsOnly";
4
- ResetFormType[ResetFormType["FormGroupsOnly"] = 2] = "FormGroupsOnly";
5
- ResetFormType[ResetFormType["FormArraysOnly"] = 3] = "FormArraysOnly";
6
- ResetFormType[ResetFormType["ControlsAndFormGroupsOnly"] = 4] = "ControlsAndFormGroupsOnly";
7
- ResetFormType[ResetFormType["DefinedPropsOnly"] = 5] = "DefinedPropsOnly";
8
- ResetFormType[ResetFormType["All"] = 6] = "All";
9
- })(ResetFormType || (ResetFormType = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9lbnVtcy9yZXNldC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFDckIsaUVBQWdCLENBQUE7SUFDaEIscUVBQWMsQ0FBQTtJQUNkLHFFQUFjLENBQUE7SUFDZCwyRkFBeUIsQ0FBQTtJQUN6Qix5RUFBZ0IsQ0FBQTtJQUNoQiwrQ0FBRyxDQUFBO0FBQ1AsQ0FBQyxFQVBXLGFBQWEsS0FBYixhQUFhLFFBT3hCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUmVzZXRGb3JtVHlwZSB7XG4gICAgQ29udHJvbHNPbmx5ID0gMSxcbiAgICBGb3JtR3JvdXBzT25seSxcbiAgICBGb3JtQXJyYXlzT25seSxcbiAgICBDb250cm9sc0FuZEZvcm1Hcm91cHNPbmx5LFxuICAgIERlZmluZWRQcm9wc09ubHksXG4gICAgQWxsXG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- export var UrlValidationType;
2
- (function (UrlValidationType) {
3
- UrlValidationType[UrlValidationType["FQDN"] = 1] = "FQDN";
4
- UrlValidationType[UrlValidationType["LocalHost"] = 2] = "LocalHost";
5
- UrlValidationType[UrlValidationType["IntranetServer"] = 3] = "IntranetServer";
6
- })(UrlValidationType || (UrlValidationType = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXZhbGlkYXRpb24tdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9lbnVtcy91cmwtdmFsaWRhdGlvbi10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQUlYO0FBSkQsV0FBWSxpQkFBaUI7SUFDekIseURBQVEsQ0FBQTtJQUNSLG1FQUFTLENBQUE7SUFDVCw2RUFBYyxDQUFBO0FBQ2xCLENBQUMsRUFKVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSTVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVXJsVmFsaWRhdGlvblR5cGUge1xuICAgIEZRRE4gPSAxLFxuICAgIExvY2FsSG9zdCxcbiAgICBJbnRyYW5ldFNlcnZlclxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxwaGEtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL21vZGVscy9jb25maWcvYWxwaGEtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29uZmlnRm4gfSBmcm9tICcuL2Jhc2UtY29uZmlnLWZuJztcblxuZXhwb3J0IGludGVyZmFjZSBBbHBoYUNvbmZpZyBleHRlbmRzIEJhc2VDb25maWdGbjxBbHBoYUNvbmZpZz4ge1xuICAgIGFsbG93V2hpdGVTcGFjZT86IGJvb2xlYW47XG4gICAgbG9jYWxlPzogc3RyaW5nO1xufVxuIl19