@messaia/cdk 0.0.0-CDK

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 (1078) hide show
  1. package/esm2020/lib/base/base.module.mjs +66 -0
  2. package/esm2020/lib/base/components/base.component.mjs +441 -0
  3. package/esm2020/lib/base/components/generic-form-base.component.mjs +602 -0
  4. package/esm2020/lib/base/components/generic-form.component.mjs +31 -0
  5. package/esm2020/lib/base/components/generic-list.component.mjs +539 -0
  6. package/esm2020/lib/base/components/generic-reactive-form.component.mjs +54 -0
  7. package/esm2020/lib/base/constants/common.mjs +24 -0
  8. package/esm2020/lib/base/enums/message-type.mjs +7 -0
  9. package/esm2020/lib/base/helpers/auth-helper.mjs +46 -0
  10. package/esm2020/lib/base/interceptors/base.interceptor.mjs +138 -0
  11. package/esm2020/lib/base/interceptors/caching-interceptor.mjs +68 -0
  12. package/esm2020/lib/base/interceptors/loading.interceptor.mjs +63 -0
  13. package/esm2020/lib/base/models/auth-user.mjs +3 -0
  14. package/esm2020/lib/base/public_api.mjs +2 -0
  15. package/esm2020/lib/base/services/file.service.mjs +18 -0
  16. package/esm2020/lib/base/services/loading-screen.service.mjs +47 -0
  17. package/esm2020/lib/base/services/print.service.mjs +40 -0
  18. package/esm2020/lib/chips/chips.module.mjs +63 -0
  19. package/esm2020/lib/chips/components/chips.component.mjs +419 -0
  20. package/esm2020/lib/chips/public_api.mjs +3 -0
  21. package/esm2020/lib/common/animations/collapse/collapse.animation.mjs +44 -0
  22. package/esm2020/lib/common/animations/common/interfaces.mjs +2 -0
  23. package/esm2020/lib/common/behaviors/constructor.mjs +2 -0
  24. package/esm2020/lib/common/behaviors/control-value-accesor.mixin.mjs +39 -0
  25. package/esm2020/lib/common/behaviors/disabled.mixin.mjs +24 -0
  26. package/esm2020/lib/common/common.module.mjs +121 -0
  27. package/esm2020/lib/common/constants/constants.mjs +2 -0
  28. package/esm2020/lib/common/directives/disable-control.directive.mjs +34 -0
  29. package/esm2020/lib/common/enums/salutation.mjs +7 -0
  30. package/esm2020/lib/common/functions/decorators.mjs +22 -0
  31. package/esm2020/lib/common/functions/functions.mjs +9 -0
  32. package/esm2020/lib/common/functions/utils.mjs +161 -0
  33. package/esm2020/lib/common/helpers/app-storage.mjs +53 -0
  34. package/esm2020/lib/common/helpers/dynamic-builder.mjs +49 -0
  35. package/esm2020/lib/common/models/action-menu-item.mjs +12 -0
  36. package/esm2020/lib/common/models/app-setting.mjs +10 -0
  37. package/esm2020/lib/common/models/audit-entity.mjs +18 -0
  38. package/esm2020/lib/common/models/audit-user.mjs +3 -0
  39. package/esm2020/lib/common/models/base-entity.mjs +18 -0
  40. package/esm2020/lib/common/models/entity.mjs +2 -0
  41. package/esm2020/lib/common/models/enum-item.mjs +2 -0
  42. package/esm2020/lib/common/models/key-value.mjs +3 -0
  43. package/esm2020/lib/common/models/save-action.mjs +7 -0
  44. package/esm2020/lib/common/pipes/data-source.pipe.mjs +15 -0
  45. package/esm2020/lib/common/pipes/enum.pipe.mjs +23 -0
  46. package/esm2020/lib/common/pipes/file-size.pipe.mjs +37 -0
  47. package/esm2020/lib/common/pipes/filter.pipe.mjs +23 -0
  48. package/esm2020/lib/common/pipes/first-letter.mjs +24 -0
  49. package/esm2020/lib/common/pipes/keys.mjs +18 -0
  50. package/esm2020/lib/common/pipes/month-name.pipe.mjs +27 -0
  51. package/esm2020/lib/common/pipes/only-number.mjs +53 -0
  52. package/esm2020/lib/common/pipes/order.pipe.mjs +183 -0
  53. package/esm2020/lib/common/pipes/placeholder.pipe.mjs +26 -0
  54. package/esm2020/lib/common/pipes/safe-html.pipe.mjs +31 -0
  55. package/esm2020/lib/common/pipes/time.pipe.mjs +20 -0
  56. package/esm2020/lib/common/pipes/titlecase.pipe.mjs +14 -0
  57. package/esm2020/lib/common/pipes/truncate.pipe.mjs +15 -0
  58. package/esm2020/lib/common/pipes/values.mjs +14 -0
  59. package/esm2020/lib/common/public_api.mjs +18 -0
  60. package/esm2020/lib/common/services/base.service.mjs +19 -0
  61. package/esm2020/lib/common/services/context-helper.mjs +4 -0
  62. package/esm2020/lib/common/services/enum.service.mjs +44 -0
  63. package/esm2020/lib/common/services/service-locator.mjs +24 -0
  64. package/esm2020/lib/dialogs/alert-dialog/alert-dialog.component.mjs +31 -0
  65. package/esm2020/lib/dialogs/confirm-dialog/confirm-dialog.component.mjs +37 -0
  66. package/esm2020/lib/dialogs/dialog.component.mjs +56 -0
  67. package/esm2020/lib/dialogs/dialogs.module.mjs +82 -0
  68. package/esm2020/lib/dialogs/prompt-dialog/prompt-dialog.component.mjs +40 -0
  69. package/esm2020/lib/dialogs/public_api.mjs +2 -0
  70. package/esm2020/lib/dialogs/services/dialog.service.mjs +136 -0
  71. package/esm2020/lib/file/file-input.component.mjs +327 -0
  72. package/esm2020/lib/file/file.module.mjs +39 -0
  73. package/esm2020/lib/file/public_api.mjs +2 -0
  74. package/esm2020/lib/form-validators/abstract/typed-form.mjs +3 -0
  75. package/esm2020/lib/form-validators/algorithm/luhn-algorithm.mjs +15 -0
  76. package/esm2020/lib/form-validators/const/app-validators.const.mjs +68 -0
  77. package/esm2020/lib/form-validators/const/app.const.mjs +17 -0
  78. package/esm2020/lib/form-validators/const/config-names.const.mjs +9 -0
  79. package/esm2020/lib/form-validators/const/config-required-fields.const.mjs +11 -0
  80. package/esm2020/lib/form-validators/const/decorators.const.mjs +23 -0
  81. package/esm2020/lib/form-validators/const/events.const.mjs +14 -0
  82. package/esm2020/lib/form-validators/const/html-elements.const.mjs +7 -0
  83. package/esm2020/lib/form-validators/const/iban-country-wise-regex.const.mjs +80 -0
  84. package/esm2020/lib/form-validators/const/index.mjs +6 -0
  85. package/esm2020/lib/form-validators/const/operators.const.mjs +7 -0
  86. package/esm2020/lib/form-validators/const/validation-alphabet-locale.const.mjs +9 -0
  87. package/esm2020/lib/form-validators/const/validator.const.mjs +8 -0
  88. package/esm2020/lib/form-validators/core/defaultContainer.mjs +243 -0
  89. package/esm2020/lib/form-validators/core/validator.interface.mjs +2 -0
  90. package/esm2020/lib/form-validators/core/validator.static.mjs +74 -0
  91. package/esm2020/lib/form-validators/decorators/allOf.decorator.mjs +10 -0
  92. package/esm2020/lib/form-validators/decorators/alpha.decorator.mjs +10 -0
  93. package/esm2020/lib/form-validators/decorators/alphaNumeric.decorator.mjs +10 -0
  94. package/esm2020/lib/form-validators/decorators/and.decorator.mjs +6 -0
  95. package/esm2020/lib/form-validators/decorators/ascii.decorator.mjs +6 -0
  96. package/esm2020/lib/form-validators/decorators/async.decorator.mjs +6 -0
  97. package/esm2020/lib/form-validators/decorators/base-decorator.function.mjs +7 -0
  98. package/esm2020/lib/form-validators/decorators/choice.decorator.mjs +10 -0
  99. package/esm2020/lib/form-validators/decorators/compare.decorator.mjs +6 -0
  100. package/esm2020/lib/form-validators/decorators/compose.decorator.mjs +6 -0
  101. package/esm2020/lib/form-validators/decorators/contains.decorator.mjs +10 -0
  102. package/esm2020/lib/form-validators/decorators/credit-card.decorator.mjs +10 -0
  103. package/esm2020/lib/form-validators/decorators/cusip.decorator.mjs +6 -0
  104. package/esm2020/lib/form-validators/decorators/custom.decorator.mjs +10 -0
  105. package/esm2020/lib/form-validators/decorators/dataUri.decorator.mjs +6 -0
  106. package/esm2020/lib/form-validators/decorators/date.decorator.mjs +10 -0
  107. package/esm2020/lib/form-validators/decorators/different.decorator.mjs +6 -0
  108. package/esm2020/lib/form-validators/decorators/digit.decorator.mjs +6 -0
  109. package/esm2020/lib/form-validators/decorators/email.decorator.mjs +6 -0
  110. package/esm2020/lib/form-validators/decorators/endsWith.decorator.mjs +10 -0
  111. package/esm2020/lib/form-validators/decorators/even.decorator.mjs +6 -0
  112. package/esm2020/lib/form-validators/decorators/extension.decorator.mjs +10 -0
  113. package/esm2020/lib/form-validators/decorators/factor.decorator.mjs +10 -0
  114. package/esm2020/lib/form-validators/decorators/file.decorator.mjs +10 -0
  115. package/esm2020/lib/form-validators/decorators/fileSize.decorator.mjs +10 -0
  116. package/esm2020/lib/form-validators/decorators/greater-than-equal-to.decorator.mjs +10 -0
  117. package/esm2020/lib/form-validators/decorators/greater-than.decorator.mjs +10 -0
  118. package/esm2020/lib/form-validators/decorators/grid.decorator.mjs +6 -0
  119. package/esm2020/lib/form-validators/decorators/hexColor.decorator.mjs +6 -0
  120. package/esm2020/lib/form-validators/decorators/image.decorator.mjs +10 -0
  121. package/esm2020/lib/form-validators/decorators/index.mjs +91 -0
  122. package/esm2020/lib/form-validators/decorators/json.decorator.mjs +6 -0
  123. package/esm2020/lib/form-validators/decorators/latLong.decorator.mjs +6 -0
  124. package/esm2020/lib/form-validators/decorators/latitude.decorator.mjs +6 -0
  125. package/esm2020/lib/form-validators/decorators/leapYear.decorator.mjs +6 -0
  126. package/esm2020/lib/form-validators/decorators/less-than-equal-to.decorator.mjs +10 -0
  127. package/esm2020/lib/form-validators/decorators/less-than.decorator.mjs +10 -0
  128. package/esm2020/lib/form-validators/decorators/longitude.decorator.mjs +6 -0
  129. package/esm2020/lib/form-validators/decorators/lowercase.decorator.mjs +6 -0
  130. package/esm2020/lib/form-validators/decorators/mac.decorator.mjs +6 -0
  131. package/esm2020/lib/form-validators/decorators/mask.decorator.mjs +6 -0
  132. package/esm2020/lib/form-validators/decorators/maxDate.decorator.mjs +10 -0
  133. package/esm2020/lib/form-validators/decorators/maxLength.decorator.mjs +10 -0
  134. package/esm2020/lib/form-validators/decorators/maxNumber.decorator.mjs +10 -0
  135. package/esm2020/lib/form-validators/decorators/maxTime.decorator.mjs +10 -0
  136. package/esm2020/lib/form-validators/decorators/minDate.decorator.mjs +10 -0
  137. package/esm2020/lib/form-validators/decorators/minLength.decorator.mjs +10 -0
  138. package/esm2020/lib/form-validators/decorators/minNumber.decorator.mjs +10 -0
  139. package/esm2020/lib/form-validators/decorators/minTime.decorator.mjs +10 -0
  140. package/esm2020/lib/form-validators/decorators/model.decorator.mjs +7 -0
  141. package/esm2020/lib/form-validators/decorators/non-validation-decorators/disable.decorator.mjs +8 -0
  142. package/esm2020/lib/form-validators/decorators/non-validation-decorators/elementClass.decorator.mjs +8 -0
  143. package/esm2020/lib/form-validators/decorators/non-validation-decorators/error.decorator.mjs +8 -0
  144. package/esm2020/lib/form-validators/decorators/noneOf.decorator.mjs +10 -0
  145. package/esm2020/lib/form-validators/decorators/not.decorator.mjs +6 -0
  146. package/esm2020/lib/form-validators/decorators/notEmpty.decorator.mjs +6 -0
  147. package/esm2020/lib/form-validators/decorators/numeric.decorator.mjs +10 -0
  148. package/esm2020/lib/form-validators/decorators/odd.decorator.mjs +6 -0
  149. package/esm2020/lib/form-validators/decorators/oneOf.decorator.mjs +10 -0
  150. package/esm2020/lib/form-validators/decorators/or.decorator.mjs +6 -0
  151. package/esm2020/lib/form-validators/decorators/password.decorator.mjs +10 -0
  152. package/esm2020/lib/form-validators/decorators/pattern.decorator.mjs +10 -0
  153. package/esm2020/lib/form-validators/decorators/port.decorator.mjs +6 -0
  154. package/esm2020/lib/form-validators/decorators/primeNumber.decorator.mjs +6 -0
  155. package/esm2020/lib/form-validators/decorators/prop-array.decorator.mjs +18 -0
  156. package/esm2020/lib/form-validators/decorators/prop-object.decorator.mjs +8 -0
  157. package/esm2020/lib/form-validators/decorators/prop.decorator.mjs +16 -0
  158. package/esm2020/lib/form-validators/decorators/range.decorator.mjs +10 -0
  159. package/esm2020/lib/form-validators/decorators/required.decorator.mjs +6 -0
  160. package/esm2020/lib/form-validators/decorators/requiredTrue.decorator.mjs +6 -0
  161. package/esm2020/lib/form-validators/decorators/rule.decorator.mjs +6 -0
  162. package/esm2020/lib/form-validators/decorators/sanitize/blacklist.decorator.mjs +8 -0
  163. package/esm2020/lib/form-validators/decorators/sanitize/escape.decorator.mjs +8 -0
  164. package/esm2020/lib/form-validators/decorators/sanitize/ltrim.decorator.mjs +8 -0
  165. package/esm2020/lib/form-validators/decorators/sanitize/prefix.decorator.mjs +8 -0
  166. package/esm2020/lib/form-validators/decorators/sanitize/rtrim.decorator.mjs +8 -0
  167. package/esm2020/lib/form-validators/decorators/sanitize/sanitize.decorator.mjs +8 -0
  168. package/esm2020/lib/form-validators/decorators/sanitize/stripLow.decorator.mjs +8 -0
  169. package/esm2020/lib/form-validators/decorators/sanitize/suffix.decorator.mjs +8 -0
  170. package/esm2020/lib/form-validators/decorators/sanitize/toBoolean.decorator.mjs +8 -0
  171. package/esm2020/lib/form-validators/decorators/sanitize/toDate.decorator.mjs +8 -0
  172. package/esm2020/lib/form-validators/decorators/sanitize/toDouble.decorator.mjs +8 -0
  173. package/esm2020/lib/form-validators/decorators/sanitize/toFloat.decorator.mjs +8 -0
  174. package/esm2020/lib/form-validators/decorators/sanitize/toInt.decorator.mjs +8 -0
  175. package/esm2020/lib/form-validators/decorators/sanitize/toString.decorator.mjs +8 -0
  176. package/esm2020/lib/form-validators/decorators/sanitize/trim.decorator.mjs +8 -0
  177. package/esm2020/lib/form-validators/decorators/sanitize/whitelist.decorator.mjs +8 -0
  178. package/esm2020/lib/form-validators/decorators/startsWith.decorator.mjs +10 -0
  179. package/esm2020/lib/form-validators/decorators/time.decorator.mjs +10 -0
  180. package/esm2020/lib/form-validators/decorators/unique.decorator.mjs +6 -0
  181. package/esm2020/lib/form-validators/decorators/uppercase.decorator.mjs +6 -0
  182. package/esm2020/lib/form-validators/decorators/url.decorator.mjs +10 -0
  183. package/esm2020/lib/form-validators/directives/base-directive.mjs +43 -0
  184. package/esm2020/lib/form-validators/directives/control-host.directive.mjs +34 -0
  185. package/esm2020/lib/form-validators/directives/html-control-template.directive.mjs +20 -0
  186. package/esm2020/lib/form-validators/directives/rx-form.directive.mjs +134 -0
  187. package/esm2020/lib/form-validators/directives/template-validations/async-validation.directive.mjs +31 -0
  188. package/esm2020/lib/form-validators/directives/template-validations/base-validator.directive.mjs +42 -0
  189. package/esm2020/lib/form-validators/directives/template-validations/control-expression-process.mjs +26 -0
  190. package/esm2020/lib/form-validators/directives/template-validations/file-control.directive.mjs +91 -0
  191. package/esm2020/lib/form-validators/directives/template-validations/image-file-control.directive.mjs +50 -0
  192. package/esm2020/lib/form-validators/directives/template-validations/rxformcontrol.directive.mjs +277 -0
  193. package/esm2020/lib/form-validators/domain/disable-provider.mjs +93 -0
  194. package/esm2020/lib/form-validators/domain/element-processor/decimal.provider.mjs +59 -0
  195. package/esm2020/lib/form-validators/domain/element-processor/mask.provider.mjs +430 -0
  196. package/esm2020/lib/form-validators/domain/form-data.mjs +47 -0
  197. package/esm2020/lib/form-validators/enums/error-message-binding-strategy.mjs +11 -0
  198. package/esm2020/lib/form-validators/enums/index.mjs +5 -0
  199. package/esm2020/lib/form-validators/enums/ip-version.mjs +7 -0
  200. package/esm2020/lib/form-validators/enums/numeric-value-type.mjs +7 -0
  201. package/esm2020/lib/form-validators/enums/reset-type.mjs +10 -0
  202. package/esm2020/lib/form-validators/enums/url-validation-type.mjs +7 -0
  203. package/esm2020/lib/form-validators/models/config/alpha-config.mjs +2 -0
  204. package/esm2020/lib/form-validators/models/config/array-config.mjs +2 -0
  205. package/esm2020/lib/form-validators/models/config/base-config-fn.mjs +2 -0
  206. package/esm2020/lib/form-validators/models/config/base-config.mjs +2 -0
  207. package/esm2020/lib/form-validators/models/config/base-date-config.mjs +2 -0
  208. package/esm2020/lib/form-validators/models/config/choice-config.mjs +2 -0
  209. package/esm2020/lib/form-validators/models/config/compare-config.mjs +2 -0
  210. package/esm2020/lib/form-validators/models/config/component-config.mjs +2 -0
  211. package/esm2020/lib/form-validators/models/config/compose-config.mjs +2 -0
  212. package/esm2020/lib/form-validators/models/config/contains-config.mjs +2 -0
  213. package/esm2020/lib/form-validators/models/config/credit-card-config.mjs +2 -0
  214. package/esm2020/lib/form-validators/models/config/custom-config.mjs +2 -0
  215. package/esm2020/lib/form-validators/models/config/date-config.mjs +2 -0
  216. package/esm2020/lib/form-validators/models/config/default-config.mjs +2 -0
  217. package/esm2020/lib/form-validators/models/config/digit-config.mjs +2 -0
  218. package/esm2020/lib/form-validators/models/config/disable-config.mjs +2 -0
  219. package/esm2020/lib/form-validators/models/config/element-class-config.mjs +2 -0
  220. package/esm2020/lib/form-validators/models/config/email-config.mjs +2 -0
  221. package/esm2020/lib/form-validators/models/config/error-config.mjs +2 -0
  222. package/esm2020/lib/form-validators/models/config/extension-config.mjs +2 -0
  223. package/esm2020/lib/form-validators/models/config/factor-config.mjs +2 -0
  224. package/esm2020/lib/form-validators/models/config/field-config.mjs +2 -0
  225. package/esm2020/lib/form-validators/models/config/file-config.mjs +2 -0
  226. package/esm2020/lib/form-validators/models/config/hex-color-config.mjs +2 -0
  227. package/esm2020/lib/form-validators/models/config/iban-config.mjs +2 -0
  228. package/esm2020/lib/form-validators/models/config/image-config.mjs +2 -0
  229. package/esm2020/lib/form-validators/models/config/index.mjs +35 -0
  230. package/esm2020/lib/form-validators/models/config/ip-config.mjs +2 -0
  231. package/esm2020/lib/form-validators/models/config/logical-operator-config.mjs +2 -0
  232. package/esm2020/lib/form-validators/models/config/mask-config.mjs +2 -0
  233. package/esm2020/lib/form-validators/models/config/max-date-config.mjs +2 -0
  234. package/esm2020/lib/form-validators/models/config/message-config.mjs +2 -0
  235. package/esm2020/lib/form-validators/models/config/min-date-config.mjs +2 -0
  236. package/esm2020/lib/form-validators/models/config/model-config.mjs +2 -0
  237. package/esm2020/lib/form-validators/models/config/number-config.mjs +2 -0
  238. package/esm2020/lib/form-validators/models/config/numeric-config.mjs +2 -0
  239. package/esm2020/lib/form-validators/models/config/password-config.mjs +2 -0
  240. package/esm2020/lib/form-validators/models/config/pattern-config.mjs +2 -0
  241. package/esm2020/lib/form-validators/models/config/prop-config.mjs +2 -0
  242. package/esm2020/lib/form-validators/models/config/props-config.mjs +2 -0
  243. package/esm2020/lib/form-validators/models/config/range-config.mjs +2 -0
  244. package/esm2020/lib/form-validators/models/config/relational-operator-config.mjs +2 -0
  245. package/esm2020/lib/form-validators/models/config/required-config.mjs +2 -0
  246. package/esm2020/lib/form-validators/models/config/rule-config.mjs +2 -0
  247. package/esm2020/lib/form-validators/models/config/sanitize-config.mjs +2 -0
  248. package/esm2020/lib/form-validators/models/config/size-config.mjs +2 -0
  249. package/esm2020/lib/form-validators/models/config/string-comparison-config.mjs +2 -0
  250. package/esm2020/lib/form-validators/models/config/time-config.mjs +2 -0
  251. package/esm2020/lib/form-validators/models/config/todate-config.mjs +2 -0
  252. package/esm2020/lib/form-validators/models/config/unique-config.mjs +2 -0
  253. package/esm2020/lib/form-validators/models/config/url-config.mjs +2 -0
  254. package/esm2020/lib/form-validators/models/form-builder-configuration.mjs +8 -0
  255. package/esm2020/lib/form-validators/models/index.mjs +3 -0
  256. package/esm2020/lib/form-validators/models/interface/array-prop-instance-config.interface.mjs +2 -0
  257. package/esm2020/lib/form-validators/models/interface/auto-instance-config.interface.mjs +2 -0
  258. package/esm2020/lib/form-validators/models/interface/form-data-config.mjs +2 -0
  259. package/esm2020/lib/form-validators/models/interface/i-abstract-control.mjs +4 -0
  260. package/esm2020/lib/form-validators/models/interface/i-form-group.mjs +2 -0
  261. package/esm2020/lib/form-validators/models/interface/instance-argument.interface.mjs +2 -0
  262. package/esm2020/lib/form-validators/models/interface/object-prop-instance-config.interface.mjs +2 -0
  263. package/esm2020/lib/form-validators/models/interface/options.mjs +2 -0
  264. package/esm2020/lib/form-validators/models/password-validation.model.mjs +2 -0
  265. package/esm2020/lib/form-validators/models/prop-validation-config.mjs +2 -0
  266. package/esm2020/lib/form-validators/public_api.mjs +25 -0
  267. package/esm2020/lib/form-validators/reactive-form-validators/allOf.validator.mjs +22 -0
  268. package/esm2020/lib/form-validators/reactive-form-validators/alpha.validator.mjs +9 -0
  269. package/esm2020/lib/form-validators/reactive-form-validators/alphaNumeric.validator.mjs +9 -0
  270. package/esm2020/lib/form-validators/reactive-form-validators/and.validator.mjs +23 -0
  271. package/esm2020/lib/form-validators/reactive-form-validators/ascii.validator.mjs +9 -0
  272. package/esm2020/lib/form-validators/reactive-form-validators/async/base.async.validator.mjs +24 -0
  273. package/esm2020/lib/form-validators/reactive-form-validators/choice.validator.mjs +19 -0
  274. package/esm2020/lib/form-validators/reactive-form-validators/compare.validator.mjs +20 -0
  275. package/esm2020/lib/form-validators/reactive-form-validators/compose.validator.mjs +23 -0
  276. package/esm2020/lib/form-validators/reactive-form-validators/conditional-change.validator.mjs +63 -0
  277. package/esm2020/lib/form-validators/reactive-form-validators/contains.validator.mjs +15 -0
  278. package/esm2020/lib/form-validators/reactive-form-validators/credit-card.validator.mjs +48 -0
  279. package/esm2020/lib/form-validators/reactive-form-validators/cusip.validator.mjs +38 -0
  280. package/esm2020/lib/form-validators/reactive-form-validators/custom.validator.mjs +23 -0
  281. package/esm2020/lib/form-validators/reactive-form-validators/dataUri.validator.mjs +9 -0
  282. package/esm2020/lib/form-validators/reactive-form-validators/date.validator.mjs +8 -0
  283. package/esm2020/lib/form-validators/reactive-form-validators/different.validator.mjs +19 -0
  284. package/esm2020/lib/form-validators/reactive-form-validators/digit.validator.mjs +9 -0
  285. package/esm2020/lib/form-validators/reactive-form-validators/email.validator.mjs +9 -0
  286. package/esm2020/lib/form-validators/reactive-form-validators/endsWith.validator.mjs +16 -0
  287. package/esm2020/lib/form-validators/reactive-form-validators/even.validator.mjs +15 -0
  288. package/esm2020/lib/form-validators/reactive-form-validators/extension.validator.mjs +40 -0
  289. package/esm2020/lib/form-validators/reactive-form-validators/factor.validator.mjs +37 -0
  290. package/esm2020/lib/form-validators/reactive-form-validators/file.validator.mjs +26 -0
  291. package/esm2020/lib/form-validators/reactive-form-validators/fileSize.validator.mjs +32 -0
  292. package/esm2020/lib/form-validators/reactive-form-validators/greater-than-equal-to.validator.mjs +8 -0
  293. package/esm2020/lib/form-validators/reactive-form-validators/greater-than.validator.mjs +8 -0
  294. package/esm2020/lib/form-validators/reactive-form-validators/grid.validator.mjs +31 -0
  295. package/esm2020/lib/form-validators/reactive-form-validators/hexcolor.validator.mjs +9 -0
  296. package/esm2020/lib/form-validators/reactive-form-validators/iban.validator.mjs +30 -0
  297. package/esm2020/lib/form-validators/reactive-form-validators/image.validator.mjs +48 -0
  298. package/esm2020/lib/form-validators/reactive-form-validators/index.mjs +66 -0
  299. package/esm2020/lib/form-validators/reactive-form-validators/ip.validator.mjs +35 -0
  300. package/esm2020/lib/form-validators/reactive-form-validators/json.validator.mjs +26 -0
  301. package/esm2020/lib/form-validators/reactive-form-validators/latLong.validator.mjs +18 -0
  302. package/esm2020/lib/form-validators/reactive-form-validators/latitude.validator.mjs +9 -0
  303. package/esm2020/lib/form-validators/reactive-form-validators/leapYear.validator.mjs +16 -0
  304. package/esm2020/lib/form-validators/reactive-form-validators/less-than-equal-to.validator.mjs +8 -0
  305. package/esm2020/lib/form-validators/reactive-form-validators/less-than.validator.mjs +8 -0
  306. package/esm2020/lib/form-validators/reactive-form-validators/longitude.validator.mjs +9 -0
  307. package/esm2020/lib/form-validators/reactive-form-validators/lowercase.validator.mjs +15 -0
  308. package/esm2020/lib/form-validators/reactive-form-validators/mac.validator.mjs +9 -0
  309. package/esm2020/lib/form-validators/reactive-form-validators/mask.validator.mjs +13 -0
  310. package/esm2020/lib/form-validators/reactive-form-validators/maxDate.validator.mjs +8 -0
  311. package/esm2020/lib/form-validators/reactive-form-validators/maxLength.validator.mjs +16 -0
  312. package/esm2020/lib/form-validators/reactive-form-validators/maxNumber.validator.mjs +16 -0
  313. package/esm2020/lib/form-validators/reactive-form-validators/maxTime.validator.mjs +8 -0
  314. package/esm2020/lib/form-validators/reactive-form-validators/minDate.validator.mjs +8 -0
  315. package/esm2020/lib/form-validators/reactive-form-validators/minLength.validator.mjs +16 -0
  316. package/esm2020/lib/form-validators/reactive-form-validators/minNumber.validator.mjs +16 -0
  317. package/esm2020/lib/form-validators/reactive-form-validators/minTime.validator.mjs +8 -0
  318. package/esm2020/lib/form-validators/reactive-form-validators/noneOf.validator.mjs +24 -0
  319. package/esm2020/lib/form-validators/reactive-form-validators/not.validator.mjs +23 -0
  320. package/esm2020/lib/form-validators/reactive-form-validators/notEmpty.validator.mjs +17 -0
  321. package/esm2020/lib/form-validators/reactive-form-validators/numeric.validator.mjs +20 -0
  322. package/esm2020/lib/form-validators/reactive-form-validators/odd.validator.mjs +16 -0
  323. package/esm2020/lib/form-validators/reactive-form-validators/oneOf.validator.mjs +22 -0
  324. package/esm2020/lib/form-validators/reactive-form-validators/or.validator.mjs +23 -0
  325. package/esm2020/lib/form-validators/reactive-form-validators/password.validator.mjs +33 -0
  326. package/esm2020/lib/form-validators/reactive-form-validators/pattern.validator.mjs +17 -0
  327. package/esm2020/lib/form-validators/reactive-form-validators/port.validator.mjs +18 -0
  328. package/esm2020/lib/form-validators/reactive-form-validators/primeNumber.validator.mjs +26 -0
  329. package/esm2020/lib/form-validators/reactive-form-validators/range.validator.mjs +16 -0
  330. package/esm2020/lib/form-validators/reactive-form-validators/required.validator.mjs +17 -0
  331. package/esm2020/lib/form-validators/reactive-form-validators/requiredTrue.validator.mjs +16 -0
  332. package/esm2020/lib/form-validators/reactive-form-validators/rule.validator.mjs +20 -0
  333. package/esm2020/lib/form-validators/reactive-form-validators/startsWith.validator.mjs +16 -0
  334. package/esm2020/lib/form-validators/reactive-form-validators/time.validator.mjs +18 -0
  335. package/esm2020/lib/form-validators/reactive-form-validators/unique.validator.mjs +70 -0
  336. package/esm2020/lib/form-validators/reactive-form-validators/uppercase.validator.mjs +15 -0
  337. package/esm2020/lib/form-validators/reactive-form-validators/url.validator.mjs +28 -0
  338. package/esm2020/lib/form-validators/services/base-form-builder.mjs +115 -0
  339. package/esm2020/lib/form-validators/services/entity.service.mjs +64 -0
  340. package/esm2020/lib/form-validators/services/form-control.mjs +349 -0
  341. package/esm2020/lib/form-validators/services/form-group.mjs +2 -0
  342. package/esm2020/lib/form-validators/services/reactive-form.module.mjs +52 -0
  343. package/esm2020/lib/form-validators/services/rx-form-array.mjs +100 -0
  344. package/esm2020/lib/form-validators/services/rx-form-builder.mjs +559 -0
  345. package/esm2020/lib/form-validators/services/rx-form-group.mjs +299 -0
  346. package/esm2020/lib/form-validators/services/typed-form-builder.mjs +23 -0
  347. package/esm2020/lib/form-validators/util/alphabet-regex.locale.mjs +29 -0
  348. package/esm2020/lib/form-validators/util/app-util.mjs +141 -0
  349. package/esm2020/lib/form-validators/util/check-length.mjs +10 -0
  350. package/esm2020/lib/form-validators/util/config-provider.mjs +35 -0
  351. package/esm2020/lib/form-validators/util/date-checker.function.mjs +52 -0
  352. package/esm2020/lib/form-validators/util/date-provider.mjs +97 -0
  353. package/esm2020/lib/form-validators/util/form-const.mjs +3 -0
  354. package/esm2020/lib/form-validators/util/form-provider.mjs +37 -0
  355. package/esm2020/lib/form-validators/util/index.mjs +7 -0
  356. package/esm2020/lib/form-validators/util/instance-provider.function.mjs +30 -0
  357. package/esm2020/lib/form-validators/util/ip-checker.mjs +18 -0
  358. package/esm2020/lib/form-validators/util/linq.mjs +147 -0
  359. package/esm2020/lib/form-validators/util/object-maker.mjs +38 -0
  360. package/esm2020/lib/form-validators/util/reactive-form-config.mjs +23 -0
  361. package/esm2020/lib/form-validators/util/regex-rules.mjs +37 -0
  362. package/esm2020/lib/form-validators/util/regex-validator.mjs +74 -0
  363. package/esm2020/lib/form-validators/util/relational-checker.function.mjs +85 -0
  364. package/esm2020/lib/form-validators/util/reset-form.mjs +56 -0
  365. package/esm2020/lib/form-validators/util/sanitizers.mjs +131 -0
  366. package/esm2020/lib/form-validators/util/time-checker.function.mjs +48 -0
  367. package/esm2020/lib/form-validators/util/type.mjs +2 -0
  368. package/esm2020/lib/form-validators/util/validator-value-checker.mjs +17 -0
  369. package/esm2020/lib/form-validators/validators-extension/allOf-validator.extension.mjs +11 -0
  370. package/esm2020/lib/form-validators/validators-extension/alpha-validator.extension.mjs +11 -0
  371. package/esm2020/lib/form-validators/validators-extension/alphaNumeric-validator.extension.mjs +11 -0
  372. package/esm2020/lib/form-validators/validators-extension/and-validator.extension.mjs +7 -0
  373. package/esm2020/lib/form-validators/validators-extension/ascii-validator.extension.mjs +7 -0
  374. package/esm2020/lib/form-validators/validators-extension/base-validator.function.mjs +33 -0
  375. package/esm2020/lib/form-validators/validators-extension/choice-validator.extension.mjs +11 -0
  376. package/esm2020/lib/form-validators/validators-extension/compare-validator.extension.mjs +7 -0
  377. package/esm2020/lib/form-validators/validators-extension/compose-validator.extension.mjs +7 -0
  378. package/esm2020/lib/form-validators/validators-extension/contains-validator.extension.mjs +11 -0
  379. package/esm2020/lib/form-validators/validators-extension/credit-card-validator.extension.mjs +11 -0
  380. package/esm2020/lib/form-validators/validators-extension/cusip-validator.extension.mjs +7 -0
  381. package/esm2020/lib/form-validators/validators-extension/custom-validator.extension.mjs +11 -0
  382. package/esm2020/lib/form-validators/validators-extension/dataUri-validator.extension.mjs +7 -0
  383. package/esm2020/lib/form-validators/validators-extension/date-validator.extension.mjs +11 -0
  384. package/esm2020/lib/form-validators/validators-extension/different-validator.extension.mjs +7 -0
  385. package/esm2020/lib/form-validators/validators-extension/digit-validator.extension.mjs +7 -0
  386. package/esm2020/lib/form-validators/validators-extension/email-validator.extension.mjs +7 -0
  387. package/esm2020/lib/form-validators/validators-extension/endsWith-validator.extension.mjs +11 -0
  388. package/esm2020/lib/form-validators/validators-extension/even-validator.extension.mjs +7 -0
  389. package/esm2020/lib/form-validators/validators-extension/extension-validator.extension.mjs +10 -0
  390. package/esm2020/lib/form-validators/validators-extension/factor-validator.extension.mjs +11 -0
  391. package/esm2020/lib/form-validators/validators-extension/file-validator.extension.mjs +10 -0
  392. package/esm2020/lib/form-validators/validators-extension/fileSize-validator.extension.mjs +10 -0
  393. package/esm2020/lib/form-validators/validators-extension/greater-than-equal-to-validator.extension.mjs +11 -0
  394. package/esm2020/lib/form-validators/validators-extension/greater-than-validator.extension.mjs +11 -0
  395. package/esm2020/lib/form-validators/validators-extension/grid-validator.extension.mjs +7 -0
  396. package/esm2020/lib/form-validators/validators-extension/hexcolor-validator.extension.mjs +7 -0
  397. package/esm2020/lib/form-validators/validators-extension/iban-validator.extension.mjs +11 -0
  398. package/esm2020/lib/form-validators/validators-extension/image-validator.extension.mjs +10 -0
  399. package/esm2020/lib/form-validators/validators-extension/index.mjs +68 -0
  400. package/esm2020/lib/form-validators/validators-extension/ip-validator.extension.mjs +11 -0
  401. package/esm2020/lib/form-validators/validators-extension/json-validator.extension.mjs +7 -0
  402. package/esm2020/lib/form-validators/validators-extension/latLong-validator.extension.mjs +7 -0
  403. package/esm2020/lib/form-validators/validators-extension/latitude-validator.extension.mjs +7 -0
  404. package/esm2020/lib/form-validators/validators-extension/leapYear-validator.extension.mjs +7 -0
  405. package/esm2020/lib/form-validators/validators-extension/less-than-equal-to-validator.extension.mjs +11 -0
  406. package/esm2020/lib/form-validators/validators-extension/less-than-validator.extension.mjs +11 -0
  407. package/esm2020/lib/form-validators/validators-extension/longitude-validator.extension.mjs +7 -0
  408. package/esm2020/lib/form-validators/validators-extension/lowercase-validator.extension.mjs +7 -0
  409. package/esm2020/lib/form-validators/validators-extension/mac-validator.extension.mjs +7 -0
  410. package/esm2020/lib/form-validators/validators-extension/mask-validator.extension.mjs +7 -0
  411. package/esm2020/lib/form-validators/validators-extension/maxDate-validator.extension.mjs +11 -0
  412. package/esm2020/lib/form-validators/validators-extension/maxLength-validator.extension.mjs +11 -0
  413. package/esm2020/lib/form-validators/validators-extension/maxNumber-validator.extension.mjs +11 -0
  414. package/esm2020/lib/form-validators/validators-extension/maxTime-validator.extension.mjs +11 -0
  415. package/esm2020/lib/form-validators/validators-extension/minDate-validator.extension.mjs +11 -0
  416. package/esm2020/lib/form-validators/validators-extension/minLength-validator.extension.mjs +11 -0
  417. package/esm2020/lib/form-validators/validators-extension/minNumber-validator.extension.mjs +11 -0
  418. package/esm2020/lib/form-validators/validators-extension/minTime-validator.extension.mjs +11 -0
  419. package/esm2020/lib/form-validators/validators-extension/noneOf-validator.extension.mjs +11 -0
  420. package/esm2020/lib/form-validators/validators-extension/not-validator.extension.mjs +7 -0
  421. package/esm2020/lib/form-validators/validators-extension/notEmpty-validator.extension.mjs +7 -0
  422. package/esm2020/lib/form-validators/validators-extension/numeric-validator.extension.mjs +11 -0
  423. package/esm2020/lib/form-validators/validators-extension/odd-validator.extension.mjs +7 -0
  424. package/esm2020/lib/form-validators/validators-extension/oneOf-validator.extension.mjs +11 -0
  425. package/esm2020/lib/form-validators/validators-extension/or-validator.extension.mjs +7 -0
  426. package/esm2020/lib/form-validators/validators-extension/password-validator.extension.mjs +11 -0
  427. package/esm2020/lib/form-validators/validators-extension/pattern-validator.extension.mjs +11 -0
  428. package/esm2020/lib/form-validators/validators-extension/port-validator.extension.mjs +7 -0
  429. package/esm2020/lib/form-validators/validators-extension/primeNumber-validator.extension.mjs +7 -0
  430. package/esm2020/lib/form-validators/validators-extension/range-validator.extension.mjs +11 -0
  431. package/esm2020/lib/form-validators/validators-extension/required-validator.extension.mjs +7 -0
  432. package/esm2020/lib/form-validators/validators-extension/requiredTrue-validator.extension.mjs +7 -0
  433. package/esm2020/lib/form-validators/validators-extension/rxweb-validators.mjs +108 -0
  434. package/esm2020/lib/form-validators/validators-extension/startsWith-validator.extension.mjs +11 -0
  435. package/esm2020/lib/form-validators/validators-extension/time-validator.extension.mjs +11 -0
  436. package/esm2020/lib/form-validators/validators-extension/unique-validator.extension.mjs +7 -0
  437. package/esm2020/lib/form-validators/validators-extension/uppercase-validator.extension.mjs +7 -0
  438. package/esm2020/lib/form-validators/validators-extension/url-validator.extension.mjs +11 -0
  439. package/esm2020/lib/form-validators/validators-function/alpha-validation.function.mjs +37 -0
  440. package/esm2020/lib/form-validators/validators-function/regex-validation.function.mjs +16 -0
  441. package/esm2020/lib/forms/components/generic-form/generic-form.component.mjs +131 -0
  442. package/esm2020/lib/forms/constants/constants.mjs +2 -0
  443. package/esm2020/lib/forms/directives/mat-form-field-editor.directive.mjs +162 -0
  444. package/esm2020/lib/forms/directives/mat-form-field-readonly.directive.mjs +33 -0
  445. package/esm2020/lib/forms/enums/form-field-type.mjs +19 -0
  446. package/esm2020/lib/forms/forms.module.mjs +125 -0
  447. package/esm2020/lib/forms/functions/decorators.mjs +127 -0
  448. package/esm2020/lib/forms/functions/functions.mjs +10 -0
  449. package/esm2020/lib/forms/helpers/abstract-mat-form-field.mjs +251 -0
  450. package/esm2020/lib/forms/helpers/value-accessor-base.mjs +141 -0
  451. package/esm2020/lib/forms/models/form-field-definition.mjs +18 -0
  452. package/esm2020/lib/forms/models/form-field-group.mjs +11 -0
  453. package/esm2020/lib/forms/public_api.mjs +4 -0
  454. package/esm2020/lib/forms/validators/equal-validator.directive.mjs +79 -0
  455. package/esm2020/lib/forms/validators/native-element-injector.directive.mjs +32 -0
  456. package/esm2020/lib/forms/validators/unique-validator-directive.mjs +75 -0
  457. package/esm2020/lib/http/http.module.mjs +20 -0
  458. package/esm2020/lib/http/public_api.mjs +2 -0
  459. package/esm2020/lib/http/services/generic.service.mjs +319 -0
  460. package/esm2020/lib/layout/form-toolbar/form-toolbar.component.mjs +30 -0
  461. package/esm2020/lib/layout/form-toolbar-menu/form-toolbar-menu.component.mjs +17 -0
  462. package/esm2020/lib/layout/layout-card-over/layout-card-over.component.mjs +43 -0
  463. package/esm2020/lib/layout/layout-footer/layout-footer.component.mjs +34 -0
  464. package/esm2020/lib/layout/layout-manage-list/layout-manage-list.component.mjs +130 -0
  465. package/esm2020/lib/layout/layout-manage-list/layout-manage-list.directives.mjs +108 -0
  466. package/esm2020/lib/layout/layout-nav/layout-nav.component.mjs +95 -0
  467. package/esm2020/lib/layout/layout-nav-list/layout-nav-list.component.mjs +123 -0
  468. package/esm2020/lib/layout/layout-nav-list/layout-nav-list.directives.mjs +81 -0
  469. package/esm2020/lib/layout/layout-toggle.class.mjs +71 -0
  470. package/esm2020/lib/layout/layout.component.mjs +82 -0
  471. package/esm2020/lib/layout/layout.directives.mjs +81 -0
  472. package/esm2020/lib/layout/layout.module.mjs +146 -0
  473. package/esm2020/lib/layout/list-toolbar/list-toolbar.component.mjs +23 -0
  474. package/esm2020/lib/layout/list-toolbar-menu/list-toolbar-menu.component.mjs +17 -0
  475. package/esm2020/lib/layout/navigation-drawer/navigation-drawer.component.mjs +167 -0
  476. package/esm2020/lib/layout/public_api.mjs +2 -0
  477. package/esm2020/lib/media/directives/media-toggle.directive.mjs +115 -0
  478. package/esm2020/lib/media/media.module.mjs +37 -0
  479. package/esm2020/lib/media/public_api.mjs +2 -0
  480. package/esm2020/lib/media/services/media.service.mjs +108 -0
  481. package/esm2020/lib/menu/components/menu.component.mjs +52 -0
  482. package/esm2020/lib/menu/enums/menu-scope.mjs +6 -0
  483. package/esm2020/lib/menu/menu.module.mjs +50 -0
  484. package/esm2020/lib/menu/models/menu-item.mjs +3 -0
  485. package/esm2020/lib/menu/models/menu.mjs +3 -0
  486. package/esm2020/lib/menu/public_api.mjs +2 -0
  487. package/esm2020/lib/menu/services/menu-items.service.mjs +19 -0
  488. package/esm2020/lib/menu/services/menu.resolve.mjs +62 -0
  489. package/esm2020/lib/menu/services/menu.service.mjs +19 -0
  490. package/esm2020/lib/search/public_api.mjs +2 -0
  491. package/esm2020/lib/search/search.module.mjs +47 -0
  492. package/esm2020/lib/search/vd-search-box/vd-search-box.component.mjs +143 -0
  493. package/esm2020/lib/search/vd-search-input/vd-search-input.component.mjs +148 -0
  494. package/esm2020/lib/select/public_api.mjs +3 -0
  495. package/esm2020/lib/select/select.component.mjs +407 -0
  496. package/esm2020/lib/select/select.module.mjs +45 -0
  497. package/esm2020/lib/table/components/dynamic-table/dynamic-table.component.mjs +349 -0
  498. package/esm2020/lib/table/components/filter-clear.component.mjs +44 -0
  499. package/esm2020/lib/table/components/filter-date.component.mjs +151 -0
  500. package/esm2020/lib/table/components/filter-input.component.mjs +198 -0
  501. package/esm2020/lib/table/components/filter-select.component.mjs +334 -0
  502. package/esm2020/lib/table/directives/data-source-filter.directive.mjs +45 -0
  503. package/esm2020/lib/table/enums/table-column-type.mjs +14 -0
  504. package/esm2020/lib/table/functions/decorators.mjs +135 -0
  505. package/esm2020/lib/table/functions/functions.mjs +15 -0
  506. package/esm2020/lib/table/models/pagination.mjs +3 -0
  507. package/esm2020/lib/table/models/table-column.mjs +10 -0
  508. package/esm2020/lib/table/models/table-definition.mjs +17 -0
  509. package/esm2020/lib/table/models/table-menu-item.mjs +12 -0
  510. package/esm2020/lib/table/paginator-intl.mjs +44 -0
  511. package/esm2020/lib/table/public_api.mjs +3 -0
  512. package/esm2020/lib/table/table.data-source.mjs +212 -0
  513. package/esm2020/lib/table/table.module.mjs +139 -0
  514. package/esm2020/lib/table/table.static-data-source.mjs +131 -0
  515. package/esm2020/messaia-cdk.mjs +5 -0
  516. package/esm2020/public_api.mjs +18 -0
  517. package/fesm2015/messaia-cdk.mjs +16621 -0
  518. package/fesm2015/messaia-cdk.mjs.map +1 -0
  519. package/fesm2020/messaia-cdk.mjs +16538 -0
  520. package/fesm2020/messaia-cdk.mjs.map +1 -0
  521. package/lib/base/base.module.d.ts +25 -0
  522. package/lib/base/components/base.component.d.ts +258 -0
  523. package/lib/base/components/generic-form-base.component.d.ts +310 -0
  524. package/lib/base/components/generic-form.component.d.ts +32 -0
  525. package/lib/base/components/generic-list.component.d.ts +273 -0
  526. package/lib/base/components/generic-reactive-form.component.d.ts +47 -0
  527. package/lib/base/constants/common.d.ts +9 -0
  528. package/lib/base/enums/message-type.d.ts +5 -0
  529. package/lib/base/helpers/auth-helper.d.ts +26 -0
  530. package/lib/base/interceptors/base.interceptor.d.ts +40 -0
  531. package/lib/base/interceptors/caching-interceptor.d.ts +35 -0
  532. package/lib/base/interceptors/loading.interceptor.d.ts +30 -0
  533. package/lib/base/models/auth-user.d.ts +15 -0
  534. package/lib/base/public_api.d.ts +1 -0
  535. package/lib/base/services/file.service.d.ts +10 -0
  536. package/lib/base/services/loading-screen.service.d.ts +30 -0
  537. package/lib/base/services/print.service.d.ts +23 -0
  538. package/lib/chips/chips.module.d.ts +15 -0
  539. package/lib/chips/components/chips.component.d.ts +223 -0
  540. package/lib/chips/public_api.d.ts +2 -0
  541. package/lib/common/animations/collapse/collapse.animation.d.ts +21 -0
  542. package/lib/common/animations/common/interfaces.d.ts +5 -0
  543. package/lib/common/behaviors/constructor.d.ts +1 -0
  544. package/lib/common/behaviors/control-value-accesor.mixin.d.ts +16 -0
  545. package/lib/common/behaviors/disabled.mixin.d.ts +8 -0
  546. package/lib/common/common.module.d.ts +53 -0
  547. package/lib/common/constants/constants.d.ts +1 -0
  548. package/lib/common/directives/disable-control.directive.d.ts +16 -0
  549. package/lib/common/enums/salutation.d.ts +5 -0
  550. package/lib/common/functions/decorators.d.ts +12 -0
  551. package/lib/common/functions/functions.d.ts +6 -0
  552. package/lib/common/functions/utils.d.ts +73 -0
  553. package/lib/common/helpers/app-storage.d.ts +32 -0
  554. package/lib/common/helpers/dynamic-builder.d.ts +19 -0
  555. package/lib/common/models/action-menu-item.d.ts +15 -0
  556. package/lib/common/models/app-setting.d.ts +17 -0
  557. package/lib/common/models/audit-entity.d.ts +12 -0
  558. package/lib/common/models/audit-user.d.ts +5 -0
  559. package/lib/common/models/base-entity.d.ts +10 -0
  560. package/lib/common/models/entity.d.ts +3 -0
  561. package/lib/common/models/enum-item.d.ts +4 -0
  562. package/lib/common/models/key-value.d.ts +4 -0
  563. package/lib/common/models/save-action.d.ts +5 -0
  564. package/lib/common/pipes/data-source.pipe.d.ts +7 -0
  565. package/lib/common/pipes/enum.pipe.d.ts +12 -0
  566. package/lib/common/pipes/file-size.pipe.d.ts +13 -0
  567. package/lib/common/pipes/filter.pipe.d.ts +13 -0
  568. package/lib/common/pipes/first-letter.d.ts +12 -0
  569. package/lib/common/pipes/keys.d.ts +7 -0
  570. package/lib/common/pipes/month-name.pipe.d.ts +15 -0
  571. package/lib/common/pipes/only-number.d.ts +21 -0
  572. package/lib/common/pipes/order.pipe.d.ts +77 -0
  573. package/lib/common/pipes/placeholder.pipe.d.ts +13 -0
  574. package/lib/common/pipes/safe-html.pipe.d.ts +22 -0
  575. package/lib/common/pipes/time.pipe.d.ts +7 -0
  576. package/lib/common/pipes/titlecase.pipe.d.ts +7 -0
  577. package/lib/common/pipes/truncate.pipe.d.ts +7 -0
  578. package/lib/common/pipes/values.d.ts +7 -0
  579. package/lib/common/public_api.d.ts +17 -0
  580. package/lib/common/services/base.service.d.ts +10 -0
  581. package/lib/common/services/context-helper.d.ts +17 -0
  582. package/lib/common/services/enum.service.d.ts +23 -0
  583. package/lib/common/services/service-locator.d.ts +19 -0
  584. package/lib/common/styles/_common-theme.scss +27 -0
  585. package/lib/common/styles/_elevation.scss +147 -0
  586. package/lib/common/styles/_layout.scss +588 -0
  587. package/lib/common/styles/_rtl.scss +28 -0
  588. package/lib/common/styles/_styles.scss +12 -0
  589. package/lib/common/styles/_theme-functions.scss +27 -0
  590. package/lib/common/styles/_typography-functions.scss +35 -0
  591. package/lib/common/styles/_typography.scss +76 -0
  592. package/lib/common/styles/_variables.scss +98 -0
  593. package/lib/common/styles/colors/_colors-dark.scss +388 -0
  594. package/lib/common/styles/colors/_colors-light.scss +904 -0
  595. package/lib/common/styles/colors/_colors.scss +7 -0
  596. package/lib/common/styles/core/_button.scss +59 -0
  597. package/lib/common/styles/core/_card.scss +160 -0
  598. package/lib/common/styles/core/_content.scss +42 -0
  599. package/lib/common/styles/core/_core.scss +23 -0
  600. package/lib/common/styles/core/_divider.scss +14 -0
  601. package/lib/common/styles/core/_icons.scss +26 -0
  602. package/lib/common/styles/core/_list.scss +8 -0
  603. package/lib/common/styles/core/_sidenav.scss +20 -0
  604. package/lib/common/styles/core/_structure.scss +126 -0
  605. package/lib/common/styles/core/_toolbar.scss +31 -0
  606. package/lib/common/styles/core/_whiteframe.scss +111 -0
  607. package/lib/common/styles/font/_font.scss +92 -0
  608. package/lib/common/styles/material-icons.scss +3 -0
  609. package/lib/common/styles/platform.scss +11 -0
  610. package/lib/common/styles/utilities/_general.scss +81 -0
  611. package/lib/common/styles/utilities/_pad.scss +36 -0
  612. package/lib/common/styles/utilities/_pull.scss +36 -0
  613. package/lib/common/styles/utilities/_push.scss +36 -0
  614. package/lib/common/styles/utilities/_size.scss +24 -0
  615. package/lib/common/styles/utilities/_text.scss +87 -0
  616. package/lib/common/styles/utilities/_utilities.scss +15 -0
  617. package/lib/common/theming/_all-theme.scss +14 -0
  618. package/lib/common/typography/_all-typography.scss +33 -0
  619. package/lib/dialogs/alert-dialog/alert-dialog.component.d.ts +20 -0
  620. package/lib/dialogs/confirm-dialog/confirm-dialog.component.d.ts +24 -0
  621. package/lib/dialogs/dialog.component.d.ts +23 -0
  622. package/lib/dialogs/dialogs.module.d.ts +21 -0
  623. package/lib/dialogs/prompt-dialog/prompt-dialog.component.d.ts +25 -0
  624. package/lib/dialogs/public_api.d.ts +1 -0
  625. package/lib/dialogs/services/dialog.service.d.ts +96 -0
  626. package/lib/file/file-input.component.d.ts +191 -0
  627. package/lib/file/file.module.d.ts +13 -0
  628. package/lib/file/public_api.d.ts +1 -0
  629. package/lib/form-validators/abstract/typed-form.d.ts +4 -0
  630. package/lib/form-validators/algorithm/luhn-algorithm.d.ts +1 -0
  631. package/lib/form-validators/const/app-validators.const.d.ts +3 -0
  632. package/lib/form-validators/const/app.const.d.ts +16 -0
  633. package/lib/form-validators/const/config-names.const.d.ts +8 -0
  634. package/lib/form-validators/const/config-required-fields.const.d.ts +3 -0
  635. package/lib/form-validators/const/decorators.const.d.ts +3 -0
  636. package/lib/form-validators/const/events.const.d.ts +13 -0
  637. package/lib/form-validators/const/html-elements.const.d.ts +6 -0
  638. package/lib/form-validators/const/iban-country-wise-regex.const.d.ts +79 -0
  639. package/lib/form-validators/const/index.d.ts +5 -0
  640. package/lib/form-validators/const/operators.const.d.ts +3 -0
  641. package/lib/form-validators/const/validation-alphabet-locale.const.d.ts +3 -0
  642. package/lib/form-validators/const/validator.const.d.ts +7 -0
  643. package/lib/form-validators/core/defaultContainer.d.ts +19 -0
  644. package/lib/form-validators/core/validator.interface.d.ts +61 -0
  645. package/lib/form-validators/core/validator.static.d.ts +3 -0
  646. package/lib/form-validators/decorators/allOf.decorator.d.ts +3 -0
  647. package/lib/form-validators/decorators/alpha.decorator.d.ts +3 -0
  648. package/lib/form-validators/decorators/alphaNumeric.decorator.d.ts +3 -0
  649. package/lib/form-validators/decorators/and.decorator.d.ts +2 -0
  650. package/lib/form-validators/decorators/ascii.decorator.d.ts +2 -0
  651. package/lib/form-validators/decorators/async.decorator.d.ts +2 -0
  652. package/lib/form-validators/decorators/base-decorator.function.d.ts +1 -0
  653. package/lib/form-validators/decorators/choice.decorator.d.ts +3 -0
  654. package/lib/form-validators/decorators/compare.decorator.d.ts +2 -0
  655. package/lib/form-validators/decorators/compose.decorator.d.ts +2 -0
  656. package/lib/form-validators/decorators/contains.decorator.d.ts +3 -0
  657. package/lib/form-validators/decorators/credit-card.decorator.d.ts +3 -0
  658. package/lib/form-validators/decorators/cusip.decorator.d.ts +2 -0
  659. package/lib/form-validators/decorators/custom.decorator.d.ts +3 -0
  660. package/lib/form-validators/decorators/dataUri.decorator.d.ts +2 -0
  661. package/lib/form-validators/decorators/date.decorator.d.ts +3 -0
  662. package/lib/form-validators/decorators/different.decorator.d.ts +2 -0
  663. package/lib/form-validators/decorators/digit.decorator.d.ts +2 -0
  664. package/lib/form-validators/decorators/email.decorator.d.ts +2 -0
  665. package/lib/form-validators/decorators/endsWith.decorator.d.ts +3 -0
  666. package/lib/form-validators/decorators/even.decorator.d.ts +2 -0
  667. package/lib/form-validators/decorators/extension.decorator.d.ts +3 -0
  668. package/lib/form-validators/decorators/factor.decorator.d.ts +3 -0
  669. package/lib/form-validators/decorators/file.decorator.d.ts +3 -0
  670. package/lib/form-validators/decorators/fileSize.decorator.d.ts +3 -0
  671. package/lib/form-validators/decorators/greater-than-equal-to.decorator.d.ts +3 -0
  672. package/lib/form-validators/decorators/greater-than.decorator.d.ts +3 -0
  673. package/lib/form-validators/decorators/grid.decorator.d.ts +2 -0
  674. package/lib/form-validators/decorators/hexColor.decorator.d.ts +2 -0
  675. package/lib/form-validators/decorators/image.decorator.d.ts +3 -0
  676. package/lib/form-validators/decorators/index.d.ts +90 -0
  677. package/lib/form-validators/decorators/json.decorator.d.ts +2 -0
  678. package/lib/form-validators/decorators/latLong.decorator.d.ts +2 -0
  679. package/lib/form-validators/decorators/latitude.decorator.d.ts +2 -0
  680. package/lib/form-validators/decorators/leapYear.decorator.d.ts +2 -0
  681. package/lib/form-validators/decorators/less-than-equal-to.decorator.d.ts +3 -0
  682. package/lib/form-validators/decorators/less-than.decorator.d.ts +3 -0
  683. package/lib/form-validators/decorators/longitude.decorator.d.ts +2 -0
  684. package/lib/form-validators/decorators/lowercase.decorator.d.ts +2 -0
  685. package/lib/form-validators/decorators/mac.decorator.d.ts +2 -0
  686. package/lib/form-validators/decorators/mask.decorator.d.ts +2 -0
  687. package/lib/form-validators/decorators/maxDate.decorator.d.ts +3 -0
  688. package/lib/form-validators/decorators/maxLength.decorator.d.ts +3 -0
  689. package/lib/form-validators/decorators/maxNumber.decorator.d.ts +3 -0
  690. package/lib/form-validators/decorators/maxTime.decorator.d.ts +3 -0
  691. package/lib/form-validators/decorators/minDate.decorator.d.ts +3 -0
  692. package/lib/form-validators/decorators/minLength.decorator.d.ts +3 -0
  693. package/lib/form-validators/decorators/minNumber.decorator.d.ts +3 -0
  694. package/lib/form-validators/decorators/minTime.decorator.d.ts +3 -0
  695. package/lib/form-validators/decorators/model.decorator.d.ts +2 -0
  696. package/lib/form-validators/decorators/non-validation-decorators/disable.decorator.d.ts +2 -0
  697. package/lib/form-validators/decorators/non-validation-decorators/elementClass.decorator.d.ts +2 -0
  698. package/lib/form-validators/decorators/non-validation-decorators/error.decorator.d.ts +2 -0
  699. package/lib/form-validators/decorators/noneOf.decorator.d.ts +3 -0
  700. package/lib/form-validators/decorators/not.decorator.d.ts +2 -0
  701. package/lib/form-validators/decorators/notEmpty.decorator.d.ts +2 -0
  702. package/lib/form-validators/decorators/numeric.decorator.d.ts +3 -0
  703. package/lib/form-validators/decorators/odd.decorator.d.ts +2 -0
  704. package/lib/form-validators/decorators/oneOf.decorator.d.ts +3 -0
  705. package/lib/form-validators/decorators/or.decorator.d.ts +2 -0
  706. package/lib/form-validators/decorators/password.decorator.d.ts +3 -0
  707. package/lib/form-validators/decorators/pattern.decorator.d.ts +3 -0
  708. package/lib/form-validators/decorators/port.decorator.d.ts +2 -0
  709. package/lib/form-validators/decorators/primeNumber.decorator.d.ts +2 -0
  710. package/lib/form-validators/decorators/prop-array.decorator.d.ts +3 -0
  711. package/lib/form-validators/decorators/prop-object.decorator.d.ts +3 -0
  712. package/lib/form-validators/decorators/prop.decorator.d.ts +2 -0
  713. package/lib/form-validators/decorators/range.decorator.d.ts +3 -0
  714. package/lib/form-validators/decorators/required.decorator.d.ts +2 -0
  715. package/lib/form-validators/decorators/requiredTrue.decorator.d.ts +2 -0
  716. package/lib/form-validators/decorators/rule.decorator.d.ts +2 -0
  717. package/lib/form-validators/decorators/sanitize/blacklist.decorator.d.ts +1 -0
  718. package/lib/form-validators/decorators/sanitize/escape.decorator.d.ts +1 -0
  719. package/lib/form-validators/decorators/sanitize/ltrim.decorator.d.ts +1 -0
  720. package/lib/form-validators/decorators/sanitize/prefix.decorator.d.ts +1 -0
  721. package/lib/form-validators/decorators/sanitize/rtrim.decorator.d.ts +1 -0
  722. package/lib/form-validators/decorators/sanitize/sanitize.decorator.d.ts +2 -0
  723. package/lib/form-validators/decorators/sanitize/stripLow.decorator.d.ts +1 -0
  724. package/lib/form-validators/decorators/sanitize/suffix.decorator.d.ts +1 -0
  725. package/lib/form-validators/decorators/sanitize/toBoolean.decorator.d.ts +1 -0
  726. package/lib/form-validators/decorators/sanitize/toDate.decorator.d.ts +2 -0
  727. package/lib/form-validators/decorators/sanitize/toDouble.decorator.d.ts +1 -0
  728. package/lib/form-validators/decorators/sanitize/toFloat.decorator.d.ts +1 -0
  729. package/lib/form-validators/decorators/sanitize/toInt.decorator.d.ts +1 -0
  730. package/lib/form-validators/decorators/sanitize/toString.decorator.d.ts +1 -0
  731. package/lib/form-validators/decorators/sanitize/trim.decorator.d.ts +1 -0
  732. package/lib/form-validators/decorators/sanitize/whitelist.decorator.d.ts +1 -0
  733. package/lib/form-validators/decorators/startsWith.decorator.d.ts +3 -0
  734. package/lib/form-validators/decorators/time.decorator.d.ts +3 -0
  735. package/lib/form-validators/decorators/unique.decorator.d.ts +2 -0
  736. package/lib/form-validators/decorators/uppercase.decorator.d.ts +2 -0
  737. package/lib/form-validators/decorators/url.decorator.d.ts +3 -0
  738. package/lib/form-validators/directives/base-directive.d.ts +8 -0
  739. package/lib/form-validators/directives/control-host.directive.d.ts +11 -0
  740. package/lib/form-validators/directives/html-control-template.directive.d.ts +9 -0
  741. package/lib/form-validators/directives/rx-form.directive.d.ts +18 -0
  742. package/lib/form-validators/directives/template-validations/async-validation.directive.d.ts +9 -0
  743. package/lib/form-validators/directives/template-validations/base-validator.directive.d.ts +17 -0
  744. package/lib/form-validators/directives/template-validations/control-expression-process.d.ts +18 -0
  745. package/lib/form-validators/directives/template-validations/file-control.directive.d.ts +29 -0
  746. package/lib/form-validators/directives/template-validations/image-file-control.directive.d.ts +17 -0
  747. package/lib/form-validators/directives/template-validations/rxformcontrol.directive.d.ts +89 -0
  748. package/lib/form-validators/domain/disable-provider.d.ts +15 -0
  749. package/lib/form-validators/domain/element-processor/decimal.provider.d.ts +17 -0
  750. package/lib/form-validators/domain/element-processor/mask.provider.d.ts +63 -0
  751. package/lib/form-validators/domain/form-data.d.ts +10 -0
  752. package/lib/form-validators/enums/error-message-binding-strategy.d.ts +9 -0
  753. package/lib/form-validators/enums/index.d.ts +4 -0
  754. package/lib/form-validators/enums/ip-version.d.ts +5 -0
  755. package/lib/form-validators/enums/numeric-value-type.d.ts +5 -0
  756. package/lib/form-validators/enums/reset-type.d.ts +8 -0
  757. package/lib/form-validators/enums/url-validation-type.d.ts +5 -0
  758. package/lib/form-validators/models/config/alpha-config.d.ts +5 -0
  759. package/lib/form-validators/models/config/array-config.d.ts +4 -0
  760. package/lib/form-validators/models/config/base-config-fn.d.ts +10 -0
  761. package/lib/form-validators/models/config/base-config.d.ts +7 -0
  762. package/lib/form-validators/models/config/base-date-config.d.ts +4 -0
  763. package/lib/form-validators/models/config/choice-config.d.ts +5 -0
  764. package/lib/form-validators/models/config/compare-config.d.ts +5 -0
  765. package/lib/form-validators/models/config/component-config.d.ts +3 -0
  766. package/lib/form-validators/models/config/compose-config.d.ts +5 -0
  767. package/lib/form-validators/models/config/contains-config.d.ts +4 -0
  768. package/lib/form-validators/models/config/credit-card-config.d.ts +5 -0
  769. package/lib/form-validators/models/config/custom-config.d.ts +5 -0
  770. package/lib/form-validators/models/config/date-config.d.ts +6 -0
  771. package/lib/form-validators/models/config/default-config.d.ts +4 -0
  772. package/lib/form-validators/models/config/digit-config.d.ts +3 -0
  773. package/lib/form-validators/models/config/disable-config.d.ts +3 -0
  774. package/lib/form-validators/models/config/element-class-config.d.ts +3 -0
  775. package/lib/form-validators/models/config/email-config.d.ts +3 -0
  776. package/lib/form-validators/models/config/error-config.d.ts +3 -0
  777. package/lib/form-validators/models/config/extension-config.d.ts +5 -0
  778. package/lib/form-validators/models/config/factor-config.d.ts +5 -0
  779. package/lib/form-validators/models/config/field-config.d.ts +4 -0
  780. package/lib/form-validators/models/config/file-config.d.ts +5 -0
  781. package/lib/form-validators/models/config/hex-color-config.d.ts +4 -0
  782. package/lib/form-validators/models/config/iban-config.d.ts +4 -0
  783. package/lib/form-validators/models/config/image-config.d.ts +7 -0
  784. package/lib/form-validators/models/config/index.d.ts +34 -0
  785. package/lib/form-validators/models/config/ip-config.d.ts +6 -0
  786. package/lib/form-validators/models/config/logical-operator-config.d.ts +5 -0
  787. package/lib/form-validators/models/config/mask-config.d.ts +6 -0
  788. package/lib/form-validators/models/config/max-date-config.d.ts +4 -0
  789. package/lib/form-validators/models/config/message-config.d.ts +3 -0
  790. package/lib/form-validators/models/config/min-date-config.d.ts +4 -0
  791. package/lib/form-validators/models/config/model-config.d.ts +4 -0
  792. package/lib/form-validators/models/config/number-config.d.ts +4 -0
  793. package/lib/form-validators/models/config/numeric-config.d.ts +8 -0
  794. package/lib/form-validators/models/config/password-config.d.ts +13 -0
  795. package/lib/form-validators/models/config/pattern-config.d.ts +6 -0
  796. package/lib/form-validators/models/config/prop-config.d.ts +14 -0
  797. package/lib/form-validators/models/config/props-config.d.ts +12 -0
  798. package/lib/form-validators/models/config/range-config.d.ts +5 -0
  799. package/lib/form-validators/models/config/relational-operator-config.d.ts +6 -0
  800. package/lib/form-validators/models/config/required-config.d.ts +3 -0
  801. package/lib/form-validators/models/config/rule-config.d.ts +4 -0
  802. package/lib/form-validators/models/config/sanitize-config.d.ts +3 -0
  803. package/lib/form-validators/models/config/size-config.d.ts +5 -0
  804. package/lib/form-validators/models/config/string-comparison-config.d.ts +4 -0
  805. package/lib/form-validators/models/config/time-config.d.ts +15 -0
  806. package/lib/form-validators/models/config/todate-config.d.ts +3 -0
  807. package/lib/form-validators/models/config/unique-config.d.ts +4 -0
  808. package/lib/form-validators/models/config/url-config.d.ts +5 -0
  809. package/lib/form-validators/models/form-builder-configuration.d.ts +28 -0
  810. package/lib/form-validators/models/index.d.ts +2 -0
  811. package/lib/form-validators/models/interface/array-prop-instance-config.interface.d.ts +5 -0
  812. package/lib/form-validators/models/interface/auto-instance-config.interface.d.ts +7 -0
  813. package/lib/form-validators/models/interface/form-data-config.d.ts +3 -0
  814. package/lib/form-validators/models/interface/i-abstract-control.d.ts +15 -0
  815. package/lib/form-validators/models/interface/i-form-group.d.ts +37 -0
  816. package/lib/form-validators/models/interface/instance-argument.interface.d.ts +3 -0
  817. package/lib/form-validators/models/interface/object-prop-instance-config.interface.d.ts +4 -0
  818. package/lib/form-validators/models/interface/options.d.ts +9 -0
  819. package/lib/form-validators/models/password-validation.model.d.ts +20 -0
  820. package/lib/form-validators/models/prop-validation-config.d.ts +78 -0
  821. package/lib/form-validators/public_api.d.ts +24 -0
  822. package/lib/form-validators/reactive-form-validators/allOf.validator.d.ts +3 -0
  823. package/lib/form-validators/reactive-form-validators/alpha.validator.d.ts +3 -0
  824. package/lib/form-validators/reactive-form-validators/alphaNumeric.validator.d.ts +3 -0
  825. package/lib/form-validators/reactive-form-validators/and.validator.d.ts +3 -0
  826. package/lib/form-validators/reactive-form-validators/ascii.validator.d.ts +3 -0
  827. package/lib/form-validators/reactive-form-validators/async/base.async.validator.d.ts +2 -0
  828. package/lib/form-validators/reactive-form-validators/choice.validator.d.ts +3 -0
  829. package/lib/form-validators/reactive-form-validators/compare.validator.d.ts +3 -0
  830. package/lib/form-validators/reactive-form-validators/compose.validator.d.ts +3 -0
  831. package/lib/form-validators/reactive-form-validators/conditional-change.validator.d.ts +2 -0
  832. package/lib/form-validators/reactive-form-validators/contains.validator.d.ts +3 -0
  833. package/lib/form-validators/reactive-form-validators/credit-card.validator.d.ts +3 -0
  834. package/lib/form-validators/reactive-form-validators/cusip.validator.d.ts +3 -0
  835. package/lib/form-validators/reactive-form-validators/custom.validator.d.ts +3 -0
  836. package/lib/form-validators/reactive-form-validators/dataUri.validator.d.ts +3 -0
  837. package/lib/form-validators/reactive-form-validators/date.validator.d.ts +3 -0
  838. package/lib/form-validators/reactive-form-validators/different.validator.d.ts +3 -0
  839. package/lib/form-validators/reactive-form-validators/digit.validator.d.ts +3 -0
  840. package/lib/form-validators/reactive-form-validators/email.validator.d.ts +3 -0
  841. package/lib/form-validators/reactive-form-validators/endsWith.validator.d.ts +3 -0
  842. package/lib/form-validators/reactive-form-validators/even.validator.d.ts +3 -0
  843. package/lib/form-validators/reactive-form-validators/extension.validator.d.ts +2 -0
  844. package/lib/form-validators/reactive-form-validators/factor.validator.d.ts +3 -0
  845. package/lib/form-validators/reactive-form-validators/file.validator.d.ts +2 -0
  846. package/lib/form-validators/reactive-form-validators/fileSize.validator.d.ts +2 -0
  847. package/lib/form-validators/reactive-form-validators/greater-than-equal-to.validator.d.ts +3 -0
  848. package/lib/form-validators/reactive-form-validators/greater-than.validator.d.ts +3 -0
  849. package/lib/form-validators/reactive-form-validators/grid.validator.d.ts +3 -0
  850. package/lib/form-validators/reactive-form-validators/hexcolor.validator.d.ts +3 -0
  851. package/lib/form-validators/reactive-form-validators/iban.validator.d.ts +3 -0
  852. package/lib/form-validators/reactive-form-validators/image.validator.d.ts +2 -0
  853. package/lib/form-validators/reactive-form-validators/index.d.ts +65 -0
  854. package/lib/form-validators/reactive-form-validators/ip.validator.d.ts +3 -0
  855. package/lib/form-validators/reactive-form-validators/json.validator.d.ts +3 -0
  856. package/lib/form-validators/reactive-form-validators/latLong.validator.d.ts +3 -0
  857. package/lib/form-validators/reactive-form-validators/latitude.validator.d.ts +3 -0
  858. package/lib/form-validators/reactive-form-validators/leapYear.validator.d.ts +3 -0
  859. package/lib/form-validators/reactive-form-validators/less-than-equal-to.validator.d.ts +3 -0
  860. package/lib/form-validators/reactive-form-validators/less-than.validator.d.ts +3 -0
  861. package/lib/form-validators/reactive-form-validators/longitude.validator.d.ts +3 -0
  862. package/lib/form-validators/reactive-form-validators/lowercase.validator.d.ts +3 -0
  863. package/lib/form-validators/reactive-form-validators/mac.validator.d.ts +3 -0
  864. package/lib/form-validators/reactive-form-validators/mask.validator.d.ts +3 -0
  865. package/lib/form-validators/reactive-form-validators/maxDate.validator.d.ts +3 -0
  866. package/lib/form-validators/reactive-form-validators/maxLength.validator.d.ts +3 -0
  867. package/lib/form-validators/reactive-form-validators/maxNumber.validator.d.ts +3 -0
  868. package/lib/form-validators/reactive-form-validators/maxTime.validator.d.ts +3 -0
  869. package/lib/form-validators/reactive-form-validators/minDate.validator.d.ts +3 -0
  870. package/lib/form-validators/reactive-form-validators/minLength.validator.d.ts +3 -0
  871. package/lib/form-validators/reactive-form-validators/minNumber.validator.d.ts +3 -0
  872. package/lib/form-validators/reactive-form-validators/minTime.validator.d.ts +3 -0
  873. package/lib/form-validators/reactive-form-validators/noneOf.validator.d.ts +3 -0
  874. package/lib/form-validators/reactive-form-validators/not.validator.d.ts +3 -0
  875. package/lib/form-validators/reactive-form-validators/notEmpty.validator.d.ts +3 -0
  876. package/lib/form-validators/reactive-form-validators/numeric.validator.d.ts +3 -0
  877. package/lib/form-validators/reactive-form-validators/odd.validator.d.ts +3 -0
  878. package/lib/form-validators/reactive-form-validators/oneOf.validator.d.ts +3 -0
  879. package/lib/form-validators/reactive-form-validators/or.validator.d.ts +3 -0
  880. package/lib/form-validators/reactive-form-validators/password.validator.d.ts +3 -0
  881. package/lib/form-validators/reactive-form-validators/pattern.validator.d.ts +3 -0
  882. package/lib/form-validators/reactive-form-validators/port.validator.d.ts +3 -0
  883. package/lib/form-validators/reactive-form-validators/primeNumber.validator.d.ts +3 -0
  884. package/lib/form-validators/reactive-form-validators/range.validator.d.ts +3 -0
  885. package/lib/form-validators/reactive-form-validators/required.validator.d.ts +3 -0
  886. package/lib/form-validators/reactive-form-validators/requiredTrue.validator.d.ts +3 -0
  887. package/lib/form-validators/reactive-form-validators/rule.validator.d.ts +3 -0
  888. package/lib/form-validators/reactive-form-validators/startsWith.validator.d.ts +3 -0
  889. package/lib/form-validators/reactive-form-validators/time.validator.d.ts +3 -0
  890. package/lib/form-validators/reactive-form-validators/unique.validator.d.ts +3 -0
  891. package/lib/form-validators/reactive-form-validators/uppercase.validator.d.ts +3 -0
  892. package/lib/form-validators/reactive-form-validators/url.validator.d.ts +3 -0
  893. package/lib/form-validators/services/base-form-builder.d.ts +13 -0
  894. package/lib/form-validators/services/entity.service.d.ts +15 -0
  895. package/lib/form-validators/services/form-control.d.ts +99 -0
  896. package/lib/form-validators/services/form-group.d.ts +9 -0
  897. package/lib/form-validators/services/reactive-form.module.d.ts +24 -0
  898. package/lib/form-validators/services/rx-form-array.d.ts +38 -0
  899. package/lib/form-validators/services/rx-form-builder.d.ts +54 -0
  900. package/lib/form-validators/services/rx-form-group.d.ts +66 -0
  901. package/lib/form-validators/services/typed-form-builder.d.ts +14 -0
  902. package/lib/form-validators/util/alphabet-regex.locale.d.ts +28 -0
  903. package/lib/form-validators/util/app-util.d.ts +28 -0
  904. package/lib/form-validators/util/check-length.d.ts +1 -0
  905. package/lib/form-validators/util/config-provider.d.ts +1 -0
  906. package/lib/form-validators/util/date-checker.function.d.ts +7 -0
  907. package/lib/form-validators/util/date-provider.d.ts +9 -0
  908. package/lib/form-validators/util/form-const.d.ts +2 -0
  909. package/lib/form-validators/util/form-provider.d.ts +8 -0
  910. package/lib/form-validators/util/index.d.ts +6 -0
  911. package/lib/form-validators/util/instance-provider.function.d.ts +3 -0
  912. package/lib/form-validators/util/ip-checker.d.ts +2 -0
  913. package/lib/form-validators/util/linq.d.ts +15 -0
  914. package/lib/form-validators/util/object-maker.d.ts +7 -0
  915. package/lib/form-validators/util/reactive-form-config.d.ts +17 -0
  916. package/lib/form-validators/util/regex-rules.d.ts +3 -0
  917. package/lib/form-validators/util/regex-validator.d.ts +11 -0
  918. package/lib/form-validators/util/relational-checker.function.d.ts +2 -0
  919. package/lib/form-validators/util/reset-form.d.ts +21 -0
  920. package/lib/form-validators/util/sanitizers.d.ts +3 -0
  921. package/lib/form-validators/util/time-checker.function.d.ts +4 -0
  922. package/lib/form-validators/util/type.d.ts +3 -0
  923. package/lib/form-validators/util/validator-value-checker.d.ts +5 -0
  924. package/lib/form-validators/validators-extension/allOf-validator.extension.d.ts +4 -0
  925. package/lib/form-validators/validators-extension/alpha-validator.extension.d.ts +4 -0
  926. package/lib/form-validators/validators-extension/alphaNumeric-validator.extension.d.ts +4 -0
  927. package/lib/form-validators/validators-extension/and-validator.extension.d.ts +3 -0
  928. package/lib/form-validators/validators-extension/ascii-validator.extension.d.ts +3 -0
  929. package/lib/form-validators/validators-extension/base-validator.function.d.ts +3 -0
  930. package/lib/form-validators/validators-extension/choice-validator.extension.d.ts +4 -0
  931. package/lib/form-validators/validators-extension/compare-validator.extension.d.ts +3 -0
  932. package/lib/form-validators/validators-extension/compose-validator.extension.d.ts +3 -0
  933. package/lib/form-validators/validators-extension/contains-validator.extension.d.ts +4 -0
  934. package/lib/form-validators/validators-extension/credit-card-validator.extension.d.ts +4 -0
  935. package/lib/form-validators/validators-extension/cusip-validator.extension.d.ts +3 -0
  936. package/lib/form-validators/validators-extension/custom-validator.extension.d.ts +4 -0
  937. package/lib/form-validators/validators-extension/dataUri-validator.extension.d.ts +3 -0
  938. package/lib/form-validators/validators-extension/date-validator.extension.d.ts +4 -0
  939. package/lib/form-validators/validators-extension/different-validator.extension.d.ts +3 -0
  940. package/lib/form-validators/validators-extension/digit-validator.extension.d.ts +3 -0
  941. package/lib/form-validators/validators-extension/email-validator.extension.d.ts +3 -0
  942. package/lib/form-validators/validators-extension/endsWith-validator.extension.d.ts +4 -0
  943. package/lib/form-validators/validators-extension/even-validator.extension.d.ts +3 -0
  944. package/lib/form-validators/validators-extension/extension-validator.extension.d.ts +4 -0
  945. package/lib/form-validators/validators-extension/factor-validator.extension.d.ts +4 -0
  946. package/lib/form-validators/validators-extension/file-validator.extension.d.ts +4 -0
  947. package/lib/form-validators/validators-extension/fileSize-validator.extension.d.ts +4 -0
  948. package/lib/form-validators/validators-extension/greater-than-equal-to-validator.extension.d.ts +4 -0
  949. package/lib/form-validators/validators-extension/greater-than-validator.extension.d.ts +4 -0
  950. package/lib/form-validators/validators-extension/grid-validator.extension.d.ts +3 -0
  951. package/lib/form-validators/validators-extension/hexcolor-validator.extension.d.ts +3 -0
  952. package/lib/form-validators/validators-extension/iban-validator.extension.d.ts +4 -0
  953. package/lib/form-validators/validators-extension/image-validator.extension.d.ts +4 -0
  954. package/lib/form-validators/validators-extension/index.d.ts +67 -0
  955. package/lib/form-validators/validators-extension/ip-validator.extension.d.ts +4 -0
  956. package/lib/form-validators/validators-extension/json-validator.extension.d.ts +3 -0
  957. package/lib/form-validators/validators-extension/latLong-validator.extension.d.ts +3 -0
  958. package/lib/form-validators/validators-extension/latitude-validator.extension.d.ts +3 -0
  959. package/lib/form-validators/validators-extension/leapYear-validator.extension.d.ts +3 -0
  960. package/lib/form-validators/validators-extension/less-than-equal-to-validator.extension.d.ts +4 -0
  961. package/lib/form-validators/validators-extension/less-than-validator.extension.d.ts +4 -0
  962. package/lib/form-validators/validators-extension/longitude-validator.extension.d.ts +3 -0
  963. package/lib/form-validators/validators-extension/lowercase-validator.extension.d.ts +3 -0
  964. package/lib/form-validators/validators-extension/mac-validator.extension.d.ts +3 -0
  965. package/lib/form-validators/validators-extension/mask-validator.extension.d.ts +3 -0
  966. package/lib/form-validators/validators-extension/maxDate-validator.extension.d.ts +4 -0
  967. package/lib/form-validators/validators-extension/maxLength-validator.extension.d.ts +4 -0
  968. package/lib/form-validators/validators-extension/maxNumber-validator.extension.d.ts +4 -0
  969. package/lib/form-validators/validators-extension/maxTime-validator.extension.d.ts +4 -0
  970. package/lib/form-validators/validators-extension/minDate-validator.extension.d.ts +4 -0
  971. package/lib/form-validators/validators-extension/minLength-validator.extension.d.ts +4 -0
  972. package/lib/form-validators/validators-extension/minNumber-validator.extension.d.ts +4 -0
  973. package/lib/form-validators/validators-extension/minTime-validator.extension.d.ts +4 -0
  974. package/lib/form-validators/validators-extension/noneOf-validator.extension.d.ts +4 -0
  975. package/lib/form-validators/validators-extension/not-validator.extension.d.ts +3 -0
  976. package/lib/form-validators/validators-extension/notEmpty-validator.extension.d.ts +3 -0
  977. package/lib/form-validators/validators-extension/numeric-validator.extension.d.ts +4 -0
  978. package/lib/form-validators/validators-extension/odd-validator.extension.d.ts +3 -0
  979. package/lib/form-validators/validators-extension/oneOf-validator.extension.d.ts +4 -0
  980. package/lib/form-validators/validators-extension/or-validator.extension.d.ts +3 -0
  981. package/lib/form-validators/validators-extension/password-validator.extension.d.ts +4 -0
  982. package/lib/form-validators/validators-extension/pattern-validator.extension.d.ts +4 -0
  983. package/lib/form-validators/validators-extension/port-validator.extension.d.ts +3 -0
  984. package/lib/form-validators/validators-extension/primeNumber-validator.extension.d.ts +3 -0
  985. package/lib/form-validators/validators-extension/range-validator.extension.d.ts +4 -0
  986. package/lib/form-validators/validators-extension/required-validator.extension.d.ts +3 -0
  987. package/lib/form-validators/validators-extension/requiredTrue-validator.extension.d.ts +3 -0
  988. package/lib/form-validators/validators-extension/rxweb-validators.d.ts +107 -0
  989. package/lib/form-validators/validators-extension/startsWith-validator.extension.d.ts +4 -0
  990. package/lib/form-validators/validators-extension/time-validator.extension.d.ts +4 -0
  991. package/lib/form-validators/validators-extension/unique-validator.extension.d.ts +3 -0
  992. package/lib/form-validators/validators-extension/uppercase-validator.extension.d.ts +3 -0
  993. package/lib/form-validators/validators-extension/url-validator.extension.d.ts +4 -0
  994. package/lib/form-validators/validators-function/alpha-validation.function.d.ts +3 -0
  995. package/lib/form-validators/validators-function/regex-validation.function.d.ts +4 -0
  996. package/lib/forms/components/generic-form/generic-form.component.d.ts +91 -0
  997. package/lib/forms/constants/constants.d.ts +1 -0
  998. package/lib/forms/directives/mat-form-field-editor.directive.d.ts +82 -0
  999. package/lib/forms/directives/mat-form-field-readonly.directive.d.ts +16 -0
  1000. package/lib/forms/enums/form-field-type.d.ts +17 -0
  1001. package/lib/forms/forms.module.d.ts +39 -0
  1002. package/lib/forms/functions/decorators.d.ts +14 -0
  1003. package/lib/forms/functions/functions.d.ts +7 -0
  1004. package/lib/forms/helpers/abstract-mat-form-field.d.ts +182 -0
  1005. package/lib/forms/helpers/value-accessor-base.d.ts +92 -0
  1006. package/lib/forms/models/form-field-definition.d.ts +39 -0
  1007. package/lib/forms/models/form-field-group.d.ts +12 -0
  1008. package/lib/forms/public_api.d.ts +3 -0
  1009. package/lib/forms/validators/equal-validator.directive.d.ts +20 -0
  1010. package/lib/forms/validators/native-element-injector.directive.d.ts +17 -0
  1011. package/lib/forms/validators/unique-validator-directive.d.ts +36 -0
  1012. package/lib/http/http.module.d.ts +8 -0
  1013. package/lib/http/public_api.d.ts +1 -0
  1014. package/lib/http/services/generic.service.d.ts +166 -0
  1015. package/lib/layout/_layout-theme.scss +89 -0
  1016. package/lib/layout/form-toolbar/form-toolbar.component.d.ts +23 -0
  1017. package/lib/layout/form-toolbar-menu/form-toolbar-menu.component.d.ts +10 -0
  1018. package/lib/layout/layout-card-over/layout-card-over.component.d.ts +31 -0
  1019. package/lib/layout/layout-footer/layout-footer.component.d.ts +17 -0
  1020. package/lib/layout/layout-manage-list/layout-manage-list.component.d.ts +100 -0
  1021. package/lib/layout/layout-manage-list/layout-manage-list.directives.d.ts +61 -0
  1022. package/lib/layout/layout-nav/layout-nav.component.d.ts +85 -0
  1023. package/lib/layout/layout-nav-list/layout-nav-list.component.d.ts +94 -0
  1024. package/lib/layout/layout-nav-list/layout-nav-list.directives.d.ts +25 -0
  1025. package/lib/layout/layout-toggle.class.d.ts +37 -0
  1026. package/lib/layout/layout.component.d.ts +56 -0
  1027. package/lib/layout/layout.directives.d.ts +25 -0
  1028. package/lib/layout/layout.module.d.ts +46 -0
  1029. package/lib/layout/list-toolbar/list-toolbar.component.d.ts +19 -0
  1030. package/lib/layout/list-toolbar-menu/list-toolbar-menu.component.d.ts +10 -0
  1031. package/lib/layout/navigation-drawer/navigation-drawer.component.d.ts +114 -0
  1032. package/lib/layout/public_api.d.ts +1 -0
  1033. package/lib/media/directives/media-toggle.directive.d.ts +44 -0
  1034. package/lib/media/media.module.d.ts +11 -0
  1035. package/lib/media/public_api.d.ts +1 -0
  1036. package/lib/media/services/media.service.d.ts +37 -0
  1037. package/lib/menu/components/menu.component.d.ts +28 -0
  1038. package/lib/menu/enums/menu-scope.d.ts +4 -0
  1039. package/lib/menu/menu.module.d.ts +19 -0
  1040. package/lib/menu/models/menu-item.d.ts +17 -0
  1041. package/lib/menu/models/menu.d.ts +14 -0
  1042. package/lib/menu/public_api.d.ts +1 -0
  1043. package/lib/menu/services/menu-items.service.d.ts +12 -0
  1044. package/lib/menu/services/menu.resolve.d.ts +39 -0
  1045. package/lib/menu/services/menu.service.d.ts +12 -0
  1046. package/lib/search/public_api.d.ts +1 -0
  1047. package/lib/search/search.module.d.ts +15 -0
  1048. package/lib/search/vd-search-box/vd-search-box.component.d.ts +60 -0
  1049. package/lib/search/vd-search-input/vd-search-input.component.d.ts +57 -0
  1050. package/lib/select/public_api.d.ts +2 -0
  1051. package/lib/select/select.component.d.ts +233 -0
  1052. package/lib/select/select.module.d.ts +13 -0
  1053. package/lib/table/components/dynamic-table/dynamic-table.component.d.ts +202 -0
  1054. package/lib/table/components/filter-clear.component.d.ts +16 -0
  1055. package/lib/table/components/filter-date.component.d.ts +70 -0
  1056. package/lib/table/components/filter-input.component.d.ts +94 -0
  1057. package/lib/table/components/filter-select.component.d.ts +178 -0
  1058. package/lib/table/directives/data-source-filter.directive.d.ts +28 -0
  1059. package/lib/table/enums/table-column-type.d.ts +12 -0
  1060. package/lib/table/functions/decorators.d.ts +17 -0
  1061. package/lib/table/functions/functions.d.ts +8 -0
  1062. package/lib/table/models/pagination.d.ts +7 -0
  1063. package/lib/table/models/table-column.d.ts +59 -0
  1064. package/lib/table/models/table-definition.d.ts +24 -0
  1065. package/lib/table/models/table-menu-item.d.ts +8 -0
  1066. package/lib/table/paginator-intl.d.ts +27 -0
  1067. package/lib/table/public_api.d.ts +2 -0
  1068. package/lib/table/table.data-source.d.ts +140 -0
  1069. package/lib/table/table.module.d.ts +46 -0
  1070. package/lib/table/table.static-data-source.d.ts +88 -0
  1071. package/messaia-cdk.d.ts +5 -0
  1072. package/package.json +31 -0
  1073. package/public_api.d.ts +14 -0
  1074. package/src/lib/layout/README.md +119 -0
  1075. package/src/lib/layout/layout-card-over/README.md +36 -0
  1076. package/src/lib/layout/layout-manage-list/README.md +76 -0
  1077. package/src/lib/layout/layout-nav/README.md +40 -0
  1078. package/src/lib/layout/layout-nav-list/README.md +85 -0
