myrta-ui 14.0.0-beta.1 → 17.0.0-beta.2

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 (702) hide show
  1. package/README.md +2 -0
  2. package/esm2022/lib/components/alert/alert.component.mjs +43 -0
  3. package/{esm2020 → esm2022}/lib/components/alert/alert.enum.mjs +14 -14
  4. package/{esm2020 → esm2022}/lib/components/alert/alert.module.mjs +19 -19
  5. package/{esm2020 → esm2022}/lib/components/badges/badge.enum.mjs +31 -31
  6. package/{esm2020 → esm2022}/lib/components/badges/badges.module.mjs +30 -30
  7. package/esm2022/lib/components/badges/components/badge/badge.component.mjs +61 -0
  8. package/{esm2020 → esm2022}/lib/components/badges/components/badge-group/badge-group.component.mjs +11 -11
  9. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +28 -0
  10. package/{esm2020 → esm2022}/lib/components/breadcrumbs/breadcrumbs.enum.mjs +5 -5
  11. package/{esm2020 → esm2022}/lib/components/breadcrumbs/breadcrumbs.module.mjs +25 -25
  12. package/esm2022/lib/components/button/button.component.mjs +100 -0
  13. package/esm2022/lib/components/button/button.enum.mjs +27 -0
  14. package/{esm2020 → esm2022}/lib/components/button/button.module.mjs +21 -21
  15. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +29 -0
  16. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +99 -0
  17. package/{esm2020 → esm2022}/lib/components/cdk-tooltip/cdk-tooltip.module.mjs +21 -21
  18. package/{esm2020 → esm2022}/lib/components/cdk-tooltip/constants/index.mjs +69 -69
  19. package/{esm2020 → esm2022}/lib/components/cdk-tooltip/models/tooltip-data.mjs +1 -1
  20. package/esm2022/lib/components/chars-left/chars-left.component.mjs +24 -0
  21. package/{esm2020 → esm2022}/lib/components/chars-left/chars-left.module.mjs +19 -19
  22. package/esm2022/lib/components/dropdown/directives/hide-after-click.directive.mjs +24 -0
  23. package/esm2022/lib/components/dropdown/dropdown.component.mjs +107 -0
  24. package/{esm2020 → esm2022}/lib/components/dropdown/dropdown.module.mjs +21 -21
  25. package/esm2022/lib/components/error-message/error-message.component.mjs +32 -0
  26. package/{esm2020 → esm2022}/lib/components/error-message/error-message.module.mjs +19 -19
  27. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +153 -0
  28. package/{esm2020 → esm2022}/lib/components/form/checkbox/checkbox.enum.mjs +4 -4
  29. package/{esm2020 → esm2022}/lib/components/form/checkbox/checkbox.module.mjs +22 -22
  30. package/esm2022/lib/components/form/checkbox-group/checkbox-group.component.mjs +178 -0
  31. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/checkbox-group.module.mjs +47 -47
  32. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +48 -49
  33. package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +106 -0
  34. package/esm2022/lib/components/form/checkbox-group/helpers/change-group-value.mjs +20 -0
  35. package/esm2022/lib/components/form/checkbox-group/helpers/change-item-value.mjs +15 -0
  36. package/esm2022/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +27 -0
  37. package/esm2022/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +20 -0
  38. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/helpers/get-item-by-id.mjs +10 -10
  39. package/esm2022/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +50 -0
  40. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/models/checkbox-group.model.mjs +1 -1
  41. package/esm2022/lib/components/form/editor/config/default-inline-style.mjs +6 -0
  42. package/{esm2020 → esm2022}/lib/components/form/editor/config/index.mjs +1 -1
  43. package/{esm2020 → esm2022}/lib/components/form/editor/config/popups-toolbar.mjs +8 -8
  44. package/{esm2020 → esm2022}/lib/components/form/editor/config/toolbar.mjs +71 -71
  45. package/esm2022/lib/components/form/editor/editor.component.mjs +261 -0
  46. package/esm2022/lib/components/form/editor/editor.module.mjs +45 -0
  47. package/{esm2020 → esm2022}/lib/components/form/editor/models/toolbar.model.mjs +1 -1
  48. package/esm2022/lib/components/form/editor/modules/change-icon-module.mjs +92 -0
  49. package/{esm2020 → esm2022}/lib/components/form/input-date-time/constants/value-models.mjs +13 -13
  50. package/{esm2020 → esm2022}/lib/components/form/input-date-time/enum/timezone.mjs +6 -6
  51. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/clean-date.mjs +4 -4
  52. package/esm2022/lib/components/form/input-date-time/helpers/cursor-position.mjs +23 -0
  53. package/esm2022/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +10 -0
  54. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.mjs +9 -9
  55. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/validate-value-models.mjs +60 -60
  56. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/value-parser.mjs +38 -38
  57. package/esm2022/lib/components/form/input-date-time/input-date-time.component.mjs +386 -0
  58. package/{esm2020 → esm2022}/lib/components/form/input-date-time/input-date-time.enum.mjs +6 -6
  59. package/esm2022/lib/components/form/input-date-time/input-date-time.module.mjs +46 -0
  60. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/constants/value-models.mjs +14 -14
  61. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/clean-date.mjs +4 -4
  62. package/esm2022/lib/components/form/input-datepicker/helpers/cursor-position.mjs +23 -0
  63. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +10 -0
  64. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-object.mjs +10 -0
  65. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/validate-value-models.mjs +74 -74
  66. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/value-parser.mjs +47 -47
  67. package/esm2022/lib/components/form/input-datepicker/input-datepicker.component.mjs +356 -0
  68. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/input-datepicker.enum.mjs +6 -6
  69. package/esm2022/lib/components/form/input-datepicker/input-datepicker.module.mjs +46 -0
  70. package/{esm2020 → esm2022}/lib/components/form/input-file/enums/error-messages.enum.mjs +7 -7
  71. package/esm2022/lib/components/form/input-file/input-file.component.mjs +370 -0
  72. package/{esm2020 → esm2022}/lib/components/form/input-file/input-file.enum.mjs +7 -7
  73. package/{esm2020 → esm2022}/lib/components/form/input-file/input-file.module.mjs +26 -26
  74. package/esm2022/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +88 -0
  75. package/esm2022/lib/components/form/input-file-image/input-file-image.component.mjs +364 -0
  76. package/{esm2020 → esm2022}/lib/components/form/input-file-image/input-file-image.enum.mjs +9 -9
  77. package/esm2022/lib/components/form/input-file-image/input-file-image.module.mjs +51 -0
  78. package/esm2022/lib/components/form/input-number/input-number.component.mjs +267 -0
  79. package/{esm2020 → esm2022}/lib/components/form/input-number/input-number.enum.mjs +6 -6
  80. package/esm2022/lib/components/form/input-number/input-number.module.mjs +55 -0
  81. package/esm2022/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +370 -0
  82. package/{esm2020 → esm2022}/lib/components/form/input-opt/components/input-opt/input-opt.enum.mjs +7 -7
  83. package/esm2022/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +43 -0
  84. package/{esm2020 → esm2022}/lib/components/form/input-opt/input-opt.module.mjs +38 -38
  85. package/{esm2020 → esm2022}/lib/components/form/input-opt/models/input-opt.model.mjs +5 -5
  86. package/{esm2020 → esm2022}/lib/components/form/input-opt/services/input-opt.service.mjs +33 -33
  87. package/esm2022/lib/components/form/input-password/input-password.component.mjs +118 -0
  88. package/{esm2020 → esm2022}/lib/components/form/input-password/input-password.enum.mjs +6 -6
  89. package/{esm2020 → esm2022}/lib/components/form/input-password/input-password.module.mjs +36 -36
  90. package/esm2022/lib/components/form/input-phone/data/country-code.mjs +1331 -0
  91. package/esm2022/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +35 -0
  92. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/country-iso.enum.mjs +246 -246
  93. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/input-phone.enum.mjs +6 -6
  94. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/mask.enum.mjs +138 -138
  95. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/phone-number-format.enum.mjs +5 -5
  96. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/search-country-field.enum.mjs +7 -7
  97. package/esm2022/lib/components/form/input-phone/input-phone.component.mjs +679 -0
  98. package/esm2022/lib/components/form/input-phone/input-phone.module.mjs +50 -0
  99. package/esm2022/lib/components/form/input-phone/input-phone.validator.mjs +61 -0
  100. package/{esm2020 → esm2022}/lib/components/form/input-phone/interfaces/change-data.mjs +1 -1
  101. package/{esm2020 → esm2022}/lib/components/form/input-phone/models/country.model.mjs +1 -1
  102. package/esm2022/lib/components/form/input-search/input-search.component.mjs +167 -0
  103. package/{esm2020 → esm2022}/lib/components/form/input-search/input-search.enum.mjs +6 -6
  104. package/esm2022/lib/components/form/input-search/input-search.module.mjs +41 -0
  105. package/esm2022/lib/components/form/input-select/input-select.component.mjs +253 -0
  106. package/{esm2020 → esm2022}/lib/components/form/input-select/input-select.enum.mjs +5 -5
  107. package/{esm2020 → esm2022}/lib/components/form/input-select/input-select.module.mjs +45 -45
  108. package/esm2022/lib/components/form/input-tel/assets/base64.mjs +4 -0
  109. package/esm2022/lib/components/form/input-tel/data/all-countries.mjs +1323 -0
  110. package/esm2022/lib/components/form/input-tel/data/country-iso.enum.mjs +247 -0
  111. package/esm2022/lib/components/form/input-tel/data/phone-number-format.enum.mjs +6 -0
  112. package/esm2022/lib/components/form/input-tel/data/search-country-field.enum.mjs +8 -0
  113. package/esm2022/lib/components/form/input-tel/directives/input-tel.directive.mjs +66 -0
  114. package/esm2022/lib/components/form/input-tel/enums/input-phone.enum.mjs +7 -0
  115. package/esm2022/lib/components/form/input-tel/input-tel.component.mjs +400 -0
  116. package/esm2022/lib/components/form/input-tel/input-tel.module.mjs +43 -0
  117. package/esm2022/lib/components/form/input-tel/models/country.model.mjs +2 -0
  118. package/esm2022/lib/components/form/input-text/input-text.component.mjs +189 -0
  119. package/{esm2020 → esm2022}/lib/components/form/input-text/input-text.enum.mjs +14 -14
  120. package/esm2022/lib/components/form/input-text/input-text.module.mjs +49 -0
  121. package/esm2022/lib/components/form/input-textarea/input-textarea.component.mjs +197 -0
  122. package/{esm2020 → esm2022}/lib/components/form/input-textarea/input-textarea.enum.mjs +6 -6
  123. package/esm2022/lib/components/form/input-textarea/input-textarea.module.mjs +49 -0
  124. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/constants/value-models.mjs +7 -7
  125. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/clean-date.mjs +4 -4
  126. package/esm2022/lib/components/form/input-timepicker/helpers/cursor-position.mjs +14 -0
  127. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.mjs +4 -4
  128. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-object.mjs +4 -4
  129. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/validate-value-models.mjs +29 -29
  130. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/value-parser.mjs +17 -17
  131. package/esm2022/lib/components/form/input-timepicker/input-timepicker.component.mjs +292 -0
  132. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/input-timepicker.enum.mjs +6 -6
  133. package/esm2022/lib/components/form/input-timepicker/input-timepicker.module.mjs +46 -0
  134. package/esm2022/lib/components/form/radio/radio.component.mjs +91 -0
  135. package/{esm2020 → esm2022}/lib/components/form/radio/radio.enum.mjs +4 -4
  136. package/{esm2020 → esm2022}/lib/components/form/radio/radio.module.mjs +20 -20
  137. package/esm2022/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +45 -0
  138. package/esm2022/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +66 -0
  139. package/esm2022/lib/components/form/radio-group/helpers/filter-search-group.mjs +27 -0
  140. package/esm2022/lib/components/form/radio-group/helpers/get-item-by-id.mjs +11 -0
  141. package/esm2022/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +27 -0
  142. package/esm2022/lib/components/form/radio-group/models/radio-group.model.mjs +2 -0
  143. package/esm2022/lib/components/form/radio-group/radio-group.component.mjs +175 -0
  144. package/esm2022/lib/components/form/radio-group/radio-group.module.mjs +26 -0
  145. package/esm2022/lib/components/form/rating/rating.component.mjs +215 -0
  146. package/{esm2020 → esm2022}/lib/components/form/rating/rating.enum.mjs +15 -15
  147. package/{esm2020 → esm2022}/lib/components/form/rating/rating.module.mjs +25 -25
  148. package/esm2022/lib/components/form/switch/switch.component.mjs +95 -0
  149. package/{esm2020 → esm2022}/lib/components/form/switch/switch.enum.mjs +10 -10
  150. package/{esm2020 → esm2022}/lib/components/form/switch/switch.module.mjs +21 -21
  151. package/esm2022/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +39 -0
  152. package/esm2022/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +112 -0
  153. package/{esm2020 → esm2022}/lib/components/gallery/constants/custom-buttons-default.mjs +6 -6
  154. package/{esm2020 → esm2022}/lib/components/gallery/constants/thumbs-config-default.mjs +4 -4
  155. package/esm2022/lib/components/gallery/gallery.component.mjs +203 -0
  156. package/{esm2020 → esm2022}/lib/components/gallery/gallery.module.mjs +54 -54
  157. package/{esm2020 → esm2022}/lib/components/gallery/models/gallery-item.model.mjs +1 -1
  158. package/esm2022/lib/components/gallery/services/gallery.service.mjs +33 -0
  159. package/esm2022/lib/components/hint-error-message/hint-error-message.component.mjs +121 -0
  160. package/{esm2020 → esm2022}/lib/components/hint-error-message/hint-error-message.module.mjs +19 -19
  161. package/esm2022/lib/components/icon-button/icon-button.component.mjs +49 -0
  162. package/{esm2020 → esm2022}/lib/components/icon-button/icon-button.enum.mjs +15 -15
  163. package/{esm2020 → esm2022}/lib/components/icon-button/icon-button.module.mjs +19 -19
  164. package/esm2022/lib/components/label/label.component.mjs +143 -0
  165. package/{esm2020 → esm2022}/lib/components/label/label.module.mjs +25 -25
  166. package/esm2022/lib/components/link/link.component.mjs +48 -0
  167. package/{esm2020 → esm2022}/lib/components/link/link.enum.mjs +19 -19
  168. package/{esm2020 → esm2022}/lib/components/link/link.module.mjs +19 -19
  169. package/esm2022/lib/components/loader/loader.component.mjs +24 -0
  170. package/{esm2020 → esm2022}/lib/components/loader/loader.enum.mjs +19 -19
  171. package/{esm2020 → esm2022}/lib/components/loader/loader.module.mjs +19 -19
  172. package/esm2022/lib/components/modal/modal.component.mjs +137 -0
  173. package/{esm2020 → esm2022}/lib/components/modal/modal.emun.mjs +20 -20
  174. package/{esm2020 → esm2022}/lib/components/modal/modal.module.mjs +20 -20
  175. package/esm2022/lib/components/pages-nav/pages-nav.component.mjs +31 -0
  176. package/{esm2020 → esm2022}/lib/components/pages-nav/pages-nav.enum.mjs +5 -5
  177. package/{esm2020 → esm2022}/lib/components/pages-nav/pages-nav.module.mjs +24 -24
  178. package/esm2022/lib/components/paginator/paginator.component.mjs +140 -0
  179. package/{esm2020 → esm2022}/lib/components/paginator/paginator.enum.mjs +5 -5
  180. package/{esm2020 → esm2022}/lib/components/paginator/paginator.module.mjs +31 -31
  181. package/esm2022/lib/components/progress/progress.component.mjs +24 -0
  182. package/{esm2020 → esm2022}/lib/components/progress/progress.enum.mjs +7 -7
  183. package/{esm2020 → esm2022}/lib/components/progress/progress.module.mjs +19 -19
  184. package/esm2022/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +16 -0
  185. package/esm2022/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +16 -0
  186. package/esm2022/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +16 -0
  187. package/esm2022/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +16 -0
  188. package/esm2022/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +16 -0
  189. package/esm2022/lib/components/save-state/save-state.component.mjs +40 -0
  190. package/{esm2020 → esm2022}/lib/components/save-state/save-state.enum.mjs +1 -1
  191. package/{esm2020 → esm2022}/lib/components/save-state/save-state.module.mjs +37 -37
  192. package/esm2022/lib/components/stepper/stepper.component.mjs +52 -0
  193. package/{esm2020 → esm2022}/lib/components/stepper/stepper.enum.mjs +5 -5
  194. package/{esm2020 → esm2022}/lib/components/stepper/stepper.module.mjs +20 -20
  195. package/esm2022/lib/components/table/components/column/column.component.mjs +40 -0
  196. package/{esm2020 → esm2022}/lib/components/table/default/default-pager-settings.mjs +6 -6
  197. package/{esm2020 → esm2022}/lib/components/table/models/data-state-change.event.mjs +1 -1
  198. package/{esm2020 → esm2022}/lib/components/table/models/index.mjs +3 -3
  199. package/{esm2020 → esm2022}/lib/components/table/models/pager-settings.mjs +1 -1
  200. package/esm2022/lib/components/table/table.component.mjs +281 -0
  201. package/{esm2020 → esm2022}/lib/components/table/table.enum.mjs +7 -7
  202. package/{esm2020 → esm2022}/lib/components/table/table.module.mjs +50 -50
  203. package/esm2022/lib/components/tabs/tab/tab.component.mjs +33 -0
  204. package/esm2022/lib/components/tabs/tabs-group/tabs-group.component.mjs +27 -0
  205. package/{esm2020 → esm2022}/lib/components/tabs/tabs.enum.mjs +13 -13
  206. package/{esm2020 → esm2022}/lib/components/tabs/tabs.module.mjs +20 -20
  207. package/esm2022/lib/components/tooltip/services/tooltip.service.mjs +65 -0
  208. package/esm2022/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +36 -0
  209. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.mjs +10 -10
  210. package/esm2022/lib/components/tooltip/tooltip.component.mjs +59 -0
  211. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip.enum.mjs +5 -5
  212. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip.module.mjs +21 -21
  213. package/{esm2020 → esm2022}/lib/components/truncate-text/directives/truncate-text.directive.mjs +149 -139
  214. package/esm2022/lib/components/truncate-text/truncate-text.component.mjs +30 -0
  215. package/{esm2020 → esm2022}/lib/components/truncate-text/truncate-text.enum.mjs +1 -1
  216. package/{esm2020 → esm2022}/lib/components/truncate-text/truncate-text.module.mjs +21 -21
  217. package/esm2022/lib/components/warning-message/warning-message.component.mjs +29 -0
  218. package/{esm2020 → esm2022}/lib/components/warning-message/warning-message.module.mjs +19 -19
  219. package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +25 -0
  220. package/{esm2020 → esm2022}/lib/components/wrappers/content-wrapper/content-wrapper.enum.mjs +5 -5
  221. package/{esm2020 → esm2022}/lib/components/wrappers/content-wrapper/content-wrapper.module.mjs +19 -19
  222. package/esm2022/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +15 -0
  223. package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +23 -0
  224. package/{esm2020 → esm2022}/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.mjs +6 -6
  225. package/{esm2020 → esm2022}/lib/components/wrappers/controls-wrapper/controls-wrapper.module.mjs +20 -20
  226. package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +99 -0
  227. package/{esm2020 → esm2022}/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.mjs +16 -16
  228. package/{esm2020 → esm2022}/lib/components/wrappers/widget-wrapper/widget-wrapper.module.mjs +24 -24
  229. package/esm2022/lib/directives/autosize/autosize.directive.mjs +57 -0
  230. package/{esm2020 → esm2022}/lib/directives/autosize/autosize.module.mjs +24 -24
  231. package/esm2022/lib/directives/truncate/truncate.directive.mjs +34 -0
  232. package/{esm2020 → esm2022}/lib/directives/truncate/truncate.module.mjs +18 -18
  233. package/{esm2020 → esm2022}/lib/enums/typed.input.state.mjs +7 -7
  234. package/esm2022/lib/helpers/extension/input-file.extension.mjs +39 -0
  235. package/esm2022/lib/helpers/formatting-date.mjs +51 -0
  236. package/{esm2020 → esm2022}/lib/helpers/formatting-dates-from-array.mjs +18 -18
  237. package/{esm2020 → esm2022}/lib/helpers/formatting-iso-to-string.mjs +12 -12
  238. package/{esm2020 → esm2022}/lib/helpers/index.mjs +7 -7
  239. package/{esm2020 → esm2022}/lib/helpers/number-format.mjs +8 -8
  240. package/esm2022/lib/helpers/string-hash-code.mjs +17 -0
  241. package/{esm2020 → esm2022}/lib/helpers/word-form.mjs +10 -10
  242. package/{esm2020 → esm2022}/lib/models/index.mjs +2 -2
  243. package/{esm2020 → esm2022}/lib/models/input-file/input-file.model.mjs +1 -1
  244. package/{esm2020 → esm2022}/lib/models/typed-input-model.mjs +1 -1
  245. package/{esm2020 → esm2022}/lib/pipes/currency/currency.module.mjs +20 -20
  246. package/esm2022/lib/pipes/currency/currency.pipe.mjs +22 -0
  247. package/{esm2020 → esm2022}/lib/pipes/date/date-format.module.mjs +19 -19
  248. package/esm2022/lib/pipes/date/date-format.pipe.mjs +21 -0
  249. package/esm2022/lib/pipes/date/date-time-format.pipe.mjs +21 -0
  250. package/{esm2020 → esm2022}/lib/pipes/date/enums/timezone.mjs +9 -9
  251. package/{esm2020 → esm2022}/lib/pipes/date/helpers/change-timezone.mjs +22 -22
  252. package/{esm2020 → esm2022}/lib/pipes/phone/phone-format.module.mjs +18 -18
  253. package/esm2022/lib/pipes/phone/phone-format.pipe.mjs +23 -0
  254. package/{esm2020 → esm2022}/lib/pipes/safe/safe.module.mjs +20 -20
  255. package/esm2022/lib/pipes/safe/safe.pipe.mjs +21 -0
  256. package/{esm2020 → esm2022}/lib/pipes/truncate/truncate.module.mjs +20 -20
  257. package/esm2022/lib/pipes/truncate/truncate.pipe.mjs +23 -0
  258. package/esm2022/lib/services/file-upload/file-upload.service.mjs +27 -0
  259. package/{esm2020 → esm2022}/lib/services/index.mjs +6 -6
  260. package/esm2022/lib/services/modal-service/components/alert-modal/alert-modal.component.mjs +46 -0
  261. package/esm2022/lib/services/modal-service/components/confirm-modal/confirm-modal.component.mjs +50 -0
  262. package/esm2022/lib/services/modal-service/helpers/modal-default-config.mjs +14 -0
  263. package/esm2022/lib/services/modal-service/helpers/modal-ref.mjs +29 -0
  264. package/esm2022/lib/services/modal-service/helpers/modal-tokens.mjs +4 -0
  265. package/esm2022/lib/services/modal-service/helpers/modal.component.mjs +5 -0
  266. package/esm2022/lib/services/modal-service/modal-service.service.mjs +84 -0
  267. package/esm2022/lib/services/modal-service/models/modal-config.model.mjs +2 -0
  268. package/esm2022/lib/services/mrx-autosave/mrx-autosave.service.mjs +43 -0
  269. package/esm2022/lib/services/mrx-form-validator/mrx-form-validator.mjs +283 -0
  270. package/{esm2020 → esm2022}/lib/services/save-store/constants/constants.mjs +1 -1
  271. package/{esm2020 → esm2022}/lib/services/save-store/models/save-store.model.mjs +1 -1
  272. package/{esm2020 → esm2022}/lib/services/save-store/save-store.module.mjs +29 -29
  273. package/{esm2020 → esm2022}/lib/services/save-store/store/actions.mjs +22 -22
  274. package/esm2022/lib/services/save-store/store/effect.mjs +61 -0
  275. package/esm2022/lib/services/save-store/store/reducer.mjs +96 -0
  276. package/{esm2020 → esm2022}/lib/services/save-store/store/selectors.mjs +4 -4
  277. package/{esm2020 → esm2022}/lib/services/save-store/store/state.mjs +3 -3
  278. package/{esm2020 → esm2022}/myrta-ui.mjs +4 -4
  279. package/esm2022/public-api.mjs +176 -0
  280. package/fesm2022/myrta-ui.mjs +15458 -0
  281. package/fesm2022/myrta-ui.mjs.map +1 -0
  282. package/index.d.ts +5 -5
  283. package/lib/components/alert/alert.component.d.ts +17 -17
  284. package/lib/components/alert/alert.enum.d.ts +13 -13
  285. package/lib/components/alert/alert.module.d.ts +8 -8
  286. package/lib/components/badges/badge.enum.d.ts +38 -38
  287. package/lib/components/badges/badges.module.d.ts +9 -9
  288. package/lib/components/badges/components/badge/badge.component.d.ts +21 -21
  289. package/lib/components/badges/components/badge-group/badge-group.component.d.ts +5 -5
  290. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +11 -11
  291. package/lib/components/breadcrumbs/breadcrumbs.enum.d.ts +11 -11
  292. package/lib/components/breadcrumbs/breadcrumbs.module.d.ts +8 -8
  293. package/lib/components/button/button.component.d.ts +31 -31
  294. package/lib/components/button/button.enum.d.ts +27 -29
  295. package/lib/components/button/button.module.d.ts +10 -10
  296. package/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.d.ts +13 -13
  297. package/lib/components/cdk-tooltip/cdk-tooltip.directive.d.ts +24 -24
  298. package/lib/components/cdk-tooltip/cdk-tooltip.module.d.ts +10 -10
  299. package/lib/components/cdk-tooltip/constants/index.d.ts +7 -7
  300. package/lib/components/cdk-tooltip/models/tooltip-data.d.ts +6 -6
  301. package/lib/components/chars-left/chars-left.component.d.ts +9 -9
  302. package/lib/components/chars-left/chars-left.module.d.ts +8 -8
  303. package/lib/components/dropdown/directives/hide-after-click.directive.d.ts +9 -9
  304. package/lib/components/dropdown/dropdown.component.d.ts +26 -26
  305. package/lib/components/dropdown/dropdown.module.d.ts +10 -10
  306. package/lib/components/error-message/error-message.component.d.ts +10 -9
  307. package/lib/components/error-message/error-message.module.d.ts +8 -8
  308. package/lib/components/form/checkbox/checkbox.component.d.ts +48 -48
  309. package/lib/components/form/checkbox/checkbox.enum.d.ts +14 -14
  310. package/lib/components/form/checkbox/checkbox.module.d.ts +11 -11
  311. package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +54 -54
  312. package/lib/components/form/checkbox-group/checkbox-group.module.d.ts +16 -16
  313. package/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.d.ts +19 -19
  314. package/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.d.ts +26 -26
  315. package/lib/components/form/checkbox-group/helpers/change-group-value.d.ts +3 -3
  316. package/lib/components/form/checkbox-group/helpers/change-item-value.d.ts +3 -3
  317. package/lib/components/form/checkbox-group/helpers/filter-search-group.d.ts +2 -2
  318. package/lib/components/form/checkbox-group/helpers/get-checked-items.d.ts +2 -2
  319. package/lib/components/form/checkbox-group/helpers/get-item-by-id.d.ts +2 -2
  320. package/lib/components/form/checkbox-group/helpers/get-sorted-list.d.ts +2 -2
  321. package/lib/components/form/checkbox-group/models/checkbox-group.model.d.ts +15 -15
  322. package/lib/components/form/editor/config/default-inline-style.d.ts +11 -0
  323. package/lib/components/form/editor/config/index.d.ts +1 -1
  324. package/lib/components/form/editor/config/popups-toolbar.d.ts +15 -15
  325. package/lib/components/form/editor/config/toolbar.d.ts +2 -2
  326. package/lib/components/form/editor/editor.component.d.ts +63 -48
  327. package/lib/components/form/editor/editor.module.d.ts +14 -14
  328. package/lib/components/form/editor/models/toolbar.model.d.ts +6 -6
  329. package/lib/components/form/editor/modules/change-icon-module.d.ts +1 -1
  330. package/lib/components/form/input-date-time/constants/value-models.d.ts +3 -3
  331. package/lib/components/form/input-date-time/enum/timezone.d.ts +6 -6
  332. package/lib/components/form/input-date-time/helpers/clean-date.d.ts +1 -1
  333. package/lib/components/form/input-date-time/helpers/cursor-position.d.ts +1 -1
  334. package/lib/components/form/input-date-time/helpers/formatting-from-models.d.ts +3 -3
  335. package/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.d.ts +2 -2
  336. package/lib/components/form/input-date-time/helpers/validate-value-models.d.ts +19 -19
  337. package/lib/components/form/input-date-time/helpers/value-parser.d.ts +4 -4
  338. package/lib/components/form/input-date-time/input-date-time.component.d.ts +72 -72
  339. package/lib/components/form/input-date-time/input-date-time.enum.d.ts +21 -21
  340. package/lib/components/form/input-date-time/input-date-time.module.d.ts +13 -13
  341. package/lib/components/form/input-datepicker/constants/value-models.d.ts +3 -3
  342. package/lib/components/form/input-datepicker/helpers/clean-date.d.ts +1 -1
  343. package/lib/components/form/input-datepicker/helpers/cursor-position.d.ts +1 -1
  344. package/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.d.ts +3 -3
  345. package/lib/components/form/input-datepicker/helpers/get-date-object.d.ts +2 -2
  346. package/lib/components/form/input-datepicker/helpers/validate-value-models.d.ts +20 -20
  347. package/lib/components/form/input-datepicker/helpers/value-parser.d.ts +3 -3
  348. package/lib/components/form/input-datepicker/input-datepicker.component.d.ts +69 -69
  349. package/lib/components/form/input-datepicker/input-datepicker.enum.d.ts +12 -12
  350. package/lib/components/form/input-datepicker/input-datepicker.module.d.ts +13 -13
  351. package/lib/components/form/input-file/enums/error-messages.enum.d.ts +6 -6
  352. package/lib/components/form/input-file/input-file.component.d.ts +72 -72
  353. package/lib/components/form/input-file/input-file.enum.d.ts +7 -7
  354. package/lib/components/form/input-file/input-file.module.d.ts +13 -13
  355. package/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.d.ts +42 -33
  356. package/lib/components/form/input-file-image/input-file-image.component.d.ts +62 -59
  357. package/lib/components/form/input-file-image/input-file-image.enum.d.ts +8 -8
  358. package/lib/components/form/input-file-image/input-file-image.module.d.ts +15 -16
  359. package/lib/components/form/input-number/input-number.component.d.ts +64 -61
  360. package/lib/components/form/input-number/input-number.enum.d.ts +12 -12
  361. package/lib/components/form/input-number/input-number.module.d.ts +13 -13
  362. package/lib/components/form/input-opt/components/input-opt/input-opt.component.d.ts +77 -77
  363. package/lib/components/form/input-opt/components/input-opt/input-opt.enum.d.ts +7 -7
  364. package/lib/components/form/input-opt/directives/opt-pattern.directive.d.ts +8 -8
  365. package/lib/components/form/input-opt/input-opt.module.d.ts +11 -11
  366. package/lib/components/form/input-opt/models/input-opt.model.d.ts +26 -26
  367. package/lib/components/form/input-opt/services/input-opt.service.d.ts +11 -11
  368. package/lib/components/form/input-password/input-password.component.d.ts +38 -38
  369. package/lib/components/form/input-password/input-password.enum.d.ts +7 -7
  370. package/lib/components/form/input-password/input-password.module.d.ts +11 -11
  371. package/lib/components/form/input-phone/data/country-code.d.ts +6 -6
  372. package/lib/components/form/input-phone/directives/native-element-injector.directive.d.ts +11 -11
  373. package/lib/components/form/input-phone/enums/country-iso.enum.d.ts +245 -245
  374. package/lib/components/form/input-phone/enums/input-phone.enum.d.ts +11 -11
  375. package/lib/components/form/input-phone/enums/mask.enum.d.ts +8 -8
  376. package/lib/components/form/input-phone/enums/phone-number-format.enum.d.ts +4 -4
  377. package/lib/components/form/input-phone/enums/search-country-field.enum.d.ts +6 -6
  378. package/lib/components/form/input-phone/input-phone.component.d.ts +132 -132
  379. package/lib/components/form/input-phone/input-phone.module.d.ts +14 -14
  380. package/lib/components/form/input-phone/input-phone.validator.d.ts +5 -5
  381. package/lib/components/form/input-phone/interfaces/change-data.d.ts +9 -9
  382. package/lib/components/form/input-phone/models/country.model.d.ts +13 -13
  383. package/lib/components/form/input-search/input-search.component.d.ts +48 -48
  384. package/lib/components/form/input-search/input-search.enum.d.ts +6 -6
  385. package/lib/components/form/input-search/input-search.module.d.ts +12 -12
  386. package/lib/components/form/input-select/input-select.component.d.ts +84 -84
  387. package/lib/components/form/input-select/input-select.enum.d.ts +10 -10
  388. package/lib/components/form/input-select/input-select.module.d.ts +14 -14
  389. package/lib/components/form/input-tel/assets/base64.d.ts +3 -0
  390. package/lib/components/form/input-tel/data/all-countries.d.ts +1 -0
  391. package/lib/components/form/input-tel/data/country-iso.enum.d.ts +245 -0
  392. package/lib/components/form/input-tel/data/phone-number-format.enum.d.ts +5 -0
  393. package/lib/components/form/input-tel/data/search-country-field.enum.d.ts +6 -0
  394. package/lib/components/form/input-tel/directives/input-tel.directive.d.ts +21 -0
  395. package/lib/components/form/input-tel/enums/input-phone.enum.d.ts +11 -0
  396. package/lib/components/form/input-tel/input-tel.component.d.ts +89 -0
  397. package/lib/components/form/input-tel/input-tel.module.d.ts +13 -0
  398. package/lib/components/form/input-tel/models/country.model.d.ts +18 -0
  399. package/lib/components/form/input-text/input-text.component.d.ts +54 -54
  400. package/lib/components/form/input-text/input-text.enum.d.ts +19 -19
  401. package/lib/components/form/input-text/input-text.module.d.ts +14 -14
  402. package/lib/components/form/input-textarea/input-textarea.component.d.ts +54 -52
  403. package/lib/components/form/input-textarea/input-textarea.enum.d.ts +11 -11
  404. package/lib/components/form/input-textarea/input-textarea.module.d.ts +14 -14
  405. package/lib/components/form/input-timepicker/constants/value-models.d.ts +2 -2
  406. package/lib/components/form/input-timepicker/helpers/clean-date.d.ts +1 -1
  407. package/lib/components/form/input-timepicker/helpers/cursor-position.d.ts +1 -1
  408. package/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.d.ts +3 -3
  409. package/lib/components/form/input-timepicker/helpers/get-date-object.d.ts +2 -2
  410. package/lib/components/form/input-timepicker/helpers/validate-value-models.d.ts +10 -10
  411. package/lib/components/form/input-timepicker/helpers/value-parser.d.ts +2 -2
  412. package/lib/components/form/input-timepicker/input-timepicker.component.d.ts +60 -60
  413. package/lib/components/form/input-timepicker/input-timepicker.enum.d.ts +11 -11
  414. package/lib/components/form/input-timepicker/input-timepicker.module.d.ts +13 -13
  415. package/lib/components/form/radio/radio.component.d.ts +29 -29
  416. package/lib/components/form/radio/radio.enum.d.ts +4 -4
  417. package/lib/components/form/radio/radio.module.d.ts +9 -9
  418. package/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.d.ts +18 -0
  419. package/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.d.ts +26 -0
  420. package/lib/components/form/radio-group/helpers/filter-search-group.d.ts +2 -0
  421. package/lib/components/form/radio-group/helpers/get-item-by-id.d.ts +2 -0
  422. package/lib/components/form/radio-group/helpers/move-selected-to-first.d.ts +2 -0
  423. package/lib/components/form/radio-group/models/radio-group.model.d.ts +8 -0
  424. package/lib/components/form/radio-group/radio-group.component.d.ts +57 -0
  425. package/lib/components/form/radio-group/radio-group.module.d.ts +15 -0
  426. package/lib/components/form/rating/rating.component.d.ts +51 -51
  427. package/lib/components/form/rating/rating.enum.d.ts +27 -27
  428. package/lib/components/form/rating/rating.module.d.ts +9 -9
  429. package/lib/components/form/switch/switch.component.d.ts +32 -32
  430. package/lib/components/form/switch/switch.enum.d.ts +15 -15
  431. package/lib/components/form/switch/switch.module.d.ts +10 -10
  432. package/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.d.ts +21 -17
  433. package/lib/components/gallery/components/gallery-item/gallery-item.component.d.ts +38 -38
  434. package/lib/components/gallery/constants/custom-buttons-default.d.ts +3 -3
  435. package/lib/components/gallery/constants/thumbs-config-default.d.ts +2 -2
  436. package/lib/components/gallery/gallery.component.d.ts +38 -38
  437. package/lib/components/gallery/gallery.module.d.ts +16 -16
  438. package/lib/components/gallery/models/gallery-item.model.d.ts +24 -24
  439. package/lib/components/gallery/services/gallery.service.d.ts +14 -14
  440. package/lib/components/hint-error-message/hint-error-message.component.d.ts +21 -21
  441. package/lib/components/hint-error-message/hint-error-message.module.d.ts +8 -8
  442. package/lib/components/icon-button/icon-button.component.d.ts +19 -19
  443. package/lib/components/icon-button/icon-button.enum.d.ts +15 -15
  444. package/lib/components/icon-button/icon-button.module.d.ts +9 -9
  445. package/lib/components/label/label.component.d.ts +44 -44
  446. package/lib/components/label/label.module.d.ts +14 -14
  447. package/lib/components/link/link.component.d.ts +18 -18
  448. package/lib/components/link/link.enum.d.ts +19 -19
  449. package/lib/components/link/link.module.d.ts +8 -8
  450. package/lib/components/loader/loader.component.d.ts +10 -10
  451. package/lib/components/loader/loader.enum.d.ts +19 -19
  452. package/lib/components/loader/loader.module.d.ts +8 -8
  453. package/lib/components/modal/modal.component.d.ts +36 -36
  454. package/lib/components/modal/modal.emun.d.ts +20 -20
  455. package/lib/components/modal/modal.module.d.ts +9 -9
  456. package/lib/components/pages-nav/pages-nav.component.d.ts +12 -12
  457. package/lib/components/pages-nav/pages-nav.enum.d.ts +5 -5
  458. package/lib/components/pages-nav/pages-nav.module.d.ts +8 -8
  459. package/lib/components/paginator/paginator.component.d.ts +29 -29
  460. package/lib/components/paginator/paginator.enum.d.ts +10 -10
  461. package/lib/components/paginator/paginator.module.d.ts +10 -10
  462. package/lib/components/progress/progress.component.d.ts +10 -10
  463. package/lib/components/progress/progress.enum.d.ts +7 -7
  464. package/lib/components/progress/progress.module.d.ts +8 -8
  465. package/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.d.ts +8 -8
  466. package/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.d.ts +8 -8
  467. package/lib/components/save-state/components/save-state-editor/save-state-editor.component.d.ts +8 -8
  468. package/lib/components/save-state/components/save-state-input/save-state-input.component.d.ts +8 -8
  469. package/lib/components/save-state/components/save-state-switch/save-state-switch.component.d.ts +8 -8
  470. package/lib/components/save-state/save-state.component.d.ts +13 -13
  471. package/lib/components/save-state/save-state.enum.d.ts +1 -1
  472. package/lib/components/save-state/save-state.module.d.ts +13 -13
  473. package/lib/components/stepper/stepper.component.d.ts +17 -17
  474. package/lib/components/stepper/stepper.enum.d.ts +5 -5
  475. package/lib/components/stepper/stepper.module.d.ts +9 -9
  476. package/lib/components/table/components/column/column.component.d.ts +14 -14
  477. package/lib/components/table/default/default-pager-settings.d.ts +2 -2
  478. package/lib/components/table/models/data-state-change.event.d.ts +15 -15
  479. package/lib/components/table/models/index.d.ts +3 -3
  480. package/lib/components/table/models/pager-settings.d.ts +22 -22
  481. package/lib/components/table/table.component.d.ts +55 -55
  482. package/lib/components/table/table.enum.d.ts +32 -32
  483. package/lib/components/table/table.module.d.ts +14 -14
  484. package/lib/components/tabs/tab/tab.component.d.ts +13 -13
  485. package/lib/components/tabs/tabs-group/tabs-group.component.d.ts +11 -11
  486. package/lib/components/tabs/tabs.enum.d.ts +11 -11
  487. package/lib/components/tabs/tabs.module.d.ts +9 -9
  488. package/lib/components/tooltip/services/tooltip.service.d.ts +18 -18
  489. package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.d.ts +15 -16
  490. package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.d.ts +10 -10
  491. package/lib/components/tooltip/tooltip.component.d.ts +18 -18
  492. package/lib/components/tooltip/tooltip.enum.d.ts +4 -4
  493. package/lib/components/tooltip/tooltip.module.d.ts +10 -10
  494. package/lib/components/truncate-text/directives/truncate-text.directive.d.ts +37 -37
  495. package/lib/components/truncate-text/truncate-text.component.d.ts +12 -12
  496. package/lib/components/truncate-text/truncate-text.enum.d.ts +2 -2
  497. package/lib/components/truncate-text/truncate-text.module.d.ts +10 -10
  498. package/lib/components/warning-message/warning-message.component.d.ts +9 -9
  499. package/lib/components/warning-message/warning-message.module.d.ts +8 -8
  500. package/lib/components/wrappers/content-wrapper/content-wrapper.component.d.ts +10 -10
  501. package/lib/components/wrappers/content-wrapper/content-wrapper.enum.d.ts +5 -5
  502. package/lib/components/wrappers/content-wrapper/content-wrapper.module.d.ts +8 -8
  503. package/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.d.ts +6 -6
  504. package/lib/components/wrappers/controls-wrapper/controls-wrapper.component.d.ts +10 -10
  505. package/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.d.ts +6 -6
  506. package/lib/components/wrappers/controls-wrapper/controls-wrapper.module.d.ts +9 -9
  507. package/lib/components/wrappers/widget-wrapper/widget-wrapper.component.d.ts +26 -26
  508. package/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.d.ts +15 -15
  509. package/lib/components/wrappers/widget-wrapper/widget-wrapper.module.d.ts +8 -8
  510. package/lib/directives/autosize/autosize.directive.d.ts +16 -16
  511. package/lib/directives/autosize/autosize.module.d.ts +8 -8
  512. package/lib/directives/truncate/truncate.directive.d.ts +12 -12
  513. package/lib/directives/truncate/truncate.module.d.ts +8 -8
  514. package/lib/enums/typed.input.state.d.ts +6 -6
  515. package/lib/helpers/extension/input-file.extension.d.ts +4 -4
  516. package/lib/helpers/formatting-date.d.ts +9 -9
  517. package/lib/helpers/formatting-dates-from-array.d.ts +2 -2
  518. package/lib/helpers/formatting-iso-to-string.d.ts +2 -2
  519. package/lib/helpers/index.d.ts +7 -7
  520. package/lib/helpers/number-format.d.ts +6 -6
  521. package/lib/helpers/string-hash-code.d.ts +2 -2
  522. package/lib/helpers/word-form.d.ts +7 -7
  523. package/lib/models/index.d.ts +2 -2
  524. package/lib/models/input-file/input-file.model.d.ts +22 -22
  525. package/lib/models/typed-input-model.d.ts +16 -16
  526. package/lib/pipes/currency/currency.module.d.ts +8 -8
  527. package/lib/pipes/currency/currency.pipe.d.ts +7 -7
  528. package/lib/pipes/date/date-format.module.d.ts +9 -9
  529. package/lib/pipes/date/date-format.pipe.d.ts +9 -9
  530. package/lib/pipes/date/date-time-format.pipe.d.ts +9 -9
  531. package/lib/pipes/date/enums/timezone.d.ts +8 -8
  532. package/lib/pipes/date/helpers/change-timezone.d.ts +2 -2
  533. package/lib/pipes/phone/phone-format.module.d.ts +8 -8
  534. package/lib/pipes/phone/phone-format.pipe.d.ts +8 -8
  535. package/lib/pipes/safe/safe.module.d.ts +8 -8
  536. package/lib/pipes/safe/safe.pipe.d.ts +10 -10
  537. package/lib/pipes/truncate/truncate.module.d.ts +8 -8
  538. package/lib/pipes/truncate/truncate.pipe.d.ts +7 -7
  539. package/lib/services/file-upload/file-upload.service.d.ts +12 -12
  540. package/lib/services/index.d.ts +6 -6
  541. package/lib/services/modal-service/components/alert-modal/alert-modal.component.d.ts +20 -0
  542. package/lib/services/modal-service/components/confirm-modal/confirm-modal.component.d.ts +21 -0
  543. package/lib/services/modal-service/helpers/modal-default-config.d.ts +3 -0
  544. package/lib/services/modal-service/helpers/modal-ref.d.ts +11 -0
  545. package/lib/services/modal-service/helpers/modal-tokens.d.ts +3 -0
  546. package/lib/services/modal-service/helpers/modal.component.d.ts +4 -0
  547. package/lib/services/modal-service/modal-service.service.d.ts +20 -0
  548. package/lib/services/modal-service/models/modal-config.model.d.ts +14 -0
  549. package/lib/services/mrx-autosave/mrx-autosave.service.d.ts +19 -19
  550. package/lib/services/mrx-form-validator/mrx-form-validator.d.ts +51 -51
  551. package/lib/services/save-store/constants/constants.d.ts +1 -1
  552. package/lib/services/save-store/models/save-store.model.d.ts +4 -4
  553. package/lib/services/save-store/save-store.module.d.ts +9 -9
  554. package/lib/services/save-store/store/actions.d.ts +21 -21
  555. package/lib/services/save-store/store/effect.d.ts +10 -16
  556. package/lib/services/save-store/store/reducer.d.ts +3 -3
  557. package/lib/services/save-store/store/selectors.d.ts +3 -3
  558. package/lib/services/save-store/store/state.d.ts +11 -11
  559. package/package.json +29 -37
  560. package/public-api.d.ts +162 -171
  561. package/esm2020/lib/components/alert/alert.component.mjs +0 -45
  562. package/esm2020/lib/components/badges/components/badge/badge.component.mjs +0 -61
  563. package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +0 -29
  564. package/esm2020/lib/components/button/button.component.mjs +0 -102
  565. package/esm2020/lib/components/button/button.enum.mjs +0 -29
  566. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +0 -28
  567. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +0 -95
  568. package/esm2020/lib/components/chars-left/chars-left.component.mjs +0 -26
  569. package/esm2020/lib/components/context-menu/components/context-menu/context-menu.component.mjs +0 -99
  570. package/esm2020/lib/components/context-menu/components/context-menu-content/context-menu-content.component.mjs +0 -324
  571. package/esm2020/lib/components/context-menu/context-menu.module.mjs +0 -51
  572. package/esm2020/lib/components/context-menu/context-menu.options.mjs +0 -2
  573. package/esm2020/lib/components/context-menu/context-menu.tokens.mjs +0 -3
  574. package/esm2020/lib/components/context-menu/directives/context-menu/context-menu.directive.mjs +0 -36
  575. package/esm2020/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.mjs +0 -61
  576. package/esm2020/lib/components/context-menu/models/context-menu.enum.mjs +0 -2
  577. package/esm2020/lib/components/context-menu/services/context-menu/context-menu-fixed.service.mjs +0 -103
  578. package/esm2020/lib/components/context-menu/services/context-menu/context-menu.service.mjs +0 -223
  579. package/esm2020/lib/components/dropdown/directives/hide-after-click.directive.mjs +0 -23
  580. package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -104
  581. package/esm2020/lib/components/error-message/error-message.component.mjs +0 -31
  582. package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +0 -150
  583. package/esm2020/lib/components/form/checkbox-group/checkbox-group.component.mjs +0 -178
  584. package/esm2020/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +0 -103
  585. package/esm2020/lib/components/form/checkbox-group/helpers/change-group-value.mjs +0 -20
  586. package/esm2020/lib/components/form/checkbox-group/helpers/change-item-value.mjs +0 -15
  587. package/esm2020/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +0 -27
  588. package/esm2020/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +0 -20
  589. package/esm2020/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +0 -50
  590. package/esm2020/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.mjs +0 -33
  591. package/esm2020/lib/components/form/document-editor/document-editor.component.mjs +0 -105
  592. package/esm2020/lib/components/form/document-editor/document-editor.module.mjs +0 -42
  593. package/esm2020/lib/components/form/document-editor/helpers/transform-sysname.mjs +0 -41
  594. package/esm2020/lib/components/form/document-editor/models/document-editor-short-codes.enum.mjs +0 -2
  595. package/esm2020/lib/components/form/editor/editor.component.mjs +0 -232
  596. package/esm2020/lib/components/form/editor/editor.module.mjs +0 -45
  597. package/esm2020/lib/components/form/editor/modules/change-icon-module.mjs +0 -92
  598. package/esm2020/lib/components/form/input-date-time/helpers/cursor-position.mjs +0 -23
  599. package/esm2020/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +0 -10
  600. package/esm2020/lib/components/form/input-date-time/input-date-time.component.mjs +0 -381
  601. package/esm2020/lib/components/form/input-date-time/input-date-time.module.mjs +0 -46
  602. package/esm2020/lib/components/form/input-datepicker/helpers/cursor-position.mjs +0 -23
  603. package/esm2020/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +0 -10
  604. package/esm2020/lib/components/form/input-datepicker/helpers/get-date-object.mjs +0 -10
  605. package/esm2020/lib/components/form/input-datepicker/input-datepicker.component.mjs +0 -354
  606. package/esm2020/lib/components/form/input-datepicker/input-datepicker.module.mjs +0 -46
  607. package/esm2020/lib/components/form/input-file/input-file.component.mjs +0 -362
  608. package/esm2020/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +0 -66
  609. package/esm2020/lib/components/form/input-file-image/input-file-image.component.mjs +0 -339
  610. package/esm2020/lib/components/form/input-file-image/input-file-image.module.mjs +0 -58
  611. package/esm2020/lib/components/form/input-number/input-number.component.mjs +0 -238
  612. package/esm2020/lib/components/form/input-number/input-number.module.mjs +0 -55
  613. package/esm2020/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +0 -363
  614. package/esm2020/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +0 -44
  615. package/esm2020/lib/components/form/input-password/input-password.component.mjs +0 -119
  616. package/esm2020/lib/components/form/input-phone/data/country-code.mjs +0 -1333
  617. package/esm2020/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +0 -33
  618. package/esm2020/lib/components/form/input-phone/input-phone.component.mjs +0 -671
  619. package/esm2020/lib/components/form/input-phone/input-phone.module.mjs +0 -50
  620. package/esm2020/lib/components/form/input-phone/input-phone.validator.mjs +0 -61
  621. package/esm2020/lib/components/form/input-search/input-search.component.mjs +0 -166
  622. package/esm2020/lib/components/form/input-search/input-search.module.mjs +0 -41
  623. package/esm2020/lib/components/form/input-select/input-select.component.mjs +0 -243
  624. package/esm2020/lib/components/form/input-text/input-text.component.mjs +0 -188
  625. package/esm2020/lib/components/form/input-text/input-text.module.mjs +0 -49
  626. package/esm2020/lib/components/form/input-textarea/input-textarea.component.mjs +0 -169
  627. package/esm2020/lib/components/form/input-textarea/input-textarea.module.mjs +0 -48
  628. package/esm2020/lib/components/form/input-timepicker/helpers/cursor-position.mjs +0 -14
  629. package/esm2020/lib/components/form/input-timepicker/input-timepicker.component.mjs +0 -290
  630. package/esm2020/lib/components/form/input-timepicker/input-timepicker.module.mjs +0 -46
  631. package/esm2020/lib/components/form/radio/radio.component.mjs +0 -91
  632. package/esm2020/lib/components/form/rating/rating.component.mjs +0 -217
  633. package/esm2020/lib/components/form/switch/switch.component.mjs +0 -97
  634. package/esm2020/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +0 -22
  635. package/esm2020/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +0 -102
  636. package/esm2020/lib/components/gallery/gallery.component.mjs +0 -197
  637. package/esm2020/lib/components/gallery/services/gallery.service.mjs +0 -31
  638. package/esm2020/lib/components/hint-error-message/hint-error-message.component.mjs +0 -123
  639. package/esm2020/lib/components/icon-button/icon-button.component.mjs +0 -51
  640. package/esm2020/lib/components/label/label.component.mjs +0 -141
  641. package/esm2020/lib/components/link/link.component.mjs +0 -50
  642. package/esm2020/lib/components/loader/loader.component.mjs +0 -26
  643. package/esm2020/lib/components/modal/modal.component.mjs +0 -136
  644. package/esm2020/lib/components/pages-nav/pages-nav.component.mjs +0 -33
  645. package/esm2020/lib/components/paginator/paginator.component.mjs +0 -142
  646. package/esm2020/lib/components/progress/progress.component.mjs +0 -26
  647. package/esm2020/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +0 -15
  648. package/esm2020/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +0 -15
  649. package/esm2020/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +0 -15
  650. package/esm2020/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +0 -15
  651. package/esm2020/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +0 -15
  652. package/esm2020/lib/components/save-state/save-state.component.mjs +0 -39
  653. package/esm2020/lib/components/stepper/stepper.component.mjs +0 -54
  654. package/esm2020/lib/components/table/components/column/column.component.mjs +0 -40
  655. package/esm2020/lib/components/table/table.component.mjs +0 -274
  656. package/esm2020/lib/components/tabs/tab/tab.component.mjs +0 -31
  657. package/esm2020/lib/components/tabs/tabs-group/tabs-group.component.mjs +0 -29
  658. package/esm2020/lib/components/tooltip/services/tooltip.service.mjs +0 -67
  659. package/esm2020/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +0 -48
  660. package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -60
  661. package/esm2020/lib/components/truncate-text/truncate-text.component.mjs +0 -30
  662. package/esm2020/lib/components/warning-message/warning-message.component.mjs +0 -31
  663. package/esm2020/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +0 -26
  664. package/esm2020/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +0 -17
  665. package/esm2020/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +0 -24
  666. package/esm2020/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +0 -96
  667. package/esm2020/lib/directives/autosize/autosize.directive.mjs +0 -55
  668. package/esm2020/lib/directives/truncate/truncate.directive.mjs +0 -32
  669. package/esm2020/lib/helpers/extension/input-file.extension.mjs +0 -39
  670. package/esm2020/lib/helpers/formatting-date.mjs +0 -51
  671. package/esm2020/lib/helpers/string-hash-code.mjs +0 -17
  672. package/esm2020/lib/pipes/currency/currency.pipe.mjs +0 -22
  673. package/esm2020/lib/pipes/date/date-format.pipe.mjs +0 -21
  674. package/esm2020/lib/pipes/date/date-time-format.pipe.mjs +0 -21
  675. package/esm2020/lib/pipes/phone/phone-format.pipe.mjs +0 -23
  676. package/esm2020/lib/pipes/safe/safe.pipe.mjs +0 -20
  677. package/esm2020/lib/pipes/truncate/truncate.pipe.mjs +0 -23
  678. package/esm2020/lib/services/file-upload/file-upload.service.mjs +0 -26
  679. package/esm2020/lib/services/mrx-autosave/mrx-autosave.service.mjs +0 -44
  680. package/esm2020/lib/services/mrx-form-validator/mrx-form-validator.mjs +0 -282
  681. package/esm2020/lib/services/save-store/store/effect.mjs +0 -31
  682. package/esm2020/lib/services/save-store/store/reducer.mjs +0 -79
  683. package/esm2020/public-api.mjs +0 -180
  684. package/fesm2015/myrta-ui.mjs +0 -13594
  685. package/fesm2015/myrta-ui.mjs.map +0 -1
  686. package/fesm2020/myrta-ui.mjs +0 -13637
  687. package/fesm2020/myrta-ui.mjs.map +0 -1
  688. package/lib/components/context-menu/components/context-menu/context-menu.component.d.ts +0 -34
  689. package/lib/components/context-menu/components/context-menu-content/context-menu-content.component.d.ts +0 -62
  690. package/lib/components/context-menu/context-menu.module.d.ts +0 -15
  691. package/lib/components/context-menu/context-menu.options.d.ts +0 -4
  692. package/lib/components/context-menu/context-menu.tokens.d.ts +0 -2
  693. package/lib/components/context-menu/directives/context-menu/context-menu.directive.d.ts +0 -12
  694. package/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.d.ts +0 -30
  695. package/lib/components/context-menu/models/context-menu.enum.d.ts +0 -11
  696. package/lib/components/context-menu/services/context-menu/context-menu-fixed.service.d.ts +0 -11
  697. package/lib/components/context-menu/services/context-menu/context-menu.service.d.ts +0 -56
  698. package/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.d.ts +0 -22
  699. package/lib/components/form/document-editor/document-editor.component.d.ts +0 -37
  700. package/lib/components/form/document-editor/document-editor.module.d.ts +0 -13
  701. package/lib/components/form/document-editor/helpers/transform-sysname.d.ts +0 -5
  702. package/lib/components/form/document-editor/models/document-editor-short-codes.enum.d.ts +0 -6
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1zZXJ2aWNlL21vZGVscy9tb2RhbC1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGFsQ29sb3JUeXBlcyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuZW11bic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsQ29uZmlnIHtcclxuICBjbG9zZU9uRXNjYXBlPzogYm9vbGVhbjtcclxuICBjbG9zZU9uQ2xpY2tPdXRzaWRlPzogYm9vbGVhbjtcclxuICBwYW5lbENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgaGFzQmFja2Ryb3A/OiBib29sZWFuO1xyXG4gIGN1c3RvbUNsYXNzZXM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxDdXN0b21Db25maWcgZXh0ZW5kcyBNb2RhbENvbmZpZyB7XHJcbiAgY29sb3I/OiBNb2RhbENvbG9yVHlwZXM7XHJcbiAgb2tUZXh0Pzogc3RyaW5nO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgZGVmYXVsdFZhbHVlPzogYW55O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MrxAutosaveService {
4
+ _fields = [];
5
+ stoppedTimer;
6
+ addId(id) {
7
+ const isFind = this._fields.some((field) => field.id === id);
8
+ clearTimeout(this.stoppedTimer);
9
+ if (!isFind) {
10
+ this._fields.push({ id: id, state: 'stopped' });
11
+ }
12
+ }
13
+ start() {
14
+ this._fields = this._fields.filter((field) => field.state !== 'saved').map((field) => ({ ...field, state: 'saving' }));
15
+ }
16
+ success() {
17
+ this._fields = this._fields.map((field) => ({ ...field, state: 'saved' }));
18
+ this.stoppedTimer = setTimeout(() => {
19
+ this.stop();
20
+ }, 2000);
21
+ }
22
+ stop() {
23
+ this._fields = this._fields.map((field) => ({ ...field, state: 'stopped' }));
24
+ setTimeout(() => {
25
+ this._fields.length = 0;
26
+ });
27
+ }
28
+ error() {
29
+ this._fields = this._fields.map((field) => ({ ...field, state: 'error' }));
30
+ this.stoppedTimer = setTimeout(() => {
31
+ this.stop();
32
+ }, 2000);
33
+ }
34
+ get fields() {
35
+ return this._fields;
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrxAutosaveService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrxAutosaveService });
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrxAutosaveService, decorators: [{
41
+ type: Injectable
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXJ4LWF1dG9zYXZlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL3NlcnZpY2VzL21yeC1hdXRvc2F2ZS9tcngtYXV0b3NhdmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVczQyxNQUFNLE9BQU8sa0JBQWtCO0lBRXJCLE9BQU8sR0FBWSxFQUFFLENBQUE7SUFDdEIsWUFBWSxDQUFTO0lBRXJCLEtBQUssQ0FBQyxFQUFVO1FBQ3JCLE1BQU0sTUFBTSxHQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBRXBFLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7UUFFL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFBO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQTtJQUNwSSxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFBO1FBRS9FLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDYixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDVixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQyxDQUFBO1FBRWpGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7UUFDekIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFBO1FBRS9FLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDYixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDVixDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7d0dBN0NVLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IHR5cGUgU3RhdGVUeXBlID0gJ3NhdmluZycgfCAnc2F2ZWQnIHwgJ2Vycm9yJyB8ICdzdG9wcGVkJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZCB7XHJcbiAgaWQ6IHN0cmluZyxcclxuICBzdGF0ZTogU3RhdGVUeXBlLFxyXG4gIHRpbWVySWQ/OiBudW1iZXJcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTXJ4QXV0b3NhdmVTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBfZmllbGRzOiBGaWVsZFtdID0gW11cclxuICBwdWJsaWMgc3RvcHBlZFRpbWVyITogbnVtYmVyXHJcblxyXG4gIHB1YmxpYyBhZGRJZChpZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBpc0ZpbmQgPSAgdGhpcy5fZmllbGRzLnNvbWUoKGZpZWxkOiBGaWVsZCkgPT4gZmllbGQuaWQgPT09IGlkKVxyXG5cclxuICAgIGNsZWFyVGltZW91dCh0aGlzLnN0b3BwZWRUaW1lcilcclxuXHJcbiAgICBpZiAoIWlzRmluZCkge1xyXG4gICAgICB0aGlzLl9maWVsZHMucHVzaCh7aWQ6IGlkLCBzdGF0ZTogJ3N0b3BwZWQnfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGFydCgpIHtcclxuICAgIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2ZpZWxkcy5maWx0ZXIoKGZpZWxkOiBGaWVsZCkgPT4gZmllbGQuc3RhdGUgIT09ICdzYXZlZCcpLm1hcCgoZmllbGQ6IEZpZWxkKSA9PiAoey4uLmZpZWxkLCBzdGF0ZTogJ3NhdmluZyd9KSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdWNjZXNzKCkge1xyXG4gICAgdGhpcy5fZmllbGRzID0gdGhpcy5fZmllbGRzLm1hcCgoZmllbGQ6IEZpZWxkKSA9PiAoey4uLmZpZWxkLCBzdGF0ZTogJ3NhdmVkJ30pKVxyXG5cclxuICAgIHRoaXMuc3RvcHBlZFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvcCgpXHJcbiAgICB9LCAyMDAwKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0b3AoKSB7XHJcbiAgICB0aGlzLl9maWVsZHMgPSB0aGlzLl9maWVsZHMubWFwKChmaWVsZDogRmllbGQpID0+ICh7Li4uZmllbGQsIHN0YXRlOiAnc3RvcHBlZCd9KSlcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fZmllbGRzLmxlbmd0aCA9IDBcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXJyb3IoKSB7XHJcbiAgICB0aGlzLl9maWVsZHMgPSB0aGlzLl9maWVsZHMubWFwKChmaWVsZDogRmllbGQpID0+ICh7Li4uZmllbGQsIHN0YXRlOiAnZXJyb3InfSkpXHJcblxyXG4gICAgdGhpcy5zdG9wcGVkVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zdG9wKClcclxuICAgIH0sIDIwMDApXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGZpZWxkcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9maWVsZHNcclxuICB9XHJcbn1cclxuIl19
@@ -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==
@@ -1,29 +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
- }
13
- SaveStoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SaveStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- SaveStoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: SaveStoreModule, imports: [CommonModule, i1.StoreFeatureModule, i2.EffectsFeatureModule] });
15
- SaveStoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SaveStoreModule, imports: [CommonModule,
16
- StoreModule.forFeature(SAVE_STATE_MODULE_NAME, mrxAutoSaveStateReducer),
17
- EffectsModule.forFeature([MrxAutoSaveEffects])] });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1zdG9yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL3NlcnZpY2VzL3NhdmUtc3RvcmUvc2F2ZS1zdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBVXBELE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsWUFMeEIsWUFBWTs2R0FLSCxlQUFlLFlBTHhCLFlBQVk7UUFDWixXQUFXLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLHVCQUF1QixDQUFDO1FBQ3ZFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDOzJGQUdyQyxlQUFlO2tCQVIzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLHVCQUF1QixDQUFDO3dCQUN2RSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQztxQkFDL0M7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgU0FWRV9TVEFURV9NT0RVTEVfTkFNRSB9IGZyb20gJy4vY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IG1yeEF1dG9TYXZlU3RhdGVSZWR1Y2VyIH0gZnJvbSAnLi9zdG9yZS9yZWR1Y2VyJztcclxuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xyXG5pbXBvcnQgeyBNcnhBdXRvU2F2ZUVmZmVjdHMgfSBmcm9tICcuL3N0b3JlL2VmZmVjdCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShTQVZFX1NUQVRFX01PRFVMRV9OQU1FLCBtcnhBdXRvU2F2ZVN0YXRlUmVkdWNlciksXHJcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW01yeEF1dG9TYXZlRWZmZWN0c10pXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2F2ZVN0b3JlTW9kdWxlIHsgfVxyXG4iXX0=
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=