myrta-ui 1.0.65 → 17.0.0-beta.1

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 (755) hide show
  1. package/esm2022/lib/components/alert/alert.component.mjs +43 -0
  2. package/{esm2020 → esm2022}/lib/components/alert/alert.enum.mjs +14 -14
  3. package/esm2022/lib/components/alert/alert.module.mjs +19 -0
  4. package/{esm2020 → esm2022}/lib/components/badges/badge.enum.mjs +31 -31
  5. package/esm2022/lib/components/badges/badges.module.mjs +30 -0
  6. package/esm2022/lib/components/badges/components/badge/badge.component.mjs +61 -0
  7. package/{esm2020 → esm2022}/lib/components/badges/components/badge-group/badge-group.component.mjs +11 -11
  8. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +28 -0
  9. package/{esm2020 → esm2022}/lib/components/breadcrumbs/breadcrumbs.enum.mjs +5 -5
  10. package/esm2022/lib/components/breadcrumbs/breadcrumbs.module.mjs +25 -0
  11. package/esm2022/lib/components/button/button.component.mjs +100 -0
  12. package/esm2022/lib/components/button/button.enum.mjs +27 -0
  13. package/esm2022/lib/components/button/button.module.mjs +21 -0
  14. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +29 -0
  15. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +99 -0
  16. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.module.mjs +21 -0
  17. package/{esm2020 → esm2022}/lib/components/cdk-tooltip/constants/index.mjs +69 -69
  18. package/{esm2020 → esm2022}/lib/components/cdk-tooltip/models/tooltip-data.mjs +1 -1
  19. package/esm2022/lib/components/chars-left/chars-left.component.mjs +24 -0
  20. package/esm2022/lib/components/chars-left/chars-left.module.mjs +19 -0
  21. package/esm2022/lib/components/dropdown/directives/hide-after-click.directive.mjs +24 -0
  22. package/esm2022/lib/components/dropdown/dropdown.component.mjs +107 -0
  23. package/esm2022/lib/components/dropdown/dropdown.module.mjs +21 -0
  24. package/esm2022/lib/components/error-message/error-message.component.mjs +32 -0
  25. package/esm2022/lib/components/error-message/error-message.module.mjs +19 -0
  26. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +153 -0
  27. package/{esm2020 → esm2022}/lib/components/form/checkbox/checkbox.enum.mjs +4 -4
  28. package/esm2022/lib/components/form/checkbox/checkbox.module.mjs +22 -0
  29. package/esm2022/lib/components/form/checkbox-group/checkbox-group.component.mjs +178 -0
  30. package/esm2022/lib/components/form/checkbox-group/checkbox-group.module.mjs +47 -0
  31. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +48 -49
  32. package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +106 -0
  33. package/esm2022/lib/components/form/checkbox-group/helpers/change-group-value.mjs +20 -0
  34. package/esm2022/lib/components/form/checkbox-group/helpers/change-item-value.mjs +15 -0
  35. package/esm2022/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +27 -0
  36. package/esm2022/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +20 -0
  37. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/helpers/get-item-by-id.mjs +10 -10
  38. package/esm2022/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +50 -0
  39. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/models/checkbox-group.model.mjs +1 -1
  40. package/{esm2020 → esm2022}/lib/components/form/editor/config/default-inline-style.mjs +5 -5
  41. package/{esm2020 → esm2022}/lib/components/form/editor/config/index.mjs +1 -1
  42. package/{esm2020 → esm2022}/lib/components/form/editor/config/popups-toolbar.mjs +8 -8
  43. package/{esm2020 → esm2022}/lib/components/form/editor/config/toolbar.mjs +71 -71
  44. package/esm2022/lib/components/form/editor/editor.component.mjs +261 -0
  45. package/esm2022/lib/components/form/editor/editor.module.mjs +45 -0
  46. package/{esm2020 → esm2022}/lib/components/form/editor/models/toolbar.model.mjs +1 -1
  47. package/esm2022/lib/components/form/editor/modules/change-icon-module.mjs +92 -0
  48. package/{esm2020 → esm2022}/lib/components/form/input-date-time/constants/value-models.mjs +13 -13
  49. package/{esm2020 → esm2022}/lib/components/form/input-date-time/enum/timezone.mjs +6 -6
  50. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/clean-date.mjs +4 -4
  51. package/esm2022/lib/components/form/input-date-time/helpers/cursor-position.mjs +23 -0
  52. package/esm2022/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +10 -0
  53. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.mjs +9 -9
  54. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/validate-value-models.mjs +60 -60
  55. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/value-parser.mjs +38 -38
  56. package/esm2022/lib/components/form/input-date-time/input-date-time.component.mjs +386 -0
  57. package/{esm2020 → esm2022}/lib/components/form/input-date-time/input-date-time.enum.mjs +6 -6
  58. package/esm2022/lib/components/form/input-date-time/input-date-time.module.mjs +46 -0
  59. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/constants/value-models.mjs +14 -14
  60. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/clean-date.mjs +4 -4
  61. package/esm2022/lib/components/form/input-datepicker/helpers/cursor-position.mjs +23 -0
  62. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +10 -0
  63. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-object.mjs +10 -0
  64. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/validate-value-models.mjs +74 -74
  65. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/value-parser.mjs +47 -47
  66. package/esm2022/lib/components/form/input-datepicker/input-datepicker.component.mjs +356 -0
  67. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/input-datepicker.enum.mjs +6 -6
  68. package/esm2022/lib/components/form/input-datepicker/input-datepicker.module.mjs +46 -0
  69. package/{esm2020 → esm2022}/lib/components/form/input-file/enums/error-messages.enum.mjs +7 -7
  70. package/esm2022/lib/components/form/input-file/input-file.component.mjs +370 -0
  71. package/{esm2020 → esm2022}/lib/components/form/input-file/input-file.enum.mjs +7 -7
  72. package/esm2022/lib/components/form/input-file/input-file.module.mjs +26 -0
  73. package/esm2022/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +88 -0
  74. package/esm2022/lib/components/form/input-file-image/input-file-image.component.mjs +364 -0
  75. package/{esm2020 → esm2022}/lib/components/form/input-file-image/input-file-image.enum.mjs +9 -9
  76. package/esm2022/lib/components/form/input-file-image/input-file-image.module.mjs +51 -0
  77. package/esm2022/lib/components/form/input-number/input-number.component.mjs +267 -0
  78. package/{esm2020 → esm2022}/lib/components/form/input-number/input-number.enum.mjs +6 -6
  79. package/esm2022/lib/components/form/input-number/input-number.module.mjs +55 -0
  80. package/esm2022/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +370 -0
  81. package/{esm2020 → esm2022}/lib/components/form/input-opt/components/input-opt/input-opt.enum.mjs +7 -7
  82. package/esm2022/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +43 -0
  83. package/esm2022/lib/components/form/input-opt/input-opt.module.mjs +38 -0
  84. package/{esm2020 → esm2022}/lib/components/form/input-opt/models/input-opt.model.mjs +5 -5
  85. package/{esm2020 → esm2022}/lib/components/form/input-opt/services/input-opt.service.mjs +33 -33
  86. package/esm2022/lib/components/form/input-password/input-password.component.mjs +118 -0
  87. package/{esm2020 → esm2022}/lib/components/form/input-password/input-password.enum.mjs +6 -6
  88. package/esm2022/lib/components/form/input-password/input-password.module.mjs +36 -0
  89. package/esm2022/lib/components/form/input-phone/data/country-code.mjs +1331 -0
  90. package/esm2022/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +35 -0
  91. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/country-iso.enum.mjs +246 -246
  92. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/input-phone.enum.mjs +6 -6
  93. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/mask.enum.mjs +138 -138
  94. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/phone-number-format.enum.mjs +5 -5
  95. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/search-country-field.enum.mjs +7 -7
  96. package/esm2022/lib/components/form/input-phone/input-phone.component.mjs +679 -0
  97. package/esm2022/lib/components/form/input-phone/input-phone.module.mjs +50 -0
  98. package/esm2022/lib/components/form/input-phone/input-phone.validator.mjs +61 -0
  99. package/{esm2020 → esm2022}/lib/components/form/input-phone/interfaces/change-data.mjs +1 -1
  100. package/{esm2020 → esm2022}/lib/components/form/input-phone/models/country.model.mjs +1 -1
  101. package/esm2022/lib/components/form/input-search/input-search.component.mjs +167 -0
  102. package/{esm2020 → esm2022}/lib/components/form/input-search/input-search.enum.mjs +6 -6
  103. package/esm2022/lib/components/form/input-search/input-search.module.mjs +41 -0
  104. package/esm2022/lib/components/form/input-select/input-select.component.mjs +253 -0
  105. package/{esm2020 → esm2022}/lib/components/form/input-select/input-select.enum.mjs +5 -5
  106. package/esm2022/lib/components/form/input-select/input-select.module.mjs +45 -0
  107. package/{esm2020 → esm2022}/lib/components/form/input-tel/assets/base64.mjs +3 -3
  108. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/all-countries.mjs +1322 -1322
  109. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/country-iso.enum.mjs +246 -246
  110. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/phone-number-format.enum.mjs +5 -5
  111. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/search-country-field.enum.mjs +7 -7
  112. package/esm2022/lib/components/form/input-tel/directives/input-tel.directive.mjs +66 -0
  113. package/{esm2020 → esm2022}/lib/components/form/input-tel/enums/input-phone.enum.mjs +6 -6
  114. package/esm2022/lib/components/form/input-tel/input-tel.component.mjs +400 -0
  115. package/esm2022/lib/components/form/input-tel/input-tel.module.mjs +43 -0
  116. package/{esm2020 → esm2022}/lib/components/form/input-tel/models/country.model.mjs +1 -1
  117. package/esm2022/lib/components/form/input-text/input-text.component.mjs +189 -0
  118. package/{esm2020 → esm2022}/lib/components/form/input-text/input-text.enum.mjs +14 -14
  119. package/esm2022/lib/components/form/input-text/input-text.module.mjs +49 -0
  120. package/esm2022/lib/components/form/input-textarea/input-textarea.component.mjs +197 -0
  121. package/{esm2020 → esm2022}/lib/components/form/input-textarea/input-textarea.enum.mjs +6 -6
  122. package/esm2022/lib/components/form/input-textarea/input-textarea.module.mjs +49 -0
  123. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/constants/value-models.mjs +7 -7
  124. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/clean-date.mjs +4 -4
  125. package/esm2022/lib/components/form/input-timepicker/helpers/cursor-position.mjs +14 -0
  126. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.mjs +4 -4
  127. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-object.mjs +4 -4
  128. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/validate-value-models.mjs +29 -29
  129. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/value-parser.mjs +17 -17
  130. package/esm2022/lib/components/form/input-timepicker/input-timepicker.component.mjs +292 -0
  131. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/input-timepicker.enum.mjs +6 -6
  132. package/esm2022/lib/components/form/input-timepicker/input-timepicker.module.mjs +46 -0
  133. package/esm2022/lib/components/form/radio/radio.component.mjs +91 -0
  134. package/{esm2020 → esm2022}/lib/components/form/radio/radio.enum.mjs +4 -4
  135. package/esm2022/lib/components/form/radio/radio.module.mjs +20 -0
  136. package/esm2022/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +45 -0
  137. package/esm2022/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +66 -0
  138. package/esm2022/lib/components/form/radio-group/helpers/filter-search-group.mjs +27 -0
  139. package/{esm2020 → esm2022}/lib/components/form/radio-group/helpers/get-item-by-id.mjs +10 -10
  140. package/esm2022/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +27 -0
  141. package/{esm2020 → esm2022}/lib/components/form/radio-group/models/radio-group.model.mjs +1 -1
  142. package/esm2022/lib/components/form/radio-group/radio-group.component.mjs +175 -0
  143. package/esm2022/lib/components/form/radio-group/radio-group.module.mjs +26 -0
  144. package/esm2022/lib/components/form/rating/rating.component.mjs +215 -0
  145. package/{esm2020 → esm2022}/lib/components/form/rating/rating.enum.mjs +15 -15
  146. package/esm2022/lib/components/form/rating/rating.module.mjs +25 -0
  147. package/esm2022/lib/components/form/switch/switch.component.mjs +95 -0
  148. package/{esm2020 → esm2022}/lib/components/form/switch/switch.enum.mjs +10 -10
  149. package/esm2022/lib/components/form/switch/switch.module.mjs +21 -0
  150. package/esm2022/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +39 -0
  151. package/esm2022/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +112 -0
  152. package/{esm2020 → esm2022}/lib/components/gallery/constants/custom-buttons-default.mjs +6 -6
  153. package/{esm2020 → esm2022}/lib/components/gallery/constants/thumbs-config-default.mjs +4 -4
  154. package/esm2022/lib/components/gallery/gallery.component.mjs +203 -0
  155. package/esm2022/lib/components/gallery/gallery.module.mjs +54 -0
  156. package/{esm2020 → esm2022}/lib/components/gallery/models/gallery-item.model.mjs +1 -1
  157. package/esm2022/lib/components/gallery/services/gallery.service.mjs +33 -0
  158. package/esm2022/lib/components/hint-error-message/hint-error-message.component.mjs +121 -0
  159. package/esm2022/lib/components/hint-error-message/hint-error-message.module.mjs +19 -0
  160. package/esm2022/lib/components/icon-button/icon-button.component.mjs +49 -0
  161. package/{esm2020 → esm2022}/lib/components/icon-button/icon-button.enum.mjs +15 -15
  162. package/esm2022/lib/components/icon-button/icon-button.module.mjs +19 -0
  163. package/esm2022/lib/components/label/label.component.mjs +143 -0
  164. package/esm2022/lib/components/label/label.module.mjs +25 -0
  165. package/esm2022/lib/components/link/link.component.mjs +48 -0
  166. package/{esm2020 → esm2022}/lib/components/link/link.enum.mjs +19 -19
  167. package/esm2022/lib/components/link/link.module.mjs +19 -0
  168. package/esm2022/lib/components/loader/loader.component.mjs +24 -0
  169. package/{esm2020 → esm2022}/lib/components/loader/loader.enum.mjs +19 -19
  170. package/esm2022/lib/components/loader/loader.module.mjs +19 -0
  171. package/esm2022/lib/components/modal/modal.component.mjs +137 -0
  172. package/{esm2020 → esm2022}/lib/components/modal/modal.emun.mjs +20 -20
  173. package/esm2022/lib/components/modal/modal.module.mjs +20 -0
  174. package/esm2022/lib/components/pages-nav/pages-nav.component.mjs +31 -0
  175. package/{esm2020 → esm2022}/lib/components/pages-nav/pages-nav.enum.mjs +5 -5
  176. package/esm2022/lib/components/pages-nav/pages-nav.module.mjs +24 -0
  177. package/esm2022/lib/components/paginator/paginator.component.mjs +140 -0
  178. package/{esm2020 → esm2022}/lib/components/paginator/paginator.enum.mjs +5 -5
  179. package/esm2022/lib/components/paginator/paginator.module.mjs +31 -0
  180. package/esm2022/lib/components/progress/progress.component.mjs +24 -0
  181. package/{esm2020 → esm2022}/lib/components/progress/progress.enum.mjs +7 -7
  182. package/esm2022/lib/components/progress/progress.module.mjs +19 -0
  183. package/esm2022/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +16 -0
  184. package/esm2022/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +16 -0
  185. package/esm2022/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +16 -0
  186. package/esm2022/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +16 -0
  187. package/esm2022/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +16 -0
  188. package/esm2022/lib/components/save-state/save-state.component.mjs +40 -0
  189. package/{esm2020 → esm2022}/lib/components/save-state/save-state.enum.mjs +1 -1
  190. package/esm2022/lib/components/save-state/save-state.module.mjs +37 -0
  191. package/esm2022/lib/components/stepper/stepper.component.mjs +52 -0
  192. package/{esm2020 → esm2022}/lib/components/stepper/stepper.enum.mjs +5 -5
  193. package/esm2022/lib/components/stepper/stepper.module.mjs +20 -0
  194. package/esm2022/lib/components/table/components/column/column.component.mjs +40 -0
  195. package/{esm2020 → esm2022}/lib/components/table/default/default-pager-settings.mjs +6 -6
  196. package/{esm2020 → esm2022}/lib/components/table/models/data-state-change.event.mjs +1 -1
  197. package/{esm2020 → esm2022}/lib/components/table/models/index.mjs +3 -3
  198. package/{esm2020 → esm2022}/lib/components/table/models/pager-settings.mjs +1 -1
  199. package/esm2022/lib/components/table/table.component.mjs +281 -0
  200. package/{esm2020 → esm2022}/lib/components/table/table.enum.mjs +7 -7
  201. package/esm2022/lib/components/table/table.module.mjs +50 -0
  202. package/esm2022/lib/components/tabs/tab/tab.component.mjs +33 -0
  203. package/esm2022/lib/components/tabs/tabs-group/tabs-group.component.mjs +27 -0
  204. package/{esm2020 → esm2022}/lib/components/tabs/tabs.enum.mjs +13 -13
  205. package/esm2022/lib/components/tabs/tabs.module.mjs +20 -0
  206. package/esm2022/lib/components/tooltip/services/tooltip.service.mjs +65 -0
  207. package/esm2022/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +36 -0
  208. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.mjs +10 -10
  209. package/esm2022/lib/components/tooltip/tooltip.component.mjs +59 -0
  210. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip.enum.mjs +5 -5
  211. package/esm2022/lib/components/tooltip/tooltip.module.mjs +21 -0
  212. package/{esm2020 → esm2022}/lib/components/truncate-text/directives/truncate-text.directive.mjs +149 -139
  213. package/esm2022/lib/components/truncate-text/truncate-text.component.mjs +30 -0
  214. package/{esm2020 → esm2022}/lib/components/truncate-text/truncate-text.enum.mjs +1 -1
  215. package/esm2022/lib/components/truncate-text/truncate-text.module.mjs +21 -0
  216. package/esm2022/lib/components/warning-message/warning-message.component.mjs +29 -0
  217. package/esm2022/lib/components/warning-message/warning-message.module.mjs +19 -0
  218. package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +25 -0
  219. package/{esm2020 → esm2022}/lib/components/wrappers/content-wrapper/content-wrapper.enum.mjs +5 -5
  220. package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.module.mjs +19 -0
  221. package/esm2022/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +15 -0
  222. package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +23 -0
  223. package/{esm2020 → esm2022}/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.mjs +6 -6
  224. package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.module.mjs +20 -0
  225. package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +99 -0
  226. package/{esm2020 → esm2022}/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.mjs +16 -16
  227. package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.module.mjs +24 -0
  228. package/esm2022/lib/directives/autosize/autosize.directive.mjs +57 -0
  229. package/esm2022/lib/directives/autosize/autosize.module.mjs +24 -0
  230. package/esm2022/lib/directives/truncate/truncate.directive.mjs +34 -0
  231. package/esm2022/lib/directives/truncate/truncate.module.mjs +18 -0
  232. package/{esm2020 → esm2022}/lib/enums/typed.input.state.mjs +7 -7
  233. package/esm2022/lib/helpers/extension/input-file.extension.mjs +39 -0
  234. package/esm2022/lib/helpers/formatting-date.mjs +51 -0
  235. package/{esm2020 → esm2022}/lib/helpers/formatting-dates-from-array.mjs +18 -18
  236. package/{esm2020 → esm2022}/lib/helpers/formatting-iso-to-string.mjs +12 -12
  237. package/{esm2020 → esm2022}/lib/helpers/index.mjs +7 -7
  238. package/{esm2020 → esm2022}/lib/helpers/number-format.mjs +8 -8
  239. package/esm2022/lib/helpers/string-hash-code.mjs +17 -0
  240. package/{esm2020 → esm2022}/lib/helpers/word-form.mjs +10 -10
  241. package/{esm2020 → esm2022}/lib/models/index.mjs +2 -2
  242. package/{esm2020 → esm2022}/lib/models/input-file/input-file.model.mjs +1 -1
  243. package/{esm2020 → esm2022}/lib/models/typed-input-model.mjs +1 -1
  244. package/esm2022/lib/pipes/currency/currency.module.mjs +20 -0
  245. package/esm2022/lib/pipes/currency/currency.pipe.mjs +22 -0
  246. package/esm2022/lib/pipes/date/date-format.module.mjs +19 -0
  247. package/esm2022/lib/pipes/date/date-format.pipe.mjs +21 -0
  248. package/esm2022/lib/pipes/date/date-time-format.pipe.mjs +21 -0
  249. package/{esm2020 → esm2022}/lib/pipes/date/enums/timezone.mjs +9 -9
  250. package/{esm2020 → esm2022}/lib/pipes/date/helpers/change-timezone.mjs +22 -22
  251. package/esm2022/lib/pipes/phone/phone-format.module.mjs +18 -0
  252. package/esm2022/lib/pipes/phone/phone-format.pipe.mjs +23 -0
  253. package/esm2022/lib/pipes/safe/safe.module.mjs +20 -0
  254. package/esm2022/lib/pipes/safe/safe.pipe.mjs +21 -0
  255. package/esm2022/lib/pipes/truncate/truncate.module.mjs +20 -0
  256. package/esm2022/lib/pipes/truncate/truncate.pipe.mjs +23 -0
  257. package/esm2022/lib/services/file-upload/file-upload.service.mjs +27 -0
  258. package/{esm2020 → esm2022}/lib/services/index.mjs +6 -6
  259. package/esm2022/lib/services/modal-service/components/alert-modal/alert-modal.component.mjs +46 -0
  260. package/esm2022/lib/services/modal-service/components/confirm-modal/confirm-modal.component.mjs +50 -0
  261. package/esm2022/lib/services/modal-service/helpers/modal-default-config.mjs +14 -0
  262. package/esm2022/lib/services/modal-service/helpers/modal-ref.mjs +29 -0
  263. package/esm2022/lib/services/modal-service/helpers/modal-tokens.mjs +4 -0
  264. package/esm2022/lib/services/modal-service/helpers/modal.component.mjs +5 -0
  265. package/esm2022/lib/services/modal-service/modal-service.service.mjs +84 -0
  266. package/esm2022/lib/services/modal-service/models/modal-config.model.mjs +2 -0
  267. package/esm2022/lib/services/mrx-autosave/mrx-autosave.service.mjs +43 -0
  268. package/esm2022/lib/services/mrx-form-validator/mrx-form-validator.mjs +283 -0
  269. package/{esm2020 → esm2022}/lib/services/save-store/constants/constants.mjs +1 -1
  270. package/{esm2020 → esm2022}/lib/services/save-store/models/save-store.model.mjs +1 -1
  271. package/esm2022/lib/services/save-store/save-store.module.mjs +29 -0
  272. package/{esm2020 → esm2022}/lib/services/save-store/store/actions.mjs +22 -22
  273. package/esm2022/lib/services/save-store/store/effect.mjs +61 -0
  274. package/esm2022/lib/services/save-store/store/reducer.mjs +96 -0
  275. package/{esm2020 → esm2022}/lib/services/save-store/store/selectors.mjs +4 -4
  276. package/{esm2020 → esm2022}/lib/services/save-store/store/state.mjs +3 -3
  277. package/{esm2020 → esm2022}/myrta-ui.mjs +4 -4
  278. package/esm2022/public-api.mjs +176 -0
  279. package/fesm2022/myrta-ui.mjs +15458 -0
  280. package/fesm2022/myrta-ui.mjs.map +1 -0
  281. package/{myrta-ui.d.ts → index.d.ts} +5 -5
  282. package/lib/components/alert/alert.component.d.ts +17 -17
  283. package/lib/components/alert/alert.enum.d.ts +13 -13
  284. package/lib/components/alert/alert.module.d.ts +8 -8
  285. package/lib/components/badges/badge.enum.d.ts +38 -38
  286. package/lib/components/badges/badges.module.d.ts +9 -9
  287. package/lib/components/badges/components/badge/badge.component.d.ts +21 -21
  288. package/lib/components/badges/components/badge-group/badge-group.component.d.ts +5 -5
  289. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +11 -11
  290. package/lib/components/breadcrumbs/breadcrumbs.enum.d.ts +11 -11
  291. package/lib/components/breadcrumbs/breadcrumbs.module.d.ts +8 -8
  292. package/lib/components/button/button.component.d.ts +31 -31
  293. package/lib/components/button/button.enum.d.ts +27 -29
  294. package/lib/components/button/button.module.d.ts +10 -10
  295. package/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.d.ts +13 -13
  296. package/lib/components/cdk-tooltip/cdk-tooltip.directive.d.ts +24 -24
  297. package/lib/components/cdk-tooltip/cdk-tooltip.module.d.ts +10 -10
  298. package/lib/components/cdk-tooltip/constants/index.d.ts +7 -7
  299. package/lib/components/cdk-tooltip/models/tooltip-data.d.ts +6 -6
  300. package/lib/components/chars-left/chars-left.component.d.ts +9 -9
  301. package/lib/components/chars-left/chars-left.module.d.ts +8 -8
  302. package/lib/components/dropdown/directives/hide-after-click.directive.d.ts +9 -9
  303. package/lib/components/dropdown/dropdown.component.d.ts +26 -26
  304. package/lib/components/dropdown/dropdown.module.d.ts +10 -10
  305. package/lib/components/error-message/error-message.component.d.ts +10 -10
  306. package/lib/components/error-message/error-message.module.d.ts +8 -8
  307. package/lib/components/form/checkbox/checkbox.component.d.ts +48 -48
  308. package/lib/components/form/checkbox/checkbox.enum.d.ts +14 -14
  309. package/lib/components/form/checkbox/checkbox.module.d.ts +11 -11
  310. package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +54 -54
  311. package/lib/components/form/checkbox-group/checkbox-group.module.d.ts +16 -16
  312. package/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.d.ts +19 -19
  313. package/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.d.ts +26 -26
  314. package/lib/components/form/checkbox-group/helpers/change-group-value.d.ts +3 -3
  315. package/lib/components/form/checkbox-group/helpers/change-item-value.d.ts +3 -3
  316. package/lib/components/form/checkbox-group/helpers/filter-search-group.d.ts +2 -2
  317. package/lib/components/form/checkbox-group/helpers/get-checked-items.d.ts +2 -2
  318. package/lib/components/form/checkbox-group/helpers/get-item-by-id.d.ts +2 -2
  319. package/lib/components/form/checkbox-group/helpers/get-sorted-list.d.ts +2 -2
  320. package/lib/components/form/checkbox-group/models/checkbox-group.model.d.ts +15 -15
  321. package/lib/components/form/editor/config/default-inline-style.d.ts +11 -11
  322. package/lib/components/form/editor/config/index.d.ts +1 -1
  323. package/lib/components/form/editor/config/popups-toolbar.d.ts +15 -15
  324. package/lib/components/form/editor/config/toolbar.d.ts +2 -2
  325. package/lib/components/form/editor/editor.component.d.ts +63 -49
  326. package/lib/components/form/editor/editor.module.d.ts +14 -14
  327. package/lib/components/form/editor/models/toolbar.model.d.ts +6 -6
  328. package/lib/components/form/editor/modules/change-icon-module.d.ts +1 -1
  329. package/lib/components/form/input-date-time/constants/value-models.d.ts +3 -3
  330. package/lib/components/form/input-date-time/enum/timezone.d.ts +6 -6
  331. package/lib/components/form/input-date-time/helpers/clean-date.d.ts +1 -1
  332. package/lib/components/form/input-date-time/helpers/cursor-position.d.ts +1 -1
  333. package/lib/components/form/input-date-time/helpers/formatting-from-models.d.ts +3 -3
  334. package/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.d.ts +2 -2
  335. package/lib/components/form/input-date-time/helpers/validate-value-models.d.ts +19 -19
  336. package/lib/components/form/input-date-time/helpers/value-parser.d.ts +4 -4
  337. package/lib/components/form/input-date-time/input-date-time.component.d.ts +72 -72
  338. package/lib/components/form/input-date-time/input-date-time.enum.d.ts +21 -21
  339. package/lib/components/form/input-date-time/input-date-time.module.d.ts +13 -13
  340. package/lib/components/form/input-datepicker/constants/value-models.d.ts +3 -3
  341. package/lib/components/form/input-datepicker/helpers/clean-date.d.ts +1 -1
  342. package/lib/components/form/input-datepicker/helpers/cursor-position.d.ts +1 -1
  343. package/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.d.ts +3 -3
  344. package/lib/components/form/input-datepicker/helpers/get-date-object.d.ts +2 -2
  345. package/lib/components/form/input-datepicker/helpers/validate-value-models.d.ts +20 -20
  346. package/lib/components/form/input-datepicker/helpers/value-parser.d.ts +3 -3
  347. package/lib/components/form/input-datepicker/input-datepicker.component.d.ts +69 -69
  348. package/lib/components/form/input-datepicker/input-datepicker.enum.d.ts +12 -12
  349. package/lib/components/form/input-datepicker/input-datepicker.module.d.ts +13 -13
  350. package/lib/components/form/input-file/enums/error-messages.enum.d.ts +6 -6
  351. package/lib/components/form/input-file/input-file.component.d.ts +72 -72
  352. package/lib/components/form/input-file/input-file.enum.d.ts +7 -7
  353. package/lib/components/form/input-file/input-file.module.d.ts +13 -13
  354. package/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.d.ts +42 -39
  355. package/lib/components/form/input-file-image/input-file-image.component.d.ts +62 -62
  356. package/lib/components/form/input-file-image/input-file-image.enum.d.ts +8 -8
  357. package/lib/components/form/input-file-image/input-file-image.module.d.ts +15 -16
  358. package/lib/components/form/input-number/input-number.component.d.ts +64 -64
  359. package/lib/components/form/input-number/input-number.enum.d.ts +12 -12
  360. package/lib/components/form/input-number/input-number.module.d.ts +13 -13
  361. package/lib/components/form/input-opt/components/input-opt/input-opt.component.d.ts +77 -77
  362. package/lib/components/form/input-opt/components/input-opt/input-opt.enum.d.ts +7 -7
  363. package/lib/components/form/input-opt/directives/opt-pattern.directive.d.ts +8 -8
  364. package/lib/components/form/input-opt/input-opt.module.d.ts +11 -11
  365. package/lib/components/form/input-opt/models/input-opt.model.d.ts +26 -26
  366. package/lib/components/form/input-opt/services/input-opt.service.d.ts +11 -11
  367. package/lib/components/form/input-password/input-password.component.d.ts +38 -38
  368. package/lib/components/form/input-password/input-password.enum.d.ts +7 -7
  369. package/lib/components/form/input-password/input-password.module.d.ts +11 -11
  370. package/lib/components/form/input-phone/data/country-code.d.ts +6 -6
  371. package/lib/components/form/input-phone/directives/native-element-injector.directive.d.ts +11 -11
  372. package/lib/components/form/input-phone/enums/country-iso.enum.d.ts +245 -245
  373. package/lib/components/form/input-phone/enums/input-phone.enum.d.ts +11 -11
  374. package/lib/components/form/input-phone/enums/mask.enum.d.ts +8 -8
  375. package/lib/components/form/input-phone/enums/phone-number-format.enum.d.ts +4 -4
  376. package/lib/components/form/input-phone/enums/search-country-field.enum.d.ts +6 -6
  377. package/lib/components/form/input-phone/input-phone.component.d.ts +132 -132
  378. package/lib/components/form/input-phone/input-phone.module.d.ts +14 -14
  379. package/lib/components/form/input-phone/input-phone.validator.d.ts +5 -5
  380. package/lib/components/form/input-phone/interfaces/change-data.d.ts +9 -9
  381. package/lib/components/form/input-phone/models/country.model.d.ts +13 -13
  382. package/lib/components/form/input-search/input-search.component.d.ts +48 -48
  383. package/lib/components/form/input-search/input-search.enum.d.ts +6 -6
  384. package/lib/components/form/input-search/input-search.module.d.ts +12 -12
  385. package/lib/components/form/input-select/input-select.component.d.ts +84 -84
  386. package/lib/components/form/input-select/input-select.enum.d.ts +10 -10
  387. package/lib/components/form/input-select/input-select.module.d.ts +14 -14
  388. package/lib/components/form/input-tel/assets/base64.d.ts +3 -3
  389. package/lib/components/form/input-tel/data/all-countries.d.ts +1 -1
  390. package/lib/components/form/input-tel/data/country-iso.enum.d.ts +245 -245
  391. package/lib/components/form/input-tel/data/phone-number-format.enum.d.ts +5 -5
  392. package/lib/components/form/input-tel/data/search-country-field.enum.d.ts +6 -6
  393. package/lib/components/form/input-tel/directives/input-tel.directive.d.ts +21 -21
  394. package/lib/components/form/input-tel/enums/input-phone.enum.d.ts +11 -11
  395. package/lib/components/form/input-tel/input-tel.component.d.ts +89 -89
  396. package/lib/components/form/input-tel/input-tel.module.d.ts +13 -14
  397. package/lib/components/form/input-tel/models/country.model.d.ts +18 -18
  398. package/lib/components/form/input-text/input-text.component.d.ts +54 -54
  399. package/lib/components/form/input-text/input-text.enum.d.ts +19 -19
  400. package/lib/components/form/input-text/input-text.module.d.ts +14 -14
  401. package/lib/components/form/input-textarea/input-textarea.component.d.ts +54 -54
  402. package/lib/components/form/input-textarea/input-textarea.enum.d.ts +11 -11
  403. package/lib/components/form/input-textarea/input-textarea.module.d.ts +14 -14
  404. package/lib/components/form/input-timepicker/constants/value-models.d.ts +2 -2
  405. package/lib/components/form/input-timepicker/helpers/clean-date.d.ts +1 -1
  406. package/lib/components/form/input-timepicker/helpers/cursor-position.d.ts +1 -1
  407. package/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.d.ts +3 -3
  408. package/lib/components/form/input-timepicker/helpers/get-date-object.d.ts +2 -2
  409. package/lib/components/form/input-timepicker/helpers/validate-value-models.d.ts +10 -10
  410. package/lib/components/form/input-timepicker/helpers/value-parser.d.ts +2 -2
  411. package/lib/components/form/input-timepicker/input-timepicker.component.d.ts +60 -60
  412. package/lib/components/form/input-timepicker/input-timepicker.enum.d.ts +11 -11
  413. package/lib/components/form/input-timepicker/input-timepicker.module.d.ts +13 -13
  414. package/lib/components/form/radio/radio.component.d.ts +29 -29
  415. package/lib/components/form/radio/radio.enum.d.ts +4 -4
  416. package/lib/components/form/radio/radio.module.d.ts +9 -9
  417. package/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.d.ts +18 -18
  418. package/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.d.ts +26 -26
  419. package/lib/components/form/radio-group/helpers/filter-search-group.d.ts +2 -2
  420. package/lib/components/form/radio-group/helpers/get-item-by-id.d.ts +2 -2
  421. package/lib/components/form/radio-group/helpers/move-selected-to-first.d.ts +2 -2
  422. package/lib/components/form/radio-group/models/radio-group.model.d.ts +8 -8
  423. package/lib/components/form/radio-group/radio-group.component.d.ts +57 -57
  424. package/lib/components/form/radio-group/radio-group.module.d.ts +15 -15
  425. package/lib/components/form/rating/rating.component.d.ts +51 -51
  426. package/lib/components/form/rating/rating.enum.d.ts +27 -27
  427. package/lib/components/form/rating/rating.module.d.ts +9 -9
  428. package/lib/components/form/switch/switch.component.d.ts +32 -32
  429. package/lib/components/form/switch/switch.enum.d.ts +15 -15
  430. package/lib/components/form/switch/switch.module.d.ts +10 -10
  431. package/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.d.ts +21 -17
  432. package/lib/components/gallery/components/gallery-item/gallery-item.component.d.ts +38 -38
  433. package/lib/components/gallery/constants/custom-buttons-default.d.ts +3 -3
  434. package/lib/components/gallery/constants/thumbs-config-default.d.ts +2 -2
  435. package/lib/components/gallery/gallery.component.d.ts +38 -38
  436. package/lib/components/gallery/gallery.module.d.ts +16 -16
  437. package/lib/components/gallery/models/gallery-item.model.d.ts +24 -24
  438. package/lib/components/gallery/services/gallery.service.d.ts +14 -14
  439. package/lib/components/hint-error-message/hint-error-message.component.d.ts +21 -21
  440. package/lib/components/hint-error-message/hint-error-message.module.d.ts +8 -8
  441. package/lib/components/icon-button/icon-button.component.d.ts +19 -19
  442. package/lib/components/icon-button/icon-button.enum.d.ts +15 -15
  443. package/lib/components/icon-button/icon-button.module.d.ts +9 -9
  444. package/lib/components/label/label.component.d.ts +44 -44
  445. package/lib/components/label/label.module.d.ts +14 -14
  446. package/lib/components/link/link.component.d.ts +18 -18
  447. package/lib/components/link/link.enum.d.ts +19 -19
  448. package/lib/components/link/link.module.d.ts +8 -8
  449. package/lib/components/loader/loader.component.d.ts +10 -10
  450. package/lib/components/loader/loader.enum.d.ts +19 -19
  451. package/lib/components/loader/loader.module.d.ts +8 -8
  452. package/lib/components/modal/modal.component.d.ts +36 -37
  453. package/lib/components/modal/modal.emun.d.ts +20 -20
  454. package/lib/components/modal/modal.module.d.ts +9 -9
  455. package/lib/components/pages-nav/pages-nav.component.d.ts +12 -12
  456. package/lib/components/pages-nav/pages-nav.enum.d.ts +5 -5
  457. package/lib/components/pages-nav/pages-nav.module.d.ts +8 -8
  458. package/lib/components/paginator/paginator.component.d.ts +29 -29
  459. package/lib/components/paginator/paginator.enum.d.ts +10 -10
  460. package/lib/components/paginator/paginator.module.d.ts +10 -10
  461. package/lib/components/progress/progress.component.d.ts +10 -10
  462. package/lib/components/progress/progress.enum.d.ts +7 -7
  463. package/lib/components/progress/progress.module.d.ts +8 -8
  464. package/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.d.ts +8 -8
  465. package/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.d.ts +8 -8
  466. package/lib/components/save-state/components/save-state-editor/save-state-editor.component.d.ts +8 -8
  467. package/lib/components/save-state/components/save-state-input/save-state-input.component.d.ts +8 -8
  468. package/lib/components/save-state/components/save-state-switch/save-state-switch.component.d.ts +8 -8
  469. package/lib/components/save-state/save-state.component.d.ts +13 -13
  470. package/lib/components/save-state/save-state.enum.d.ts +1 -1
  471. package/lib/components/save-state/save-state.module.d.ts +13 -13
  472. package/lib/components/stepper/stepper.component.d.ts +17 -17
  473. package/lib/components/stepper/stepper.enum.d.ts +5 -5
  474. package/lib/components/stepper/stepper.module.d.ts +9 -9
  475. package/lib/components/table/components/column/column.component.d.ts +14 -14
  476. package/lib/components/table/default/default-pager-settings.d.ts +2 -2
  477. package/lib/components/table/models/data-state-change.event.d.ts +15 -15
  478. package/lib/components/table/models/index.d.ts +3 -3
  479. package/lib/components/table/models/pager-settings.d.ts +22 -22
  480. package/lib/components/table/table.component.d.ts +55 -55
  481. package/lib/components/table/table.enum.d.ts +32 -32
  482. package/lib/components/table/table.module.d.ts +14 -14
  483. package/lib/components/tabs/tab/tab.component.d.ts +13 -13
  484. package/lib/components/tabs/tabs-group/tabs-group.component.d.ts +11 -11
  485. package/lib/components/tabs/tabs.enum.d.ts +11 -11
  486. package/lib/components/tabs/tabs.module.d.ts +9 -9
  487. package/lib/components/tooltip/services/tooltip.service.d.ts +18 -18
  488. package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.d.ts +15 -15
  489. package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.d.ts +10 -10
  490. package/lib/components/tooltip/tooltip.component.d.ts +18 -18
  491. package/lib/components/tooltip/tooltip.enum.d.ts +4 -4
  492. package/lib/components/tooltip/tooltip.module.d.ts +10 -10
  493. package/lib/components/truncate-text/directives/truncate-text.directive.d.ts +37 -37
  494. package/lib/components/truncate-text/truncate-text.component.d.ts +12 -12
  495. package/lib/components/truncate-text/truncate-text.enum.d.ts +2 -2
  496. package/lib/components/truncate-text/truncate-text.module.d.ts +10 -10
  497. package/lib/components/warning-message/warning-message.component.d.ts +9 -9
  498. package/lib/components/warning-message/warning-message.module.d.ts +8 -8
  499. package/lib/components/wrappers/content-wrapper/content-wrapper.component.d.ts +10 -10
  500. package/lib/components/wrappers/content-wrapper/content-wrapper.enum.d.ts +5 -5
  501. package/lib/components/wrappers/content-wrapper/content-wrapper.module.d.ts +8 -8
  502. package/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.d.ts +6 -6
  503. package/lib/components/wrappers/controls-wrapper/controls-wrapper.component.d.ts +10 -10
  504. package/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.d.ts +6 -6
  505. package/lib/components/wrappers/controls-wrapper/controls-wrapper.module.d.ts +9 -9
  506. package/lib/components/wrappers/widget-wrapper/widget-wrapper.component.d.ts +26 -26
  507. package/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.d.ts +15 -15
  508. package/lib/components/wrappers/widget-wrapper/widget-wrapper.module.d.ts +8 -8
  509. package/lib/directives/autosize/autosize.directive.d.ts +16 -16
  510. package/lib/directives/autosize/autosize.module.d.ts +8 -8
  511. package/lib/directives/truncate/truncate.directive.d.ts +12 -12
  512. package/lib/directives/truncate/truncate.module.d.ts +8 -8
  513. package/lib/enums/typed.input.state.d.ts +6 -6
  514. package/lib/helpers/extension/input-file.extension.d.ts +4 -4
  515. package/lib/helpers/formatting-date.d.ts +9 -9
  516. package/lib/helpers/formatting-dates-from-array.d.ts +2 -2
  517. package/lib/helpers/formatting-iso-to-string.d.ts +2 -2
  518. package/lib/helpers/index.d.ts +7 -7
  519. package/lib/helpers/number-format.d.ts +6 -6
  520. package/lib/helpers/string-hash-code.d.ts +2 -2
  521. package/lib/helpers/word-form.d.ts +7 -7
  522. package/lib/models/index.d.ts +2 -2
  523. package/lib/models/input-file/input-file.model.d.ts +22 -22
  524. package/lib/models/typed-input-model.d.ts +16 -16
  525. package/lib/pipes/currency/currency.module.d.ts +8 -8
  526. package/lib/pipes/currency/currency.pipe.d.ts +7 -7
  527. package/lib/pipes/date/date-format.module.d.ts +9 -9
  528. package/lib/pipes/date/date-format.pipe.d.ts +9 -9
  529. package/lib/pipes/date/date-time-format.pipe.d.ts +9 -9
  530. package/lib/pipes/date/enums/timezone.d.ts +8 -8
  531. package/lib/pipes/date/helpers/change-timezone.d.ts +2 -2
  532. package/lib/pipes/phone/phone-format.module.d.ts +8 -8
  533. package/lib/pipes/phone/phone-format.pipe.d.ts +8 -8
  534. package/lib/pipes/safe/safe.module.d.ts +8 -8
  535. package/lib/pipes/safe/safe.pipe.d.ts +10 -10
  536. package/lib/pipes/truncate/truncate.module.d.ts +8 -8
  537. package/lib/pipes/truncate/truncate.pipe.d.ts +7 -7
  538. package/lib/services/file-upload/file-upload.service.d.ts +12 -12
  539. package/lib/services/index.d.ts +6 -6
  540. package/lib/services/modal-service/components/alert-modal/alert-modal.component.d.ts +20 -0
  541. package/lib/services/modal-service/components/confirm-modal/confirm-modal.component.d.ts +21 -0
  542. package/lib/services/modal-service/helpers/modal-default-config.d.ts +3 -0
  543. package/lib/services/modal-service/helpers/modal-ref.d.ts +11 -0
  544. package/lib/services/modal-service/helpers/modal-tokens.d.ts +3 -0
  545. package/lib/services/modal-service/helpers/modal.component.d.ts +4 -0
  546. package/lib/services/modal-service/modal-service.service.d.ts +20 -0
  547. package/lib/services/modal-service/models/modal-config.model.d.ts +14 -0
  548. package/lib/services/mrx-autosave/mrx-autosave.service.d.ts +19 -19
  549. package/lib/services/mrx-form-validator/mrx-form-validator.d.ts +51 -51
  550. package/lib/services/save-store/constants/constants.d.ts +1 -1
  551. package/lib/services/save-store/models/save-store.model.d.ts +4 -4
  552. package/lib/services/save-store/save-store.module.d.ts +9 -9
  553. package/lib/services/save-store/store/actions.d.ts +21 -21
  554. package/lib/services/save-store/store/effect.d.ts +10 -16
  555. package/lib/services/save-store/store/reducer.d.ts +3 -3
  556. package/lib/services/save-store/store/selectors.d.ts +3 -3
  557. package/lib/services/save-store/store/state.d.ts +11 -11
  558. package/package.json +29 -39
  559. package/public-api.d.ts +162 -175
  560. package/esm2020/lib/components/alert/alert.component.mjs +0 -45
  561. package/esm2020/lib/components/alert/alert.module.mjs +0 -19
  562. package/esm2020/lib/components/badges/badges.module.mjs +0 -32
  563. package/esm2020/lib/components/badges/components/badge/badge.component.mjs +0 -61
  564. package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +0 -29
  565. package/esm2020/lib/components/breadcrumbs/breadcrumbs.module.mjs +0 -27
  566. package/esm2020/lib/components/button/button.component.mjs +0 -102
  567. package/esm2020/lib/components/button/button.enum.mjs +0 -29
  568. package/esm2020/lib/components/button/button.module.mjs +0 -21
  569. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +0 -28
  570. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +0 -95
  571. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip.module.mjs +0 -21
  572. package/esm2020/lib/components/chars-left/chars-left.component.mjs +0 -26
  573. package/esm2020/lib/components/chars-left/chars-left.module.mjs +0 -19
  574. package/esm2020/lib/components/context-menu/components/context-menu/context-menu.component.mjs +0 -121
  575. package/esm2020/lib/components/context-menu/components/context-menu-content/context-menu-content.component.mjs +0 -343
  576. package/esm2020/lib/components/context-menu/context-menu.module.mjs +0 -51
  577. package/esm2020/lib/components/context-menu/context-menu.options.mjs +0 -2
  578. package/esm2020/lib/components/context-menu/context-menu.tokens.mjs +0 -3
  579. package/esm2020/lib/components/context-menu/directives/context-menu/context-menu.directive.mjs +0 -36
  580. package/esm2020/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.mjs +0 -61
  581. package/esm2020/lib/components/context-menu/models/context-menu.enum.mjs +0 -2
  582. package/esm2020/lib/components/context-menu/services/context-menu/context-menu-fixed.service.mjs +0 -103
  583. package/esm2020/lib/components/context-menu/services/context-menu/context-menu.service.mjs +0 -223
  584. package/esm2020/lib/components/dropdown/directives/hide-after-click.directive.mjs +0 -23
  585. package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -104
  586. package/esm2020/lib/components/dropdown/dropdown.module.mjs +0 -21
  587. package/esm2020/lib/components/error-message/error-message.component.mjs +0 -34
  588. package/esm2020/lib/components/error-message/error-message.module.mjs +0 -19
  589. package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +0 -150
  590. package/esm2020/lib/components/form/checkbox/checkbox.module.mjs +0 -22
  591. package/esm2020/lib/components/form/checkbox-group/checkbox-group.component.mjs +0 -178
  592. package/esm2020/lib/components/form/checkbox-group/checkbox-group.module.mjs +0 -49
  593. package/esm2020/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +0 -103
  594. package/esm2020/lib/components/form/checkbox-group/helpers/change-group-value.mjs +0 -20
  595. package/esm2020/lib/components/form/checkbox-group/helpers/change-item-value.mjs +0 -15
  596. package/esm2020/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +0 -27
  597. package/esm2020/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +0 -20
  598. package/esm2020/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +0 -50
  599. package/esm2020/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.mjs +0 -33
  600. package/esm2020/lib/components/form/document-editor/document-editor.component.mjs +0 -105
  601. package/esm2020/lib/components/form/document-editor/document-editor.module.mjs +0 -44
  602. package/esm2020/lib/components/form/document-editor/helpers/transform-sysname.mjs +0 -41
  603. package/esm2020/lib/components/form/document-editor/models/document-editor-short-codes.enum.mjs +0 -2
  604. package/esm2020/lib/components/form/editor/editor.component.mjs +0 -240
  605. package/esm2020/lib/components/form/editor/editor.module.mjs +0 -47
  606. package/esm2020/lib/components/form/editor/modules/change-icon-module.mjs +0 -92
  607. package/esm2020/lib/components/form/input-date-time/helpers/cursor-position.mjs +0 -23
  608. package/esm2020/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +0 -10
  609. package/esm2020/lib/components/form/input-date-time/input-date-time.component.mjs +0 -381
  610. package/esm2020/lib/components/form/input-date-time/input-date-time.module.mjs +0 -48
  611. package/esm2020/lib/components/form/input-datepicker/helpers/cursor-position.mjs +0 -23
  612. package/esm2020/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +0 -10
  613. package/esm2020/lib/components/form/input-datepicker/helpers/get-date-object.mjs +0 -10
  614. package/esm2020/lib/components/form/input-datepicker/input-datepicker.component.mjs +0 -354
  615. package/esm2020/lib/components/form/input-datepicker/input-datepicker.module.mjs +0 -48
  616. package/esm2020/lib/components/form/input-file/input-file.component.mjs +0 -362
  617. package/esm2020/lib/components/form/input-file/input-file.module.mjs +0 -26
  618. package/esm2020/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +0 -66
  619. package/esm2020/lib/components/form/input-file-image/input-file-image.component.mjs +0 -354
  620. package/esm2020/lib/components/form/input-file-image/input-file-image.module.mjs +0 -60
  621. package/esm2020/lib/components/form/input-number/input-number.component.mjs +0 -258
  622. package/esm2020/lib/components/form/input-number/input-number.module.mjs +0 -57
  623. package/esm2020/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +0 -361
  624. package/esm2020/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +0 -44
  625. package/esm2020/lib/components/form/input-opt/input-opt.module.mjs +0 -40
  626. package/esm2020/lib/components/form/input-password/input-password.component.mjs +0 -119
  627. package/esm2020/lib/components/form/input-password/input-password.module.mjs +0 -38
  628. package/esm2020/lib/components/form/input-phone/data/country-code.mjs +0 -1333
  629. package/esm2020/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +0 -33
  630. package/esm2020/lib/components/form/input-phone/input-phone.component.mjs +0 -671
  631. package/esm2020/lib/components/form/input-phone/input-phone.module.mjs +0 -52
  632. package/esm2020/lib/components/form/input-phone/input-phone.validator.mjs +0 -61
  633. package/esm2020/lib/components/form/input-search/input-search.component.mjs +0 -166
  634. package/esm2020/lib/components/form/input-search/input-search.module.mjs +0 -43
  635. package/esm2020/lib/components/form/input-select/input-select.component.mjs +0 -243
  636. package/esm2020/lib/components/form/input-select/input-select.module.mjs +0 -47
  637. package/esm2020/lib/components/form/input-tel/directives/input-tel.directive.mjs +0 -62
  638. package/esm2020/lib/components/form/input-tel/input-tel.component.mjs +0 -389
  639. package/esm2020/lib/components/form/input-tel/input-tel.module.mjs +0 -49
  640. package/esm2020/lib/components/form/input-text/input-text.component.mjs +0 -188
  641. package/esm2020/lib/components/form/input-text/input-text.module.mjs +0 -51
  642. package/esm2020/lib/components/form/input-textarea/input-textarea.component.mjs +0 -195
  643. package/esm2020/lib/components/form/input-textarea/input-textarea.module.mjs +0 -50
  644. package/esm2020/lib/components/form/input-timepicker/helpers/cursor-position.mjs +0 -14
  645. package/esm2020/lib/components/form/input-timepicker/input-timepicker.component.mjs +0 -290
  646. package/esm2020/lib/components/form/input-timepicker/input-timepicker.module.mjs +0 -48
  647. package/esm2020/lib/components/form/radio/radio.component.mjs +0 -91
  648. package/esm2020/lib/components/form/radio/radio.module.mjs +0 -20
  649. package/esm2020/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +0 -46
  650. package/esm2020/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +0 -63
  651. package/esm2020/lib/components/form/radio-group/helpers/filter-search-group.mjs +0 -27
  652. package/esm2020/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +0 -27
  653. package/esm2020/lib/components/form/radio-group/radio-group.component.mjs +0 -175
  654. package/esm2020/lib/components/form/radio-group/radio-group.module.mjs +0 -26
  655. package/esm2020/lib/components/form/rating/rating.component.mjs +0 -217
  656. package/esm2020/lib/components/form/rating/rating.module.mjs +0 -27
  657. package/esm2020/lib/components/form/switch/switch.component.mjs +0 -97
  658. package/esm2020/lib/components/form/switch/switch.module.mjs +0 -21
  659. package/esm2020/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +0 -22
  660. package/esm2020/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +0 -102
  661. package/esm2020/lib/components/gallery/gallery.component.mjs +0 -197
  662. package/esm2020/lib/components/gallery/gallery.module.mjs +0 -56
  663. package/esm2020/lib/components/gallery/services/gallery.service.mjs +0 -31
  664. package/esm2020/lib/components/hint-error-message/hint-error-message.component.mjs +0 -123
  665. package/esm2020/lib/components/hint-error-message/hint-error-message.module.mjs +0 -19
  666. package/esm2020/lib/components/icon-button/icon-button.component.mjs +0 -51
  667. package/esm2020/lib/components/icon-button/icon-button.module.mjs +0 -19
  668. package/esm2020/lib/components/label/label.component.mjs +0 -141
  669. package/esm2020/lib/components/label/label.module.mjs +0 -25
  670. package/esm2020/lib/components/link/link.component.mjs +0 -50
  671. package/esm2020/lib/components/link/link.module.mjs +0 -19
  672. package/esm2020/lib/components/loader/loader.component.mjs +0 -26
  673. package/esm2020/lib/components/loader/loader.module.mjs +0 -19
  674. package/esm2020/lib/components/modal/modal.component.mjs +0 -146
  675. package/esm2020/lib/components/modal/modal.module.mjs +0 -20
  676. package/esm2020/lib/components/pages-nav/pages-nav.component.mjs +0 -33
  677. package/esm2020/lib/components/pages-nav/pages-nav.module.mjs +0 -26
  678. package/esm2020/lib/components/paginator/paginator.component.mjs +0 -142
  679. package/esm2020/lib/components/paginator/paginator.module.mjs +0 -33
  680. package/esm2020/lib/components/progress/progress.component.mjs +0 -26
  681. package/esm2020/lib/components/progress/progress.module.mjs +0 -19
  682. package/esm2020/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +0 -15
  683. package/esm2020/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +0 -15
  684. package/esm2020/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +0 -15
  685. package/esm2020/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +0 -15
  686. package/esm2020/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +0 -15
  687. package/esm2020/lib/components/save-state/save-state.component.mjs +0 -39
  688. package/esm2020/lib/components/save-state/save-state.module.mjs +0 -39
  689. package/esm2020/lib/components/stepper/stepper.component.mjs +0 -54
  690. package/esm2020/lib/components/stepper/stepper.module.mjs +0 -20
  691. package/esm2020/lib/components/table/components/column/column.component.mjs +0 -40
  692. package/esm2020/lib/components/table/table.component.mjs +0 -274
  693. package/esm2020/lib/components/table/table.module.mjs +0 -52
  694. package/esm2020/lib/components/tabs/tab/tab.component.mjs +0 -31
  695. package/esm2020/lib/components/tabs/tabs-group/tabs-group.component.mjs +0 -29
  696. package/esm2020/lib/components/tabs/tabs.module.mjs +0 -20
  697. package/esm2020/lib/components/tooltip/services/tooltip.service.mjs +0 -67
  698. package/esm2020/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +0 -38
  699. package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -60
  700. package/esm2020/lib/components/tooltip/tooltip.module.mjs +0 -21
  701. package/esm2020/lib/components/truncate-text/truncate-text.component.mjs +0 -30
  702. package/esm2020/lib/components/truncate-text/truncate-text.module.mjs +0 -21
  703. package/esm2020/lib/components/warning-message/warning-message.component.mjs +0 -31
  704. package/esm2020/lib/components/warning-message/warning-message.module.mjs +0 -19
  705. package/esm2020/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +0 -26
  706. package/esm2020/lib/components/wrappers/content-wrapper/content-wrapper.module.mjs +0 -19
  707. package/esm2020/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +0 -17
  708. package/esm2020/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +0 -24
  709. package/esm2020/lib/components/wrappers/controls-wrapper/controls-wrapper.module.mjs +0 -20
  710. package/esm2020/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +0 -96
  711. package/esm2020/lib/components/wrappers/widget-wrapper/widget-wrapper.module.mjs +0 -26
  712. package/esm2020/lib/directives/autosize/autosize.directive.mjs +0 -55
  713. package/esm2020/lib/directives/autosize/autosize.module.mjs +0 -26
  714. package/esm2020/lib/directives/truncate/truncate.directive.mjs +0 -32
  715. package/esm2020/lib/directives/truncate/truncate.module.mjs +0 -18
  716. package/esm2020/lib/helpers/extension/input-file.extension.mjs +0 -39
  717. package/esm2020/lib/helpers/formatting-date.mjs +0 -51
  718. package/esm2020/lib/helpers/string-hash-code.mjs +0 -17
  719. package/esm2020/lib/pipes/currency/currency.module.mjs +0 -22
  720. package/esm2020/lib/pipes/currency/currency.pipe.mjs +0 -22
  721. package/esm2020/lib/pipes/date/date-format.module.mjs +0 -19
  722. package/esm2020/lib/pipes/date/date-format.pipe.mjs +0 -21
  723. package/esm2020/lib/pipes/date/date-time-format.pipe.mjs +0 -21
  724. package/esm2020/lib/pipes/phone/phone-format.module.mjs +0 -18
  725. package/esm2020/lib/pipes/phone/phone-format.pipe.mjs +0 -23
  726. package/esm2020/lib/pipes/safe/safe.module.mjs +0 -22
  727. package/esm2020/lib/pipes/safe/safe.pipe.mjs +0 -20
  728. package/esm2020/lib/pipes/truncate/truncate.module.mjs +0 -22
  729. package/esm2020/lib/pipes/truncate/truncate.pipe.mjs +0 -23
  730. package/esm2020/lib/services/file-upload/file-upload.service.mjs +0 -26
  731. package/esm2020/lib/services/mrx-autosave/mrx-autosave.service.mjs +0 -44
  732. package/esm2020/lib/services/mrx-form-validator/mrx-form-validator.mjs +0 -283
  733. package/esm2020/lib/services/save-store/save-store.module.mjs +0 -31
  734. package/esm2020/lib/services/save-store/store/effect.mjs +0 -31
  735. package/esm2020/lib/services/save-store/store/reducer.mjs +0 -79
  736. package/esm2020/public-api.mjs +0 -185
  737. package/fesm2015/myrta-ui.mjs +0 -16173
  738. package/fesm2015/myrta-ui.mjs.map +0 -1
  739. package/fesm2020/myrta-ui.mjs +0 -16212
  740. package/fesm2020/myrta-ui.mjs.map +0 -1
  741. package/lib/components/context-menu/components/context-menu/context-menu.component.d.ts +0 -34
  742. package/lib/components/context-menu/components/context-menu-content/context-menu-content.component.d.ts +0 -62
  743. package/lib/components/context-menu/context-menu.module.d.ts +0 -15
  744. package/lib/components/context-menu/context-menu.options.d.ts +0 -4
  745. package/lib/components/context-menu/context-menu.tokens.d.ts +0 -2
  746. package/lib/components/context-menu/directives/context-menu/context-menu.directive.d.ts +0 -12
  747. package/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.d.ts +0 -30
  748. package/lib/components/context-menu/models/context-menu.enum.d.ts +0 -11
  749. package/lib/components/context-menu/services/context-menu/context-menu-fixed.service.d.ts +0 -11
  750. package/lib/components/context-menu/services/context-menu/context-menu.service.d.ts +0 -56
  751. package/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.d.ts +0 -22
  752. package/lib/components/form/document-editor/document-editor.component.d.ts +0 -37
  753. package/lib/components/form/document-editor/document-editor.module.d.ts +0 -13
  754. package/lib/components/form/document-editor/helpers/transform-sysname.d.ts +0 -5
  755. package/lib/components/form/document-editor/models/document-editor-short-codes.enum.d.ts +0 -6
@@ -0,0 +1,283 @@
1
+ import { cloneDeep } from 'lodash-es';
2
+ export const emailRegExp = /^[a-zA-Z0-9._а-яА-Я-]+@[a-zA-Zа-яА-Я0-9.-]+\.[a-zA-Zа-яА-Я]{2,10}$/;
3
+ export class MrxFormValidator {
4
+ _fields = [];
5
+ _validations = {};
6
+ _errors = {};
7
+ _isValid = true;
8
+ _isInit = false;
9
+ _modelClone = {};
10
+ _method = 'submit';
11
+ _invalidMessages = {
12
+ required: () => 'Поле обязательно для заполнения',
13
+ maxLength: (length) => `Максимальное кол-во символов ${length}`,
14
+ minLength: (length) => `Минимальное кол-во символов ${length}`,
15
+ maxValue: (value) => `Максимальное значение ${value}`,
16
+ minValue: (value) => `Минимальное значение ${value}`,
17
+ email: () => 'Указан некорректный адрес электронной почты',
18
+ pattern: () => 'Указано некорректное значение',
19
+ };
20
+ constructor(options) {
21
+ if (options?.method) {
22
+ this._method = options.method;
23
+ }
24
+ if (options?.messages) {
25
+ this._invalidMessages = { ...this._invalidMessages, ...options.messages };
26
+ }
27
+ }
28
+ sortValidators(validations) {
29
+ const sortedValidatorsConstant = ['maxValue', 'minValue', 'minLength', 'maxLength', 'email', 'pattern', 'messages', 'required', 'type'];
30
+ const sortedValidators = {};
31
+ for (let key of sortedValidatorsConstant) {
32
+ if (validations.hasOwnProperty(key)) {
33
+ sortedValidators[key] = validations[key];
34
+ }
35
+ else {
36
+ if (key === 'type') {
37
+ validations.type = 'multi';
38
+ }
39
+ }
40
+ }
41
+ return sortedValidators;
42
+ }
43
+ get errors() {
44
+ return this._errors;
45
+ }
46
+ set fields(fields) {
47
+ this._fields = Object.assign({}, fields);
48
+ }
49
+ getNamesUpdatedProperties(oldModel, newModel) {
50
+ const namesUpdatedProperties = [];
51
+ for (let key in newModel) {
52
+ switch (true) {
53
+ case Array.isArray(newModel[key]):
54
+ if (JSON.stringify(newModel[key]) !== JSON.stringify(oldModel[key])) {
55
+ namesUpdatedProperties.push(key);
56
+ }
57
+ break;
58
+ default:
59
+ if (newModel[key] !== oldModel[key]) {
60
+ namesUpdatedProperties.push(key);
61
+ }
62
+ break;
63
+ }
64
+ }
65
+ return namesUpdatedProperties;
66
+ }
67
+ validateField(fieldValue, fieldName, validations) {
68
+ for (let key in validations) {
69
+ switch (key) {
70
+ case 'required':
71
+ if (!validations[key]) {
72
+ continue;
73
+ }
74
+ if (Array.isArray(fieldValue) && validations.type !== 'single') {
75
+ fieldValue.forEach((field, idx) => {
76
+ if ((field === '' || field === null || field === undefined) && key === 'required') {
77
+ if (validations.messages?.[key]) {
78
+ this._errors[fieldName][idx] = validations.messages[key];
79
+ }
80
+ else {
81
+ this._errors[fieldName] = { ...this._errors[fieldName], [idx]: this._invalidMessages[key]() };
82
+ }
83
+ this._isValid = false;
84
+ }
85
+ });
86
+ }
87
+ else if (Array.isArray(fieldValue) && validations.type === 'single' && fieldValue.length === 0) {
88
+ if (validations.messages?.[key]) {
89
+ this._errors[fieldName] = validations.messages[key];
90
+ }
91
+ else {
92
+ this._errors[fieldName] = this._invalidMessages[key]();
93
+ }
94
+ this._isValid = false;
95
+ }
96
+ else if (String(fieldValue) === '' || String(fieldValue) === 'false' || fieldValue === null || fieldValue === undefined || String(fieldValue) === '<p><br></p>') {
97
+ if (validations.messages?.[key]) {
98
+ this._errors[fieldName] = validations.messages[key];
99
+ }
100
+ else {
101
+ this._errors[fieldName] = this._invalidMessages[key]();
102
+ }
103
+ this._isValid = false;
104
+ }
105
+ break;
106
+ case 'email':
107
+ if (!validations[key]) {
108
+ continue;
109
+ }
110
+ if (!emailRegExp.test(fieldValue)) {
111
+ if (validations.messages?.[key]) {
112
+ this._errors[fieldName] = validations.messages[key];
113
+ }
114
+ else {
115
+ this._errors[fieldName] = this._invalidMessages[key]();
116
+ }
117
+ this._isValid = false;
118
+ }
119
+ break;
120
+ case 'pattern':
121
+ if (!validations[key]?.test(fieldValue)) {
122
+ if (validations.messages?.[key]) {
123
+ this._errors[fieldName] = validations.messages[key];
124
+ }
125
+ else {
126
+ this._errors[fieldName] = this._invalidMessages[key]();
127
+ }
128
+ this._isValid = false;
129
+ }
130
+ break;
131
+ case 'minLength':
132
+ if (String(fieldValue).length < Number(validations[key]) && !!validations['required']) {
133
+ if (validations.messages?.[key]) {
134
+ this._errors[fieldName] = validations.messages[key];
135
+ }
136
+ else {
137
+ this._errors[fieldName] = this._invalidMessages[key](Number(validations[key]));
138
+ }
139
+ this._isValid = false;
140
+ }
141
+ break;
142
+ case 'maxLength':
143
+ if (String(fieldValue).length > Number(validations[key])) {
144
+ if (validations.messages?.[key]) {
145
+ this._errors[fieldName] = validations.messages[key];
146
+ }
147
+ else {
148
+ this._errors[fieldName] = this._invalidMessages[key](Number(validations[key]));
149
+ }
150
+ this._isValid = false;
151
+ }
152
+ break;
153
+ case 'maxValue':
154
+ if (parseInt(fieldValue) > Number(validations[key])) {
155
+ if (validations.messages?.[key]) {
156
+ this._errors[fieldName] = validations.messages[key];
157
+ }
158
+ else {
159
+ this._errors[fieldName] = this._invalidMessages[key](Number(validations[key]));
160
+ }
161
+ this._isValid = false;
162
+ }
163
+ break;
164
+ case 'minValue':
165
+ if (parseInt(fieldValue) < Number(validations[key])) {
166
+ if (validations.messages?.[key]) {
167
+ this._errors[fieldName] = validations.messages[key];
168
+ }
169
+ else {
170
+ this._errors[fieldName] = this._invalidMessages[key](Number(validations[key]));
171
+ }
172
+ this._isValid = false;
173
+ }
174
+ break;
175
+ }
176
+ }
177
+ }
178
+ hiddenValidateField(fieldValue, fieldName, validations) {
179
+ for (let key in validations) {
180
+ switch (key) {
181
+ case 'required':
182
+ if (!validations[key]) {
183
+ continue;
184
+ }
185
+ if (Array.isArray(fieldValue)) {
186
+ fieldValue.forEach((field, idx) => {
187
+ if ((field === '' || field === null || field === undefined) && key === 'required') {
188
+ this._isValid = false;
189
+ }
190
+ });
191
+ }
192
+ else if (Array.isArray(fieldValue) && validations.type === 'single' && fieldValue.length === 0) {
193
+ this._isValid = false;
194
+ }
195
+ else if (String(fieldValue) === '' || String(fieldValue) === 'false' || fieldValue === null || fieldValue === undefined || String(fieldValue) === '<p><br></p>') {
196
+ this._isValid = false;
197
+ }
198
+ break;
199
+ case 'email':
200
+ if (!validations[key]) {
201
+ continue;
202
+ }
203
+ if (!emailRegExp.test(fieldValue)) {
204
+ this._isValid = false;
205
+ }
206
+ break;
207
+ case 'pattern':
208
+ if (!validations[key]?.test(fieldValue)) {
209
+ this._isValid = false;
210
+ }
211
+ break;
212
+ case 'minLength':
213
+ if (String(fieldValue).length < Number(validations[key]) && !!validations['required']) {
214
+ this._isValid = false;
215
+ }
216
+ break;
217
+ case 'maxLength':
218
+ if (String(fieldValue).length > Number(validations[key])) {
219
+ this._isValid = false;
220
+ }
221
+ break;
222
+ case 'maxValue':
223
+ if (parseInt(fieldValue) > Number(validations[key]) && !!validations['required']) {
224
+ this._isValid = false;
225
+ }
226
+ break;
227
+ case 'minValue':
228
+ if (parseInt(fieldValue) < Number(validations[key])) {
229
+ this._isValid = false;
230
+ }
231
+ break;
232
+ }
233
+ }
234
+ }
235
+ initFields(fields, validations) {
236
+ this.fields = cloneDeep(fields);
237
+ this._validations = validations;
238
+ this._modelClone = cloneDeep(fields);
239
+ for (let key in validations) {
240
+ this._validations[key] = this.sortValidators(validations[key]);
241
+ this.errors[key] = null;
242
+ }
243
+ this._isInit = true;
244
+ }
245
+ initModelChanged(fields) {
246
+ if (this._isInit) {
247
+ this._isValid = true;
248
+ this._modelClone = cloneDeep(fields);
249
+ this.getNamesUpdatedProperties(this._fields, fields).forEach((name) => {
250
+ this._errors[name] = null;
251
+ this._method === 'input' && this.validateField(fields[name], name, this._validations[name]);
252
+ });
253
+ }
254
+ this.fields = cloneDeep(fields);
255
+ }
256
+ initModelChangedFromField(field, fieldName) {
257
+ if (this._isInit) {
258
+ this._isValid = true;
259
+ this._modelClone[fieldName] = field;
260
+ this.getNamesUpdatedProperties(this._fields, this._modelClone).forEach((name) => {
261
+ this._errors[name] = null;
262
+ this._method === 'input' && this.validateField(this._modelClone[name], name, this._validations[name]);
263
+ });
264
+ }
265
+ this.fields = this._modelClone;
266
+ }
267
+ isValid() {
268
+ this._isValid = true;
269
+ for (let key in this._validations) {
270
+ this.errors[key] = null;
271
+ this.validateField(this._fields[key], key, this._validations[key]);
272
+ }
273
+ return this._isValid;
274
+ }
275
+ isHiddenValid() {
276
+ this._isValid = true;
277
+ for (let key in this._validations) {
278
+ this.hiddenValidateField(this._fields[key], key, this._validations[key]);
279
+ }
280
+ return this._isValid;
281
+ }
282
+ }
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXJ4LWZvcm0tdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9zZXJ2aWNlcy9tcngtZm9ybS12YWxpZGF0b3IvbXJ4LWZvcm0tdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFtQ3RDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxvRUFBb0UsQ0FBQTtBQUUvRixNQUFNLE9BQU8sZ0JBQWdCO0lBQ25CLE9BQU8sR0FBUSxFQUFFLENBQUE7SUFDakIsWUFBWSxHQUFpQixFQUFFLENBQUE7SUFDL0IsT0FBTyxHQUFRLEVBQUUsQ0FBQTtJQUNqQixRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ2YsT0FBTyxHQUFHLEtBQUssQ0FBQTtJQUNmLFdBQVcsR0FBWSxFQUFFLENBQUE7SUFFekIsT0FBTyxHQUFHLFFBQVEsQ0FBQTtJQUNsQixnQkFBZ0IsR0FBRztRQUN6QixRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsaUNBQWlDO1FBQ2pELFNBQVMsRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsZ0NBQWdDLE1BQU0sRUFBRTtRQUN2RSxTQUFTLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLCtCQUErQixNQUFNLEVBQUU7UUFDdEUsUUFBUSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyx5QkFBeUIsS0FBSyxFQUFFO1FBQzdELFFBQVEsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsd0JBQXdCLEtBQUssRUFBRTtRQUM1RCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsNkNBQTZDO1FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQywrQkFBK0I7S0FDL0MsQ0FBQTtJQUVELFlBQVksT0FBOEI7UUFDeEMsSUFBSSxPQUFPLEVBQUUsTUFBTSxFQUFF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Q0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5cclxuZXhwb3J0IHR5cGUgT3B0aW9uTWV0aG9kVHlwZSA9ICdzdWJtaXQnIHwgJ2lucHV0J1xyXG5leHBvcnQgdHlwZSBPcHRpb25DbGVhclR5cGUgPSAnYWxsJyB8ICdzZWxlY3RlZCdcclxuZXhwb3J0IHR5cGUgVmFsaWRhdGlvbnNUeXBlcyA9ICdyZXF1aXJlZCcgfCAnbWF4TGVuZ3RoJyB8ICdtaW5MZW5ndGgnIHwgJ2VtYWlsJyB8ICdwYXR0ZXJuJyB8ICdtZXNzYWdlcycgfCAnbWF4VmFsdWUnIHwgJ21pblZhbHVlJ1xyXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uc1R5cGUgPSB7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuLFxyXG4gIHR5cGU/OiAnbXVsdGknIHwgJ3NpbmdsZScsXHJcbiAgbWF4TGVuZ3RoPzogbnVtYmVyLFxyXG4gIG1pbkxlbmd0aD86IG51bWJlcixcclxuICBtYXhWYWx1ZT86IG51bWJlcixcclxuICBtaW5WYWx1ZT86IG51bWJlcixcclxuICBlbWFpbD86IGJvb2xlYW4sXHJcbiAgcGF0dGVybj86IFJlZ0V4cCxcclxuICBtZXNzYWdlcz86IElNZXNzYWdlc1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1WYWxpZGF0b3JPcHRpb25zIHtcclxuICBtZXRob2Q/OiBPcHRpb25NZXRob2RUeXBlXHJcbiAgY2xlYXI/OiBPcHRpb25DbGVhclR5cGUsXHJcbiAgbWVzc2FnZXM/OiBhbnlcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTWVzc2FnZXMge1xyXG4gIFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVZhbGlkYXRpb25zIHtcclxuICBbbmFtZTogc3RyaW5nXTogVmFsaWRhdGlvbnNUeXBlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElGaWVsZHMge1xyXG4gIFtuYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBlbWFpbFJlZ0V4cCA9IC9eW2EtekEtWjAtOS5f0LAt0Y/QkC3Qry1dK0BbYS16QS1a0LAt0Y/QkC3QrzAtOS4tXStcXC5bYS16QS1a0LAt0Y/QkC3Qr117MiwxMH0kL1xyXG5cclxuZXhwb3J0IGNsYXNzIE1yeEZvcm1WYWxpZGF0b3Ige1xyXG4gIHByaXZhdGUgX2ZpZWxkczogYW55ID0gW11cclxuICBwcml2YXRlIF92YWxpZGF0aW9uczogSVZhbGlkYXRpb25zID0ge31cclxuICBwcml2YXRlIF9lcnJvcnM6IGFueSA9IHt9XHJcbiAgcHJpdmF0ZSBfaXNWYWxpZCA9IHRydWVcclxuICBwcml2YXRlIF9pc0luaXQgPSBmYWxzZVxyXG4gIHByaXZhdGUgX21vZGVsQ2xvbmU6IElGaWVsZHMgPSB7fVxyXG5cclxuICBwcml2YXRlIF9tZXRob2QgPSAnc3VibWl0J1xyXG4gIHByaXZhdGUgX2ludmFsaWRNZXNzYWdlcyA9IHtcclxuICAgIHJlcXVpcmVkOiAoKSA9PiAn0J/QvtC70LUg0L7QsdGP0LfQsNGC0LXQu9GM0L3QviDQtNC70Y8g0LfQsNC/0L7Qu9C90LXQvdC40Y8nLFxyXG4gICAgbWF4TGVuZ3RoOiAobGVuZ3RoOiBudW1iZXIpID0+IGDQnNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LrQvtC7LdCy0L4g0YHQuNC80LLQvtC70L7QsiAke2xlbmd0aH1gLFxyXG4gICAgbWluTGVuZ3RoOiAobGVuZ3RoOiBudW1iZXIpID0+IGDQnNC40L3QuNC80LDQu9GM0L3QvtC1INC60L7Quy3QstC+INGB0LjQvNCy0L7Qu9C+0LIgJHtsZW5ndGh9YCxcclxuICAgIG1heFZhbHVlOiAodmFsdWU6IG51bWJlcikgPT4gYNCc0LDQutGB0LjQvNCw0LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1ICR7dmFsdWV9YCxcclxuICAgIG1pblZhbHVlOiAodmFsdWU6IG51bWJlcikgPT4gYNCc0LjQvdC40LzQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSAke3ZhbHVlfWAsXHJcbiAgICBlbWFpbDogKCkgPT4gJ9Cj0LrQsNC30LDQvSDQvdC10LrQvtGA0YDQtdC60YLQvdGL0Lkg0LDQtNGA0LXRgSDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YsnLFxyXG4gICAgcGF0dGVybjogKCkgPT4gJ9Cj0LrQsNC30LDQvdC+INC90LXQutC+0YDRgNC10LrRgtC90L7QtSDQt9C90LDRh9C10L3QuNC1JyxcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBGb3JtVmFsaWRhdG9yT3B0aW9ucykge1xyXG4gICAgaWYgKG9wdGlvbnM/Lm1ldGhvZCkge1xyXG4gICAgICB0aGlzLl9tZXRob2QgPSBvcHRpb25zLm1ldGhvZFxyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb25zPy5tZXNzYWdlcykge1xyXG4gICAgICB0aGlzLl9pbnZhbGlkTWVzc2FnZXMgPSB7Li4udGhpcy5faW52YWxpZE1lc3NhZ2VzLCAuLi5vcHRpb25zLm1lc3NhZ2VzfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzb3J0VmFsaWRhdG9ycyh2YWxpZGF0aW9uczogYW55KSB7XHJcbiAgICBjb25zdCBzb3J0ZWRWYWxpZGF0b3JzQ29uc3RhbnQgPSBbJ21heFZhbHVlJywgJ21pblZhbHVlJywgJ21pbkxlbmd0aCcsICdtYXhMZW5ndGgnLCAnZW1haWwnLCAncGF0dGVybicsICdtZXNzYWdlcycsICdyZXF1aXJlZCcsICd0eXBlJ11cclxuICAgIGNvbnN0IHNvcnRlZFZhbGlkYXRvcnM6IGFueSA9IHt9XHJcblxyXG4gICAgZm9yIChsZXQga2V5IG9mIHNvcnRlZFZhbGlkYXRvcnNDb25zdGFudCkge1xyXG4gICAgICBpZiAodmFsaWRhdGlvbnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgIHNvcnRlZFZhbGlkYXRvcnNba2V5XSA9IHZhbGlkYXRpb25zW2tleV1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoa2V5ID09PSAndHlwZScpIHtcclxuICAgICAgICAgIHZhbGlkYXRpb25zLnR5cGUgPSAnbXVsdGknXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHNvcnRlZFZhbGlkYXRvcnNcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZXJyb3JzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yc1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXQgZmllbGRzKGZpZWxkczogYW55KSB7XHJcbiAgICB0aGlzLl9maWVsZHMgPSBPYmplY3QuYXNzaWduKHt9LCBmaWVsZHMpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE5hbWVzVXBkYXRlZFByb3BlcnRpZXMob2xkTW9kZWw6IGFueSwgbmV3TW9kZWw6IGFueSk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IG5hbWVzVXBkYXRlZFByb3BlcnRpZXMgPSBbXVxyXG5cclxuICAgIGZvciAobGV0IGtleSBpbiBuZXdNb2RlbCkge1xyXG4gICAgICBzd2l0Y2ggKHRydWUpIHtcclxuICAgICAgICBjYXNlIEFycmF5LmlzQXJyYXkobmV3TW9kZWxba2V5XSk6XHJcbiAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkobmV3TW9kZWxba2V5XSkgIT09IEpTT04uc3RyaW5naWZ5KG9sZE1vZGVsW2tleV0pKSB7XHJcbiAgICAgICAgICAgIG5hbWVzVXBkYXRlZFByb3BlcnRpZXMucHVzaChrZXkpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBpZiAobmV3TW9kZWxba2V5XSAhPT0gb2xkTW9kZWxba2V5XSkge1xyXG4gICAgICAgICAgICBuYW1lc1VwZGF0ZWRQcm9wZXJ0aWVzLnB1c2goa2V5KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuYW1lc1VwZGF0ZWRQcm9wZXJ0aWVzXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZhbGlkYXRlRmllbGQoZmllbGRWYWx1ZTogc3RyaW5nLCBmaWVsZE5hbWU6IHN0cmluZywgdmFsaWRhdGlvbnM6IFZhbGlkYXRpb25zVHlwZSk6IHZvaWQge1xyXG4gICAgZm9yIChsZXQga2V5IGluIHZhbGlkYXRpb25zKSB7XHJcbiAgICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgICAgY2FzZSAncmVxdWlyZWQnOlxyXG4gICAgICAgICAgaWYgKCF2YWxpZGF0aW9uc1trZXldKSB7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRWYWx1ZSkgJiYgdmFsaWRhdGlvbnMudHlwZSAhPT0gJ3NpbmdsZScpIHtcclxuICAgICAgICAgICAgZmllbGRWYWx1ZS5mb3JFYWNoKChmaWVsZCwgaWR4KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKChmaWVsZCA9PT0gJycgfHwgZmllbGQgPT09IG51bGwgfHwgZmllbGQgPT09IHVuZGVmaW5lZCkgJiYga2V5ID09PSAncmVxdWlyZWQnKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25zLm1lc3NhZ2VzPy5ba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLl9lcnJvcnNbZmllbGROYW1lXVtpZHhdID0gdmFsaWRhdGlvbnMubWVzc2FnZXNba2V5XVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5fZXJyb3JzW2ZpZWxkTmFtZV0gPSB7Li4udGhpcy5fZXJyb3JzW2ZpZWxkTmFtZV0sIFtpZHhdOiB0aGlzLl9pbnZhbGlkTWVzc2FnZXNba2V5XSgpfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuX2lzVmFsaWQgPSBmYWxzZVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShmaWVsZFZhbHVlKSAmJiB2YWxpZGF0aW9ucy50eXBlID09PSAnc2luZ2xlJyAmJiBmaWVsZFZhbHVlLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICBpZiAodmFsaWRhdGlvbnMubWVzc2FnZXM/LltrZXldKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fZXJyb3JzW2ZpZWxkTmFtZV0gPSB2YWxpZGF0aW9ucy5tZXNzYWdlc1trZXldXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fZXJyb3JzW2ZpZWxkTmFtZV0gPSB0aGlzLl9pbnZhbGlkTWVzc2FnZXNba2V5XSgpXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2lzVmFsaWQgPSBmYWxzZVxyXG4gICAgICAgICAgfSBlbHNlIGlmIChTdHJpbmcoZmllbGRWYWx1ZSkgPT09ICcnIHx8IFN0cmluZyhmaWVsZFZhbHVlKSA9PT0gJ2ZhbHNlJyB8fCBmaWVsZFZhbHVlID09PSBudWxsIHx8IGZpZWxkVmFsdWUgPT09IHVuZGVmaW5lZCB8fCBTdHJpbmcoZmllbGRWYWx1ZSkgPT09ICc8cD48YnI+PC9wPicpIHtcclxuICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25zLm1lc3NhZ2VzPy5ba2V5XSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2Vycm9yc1tmaWVsZE5hbWVdID0gdmFsaWRhdGlvbnMubWVzc2FnZXNba2V5XVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2Vycm9yc1tmaWVsZE5hbWVdID0gdGhpcy5faW52YWxpZE1lc3NhZ2VzW2tleV0oKVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9pc1ZhbGlkID0gZmFsc2VcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSAnZW1haWwnOlxyXG4gICAgICAgICAgaWYgKCF2YWxpZGF0aW9uc1trZXldKSB7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKCFlbWFpbFJlZ0V4cC50ZXN0KGZpZWxkVmFsdWUpKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9ucy5tZXNzYWdlcz8uW2tleV0pIHtcclxuICAgICAgICAgICAgICB0aGlzLl9lcnJvcnNbZmllbGROYW1lXSA9IHZhbGlkYXRpb25zLm1lc3NhZ2VzW2tleV1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl9lcnJvcnNbZmllbGROYW1lXSA9IHRoaXMuX2ludmFsaWRNZXNzYWdlc1trZXldKClcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5faXNWYWxpZCA9IGZhbHNlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgJ3BhdHRlcm4nOlxyXG4gICAgICAgICAgaWYgKCF2YWxpZGF0aW9uc1trZXldPy50ZXN0KGZpZWxkVmFsdWUpKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9ucy5tZXNzYWdlcz8uW2tleV0pIHtcclxuICAgICAgICAgICAgICB0aGlzLl9lcnJvcnNbZmllbGROYW1lXSA9IHZhbGlkYXRpb25zLm1lc3NhZ2VzW2tleV1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl9lcnJvcnNbZmllbGROYW1lXSA9IHRoaXMuX2ludmFsaWRNZXNzYWdlc1trZXldKClcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5faXNWYWxpZCA9IGZhbHNlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgJ21pbkxlbmd0aCc6XHJcbiAgICAgICAgICBpZiAoU3RyaW5nKGZpZWxkVmFsdWUpLmxlbmd0aCA8IE51bWJlcih2YWxpZGF0aW9uc1trZXldKSAmJiAhIXZhbGlkYXRpb25zWydyZXF1aXJlZCddKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9ucy5tZXNzYWdlcz8uW2tleV0pIHtcclxuICAgICAgICAgICAgICB0aGlzLl9lcnJvcnNbZmllbGROYW1lXSA9IHZhbGlkYXRpb25zLm1lc3NhZ2VzW2tleV1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl9lcnJvcnNbZmllbGROYW1lXSA9IHRoaXMuX2ludmFsaWRNZXNzYWdlc1trZXldKE51bWJlcih2YWxpZGF0aW9uc1trZXldKSlcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5faXNWYWxpZCA9IGZhbHNlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgJ21heExlbmd0aCc6XHJcbiAgICAgICAgICBpZiAoU3RyaW5nKGZpZWxkVmFsdWUpLmxlbmd0aCA+IE51bWJlcih2YWxpZGF0aW9uc1trZXldKSkge1xyXG4gICAgICAgICAgICBpZiAodmFsaWRhdGlvbnMubWVzc2FnZXM/LltrZXldKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fZXJyb3JzW2ZpZWxkTmFtZV0gPSB2YWxpZGF0aW9ucy5tZXNzYWdlc1trZXldXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fZXJyb3JzW2ZpZWxkTmFtZV0gPSB0aGlzLl9pbnZhbGlkTWVzc2FnZXNba2V5XShOdW1iZXIodmFsaWRhdGlvbnNba2V5XSkpXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2lzVmFsaWQgPSBmYWxzZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlICdtYXhWYWx1ZSc6XHJcbiAgICAgICAgICBpZiAocGFyc2VJbnQoZmllbGRWYWx1ZSkgPiBOdW1iZXIodmFsaWRhdGlvbnNba2V5XSkpIHtcclxuICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25zLm1lc3NhZ2VzPy5ba2V5XSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2Vycm9yc1tmaWVsZE5hbWVdID0gdmFsaWRhdGlvbnMubWVzc2FnZXNba2V5XVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2Vycm9yc1tmaWVsZE5hbWVdID0gdGhpcy5faW52YWxpZE1lc3NhZ2VzW2tleV0oTnVtYmVyKHZhbGlkYXRpb25zW2tleV0pKVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9pc1ZhbGlkID0gZmFsc2VcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSAnbWluVmFsdWUnOlxyXG4gICAgICAgICAgaWYgKHBhcnNlSW50KGZpZWxkVmFsdWUpIDwgTnVtYmVyKHZhbGlkYXRpb25zW2tleV0pKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9ucy5tZXNzYWdlcz8uW2tleV0pIHtcclxuICAgICAgICAgICAgICB0aGlzLl9lcnJvcnNbZmllbGROYW1lXSA9IHZhbGlkYXRpb25zLm1lc3NhZ2VzW2tleV1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl9lcnJvcnNbZmllbGROYW1lXSA9IHRoaXMuX2ludmFsaWRNZXNzYWdlc1trZXldKE51bWJlcih2YWxpZGF0aW9uc1trZXldKSlcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5faXNWYWxpZCA9IGZhbHNlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhpZGRlblZhbGlkYXRlRmllbGQoZmllbGRWYWx1ZTogc3RyaW5nLCBmaWVsZE5hbWU6IHN0cmluZywgdmFsaWRhdGlvbnM6IFZhbGlkYXRpb25zVHlwZSk6IHZvaWQge1xyXG4gICAgZm9yIChsZXQga2V5IGluIHZhbGlkYXRpb25zKSB7XHJcbiAgICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgICAgY2FzZSAncmVxdWlyZWQnOlxyXG4gICAgICAgICAgaWYgKCF2YWxpZGF0aW9uc1trZXldKSB7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZFZhbHVlKSkge1xyXG4gICAgICAgICAgICBmaWVsZFZhbHVlLmZvckVhY2goKGZpZWxkLCBpZHgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoKGZpZWxkID09PSAnJyB8fCBmaWVsZCA9PT0gbnVsbCB8fCBmaWVsZCA9PT0gdW5kZWZpbmVkKSAmJiBrZXkgPT09ICdyZXF1aXJlZCcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2lzVmFsaWQgPSBmYWxzZVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShmaWVsZFZhbHVlKSAmJiB2YWxpZGF0aW9ucy50eXBlID09PSAnc2luZ2xlJyAmJiBmaWVsZFZhbHVlLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLl9pc1ZhbGlkID0gZmFsc2VcclxuICAgICAgICAgIH0gZWxzZSBpZiAoU3RyaW5nKGZpZWxkVmFsdWUpID09PSAnJyB8fCBTdHJpbmcoZmllbGRWYWx1ZSkgPT09ICdmYWxzZScgfHwgZmllbGRWYWx1ZSA9PT0gbnVsbCB8fCBmaWVsZFZhbHVlID09PSB1bmRlZmluZWQgfHwgU3RyaW5nKGZpZWxkVmFsdWUpID09PSAnPHA+PGJyPjwvcD4nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzVmFsaWQgPSBmYWxzZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlICdlbWFpbCc6XHJcbiAgICAgICAgICBpZiAoIXZhbGlkYXRpb25zW2tleV0pIHtcclxuICAgICAgICAgICAgY29udGludWVcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoIWVtYWlsUmVnRXhwLnRlc3QoZmllbGRWYWx1ZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5faXNWYWxpZCA9IGZhbHNlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgJ3BhdHRlcm4nOlxyXG4gICAgICAgICAgaWYgKCF2YWxpZGF0aW9uc1trZXldPy50ZXN0KGZpZWxkVmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzVmFsaWQgPSBmYWxzZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlICdtaW5MZW5ndGgnOlxyXG4gICAgICAgICAgaWYgKFN0cmluZyhmaWVsZFZhbHVlKS5sZW5ndGggPCBOdW1iZXIodmFsaWRhdGlvbnNba2V5XSkgJiYgISF2YWxpZGF0aW9uc1sncmVxdWlyZWQnXSkge1xyXG4gICAgICAgICAgICB0aGlzLl9pc1ZhbGlkID0gZmFsc2VcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSAnbWF4TGVuZ3RoJzpcclxuICAgICAgICAgIGlmIChTdHJpbmcoZmllbGRWYWx1ZSkubGVuZ3RoID4gTnVtYmVyKHZhbGlkYXRpb25zW2tleV0pKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzVmFsaWQgPSBmYWxzZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlICdtYXhWYWx1ZSc6XHJcbiAgICAgICAgICBpZiAocGFyc2VJbnQoZmllbGRWYWx1ZSkgPiBOdW1iZXIodmFsaWRhdGlvbnNba2V5XSkgJiYgISF2YWxpZGF0aW9uc1sncmVxdWlyZWQnXSkge1xyXG4gICAgICAgICAgICB0aGlzLl9pc1ZhbGlkID0gZmFsc2VcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSAnbWluVmFsdWUnOlxyXG4gICAgICAgICAgaWYgKHBhcnNlSW50KGZpZWxkVmFsdWUpIDwgTnVtYmVyKHZhbGlkYXRpb25zW2tleV0pKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzVmFsaWQgPSBmYWxzZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGluaXRGaWVsZHMoZmllbGRzOiBJRmllbGRzLCB2YWxpZGF0aW9uczogSVZhbGlkYXRpb25zKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpZWxkcyA9IGNsb25lRGVlcChmaWVsZHMpXHJcbiAgICB0aGlzLl92YWxpZGF0aW9ucyA9IHZhbGlkYXRpb25zXHJcbiAgICB0aGlzLl9tb2RlbENsb25lID0gY2xvbmVEZWVwKGZpZWxkcylcclxuXHJcbiAgICBmb3IgKGxldCBrZXkgaW4gdmFsaWRhdGlvbnMpIHtcclxuICAgICAgdGhpcy5fdmFsaWRhdGlvbnNba2V5XSA9IHRoaXMuc29ydFZhbGlkYXRvcnModmFsaWRhdGlvbnNba2V5XSlcclxuICAgICAgdGhpcy5lcnJvcnNba2V5XSA9IG51bGxcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9pc0luaXQgPSB0cnVlXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5pdE1vZGVsQ2hhbmdlZChmaWVsZHM6IElGaWVsZHMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9pc0luaXQpIHtcclxuICAgICAgdGhpcy5faXNWYWxpZCA9IHRydWVcclxuICAgICAgdGhpcy5fbW9kZWxDbG9uZSA9IGNsb25lRGVlcChmaWVsZHMpXHJcblxyXG4gICAgICB0aGlzLmdldE5hbWVzVXBkYXRlZFByb3BlcnRpZXModGhpcy5fZmllbGRzLCBmaWVsZHMpLmZvckVhY2goKG5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHRoaXMuX2Vycm9yc1tuYW1lXSA9IG51bGxcclxuXHJcbiAgICAgICAgdGhpcy5fbWV0aG9kID09PSAnaW5wdXQnICYmIHRoaXMudmFsaWRhdGVGaWVsZChmaWVsZHNbbmFtZV0sIG5hbWUsIHRoaXMuX3ZhbGlkYXRpb25zW25hbWVdKVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmllbGRzID0gY2xvbmVEZWVwKGZpZWxkcylcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0TW9kZWxDaGFuZ2VkRnJvbUZpZWxkKGZpZWxkOiBhbnksIGZpZWxkTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5faXNJbml0KSB7XHJcbiAgICAgIHRoaXMuX2lzVmFsaWQgPSB0cnVlXHJcbiAgICAgIHRoaXMuX21vZGVsQ2xvbmVbZmllbGROYW1lXSA9IGZpZWxkXHJcblxyXG4gICAgICB0aGlzLmdldE5hbWVzVXBkYXRlZFByb3BlcnRpZXModGhpcy5fZmllbGRzLCB0aGlzLl9tb2RlbENsb25lKS5mb3JFYWNoKChuYW1lOiBzdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLl9lcnJvcnNbbmFtZV0gPSBudWxsXHJcblxyXG4gICAgICAgIHRoaXMuX21ldGhvZCA9PT0gJ2lucHV0JyAmJiB0aGlzLnZhbGlkYXRlRmllbGQodGhpcy5fbW9kZWxDbG9uZVtuYW1lXSwgbmFtZSwgdGhpcy5fdmFsaWRhdGlvbnNbbmFtZV0pXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWVsZHMgPSB0aGlzLl9tb2RlbENsb25lXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgIHRoaXMuX2lzVmFsaWQgPSB0cnVlXHJcblxyXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuX3ZhbGlkYXRpb25zKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JzW2tleV0gPSBudWxsXHJcbiAgICAgIHRoaXMudmFsaWRhdGVGaWVsZCh0aGlzLl9maWVsZHNba2V5XSwga2V5LCB0aGlzLl92YWxpZGF0aW9uc1trZXldKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl9pc1ZhbGlkXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNIaWRkZW5WYWxpZCgpOiBib29sZWFuIHtcclxuICAgIHRoaXMuX2lzVmFsaWQgPSB0cnVlXHJcblxyXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuX3ZhbGlkYXRpb25zKSB7XHJcbiAgICAgIHRoaXMuaGlkZGVuVmFsaWRhdGVGaWVsZCh0aGlzLl9maWVsZHNba2V5XSwga2V5LCB0aGlzLl92YWxpZGF0aW9uc1trZXldKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl9pc1ZhbGlkXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export const SAVE_STATE_MODULE_NAME = 'MrxAutoSaveModule';
1
+ export const SAVE_STATE_MODULE_NAME = 'MrxAutoSaveModule';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9zZXJ2aWNlcy9zYXZlLXN0b3JlL2NvbnN0YW50cy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU0FWRV9TVEFURV9NT0RVTEVfTkFNRSA9ICdNcnhBdXRvU2F2ZU1vZHVsZSc7XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1zdG9yZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvc2VydmljZXMvc2F2ZS1zdG9yZS9tb2RlbHMvc2F2ZS1zdG9yZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTYXZlU3RvcmVNb2RlbCB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBncm91cElkPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { StoreModule } from '@ngrx/store';
4
+ import { SAVE_STATE_MODULE_NAME } from './constants/constants';
5
+ import { mrxAutoSaveStateReducer } from './store/reducer';
6
+ import { EffectsModule } from '@ngrx/effects';
7
+ import { MrxAutoSaveEffects } from './store/effect';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ngrx/store";
10
+ import * as i2 from "@ngrx/effects";
11
+ export class SaveStoreModule {
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SaveStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: SaveStoreModule, imports: [CommonModule, i1.StoreFeatureModule, i2.EffectsFeatureModule] });
14
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SaveStoreModule, imports: [CommonModule,
15
+ StoreModule.forFeature(SAVE_STATE_MODULE_NAME, mrxAutoSaveStateReducer),
16
+ EffectsModule.forFeature([MrxAutoSaveEffects])] });
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SaveStoreModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ declarations: [],
22
+ imports: [
23
+ CommonModule,
24
+ StoreModule.forFeature(SAVE_STATE_MODULE_NAME, mrxAutoSaveStateReducer),
25
+ EffectsModule.forFeature([MrxAutoSaveEffects])
26
+ ]
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1zdG9yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL3NlcnZpY2VzL3NhdmUtc3RvcmUvc2F2ZS1zdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBVXBELE1BQU0sT0FBTyxlQUFlO3dHQUFmLGVBQWU7eUdBQWYsZUFBZSxZQUx4QixZQUFZO3lHQUtILGVBQWUsWUFMeEIsWUFBWTtZQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsdUJBQXVCLENBQUM7WUFDdkUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUM7OzRGQUdyQyxlQUFlO2tCQVIzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLHVCQUF1QixDQUFDO3dCQUN2RSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQztxQkFDL0M7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgU0FWRV9TVEFURV9NT0RVTEVfTkFNRSB9IGZyb20gJy4vY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IG1yeEF1dG9TYXZlU3RhdGVSZWR1Y2VyIH0gZnJvbSAnLi9zdG9yZS9yZWR1Y2VyJztcclxuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xyXG5pbXBvcnQgeyBNcnhBdXRvU2F2ZUVmZmVjdHMgfSBmcm9tICcuL3N0b3JlL2VmZmVjdCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShTQVZFX1NUQVRFX01PRFVMRV9OQU1FLCBtcnhBdXRvU2F2ZVN0YXRlUmVkdWNlciksXHJcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW01yeEF1dG9TYXZlRWZmZWN0c10pXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2F2ZVN0b3JlTW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,23 +1,23 @@
1
- import { createAction, props } from '@ngrx/store';
2
- export var MrxAutoSaveActionsEnum;
3
- (function (MrxAutoSaveActionsEnum) {
4
- MrxAutoSaveActionsEnum["AutosaveAddId"] = "[Mrx Auto Save] Autosave Add Id";
5
- MrxAutoSaveActionsEnum["AutosaveStart"] = "[Mrx Auto Save] Autosave Start";
6
- MrxAutoSaveActionsEnum["AutosaveStartFor"] = "[Mrx Auto Save] Autosave Start For";
7
- MrxAutoSaveActionsEnum["AutosaveStop"] = "[Mrx Auto Save] Autosave Stop";
8
- MrxAutoSaveActionsEnum["AutosaveStopFor"] = "[Mrx Auto Save] Autosave Stop For";
9
- MrxAutoSaveActionsEnum["AutosaveSuccess"] = "[Mrx Auto Save] Autosave Success";
10
- MrxAutoSaveActionsEnum["AutosaveSuccessFor"] = "[Mrx Auto Save] Autosave Success For";
11
- MrxAutoSaveActionsEnum["AutosaveError"] = "[Mrx Auto Save] Autosave Error";
12
- MrxAutoSaveActionsEnum["AutosaveErrorFor"] = "[Mrx Auto Save] Autosave Error For";
13
- })(MrxAutoSaveActionsEnum || (MrxAutoSaveActionsEnum = {}));
14
- export const autosaveAddId = createAction(MrxAutoSaveActionsEnum.AutosaveAddId, props());
15
- export const autosaveStart = createAction(MrxAutoSaveActionsEnum.AutosaveStart);
16
- export const autosaveStartFor = createAction(MrxAutoSaveActionsEnum.AutosaveStartFor, props());
17
- export const autosaveStop = createAction(MrxAutoSaveActionsEnum.AutosaveStop);
18
- export const autosaveStopFor = createAction(MrxAutoSaveActionsEnum.AutosaveStopFor, props());
19
- export const autosaveSuccess = createAction(MrxAutoSaveActionsEnum.AutosaveSuccess);
20
- export const autosaveSuccessFor = createAction(MrxAutoSaveActionsEnum.AutosaveSuccessFor, props());
21
- export const autosaveError = createAction(MrxAutoSaveActionsEnum.AutosaveError);
22
- export const autosaveErrorFor = createAction(MrxAutoSaveActionsEnum.AutosaveErrorFor, props());
1
+ import { createAction, props } from '@ngrx/store';
2
+ export var MrxAutoSaveActionsEnum;
3
+ (function (MrxAutoSaveActionsEnum) {
4
+ MrxAutoSaveActionsEnum["AutosaveAddId"] = "[Mrx Auto Save] Autosave Add Id";
5
+ MrxAutoSaveActionsEnum["AutosaveStart"] = "[Mrx Auto Save] Autosave Start";
6
+ MrxAutoSaveActionsEnum["AutosaveStartFor"] = "[Mrx Auto Save] Autosave Start For";
7
+ MrxAutoSaveActionsEnum["AutosaveStop"] = "[Mrx Auto Save] Autosave Stop";
8
+ MrxAutoSaveActionsEnum["AutosaveStopFor"] = "[Mrx Auto Save] Autosave Stop For";
9
+ MrxAutoSaveActionsEnum["AutosaveSuccess"] = "[Mrx Auto Save] Autosave Success";
10
+ MrxAutoSaveActionsEnum["AutosaveSuccessFor"] = "[Mrx Auto Save] Autosave Success For";
11
+ MrxAutoSaveActionsEnum["AutosaveError"] = "[Mrx Auto Save] Autosave Error";
12
+ MrxAutoSaveActionsEnum["AutosaveErrorFor"] = "[Mrx Auto Save] Autosave Error For";
13
+ })(MrxAutoSaveActionsEnum || (MrxAutoSaveActionsEnum = {}));
14
+ export const autosaveAddId = createAction(MrxAutoSaveActionsEnum.AutosaveAddId, props());
15
+ export const autosaveStart = createAction(MrxAutoSaveActionsEnum.AutosaveStart);
16
+ export const autosaveStartFor = createAction(MrxAutoSaveActionsEnum.AutosaveStartFor, props());
17
+ export const autosaveStop = createAction(MrxAutoSaveActionsEnum.AutosaveStop);
18
+ export const autosaveStopFor = createAction(MrxAutoSaveActionsEnum.AutosaveStopFor, props());
19
+ export const autosaveSuccess = createAction(MrxAutoSaveActionsEnum.AutosaveSuccess);
20
+ export const autosaveSuccessFor = createAction(MrxAutoSaveActionsEnum.AutosaveSuccessFor, props());
21
+ export const autosaveError = createAction(MrxAutoSaveActionsEnum.AutosaveError);
22
+ export const autosaveErrorFor = createAction(MrxAutoSaveActionsEnum.AutosaveErrorFor, props());
23
23
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvc2VydmljZXMvc2F2ZS1zdG9yZS9zdG9yZS9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sQ0FBTixJQUFZLHNCQVVYO0FBVkQsV0FBWSxzQkFBc0I7SUFDaEMsMkVBQWlELENBQUE7SUFDakQsMEVBQWdELENBQUE7SUFDaEQsaUZBQXVELENBQUE7SUFDdkQsd0VBQThDLENBQUE7SUFDOUMsK0VBQXFELENBQUE7SUFDckQsOEVBQW9ELENBQUE7SUFDcEQscUZBQTJELENBQUE7SUFDM0QsMEVBQWdELENBQUE7SUFDaEQsaUZBQXVELENBQUE7QUFDekQsQ0FBQyxFQVZXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFVakM7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUN2QyxzQkFBc0IsQ0FBQyxhQUFhLEVBQ3BDLEtBQUssRUFBa0IsQ0FDeEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQ3ZDLHNCQUFzQixDQUFDLGFBQWEsQ0FDckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FDMUMsc0JBQXNCLENBQUMsZ0JBQWdCLEVBQ3ZDLEtBQUssRUFBa0IsQ0FDeEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQ3RDLHNCQUFzQixDQUFDLFlBQVksQ0FDcEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQ3pDLHNCQUFzQixDQUFDLGVBQWUsRUFDdEMsS0FBSyxFQUFrQixDQUN4QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FDekMsc0JBQXNCLENBQUMsZUFBZSxDQUN2QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUM1QyxzQkFBc0IsQ0FBQyxrQkFBa0IsRUFDekMsS0FBSyxFQUFrQixDQUN4QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FDdkMsc0JBQXNCLENBQUMsYUFBYSxDQUNyQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUMxQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsRUFDdkMsS0FBSyxFQUFrQixDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgU2F2ZVN0b3JlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc2F2ZS1zdG9yZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgZW51bSBNcnhBdXRvU2F2ZUFjdGlvbnNFbnVtIHtcclxuICBBdXRvc2F2ZUFkZElkID0gJ1tNcnggQXV0byBTYXZlXSBBdXRvc2F2ZSBBZGQgSWQnLFxyXG4gIEF1dG9zYXZlU3RhcnQgPSAnW01yeCBBdXRvIFNhdmVdIEF1dG9zYXZlIFN0YXJ0JyxcclxuICBBdXRvc2F2ZVN0YXJ0Rm9yID0gJ1tNcnggQXV0byBTYXZlXSBBdXRvc2F2ZSBTdGFydCBGb3InLFxyXG4gIEF1dG9zYXZlU3RvcCA9ICdbTXJ4IEF1dG8gU2F2ZV0gQXV0b3NhdmUgU3RvcCcsXHJcbiAgQXV0b3NhdmVTdG9wRm9yID0gJ1tNcnggQXV0byBTYXZlXSBBdXRvc2F2ZSBTdG9wIEZvcicsXHJcbiAgQXV0b3NhdmVTdWNjZXNzID0gJ1tNcnggQXV0byBTYXZlXSBBdXRvc2F2ZSBTdWNjZXNzJyxcclxuICBBdXRvc2F2ZVN1Y2Nlc3NGb3IgPSAnW01yeCBBdXRvIFNhdmVdIEF1dG9zYXZlIFN1Y2Nlc3MgRm9yJyxcclxuICBBdXRvc2F2ZUVycm9yID0gJ1tNcnggQXV0byBTYXZlXSBBdXRvc2F2ZSBFcnJvcicsXHJcbiAgQXV0b3NhdmVFcnJvckZvciA9ICdbTXJ4IEF1dG8gU2F2ZV0gQXV0b3NhdmUgRXJyb3IgRm9yJyxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGF1dG9zYXZlQWRkSWQgPSBjcmVhdGVBY3Rpb24oXHJcbiAgTXJ4QXV0b1NhdmVBY3Rpb25zRW51bS5BdXRvc2F2ZUFkZElkLFxyXG4gIHByb3BzPFNhdmVTdG9yZU1vZGVsPigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgYXV0b3NhdmVTdGFydCA9IGNyZWF0ZUFjdGlvbihcclxuICBNcnhBdXRvU2F2ZUFjdGlvbnNFbnVtLkF1dG9zYXZlU3RhcnRcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBhdXRvc2F2ZVN0YXJ0Rm9yID0gY3JlYXRlQWN0aW9uKFxyXG4gIE1yeEF1dG9TYXZlQWN0aW9uc0VudW0uQXV0b3NhdmVTdGFydEZvcixcclxuICBwcm9wczxTYXZlU3RvcmVNb2RlbD4oKVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGF1dG9zYXZlU3RvcCA9IGNyZWF0ZUFjdGlvbihcclxuICBNcnhBdXRvU2F2ZUFjdGlvbnNFbnVtLkF1dG9zYXZlU3RvcFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGF1dG9zYXZlU3RvcEZvciA9IGNyZWF0ZUFjdGlvbihcclxuICBNcnhBdXRvU2F2ZUFjdGlvbnNFbnVtLkF1dG9zYXZlU3RvcEZvcixcclxuICBwcm9wczxTYXZlU3RvcmVNb2RlbD4oKVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGF1dG9zYXZlU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihcclxuICBNcnhBdXRvU2F2ZUFjdGlvbnNFbnVtLkF1dG9zYXZlU3VjY2Vzc1xyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGF1dG9zYXZlU3VjY2Vzc0ZvciA9IGNyZWF0ZUFjdGlvbihcclxuICBNcnhBdXRvU2F2ZUFjdGlvbnNFbnVtLkF1dG9zYXZlU3VjY2Vzc0ZvcixcclxuICBwcm9wczxTYXZlU3RvcmVNb2RlbD4oKVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGF1dG9zYXZlRXJyb3IgPSBjcmVhdGVBY3Rpb24oXHJcbiAgTXJ4QXV0b1NhdmVBY3Rpb25zRW51bS5BdXRvc2F2ZUVycm9yXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgYXV0b3NhdmVFcnJvckZvciA9IGNyZWF0ZUFjdGlvbihcclxuICBNcnhBdXRvU2F2ZUFjdGlvbnNFbnVtLkF1dG9zYXZlRXJyb3JGb3IsXHJcbiAgcHJvcHM8U2F2ZVN0b3JlTW9kZWw+KClcclxuKTtcclxuXHJcbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ngrx/effects";
4
+ import * as i2 from "@ngrx/store";
5
+ export class MrxAutoSaveEffects {
6
+ _actions$;
7
+ _store;
8
+ // autosaveSuccess$ = createEffect(
9
+ // () => this._actions$.pipe(
10
+ // ofType(MrxAutoSaveActionsEnum.AutosaveSuccess),
11
+ // switchMap(() => timer(1500)
12
+ // .pipe(
13
+ // map(() => {
14
+ // return autosaveStop()
15
+ // })
16
+ // )
17
+ // ))
18
+ // );
19
+ //
20
+ // autosaveSuccessFor$ = createEffect(
21
+ // () => this._actions$.pipe(
22
+ // ofType(MrxAutoSaveActionsEnum.AutosaveSuccessFor),
23
+ // mergeMap((action: SaveStoreModel) => timer(1500)
24
+ // .pipe(
25
+ // map(() => autosaveStopFor({ id: action.id, groupId: action.groupId }))
26
+ // )
27
+ // ))
28
+ // );
29
+ //
30
+ // autosaveError$ = createEffect(
31
+ // () => this._actions$.pipe(
32
+ // ofType(MrxAutoSaveActionsEnum.AutosaveError),
33
+ // switchMap(() => timer(1500)
34
+ // .pipe(
35
+ // map(() => autosaveStop())
36
+ // )
37
+ // )
38
+ // )
39
+ // );
40
+ //
41
+ // autosaveErrorFor$ = createEffect(
42
+ // () => this._actions$.pipe(
43
+ // ofType(MrxAutoSaveActionsEnum.AutosaveErrorFor),
44
+ // mergeMap((action: SaveStoreModel) => timer(1500)
45
+ // .pipe(
46
+ // map(() => autosaveStopFor({ id: action.id, groupId: action.groupId }))
47
+ // )
48
+ // ))
49
+ // );
50
+ constructor(_actions$, _store) {
51
+ this._actions$ = _actions$;
52
+ this._store = _store;
53
+ }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrxAutoSaveEffects, deps: [{ token: i1.Actions }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable });
55
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrxAutoSaveEffects, providedIn: 'root' });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrxAutoSaveEffects, decorators: [{
58
+ type: Injectable,
59
+ args: [{ providedIn: 'root' }]
60
+ }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.Store }] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9zZXJ2aWNlcy9zYXZlLXN0b3JlL3N0b3JlL2VmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBYzNDLE1BQU0sT0FBTyxrQkFBa0I7SUE2Q1I7SUFBNEI7SUEzQ2pELG1DQUFtQztJQUNuQywrQkFBK0I7SUFDL0Isc0RBQXNEO0lBQ3RELGtDQUFrQztJQUNsQyxlQUFlO0lBQ2Ysc0JBQXNCO0lBQ3RCLGtDQUFrQztJQUNsQyxhQUFhO0lBQ2IsVUFBVTtJQUNWLFNBQVM7SUFDVCxLQUFLO0lBQ0wsRUFBRTtJQUNGLHNDQUFzQztJQUN0QywrQkFBK0I7SUFDL0IseURBQXlEO0lBQ3pELHVEQUF1RDtJQUN2RCxlQUFlO0lBQ2YsaUZBQWlGO0lBQ2pGLFVBQVU7SUFDVixTQUFTO0lBQ1QsS0FBSztJQUNMLEVBQUU7SUFDRixpQ0FBaUM7SUFDakMsK0JBQStCO0lBQy9CLG9EQUFvRDtJQUNwRCxrQ0FBa0M7SUFDbEMsZUFBZTtJQUNmLG9DQUFvQztJQUNwQyxVQUFVO0lBQ1YsUUFBUTtJQUNSLE1BQU07SUFDTixLQUFLO0lBQ0wsRUFBRTtJQUNGLG9DQUFvQztJQUNwQywrQkFBK0I7SUFDL0IsdURBQXVEO0lBQ3ZELHVEQUF1RDtJQUN2RCxlQUFlO0lBQ2YsaUZBQWlGO0lBQ2pGLFVBQVU7SUFDVixTQUFTO0lBQ1QsS0FBSztJQUVMLFlBQXFCLFNBQWtCLEVBQVUsTUFBYTtRQUF6QyxjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBTztJQUFHLENBQUM7d0dBN0N2RCxrQkFBa0I7NEdBQWxCLGtCQUFrQixjQURMLE1BQU07OzRGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHtcclxuICBhdXRvc2F2ZVN0b3AsXHJcbiAgYXV0b3NhdmVTdG9wRm9yLFxyXG4gIE1yeEF1dG9TYXZlQWN0aW9uc0VudW0sXHJcbn0gZnJvbSAnLi9hY3Rpb25zJztcclxuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyB0aW1lciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTYXZlU3RvcmVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXZlLXN0b3JlLm1vZGVsJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgTXJ4QXV0b1NhdmVFZmZlY3RzIHtcclxuXHJcbiAgLy8gYXV0b3NhdmVTdWNjZXNzJCA9IGNyZWF0ZUVmZmVjdChcclxuICAvLyAgICgpID0+IHRoaXMuX2FjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICAgIG9mVHlwZShNcnhBdXRvU2F2ZUFjdGlvbnNFbnVtLkF1dG9zYXZlU3VjY2VzcyksXHJcbiAgLy8gICAgIHN3aXRjaE1hcCgoKSA9PiB0aW1lcigxNTAwKVxyXG4gIC8vICAgICAgIC5waXBlKFxyXG4gIC8vICAgICAgICAgbWFwKCgpID0+IHtcclxuICAvLyAgICAgICAgICAgcmV0dXJuIGF1dG9zYXZlU3RvcCgpXHJcbiAgLy8gICAgICAgICB9KVxyXG4gIC8vICAgICAgIClcclxuICAvLyAgICAgKSlcclxuICAvLyApO1xyXG4gIC8vXHJcbiAgLy8gYXV0b3NhdmVTdWNjZXNzRm9yJCA9IGNyZWF0ZUVmZmVjdChcclxuICAvLyAgICgpID0+IHRoaXMuX2FjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICAgIG9mVHlwZShNcnhBdXRvU2F2ZUFjdGlvbnNFbnVtLkF1dG9zYXZlU3VjY2Vzc0ZvciksXHJcbiAgLy8gICAgIG1lcmdlTWFwKChhY3Rpb246IFNhdmVTdG9yZU1vZGVsKSA9PiB0aW1lcigxNTAwKVxyXG4gIC8vICAgICAgIC5waXBlKFxyXG4gIC8vICAgICAgICAgbWFwKCgpID0+IGF1dG9zYXZlU3RvcEZvcih7IGlkOiBhY3Rpb24uaWQsIGdyb3VwSWQ6IGFjdGlvbi5ncm91cElkIH0pKVxyXG4gIC8vICAgICAgIClcclxuICAvLyAgICAgKSlcclxuICAvLyApO1xyXG4gIC8vXHJcbiAgLy8gYXV0b3NhdmVFcnJvciQgPSBjcmVhdGVFZmZlY3QoXHJcbiAgLy8gICAoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgICBvZlR5cGUoTXJ4QXV0b1NhdmVBY3Rpb25zRW51bS5BdXRvc2F2ZUVycm9yKSxcclxuICAvLyAgICAgc3dpdGNoTWFwKCgpID0+IHRpbWVyKDE1MDApXHJcbiAgLy8gICAgICAgLnBpcGUoXHJcbiAgLy8gICAgICAgICBtYXAoKCkgPT4gYXV0b3NhdmVTdG9wKCkpXHJcbiAgLy8gICAgICAgKVxyXG4gIC8vICAgICApXHJcbiAgLy8gICApXHJcbiAgLy8gKTtcclxuICAvL1xyXG4gIC8vIGF1dG9zYXZlRXJyb3JGb3IkID0gY3JlYXRlRWZmZWN0KFxyXG4gIC8vICAgKCkgPT4gdGhpcy5fYWN0aW9ucyQucGlwZShcclxuICAvLyAgICAgb2ZUeXBlKE1yeEF1dG9TYXZlQWN0aW9uc0VudW0uQXV0b3NhdmVFcnJvckZvciksXHJcbiAgLy8gICAgIG1lcmdlTWFwKChhY3Rpb246IFNhdmVTdG9yZU1vZGVsKSA9PiB0aW1lcigxNTAwKVxyXG4gIC8vICAgICAgIC5waXBlKFxyXG4gIC8vICAgICAgICAgbWFwKCgpID0+IGF1dG9zYXZlU3RvcEZvcih7IGlkOiBhY3Rpb24uaWQsIGdyb3VwSWQ6IGFjdGlvbi5ncm91cElkIH0pKVxyXG4gIC8vICAgICAgIClcclxuICAvLyAgICAgKSlcclxuICAvLyApO1xyXG5cclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBfYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgX3N0b3JlOiBTdG9yZSkge31cclxufVxyXG4iXX0=
@@ -0,0 +1,96 @@
1
+ import { initialMrxAutoSaveState } from './state';
2
+ import { createReducer, on } from '@ngrx/store';
3
+ import * as MrxAutoSaveActions from './actions';
4
+ import { cloneDeep } from 'lodash-es';
5
+ const reducerCreator = createReducer(initialMrxAutoSaveState, on(MrxAutoSaveActions.autosaveAddId, (state, { id, groupId = null }) => {
6
+ const isFind = state.fields.some((field) => field.id === id);
7
+ if (!isFind) {
8
+ const field = { id: id, state: 'stopped', groupId: groupId };
9
+ return { ...state, fields: [...state.fields, field] };
10
+ }
11
+ else {
12
+ return { ...state };
13
+ }
14
+ }), on(MrxAutoSaveActions.autosaveStart, (state) => {
15
+ return {
16
+ ...state, fields: state.fields.map((f) => {
17
+ f.state = 'saving';
18
+ return { ...f };
19
+ })
20
+ };
21
+ }), on(MrxAutoSaveActions.autosaveStartFor, (state, { id, groupId = null }) => {
22
+ const fields = cloneDeep(state.fields);
23
+ return {
24
+ ...state, fields: fields.map(f => {
25
+ if (groupId && f.groupId === groupId) {
26
+ f.state = 'saving';
27
+ }
28
+ else if (f.id === id) {
29
+ f.state = 'saving';
30
+ }
31
+ return f;
32
+ })
33
+ };
34
+ }), on(MrxAutoSaveActions.autosaveSuccess, (state) => {
35
+ return {
36
+ ...state, fields: [...state.fields].map(f => {
37
+ f.state = 'saved';
38
+ return { ...f };
39
+ })
40
+ };
41
+ }), on(MrxAutoSaveActions.autosaveSuccessFor, (state, { id, groupId = null }) => {
42
+ const fields = cloneDeep(state.fields);
43
+ return {
44
+ ...state, fields: fields.map(f => {
45
+ if (groupId && f.groupId === groupId) {
46
+ f.state = 'saved';
47
+ }
48
+ else if (f.id === id) {
49
+ f.state = 'saved';
50
+ }
51
+ return f;
52
+ })
53
+ };
54
+ }), on(MrxAutoSaveActions.autosaveError, (state) => {
55
+ return {
56
+ ...state, fields: state.fields.map((f) => {
57
+ f.state = 'error';
58
+ return { ...f };
59
+ })
60
+ };
61
+ }),
62
+ // on(MrxAutoSaveActions.autosaveError, (state) => {
63
+ // return { ...state, fields: [...state.fields].map(f => ({ ...f, state: 'error' })) };
64
+ // }),
65
+ on(MrxAutoSaveActions.autosaveErrorFor, (state, { id, groupId = null }) => {
66
+ const fields = cloneDeep(state.fields);
67
+ return {
68
+ ...state, fields: fields.map(f => {
69
+ if (groupId && f.groupId === groupId) {
70
+ f.state = 'error';
71
+ }
72
+ else if (f.id === id) {
73
+ f.state = 'error';
74
+ }
75
+ return f;
76
+ })
77
+ };
78
+ }), on(MrxAutoSaveActions.autosaveStop, (state) => {
79
+ return { ...state, fields: [] };
80
+ }), on(MrxAutoSaveActions.autosaveStopFor, (state, { id, groupId = null }) => {
81
+ return {
82
+ ...state,
83
+ fields: state.fields.filter((f) => {
84
+ if (groupId) {
85
+ return f.groupId !== groupId;
86
+ }
87
+ else {
88
+ return f.id !== id;
89
+ }
90
+ })
91
+ };
92
+ }));
93
+ export function mrxAutoSaveStateReducer(state, action) {
94
+ return reducerCreator(state, action);
95
+ }
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvc2VydmljZXMvc2F2ZS1zdG9yZS9zdG9yZS9yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBUyx1QkFBdUIsRUFBK0IsTUFBTSxTQUFTLENBQUM7QUFDdEYsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxLQUFLLGtCQUFrQixNQUFNLFdBQVcsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRDLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FDbEMsdUJBQXVCLEVBQ3ZCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBQyxFQUFFLEVBQUUsT0FBTyxHQUFHLElBQUksRUFBQyxFQUFFLEVBQUU7SUFDbkUsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFFN0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxLQUFLLEdBQVUsRUFBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDO1FBQ2xFLE9BQU8sRUFBQyxHQUFHLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUMsQ0FBQztJQUN0RCxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sRUFBQyxHQUFHLEtBQUssRUFBQyxDQUFDO0lBQ3BCLENBQUM7QUFDSCxDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDN0MsT0FBTztRQUNMLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQVEsRUFBRSxFQUFFO1lBQzlDLENBQUMsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1lBQ25CLE9BQU8sRUFBQyxHQUFHLENBQUMsRUFBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBQyxFQUFFLEVBQUUsT0FBTyxHQUFHLElBQUksRUFBQyxFQUFFLEVBQUU7SUFDdEUsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxPQUFPO1FBQ0wsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDckMsQ0FBQyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7WUFDckIsQ0FBQztpQkFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1lBQ3JCLENBQUM7WUFDRCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDL0MsT0FBTztRQUNMLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQTtZQUNqQixPQUFPLEVBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQztRQUNoQixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUMsRUFBRSxFQUFFLE9BQU8sR0FBRyxJQUFJLEVBQUMsRUFBRSxFQUFFO0lBQ3hFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsT0FBTztRQUNMLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9CLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1lBQ3BCLENBQUM7aUJBQU0sSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUN2QixDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztZQUNwQixDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzdDLE9BQU87UUFDTCxHQUFHLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFRLEVBQUUsRUFBRTtZQUM5QyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztZQUNsQixPQUFPLEVBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQztRQUNoQixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0Ysb0RBQW9EO0FBQ3BELHlGQUF5RjtBQUN6RixNQUFNO0FBQ04sRUFBRSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUMsRUFBRSxFQUFFLE9BQU8sR0FBRyxJQUFJLEVBQUMsRUFBRSxFQUFFO0lBQ3RFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsT0FBTztRQUNMLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9CLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1lBQ3BCLENBQUM7aUJBQU0sSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUN2QixDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztZQUNwQixDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzVDLE9BQU8sRUFBQyxHQUFHLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFDLEVBQUUsRUFBRSxPQUFPLEdBQUcsSUFBSSxFQUFDLEVBQUUsRUFBRTtJQUNyRSxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3JCLENBQUM7UUFDSCxDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztBQUVGLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFtQyxFQUFFLE1BQWM7SUFDekYsT0FBTyxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZCwgaW5pdGlhbE1yeEF1dG9TYXZlU3RhdGUsIE1yeEF1dG9TYXZlU3RhdGUsIFN0YXRlVHlwZSB9IGZyb20gJy4vc3RhdGUnO1xyXG5pbXBvcnQgeyBBY3Rpb24sIGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgKiBhcyBNcnhBdXRvU2F2ZUFjdGlvbnMgZnJvbSAnLi9hY3Rpb25zJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuXHJcbmNvbnN0IHJlZHVjZXJDcmVhdG9yID0gY3JlYXRlUmVkdWNlcihcclxuICBpbml0aWFsTXJ4QXV0b1NhdmVTdGF0ZSxcclxuICBvbihNcnhBdXRvU2F2ZUFjdGlvbnMuYXV0b3NhdmVBZGRJZCwgKHN0YXRlLCB7aWQsIGdyb3VwSWQgPSBudWxsfSkgPT4ge1xyXG4gICAgY29uc3QgaXNGaW5kID0gc3RhdGUuZmllbGRzLnNvbWUoKGZpZWxkKSA9PiBmaWVsZC5pZCA9PT0gaWQpO1xyXG5cclxuICAgIGlmICghaXNGaW5kKSB7XHJcbiAgICAgIGNvbnN0IGZpZWxkOiBGaWVsZCA9IHtpZDogaWQsIHN0YXRlOiAnc3RvcHBlZCcsIGdyb3VwSWQ6IGdyb3VwSWR9O1xyXG4gICAgICByZXR1cm4gey4uLnN0YXRlLCBmaWVsZHM6IFsuLi5zdGF0ZS5maWVsZHMsIGZpZWxkXX07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gey4uLnN0YXRlfTtcclxuICAgIH1cclxuICB9KSxcclxuICBvbihNcnhBdXRvU2F2ZUFjdGlvbnMuYXV0b3NhdmVTdGFydCwgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5zdGF0ZSwgZmllbGRzOiBzdGF0ZS5maWVsZHMubWFwKChmOiBGaWVsZCkgPT4ge1xyXG4gICAgICAgIGYuc3RhdGUgPSAnc2F2aW5nJztcclxuICAgICAgICByZXR1cm4gey4uLmZ9O1xyXG4gICAgICB9KVxyXG4gICAgfTtcclxuICB9KSxcclxuICBvbihNcnhBdXRvU2F2ZUFjdGlvbnMuYXV0b3NhdmVTdGFydEZvciwgKHN0YXRlLCB7aWQsIGdyb3VwSWQgPSBudWxsfSkgPT4ge1xyXG4gICAgY29uc3QgZmllbGRzID0gY2xvbmVEZWVwKHN0YXRlLmZpZWxkcyk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5zdGF0ZSwgZmllbGRzOiBmaWVsZHMubWFwKGYgPT4ge1xyXG4gICAgICAgIGlmIChncm91cElkICYmIGYuZ3JvdXBJZCA9PT0gZ3JvdXBJZCkge1xyXG4gICAgICAgICAgZi5zdGF0ZSA9ICdzYXZpbmcnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZi5pZCA9PT0gaWQpIHtcclxuICAgICAgICAgIGYuc3RhdGUgPSAnc2F2aW5nJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGY7XHJcbiAgICAgIH0pXHJcbiAgICB9O1xyXG4gIH0pLFxyXG4gIG9uKE1yeEF1dG9TYXZlQWN0aW9ucy5hdXRvc2F2ZVN1Y2Nlc3MsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4uc3RhdGUsIGZpZWxkczogWy4uLnN0YXRlLmZpZWxkc10ubWFwKGYgPT4ge1xyXG4gICAgICAgIGYuc3RhdGUgPSAnc2F2ZWQnXHJcbiAgICAgICAgcmV0dXJuIHsuLi5mfTtcclxuICAgICAgfSlcclxuICAgIH07XHJcbiAgfSksXHJcbiAgb24oTXJ4QXV0b1NhdmVBY3Rpb25zLmF1dG9zYXZlU3VjY2Vzc0ZvciwgKHN0YXRlLCB7aWQsIGdyb3VwSWQgPSBudWxsfSkgPT4ge1xyXG4gICAgY29uc3QgZmllbGRzID0gY2xvbmVEZWVwKHN0YXRlLmZpZWxkcyk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5zdGF0ZSwgZmllbGRzOiBmaWVsZHMubWFwKGYgPT4ge1xyXG4gICAgICAgIGlmIChncm91cElkICYmIGYuZ3JvdXBJZCA9PT0gZ3JvdXBJZCkge1xyXG4gICAgICAgICAgZi5zdGF0ZSA9ICdzYXZlZCc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmLmlkID09PSBpZCkge1xyXG4gICAgICAgICAgZi5zdGF0ZSA9ICdzYXZlZCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmO1xyXG4gICAgICB9KVxyXG4gICAgfTtcclxuICB9KSxcclxuICBvbihNcnhBdXRvU2F2ZUFjdGlvbnMuYXV0b3NhdmVFcnJvciwgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5zdGF0ZSwgZmllbGRzOiBzdGF0ZS5maWVsZHMubWFwKChmOiBGaWVsZCkgPT4ge1xyXG4gICAgICAgIGYuc3RhdGUgPSAnZXJyb3InO1xyXG4gICAgICAgIHJldHVybiB7Li4uZn07XHJcbiAgICAgIH0pXHJcbiAgICB9O1xyXG4gIH0pLFxyXG4gIC8vIG9uKE1yeEF1dG9TYXZlQWN0aW9ucy5hdXRvc2F2ZUVycm9yLCAoc3RhdGUpID0+IHtcclxuICAvLyAgIHJldHVybiB7IC4uLnN0YXRlLCBmaWVsZHM6IFsuLi5zdGF0ZS5maWVsZHNdLm1hcChmID0+ICh7IC4uLmYsIHN0YXRlOiAnZXJyb3InIH0pKSB9O1xyXG4gIC8vIH0pLFxyXG4gIG9uKE1yeEF1dG9TYXZlQWN0aW9ucy5hdXRvc2F2ZUVycm9yRm9yLCAoc3RhdGUsIHtpZCwgZ3JvdXBJZCA9IG51bGx9KSA9PiB7XHJcbiAgICBjb25zdCBmaWVsZHMgPSBjbG9uZURlZXAoc3RhdGUuZmllbGRzKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLnN0YXRlLCBmaWVsZHM6IGZpZWxkcy5tYXAoZiA9PiB7XHJcbiAgICAgICAgaWYgKGdyb3VwSWQgJiYgZi5ncm91cElkID09PSBncm91cElkKSB7XHJcbiAgICAgICAgICBmLnN0YXRlID0gJ2Vycm9yJztcclxuICAgICAgICB9IGVsc2UgaWYgKGYuaWQgPT09IGlkKSB7XHJcbiAgICAgICAgICBmLnN0YXRlID0gJ2Vycm9yJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGY7XHJcbiAgICAgIH0pXHJcbiAgICB9O1xyXG4gIH0pLFxyXG4gIG9uKE1yeEF1dG9TYXZlQWN0aW9ucy5hdXRvc2F2ZVN0b3AsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgZmllbGRzOiBbXX07XHJcbiAgfSksXHJcbiAgb24oTXJ4QXV0b1NhdmVBY3Rpb25zLmF1dG9zYXZlU3RvcEZvciwgKHN0YXRlLCB7aWQsIGdyb3VwSWQgPSBudWxsfSkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4uc3RhdGUsXHJcbiAgICAgIGZpZWxkczogc3RhdGUuZmllbGRzLmZpbHRlcigoZikgPT4ge1xyXG4gICAgICAgIGlmIChncm91cElkKSB7XHJcbiAgICAgICAgICByZXR1cm4gZi5ncm91cElkICE9PSBncm91cElkO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gZi5pZCAhPT0gaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfTtcclxuICB9KSxcclxuKTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtcnhBdXRvU2F2ZVN0YXRlUmVkdWNlcihzdGF0ZTogTXJ4QXV0b1NhdmVTdGF0ZSB8IHVuZGVmaW5lZCwgYWN0aW9uOiBBY3Rpb24pIHtcclxuICByZXR1cm4gcmVkdWNlckNyZWF0b3Ioc3RhdGUsIGFjdGlvbik7XHJcbn1cclxuIl19
@@ -1,5 +1,5 @@
1
- import { createFeatureSelector, createSelector } from '@ngrx/store';
2
- import { SAVE_STATE_MODULE_NAME } from '../constants/constants';
3
- export const selectMrxAutoSaveState = createFeatureSelector(SAVE_STATE_MODULE_NAME);
4
- export const selectFields = createSelector(selectMrxAutoSaveState, (state) => state.fields);
1
+ import { createFeatureSelector, createSelector } from '@ngrx/store';
2
+ import { SAVE_STATE_MODULE_NAME } from '../constants/constants';
3
+ export const selectMrxAutoSaveState = createFeatureSelector(SAVE_STATE_MODULE_NAME);
4
+ export const selectFields = createSelector(selectMrxAutoSaveState, (state) => state.fields);
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9zZXJ2aWNlcy9zYXZlLXN0b3JlL3N0b3JlL3NlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR2hFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLHFCQUFxQixDQUFtQixzQkFBc0IsQ0FBQyxDQUFDO0FBRXRHLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQ3hDLHNCQUFzQixFQUN0QixDQUFDLEtBQXVCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBTQVZFX1NUQVRFX01PRFVMRV9OQU1FIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IE1yeEF1dG9TYXZlU3RhdGUgfSBmcm9tICcuL3N0YXRlJztcclxuXHJcbmV4cG9ydCBjb25zdCBzZWxlY3RNcnhBdXRvU2F2ZVN0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPE1yeEF1dG9TYXZlU3RhdGU+KFNBVkVfU1RBVEVfTU9EVUxFX05BTUUpO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNlbGVjdEZpZWxkcyA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIHNlbGVjdE1yeEF1dG9TYXZlU3RhdGUsXHJcbiAgKHN0YXRlOiBNcnhBdXRvU2F2ZVN0YXRlKSA9PiBzdGF0ZS5maWVsZHNcclxuKTtcclxuIl19