@@ -0,0 +1,277 @@
1
+ import { Directive, ElementRef, forwardRef, Input, Renderer2 } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import { BLANK, BLUR, ELEMENT_VALUE, FOCUS } from "../../const";
4
+ import { APP_VALIDATORS } from '../../const/app-validators.const';
5
+ import { CONDITIONAL_VALIDATOR, TEMPLATE_VALIDATION_CONFIG, VALIDATOR_CONFIG } from '../../const/app.const';
6
+ import { DecimalProvider } from "../../domain/element-processor/decimal.provider";
7
+ import { MaskProvider } from '../../domain/element-processor/mask.provider';
8
+ import { RegexValidator } from '../../util';
9
+ import { ApplicationUtil } from '../../util/app-util';
10
+ import { BaseValidator } from './base-validator.directive';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../../domain/element-processor/decimal.provider";
13
+ const NGMODEL_BINDING = {
14
+ provide: NG_VALIDATORS,
15
+ useExisting: forwardRef(() => RxFormControlDirective),
16
+ multi: true
17
+ };
18
+ const ALLOW_VALIDATOR_WITHOUT_CONFIG = ['required', 'notEmpty', 'alpha', 'alphaNumeric', 'ascii', 'dataUri', 'digit', 'email', 'even', 'hexColor', 'json', 'latitude', 'latLong', 'leapYear', 'longitude', 'lowerCase', 'mac', 'odd', 'port', 'primeNumber', 'time', 'upperCase', 'url', 'unique', 'cusip', 'gird'];
19
+ const NUMERIC = "numeric";
20
+ const IS_FORMAT = "isFormat";
21
+ const DIGITS_INFO = "digitsInfo";
22
+ export class RxFormControlDirective extends BaseValidator {
23
+ constructor(elementRef, renderer, decimalProvider) {
24
+ super();
25
+ this.elementRef = elementRef;
26
+ this.renderer = renderer;
27
+ this.decimalProvider = decimalProvider;
28
+ this.eventListeners = [];
29
+ this.isNumericSubscribed = false;
30
+ this.isFocusCalled = false;
31
+ this.isMasked = false;
32
+ this.element = elementRef.nativeElement;
33
+ this.setEventName();
34
+ }
35
+ set validationControls(value) {
36
+ this.controls = value;
37
+ }
38
+ get validationControls() {
39
+ return this.controls;
40
+ }
41
+ ngOnInit() {
42
+ let validators = [];
43
+ Object.keys(APP_VALIDATORS).forEach(validatorName => {
44
+ if ((this[`rx${validatorName}`]) || (ALLOW_VALIDATOR_WITHOUT_CONFIG.indexOf(validatorName) != -1 && this[`rx${validatorName}`] == BLANK)) {
45
+ validators.push(APP_VALIDATORS[validatorName](this[`rx${validatorName}`]));
46
+ if (this.name && !(this.formControlName && this.formControl)) {
47
+ ApplicationUtil.configureControl(this.controlConfig, this[`rx${validatorName}`], validatorName);
48
+ }
49
+ }
50
+ });
51
+ if (validators.length > 0)
52
+ this.validators = validators;
53
+ if (this.rxnumeric && (this.rxnumeric.isFormat || this.rxnumeric.digitsInfo)) {
54
+ this.bindNumericElementEvent();
55
+ }
56
+ }
57
+ blurEvent() {
58
+ if (!(this.formControl && this.formControl.errors && this.formControl.errors.numeric)) {
59
+ if (this.formControl.value !== null && this.formControl.value !== undefined) {
60
+ let value = this.decimalProvider.transFormDecimal(this.formControl.value, this.rxnumeric.digitsInfo);
61
+ value = (!this.rxnumeric.isFormat) ? this.decimalProvider.replacer(value) : value;
62
+ this.setValueOnElement(value);
63
+ }
64
+ this.isFocusCalled = false;
65
+ }
66
+ }
67
+ bindNumericElementEvent(config) {
68
+ if (config)
69
+ this.rxnumeric = config;
70
+ let listener = this.renderer.listen(this.element, BLUR, this.blurEvent.bind(this));
71
+ this.eventListeners.push(listener);
72
+ listener = this.renderer.listen(this.element, FOCUS, (event) => {
73
+ this.isFocusCalled = true;
74
+ if (!(this.formControl && this.formControl.errors && this.formControl.errors.numeric) && this.formControl.value != null) {
75
+ let value = this.decimalProvider.replacer(this.element.value);
76
+ this.setValueOnElement(value);
77
+ }
78
+ });
79
+ this.eventListeners.push(listener);
80
+ }
81
+ bindValueChangeEvent() {
82
+ if (this.eventName != BLANK) {
83
+ let listener = this.renderer.listen(this.element, this.eventName, () => {
84
+ Object.keys(this.validationControls).forEach(fieldName => {
85
+ this.validationControls[fieldName].updateValueAndValidity();
86
+ });
87
+ });
88
+ this.eventListeners.push(listener);
89
+ }
90
+ }
91
+ subscribeNumericFormatter() {
92
+ if (this.formControl[VALIDATOR_CONFIG] && this.formControl[VALIDATOR_CONFIG][NUMERIC] && (this.formControl[VALIDATOR_CONFIG][NUMERIC][IS_FORMAT] || this.formControl[VALIDATOR_CONFIG][NUMERIC][DIGITS_INFO])) {
93
+ if (!this.isNumericSubscribed) {
94
+ this.bindNumericElementEvent(this.formControl[VALIDATOR_CONFIG][NUMERIC]);
95
+ this.isNumericSubscribed = true;
96
+ }
97
+ if (!this.isFocusCalled && RegexValidator.isNotBlank(this.formControl.value)) {
98
+ this.blurEvent();
99
+ }
100
+ }
101
+ }
102
+ subscribeMaskValidator() {
103
+ if (this.formControl[VALIDATOR_CONFIG] && this.formControl[VALIDATOR_CONFIG]["mask"] && !this.isMasked) {
104
+ let config = this.formControl[VALIDATOR_CONFIG]["mask"];
105
+ this.maskProvider = new MaskProvider(this.element, config.mask, this.renderer, this.formControl, config);
106
+ this.isMasked = true;
107
+ }
108
+ }
109
+ setValueOnElement(value) {
110
+ this.renderer.setProperty(this.element, ELEMENT_VALUE, value);
111
+ }
112
+ setTemplateValidators(control) {
113
+ for (let validatorName in control[VALIDATOR_CONFIG]) {
114
+ this[validatorName] = control[VALIDATOR_CONFIG][validatorName];
115
+ }
116
+ delete control[TEMPLATE_VALIDATION_CONFIG];
117
+ delete control[VALIDATOR_CONFIG];
118
+ this.ngOnInit();
119
+ }
120
+ updateOnElementClass(element) {
121
+ var previousClassName = '';
122
+ return function (className) {
123
+ if (previousClassName)
124
+ element.classList.remove(previousClassName);
125
+ if (className)
126
+ element.classList.add(className);
127
+ previousClassName = className;
128
+ };
129
+ }
130
+ setValidatorConfig(control) {
131
+ if (!this.formControl) {
132
+ this.formControl = control;
133
+ let rxFormControl = this.formControl;
134
+ if (rxFormControl.updateOnElementClass)
135
+ rxFormControl.updateOnElementClass = this.updateOnElementClass(this.element);
136
+ }
137
+ this.subscribeMaskValidator();
138
+ this.subscribeNumericFormatter();
139
+ if (control[TEMPLATE_VALIDATION_CONFIG])
140
+ this.setTemplateValidators(control);
141
+ if (control[CONDITIONAL_VALIDATOR]) {
142
+ this.conditionalValidator = control[CONDITIONAL_VALIDATOR];
143
+ delete control[CONDITIONAL_VALIDATOR];
144
+ }
145
+ }
146
+ validate(control) {
147
+ this.setValidatorConfig(control);
148
+ if (this.conditionalValidator)
149
+ this.conditionalValidator(control);
150
+ if (!this.isProcessed)
151
+ this.setModelConfig(control);
152
+ return ((this.validators && this.validators.length > 0) || this.maskProvider) ? this.validation(control) : null;
153
+ }
154
+ ngOnDestroy() {
155
+ this.controls = undefined;
156
+ let eventCount = this.eventListeners.length;
157
+ for (var i = 0; i < eventCount; i++) {
158
+ this.eventListeners[0]();
159
+ this.eventListeners.splice(0, 1);
160
+ }
161
+ this.eventListeners = [];
162
+ if (this.maskProvider)
163
+ this.maskProvider.onDestroy();
164
+ }
165
+ }
166
+ /** @nocollapse */ /** @nocollapse */ RxFormControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: RxFormControlDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DecimalProvider }], target: i0.ɵɵFactoryTarget.Directive });
167
+ /** @nocollapse */ /** @nocollapse */ RxFormControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: RxFormControlDirective, selector: "[ngModel],[formControlName],[formControl]", inputs: { rxalpha: "rxalpha", rxalphaNumeric: "rxalphaNumeric", rxascii: "rxascii", rxcompare: "rxcompare", rxcompose: "rxcompose", rxcontains: "rxcontains", rxcreditCard: "rxcreditCard", rxdataUri: "rxdataUri", rxdifferent: "rxdifferent", rxdigit: "rxdigit", rxemail: "rxemail", rxendsWith: "rxendsWith", rxeven: "rxeven", rxextension: "rxextension", rxfactor: "rxfactor", rxfileSize: "rxfileSize", rxgreaterThanEqualTo: "rxgreaterThanEqualTo", rxgreaterThan: "rxgreaterThan", rxhexColor: "rxhexColor", rxjson: "rxjson", rxlatitude: "rxlatitude", rxlatLong: "rxlatLong", rxleapYear: "rxleapYear", rxlessThan: "rxlessThan", rxlessThanEqualTo: "rxlessThanEqualTo", rxlongitude: "rxlongitude", rxlowerCase: "rxlowerCase", rxmac: "rxmac", rxmaxDate: "rxmaxDate", rxmaxLength: "rxmaxLength", rxmaxNumber: "rxmaxNumber", rxminDate: "rxminDate", rxminLength: "rxminLength", rxminNumber: "rxminNumber", rxnumeric: "rxnumeric", rxodd: "rxodd", rxpassword: "rxpassword", rxport: "rxport", rxprimeNumber: "rxprimeNumber", rxrequired: "rxrequired", rxrange: "rxrange", rxrule: "rxrule", rxstartsWith: "rxstartsWith", rxtime: "rxtime", rxupperCase: "rxupperCase", rxurl: "rxurl", rxunique: "rxunique", rxnotEmpty: "rxnotEmpty", rxcusip: "rxcusip", rxgrid: "rxgrid", rxdate: "rxdate" }, providers: [NGMODEL_BINDING], usesInheritance: true, ngImport: i0 });
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: RxFormControlDirective, decorators: [{
169
+ type: Directive,
170
+ args: [{
171
+ selector: '[ngModel],[formControlName],[formControl]',
172
+ providers: [NGMODEL_BINDING],
173
+ }]
174
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.DecimalProvider }]; }, propDecorators: { rxalpha: [{
175
+ type: Input
176
+ }], rxalphaNumeric: [{
177
+ type: Input
178
+ }], rxascii: [{
179
+ type: Input
180
+ }], rxcompare: [{
181
+ type: Input
182
+ }], rxcompose: [{
183
+ type: Input
184
+ }], rxcontains: [{
185
+ type: Input
186
+ }], rxcreditCard: [{
187
+ type: Input
188
+ }], rxdataUri: [{
189
+ type: Input
190
+ }], rxdifferent: [{
191
+ type: Input
192
+ }], rxdigit: [{
193
+ type: Input
194
+ }], rxemail: [{
195
+ type: Input
196
+ }], rxendsWith: [{
197
+ type: Input
198
+ }], rxeven: [{
199
+ type: Input
200
+ }], rxextension: [{
201
+ type: Input
202
+ }], rxfactor: [{
203
+ type: Input
204
+ }], rxfileSize: [{
205
+ type: Input
206
+ }], rxgreaterThanEqualTo: [{
207
+ type: Input
208
+ }], rxgreaterThan: [{
209
+ type: Input
210
+ }], rxhexColor: [{
211
+ type: Input
212
+ }], rxjson: [{
213
+ type: Input
214
+ }], rxlatitude: [{
215
+ type: Input
216
+ }], rxlatLong: [{
217
+ type: Input
218
+ }], rxleapYear: [{
219
+ type: Input
220
+ }], rxlessThan: [{
221
+ type: Input
222
+ }], rxlessThanEqualTo: [{
223
+ type: Input
224
+ }], rxlongitude: [{
225
+ type: Input
226
+ }], rxlowerCase: [{
227
+ type: Input
228
+ }], rxmac: [{
229
+ type: Input
230
+ }], rxmaxDate: [{
231
+ type: Input
232
+ }], rxmaxLength: [{
233
+ type: Input
234
+ }], rxmaxNumber: [{
235
+ type: Input
236
+ }], rxminDate: [{
237
+ type: Input
238
+ }], rxminLength: [{
239
+ type: Input
240
+ }], rxminNumber: [{
241
+ type: Input
242
+ }], rxnumeric: [{
243
+ type: Input
244
+ }], rxodd: [{
245
+ type: Input
246
+ }], rxpassword: [{
247
+ type: Input
248
+ }], rxport: [{
249
+ type: Input
250
+ }], rxprimeNumber: [{
251
+ type: Input
252
+ }], rxrequired: [{
253
+ type: Input
254
+ }], rxrange: [{
255
+ type: Input
256
+ }], rxrule: [{
257
+ type: Input
258
+ }], rxstartsWith: [{
259
+ type: Input
260
+ }], rxtime: [{
261
+ type: Input
262
+ }], rxupperCase: [{
263
+ type: Input
264
+ }], rxurl: [{
265
+ type: Input
266
+ }], rxunique: [{
267
+ type: Input
268
+ }], rxnotEmpty: [{
269
+ type: Input
270
+ }], rxcusip: [{
271
+ type: Input
272
+ }], rxgrid: [{
273
+ type: Input
274
+ }], rxdate: [{
275
+ type: Input
276
+ }] } });
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmb3JtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvZGlyZWN0aXZlcy90ZW1wbGF0ZS12YWxpZGF0aW9ucy9yeGZvcm1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFnQyxhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRTNELE1BQU0sZUFBZSxHQUFRO0lBQ3pCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7SUFDckQsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsTUFBTSw4QkFBOEIsR0FBRyxDQUFDLFVBQVUs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QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCTEFOSywgQkxVUiwgRUxFTUVOVF9WQUxVRSwgRk9DVVMgfSBmcm9tIFwiLi4vLi4vY29uc3RcIjtcclxuaW1wb3J0IHsgQVBQX1ZBTElEQVRPUlMgfSBmcm9tICcuLi8uLi9jb25zdC9hcHAtdmFsaWRhdG9ycy5jb25zdCc7XHJcbmltcG9ydCB7IENPTkRJVElPTkFMX1ZBTElEQVRPUiwgVEVNUExBVEVfVkFMSURBVElPTl9DT05GSUcsIFZBTElEQVRPUl9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25zdC9hcHAuY29uc3QnO1xyXG5pbXBvcnQgeyBEZWNpbWFsUHJvdmlkZXIgfSBmcm9tIFwiLi4vLi4vZG9tYWluL2VsZW1lbnQtcHJvY2Vzc29yL2RlY2ltYWwucHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgTWFza1Byb3ZpZGVyIH0gZnJvbSAnLi4vLi4vZG9tYWluL2VsZW1lbnQtcHJvY2Vzc29yL21hc2sucHJvdmlkZXInO1xyXG5pbXBvcnQgeyBBbHBoYUNvbmZpZywgQmFzZUNvbmZpZywgQ29tcGFyZUNvbmZpZywgQ29tcG9zZUNvbmZpZywgQ29udGFpbnNDb25maWcsIENyZWRpdENhcmRDb25maWcsIERhdGVDb25maWcsIERlZmF1bHRDb25maWcsIERpZmZlcmVudENvbmZpZywgRGlnaXRDb25maWcsIEVtYWlsQ29uZmlnLCBFeHRlbnNpb25Db25maWcsIEZhY3RvckNvbmZpZywgTWVzc2FnZUNvbmZpZywgTnVtYmVyQ29uZmlnLCBOdW1lcmljQ29uZmlnLCBQYXNzd29yZENvbmZpZywgUmFuZ2VDb25maWcsIFJlbGF0aW9uYWxPcGVyYXRvckNvbmZpZywgUmVxdWlyZWRDb25maWcsIFJ1bGVDb25maWcsIFNpemVDb25maWcsIFRpbWVDb25maWcsIFVuaXF1ZUNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9jb25maWcnO1xyXG5pbXBvcnQgeyBSeEZvcm1Db250cm9sIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2Zvcm0tY29udHJvbFwiO1xyXG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3V0aWwnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tICcuLi8uLi91dGlsL2FwcC11dGlsJztcclxuaW1wb3J0IHsgQmFzZVZhbGlkYXRvciB9IGZyb20gJy4vYmFzZS12YWxpZGF0b3IuZGlyZWN0aXZlJztcclxuXHJcbmNvbnN0IE5HTU9ERUxfQklORElORzogYW55ID0ge1xyXG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJ4Rm9ybUNvbnRyb2xEaXJlY3RpdmUpLFxyXG4gICAgbXVsdGk6IHRydWVcclxufTtcclxuXHJcbmNvbnN0IEFMTE9XX1ZBTElEQVRPUl9XSVRIT1VUX0NPTkZJRyA9IFsncmVxdWlyZWQnLCAnbm90RW1wdHknLCAnYWxwaGEnLCAnYWxwaGFOdW1lcmljJywgJ2FzY2lpJywgJ2RhdGFVcmknLCAnZGlnaXQnLCAnZW1haWwnLCAnZXZlbicsICdoZXhDb2xvcicsICdqc29uJywgJ2xhdGl0dWRlJywgJ2xhdExvbmcnLCAnbGVhcFllYXInLCAnbG9uZ2l0dWRlJywgJ2xvd2VyQ2FzZScsICdtYWMnLCAnb2RkJywgJ3BvcnQnLCAncHJpbWVOdW1iZXInLCAndGltZScsICd1cHBlckNhc2UnLCAndXJsJywgJ3VuaXF1ZScsICdjdXNpcCcsICdnaXJkJ107XHJcbmNvbnN0IE5VTUVSSUM6IHN0cmluZyA9IFwibnVtZXJpY1wiO1xyXG5jb25zdCBJU19GT1JNQVQ6IHN0cmluZyA9IFwiaXNGb3JtYXRcIjtcclxuY29uc3QgRElHSVRTX0lORk86IHN0cmluZyA9IFwiZGlnaXRzSW5mb1wiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tuZ01vZGVsXSxbZm9ybUNvbnRyb2xOYW1lXSxbZm9ybUNvbnRyb2xdJyxcclxuICAgIHByb3ZpZGVyczogW05HTU9ERUxfQklORElOR10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSeEZvcm1Db250cm9sRGlyZWN0aXZlIGV4dGVuZHMgQmFzZVZhbGlkYXRvciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBWYWxpZGF0b3Ige1xyXG4gICAgcHJpdmF0ZSBldmVudExpc3RlbmVyczogYW55W10gPSBbXTtcclxuICAgIHByaXZhdGUgaXNOdW1lcmljU3Vic2NyaWJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBpc0ZvY3VzQ2FsbGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIGlzTWFza2VkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cclxuICAgIHNldCB2YWxpZGF0aW9uQ29udHJvbHModmFsdWU6IHsgW2tleTogc3RyaW5nXTogRm9ybUNvbnRyb2wgfSkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbHMgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdmFsaWRhdGlvbkNvbnRyb2xzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xzO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpIHJ4YWxwaGE6IEFscGhhQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhhbHBoYU51bWVyaWM6IEFscGhhQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhhc2NpaTogQmFzZUNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4Y29tcGFyZTogQ29tcGFyZUNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4Y29tcG9zZTogQ29tcG9zZUNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4Y29udGFpbnM6IENvbnRhaW5zQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhjcmVkaXRDYXJkOiBDcmVkaXRDYXJkQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhkYXRhVXJpOiBCYXNlQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhkaWZmZXJlbnQ6IERpZmZlcmVudENvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4ZGlnaXQ6IERpZ2l0Q29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhlbWFpbDogRW1haWxDb25maWc7XHJcbiAgICBASW5wdXQoKSByeGVuZHNXaXRoOiBEZWZhdWx0Q29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhldmVuOiBCYXNlQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhleHRlbnNpb246IEV4dGVuc2lvbkNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4ZmFjdG9yOiBGYWN0b3JDb25maWc7XHJcbiAgICBASW5wdXQoKSByeGZpbGVTaXplOiBTaXplQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhncmVhdGVyVGhhbkVxdWFsVG86IFJlbGF0aW9uYWxPcGVyYXRvckNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4Z3JlYXRlclRoYW46IFJlbGF0aW9uYWxPcGVyYXRvckNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4aGV4Q29sb3I6IE1lc3NhZ2VDb25maWc7XHJcbiAgICBASW5wdXQoKSByeGpzb246IERlZmF1bHRDb25maWc7XHJcbiAgICBASW5wdXQoKSByeGxhdGl0dWRlOiBCYXNlQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhsYXRMb25nOiBCYXNlQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhsZWFwWWVhcjogQmFzZUNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4bGVzc1RoYW46IFJlbGF0aW9uYWxPcGVyYXRvckNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4bGVzc1RoYW5FcXVhbFRvOiBSZWxhdGlvbmFsT3BlcmF0b3JDb25maWc7XHJcbiAgICBASW5wdXQoKSByeGxvbmdpdHVkZTogQmFzZUNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4bG93ZXJDYXNlOiBNZXNzYWdlQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhtYWM6IEJhc2VDb25maWc7XHJcbiAgICBASW5wdXQoKSByeG1heERhdGU6IERhdGVDb25maWc7XHJcbiAgICBASW5wdXQoKSByeG1heExlbmd0aDogTnVtYmVyQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhtYXhOdW1iZXI6IE51bWJlckNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4bWluRGF0ZTogRGF0ZUNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4bWluTGVuZ3RoOiBOdW1iZXJDb25maWc7XHJcbiAgICBASW5wdXQoKSByeG1pbk51bWJlcjogTnVtYmVyQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhudW1lcmljOiBOdW1lcmljQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhvZGQ6IEJhc2VDb25maWc7XHJcbiAgICBASW5wdXQoKSByeHBhc3N3b3JkOiBQYXNzd29yZENvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4cG9ydDogQmFzZUNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4cHJpbWVOdW1iZXI6IEJhc2VDb25maWc7XHJcbiAgICBASW5wdXQoKSByeHJlcXVpcmVkOiBSZXF1aXJlZENvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4cmFuZ2U6IFJhbmdlQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhydWxlOiBSdWxlQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhzdGFydHNXaXRoOiBEZWZhdWx0Q29uZmlnO1xyXG4gICAgQElucHV0KCkgcnh0aW1lOiBUaW1lQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnh1cHBlckNhc2U6IE1lc3NhZ2VDb25maWc7XHJcbiAgICBASW5wdXQoKSByeHVybDogRGVmYXVsdENvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4dW5pcXVlOiBVbmlxdWVDb25maWc7XHJcbiAgICBASW5wdXQoKSByeG5vdEVtcHR5OiBCYXNlQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcnhjdXNpcDogQmFzZUNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4Z3JpZDogQmFzZUNvbmZpZztcclxuICAgIEBJbnB1dCgpIHJ4ZGF0ZTogQmFzZUNvbmZpZztcclxuXHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZGVjaW1hbFByb3ZpZGVyOiBEZWNpbWFsUHJvdmlkZXIpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBOb2RlO1xyXG4gICAgICAgIHRoaXMuc2V0RXZlbnROYW1lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgbGV0IHZhbGlkYXRvcnMgPSBbXTtcclxuICAgICAgICBPYmplY3Qua2V5cyhBUFBfVkFMSURBVE9SUykuZm9yRWFjaCh2YWxpZGF0b3JOYW1lID0+IHtcclxuICAgICAgICAgICAgaWYgKCh0aGlzW2ByeCR7dmFsaWRhdG9yTmFtZX1gXSkgfHwgKEFMTE9XX1ZBTElEQVRPUl9XSVRIT1VUX0NPTkZJRy5pbmRleE9mKHZhbGlkYXRvck5hbWUpICE9IC0xICYmIHRoaXNbYHJ4JHt2YWxpZGF0b3JOYW1lfWBdID09IEJMQU5LKSkge1xyXG4gICAgICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKEFQUF9WQUxJREFUT1JTW3ZhbGlkYXRvck5hbWVdKHRoaXNbYHJ4JHt2YWxpZGF0b3JOYW1lfWBdKSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5uYW1lICYmICEodGhpcy5mb3JtQ29udHJvbE5hbWUgJiYgdGhpcy5mb3JtQ29udHJvbCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBBcHBsaWNhdGlvblV0aWwuY29uZmlndXJlQ29udHJvbCh0aGlzLmNvbnRyb2xDb25maWcsIHRoaXNbYHJ4JHt2YWxpZGF0b3JOYW1lfWBdLCB2YWxpZGF0b3JOYW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIGlmICh2YWxpZGF0b3JzLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9ycyA9IHZhbGlkYXRvcnNcclxuICAgICAgICBpZiAodGhpcy5yeG51bWVyaWMgJiYgKHRoaXMucnhudW1lcmljLmlzRm9ybWF0IHx8IHRoaXMucnhudW1lcmljLmRpZ2l0c0luZm8pKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmluZE51bWVyaWNFbGVtZW50RXZlbnQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBibHVyRXZlbnQoKSB7XHJcbiAgICAgICAgaWYgKCEodGhpcy5mb3JtQ29udHJvbCAmJiB0aGlzLmZvcm1Db250cm9sLmVycm9ycyAmJiB0aGlzLmZvcm1Db250cm9sLmVycm9ycy5udW1lcmljKSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbC52YWx1ZSAhPT0gbnVsbCAmJiB0aGlzLmZvcm1Db250cm9sLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IHRoaXMuZGVjaW1hbFByb3ZpZGVyLnRyYW5zRm9ybURlY2ltYWwodGhpcy5mb3JtQ29udHJvbC52YWx1ZSwgdGhpcy5yeG51bWVyaWMuZGlnaXRzSW5mbyk7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSA9ICghdGhpcy5yeG51bWVyaWMuaXNGb3JtYXQpID8gdGhpcy5kZWNpbWFsUHJvdmlkZXIucmVwbGFjZXIodmFsdWUpIDogdmFsdWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlT25FbGVtZW50KHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNDYWxsZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYmluZE51bWVyaWNFbGVtZW50RXZlbnQoY29uZmlnPzogTnVtZXJpY0NvbmZpZykge1xyXG4gICAgICAgIGlmIChjb25maWcpXHJcbiAgICAgICAgICAgIHRoaXMucnhudW1lcmljID0gY29uZmlnO1xyXG4gICAgICAgIGxldCBsaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudCwgQkxVUiwgdGhpcy5ibHVyRXZlbnQuYmluZCh0aGlzKSk7XHJcbiAgICAgICAgdGhpcy5ldmVudExpc3RlbmVycy5wdXNoKGxpc3RlbmVyKVxyXG4gICAgICAgIGxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50LCBGT0NVUywgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNGb2N1c0NhbGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmICghKHRoaXMuZm9ybUNvbnRyb2wgJiYgdGhpcy5mb3JtQ29udHJvbC5lcnJvcnMgJiYgdGhpcy5mb3JtQ29udHJvbC5lcnJvcnMubnVtZXJpYykgJiYgdGhpcy5mb3JtQ29udHJvbC52YWx1ZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmRlY2ltYWxQcm92aWRlci5yZXBsYWNlcih0aGlzLmVsZW1lbnQudmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZU9uRWxlbWVudCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpXHJcbiAgICB9XHJcblxyXG4gICAgYmluZFZhbHVlQ2hhbmdlRXZlbnQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZXZlbnROYW1lICE9IEJMQU5LKSB7XHJcbiAgICAgICAgICAgIGxldCBsaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudCwgdGhpcy5ldmVudE5hbWUsICgpID0+IHtcclxuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMudmFsaWRhdGlvbkNvbnRyb2xzKS5mb3JFYWNoKGZpZWxkTmFtZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uQ29udHJvbHNbZmllbGROYW1lXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5ldmVudExpc3RlbmVycy5wdXNoKGxpc3RlbmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3Vic2NyaWJlTnVtZXJpY0Zvcm1hdHRlcigpIHtcclxuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbFtWQUxJREFUT1JfQ09ORklHXSAmJiB0aGlzLmZvcm1Db250cm9sW1ZBTElEQVRPUl9DT05GSUddW05VTUVSSUNdICYmICh0aGlzLmZvcm1Db250cm9sW1ZBTElEQVRPUl9DT05GSUddW05VTUVSSUNdW0lTX0ZPUk1BVF0gfHwgdGhpcy5mb3JtQ29udHJvbFtWQUxJREFUT1JfQ09ORklHXVtOVU1FUklDXVtESUdJVFNfSU5GT10pKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5pc051bWVyaWNTdWJzY3JpYmVkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJpbmROdW1lcmljRWxlbWVudEV2ZW50KHRoaXMuZm9ybUNvbnRyb2xbVkFMSURBVE9SX0NPTkZJR11bTlVNRVJJQ10pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc051bWVyaWNTdWJzY3JpYmVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNGb2N1c0NhbGxlZCAmJiBSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsdXJFdmVudCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBzdWJzY3JpYmVNYXNrVmFsaWRhdG9yKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmZvcm1Db250cm9sW1ZBTElEQVRPUl9DT05GSUddICYmIHRoaXMuZm9ybUNvbnRyb2xbVkFMSURBVE9SX0NPTkZJR11bXCJtYXNrXCJdICYmICF0aGlzLmlzTWFza2VkKSB7XHJcbiAgICAgICAgICAgIGxldCBjb25maWcgPSB0aGlzLmZvcm1Db250cm9sW1ZBTElEQVRPUl9DT05GSUddW1wibWFza1wiXTtcclxuICAgICAgICAgICAgdGhpcy5tYXNrUHJvdmlkZXIgPSBuZXcgTWFza1Byb3ZpZGVyKHRoaXMuZWxlbWVudCwgY29uZmlnLm1hc2ssIHRoaXMucmVuZGVyZXIsIHRoaXMuZm9ybUNvbnRyb2wgYXMgRm9ybUNvbnRyb2wsIGNvbmZpZyk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNNYXNrZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFZhbHVlT25FbGVtZW50KHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudCwgRUxFTUVOVF9WQUxVRSwgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0VGVtcGxhdGVWYWxpZGF0b3JzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG4gICAgICAgIGZvciAobGV0IHZhbGlkYXRvck5hbWUgaW4gY29udHJvbFtWQUxJREFUT1JfQ09ORklHXSkge1xyXG4gICAgICAgICAgICB0aGlzW3ZhbGlkYXRvck5hbWVdID0gY29udHJvbFtWQUxJREFUT1JfQ09ORklHXVt2YWxpZGF0b3JOYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZGVsZXRlIGNvbnRyb2xbVEVNUExBVEVfVkFMSURBVElPTl9DT05GSUddO1xyXG4gICAgICAgIGRlbGV0ZSBjb250cm9sW1ZBTElEQVRPUl9DT05GSUddXHJcbiAgICAgICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlT25FbGVtZW50Q2xhc3MoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuICAgICAgICB2YXIgcHJldmlvdXNDbGFzc05hbWU6IHN0cmluZyA9ICcnO1xyXG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAoY2xhc3NOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgaWYgKHByZXZpb3VzQ2xhc3NOYW1lKVxyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHByZXZpb3VzQ2xhc3NOYW1lKTtcclxuICAgICAgICAgICAgaWYgKGNsYXNzTmFtZSlcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpXHJcbiAgICAgICAgICAgIHByZXZpb3VzQ2xhc3NOYW1lID0gY2xhc3NOYW1lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFZhbGlkYXRvckNvbmZpZyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcclxuICAgICAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbCA9IGNvbnRyb2w7XHJcbiAgICAgICAgICAgIGxldCByeEZvcm1Db250cm9sID0gdGhpcy5mb3JtQ29udHJvbCBhcyBSeEZvcm1Db250cm9sO1xyXG4gICAgICAgICAgICBpZiAocnhGb3JtQ29udHJvbC51cGRhdGVPbkVsZW1lbnRDbGFzcylcclxuICAgICAgICAgICAgICAgIHJ4Rm9ybUNvbnRyb2wudXBkYXRlT25FbGVtZW50Q2xhc3MgPSB0aGlzLnVwZGF0ZU9uRWxlbWVudENsYXNzKHRoaXMuZWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmliZU1hc2tWYWxpZGF0b3IoKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmliZU51bWVyaWNGb3JtYXR0ZXIoKTtcclxuICAgICAgICBpZiAoY29udHJvbFtURU1QTEFURV9WQUxJREFUSU9OX0NPTkZJR10pXHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGVtcGxhdGVWYWxpZGF0b3JzKGNvbnRyb2wpO1xyXG4gICAgICAgIGlmIChjb250cm9sW0NPTkRJVElPTkFMX1ZBTElEQVRPUl0pIHtcclxuICAgICAgICAgICAgdGhpcy5jb25kaXRpb25hbFZhbGlkYXRvciA9IGNvbnRyb2xbQ09ORElUSU9OQUxfVkFMSURBVE9SXTtcclxuICAgICAgICAgICAgZGVsZXRlIGNvbnRyb2xbQ09ORElUSU9OQUxfVkFMSURBVE9SXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgICAgIHRoaXMuc2V0VmFsaWRhdG9yQ29uZmlnKGNvbnRyb2wpO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbmFsVmFsaWRhdG9yKVxyXG4gICAgICAgICAgICB0aGlzLmNvbmRpdGlvbmFsVmFsaWRhdG9yKGNvbnRyb2wpO1xyXG4gICAgICAgIGlmICghdGhpcy5pc1Byb2Nlc3NlZClcclxuICAgICAgICAgICAgdGhpcy5zZXRNb2RlbENvbmZpZyhjb250cm9sKTtcclxuICAgICAgICByZXR1cm4gKCh0aGlzLnZhbGlkYXRvcnMgJiYgdGhpcy52YWxpZGF0b3JzLmxlbmd0aCA+IDApIHx8IHRoaXMubWFza1Byb3ZpZGVyKSA/IHRoaXMudmFsaWRhdGlvbihjb250cm9sKSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9scyA9IHVuZGVmaW5lZDtcclxuICAgICAgICBsZXQgZXZlbnRDb3VudCA9IHRoaXMuZXZlbnRMaXN0ZW5lcnMubGVuZ3RoO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnRDb3VudDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnNbMF0oKTtcclxuICAgICAgICAgICAgdGhpcy5ldmVudExpc3RlbmVycy5zcGxpY2UoMCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMgPSBbXTtcclxuICAgICAgICBpZiAodGhpcy5tYXNrUHJvdmlkZXIpXHJcbiAgICAgICAgICAgIHRoaXMubWFza1Byb3ZpZGVyLm9uRGVzdHJveSgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,93 @@
1
+ import { MODEL_INSTANCE, RXCODE } from "../const/app.const";
2
+ import { OBJECT_PROPERTY } from "../const/validator.const";
3
+ import { defaultContainer } from "../core/defaultContainer";
4
+ import { ApplicationUtil } from "../util/app-util";
5
+ import { instanceProvider } from "../util/instance-provider.function";
6
+ export class DisableProvider {
7
+ constructor(decoratorType, entityObject) {
8
+ this.decoratorType = decoratorType;
9
+ this.entityObject = entityObject;
10
+ }
11
+ getFormGroupName(currentFormGroup) {
12
+ let keyName = '';
13
+ if (currentFormGroup.parent)
14
+ for (var controlName of Object.keys(currentFormGroup.parent.controls))
15
+ if (currentFormGroup.parent.controls[controlName] == currentFormGroup) {
16
+ keyName = controlName;
17
+ break;
18
+ }
19
+ return keyName;
20
+ }
21
+ zeroArgumentProcess(control, columnName) {
22
+ let disabledColumns = [];
23
+ this.getDisabledColumns(control.parent, `${columnName}${RXCODE}0`, false).forEach(t => disabledColumns.push(t));
24
+ let path = this.topControlPath(control, columnName);
25
+ let splitPath = path.split(".");
26
+ if (splitPath.length > 1) {
27
+ let rootFormGroup = ApplicationUtil.getRootFormGroup(control);
28
+ this.getDisabledColumns(rootFormGroup, `${path}${RXCODE}0`, true).forEach(t => disabledColumns.push(t));
29
+ let controlPath = '';
30
+ for (var i = 0; i < splitPath.length - 2; i++) {
31
+ let controlName = splitPath[i];
32
+ controlPath = `${path.replace(`${controlName}.`, '')}${RXCODE}-0`;
33
+ if (rootFormGroup.controls[controlName]) {
34
+ this.getDisabledColumns(rootFormGroup.controls[controlName], controlPath, true, controlName).forEach(t => disabledColumns.push(t));
35
+ rootFormGroup = rootFormGroup.controls[controlName];
36
+ }
37
+ }
38
+ }
39
+ return disabledColumns;
40
+ }
41
+ getDisabledColumns(formGroup, columnName, isRoot, pathName = "") {
42
+ if (formGroup[MODEL_INSTANCE]) {
43
+ let instanceContainer = instanceProvider(formGroup[MODEL_INSTANCE].constructor, this.entityObject);
44
+ return this.getChangeDetectionColumns(instanceContainer, columnName, isRoot, pathName);
45
+ }
46
+ return [];
47
+ }
48
+ getChangeDetectionColumns(instanceContainer, columnName, isRoot, pathName = "") {
49
+ let conditionalDisableControls = [];
50
+ let columns = instanceContainer.nonValidationDecorators[this.decoratorType].changeDetection[columnName];
51
+ if (columns) {
52
+ columns.forEach(t => {
53
+ conditionalDisableControls.push({ controlPath: pathName ? `${pathName}.${t}` : t, conditionalExpression: instanceContainer.nonValidationDecorators[this.decoratorType].conditionalExpressions[t], isRoot: isRoot });
54
+ });
55
+ }
56
+ return conditionalDisableControls;
57
+ }
58
+ topControlPath(control, columnName) {
59
+ if (control.parent) {
60
+ let name = this.getFormGroupName(control.parent);
61
+ if (name) {
62
+ columnName = `${name}.${columnName}`;
63
+ return this.topControlPath(control.parent, columnName);
64
+ }
65
+ }
66
+ return columnName;
67
+ }
68
+ childControlDisabledExpression(formGroup, columnName, path = "") {
69
+ let disabledColumns = [];
70
+ if (formGroup[MODEL_INSTANCE]) {
71
+ let instanceContainer = defaultContainer.get(formGroup[MODEL_INSTANCE].constructor);
72
+ if (instanceContainer) {
73
+ this.getChangeDetectionColumns(instanceContainer, columnName, true, path).forEach(t => disabledColumns.push(t));
74
+ var props = instanceContainer.properties.filter(t => t.propertyType == OBJECT_PROPERTY);
75
+ props.forEach(t => {
76
+ if (formGroup.controls[t.name]) {
77
+ let columns = this.getDisabledColumns(formGroup.controls[t.name], columnName, true, path ? `${path}.${t.name}` : `${t.name}`);
78
+ columns.forEach(x => disabledColumns.push(x));
79
+ this.childControlDisabledExpression(formGroup.controls[t.name], columnName, path ? `${path}.${t.name}` : `${t.name}`).forEach(y => disabledColumns.push(y));
80
+ }
81
+ });
82
+ }
83
+ }
84
+ return disabledColumns;
85
+ }
86
+ oneArgumentProcess(control, columnName) {
87
+ let path = this.topControlPath(control, columnName);
88
+ let rootFormGroup = ApplicationUtil.getRootFormGroup(control);
89
+ let childColumns = this.childControlDisabledExpression(rootFormGroup, path);
90
+ return childColumns;
91
+ }
92
+ }
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9kb21haW4vZGlzYWJsZS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFdEUsTUFBTSxPQUFPLGVBQWU7SUFFeEIsWUFBb0IsYUFBcUIsRUFBVSxZQUFvQztRQUFuRSxrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtJQUFJLENBQUM7SUFFNUYsZ0JBQWdCLENBQUMsZ0JBQTJCO1FBQ3hDLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLGdCQUFnQixDQUFDLE1BQU07WUFDdkIsS0FBSyxJQUFJLFdBQVcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7Z0JBQ2pFLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxnQkFBZ0IsRUFBRTtvQkFDbkUsT0FBTyxHQUFHLFdBQVcsQ0FBQztvQkFDdEIsTUFBTTtpQkFDVDtRQUNULE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxPQUF3QixFQUFFLFVBQWtCO1FBQzVELElBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUN6QixJ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Z0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RSxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNT0RFTF9JTlNUQU5DRSwgUlhDT0RFIH0gZnJvbSBcIi4uL2NvbnN0L2FwcC5jb25zdFwiO1xyXG5pbXBvcnQgeyBPQkpFQ1RfUFJPUEVSVFkgfSBmcm9tIFwiLi4vY29uc3QvdmFsaWRhdG9yLmNvbnN0XCI7XHJcbmltcG9ydCB7IGRlZmF1bHRDb250YWluZXIgfSBmcm9tIFwiLi4vY29yZS9kZWZhdWx0Q29udGFpbmVyXCI7XHJcbmltcG9ydCB7IEluc3RhbmNlQ29udGFpbmVyIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLmludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tIFwiLi4vdXRpbC9hcHAtdXRpbFwiO1xyXG5pbXBvcnQgeyBpbnN0YW5jZVByb3ZpZGVyIH0gZnJvbSBcIi4uL3V0aWwvaW5zdGFuY2UtcHJvdmlkZXIuZnVuY3Rpb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBEaXNhYmxlUHJvdmlkZXIge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGVjb3JhdG9yVHlwZTogc3RyaW5nLCBwcml2YXRlIGVudGl0eU9iamVjdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgeyB9XHJcblxyXG4gICAgZ2V0Rm9ybUdyb3VwTmFtZShjdXJyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcclxuICAgICAgICBsZXQga2V5TmFtZSA9ICcnO1xyXG4gICAgICAgIGlmIChjdXJyZW50Rm9ybUdyb3VwLnBhcmVudClcclxuICAgICAgICAgICAgZm9yICh2YXIgY29udHJvbE5hbWUgb2YgT2JqZWN0LmtleXMoY3VycmVudEZvcm1Hcm91cC5wYXJlbnQuY29udHJvbHMpKVxyXG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRGb3JtR3JvdXAucGFyZW50LmNvbnRyb2xzW2NvbnRyb2xOYW1lXSA9PSBjdXJyZW50Rm9ybUdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IGNvbnRyb2xOYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBrZXlOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIHplcm9Bcmd1bWVudFByb2Nlc3MoY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBjb2x1bW5OYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgZGlzYWJsZWRDb2x1bW5zID0gW107XHJcbiAgICAgICAgdGhpcy5nZXREaXNhYmxlZENvbHVtbnMoPEZvcm1Hcm91cD5jb250cm9sLnBhcmVudCwgYCR7Y29sdW1uTmFtZX0ke1JYQ09ERX0wYCwgZmFsc2UpLmZvckVhY2godCA9PiBkaXNhYmxlZENvbHVtbnMucHVzaCh0KSk7XHJcbiAgICAgICAgbGV0IHBhdGggPSB0aGlzLnRvcENvbnRyb2xQYXRoKGNvbnRyb2wsIGNvbHVtbk5hbWUpO1xyXG4gICAgICAgIGxldCBzcGxpdFBhdGggPSBwYXRoLnNwbGl0KFwiLlwiKTtcclxuICAgICAgICBpZiAoc3BsaXRQYXRoLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgbGV0IHJvb3RGb3JtR3JvdXAgPSBBcHBsaWNhdGlvblV0aWwuZ2V0Um9vdEZvcm1Hcm91cChjb250cm9sKTtcclxuICAgICAgICAgICAgdGhpcy5nZXREaXNhYmxlZENvbHVtbnMocm9vdEZvcm1Hcm91cCwgYCR7cGF0aH0ke1JYQ09ERX0wYCwgdHJ1ZSkuZm9yRWFjaCh0ID0+IGRpc2FibGVkQ29sdW1ucy5wdXNoKHQpKTtcclxuICAgICAgICAgICAgbGV0IGNvbnRyb2xQYXRoOiBzdHJpbmcgPSAnJztcclxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzcGxpdFBhdGgubGVuZ3RoIC0gMjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY29udHJvbE5hbWUgPSBzcGxpdFBhdGhbaV07XHJcbiAgICAgICAgICAgICAgICBjb250cm9sUGF0aCA9IGAke3BhdGgucmVwbGFjZShgJHtjb250cm9sTmFtZX0uYCwgJycpfSR7UlhDT0RFfS0wYFxyXG4gICAgICAgICAgICAgICAgaWYgKHJvb3RGb3JtR3JvdXAuY29udHJvbHNbY29udHJvbE5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXREaXNhYmxlZENvbHVtbnMoPEZvcm1Hcm91cD5yb290Rm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSwgY29udHJvbFBhdGgsIHRydWUsIGNvbnRyb2xOYW1lKS5mb3JFYWNoKHQgPT4gZGlzYWJsZWRDb2x1bW5zLnB1c2godCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJvb3RGb3JtR3JvdXAgPSA8Rm9ybUdyb3VwPnJvb3RGb3JtR3JvdXAuY29udHJvbHNbY29udHJvbE5hbWVdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkaXNhYmxlZENvbHVtbnM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXREaXNhYmxlZENvbHVtbnMoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGNvbHVtbk5hbWU6IHN0cmluZywgaXNSb290OiBCb29sZWFuLCBwYXRoTmFtZTogc3RyaW5nID0gXCJcIikge1xyXG4gICAgICAgIGlmIChmb3JtR3JvdXBbTU9ERUxfSU5TVEFOQ0VdKSB7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZUNvbnRhaW5lciA9IGluc3RhbmNlUHJvdmlkZXIoZm9ybUdyb3VwW01PREVMX0lOU1RBTkNFXS5jb25zdHJ1Y3RvciwgdGhpcy5lbnRpdHlPYmplY3QpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDaGFuZ2VEZXRlY3Rpb25Db2x1bW5zKGluc3RhbmNlQ29udGFpbmVyLCBjb2x1bW5OYW1lLCBpc1Jvb3QsIHBhdGhOYW1lKVxyXG4gICAgICAgIH0gcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Q2hhbmdlRGV0ZWN0aW9uQ29sdW1ucyhpbnN0YW5jZUNvbnRhaW5lcjogSW5zdGFuY2VDb250YWluZXIsIGNvbHVtbk5hbWU6IHN0cmluZywgaXNSb290OiBCb29sZWFuLCBwYXRoTmFtZTogc3RyaW5nID0gXCJcIikge1xyXG4gICAgICAgIGxldCBjb25kaXRpb25hbERpc2FibGVDb250cm9scyA9IFtdO1xyXG4gICAgICAgIGxldCBjb2x1bW5zID0gaW5zdGFuY2VDb250YWluZXIubm9uVmFsaWRhdGlvbkRlY29yYXRvcnNbdGhpcy5kZWNvcmF0b3JUeXBlXS5jaGFuZ2VEZXRlY3Rpb25bY29sdW1uTmFtZV1cclxuICAgICAgICBpZiAoY29sdW1ucykge1xyXG4gICAgICAgICAgICBjb2x1bW5zLmZvckVhY2godCA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25kaXRpb25hbERpc2FibGVDb250cm9scy5wdXNoKHsgY29udHJvbFBhdGg6IHBhdGhOYW1lID8gYCR7cGF0aE5hbWV9LiR7dH1gIDogdCwgY29uZGl0aW9uYWxFeHByZXNzaW9uOiBpbnN0YW5jZUNvbnRhaW5lci5ub25WYWxpZGF0aW9uRGVjb3JhdG9yc1t0aGlzLmRlY29yYXRvclR5cGVdLmNvbmRpdGlvbmFsRXhwcmVzc2lvbnNbdF0sIGlzUm9vdDogaXNSb290IH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjb25kaXRpb25hbERpc2FibGVDb250cm9scztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHRvcENvbnRyb2xQYXRoKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IEZvcm1Hcm91cCwgY29sdW1uTmFtZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKGNvbnRyb2wucGFyZW50KSB7XHJcbiAgICAgICAgICAgIGxldCBuYW1lID0gdGhpcy5nZXRGb3JtR3JvdXBOYW1lKCg8Rm9ybUdyb3VwPmNvbnRyb2wucGFyZW50KSlcclxuICAgICAgICAgICAgaWYgKG5hbWUpIHtcclxuICAgICAgICAgICAgICAgIGNvbHVtbk5hbWUgPSBgJHtuYW1lfS4ke2NvbHVtbk5hbWV9YFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9wQ29udHJvbFBhdGgoY29udHJvbC5wYXJlbnQsIGNvbHVtbk5hbWUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNvbHVtbk5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgY2hpbGRDb250cm9sRGlzYWJsZWRFeHByZXNzaW9uKGZvcm1Hcm91cDogRm9ybUdyb3VwLCBjb2x1bW5OYW1lOiBzdHJpbmcsIHBhdGg6IHN0cmluZyA9IFwiXCIpOiBhbnlbXSB7XHJcbiAgICAgICAgbGV0IGRpc2FibGVkQ29sdW1ucyA9IFtdO1xyXG4gICAgICAgIGlmIChmb3JtR3JvdXBbTU9ERUxfSU5TVEFOQ0VdKSB7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZUNvbnRhaW5lciA9IGRlZmF1bHRDb250YWluZXIuZ2V0KGZvcm1Hcm91cFtNT0RFTF9JTlNUQU5DRV0uY29uc3RydWN0b3IpO1xyXG4gICAgICAgICAgICBpZiAoaW5zdGFuY2VDb250YWluZXIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2hhbmdlRGV0ZWN0aW9uQ29sdW1ucyhpbnN0YW5jZUNvbnRhaW5lciwgY29sdW1uTmFtZSwgdHJ1ZSwgcGF0aCkuZm9yRWFjaCh0ID0+IGRpc2FibGVkQ29sdW1ucy5wdXNoKHQpKTtcclxuICAgICAgICAgICAgICAgIHZhciBwcm9wcyA9IGluc3RhbmNlQ29udGFpbmVyLnByb3BlcnRpZXMuZmlsdGVyKHQgPT4gdC5wcm9wZXJ0eVR5cGUgPT0gT0JKRUNUX1BST1BFUlRZKVxyXG4gICAgICAgICAgICAgICAgcHJvcHMuZm9yRWFjaCh0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybUdyb3VwLmNvbnRyb2xzW3QubmFtZV0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNvbHVtbnMgPSB0aGlzLmdldERpc2FibGVkQ29sdW1ucyg8Rm9ybUdyb3VwPmZvcm1Hcm91cC5jb250cm9sc1t0Lm5hbWVdLCBjb2x1bW5OYW1lLCB0cnVlLCBwYXRoID8gYCR7cGF0aH0uJHt0Lm5hbWV9YCA6IGAke3QubmFtZX1gKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLmZvckVhY2goeCA9PiBkaXNhYmxlZENvbHVtbnMucHVzaCh4KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRDb250cm9sRGlzYWJsZWRFeHByZXNzaW9uKCg8Rm9ybUdyb3VwPmZvcm1Hcm91cC5jb250cm9sc1t0Lm5hbWVdKSwgY29sdW1uTmFtZSwgcGF0aCA/IGAke3BhdGh9LiR7dC5uYW1lfWAgOiBgJHt0Lm5hbWV9YCkuZm9yRWFjaCh5ID0+IGRpc2FibGVkQ29sdW1ucy5wdXNoKHkpKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRpc2FibGVkQ29sdW1ucztcclxuICAgIH1cclxuXHJcbiAgICBvbmVBcmd1bWVudFByb2Nlc3MoY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgRm9ybUdyb3VwLCBjb2x1bW5OYW1lOiBzdHJpbmcpOiBhbnlbXSB7XHJcbiAgICAgICAgbGV0IHBhdGggPSB0aGlzLnRvcENvbnRyb2xQYXRoKGNvbnRyb2wsIGNvbHVtbk5hbWUpO1xyXG4gICAgICAgIGxldCByb290Rm9ybUdyb3VwID0gQXBwbGljYXRpb25VdGlsLmdldFJvb3RGb3JtR3JvdXAoY29udHJvbCk7XHJcbiAgICAgICAgbGV0IGNoaWxkQ29sdW1ucyA9IHRoaXMuY2hpbGRDb250cm9sRGlzYWJsZWRFeHByZXNzaW9uKHJvb3RGb3JtR3JvdXAsIHBhdGgpO1xyXG4gICAgICAgIHJldHVybiBjaGlsZENvbHVtbnM7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,59 @@
1
+ import { DecimalPipe, getLocaleNumberSymbol, NumberSymbol } from "@angular/common";
2
+ import { Inject, Injectable, LOCALE_ID } from "@angular/core";
3
+ import { BLANK } from "../../const";
4
+ import { ReactiveFormConfig } from "../../util/reactive-form-config";
5
+ import { RegexValidator } from '../../util/regex-validator';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ export class DecimalProvider {
9
+ constructor(decimalPipe, localeId) {
10
+ this.decimalPipe = decimalPipe;
11
+ this.localeId = localeId;
12
+ this.decimalSeperator = ".";
13
+ this.groupSeperator = ",";
14
+ this.isSetConfig = false;
15
+ this.decimalSeperator = getLocaleNumberSymbol(localeId, NumberSymbol.Decimal);
16
+ ;
17
+ this.groupSeperator = getLocaleNumberSymbol(localeId, NumberSymbol.Group);
18
+ this.setSymbolInConfig();
19
+ }
20
+ replacer(value) {
21
+ value = String(value);
22
+ if (!this.isSetConfig)
23
+ this.bindConfig();
24
+ value = value.split(this.groupSeperator).join(BLANK);
25
+ if (this.allowDecimalSymbol)
26
+ value = value.replace(this.decimalSeperator, this.allowDecimalSymbol);
27
+ var splitValue = value.split(this.decimalSeperator);
28
+ value = (splitValue.length > 1 && splitValue[1] && RegexValidator.isZero(splitValue[1])) ? splitValue[0] : value;
29
+ return value;
30
+ }
31
+ transFormDecimal(value, digitsInfo) {
32
+ value = String(value);
33
+ if (!value) {
34
+ return value;
35
+ }
36
+ return this.decimalPipe.transform(value.replace(ReactiveFormConfig.number.groupSymbol, "").replace(this.decimalSeperator, "."), digitsInfo, this.localeId);
37
+ }
38
+ setSymbolInConfig() {
39
+ ReactiveFormConfig.number = { decimalSymbol: this.decimalSeperator, groupSymbol: this.groupSeperator };
40
+ }
41
+ bindConfig() {
42
+ if (ReactiveFormConfig.json) {
43
+ if (ReactiveFormConfig.json.localeId)
44
+ this.localeId = ReactiveFormConfig.json.localeId;
45
+ if (ReactiveFormConfig.json.allowDecimalSymbol)
46
+ this.allowDecimalSymbol = ReactiveFormConfig.json.allowDecimalSymbol;
47
+ }
48
+ this.isSetConfig = true;
49
+ }
50
+ }
51
+ /** @nocollapse */ /** @nocollapse */ DecimalProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DecimalProvider, deps: [{ token: i1.DecimalPipe }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ /** @nocollapse */ /** @nocollapse */ DecimalProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DecimalProvider });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DecimalProvider, decorators: [{
54
+ type: Injectable
55
+ }], ctorParameters: function () { return [{ type: i1.DecimalPipe }, { type: undefined, decorators: [{
56
+ type: Inject,
57
+ args: [LOCALE_ID]
58
+ }] }]; } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaW1hbC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9kb21haW4vZWxlbWVudC1wcm9jZXNzb3IvZGVjaW1hbC5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRzVELE1BQU0sT0FBTyxlQUFlO0lBSXhCLFlBQ1ksV0FBd0IsRUFBNkIsUUFBZ0I7UUFBckUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBNkIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUp6RSxxQkFBZ0IsR0FBVyxHQUFHLENBQUM7UUFDL0IsbUJBQWMsR0FBVyxHQUFHLENBQUM7UUE0QzdCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBdkNqQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUFBLENBQUM7UUFDL0UsSUFBSSxDQUFDLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVTtRQUNmLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLGtCQUFrQjtZQUN2QixLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFDekUsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwRCxLQUFLLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqSCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVSxFQUFFLFVBQWtCO1FBQzNDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9KLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsa0JBQWtCLENBQUMsTUFBTSxHQUFHLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNHLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7WUFDekIsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3JELElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLGtCQUFrQjtnQkFDMUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztTQUM1RTtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7O2tKQTVDUSxlQUFlLDZDQUtzQixTQUFTO3NKQUw5QyxlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQU1nQyxNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWNpbWFsUGlwZSwgZ2V0TG9jYWxlTnVtYmVyU3ltYm9sLCBOdW1iZXJTeW1ib2wgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTE9DQUxFX0lEIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQkxBTksgfSBmcm9tIFwiLi4vLi4vY29uc3RcIjtcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3JtQ29uZmlnIH0gZnJvbSBcIi4uLy4uL3V0aWwvcmVhY3RpdmUtZm9ybS1jb25maWdcIjtcclxuaW1wb3J0IHsgUmVnZXhWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi91dGlsL3JlZ2V4LXZhbGlkYXRvcic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEZWNpbWFsUHJvdmlkZXIge1xyXG4gICAgcHJpdmF0ZSBkZWNpbWFsU2VwZXJhdG9yOiBzdHJpbmcgPSBcIi5cIjtcclxuICAgIHByaXZhdGUgZ3JvdXBTZXBlcmF0b3I6IHN0cmluZyA9IFwiLFwiO1xyXG4gICAgcHJpdmF0ZSBhbGxvd0RlY2ltYWxTeW1ib2w6IHN0cmluZztcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLCBASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSBsb2NhbGVJZDogc3RyaW5nXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmRlY2ltYWxTZXBlcmF0b3IgPSBnZXRMb2NhbGVOdW1iZXJTeW1ib2wobG9jYWxlSWQsIE51bWJlclN5bWJvbC5EZWNpbWFsKTs7XHJcbiAgICAgICAgdGhpcy5ncm91cFNlcGVyYXRvciA9IGdldExvY2FsZU51bWJlclN5bWJvbChsb2NhbGVJZCwgTnVtYmVyU3ltYm9sLkdyb3VwKTtcclxuICAgICAgICB0aGlzLnNldFN5bWJvbEluQ29uZmlnKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVwbGFjZXIodmFsdWU6IGFueSk6IGFueSB7XHJcbiAgICAgICAgdmFsdWUgPSBTdHJpbmcodmFsdWUpO1xyXG4gICAgICAgIGlmICghdGhpcy5pc1NldENvbmZpZylcclxuICAgICAgICAgICAgdGhpcy5iaW5kQ29uZmlnKCk7XHJcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5zcGxpdCh0aGlzLmdyb3VwU2VwZXJhdG9yKS5qb2luKEJMQU5LKTtcclxuICAgICAgICBpZiAodGhpcy5hbGxvd0RlY2ltYWxTeW1ib2wpXHJcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSh0aGlzLmRlY2ltYWxTZXBlcmF0b3IsIHRoaXMuYWxsb3dEZWNpbWFsU3ltYm9sKVxyXG4gICAgICAgIHZhciBzcGxpdFZhbHVlID0gdmFsdWUuc3BsaXQodGhpcy5kZWNpbWFsU2VwZXJhdG9yKTtcclxuICAgICAgICB2YWx1ZSA9IChzcGxpdFZhbHVlLmxlbmd0aCA+IDEgJiYgc3BsaXRWYWx1ZVsxXSAmJiBSZWdleFZhbGlkYXRvci5pc1plcm8oc3BsaXRWYWx1ZVsxXSkpID8gc3BsaXRWYWx1ZVswXSA6IHZhbHVlO1xyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFuc0Zvcm1EZWNpbWFsKHZhbHVlOiBhbnksIGRpZ2l0c0luZm86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgdmFsdWUgPSBTdHJpbmcodmFsdWUpO1xyXG4gICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0odmFsdWUucmVwbGFjZShSZWFjdGl2ZUZvcm1Db25maWcubnVtYmVyLmdyb3VwU3ltYm9sLCBcIlwiKS5yZXBsYWNlKHRoaXMuZGVjaW1hbFNlcGVyYXRvciwgXCIuXCIpLCBkaWdpdHNJbmZvLCB0aGlzLmxvY2FsZUlkKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFN5bWJvbEluQ29uZmlnKCkge1xyXG4gICAgICAgIFJlYWN0aXZlRm9ybUNvbmZpZy5udW1iZXIgPSB7IGRlY2ltYWxTeW1ib2w6IHRoaXMuZGVjaW1hbFNlcGVyYXRvciwgZ3JvdXBTeW1ib2w6IHRoaXMuZ3JvdXBTZXBlcmF0b3IgfTtcclxuICAgIH1cclxuXHJcbiAgICBiaW5kQ29uZmlnKCkge1xyXG4gICAgICAgIGlmIChSZWFjdGl2ZUZvcm1Db25maWcuanNvbikge1xyXG4gICAgICAgICAgICBpZiAoUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24ubG9jYWxlSWQpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsZUlkID0gUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24ubG9jYWxlSWQ7XHJcbiAgICAgICAgICAgIGlmIChSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5hbGxvd0RlY2ltYWxTeW1ib2wpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsbG93RGVjaW1hbFN5bWJvbCA9IFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmFsbG93RGVjaW1hbFN5bWJvbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pc1NldENvbmZpZyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1NldENvbmZpZzogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcbiJdfQ==