myrta-ui 14.0.0-beta.5 → 17.0.0-beta.10

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 (752) hide show
  1. package/README.md +1 -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/esm2022/lib/components/form/checkbox/checkbox.enum.mjs +5 -0
  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/{esm2020 → esm2022}/lib/components/form/editor/config/default-inline-style.mjs +5 -5
  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 +265 -0
  46. package/{esm2020 → esm2022}/lib/components/form/editor/editor.enum.mjs +1 -1
  47. package/esm2022/lib/components/form/editor/editor.module.mjs +45 -0
  48. package/{esm2020 → esm2022}/lib/components/form/editor/models/toolbar.model.mjs +1 -1
  49. package/esm2022/lib/components/form/editor/modules/change-icon-module.mjs +92 -0
  50. package/{esm2020 → esm2022}/lib/components/form/input-date-time/constants/value-models.mjs +13 -13
  51. package/{esm2020 → esm2022}/lib/components/form/input-date-time/enum/timezone.mjs +6 -6
  52. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/clean-date.mjs +4 -4
  53. package/esm2022/lib/components/form/input-date-time/helpers/cursor-position.mjs +23 -0
  54. package/esm2022/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +10 -0
  55. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.mjs +9 -9
  56. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/validate-value-models.mjs +60 -60
  57. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/value-parser.mjs +38 -38
  58. package/esm2022/lib/components/form/input-date-time/input-date-time.component.mjs +386 -0
  59. package/{esm2020 → esm2022}/lib/components/form/input-date-time/input-date-time.enum.mjs +7 -7
  60. package/esm2022/lib/components/form/input-date-time/input-date-time.module.mjs +46 -0
  61. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/constants/value-models.mjs +14 -14
  62. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/clean-date.mjs +4 -4
  63. package/esm2022/lib/components/form/input-datepicker/helpers/cursor-position.mjs +23 -0
  64. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +10 -0
  65. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-object.mjs +10 -0
  66. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/validate-value-models.mjs +74 -74
  67. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/value-parser.mjs +47 -47
  68. package/esm2022/lib/components/form/input-datepicker/input-datepicker.component.mjs +356 -0
  69. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/input-datepicker.enum.mjs +6 -6
  70. package/esm2022/lib/components/form/input-datepicker/input-datepicker.module.mjs +46 -0
  71. package/{esm2020 → esm2022}/lib/components/form/input-file/enums/error-messages.enum.mjs +7 -7
  72. package/esm2022/lib/components/form/input-file/input-file.component.mjs +368 -0
  73. package/{esm2020 → esm2022}/lib/components/form/input-file/input-file.enum.mjs +7 -7
  74. package/{esm2020 → esm2022}/lib/components/form/input-file/input-file.module.mjs +26 -26
  75. package/esm2022/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +88 -0
  76. package/esm2022/lib/components/form/input-file-image/input-file-image.component.mjs +356 -0
  77. package/{esm2020 → esm2022}/lib/components/form/input-file-image/input-file-image.enum.mjs +9 -9
  78. package/esm2022/lib/components/form/input-file-image/input-file-image.module.mjs +53 -0
  79. package/esm2022/lib/components/form/input-number/input-number.component.mjs +267 -0
  80. package/{esm2020 → esm2022}/lib/components/form/input-number/input-number.enum.mjs +7 -7
  81. package/esm2022/lib/components/form/input-number/input-number.module.mjs +55 -0
  82. package/esm2022/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +370 -0
  83. package/{esm2020 → esm2022}/lib/components/form/input-opt/components/input-opt/input-opt.enum.mjs +7 -7
  84. package/esm2022/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +43 -0
  85. package/{esm2020 → esm2022}/lib/components/form/input-opt/input-opt.module.mjs +38 -38
  86. package/{esm2020 → esm2022}/lib/components/form/input-opt/models/input-opt.model.mjs +5 -5
  87. package/{esm2020 → esm2022}/lib/components/form/input-opt/services/input-opt.service.mjs +33 -33
  88. package/esm2022/lib/components/form/input-password/input-password.component.mjs +118 -0
  89. package/{esm2020 → esm2022}/lib/components/form/input-password/input-password.enum.mjs +7 -7
  90. package/esm2022/lib/components/form/input-password/input-password.module.mjs +36 -0
  91. package/esm2022/lib/components/form/input-phone/data/country-code.mjs +1331 -0
  92. package/esm2022/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +35 -0
  93. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/country-iso.enum.mjs +246 -246
  94. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/input-phone.enum.mjs +6 -6
  95. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/mask.enum.mjs +138 -138
  96. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/phone-number-format.enum.mjs +5 -5
  97. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/search-country-field.enum.mjs +7 -7
  98. package/esm2022/lib/components/form/input-phone/input-phone.component.mjs +679 -0
  99. package/esm2022/lib/components/form/input-phone/input-phone.module.mjs +50 -0
  100. package/esm2022/lib/components/form/input-phone/input-phone.validator.mjs +61 -0
  101. package/{esm2020 → esm2022}/lib/components/form/input-phone/interfaces/change-data.mjs +1 -1
  102. package/{esm2020 → esm2022}/lib/components/form/input-phone/models/country.model.mjs +1 -1
  103. package/esm2022/lib/components/form/input-search/input-search.component.mjs +167 -0
  104. package/{esm2020 → esm2022}/lib/components/form/input-search/input-search.enum.mjs +7 -7
  105. package/esm2022/lib/components/form/input-search/input-search.module.mjs +41 -0
  106. package/esm2022/lib/components/form/input-select/input-select.component.mjs +253 -0
  107. package/{esm2020 → esm2022}/lib/components/form/input-select/input-select.enum.mjs +5 -5
  108. package/{esm2020 → esm2022}/lib/components/form/input-select/input-select.module.mjs +45 -45
  109. package/{esm2020 → esm2022}/lib/components/form/input-tel/assets/base64.mjs +3 -3
  110. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/all-countries.mjs +1323 -1323
  111. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/country-iso.enum.mjs +246 -246
  112. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/phone-number-format.enum.mjs +5 -5
  113. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/search-country-field.enum.mjs +7 -7
  114. package/esm2022/lib/components/form/input-tel/directives/input-tel.directive.mjs +66 -0
  115. package/{esm2020 → esm2022}/lib/components/form/input-tel/enums/input-phone.enum.mjs +6 -6
  116. package/esm2022/lib/components/form/input-tel/input-tel.component.mjs +400 -0
  117. package/esm2022/lib/components/form/input-tel/input-tel.module.mjs +43 -0
  118. package/{esm2020 → esm2022}/lib/components/form/input-tel/models/country.model.mjs +1 -1
  119. package/esm2022/lib/components/form/input-text/input-text.component.mjs +189 -0
  120. package/{esm2020 → esm2022}/lib/components/form/input-text/input-text.enum.mjs +14 -14
  121. package/esm2022/lib/components/form/input-text/input-text.module.mjs +49 -0
  122. package/esm2022/lib/components/form/input-textarea/input-textarea.component.mjs +197 -0
  123. package/{esm2020 → esm2022}/lib/components/form/input-textarea/input-textarea.enum.mjs +6 -6
  124. package/esm2022/lib/components/form/input-textarea/input-textarea.module.mjs +49 -0
  125. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/constants/value-models.mjs +7 -7
  126. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/clean-date.mjs +4 -4
  127. package/esm2022/lib/components/form/input-timepicker/helpers/cursor-position.mjs +14 -0
  128. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.mjs +4 -4
  129. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-object.mjs +4 -4
  130. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/validate-value-models.mjs +29 -29
  131. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/value-parser.mjs +17 -17
  132. package/esm2022/lib/components/form/input-timepicker/input-timepicker.component.mjs +292 -0
  133. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/input-timepicker.enum.mjs +6 -6
  134. package/esm2022/lib/components/form/input-timepicker/input-timepicker.module.mjs +46 -0
  135. package/esm2022/lib/components/form/radio/radio.component.mjs +91 -0
  136. package/{esm2020 → esm2022}/lib/components/form/radio/radio.enum.mjs +4 -4
  137. package/{esm2020 → esm2022}/lib/components/form/radio/radio.module.mjs +20 -20
  138. package/esm2022/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +45 -0
  139. package/esm2022/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +66 -0
  140. package/esm2022/lib/components/form/radio-group/helpers/filter-search-group.mjs +27 -0
  141. package/{esm2020 → esm2022}/lib/components/form/radio-group/helpers/get-item-by-id.mjs +10 -10
  142. package/esm2022/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +27 -0
  143. package/{esm2020 → esm2022}/lib/components/form/radio-group/models/radio-group.model.mjs +2 -2
  144. package/esm2022/lib/components/form/radio-group/radio-group.component.mjs +175 -0
  145. package/esm2022/lib/components/form/radio-group/radio-group.module.mjs +26 -0
  146. package/esm2022/lib/components/form/rating/rating.component.mjs +215 -0
  147. package/{esm2020 → esm2022}/lib/components/form/rating/rating.enum.mjs +15 -15
  148. package/{esm2020 → esm2022}/lib/components/form/rating/rating.module.mjs +25 -25
  149. package/esm2022/lib/components/form/switch/switch.component.mjs +95 -0
  150. package/{esm2020 → esm2022}/lib/components/form/switch/switch.enum.mjs +10 -10
  151. package/{esm2020 → esm2022}/lib/components/form/switch/switch.module.mjs +21 -21
  152. package/esm2022/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +37 -0
  153. package/esm2022/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +112 -0
  154. package/{esm2020 → esm2022}/lib/components/gallery/constants/custom-buttons-default.mjs +6 -6
  155. package/{esm2020 → esm2022}/lib/components/gallery/constants/thumbs-config-default.mjs +4 -4
  156. package/esm2022/lib/components/gallery/gallery.component.mjs +203 -0
  157. package/{esm2020 → esm2022}/lib/components/gallery/gallery.module.mjs +54 -54
  158. package/{esm2020 → esm2022}/lib/components/gallery/models/gallery-item.model.mjs +1 -1
  159. package/esm2022/lib/components/gallery/services/gallery.service.mjs +33 -0
  160. package/esm2022/lib/components/hint-error-message/hint-error-message.component.mjs +121 -0
  161. package/{esm2020 → esm2022}/lib/components/hint-error-message/hint-error-message.module.mjs +19 -19
  162. package/esm2022/lib/components/icon-button/icon-button.component.mjs +49 -0
  163. package/{esm2020 → esm2022}/lib/components/icon-button/icon-button.enum.mjs +15 -15
  164. package/{esm2020 → esm2022}/lib/components/icon-button/icon-button.module.mjs +19 -19
  165. package/esm2022/lib/components/label/label.component.mjs +143 -0
  166. package/{esm2020 → esm2022}/lib/components/label/label.module.mjs +25 -25
  167. package/esm2022/lib/components/link/link.component.mjs +48 -0
  168. package/{esm2020 → esm2022}/lib/components/link/link.enum.mjs +19 -19
  169. package/{esm2020 → esm2022}/lib/components/link/link.module.mjs +19 -19
  170. package/esm2022/lib/components/loader/loader.component.mjs +24 -0
  171. package/{esm2020 → esm2022}/lib/components/loader/loader.enum.mjs +19 -19
  172. package/{esm2020 → esm2022}/lib/components/loader/loader.module.mjs +19 -19
  173. package/esm2022/lib/components/modal/modal.component.mjs +137 -0
  174. package/{esm2020 → esm2022}/lib/components/modal/modal.emun.mjs +20 -20
  175. package/{esm2020 → esm2022}/lib/components/modal/modal.module.mjs +20 -20
  176. package/esm2022/lib/components/pages-nav/pages-nav.component.mjs +31 -0
  177. package/{esm2020 → esm2022}/lib/components/pages-nav/pages-nav.enum.mjs +5 -5
  178. package/{esm2020 → esm2022}/lib/components/pages-nav/pages-nav.module.mjs +24 -24
  179. package/esm2022/lib/components/paginator/paginator.component.mjs +140 -0
  180. package/{esm2020 → esm2022}/lib/components/paginator/paginator.enum.mjs +5 -5
  181. package/esm2022/lib/components/paginator/paginator.module.mjs +31 -0
  182. package/esm2022/lib/components/progress/progress.component.mjs +24 -0
  183. package/{esm2020 → esm2022}/lib/components/progress/progress.enum.mjs +7 -7
  184. package/{esm2020 → esm2022}/lib/components/progress/progress.module.mjs +19 -19
  185. package/esm2022/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +16 -0
  186. package/esm2022/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +16 -0
  187. package/esm2022/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +16 -0
  188. package/esm2022/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +16 -0
  189. package/esm2022/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +16 -0
  190. package/esm2022/lib/components/save-state/save-state.component.mjs +40 -0
  191. package/{esm2020 → esm2022}/lib/components/save-state/save-state.enum.mjs +2 -2
  192. package/{esm2020 → esm2022}/lib/components/save-state/save-state.module.mjs +37 -37
  193. package/esm2022/lib/components/stepper/stepper.component.mjs +52 -0
  194. package/{esm2020 → esm2022}/lib/components/stepper/stepper.enum.mjs +5 -5
  195. package/{esm2020 → esm2022}/lib/components/stepper/stepper.module.mjs +20 -20
  196. package/esm2022/lib/components/table/components/column/column.component.mjs +40 -0
  197. package/{esm2020 → esm2022}/lib/components/table/default/default-pager-settings.mjs +6 -6
  198. package/{esm2020 → esm2022}/lib/components/table/models/data-state-change.event.mjs +1 -1
  199. package/{esm2020 → esm2022}/lib/components/table/models/index.mjs +3 -3
  200. package/{esm2020 → esm2022}/lib/components/table/models/pager-settings.mjs +1 -1
  201. package/esm2022/lib/components/table/table.component.mjs +281 -0
  202. package/{esm2020 → esm2022}/lib/components/table/table.enum.mjs +7 -7
  203. package/{esm2020 → esm2022}/lib/components/table/table.module.mjs +50 -50
  204. package/esm2022/lib/components/tabs/tab/tab.component.mjs +33 -0
  205. package/esm2022/lib/components/tabs/tabs-group/tabs-group.component.mjs +27 -0
  206. package/{esm2020 → esm2022}/lib/components/tabs/tabs.enum.mjs +13 -13
  207. package/{esm2020 → esm2022}/lib/components/tabs/tabs.module.mjs +20 -20
  208. package/esm2022/lib/components/tooltip/services/tooltip.service.mjs +65 -0
  209. package/esm2022/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +36 -0
  210. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.mjs +10 -10
  211. package/esm2022/lib/components/tooltip/tooltip.component.mjs +59 -0
  212. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip.enum.mjs +5 -5
  213. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip.module.mjs +21 -21
  214. package/{esm2020 → esm2022}/lib/components/truncate-text/directives/truncate-text.directive.mjs +149 -139
  215. package/esm2022/lib/components/truncate-text/truncate-text.component.mjs +30 -0
  216. package/{esm2020 → esm2022}/lib/components/truncate-text/truncate-text.enum.mjs +1 -1
  217. package/{esm2020 → esm2022}/lib/components/truncate-text/truncate-text.module.mjs +21 -21
  218. package/esm2022/lib/components/warning-message/warning-message.component.mjs +29 -0
  219. package/{esm2020 → esm2022}/lib/components/warning-message/warning-message.module.mjs +19 -19
  220. package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +25 -0
  221. package/{esm2020 → esm2022}/lib/components/wrappers/content-wrapper/content-wrapper.enum.mjs +5 -5
  222. package/{esm2020 → esm2022}/lib/components/wrappers/content-wrapper/content-wrapper.module.mjs +19 -19
  223. package/esm2022/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +15 -0
  224. package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +23 -0
  225. package/{esm2020 → esm2022}/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.mjs +6 -6
  226. package/{esm2020 → esm2022}/lib/components/wrappers/controls-wrapper/controls-wrapper.module.mjs +20 -20
  227. package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +99 -0
  228. package/{esm2020 → esm2022}/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.mjs +16 -16
  229. package/{esm2020 → esm2022}/lib/components/wrappers/widget-wrapper/widget-wrapper.module.mjs +24 -24
  230. package/esm2022/lib/directives/autosize/autosize.directive.mjs +57 -0
  231. package/{esm2020 → esm2022}/lib/directives/autosize/autosize.module.mjs +24 -24
  232. package/esm2022/lib/directives/truncate/truncate.directive.mjs +34 -0
  233. package/{esm2020 → esm2022}/lib/directives/truncate/truncate.module.mjs +18 -18
  234. package/{esm2020 → esm2022}/lib/enums/typed.input.state.mjs +8 -8
  235. package/esm2022/lib/helpers/extension/input-file.extension.mjs +39 -0
  236. package/esm2022/lib/helpers/formatting-date.mjs +51 -0
  237. package/{esm2020 → esm2022}/lib/helpers/formatting-dates-from-array.mjs +18 -18
  238. package/{esm2020 → esm2022}/lib/helpers/formatting-iso-to-string.mjs +12 -12
  239. package/{esm2020 → esm2022}/lib/helpers/index.mjs +7 -7
  240. package/{esm2020 → esm2022}/lib/helpers/number-format.mjs +8 -8
  241. package/esm2022/lib/helpers/string-hash-code.mjs +17 -0
  242. package/{esm2020 → esm2022}/lib/helpers/word-form.mjs +10 -10
  243. package/{esm2020 → esm2022}/lib/models/index.mjs +2 -2
  244. package/esm2022/lib/models/input-file/input-file.model.mjs +2 -0
  245. package/{esm2020 → esm2022}/lib/models/typed-input-model.mjs +1 -1
  246. package/{esm2020 → esm2022}/lib/pipes/currency/currency.module.mjs +20 -20
  247. package/esm2022/lib/pipes/currency/currency.pipe.mjs +22 -0
  248. package/{esm2020 → esm2022}/lib/pipes/date/date-format.module.mjs +19 -19
  249. package/esm2022/lib/pipes/date/date-format.pipe.mjs +21 -0
  250. package/esm2022/lib/pipes/date/date-time-format.pipe.mjs +21 -0
  251. package/{esm2020 → esm2022}/lib/pipes/date/enums/timezone.mjs +9 -9
  252. package/{esm2020 → esm2022}/lib/pipes/date/helpers/change-timezone.mjs +22 -22
  253. package/{esm2020 → esm2022}/lib/pipes/phone/phone-format.module.mjs +18 -18
  254. package/esm2022/lib/pipes/phone/phone-format.pipe.mjs +23 -0
  255. package/{esm2020 → esm2022}/lib/pipes/safe/safe.module.mjs +20 -20
  256. package/esm2022/lib/pipes/safe/safe.pipe.mjs +21 -0
  257. package/{esm2020 → esm2022}/lib/pipes/truncate/truncate.module.mjs +20 -20
  258. package/esm2022/lib/pipes/truncate/truncate.pipe.mjs +23 -0
  259. package/esm2022/lib/services/file-upload/file-upload.service.mjs +28 -0
  260. package/esm2022/lib/services/index.mjs +11 -0
  261. package/esm2022/lib/services/modal-service/components/alert-modal/alert-modal.component.mjs +44 -0
  262. package/esm2022/lib/services/modal-service/components/confirm-modal/confirm-modal.component.mjs +48 -0
  263. package/esm2022/lib/services/modal-service/helpers/index.mjs +5 -0
  264. package/esm2022/lib/services/modal-service/helpers/modal-default-config.mjs +14 -0
  265. package/esm2022/lib/services/modal-service/helpers/modal-ref.mjs +29 -0
  266. package/esm2022/lib/services/modal-service/helpers/modal-tokens.mjs +4 -0
  267. package/esm2022/lib/services/modal-service/helpers/modal.component.mjs +4 -0
  268. package/esm2022/lib/services/modal-service/modal-service.module.mjs +25 -0
  269. package/esm2022/lib/services/modal-service/modal-service.service.mjs +84 -0
  270. package/esm2022/lib/services/modal-service/models/modal-config.model.mjs +2 -0
  271. package/esm2022/lib/services/mrx-autosave/mrx-autosave.service.mjs +43 -0
  272. package/esm2022/lib/services/mrx-form-validator/mrx-form-validator.mjs +283 -0
  273. package/{esm2020 → esm2022}/lib/services/save-store/constants/constants.mjs +1 -1
  274. package/{esm2020 → esm2022}/lib/services/save-store/models/save-store.model.mjs +1 -1
  275. package/{esm2020 → esm2022}/lib/services/save-store/save-store.module.mjs +29 -29
  276. package/{esm2020 → esm2022}/lib/services/save-store/store/actions.mjs +22 -22
  277. package/esm2022/lib/services/save-store/store/effect.mjs +61 -0
  278. package/esm2022/lib/services/save-store/store/reducer.mjs +96 -0
  279. package/{esm2020 → esm2022}/lib/services/save-store/store/selectors.mjs +4 -4
  280. package/{esm2020 → esm2022}/lib/services/save-store/store/state.mjs +3 -3
  281. package/{esm2020 → esm2022}/myrta-ui.mjs +4 -4
  282. package/esm2022/public-api.mjs +176 -0
  283. package/fesm2022/myrta-ui.mjs +15470 -0
  284. package/fesm2022/myrta-ui.mjs.map +1 -0
  285. package/index.d.ts +5 -5
  286. package/lib/components/alert/alert.component.d.ts +17 -17
  287. package/lib/components/alert/alert.enum.d.ts +13 -13
  288. package/lib/components/alert/alert.module.d.ts +8 -8
  289. package/lib/components/badges/badge.enum.d.ts +38 -38
  290. package/lib/components/badges/badges.module.d.ts +9 -9
  291. package/lib/components/badges/components/badge/badge.component.d.ts +21 -21
  292. package/lib/components/badges/components/badge-group/badge-group.component.d.ts +5 -5
  293. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +11 -11
  294. package/lib/components/breadcrumbs/breadcrumbs.enum.d.ts +11 -11
  295. package/lib/components/breadcrumbs/breadcrumbs.module.d.ts +8 -8
  296. package/lib/components/button/button.component.d.ts +31 -31
  297. package/lib/components/button/button.enum.d.ts +27 -29
  298. package/lib/components/button/button.module.d.ts +10 -10
  299. package/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.d.ts +13 -13
  300. package/lib/components/cdk-tooltip/cdk-tooltip.directive.d.ts +24 -24
  301. package/lib/components/cdk-tooltip/cdk-tooltip.module.d.ts +10 -10
  302. package/lib/components/cdk-tooltip/constants/index.d.ts +7 -7
  303. package/lib/components/cdk-tooltip/models/tooltip-data.d.ts +6 -6
  304. package/lib/components/chars-left/chars-left.component.d.ts +9 -10
  305. package/lib/components/chars-left/chars-left.module.d.ts +8 -8
  306. package/lib/components/dropdown/directives/hide-after-click.directive.d.ts +9 -9
  307. package/lib/components/dropdown/dropdown.component.d.ts +26 -26
  308. package/lib/components/dropdown/dropdown.module.d.ts +10 -10
  309. package/lib/components/error-message/error-message.component.d.ts +10 -10
  310. package/lib/components/error-message/error-message.module.d.ts +8 -8
  311. package/lib/components/form/checkbox/checkbox.component.d.ts +48 -46
  312. package/lib/components/form/checkbox/checkbox.enum.d.ts +14 -10
  313. package/lib/components/form/checkbox/checkbox.module.d.ts +11 -11
  314. package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +54 -56
  315. package/lib/components/form/checkbox-group/checkbox-group.module.d.ts +16 -16
  316. package/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.d.ts +19 -19
  317. package/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.d.ts +26 -29
  318. package/lib/components/form/checkbox-group/helpers/change-group-value.d.ts +3 -3
  319. package/lib/components/form/checkbox-group/helpers/change-item-value.d.ts +3 -3
  320. package/lib/components/form/checkbox-group/helpers/filter-search-group.d.ts +2 -2
  321. package/lib/components/form/checkbox-group/helpers/get-checked-items.d.ts +2 -2
  322. package/lib/components/form/checkbox-group/helpers/get-item-by-id.d.ts +2 -2
  323. package/lib/components/form/checkbox-group/helpers/get-sorted-list.d.ts +2 -2
  324. package/lib/components/form/checkbox-group/models/checkbox-group.model.d.ts +15 -15
  325. package/lib/components/form/editor/config/default-inline-style.d.ts +11 -11
  326. package/lib/components/form/editor/config/index.d.ts +1 -1
  327. package/lib/components/form/editor/config/popups-toolbar.d.ts +15 -15
  328. package/lib/components/form/editor/config/toolbar.d.ts +2 -2
  329. package/lib/components/form/editor/editor.component.d.ts +65 -57
  330. package/lib/components/form/editor/editor.enum.d.ts +5 -5
  331. package/lib/components/form/editor/editor.module.d.ts +14 -14
  332. package/lib/components/form/editor/models/toolbar.model.d.ts +6 -6
  333. package/lib/components/form/editor/modules/change-icon-module.d.ts +1 -1
  334. package/lib/components/form/input-date-time/constants/value-models.d.ts +3 -3
  335. package/lib/components/form/input-date-time/enum/timezone.d.ts +6 -6
  336. package/lib/components/form/input-date-time/helpers/clean-date.d.ts +1 -1
  337. package/lib/components/form/input-date-time/helpers/cursor-position.d.ts +1 -1
  338. package/lib/components/form/input-date-time/helpers/formatting-from-models.d.ts +3 -3
  339. package/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.d.ts +2 -2
  340. package/lib/components/form/input-date-time/helpers/validate-value-models.d.ts +19 -19
  341. package/lib/components/form/input-date-time/helpers/value-parser.d.ts +4 -4
  342. package/lib/components/form/input-date-time/input-date-time.component.d.ts +72 -76
  343. package/lib/components/form/input-date-time/input-date-time.enum.d.ts +21 -21
  344. package/lib/components/form/input-date-time/input-date-time.module.d.ts +13 -13
  345. package/lib/components/form/input-datepicker/constants/value-models.d.ts +3 -3
  346. package/lib/components/form/input-datepicker/helpers/clean-date.d.ts +1 -1
  347. package/lib/components/form/input-datepicker/helpers/cursor-position.d.ts +1 -1
  348. package/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.d.ts +3 -3
  349. package/lib/components/form/input-datepicker/helpers/get-date-object.d.ts +2 -2
  350. package/lib/components/form/input-datepicker/helpers/validate-value-models.d.ts +20 -20
  351. package/lib/components/form/input-datepicker/helpers/value-parser.d.ts +3 -3
  352. package/lib/components/form/input-datepicker/input-datepicker.component.d.ts +69 -70
  353. package/lib/components/form/input-datepicker/input-datepicker.enum.d.ts +12 -12
  354. package/lib/components/form/input-datepicker/input-datepicker.module.d.ts +13 -13
  355. package/lib/components/form/input-file/enums/error-messages.enum.d.ts +6 -6
  356. package/lib/components/form/input-file/input-file.component.d.ts +74 -72
  357. package/lib/components/form/input-file/input-file.enum.d.ts +7 -7
  358. package/lib/components/form/input-file/input-file.module.d.ts +13 -13
  359. package/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.d.ts +43 -39
  360. package/lib/components/form/input-file-image/input-file-image.component.d.ts +57 -61
  361. package/lib/components/form/input-file-image/input-file-image.enum.d.ts +8 -8
  362. package/lib/components/form/input-file-image/input-file-image.module.d.ts +15 -16
  363. package/lib/components/form/input-number/input-number.component.d.ts +64 -69
  364. package/lib/components/form/input-number/input-number.enum.d.ts +12 -12
  365. package/lib/components/form/input-number/input-number.module.d.ts +13 -13
  366. package/lib/components/form/input-opt/components/input-opt/input-opt.component.d.ts +77 -77
  367. package/lib/components/form/input-opt/components/input-opt/input-opt.enum.d.ts +7 -7
  368. package/lib/components/form/input-opt/directives/opt-pattern.directive.d.ts +8 -8
  369. package/lib/components/form/input-opt/input-opt.module.d.ts +11 -11
  370. package/lib/components/form/input-opt/models/input-opt.model.d.ts +26 -26
  371. package/lib/components/form/input-opt/services/input-opt.service.d.ts +11 -11
  372. package/lib/components/form/input-password/input-password.component.d.ts +38 -43
  373. package/lib/components/form/input-password/input-password.enum.d.ts +7 -11
  374. package/lib/components/form/input-password/input-password.module.d.ts +11 -13
  375. package/lib/components/form/input-phone/data/country-code.d.ts +6 -6
  376. package/lib/components/form/input-phone/directives/native-element-injector.directive.d.ts +11 -11
  377. package/lib/components/form/input-phone/enums/country-iso.enum.d.ts +245 -245
  378. package/lib/components/form/input-phone/enums/input-phone.enum.d.ts +11 -11
  379. package/lib/components/form/input-phone/enums/mask.enum.d.ts +8 -8
  380. package/lib/components/form/input-phone/enums/phone-number-format.enum.d.ts +4 -4
  381. package/lib/components/form/input-phone/enums/search-country-field.enum.d.ts +6 -6
  382. package/lib/components/form/input-phone/input-phone.component.d.ts +132 -132
  383. package/lib/components/form/input-phone/input-phone.module.d.ts +14 -14
  384. package/lib/components/form/input-phone/input-phone.validator.d.ts +5 -5
  385. package/lib/components/form/input-phone/interfaces/change-data.d.ts +9 -9
  386. package/lib/components/form/input-phone/models/country.model.d.ts +13 -13
  387. package/lib/components/form/input-search/input-search.component.d.ts +48 -52
  388. package/lib/components/form/input-search/input-search.enum.d.ts +6 -11
  389. package/lib/components/form/input-search/input-search.module.d.ts +12 -13
  390. package/lib/components/form/input-select/input-select.component.d.ts +94 -86
  391. package/lib/components/form/input-select/input-select.enum.d.ts +10 -10
  392. package/lib/components/form/input-select/input-select.module.d.ts +14 -14
  393. package/lib/components/form/input-tel/assets/base64.d.ts +3 -3
  394. package/lib/components/form/input-tel/data/all-countries.d.ts +1 -1
  395. package/lib/components/form/input-tel/data/country-iso.enum.d.ts +245 -245
  396. package/lib/components/form/input-tel/data/phone-number-format.enum.d.ts +5 -5
  397. package/lib/components/form/input-tel/data/search-country-field.enum.d.ts +6 -6
  398. package/lib/components/form/input-tel/directives/input-tel.directive.d.ts +21 -21
  399. package/lib/components/form/input-tel/enums/input-phone.enum.d.ts +11 -11
  400. package/lib/components/form/input-tel/input-tel.component.d.ts +89 -89
  401. package/lib/components/form/input-tel/input-tel.module.d.ts +13 -14
  402. package/lib/components/form/input-tel/models/country.model.d.ts +18 -18
  403. package/lib/components/form/input-text/input-text.component.d.ts +54 -57
  404. package/lib/components/form/input-text/input-text.enum.d.ts +19 -19
  405. package/lib/components/form/input-text/input-text.module.d.ts +14 -14
  406. package/lib/components/form/input-textarea/input-textarea.component.d.ts +54 -49
  407. package/lib/components/form/input-textarea/input-textarea.enum.d.ts +11 -11
  408. package/lib/components/form/input-textarea/input-textarea.module.d.ts +14 -14
  409. package/lib/components/form/input-timepicker/constants/value-models.d.ts +2 -2
  410. package/lib/components/form/input-timepicker/helpers/clean-date.d.ts +1 -1
  411. package/lib/components/form/input-timepicker/helpers/cursor-position.d.ts +1 -1
  412. package/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.d.ts +3 -3
  413. package/lib/components/form/input-timepicker/helpers/get-date-object.d.ts +2 -2
  414. package/lib/components/form/input-timepicker/helpers/validate-value-models.d.ts +10 -10
  415. package/lib/components/form/input-timepicker/helpers/value-parser.d.ts +2 -2
  416. package/lib/components/form/input-timepicker/input-timepicker.component.d.ts +60 -60
  417. package/lib/components/form/input-timepicker/input-timepicker.enum.d.ts +11 -11
  418. package/lib/components/form/input-timepicker/input-timepicker.module.d.ts +13 -13
  419. package/lib/components/form/radio/radio.component.d.ts +29 -29
  420. package/lib/components/form/radio/radio.enum.d.ts +4 -4
  421. package/lib/components/form/radio/radio.module.d.ts +9 -9
  422. package/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.d.ts +18 -20
  423. package/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.d.ts +26 -28
  424. package/lib/components/form/radio-group/helpers/filter-search-group.d.ts +2 -2
  425. package/lib/components/form/radio-group/helpers/get-item-by-id.d.ts +2 -2
  426. package/lib/components/form/radio-group/helpers/move-selected-to-first.d.ts +2 -2
  427. package/lib/components/form/radio-group/models/radio-group.model.d.ts +8 -12
  428. package/lib/components/form/radio-group/radio-group.component.d.ts +57 -60
  429. package/lib/components/form/radio-group/radio-group.module.d.ts +15 -16
  430. package/lib/components/form/rating/rating.component.d.ts +51 -51
  431. package/lib/components/form/rating/rating.enum.d.ts +27 -27
  432. package/lib/components/form/rating/rating.module.d.ts +9 -9
  433. package/lib/components/form/switch/switch.component.d.ts +32 -32
  434. package/lib/components/form/switch/switch.enum.d.ts +15 -15
  435. package/lib/components/form/switch/switch.module.d.ts +10 -10
  436. package/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.d.ts +20 -17
  437. package/lib/components/gallery/components/gallery-item/gallery-item.component.d.ts +38 -38
  438. package/lib/components/gallery/constants/custom-buttons-default.d.ts +3 -3
  439. package/lib/components/gallery/constants/thumbs-config-default.d.ts +2 -2
  440. package/lib/components/gallery/gallery.component.d.ts +38 -38
  441. package/lib/components/gallery/gallery.module.d.ts +16 -16
  442. package/lib/components/gallery/models/gallery-item.model.d.ts +24 -24
  443. package/lib/components/gallery/services/gallery.service.d.ts +14 -14
  444. package/lib/components/hint-error-message/hint-error-message.component.d.ts +21 -21
  445. package/lib/components/hint-error-message/hint-error-message.module.d.ts +8 -8
  446. package/lib/components/icon-button/icon-button.component.d.ts +19 -19
  447. package/lib/components/icon-button/icon-button.enum.d.ts +15 -15
  448. package/lib/components/icon-button/icon-button.module.d.ts +9 -9
  449. package/lib/components/label/label.component.d.ts +44 -44
  450. package/lib/components/label/label.module.d.ts +14 -14
  451. package/lib/components/link/link.component.d.ts +18 -18
  452. package/lib/components/link/link.enum.d.ts +19 -19
  453. package/lib/components/link/link.module.d.ts +8 -8
  454. package/lib/components/loader/loader.component.d.ts +10 -10
  455. package/lib/components/loader/loader.enum.d.ts +19 -19
  456. package/lib/components/loader/loader.module.d.ts +8 -8
  457. package/lib/components/modal/modal.component.d.ts +36 -37
  458. package/lib/components/modal/modal.emun.d.ts +20 -20
  459. package/lib/components/modal/modal.module.d.ts +9 -9
  460. package/lib/components/pages-nav/pages-nav.component.d.ts +12 -12
  461. package/lib/components/pages-nav/pages-nav.enum.d.ts +5 -5
  462. package/lib/components/pages-nav/pages-nav.module.d.ts +8 -8
  463. package/lib/components/paginator/paginator.component.d.ts +29 -31
  464. package/lib/components/paginator/paginator.enum.d.ts +10 -10
  465. package/lib/components/paginator/paginator.module.d.ts +10 -10
  466. package/lib/components/progress/progress.component.d.ts +10 -10
  467. package/lib/components/progress/progress.enum.d.ts +7 -7
  468. package/lib/components/progress/progress.module.d.ts +8 -8
  469. package/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.d.ts +8 -8
  470. package/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.d.ts +8 -8
  471. package/lib/components/save-state/components/save-state-editor/save-state-editor.component.d.ts +8 -8
  472. package/lib/components/save-state/components/save-state-input/save-state-input.component.d.ts +8 -8
  473. package/lib/components/save-state/components/save-state-switch/save-state-switch.component.d.ts +8 -8
  474. package/lib/components/save-state/save-state.component.d.ts +13 -13
  475. package/lib/components/save-state/save-state.enum.d.ts +1 -1
  476. package/lib/components/save-state/save-state.module.d.ts +13 -13
  477. package/lib/components/stepper/stepper.component.d.ts +17 -17
  478. package/lib/components/stepper/stepper.enum.d.ts +5 -5
  479. package/lib/components/stepper/stepper.module.d.ts +9 -9
  480. package/lib/components/table/components/column/column.component.d.ts +14 -14
  481. package/lib/components/table/default/default-pager-settings.d.ts +2 -2
  482. package/lib/components/table/models/data-state-change.event.d.ts +15 -15
  483. package/lib/components/table/models/index.d.ts +3 -3
  484. package/lib/components/table/models/pager-settings.d.ts +22 -22
  485. package/lib/components/table/table.component.d.ts +55 -55
  486. package/lib/components/table/table.enum.d.ts +32 -32
  487. package/lib/components/table/table.module.d.ts +14 -14
  488. package/lib/components/tabs/tab/tab.component.d.ts +13 -13
  489. package/lib/components/tabs/tabs-group/tabs-group.component.d.ts +11 -11
  490. package/lib/components/tabs/tabs.enum.d.ts +11 -11
  491. package/lib/components/tabs/tabs.module.d.ts +9 -9
  492. package/lib/components/tooltip/services/tooltip.service.d.ts +18 -18
  493. package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.d.ts +15 -15
  494. package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.d.ts +10 -10
  495. package/lib/components/tooltip/tooltip.component.d.ts +18 -18
  496. package/lib/components/tooltip/tooltip.enum.d.ts +4 -4
  497. package/lib/components/tooltip/tooltip.module.d.ts +10 -10
  498. package/lib/components/truncate-text/directives/truncate-text.directive.d.ts +37 -37
  499. package/lib/components/truncate-text/truncate-text.component.d.ts +12 -12
  500. package/lib/components/truncate-text/truncate-text.enum.d.ts +2 -2
  501. package/lib/components/truncate-text/truncate-text.module.d.ts +10 -10
  502. package/lib/components/warning-message/warning-message.component.d.ts +9 -9
  503. package/lib/components/warning-message/warning-message.module.d.ts +8 -8
  504. package/lib/components/wrappers/content-wrapper/content-wrapper.component.d.ts +10 -10
  505. package/lib/components/wrappers/content-wrapper/content-wrapper.enum.d.ts +5 -5
  506. package/lib/components/wrappers/content-wrapper/content-wrapper.module.d.ts +8 -8
  507. package/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.d.ts +6 -6
  508. package/lib/components/wrappers/controls-wrapper/controls-wrapper.component.d.ts +10 -10
  509. package/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.d.ts +6 -6
  510. package/lib/components/wrappers/controls-wrapper/controls-wrapper.module.d.ts +9 -9
  511. package/lib/components/wrappers/widget-wrapper/widget-wrapper.component.d.ts +26 -26
  512. package/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.d.ts +15 -15
  513. package/lib/components/wrappers/widget-wrapper/widget-wrapper.module.d.ts +8 -8
  514. package/lib/directives/autosize/autosize.directive.d.ts +16 -16
  515. package/lib/directives/autosize/autosize.module.d.ts +8 -8
  516. package/lib/directives/truncate/truncate.directive.d.ts +12 -12
  517. package/lib/directives/truncate/truncate.module.d.ts +8 -8
  518. package/lib/enums/typed.input.state.d.ts +6 -6
  519. package/lib/helpers/extension/input-file.extension.d.ts +4 -4
  520. package/lib/helpers/formatting-date.d.ts +9 -9
  521. package/lib/helpers/formatting-dates-from-array.d.ts +2 -2
  522. package/lib/helpers/formatting-iso-to-string.d.ts +2 -2
  523. package/lib/helpers/index.d.ts +7 -7
  524. package/lib/helpers/number-format.d.ts +6 -6
  525. package/lib/helpers/string-hash-code.d.ts +2 -2
  526. package/lib/helpers/word-form.d.ts +7 -7
  527. package/lib/models/index.d.ts +2 -2
  528. package/lib/models/input-file/input-file.model.d.ts +23 -22
  529. package/lib/models/typed-input-model.d.ts +16 -16
  530. package/lib/pipes/currency/currency.module.d.ts +8 -8
  531. package/lib/pipes/currency/currency.pipe.d.ts +7 -7
  532. package/lib/pipes/date/date-format.module.d.ts +9 -9
  533. package/lib/pipes/date/date-format.pipe.d.ts +9 -9
  534. package/lib/pipes/date/date-time-format.pipe.d.ts +9 -9
  535. package/lib/pipes/date/enums/timezone.d.ts +8 -8
  536. package/lib/pipes/date/helpers/change-timezone.d.ts +2 -2
  537. package/lib/pipes/phone/phone-format.module.d.ts +8 -8
  538. package/lib/pipes/phone/phone-format.pipe.d.ts +8 -8
  539. package/lib/pipes/safe/safe.module.d.ts +8 -8
  540. package/lib/pipes/safe/safe.pipe.d.ts +10 -10
  541. package/lib/pipes/truncate/truncate.module.d.ts +8 -8
  542. package/lib/pipes/truncate/truncate.pipe.d.ts +7 -7
  543. package/lib/services/file-upload/file-upload.service.d.ts +12 -12
  544. package/lib/services/index.d.ts +10 -7
  545. package/lib/services/modal-service/components/alert-modal/alert-modal.component.d.ts +19 -0
  546. package/lib/services/modal-service/components/confirm-modal/confirm-modal.component.d.ts +20 -0
  547. package/lib/services/modal-service/helpers/index.d.ts +4 -0
  548. package/lib/services/modal-service/helpers/modal-default-config.d.ts +3 -0
  549. package/lib/services/modal-service/helpers/modal-ref.d.ts +11 -0
  550. package/lib/services/modal-service/helpers/modal-tokens.d.ts +3 -0
  551. package/lib/services/modal-service/helpers/modal.component.d.ts +3 -0
  552. package/lib/services/modal-service/modal-service.module.d.ts +9 -0
  553. package/lib/services/modal-service/modal-service.service.d.ts +20 -0
  554. package/lib/services/modal-service/models/modal-config.model.d.ts +14 -0
  555. package/lib/services/mrx-autosave/mrx-autosave.service.d.ts +19 -19
  556. package/lib/services/mrx-form-validator/mrx-form-validator.d.ts +51 -23
  557. package/lib/services/save-store/constants/constants.d.ts +1 -1
  558. package/lib/services/save-store/models/save-store.model.d.ts +4 -4
  559. package/lib/services/save-store/save-store.module.d.ts +9 -9
  560. package/lib/services/save-store/store/actions.d.ts +21 -21
  561. package/lib/services/save-store/store/effect.d.ts +10 -16
  562. package/lib/services/save-store/store/reducer.d.ts +3 -3
  563. package/lib/services/save-store/store/selectors.d.ts +3 -3
  564. package/lib/services/save-store/store/state.d.ts +11 -11
  565. package/package.json +27 -37
  566. package/public-api.d.ts +162 -176
  567. package/esm2020/lib/components/alert/alert.component.mjs +0 -45
  568. package/esm2020/lib/components/badges/components/badge/badge.component.mjs +0 -61
  569. package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +0 -29
  570. package/esm2020/lib/components/button/button.component.mjs +0 -102
  571. package/esm2020/lib/components/button/button.enum.mjs +0 -29
  572. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +0 -28
  573. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +0 -95
  574. package/esm2020/lib/components/chars-left/chars-left.component.mjs +0 -29
  575. package/esm2020/lib/components/context-menu/components/context-menu/context-menu.component.mjs +0 -99
  576. package/esm2020/lib/components/context-menu/components/context-menu-content/context-menu-content.component.mjs +0 -324
  577. package/esm2020/lib/components/context-menu/context-menu.module.mjs +0 -51
  578. package/esm2020/lib/components/context-menu/context-menu.options.mjs +0 -2
  579. package/esm2020/lib/components/context-menu/context-menu.tokens.mjs +0 -3
  580. package/esm2020/lib/components/context-menu/directives/context-menu/context-menu.directive.mjs +0 -36
  581. package/esm2020/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.mjs +0 -61
  582. package/esm2020/lib/components/context-menu/models/context-menu.enum.mjs +0 -2
  583. package/esm2020/lib/components/context-menu/services/context-menu/context-menu-fixed.service.mjs +0 -103
  584. package/esm2020/lib/components/context-menu/services/context-menu/context-menu.service.mjs +0 -223
  585. package/esm2020/lib/components/dropdown/directives/hide-after-click.directive.mjs +0 -23
  586. package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -104
  587. package/esm2020/lib/components/error-message/error-message.component.mjs +0 -34
  588. package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +0 -143
  589. package/esm2020/lib/components/form/checkbox/checkbox.enum.mjs +0 -2
  590. package/esm2020/lib/components/form/checkbox-group/checkbox-group.component.mjs +0 -184
  591. package/esm2020/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +0 -112
  592. package/esm2020/lib/components/form/checkbox-group/helpers/change-group-value.mjs +0 -20
  593. package/esm2020/lib/components/form/checkbox-group/helpers/change-item-value.mjs +0 -15
  594. package/esm2020/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +0 -27
  595. package/esm2020/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +0 -20
  596. package/esm2020/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +0 -50
  597. package/esm2020/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.mjs +0 -33
  598. package/esm2020/lib/components/form/document-editor/document-editor.component.mjs +0 -105
  599. package/esm2020/lib/components/form/document-editor/document-editor.module.mjs +0 -42
  600. package/esm2020/lib/components/form/document-editor/helpers/transform-sysname.mjs +0 -41
  601. package/esm2020/lib/components/form/document-editor/models/document-editor-short-codes.enum.mjs +0 -2
  602. package/esm2020/lib/components/form/editor/editor.component.mjs +0 -264
  603. package/esm2020/lib/components/form/editor/editor.module.mjs +0 -45
  604. package/esm2020/lib/components/form/editor/modules/change-icon-module.mjs +0 -92
  605. package/esm2020/lib/components/form/input-date-time/helpers/cursor-position.mjs +0 -23
  606. package/esm2020/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +0 -10
  607. package/esm2020/lib/components/form/input-date-time/input-date-time.component.mjs +0 -413
  608. package/esm2020/lib/components/form/input-date-time/input-date-time.module.mjs +0 -46
  609. package/esm2020/lib/components/form/input-datepicker/helpers/cursor-position.mjs +0 -23
  610. package/esm2020/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +0 -10
  611. package/esm2020/lib/components/form/input-datepicker/helpers/get-date-object.mjs +0 -10
  612. package/esm2020/lib/components/form/input-datepicker/input-datepicker.component.mjs +0 -359
  613. package/esm2020/lib/components/form/input-datepicker/input-datepicker.module.mjs +0 -46
  614. package/esm2020/lib/components/form/input-file/input-file.component.mjs +0 -363
  615. package/esm2020/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +0 -66
  616. package/esm2020/lib/components/form/input-file-image/input-file-image.component.mjs +0 -350
  617. package/esm2020/lib/components/form/input-file-image/input-file-image.module.mjs +0 -58
  618. package/esm2020/lib/components/form/input-number/input-number.component.mjs +0 -265
  619. package/esm2020/lib/components/form/input-number/input-number.module.mjs +0 -55
  620. package/esm2020/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +0 -361
  621. package/esm2020/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +0 -44
  622. package/esm2020/lib/components/form/input-password/input-password.component.mjs +0 -133
  623. package/esm2020/lib/components/form/input-password/input-password.module.mjs +0 -44
  624. package/esm2020/lib/components/form/input-phone/data/country-code.mjs +0 -1333
  625. package/esm2020/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +0 -33
  626. package/esm2020/lib/components/form/input-phone/input-phone.component.mjs +0 -671
  627. package/esm2020/lib/components/form/input-phone/input-phone.module.mjs +0 -50
  628. package/esm2020/lib/components/form/input-phone/input-phone.validator.mjs +0 -61
  629. package/esm2020/lib/components/form/input-search/input-search.component.mjs +0 -174
  630. package/esm2020/lib/components/form/input-search/input-search.module.mjs +0 -44
  631. package/esm2020/lib/components/form/input-select/input-select.component.mjs +0 -249
  632. package/esm2020/lib/components/form/input-tel/directives/input-tel.directive.mjs +0 -62
  633. package/esm2020/lib/components/form/input-tel/input-tel.component.mjs +0 -389
  634. package/esm2020/lib/components/form/input-tel/input-tel.module.mjs +0 -47
  635. package/esm2020/lib/components/form/input-text/input-text.component.mjs +0 -194
  636. package/esm2020/lib/components/form/input-text/input-text.module.mjs +0 -49
  637. package/esm2020/lib/components/form/input-textarea/input-textarea.component.mjs +0 -174
  638. package/esm2020/lib/components/form/input-textarea/input-textarea.module.mjs +0 -48
  639. package/esm2020/lib/components/form/input-timepicker/helpers/cursor-position.mjs +0 -14
  640. package/esm2020/lib/components/form/input-timepicker/input-timepicker.component.mjs +0 -290
  641. package/esm2020/lib/components/form/input-timepicker/input-timepicker.module.mjs +0 -46
  642. package/esm2020/lib/components/form/radio/radio.component.mjs +0 -91
  643. package/esm2020/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +0 -49
  644. package/esm2020/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +0 -69
  645. package/esm2020/lib/components/form/radio-group/helpers/filter-search-group.mjs +0 -27
  646. package/esm2020/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +0 -27
  647. package/esm2020/lib/components/form/radio-group/radio-group.component.mjs +0 -185
  648. package/esm2020/lib/components/form/radio-group/radio-group.module.mjs +0 -47
  649. package/esm2020/lib/components/form/rating/rating.component.mjs +0 -217
  650. package/esm2020/lib/components/form/switch/switch.component.mjs +0 -97
  651. package/esm2020/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +0 -22
  652. package/esm2020/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +0 -102
  653. package/esm2020/lib/components/gallery/gallery.component.mjs +0 -197
  654. package/esm2020/lib/components/gallery/services/gallery.service.mjs +0 -31
  655. package/esm2020/lib/components/hint-error-message/hint-error-message.component.mjs +0 -123
  656. package/esm2020/lib/components/icon-button/icon-button.component.mjs +0 -51
  657. package/esm2020/lib/components/label/label.component.mjs +0 -141
  658. package/esm2020/lib/components/link/link.component.mjs +0 -50
  659. package/esm2020/lib/components/loader/loader.component.mjs +0 -26
  660. package/esm2020/lib/components/modal/modal.component.mjs +0 -146
  661. package/esm2020/lib/components/pages-nav/pages-nav.component.mjs +0 -33
  662. package/esm2020/lib/components/paginator/paginator.component.mjs +0 -152
  663. package/esm2020/lib/components/paginator/paginator.module.mjs +0 -31
  664. package/esm2020/lib/components/progress/progress.component.mjs +0 -26
  665. package/esm2020/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +0 -15
  666. package/esm2020/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +0 -15
  667. package/esm2020/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +0 -15
  668. package/esm2020/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +0 -15
  669. package/esm2020/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +0 -15
  670. package/esm2020/lib/components/save-state/save-state.component.mjs +0 -39
  671. package/esm2020/lib/components/stepper/stepper.component.mjs +0 -54
  672. package/esm2020/lib/components/table/components/column/column.component.mjs +0 -40
  673. package/esm2020/lib/components/table/table.component.mjs +0 -274
  674. package/esm2020/lib/components/tabs/tab/tab.component.mjs +0 -31
  675. package/esm2020/lib/components/tabs/tabs-group/tabs-group.component.mjs +0 -29
  676. package/esm2020/lib/components/tooltip/services/tooltip.service.mjs +0 -67
  677. package/esm2020/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +0 -38
  678. package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -60
  679. package/esm2020/lib/components/truncate-text/truncate-text.component.mjs +0 -30
  680. package/esm2020/lib/components/warning-message/warning-message.component.mjs +0 -31
  681. package/esm2020/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +0 -26
  682. package/esm2020/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +0 -17
  683. package/esm2020/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +0 -24
  684. package/esm2020/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +0 -96
  685. package/esm2020/lib/directives/autosize/autosize.directive.mjs +0 -55
  686. package/esm2020/lib/directives/truncate/truncate.directive.mjs +0 -32
  687. package/esm2020/lib/helpers/extension/input-file.extension.mjs +0 -39
  688. package/esm2020/lib/helpers/formatting-date.mjs +0 -51
  689. package/esm2020/lib/helpers/string-hash-code.mjs +0 -17
  690. package/esm2020/lib/models/input-file/input-file.model.mjs +0 -2
  691. package/esm2020/lib/pipes/currency/currency.pipe.mjs +0 -22
  692. package/esm2020/lib/pipes/date/date-format.pipe.mjs +0 -21
  693. package/esm2020/lib/pipes/date/date-time-format.pipe.mjs +0 -21
  694. package/esm2020/lib/pipes/phone/phone-format.pipe.mjs +0 -23
  695. package/esm2020/lib/pipes/safe/safe.pipe.mjs +0 -20
  696. package/esm2020/lib/pipes/truncate/truncate.pipe.mjs +0 -23
  697. package/esm2020/lib/services/file-upload/file-upload.service.mjs +0 -26
  698. package/esm2020/lib/services/index.mjs +0 -8
  699. package/esm2020/lib/services/mrx-autosave/mrx-autosave.service.mjs +0 -44
  700. package/esm2020/lib/services/mrx-form-validator/constants/invalid-messages.mjs +0 -10
  701. package/esm2020/lib/services/mrx-form-validator/helpers/get-error-message.helper.mjs +0 -10
  702. package/esm2020/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.mjs +0 -28
  703. package/esm2020/lib/services/mrx-form-validator/models/index.mjs +0 -4
  704. package/esm2020/lib/services/mrx-form-validator/models/validations-options.model.mjs +0 -2
  705. package/esm2020/lib/services/mrx-form-validator/models/validations-settings.model.mjs +0 -2
  706. package/esm2020/lib/services/mrx-form-validator/models/validations-types.model.mjs +0 -22
  707. package/esm2020/lib/services/mrx-form-validator/mrx-form-validator.mjs +0 -207
  708. package/esm2020/lib/services/mrx-form-validator/validations/callback.validation.mjs +0 -15
  709. package/esm2020/lib/services/mrx-form-validator/validations/email.validation.mjs +0 -11
  710. package/esm2020/lib/services/mrx-form-validator/validations/max-length.validation.mjs +0 -10
  711. package/esm2020/lib/services/mrx-form-validator/validations/max-value.validation.mjs +0 -10
  712. package/esm2020/lib/services/mrx-form-validator/validations/min-length.validation.mjs +0 -11
  713. package/esm2020/lib/services/mrx-form-validator/validations/min-value.validation.mjs +0 -10
  714. package/esm2020/lib/services/mrx-form-validator/validations/pattern.validation.mjs +0 -11
  715. package/esm2020/lib/services/mrx-form-validator/validations/required.validation.mjs +0 -22
  716. package/esm2020/lib/services/save-store/store/effect.mjs +0 -31
  717. package/esm2020/lib/services/save-store/store/reducer.mjs +0 -79
  718. package/esm2020/public-api.mjs +0 -186
  719. package/fesm2015/myrta-ui.mjs +0 -16283
  720. package/fesm2015/myrta-ui.mjs.map +0 -1
  721. package/fesm2020/myrta-ui.mjs +0 -16319
  722. package/fesm2020/myrta-ui.mjs.map +0 -1
  723. package/lib/components/context-menu/components/context-menu/context-menu.component.d.ts +0 -34
  724. package/lib/components/context-menu/components/context-menu-content/context-menu-content.component.d.ts +0 -62
  725. package/lib/components/context-menu/context-menu.module.d.ts +0 -15
  726. package/lib/components/context-menu/context-menu.options.d.ts +0 -4
  727. package/lib/components/context-menu/context-menu.tokens.d.ts +0 -2
  728. package/lib/components/context-menu/directives/context-menu/context-menu.directive.d.ts +0 -12
  729. package/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.d.ts +0 -30
  730. package/lib/components/context-menu/models/context-menu.enum.d.ts +0 -11
  731. package/lib/components/context-menu/services/context-menu/context-menu-fixed.service.d.ts +0 -11
  732. package/lib/components/context-menu/services/context-menu/context-menu.service.d.ts +0 -56
  733. package/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.d.ts +0 -22
  734. package/lib/components/form/document-editor/document-editor.component.d.ts +0 -37
  735. package/lib/components/form/document-editor/document-editor.module.d.ts +0 -13
  736. package/lib/components/form/document-editor/helpers/transform-sysname.d.ts +0 -5
  737. package/lib/components/form/document-editor/models/document-editor-short-codes.enum.d.ts +0 -6
  738. package/lib/services/mrx-form-validator/constants/invalid-messages.d.ts +0 -9
  739. package/lib/services/mrx-form-validator/helpers/get-error-message.helper.d.ts +0 -3
  740. package/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.d.ts +0 -2
  741. package/lib/services/mrx-form-validator/models/index.d.ts +0 -3
  742. package/lib/services/mrx-form-validator/models/validations-options.model.d.ts +0 -28
  743. package/lib/services/mrx-form-validator/models/validations-settings.model.d.ts +0 -7
  744. package/lib/services/mrx-form-validator/models/validations-types.model.d.ts +0 -19
  745. package/lib/services/mrx-form-validator/validations/callback.validation.d.ts +0 -6
  746. package/lib/services/mrx-form-validator/validations/email.validation.d.ts +0 -6
  747. package/lib/services/mrx-form-validator/validations/max-length.validation.d.ts +0 -6
  748. package/lib/services/mrx-form-validator/validations/max-value.validation.d.ts +0 -6
  749. package/lib/services/mrx-form-validator/validations/min-length.validation.d.ts +0 -6
  750. package/lib/services/mrx-form-validator/validations/min-value.validation.d.ts +0 -6
  751. package/lib/services/mrx-form-validator/validations/pattern.validation.d.ts +0 -6
  752. package/lib/services/mrx-form-validator/validations/required.validation.d.ts +0 -6
@@ -1 +0,0 @@
1
- {"version":3,"file":"myrta-ui.mjs","sources":["../../../projects/myrta-ui/src/lib/components/button/button.enum.ts","../../../projects/myrta-ui/src/lib/components/loader/loader.enum.ts","../../../projects/myrta-ui/src/lib/components/loader/loader.component.ts","../../../projects/myrta-ui/src/lib/components/loader/loader.component.html","../../../projects/myrta-ui/src/lib/pipes/safe/safe.pipe.ts","../../../projects/myrta-ui/src/lib/components/button/button.component.ts","../../../projects/myrta-ui/src/lib/components/button/button.component.html","../../../projects/myrta-ui/src/lib/pipes/safe/safe.module.ts","../../../projects/myrta-ui/src/lib/components/loader/loader.module.ts","../../../projects/myrta-ui/src/lib/components/button/button.module.ts","../../../projects/myrta-ui/src/lib/components/alert/alert.enum.ts","../../../projects/myrta-ui/src/lib/components/alert/alert.component.ts","../../../projects/myrta-ui/src/lib/components/alert/alert.component.html","../../../projects/myrta-ui/src/lib/components/alert/alert.module.ts","../../../projects/myrta-ui/src/lib/components/badges/badge.enum.ts","../../../projects/myrta-ui/src/lib/components/link/link.enum.ts","../../../projects/myrta-ui/src/lib/components/badges/components/badge/badge.component.ts","../../../projects/myrta-ui/src/lib/components/badges/components/badge/badge.component.html","../../../projects/myrta-ui/src/lib/components/badges/components/badge-group/badge-group.component.ts","../../../projects/myrta-ui/src/lib/components/badges/components/badge-group/badge-group.component.html","../../../projects/myrta-ui/src/lib/components/badges/badges.module.ts","../../../projects/myrta-ui/src/lib/components/breadcrumbs/breadcrumbs.enum.ts","../../../projects/myrta-ui/src/lib/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/myrta-ui/src/lib/components/breadcrumbs/breadcrumbs.component.html","../../../projects/myrta-ui/src/lib/components/breadcrumbs/breadcrumbs.module.ts","../../../projects/myrta-ui/src/lib/components/link/link.component.ts","../../../projects/myrta-ui/src/lib/components/link/link.component.html","../../../projects/myrta-ui/src/lib/components/link/link.module.ts","../../../projects/myrta-ui/src/lib/helpers/string-hash-code.ts","../../../projects/myrta-ui/src/lib/components/tooltip/services/tooltip.service.ts","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip.enum.ts","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip.component.ts","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip.component.html","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.ts","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.ts","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.html","../../../projects/myrta-ui/src/lib/components/form/switch/switch.enum.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-input/save-state-input.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-input/save-state-input.component.html","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.html","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.html","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-switch/save-state-switch.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-switch/save-state-switch.component.html","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-editor/save-state-editor.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/components/save-state-editor/save-state-editor.component.html","../../../projects/myrta-ui/src/lib/components/save-state/save-state.component.ts","../../../projects/myrta-ui/src/lib/components/save-state/save-state.component.html","../../../projects/myrta-ui/src/lib/components/form/switch/switch.component.ts","../../../projects/myrta-ui/src/lib/components/form/switch/switch.component.html","../../../projects/myrta-ui/src/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.ts","../../../projects/myrta-ui/src/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.html","../../../projects/myrta-ui/src/lib/components/cdk-tooltip/constants/index.ts","../../../projects/myrta-ui/src/lib/components/cdk-tooltip/cdk-tooltip.directive.ts","../../../projects/myrta-ui/src/lib/components/label/label.component.ts","../../../projects/myrta-ui/src/lib/components/label/label.component.html","../../../projects/myrta-ui/src/lib/components/tooltip/tooltip.module.ts","../../../projects/myrta-ui/src/lib/components/save-state/save-state.module.ts","../../../projects/myrta-ui/src/lib/components/form/switch/switch.module.ts","../../../projects/myrta-ui/src/lib/components/cdk-tooltip/cdk-tooltip.module.ts","../../../projects/myrta-ui/src/lib/components/label/label.module.ts","../../../projects/myrta-ui/src/lib/components/dropdown/dropdown.component.ts","../../../projects/myrta-ui/src/lib/components/dropdown/dropdown.component.html","../../../projects/myrta-ui/src/lib/components/dropdown/directives/hide-after-click.directive.ts","../../../projects/myrta-ui/src/lib/components/dropdown/dropdown.module.ts","../../../projects/myrta-ui/src/lib/components/error-message/error-message.component.ts","../../../projects/myrta-ui/src/lib/components/error-message/error-message.component.html","../../../projects/myrta-ui/src/lib/components/error-message/error-message.module.ts","../../../projects/myrta-ui/src/lib/components/hint-error-message/hint-error-message.component.ts","../../../projects/myrta-ui/src/lib/components/hint-error-message/hint-error-message.component.html","../../../projects/myrta-ui/src/lib/components/hint-error-message/hint-error-message.module.ts","../../../projects/myrta-ui/src/lib/components/icon-button/icon-button.enum.ts","../../../projects/myrta-ui/src/lib/components/icon-button/icon-button.component.ts","../../../projects/myrta-ui/src/lib/components/icon-button/icon-button.component.html","../../../projects/myrta-ui/src/lib/components/icon-button/icon-button.module.ts","../../../projects/myrta-ui/src/lib/components/modal/modal.emun.ts","../../../projects/myrta-ui/src/lib/components/modal/modal.component.ts","../../../projects/myrta-ui/src/lib/components/modal/modal.component.html","../../../projects/myrta-ui/src/lib/components/modal/modal.module.ts","../../../projects/myrta-ui/src/lib/components/paginator/paginator.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-select/input-select.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-select/input-select.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-select/input-select.component.html","../../../projects/myrta-ui/src/lib/components/paginator/paginator.component.ts","../../../projects/myrta-ui/src/lib/components/paginator/paginator.component.html","../../../projects/myrta-ui/src/lib/components/form/input-select/input-select.module.ts","../../../projects/myrta-ui/src/lib/components/paginator/paginator.module.ts","../../../projects/myrta-ui/src/lib/components/progress/progress.enum.ts","../../../projects/myrta-ui/src/lib/components/progress/progress.component.ts","../../../projects/myrta-ui/src/lib/components/progress/progress.component.html","../../../projects/myrta-ui/src/lib/components/progress/progress.module.ts","../../../projects/myrta-ui/src/lib/components/context-menu/context-menu.tokens.ts","../../../projects/myrta-ui/src/lib/components/context-menu/components/context-menu-content/context-menu-content.component.ts","../../../projects/myrta-ui/src/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.ts","../../../projects/myrta-ui/src/lib/components/context-menu/services/context-menu/context-menu.service.ts","../../../projects/myrta-ui/src/lib/components/context-menu/components/context-menu/context-menu.component.ts","../../../projects/myrta-ui/src/lib/components/context-menu/directives/context-menu/context-menu.directive.ts","../../../projects/myrta-ui/src/lib/components/context-menu/context-menu.module.ts","../../../projects/myrta-ui/src/lib/components/context-menu/services/context-menu/context-menu-fixed.service.ts","../../../projects/myrta-ui/src/lib/components/stepper/stepper.component.ts","../../../projects/myrta-ui/src/lib/components/stepper/stepper.component.html","../../../projects/myrta-ui/src/lib/components/stepper/stepper.module.ts","../../../projects/myrta-ui/src/lib/components/stepper/stepper.enum.ts","../../../projects/myrta-ui/src/lib/components/table/table.enum.ts","../../../projects/myrta-ui/src/lib/components/table/components/column/column.component.ts","../../../projects/myrta-ui/src/lib/components/table/default/default-pager-settings.ts","../../../projects/myrta-ui/src/lib/components/table/table.component.ts","../../../projects/myrta-ui/src/lib/components/table/table.component.html","../../../projects/myrta-ui/src/lib/components/table/table.module.ts","../../../projects/myrta-ui/src/lib/components/tabs/tabs.enum.ts","../../../projects/myrta-ui/src/lib/components/tabs/tabs-group/tabs-group.component.ts","../../../projects/myrta-ui/src/lib/components/tabs/tabs-group/tabs-group.component.html","../../../projects/myrta-ui/src/lib/components/tabs/tab/tab.component.ts","../../../projects/myrta-ui/src/lib/components/tabs/tab/tab.component.html","../../../projects/myrta-ui/src/lib/components/tabs/tabs.module.ts","../../../projects/myrta-ui/src/lib/components/truncate-text/directives/truncate-text.directive.ts","../../../projects/myrta-ui/src/lib/components/truncate-text/truncate-text.component.ts","../../../projects/myrta-ui/src/lib/components/truncate-text/truncate-text.component.html","../../../projects/myrta-ui/src/lib/components/truncate-text/truncate-text.module.ts","../../../projects/myrta-ui/src/lib/components/warning-message/warning-message.component.ts","../../../projects/myrta-ui/src/lib/components/warning-message/warning-message.component.html","../../../projects/myrta-ui/src/lib/components/warning-message/warning-message.module.ts","../../../projects/myrta-ui/src/lib/components/gallery/constants/custom-buttons-default.ts","../../../projects/myrta-ui/src/lib/components/gallery/constants/thumbs-config-default.ts","../../../projects/myrta-ui/src/lib/components/gallery/services/gallery.service.ts","../../../projects/myrta-ui/src/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.ts","../../../projects/myrta-ui/src/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.html","../../../projects/myrta-ui/src/lib/services/mrx-autosave/mrx-autosave.service.ts","../../../projects/myrta-ui/src/lib/services/file-upload/file-upload.service.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/models/validations-types.model.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/helpers/get-error-message.helper.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/required.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/email.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/pattern.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/max-length.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/min-length.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/min-value.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/max-value.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/validations/callback.validation.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/constants/invalid-messages.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.ts","../../../projects/myrta-ui/src/lib/services/mrx-form-validator/mrx-form-validator.ts","../../../projects/myrta-ui/src/lib/services/save-store/constants/constants.ts","../../../projects/myrta-ui/src/lib/services/save-store/store/state.ts","../../../projects/myrta-ui/src/lib/services/save-store/store/actions.ts","../../../projects/myrta-ui/src/lib/services/save-store/store/reducer.ts","../../../projects/myrta-ui/src/lib/services/save-store/store/effect.ts","../../../projects/myrta-ui/src/lib/services/save-store/save-store.module.ts","../../../projects/myrta-ui/src/lib/services/save-store/store/selectors.ts","../../../projects/myrta-ui/src/lib/components/form/input-textarea/input-textarea.enum.ts","../../../projects/myrta-ui/src/lib/components/chars-left/chars-left.component.ts","../../../projects/myrta-ui/src/lib/components/chars-left/chars-left.component.html","../../../projects/myrta-ui/src/lib/directives/autosize/autosize.directive.ts","../../../projects/myrta-ui/src/lib/components/form/input-textarea/input-textarea.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-textarea/input-textarea.component.html","../../../projects/myrta-ui/src/lib/components/gallery/components/gallery-item/gallery-item.component.ts","../../../projects/myrta-ui/src/lib/components/gallery/components/gallery-item/gallery-item.component.html","../../../projects/myrta-ui/src/lib/components/gallery/gallery.component.ts","../../../projects/myrta-ui/src/lib/components/gallery/gallery.component.html","../../../projects/myrta-ui/src/lib/components/chars-left/chars-left.module.ts","../../../projects/myrta-ui/src/lib/directives/autosize/autosize.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-textarea/input-textarea.module.ts","../../../projects/myrta-ui/src/lib/components/gallery/gallery.module.ts","../../../projects/myrta-ui/src/lib/components/pages-nav/pages-nav.enum.ts","../../../projects/myrta-ui/src/lib/components/pages-nav/pages-nav.component.ts","../../../projects/myrta-ui/src/lib/components/pages-nav/pages-nav.component.html","../../../projects/myrta-ui/src/lib/components/pages-nav/pages-nav.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-text/input-text.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-text/input-text.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-text/input-text.component.html","../../../projects/myrta-ui/src/lib/components/form/input-text/input-text.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/enums/country-iso.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/data/country-code.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/input-phone.validator.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/enums/phone-number-format.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/enums/search-country-field.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/enums/input-phone.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/enums/mask.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/directives/native-element-injector.directive.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/input-phone.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-phone/input-phone.component.html","../../../projects/myrta-ui/src/lib/components/form/input-phone/input-phone.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-search/input-search.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-search/input-search.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-search/input-search.component.html","../../../projects/myrta-ui/src/lib/components/form/input-search/input-search.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/input-datepicker.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/validate-value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/constants/value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/value-parser.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/cursor-position.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/clean-date.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/helpers/get-date-object.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/input-datepicker.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/input-datepicker.component.html","../../../projects/myrta-ui/src/lib/components/form/input-datepicker/input-datepicker.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/input-date-time.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/validate-value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/constants/value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/enum/timezone.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/value-parser.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/cursor-position.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/clean-date.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/helpers/formatting-from-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/input-date-time.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-date-time/input-date-time.component.html","../../../projects/myrta-ui/src/lib/components/form/input-date-time/input-date-time.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/input-timepicker.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/validate-value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/constants/value-models.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/value-parser.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/cursor-position.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/clean-date.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/helpers/get-date-object.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/input-timepicker.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/input-timepicker.component.html","../../../projects/myrta-ui/src/lib/components/form/input-timepicker/input-timepicker.module.ts","../../../projects/myrta-ui/src/lib/components/form/editor/modules/change-icon-module.ts","../../../projects/myrta-ui/src/lib/components/form/editor/config/toolbar.ts","../../../projects/myrta-ui/src/lib/components/form/editor/config/popups-toolbar.ts","../../../projects/myrta-ui/src/lib/components/form/editor/config/default-inline-style.ts","../../../projects/myrta-ui/src/lib/components/form/editor/editor.component.ts","../../../projects/myrta-ui/src/lib/components/form/editor/editor.component.html","../../../projects/myrta-ui/src/lib/components/form/editor/editor.module.ts","../../../projects/myrta-ui/src/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.ts","../../../projects/myrta-ui/src/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.html","../../../projects/myrta-ui/src/lib/components/form/document-editor/helpers/transform-sysname.ts","../../../projects/myrta-ui/src/lib/components/form/document-editor/document-editor.component.ts","../../../projects/myrta-ui/src/lib/components/form/document-editor/document-editor.component.html","../../../projects/myrta-ui/src/lib/components/form/document-editor/document-editor.module.ts","../../../projects/myrta-ui/src/lib/components/form/rating/rating.enum.ts","../../../projects/myrta-ui/src/lib/helpers/number-format.ts","../../../projects/myrta-ui/src/lib/components/form/rating/rating.component.ts","../../../projects/myrta-ui/src/lib/components/form/rating/rating.component.html","../../../projects/myrta-ui/src/lib/components/form/rating/rating.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-number/input-number.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-number/input-number.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-number/input-number.component.html","../../../projects/myrta-ui/src/lib/components/form/input-number/input-number.module.ts","../../../projects/myrta-ui/src/lib/helpers/extension/input-file.extension.ts","../../../projects/myrta-ui/src/lib/components/form/input-file/enums/error-messages.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-file/input-file.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-file/input-file.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-file/input-file.component.html","../../../projects/myrta-ui/src/lib/components/form/input-file/input-file.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.html","../../../projects/myrta-ui/src/lib/components/form/input-file-image/input-file-image.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-file-image/input-file-image.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-file-image/input-file-image.component.html","../../../projects/myrta-ui/src/lib/components/form/input-file-image/input-file-image.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/models/input-opt.model.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/components/input-opt/input-opt.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/services/input-opt.service.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/directives/opt-pattern.directive.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/components/input-opt/input-opt.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-opt/components/input-opt/input-opt.component.html","../../../projects/myrta-ui/src/lib/components/form/input-opt/input-opt.module.ts","../../../projects/myrta-ui/src/lib/components/form/input-password/input-password.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-password/input-password.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-password/input-password.component.html","../../../projects/myrta-ui/src/lib/components/form/input-password/input-password.module.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox/checkbox.component.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox/checkbox.component.html","../../../projects/myrta-ui/src/lib/components/form/checkbox/checkbox.module.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/get-sorted-list.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/filter-search-group.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/get-item-by-id.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/change-item-value.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/change-group-value.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/helpers/get-checked-items.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.html","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.html","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/checkbox-group.component.ts","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/checkbox-group.component.html","../../../projects/myrta-ui/src/lib/components/form/checkbox-group/checkbox-group.module.ts","../../../projects/myrta-ui/src/lib/components/form/radio/radio.enum.ts","../../../projects/myrta-ui/src/lib/components/form/radio/radio.component.ts","../../../projects/myrta-ui/src/lib/components/form/radio/radio.component.html","../../../projects/myrta-ui/src/lib/components/form/radio/radio.module.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/helpers/move-selected-to-first.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/helpers/filter-search-group.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/helpers/get-item-by-id.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.html","../../../projects/myrta-ui/src/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.html","../../../projects/myrta-ui/src/lib/components/form/radio-group/radio-group.component.ts","../../../projects/myrta-ui/src/lib/components/form/radio-group/radio-group.component.html","../../../projects/myrta-ui/src/lib/components/form/radio-group/radio-group.module.ts","../../../projects/myrta-ui/src/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.ts","../../../projects/myrta-ui/src/lib/components/wrappers/widget-wrapper/widget-wrapper.component.ts","../../../projects/myrta-ui/src/lib/components/wrappers/widget-wrapper/widget-wrapper.component.html","../../../projects/myrta-ui/src/lib/components/wrappers/widget-wrapper/widget-wrapper.module.ts","../../../projects/myrta-ui/src/lib/components/wrappers/content-wrapper/content-wrapper.enum.ts","../../../projects/myrta-ui/src/lib/components/wrappers/content-wrapper/content-wrapper.component.ts","../../../projects/myrta-ui/src/lib/components/wrappers/content-wrapper/content-wrapper.component.html","../../../projects/myrta-ui/src/lib/components/wrappers/content-wrapper/content-wrapper.module.ts","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.ts","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/controls-wrapper.component.ts","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/controls-wrapper.component.html","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.ts","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.html","../../../projects/myrta-ui/src/lib/components/wrappers/controls-wrapper/controls-wrapper.module.ts","../../../projects/myrta-ui/src/lib/directives/truncate/truncate.directive.ts","../../../projects/myrta-ui/src/lib/directives/truncate/truncate.module.ts","../../../projects/myrta-ui/src/lib/pipes/date/enums/timezone.ts","../../../projects/myrta-ui/src/lib/pipes/date/helpers/change-timezone.ts","../../../projects/myrta-ui/src/lib/pipes/date/date-format.pipe.ts","../../../projects/myrta-ui/src/lib/pipes/date/date-time-format.pipe.ts","../../../projects/myrta-ui/src/lib/pipes/date/date-format.module.ts","../../../projects/myrta-ui/src/lib/pipes/phone/phone-format.pipe.ts","../../../projects/myrta-ui/src/lib/pipes/phone/phone-format.module.ts","../../../projects/myrta-ui/src/lib/pipes/currency/currency.pipe.ts","../../../projects/myrta-ui/src/lib/pipes/currency/currency.module.ts","../../../projects/myrta-ui/src/lib/pipes/truncate/truncate.pipe.ts","../../../projects/myrta-ui/src/lib/pipes/truncate/truncate.module.ts","../../../projects/myrta-ui/src/lib/helpers/word-form.ts","../../../projects/myrta-ui/src/lib/helpers/formatting-date.ts","../../../projects/myrta-ui/src/lib/helpers/formatting-iso-to-string.ts","../../../projects/myrta-ui/src/lib/helpers/formatting-dates-from-array.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/data/search-country-field.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/data/country-iso.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/data/all-countries.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/assets/base64.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/enums/input-phone.enum.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/directives/input-tel.directive.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/input-tel.component.ts","../../../projects/myrta-ui/src/lib/components/form/input-tel/input-tel.component.html","../../../projects/myrta-ui/src/lib/components/form/input-tel/input-tel.module.ts","../../../projects/myrta-ui/src/public-api.ts","../../../projects/myrta-ui/src/myrta-ui.ts"],"sourcesContent":["export enum ButtonTypesEnum {\r\n 'primary' = 'mrx-btn-primary',\r\n 'secondary' = 'mrx-btn-secondary',\r\n 'tertiary' = 'mrx-btn-tertiary',\r\n}\r\n\r\nexport type ButtonTypes = 'primary' | 'secondary' | 'tertiary'\r\n\r\nexport enum ButtonSizesEnum {\r\n 'small' = 'mrx-btn-sm',\r\n 'medium' = 'mrx-btn-md',\r\n 'large' = 'mrx-btn-lg',\r\n}\r\n\r\nexport type ButtonAttrTypes = 'button' | 'reset' | 'submit'\r\n\r\nexport type ButtonSizesTypes = 'small' | 'medium' | 'large'\r\n\r\nexport enum ButtonColorsEnum {\r\n 'default'= '',\r\n 'red' = 'red',\r\n 'yellow' = 'yellow',\r\n 'green' = 'green',\r\n 'attention' = 'mrx-btn-color-attention',\r\n 'positive' = 'mrx-btn-color-positive',\r\n 'negative' = 'mrx-btn-color-negative',\r\n}\r\n\r\nexport type ButtonColorsTypes= 'red' | 'green' | 'yellow' | 'default' | 'attention' | 'positive' | 'negative'\r\n\r\nexport enum ButtonIconPositionEnum {\r\n 'none'= '',\r\n 'left' = 'icon-left',\r\n 'right' = 'icon-right',\r\n}\r\n\r\nexport type ButtonIconPositionTypes= 'none' | 'left' | 'right'\r\n","export enum LoaderSizesEnum {\r\n 'extra-small' = 'mrx-loader-extra-sm',\r\n 'small' = 'mrx-loader-sm',\r\n 'medium' = 'mrx-loader-md',\r\n 'large' = 'mrx-loader-lg',\r\n}\r\n\r\nexport type LoaderSizesTypes = 'extra-small' | 'small' | 'medium' | 'large'\r\n\r\nexport enum LoaderColorEnum {\r\n 'black' = 'color-black',\r\n 'white' = 'color-white',\r\n 'brand' = 'color-brand',\r\n 'negative' = 'color-negative',\r\n 'positive' = 'color-positive',\r\n 'attention' = 'color-attention',\r\n 'red' = 'color-negative',\r\n 'green' = 'color-positive',\r\n 'yellow' = 'color-attention'\r\n}\r\n\r\nexport type LoaderColorTypes = 'black' | 'white' | 'brand' | 'red' | 'green' | 'yellow' | 'attention' | 'positive' | 'negative'\r\n","import { Component, Input } from '@angular/core';\r\nimport { LoaderColorEnum, LoaderColorTypes, LoaderSizesEnum, LoaderSizesTypes } from './loader.enum';\r\n\r\n@Component({\r\n selector: 'mrx-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.less']\r\n})\r\nexport class LoaderComponent {\r\n @Input() size: LoaderSizesTypes = 'small'\r\n @Input() color: LoaderColorTypes = 'black'\r\n @Input() customClasses = '';\r\n\r\n public get getClasses(): string {\r\n return `${LoaderSizesEnum[this.size]} ${LoaderColorEnum[this.color]} ${this.customClasses}`;\r\n }\r\n}\r\n","<div class=\"mrx-loader\" [class]=\"getClasses\">\r\n <svg viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_17612_14183)\">\r\n <circle class=\"mrx-loader--circle\" cx=\"16\" cy=\"16\" r=\"14.1714\" stroke-width=\"3\"/>\r\n <path class=\"mrx-loader--line\" d=\"M30.1714 16C30.1714 8.17334 23.8267 1.82857 16 1.82857\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_17612_14183\">\r\n <rect width=\"32\" height=\"32\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: 'safe'\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n\r\n constructor(private sanitizer:DomSanitizer){}\r\n\r\n transform(html: any) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { LoaderColorTypes, LoaderSizesTypes } from '../loader/loader.enum';\r\nimport {\r\n ButtonAttrTypes,\r\n ButtonColorsEnum,\r\n ButtonColorsTypes,\r\n ButtonIconPositionEnum,\r\n ButtonIconPositionTypes,\r\n ButtonSizesEnum,\r\n ButtonSizesTypes,\r\n ButtonTypes,\r\n ButtonTypesEnum\r\n} from './button.enum';\r\n\r\n@Component({\r\n selector: 'mrx-button',\r\n templateUrl: 'button.component.html',\r\n styleUrls: ['./button.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ButtonComponent {\r\n @Input() size: ButtonSizesTypes = 'large';\r\n @Input() type: ButtonTypes = 'primary';\r\n @Input() color: ButtonColorsTypes = 'default';\r\n @Input() iconPosition: ButtonIconPositionTypes = 'left';\r\n @Input() active: boolean = false;\r\n @Input() disabled: boolean = false;\r\n @Input() isLoading: boolean = false;\r\n @Input() iconOnly: boolean = false;\r\n @Input() customClasses: string = '';\r\n @Input() label: string = '';\r\n @Input() icon: string = '';\r\n @Input() iconClass: string = '';\r\n @Input() buttonType: ButtonAttrTypes = 'button';\r\n\r\n @Output() mrxClick = new EventEmitter<MouseEvent>();\r\n\r\n public get getLabel(): null | string {\r\n return this.iconOnly ? null : this.label\r\n }\r\n\r\n public get isIcon(): boolean {\r\n return this.iconPosition !== 'none'\r\n }\r\n\r\n public get isIconLeft(): boolean {\r\n return this.iconPosition === 'left'\r\n }\r\n\r\n public get isIconRight(): boolean {\r\n return this.iconPosition === 'right'\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${ButtonSizesEnum[this.size]} ${ButtonTypesEnum[this.type]} ${ButtonColorsEnum[this.color]} ${this.customClasses} ${ButtonIconPositionEnum[this.iconPosition]}`;\r\n }\r\n\r\n public get getLoaderColor(): LoaderColorTypes {\r\n if (this.disabled) {\r\n return 'black'\r\n }\r\n if (this.color === 'default') {\r\n return this.type === 'primary' ? 'white' : 'brand'\r\n } else if (this.type === 'primary') {\r\n return 'white'\r\n } else {\r\n return this.color\r\n }\r\n }\r\n\r\n public get getLoaderSize(): LoaderSizesTypes {\r\n return this.size === 'large' ? 'small' : this.size === 'medium' ? 'small' : 'extra-small'\r\n }\r\n\r\n public get getReplacedIcon(): string {\r\n return this.icon.replace(/\"([^\"]+)\"/g, '\\'$1\\'')\r\n }\r\n\r\n public buttonClick($event: MouseEvent): void {\r\n if (!this.disabled) {\r\n this.mrxClick.emit($event)\r\n } else {\r\n $event.stopPropagation()\r\n }\r\n }\r\n}\r\n","<button\r\n class=\"mrx-btn\"\r\n [class]=\"getClasses\"\r\n [class.active]=\"active\"\r\n [class.icon-only]=\"iconOnly\"\r\n [class.icon-loading]=\"isLoading && !disabled\"\r\n [disabled]=\"disabled\"\r\n [type]=\"buttonType\"\r\n (click)=\"buttonClick($event)\"\r\n>\r\n <ng-template #spinner>\r\n <mrx-loader [color]=\"getLoaderColor\" [size]=\"getLoaderSize\"></mrx-loader>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"isIconLeft && isLoading && !disabled\">\r\n <div\r\n class=\"icon-wrapper\"\r\n [class.mr-1]=\"size === 'small' && !iconOnly\"\r\n [class.mr-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"spinner\"></ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <div\r\n class=\"icon-wrapper\"\r\n [class.mr-1]=\"size === 'small' && !iconOnly\"\r\n [class.mr-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n *ngIf=\"icon && isIconLeft && !isLoading\" [innerHTML]=\"getReplacedIcon | safe\"\r\n ></div>\r\n\r\n <div\r\n class=\"icon-wrapper\"\r\n [class.mr-1]=\"size === 'small' && !iconOnly\"\r\n [class.mr-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n *ngIf=\"iconClass && isIconLeft && !isLoading\"\r\n >\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-24]=\"size === 'large' || size === 'medium'\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"mrx-btn-label\">{{ getLabel }}\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <div\r\n class=\"icon-wrapper\"\r\n [class.ml-1]=\"size === 'small' && !iconOnly\"\r\n [class.ml-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n *ngIf=\"iconClass && isIconRight && !isLoading\"\r\n >\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-24]=\"size === 'large' || size === 'medium'\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n ></span>\r\n </div>\r\n\r\n <div\r\n class=\"icon-wrapper\"\r\n [class.ml-1]=\"size === 'small' && !iconOnly\"\r\n [class.ml-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n *ngIf=\"icon && isIconRight && !isLoading\" [innerHTML]=\"getReplacedIcon | safe\"\r\n ></div>\r\n\r\n <ng-container *ngIf=\"isIconRight && isLoading && !disabled\">\r\n <div\r\n class=\"icon-wrapper\"\r\n (click)=\"$event.preventDefault()\"\r\n [class.ml-1]=\"size === 'small' && !iconOnly\"\r\n [class.ml-2]=\"(size === 'large' || size === 'medium') && !iconOnly\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"spinner\"></ng-container>\r\n </div>\r\n </ng-container>\r\n</button>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SafePipe } from \"./safe.pipe\";\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [SafePipe],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [SafePipe]\r\n})\r\nexport class SafeModule { }\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoaderComponent } from './loader.component';\r\n\r\n@NgModule({\r\n declarations: [LoaderComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [LoaderComponent]\r\n})\r\nexport class LoaderModule { }\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent } from './button.component';\r\nimport { SafeModule } from '../../pipes/safe/safe.module';\r\nimport { LoaderModule } from '../loader/loader.module';\r\n\r\n@NgModule({\r\n declarations: [ButtonComponent],\r\n imports: [CommonModule, SafeModule, LoaderModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ButtonComponent],\r\n})\r\nexport class ButtonModule {}\r\n","export type AlertColors = 'danger' | 'warning' | 'success' | 'info';\r\n\r\nexport enum AlertColorClasses {\r\n 'info' = 'color-info',\r\n 'success' = 'color-success',\r\n 'warning' = 'color-warning',\r\n 'danger' = 'color-danger',\r\n}\r\n\r\nexport enum AlertIconClasses {\r\n 'info' = 'icon-info',\r\n 'success' = 'icon-check-task',\r\n 'warning' = 'icon-attention',\r\n 'danger' = 'icon-attention',\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { AlertColorClasses, AlertColors, AlertIconClasses } from './alert.enum';\r\n\r\n@Component({\r\n selector: 'mrx-alert',\r\n templateUrl: 'alert.component.html',\r\n styleUrls: ['./alert.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AlertComponent {\r\n @Input() customClasses: string = '';\r\n @Input() color: AlertColors = 'info';\r\n @Input() customColor: string = '';\r\n @Input() message = '';\r\n @Input() title = '';\r\n @Input() closable = false;\r\n @Output() close: EventEmitter<unknown> = new EventEmitter();\r\n\r\n public get getClasses() {\r\n return `${AlertColorClasses[this.color] ?? ''} ${this.customClasses}`;\r\n }\r\n\r\n public get getIconClass() {\r\n return `${AlertIconClasses[this.color]}`;\r\n }\r\n\r\n public onCloseClick(): void {\r\n this.close.emit(null);\r\n }\r\n}\r\n","<div class=\"mrx-alert\" [class]=\"getClasses\" [style]=\"{backgroundColor: customColor}\">\r\n <span\r\n *ngIf=\"closable\"\r\n class=\"mrx-icon icon-close icon-font-16\"\r\n (click)=\"onCloseClick()\"\r\n ></span>\r\n <span\r\n *ngIf=\"title || message\"\r\n [class]=\"getIconClass\"\r\n style=\"margin-top: 1px\"\r\n class=\"mrx-icon icon-alert icon-font-16 mr-2\"\r\n ></span>\r\n <div *ngIf=\"title\" class=\"mrx-alert-title mb-1\" [class.ml-4]=\"getIconClass\" [innerHTML]=\"title\"></div>\r\n <div *ngIf=\"message\" class=\"mrx-alert-message\" [class.ml-4]=\"getIconClass\" [innerHTML]=\"message\"></div>\r\n\r\n <ng-content></ng-content>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AlertComponent } from './alert.component';\r\n\r\n@NgModule({\r\n declarations: [AlertComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [AlertComponent],\r\n})\r\nexport class AlertModule {}\r\n","export enum BadgeTypeEnum {\r\n 'default' = 'mrx-type-default',\r\n 'circle' = 'mrx-type-circle'\r\n}\r\nexport type BadgeType = 'default' | 'circle'\r\n\r\nexport enum BadgeSizeEnum {\r\n 'default' = 'mrx-size-default',\r\n 'small' = 'mrx-size-small'\r\n}\r\nexport type BadgeSizeType = 'small' | 'default'\r\n\r\nexport enum BadgeTagTypeClassesEnum {\r\n 'tag' = 'mrx-badge-tag',\r\n 'link' = 'mrx-badge-link',\r\n 'button' = 'mrx-badge-button'\r\n}\r\nexport type BadgeTagType = 'tag' | 'link' | 'button'\r\n\r\nexport enum BadgeColorClassesEnum {\r\n 'positive' = 'mrx-badge-color-positive',\r\n 'negative' = 'mrx-badge-color-negative',\r\n 'attention' = 'mrx-badge-color-attention',\r\n 'neutral' = 'mrx-badge-color-neutral',\r\n 'brand' = 'mrx-badge-color-brand',\r\n}\r\n\r\nexport type BadgeColorType = 'positive' | 'negative' | 'attention' | 'neutral' | 'brand'\r\n\r\nexport interface BadgeI {\r\n type?: BadgeType,\r\n tag?: BadgeTagType,\r\n color?: BadgeColorType,\r\n path?: string,\r\n text: string\r\n}\r\n\r\nexport enum BadgeTargetTypesEnum {\r\n '_self' = '_self',\r\n '_blank' = '_blank',\r\n '_parent' = '_parent',\r\n '_top' = '_top',\r\n}\r\n\r\nexport type BadgeTargetTypes = '_self' | '_blank' | '_parent' | '_top'\r\n","export enum LinkTypesEnum {\r\n 'default' = 'mrx-link-default',\r\n 'navigational' = 'mrx-link-navigational',\r\n 'pseudo' = 'mrx-link-pseudo',\r\n}\r\n\r\nexport type LinkTypes = 'default' | 'navigational' | 'pseudo'\r\n\r\nexport enum LinkTargetTypesEnum {\r\n '_self' = '_self',\r\n '_blank' = '_blank',\r\n '_parent' = '_parent',\r\n '_top' = '_top',\r\n}\r\n\r\nexport type LinkTargetTypes = '_self' | '_blank' | '_parent' | '_top'\r\n\r\nexport enum LinkSizesEnum {\r\n 'small' = 'small',\r\n 'medium' = 'medium',\r\n 'large' = 'large'\r\n}\r\n\r\nexport type LinkSizesTypes = 'small' | 'medium' | 'large';\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport {\r\n BadgeColorClassesEnum,\r\n BadgeColorType,\r\n BadgeI,\r\n BadgeSizeEnum,\r\n BadgeSizeType,\r\n BadgeTagType,\r\n BadgeTagTypeClassesEnum,\r\n BadgeTargetTypes,\r\n BadgeType,\r\n BadgeTypeEnum,\r\n} from '../../badge.enum';\r\nimport { LinkTargetTypesEnum } from '../../../link/link.enum';\r\n\r\n@Component({\r\n selector: 'mrx-badge',\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BadgeComponent {\r\n @Input() type: BadgeType = 'default'\r\n @Input() tag: BadgeTagType = 'tag'\r\n @Input() size: BadgeSizeType = 'default'\r\n @Input() color: BadgeColorType = 'brand'\r\n @Input() customColor: string | undefined\r\n @Input() text = ''\r\n @Input() path: string | undefined\r\n @Input() customClasses = ''\r\n @Input() target: BadgeTargetTypes = '_self';\r\n\r\n @Output() clicked: EventEmitter<BadgeI> = new EventEmitter<BadgeI>();\r\n\r\n public get getCustomColor(): string | null {\r\n return this.customColor ? this.customColor : null\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses} ${BadgeTagTypeClassesEnum[this.tag]} ${BadgeTypeEnum[this.type]} ${this.customColor ? '' : BadgeColorClassesEnum[this.color]} ${BadgeSizeEnum[this.size]}`;\r\n }\r\n\r\n public get getTarget(): string {\r\n return LinkTargetTypesEnum[this.target]\r\n }\r\n\r\n public onClick($event: MouseEvent): void {\r\n this.clicked.emit({\r\n type: this.type,\r\n color: this.color,\r\n text: this.text,\r\n path: this.path\r\n })\r\n }\r\n}\r\n","<ng-container [ngSwitch]=\"tag\">\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <button\r\n class=\"mrx-badge\"\r\n [class]=\"getClasses\"\r\n [style]=\"{ backgroundColor: getCustomColor }\"\r\n (click)=\"onClick($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>{{text}}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'link'\">\r\n <a [href]=\"path\" class=\"mrx-badge\" [class]=\"getClasses\" [style]=\"{ backgroundColor: getCustomColor }\" [target]=\"getTarget\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>{{text}}\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <span class=\"mrx-badge\" [class]=\"getClasses\" [style]=\"{ backgroundColor: getCustomColor }\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>{{text}}\r\n </span>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-badge-group',\r\n templateUrl: './badge-group.component.html',\r\n styleUrls: ['./badge-group.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BadgeGroupComponent {\r\n\r\n}\r\n","<div class=\"mrx-badge-group\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BadgeComponent } from './components/badge/badge.component';\r\nimport { BadgeGroupComponent } from './components/badge-group/badge-group.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n BadgeComponent,\r\n BadgeGroupComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [\r\n BadgeComponent,\r\n BadgeGroupComponent\r\n ]\r\n})\r\nexport class BadgesModule {}\r\n","export enum BreadcrumbsTypeEnum {\r\n 'default' = 'mrx-breadcrumbs-default',\r\n 'link' = 'mrx-breadcrumbs-link'\r\n}\r\nexport type BreadcrumbsType = 'default' | 'link'\r\n\r\nexport interface BreadcrumbsItemI {\r\n text: string,\r\n path?: string,\r\n isLink?: boolean,\r\n isShowArrow?: boolean\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { BreadcrumbsItemI, BreadcrumbsType, BreadcrumbsTypeEnum } from './breadcrumbs.enum';\r\n\r\n@Component({\r\n selector: 'mrx-breadcrumbs',\r\n templateUrl: './breadcrumbs.component.html',\r\n styleUrls: ['./breadcrumbs.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BreadcrumbsComponent {\r\n @Input() type: BreadcrumbsType = 'default'\r\n @Input() items: BreadcrumbsItemI[] = []\r\n @Input() item: BreadcrumbsItemI | undefined\r\n @Input() customClasses = ''\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses} ${BreadcrumbsTypeEnum[this.type]}`;\r\n }\r\n}\r\n","<div class=\"mrx-breadcrumbs\" [class]=\"getClasses\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'link'\">\r\n <a class=\"mrx-breadcrumbs__link\" *ngIf=\"item\" [href]=\"item.path\">\r\n <span class=\"mrx-icon icon-arrow-left icon-font-16 mr-1\" *ngIf=\"item.isShowArrow\"></span>\r\n {{item.text}}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ul class=\"mrx-breadcrumbs__list\">\r\n <li *ngFor=\"let item of items\" class=\"mrx-breadcrumbs__list-item\">\r\n <ng-container *ngIf=\"item.isLink; else span\">\r\n <a class=\"mrx-breadcrumbs__link mr-1\" [href]=\"item.path\">{{item.text}}</a>\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16 mr-1\"></span>\r\n </ng-container>\r\n\r\n <ng-template #span>\r\n <span class=\"mrx-breadcrumbs__tag\">{{item.text}}</span>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumbsComponent } from './breadcrumbs.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n BreadcrumbsComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [\r\n BreadcrumbsComponent\r\n ]\r\n})\r\nexport class BreadcrumbsModule { }\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport {\r\n LinkSizesEnum,\r\n LinkSizesTypes,\r\n LinkTargetTypes,\r\n LinkTargetTypesEnum,\r\n LinkTypes,\r\n LinkTypesEnum\r\n} from './link.enum';\r\n\r\n@Component({\r\n selector: 'mrx-link',\r\n templateUrl: './link.component.html',\r\n styleUrls: ['./link.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LinkComponent {\r\n @Input() type: LinkTypes = 'default';\r\n @Input() target: LinkTargetTypes = '_self';\r\n @Input() monochrome: boolean = false;\r\n @Input() customClasses: string = '';\r\n @Input() href: string = '#';\r\n @Input() prevent: boolean = false;\r\n @Input() size: LinkSizesTypes = 'medium';\r\n\r\n @Output() clicked = new EventEmitter<MouseEvent>();\r\n\r\n public get getClasses(): string {\r\n return `${LinkTypesEnum[this.type]} ${this.customClasses} ${this.monochrome ? 'mrx-link-monochrome' : 'mrx-link-colored'} ${LinkSizesEnum[this.size]}`;\r\n }\r\n\r\n public get getTarget(): string {\r\n return LinkTargetTypesEnum[this.target]\r\n }\r\n\r\n public onClick(event: any): void {\r\n if (this.prevent) {\r\n event.preventDefault()\r\n this.clicked.emit()\r\n }\r\n }\r\n}\r\n","<a\r\n class=\"mrx-link\"\r\n [class]=\"getClasses\"\r\n [href]=\"href\"\r\n [target]=\"getTarget\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <ng-content></ng-content>\r\n</a>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LinkComponent } from './link.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [LinkComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [LinkComponent],\r\n})\r\nexport class LinkModule { }\r\n","export const sHashCode = (str: string): number => {\r\n let hash = 0, i, chr;\r\n if (str.length === 0) return hash;\r\n for (i = 0; i < str.length; i++) {\r\n chr = str.charCodeAt(i);\r\n hash = (hash << 5) - hash + chr;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n return hash;\r\n};\r\n\r\nexport const getHashCode = (str: string): string => {\r\n const localHash = sHashCode(location.pathname + location.search)\r\n const stringHash = sHashCode(str)\r\n return `${localHash}_${stringHash}`\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { getHashCode } from '../../../helpers/string-hash-code';\r\n\r\n@Injectable()\r\nexport class TooltipService {\r\n\r\n private _tooltip: string = ''\r\n private _tooltipVisible: boolean = false\r\n private _isSaveToStorage: boolean = false\r\n\r\n private get localStorageKey() {\r\n return this.getTooltip ? `tooltip_${getHashCode(this.getTooltip)}` : null\r\n }\r\n\r\n public get getTooltip(): string {\r\n return this._tooltip\r\n }\r\n\r\n public set setTooltip(value: string) {\r\n this._tooltip = value\r\n }\r\n\r\n public get getSaveToStorage(): boolean {\r\n return this._isSaveToStorage\r\n }\r\n\r\n public set setSaveToStorage(value: boolean) {\r\n this._isSaveToStorage = value\r\n }\r\n\r\n public get getTooltipVisible(): boolean {\r\n return this._tooltipVisible\r\n }\r\n\r\n public set setTooltipVisible(value: boolean) {\r\n this._tooltipVisible = value || !!localStorage.getItem(<string>this.localStorageKey)\r\n\r\n if (this._tooltipVisible && this._isSaveToStorage) {\r\n localStorage.setItem(<string>this.localStorageKey, 'visible')\r\n }\r\n }\r\n\r\n public toggleTooltipVisibleFromCode(value: boolean): void {\r\n if (value && this._isSaveToStorage) {\r\n localStorage.setItem(<string>this.localStorageKey, 'visible')\r\n } else {\r\n localStorage.removeItem(<string>this.localStorageKey)\r\n }\r\n\r\n this._tooltipVisible = value\r\n }\r\n\r\n public toggleTooltipVisible(): void {\r\n if (this._isSaveToStorage) {\r\n if (localStorage.getItem(<string>this.localStorageKey)) {\r\n localStorage.removeItem(<string>this.localStorageKey)\r\n } else {\r\n localStorage.setItem(<string>this.localStorageKey, 'visible')\r\n }\r\n }\r\n\r\n\r\n this._tooltipVisible = !this._tooltipVisible\r\n }\r\n\r\n public initTooltip(tooltip: string, tooltipInitialVisible: boolean): void {\r\n this.setTooltip = tooltip\r\n this.setTooltipVisible = tooltipInitialVisible\r\n\r\n if (this._isSaveToStorage) {\r\n this._tooltipVisible = !!localStorage.getItem(<string>this.localStorageKey)\r\n }\r\n }\r\n}\r\n","export enum Tooltip {\r\n Showed = 'Свернуть подсказку',\r\n Hidden = 'Развернуть подсказку'\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Tooltip } from './tooltip.enum';\r\nimport { TooltipTriggerTypes } from './tooltip-trigger/tooltip-trigger.enum';\r\n\r\n@Component({\r\n selector: 'mrx-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less'],\r\n animations: [\r\n trigger('openClose', [\r\n state( 'open', style({ height: '*', padding: '*', 'margin-bottom': '8px' })),\r\n state( 'closed', style({ height: 0, padding: 0, 'margin-bottom': 0 })),\r\n transition('open => closed', [animate('0.5s ease')]),\r\n transition('closed => open', [animate('0.5s ease')]),\r\n ]),\r\n ],\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n public TooltipEnum = Tooltip\r\n\r\n @Input() public tooltip: string | null = '';\r\n @Input() public tooltipVisible: boolean = false;\r\n @Input() public tooltipInitiallyVisible: boolean = false;\r\n @Input() public triggerType: TooltipTriggerTypes = 'attention'\r\n\r\n @Output() public visibilityChanged: EventEmitter<boolean> = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.getTypeClass}`;\r\n }\r\n\r\n public get getTypeClass(): string {\r\n switch (this.triggerType) {\r\n case 'attention':\r\n return 'type-attention'\r\n case 'info':\r\n return 'type-info'\r\n default:\r\n return 'type-attention'\r\n }\r\n }\r\n\r\n}\r\n","<div [@openClose]=\"tooltipVisible ? 'open' : 'closed'\"\r\n class=\"mrx-tooltip-content\" [innerHTML]=\"tooltip\" [class]=\"getClasses\">\r\n</div>\r\n\r\n","export enum TooltipTextPositionEnum {\r\n default = 'trigger-top',\r\n right = 'trigger-right'\r\n}\r\n\r\nexport type TooltipTextPositionTypes = 'default' | 'right'\r\n\r\nexport enum TooltipTriggerEnum {\r\n attention = 'icon-help',\r\n info = 'icon-info'\r\n}\r\n\r\nexport type TooltipTriggerTypes = 'attention' | 'info'\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TooltipTextPositionEnum, TooltipTextPositionTypes, TooltipTriggerEnum, TooltipTriggerTypes } from './tooltip-trigger.enum';\r\n\r\n@Component({\r\n selector: 'mrx-tooltip-trigger',\r\n templateUrl: './tooltip-trigger.component.html',\r\n styleUrls: ['./tooltip-trigger.component.less'],\r\n providers: []\r\n})\r\nexport class TooltipTriggerComponent {\r\n @Input() public triggerTextPosition: TooltipTextPositionTypes = 'default'\r\n @Input() public triggerType: TooltipTriggerTypes = 'attention'\r\n @Input() public customClasses: string = ''\r\n\r\n @Input() public isVisibleTooltip: boolean = false\r\n @Output() public toggleTooltip: EventEmitter<void> = new EventEmitter<void>()\r\n\r\n public get getClasses(): string {\r\n return `${TooltipTextPositionEnum[this.triggerTextPosition]} ${this.customClasses}`;\r\n }\r\n\r\n public get getIconClass(): string {\r\n return `${TooltipTriggerEnum[this.triggerType]}`\r\n }\r\n\r\n public onToggle(): void {\r\n this.toggleTooltip.emit()\r\n }\r\n}\r\n","<div\r\n class=\"mrx-tooltip-trigger\"\r\n [class.active]=\"isVisibleTooltip\"\r\n [class]=\"getClasses\"\r\n (click)=\"onToggle()\"\r\n>\r\n <span class=\"mrx-icon icon-font-16\" [class]=\"getIconClass\"></span>\r\n <span class=\"tooltip-help\">\r\n {{!isVisibleTooltip ? 'Развернуть подсказку' : 'Свернуть подсказку'}}\r\n </span>\r\n</div>\r\n","export enum SwitchTypeEnum {\r\n 'default' = 'mrx-switch-default',\r\n 'toggle' = 'mrx-switch-toggle',\r\n}\r\n\r\nexport type SwitchTypeTypes = 'default' | 'toggle';\r\n\r\nexport enum SwitchSizeEnum {\r\n 'large' = 'mrx-switch-lg',\r\n 'small' = 'mrx-switch-sm',\r\n}\r\n\r\nexport type SwitchSizeTypes = 'large' | 'small';\r\n\r\nexport type SwitchValueTypes = boolean;\r\n\r\nexport interface SwitchValueWithId {\r\n value: SwitchValueTypes,\r\n id: string\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { StateType } from '../../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-save-state-input',\r\n templateUrl: './save-state-input.component.html',\r\n styleUrls: ['./save-state-input.component.less']\r\n})\r\nexport class SaveStateInputComponent {\r\n\r\n @Input() state!: StateType | null\r\n\r\n constructor() { }\r\n}\r\n","<span class=\"mrx-save-state-input\" [ngSwitch]=\"state\">\r\n <ng-container *ngSwitchCase=\"'saving'\">\r\n <div class=\"mrx-save-state__saving\">\r\n <svg width=\"20px\" height=\"16px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.5102040816326531s\" calcMode=\"spline\"\r\n keyTimes=\"0;1\"\r\n values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"discrete\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"50\" cy=\"50\" r=\"16\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n </circle>\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n </circle>\r\n </svg>\r\n\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M8.62542 3.37458C8.47685 3.22601 8.23597 3.22601 8.0874 3.37458L3.67895 7.78303L3.49961 8.50039L4.21697 8.32105L8.62542 3.9126C8.77399 3.76403 8.77399 3.52315 8.62542 3.37458ZM7.19421 2.4814C7.83607 1.83953 8.87674 1.83953 9.5186 2.4814C10.1605 3.12326 10.1605 4.16392 9.5186 4.80579L4.98646 9.33793C4.90552 9.41888 4.8041 9.4763 4.69304 9.50406L2.78477 9.98113C2.56955 10.0349 2.34187 9.97187 2.185 9.815C2.02813 9.65813 1.96506 9.43045 2.01887 9.21523L2.49594 7.30696C2.5237 7.1959 2.58113 7.09449 2.66207 7.01354L7.19421 2.4814Z\"\r\n fill=\"var(--neutral-icon-info)\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'saved'\">\r\n <span class=\"mrx-save-state__saved\">сохранено</span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <span class=\"mrx-save-state__error\">ошибка</span>\r\n </ng-container>\r\n</span>\r\n","import { Component, Input } from '@angular/core';\r\nimport { StateType } from '../../../../services';\r\n\r\n@Component({\r\n selector: 'mrx-save-state-checkbox',\r\n templateUrl: './save-state-checkbox.component.html',\r\n styleUrls: ['./save-state-checkbox.component.less']\r\n})\r\nexport class SaveStateCheckboxComponent {\r\n\r\n @Input() state!: StateType | null\r\n\r\n constructor() { }\r\n}\r\n","<span class=\"mrx-save-state-checkbox\" [ngSwitch]=\"state\">\r\n <ng-container *ngSwitchCase=\"'saving'\">\r\n <div class=\"mrx-save-state__saving\">\r\n <svg width=\"20px\" height=\"16px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.5102040816326531s\" calcMode=\"spline\"\r\n keyTimes=\"0;1\"\r\n values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"discrete\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"50\" cy=\"50\" r=\"16\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n </circle>\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n </circle>\r\n </svg>\r\n\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M8.62542 3.37458C8.47685 3.22601 8.23597 3.22601 8.0874 3.37458L3.67895 7.78303L3.49961 8.50039L4.21697 8.32105L8.62542 3.9126C8.77399 3.76403 8.77399 3.52315 8.62542 3.37458ZM7.19421 2.4814C7.83607 1.83953 8.87674 1.83953 9.5186 2.4814C10.1605 3.12326 10.1605 4.16392 9.5186 4.80579L4.98646 9.33793C4.90552 9.41888 4.8041 9.4763 4.69304 9.50406L2.78477 9.98113C2.56955 10.0349 2.34187 9.97187 2.185 9.815C2.02813 9.65813 1.96506 9.43045 2.01887 9.21523L2.49594 7.30696C2.5237 7.1959 2.58113 7.09449 2.66207 7.01354L7.19421 2.4814Z\"\r\n fill=\"var(--neutral-icon-info)\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'saved'\">\r\n <div class=\"mrx-save-state__saved\">сохранено</div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <div class=\"mrx-save-state__error\">ошибка</div>\r\n </ng-container>\r\n</span>\r\n","import { Component, Input } from '@angular/core';\r\nimport { StateType } from '../../../../services';\r\n\r\n@Component({\r\n selector: 'mrx-save-state-checkbox-group',\r\n templateUrl: './save-state-checkbox-group.component.html',\r\n styleUrls: ['./save-state-checkbox-group.component.less']\r\n})\r\nexport class SaveStateCheckboxGroupComponent {\r\n\r\n @Input() state!: StateType | null\r\n\r\n constructor() { }\r\n}\r\n","<span class=\"mrx-save-state-checkbox-group\" [ngSwitch]=\"state\">\r\n <ng-container *ngSwitchCase=\"'saving'\">\r\n <div class=\"mrx-save-state__saving\">\r\n <svg width=\"20px\" height=\"16px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.5102040816326531s\" calcMode=\"spline\"\r\n keyTimes=\"0;1\"\r\n values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"discrete\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"50\" cy=\"50\" r=\"16\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n </circle>\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n </circle>\r\n </svg>\r\n\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M8.62542 3.37458C8.47685 3.22601 8.23597 3.22601 8.0874 3.37458L3.67895 7.78303L3.49961 8.50039L4.21697 8.32105L8.62542 3.9126C8.77399 3.76403 8.77399 3.52315 8.62542 3.37458ZM7.19421 2.4814C7.83607 1.83953 8.87674 1.83953 9.5186 2.4814C10.1605 3.12326 10.1605 4.16392 9.5186 4.80579L4.98646 9.33793C4.90552 9.41888 4.8041 9.4763 4.69304 9.50406L2.78477 9.98113C2.56955 10.0349 2.34187 9.97187 2.185 9.815C2.02813 9.65813 1.96506 9.43045 2.01887 9.21523L2.49594 7.30696C2.5237 7.1959 2.58113 7.09449 2.66207 7.01354L7.19421 2.4814Z\"\r\n fill=\"var(--neutral-icon-info)\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'saved'\">\r\n <span class=\"mrx-save-state__saved\">сохранено</span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <span class=\"mrx-save-state__error\">ошибка</span>\r\n </ng-container>\r\n</span>\r\n","import { Component, Input } from '@angular/core';\r\nimport { StateType } from '../../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-save-state-switch',\r\n templateUrl: './save-state-switch.component.html',\r\n styleUrls: ['./save-state-switch.component.less']\r\n})\r\nexport class SaveStateSwitchComponent {\r\n\r\n @Input() state!: StateType | null\r\n\r\n constructor() { }\r\n}\r\n","<span class=\"mrx-save-state-switch\" [ngSwitch]=\"state\">\r\n <ng-container *ngSwitchCase=\"'saving'\">\r\n <div class=\"mrx-save-state__saving\">\r\n <svg width=\"20px\" height=\"16px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.5102040816326531s\" calcMode=\"spline\"\r\n keyTimes=\"0;1\"\r\n values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"discrete\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"50\" cy=\"50\" r=\"16\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n </circle>\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n </circle>\r\n </svg>\r\n\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M8.62542 3.37458C8.47685 3.22601 8.23597 3.22601 8.0874 3.37458L3.67895 7.78303L3.49961 8.50039L4.21697 8.32105L8.62542 3.9126C8.77399 3.76403 8.77399 3.52315 8.62542 3.37458ZM7.19421 2.4814C7.83607 1.83953 8.87674 1.83953 9.5186 2.4814C10.1605 3.12326 10.1605 4.16392 9.5186 4.80579L4.98646 9.33793C4.90552 9.41888 4.8041 9.4763 4.69304 9.50406L2.78477 9.98113C2.56955 10.0349 2.34187 9.97187 2.185 9.815C2.02813 9.65813 1.96506 9.43045 2.01887 9.21523L2.49594 7.30696C2.5237 7.1959 2.58113 7.09449 2.66207 7.01354L7.19421 2.4814Z\"\r\n fill=\"var(--neutral-icon-info)\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'saved'\">\r\n <div class=\"mrx-save-state__saved\">сохранено</div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <div class=\"mrx-save-state__error\">ошибка</div>\r\n </ng-container>\r\n</span>\r\n","import { Component, Input } from '@angular/core';\r\nimport { StateType } from '../../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-save-state-editor',\r\n templateUrl: './save-state-editor.component.html',\r\n styleUrls: ['./save-state-editor.component.less']\r\n})\r\nexport class SaveStateEditorComponent {\r\n\r\n @Input() state!: StateType | null\r\n\r\n constructor() { }\r\n}\r\n","<span class=\"mrx-save-state-editor\" [ngSwitch]=\"state\">\r\n <ng-container *ngSwitchCase=\"'saving'\">\r\n <div class=\"mrx-save-state__saving\">\r\n <svg width=\"20px\" height=\"16px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.5102040816326531s\" calcMode=\"spline\"\r\n keyTimes=\"0;1\"\r\n values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"discrete\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\r\n </circle>\r\n <circle cx=\"50\" cy=\"50\" r=\"16\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-0.5102040816326531s\"></animate>\r\n </circle>\r\n <circle cx=\"90\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\"\r\n begin=\"-1.0204081632653061s\"></animate>\r\n </circle>\r\n <circle cx=\"10\" cy=\"50\" r=\"12\" fill=\"var(--neutral-icon-info)\">\r\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;12;12;12\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"2.0408163265306123s\" calcMode=\"spline\"\r\n keyTimes=\"0;0.25;0.5;0.75;1\" values=\"10;10;10;50;90\"\r\n keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.530612244897959s\"></animate>\r\n </circle>\r\n </svg>\r\n\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M8.62542 3.37458C8.47685 3.22601 8.23597 3.22601 8.0874 3.37458L3.67895 7.78303L3.49961 8.50039L4.21697 8.32105L8.62542 3.9126C8.77399 3.76403 8.77399 3.52315 8.62542 3.37458ZM7.19421 2.4814C7.83607 1.83953 8.87674 1.83953 9.5186 2.4814C10.1605 3.12326 10.1605 4.16392 9.5186 4.80579L4.98646 9.33793C4.90552 9.41888 4.8041 9.4763 4.69304 9.50406L2.78477 9.98113C2.56955 10.0349 2.34187 9.97187 2.185 9.815C2.02813 9.65813 1.96506 9.43045 2.01887 9.21523L2.49594 7.30696C2.5237 7.1959 2.58113 7.09449 2.66207 7.01354L7.19421 2.4814Z\"\r\n fill=\"var(--neutral-icon-info)\"\r\n />\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'saved'\">\r\n <span class=\"mrx-save-state__saved\">сохранено</span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'error'\">\r\n <span class=\"mrx-save-state__error\">ошибка</span>\r\n </ng-container>\r\n</span>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { SaveStateComponentType } from './save-state.enum';\r\nimport { Field, StateType } from '../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-save-state',\r\n templateUrl: './save-state.component.html',\r\n styleUrls: ['./save-state.component.less']\r\n})\r\nexport class SaveStateComponent {\r\n\r\n @Input() type: SaveStateComponentType = 'input'\r\n @Input() fields: Field[] = []\r\n @Input() id!: string\r\n\r\n constructor() {\r\n }\r\n\r\n public get getState(): StateType | null {\r\n const savingId = this.fields.findIndex((field) => field.id === this.id)\r\n\r\n if (savingId !== undefined && savingId !== null && savingId !== -1) {\r\n return this.fields[savingId].state\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n public get isSaving(): boolean {\r\n return this.fields.some((field) => field.id === this.id)\r\n }\r\n}\r\n","<div class=\"mrx-save-state\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <mrx-save-state-input *ngSwitchCase=\"'input'\" [state]=\"getState\"></mrx-save-state-input>\r\n <mrx-save-state-checkbox *ngSwitchCase=\"'checkbox'\" [state]=\"getState\"></mrx-save-state-checkbox>\r\n <mrx-save-state-checkbox-group *ngSwitchCase=\"'checkboxGroup'\" [state]=\"getState\"></mrx-save-state-checkbox-group>\r\n <mrx-save-state-checkbox *ngSwitchCase=\"'radio'\" [state]=\"getState\"></mrx-save-state-checkbox>\r\n <mrx-save-state-checkbox-group *ngSwitchCase=\"'radioGroup'\" [state]=\"getState\"></mrx-save-state-checkbox-group>\r\n <mrx-save-state-switch *ngSwitchCase=\"'switch'\" [state]=\"getState\"></mrx-save-state-switch>\r\n <mrx-save-state-editor *ngSwitchCase=\"'editor'\" [state]=\"getState\"></mrx-save-state-editor>\r\n </ng-container>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n SwitchSizeEnum,\r\n SwitchSizeTypes,\r\n SwitchTypeEnum,\r\n SwitchTypeTypes,\r\n SwitchValueTypes,\r\n SwitchValueWithId\r\n} from './switch.enum';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-switch',\r\n templateUrl: './switch.component.html',\r\n styleUrls: ['./switch.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SwitchComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SwitchComponent implements ControlValueAccessor {\r\n public value: SwitchValueTypes = false;\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public size: SwitchSizeTypes = 'large';\r\n @Input() public type: SwitchTypeTypes = 'default';\r\n @Input() public label = '';\r\n @Input() public boldLabel = false;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public required = false;\r\n @Input() public customClasses = '';\r\n @Input() public leftText = 'Отключить';\r\n @Input() public rightText = 'Включить';\r\n\r\n @Output() public changed: EventEmitter<SwitchValueTypes> = new EventEmitter<SwitchValueTypes>();\r\n @Output() public modelChange: EventEmitter<SwitchValueWithId> = new EventEmitter<SwitchValueWithId>();\r\n\r\n public get getClasses(): string {\r\n return `${SwitchSizeEnum[this.size]} ${SwitchTypeEnum[this.type]} ${this.customClasses}`;\r\n }\r\n\r\n private onChange = (value: SwitchValueTypes) => {};\r\n private onTouched = () => {};\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: SwitchValueTypes) {\r\n this.value = outsideValue;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n // this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: SwitchValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div class=\"mrx-switch\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"switch\"></mrx-save-state>\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <p\r\n class=\"mr-1 cursor-pointer mrx-switch__trigger\"\r\n [class.text-bold]=\"boldLabel\"\r\n (click)=\"!(disabled || readonly) && updateValue(false)\"\r\n >\r\n {{ leftText }}\r\n </p>\r\n <label class=\"mrx-switch-checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled || readonly\"\r\n [readOnly]=\"readonly\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n >\r\n <span class=\"mrx-switch-slider\"></span>\r\n </label>\r\n <p\r\n class=\"ml-1 cursor-pointer mrx-switch__trigger\"\r\n [class.text-bold]=\"boldLabel\"\r\n (click)=\"!(disabled || readonly) && updateValue(true)\"\r\n >\r\n {{ rightText }}\r\n </p>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <label class=\"mrx-switch-checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled || readonly\"\r\n [readOnly]=\"readonly\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n >\r\n <span class=\"mrx-switch-slider\"></span>\r\n\r\n <p class=\"ml-2\" [class]=\"boldLabel ? 'mrx-switch__label--bold' : 'mrx-switch__label'\">\r\n {{label}}\r\n <ng-content></ng-content>\r\n </p>\r\n </label>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Inject, InjectionToken, TemplateRef } from '@angular/core';\r\nimport { TooltipData } from '../models/tooltip-data';\r\n\r\nexport const TOOLTIP_DATA = new InjectionToken<TooltipData>('Data to display in tooltip');\r\n\r\n@Component({\r\n selector: 'mrx-cdk-tooltip',\r\n templateUrl: './tooltip-container.component.html',\r\n styleUrls: ['./tooltip-container.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TooltipContainerComponent {\r\n constructor(@Inject(TOOLTIP_DATA) public tooltipData: TooltipData) {}\r\n\r\n public get asString(): string | false {\r\n return typeof this.tooltipData.value === 'string' ? this.tooltipData.value : false;\r\n }\r\n\r\n public get asTemplate(): TemplateRef<void> | null {\r\n return this.tooltipData.value instanceof TemplateRef ? this.tooltipData.value : null;\r\n }\r\n\r\n public get getMaxWidth(): string {\r\n return this.tooltipData.maxWidth ? this.tooltipData.maxWidth + 'px' : '480px'\r\n }\r\n}\r\n","<ng-container *ngIf=\"asString as string\">\r\n <div class=\"mrx-cdk-tooltip\" [style.max-width]=\"getMaxWidth\" [innerHtml]=\"string\"></div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"asTemplate as template\">\r\n <div class=\"mrx-cdk-tooltip\" [style.max-width]=\"getMaxWidth\">\r\n <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\r\n </div>\r\n</ng-container>\r\n\r\n","import { ConnectedPosition } from '@angular/cdk/overlay';\r\n\r\nconst topPosition: ConnectedPosition = {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n panelClass: 'top',\r\n}\r\n\r\nconst bottomPosition: ConnectedPosition = {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n panelClass: 'bottom',\r\n}\r\n\r\nconst leftPosition: ConnectedPosition = {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n panelClass: 'start',\r\n}\r\n\r\nconst rightPosition: ConnectedPosition = {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n panelClass: 'end',\r\n}\r\n\r\nconst topStartPosition: ConnectedPosition = {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n panelClass: 'top-start',\r\n}\r\n\r\nconst topEndPosition: ConnectedPosition = {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n panelClass: 'top-end',\r\n}\r\n\r\nconst bottomStartPosition: ConnectedPosition = {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n panelClass: 'bottom-start',\r\n}\r\n\r\nconst bottomEndPosition: ConnectedPosition = {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n panelClass: 'bottom-end',\r\n}\r\n\r\nexport const positions: ConnectedPosition[] = [\r\n topPosition, bottomPosition, leftPosition, rightPosition\r\n]\r\n\r\nexport interface ConnectedPositionVariants {\r\n [name: string]: ConnectedPosition[];\r\n}\r\n\r\nexport const positionStrategy: ConnectedPositionVariants = {\r\n top: [topPosition, bottomPosition, leftPosition, rightPosition],\r\n bottom: [bottomPosition, topPosition, leftPosition, rightPosition],\r\n left: [leftPosition, rightPosition, topPosition, bottomPosition],\r\n right: [rightPosition, leftPosition, topPosition, bottomPosition],\r\n 'top-start': [topStartPosition, topPosition, bottomStartPosition, bottomPosition],\r\n 'top-end': [topEndPosition, topPosition, bottomEndPosition, bottomPosition],\r\n 'bottom-start': [bottomStartPosition, bottomPosition, topStartPosition, topPosition],\r\n 'bottom-end': [bottomEndPosition, bottomPosition, topEndPosition, topPosition],\r\n}\r\n\r\nexport type ConnectedPositionVariantsType =\r\n 'top' |\r\n 'bottom' |\r\n 'left' |\r\n 'right' |\r\n 'top-start' |\r\n 'top-end' |\r\n 'bottom-start' |\r\n 'bottom-end'\r\n","import { Directive, ElementRef, HostListener, Injector, Input, OnDestroy, ViewContainerRef } from '@angular/core';\r\nimport { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { TooltipContainerComponent, TOOLTIP_DATA } from './cdk-tooltip/tooltip-container.component';\r\nimport { ConnectedPositionVariantsType, positionStrategy } from './constants';\r\nimport { TooltipDataValue } from './models/tooltip-data';\r\n\r\n@Directive({\r\n selector: '[mrxCdkTooltip]',\r\n})\r\nexport class CdkTooltipDirective implements OnDestroy {\r\n @Input() mrxCdkTooltip!: TooltipDataValue;\r\n @Input() tooltipActive = true;\r\n @Input() autoCloseByScroll = false;\r\n @Input() tooltipPosition: ConnectedPositionVariantsType = 'top';\r\n @Input() tooltipMaxWidth: number | null = null;\r\n\r\n private overlayRef: OverlayRef | null = null;\r\n\r\n constructor(\r\n private element: ElementRef<HTMLElement>,\r\n private overlay: Overlay,\r\n private viewContainer: ViewContainerRef,\r\n ) {}\r\n\r\n ngOnDestroy(): void {\r\n this.overlayRef?.dispose();\r\n }\r\n\r\n private attachTooltip(): void {\r\n if (this.overlayRef === null) {\r\n const positionStrategy = this.getPositionStrategy();\r\n this.overlayRef = this.overlay.create({\r\n positionStrategy,\r\n scrollStrategy: this.overlay.scrollStrategies.close(),\r\n hasBackdrop: false\r\n });\r\n }\r\n\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: TOOLTIP_DATA,\r\n useValue: {\r\n value: this.mrxCdkTooltip,\r\n maxWidth: this.tooltipMaxWidth\r\n },\r\n },\r\n ],\r\n });\r\n const component = new ComponentPortal(TooltipContainerComponent, this.viewContainer, injector);\r\n this.overlayRef.attach(component);\r\n }\r\n\r\n private getPositionStrategy(): PositionStrategy {\r\n return this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.element)\r\n .withPositions(positionStrategy[this.tooltipPosition]);\r\n }\r\n\r\n @HostListener('mouseenter')\r\n @HostListener('focus')\r\n showTooltip(): void {\r\n if (this.mrxCdkTooltip === null || !this.tooltipActive) {\r\n return;\r\n }\r\n if (this.overlayRef?.hasAttached() === true) {\r\n return;\r\n }\r\n\r\n this.attachTooltip();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n @HostListener('blur')\r\n hideTooltip(): void {\r\n if (this.overlayRef?.hasAttached() === true) {\r\n this.overlayRef?.detach();\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild, ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { TooltipTextPositionTypes, TooltipTriggerTypes } from '../tooltip/tooltip-trigger/tooltip-trigger.enum';\r\nimport { TooltipService } from '../tooltip/services/tooltip.service';\r\nimport { LinkTypes } from '../link/link.enum';\r\nimport { SwitchValueTypes } from '../form/switch/switch.enum';\r\n\r\n@Component({\r\n selector: 'mrx-label',\r\n templateUrl: './label.component.html',\r\n styleUrls: ['./label.component.less'],\r\n animations: [\r\n trigger('openClose', [\r\n state('open', style({ height: '*', padding: '*', 'margin-bottom': '8px' })),\r\n state('closed', style({ height: 0, padding: 0, 'margin-bottom': 0 })),\r\n transition('open => closed', [animate('0.5s ease')]),\r\n transition('closed => open', [animate('0.5s ease')]),\r\n ]),\r\n ],\r\n providers: [TooltipService],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LabelComponent implements OnInit {\r\n private _tooltip = ''\r\n private _tooltipInitialVisible = false\r\n private _isSaveToStorage = false\r\n\r\n @Input() public requiredHidden = false;\r\n @Input() public required = false;\r\n @Input() public boldLabel = true;\r\n @Input() public disabled = false;\r\n @Input() public placeholder = '';\r\n @Input() public label = '';\r\n @Input() public customClasses = '';\r\n @Input() public triggerTextPosition: TooltipTextPositionTypes = 'default';\r\n @Input() public isPublicInfo = false;\r\n @Input() public publicInfoTooltip = '';\r\n\r\n // CHECKBOX\r\n @Input() public isSwitch = false;\r\n @Input() public switchLabel = '';\r\n @Input() public switchValue = false;\r\n\r\n // COUNTER\r\n @Input() public counter: number | undefined = 0;\r\n\r\n // LINK\r\n @Input() linkText = '';\r\n @Input() linkPrevent = true;\r\n @Input() linkType: LinkTypes = 'pseudo';\r\n @Input() linkMonochrome = true;\r\n @Input() href = '#';\r\n\r\n @Input() triggerType: TooltipTriggerTypes = 'attention';\r\n\r\n @ContentChild('customIcons') customIcons!: TemplateRef<ElementRef>;\r\n\r\n @Output() public changeCheckboxValue: EventEmitter<SwitchValueTypes> =\r\n new EventEmitter<SwitchValueTypes>();\r\n\r\n @Input()\r\n set tooltip(tooltip: string) {\r\n this._tooltip = tooltip;\r\n this.tooltipService.setTooltip = tooltip\r\n }\r\n\r\n @Input()\r\n set tooltipInitialVisible(value: boolean) {\r\n this._tooltipInitialVisible = value;\r\n this.tooltipService.toggleTooltipVisibleFromCode(value)\r\n }\r\n\r\n @Input()\r\n set isSaveToStorage(value: boolean) {\r\n this._isSaveToStorage = value;\r\n this.tooltipService.setSaveToStorage = value\r\n }\r\n\r\n @Output() clickedLink: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n constructor(public tooltipService: TooltipService) { }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`;\r\n }\r\n\r\n ngOnInit() {\r\n this.tooltipService.initTooltip(this._tooltip, this._tooltipInitialVisible);\r\n }\r\n\r\n public onClickToLink(event: MouseEvent): void {\r\n this.clickedLink.emit(event)\r\n }\r\n}\r\n","<div class=\"mrx-label-wrapper mb-2\">\r\n <div class=\"mrx-label-content d-flex align-items-start\" [class.mr-2]=\"isSwitch\">\r\n <div class=\"d-flex\" [style.padding]=\"boldLabel ? 'var(--spacing-half) 0' : ''\">\r\n <label\r\n [class]=\"getClasses\"\r\n [class.required]=\"required\"\r\n [class.bold-label]=\"boldLabel\"\r\n class=\"mrx-label\"\r\n >\r\n <ng-content></ng-content>\r\n\r\n <span *ngIf=\"required && !disabled && !requiredHidden\" class=\"required-active\">*</span>\r\n\r\n <span\r\n *ngIf=\"isPublicInfo\"\r\n class=\"mrx-icon icon-megafon ml-1 icon-font-16\"\r\n [mrxCdkTooltip]=\"publicInfoTooltip\"\r\n ></span>\r\n\r\n <div class=\"label-hint\">\r\n <mrx-tooltip-trigger\r\n *ngIf=\"tooltipService.getTooltip\"\r\n (toggleTooltip)=\"tooltipService.toggleTooltipVisible()\"\r\n [isVisibleTooltip]=\"tooltipService.getTooltipVisible\"\r\n [triggerTextPosition]=\"triggerTextPosition\"\r\n [triggerType]=\"triggerType\"\r\n ></mrx-tooltip-trigger>\r\n </div>\r\n\r\n <ng-container *ngTemplateOutlet=\"customIcons\"></ng-container>\r\n </label>\r\n </div>\r\n\r\n <mrx-badge *ngIf=\"counter\" customClasses=\"ml-2\" type=\"circle\" size=\"small\">{{ counter }}</mrx-badge>\r\n </div>\r\n\r\n <mrx-switch\r\n *ngIf=\"isSwitch\"\r\n size=\"small\"\r\n [label]=\"switchLabel\"\r\n [ngModel]=\"switchValue\"\r\n (ngModelChange)=\"changeCheckboxValue.emit($event)\"\r\n ></mrx-switch>\r\n\r\n <mrx-link\r\n *ngIf=\"linkText\"\r\n [prevent]=\"linkPrevent\"\r\n [type]=\"linkType\"\r\n [monochrome]=\"linkMonochrome\"\r\n (click)=\"onClickToLink($event)\"\r\n >{{ linkText }}</mrx-link>\r\n</div>\r\n\r\n<mrx-tooltip\r\n *ngIf=\"tooltipService.getTooltip\"\r\n [tooltip]=\"tooltipService.getTooltip\"\r\n [tooltipVisible]=\"tooltipService.getTooltipVisible\"\r\n [triggerType]=\"triggerType\"\r\n></mrx-tooltip>\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TooltipTriggerComponent } from './tooltip-trigger/tooltip-trigger.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TooltipComponent } from './tooltip.component';\r\n\r\n@NgModule({\r\n declarations: [TooltipComponent, TooltipTriggerComponent],\r\n imports: [CommonModule, FormsModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [TooltipComponent, TooltipTriggerComponent],\r\n})\r\nexport class TooltipModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SaveStateComponent } from './save-state.component';\r\nimport { SaveStateInputComponent } from './components/save-state-input/save-state-input.component';\r\nimport { SaveStateCheckboxComponent } from './components/save-state-checkbox/save-state-checkbox.component';\r\nimport {\r\n SaveStateCheckboxGroupComponent\r\n} from './components/save-state-checkbox-group/save-state-checkbox-group.component';\r\nimport { SaveStateSwitchComponent } from './components/save-state-switch/save-state-switch.component';\r\nimport { SaveStateEditorComponent } from './components/save-state-editor/save-state-editor.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SaveStateComponent,\r\n SaveStateInputComponent,\r\n SaveStateCheckboxComponent,\r\n SaveStateCheckboxGroupComponent,\r\n SaveStateSwitchComponent,\r\n SaveStateEditorComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [SaveStateComponent]\r\n})\r\nexport class SaveStateModule { }\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SwitchComponent } from './switch.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n@NgModule({\r\n declarations: [SwitchComponent],\r\n imports: [CommonModule, FormsModule, SaveStateModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [SwitchComponent],\r\n})\r\nexport class SwitchModule {}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TooltipContainerComponent } from './cdk-tooltip/tooltip-container.component';\r\nimport { CdkTooltipDirective } from './cdk-tooltip.directive';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\n@NgModule({\r\n declarations: [TooltipContainerComponent, CdkTooltipDirective],\r\n imports: [CommonModule, OverlayModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [CdkTooltipDirective]\r\n})\r\nexport class CdkTooltipModule {\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LabelComponent } from './label.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BadgesModule } from '../badges/badges.module';\r\nimport { LinkModule } from '../link/link.module';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { SwitchModule } from '../form/switch/switch.module';\r\nimport { CdkTooltipModule } from '../cdk-tooltip/cdk-tooltip.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [LabelComponent],\r\n imports: [CommonModule, FormsModule, TooltipModule, SwitchModule, BadgesModule, LinkModule, CdkTooltipModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [LabelComponent],\r\n})\r\nexport class LabelModule {\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n Input,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { createPopper, Instance } from '@popperjs/core';\r\nimport { Placement } from '@popperjs/core/lib/enums';\r\n\r\n@Component({\r\n selector: 'mrx-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.less']\r\n})\r\nexport class DropdownComponent implements AfterViewInit {\r\n private _isOpen = false;\r\n private _showEvents: string[] = ['click'];\r\n private _hideEvents: string[] = ['blur']\r\n private _hideModalAfterClickFunc = this.hideModalAfterClick.bind(this)\r\n private _popperInstance?: Instance;\r\n\r\n\r\n @ViewChild('dropdownToggleEl') dropdownToggleEl!: ElementRef;\r\n @ViewChild('dropdownContent') dropdownContent!: ElementRef;\r\n @ContentChild('dropdownToggle') dropdownToggle!: TemplateRef<any>;\r\n @ContentChild('dropdownMenu') dropdownMenu!: TemplateRef<any>;\r\n\r\n @Input() mainPlacement: Placement = 'bottom-end'\r\n @Input() fallbackPlacements: Placement[] = ['bottom-start', 'top-end', 'top-start']\r\n @Input() closeOnClick = true\r\n @Input() customClasses: string = ''\r\n\r\n public get isOpen(): boolean {\r\n return this._isOpen\r\n }\r\n\r\n public set isOpen(value: boolean) {\r\n this._isOpen = value\r\n }\r\n\r\n public show(): void {\r\n document.addEventListener('click', this._hideModalAfterClickFunc);\r\n\r\n if (this.isOpen) {\r\n this.hide()\r\n } else {\r\n this.isOpen = true\r\n\r\n this.dropdownContent.nativeElement.setAttribute('data-show', '');\r\n\r\n this._popperInstance?.setOptions((options: any) => ({\r\n ...options,\r\n modifiers: [\r\n ...options.modifiers,\r\n {name: 'eventListeners', enabled: true},\r\n ],\r\n }));\r\n }\r\n }\r\n\r\n public hide(): void {\r\n document.removeEventListener('click', this._hideModalAfterClickFunc);\r\n\r\n this.isOpen = false\r\n this.dropdownContent.nativeElement.removeAttribute('data-show', '');\r\n\r\n this._popperInstance?.setOptions((options: any) => ({\r\n ...options,\r\n modifiers: [\r\n ...options.modifiers,\r\n {name: 'eventListeners', enabled: false},\r\n ],\r\n }));\r\n }\r\n\r\n private hideModalAfterClick(e: any) {\r\n const withinBoundaries = e.composedPath().includes(this.dropdownToggleEl.nativeElement);\r\n const withinBoundariesModal = e.composedPath().includes(this.dropdownContent.nativeElement);\r\n if (!withinBoundaries && !withinBoundariesModal) {\r\n this.hide()\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._popperInstance = createPopper(\r\n this.dropdownToggleEl.nativeElement,\r\n this.dropdownContent.nativeElement,\r\n {\r\n placement: this.mainPlacement,\r\n modifiers: [\r\n {\r\n name: 'flip',\r\n options: {\r\n fallbackPlacements: this.fallbackPlacements,\r\n },\r\n },\r\n ],\r\n }\r\n )\r\n\r\n this._showEvents.forEach((event) => {\r\n this.dropdownToggleEl.nativeElement.addEventListener(event, this.show.bind(this));\r\n });\r\n\r\n this._hideEvents.forEach((event) => {\r\n this.dropdownToggleEl.nativeElement.addEventListener(event, this.hide.bind(this));\r\n });\r\n }\r\n}\r\n","<div class=\"mrx-dropdown d-flex\" [class]=\"customClasses\">\r\n <div class=\"mrx-dropdown-toggle\" #dropdownToggleEl>\r\n <ng-container *ngTemplateOutlet=\"dropdownToggle\"></ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-dropdown-content\" #dropdownContent>\r\n\r\n <div class=\"mrx-dropdown-wrapper\">\r\n <div class=\"mrx-dropdown-menu\" *ngIf=\"dropdownMenu\">\r\n <ng-container *ngTemplateOutlet=\"dropdownMenu\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { DropdownComponent } from '../dropdown.component';\r\n\r\n@Directive({\r\n selector: '[mrxHideAfterClick]'\r\n})\r\nexport class HideAfterClickDirective {\r\n\r\n constructor(public dropdown: DropdownComponent) { }\r\n\r\n @HostListener('click', ['$event.target']) onClick(event: Event) {\r\n this.dropdown.hide()\r\n }\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DropdownComponent } from './dropdown.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { HideAfterClickDirective } from './directives/hide-after-click.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [DropdownComponent, HideAfterClickDirective],\r\n imports: [CommonModule, NgSelectModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [DropdownComponent, HideAfterClickDirective],\r\n})\r\nexport class DropdownModule { }\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-error-message',\r\n templateUrl: './error-message.component.html',\r\n styleUrls: ['error-message.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ErrorMessageComponent {\r\n @Input() public invalid: boolean = true;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public customClasses = '';\r\n\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`;\r\n }\r\n\r\n public get invalidMessageArray(): string[] {\r\n if (typeof this.invalidMessage === 'string') {\r\n return Array(this.invalidMessage);\r\n } else {\r\n return this.invalidMessage;\r\n }\r\n }\r\n}\r\n","<span\r\n *ngFor=\"let invalidMessage of invalidMessageArray\"\r\n class=\"mrx-error-message d-block mt-1\"\r\n [class]=\"getClasses\"\r\n [class.color-message]=\"invalid\"\r\n>\r\n {{invalidMessage}}\r\n <ng-content></ng-content>\r\n</span>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ErrorMessageComponent } from './error-message.component';\r\n\r\n@NgModule({\r\n declarations: [ErrorMessageComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ErrorMessageComponent],\r\n})\r\nexport class ErrorMessageModule { }\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-hint-error-message',\r\n templateUrl: './hint-error-message.component.html',\r\n styleUrls: ['./hint-error-message.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\n/**\r\n * @param message string (text или HTML) <br/>\r\n * @param value number | string <br/>\r\n * @param maxValue? number <br/>\r\n * @param minValue? number <br/>\r\n * Передается один из параметров: maxValue, minValue, minLength, maxLength\r\n */\r\nexport class HintErrorMessageComponent {\r\n private _isInit = false\r\n /**\r\n * Пример использования <br/>\r\n * message=\"Не более {diff} дней\" <br/>\r\n * @param {diff} = maxValue - value\r\n */\r\n @Input() public message = '';\r\n @Input() public value: number | string = 0;\r\n @Input() public maxValue = 0;\r\n @Input() public minValue = 0;\r\n @Input() public minLength = 0;\r\n @Input() public maxLength = 0;\r\n @Input() public checkInvalid: boolean | null = true;\r\n\r\n public get replaceMessage(): string {\r\n if ((this.maxValue || this.maxValue === 0) && this.message.includes('{diff}')) {\r\n return this.message\r\n .split('{diff}')\r\n .join(String(this.maxValue - this.retypeValue(this.value)))\r\n }\r\n\r\n if ((this.minValue || this.minValue === 0) && this.message.includes('{diff}')) {\r\n return this.message\r\n .split('{diff}')\r\n .join(\r\n String(this.value).length < this.minValue ? String(this.minValue - String(this.value).length) : '0'\r\n )\r\n }\r\n\r\n if (this.minLength && this.message.includes('{diff}')) {\r\n return this.message\r\n .split('{diff}')\r\n .join(\r\n String(this.value).length < this.minLength ? String(this.minLength - String(this.value).length) : '0'\r\n )\r\n }\r\n\r\n if (this.maxLength && this.message.includes('{diff}')) {\r\n return this.message\r\n .split('{diff}')\r\n .join(String(this.maxLength - String(this.value).length))\r\n }\r\n\r\n return this.message\r\n }\r\n\r\n public get getIsInvalid(): boolean {\r\n if ((this.maxValue || this.maxValue === 0) && (this.minValue || this.minValue === 0)) {\r\n if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {\r\n return true\r\n }\r\n if (typeof this.value === 'number' && isNaN(this.value)) {\r\n return true\r\n }\r\n\r\n return this.maxValue - this.retypeValue(this.value) < 0 || this.retypeValue(this.value) - this.minValue < 0;\r\n }\r\n\r\n if ((this.maxValue || this.maxValue === 0) && !this.minValue) {\r\n if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {\r\n return true\r\n }\r\n if (typeof this.value === 'number' && isNaN(this.value)) {\r\n return true\r\n }\r\n\r\n return this.maxValue - this.retypeValue(this.value) < 0;\r\n }\r\n\r\n if ((this.minValue || this.minValue === 0) && !this.maxValue) {\r\n if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {\r\n return true\r\n }\r\n if (typeof this.value === 'number' && isNaN(this.value)) {\r\n return true\r\n }\r\n\r\n return this.minValue - this.retypeValue(this.value) > 0;\r\n }\r\n\r\n if (this.maxLength) {\r\n return this.maxLength - String(this.value).length < 0\r\n }\r\n\r\n if (this.minLength) {\r\n return this.minLength - String(this.value).length > 0\r\n }\r\n\r\n return false\r\n }\r\n\r\n private retypeValue(value: number | string): number {\r\n if (typeof value === 'string') {\r\n if (value === '') {\r\n return 0\r\n }\r\n if (!isNaN(parseFloat(value))) {\r\n return parseFloat(value)\r\n }\r\n } else {\r\n if (isNaN(value)) {\r\n return 0\r\n }\r\n return Number(value)\r\n }\r\n\r\n return 0\r\n }\r\n}\r\n","<div\r\n class=\"mrx-hint-error-message mt-1\"\r\n [class.mrx-invalid-message]=\"getIsInvalid && checkInvalid\"\r\n [innerHTML]=\"replaceMessage\"\r\n></div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HintErrorMessageComponent } from './hint-error-message.component';\r\n\r\n@NgModule({\r\n declarations: [HintErrorMessageComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [HintErrorMessageComponent],\r\n})\r\nexport class HintErrorMessageModule { }\r\n","export enum IconButtonSizeEnum {\r\n 'small' = 'icon-font-16',\r\n 'large' = 'icon-font-24'\r\n}\r\n\r\nexport type IconButtonSizeTypes = 'small' | 'large'\r\n\r\nexport enum IconButtonStateEnum {\r\n 'default' = 'mrx-icon-button-state-default',\r\n 'button' = 'mrx-icon-button-state-button'\r\n}\r\n\r\nexport type IconButtonStateTypes = 'default' | 'button'\r\n\r\nexport enum IconButtonTypeEnum {\r\n 'positive' = 'mrx-icon-button-type-positive',\r\n 'negative' = 'mrx-icon-button-type-negative'\r\n}\r\n\r\nexport type IconButtonTypeTypes = 'positive' | 'negative'\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport {\r\n IconButtonTypeEnum,\r\n IconButtonTypeTypes,\r\n IconButtonSizeEnum,\r\n IconButtonSizeTypes,\r\n IconButtonStateEnum,\r\n IconButtonStateTypes\r\n} from './icon-button.enum';\r\n\r\n@Component({\r\n selector: 'mrx-icon-button',\r\n templateUrl: './icon-button.component.html',\r\n styleUrls: ['./icon-button.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class IconButtonComponent {\r\n @Input() size: IconButtonSizeTypes = 'small';\r\n @Input() state: IconButtonStateTypes = 'default';\r\n @Input() type: IconButtonTypeTypes = 'positive';\r\n\r\n @Input() iconClass = '';\r\n @Input() disabled = false;\r\n @Input() tooltip = '';\r\n @Input() isActive: boolean | null | undefined = false;\r\n @Input() customClasses = '';\r\n\r\n @Output() mrxClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n public get stateTooltip(): boolean {\r\n return !!this.tooltip.trim();\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.iconClass} ${IconButtonSizeEnum[this.size]} ${IconButtonStateEnum[this.state]} ${IconButtonTypeEnum[this.type]} ${this.customClasses}`\r\n }\r\n\r\n public buttonClick($event: MouseEvent): void {\r\n this.mrxClick.emit($event)\r\n }\r\n}\r\n","<button\r\n class=\"mrx-icon mrx-icon-button\"\r\n [mrxCdkTooltip]=\"tooltip\"\r\n [tooltipActive]=\"stateTooltip\"\r\n [class]=\"getClasses\"\r\n [class.active]=\"isActive\"\r\n [disabled]=\"disabled\"\r\n (click)=\"buttonClick($event)\"\r\n></button>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IconButtonComponent } from './icon-button.component';\r\nimport { CdkTooltipModule } from '../cdk-tooltip/cdk-tooltip.module';\r\n\r\n@NgModule({\r\n declarations: [IconButtonComponent],\r\n imports: [CommonModule, CdkTooltipModule],\r\n exports: [IconButtonComponent]\r\n})\r\nexport class IconButtonModule {}\r\n","export enum ModalColorEnum {\r\n 'default' = 'type-default',\r\n 'info' = 'type-info',\r\n 'attention' = 'type-attention',\r\n 'negative' = 'type-negative',\r\n}\r\n\r\nexport type ModalColorTypes = 'default' | 'info' | 'attention' | 'negative'\r\n\r\nexport enum ModalSizesEnum {\r\n 'small' = 'mrx-modal-sm',\r\n 'medium' = 'mrx-modal-md',\r\n 'large' = 'mrx-modal-lg',\r\n 'extra-large' = 'mrx-modal-extra-lg'\r\n}\r\n\r\nexport type ModalSizesTypes = 'small' | 'medium' | 'large' | 'extra-large'\r\n\r\nexport enum ModalAlignButtonsEnum {\r\n 'center' = 'justify-content-center',\r\n 'left' = 'justify-content-start',\r\n 'right' = 'justify-content-end',\r\n}\r\n\r\nexport type ModalAlignButtonsTypes = 'center' | 'left' | 'right'\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport {\r\n ModalAlignButtonsEnum,\r\n ModalAlignButtonsTypes,\r\n ModalColorEnum,\r\n ModalColorTypes,\r\n ModalSizesEnum,\r\n ModalSizesTypes\r\n} from './modal.emun';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { ButtonColorsTypes, ButtonIconPositionTypes } from '../button/button.enum';\r\n\r\n@Component({\r\n selector: 'mrx-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [\r\n trigger('animateExpand', [\r\n state('open', style({\r\n height: '100%',\r\n width: '100%',\r\n maxWidth: 'none',\r\n minHeight: '100vh',\r\n minWidth: '100vw',\r\n marginTop: '0',\r\n marginBottom: '0'\r\n })),\r\n state('closed', style({ height: '*', width: '*' })),\r\n transition('open => closed', [animate('0.5s ease')]),\r\n transition('closed => open', [animate('0.5s ease')]),\r\n ]),\r\n ],\r\n})\r\nexport class ModalComponent {\r\n public isEmbed = false\r\n\r\n @Input() title?: string | null = ''\r\n @Input() message?: string | null = ''\r\n @Input() okText = 'Отменить'\r\n\r\n @Input() closeText = 'Подтвердить'\r\n @Input() size: ModalSizesTypes = 'small'\r\n @Input() color: ModalColorTypes = 'default'\r\n @Input() customClasses = ''\r\n @Input() expandable = false\r\n @Input() isClose = true\r\n @Input() isBack = false\r\n @Input() backText = 'Назад'\r\n @Input() enableFooter = true\r\n @Input() alignButtons: ModalAlignButtonsTypes = 'center'\r\n @Input() isLoading = false;\r\n @Input() iconPosition: ButtonIconPositionTypes = 'left';\r\n\r\n @ContentChild('footerContent') footerContent!: TemplateRef<HTMLElement>;\r\n\r\n @Output() ok: EventEmitter<null> = new EventEmitter<null>();\r\n @Output() close: EventEmitter<null> = new EventEmitter<null>();\r\n @Output() back: EventEmitter<null> = new EventEmitter<null>();\r\n\r\n public get getTitleClass(): string {\r\n switch(true) {\r\n case this.isClose && this.expandable:\r\n return 'mrx-modal-title-two-icon'\r\n case this.isClose || this.expandable:\r\n return 'mrx-modal-title-one-icon'\r\n default:\r\n return 'mrx-modal-title-clear'\r\n }\r\n }\r\n\r\n public get getColorClass() {\r\n return this.color ? ModalColorEnum[this.color] : ''\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${ ModalSizesEnum[this.size] } ${ this.getColorClass } ${ this.customClasses }`;\r\n }\r\n\r\n public get getButtonColor(): ButtonColorsTypes {\r\n switch (this.color) {\r\n case 'negative':\r\n return 'negative'\r\n case 'attention':\r\n return 'attention'\r\n default:\r\n return 'default'\r\n }\r\n }\r\n\r\n public get alignButtonsClass(): string {\r\n return ModalAlignButtonsEnum[this.alignButtons]\r\n }\r\n\r\n public onOk(): void {\r\n this.ok.emit()\r\n }\r\n\r\n public onClose(): void {\r\n this.close.emit()\r\n }\r\n\r\n public onBack() {\r\n this.back.emit()\r\n }\r\n\r\n public onExpanding(): void {\r\n this.isEmbed = !this.isEmbed\r\n }\r\n}\r\n","<div class=\"mrx-modal-content\" [class]=\"getClasses\" [@animateExpand]=\"isEmbed ? 'open' : 'closed'\">\r\n <div class=\"mrx-modal-header\">\r\n <div \r\n class=\"mrx-modal-title\" \r\n [innerHTML]=\"title\" \r\n [class]=\"getTitleClass\"\r\n ></div>\r\n\r\n <div class=\"mrx-modal-controls\" *ngIf=\"expandable || isClose\">\r\n <span\r\n *ngIf=\"expandable\"\r\n class=\"mrx-icon icon-font-24\"\r\n [class]=\"isEmbed ? 'icon-arrow-collapse' : 'icon-arrow-expand'\"\r\n (click)=\"onExpanding()\"\r\n ></span>\r\n <span class=\"mrx-icon icon-close icon-font-24\" *ngIf=\"isClose\" (click)=\"onClose()\"></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mrx-modal-body\">\r\n <div *ngIf=\"isBack\" class=\"mrx-modal__back d-flex align-items-center mb-3 mt-2\" (click)=\"onBack()\">\r\n <span class=\"mrx-icon icon-arrow-left icon-font-16 mr-1\"></span>\r\n <span>{{ backText }}</span>\r\n </div>\r\n\r\n <div class=\"mrx-modal-body__message\" [innerHTML]=\"message\"></div>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n\r\n <div class=\"mrx-modal-footer\" [class]=\"alignButtonsClass\" *ngIf=\"enableFooter\">\r\n <ng-container *ngIf=\"!footerContent; else footerContentTemplate\">\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [color]=\"getButtonColor\"\r\n [size]=\"'medium'\"\r\n (click)=\"onClose()\"\r\n >{{closeText}}</mrx-button>\r\n\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n [color]=\"getButtonColor\"\r\n [iconPosition]=\"iconPosition\"\r\n [isLoading]=\"isLoading\"\r\n (click)=\"onOk()\"\r\n >{{okText}}</mrx-button>\r\n </ng-container>\r\n\r\n <ng-template #footerContentTemplate>\r\n <ng-container *ngTemplateOutlet=\"footerContent\"></ng-container>\r\n </ng-template>\r\n </div>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModalComponent } from './modal.component';\r\nimport { ButtonModule } from \"../button/button.module\";\r\n\r\n@NgModule({\r\n declarations: [ ModalComponent ],\r\n imports: [ CommonModule, ButtonModule ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ ModalComponent ]\r\n})\r\nexport class ModalModule { }\r\n","export declare type PaginatorPosition = 'centered' | 'right' | 'left';\r\n\r\nexport const PaginatorPositionCss:\r\n Record<PaginatorPosition, string> = {\r\n ['centered']: 'paginator-centered',\r\n ['right']: 'paginator-right',\r\n ['left']: 'paginator-left'\r\n};\r\n\r\nexport interface PaginatorItem {\r\n index: number,\r\n active: boolean\r\n}\r\n\r\nexport interface PaginateOutputObject {\r\n currentPage: number,\r\n pageSize: number\r\n}\r\n","export enum InputSelectSizeEnum {\r\n 'medium' = 'mrx-input-select-md',\r\n 'large' = 'mrx-input-select-lg'\r\n}\r\n\r\nexport type InputSelectSizeTypes = 'medium' | 'large';\r\n\r\nexport type InputSelectValueTypes = string | string[];\r\n\r\nexport interface InputSelectValueWithId {\r\n value: InputSelectValueTypes,\r\n id: string\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component, ContentChild, ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { AddTagFn } from '@ng-select/ng-select/lib/ng-select.component';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport {\r\n InputSelectSizeEnum,\r\n InputSelectSizeTypes,\r\n InputSelectValueTypes,\r\n InputSelectValueWithId\r\n} from './input-select.enum';\r\nimport { Field } from '../../../services';\r\n\r\n@Component({\r\n selector: 'mrx-input-select',\r\n templateUrl: './input-select.component.html',\r\n styleUrls: ['./input-select.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputSelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputSelectComponent implements ControlValueAccessor\r\n{\r\n public maxSelectedItems!: number;\r\n public _value: InputSelectValueTypes = [];\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public size: InputSelectSizeTypes = 'large';\r\n\r\n @Input() public selected!: object | any[];\r\n @Input() public bindValue = '';\r\n @Input() public bindLabel = '';\r\n @Input() public customClasses = '';\r\n @Input() public wrapperCustomClasses = '';\r\n @Input() public multiple = false;\r\n @Input() public loading = false;\r\n @Input() public addTag: boolean | AddTagFn = false;\r\n @Input() public clearable = true;\r\n @Input() public items: any[] = [];\r\n @Input() public groupBy: string | ((value: any) => any) = '';\r\n @Input() public emptyValue: any;\r\n @Input() public virtualScroll = false;\r\n @Input() public trackByFn: any;\r\n @Input() public displayValue!: string | string[];\r\n @Input() public disabledFromDisplay!: boolean;\r\n @Input() public hideSelected: boolean = false;\r\n @Input() public maxLength = 0;\r\n @Input() public customSearchFn?: (term: string, item: any) => boolean;\r\n\r\n @Input() public isBottomLabel = false;\r\n @Input() public search = false;\r\n @Input() public required = false;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public showEmptyFields = false;\r\n @Input() public placeholder = '';\r\n @Input() public searchable = true;\r\n @Input() public loadLabel = '';\r\n @Input() public notFoundText = 'Не найдено';\r\n @Input() public closeOnSelect = true;\r\n @Input() public multiCollapseCount: number | null = null;\r\n\r\n // ERROR\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n // LABEL\r\n @Input() public label = '';\r\n @Input() public labelRequiredHidden = false;\r\n @Input() public labelExtraClass: object | string = '';\r\n\r\n // TOOLTIP\r\n @Input() public tooltip = '';\r\n @Input() public tooltipHidden = false;\r\n @Input() public tooltipVisible = false;\r\n\r\n // REFS\r\n @ContentChild('selectOptionsTemplate') selectOptionsTemplate!: TemplateRef<ElementRef>;\r\n @ContentChild('selectOptionsGroupTemplate') selectOptionsGroupTemplate!: TemplateRef<ElementRef>;\r\n @ContentChild('labelTemplate') labelTemplate!: TemplateRef<ElementRef>;\r\n @ContentChild('tagTemplate') tagTemplate!: TemplateRef<ElementRef>;\r\n @ContentChild('multiLabelTemplate') multiLabelTemplate!: TemplateRef<ElementRef>;\r\n\r\n @Input('maxSelectedItems')\r\n set setMaxSelectedItems(val: number) {\r\n if (val) {\r\n this.maxSelectedItems = val;\r\n }\r\n }\r\n @Output() public changed: EventEmitter<InputSelectValueTypes> = new EventEmitter<InputSelectValueTypes>();\r\n @Output() public modelChange: EventEmitter<InputSelectValueWithId> = new EventEmitter<InputSelectValueWithId>();\r\n @Output() public searched: EventEmitter<{ term: string; items: any[] }> = new EventEmitter<{ term: string; items: any[] }>();\r\n\r\n public get isValid(): boolean {\r\n return true;\r\n }\r\n\r\n public get isVerified(): boolean {\r\n return !(\r\n this.value === null ||\r\n this.value === undefined ||\r\n this.value === this.emptyValue\r\n );\r\n }\r\n\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n set value(value: InputSelectValueTypes) {\r\n this._value = value;\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage.length;\r\n }\r\n\r\n public get invalidMessageArray(): string[] {\r\n if (typeof this.invalidMessage === 'string') {\r\n return Array(this.invalidMessage);\r\n } else {\r\n return this.invalidMessage;\r\n }\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : ''\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses} ${this.checkValidClasses} ${InputSelectSizeEnum[this.size]} ${this.checkLoading}`;\r\n }\r\n\r\n public get checkLoading(): string {\r\n return this.loading ? 'mrx-input-loading' : '';\r\n }\r\n\r\n protected onChange(val: any): void {}\r\n private onTouched = () => {};\r\n\r\n public writeValue(value: any) {\r\n this._value = value;\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n public updateValue(insideValue: InputSelectValueTypes): void {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n\r\n public updateSearch(event: { term: string; items: any[] }): void {\r\n this.searched.emit({ term: event.term, items: event.items})\r\n }\r\n}\r\n","<div class=\"mrx-input-select\" [class.mrx-input-error]=\"invalid\" [class]=\"wrapperCustomClasses\">\r\n <div [class.inputbox-error]=\"showEmptyFields && required && !isVerified\"\r\n [class.inputbox-success]=\"showEmptyFields && required && isVerified\">\r\n\r\n <ng-select\r\n [items]=\"items\"\r\n [ngModel]=\"value\"\r\n [addTag]=\"addTag\"\r\n [bindValue]=\"bindValue\"\r\n [bindLabel]=\"bindLabel\"\r\n [multiple]=\"multiple\"\r\n [maxSelectedItems]=\"maxSelectedItems\"\r\n [groupBy]=\"groupBy ? groupBy : ''\"\r\n [placeholder]=\"placeholder\"\r\n [trackByFn]=\"trackByFn\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [loading]=\"loading\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [class]=\"getClasses\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [searchFn]=\"customSearchFn\"\r\n [notFoundText]=\"notFoundText\"\r\n [hideSelected]=\"hideSelected\"\r\n [maxlength]=\"maxLength.toString() || 'none'\"\r\n clearAllText=\"Очистить\"\r\n addTagText=\"Добавить\"\r\n loadingText=\"Загрузка...\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (search)=\"updateSearch($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" *ngIf=\"disabled && disabledFromDisplay\">\r\n {{ displayValue }}\r\n </ng-template>\r\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\" *ngIf=\"selectOptionsGroupTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectOptionsGroupTemplate; context:{item: item, index: index}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-clear=\"clear\" *ngIf=\"selectOptionsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectOptionsTemplate; context:{item: item, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" *ngIf=\"labelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"labelTemplate; context:{item: item}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-tag-tmp let-items=\"items\" *ngIf=\"tagTemplate\">\r\n <ng-container *ngTemplateOutlet=\"tagTemplate; context:{items: items}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-loadingtext-tmp>\r\n <div class=\"ng-option disabled\">{{ loadLabel || 'Загрузка' }}</div>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiLabelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"multiLabelTemplate; context:{items: items, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiCollapseCount\">\r\n <ng-container *ngIf=\"value.length < multiCollapseCount\">\r\n <div class=\"ng-value\" *ngFor=\"let item of items\">\r\n <span class=\"ng-value-label\">{{item['label']}}</span>\r\n <span class=\"ng-value-icon right\" (click)=\"clear(item)\">×</span>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"value.length >= multiCollapseCount\" class=\"ng-summary-list\">\r\n <div class=\"ng-value ng-value-empty\">\r\n <span class=\"ng-value-label\">Выбрано: {{ value.length }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template ng-loadingspinner-tmp>\r\n <mrx-loader\r\n [ngStyle]=\"{display: 'flex'}\"\r\n [color]=\"'brand'\" size=\"small\"\r\n customClasses=\"align-self-center mr-2\"\r\n ></mrx-loader>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport {\r\n PaginateOutputObject,\r\n PaginatorItem,\r\n PaginatorPosition, PaginatorPositionCss,\r\n} from './paginator.enum';\r\n\r\n@Component({\r\n selector: 'mrx-paginator',\r\n templateUrl: './paginator.component.html',\r\n styleUrls: ['./paginator.component.less']\r\n})\r\nexport class PaginatorComponent {\r\n public position: PaginatorPosition | undefined = 'centered';\r\n public withPageSize: boolean | undefined = true;\r\n\r\n @Input() pageSizes: number[] = [20, 50, 100];\r\n @Input() currentPage = 1;\r\n @Input() pageSize = 20;\r\n @Input() total = 0;\r\n @Input() customClasses = '';\r\n\r\n @Input() isEmptyPaginator: boolean = false;\r\n @Input() isPaginatorText: boolean = false;\r\n @Input() paginatorText: string = 'записи';\r\n\r\n @Input('position')\r\n public set setPosition(value: PaginatorPosition | undefined) {\r\n this.position = value || 'centered';\r\n }\r\n\r\n public set internalPageSize(value: string) {\r\n this.pageSize = Number(value);\r\n }\r\n\r\n public get internalPageSize(): string {\r\n return String(this.pageSize);\r\n }\r\n\r\n @Input('withPageSize')\r\n public set setWithPageSize(value: boolean | undefined) {\r\n this.withPageSize = value || false;\r\n }\r\n\r\n @Output() dataStateChanged: EventEmitter<PaginateOutputObject> = new EventEmitter<PaginateOutputObject>();\r\n\r\n public get getClasses(): string {\r\n return `${this.position && PaginatorPositionCss[this.position]} ${this.customClasses}`;\r\n }\r\n\r\n public get getItems(): number {\r\n return Math.ceil(this.total / this.pageSize);\r\n }\r\n\r\n public get getNumbers(): PaginatorItem[] {\r\n return Array(this.getItems)\r\n .fill(1)\r\n .map((item, index) => ({ index: index + 1, active: index + 1 === this.currentPage }));\r\n }\r\n\r\n public get getViewItems(): PaginatorItem[] {\r\n return this.getNumbers.filter((item, index) => {\r\n if (this.currentPage === 1 && this.currentPage < this.getItems) {\r\n return item.index === this.currentPage ||\r\n item.index === this.currentPage + 1 ||\r\n item.index === this.currentPage + 2 ||\r\n item.index === this.currentPage + 3 ||\r\n item.index === this.currentPage + 4;\r\n } else if (this.currentPage == 2 && this.currentPage < this.getItems) {\r\n return item.index === this.currentPage - 1 ||\r\n item.index === this.currentPage ||\r\n item.index === this.currentPage + 1 ||\r\n item.index === this.currentPage + 2 ||\r\n item.index === this.currentPage + 3;\r\n } else if (this.currentPage == this.getItems - 1 && this.currentPage < this.getItems) {\r\n return item.index === this.currentPage - 3 ||\r\n item.index === this.currentPage - 2 ||\r\n item.index === this.currentPage - 1 ||\r\n item.index === this.currentPage ||\r\n item.index === this.currentPage + 1;\r\n } else if (this.currentPage > 1 && this.currentPage < this.getItems) {\r\n return item.index === this.currentPage - 2 ||\r\n item.index === this.currentPage - 1 ||\r\n item.index === this.currentPage ||\r\n item.index === this.currentPage + 1 ||\r\n item.index === this.currentPage + 2;\r\n } else {\r\n return item.index === this.currentPage - 4 ||\r\n item.index === this.currentPage - 3 ||\r\n item.index === this.currentPage - 2 ||\r\n item.index === this.currentPage - 1 ||\r\n item.index === this.currentPage;\r\n }\r\n });\r\n }\r\n\r\n public get getFirstNumberCurrentPage(): number {\r\n if(this.total === 0) {\r\n return 0;\r\n }\r\n if(this.total < this.pageSize * this.currentPage - this.pageSize + 1) {\r\n return 1;\r\n }\r\n\r\n return (this.pageSize * this.currentPage - this.pageSize) + 1;\r\n }\r\n\r\n public get getLastNumberCurrentPage(): number {\r\n if(this.total === 0) {\r\n return 0;\r\n }\r\n if(this.total < this.pageSize * this.currentPage) {\r\n return this.total;\r\n }\r\n return this.pageSize * this.currentPage;\r\n }\r\n\r\n public onChangeCurrentPage(value: number): void {\r\n this.dataStateChanged.emit({\r\n currentPage: value,\r\n pageSize: this.pageSize\r\n });\r\n }\r\n\r\n public onChangePageSize(value: any): void {\r\n let cloneValue = value\r\n\r\n this.currentPage = 1;\r\n\r\n if (typeof cloneValue === 'string') {\r\n cloneValue = Number(cloneValue)\r\n }\r\n\r\n this.dataStateChanged.emit({\r\n currentPage: this.currentPage,\r\n pageSize: cloneValue,\r\n });\r\n }\r\n\r\n public trackByFn(index: number, item: any) {\r\n return item.id;\r\n }\r\n}\r\n","<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n \r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n <ng-template #select>\r\n <mrx-input-select\r\n *ngIf=\"withPageSize\"\r\n [(ngModel)]=\"internalPageSize\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\" \r\n (changed)=\"onChangePageSize($event)\"\r\n [size]=\"'medium'\"\r\n ></mrx-input-select>\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"select\"></ng-container>\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n Отображены {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} из {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputSelectComponent } from './input-select.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { LabelModule } from '../../label/label.module';\r\nimport { LoaderModule } from '../../loader/loader.module';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n@NgModule({\r\n declarations: [InputSelectComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n LabelModule,\r\n LoaderModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n NgSelectModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [InputSelectComponent],\r\n})\r\nexport class InputSelectModule {}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginatorComponent } from './paginator.component';\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { InputSelectModule } from '../form/input-select/input-select.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PaginatorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n InputSelectModule,\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [PaginatorComponent]\r\n})\r\nexport class PaginatorModule {}\r\n","export type ProgressColors = 'default' | 'success' | 'warning' | 'danger';\r\nexport enum ProgressClasses {\r\n 'default' = 'mrx-progress-default',\r\n 'success' = 'mrx-progress-success',\r\n 'warning' = 'mrx-progress-warning',\r\n 'danger' = 'mrx-progress-danger',\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ProgressClasses, ProgressColors } from './progress.enum';\r\n\r\n@Component({\r\n selector: 'mrx-progress',\r\n templateUrl: 'progress.component.html',\r\n styleUrls: ['./progress.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\n\r\nexport class ProgressComponent {\r\n @Input() value: number = 0;\r\n @Input() customClasses: string = '';\r\n @Input() color: ProgressColors = 'default';\r\n\r\n public get getProgressClasses(){\r\n return `${ProgressClasses[this.color]} ${this.customClasses}`;\r\n }\r\n}\r\n","<div class=\"mrx-progress\" [class]=\"getProgressClasses\">\r\n <div class=\"mrx-progress-bar\" [style.width.%]=\"value\"></div>\r\n</div>\t\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProgressComponent } from './progress.component';\r\n\r\n@NgModule({\r\n declarations: [ProgressComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ProgressComponent],\r\n})\r\nexport class ProgressModule {}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const CONTEXT_MENU_OPTIONS = new InjectionToken('CONTEXT_MENU_OPTIONS');\r\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\r\nimport { OverlayRef } from '@angular/cdk/overlay';\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n QueryList,\r\n ViewChild,\r\n ViewChildren,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { IContextMenuOptions } from '../../context-menu.options';\r\nimport { CONTEXT_MENU_OPTIONS } from '../../context-menu.tokens';\r\nimport { ContextMenuItemDirective } from '../../directives/context-menu-item/context-menu-item.directive';\r\nimport {\r\n CloseLeafMenuEvent,\r\n IContextMenuClickEvent,\r\n} from '../../services/context-menu/context-menu.service';\r\nimport { ILinkConfig } from \"../../models/context-menu.enum\";\r\n\r\nconst ARROW_LEFT_KEYCODE = 37;\r\n\r\n@Component({\r\n selector: 'context-menu-content',\r\n styles: [\r\n `\r\n .passive {\r\n display: block;\r\n padding: 3px 20px;\r\n clear: both;\r\n font-weight: normal;\r\n line-height: 20px;\r\n white-space: nowrap;\r\n }\r\n .hasSubMenu:before {\r\n content: '\\u25B6';\r\n float: right;\r\n }\r\n `,\r\n ],\r\n template: `\r\n <div\r\n class=\"dropdown open show ngx-contextmenu\"\r\n [ngClass]=\"menuClass\"\r\n tabindex=\"0\"\r\n >\r\n <ul\r\n #menu\r\n class=\"dropdown-menu show\"\r\n style=\"position: static; float: none;\"\r\n tabindex=\"0\"\r\n >\r\n <li\r\n #li\r\n *ngFor=\"let menuItem of menuItems; let i = index\"\r\n [class.disabled]=\"!isMenuItemEnabled(menuItem)\"\r\n [class.divider]=\"menuItem.divider\"\r\n [class.dropdown-divider]=\"useBootstrap4 && menuItem.divider\"\r\n [class.active]=\"menuItem.isActive && isMenuItemEnabled(menuItem)\"\r\n [attr.role]=\"menuItem.divider ? 'separator' : undefined\"\r\n >\r\n <a\r\n *ngIf=\"!menuItem.divider && !menuItem.passive\"\r\n href\r\n [class.dropdown-item]=\"useBootstrap4\"\r\n [class.active]=\"menuItem.isActive && isMenuItemEnabled(menuItem)\"\r\n [class.disabled]=\"useBootstrap4 && !isMenuItemEnabled(menuItem)\"\r\n [class.hasSubMenu]=\"!!menuItem.subMenu\"\r\n (click)=\"onMenuItemSelect(menuItem, $event)\"\r\n (mouseenter)=\"onOpenSubMenu(menuItem, $event)\"\r\n >\r\n <ng-template\r\n [ngTemplateOutlet]=\"menuItem.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n ></ng-template>\r\n </a>\r\n\r\n <span\r\n (click)=\"stopEvent($event)\"\r\n (contextmenu)=\"stopEvent($event)\"\r\n class=\"passive\"\r\n *ngIf=\"!menuItem.divider && menuItem.passive\"\r\n [class.dropdown-item]=\"useBootstrap4\"\r\n [class.disabled]=\"useBootstrap4 && !isMenuItemEnabled(menuItem)\"\r\n >\r\n <ng-template\r\n [ngTemplateOutlet]=\"menuItem.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n ></ng-template>\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n `,\r\n})\r\nexport class ContextMenuContentComponent\r\n implements OnInit, OnDestroy, AfterViewInit\r\n{\r\n @Input()\r\n public menuItems: ContextMenuItemDirective[] = [];\r\n\r\n @Input()\r\n public item: any;\r\n\r\n @Input()\r\n public event!: MouseEvent | KeyboardEvent;\r\n\r\n @Input()\r\n public parentContextMenu!: ContextMenuContentComponent;\r\n\r\n @Input()\r\n public menuClass!: string;\r\n\r\n @Input()\r\n public overlay!: OverlayRef;\r\n\r\n @Input()\r\n public isLeaf = false;\r\n\r\n @Output()\r\n public execute: EventEmitter<{\r\n event: MouseEvent | KeyboardEvent;\r\n item: any;\r\n menuItem: ContextMenuItemDirective;\r\n }> = new EventEmitter();\r\n\r\n @Output()\r\n public openSubMenu: EventEmitter<IContextMenuClickEvent> = new EventEmitter();\r\n\r\n @Output()\r\n public closeLeafMenu: EventEmitter<CloseLeafMenuEvent> = new EventEmitter();\r\n\r\n @Output()\r\n public closeAllMenus: EventEmitter<{\r\n event: MouseEvent;\r\n }> = new EventEmitter();\r\n\r\n @ViewChild('menu', { static: true })\r\n public menuElement!: ElementRef;\r\n\r\n @ViewChildren('li')\r\n public menuItemElements!: QueryList<ElementRef>;\r\n\r\n public autoFocus?: boolean = false;\r\n public useBootstrap4?: boolean = false;\r\n private _keyManager!: ActiveDescendantKeyManager<ContextMenuItemDirective>;\r\n private subscription: Subscription = new Subscription();\r\n constructor(\r\n @Optional()\r\n @Inject(CONTEXT_MENU_OPTIONS)\r\n private options: IContextMenuOptions\r\n ) {\r\n if (options) {\r\n this.autoFocus = options.autoFocus;\r\n this.useBootstrap4 = options.useBootstrap4;\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public ngOnInit(): void {\r\n this.menuItems.forEach((menuItem) => {\r\n menuItem.currentItem = this.item;\r\n this.subscription.add(\r\n menuItem.execute.subscribe((event) =>\r\n this.execute.emit({ ...event, menuItem })\r\n )\r\n );\r\n });\r\n const queryList = new QueryList<ContextMenuItemDirective>();\r\n queryList.reset(this.menuItems);\r\n this._keyManager = new ActiveDescendantKeyManager<ContextMenuItemDirective>(\r\n queryList\r\n ).withWrap();\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public ngAfterViewInit() {\r\n if (this.autoFocus) {\r\n setTimeout(() => this.focus());\r\n }\r\n this.overlay?.updatePosition();\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public focus(): void {\r\n if (this.autoFocus) {\r\n this.menuElement.nativeElement.focus();\r\n }\r\n }\r\n\r\n public stopEvent(event: MouseEvent) {\r\n event.stopPropagation();\r\n }\r\n\r\n public isMenuItemEnabled(menuItem: ContextMenuItemDirective): boolean {\r\n return this.evaluateIfFunction(menuItem && menuItem.enabled);\r\n }\r\n\r\n public isMenuItemVisible(menuItem: ContextMenuItemDirective): boolean {\r\n return this.evaluateIfFunction(menuItem && menuItem.visible);\r\n }\r\n\r\n public evaluateIfFunction(value: any): any {\r\n if (value instanceof Function) {\r\n return value(this.item);\r\n }\r\n return value;\r\n }\r\n\r\n public isDisabled(link: ILinkConfig): boolean {\r\n return !!link.enabled && !link.enabled(this.item);\r\n }\r\n\r\n @HostListener('window:keydown.ArrowDown', ['$event'])\r\n @HostListener('window:keydown.ArrowUp', ['$event'])\r\n public onKeyEvent(event: KeyboardEvent): void {\r\n if (!this.isLeaf) {\r\n return;\r\n }\r\n this._keyManager.onKeydown(event);\r\n }\r\n\r\n @HostListener('window:keydown.ArrowRight', ['$event'])\r\n public keyboardOpenSubMenu(event: KeyboardEvent): void {\r\n if (!this.isLeaf || this._keyManager.activeItemIndex === null) {\r\n return;\r\n }\r\n this.cancelEvent(event);\r\n const menuItem = this.menuItems[this._keyManager.activeItemIndex];\r\n if (menuItem) {\r\n this.onOpenSubMenu(menuItem, event);\r\n }\r\n }\r\n\r\n @HostListener('window:keydown.Enter', ['$event'])\r\n @HostListener('window:keydown.Space', ['$event'])\r\n public keyboardMenuItemSelect(event: KeyboardEvent): void {\r\n if (!this.isLeaf || this._keyManager.activeItemIndex === null) {\r\n return;\r\n }\r\n this.cancelEvent(event);\r\n const menuItem = this.menuItems[this._keyManager.activeItemIndex];\r\n if (menuItem) {\r\n this.onMenuItemSelect(menuItem, event);\r\n }\r\n }\r\n\r\n @HostListener('window:keydown.Escape', ['$event'])\r\n @HostListener('window:keydown.ArrowLeft', ['$event'])\r\n public onCloseLeafMenu(event: KeyboardEvent): void {\r\n if (!this.isLeaf) {\r\n return;\r\n }\r\n this.cancelEvent(event);\r\n this.closeLeafMenu.emit({\r\n exceptRootMenu: event.keyCode === ARROW_LEFT_KEYCODE,\r\n event,\r\n });\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n @HostListener('document:contextmenu', ['$event'])\r\n public closeMenu(event: MouseEvent): void {\r\n if (event.type === 'click' && event.button === 2) {\r\n return;\r\n }\r\n this.closeAllMenus.emit({ event });\r\n }\r\n\r\n public onOpenSubMenu(\r\n menuItem: ContextMenuItemDirective,\r\n event: MouseEvent | KeyboardEvent\r\n ): void {\r\n if (this._keyManager.activeItemIndex === null) {\r\n return;\r\n }\r\n\r\n const anchorElementRef =\r\n this.menuItemElements.toArray()[this._keyManager.activeItemIndex];\r\n const anchorElement = anchorElementRef && anchorElementRef.nativeElement;\r\n this.openSubMenu.emit({\r\n anchorElement,\r\n contextMenu: menuItem.subMenu,\r\n event,\r\n item: this.item,\r\n parentContextMenu: this,\r\n });\r\n }\r\n\r\n public onMenuItemSelect(\r\n menuItem: ContextMenuItemDirective,\r\n event: MouseEvent | KeyboardEvent\r\n ): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.onOpenSubMenu(menuItem, event);\r\n if (!menuItem.subMenu) {\r\n menuItem.triggerExecute(this.item, event);\r\n }\r\n }\r\n\r\n private cancelEvent(event?: KeyboardEvent): void {\r\n if (!event || !event.target) {\r\n return;\r\n }\r\n\r\n const target = event.target as HTMLElement;\r\n if (\r\n ['INPUT', 'TEXTAREA', 'SELECT'].indexOf(target.tagName) > -1 ||\r\n target.isContentEditable\r\n ) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n}\r\n","import { Highlightable } from '@angular/cdk/a11y';\r\nimport {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Optional,\r\n Output,\r\n TemplateRef,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: '[contextMenuItem]',\r\n})\r\nexport class ContextMenuItemDirective implements Highlightable {\r\n @Input()\r\n public subMenu: any;\r\n\r\n @Input()\r\n public divider = false;\r\n\r\n @Input()\r\n public enabled: boolean | ((item: any) => boolean) = true;\r\n\r\n @Input()\r\n public passive = false;\r\n\r\n @Input()\r\n public visible: boolean | ((item: any) => boolean) = true;\r\n\r\n @Output()\r\n public execute: EventEmitter<{\r\n event: MouseEvent | KeyboardEvent;\r\n item: any;\r\n }> = new EventEmitter();\r\n\r\n public currentItem: any;\r\n public isActive = false;\r\n public get disabled() {\r\n return (\r\n this.passive ||\r\n this.divider ||\r\n !this.evaluateIfFunction(this.enabled, this.currentItem)\r\n );\r\n }\r\n constructor(\r\n @Optional()\r\n public template: TemplateRef<{ item: any }>,\r\n public elementRef: ElementRef\r\n ) {}\r\n\r\n public evaluateIfFunction(value: any, item: any): any {\r\n if (value instanceof Function) {\r\n return value(item);\r\n }\r\n return value;\r\n }\r\n\r\n public setActiveStyles(): void {\r\n this.isActive = true;\r\n }\r\n public setInactiveStyles(): void {\r\n this.isActive = false;\r\n }\r\n\r\n public triggerExecute(item: any, $event: MouseEvent | KeyboardEvent): void {\r\n if (!this.evaluateIfFunction(this.enabled, item)) {\r\n return;\r\n }\r\n this.execute.emit({ event: $event, item });\r\n }\r\n}\r\n","import {\r\n Overlay,\r\n OverlayRef,\r\n ScrollStrategyOptions,\r\n} from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { ComponentRef, ElementRef, Injectable } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { ContextMenuContentComponent } from '../../components/context-menu-content/context-menu-content.component';\r\nimport { ContextMenuComponent } from '../../components/context-menu/context-menu.component';\r\nimport { ContextMenuItemDirective } from '../../directives/context-menu-item/context-menu-item.directive';\r\n\r\nexport interface IContextMenuClickEvent {\r\n anchorElement?: Element | EventTarget;\r\n contextMenu?: ContextMenuComponent;\r\n event: MouseEvent | KeyboardEvent;\r\n parentContextMenu?: ContextMenuContentComponent;\r\n item: any;\r\n activeMenuItemIndex?: number;\r\n}\r\n\r\nexport interface IContextMenuContext extends IContextMenuClickEvent {\r\n menuItems: ContextMenuItemDirective[];\r\n menuClass: string;\r\n}\r\n\r\nexport interface CloseLeafMenuEvent {\r\n exceptRootMenu?: boolean;\r\n event?: MouseEvent | KeyboardEvent;\r\n}\r\n\r\nexport interface OverlayRefWithContextMenu extends OverlayRef {\r\n contextMenu?: ContextMenuContentComponent;\r\n}\r\n\r\nexport interface CancelContextMenuEvent {\r\n eventType: 'cancel';\r\n event?: MouseEvent | KeyboardEvent;\r\n}\r\n\r\nexport interface ExecuteContextMenuEvent {\r\n eventType: 'execute';\r\n event?: MouseEvent | KeyboardEvent;\r\n item: any;\r\n menuItem: ContextMenuItemDirective;\r\n}\r\n\r\nexport type CloseContextMenuEvent =\r\n | ExecuteContextMenuEvent\r\n | CancelContextMenuEvent;\r\n\r\n@Injectable()\r\nexport class ContextMenuService {\r\n public isDestroyingLeafMenu = false;\r\n\r\n public show: Subject<IContextMenuClickEvent> = new Subject();\r\n public triggerClose: Subject<ContextMenuContentComponent> = new Subject();\r\n public close: Subject<CloseContextMenuEvent> = new Subject();\r\n\r\n private overlays: OverlayRef[] = [];\r\n private fakeElement: {\r\n width?: number;\r\n height?: number;\r\n x: number;\r\n y: number;\r\n } = {\r\n height: 0,\r\n width: 0,\r\n x: 0,\r\n y: 0,\r\n };\r\n\r\n constructor(\r\n private overlay: Overlay,\r\n private scrollStrategy: ScrollStrategyOptions\r\n ) {\r\n }\r\n\r\n public openContextMenu(context: IContextMenuContext) {\r\n const {anchorElement, event, parentContextMenu} = context;\r\n\r\n if (!parentContextMenu) {\r\n const mouseEvent = event as MouseEvent;\r\n this.fakeElement = {\r\n height: 0,\r\n width: 0,\r\n x: mouseEvent.clientX,\r\n y: mouseEvent.clientY,\r\n };\r\n this.closeAllContextMenus({eventType: 'cancel', event});\r\n const positionStrategy = this.overlay\r\n .position()\r\n .flexibleConnectedTo(\r\n anchorElement ? new ElementRef(anchorElement) : this.fakeElement\r\n )\r\n .withPositions([\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n },\r\n ]);\r\n this.overlays = [\r\n this.overlay.create({\r\n positionStrategy,\r\n panelClass: 'ngx-contextmenu',\r\n scrollStrategy: this.scrollStrategy.close(),\r\n }),\r\n ];\r\n this.attachContextMenu(this.overlays[0], context);\r\n } else {\r\n const positionStrategy = this.overlay\r\n .position()\r\n .flexibleConnectedTo(\r\n new ElementRef(\r\n event instanceof MouseEvent ? event.target : anchorElement\r\n )\r\n )\r\n .withPositions([\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n ]);\r\n const newOverlay = this.overlay.create({\r\n positionStrategy,\r\n panelClass: 'ngx-contextmenu',\r\n scrollStrategy: this.scrollStrategy.close(),\r\n });\r\n this.destroySubMenus(parentContextMenu);\r\n this.overlays = this.overlays.concat(newOverlay);\r\n this.attachContextMenu(newOverlay, context);\r\n }\r\n }\r\n\r\n public attachContextMenu(\r\n overlayRef: OverlayRef,\r\n context: IContextMenuContext\r\n ): void {\r\n const {event, item, menuItems, menuClass} = context;\r\n const contextMenuContentRef = overlayRef.attach(\r\n new ComponentPortal(ContextMenuContentComponent)\r\n );\r\n contextMenuContentRef.instance.event = event;\r\n contextMenuContentRef.instance.item = item;\r\n contextMenuContentRef.instance.menuItems = menuItems;\r\n contextMenuContentRef.instance.overlay = overlayRef;\r\n contextMenuContentRef.instance.isLeaf = true;\r\n contextMenuContentRef.instance.menuClass = menuClass;\r\n (<OverlayRefWithContextMenu>overlayRef).contextMenu =\r\n contextMenuContentRef.instance;\r\n\r\n const subscriptions: Subscription = new Subscription();\r\n subscriptions.add(\r\n contextMenuContentRef.instance.execute\r\n .asObservable()\r\n .subscribe((executeEvent) =>\r\n this.closeAllContextMenus({eventType: 'execute', ...executeEvent})\r\n )\r\n );\r\n subscriptions.add(\r\n contextMenuContentRef.instance.closeAllMenus\r\n .asObservable()\r\n .subscribe((closeAllEvent) =>\r\n this.closeAllContextMenus({eventType: 'cancel', ...closeAllEvent})\r\n )\r\n );\r\n subscriptions.add(\r\n contextMenuContentRef.instance.closeLeafMenu\r\n .asObservable()\r\n .subscribe((closeLeafMenuEvent) =>\r\n this.destroyLeafMenu(closeLeafMenuEvent)\r\n )\r\n );\r\n subscriptions.add(\r\n contextMenuContentRef.instance.openSubMenu\r\n .asObservable()\r\n .subscribe((subMenuEvent: IContextMenuClickEvent) => {\r\n this.destroySubMenus(contextMenuContentRef.instance);\r\n if (!subMenuEvent.contextMenu) {\r\n contextMenuContentRef.instance.isLeaf = true;\r\n return;\r\n }\r\n contextMenuContentRef.instance.isLeaf = false;\r\n this.show.next(subMenuEvent);\r\n })\r\n );\r\n contextMenuContentRef.onDestroy(() => {\r\n menuItems.forEach((menuItem) => (menuItem.isActive = false));\r\n subscriptions.unsubscribe();\r\n });\r\n contextMenuContentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n public closeAllContextMenus(closeEvent: CloseContextMenuEvent): void {\r\n if (this.overlays) {\r\n this.close.next(closeEvent);\r\n this.overlays.forEach((overlay, index) => {\r\n overlay.detach();\r\n overlay.dispose();\r\n });\r\n }\r\n this.overlays = [];\r\n }\r\n\r\n public getLastAttachedOverlay(): OverlayRefWithContextMenu {\r\n let overlay: OverlayRef = this.overlays[this.overlays.length - 1];\r\n while (this.overlays.length > 1 && overlay && !overlay.hasAttached()) {\r\n overlay.detach();\r\n overlay.dispose();\r\n this.overlays = this.overlays.slice(0, -1);\r\n overlay = this.overlays[this.overlays.length - 1];\r\n }\r\n return overlay;\r\n }\r\n\r\n public destroyLeafMenu({ exceptRootMenu, event }: CloseLeafMenuEvent = {}): void {\r\n if (this.isDestroyingLeafMenu) {\r\n return;\r\n }\r\n this.isDestroyingLeafMenu = true;\r\n\r\n setTimeout(() => {\r\n const overlay = this.getLastAttachedOverlay();\r\n if (this.overlays.length > 1 && overlay) {\r\n overlay.detach();\r\n overlay.dispose();\r\n }\r\n if (!exceptRootMenu && this.overlays.length > 0 && overlay) {\r\n this.close.next({eventType: 'cancel', event});\r\n overlay.detach();\r\n overlay.dispose();\r\n }\r\n\r\n const newLeaf = this.getLastAttachedOverlay();\r\n if (newLeaf && newLeaf.contextMenu) {\r\n newLeaf.contextMenu.isLeaf = true;\r\n }\r\n\r\n this.isDestroyingLeafMenu = false;\r\n });\r\n }\r\n\r\n public destroySubMenus(contextMenu: ContextMenuContentComponent): void {\r\n const overlay = contextMenu.overlay;\r\n const index = this.overlays.indexOf(overlay);\r\n this.overlays.slice(index + 1).forEach((subMenuOverlay) => {\r\n subMenuOverlay.detach();\r\n subMenuOverlay.dispose();\r\n });\r\n }\r\n\r\n public isLeafMenu(contextMenuContent: ContextMenuContentComponent): boolean {\r\n const overlay = this.getLastAttachedOverlay();\r\n return contextMenuContent.overlay === overlay;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n QueryList,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\nimport { ContextMenuItemDirective } from '../../directives/context-menu-item/context-menu-item.directive';\r\nimport { IContextMenuOptions } from '../../context-menu.options';\r\nimport { CONTEXT_MENU_OPTIONS } from '../../context-menu.tokens';\r\nimport {\r\n CloseContextMenuEvent,\r\n ContextMenuService,\r\n IContextMenuClickEvent,\r\n} from '../../services/context-menu/context-menu.service';\r\nimport { ILinkConfig } from \"../../models/context-menu.enum\";\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: 'context-menu',\r\n styles: [\r\n `\r\n .cdk-overlay-container {\r\n position: fixed;\r\n z-index: 1000;\r\n pointer-events: none;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n .ngx-contextmenu.cdk-overlay-pane {\r\n position: absolute;\r\n pointer-events: auto;\r\n box-sizing: border-box;\r\n }\r\n `,\r\n ],\r\n template: ``,\r\n})\r\nexport class ContextMenuComponent implements OnDestroy {\r\n @Input()\r\n public menuClass = '';\r\n\r\n @Input()\r\n public autoFocus = false;\r\n\r\n @Input()\r\n public useBootstrap4 = false;\r\n\r\n @Input()\r\n public disabled = false;\r\n\r\n @Output()\r\n public close: EventEmitter<CloseContextMenuEvent> = new EventEmitter();\r\n\r\n @Output()\r\n public open: EventEmitter<IContextMenuClickEvent> = new EventEmitter();\r\n\r\n @ContentChildren(ContextMenuItemDirective)\r\n public menuItems!: QueryList<ContextMenuItemDirective>;\r\n\r\n @ViewChild('menu', { static: false })\r\n public menuElement!: ElementRef;\r\n public visibleMenuItems: ContextMenuItemDirective[] = [];\r\n public links: ILinkConfig[] = [];\r\n public item: any;\r\n public event?: MouseEvent | KeyboardEvent;\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n private contextMenuService: ContextMenuService,\r\n @Optional()\r\n @Inject(CONTEXT_MENU_OPTIONS)\r\n private options: IContextMenuOptions\r\n ) {\r\n if (this.options) {\r\n this.autoFocus = this.options.autoFocus || false;\r\n this.useBootstrap4 = this.options.useBootstrap4 || false;\r\n }\r\n this.subscription.add(\r\n contextMenuService.show.subscribe((menuEvent) => {\r\n this.onMenuEvent(menuEvent);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public onMenuEvent(menuEvent: IContextMenuClickEvent): void {\r\n if (this.disabled) {\r\n return;\r\n }\r\n const { contextMenu, event, item } = menuEvent;\r\n if (contextMenu && contextMenu !== this) {\r\n return;\r\n }\r\n this.event = event;\r\n this.item = item;\r\n this.setVisibleMenuItems();\r\n this.contextMenuService.openContextMenu({\r\n ...menuEvent,\r\n menuItems: this.visibleMenuItems,\r\n menuClass: this.menuClass,\r\n });\r\n this.contextMenuService.close\r\n .asObservable()\r\n .pipe(first())\r\n .subscribe((closeEvent) => this.close.emit(closeEvent));\r\n this.open.next(menuEvent);\r\n }\r\n\r\n public isMenuItemVisible(menuItem: ContextMenuItemDirective): boolean {\r\n return this.evaluateIfFunction(menuItem.visible);\r\n }\r\n\r\n public setVisibleMenuItems(): void {\r\n this.visibleMenuItems = this.menuItems.filter((menuItem) =>\r\n this.isMenuItemVisible(menuItem)\r\n );\r\n }\r\n\r\n public evaluateIfFunction(value: any): any {\r\n if (value instanceof Function) {\r\n return value(this.item);\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { ContextMenuComponent } from '../../components/context-menu/context-menu.component';\r\nimport { ContextMenuService } from '../../services/context-menu/context-menu.service';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: '[contextMenu]',\r\n})\r\nexport class ContextMenuAttachDirective {\r\n @Input()\r\n public contextMenuSubject: any;\r\n\r\n @Input()\r\n public contextMenu?: ContextMenuComponent;\r\n\r\n constructor(private contextMenuService: ContextMenuService) {}\r\n\r\n @HostListener('contextmenu', ['$event'])\r\n public onContextMenu(event: MouseEvent): void {\r\n if (this.contextMenu && !this.contextMenu.disabled) {\r\n this.contextMenuService.show.next({\r\n contextMenu: this.contextMenu,\r\n event,\r\n item: this.contextMenuSubject,\r\n });\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }\r\n}\r\n","import {\r\n FullscreenOverlayContainer,\r\n OverlayContainer,\r\n OverlayModule,\r\n} from '@angular/cdk/overlay';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { ContextMenuContentComponent } from './components/context-menu-content/context-menu-content.component';\r\nimport { ContextMenuComponent } from './components/context-menu/context-menu.component';\r\nimport { IContextMenuOptions } from './context-menu.options';\r\nimport { CONTEXT_MENU_OPTIONS } from './context-menu.tokens';\r\nimport { ContextMenuItemDirective } from './directives/context-menu-item/context-menu-item.directive';\r\nimport { ContextMenuAttachDirective } from './directives/context-menu/context-menu.directive';\r\nimport { ContextMenuService } from './services/context-menu/context-menu.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n ContextMenuAttachDirective,\r\n ContextMenuComponent,\r\n ContextMenuContentComponent,\r\n ContextMenuItemDirective,\r\n ],\r\n exports: [\r\n ContextMenuAttachDirective,\r\n ContextMenuComponent,\r\n ContextMenuItemDirective,\r\n ],\r\n imports: [CommonModule, OverlayModule],\r\n})\r\nexport class ContextMenuModule {\r\n public static forRoot(\r\n options?: IContextMenuOptions\r\n ): ModuleWithProviders<ContextMenuModule> {\r\n return {\r\n ngModule: ContextMenuModule,\r\n providers: [\r\n ContextMenuService,\r\n {\r\n provide: CONTEXT_MENU_OPTIONS,\r\n useValue: options,\r\n },\r\n { provide: OverlayContainer, useClass: FullscreenOverlayContainer },\r\n ],\r\n };\r\n }\r\n}\r\n","import {ElementRef, Injectable} from '@angular/core';\r\nimport {ScrollStrategyOptions, Overlay} from '@angular/cdk/overlay';\r\nimport { ContextMenuService, IContextMenuContext } from './context-menu.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContextMenuFixedService extends ContextMenuService {\r\n constructor(private overlayFix: Overlay, private scrollStrategyFix: ScrollStrategyOptions) {\r\n\r\n super(overlayFix, scrollStrategyFix);\r\n }\r\n\r\n override openContextMenu(context: IContextMenuContext) {\r\n const {anchorElement, event, parentContextMenu} = context;\r\n\r\n if (!parentContextMenu) {\r\n const mouseEvent = event as MouseEvent;\r\n // @ts-ignore\r\n this['fakeElement'].getBoundingClientRect = (): DOMRect => ({\r\n bottom: mouseEvent.clientY,\r\n height: 0,\r\n left: mouseEvent.clientX,\r\n right: mouseEvent.clientX,\r\n top: mouseEvent.clientY,\r\n width: 0,\r\n } as DOMRect);\r\n this.closeAllContextMenus({eventType: 'cancel', event});\r\n const positionStrategy = this.overlayFix.position()\r\n .flexibleConnectedTo(new ElementRef(anchorElement || this['fakeElement']))\r\n .withPositions([\r\n {\r\n originX: 'start', originY: 'bottom',\r\n overlayX: 'start', overlayY: 'top',\r\n },\r\n {\r\n originX: 'start', originY: 'top',\r\n overlayX: 'start', overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'end', originY: 'top',\r\n overlayX: 'start', overlayY: 'top',\r\n },\r\n {\r\n originX: 'start', originY: 'top',\r\n overlayX: 'end', overlayY: 'top',\r\n },\r\n {\r\n originX: 'end', originY: 'center',\r\n overlayX: 'start', overlayY: 'center',\r\n },\r\n {\r\n originX: 'start', originY: 'center',\r\n overlayX: 'end', overlayY: 'center',\r\n },\r\n ])\r\n .withFlexibleDimensions(false);\r\n this['overlays'] = [this.overlayFix.create({\r\n positionStrategy,\r\n panelClass: 'ngx-contextmenu',\r\n scrollStrategy: this.scrollStrategyFix.close(),\r\n })];\r\n this.attachContextMenu(this['overlays'][0], context);\r\n } else {\r\n const positionStrategy = this.overlayFix\r\n .position()\r\n .flexibleConnectedTo(new ElementRef(event ? event.target : anchorElement))\r\n .withPositions([\r\n {\r\n originX: 'end', originY: 'top',\r\n overlayX: 'start', overlayY: 'top',\r\n },\r\n {\r\n originX: 'start', originY: 'top',\r\n overlayX: 'end', overlayY: 'top',\r\n },\r\n {\r\n originX: 'end', originY: 'bottom',\r\n overlayX: 'start', overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'start', originY: 'bottom',\r\n overlayX: 'end', overlayY: 'bottom',\r\n },\r\n ])\r\n .withFlexibleDimensions(false);\r\n const newOverlay = this.overlayFix.create({\r\n positionStrategy,\r\n panelClass: 'ngx-contextmenu',\r\n scrollStrategy: this.scrollStrategyFix.close(),\r\n });\r\n this.destroySubMenus(parentContextMenu);\r\n this['overlays'] = this['overlays'].concat(newOverlay);\r\n this.attachContextMenu(newOverlay, context);\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { StepperType } from './stepper.enum';\r\n\r\n@Component({\r\n selector: 'mrx-stepper',\r\n templateUrl: 'stepper.component.html',\r\n styleUrls: ['./stepper.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class StepperComponent {\r\n @Input() totalSteps = 0;\r\n @Input() currentStep = 0;\r\n @Input() customClasses = '';\r\n @Input() type: StepperType = 'default';\r\n\r\n @Input() completeText = 'Завершено';\r\n @Input() requiredText = 'Осталось';\r\n @Input() successText = 'Конец!';\r\n @Input() isBottomLabel = false\r\n\r\n public get percent(): number {\r\n if (this.currentStep >= this.totalSteps) {\r\n return 100;\r\n }\r\n if (this.totalSteps > 0) {\r\n return (100 * this.currentStep) / this.totalSteps;\r\n }\r\n return 0;\r\n }\r\n\r\n public get isCompleted(): boolean {\r\n return this.currentStep >= this.totalSteps;\r\n }\r\n\r\n public get difference(): number {\r\n return this.totalSteps - this.currentStep;\r\n }\r\n}\r\n","<div class=\"mrx-stepper\" [class]=\"customClasses\">\r\n <div class=\"mb-2\" *ngIf=\"!isBottomLabel\">\r\n <ng-container *ngTemplateOutlet=\"stepperLabel\"></ng-container>\r\n </div>\r\n\r\n <mrx-progress [color]=\"type\" [value]=\"percent\"></mrx-progress>\r\n\r\n <div class=\"mt-2\" *ngIf=\"isBottomLabel\">\r\n <ng-container *ngTemplateOutlet=\"stepperLabel\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #stepperLabel>\r\n <div class=\"mrx-stepper-header\">\r\n <div class=\"mrx-stepper-header-item\">\r\n {{completeText}} <strong class=\"ml-1 mr-1\">{{currentStep}}</strong> из <span class=\"ml-1\">{{totalSteps}}</span>\r\n </div>\r\n <div class=\"mrx-stepper-header-item\">\r\n <!-- если есть не завершенные шаги -->\r\n <ng-container *ngIf=\"!isCompleted\">\r\n {{requiredText}} <strong class=\"ml-1\">{{difference}}</strong>\r\n </ng-container>\r\n <!-- если все шаги завершены -->\r\n <ng-container *ngIf=\"isCompleted\">\r\n <span class=\"mrx-icon icon-font-24 icon-positive mr-1\"></span>\r\n {{successText}}\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StepperComponent } from './stepper.component';\r\nimport { ProgressModule } from '../progress/progress.module';\r\n\r\n@NgModule({\r\n declarations: [StepperComponent],\r\n imports: [CommonModule, ProgressModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [StepperComponent, ProgressModule],\r\n})\r\nexport class StepperModule {}\r\n","export type StepperType = 'default' | 'success' | \"warning\" | \"danger\";\r\nexport enum StepperClasses {\r\n 'default' = 'mrx-stepper-default',\r\n 'success' = 'mrx-stepper-success'\r\n}\r\n","export enum TableTypeEnum {\r\n 'default' = 'type-default',\r\n 'light' = 'type-light',\r\n 'cards' = 'type-cards',\r\n 'mixed' = 'type-mixed'\r\n}\r\n\r\nexport type TableType = 'default' | 'light' | 'cards' | 'mixed';\r\nexport type SortDirection = 'asc' | 'desc';\r\n\r\nexport interface TableBodyItem {\r\n [key: string]: any;\r\n}\r\n\r\nexport interface SortDescriptor {\r\n col: string,\r\n dir?: SortDirection;\r\n}\r\n\r\n// default = слева количество, справа сортировка\r\n// second = слева сортировка, справа скачать\r\nexport type TableCardHeaderType = 'default' | 'second'\r\n\r\nexport interface HeaderSettings {\r\n type: TableCardHeaderType,\r\n sort?: boolean,\r\n count?: boolean,\r\n download?: boolean,\r\n background?: boolean,\r\n substrate?: boolean,\r\n toggle?: boolean,\r\n countText?: string\r\n}\r\n\r\nexport interface ContentSettings {\r\n substrate?: boolean\r\n}\r\n\r\nexport interface PaginatorSettings {\r\n substrate?: boolean\r\n}\r\n","import { Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-column',\r\n template: '',\r\n})\r\nexport class ColumnComponent {\r\n @Input() name: string = '';\r\n @Input() label: string = '';\r\n @Input() sortLabel: string = '';\r\n @Input() sortable: boolean = true;\r\n @Input() isLink: boolean = true\r\n @Input() customClasses: string = ''\r\n\r\n @ContentChild('templateHead') templateHead!: TemplateRef<any>;\r\n @ContentChild('templateCell') templateCell!: TemplateRef<any>;\r\n}\r\n","import { PagerSettings } from '../models/pager-settings';\r\n\r\nexport const DefaultPagerSettings: PagerSettings = {\r\n info: true,\r\n pageSizes: [20, 50, 100],\r\n type: 'numeric',\r\n withPageSize: true\r\n};\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { ContentSettings, HeaderSettings, PaginatorSettings, SortDescriptor, TableBodyItem, TableType, TableTypeEnum } from './table.enum';\r\nimport { ColumnComponent } from './components/column/column.component';\r\nimport { PagerSettings } from './models/pager-settings';\r\nimport { DefaultPagerSettings } from './default/default-pager-settings';\r\nimport { DataStateChangeEvent } from './models/data-state-change.event';\r\nimport { PaginateOutputObject } from '../paginator/paginator.enum';\r\nimport { animate, group, state, style, transition, trigger } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'mrx-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.less'],\r\n animations: [\r\n trigger('visibleLoading', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })),\r\n transition('in => out', [group([\r\n animate('300ms ease-in-out', style({ opacity: 0 })),\r\n animate('300ms ease-in-out', style({ visibility: 'hidden' }))\r\n ]\r\n )]),\r\n transition('out => in', [group([\r\n animate('1ms ease-in-out', style({ visibility: 'visible' })),\r\n animate('300ms ease-in-out', style({ opacity: 1 }))\r\n ]\r\n )])\r\n ])\r\n ]\r\n})\r\nexport class TableComponent implements AfterViewInit {\r\n public colArray: ColumnComponent[] = [];\r\n public pageable: PagerSettings | null = DefaultPagerSettings;\r\n public selectedSort = ''\r\n public init = false\r\n\r\n @ContentChildren(ColumnComponent) contentChildren!: QueryList<ColumnComponent>;\r\n @ContentChild('templateCard') templateCard!: TemplateRef<any>;\r\n @ContentChild('emptyResultMsgTemplate') emptyResultMsgTemplate!: TemplateRef<any>;\r\n\r\n @Input() type: TableType = 'default';\r\n @Input() data!: TableBodyItem[];\r\n @Input() pageSize = 20;\r\n @Input() currentPage = 1;\r\n @Input() total = 0;\r\n @Input() link = '';\r\n @Input() isLoading = false;\r\n\r\n @Input() sort: SortDescriptor | undefined;\r\n @Input() trackById = 'id';\r\n @Input() sortable = true;\r\n @Input() striped = true;\r\n @Input() customClasses = ''\r\n @Input() emptyResultMsg = ''\r\n @Input() hovered = true;\r\n\r\n @Input() autoHeight = true\r\n\r\n @Input() headerSettings: HeaderSettings | undefined\r\n\r\n @Input() contentSettings: ContentSettings = {\r\n substrate: false\r\n }\r\n\r\n @Input() paginatorSettings: PaginatorSettings = {\r\n substrate: false\r\n }\r\n\r\n // Проверить и вырезать\r\n public selectedItem = 1\r\n\r\n @Input('pageable')\r\n public set setPageable(value: PagerSettings | boolean) {\r\n if (value === true) {\r\n this.pageable = DefaultPagerSettings;\r\n } else if (value === false) {\r\n this.pageable = null;\r\n } else {\r\n this.pageable = value;\r\n }\r\n }\r\n\r\n @Output() dataStateChanged: EventEmitter<DataStateChangeEvent> =\r\n new EventEmitter<DataStateChangeEvent>();\r\n @Output() downloadData: EventEmitter<Event> = new EventEmitter<Event>()\r\n @Output() changeTypeTable: EventEmitter<TableType> = new EventEmitter<TableType>()\r\n @Output() change: EventEmitter<Event> = new EventEmitter<Event>()\r\n\r\n constructor(private changeDetector: ChangeDetectorRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.colArray = this.contentChildren.toArray();\r\n\r\n this.colArray.forEach(item => {\r\n if (this.sort && this.sort.col === item.name) {\r\n this.selectedSort = item.name\r\n }\r\n })\r\n\r\n this.colArray = this.colArray.filter(item => {\r\n return item.name !== '' && item.sortLabel\r\n })\r\n\r\n this.changeDetector.detectChanges()\r\n this.init = true\r\n\r\n if (this.autoHeight) {\r\n document.querySelectorAll('.td-content-wrapper').forEach((wrapper: Element) => {\r\n const tdHeight = wrapper.closest('td')?.scrollHeight\r\n const link = wrapper as HTMLElement\r\n link.style.height = tdHeight + 'px'\r\n })\r\n }\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${ TableTypeEnum[this.type] } ${ this.customClasses }`;\r\n }\r\n\r\n trackByFn(index: number, item: any): string {\r\n return item[this.trackById];\r\n }\r\n\r\n public changeSort() {\r\n const newEventData: DataStateChangeEvent = { page: this.currentPage, pageSize: this.pageSize };\r\n\r\n if (!this.colArray.length) {\r\n return\r\n }\r\n\r\n if (this.sort) {\r\n newEventData.sort = {\r\n dir: this.sort.dir === 'desc' ? 'asc' : 'desc',\r\n col: this.sort.col\r\n };\r\n } else {\r\n newEventData.sort = {\r\n dir: 'asc',\r\n col: this.colArray[0].name\r\n };\r\n }\r\n\r\n this.dataStateChanged.emit(newEventData);\r\n }\r\n\r\n public columnSortedDir(column: string): string {\r\n if (this.sort && this.sort.col == column && this.sort.dir) {\r\n return this.sort.dir;\r\n }\r\n return '';\r\n }\r\n\r\n public onSortColumn(column: string, sortable: boolean): void {\r\n if (!sortable) {\r\n return;\r\n }\r\n\r\n const newEventData: DataStateChangeEvent = { page: this.currentPage, pageSize: this.pageSize };\r\n\r\n if (this.sort && this.sort.col == column) {\r\n if (this.sort.dir && this.sort.dir === 'asc') {\r\n newEventData.sort = { dir: 'desc', col: column };\r\n }\r\n } else {\r\n newEventData.sort = { dir: 'asc', col: column };\r\n }\r\n\r\n this.dataStateChanged.emit(newEventData);\r\n }\r\n\r\n public clickToDownload(event: Event): void {\r\n this.downloadData.emit(event)\r\n }\r\n\r\n public updateSortSelect(value: any): void {\r\n const newEventData: DataStateChangeEvent = {\r\n page: this.currentPage,\r\n pageSize: this.pageSize,\r\n sort: {\r\n col: value.name,\r\n dir: this.sort?.dir\r\n }\r\n };\r\n\r\n this.dataStateChanged.emit(newEventData)\r\n }\r\n\r\n public onDataStatePaginatorChanged(pagination: PaginateOutputObject): void {\r\n const newEventData: DataStateChangeEvent = {\r\n page: pagination.currentPage,\r\n pageSize: pagination.pageSize\r\n };\r\n\r\n if (this.sort && this.sort.col && this.sort.dir) {\r\n newEventData.sort = { dir: this.sort.dir, col: this.sort.col };\r\n }\r\n\r\n this.dataStateChanged.emit(newEventData);\r\n }\r\n\r\n public getLinkForStroke(link: string, dataItem: TableBodyItem) {\r\n // регулярки\r\n const regExpParams = /(?<=\\[)[^\\s\\[\\]]+(?=])/gi;\r\n // основной массив\r\n const linkArray = link.split('?')\r\n // массивы строк url и параметров\r\n const arrayUrl = linkArray[0]?.split('/')\r\n const searchParams = linkArray[1]?.split('&')\r\n const searchParamsObj = searchParams?.map((str) => {\r\n const strParamData = str.split('=')[1].match(regExpParams)\r\n return {\r\n name: str.split('=')[0],\r\n data: strParamData ? strParamData[0] : str.split('=')[0],\r\n }\r\n })\r\n // const arrayParams = linkArray[1]?.match(regExpParams)\r\n\r\n // обработка тела url\r\n const strUrl = arrayUrl.map((str) => {\r\n if (str.match(regExpParams)) {\r\n // @ts-ignore\r\n return dataItem[str.match(regExpParams)[0]]\r\n } else {\r\n return str\r\n }\r\n }).join('/')\r\n // обработка параметров\r\n // если есть параметры - возвращаем их строкой с динамическими параметрами\r\n\r\n const strParams = searchParamsObj ? searchParamsObj.map((param, index: number) => {\r\n return `${ index > 0 ? '' : '?' }${ param.name }=${ dataItem[param.data] }`\r\n }).join('&') : ''\r\n\r\n // const strParams = arrayParams ? arrayParams.map((str, index) => {\r\n // return `${index > 0 ? '' : '?'}${str}=${dataItem[str]}`\r\n // }).join('&') : ''\r\n\r\n return `${ strUrl }${ strParams }`\r\n }\r\n\r\n public onChangeTypeTable(type: TableType): void {\r\n this.changeTypeTable.emit(type)\r\n }\r\n\r\n // public getHeightForTD(tableTD: HTMLElement) {\r\n // return tableTD.scrollHeight\r\n // }\r\n}\r\n","<div class=\"mrx-table\" [class]=\"getClasses\" [class.mb-3]=\"pageable\">\r\n <ng-container *ngIf=\"headerSettings\">\r\n <div\r\n class=\"mrx-table-card-header pt-2 pb-2 mb-3\"\r\n [class.mrx-table-card-header--substrate]=\"headerSettings.substrate\"\r\n *ngIf=\"headerSettings.type === 'default'\"\r\n >\r\n <div class=\"row\">\r\n <div\r\n class=\"mrx-table-card-header--left col col-12 col-md-6 mb-1 mb-md-0 d-flex justify-content-start align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"counterTemplate\"></ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table-card-header--right col col-12 col-md-6 d-flex justify-content-end align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"sortTemplate\"></ng-container>\r\n <div class=\"ml-4\" *ngIf=\"headerSettings.toggle\">\r\n <ng-container *ngTemplateOutlet=\"toggleTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-table-card-header mb-3 pt-2 pb-2\"\r\n [class.mrx-table-card-header--substrate]=\"headerSettings.substrate\"\r\n *ngIf=\"headerSettings.type === 'second'\"\r\n >\r\n <div class=\"row\">\r\n <div\r\n class=\"mrx-table-card-header--left col col-12 col-sm-6 mb-1 mb-sm-0 d-flex justify-content-start align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"sortTemplate\"></ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table-card-header--right col col-12 col-sm-6 d-flex justify-content-end align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"downloadTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n <div class=\"mrx-table__wrapper\" *ngSwitchCase=\"'default'\"\r\n [class.mrx-table__wrapper--substrate]=\"contentSettings.substrate\">\r\n <table\r\n [class.table-striped]=\"striped\"\r\n [class.table-solid]=\"!striped\"\r\n [class.mt-2]=\"contentSettings.substrate\"\r\n [class.mb-3]=\"contentSettings.substrate && data.length\"\r\n >\r\n <thead [class.table-head-gray]=\"!headerSettings || headerSettings.background\">\r\n <tr>\r\n <th *ngFor=\"let col of contentChildren; let index = index; let first = first; let last = last; trackBy: trackByFn\" [class]=\"col.customClasses\">\r\n <ng-container *ngIf=\"!col.templateHead; else headerItemTemplate\">\r\n <ng-container *ngIf=\"col.sortable; else defaultHeadCol\">\r\n <div [class.th-wrapper]=\"sortable\" (click)=\"onSortColumn(col.name, col.sortable)\">\r\n <span>{{ col.label }}</span>\r\n <svg\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\r\n [class]=\"columnSortedDir(col.name)\"\r\n class=\"mrx-table__sort-icon\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 9L8 13L12 9\" fill=\"#DAD5CE\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 7L8 3L4 7\" fill=\"#DAD5CE\"/>\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultHeadCol>\r\n <div><span>{{ col.label }}</span></div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template #headerItemTemplate>\r\n <ng-container *ngIf=\"col.sortable; else defaultHeadCol\">\r\n <div [class.th-wrapper]=\"sortable\" (click)=\"onSortColumn(col.name, col.sortable)\">\r\n <ng-container *ngTemplateOutlet=\"col.templateHead; context: { $implicit: col }\"></ng-container>\r\n <svg\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\r\n [class]=\"columnSortedDir(col.name)\"\r\n class=\"mrx-table__sort-icon\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 9L8 13L12 9\" fill=\"#DAD5CE\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 7L8 3L4 7\" fill=\"#DAD5CE\"/>\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultHeadCol>\r\n <ng-container *ngTemplateOutlet=\"col.templateHead; context: { $implicit: col, index, first, last }\"></ng-container>\r\n </ng-template>\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n <tr *ngFor=\"let dataItem of data; let index = index; let first = first; let last = last\" [class.-hovered]=\"hovered\">\r\n <td\r\n #tableTD\r\n class=\"p-0\"\r\n *ngFor=\"let col of contentChildren\"\r\n [class]=\"col.customClasses\"\r\n >\r\n <a\r\n class=\"link-wrapper td-content-wrapper\"\r\n [href]=\"getLinkForStroke(link, dataItem)\"\r\n *ngIf=\"link && col['isLink']; else defaultTemplate\"\r\n >\r\n <ng-container *ngIf=\"!col.templateCell; else bodyItemTemplate\">\r\n <div class=\"p-2\">{{ dataItem[col.name] }}</div>\r\n </ng-container>\r\n\r\n <ng-template #bodyItemTemplate>\r\n <ng-container\r\n *ngTemplateOutlet=\"col.templateCell; context: { $implicit: col, row: dataItem, index, first, last }\"></ng-container>\r\n </ng-template>\r\n </a>\r\n\r\n <ng-template #defaultTemplate>\r\n <ng-container *ngIf=\"!col.templateCell; else bodyItemTemplate\">\r\n <div class=\"p-2 td-content-wrapper\">{{ dataItem[col.name] }}</div>\r\n </ng-container>\r\n\r\n <ng-template #bodyItemTemplate>\r\n <div class=\"td-content-wrapper\">\r\n <ng-container\r\n *ngTemplateOutlet=\"col.templateCell; context: { $implicit: col, row: dataItem, index, first, last }\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <div class=\"mrx-table__result-message\" *ngIf=\"!data.length\">\r\n <ng-container *ngTemplateOutlet=\"emptyResultMsg ? emptyResultMsgTemplateDefault : emptyResultMsgTemplate\">\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table__overlay\" [@visibleLoading]=\"isLoading ? 'in' : 'out'\" [ngClass]=\"{'open': isLoading}\" >\r\n <mrx-loader size=\"large\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mrx-table__wrapper\" *ngSwitchCase=\"'cards'\">\r\n <ng-container *ngFor=\"let item of data; let index = index; let first = first; let last = last\">\r\n <ng-container *ngTemplateOutlet=\"templateCard; context: { $implicit: item, index, first, last }\"></ng-container>\r\n </ng-container>\r\n\r\n <div class=\"mrx-table__result-message--substrate\" *ngIf=\"!data.length\" >\r\n <ng-container *ngTemplateOutlet=\"emptyResultMsg ? emptyResultMsgTemplateDefault : emptyResultMsgTemplate\">\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table__overlay\" [@visibleLoading]=\"isLoading ? 'in' : 'out'\" [ngClass]=\"{'open': isLoading}\" >\r\n <mrx-loader size=\"large\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div class=\"mrx-table__paginator pt-2 pb-2\" [class.mrx-table__paginator--substrate]=\"paginatorSettings.substrate\" *ngIf=\"total\">\r\n <mrx-paginator\r\n *ngIf=\"pageable\"\r\n [total]=\"total\"\r\n [pageSize]=\"pageSize\"\r\n [position]=\"pageable.position\"\r\n [pageSizes]=\"pageable.pageSizes\"\r\n [currentPage]=\"currentPage\"\r\n [withPageSize]=\"pageable.withPageSize\"\r\n (dataStateChanged)=\"onDataStatePaginatorChanged($event)\">\r\n </mrx-paginator>\r\n</div>\r\n\r\n<ng-template #counterTemplate>\r\n <span class=\"d-flex align-items-center\" *ngIf=\"headerSettings?.count\">\r\n {{ total }} {{headerSettings?.countText || 'новостей'}}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #sortTemplate>\r\n <div class=\"d-flex mrx-table-sort\" *ngIf=\"headerSettings?.sort\">\r\n <div class=\"mrx-table-sort-scale\" (click)=\"changeSort()\">\r\n <span class=\"mrx-table-sort-scale__title\">Сортировать по:</span>\r\n <div class=\"mrx-table-sort-scale__icon\">\r\n <span *ngIf=\"sort?.dir === 'desc'\" class=\"mrx-icon icon-sorting-down icon-font-16\"></span>\r\n <span *ngIf=\"sort?.dir === 'asc'\" class=\"mrx-icon icon-sorting-up icon-font-16\"></span>\r\n </div>\r\n </div>\r\n <ng-select\r\n bindLabel=\"sortLabel\"\r\n bindValue=\"name\"\r\n [items]=\"colArray\"\r\n [ngModel]=\"selectedSort\"\r\n (change)=\"updateSortSelect($event)\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n ></ng-select>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #downloadTemplate>\r\n <div class=\"mrx-table-download\" (click)=\"clickToDownload($event)\" *ngIf=\"headerSettings?.download\">\r\n <span class=\"desktop\">Скачать данные</span>\r\n <span class=\"mrx-icon icon-download icon-font-24\"></span>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #toggleTemplate>\r\n <div class=\"mrx-table-toggle\">\r\n <div class=\"mrx-table-toggle--item mr-1\" (click)=\"onChangeTypeTable('cards')\" [class.active]=\"type === 'cards'\">\r\n <span class=\"mrx-icon icon-cards-view icon-font-24\"></span>\r\n </div>\r\n <div class=\"mrx-table-toggle--item\" (click)=\"onChangeTypeTable('default')\" [class.active]=\"type === 'default'\">\r\n <span class=\"mrx-icon icon-table-view icon-font-24\"></span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #emptyResultMsgTemplateDefault>\r\n {{emptyResultMsg}}\r\n</ng-template>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TableComponent } from './table.component';\r\nimport { PaginatorModule } from '../paginator/paginator.module';\r\nimport { ColumnComponent } from './components/column/column.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LoaderModule } from '../loader/loader.module';\r\nimport { InputSelectModule } from '../form/input-select/input-select.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n TableComponent,\r\n ColumnComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PaginatorModule,\r\n InputSelectModule,\r\n NgSelectModule,\r\n FormsModule,\r\n LoaderModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [\r\n TableComponent,\r\n ColumnComponent\r\n ]\r\n})\r\nexport class TableModule {}\r\n","\r\nexport type TabSize = 'small' | 'medium' | 'large';\r\n\r\nexport enum TabsClasses {\r\n 'small' = 'mrx-tabs-sm',\r\n 'medium' = 'mrx-tabs-md',\r\n 'large' = 'mrx-tabs-lg',\r\n};\r\n\r\nexport type TabTypes = 'default' | 'button';\r\n\r\nexport enum TabsTypesClasses {\r\n 'default' = 'mrx-tabs-default',\r\n 'button' = 'mrx-tabs-button'\r\n};\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport {\r\n TabsClasses,\r\n TabSize, TabsTypesClasses, TabTypes,\r\n} from '../tabs.enum';\r\n\r\n@Component({\r\n selector: 'mrx-tabs-group',\r\n templateUrl: 'tabs-group.component.html',\r\n styleUrls: ['./tabs-group.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TabsGroupComponent {\r\n\r\n @Input() customClasses = '';\r\n @Input() size: TabSize = 'medium';\r\n @Input() type: TabTypes = 'default';\r\n @Input() isResponsive = false;\r\n\r\n public get tabClasses(): string {\r\n return `${TabsTypesClasses[this.type]} ${TabsClasses[this.size]} ${this.customClasses}`;\r\n }\r\n}\r\n","<div class=\"mrx-tabs-group\" [class]=\"tabClasses\" [class.responsive]=\"isResponsive\">\r\n <div class=\"mrx-tabs-group-wrapper\">\r\n <ng-content></ng-content>\r\n </div> \r\n</div>\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-tab',\r\n templateUrl: 'tab.component.html',\r\n styleUrls: ['./tab.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TabComponent {\r\n @Input() id!: number| string;\r\n @Input() customClasses = '';\r\n @Input() subTitle!: string;\r\n @Input() active!: boolean;\r\n @Input() disabled!: boolean;\r\n\r\n\r\n @Output() onClick: EventEmitter<number| string> = new EventEmitter<number| string>();\r\n\r\n public onTabClick(): void {\r\n this.onClick.emit(this.id);\r\n }\r\n}\r\n","<div class=\"mrx-tab\" [class]=\"customClasses\" [class.active]=\"active\" (click)=\"onTabClick()\">\r\n <ng-content></ng-content>\r\n <span *ngIf=\"subTitle\">{{subTitle}}</span>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TabsGroupComponent } from './tabs-group/tabs-group.component';\r\nimport { TabComponent } from './tab/tab.component';\r\n\r\n@NgModule({\r\n declarations: [TabsGroupComponent, TabComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [TabsGroupComponent, TabComponent],\r\n})\r\nexport class TabsModule {}\r\n","import {\r\n AfterContentChecked,\r\n AfterContentInit,\r\n Directive,\r\n ElementRef, EventEmitter,\r\n HostListener,\r\n Input,\r\n OnChanges, OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { animate, AnimationBuilder, AnimationMetadata, style } from '@angular/animations';\r\nimport { LinkComponent } from '../../link/link.component';\r\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { Subscriber, Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[mrxTruncateText]',\r\n})\r\nexport class TruncateTextDirective implements OnInit, OnChanges, AfterContentInit, AfterContentChecked, OnDestroy {\r\n private subscribe$!: Subscription\r\n private defaultLineHeight = 20;\r\n private defaultAnimateTime = 150;\r\n private content = ''\r\n private windowWidth = 0\r\n\r\n @Input() count!: number;\r\n @Input() responsiveCount!: [number, number];\r\n @Input() lineHeight!: number;\r\n @Input() isOpen!: boolean;\r\n @Input() truncateButtonRef!: LinkComponent;\r\n\r\n @Output() changeVisibleButton: EventEmitter<boolean> = new EventEmitter<boolean>()\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private builder: AnimationBuilder,\r\n private renderer: Renderer2,\r\n private breakpointObserver: BreakpointObserver\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.lineHeight) {\r\n this.checkLineHeight();\r\n }\r\n\r\n this.subscribe$ = this.breakpointObserver.observe(['(max-width: 768px)']).subscribe((result: BreakpointState) => {\r\n if (!this.responsiveCount) {\r\n return this.startAnimate(this.showInitial(this.count));\r\n }\r\n\r\n if (result.matches) {\r\n this.count = this.responsiveCount[1]\r\n } else {\r\n this.count = this.responsiveCount[0]\r\n }\r\n\r\n this.startAnimate(this.showInitial(this.responsiveCount[0]));\r\n })\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n const c = this.elementRef.nativeElement.innerHTML;\r\n if (c !== this.content) {\r\n this.content = c;\r\n this.checkTruncateButton();\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.content = this.elementRef.nativeElement.innerHTML;\r\n this.checkTruncateButton();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['isOpen'] && !changes['isOpen'].firstChange) {\r\n if (this.isOpen) {\r\n this.startAnimate(this.showIn());\r\n } else {\r\n this.startAnimate(this.showOut());\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscribe$.unsubscribe()\r\n }\r\n\r\n private startAnimate(metadata: AnimationMetadata | AnimationMetadata[]): void {\r\n const factory = this.builder.build(metadata);\r\n const player = factory.create(this.elementRef.nativeElement);\r\n\r\n player.play();\r\n }\r\n\r\n private checkLineHeight(): void {\r\n if (this.elementRef.nativeElement.children.length) {\r\n this.lineHeight = parseInt(getComputedStyle(this.elementRef.nativeElement.childNodes[0]).lineHeight) || this.defaultLineHeight;\r\n } else {\r\n this.lineHeight = this.defaultLineHeight;\r\n }\r\n }\r\n\r\n private checkTruncateButton(): void {\r\n setTimeout(() => {\r\n if (this.lineHeight * this.count >= this.elementRef.nativeElement.scrollHeight) {\r\n this.changeVisibleButton.emit(false)\r\n } else {\r\n this.changeVisibleButton.emit(true)\r\n }\r\n });\r\n }\r\n\r\n private showIn(): AnimationMetadata[] {\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', 'hidden');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', '-webkit-box');\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-box-orient', 'vertical');\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-line-clamp', 'inherit');\r\n\r\n return [\r\n style({ maxHeight: this.lineHeight * this.count }),\r\n animate(`${this.defaultAnimateTime}ms ease-in-out`, style({ maxHeight: this.elementRef.nativeElement.scrollHeight })),\r\n ];\r\n }\r\n\r\n private showOut(): AnimationMetadata[] {\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', 'hidden');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', '-webkit-box');\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-box-orient', 'vertical');\r\n\r\n setTimeout(() => {\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-line-clamp', this.count);\r\n }, this.defaultAnimateTime);\r\n\r\n return [\r\n style({ '-webkit-line-clamp': 'inherit', maxHeight: '*' }),\r\n animate(`${this.defaultAnimateTime}ms ease-in-out`, style({ maxHeight: this.lineHeight * this.count })),\r\n ];\r\n }\r\n\r\n\r\n private showInitial(count: number): AnimationMetadata[] {\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', 'hidden');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', '-webkit-box');\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-box-orient', 'vertical');\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-line-clamp', this.count);\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'line-height', `${this.lineHeight}px`);\r\n\r\n return [style({ maxHeight: this.lineHeight * this.count })];\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.checkTruncateButton();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { TruncateCount, TruncateResponsiveCount } from './truncate-text.enum';\r\n\r\n@Component({\r\n selector: 'mrx-truncate-text',\r\n templateUrl: './truncate-text.component.html'\r\n})\r\nexport class TruncateTextComponent {\r\n public isVisibleButton = false\r\n\r\n @Input() count: TruncateCount = 2\r\n @Input() responsiveCount!: TruncateResponsiveCount\r\n @Input() isOpen = false\r\n @Input() lineHeight!: number\r\n\r\n public changeVisibleButton(event: boolean): void {\r\n this.isVisibleButton = event\r\n }\r\n}\r\n","<div\r\n class=\"mrx-truncate-text\"\r\n mrxTruncateText\r\n [class.mb-2]=\"isVisibleButton\"\r\n [count]=\"count\"\r\n [responsiveCount]=\"responsiveCount\"\r\n [isOpen]=\"isOpen\"\r\n [lineHeight]=\"lineHeight\"\r\n (changeVisibleButton)=\"changeVisibleButton($event)\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<mrx-link\r\n *ngIf=\"isVisibleButton\"\r\n type=\"pseudo\"\r\n [prevent]=\"true\"\r\n (click)=\"isOpen = !isOpen\"\r\n>\r\n {{ isOpen ? 'Свернуть' : 'Развернуть' }}\r\n</mrx-link>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TruncateTextComponent } from './truncate-text.component';\r\nimport { TruncateTextDirective } from './directives/truncate-text.directive';\r\nimport { LinkModule } from '../link/link.module';\r\n\r\n@NgModule({\r\n declarations: [TruncateTextComponent, TruncateTextDirective],\r\n imports: [CommonModule, LinkModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [TruncateTextComponent]\r\n})\r\nexport class TruncateTextModule { }\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-warning-message',\r\n templateUrl: './warning-message.component.html',\r\n styleUrls: ['warning-message.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class WarningMessageComponent {\r\n @Input() public message: string | string[] = '';\r\n @Input() public customClasses = '';\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`;\r\n }\r\n\r\n public get messageArray(): string[] {\r\n if (typeof this.message === 'string') {\r\n return Array(this.message);\r\n } else {\r\n return this.message;\r\n }\r\n }\r\n}\r\n","<span\r\n *ngFor=\"let messageArrayText of messageArray\"\r\n class=\"mrx-warning-message d-block mt-1\"\r\n [class]=\"getClasses\"\r\n>\r\n {{messageArrayText}}\r\n <ng-content></ng-content>\r\n</span>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { WarningMessageComponent } from './warning-message.component';\r\n\r\n@NgModule({\r\n declarations: [WarningMessageComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [WarningMessageComponent],\r\n})\r\nexport class WarningMessageModule { }\r\n","import {\r\n ToolbarItemKey,\r\n ToolbarItemsType,\r\n ToolbarPosition\r\n} from 'mrx-gallery-lib/types/Fancybox/plugins/Toolbar/Toolbar';\r\n\r\nexport const customButtonsDefault: ToolbarItemsType = {\r\n\r\n};\r\n\r\nexport const customToolbarDefault: Record<ToolbarPosition, Array<ToolbarItemKey>> = {\r\n left: ['infobar'],\r\n middle: [],\r\n right: ['rotateLeft', 'rotateRight', 'iterateZoom', 'slideshow', 'thumbs', 'close'],\r\n}\r\n","import { ThumbsOptionsType } from 'mrx-gallery-lib';\r\n\r\nexport const thumbsConfigDefault: Boolean | Partial<ThumbsOptionsType> = {\r\n type: 'modern',\r\n showOnStart: false,\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from \"@ngrx/store\";\r\n\r\ndeclare let $: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GalleryService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private _store: Store\r\n ) {\r\n }\r\n\r\n rotate(rotatePhotos: any[], url: string): Observable<any> {\r\n return this.http.post<any>(`${url}`, rotatePhotos);\r\n }\r\n\r\n delete(url: string, uuid: string): Observable<any> {\r\n return this.http.delete<any>(`${url}/${uuid}`);\r\n }\r\n\r\n update(url: string, uuid: string, newValue: string): Observable<any> {\r\n return this.http.put<any>(`${url}`, {\r\n uuid: uuid,\r\n description: newValue\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { SimpleModalComponent } from 'ngx-simple-modal';\r\n\r\nexport interface GalleryConfirmParams {\r\n title: string;\r\n message: string;\r\n}\r\n\r\nexport interface GalleryConfirmResult {\r\n result: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-gallery-confirm-modal',\r\n templateUrl: './gallery-confirm-modal.component.html',\r\n})\r\nexport class GalleryConfirmModalComponent extends SimpleModalComponent<GalleryConfirmParams, GalleryConfirmResult> {\r\n\r\n title!: string;\r\n message!: string;\r\n\r\n constructor() {\r\n super();\r\n this.result = {result: false};\r\n }\r\n\r\n ok() {\r\n this.result = {result: true};\r\n this.close();\r\n }\r\n}\r\n","<mrx-modal\r\n [title]=\"title\"\r\n (close)=\"close()\"\r\n size=\"small\"\r\n color=\"negative\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <p class=\"text-center\">{{message}}</p>\r\n </div>\r\n </div>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n color=\"negative\"\r\n (click)=\"close()\"\r\n >Отменить\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n color=\"negative\"\r\n (click)=\"ok()\"\r\n >Подтвердить\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n","import { Injectable } from '@angular/core';\r\n\r\nexport type StateType = 'saving' | 'saved' | 'error' | 'stopped'\r\n\r\nexport interface Field {\r\n id: string,\r\n state: StateType,\r\n timerId?: number\r\n}\r\n\r\n@Injectable()\r\nexport class MrxAutosaveService {\r\n\r\n private _fields: Field[] = []\r\n public stoppedTimer!: ReturnType<typeof setTimeout>\r\n\r\n public addId(id: string) {\r\n const isFind = this._fields.some((field: Field) => field.id === id)\r\n\r\n clearTimeout(this.stoppedTimer)\r\n\r\n if (!isFind) {\r\n this._fields.push({id: id, state: 'stopped'})\r\n }\r\n }\r\n\r\n public start() {\r\n this._fields = this._fields.filter((field: Field) => field.state !== 'saved').map((field: Field) => ({...field, state: 'saving'}))\r\n }\r\n\r\n public success() {\r\n this._fields = this._fields.map((field: Field) => ({...field, state: 'saved'}))\r\n\r\n this.stoppedTimer = setTimeout(() => {\r\n this.stop()\r\n }, 2000)\r\n }\r\n\r\n public stop() {\r\n this._fields = this._fields.map((field: Field) => ({...field, state: 'stopped'}))\r\n\r\n setTimeout(() => {\r\n this._fields.length = 0\r\n })\r\n }\r\n\r\n public error() {\r\n this._fields = this._fields.map((field: Field) => ({...field, state: 'error'}))\r\n\r\n this.stoppedTimer = setTimeout(() => {\r\n this.stop()\r\n }, 2000)\r\n }\r\n\r\n public get fields() {\r\n return this._fields\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpEvent } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { UploadedResultModel } from '../../models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileUploadService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n upload(url: string, formData: FormData): Observable<HttpEvent<UploadedResultModel>> {\r\n return this.http.post<UploadedResultModel>(url, formData, {\r\n reportProgress: true,\r\n observe: 'events'\r\n });\r\n }\r\n\r\n delete(url: string, formData: FormData): Observable<UploadedResultModel> {\r\n return this.http.post<UploadedResultModel>(url, formData);\r\n }\r\n}\r\n","export enum ValidationTypesEnum {\r\n Required = 'required',\r\n MaxLength = 'maxLength',\r\n MinLength = 'minLength',\r\n Email = 'email',\r\n Pattern = 'pattern',\r\n MaxValue = 'maxValue',\r\n MinValue = 'minValue',\r\n Callback = 'callback'\r\n}\r\n\r\nexport enum ValidationOptionsEnum {\r\n Type = 'type',\r\n Messages = 'messages'\r\n}\r\n\r\nexport type ValidationsTypes = ValidationTypesEnum | ValidationOptionsEnum\r\n\r\nexport enum ValidationMethodsEnum {\r\n Submit = 'submit',\r\n Input = 'input'\r\n}\r\n\r\n","import { ValidationTypesEnum } from '../models/validations-types.model';\r\nimport { IMessages } from '../models/validations-options.model';\r\n\r\nexport const getErrorMessageHelper = (key: ValidationTypesEnum, invalidMessages: IMessages, messages: IMessages | undefined, params?: any): string => {\r\n const message = messages?.[key] ? messages[key] : invalidMessages[key];\r\n\r\n if (typeof message === 'function') {\r\n return message(params);\r\n } else {\r\n return message;\r\n }\r\n};\r\n","import { IMessages, ValidationsType } from '../models/validations-options.model';\r\nimport { ValidationTypesEnum } from '../models/validations-types.model';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const requiredValidation = (\r\n value: string | string[],\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): {isValid: boolean, message: string} => {\r\n\r\n const result = { isValid: true, message: '' }\r\n\r\n if (Array.isArray(value) && validations.type !== 'single') {\r\n\r\n value.forEach((field, idx) => {\r\n if ((field === '' || field === null || field === undefined)) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages)\r\n result.isValid = false;\r\n }\r\n });\r\n\r\n } else if (Array.isArray(value) && validations.type === 'single' && value.length === 0) {\r\n\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages)\r\n result.isValid = false;\r\n\r\n } else if (String(value) === '' || String(value) === 'false' || value === null || value === undefined || String(value) === '<p><br></p>') {\r\n\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages)\r\n result.isValid = false;\r\n\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType } from '../models/validations-options.model';\r\nimport { ValidationTypesEnum } from '../models/validations-types.model';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const emailValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): {isValid: boolean, message: string} => {\r\n\r\n const emailRegExp = /^[a-zA-Z0-9._а-яА-Я-]+@[a-zA-Zа-яА-Я0-9.-]+\\.[a-zA-Zа-яА-Я]{2,10}$/\r\n const result = { isValid: true, message: '' }\r\n\r\n if (!emailRegExp.test(value)) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages)\r\n result.isValid = false;\r\n }\r\n\r\n return result\r\n};\r\n","import { ValidationTypesEnum } from '../models/validations-types.model';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\nimport { IMessages, ValidationsType } from '../models/validations-options.model';\r\n\r\nexport const patternValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): {isValid: boolean, message: string} => {\r\n\r\n const validation = validations[key] as RegExp\r\n const result = { isValid: true, message: '' }\r\n\r\n if (!validation.test(value)) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages)\r\n result.isValid = false;\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType } from '../models/validations-options.model';\r\nimport { ValidationTypesEnum } from '../models/validations-types.model';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const maxLengthValidation = (\r\n value: string | string[],\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): {isValid: boolean, message: string} => {\r\n\r\n const result = { isValid: true, message: '' }\r\n\r\n if (String(value).length > Number(validations[key])) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]))\r\n result.isValid = false;\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType } from '../models/validations-options.model';\r\nimport { ValidationTypesEnum } from '../models/validations-types.model';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const minLengthValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): {isValid: boolean, message: string} => {\r\n\r\n const result = { isValid: true, message: '' }\r\n\r\n if (String(value).length < Number(validations[key]) && !!validations[ValidationTypesEnum.Required]) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]))\r\n result.isValid = false;\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType } from '../models/validations-options.model';\r\nimport { ValidationTypesEnum } from '../models/validations-types.model';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const minValueValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): {isValid: boolean, message: string} => {\r\n\r\n const result = { isValid: true, message: '' }\r\n\r\n if (parseInt(value) > Number(validations[key])) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]))\r\n result.isValid = false;\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType } from '../models/validations-options.model';\r\nimport { ValidationTypesEnum } from '../models/validations-types.model';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const maxValueValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): {isValid: boolean, message: string} => {\r\n\r\n const result = { isValid: true, message: '' }\r\n\r\n if (parseInt(value) < Number(validations[key])) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]))\r\n result.isValid = false;\r\n }\r\n\r\n return result\r\n};\r\n","import { IMessages, ValidationsType } from '../models/validations-options.model';\r\nimport { ValidationTypesEnum } from '../models/validations-types.model';\r\nimport { getErrorMessageHelper } from '../helpers/get-error-message.helper';\r\n\r\nexport const callbackValidation = (\r\n value: string,\r\n validations: ValidationsType,\r\n key: ValidationTypesEnum,\r\n invalidMessages: IMessages\r\n): {isValid: boolean, message: string} => {\r\n\r\n const result = { isValid: true, message: '' }\r\n\r\n if (validations[ValidationTypesEnum.Callback] && typeof validations[ValidationTypesEnum.Callback] === 'function') {\r\n const validation = validations[ValidationTypesEnum.Callback] as Function\r\n const callbackResult = validation(value)\r\n\r\n if (callbackResult !== null) {\r\n result.message = getErrorMessageHelper(key, invalidMessages, validations.messages)\r\n result.isValid = false;\r\n }\r\n }\r\n\r\n return result\r\n};\r\n","export const INVALID_MESSAGES = {\r\n required: () => 'Поле обязательно для заполнения',\r\n maxLength: (length: number) => `Максимальное кол-во символов ${length}`,\r\n minLength: (length: number) => `Минимальное кол-во символов ${length}`,\r\n maxValue: (value: number) => `Максимальное значение ${value}`,\r\n minValue: (value: number) => `Минимальное значение ${value}`,\r\n email: () => 'Указан некорректный адрес электронной почты',\r\n pattern: () => 'Указано некорректное значение',\r\n}\r\n","import { ValidationsType } from '../models/validations-options.model';\r\nimport { ValidationOptionsEnum, ValidationTypesEnum } from '../models/validations-types.model';\r\n\r\nexport const getSortingValidationsHelper = (validation: ValidationsType): ValidationsType => {\r\n const sortedValidatorsConstant = [\r\n ValidationTypesEnum.MaxValue,\r\n ValidationTypesEnum.MinValue,\r\n ValidationTypesEnum.MaxLength,\r\n ValidationTypesEnum.MinLength,\r\n ValidationTypesEnum.Email,\r\n ValidationTypesEnum.Pattern,\r\n ValidationTypesEnum.Required,\r\n ValidationTypesEnum.Callback,\r\n ValidationOptionsEnum.Type,\r\n ValidationOptionsEnum.Messages\r\n ]\r\n const sortedValidators: any = {}\r\n\r\n for (let key of sortedValidatorsConstant) {\r\n if (validation.hasOwnProperty(key)) {\r\n sortedValidators[key] = validation[key]\r\n } else {\r\n if (key === 'type') {\r\n validation.type = 'multi'\r\n }\r\n }\r\n }\r\n\r\n return sortedValidators\r\n}\r\n","import { cloneDeep } from 'lodash-es';\r\nimport { IFields, IMessages, IValidations, ValidationsType } from './models/validations-options.model';\r\nimport { FormValidatorOptions } from './models/validations-settings.model';\r\nimport { ValidationMethodsEnum, ValidationTypesEnum } from './models/validations-types.model';\r\nimport { requiredValidation } from './validations/required.validation';\r\nimport { emailValidation } from './validations/email.validation';\r\nimport { patternValidation } from './validations/pattern.validation';\r\nimport { maxLengthValidation } from './validations/max-length.validation';\r\nimport { minLengthValidation } from './validations/min-length.validation';\r\nimport { minValueValidation } from './validations/min-value.validation';\r\nimport { maxValueValidation } from './validations/max-value.validation';\r\nimport { callbackValidation } from './validations/callback.validation';\r\nimport { INVALID_MESSAGES } from './constants/invalid-messages';\r\nimport { getSortingValidationsHelper } from './helpers/get-sorting-validations.helper';\r\n\r\nexport class MrxFormValidator {\r\n private _fields: any = []\r\n private _validations: IValidations = {}\r\n private _errors: any = {}\r\n private _isValid = true\r\n private _isInit = false\r\n private _modelClone: IFields = {}\r\n\r\n private _method = 'submit'\r\n private _invalidMessages: IMessages = INVALID_MESSAGES\r\n\r\n constructor(options?: FormValidatorOptions) {\r\n if (options?.method) {\r\n this._method = options.method\r\n }\r\n\r\n if (options?.messages) {\r\n this._invalidMessages = {...this._invalidMessages, ...options.messages}\r\n }\r\n }\r\n\r\n public get errors() {\r\n return this._errors\r\n }\r\n\r\n private set fields(fields: any) {\r\n this._fields = Object.assign({}, fields)\r\n }\r\n\r\n private getNamesUpdatedProperties(oldModel: any, newModel: any): string[] {\r\n const namesUpdatedProperties = []\r\n\r\n for (let key in newModel) {\r\n switch (true) {\r\n case Array.isArray(newModel[key]):\r\n if (JSON.stringify(newModel[key]) !== JSON.stringify(oldModel[key])) {\r\n namesUpdatedProperties.push(key)\r\n }\r\n break\r\n default:\r\n if (newModel[key] !== oldModel[key]) {\r\n namesUpdatedProperties.push(key)\r\n }\r\n break\r\n }\r\n }\r\n\r\n return namesUpdatedProperties\r\n }\r\n\r\n private validateField(\r\n value: string,\r\n name: string,\r\n validations: ValidationsType,\r\n validateEmptyValue: boolean = false,\r\n silent: boolean = false\r\n ): void {\r\n if (!validateEmptyValue && (value.length === 0)) {\r\n return\r\n }\r\n\r\n for (let key in validations) {\r\n switch (key) {\r\n case ValidationTypesEnum.Required:\r\n const requiredRes = requiredValidation(\r\n value, validations, key, this._invalidMessages\r\n )\r\n\r\n this._isValid = requiredRes.isValid\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = requiredRes.message\r\n }\r\n\r\n if (!this._isValid) {\r\n return;\r\n }\r\n\r\n break\r\n case ValidationTypesEnum.Email:\r\n const emailRes = emailValidation(\r\n value, validations, key, this._invalidMessages\r\n )\r\n\r\n this._isValid = emailRes.isValid\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = emailRes.message\r\n }\r\n\r\n if (!this._isValid) {\r\n return;\r\n }\r\n\r\n break\r\n case ValidationTypesEnum.Pattern:\r\n const patternRes = patternValidation(\r\n value, validations, key, this._invalidMessages\r\n )\r\n\r\n this._isValid = patternRes.isValid\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = patternRes.message\r\n }\r\n\r\n if (!this._isValid) {\r\n return;\r\n }\r\n\r\n break\r\n case ValidationTypesEnum.MinLength:\r\n const minLengthRes = minLengthValidation(\r\n value, validations, key, this._invalidMessages\r\n )\r\n\r\n this._isValid = minLengthRes.isValid\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = minLengthRes.message\r\n }\r\n\r\n if (!this._isValid) {\r\n return;\r\n }\r\n\r\n break\r\n case ValidationTypesEnum.MaxLength:\r\n const maxLengthRes = maxLengthValidation(\r\n value, validations, key, this._invalidMessages\r\n )\r\n\r\n this._isValid = maxLengthRes.isValid\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = maxLengthRes.message\r\n }\r\n\r\n if (!this._isValid) {\r\n return;\r\n }\r\n\r\n break\r\n case ValidationTypesEnum.MinValue:\r\n const minValueRes = minValueValidation(\r\n value, validations, key, this._invalidMessages\r\n )\r\n\r\n this._isValid = minValueRes.isValid\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = minValueRes.message\r\n }\r\n\r\n if (!this._isValid) {\r\n return;\r\n }\r\n\r\n break\r\n case ValidationTypesEnum.MaxValue:\r\n const maxValueRes = maxValueValidation(\r\n value, validations, key, this._invalidMessages\r\n )\r\n\r\n this._isValid = maxValueRes.isValid\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = maxValueRes.message\r\n }\r\n\r\n if (!this._isValid) {\r\n return;\r\n }\r\n\r\n break\r\n case ValidationTypesEnum.Callback:\r\n const callbackRes = callbackValidation(\r\n value, validations, key, this._invalidMessages\r\n )\r\n\r\n this._isValid = callbackRes.isValid\r\n\r\n if (!silent && !this._errors[name]) {\r\n this._errors[name] = callbackRes.message\r\n }\r\n\r\n if (!this._isValid) {\r\n return;\r\n }\r\n\r\n break\r\n }\r\n }\r\n }\r\n\r\n public initFields(fields: IFields, validations: IValidations): void {\r\n this.fields = cloneDeep(fields)\r\n this._validations = validations\r\n this._modelClone = cloneDeep(fields)\r\n\r\n for (let key in validations) {\r\n this._validations[key] = getSortingValidationsHelper(validations[key])\r\n this.errors[key] = null\r\n }\r\n\r\n this._isInit = true\r\n }\r\n\r\n public initModelChanged(fields: IFields): void {\r\n if (this._isInit) {\r\n this._isValid = true\r\n this._modelClone = cloneDeep(fields)\r\n\r\n this.getNamesUpdatedProperties(this._fields, fields).forEach((name: string) => {\r\n this._errors[name] = null\r\n\r\n if (this._method === ValidationMethodsEnum.Input) {\r\n this.validateField(fields[name], name, this._validations[name], true)\r\n }\r\n })\r\n }\r\n\r\n this.fields = cloneDeep(fields)\r\n }\r\n\r\n public initFieldChanged(fields: IFields, fieldName: string): void {\r\n if (this._isInit) {\r\n this._isValid = true\r\n\r\n if (fields.hasOwnProperty(fieldName)) {\r\n this._modelClone[fieldName] = fields[fieldName]\r\n }\r\n\r\n this._errors[fieldName] = null\r\n this.validateField(this._modelClone[fieldName], fieldName, this._validations[fieldName], false)\r\n }\r\n }\r\n\r\n public isValid(): boolean {\r\n for (let key in this._validations) {\r\n this.errors[key] = null\r\n this.validateField(this._fields[key], key, this._validations[key], true)\r\n }\r\n console.log(1, this._isValid);\r\n return this._isValid\r\n }\r\n\r\n // TODO Вырезать в будущем\r\n public initModelChangedFromField(field: any, fieldName: string): void {\r\n if (this._isInit) {\r\n this._isValid = true\r\n this._modelClone[fieldName] = field\r\n\r\n this.getNamesUpdatedProperties(this._fields, this._modelClone).forEach((name: string) => {\r\n this._errors[name] = null\r\n\r\n if (this._method === ValidationMethodsEnum.Input) {\r\n this.validateField(this._modelClone[name], name, this._validations[name], true)\r\n }\r\n })\r\n }\r\n\r\n this.fields = this._modelClone\r\n }\r\n\r\n // TODO Вырезать в будущем\r\n public isHiddenValid(): boolean {\r\n this._isValid = true\r\n\r\n for (let key in this._validations) {\r\n this.validateField(this._fields[key], key, this._validations[key], true, true)\r\n }\r\n\r\n return this._isValid\r\n }\r\n}\r\n","export const SAVE_STATE_MODULE_NAME = 'MrxAutoSaveModule';\r\n","export type StateType = 'saving' | 'saved' | 'error' | 'stopped'\r\n\r\nexport interface Field {\r\n id: string;\r\n state: StateType;\r\n timerId?: number;\r\n groupId?: string | null;\r\n}\r\n\r\nexport interface MrxAutoSaveState {\r\n fields: Field[],\r\n}\r\n\r\nexport const initialMrxAutoSaveState: MrxAutoSaveState = {\r\n fields: [],\r\n};\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { SaveStoreModel } from '../models/save-store.model';\r\n\r\nexport enum MrxAutoSaveActionsEnum {\r\n AutosaveAddId = '[Mrx Auto Save] Autosave Add Id',\r\n AutosaveStart = '[Mrx Auto Save] Autosave Start',\r\n AutosaveStartFor = '[Mrx Auto Save] Autosave Start For',\r\n AutosaveStop = '[Mrx Auto Save] Autosave Stop',\r\n AutosaveStopFor = '[Mrx Auto Save] Autosave Stop For',\r\n AutosaveSuccess = '[Mrx Auto Save] Autosave Success',\r\n AutosaveSuccessFor = '[Mrx Auto Save] Autosave Success For',\r\n AutosaveError = '[Mrx Auto Save] Autosave Error',\r\n AutosaveErrorFor = '[Mrx Auto Save] Autosave Error For',\r\n}\r\n\r\nexport const autosaveAddId = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveAddId,\r\n props<SaveStoreModel>()\r\n);\r\n\r\nexport const autosaveStart = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveStart\r\n);\r\n\r\nexport const autosaveStartFor = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveStartFor,\r\n props<SaveStoreModel>()\r\n);\r\n\r\nexport const autosaveStop = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveStop\r\n);\r\n\r\nexport const autosaveStopFor = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveStopFor,\r\n props<SaveStoreModel>()\r\n);\r\n\r\nexport const autosaveSuccess = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveSuccess\r\n);\r\n\r\nexport const autosaveSuccessFor = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveSuccessFor,\r\n props<SaveStoreModel>()\r\n);\r\n\r\nexport const autosaveError = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveError\r\n);\r\n\r\nexport const autosaveErrorFor = createAction(\r\n MrxAutoSaveActionsEnum.AutosaveErrorFor,\r\n props<SaveStoreModel>()\r\n);\r\n\r\n","import { Field, initialMrxAutoSaveState, MrxAutoSaveState } from './state';\r\nimport { Action, createReducer, on } from '@ngrx/store';\r\nimport * as MrxAutoSaveActions from './actions';\r\nimport { cloneDeep } from 'lodash-es';\r\n\r\nconst reducerCreator = createReducer(\r\n initialMrxAutoSaveState,\r\n on(MrxAutoSaveActions.autosaveAddId, (state, { id, groupId = null }) => {\r\n const isFind = state.fields.some((field) => field.id === id);\r\n if (!isFind) {\r\n return {\r\n ...state,\r\n fields: [...state.fields, { id: id, state: 'stopped', groupId: groupId }]\r\n };\r\n }\r\n else {\r\n return { ...state };\r\n }\r\n }),\r\n on(MrxAutoSaveActions.autosaveStart, (state) => {\r\n return { ...state, fields: [...state.fields].map(f => ({ ...f, state: 'saving' })) };\r\n }),\r\n on(MrxAutoSaveActions.autosaveStartFor, (state, { id, groupId = null }) => {\r\n const fields = cloneDeep(state.fields);\r\n return {\r\n ...state, fields: fields.map(f => {\r\n if (groupId && f.groupId === groupId) {\r\n f.state = 'saving';\r\n }\r\n else if (f.id === id) {\r\n f.state = 'saving';\r\n }\r\n return f;\r\n })\r\n };\r\n }),\r\n on(MrxAutoSaveActions.autosaveSuccess, (state) => {\r\n return { ...state, fields: [...state.fields].map(f => ({ ...f, state: 'saved' })) };\r\n }),\r\n on(MrxAutoSaveActions.autosaveSuccessFor, (state, { id, groupId = null }) => {\r\n const fields = cloneDeep(state.fields);\r\n return {\r\n ...state, fields: fields.map(f => {\r\n if (groupId && f.groupId === groupId) {\r\n f.state = 'saved';\r\n }\r\n else if (f.id === id) {\r\n f.state = 'saved';\r\n }\r\n return f;\r\n })\r\n };\r\n }),\r\n on(MrxAutoSaveActions.autosaveError, (state) => {\r\n return { ...state, fields: [...state.fields].map(f => ({ ...f, state: 'error' })) };\r\n }),\r\n on(MrxAutoSaveActions.autosaveErrorFor, (state, { id, groupId = null }) => {\r\n const fields = cloneDeep(state.fields);\r\n return {\r\n ...state, fields: fields.map(f => {\r\n if (groupId && f.groupId === groupId) {\r\n f.state = 'error';\r\n }\r\n else if (f.id === id) {\r\n f.state = 'error';\r\n }\r\n return f;\r\n })\r\n };\r\n }),\r\n on(MrxAutoSaveActions.autosaveStop, (state) => {\r\n return { ...state, fields: [] };\r\n }),\r\n on(MrxAutoSaveActions.autosaveStopFor, (state, { id, groupId = null }) => {\r\n return {\r\n ...state,\r\n fields: state.fields.filter((f) => {\r\n if (groupId) {\r\n return f.groupId !== groupId;\r\n }\r\n else {\r\n return f.id !== id;\r\n }\r\n })\r\n };\r\n }),\r\n);\r\n\r\nexport function mrxAutoSaveStateReducer(state: MrxAutoSaveState | undefined, action: Action) {\r\n return reducerCreator(state, action);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport {\r\n autosaveStop,\r\n autosaveStopFor,\r\n MrxAutoSaveActionsEnum,\r\n} from './actions';\r\nimport { map, switchMap, mergeMap } from 'rxjs/operators';\r\nimport { timer } from 'rxjs';\r\nimport { SaveStoreModel } from '../models/save-store.model';\r\n\r\n\r\n@Injectable({ providedIn: 'platform' })\r\nexport class MrxAutoSaveEffects {\r\n\r\n constructor( private _actions$: Actions, private _store: Store) {}\r\n\r\n autosaveSuccess$ = createEffect(\r\n () => this._actions$.pipe(\r\n ofType(MrxAutoSaveActionsEnum.AutosaveSuccess),\r\n switchMap(() => timer(1500)\r\n .pipe(\r\n map(() => {\r\n return autosaveStop()\r\n })\r\n )\r\n ))\r\n );\r\n\r\n autosaveSuccessFor$ = createEffect(\r\n () => this._actions$.pipe(\r\n ofType(MrxAutoSaveActionsEnum.AutosaveSuccessFor),\r\n mergeMap((action: SaveStoreModel) => timer(1500)\r\n .pipe(\r\n map(() => autosaveStopFor({ id: action.id, groupId: action.groupId }))\r\n )\r\n ))\r\n );\r\n\r\n autosaveError$ = createEffect(\r\n () => this._actions$.pipe(\r\n ofType(MrxAutoSaveActionsEnum.AutosaveError),\r\n switchMap(() => timer(1500)\r\n .pipe(\r\n map(() => autosaveStop())\r\n )\r\n )\r\n )\r\n );\r\n\r\n autosaveErrorFor$ = createEffect(\r\n () => this._actions$.pipe(\r\n ofType(MrxAutoSaveActionsEnum.AutosaveErrorFor),\r\n mergeMap((action: SaveStoreModel) => timer(1500)\r\n .pipe(\r\n map(() => autosaveStopFor({ id: action.id, groupId: action.groupId }))\r\n )\r\n ))\r\n );\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { SAVE_STATE_MODULE_NAME } from './constants/constants';\r\nimport { mrxAutoSaveStateReducer } from './store/reducer';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { MrxAutoSaveEffects } from './store/effect';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n StoreModule.forFeature(SAVE_STATE_MODULE_NAME, mrxAutoSaveStateReducer),\r\n EffectsModule.forFeature([MrxAutoSaveEffects])\r\n ]\r\n})\r\nexport class SaveStoreModule { }\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { SAVE_STATE_MODULE_NAME } from '../constants/constants';\r\nimport { MrxAutoSaveState } from './state';\r\n\r\nexport const selectMrxAutoSaveState = createFeatureSelector<MrxAutoSaveState>(SAVE_STATE_MODULE_NAME);\r\n\r\nexport const selectFields = createSelector(\r\n selectMrxAutoSaveState,\r\n (state: MrxAutoSaveState) => state.fields\r\n);\r\n","export enum InputTextareaSizesEnum {\r\n 'small' = 'mrx-input-sm',\r\n 'medium' = 'mrx-input-md',\r\n 'large' = 'mrx-input-lg',\r\n}\r\n\r\nexport type InputTextareaSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputTextareaValueTypes = string;\r\n\r\nexport interface InputTextareaValueWithId {\r\n value: InputTextareaValueTypes,\r\n id: string\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-chars-left',\r\n templateUrl: './chars-left.component.html',\r\n styleUrls: ['./chars-left.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CharsLeftComponent {\r\n @Input() public maxlength = 0;\r\n @Input() public valueLength = 0;\r\n @Input() public value = '';\r\n\r\n public get getValueLength(): number {\r\n return this.value ? this.value.length : this.valueLength\r\n }\r\n\r\n public get isInvalidValueLength(): boolean {\r\n return this.maxlength < this.value?.length && this.maxlength > 0\r\n }\r\n}\r\n","<div *ngIf=\"maxlength\" class=\"mrx-chars\" [class.-invalid]=\"isInvalidValueLength\">\r\n {{ getValueLength }}/{{ maxlength }}\r\n</div>\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n DoCheck,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Renderer2\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[mrxAutosize]'\r\n})\r\nexport class AutosizeDirective implements AfterViewInit, DoCheck {\r\n @HostBinding('style.overflow')\r\n public overflow = 'hidden';\r\n\r\n @Input()\r\n @HostBinding('rows')\r\n public rows = 1;\r\n\r\n @Input()\r\n public autosize = true;\r\n\r\n constructor(private elem: ElementRef, private renderer: Renderer2) {}\r\n\r\n public ngAfterViewInit() {\r\n this.resize();\r\n }\r\n\r\n public ngDoCheck() {\r\n this.resize();\r\n }\r\n\r\n @HostListener('input')\r\n private resize() {\r\n if (!this.autosize) {\r\n this.overflow = 'auto'\r\n return\r\n }\r\n\r\n const textarea = this.elem.nativeElement as HTMLTextAreaElement;\r\n // Calculate border height which is not included in scrollHeight\r\n const borderHeight = textarea.offsetHeight - textarea.clientHeight;\r\n // Reset textarea height to auto that correctly calculate the new height\r\n this.setHeight('auto');\r\n // Set new height\r\n this.setHeight(`${textarea.scrollHeight + borderHeight}px`);\r\n }\r\n\r\n private setHeight(value: string) {\r\n this.renderer.setStyle(this.elem.nativeElement, 'height', value);\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n InputTextareaSizesEnum,\r\n InputTextareaSizesTypes,\r\n InputTextareaValueTypes, InputTextareaValueWithId\r\n} from './input-textarea.enum';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services';\r\n\r\n@Component({\r\n selector: 'mrx-input-textarea',\r\n templateUrl: './input-textarea.component.html',\r\n styleUrls: ['./input-textarea.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputTextareaComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputTextareaComponent implements ControlValueAccessor {\r\n public value: InputTextareaValueTypes = '';\r\n public selectionStart: number | undefined;\r\n public selectionEnd: number | undefined;\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public autosize = true;\r\n @Input() public maxlength = 0;\r\n @Input() public minlength = 0;\r\n @Input() public rows = 1;\r\n @Input() public placeholder = '';\r\n @Input() public customClasses = '';\r\n @Input() public mask = '';\r\n @Input() public size: InputTextareaSizesTypes = 'large';\r\n\r\n // VALIDATE\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Input() public restrictInput = true;\r\n\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<InputTextareaValueTypes> = new EventEmitter<InputTextareaValueTypes>();\r\n @Output() public blurred: EventEmitter<InputTextareaValueWithId> = new EventEmitter<InputTextareaValueWithId>();\r\n @Output() public modelChange: EventEmitter<InputTextareaValueWithId> = new EventEmitter<InputTextareaValueWithId>();\r\n\r\n private get _isInvalidValueLength(): boolean {\r\n return this.maxlength < this.value?.length && this.maxlength > 0\r\n }\r\n\r\n public get getInvalid(): boolean {\r\n return this._isInvalidValueLength || this.invalid\r\n }\r\n\r\n public get getInvalidMessage(): string | string[] {\r\n return this._isInvalidValueLength ? 'Превышено допустимое значение символов' : this.invalidMessage\r\n }\r\n\r\n public get readonlyClass(): string {\r\n return this.readonly ? 'mrx-input__readonly' : '';\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ? 'mrx-input-checked-success' : this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputTextareaSizesEnum[this.size]} ${this.customClasses} ${this.readonlyClass} ${this.checkValidClasses}`;\r\n }\r\n\r\n public updateSelection(event: any) {\r\n this.selectionStart = event.target.selectionStart;\r\n this.selectionEnd = event.target.selectionEnd;\r\n }\r\n\r\n public insertPositionText(tagText: string): void {\r\n if (this.selectionStart && this.selectionEnd) {\r\n const firstText = this.value ? this.value.substring(0, this.selectionStart) : ''\r\n const secondText = this.value.substring(this.selectionEnd);\r\n const text = firstText + tagText + secondText;\r\n\r\n this.updateValue(text);\r\n\r\n setTimeout(() => {\r\n this.inputElement.nativeElement.selectionStart = (firstText + tagText).length;\r\n this.inputElement.nativeElement.selectionEnd = (firstText + tagText).length;\r\n this.inputElement.nativeElement.focus();\r\n }, 0);\r\n } else {\r\n const text = this.value + tagText\r\n\r\n this.updateValue(text);\r\n\r\n setTimeout(() => {\r\n this.inputElement.nativeElement.selectionStart = text.length;\r\n this.inputElement.nativeElement.selectionEnd = text.length;\r\n this.inputElement.nativeElement.focus();\r\n }, 0);\r\n }\r\n }\r\n\r\n public onFocus(): void {\r\n this.inputElement.nativeElement.focus()\r\n }\r\n\r\n private onChange = (value: InputTextareaValueTypes) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n private processValueForViewOnly(value: string): void {\r\n\r\n }\r\n\r\n public writeValue(outsideValue: InputTextareaValueTypes): void {\r\n if ((this.inputElement?.nativeElement && document.activeElement !== this.inputElement.nativeElement)) {\r\n this.value = outsideValue;\r\n }\r\n\r\n if (this.disabled) {\r\n this.processValueForViewOnly(outsideValue);\r\n return;\r\n }\r\n }\r\n\r\n public updateValue(insideValue: InputTextareaValueTypes): void {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({ value: insideValue, id: this.uuid });\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n\r\n public onBlur(event: FocusEvent) {\r\n this.updateSelection(event)\r\n this.blurred.emit({value: this.value, id: this.uuid})\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-textarea\"\r\n [class]=\"getClasses\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [class.mrx-input-error]=\"getInvalid\"\r\n>\r\n <div class=\"mrx-input-textarea__wrapper\">\r\n <textarea\r\n #inputElement\r\n mrxAutosize\r\n [id]=\"uuid\"\r\n [ngModel]=\"value\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [rows]=\"rows\"\r\n [autosize]=\"autosize\"\r\n [placeholder]=\"placeholder\"\r\n [minlength]=\"minlength > 0 && restrictInput ? minlength : null\"\r\n [maxlength]=\"maxlength > 0 && restrictInput ? maxlength : null\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"onBlur($event)\"\r\n ></textarea>\r\n\r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxlength\"\r\n [value]=\"value\"\r\n [maxlength]=\"maxlength\"\r\n ></mrx-chars-left>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n ></mrx-error-message>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { GalleryItemModel, GalleryRotateSlides } from '../../models/gallery-item.model';\r\nimport { GalleryService } from '../../services/gallery.service';\r\nimport { SimpleModalService } from 'ngx-simple-modal';\r\nimport { GalleryConfirmModalComponent } from '../gallery-confirm-modal/gallery-confirm-modal.component';\r\nimport {\r\n autosaveAddId, autosaveError, autosaveErrorFor,\r\n autosaveStart, autosaveStartFor,\r\n autosaveStop, autosaveSuccess, autosaveSuccessFor,\r\n Field,\r\n MrxAutosaveService,\r\n selectFields\r\n} from '../../../../services';\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'mrx-gallery-item',\r\n templateUrl: './gallery-item.component.html',\r\n styleUrls: ['./gallery-item.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [MrxAutosaveService]\r\n})\r\nexport class GalleryItemComponent {\r\n private timeStamp: number = (new Date()).getTime();\r\n private isLoading = false;\r\n private _timer!: ReturnType<typeof setTimeout>;\r\n\r\n public fields$: Observable<Field[]> = this._store.select(selectFields)\r\n\r\n @Input() preview!: GalleryItemModel;\r\n @Input() index!: number;\r\n @Input() isEditing = false;\r\n @Input() descriptionMaxLength = 0;\r\n @Input() deleteEndPoint!: string;\r\n @Input() updateEndPoint!: string;\r\n @Input() rotateSlides: GalleryRotateSlides[] = [];\r\n\r\n @Input('isLoading') set setIsLoading(value: boolean) {\r\n this.isLoading = value;\r\n this.timeStamp = (new Date()).getTime();\r\n }\r\n\r\n @Output() openGalleryModal: EventEmitter<number> = new EventEmitter<number>();\r\n @Output() deletePhoto: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() updatePhoto: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n private galleryService: GalleryService,\r\n private _simpleModalService: SimpleModalService,\r\n private _store: Store\r\n ) {\r\n }\r\n\r\n getImageUrl(): string {\r\n return this.preview.previewUrl + '?' + this.timeStamp;\r\n }\r\n\r\n get yandexCheckUrl() {\r\n return `https://yandex.ru/images/search?source=collections&rpt=imageview&url=${this.preview.url}`;\r\n }\r\n\r\n get googleCheckUrl() {\r\n return `https://lens.google.com/uploadbyurl?url=${this.preview.url}`;\r\n }\r\n\r\n get isLoadingImage(): boolean {\r\n return this.isLoading && !!this.rotateSlides.find((s) => s.previewImageId === this.preview.previewImageId);\r\n }\r\n\r\n onOpenGalleryModal() {\r\n this.openGalleryModal.emit(this.index);\r\n }\r\n\r\n deleteImage() {\r\n this._simpleModalService.addModal(GalleryConfirmModalComponent, {\r\n title: 'УДАЛЕНИЕ ФОТОГРАФИИ',\r\n message: 'Вы хотите удалить фотографию?'\r\n }, {wrapperDefaultClasses: 'mrx-modal fade-anim'})\r\n .subscribe((res) => {\r\n if (res.result) {\r\n this.galleryService.delete(this.deleteEndPoint, this.preview.uuid).subscribe(res => {\r\n this.deletePhoto.emit(res);\r\n });\r\n }\r\n })\r\n }\r\n\r\n changeDescription(obj: any) {\r\n clearTimeout(this._timer);\r\n\r\n this._store.dispatch(autosaveAddId({id: obj.id}))\r\n this._store.dispatch(autosaveStartFor({id: obj.id}))\r\n\r\n this._timer = setTimeout(() => {\r\n this.galleryService.update(this.updateEndPoint, this.preview.uuid, obj.value).subscribe(res => {\r\n this.updatePhoto.emit(res);\r\n this._store.dispatch(autosaveSuccessFor({id: obj.id}))\r\n }, () => {\r\n this._store.dispatch(autosaveErrorFor({id: obj.id}))\r\n });\r\n }, 1500);\r\n }\r\n}\r\n","<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"(fields$ | async)!\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output\r\n} from '@angular/core';\r\nimport { Fancybox, ThumbsOptionsType, ToolbarOptionsType } from 'mrx-gallery-lib';\r\nimport { GalleryInnerItemModal, GalleryItemModel, GalleryRotateSlides } from './models/gallery-item.model';\r\nimport { customToolbarDefault } from './constants/custom-buttons-default';\r\nimport { OptionsType } from 'mrx-gallery-lib/types/Fancybox/options';\r\nimport { thumbsConfigDefault } from './constants/thumbs-config-default';\r\nimport { GalleryService } from './services/gallery.service';\r\n\r\n@Component({\r\n selector: 'mrx-gallery',\r\n templateUrl: './gallery.component.html',\r\n styleUrls: ['./gallery.component.less'],\r\n})\r\nexport class GalleryComponent implements OnInit {\r\n private timeStamp: number = (new Date()).getTime();\r\n public rotateSlides: GalleryRotateSlides[] = [];\r\n public isLoading = false\r\n\r\n private isExpanded = false;\r\n\r\n @Input() data: GalleryItemModel[] = []\r\n @Input() isExpandable = true;\r\n @Input() customClasses = '';\r\n @Input() rotateEndPoint!: string;\r\n @Input() deleteEndPoint!: string;\r\n @Input() updateEndPoint!: string;\r\n @Input() isEditing = false;\r\n @Input() isSaveRotate = true;\r\n @Input() descriptionMaxLength = 0;\r\n @Input() thumbsConfig!: Boolean | Partial<ThumbsOptionsType>;\r\n @Input() toolbarConfig!: Boolean | Partial<ToolbarOptionsType>;\r\n\r\n @Output() deletePhoto: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() updatePhoto: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n private defaultConfig: Partial<OptionsType> = {};\r\n\r\n constructor(\r\n private galleryService: GalleryService,\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.isExpandable) {\r\n this.isExpanded = false;\r\n }\r\n\r\n if (this.thumbsConfig) {\r\n this.defaultConfig.Thumbs = this.thumbsConfig;\r\n }\r\n\r\n if (this.toolbarConfig) {\r\n this.defaultConfig.Toolbar = this.toolbarConfig;\r\n }\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`;\r\n }\r\n\r\n public get isShowMore(): boolean {\r\n return this.data.length > 8\r\n }\r\n\r\n public get getData(): GalleryItemModel[] {\r\n if (this.isExpandable && !this.isExpanded) {\r\n return this.data.slice(0, 8);\r\n } else {\r\n return this.data;\r\n }\r\n }\r\n\r\n private get getSlides(): GalleryInnerItemModal[] {\r\n return this.data.map((slide) => {\r\n return {\r\n src: slide.url + '?' + this.timeStamp,\r\n thumb: slide.previewUrl,\r\n caption: slide.description,\r\n uuid: slide.uuid,\r\n imageName: slide.imageName,\r\n previewImageId: slide.previewImageId\r\n };\r\n });\r\n }\r\n\r\n public get getIsExpanded(): boolean {\r\n return this.isExpanded;\r\n }\r\n\r\n public changeExpanded(): void {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n public trackByFn(index: number, item: any) {\r\n return item.id;\r\n }\r\n\r\n public openGalleryModal(id: number): void {\r\n new Fancybox(\r\n this.getSlides,\r\n {\r\n startIndex: id,\r\n compact: false,\r\n hideScrollbar: false,\r\n Carousel: {},\r\n Thumbs: thumbsConfigDefault,\r\n on: {\r\n close: (fancy: any, event: any) => {\r\n if (this.rotateSlides.length) {\r\n this.galleryService.rotate(this.rotateSlides, this.rotateEndPoint).subscribe(res => {\r\n this.isLoading = true\r\n\r\n setTimeout(() => {\r\n this.isLoading = false\r\n this.rotateSlides.length = 0\r\n this.timeStamp = (new Date()).getTime();\r\n }, 1000)\r\n })\r\n }\r\n }\r\n },\r\n Toolbar: {\r\n items: {\r\n rotateLeft: {\r\n tpl: `\r\n <button title=\"Rotate counterclockwise\" class=\"f-button\">\r\n <svg tabindex=\"-1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 4.55a8 8 0 0 0-6 14.9M9 15v5H4M18.37 7.16v.01M13 19.94v.01M16.84 18.37v.01M19.37 15.1v.01M19.94 11v.01\">\r\n </path>\r\n </svg>\r\n </button>\r\n `,\r\n click: (a: any) => {\r\n const slide = a.instance.getSlide();\r\n if (!slide) return;\r\n\r\n const foundRotateSlide = this.rotateSlides.find((s) => s.previewImageId === slide.previewImageId);\r\n\r\n if (foundRotateSlide) {\r\n this.rotateSlides = this.rotateSlides.map((s) => {\r\n if (s.previewImageId === foundRotateSlide.previewImageId) {\r\n s.rotate = s.rotate === -270 ? 0 : s.rotate - 90;\r\n }\r\n return s;\r\n }).filter((s) => s.rotate !== 0);\r\n } else {\r\n this.rotateSlides.push({\r\n previewImageId: slide.previewImageId,\r\n rotate: -90\r\n });\r\n }\r\n\r\n slide.panzoom?.rotateCCW()\r\n }\r\n },\r\n rotateRight: {\r\n tpl: `\r\n <button title=\"Rotate clockwise\" class=\"f-button\">\r\n <svg tabindex=\"-1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 4.55a8 8 0 0 1 6 14.9M15 15v5h5M5.63 7.16v.01M4.06 11v.01M4.63 15.1v.01M7.16 18.37v.01M11 19.94v.01\">\r\n </path>\r\n </svg>\r\n </button>\r\n `,\r\n click: (a: any) => {\r\n const slide = a.instance.getSlide();\r\n if (!slide) return;\r\n\r\n const foundRotateSlide = this.rotateSlides.find((s) => s.previewImageId === slide.previewImageId);\r\n\r\n if (foundRotateSlide) {\r\n this.rotateSlides = this.rotateSlides.map((s) => {\r\n if (s.previewImageId === foundRotateSlide.previewImageId) {\r\n s.rotate = s.rotate === 270 ? 0 : s.rotate + 90;\r\n }\r\n return s;\r\n }).filter((s) => s.rotate !== 0);\r\n } else {\r\n this.rotateSlides.push({\r\n previewImageId: slide.previewImageId,\r\n rotate: 90\r\n });\r\n }\r\n\r\n slide.panzoom?.rotateCW()\r\n }\r\n }\r\n },\r\n display: customToolbarDefault,\r\n },\r\n ...this.defaultConfig\r\n },\r\n {}\r\n );\r\n }\r\n}\r\n","<div class=\"mrx-gallery\" [class]=\"getClasses\">\r\n <div class=\"mrx-gallery-row row\">\r\n <div *ngFor=\"let preview of getData; trackBy: trackByFn; let index = index\" class=\"col col-12 col-sm-6 col-md-3\">\r\n <mrx-gallery-item\r\n [preview]=\"preview\"\r\n [index]=\"index\"\r\n [isEditing]=\"isEditing\"\r\n [descriptionMaxLength]=\"descriptionMaxLength\"\r\n [rotateSlides]=\"rotateSlides\"\r\n [isLoading]=\"isLoading\"\r\n [deleteEndPoint]=\"deleteEndPoint\"\r\n [updateEndPoint]=\"updateEndPoint\"\r\n (openGalleryModal)=\"openGalleryModal($event)\"\r\n (deletePhoto)=\"deletePhoto.emit($event)\"\r\n (updatePhoto)=\"updatePhoto.emit($event)\"\r\n ></mrx-gallery-item>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-3\" *ngIf=\"isShowMore\">\r\n <div class=\"col d-flex justify-content-center\">\r\n <mrx-button type=\"tertiary\" (mrxClick)=\"changeExpanded()\">\r\n {{ getIsExpanded ? 'Скрыть' : 'Показать все фотографии' }}\r\n <span\r\n class=\"mrx-icon icon-font-16 ml-2\"\r\n [class.icon-chevron-down]=\"!getIsExpanded\"\r\n [class.icon-chevron-up]=\"getIsExpanded\"\r\n ></span>\r\n </mrx-button>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CharsLeftComponent } from './chars-left.component';\r\n\r\n@NgModule({\r\n declarations: [CharsLeftComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [CharsLeftComponent],\r\n})\r\nexport class CharsLeftModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AutosizeDirective } from './autosize.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n AutosizeDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n AutosizeDirective\r\n ]\r\n})\r\nexport class AutosizeModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputTextareaComponent } from './input-textarea.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { IConfig, NgxMaskModule } from 'ngx-mask';\r\nimport { ErrorMessageModule } from \"../../error-message/error-message.module\";\r\nimport { SaveStateModule } from \"../../save-state/save-state.module\";\r\nimport { AutosizeModule } from '../../../directives/autosize/autosize.module';\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputTextareaComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CharsLeftModule,\r\n ErrorMessageModule,\r\n SaveStateModule,\r\n NgxMaskModule.forRoot(maskConfigFunction),\r\n AutosizeModule\r\n ],\r\n exports: [InputTextareaComponent],\r\n})\r\nexport class InputTextareaModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { GalleryComponent } from './gallery.component';\r\nimport { GalleryItemComponent } from './components/gallery-item/gallery-item.component';\r\nimport { ButtonModule } from '../button/button.module';\r\nimport { InputTextareaModule } from '../form/input-textarea/input-textarea.module';\r\nimport { LoaderModule } from '../loader/loader.module';\r\nimport { ModalModule } from '../modal/modal.module';\r\nimport { GalleryConfirmModalComponent } from './components/gallery-confirm-modal/gallery-confirm-modal.component';\r\nimport { SaveStoreModule } from \"../../services\";\r\n\r\n@NgModule({\r\n declarations: [\r\n GalleryComponent,\r\n GalleryItemComponent,\r\n GalleryConfirmModalComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ButtonModule,\r\n InputTextareaModule,\r\n LoaderModule,\r\n ModalModule,\r\n SaveStoreModule\r\n ],\r\n exports: [\r\n GalleryComponent\r\n ]\r\n})\r\nexport class GalleryModule { }\r\n","export enum PagesNavEnum {\r\n 'self' = '_self',\r\n 'blank' = '_blank'\r\n}\r\n\r\nexport type PagesNavTypes = 'self' | 'blank';\r\n","import {Component, Input} from '@angular/core';\r\nimport {PagesNavEnum, PagesNavTypes} from './pages-nav.enum';\r\n\r\n@Component({\r\n selector: 'mrx-pages-nav',\r\n templateUrl: './pages-nav.component.html',\r\n styleUrls: ['./pages-nav.component.less']\r\n})\r\n\r\nexport class PagesNavComponent {\r\n @Input() prevLink = '';\r\n @Input() prevText = 'Назад';\r\n\r\n @Input() nextLink = '';\r\n @Input() nextText = 'Вперед';\r\n\r\n @Input() target: PagesNavTypes = 'self';\r\n\r\n public get getTarget(): string {\r\n return `${PagesNavEnum[this.target]}`;\r\n }\r\n}\r\n","<div *ngIf=\"prevLink || nextLink\" class=\"mrx-pages-nav\">\r\n <a\r\n *ngIf=\"prevLink\"\r\n [href]=\"prevLink\"\r\n [target]=\"getTarget\"\r\n class=\"mrx-pages-nav__left\"\r\n >\r\n <div class=\"mrx-icon icon-font-24 icon-chevron-left\"></div>\r\n {{prevText}}\r\n </a>\r\n <a\r\n *ngIf=\"nextLink\"\r\n [href]=\"nextLink\"\r\n [target]=\"getTarget\"\r\n class=\"mrx-pages-nav__right\"\r\n >\r\n {{nextText}}\r\n <div class=\"mrx-icon icon-font-24 icon-chevron-right\"></div>\r\n </a>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {PagesNavComponent} from './pages-nav.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n PagesNavComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n PagesNavComponent\r\n ]\r\n})\r\n\r\nexport class PagesNavModule {}\r\n","export enum InputTextSizesEnum {\r\n 'small' = 'mrx-input-text-sm',\r\n 'medium' = 'mrx-input-text-md',\r\n 'large' = 'mrx-input-text-lg',\r\n}\r\n\r\nexport type InputTextSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputTextValueTypes = string;\r\n\r\nexport interface InputTextValueWithId {\r\n value: InputTextValueTypes,\r\n id: string\r\n}\r\n\r\nexport enum InputTextIconColorEnum {\r\n 'default' = '',\r\n 'brand' = 'color-brand',\r\n 'positive' = 'color-positive',\r\n 'negative' = 'color-negative',\r\n 'attention' = 'color-attention',\r\n}\r\n\r\nexport type InputTextIconColorTypes = 'default' | 'brand' | 'positive' | 'negative' | 'attention'\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n InputTextIconColorEnum,\r\n InputTextIconColorTypes,\r\n InputTextSizesEnum,\r\n InputTextSizesTypes,\r\n InputTextValueTypes,\r\n InputTextValueWithId\r\n} from './input-text.enum';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services';\r\n\r\n@Component({\r\n selector: 'mrx-input-text',\r\n templateUrl: './input-text.component.html',\r\n styleUrls: ['./input-text.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputTextComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputTextComponent implements ControlValueAccessor {\r\n public value: InputTextValueTypes = '';\r\n public selectionStart: number | undefined;\r\n public selectionEnd: number | undefined;\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public disabled = false;\r\n @Input() public required = false;\r\n @Input() public readonly = false;\r\n @Input() public maxlength = 0;\r\n @Input() public minlength = 0;\r\n @Input() public placeholder = '';\r\n @Input() public customClasses = '';\r\n @Input() public size: InputTextSizesTypes = 'large';\r\n @Input() public isTooltipValue = false;\r\n @Input() public icon: string | null = null;\r\n @Input() public iconColor: InputTextIconColorTypes = 'default';\r\n\r\n // VALIDATE\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Input() public restrictInput = true;\r\n\r\n // MASK\r\n @Input() mask = '';\r\n @Input() maskPrefix = '';\r\n @Input() showMaskTyped = false;\r\n @Input() maskDropSpecialCharacters: boolean | string[] = true;\r\n\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<InputTextValueTypes> = new EventEmitter<InputTextValueTypes>();\r\n @Output() public blurred: EventEmitter<InputTextValueWithId> = new EventEmitter<InputTextValueWithId>();\r\n @Output() public modelChange: EventEmitter<InputTextValueWithId> = new EventEmitter<InputTextValueWithId>();\r\n\r\n private get _isInvalidValueLength(): boolean {\r\n return this.maxlength < this.value?.length && this.maxlength > 0\r\n }\r\n\r\n public get getInvalid(): boolean {\r\n return this._isInvalidValueLength || this.invalid\r\n }\r\n\r\n public get getInvalidMessage(): string | string[] {\r\n return this._isInvalidValueLength ? 'Превышено допустимое значение символов' : this.invalidMessage\r\n }\r\n\r\n public get readonlyClass(): string {\r\n return this.readonly ? 'mrx-input__readonly' : '';\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ? 'mrx-input-checked-success' : this.checkInvalid === true ? 'mrx-input-checked-error' : ''\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputTextSizesEnum[this.size]} ${this.customClasses} ${this.readonlyClass} ${this.checkValidClasses}`;\r\n }\r\n\r\n public get getIconClass(): string {\r\n return `${this.icon} ${this.size !== 'small' ? 'icon-font-24' : 'icon-font-16'} ${InputTextIconColorEnum[this.iconColor]}`\r\n }\r\n\r\n public get getTooltipValue(): string {\r\n return this.isTooltipValue ? this.value : ''\r\n }\r\n\r\n private _lengthValidate(): boolean {\r\n return this.maxlength > this.value?.length\r\n }\r\n\r\n private formatValue(value: string): string {\r\n return value.length === this.maskPrefix.length ? '' : value\r\n }\r\n\r\n public insertPositionText(tagText: string): void {\r\n if (this.selectionStart && this.selectionEnd) {\r\n const firstText = this.value ? this.value.substring(0, this.selectionStart) : ''\r\n const secondText = this.value.substring(this.selectionEnd);\r\n const text = firstText + tagText + secondText;\r\n\r\n this.updateValue(text);\r\n\r\n setTimeout(() => {\r\n this.inputElement.nativeElement.selectionStart = (firstText + tagText).length;\r\n this.inputElement.nativeElement.selectionEnd = (firstText + tagText).length;\r\n this.inputElement.nativeElement.focus();\r\n }, 0);\r\n } else {\r\n const text = this.value ? this.value : '' + tagText\r\n\r\n this.updateValue(text);\r\n\r\n setTimeout(() => {\r\n this.inputElement.nativeElement.selectionStart = text.length;\r\n this.inputElement.nativeElement.selectionEnd = text.length;\r\n this.inputElement.nativeElement.focus();\r\n }, 0);\r\n }\r\n }\r\n\r\n public updateSelection(event: any) {\r\n this.selectionStart = event.target.selectionStart;\r\n this.selectionEnd = event.target.selectionEnd;\r\n\r\n this.blurred.emit()\r\n }\r\n\r\n private onChange = (value: InputTextValueTypes) => {};\r\n private onTouched = () => {};\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: InputTextValueTypes) {\r\n this.value = outsideValue;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputTextValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(this.formatValue(insideValue));\r\n this.modelChange.emit({value: this.formatValue(insideValue), id: this.uuid})\r\n this.onChange(this.formatValue(insideValue));\r\n this.onTouched();\r\n }\r\n\r\n public onBlur(event: FocusEvent) {\r\n this.updateSelection(event)\r\n this.blurred.emit({value: this.formatValue(this.value), id: this.uuid})\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-text\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"getInvalid\"\r\n [class.mrx-input-text-with-icon]=\"icon\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [mrxCdkTooltip]=\"getTooltipValue\"\r\n [tooltipPosition]=\"'top-start'\"\r\n>\r\n <div class=\"mrx-input-text__wrapper\">\r\n <span *ngIf=\"icon\" class=\"mrx-icon mrx-input-text-icon\" [class]=\"getIconClass\"></span>\r\n\r\n <input\r\n autocomplete=\"nope\"\r\n #inputElement\r\n [type]=\"'text'\"\r\n [id]=\"uuid\"\r\n [ngModel]=\"value\"\r\n [title]=\"placeholder || ''\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readonly\"\r\n [placeholder]=\"!disabled && placeholder ? placeholder : ''\"\r\n [mask]=\"mask\"\r\n [prefix]=\"maskPrefix\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n [dropSpecialCharacters]=\"maskDropSpecialCharacters\"\r\n [minlength]=\"minlength > 0 && restrictInput ? minlength : null\"\r\n [maxlength]=\"maxlength > 0 && restrictInput ? maxlength : null\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"onBlur($event)\"\r\n />\r\n\r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxlength\"\r\n [value]=\"value\"\r\n [maxlength]=\"maxlength\"\r\n ></mrx-chars-left>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputTextComponent } from './input-text.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { IConfig, NgxMaskModule } from 'ngx-mask';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\nimport { CdkTooltipModule } from '../../cdk-tooltip/cdk-tooltip.module';\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputTextComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CharsLeftModule,\r\n ErrorMessageModule,\r\n SaveStateModule,\r\n CdkTooltipModule,\r\n NgxMaskModule.forRoot(maskConfigFunction)\r\n ],\r\n exports: [InputTextComponent],\r\n})\r\nexport class InputTextModule {}\r\n","export enum CountryISO {\r\n Afghanistan = 'af',\r\n Albania = 'al',\r\n Algeria = 'dz',\r\n AmericanSamoa = 'as',\r\n Andorra = 'ad',\r\n Angola = 'ao',\r\n Anguilla = 'ai',\r\n AntiguaAndBarbuda = 'ag',\r\n Argentina = 'ar',\r\n Armenia = 'am',\r\n Aruba = 'aw',\r\n Australia = 'au',\r\n Austria = 'at',\r\n Azerbaijan = 'az',\r\n Bahamas = 'bs',\r\n Bahrain = 'bh',\r\n Bangladesh = 'bd',\r\n Barbados = 'bb',\r\n Belarus = 'by',\r\n Belgium = 'be',\r\n Belize = 'bz',\r\n Benin = 'bj',\r\n Bermuda = 'bm',\r\n Bhutan = 'bt',\r\n Bolivia = 'bo',\r\n BosniaAndHerzegovina = 'ba',\r\n Botswana = 'bw',\r\n Brazil = 'br',\r\n BritishIndianOceanTerritory = 'io',\r\n BritishVirginIslands = 'vg',\r\n Brunei = 'bn',\r\n Bulgaria = 'bg',\r\n BurkinaFaso = 'bf',\r\n Burundi = 'bi',\r\n Cambodia = 'kh',\r\n Cameroon = 'cm',\r\n Canada = 'ca',\r\n CapeVerde = 'cv',\r\n CaribbeanNetherlands = 'bq',\r\n CaymanIslands = 'ky',\r\n CentralAfricanRepublic = 'cf',\r\n Chad = 'td',\r\n Chile = 'cl',\r\n China = 'cn',\r\n ChristmasIsland = 'cx',\r\n Cocos = 'cc',\r\n Colombia = 'co',\r\n Comoros = 'km',\r\n CongoDRCJamhuriYaKidemokrasiaYaKongo = 'cd',\r\n CongoRepublicCongoBrazzaville = 'cg',\r\n CookIslands = 'ck',\r\n CostaRica = 'cr',\r\n CôteDIvoire = 'ci',\r\n Croatia = 'hr',\r\n Cuba = 'cu',\r\n Curaçao = 'cw',\r\n Cyprus = 'cy',\r\n CzechRepublic = 'cz',\r\n Denmark = 'dk',\r\n Djibouti = 'dj',\r\n Dominica = 'dm',\r\n DominicanRepublic = 'do',\r\n Ecuador = 'ec',\r\n Egypt = 'eg',\r\n ElSalvador = 'sv',\r\n EquatorialGuinea = 'gq',\r\n Eritrea = 'er',\r\n Estonia = 'ee',\r\n Ethiopia = 'et',\r\n FalklandIslands = 'fk',\r\n FaroeIslands = 'fo',\r\n Fiji = 'fj',\r\n Finland = 'fi',\r\n France = 'fr',\r\n FrenchGuiana = 'gf',\r\n FrenchPolynesia = 'pf',\r\n Gabon = 'ga',\r\n Gambia = 'gm',\r\n Georgia = 'ge',\r\n Germany = 'de',\r\n Ghana = 'gh',\r\n Gibraltar = 'gi',\r\n Greece = 'gr',\r\n Greenland = 'gl',\r\n Grenada = 'gd',\r\n Guadeloupe = 'gp',\r\n Guam = 'gu',\r\n Guatemala = 'gt',\r\n Guernsey = 'gg',\r\n Guinea = 'gn',\r\n GuineaBissau = 'gw',\r\n Guyana = 'gy',\r\n Haiti = 'ht',\r\n Honduras = 'hn',\r\n HongKong = 'hk',\r\n Hungary = 'hu',\r\n Iceland = 'is',\r\n India = 'in',\r\n Indonesia = 'id',\r\n Iran = 'ir',\r\n Iraq = 'iq',\r\n Ireland = 'ie',\r\n IsleOfMan = 'im',\r\n Israel = 'il',\r\n Italy = 'it',\r\n Jamaica = 'jm',\r\n Japan = 'jp',\r\n Jersey = 'je',\r\n Jordan = 'jo',\r\n Kazakhstan = 'kz',\r\n Kenya = 'ke',\r\n Kiribati = 'ki',\r\n Kosovo = 'xk',\r\n Kuwait = 'kw',\r\n Kyrgyzstan = 'kg',\r\n Laos = 'la',\r\n Latvia = 'lv',\r\n Lebanon = 'lb',\r\n Lesotho = 'ls',\r\n Liberia = 'lr',\r\n Libya = 'ly',\r\n Liechtenstein = 'li',\r\n Lithuania = 'lt',\r\n Luxembourg = 'lu',\r\n Macau = 'mo',\r\n Macedonia = 'mk',\r\n Madagascar = 'mg',\r\n Malawi = 'mw',\r\n Malaysia = 'my',\r\n Maldives = 'mv',\r\n Mali = 'ml',\r\n Malta = 'mt',\r\n MarshallIslands = 'mh',\r\n Martinique = 'mq',\r\n Mauritania = 'mr',\r\n Mauritius = 'mu',\r\n Mayotte = 'yt',\r\n Mexico = 'mx',\r\n Micronesia = 'fm',\r\n Moldova = 'md',\r\n Monaco = 'mc',\r\n Mongolia = 'mn',\r\n Montenegro = 'me',\r\n Montserrat = 'ms',\r\n Morocco = 'ma',\r\n Mozambique = 'mz',\r\n Myanmar = 'mm',\r\n Namibia = 'na',\r\n Nauru = 'nr',\r\n Nepal = 'np',\r\n Netherlands = 'nl',\r\n NewCaledonia = 'nc',\r\n NewZealand = 'nz',\r\n Nicaragua = 'ni',\r\n Niger = 'ne',\r\n Nigeria = 'ng',\r\n Niue = 'nu',\r\n NorfolkIsland = 'nf',\r\n NorthKorea = 'kp',\r\n NorthernMarianaIslands = 'mp',\r\n Norway = 'no',\r\n Oman = 'om',\r\n Pakistan = 'pk',\r\n Palau = 'pw',\r\n Palestine = 'ps',\r\n Panama = 'pa',\r\n PapuaNewGuinea = 'pg',\r\n Paraguay = 'py',\r\n Peru = 'pe',\r\n Philippines = 'ph',\r\n Poland = 'pl',\r\n Portugal = 'pt',\r\n PuertoRico = 'pr',\r\n Qatar = 'qa',\r\n Réunion = 're',\r\n Romania = 'ro',\r\n Russia = 'ru',\r\n Rwanda = 'rw',\r\n SaintBarthélemy = 'bl',\r\n SaintHelena = 'sh',\r\n SaintKittsAndNevis = 'kn',\r\n SaintLucia = 'lc',\r\n SaintMartin = 'mf',\r\n SaintPierreAndMiquelon = 'pm',\r\n SaintVincentAndTheGrenadines = 'vc',\r\n Samoa = 'ws',\r\n SanMarino = 'sm',\r\n SãoToméAndPríncipe = 'st',\r\n SaudiArabia = 'sa',\r\n Senegal = 'sn',\r\n Serbia = 'rs',\r\n Seychelles = 'sc',\r\n SierraLeone = 'sl',\r\n Singapore = 'sg',\r\n SintMaarten = 'sx',\r\n Slovakia = 'sk',\r\n Slovenia = 'si',\r\n SolomonIslands = 'sb',\r\n Somalia = 'so',\r\n SouthAfrica = 'za',\r\n SouthKorea = 'kr',\r\n SouthSudan = 'ss',\r\n Spain = 'es',\r\n SriLanka = 'lk',\r\n Sudan = 'sd',\r\n Suriname = 'sr',\r\n SvalbardAndJanMayen = 'sj',\r\n Swaziland = 'sz',\r\n Sweden = 'se',\r\n Switzerland = 'ch',\r\n Syria = 'sy',\r\n Taiwan = 'tw',\r\n Tajikistan = 'tj',\r\n Tanzania = 'tz',\r\n Thailand = 'th',\r\n TimorLeste = 'tl',\r\n Togo = 'tg',\r\n Tokelau = 'tk',\r\n Tonga = 'to',\r\n TrinidadAndTobago = 'tt',\r\n Tunisia = 'tn',\r\n Turkey = 'tr',\r\n Turkmenistan = 'tm',\r\n TurksAndCaicosIslands = 'tc',\r\n Tuvalu = 'tv',\r\n USVirginIslands = 'vi',\r\n Uganda = 'ug',\r\n Ukraine = 'ua',\r\n UnitedArabEmirates = 'ae',\r\n UnitedKingdom = 'gb',\r\n UnitedStates = 'us',\r\n Uruguay = 'uy',\r\n Uzbekistan = 'uz',\r\n Vanuatu = 'vu',\r\n VaticanCity = 'va',\r\n Venezuela = 've',\r\n Vietnam = 'vn',\r\n WallisAndFutuna = 'wf',\r\n WesternSahara = 'eh',\r\n Yemen = 'ye',\r\n Zambia = 'zm',\r\n Zimbabwe = 'zw',\r\n ÅlandIslands = 'ax',\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CountryISO } from '../enums/country-iso.enum';\r\n\r\n@Injectable()\r\nexport class CountryCode {\r\n public allCountries = [\r\n [\r\n 'Afghanistan (‫افغانستان‬‎)',\r\n CountryISO.Afghanistan,\r\n '93'\r\n ],\r\n [\r\n 'Albania (Shqipëri)',\r\n CountryISO.Albania,\r\n '355'\r\n ],\r\n [\r\n 'Algeria (‫الجزائر‬‎)',\r\n CountryISO.Algeria,\r\n '213'\r\n ],\r\n [\r\n 'American Samoa',\r\n 'as',\r\n '1',\r\n 1,\r\n [\r\n '684',\r\n ]\r\n ],\r\n [\r\n 'Andorra',\r\n CountryISO.Andorra,\r\n '376'\r\n ],\r\n [\r\n 'Angola',\r\n CountryISO.Angola,\r\n '244'\r\n ],\r\n [\r\n 'Anguilla',\r\n 'ai',\r\n '1',\r\n 1,\r\n [\r\n '264',\r\n ]\r\n ],\r\n [\r\n 'Antigua and Barbuda',\r\n 'ag',\r\n '1',\r\n 1,\r\n [\r\n '268',\r\n ]\r\n ],\r\n [\r\n 'Argentina',\r\n CountryISO.Argentina,\r\n '54'\r\n ],\r\n [\r\n 'Armenia (Հայաստան)',\r\n CountryISO.Armenia,\r\n '374'\r\n ],\r\n [\r\n 'Aruba',\r\n CountryISO.Aruba,\r\n '297'\r\n ],\r\n [\r\n 'Australia',\r\n CountryISO.Australia,\r\n '61',\r\n 0\r\n ],\r\n [\r\n 'Austria (Österreich)',\r\n CountryISO.Austria,\r\n '43'\r\n ],\r\n [\r\n 'Azerbaijan (Azərbaycan)',\r\n CountryISO.Azerbaijan,\r\n '994'\r\n ],\r\n [\r\n 'Bahamas',\r\n 'bs',\r\n '1',\r\n 1,\r\n [\r\n '242',\r\n ]\r\n ],\r\n [\r\n 'Bahrain (‫البحرين‬‎)',\r\n CountryISO.Bahrain,\r\n '973'\r\n ],\r\n [\r\n 'Bangladesh (বাংলাদেশ)',\r\n CountryISO.Bangladesh,\r\n '880'\r\n ],\r\n [\r\n 'Barbados',\r\n 'bb',\r\n '1',\r\n 1,\r\n [\r\n '246',\r\n ]\r\n ],\r\n [\r\n 'Belarus (Беларусь)',\r\n CountryISO.Belarus,\r\n '375'\r\n ],\r\n [\r\n 'Belgium (België)',\r\n CountryISO.Belgium,\r\n '32'\r\n ],\r\n [\r\n 'Belize',\r\n CountryISO.Belize,\r\n '501'\r\n ],\r\n [\r\n 'Benin (Bénin)',\r\n CountryISO.Benin,\r\n '229'\r\n ],\r\n [\r\n 'Bermuda',\r\n 'bm',\r\n '1',\r\n 1,\r\n [\r\n '441',\r\n ]\r\n ],\r\n [\r\n 'Bhutan (འབྲུག)',\r\n CountryISO.Bhutan,\r\n '975'\r\n ],\r\n [\r\n 'Bolivia',\r\n CountryISO.Bolivia,\r\n '591'\r\n ],\r\n [\r\n 'Bosnia and Herzegovina (Босна и Херцеговина)',\r\n CountryISO.BosniaAndHerzegovina,\r\n '387'\r\n ],\r\n [\r\n 'Botswana',\r\n CountryISO.Botswana,\r\n '267'\r\n ],\r\n [\r\n 'Brazil (Brasil)',\r\n CountryISO.Brazil,\r\n '55'\r\n ],\r\n [\r\n 'British Indian Ocean Territory',\r\n CountryISO.BritishIndianOceanTerritory,\r\n '246'\r\n ],\r\n [\r\n 'British Virgin Islands',\r\n 'vg',\r\n '1',\r\n 1,\r\n [\r\n '284',\r\n ]\r\n ],\r\n [\r\n 'Brunei',\r\n CountryISO.Brunei,\r\n '673'\r\n ],\r\n [\r\n 'Bulgaria (България)',\r\n CountryISO.Bulgaria,\r\n '359'\r\n ],\r\n [\r\n 'Burkina Faso',\r\n CountryISO.BurkinaFaso,\r\n '226'\r\n ],\r\n [\r\n 'Burundi (Uburundi)',\r\n CountryISO.Burundi,\r\n '257'\r\n ],\r\n [\r\n 'Cambodia (កម្ពុជា)',\r\n CountryISO.Cambodia,\r\n '855'\r\n ],\r\n [\r\n 'Cameroon (Cameroun)',\r\n CountryISO.Cameroon,\r\n '237'\r\n ],\r\n [\r\n 'Canada',\r\n CountryISO.Canada,\r\n '1',\r\n 1,\r\n [\r\n '204', '226', '236', '249', '250', '289', '306', '343', '365', '387', '403', '416',\r\n '418', '431', '437', '438', '450', '506', '514', '519', '548', '579', '581', '587',\r\n '604', '613', '639', '647', '672', '705', '709', '742', '778', '780', '782', '807',\r\n '819', '825', '867', '873', '902', '905'\r\n ]\r\n ],\r\n [\r\n 'Cape Verde (Kabu Verdi)',\r\n CountryISO.CapeVerde,\r\n '238'\r\n ],\r\n [\r\n 'Caribbean Netherlands',\r\n CountryISO.CaribbeanNetherlands,\r\n '599',\r\n 1\r\n ],\r\n [\r\n 'Cayman Islands',\r\n 'ky',\r\n '1',\r\n 1,\r\n [\r\n '345',\r\n ]\r\n ],\r\n [\r\n 'Central African Republic (République centrafricaine)',\r\n CountryISO.CentralAfricanRepublic,\r\n '236'\r\n ],\r\n [\r\n 'Chad (Tchad)',\r\n CountryISO.Chad,\r\n '235'\r\n ],\r\n [\r\n 'Chile',\r\n CountryISO.Chile,\r\n '56'\r\n ],\r\n [\r\n 'China (中国)',\r\n CountryISO.China,\r\n '86'\r\n ],\r\n [\r\n 'Christmas Island',\r\n CountryISO.ChristmasIsland,\r\n '61',\r\n 2\r\n ],\r\n [\r\n 'Cocos (Keeling) Islands',\r\n CountryISO.Cocos,\r\n '61',\r\n 1\r\n ],\r\n [\r\n 'Colombia',\r\n CountryISO.Colombia,\r\n '57'\r\n ],\r\n [\r\n 'Comoros (‫جزر القمر‬‎)',\r\n CountryISO.Comoros,\r\n '269'\r\n ],\r\n [\r\n 'Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)',\r\n CountryISO.CongoDRCJamhuriYaKidemokrasiaYaKongo,\r\n '243'\r\n ],\r\n [\r\n 'Congo (Republic) (Congo-Brazzaville)',\r\n CountryISO.CongoRepublicCongoBrazzaville,\r\n '242'\r\n ],\r\n [\r\n 'Cook Islands',\r\n CountryISO.CookIslands,\r\n '682'\r\n ],\r\n [\r\n 'Costa Rica',\r\n CountryISO.CostaRica,\r\n '506'\r\n ],\r\n [\r\n 'Côte d’Ivoire',\r\n CountryISO.CôteDIvoire,\r\n '225'\r\n ],\r\n [\r\n 'Croatia (Hrvatska)',\r\n CountryISO.Croatia,\r\n '385'\r\n ],\r\n [\r\n 'Cuba',\r\n CountryISO.Cuba,\r\n '53'\r\n ],\r\n [\r\n 'Curaçao',\r\n CountryISO.Curaçao,\r\n '599',\r\n 0\r\n ],\r\n [\r\n 'Cyprus (Κύπρος)',\r\n CountryISO.Cyprus,\r\n '357'\r\n ],\r\n [\r\n 'Czech Republic (Česká republika)',\r\n CountryISO.CzechRepublic,\r\n '420'\r\n ],\r\n [\r\n 'Denmark (Danmark)',\r\n CountryISO.Denmark,\r\n '45'\r\n ],\r\n [\r\n 'Djibouti',\r\n CountryISO.Djibouti,\r\n '253'\r\n ],\r\n [\r\n 'Dominica',\r\n CountryISO.Dominica,\r\n '1767'\r\n ],\r\n [\r\n 'Dominican Republic (República Dominicana)',\r\n CountryISO.DominicanRepublic,\r\n '1',\r\n 2,\r\n ['809', '829', '849']\r\n ],\r\n [\r\n 'Ecuador',\r\n CountryISO.Ecuador,\r\n '593'\r\n ],\r\n [\r\n 'Egypt (‫مصر‬‎)',\r\n CountryISO.Egypt,\r\n '20'\r\n ],\r\n [\r\n 'El Salvador',\r\n CountryISO.ElSalvador,\r\n '503'\r\n ],\r\n [\r\n 'Equatorial Guinea (Guinea Ecuatorial)',\r\n CountryISO.EquatorialGuinea,\r\n '240'\r\n ],\r\n [\r\n 'Eritrea',\r\n CountryISO.Eritrea,\r\n '291'\r\n ],\r\n [\r\n 'Estonia (Eesti)',\r\n CountryISO.Estonia,\r\n '372'\r\n ],\r\n [\r\n 'Ethiopia',\r\n CountryISO.Ethiopia,\r\n '251'\r\n ],\r\n [\r\n 'Falkland Islands (Islas Malvinas)',\r\n CountryISO.FalklandIslands,\r\n '500'\r\n ],\r\n [\r\n 'Faroe Islands (Føroyar)',\r\n CountryISO.FaroeIslands,\r\n '298'\r\n ],\r\n [\r\n 'Fiji',\r\n CountryISO.Fiji,\r\n '679'\r\n ],\r\n [\r\n 'Finland (Suomi)',\r\n CountryISO.Finland,\r\n '358',\r\n 0\r\n ],\r\n [\r\n 'France',\r\n CountryISO.France,\r\n '33'\r\n ],\r\n [\r\n 'French Guiana (Guyane française)',\r\n CountryISO.FrenchGuiana,\r\n '594'\r\n ],\r\n [\r\n 'French Polynesia (Polynésie française)',\r\n CountryISO.FrenchPolynesia,\r\n '689'\r\n ],\r\n [\r\n 'Gabon',\r\n CountryISO.Gabon,\r\n '241'\r\n ],\r\n [\r\n 'Gambia',\r\n CountryISO.Gambia,\r\n '220'\r\n ],\r\n [\r\n 'Georgia (საქართველო)',\r\n CountryISO.Georgia,\r\n '995'\r\n ],\r\n [\r\n 'Germany (Deutschland)',\r\n CountryISO.Germany,\r\n '49'\r\n ],\r\n [\r\n 'Ghana (Gaana)',\r\n CountryISO.Ghana,\r\n '233'\r\n ],\r\n [\r\n 'Gibraltar',\r\n CountryISO.Gibraltar,\r\n '350'\r\n ],\r\n [\r\n 'Greece (Ελλάδα)',\r\n CountryISO.Greece,\r\n '30'\r\n ],\r\n [\r\n 'Greenland (Kalaallit Nunaat)',\r\n CountryISO.Greenland,\r\n '299'\r\n ],\r\n [\r\n 'Grenada',\r\n CountryISO.Grenada,\r\n '1473'\r\n ],\r\n [\r\n 'Guadeloupe',\r\n CountryISO.Guadeloupe,\r\n '590',\r\n 0\r\n ],\r\n [\r\n 'Guam',\r\n 'gu',\r\n '1',\r\n 1,\r\n [\r\n '671',\r\n ]\r\n ],\r\n [\r\n 'Guatemala',\r\n CountryISO.Guatemala,\r\n '502'\r\n ],\r\n [\r\n 'Guernsey',\r\n CountryISO.Guernsey,\r\n '44',\r\n 1,\r\n [1481]\r\n ],\r\n [\r\n 'Guinea (Guinée)',\r\n CountryISO.Guinea,\r\n '224'\r\n ],\r\n [\r\n 'Guinea-Bissau (Guiné Bissau)',\r\n CountryISO.GuineaBissau,\r\n '245'\r\n ],\r\n [\r\n 'Guyana',\r\n CountryISO.Guyana,\r\n '592'\r\n ],\r\n [\r\n 'Haiti',\r\n CountryISO.Haiti,\r\n '509'\r\n ],\r\n [\r\n 'Honduras',\r\n CountryISO.Honduras,\r\n '504'\r\n ],\r\n [\r\n 'Hong Kong (香港)',\r\n CountryISO.HongKong,\r\n '852'\r\n ],\r\n [\r\n 'Hungary (Magyarország)',\r\n CountryISO.Hungary,\r\n '36'\r\n ],\r\n [\r\n 'Iceland (Ísland)',\r\n CountryISO.Iceland,\r\n '354'\r\n ],\r\n [\r\n 'India (भारत)',\r\n CountryISO.India,\r\n '91'\r\n ],\r\n [\r\n 'Indonesia',\r\n CountryISO.Indonesia,\r\n '62'\r\n ],\r\n [\r\n 'Iran (‫ایران‬‎)',\r\n CountryISO.Iran,\r\n '98'\r\n ],\r\n [\r\n 'Iraq (‫العراق‬‎)',\r\n CountryISO.Iraq,\r\n '964'\r\n ],\r\n [\r\n 'Ireland',\r\n CountryISO.Ireland,\r\n '353'\r\n ],\r\n [\r\n 'Isle of Man',\r\n CountryISO.IsleOfMan,\r\n '44',\r\n 2,\r\n [1624]\r\n ],\r\n [\r\n 'Israel (‫ישראל‬‎)',\r\n CountryISO.Israel,\r\n '972'\r\n ],\r\n [\r\n 'Italy (Italia)',\r\n CountryISO.Italy,\r\n '39',\r\n 0\r\n ],\r\n [\r\n 'Jamaica',\r\n 'jm',\r\n '1',\r\n 1,\r\n [\r\n '876',\r\n ]\r\n ],\r\n [\r\n 'Japan (日本)',\r\n CountryISO.Japan,\r\n '81'\r\n ],\r\n [\r\n 'Jersey',\r\n CountryISO.Jersey,\r\n '44',\r\n 3,\r\n [1534]\r\n ],\r\n [\r\n 'Jordan (‫الأردن‬‎)',\r\n CountryISO.Jordan,\r\n '962'\r\n ],\r\n [\r\n 'Kazakhstan (Казахстан)',\r\n CountryISO.Kazakhstan,\r\n '7',\r\n 1\r\n ],\r\n [\r\n 'Kenya',\r\n CountryISO.Kenya,\r\n '254'\r\n ],\r\n [\r\n 'Kiribati',\r\n CountryISO.Kiribati,\r\n '686'\r\n ],\r\n [\r\n 'Kosovo',\r\n CountryISO.Kosovo,\r\n '383'\r\n ],\r\n [\r\n 'Kuwait (‫الكويت‬‎)',\r\n CountryISO.Kuwait,\r\n '965'\r\n ],\r\n [\r\n 'Kyrgyzstan (Кыргызстан)',\r\n CountryISO.Kyrgyzstan,\r\n '996'\r\n ],\r\n [\r\n 'Laos (ລາວ)',\r\n CountryISO.Laos,\r\n '856'\r\n ],\r\n [\r\n 'Latvia (Latvija)',\r\n CountryISO.Latvia,\r\n '371'\r\n ],\r\n [\r\n 'Lebanon (‫لبنان‬‎)',\r\n CountryISO.Lebanon,\r\n '961'\r\n ],\r\n [\r\n 'Lesotho',\r\n CountryISO.Lesotho,\r\n '266'\r\n ],\r\n [\r\n 'Liberia',\r\n CountryISO.Liberia,\r\n '231'\r\n ],\r\n [\r\n 'Libya (‫ليبيا‬‎)',\r\n CountryISO.Libya,\r\n '218'\r\n ],\r\n [\r\n 'Liechtenstein',\r\n CountryISO.Liechtenstein,\r\n '423'\r\n ],\r\n [\r\n 'Lithuania (Lietuva)',\r\n CountryISO.Lithuania,\r\n '370'\r\n ],\r\n [\r\n 'Luxembourg',\r\n CountryISO.Luxembourg,\r\n '352'\r\n ],\r\n [\r\n 'Macau (澳門)',\r\n CountryISO.Macau,\r\n '853'\r\n ],\r\n [\r\n 'Macedonia (FYROM) (Македонија)',\r\n CountryISO.Macedonia,\r\n '389'\r\n ],\r\n [\r\n 'Madagascar (Madagasikara)',\r\n CountryISO.Madagascar,\r\n '261'\r\n ],\r\n [\r\n 'Malawi',\r\n CountryISO.Malawi,\r\n '265'\r\n ],\r\n [\r\n 'Malaysia',\r\n CountryISO.Malaysia,\r\n '60'\r\n ],\r\n [\r\n 'Maldives',\r\n CountryISO.Maldives,\r\n '960'\r\n ],\r\n [\r\n 'Mali',\r\n CountryISO.Mali,\r\n '223'\r\n ],\r\n [\r\n 'Malta',\r\n CountryISO.Malta,\r\n '356'\r\n ],\r\n [\r\n 'Marshall Islands',\r\n CountryISO.MarshallIslands,\r\n '692'\r\n ],\r\n [\r\n 'Martinique',\r\n CountryISO.Martinique,\r\n '596'\r\n ],\r\n [\r\n 'Mauritania (‫موريتانيا‬‎)',\r\n CountryISO.Mauritania,\r\n '222'\r\n ],\r\n [\r\n 'Mauritius (Moris)',\r\n CountryISO.Mauritius,\r\n '230'\r\n ],\r\n [\r\n 'Mayotte',\r\n CountryISO.Mayotte,\r\n '262',\r\n 1\r\n ],\r\n [\r\n 'Mexico (México)',\r\n CountryISO.Mexico,\r\n '52'\r\n ],\r\n [\r\n 'Micronesia',\r\n CountryISO.Micronesia,\r\n '691'\r\n ],\r\n [\r\n 'Moldova (Republica Moldova)',\r\n CountryISO.Moldova,\r\n '373'\r\n ],\r\n [\r\n 'Monaco',\r\n CountryISO.Monaco,\r\n '377'\r\n ],\r\n [\r\n 'Mongolia (Монгол)',\r\n CountryISO.Mongolia,\r\n '976'\r\n ],\r\n [\r\n 'Montenegro (Crna Gora)',\r\n CountryISO.Montenegro,\r\n '382'\r\n ],\r\n [\r\n 'Montserrat',\r\n 'ms',\r\n '1',\r\n 1,\r\n [\r\n '664',\r\n ]\r\n ],\r\n [\r\n 'Morocco (‫المغرب‬‎)',\r\n CountryISO.Morocco,\r\n '212',\r\n 0\r\n ],\r\n [\r\n 'Mozambique (Moçambique)',\r\n CountryISO.Mozambique,\r\n '258'\r\n ],\r\n [\r\n 'Myanmar (Burma) (မြန်မာ)',\r\n CountryISO.Myanmar,\r\n '95'\r\n ],\r\n [\r\n 'Namibia (Namibië)',\r\n CountryISO.Namibia,\r\n '264'\r\n ],\r\n [\r\n 'Nauru',\r\n CountryISO.Nauru,\r\n '674'\r\n ],\r\n [\r\n 'Nepal (नेपाल)',\r\n CountryISO.Nepal,\r\n '977'\r\n ],\r\n [\r\n 'Netherlands (Nederland)',\r\n CountryISO.Netherlands,\r\n '31'\r\n ],\r\n [\r\n 'New Caledonia (Nouvelle-Calédonie)',\r\n CountryISO.NewCaledonia,\r\n '687'\r\n ],\r\n [\r\n 'New Zealand',\r\n CountryISO.NewZealand,\r\n '64'\r\n ],\r\n [\r\n 'Nicaragua',\r\n CountryISO.Nicaragua,\r\n '505'\r\n ],\r\n [\r\n 'Niger (Nijar)',\r\n CountryISO.Niger,\r\n '227'\r\n ],\r\n [\r\n 'Nigeria',\r\n CountryISO.Nigeria,\r\n '234'\r\n ],\r\n [\r\n 'Niue',\r\n CountryISO.Niue,\r\n '683'\r\n ],\r\n [\r\n 'Norfolk Island',\r\n CountryISO.NorfolkIsland,\r\n '672'\r\n ],\r\n [\r\n 'North Korea (조선 민주주의 인민 공화국)',\r\n CountryISO.NorthKorea,\r\n '850'\r\n ],\r\n [\r\n 'Northern Mariana Islands',\r\n CountryISO.NorthernMarianaIslands,\r\n '1670'\r\n ],\r\n [\r\n 'Norway (Norge)',\r\n CountryISO.Norway,\r\n '47',\r\n 0\r\n ],\r\n [\r\n 'Oman (‫عُمان‬‎)',\r\n CountryISO.Oman,\r\n '968'\r\n ],\r\n [\r\n 'Pakistan (‫پاکستان‬‎)',\r\n CountryISO.Pakistan,\r\n '92'\r\n ],\r\n [\r\n 'Palau',\r\n CountryISO.Palau,\r\n '680'\r\n ],\r\n [\r\n 'Palestine (‫فلسطين‬‎)',\r\n CountryISO.Palestine,\r\n '970'\r\n ],\r\n [\r\n 'Panama (Panamá)',\r\n CountryISO.Panama,\r\n '507'\r\n ],\r\n [\r\n 'Papua New Guinea',\r\n CountryISO.PapuaNewGuinea,\r\n '675'\r\n ],\r\n [\r\n 'Paraguay',\r\n CountryISO.Paraguay,\r\n '595'\r\n ],\r\n [\r\n 'Peru (Perú)',\r\n CountryISO.Peru,\r\n '51'\r\n ],\r\n [\r\n 'Philippines',\r\n CountryISO.Philippines,\r\n '63'\r\n ],\r\n [\r\n 'Poland (Polska)',\r\n CountryISO.Poland,\r\n '48'\r\n ],\r\n [\r\n 'Portugal',\r\n CountryISO.Portugal,\r\n '351'\r\n ],\r\n [\r\n 'Puerto Rico',\r\n CountryISO.PuertoRico,\r\n '1',\r\n 3,\r\n ['787', '939']\r\n ],\r\n [\r\n 'Qatar (‫قطر‬‎)',\r\n CountryISO.Qatar,\r\n '974'\r\n ],\r\n [\r\n 'Réunion (La Réunion)',\r\n CountryISO.Réunion,\r\n '262',\r\n 0\r\n ],\r\n [\r\n 'Romania (România)',\r\n CountryISO.Romania,\r\n '40'\r\n ],\r\n [\r\n 'Russia (Россия)',\r\n CountryISO.Russia,\r\n '7',\r\n 0\r\n ],\r\n [\r\n 'Rwanda',\r\n CountryISO.Rwanda,\r\n '250'\r\n ],\r\n [\r\n 'Saint Barthélemy (Saint-Barthélemy)',\r\n CountryISO.SaintBarthélemy,\r\n '590',\r\n 1\r\n ],\r\n [\r\n 'Saint Helena',\r\n CountryISO.SaintHelena,\r\n '290'\r\n ],\r\n [\r\n 'Saint Kitts and Nevis',\r\n CountryISO.SaintKittsAndNevis,\r\n '1869'\r\n ],\r\n [\r\n 'Saint Lucia',\r\n 'lc',\r\n '1',\r\n 1,\r\n [\r\n '758',\r\n ]\r\n ],\r\n [\r\n 'Saint Martin (Saint-Martin (partie française))',\r\n CountryISO.SaintMartin,\r\n '590',\r\n 2\r\n ],\r\n [\r\n 'Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)',\r\n CountryISO.SaintPierreAndMiquelon,\r\n '508'\r\n ],\r\n [\r\n 'Saint Vincent and the Grenadines',\r\n 'vc',\r\n '1',\r\n 1,\r\n [\r\n '784',\r\n ]\r\n ],\r\n [\r\n 'Samoa',\r\n CountryISO.Samoa,\r\n '685'\r\n ],\r\n [\r\n 'San Marino',\r\n CountryISO.SanMarino,\r\n '378'\r\n ],\r\n [\r\n 'São Tomé and Príncipe (São Tomé e Príncipe)',\r\n CountryISO.SãoToméAndPríncipe,\r\n '239'\r\n ],\r\n [\r\n 'Saudi Arabia (‫المملكة العربية السعودية‬‎)',\r\n CountryISO.SaudiArabia,\r\n '966'\r\n ],\r\n [\r\n 'Senegal (Sénégal)',\r\n CountryISO.Senegal,\r\n '221'\r\n ],\r\n [\r\n 'Serbia (Србија)',\r\n CountryISO.Serbia,\r\n '381'\r\n ],\r\n [\r\n 'Seychelles',\r\n CountryISO.Seychelles,\r\n '248'\r\n ],\r\n [\r\n 'Sierra Leone',\r\n CountryISO.SierraLeone,\r\n '232'\r\n ],\r\n [\r\n 'Singapore',\r\n CountryISO.Singapore,\r\n '65'\r\n ],\r\n [\r\n 'Sint Maarten',\r\n 'sx',\r\n '1',\r\n 1,\r\n [\r\n '721',\r\n ]\r\n ],\r\n [\r\n 'Slovakia (Slovensko)',\r\n CountryISO.Slovakia,\r\n '421'\r\n ],\r\n [\r\n 'Slovenia (Slovenija)',\r\n CountryISO.Slovenia,\r\n '386'\r\n ],\r\n [\r\n 'Solomon Islands',\r\n CountryISO.SolomonIslands,\r\n '677'\r\n ],\r\n [\r\n 'Somalia (Soomaaliya)',\r\n CountryISO.Somalia,\r\n '252'\r\n ],\r\n [\r\n 'South Africa',\r\n CountryISO.SouthAfrica,\r\n '27'\r\n ],\r\n [\r\n 'South Korea (대한민국)',\r\n CountryISO.SouthKorea,\r\n '82'\r\n ],\r\n [\r\n 'South Sudan (‫جنوب السودان‬‎)',\r\n CountryISO.SouthSudan,\r\n '211'\r\n ],\r\n [\r\n 'Spain (España)',\r\n CountryISO.Spain,\r\n '34'\r\n ],\r\n [\r\n 'Sri Lanka (ශ්‍රී ලංකාව)',\r\n CountryISO.SriLanka,\r\n '94'\r\n ],\r\n [\r\n 'Sudan (‫السودان‬‎)',\r\n CountryISO.Sudan,\r\n '249'\r\n ],\r\n [\r\n 'Suriname',\r\n CountryISO.Suriname,\r\n '597'\r\n ],\r\n [\r\n 'Svalbard and Jan Mayen',\r\n CountryISO.SvalbardAndJanMayen,\r\n '47',\r\n 1\r\n ],\r\n [\r\n 'Swaziland',\r\n CountryISO.Swaziland,\r\n '268'\r\n ],\r\n [\r\n 'Sweden (Sverige)',\r\n CountryISO.Sweden,\r\n '46'\r\n ],\r\n [\r\n 'Switzerland (Schweiz)',\r\n CountryISO.Switzerland,\r\n '41'\r\n ],\r\n [\r\n 'Syria (‫سوريا‬‎)',\r\n CountryISO.Syria,\r\n '963'\r\n ],\r\n [\r\n 'Taiwan (台灣)',\r\n CountryISO.Taiwan,\r\n '886'\r\n ],\r\n [\r\n 'Tajikistan',\r\n CountryISO.Tajikistan,\r\n '992'\r\n ],\r\n [\r\n 'Tanzania',\r\n CountryISO.Tanzania,\r\n '255'\r\n ],\r\n [\r\n 'Thailand (ไทย)',\r\n CountryISO.Thailand,\r\n '66'\r\n ],\r\n [\r\n 'Timor-Leste',\r\n CountryISO.TimorLeste,\r\n '670'\r\n ],\r\n [\r\n 'Togo',\r\n CountryISO.Togo,\r\n '228'\r\n ],\r\n [\r\n 'Tokelau',\r\n CountryISO.Tokelau,\r\n '690'\r\n ],\r\n [\r\n 'Tonga',\r\n CountryISO.Tonga,\r\n '676'\r\n ],\r\n [\r\n 'Trinidad and Tobago',\r\n 'tt',\r\n '1',\r\n 1,\r\n [\r\n '868',\r\n ]\r\n ],\r\n [\r\n 'Tunisia (‫تونس‬‎)',\r\n CountryISO.Tunisia,\r\n '216'\r\n ],\r\n [\r\n 'Turkey (Türkiye)',\r\n CountryISO.Turkey,\r\n '90'\r\n ],\r\n [\r\n 'Turkmenistan',\r\n CountryISO.Turkmenistan,\r\n '993'\r\n ],\r\n [\r\n 'Turks and Caicos Islands',\r\n CountryISO.TurksAndCaicosIslands,\r\n '1649'\r\n ],\r\n [\r\n 'Tuvalu',\r\n CountryISO.Tuvalu,\r\n '688'\r\n ],\r\n [\r\n 'U.S. Virgin Islands',\r\n 'vi',\r\n '1',\r\n 1,\r\n [\r\n '340',\r\n ]\r\n ],\r\n [\r\n 'Uganda',\r\n CountryISO.Uganda,\r\n '256'\r\n ],\r\n [\r\n 'Ukraine (Україна)',\r\n CountryISO.Ukraine,\r\n '380'\r\n ],\r\n [\r\n 'United Arab Emirates (‫الإمارات العربية المتحدة‬‎)',\r\n CountryISO.UnitedArabEmirates,\r\n '971'\r\n ],\r\n [\r\n 'United Kingdom',\r\n CountryISO.UnitedKingdom,\r\n '44',\r\n 0\r\n ],\r\n [\r\n 'United States',\r\n CountryISO.UnitedStates,\r\n '1',\r\n 0\r\n ],\r\n [\r\n 'Uruguay',\r\n CountryISO.Uruguay,\r\n '598'\r\n ],\r\n [\r\n 'Uzbekistan (Oʻzbekiston)',\r\n CountryISO.Uzbekistan,\r\n '998'\r\n ],\r\n [\r\n 'Vanuatu',\r\n CountryISO.Vanuatu,\r\n '678'\r\n ],\r\n [\r\n 'Vatican City (Città del Vaticano)',\r\n CountryISO.VaticanCity,\r\n '39',\r\n 1\r\n ],\r\n [\r\n 'Venezuela',\r\n CountryISO.Venezuela,\r\n '58'\r\n ],\r\n [\r\n 'Vietnam (Việt Nam)',\r\n CountryISO.Vietnam,\r\n '84'\r\n ],\r\n [\r\n 'Wallis and Futuna',\r\n CountryISO.WallisAndFutuna,\r\n '681'\r\n ],\r\n [\r\n 'Western Sahara (‫الصحراء الغربية‬‎)',\r\n CountryISO.WesternSahara,\r\n '212',\r\n 1\r\n ],\r\n [\r\n 'Yemen (‫اليمن‬‎)',\r\n CountryISO.Yemen,\r\n '967'\r\n ],\r\n [\r\n 'Zambia',\r\n CountryISO.Zambia,\r\n '260'\r\n ],\r\n [\r\n 'Zimbabwe',\r\n CountryISO.Zimbabwe,\r\n '263'\r\n ],\r\n [\r\n 'Åland Islands',\r\n CountryISO.ÅlandIslands,\r\n '358',\r\n 1\r\n ]\r\n ];\r\n}\r\n","import * as lpn from 'google-libphonenumber';\r\n\r\n/*\r\nWe use \"control: any\" instead of \"control: FormControl\" to silence:\r\n\"Property 'nativeElement' does not exist on type 'FormControl'\".\r\nThis happens because I've expanded control with nativeElement via\r\n'NativeElementInjectorDirective' to get an access to the element.\r\nMore about this approach and reasons for this:\r\nhttps://github.com/angular/angular/issues/18025\r\nhttps://stackoverflow.com/a/54075119/1617590\r\n*/\r\n\r\nexport const phoneNumberValidator = (control: any) => {\r\n if (!control.value) {\r\n return;\r\n }\r\n // Find <input> inside injected nativeElement and get its \"id\".\r\n const el: HTMLElement = control.nativeElement as HTMLElement;\r\n const inputBox: HTMLInputElement | any = el\r\n ? el.querySelector('input[type=\"tel\"]')\r\n : undefined;\r\n if (inputBox) {\r\n const id = inputBox.id;\r\n const isCheckValidation = inputBox.getAttribute('validation');\r\n if (isCheckValidation === 'true') {\r\n const isRequired = control.errors && control.errors.required === true;\r\n const error = { validatePhoneNumber: { valid: false } };\r\n\r\n inputBox.setCustomValidity('Invalid field.');\r\n\r\n let number: lpn.PhoneNumber;\r\n\r\n try {\r\n number = lpn.PhoneNumberUtil.getInstance().parse(\r\n control.value.number,\r\n control.value.countryCode\r\n );\r\n } catch (e) {\r\n if (isRequired) {\r\n return error;\r\n } else {\r\n inputBox.setCustomValidity('');\r\n }\r\n }\r\n\r\n if (control.value) {\r\n // @ts-ignore\r\n if (!number) {\r\n return error;\r\n } else {\r\n if (\r\n !lpn.PhoneNumberUtil.getInstance().isValidNumberForRegion(\r\n number,\r\n control.value.countryCode\r\n )\r\n ) {\r\n return error;\r\n } else {\r\n inputBox.setCustomValidity('');\r\n }\r\n }\r\n }\r\n } else if (isCheckValidation === 'false') {\r\n inputBox.setCustomValidity('');\r\n\r\n control.clearValidators();\r\n }\r\n }\r\n return;\r\n};\r\n","export enum PhoneNumberFormat {\r\n International = 'INTERNATIONAL',\r\n National = 'NATIONAL',\r\n}\r\n","export enum SearchCountryField {\r\n DialCode = 'dialCode',\r\n Iso2 = 'iso2',\r\n Name = 'name',\r\n All = 'all'\r\n}\r\n","export enum InputPhoneSizesEnum {\r\n 'small' = 'mrx-input-phone-sm',\r\n 'medium' = 'mrx-input-phone-md',\r\n 'large' = 'mrx-input-phone-lg',\r\n}\r\n\r\nexport type InputPhoneSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputPhoneValueTypes = string | undefined;\r\n\r\nexport interface InputPhoneValueWithId {\r\n value: any,\r\n id: string\r\n}\r\n","export interface MaskI {\r\n mask: string,\r\n maskPrefix: string\r\n}\r\n\r\nexport interface MaskItem {\r\n [name: string]: MaskI;\r\n}\r\n\r\nexport const MaskCode: MaskItem = {\r\n AR: {\r\n mask: '(00) 0000-0000',\r\n maskPrefix: '+54'\r\n },\r\n AM: {\r\n mask: '(00) 000-000',\r\n maskPrefix: '+374'\r\n },\r\n BY: {\r\n mask: '(00) 000-00-00',\r\n maskPrefix: '+375'\r\n },\r\n BR: {\r\n mask: '(00) 0000-0000',\r\n maskPrefix: '+55'\r\n },\r\n BN: {\r\n mask: '000-0000',\r\n maskPrefix: '+673'\r\n },\r\n KH: {\r\n mask: '(00) 000-000',\r\n maskPrefix: '+855'\r\n },\r\n CO: {\r\n mask: '(000) 000-0000',\r\n maskPrefix: '+57'\r\n },\r\n CU: {\r\n mask: '(0) 000-0000',\r\n maskPrefix: '+53'\r\n },\r\n EC: {\r\n mask: '(0) 000-0000',\r\n maskPrefix: '+593'\r\n },\r\n EG: {\r\n mask: '(0) 0000-0000',\r\n maskPrefix: '+20'\r\n },\r\n GE: {\r\n mask: '(00) 000-00-00',\r\n maskPrefix: '+995'\r\n },\r\n IN: {\r\n mask: '00000-00000',\r\n maskPrefix: '+91'\r\n },\r\n ID: {\r\n mask: '(00) 000-0000',\r\n maskPrefix: '+62'\r\n },\r\n IR: {\r\n mask: '(00) 0000-0000',\r\n maskPrefix: '+98'\r\n },\r\n KZ: {\r\n mask: '00000-0-00-00',\r\n maskPrefix: '+7'\r\n },\r\n KE: {\r\n mask: '00-0000000',\r\n maskPrefix: '+254'\r\n },\r\n KG: {\r\n mask: '000-000-000',\r\n maskPrefix: '+996'\r\n },\r\n LA: {\r\n mask: '00-000-000',\r\n maskPrefix: '+856'\r\n },\r\n MG: {\r\n mask: '00-00-000-00',\r\n maskPrefix: '+261'\r\n },\r\n MY: {\r\n mask: '0-0000-0000',\r\n maskPrefix: '+60'\r\n },\r\n MX: {\r\n mask: '000-000-0000',\r\n maskPrefix: '+52'\r\n },\r\n MM: {\r\n mask: '0-000-000',\r\n maskPrefix: '+95'\r\n },\r\n NI: {\r\n mask: '0000-0000',\r\n maskPrefix: '+505'\r\n },\r\n PE: {\r\n mask: '0-0000000',\r\n maskPrefix: '+51'\r\n },\r\n PH: {\r\n mask: '0-0000-0000',\r\n maskPrefix: '+63'\r\n },\r\n RU: {\r\n mask: '(000) 000-00-00',\r\n maskPrefix: '+7'\r\n },\r\n RS: {\r\n mask: '00-000000',\r\n maskPrefix: '+381'\r\n },\r\n SS: {\r\n mask: '000-000-000',\r\n maskPrefix: '+211'\r\n },\r\n TJ: {\r\n mask: '000-00-0000',\r\n maskPrefix: '+992'\r\n },\r\n TZ: {\r\n mask: '00-000-0000',\r\n maskPrefix: '+255'\r\n },\r\n TH: {\r\n mask: '0-000-0000',\r\n maskPrefix: '+66'\r\n },\r\n TM: {\r\n mask: '(00) 00-00-00',\r\n maskPrefix: '+993'\r\n },\r\n UZ: {\r\n mask: '00-000-00-00',\r\n maskPrefix: '+998'\r\n },\r\n VN: {\r\n mask: '000-0000-000',\r\n maskPrefix: '+84'\r\n },\r\n}\r\n","import { Directive, ElementRef, OnInit } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n/*\r\n\"Property 'nativeElement' does not exist on type 'FormControl'\".\r\n'NativeElementInjectorDirective' injects nativeElement to each control,\r\nso we can access it from inside validator for example.\r\nMore about this approach and reasons for this:\r\nhttps://github.com/angular/angular/issues/18025\r\nhttps://stackoverflow.com/a/54075119/1617590\r\n*/\r\n@Directive({\r\n // tslint:disable-next-line: directive-selector\r\n selector: '[ngModel], [formControl], [formControlName]',\r\n})\r\nexport class NativeElementInjectorDirective implements OnInit {\r\n constructor(\r\n private controlDir: NgControl,\r\n private host: ElementRef<HTMLFormElement>\r\n ) {}\r\n ngOnInit() {\r\n if (this.controlDir.control) {\r\n // @ts-ignore\r\n this.controlDir.control['nativeElement'] = this.host.nativeElement;\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { CountryCode } from './data/country-code';\r\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { phoneNumberValidator } from './input-phone.validator';\r\nimport { PhoneNumberFormat } from './enums/phone-number-format.enum';\r\nimport { SearchCountryField } from './enums/search-country-field.enum';\r\nimport { CountryISO } from './enums/country-iso.enum';\r\nimport { Country } from './models/country.model';\r\nimport { ChangeData } from './interfaces/change-data';\r\n\r\nimport * as lpn from 'google-libphonenumber';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\nimport {\r\n InputPhoneSizesEnum,\r\n InputPhoneSizesTypes,\r\n InputPhoneValueTypes,\r\n InputPhoneValueWithId\r\n} from './enums/input-phone.enum';\r\nimport { MaskCode, MaskI } from './enums/mask.enum';\r\n\r\n@Component({\r\n selector: 'mrx-input-phone',\r\n templateUrl: './input-phone.component.html',\r\n styleUrls: ['./input-phone.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n CountryCode,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputPhoneComponent),\r\n multi: true,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useValue: phoneNumberValidator,\r\n multi: true,\r\n },\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputPhoneComponent implements ControlValueAccessor, OnInit, OnChanges {\r\n public innerMask = ''\r\n public innerMaskPrefix = ''\r\n // SAVE STATE\r\n public uuid: string = uuidv4()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() value: InputPhoneValueTypes = '';\r\n @Input() preferredCountries: Array<string> = [];\r\n @Input() enablePlaceholder = true;\r\n @Input() customPlaceholder!: string;\r\n @Input() numberFormat: PhoneNumberFormat = PhoneNumberFormat.International;\r\n @Input() cssClass = 'form-control';\r\n @Input() onlyCountries: Array<string> = [];\r\n @Input() enableAutoCountrySelect = true;\r\n @Input() searchCountryFlag = false;\r\n @Input() searchCountryField: SearchCountryField[] = [SearchCountryField.All];\r\n @Input() searchCountryPlaceholder = 'Search Country';\r\n @Input() maxLength!: number;\r\n @Input() minLength!: number;\r\n @Input() selectFirstCountry = true;\r\n @Input() selectedCountryISO: any = CountryISO.Russia;\r\n @Input() phoneValidation = true;\r\n @Input() inputId = 'phone';\r\n @Input() separateDialCode = false;\r\n @Input() customClasses = '';\r\n @Input() disabled = false;\r\n @Input() size: InputPhoneSizesTypes = 'large';\r\n\r\n // MASK\r\n @Input() autoMask = false;\r\n @Input() mask = '';\r\n @Input() maskPrefix = '';\r\n @Input() showMaskTyped = false;\r\n @Input() maskDropSpecialCharacters: boolean | string[] = true;\r\n\r\n // VALIDATION\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n separateDialCodeClass!: string;\r\n\r\n @Output() readonly countryChange = new EventEmitter<Country>();\r\n @Output() numberChange = new EventEmitter<ChangeData | null>()\r\n @Output() public modelChange: EventEmitter<InputPhoneValueWithId> = new EventEmitter<InputPhoneValueWithId>();\r\n\r\n selectedCountry: Country = {\r\n areaCodes: undefined,\r\n dialCode: '',\r\n htmlId: '',\r\n flagClass: '',\r\n iso2: '',\r\n name: '',\r\n placeHolder: '',\r\n priority: 0,\r\n };\r\n\r\n phoneNumber: string | undefined = '';\r\n allCountries: Array<Country> = [];\r\n preferredCountriesInDropDown: Array<Country> = [];\r\n // Has to be 'any' to prevent a need to install @types/google-libphonenumber by the package user...\r\n phoneUtil: any = lpn.PhoneNumberUtil.getInstance();\r\n\r\n errors: Array<any> = ['Phone number is required.'];\r\n countrySearchText = '';\r\n\r\n @ViewChild('countryList') countryList!: ElementRef;\r\n @ViewChild('phoneInput') phoneInput!: ElementRef;\r\n\r\n onTouched = () => {\r\n };\r\n // propagateChange = (_: ChangeData) => {};\r\n propagateChange = (_: string) => {\r\n };\r\n\r\n constructor(private countryCodeData: CountryCode, private sanitization: DomSanitizer) {\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputPhoneSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n public get isValid(): boolean {\r\n return this.baseValidate();\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage.length;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : ''\r\n }\r\n\r\n public get selectedMask(): MaskI {\r\n return this.getAutoMaskObject\r\n }\r\n\r\n public get getAutoMaskObject(): MaskI {\r\n if (this.autoMask && this.selectedCountry.mask) {\r\n return this.selectedCountry.mask\r\n } else {\r\n return {mask: this.mask, maskPrefix: this.maskPrefix}\r\n }\r\n }\r\n\r\n protected baseValidate(): boolean {\r\n if (this.minLength) {\r\n return !!this.value && this.value.length >= this.minLength;\r\n }\r\n return true;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const selectedISO = changes['selectedCountryISO'];\r\n if (\r\n this.allCountries &&\r\n selectedISO &&\r\n selectedISO.currentValue !== selectedISO.previousValue\r\n ) {\r\n this.updateSelectedCountry();\r\n }\r\n if (changes['preferredCountries']) {\r\n this.updatePreferredCountries();\r\n }\r\n this.checkSeparateDialCodeStyle();\r\n }\r\n\r\n getSafeUrl(filePreviewUrl: string) {\r\n return this.sanitization.bypassSecurityTrustStyle('url(\\'' + filePreviewUrl + '\\')');\r\n }\r\n\r\n /*\r\n This is a wrapper method to avoid calling this.ngOnInit() in writeValue().\r\n Ref: http://codelyzer.com/rules/no-life-cycle-call/\r\n */\r\n init() {\r\n this.fetchCountryData();\r\n\r\n if (this.preferredCountries.length) {\r\n this.updatePreferredCountries();\r\n }\r\n if (this.onlyCountries.length) {\r\n this.allCountries = this.allCountries.filter((c) =>\r\n this.onlyCountries.includes(c.iso2)\r\n );\r\n }\r\n if (this.selectFirstCountry) {\r\n if (this.preferredCountriesInDropDown.length) {\r\n this.setSelectedCountry(this.preferredCountriesInDropDown[0]);\r\n } else {\r\n this.setSelectedCountry(this.allCountries[0]);\r\n }\r\n }\r\n this.updateSelectedCountry();\r\n this.checkSeparateDialCodeStyle();\r\n this._updateMask()\r\n }\r\n\r\n setSelectedCountry(country: Country) {\r\n this.selectedCountry = country;\r\n this.countryChange.emit(country);\r\n }\r\n\r\n private formatValue(value: string): string {\r\n const cleanedValue = value.replace(/[\\s-()]/g, '')\r\n\r\n if (this.autoMask) {\r\n return value === this.innerMaskPrefix ? '' : cleanedValue\r\n } else {\r\n return cleanedValue.length === this.maskPrefix.length ? '' : cleanedValue\r\n }\r\n }\r\n\r\n private _updateMask(): void {\r\n if (this.autoMask) {\r\n this.innerMask = ''\r\n this.innerMaskPrefix = ''\r\n\r\n if (this.phoneInput) {\r\n this.phoneInput.nativeElement.value = ' '\r\n this.value = ' '\r\n this.phoneNumber = ' '\r\n }\r\n setTimeout(() => {\r\n if (this.selectedCountry.mask) {\r\n this.innerMask = this.selectedCountry.mask.mask\r\n this.innerMaskPrefix = this.selectedCountry.mask.maskPrefix\r\n } else {\r\n this.innerMask = ''\r\n this.innerMaskPrefix = ''\r\n }\r\n }, 0)\r\n }\r\n }\r\n\r\n public searchCountry() {\r\n if (!this.countrySearchText) {\r\n this.countryList.nativeElement\r\n .querySelector('.mrx-input-phone__country-list li')\r\n .scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n return;\r\n }\r\n const countrySearchTextLower = this.countrySearchText.toLowerCase();\r\n // @ts-ignore\r\n const country = this.allCountries.filter((c) => {\r\n if (this.searchCountryField.indexOf(SearchCountryField.All) > -1) {\r\n // Search in all fields\r\n if (c.iso2.toLowerCase().startsWith(countrySearchTextLower)) {\r\n return c;\r\n }\r\n if (c.name.toLowerCase().startsWith(countrySearchTextLower)) {\r\n return c;\r\n }\r\n if (c.dialCode.startsWith(this.countrySearchText)) {\r\n return c;\r\n }\r\n } else {\r\n // Or search by specific SearchCountryField(s)\r\n if (this.searchCountryField.indexOf(SearchCountryField.Iso2) > -1) {\r\n if (c.iso2.toLowerCase().startsWith(countrySearchTextLower)) {\r\n return c;\r\n }\r\n }\r\n if (this.searchCountryField.indexOf(SearchCountryField.Name) > -1) {\r\n if (c.name.toLowerCase().startsWith(countrySearchTextLower)) {\r\n return c;\r\n }\r\n }\r\n if (this.searchCountryField.indexOf(SearchCountryField.DialCode) > -1) {\r\n if (c.dialCode.startsWith(this.countrySearchText)) {\r\n return c;\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (country.length > 0) {\r\n const el = this.countryList.nativeElement.querySelector(\r\n '#' + country[0].htmlId\r\n );\r\n if (el) {\r\n el.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n }\r\n }\r\n\r\n this.checkSeparateDialCodeStyle();\r\n }\r\n\r\n public onPhoneNumberChange(): void {\r\n let countryCode: string | undefined;\r\n // Handle the case where the user sets the value programatically based on a persisted ChangeData obj.\r\n if (this.phoneNumber && typeof this.phoneNumber === 'object') {\r\n const numberObj: ChangeData = this.phoneNumber;\r\n this.phoneNumber = numberObj.number;\r\n countryCode = numberObj.countryCode;\r\n }\r\n\r\n this.value = this.phoneNumber;\r\n countryCode = countryCode || this.selectedCountry.iso2;\r\n // @ts-ignore\r\n const number = this.getParsedNumber(this.phoneNumber, countryCode);\r\n\r\n // auto select country based on the extension (and areaCode if needed) (e.g select Canada if number starts with +1 416)\r\n if (this.enableAutoCountrySelect) {\r\n countryCode =\r\n number && number.getCountryCode()\r\n // @ts-ignore\r\n ? this.getCountryIsoCode(number.getCountryCode(), number)\r\n : this.selectedCountry.iso2;\r\n if (countryCode && countryCode !== this.selectedCountry.iso2) {\r\n const newCountry = this.allCountries\r\n .sort((a, b) => {\r\n return a.priority - b.priority;\r\n })\r\n .find((c) => c.iso2 === countryCode);\r\n if (newCountry) {\r\n this.selectedCountry = newCountry;\r\n }\r\n }\r\n }\r\n countryCode = countryCode ? countryCode : this.selectedCountry.iso2;\r\n\r\n this.checkSeparateDialCodeStyle();\r\n\r\n if (!this.value || (this.autoMask && this.innerMaskPrefix === this.value)) {\r\n // Reason: avoid https://stackoverflow.com/a/54358133/1617590\r\n // tslint:disable-next-line: no-null-keyword\r\n\r\n this.value = ''\r\n // @ts-ignore\r\n this.propagateChange(null);\r\n this.numberChange.emit(null)\r\n this.modelChange.emit({value: null, id: this.uuid})\r\n } else {\r\n const intlNo = number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.INTERNATIONAL)\r\n : '';\r\n\r\n // parse phoneNumber if separate dial code is needed\r\n if (this.separateDialCode && intlNo) {\r\n this.value = this.removeDialCode(intlNo);\r\n }\r\n\r\n this.propagateChange(this.value)\r\n const emitValue = {\r\n number: this.value,\r\n internationalNumber: intlNo,\r\n nationalNumber: number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.NATIONAL)\r\n : '',\r\n e164Number: number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.E164)\r\n : '',\r\n countryCode: countryCode.toUpperCase(),\r\n dialCode: '+' + this.selectedCountry.dialCode,\r\n unFormatNumber: this.formatValue(this.value)\r\n }\r\n this.numberChange.emit(emitValue)\r\n this.modelChange.emit({value: emitValue, id: this.uuid})\r\n }\r\n }\r\n\r\n public onCountrySelect(country: Country, el: { focus: () => void; }): void {\r\n\r\n if (this.autoMask) {\r\n this.setSelectedCountry(({\r\n areaCodes: undefined,\r\n dialCode: '',\r\n htmlId: '',\r\n flagClass: '',\r\n iso2: '',\r\n name: '',\r\n placeHolder: '',\r\n priority: 0,\r\n }))\r\n this.phoneNumber = ''\r\n }\r\n\r\n this.setSelectedCountry(country);\r\n\r\n this.checkSeparateDialCodeStyle();\r\n\r\n if (this.phoneNumber && this.phoneNumber.length > 0) {\r\n this.value = this.phoneNumber;\r\n const number = this.getParsedNumber(\r\n this.phoneNumber,\r\n this.selectedCountry.iso2\r\n );\r\n const intlNo = number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.INTERNATIONAL)\r\n : '';\r\n // parse phoneNumber if separate dial code is needed\r\n if (this.separateDialCode && intlNo) {\r\n this.value = this.removeDialCode(intlNo);\r\n }\r\n\r\n const emitValue = {\r\n number: this.value,\r\n internationalNumber: intlNo,\r\n nationalNumber: number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.NATIONAL)\r\n : '',\r\n e164Number: number\r\n ? this.phoneUtil.format(number, lpn.PhoneNumberFormat.E164)\r\n : '',\r\n countryCode: this.selectedCountry.iso2.toUpperCase(),\r\n dialCode: '+' + this.selectedCountry.dialCode,\r\n unFormatNumber: this.formatValue(this.value)\r\n }\r\n\r\n this.numberChange.emit(emitValue)\r\n this.modelChange.emit({value: emitValue, id: this.uuid})\r\n\r\n this.propagateChange(this.value)\r\n } else {\r\n this.propagateChange('');\r\n\r\n this.numberChange.emit(null)\r\n this.modelChange.emit({value: null, id: this.uuid})\r\n }\r\n this._updateMask()\r\n }\r\n\r\n public onInputKeyPress(event: KeyboardEvent): void {\r\n const allowedChars = /[0-9\\+\\-\\(\\)\\ ]/;\r\n const allowedCtrlChars = /[axcv]/;\r\n const allowedOtherKeys = [\r\n 'ArrowLeft',\r\n 'ArrowUp',\r\n 'ArrowRight',\r\n 'ArrowDown',\r\n 'Home',\r\n 'End',\r\n 'Insert',\r\n 'Delete',\r\n 'Backspace',\r\n ];\r\n\r\n if (\r\n !allowedChars.test(event.key) &&\r\n !(event.ctrlKey && allowedCtrlChars.test(event.key)) &&\r\n !allowedOtherKeys.includes(event.key)\r\n ) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj === undefined) {\r\n this.init();\r\n }\r\n this.phoneNumber = obj;\r\n }\r\n\r\n resolvePlaceholder(): string {\r\n let placeholder = '';\r\n if (this.customPlaceholder) {\r\n placeholder = this.customPlaceholder;\r\n } else if (this.selectedCountry.placeHolder) {\r\n placeholder = this.selectedCountry.placeHolder;\r\n if (this.separateDialCode) {\r\n placeholder = this.removeDialCode(placeholder);\r\n }\r\n }\r\n return placeholder;\r\n }\r\n\r\n /* --------------------------------- Helpers -------------------------------- */\r\n /**\r\n * Returns parse PhoneNumber object.\r\n * @param phoneNumber string\r\n * @param countryCode string\r\n */\r\n private getParsedNumber(\r\n phoneNumber: string,\r\n countryCode: string\r\n ): lpn.PhoneNumber {\r\n let number: lpn.PhoneNumber;\r\n try {\r\n number = this.phoneUtil.parse(phoneNumber, countryCode.toUpperCase());\r\n } catch (e) {\r\n }\r\n // @ts-ignore\r\n return number;\r\n }\r\n\r\n /**\r\n * Adjusts input alignment based on the dial code presentation style.\r\n */\r\n private checkSeparateDialCodeStyle() {\r\n if (this.separateDialCode && this.selectedCountry) {\r\n const cntryCd = this.selectedCountry.dialCode;\r\n this.separateDialCodeClass =\r\n 'separate-dial-code iti-sdc-' + (cntryCd.length + 1);\r\n } else {\r\n this.separateDialCodeClass = '';\r\n }\r\n }\r\n\r\n /**\r\n * Cleans dialcode from phone number string.\r\n * @param phoneNumber string\r\n */\r\n private removeDialCode(phoneNumber: string): string {\r\n const number = this.getParsedNumber(phoneNumber, this.selectedCountry.iso2);\r\n phoneNumber = this.phoneUtil.format(\r\n number,\r\n lpn.PhoneNumberFormat[this.numberFormat]\r\n );\r\n if (phoneNumber.startsWith('+') && this.separateDialCode) {\r\n phoneNumber = phoneNumber.substr(phoneNumber.indexOf(' ') + 1);\r\n }\r\n return phoneNumber;\r\n }\r\n\r\n /**\r\n * Sifts through all countries and returns iso code of the primary country\r\n * based on the number provided.\r\n * @param countryCode country code in number format\r\n * @param number PhoneNumber object\r\n */\r\n private getCountryIsoCode(\r\n countryCode: number,\r\n number: lpn.PhoneNumber\r\n ): string | undefined {\r\n // Will use this to match area code from the first numbers\r\n // @ts-ignore\r\n const rawNumber = number['values_']['2'].toString();\r\n // List of all countries with countryCode (can be more than one. e.x. US, CA, DO, PR all have +1 countryCode)\r\n const countries = this.allCountries.filter(\r\n (c) => c.dialCode === countryCode.toString()\r\n );\r\n // Main country is the country, which has no areaCodes specified in country-code.ts file.\r\n const mainCountry = countries.find((c) => c.areaCodes === undefined);\r\n // Secondary countries are all countries, which have areaCodes specified in country-code.ts file.\r\n const secondaryCountries = countries.filter(\r\n (c) => c.areaCodes !== undefined\r\n );\r\n let matchedCountry = mainCountry ? mainCountry.iso2 : undefined;\r\n\r\n /*\r\n Iterate over each secondary country and check if nationalNumber starts with any of areaCodes available.\r\n If no matches found, fallback to the main country.\r\n */\r\n secondaryCountries.forEach((country) => {\r\n // @ts-ignore\r\n country.areaCodes.forEach((areaCode) => {\r\n if (rawNumber.startsWith(areaCode)) {\r\n matchedCountry = country.iso2;\r\n }\r\n });\r\n });\r\n\r\n return matchedCountry;\r\n }\r\n\r\n /**\r\n * Gets formatted example phone number from phoneUtil.\r\n * @param countryCode string\r\n */\r\n protected getPhoneNumberPlaceHolder(countryCode: string): string {\r\n try {\r\n return this.phoneUtil.format(\r\n this.phoneUtil.getExampleNumber(countryCode),\r\n lpn.PhoneNumberFormat[this.numberFormat]\r\n );\r\n } catch (e) {\r\n // @ts-ignore\r\n return e;\r\n }\r\n }\r\n\r\n protected getPhoneNumberMask(countryCode: string): MaskI {\r\n try {\r\n return MaskCode[countryCode]\r\n } catch (e) {\r\n // @ts-ignore\r\n return e;\r\n }\r\n }\r\n\r\n /**\r\n * Clearing the list to avoid duplicates (https://github.com/webcat12345/ngx-intl-tel-input/issues/248)\r\n */\r\n protected fetchCountryData(): void {\r\n this.allCountries = [];\r\n\r\n this.countryCodeData.allCountries.forEach((c) => {\r\n const country: Country = {\r\n name: c[0].toString(),\r\n iso2: c[1].toString(),\r\n dialCode: c[2].toString(),\r\n priority: +c[3] || 0,\r\n areaCodes: (c[4] as string[]) || undefined,\r\n htmlId: `iti-0__item-${c[1].toString()}`,\r\n flagClass: `iti__${c[1].toString().toLocaleLowerCase()}`,\r\n placeHolder: '',\r\n };\r\n\r\n if (this.enablePlaceholder) {\r\n country.placeHolder = this.getPhoneNumberPlaceHolder(\r\n country.iso2.toUpperCase()\r\n );\r\n }\r\n\r\n if (this.autoMask) {\r\n country.mask = this.getPhoneNumberMask(country.iso2.toUpperCase())\r\n }\r\n\r\n this.allCountries.push(country);\r\n });\r\n }\r\n\r\n /**\r\n * Populates preferredCountriesInDropDown with prefferred countries.\r\n */\r\n private updatePreferredCountries() {\r\n if (this.preferredCountries.length) {\r\n this.preferredCountriesInDropDown = [];\r\n this.preferredCountries.forEach((iso2) => {\r\n const preferredCountry = this.allCountries.filter((c) => {\r\n return c.iso2 === iso2;\r\n });\r\n\r\n this.preferredCountriesInDropDown.push(preferredCountry[0]);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Updates selectedCountry.\r\n */\r\n private updateSelectedCountry() {\r\n if (this.selectedCountryISO) {\r\n // @ts-ignore\r\n this.selectedCountry = this.allCountries.find((c) => {\r\n return c.iso2.toLowerCase() === this.selectedCountryISO.toLowerCase();\r\n });\r\n if (this.selectedCountry) {\r\n if (this.phoneNumber) {\r\n this.onPhoneNumberChange();\r\n } else {\r\n this.propagateChange('');\r\n this.numberChange.emit(null)\r\n // this.modelChange.emit({value: null, id: this.uuid})\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"mrx-input-phone\" [class]=\"getClasses\" [class.mrx-input-error]=\"invalid\">\r\n <div class=\"mrx-input-phone__wrapper\" [ngClass]=\"separateDialCodeClass\">\r\n <input\r\n #phoneInput\r\n type=\"tel\"\r\n [id]=\"inputId\"\r\n [(ngModel)]=\"phoneNumber\"\r\n (ngModelChange)=\"onPhoneNumberChange()\"\r\n [ngClass]=\"cssClass\"\r\n [autocomplete]=\"'off'\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"resolvePlaceholder()\"\r\n [attr.maxLength]=\"maxLength\"\r\n [attr.validation]=\"phoneValidation\"\r\n [mask]=\"innerMask || mask\"\r\n [prefix]=\"innerMaskPrefix || maskPrefix\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n [dropSpecialCharacters]=\"autoMask ? false : maskDropSpecialCharacters\"\r\n (blur)=\"onTouched()\"\r\n (keypress)=\"onInputKeyPress($event)\"\r\n #focusable\r\n >\r\n <div class=\"mrx-input-phone__flag-container\" [ngClass]=\"{'disabled': disabled}\">\r\n <mrx-dropdown customClasses=\"h-100\" [mainPlacement]=\"'bottom-start'\" [fallbackPlacements]=\"['top-start']\">\r\n <ng-template #dropdownToggle>\r\n <div class=\"mrx-input-phone__selected-flag dropdown-toggle\">\r\n <div\r\n class=\"mrx-input-phone__flag\"\r\n [ngClass]=\"selectedCountry.flagClass || ''\"\r\n ></div>\r\n <div *ngIf=\"separateDialCode\" class=\"selected-dial-code\">+{{selectedCountry.dialCode}}</div>\r\n <div class=\"mrx-input-phone__arrow\">\r\n <span class=\"mrx-icon icon-chevron-down\"></span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #dropdownMenu>\r\n <div class=\"search-container\" *ngIf=\"searchCountryFlag && searchCountryField\">\r\n <input id=\"country-search-box\"\r\n [(ngModel)]=\"countrySearchText\"\r\n (keyup)=\"searchCountry()\"\r\n (click)=\"$event.stopPropagation()\"\r\n [placeholder]=\"searchCountryPlaceholder\"\r\n autofocus>\r\n </div>\r\n\r\n <ul class=\"mrx-input-phone__country-list\" #countryList>\r\n <li class=\"mrx-input-phone__country iti__preferred\"\r\n *ngFor=\"let country of preferredCountriesInDropDown\"\r\n (click)=\"onCountrySelect(country, focusable)\"\r\n [id]=\"country.htmlId+'-preferred'\">\r\n <div class=\"mrx-input-phone__flag-box\">\r\n <div class=\"mrx-input-phone__flag\"\r\n [ngClass]=\"country.flagClass\"></div>\r\n </div>\r\n <span class=\"mrx-input-phone__country-name\">{{country.name}}</span>\r\n <span class=\"mrx-input-phone__dial-code\">+{{country.dialCode}}</span>\r\n </li>\r\n\r\n <li class=\"mrx-input-phone__divider\" *ngIf=\"preferredCountriesInDropDown?.length\"></li>\r\n\r\n <li class=\"mrx-input-phone__country iti__standard\"\r\n *ngFor=\"let country of allCountries\"\r\n (click)=\"onCountrySelect(country, focusable)\"\r\n [id]=\"country.htmlId\">\r\n <div class=\"mrx-input-phone__flag-box\">\r\n <div class=\"mrx-input-phone__flag\" [ngClass]=\"country.flagClass\"></div>\r\n </div>\r\n <span class=\"mrx-input-phone__country-name\">{{country.name}}</span>\r\n <span class=\"mrx-input-phone__dial-code\">+{{country.dialCode}}</span>\r\n </li>\r\n\r\n </ul>\r\n </ng-template>\r\n </mrx-dropdown>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputPhoneComponent } from './input-phone.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NativeElementInjectorDirective } from './directives/native-element-injector.directive';\r\nimport { DropdownModule } from '../../dropdown/dropdown.module';\r\nimport { IConfig, NgxMaskModule } from 'ngx-mask';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputPhoneComponent, NativeElementInjectorDirective],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DropdownModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n NgxMaskModule.forRoot(maskConfigFunction)\r\n ],\r\n exports: [InputPhoneComponent]\r\n})\r\nexport class InputPhoneModule {\r\n\r\n}\r\n","export enum InputSearchSizesEnum {\r\n 'small' = 'mrx-input-search-sm',\r\n 'medium' = 'mrx-input-search-md',\r\n 'large' = 'mrx-input-search-lg',\r\n}\r\n\r\nexport type InputSearchSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputSearchValueTypes = string;\r\n\r\nexport interface InputSearchValueWithId {\r\n value: InputSearchValueTypes,\r\n id: string\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n InputSearchSizesEnum,\r\n InputSearchSizesTypes,\r\n InputSearchValueTypes,\r\n InputSearchValueWithId\r\n} from './input-search.enum';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services';\r\n\r\n@Component({\r\n selector: 'mrx-input-search',\r\n templateUrl: './input-search.component.html',\r\n styleUrls: ['./input-search.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputSearchComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputSearchComponent implements ControlValueAccessor {\r\n public value: InputSearchValueTypes = '';\r\n public selectionStart: number | undefined;\r\n public selectionEnd: number | undefined;\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n\r\n @Input() public disabled = false;\r\n @Input() public required = false;\r\n @Input() public readonly = false;\r\n @Input() public maxlength = 0;\r\n @Input() public minlength = 0;\r\n @Input() public placeholder = '';\r\n @Input() public customClasses = '';\r\n @Input() public mask = '';\r\n @Input() public size: InputSearchSizesTypes = 'large';\r\n\r\n // VALIDATE\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Input() public restrictInput = true;\r\n\r\n @Output() public changed: EventEmitter<InputSearchValueTypes> = new EventEmitter<InputSearchValueTypes>();\r\n @Output() public modelChange: EventEmitter<InputSearchValueWithId> = new EventEmitter<InputSearchValueWithId>();\r\n @Output() public blurred: EventEmitter<InputSearchValueWithId> = new EventEmitter<InputSearchValueWithId>();\r\n @Output() public cleared: EventEmitter<null> = new EventEmitter<null>();\r\n @Output() public searched: EventEmitter<null> = new EventEmitter<null>();\r\n\r\n private get _isInvalidValueLength(): boolean {\r\n return this.maxlength < this.value?.length && this.maxlength > 0\r\n }\r\n\r\n public get getInvalid(): boolean {\r\n return this._isInvalidValueLength || this.invalid\r\n }\r\n\r\n public get getInvalidMessage(): string | string[] {\r\n return this._isInvalidValueLength ? 'Превышено допустимое значение символов' : this.invalidMessage\r\n }\r\n\r\n public get readonlyClass(): string {\r\n return this.readonly ? 'mrx-input__readonly' : '';\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputSearchSizesEnum[this.size]} ${this.customClasses} ${this.readonlyClass} ${this.checkValidClasses}`;\r\n }\r\n\r\n public get isShowCloseIcon(): boolean {\r\n return this.value !== '' && this.value !== undefined;\r\n }\r\n\r\n public onClear(): void {\r\n this.updateValue('');\r\n setTimeout(() => {\r\n this.cleared.emit();\r\n }, 0);\r\n }\r\n\r\n public onSearch(): void {\r\n this.searched.emit();\r\n }\r\n\r\n public insertPositionText(tagText: string): void {\r\n if (this.selectionStart && this.selectionEnd) {\r\n const firstText = this.value.substring(0, this.selectionStart) + tagText;\r\n const secondText = this.value.substring(this.selectionEnd);\r\n const text = firstText + secondText;\r\n\r\n this.updateValue(text);\r\n\r\n setTimeout(() => {\r\n this.inputElement.nativeElement.selectionStart = firstText.length;\r\n this.inputElement.nativeElement.selectionEnd = firstText.length;\r\n this.inputElement.nativeElement.focus();\r\n }, 0);\r\n }\r\n }\r\n\r\n public updateSelection(event: any) {\r\n this.selectionStart = event.target.selectionStart;\r\n this.selectionEnd = event.target.selectionEnd;\r\n }\r\n\r\n private onChange = (value: InputSearchValueTypes) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: InputSearchValueTypes) {\r\n this.value = outsideValue;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputSearchValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n\r\n public onBlur(event: Event) {\r\n this.updateSelection(event)\r\n this.blurred.emit({ value: this.value, id: this.uuid })\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-search\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"getInvalid\">\r\n <div class=\"mrx-input-search__wrapper\">\r\n <input\r\n autocomplete=\"nope\"\r\n #inputElement\r\n [type]=\"'text'\"\r\n [id]=\"uuid\"\r\n [ngModel]=\"value\"\r\n [mask]=\"mask\"\r\n [attr.title]=\"placeholder || ''\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readonly\"\r\n [placeholder]=\"!disabled && placeholder ? placeholder : ''\"\r\n [minlength]=\"minlength > 0 && restrictInput ? minlength : null\"\r\n [maxlength]=\"maxlength > 0 && restrictInput ? maxlength : null\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"onBlur($event)\"\r\n />\r\n\r\n <div class=\"mrx-input-search__icons\">\r\n <span\r\n class=\"mrx-icon icon-close mr-2\"\r\n [class.icon-font-16]=\"size === 'small' || size === 'medium'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n *ngIf=\"isShowCloseIcon\"\r\n (click)=\"onClear()\"\r\n ></span>\r\n\r\n <span\r\n class=\"mrx-icon icon-search\"\r\n [class.icon-font-16]=\"size === 'small' || size === 'medium'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n (click)=\"onSearch()\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxlength\"\r\n [value]=\"value\"\r\n [maxlength]=\"maxlength\"\r\n ></mrx-chars-left>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { IConfig, NgxMaskModule } from 'ngx-mask';\r\nimport { InputSearchComponent } from './input-search.component';\r\nimport { ErrorMessageModule } from \"../../error-message/error-message.module\";\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputSearchComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CharsLeftModule,\r\n ErrorMessageModule,\r\n NgxMaskModule.forRoot(maskConfigFunction),\r\n SaveStateModule\r\n ],\r\n exports: [InputSearchComponent],\r\n})\r\nexport class InputSearchModule {}\r\n","export enum InputDateSizesEnum {\r\n 'small' = 'mrx-input-date-sm',\r\n 'medium' = 'mrx-input-date-md',\r\n 'large' = 'mrx-input-date-lg',\r\n}\r\n\r\nexport type InputDateSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputDateTimeValueTypes = string;\r\n\r\nexport interface InputDateTimeValueWithId {\r\n value: InputDateTimeValueTypes,\r\n id: string\r\n}\r\n\r\nexport type InputDateTimeValidation = 'default' | 'double'\r\n","import dayjs from 'dayjs';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\n\r\ndayjs.extend(customParseFormat)\r\n\r\nexport const validateDateModel = (value: string): DateModel => {\r\n const splitDateAndTime = value.split(' ')\r\n const dateArray = splitDateAndTime[0].split('.')\r\n const day = validateDay(dateArray[0]) || ''\r\n const month = validateMonth(dateArray[1]) || ''\r\n const year = dateArray[2] || ''\r\n\r\n return {\r\n view: `${day}${month ? '.' + month : ''}${year ? '.' + year : value[5] ? '.' + '' : ''}`,\r\n day: day,\r\n month: month,\r\n year: year,\r\n invalid: !(dayjs(`${dateArray[2]}-${dateArray[1]}-${dateArray[0]}`, 'YYYY-MM-DD').isValid() && splitDateAndTime[0].length === 10)\r\n }\r\n}\r\n\r\nexport const validateTimeModel = (value: string): TimeModel => {\r\n const splitDateAndTime = value.split(' ')\r\n const timeArray = splitDateAndTime[1] ? splitDateAndTime[1].split(':') : ''\r\n const hour = validateHours(timeArray[0]) || ''\r\n const minutes = validateMinutes(timeArray[1]) || ''\r\n const seconds = '00'\r\n\r\n return {\r\n view: `${hour}${minutes ? ':' + minutes : ''}`,\r\n hour: hour,\r\n minute: minutes,\r\n second: seconds,\r\n invalid: !!splitDateAndTime[1] ? splitDateAndTime[1].length !== 5 : true\r\n }\r\n}\r\n\r\nexport const validateDay = (value: string): string => {\r\n if (Number(value) > 31) {\r\n return '31'\r\n }\r\n if (value === '00') {\r\n return '01'\r\n }\r\n return value\r\n}\r\n\r\nexport const validateMonth = (value: string): string => {\r\n if (Number(value) > 12) {\r\n return '12'\r\n }\r\n if (value === '00') {\r\n return '01'\r\n }\r\n return value\r\n}\r\n\r\n\r\nexport const validateHours = (value: string): string => {\r\n if (Number(value) > 23) {\r\n return '23'\r\n }\r\n return value\r\n}\r\n\r\nexport const validateMinutes = (value: string): string => {\r\n if (Number(value) > 59) {\r\n return '59'\r\n }\r\n return value\r\n}\r\n\r\nexport type DateModel = {\r\n view: string,\r\n day: string,\r\n month: string,\r\n year: string,\r\n invalid: boolean\r\n}\r\n\r\nexport type TimeModel = {\r\n view: string,\r\n hour: string,\r\n minute: string,\r\n second: string,\r\n invalid: boolean\r\n}\r\n\r\nconst validateDateYear = (date: number | string): string => {\r\n switch (String(date).length) {\r\n case 3:\r\n return '0' + date\r\n case 2:\r\n return '00' + date\r\n case 1:\r\n return '000' + date\r\n default:\r\n return String(date)\r\n }\r\n}\r\n","import { DateModel, TimeModel } from '../helpers/validate-value-models';\r\n\r\nexport const dateModelConstant: DateModel = {\r\n view: '',\r\n day: '',\r\n month: '',\r\n year: '',\r\n invalid: true\r\n}\r\n\r\nexport const timeModelConstant: TimeModel = {\r\n view: '',\r\n hour: '',\r\n minute: '',\r\n second: '',\r\n invalid: true\r\n}\r\n","import { DateModel, TimeModel } from './validate-value-models';\r\nimport dayjs from 'dayjs';\r\n\r\nexport const dateModelValueParse = (value: string, format: string): DateModel => {\r\n const date = dayjs(value, format)\r\n\r\n const day = date.date()\r\n const month = date.month() + 1\r\n const year = date.year()\r\n const formattedDay = String(day).length === 2 ? String(day) : String('0' + day)\r\n const formattedMonth = String(month).length === 2 ? String(month) : String('0' + month)\r\n const formattedYear = validateDateYear(year)\r\n const dateString = `${String(formattedYear)}.${String(formattedMonth)}.${String(formattedDay)}`\r\n\r\n return {\r\n view: dayjs(dateString).format('DD.MM.YYYY'),\r\n day: formattedDay,\r\n month: formattedMonth,\r\n year: formattedYear,\r\n invalid: !(dayjs(dateString).isValid() && dateString.length === 10)\r\n }\r\n}\r\n\r\nexport const timeModelValueParse = (value: string, format: string): TimeModel => {\r\n const date = dayjs(value, format)\r\n\r\n const hour = date.hour()\r\n const minute = date.minute()\r\n const second = '00'\r\n const formattedHour = String(hour).length === 2 ? String(hour) : String('0' + hour)\r\n const formattedMinute = String(minute).length === 2 ? String(minute) : String('0' + minute)\r\n const timeString = `${formattedHour}:${formattedMinute}`\r\n\r\n return {\r\n view: timeString,\r\n hour: formattedHour,\r\n minute: formattedMinute,\r\n second: second,\r\n invalid: timeString.length !== 5\r\n }\r\n}\r\n\r\nconst validateDateYear = (date: number): string => {\r\n switch (String(date).length) {\r\n case 3:\r\n return '0' + date\r\n case 2:\r\n return '00' + date\r\n case 1:\r\n return '000' + date\r\n default:\r\n return String(date)\r\n }\r\n}\r\n","export const markPosition = (start: number | null, end: number | null, pattern: string = 'date'): any => {\r\n if (start) {\r\n if (start === 1) {\r\n return {start: 0, end: 2}\r\n } else if (start === 4) {\r\n return {start: 3, end: 5}\r\n } else if (start >= 7 && start <= 9) {\r\n return {start: 6, end: 10}\r\n } else if (start === 12) {\r\n return {start: 11, end: 13}\r\n } else if (start === 15) {\r\n return {start: 14, end: 16}\r\n }\r\n else {\r\n return {start, end}\r\n }\r\n }\r\n}\r\n","import dayjs from 'dayjs';\r\n\r\nexport const cleanDate = (value: string, format: string): string => {\r\n return dayjs(value).format(format)\r\n}\r\n","import { DateModel, TimeModel } from './validate-value-models';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\n\r\nexport const getDateDayjsObject = (dateModel: DateModel, timeModel: TimeModel, timepicker: boolean): Dayjs => {\r\n if (timepicker) {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day} ${timeModel.hour}:${timeModel.minute}`, 'YYYY-MM-DD HH:mm')\r\n } else {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day}`, 'YYYY-MM-DD')\r\n }\r\n}\r\n","import dayjs from 'dayjs';\r\nimport { DateModel, TimeModel } from './validate-value-models';\r\n\r\nexport const getDateObject = (dateModel: DateModel, timeModel: TimeModel, timepicker: boolean): Date => {\r\n if (timepicker) {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day} ${timeModel.hour}:${timeModel.minute}`, 'YYYY-MM-DD HH:mm').toDate()\r\n } else {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day}`, 'YYYY-MM-DD').toDate()\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport AirDatepicker from 'air-datepicker';\r\nimport {\r\n InputDateSizesEnum,\r\n InputDateSizesTypes, InputDateTimeValidation,\r\n InputDateTimeValueTypes,\r\n InputDateTimeValueWithId\r\n} from './input-datepicker.enum';\r\nimport { DateModel, TimeModel, validateDateModel, validateTimeModel } from './helpers/validate-value-models';\r\nimport { dateModelConstant, timeModelConstant } from './constants/value-models';\r\nimport { dateModelValueParse, timeModelValueParse } from './helpers/value-parser';\r\nimport { markPosition } from './helpers/cursor-position';\r\nimport { cleanDate } from './helpers/clean-date';\r\nimport { getDateDayjsObject } from './helpers/get-date-dayjs-object';\r\nimport dayjs from 'dayjs';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { createPopper } from '@popperjs/core';\r\nimport localeEn from 'air-datepicker/locale/en';\r\nimport localeRu from 'air-datepicker/locale/ru';\r\nimport { Field } from '../../../services';\r\nimport { getDateObject } from './helpers/get-date-object';\r\n\r\n@Component({\r\n selector: 'mrx-input-datepicker',\r\n templateUrl: 'input-datepicker.component.html',\r\n styleUrls: ['input-datepicker.components.less'],\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => InputDatepickerComponent), multi: true }\r\n ]\r\n})\r\nexport class InputDatepickerComponent implements ControlValueAccessor, OnChanges, AfterViewInit {\r\n public dt: any;\r\n public value: any = '';\r\n public dateModel: DateModel = dateModelConstant;\r\n public timeModel: TimeModel = timeModelConstant;\r\n\r\n public innerInvalid = false;\r\n public innerInvalidMessage = '';\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public size: InputDateSizesTypes = 'large';\r\n @Input() public format = 'YYYY-MM-DD HH:mm';\r\n @Input() public locale: 'ru' | 'en' = 'ru';\r\n @Input() public customClasses = '';\r\n @Input() public dateLabel = '';\r\n @Input() public timeLabel = '';\r\n @Input() public datePlaceholder = 'дд.мм.гггг'; // deprecated\r\n @Input() public placeholder = 'дд.мм.гггг';\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public required = false;\r\n @Input() public timepicker = false;\r\n @Input() public minDate = '';\r\n @Input() public maxDate = '';\r\n @Input() public inline = false;\r\n @Input() public closable = true;\r\n\r\n @Input() public leadZeroDateTime = false;\r\n @Input() public mask = '00.00.0000 00:m0';\r\n\r\n @Input() public container = 'div.page-wrapper';\r\n\r\n @Input() public validationType: InputDateTimeValidation = 'default';\r\n @Input() public disableValidation = false;\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Input() public isShowMessages = true;\r\n\r\n @ViewChild('dateInput') dateInput!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<string> = new EventEmitter();\r\n @Output() public modelChange: EventEmitter<InputDateTimeValueWithId> = new EventEmitter<InputDateTimeValueWithId>();\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dt = new AirDatepicker(this.dateInput.nativeElement, {\r\n container: this.container,\r\n locale: this.getLocale,\r\n autoClose: true,\r\n multipleDatesSeparator: ' - ',\r\n timepicker: this.timepicker,\r\n minDate: this.minDate ? dayjs(this.minDate, this.format).toDate() : '',\r\n maxDate: this.maxDate ? dayjs(this.maxDate, this.format).toDate() : '',\r\n inline: this.inline,\r\n position({ $datepicker, $target, $pointer, done }) {\r\n let popper = createPopper($target, $datepicker, {\r\n placement: 'bottom-start',\r\n modifiers: [\r\n {\r\n name: 'flip',\r\n options: {\r\n padding: {\r\n top: 64\r\n }\r\n }\r\n },\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [0, 10]\r\n }\r\n },\r\n {\r\n name: 'arrow',\r\n options: {\r\n element: $pointer\r\n }\r\n }\r\n ]\r\n });\r\n\r\n return function completeHide() {\r\n popper.destroy();\r\n done();\r\n };\r\n },\r\n onSelect: ({ date, formattedDate, datepicker }) => {\r\n\r\n if (date instanceof Date && typeof formattedDate === 'string') {\r\n this.dateModel = validateDateModel(formattedDate);\r\n this.timeModel = validateTimeModel(formattedDate);\r\n\r\n if (this.isValidModels) {\r\n this.updateValueModel(this.dateModel, this.timeModel);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.dt) {\r\n if (changes['maxDate']) {\r\n if (this.validationType === 'double') {\r\n const invalid = this.innerInvalid;\r\n this.dt.update({ maxDate: this.maxDate ? dayjs(this.maxDate, this.format).toDate() : '' });\r\n this.value && this.dt.selectDate(dayjs(this.value, this.format).toDate(), { updateTime: this.timepicker, silent: true });\r\n const isValid = this.disableValidation ? true : this.checkingInvalid(this.value, this.maxDate, this.minDate);\r\n\r\n if (invalid && isValid) {\r\n setTimeout(() => {\r\n this.updateValueModel(this.dateModel, this.timeModel);\r\n }, 0);\r\n }\r\n } else {\r\n // console.log(changes['maxDate']);\r\n }\r\n } else if (changes['minDate']) {\r\n if (this.validationType === 'double') {\r\n const invalid = this.innerInvalid;\r\n this.dt.update({ minDate: this.minDate ? dayjs(this.minDate, this.format).toDate() : '' });\r\n this.value && this.dt.selectDate(dayjs(this.value, this.format).toDate(), { updateTime: this.timepicker, silent: true });\r\n const isValid = this.disableValidation ? true : this.checkingInvalid(this.value, this.maxDate, this.minDate);\r\n\r\n if (invalid && isValid) {\r\n setTimeout(() => {\r\n this.updateValueModel(this.dateModel, this.timeModel);\r\n }, 0);\r\n }\r\n } else {\r\n // console.log(changes['minDate']);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public get getDateValue(): string {\r\n return `${this.dateModel.view}${this.timepicker && this.timeModel.view ? ' ' + this.timeModel.view : ''}`;\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputDateSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n private get isValidModels(): boolean {\r\n return !this.dateModel.invalid && (this.timepicker ? !this.timeModel.invalid : true);\r\n }\r\n\r\n public get isViewCleanIcon() {\r\n return !!this.dateInput?.nativeElement.value && this.closable;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n private get getLocale() {\r\n return this.locale === 'ru' ? { ...localeRu, dateFormat: 'dd.MM.yyyy', timeFormat: 'HH:mm' } : { ...localeEn, dateFormat: 'dd.MM.yyyy', timeFormat: 'HH:mm' }\r\n }\r\n\r\n public clickToIconCalendar(): void {\r\n this.dateInput.nativeElement.focus();\r\n }\r\n\r\n public clickToIconClear(): void {\r\n this.dt.setViewDate(new Date());\r\n this.dt && this.dt.clear();\r\n this.dateModel = dateModelConstant;\r\n this.timeModel = timeModelConstant;\r\n this.updateValue('');\r\n this.innerInvalid = false;\r\n this.innerInvalidMessage = '';\r\n }\r\n\r\n private updateValueModel(dateModel: DateModel, timeModel: TimeModel, bol: boolean = false) {\r\n if (dateModel.view === '') {\r\n this.clickToIconClear();\r\n } else {\r\n const date = getDateDayjsObject(dateModel, timeModel, this.timepicker);\r\n const formattingDate = date.format(this.format);\r\n const isValid = this.disableValidation ? true : this.checkingInvalid(formattingDate, this.maxDate, this.minDate);\r\n\r\n if (date.isValid() && isValid) {\r\n this.dt.selectDate(getDateObject(dateModel, timeModel, this.timepicker), {\r\n updateTime: this.timepicker,\r\n silent: true\r\n });\r\n this.dt.setViewDate(getDateObject(dateModel, timeModel, this.timepicker));\r\n this.updateValue(formattingDate);\r\n }\r\n }\r\n }\r\n\r\n private invalidMessageOn(message: string): void {\r\n this.innerInvalid = true;\r\n this.innerInvalidMessage = message;\r\n }\r\n\r\n private invalidMessageOff(): void {\r\n this.innerInvalid = false;\r\n this.innerInvalidMessage = '';\r\n }\r\n\r\n public updateDateValue(dateInput: HTMLInputElement): void {\r\n const selectionStart = dateInput.selectionStart;\r\n this.dateModel = validateDateModel(dateInput.value);\r\n this.timeModel = validateTimeModel(dateInput.value);\r\n\r\n dateInput.value = this.getDateValue;\r\n dateInput.selectionStart = selectionStart;\r\n dateInput.selectionEnd = dateInput.selectionStart;\r\n\r\n if (this.isValidModels || this.dateModel.view === '') {\r\n this.updateValueModel(this.dateModel, this.timeModel);\r\n }\r\n }\r\n\r\n public clickToInput(input: HTMLInputElement): void {\r\n if (input.selectionStart === input.selectionEnd && (input.selectionStart && input.selectionStart > 0)) {\r\n const { start, end } = markPosition(input.selectionStart, input.selectionEnd);\r\n input.selectionStart = start;\r\n input.selectionEnd = end;\r\n }\r\n }\r\n\r\n private checkingInvalid(value: string, maxDate: string, minDate: string) {\r\n if (!this.isShowMessages) {\r\n this.invalidMessageOff();\r\n return true\r\n }\r\n\r\n if (maxDate && (dayjs(value, this.format).diff(dayjs(maxDate, this.format)) === 0)) {\r\n this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала');\r\n return false;\r\n } else if (maxDate && (dayjs(value, this.format).diff(dayjs(maxDate, this.format)) > 0)) {\r\n this.invalidMessageOn('Дата окончания не может быть раньше даты начала');\r\n return false;\r\n } else if (minDate && (dayjs(value, this.format).diff(dayjs(minDate, this.format)) === 0)) {\r\n this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала');\r\n return false;\r\n } else if (minDate && dayjs(value, this.format).diff(dayjs(minDate, this.format)) < 0) {\r\n this.invalidMessageOn('Дата окончания не может быть раньше даты начала');\r\n return false;\r\n } else {\r\n this.invalidMessageOff();\r\n return true;\r\n }\r\n }\r\n\r\n public writeValue(outsideValue: InputDateTimeValueTypes) {\r\n if (outsideValue) {\r\n this.value = cleanDate(outsideValue, this.format);\r\n\r\n this.dateModel = dateModelValueParse(outsideValue, this.format);\r\n this.timeModel = timeModelValueParse(outsideValue, this.format);\r\n\r\n if (!this.disableValidation) {\r\n this.checkingInvalid(outsideValue, this.maxDate, this.minDate);\r\n }\r\n\r\n this.dt.selectDate(getDateObject(this.dateModel, this.timeModel, this.timepicker), { updateTime: this.timepicker, silent: true });\r\n this.dt.setViewDate(getDateObject(this.dateModel, this.timeModel, this.timepicker));\r\n } else {\r\n if (this.dt) {\r\n this.dt.clear();\r\n }\r\n }\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputDateTimeValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid || innerInvalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"\">\r\n <mrx-label *ngIf=\"timeLabel || dateLabel\">{{ dateLabel }}</mrx-label>\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [placeholder]=\"placeholder\"\r\n [ngModel]=\"getDateValue\"\r\n [mask]=\"mask\"\r\n [leadZeroDateTime]=\"leadZeroDateTime\"\r\n [validation]=\"false\"\r\n [disabled]=\"disabled || readonly\"\r\n (input)=\"updateDateValue(dateInput)\"\r\n (click)=\"clickToInput(dateInput)\"\r\n />\r\n\r\n <div *ngIf=\"!disabled\" class=\"mrx-input-date__icons\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n *ngIf=\"isViewCleanIcon && !(disabled || readonly)\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid; else innerInvalidTemplate\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <ng-template #innerInvalidTemplate>\r\n <mrx-error-message\r\n *ngIf=\"innerInvalid\"\r\n [invalidMessage]=\"innerInvalidMessage\"\r\n ></mrx-error-message>\r\n </ng-template>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n\r\n\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputDatepickerComponent } from './input-datepicker.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IConfig, NgxMaskModule } from 'ngx-mask';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { LabelModule } from '../../label/label.module';\r\nimport { SaveStateModule } from \"../../save-state/save-state.module\";\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputDatepickerComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n LabelModule,\r\n NgxMaskModule.forRoot(maskConfigFunction),\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [InputDatepickerComponent],\r\n})\r\nexport class InputDatepickerModule {}\r\n","export enum InputDateSizesEnum {\r\n 'small' = 'mrx-input-date-sm',\r\n 'medium' = 'mrx-input-date-md',\r\n 'large' = 'mrx-input-date-lg',\r\n}\r\n\r\nexport type InputDateSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputDateTimeValueTypes = string | string[];\r\n\r\nexport interface InputDateTimeValueWithId {\r\n value: InputDateTimeValueTypes,\r\n id: string\r\n}\r\n\r\n/**\r\n * Пример использования <br/>\r\n * message=\"Не более {diff} дней\" <br/>\r\n * @param hour = 0 - 23\r\n * @param minute = 0 - 59\r\n */\r\nexport interface ExtraTime {\r\n hour: string\r\n minute: string\r\n}\r\n","import dayjs from 'dayjs';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\n\r\ndayjs.extend(customParseFormat)\r\n\r\nexport const validateDateModel = (value: string): DateModel => {\r\n const splitDateAndTime = value.split(' ')\r\n const dateArray = splitDateAndTime[0].split('.')\r\n const day = validateDay(dateArray[0]) || ''\r\n const month = validateMonth(dateArray[1]) || ''\r\n const year = dateArray[2] || ''\r\n\r\n return {\r\n view: `${day}${month ? '.' + month : ''}${year ? '.' + year : value[5] ? '.' + '' : ''}`,\r\n day: day,\r\n month: month,\r\n year: year,\r\n invalid: !(dayjs(`${dateArray[2]}-${dateArray[1]}-${dateArray[0]}`, 'YYYY-MM-DD').isValid() && splitDateAndTime[0].length === 10)\r\n }\r\n}\r\n\r\nexport const validateTimeModel = (value: string): TimeModel => {\r\n const splitDateAndTime = value.split(' ')\r\n const timeArray = splitDateAndTime[1] ? splitDateAndTime[1].split(':') : ''\r\n const hour = validateHours(timeArray[0]) || ''\r\n const minutes = validateMinutes(timeArray[1]) || ''\r\n\r\n return {\r\n view: `${hour}${minutes ? ':' + minutes : ''}`,\r\n hour: hour,\r\n minute: minutes,\r\n invalid: !!splitDateAndTime[1] ? splitDateAndTime[1].length !== 5 : true\r\n }\r\n}\r\n\r\nexport const validateDay = (value: string): string => {\r\n if (Number(value) > 31) {\r\n return '31'\r\n }\r\n if (value === '00') {\r\n return '01'\r\n }\r\n return value\r\n}\r\n\r\nexport const validateMonth = (value: string): string => {\r\n if (Number(value) > 12) {\r\n return '12'\r\n }\r\n if (value === '00') {\r\n return '01'\r\n }\r\n return value\r\n}\r\n\r\n\r\nexport const validateHours = (value: string): string => {\r\n if (Number(value) > 23) {\r\n return '23'\r\n }\r\n return value\r\n}\r\n\r\nexport const validateMinutes = (value: string): string => {\r\n if (Number(value) > 59) {\r\n return '59'\r\n }\r\n return value\r\n}\r\n\r\nexport type DateModel = {\r\n view: string,\r\n day: string,\r\n month: string,\r\n year: string,\r\n invalid: boolean\r\n}\r\n\r\nexport type TimeModel = {\r\n view: string,\r\n hour: string,\r\n minute: string,\r\n invalid: boolean\r\n}\r\n","import { DateModel, TimeModel } from '../helpers/validate-value-models';\r\n\r\nexport const dateModelConstant: DateModel = {\r\n view: '',\r\n day: '',\r\n month: '',\r\n year: '',\r\n invalid: true\r\n}\r\n\r\nexport const timeModelConstant: TimeModel = {\r\n view: '',\r\n hour: '',\r\n minute: '',\r\n invalid: true\r\n}\r\n","export enum Timezone {\r\n 'default' = 0,\r\n 'Europe/Moscow' = 3,\r\n 'America/New_York' = -5\r\n}\r\n\r\nexport type TimezoneType = 'default' | 'Europe/Moscow' | 'America/New_York'\r\n","import { DateModel, TimeModel } from './validate-value-models';\r\nimport { Timezone, TimezoneType } from '../enum/timezone';\r\nimport dayjs from 'dayjs';\r\nimport tz from 'dayjs/plugin/timezone';\r\nimport utc from 'dayjs/plugin/utc';\r\n\r\nexport const dateModelValueParse = (value: string, timezone: TimezoneType): DateModel => {\r\n dayjs.extend(utc)\r\n dayjs.extend(tz)\r\n\r\n const date = timezone === 'default' ? dayjs(value) : dayjs.utc(value).utcOffset(Timezone[timezone])\r\n const day = date.date()\r\n const month = date.month() + 1\r\n const year = date.year()\r\n const formattedDay = String(day).length === 2 ? String(day) : String('0' + day)\r\n const formattedMonth = String(month).length === 2 ? String(month) : String('0' + month)\r\n const dateString = `${String(year)}.${String(formattedMonth)}.${String(formattedDay)}`\r\n\r\n return {\r\n view: dayjs(dateString).format('DD.MM.YYYY'),\r\n day: formattedDay,\r\n month: formattedMonth,\r\n year: String(year),\r\n invalid: !(dayjs(dateString).isValid() && dateString.length === 10)\r\n }\r\n}\r\n\r\nexport const timeModelValueParse = (value: string, timezone: TimezoneType): TimeModel => {\r\n dayjs.extend(utc)\r\n dayjs.extend(tz)\r\n\r\n const date = timezone === 'default' ? dayjs(value) : dayjs.utc(value).utcOffset(Timezone[timezone])\r\n\r\n const hour = date.hour()\r\n const minute = date.minute()\r\n const formattedHour = String(hour).length === 2 ? String(hour) : String('0' + hour)\r\n const formattedMinute = String(minute).length === 2 ? String(minute) : String('0' + minute)\r\n const timeString = `${formattedHour}:${formattedMinute}`\r\n\r\n return {\r\n view: timeString,\r\n hour: formattedHour,\r\n minute: formattedMinute,\r\n invalid: timeString.length !== 5\r\n }\r\n}\r\n","export const markPosition = (start: number | null, end: number | null, pattern: string = 'date'): any => {\r\n if (start) {\r\n if (start === 1) {\r\n return {start: 0, end: 2}\r\n } else if (start === 4) {\r\n return {start: 3, end: 5}\r\n } else if (start >= 7 && start <= 9) {\r\n return {start: 6, end: 10}\r\n } else if (start === 12) {\r\n return {start: 11, end: 13}\r\n } else if (start === 15) {\r\n return {start: 14, end: 16}\r\n }\r\n else {\r\n return {start, end}\r\n }\r\n }\r\n}\r\n","import dayjs from 'dayjs';\r\n\r\nexport const cleanDate = (value: string): string => {\r\n return dayjs(value).second(0).millisecond(0).toISOString()\r\n}\r\n","import { Timezone, TimezoneType } from '../enum/timezone';\r\n\r\nimport dayjs from 'dayjs';\r\nimport timezone from 'dayjs/plugin/timezone';\r\nimport utc from 'dayjs/plugin/utc';\r\n\r\nexport const formattingToMoscowTimezone = (date: any, tz: TimezoneType): string => {\r\n dayjs.extend(utc)\r\n dayjs.extend(timezone)\r\n\r\n return dayjs.utc(date).utcOffset(Timezone[tz], tz !== 'default').toISOString()\r\n}\r\n","import { DateModel, TimeModel } from './validate-value-models';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\n\r\nexport const formattingFromModels = (dateModel: DateModel, timeModel: TimeModel, timepicker: boolean): Dayjs => {\r\n if (timepicker) {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day} ${timeModel.hour}:${timeModel.minute}`, 'YYYY-MM-DD HH:mm')\r\n } else {\r\n return dayjs(`${dateModel.year}-${dateModel.month}-${dateModel.day}`, 'YYYY-MM-DD')\r\n }\r\n}\r\n","import {\r\n AfterViewInit, ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport AirDatepicker from 'air-datepicker'\r\nimport {\r\n ExtraTime,\r\n InputDateSizesEnum,\r\n InputDateSizesTypes,\r\n InputDateTimeValueTypes,\r\n InputDateTimeValueWithId\r\n} from './input-date-time.enum';\r\nimport { DateModel, TimeModel, validateDateModel, validateTimeModel } from './helpers/validate-value-models';\r\nimport { dateModelConstant, timeModelConstant } from './constants/value-models';\r\nimport { dateModelValueParse, timeModelValueParse } from './helpers/value-parser';\r\nimport { markPosition } from './helpers/cursor-position';\r\nimport { cleanDate } from './helpers/clean-date';\r\nimport { formattingToMoscowTimezone } from './helpers/formatting-moscow-timezone';\r\nimport { TimezoneType } from './enum/timezone';\r\nimport { formattingFromModels } from './helpers/formatting-from-models';\r\nimport dayjs from 'dayjs';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { createPopper } from '@popperjs/core';\r\nimport { Field } from \"../../../services\";\r\n\r\n@Component({\r\n selector: 'mrx-input-date-time',\r\n templateUrl: 'input-date-time.component.html',\r\n styleUrls: ['input-date-time.components.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => InputDateTimeComponent), multi: true}\r\n ]\r\n})\r\nexport class InputDateTimeComponent implements ControlValueAccessor, OnChanges, AfterViewInit {\r\n public dt: any\r\n public value: any = '';\r\n public dateModel: DateModel = dateModelConstant\r\n public timeModel: TimeModel = timeModelConstant\r\n\r\n public innerInvalid = false;\r\n public innerInvalidMessage = '';\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public size: InputDateSizesTypes = 'large';\r\n @Input() public customClasses = '';\r\n @Input() public dateLabel = '';\r\n @Input() public timeLabel = '';\r\n @Input() public datePlaceholder = 'дд.мм.гггг';\r\n @Input() public timePlaceholder = '00:00';\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public required = false;\r\n @Input() public timepicker = false\r\n @Input() public range = false\r\n @Input() public minDate = '';\r\n @Input() public maxDate = '';\r\n @Input() public timezone: TimezoneType = 'default';\r\n @Input() public inline = false\r\n @Input() public isManualInput = true;\r\n @Input() public addMinTime = false\r\n @Input() public addMaxTime = false\r\n @Input() public addMinTimeObj!: ExtraTime\r\n @Input() public addMaxTimeObj!: ExtraTime\r\n\r\n @Input() public disableValidate = false\r\n\r\n @Input() public container = 'div.page-wrapper';\r\n\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @ViewChild('dateInput') dateInput!: ElementRef;\r\n @ViewChild('timeInput') timeInput!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<InputDateTimeValueTypes> = new EventEmitter();\r\n @Output() public modelChange: EventEmitter<InputDateTimeValueWithId> = new EventEmitter<InputDateTimeValueWithId>();\r\n @Output() public blurred: EventEmitter<InputDateTimeValueWithId> = new EventEmitter<InputDateTimeValueWithId>();\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dt = new AirDatepicker(this.dateInput.nativeElement, {\r\n container: this.container,\r\n locale: {\r\n dateFormat: 'dd.MM.yyyy',\r\n timeFormat: 'HH:mm',\r\n },\r\n autoClose: true,\r\n range: this.range,\r\n multipleDatesSeparator: ' - ',\r\n timepicker: this.timepicker,\r\n minDate: this.minDate,\r\n maxDate: this.maxDate,\r\n inline: this.inline,\r\n position({ $datepicker, $target, $pointer, done }) {\r\n let popper = createPopper($target, $datepicker, {\r\n placement: 'bottom-start',\r\n modifiers: [\r\n {\r\n name: 'flip',\r\n options: {\r\n padding: {\r\n top: 64\r\n }\r\n }\r\n },\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [0, 10]\r\n }\r\n },\r\n {\r\n name: 'arrow',\r\n options: {\r\n element: $pointer\r\n }\r\n }\r\n ]\r\n });\r\n\r\n return function completeHide() {\r\n popper.destroy();\r\n done();\r\n };\r\n },\r\n onSelect: ({date, formattedDate, datepicker}) => {\r\n if (date instanceof Date && typeof formattedDate === 'string') {\r\n this.dateModel = validateDateModel(formattedDate)\r\n this.timeModel = validateTimeModel(formattedDate)\r\n\r\n this._checkExtraTime()\r\n\r\n if (this.isValidModels) {\r\n this.updateValueModel(this.dateModel, this.timeModel)\r\n }\r\n } else if (typeof formattedDate === 'object') {\r\n this.updateValuesArray(date as Date[])\r\n }\r\n },\r\n })\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.dt) {\r\n if (changes['maxDate']) {\r\n this.dt.update({maxDate: this.maxDate})\r\n this.value && this.dt.selectDate(dayjs(this.value).toDate(), {updateTime: this.timepicker, silent: true})\r\n\r\n if (!this.disableValidate) {\r\n const invalid = this.innerInvalid\r\n const isValid = this.checkingInvalid(this.value, this.maxDate, this.minDate)\r\n\r\n if (invalid && isValid) {\r\n setTimeout(() => {\r\n this.updateValueModel(this.dateModel, this.timeModel)\r\n }, 0)\r\n }\r\n }\r\n }\r\n\r\n if (changes['minDate']) {\r\n this.dt.update({minDate: this.minDate})\r\n this.value && this.dt.selectDate(dayjs(this.value).toDate(), {updateTime: this.timepicker, silent: true})\r\n\r\n if (!this.disableValidate) {\r\n const invalid = this.innerInvalid\r\n const isValid = this.checkingInvalid(this.value, this.maxDate, this.minDate)\r\n\r\n if (invalid && isValid) {\r\n setTimeout(() => {\r\n this.updateValueModel(this.dateModel, this.timeModel)\r\n }, 0)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public get getDateValue(): string {\r\n return `${this.dateModel.view}${this.timeModel.view ? ' ' + this.timeModel.view : ''}`\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputDateSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`\r\n }\r\n\r\n private get isValidModels(): boolean {\r\n return !this.dateModel.invalid && (this.timepicker ? !this.timeModel.invalid : true)\r\n }\r\n\r\n public get isViewCleanIcon() {\r\n return !!this.dateInput?.nativeElement.value\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : ''\r\n }\r\n\r\n private _checkExtraTime() {\r\n if (this.addMaxTime && !this.timepicker) {\r\n this.timeModel.hour = '23'\r\n this.timeModel.minute = '59'\r\n }\r\n if (this.addMinTime && !this.timepicker) {\r\n this.timeModel.hour = '00'\r\n this.timeModel.minute = '00'\r\n }\r\n if (this.addMaxTimeObj && !this.timepicker) {\r\n this.timeModel.hour = this.addMaxTimeObj.hour\r\n this.timeModel.minute = this.addMaxTimeObj.minute\r\n }\r\n if (this.addMinTimeObj && !this.timepicker) {\r\n this.timeModel.hour = this.addMinTimeObj.hour\r\n this.timeModel.minute = this.addMinTimeObj.minute\r\n }\r\n }\r\n\r\n public clickToIconCalendar(): void {\r\n this.dateInput.nativeElement.focus()\r\n }\r\n\r\n public clickToIconClear(): void {\r\n this.dt.setViewDate(new Date())\r\n this.dt && this.dt.clear()\r\n this.dateModel = dateModelConstant\r\n this.timeModel = timeModelConstant\r\n\r\n if (!this.range) {\r\n this.updateValue('')\r\n }\r\n\r\n this.innerInvalid = false\r\n this.innerInvalidMessage = ''\r\n }\r\n\r\n private updateValueModel(dateModel: DateModel, timeModel: TimeModel, bol: boolean = false) {\r\n if (dateModel.view === '') {\r\n this.clickToIconClear()\r\n } else {\r\n const date = formattingFromModels(dateModel, timeModel, this.timepicker || this.addMaxTime || this.addMinTime)\r\n\r\n const formattingDate = formattingToMoscowTimezone(date.toISOString(), this.timezone)\r\n\r\n const isValid = this.checkingInvalid(formattingDate, this.maxDate, this.minDate)\r\n\r\n if (date.isValid() && isValid) {\r\n this.dt.selectDate(formattingFromModels(dateModel, timeModel, this.timepicker).toISOString(), {\r\n updateTime: this.timepicker,\r\n silent: true\r\n })\r\n this.dt.setViewDate(formattingFromModels(dateModel, timeModel, this.timepicker).toISOString())\r\n this.updateValue(formattingDate)\r\n }\r\n }\r\n }\r\n\r\n private updateValuesArray = (values: any[]) => {\r\n const dates = values.map(date => {\r\n return formattingToMoscowTimezone(date.toISOString(), this.timezone)\r\n })\r\n\r\n this.updateValue(dates)\r\n }\r\n\r\n private dateFormattingOutput(value: Date): string {\r\n if (value) {\r\n return dayjs(value).toISOString()\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n private invalidMessageOn(message: string): void {\r\n this.innerInvalid = true\r\n this.innerInvalidMessage = message\r\n }\r\n\r\n private invalidMessageOff(): void {\r\n this.innerInvalid = false\r\n this.innerInvalidMessage = ''\r\n }\r\n\r\n public updateDateValue(dateInput: HTMLInputElement): void {\r\n const selectionStart = dateInput.selectionStart\r\n this.dateModel = validateDateModel(dateInput.value)\r\n this.timeModel = validateTimeModel(dateInput.value)\r\n\r\n dateInput.value = this.getDateValue\r\n dateInput.selectionStart = selectionStart\r\n dateInput.selectionEnd = dateInput.selectionStart\r\n\r\n this._checkExtraTime()\r\n\r\n if (this.isValidModels || this.dateModel.view === '') {\r\n this.updateValueModel(this.dateModel, this.timeModel)\r\n }\r\n }\r\n\r\n public clickToInput(input: HTMLInputElement): void {\r\n if (input.selectionStart === input.selectionEnd && (input.selectionStart && input.selectionStart > 0)) {\r\n const {start, end} = markPosition(input.selectionStart, input.selectionEnd)\r\n input.selectionStart = start\r\n input.selectionEnd = end\r\n }\r\n }\r\n\r\n private checkingInvalid(value: string, maxDate: string, minDate: string) {\r\n if (this.disableValidate) {\r\n this.invalidMessageOff()\r\n return true\r\n }\r\n if (maxDate && (dayjs(value).diff(dayjs(maxDate)) === 0)) {\r\n this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала')\r\n return false\r\n } else if (maxDate && (dayjs(value).diff(dayjs(maxDate)) > 0)) {\r\n this.invalidMessageOn('Дата окончания не может быть раньше даты начала')\r\n return false\r\n } else if (minDate && (dayjs(value).diff(dayjs(minDate)) === 0)) {\r\n this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала')\r\n return false\r\n } else if (minDate && dayjs(value).diff(dayjs(minDate)) < 0) {\r\n this.invalidMessageOn('Дата окончания не может быть раньше даты начала')\r\n return false\r\n } else {\r\n this.invalidMessageOff()\r\n return true\r\n }\r\n }\r\n\r\n public writeValue(outsideValue: InputDateTimeValueTypes) {\r\n if (outsideValue) {\r\n if (typeof outsideValue === 'string') {\r\n this.value = cleanDate(outsideValue);\r\n this.dateModel = dateModelValueParse(outsideValue, this.timezone)\r\n this.timeModel = timeModelValueParse(outsideValue, this.timezone)\r\n\r\n this.checkingInvalid(outsideValue, this.maxDate, this.minDate)\r\n\r\n this.dt.selectDate(formattingFromModels(this.dateModel, this.timeModel, this.timepicker).toISOString(), {\r\n updateTime: this.timepicker,\r\n silent: true\r\n })\r\n this.dt.setViewDate(formattingFromModels(this.dateModel, this.timeModel, this.timepicker).toISOString())\r\n } else if (typeof outsideValue === 'object') {\r\n this.value = outsideValue.map(date => cleanDate(date))\r\n\r\n this.dt.selectDate(this.value, {\r\n updateTime: this.timepicker,\r\n silent: true\r\n })\r\n }\r\n } else {\r\n if (this.dt) {\r\n this.dt.clear({silent: true})\r\n this.value = ''\r\n this.dateModel = dateModelConstant\r\n this.timeModel = timeModelConstant\r\n }\r\n }\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputDateTimeValueTypes) {\r\n this.value = insideValue\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n\r\n public onBlur(event: Event) {\r\n setTimeout(() => {\r\n this.blurred.emit({ value: this.value, id: this.uuid })\r\n })\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid || innerInvalid\"\r\n [class.mrx-input-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"\">\r\n <mrx-label *ngIf=\"timeLabel || dateLabel\">{{ dateLabel }}</mrx-label>\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [placeholder]=\"datePlaceholder\"\r\n [ngModel]=\"getDateValue\"\r\n [mask]=\"'00.00.0000 00:m0'\"\r\n [leadZeroDateTime]=\"true\"\r\n [validation]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"!isManualInput\"\r\n (input)=\"updateDateValue(dateInput)\"\r\n (click)=\"clickToInput(dateInput)\"\r\n (blur)=\"onBlur($event)\"\r\n />\r\n\r\n <div *ngIf=\"!disabled\" class=\"mrx-input-date__icons\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n *ngIf=\"isViewCleanIcon\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid; else innerInvalidTemplate\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <ng-template #innerInvalidTemplate>\r\n <mrx-error-message\r\n *ngIf=\"innerInvalid\"\r\n [invalidMessage]=\"innerInvalidMessage\"\r\n ></mrx-error-message>\r\n </ng-template>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n\r\n\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputDateTimeComponent } from './input-date-time.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IConfig, NgxMaskModule } from 'ngx-mask';\r\nimport { SaveStateModule } from \"../../save-state/save-state.module\";\r\nimport { ErrorMessageModule } from \"../../error-message/error-message.module\";\r\nimport { LabelModule } from \"../../label/label.module\";\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputDateTimeComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n LabelModule,\r\n NgxMaskModule.forRoot(maskConfigFunction),\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [InputDateTimeComponent],\r\n})\r\nexport class InputDateTimeModule {}\r\n","export enum InputDateSizesEnum {\r\n 'small' = 'mrx-input-date-sm',\r\n 'medium' = 'mrx-input-date-md',\r\n 'large' = 'mrx-input-date-lg',\r\n}\r\n\r\nexport type InputDateSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputDateTimeValueTypes = string;\r\n\r\nexport interface InputDateTimeValueWithId {\r\n value: InputDateTimeValueTypes,\r\n id: string\r\n}\r\n","import dayjs from 'dayjs';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\n\r\ndayjs.extend(customParseFormat)\r\n\r\nexport const validateTimeModel = (value: string): TimeModel => {\r\n const timeArray = value.split(':')\r\n const hour = validateHours(timeArray[0]) || ''\r\n const minutes = validateMinutes(timeArray[1]) || ''\r\n const seconds = '00'\r\n\r\n return {\r\n view: `${hour}${minutes ? ':' + minutes : ''}`,\r\n hour: hour,\r\n minute: minutes,\r\n second: seconds,\r\n invalid: value ? value.length !== 5 : true\r\n }\r\n}\r\n\r\n\r\nexport const validateHours = (value: string): string => {\r\n if (Number(value) > 23) {\r\n return '23'\r\n }\r\n return value\r\n}\r\n\r\nexport const validateMinutes = (value: string): string => {\r\n if (Number(value) > 59) {\r\n return '59'\r\n }\r\n return value\r\n}\r\n\r\nexport type TimeModel = {\r\n view: string,\r\n hour: string,\r\n minute: string,\r\n second: string,\r\n invalid: boolean\r\n}\r\n","import { TimeModel } from '../helpers/validate-value-models';\r\n\r\nexport const timeModelConstant: TimeModel = {\r\n view: '',\r\n hour: '',\r\n minute: '',\r\n second: '',\r\n invalid: true\r\n}\r\n","import { TimeModel } from './validate-value-models';\r\nimport dayjs from 'dayjs';\r\n\r\nexport const timeModelValueParse = (value: string, format: string): TimeModel => {\r\n const date = dayjs(value, format)\r\n\r\n const hour = date.hour()\r\n const minute = date.minute()\r\n const second = '00'\r\n const formattedHour = String(hour).length === 2 ? String(hour) : String('0' + hour)\r\n const formattedMinute = String(minute).length === 2 ? String(minute) : String('0' + minute)\r\n const timeString = `${formattedHour}:${formattedMinute}`\r\n\r\n return {\r\n view: timeString,\r\n hour: formattedHour,\r\n minute: formattedMinute,\r\n second: second,\r\n invalid: timeString.length !== 5\r\n }\r\n}\r\n","export const markPosition = (start: number | null, end: number | null, pattern: string = 'date'): any => {\r\n if (start) {\r\n if (start === 1) {\r\n return {start: 0, end: 2}\r\n } else if (start === 4) {\r\n return {start: 3, end: 5}\r\n }\r\n else {\r\n return {start, end}\r\n }\r\n }\r\n}\r\n","import dayjs from 'dayjs';\r\n\r\nexport const cleanDate = (value: string, format: string): string => {\r\n return dayjs(value).format(format)\r\n}\r\n","import { TimeModel } from './validate-value-models';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\n\r\nexport const getDateDayjsObject = (timeModel: TimeModel): Dayjs => {\r\n return dayjs(`${timeModel.hour}:${timeModel.minute}`, 'HH:mm')\r\n}\r\n","import dayjs from 'dayjs';\r\nimport { TimeModel } from './validate-value-models';\r\n\r\nexport const getDateObject = (timeModel: TimeModel): Date => {\r\n return dayjs(`${timeModel.hour}:${timeModel.minute}`, 'HH:mm').toDate()\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport AirDatepicker from 'air-datepicker';\r\nimport {\r\n InputDateSizesEnum,\r\n InputDateSizesTypes,\r\n InputDateTimeValueTypes,\r\n InputDateTimeValueWithId\r\n} from './input-timepicker.enum';\r\nimport { TimeModel, validateTimeModel } from './helpers/validate-value-models';\r\nimport { timeModelConstant } from './constants/value-models';\r\nimport { timeModelValueParse } from './helpers/value-parser';\r\nimport { markPosition } from './helpers/cursor-position';\r\nimport { cleanDate } from './helpers/clean-date';\r\nimport { getDateDayjsObject } from './helpers/get-date-dayjs-object';\r\nimport dayjs from 'dayjs';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { createPopper } from '@popperjs/core';\r\nimport { Field } from '../../../services';\r\nimport { getDateObject } from './helpers/get-date-object';\r\n\r\n@Component({\r\n selector: 'mrx-input-timepicker',\r\n templateUrl: 'input-timepicker.component.html',\r\n styleUrls: ['input-timepicker.components.less'],\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => InputTimepickerComponent), multi: true }\r\n ]\r\n})\r\nexport class InputTimepickerComponent implements ControlValueAccessor, OnChanges, AfterViewInit {\r\n public dt: any;\r\n public value: any = '';\r\n public timeModel: TimeModel = timeModelConstant;\r\n\r\n public innerInvalid = false;\r\n public innerInvalidMessage = '';\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public size: InputDateSizesTypes = 'large';\r\n @Input() public format = 'HH:mm';\r\n @Input() public customClasses = '';\r\n @Input() public placeholder = '00:00';\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public required = false;\r\n @Input() public minValue = '';\r\n @Input() public maxValue = '';\r\n @Input() public inline = false;\r\n @Input() public closable = true;\r\n\r\n @Input() public leadZeroDateTime = false;\r\n @Input() public mask = '00:m0';\r\n\r\n @Input() public container = 'div.page-wrapper';\r\n\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @ViewChild('dateInput') dateInput!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<string> = new EventEmitter();\r\n @Output() public modelChange: EventEmitter<InputDateTimeValueWithId> = new EventEmitter<InputDateTimeValueWithId>();\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dt = new AirDatepicker(this.dateInput.nativeElement, {\r\n container: this.container,\r\n locale: {\r\n timeFormat: this.format,\r\n },\r\n autoClose: true,\r\n timepicker: true,\r\n onlyTimepicker: true,\r\n minDate: this.minValue ? dayjs(this.minValue, this.format).toDate() : '',\r\n maxDate: this.maxValue ? dayjs(this.maxValue, this.format).toDate() : '',\r\n inline: this.inline,\r\n position({ $datepicker, $target, $pointer, done }) {\r\n let popper = createPopper($target, $datepicker, {\r\n placement: 'bottom-start',\r\n modifiers: [\r\n {\r\n name: 'flip',\r\n options: {\r\n padding: {\r\n top: 64\r\n }\r\n }\r\n },\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [0, 10]\r\n }\r\n },\r\n {\r\n name: 'arrow',\r\n options: {\r\n element: $pointer\r\n }\r\n }\r\n ]\r\n });\r\n\r\n return function completeHide() {\r\n popper.destroy();\r\n done();\r\n };\r\n },\r\n onSelect: ({ date, formattedDate, datepicker }) => {\r\n\r\n if (date instanceof Date && typeof formattedDate === 'string') {\r\n this.timeModel = validateTimeModel(formattedDate);\r\n\r\n if (this.isValidModels) {\r\n this.updateValueModel(this.timeModel);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.dt) {\r\n if (changes['maxValue']) {\r\n this.maxValue = changes['maxValue'].currentValue\r\n this.dt.update({ maxDate: this.maxValue ? dayjs(this.maxValue, this.format).toDate() : '' });\r\n } else if (changes['minValue']) {\r\n this.minValue = changes['minValue'].currentValue\r\n this.dt.update({ minDate: this.minValue ? dayjs(this.minValue, this.format).toDate() : '' });\r\n }\r\n }\r\n }\r\n\r\n public get getDateValue(): string {\r\n return `${this.timeModel.view}`;\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputDateSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n private get isValidModels(): boolean {\r\n return !this.timeModel.invalid\r\n }\r\n\r\n public get isViewCleanIcon() {\r\n return !!this.dateInput?.nativeElement.value && this.closable;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n public clickToIconCalendar(): void {\r\n this.dateInput.nativeElement.focus();\r\n }\r\n\r\n public clickToIconClear(): void {\r\n this.dt.setViewDate(new Date());\r\n this.dt && this.dt.clear();\r\n this.timeModel = timeModelConstant;\r\n this.updateValue('');\r\n this.innerInvalid = false;\r\n this.innerInvalidMessage = '';\r\n }\r\n\r\n private updateValueModel(timeModel: TimeModel, bol: boolean = false) {\r\n if (timeModel.view === '') {\r\n this.clickToIconClear();\r\n } else {\r\n const date = getDateDayjsObject(timeModel);\r\n const formattingDate = date.format(this.format);\r\n const isValid = this.checkingInvalid(formattingDate, this.maxValue, this.minValue);\r\n\r\n if (date.isValid() && isValid) {\r\n this.dt.selectDate(getDateObject(timeModel), {\r\n updateTime: true,\r\n silent: true\r\n });\r\n this.dt.setViewDate(getDateObject(timeModel));\r\n this.updateValue(formattingDate);\r\n }\r\n }\r\n }\r\n\r\n private invalidMessageOn(message: string): void {\r\n this.innerInvalid = true;\r\n this.innerInvalidMessage = message;\r\n }\r\n\r\n private invalidMessageOff(): void {\r\n this.innerInvalid = false;\r\n this.innerInvalidMessage = '';\r\n }\r\n\r\n public updateDateValue(dateInput: HTMLInputElement): void {\r\n this.timeModel = validateTimeModel(dateInput.value);\r\n\r\n if (this.isValidModels || this.timeModel.view === '') {\r\n this.updateValueModel(this.timeModel);\r\n }\r\n }\r\n\r\n public clickToInput(input: HTMLInputElement): void {\r\n if (input.selectionStart === input.selectionEnd && (input.selectionStart && input.selectionStart > 0)) {\r\n const { start, end } = markPosition(input.selectionStart, input.selectionEnd);\r\n input.selectionStart = start;\r\n input.selectionEnd = end;\r\n }\r\n }\r\n\r\n private checkingInvalid(value: string, maxDate: string, minDate: string) {\r\n // if (maxDate && (dayjs(value).diff(dayjs(maxDate)) === 0)) {\r\n // // this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала');\r\n // // return false;\r\n // } else if (maxDate && (dayjs(value).diff(dayjs(maxDate)) > 0)) {\r\n // // this.invalidMessageOn('Дата окончания не может быть раньше даты начала');\r\n // // return false;\r\n // } else if (minDate && (dayjs(value).diff(dayjs(minDate)) === 0)) {\r\n // // this.invalidMessageOn('Дата и время окончания не может быть равна дате и времени начала');\r\n // // return false;\r\n // } else if (minDate && dayjs(value).diff(dayjs(minDate)) < 0) {\r\n // // this.invalidMessageOn('Дата окончания не может быть раньше даты начала');\r\n // // return false;\r\n // } else {\r\n // // this.invalidMessageOff();\r\n // // return true;\r\n // }\r\n this.invalidMessageOff();\r\n return true;\r\n }\r\n\r\n public writeValue(outsideValue: InputDateTimeValueTypes) {\r\n if (outsideValue) {\r\n this.value = cleanDate(outsideValue, this.format);\r\n\r\n this.timeModel = timeModelValueParse(outsideValue, this.format);\r\n\r\n this.checkingInvalid(outsideValue, this.maxValue, this.minValue);\r\n\r\n this.dt.selectDate(getDateObject(this.timeModel), { updateTime: true, silent: true });\r\n this.dt.setViewDate(getDateObject(this.timeModel));\r\n } else {\r\n if (this.dt) {\r\n this.dt.clear();\r\n }\r\n }\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputDateTimeValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid || innerInvalid\"\r\n [class.mrx-input-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"\">\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [placeholder]=\"placeholder\"\r\n [ngModel]=\"getDateValue\"\r\n [mask]=\"mask\"\r\n [leadZeroDateTime]=\"true\"\r\n [validation]=\"false\"\r\n [disabled]=\"disabled\"\r\n (input)=\"updateDateValue(dateInput)\"\r\n (click)=\"clickToInput(dateInput)\"\r\n />\r\n <div *ngIf=\"!disabled\" class=\"mrx-input-date__icons\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n *ngIf=\"isViewCleanIcon\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid; else innerInvalidTemplate\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <ng-template #innerInvalidTemplate>\r\n <mrx-error-message\r\n *ngIf=\"innerInvalid\"\r\n [invalidMessage]=\"innerInvalidMessage\"\r\n ></mrx-error-message>\r\n </ng-template>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n\r\n\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputTimepickerComponent } from './input-timepicker.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IConfig, NgxMaskModule } from 'ngx-mask';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { LabelModule } from '../../label/label.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n return {\r\n validation: false,\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputTimepickerComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n LabelModule,\r\n NgxMaskModule.forRoot(maskConfigFunction),\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [InputTimepickerComponent],\r\n})\r\nexport class InputTimepickerModule {}\r\n","export const changeIconsFunction = (name: string, control: any, clearName: any) => {\r\n switch (clearName) {\r\n case 'paragraph':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-paragraph icon-font-24\"></span>'\r\n case 'bold':\r\n return (`<span class=\"mrx-icon icon-wysiwyg-icons-text-bold icon-font-24\"></span>`);\r\n case 'strikethrough':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-strikethrough-text icon-font-24\"></span>'\r\n case 'underline':\r\n return (`<span class=\"mrx-icon icon-wysiwyg-icons-text-underline icon-font-24\"></span>`);\r\n case 'italic':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-text-italic icon-font-24\"></span>';\r\n case 'redo':\r\n return '<span class=\"mrx-icon icon-reload icon-font-24\"></span>'\r\n case 'undo':\r\n return '<span class=\"mrx-icon icon-return icon-font-24\"></span>'\r\n case 'search':\r\n return '<span class=\"mrx-icon icon-search icon-font-24\"></span>'\r\n case 'source':\r\n return '<span class=\"mrx-icon icon-code icon-font-24\"></span>'\r\n case 'table':\r\n return '<span class=\"mrx-icon icon-table icon-font-24\"></span>'\r\n case 'valign':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-padding icon-font-24\"></span>'\r\n case 'splitv':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-column-split icon-font-24\"></span>'\r\n case 'merge':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-column-merge icon-font-24\"></span>'\r\n case 'addcolumn':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-add-column icon-font-24\"></span>'\r\n case 'addrow':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-add-row icon-font-24\"></span>'\r\n case 'brush':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-fill-color icon-font-24\"></span>'\r\n case 'Background':\r\n return null\r\n case 'Text':\r\n return null\r\n case 'Border':\r\n return null\r\n case 'font':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-font-family icon-font-24\"></span>'\r\n case 'fontsize':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-font-size icon-font-24\"></span>'\r\n case 'left':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-text-align-left icon-font-24\"></span>'\r\n case 'right':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-text-align-right icon-font-24\"></span>'\r\n case 'center':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-text-align-center icon-font-24\"></span>'\r\n case 'justify':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-text-align-justify icon-font-24\"></span>'\r\n case 'lineHeight':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-line-height icon-font-24\"></span>'\r\n case 'indent':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-padding-left icon-font-24\"></span>'\r\n case 'outdent':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-padding-right icon-font-24\"></span>'\r\n case 'ul':\r\n return '<span class=\"mrx-icon icon-point icon-font-24\"></span>'\r\n case 'ol':\r\n return '<span class=\"mrx-icon icon-numbers icon-font-24\"></span>'\r\n case 'link':\r\n return '<span class=\"mrx-icon icon-link icon-font-24\"></span>'\r\n case 'image':\r\n return '<span class=\"mrx-icon icon-image icon-font-24\"></span>'\r\n case 'delete':\r\n return '<span class=\"mrx-icon icon-delete icon-font-24\"></span>'\r\n case 'upload':\r\n return '<span class=\"mrx-icon icon-upload icon-font-24\"></span>'\r\n case 'video':\r\n return '<span class=\"mrx-icon icon-wysiwyg-icons-media icon-font-24\"></span>'\r\n case 'dots':\r\n return '<span class=\"mrx-icon icon-more-vertical icon-font-24\"></span>'\r\n case 'bin':\r\n return '<span class=\"mrx-icon icon-delete icon-font-24\"></span>'\r\n case 'eye':\r\n return '<span class=\"mrx-icon icon-view icon-font-24\"></span>'\r\n case 'pencil':\r\n return '<span class=\"mrx-icon icon-edit icon-font-24\"></span>'\r\n case 'unlink':\r\n return '<span class=\"mrx-icon icon-cancel icon-font-24\"></span>'\r\n case 'file':\r\n return '<span class=\"mrx-icon icon-file icon-font-24\"></span>'\r\n case 'empty':\r\n case '':\r\n return null\r\n default:\r\n return '<span class=\"mrx-icon icon-close icon-font-24\"></span>'\r\n }\r\n}\r\n","import { ToolbarConfig } from '../models/toolbar.model';\r\n\r\nexport const defaultToolbar: ToolbarConfig = {\r\n buttons: [\r\n 'paragraph',\r\n '|',\r\n 'font',\r\n 'fontsize',\r\n 'brush',\r\n '|',\r\n 'bold',\r\n 'italic',\r\n 'underline',\r\n 'strikethrough',\r\n '|',\r\n {\r\n name: 'left',\r\n list: ['left', 'right', 'center', 'justify'],\r\n },\r\n '|',\r\n 'lineHeight',\r\n 'indent',\r\n 'outdent',\r\n '|',\r\n {\r\n name: 'ul',\r\n list: ''\r\n },\r\n {\r\n name: 'ol',\r\n list: ''\r\n },\r\n '|',\r\n 'link',\r\n {\r\n name: 'image',\r\n css: {\r\n display: 'flex'\r\n }\r\n },\r\n 'table',\r\n 'video',\r\n 'source',\r\n '|',\r\n 'find',\r\n 'undo',\r\n 'redo',\r\n ],\r\n // buttonsMD: [\r\n // 'paragraph',\r\n // '|',\r\n // 'font',\r\n // 'fontsize',\r\n // 'brush',\r\n // 'dots'\r\n // ],\r\n // buttonsSM: [\r\n // 'paragraph',\r\n // '|',\r\n // 'font',\r\n // 'fontsize',\r\n // 'brush',\r\n // 'dots'\r\n // ],\r\n // buttonsXS: [\r\n // 'paragraph',\r\n // '|',\r\n // 'font',\r\n // 'fontsize',\r\n // 'brush',\r\n // 'dots'\r\n // ]\r\n}\r\n","export const popupToolbars = {\r\n img: [\r\n { name: 'delete', icon: 'bin' },\r\n { name: 'left', list: ['left', 'right', 'center', 'justify'] },\r\n {name: 'nullable'},\r\n {name: 'nullable'}\r\n ]\r\n}\r\n\r\n","export const defaultInlineStyleConstant = {\r\n table: { style: 'border:1px solid #C5C6C8FF;border-collapse:collapse;width: 100%;' },\r\n tr: { style: ' border: 1px solid #C5C6C8FF;' },\r\n td: { style: ' border: 1px solid #C5C6C8FF;'}\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { changeIconsFunction } from './modules/change-icon-module';\r\nimport { defaultToolbar } from './config';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { popupToolbars } from './config/popups-toolbar';\r\nimport { ToolbarConfig } from './models/toolbar.model';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\nimport { defaultInlineStyleConstant } from './config/default-inline-style';\r\nimport { InputEditorValueWithId } from './editor.enum';\r\n\r\n@Component({\r\n selector: 'mrx-editor',\r\n templateUrl: './editor.component.html',\r\n styleUrls: ['./editor.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EditorComponent),\r\n multi: true,\r\n },\r\n ]\r\n})\r\nexport class EditorComponent implements ControlValueAccessor, OnChanges {\r\n private _isInit = false;\r\n public value = '';\r\n public valueLength = 0;\r\n public isFocused: boolean | null = false;\r\n\r\n public defaultConfig: any = {\r\n ...defaultToolbar,\r\n popup: popupToolbars,\r\n language: 'ru',\r\n showCharsCounter: false,\r\n showWordsCounter: false,\r\n showXPathInStatusbar: false,\r\n link: {\r\n noFollowCheckbox: false\r\n },\r\n minHeight: 110,\r\n iframe: false,\r\n imageDefaultWidth: 200,\r\n editHTMLDocumentMode: false,\r\n cleanHTML: {\r\n fillEmptyParagraph: true\r\n },\r\n placeholder: '',\r\n toolbarAdaptive: false,\r\n toolbarInline: true,\r\n toolbarInlineForSelection: false,\r\n toolbarInlineDisableFor: [],\r\n toolbarInlineDisabledButtons: ['source'],\r\n disabled: false,\r\n readonly: false,\r\n askBeforePasteHTML: false,\r\n defaultActionOnPaste: 'insert_only_text',\r\n askBeforePasteFromWord: false,\r\n hidePoweredByJodit: true,\r\n beautifyHTML: true,\r\n addNewLine: true,\r\n createAttributes: {},\r\n events: {\r\n getIcon: changeIconsFunction,\r\n },\r\n // uploader: {\r\n // insertImageAsBase64URI: true\r\n // },\r\n // limitChars: 10,\r\n // limitHTML: 170,\r\n // colors: ['#ff0000', '#00ff00', '#0000ff', '#0000ff', '#0000ff', '#0000ff', '/', '#0000ff'],\r\n };\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public toolbar!: ToolbarConfig;\r\n @Input() public maxLength = 0;\r\n @Input() public minHeight = 110;\r\n @Input() public customClasses = '';\r\n @Input() public placeholder = '';\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public iframe = false;\r\n\r\n @Input() public config: any = this.defaultConfig;\r\n\r\n @Input() public defaultInlineStyle = false;\r\n @Input() public defaultActionOnPaste = 'insert_only_text';\r\n @Input() public askBeforePasteHTML = false;\r\n @Input() public editHTMLDocumentMode = false;\r\n @Input() public askBeforePasteFromWord = false;\r\n\r\n // VALIDATE\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @ViewChild('editorElementRef') editorElementRef!: any;\r\n\r\n @Output() public changed: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() public modelChange: EventEmitter<InputEditorValueWithId> = new EventEmitter<InputEditorValueWithId>();\r\n @Output() public blurred: EventEmitter<InputEditorValueWithId> = new EventEmitter<InputEditorValueWithId>();\r\n\r\n constructor(private changeDetection: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['toolbar']) {\r\n this.defaultConfig = { ...this.defaultConfig, ...changes['toolbar'].currentValue };\r\n }\r\n if (changes['maxLength']) {\r\n this.defaultConfig = { ...this.defaultConfig, limitChars: changes['maxLength'].currentValue };\r\n }\r\n if (changes['placeholder']) {\r\n this.defaultConfig = { ...this.defaultConfig, placeholder: changes['placeholder'].currentValue };\r\n }\r\n if (changes['disabled']) {\r\n this.defaultConfig = { ...this.defaultConfig, disabled: changes['disabled'].currentValue };\r\n }\r\n if (changes['readonly']) {\r\n this.defaultConfig = { ...this.defaultConfig, readonly: changes['readonly'].currentValue };\r\n }\r\n if (changes['iframe']) {\r\n this.defaultConfig = { ...this.defaultConfig, iframe: changes['iframe'].currentValue };\r\n }\r\n if (changes['defaultInlineStyle']) {\r\n this.defaultConfig = { ...this.defaultConfig, createAttributes: { ...this.defaultConfig.createAttributes, ...defaultInlineStyleConstant } };\r\n }\r\n if (changes['editHTMLDocumentMode']) {\r\n this.defaultConfig = {\r\n ...this.defaultConfig,\r\n editHTMLDocumentMode: changes['editHTMLDocumentMode'].currentValue\r\n };\r\n }\r\n if (changes['askBeforePasteHTML']) {\r\n this.defaultConfig = { ...this.defaultConfig, askBeforePasteHTML: changes['askBeforePasteHTML'].currentValue };\r\n }\r\n if (changes['askBeforePasteFromWord']) {\r\n this.defaultConfig = {\r\n ...this.defaultConfig,\r\n askBeforePasteFromWord: changes['askBeforePasteFromWord'].currentValue\r\n };\r\n }\r\n if (changes['defaultActionOnPaste']) {\r\n this.defaultConfig = {\r\n ...this.defaultConfig,\r\n defaultActionOnPaste: changes['defaultActionOnPaste'].currentValue\r\n };\r\n }\r\n if (changes['minHeight']) {\r\n this.defaultConfig = { ...this.defaultConfig, minHeight: changes['minHeight'].currentValue };\r\n }\r\n if (changes['config']) {\r\n this.defaultConfig = { ...this.defaultConfig, ...changes['config'].currentValue };\r\n }\r\n }\r\n\r\n private get _isInvalidValueLength(): boolean {\r\n return this.maxLength < this.valueLength && this.maxLength > 0\r\n }\r\n\r\n public get getInvalid(): boolean {\r\n return this._isInvalidValueLength || this.invalid\r\n }\r\n\r\n public get getInvalidMessage(): string | string[] {\r\n return this._isInvalidValueLength ? 'Превышено допустимое значение символов' : this.invalidMessage\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ? 'mrx-input-checked-success' : this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n public insertPositionText(text: string) {\r\n this.editorElementRef.editor.s.insertHTML(text);\r\n }\r\n\r\n public changeFocused(value: boolean): void {\r\n this.isFocused = value;\r\n this.changeDetection.detectChanges();\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: any) {\r\n this.value = this._sanitizeValue(outsideValue);\r\n if (outsideValue !== null) {\r\n setTimeout(() => {\r\n this._isInit = true;\r\n });\r\n }\r\n }\r\n\r\n private _sanitizeValue(value: string): string {\r\n return value ? value.replace(/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi, '') : value;\r\n }\r\n\r\n private _calculateChartsCount() {\r\n this.valueLength = this.editorElementRef.editor.text.replace(/\\s+/g, '').length;\r\n }\r\n\r\n public updateValue(insideValue: string) {\r\n if (this.maxLength) {\r\n this._calculateChartsCount();\r\n }\r\n\r\n if (this._isInit) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n }\r\n\r\n public onBlur(value: boolean) {\r\n this.changeFocused(value)\r\n this.blurred.emit({ value: this.value, id: this.uuid })\r\n }\r\n}\r\n","<div\r\n class=\"mrx-editor\"\r\n [class.mrx-input-focused]=\"isFocused\"\r\n [class.mrx-input-error]=\"getInvalid\"\r\n [class]=\"getClasses\"\r\n>\r\n <jodit-editor\r\n #editorElementRef\r\n [config]=\"defaultConfig\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (onFocus)=\"changeFocused(true)\"\r\n (onBlur)=\"onBlur(false)\"\r\n ></jodit-editor>\r\n\r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxLength\"\r\n [valueLength]=\"valueLength\"\r\n [maxlength]=\"maxLength\"\r\n ></mrx-chars-left>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state type=\"editor\" [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EditorComponent } from './editor.component';\r\nimport { JoditAngularModule } from 'jodit-angular';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { SafeModule } from '../../../pipes/safe/safe.module';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n@NgModule({\r\n declarations: [ EditorComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n JoditAngularModule,\r\n CharsLeftModule,\r\n SafeModule,\r\n ErrorMessageModule,\r\n SaveStateModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [EditorComponent]\r\n})\r\nexport class EditorModule { }\r\n","import { AfterContentChecked, AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { SimpleModalComponent } from 'ngx-simple-modal';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { EditorComponent } from \"../../../editor/editor.component\";\r\n\r\nexport interface DocumentEditorPreviewModalParams {\r\n title: string;\r\n content: string\r\n}\r\n\r\nexport interface DocumentEditorPreviewModalResult {\r\n result: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'mrx-document-editor-preview-modal',\r\n templateUrl: './document-editor-preview-modal.component.html'\r\n})\r\nexport class DocumentEditorPreviewModalComponent extends SimpleModalComponent\r\n <DocumentEditorPreviewModalParams, DocumentEditorPreviewModalResult> implements AfterContentChecked {\r\n public title: string | undefined;\r\n public content: string | undefined;\r\n\r\n @ViewChild('iframeTemplate') iframeTemplate!: ElementRef;\r\n\r\n constructor(public sanitizer: DomSanitizer) {\r\n super();\r\n this.result = {result: false};\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this.iframeTemplate) {\r\n this.iframeTemplate.nativeElement.style.height =\r\n this.iframeTemplate.nativeElement.contentWindow.document.documentElement.scrollHeight + 'px';\r\n }\r\n }\r\n\r\n public ok() {\r\n this.result = {result: true};\r\n this.close();\r\n }\r\n}\r\n","<mrx-modal\r\n [title]=\"title\"\r\n [expandable]=\"true\"\r\n size=\"extra-large\"\r\n color=\"info\"\r\n [enableFooter]=\"false\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <div>\r\n <div *ngIf=\"content\">\r\n <iframe\r\n #iframeTemplate\r\n frameborder=\"0\"\r\n class=\"w-100\"\r\n [srcdoc]=\"sanitizer.bypassSecurityTrustHtml(content)\"\r\n ></iframe>\r\n </div>\r\n </div>\r\n</mrx-modal>\r\n","import { ShortCodeI } from '../models/document-editor-short-codes.enum';\r\n\r\nexport const transformSysNameToViewName = (text: string, shortcodes: ShortCodeI[]) => {\r\n let tempText = text || ''\r\n\r\n shortcodes.forEach((shortcode: ShortCodeI) => {\r\n const reg1 = '[[^\\\\]]'\r\n const reg2 = '[\\\\]$]'\r\n const regexp = new RegExp(reg1 + shortcode.systemName + reg2, 'g')\r\n\r\n tempText = tempText.replace(regexp, `[${shortcode.viewName}]`);\r\n })\r\n\r\n return tempText\r\n}\r\n\r\nexport const transformViewNameToSysName = (text: string, shortcodes: ShortCodeI[]) => {\r\n let tempText = text || ''\r\n\r\n shortcodes.forEach((shortcode: ShortCodeI) => {\r\n const reg1 = '[[^\\\\]]'\r\n const reg2 = '[\\\\]$]'\r\n const regexp = new RegExp(reg1 + shortcode.viewName + reg2, 'g')\r\n\r\n tempText = tempText.replace(regexp, `[${shortcode.systemName}]`);\r\n })\r\n\r\n return tempText\r\n}\r\n\r\nexport const transformSysNameToPreviewName = (text: string, shortcodes: ShortCodeI[]) => {\r\n let tempText = text || ''\r\n\r\n shortcodes.forEach((shortcode: ShortCodeI) => {\r\n const reg1 = '[[^\\\\]]'\r\n const reg2 = '[\\\\]$]'\r\n const regexp = new RegExp(reg1 + shortcode.systemName + reg2, 'g')\r\n\r\n tempText = tempText.replace(regexp, shortcode.previewValue);\r\n })\r\n\r\n return tempText\r\n}\r\n\r\nexport const transformViewNameToPreviewName = (text: string, shortcodes: ShortCodeI[]) => {\r\n let tempText = text || ''\r\n\r\n shortcodes.forEach((shortcode: ShortCodeI) => {\r\n const reg1 = '[[^\\\\]]'\r\n const reg2 = '[\\\\]$]'\r\n const regexp = new RegExp(reg1 + shortcode.viewName + reg2, 'g')\r\n\r\n tempText = tempText.replace(regexp, shortcode.previewValue);\r\n })\r\n\r\n return tempText\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ShortCodeI } from './models/document-editor-short-codes.enum';\r\nimport { EditorComponent } from '../editor/editor.component';\r\nimport { SimpleModalService } from 'ngx-simple-modal';\r\nimport {\r\n DocumentEditorPreviewModalComponent\r\n} from './components/document-editor-preview-modal/document-editor-preview-modal.component';\r\nimport {\r\n transformSysNameToViewName,\r\n transformViewNameToPreviewName,\r\n transformViewNameToSysName\r\n} from './helpers/transform-sysname';\r\nimport { ToolbarConfig } from '../editor/models/toolbar.model';\r\n\r\n@Component({\r\n selector: 'mrx-document-editor',\r\n templateUrl: './document-editor.component.html',\r\n styleUrls: ['./document-editor.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DocumentEditorComponent),\r\n multi: true,\r\n },\r\n ]\r\n})\r\nexport class DocumentEditorComponent implements ControlValueAccessor {\r\n public value = ''\r\n public isHiddenShortCodes = true\r\n\r\n @Input() public shortCodes: ShortCodeI[] = []\r\n @Input() public shortCodeViewCount = 0\r\n @Input() public editHTMLDocumentMode = true;\r\n @Input() public toolbar!: ToolbarConfig\r\n @Input() public customClasses = '';\r\n @Input() public placeholder = '';\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n\r\n @ViewChild('editor') editor!: EditorComponent;\r\n\r\n @Output() public changed: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n constructor(\r\n private simpleModalService: SimpleModalService\r\n ) { }\r\n\r\n public get transformedValue(): string {\r\n return transformSysNameToViewName(this.value, this.shortCodes);\r\n }\r\n\r\n public get sliceShortCodeButtons(): ShortCodeI[] {\r\n return this.isSliced ? this.shortCodes.slice(0, this.shortCodeViewCount) : this.shortCodes\r\n }\r\n\r\n public get isSliced(): boolean {\r\n return this.isHiddenShortCodes && !!this.shortCodeViewCount && (this.shortCodeViewCount < this.shortCodes.length)\r\n }\r\n\r\n public insertShortCode(shortCode: ShortCodeI) {\r\n this.editor.insertPositionText(`[${shortCode.viewName}]`)\r\n }\r\n\r\n public openPreviewModal() {\r\n this.simpleModalService.addModal(DocumentEditorPreviewModalComponent, {\r\n title: 'ПРЕДПРОСМОТР',\r\n content: transformViewNameToPreviewName(this.value, this.shortCodes)\r\n }, {wrapperDefaultClasses: 'mrx-modal fade-anim'})\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: any) {\r\n this.value = transformSysNameToViewName(outsideValue, this.shortCodes);\r\n }\r\n\r\n public updateValue(insideValue: string) {\r\n this.value = insideValue;\r\n this.changed.emit(transformViewNameToSysName(insideValue, this.shortCodes))\r\n this.onChange(transformViewNameToSysName(insideValue, this.shortCodes));\r\n this.onTouched();\r\n }\r\n\r\n public showAllShortCodes() {\r\n this.isHiddenShortCodes = false\r\n }\r\n}\r\n","<div class=\"mrx-document-editor\">\r\n <div class=\"mrx-document-editor__shortcode-buttons mb-2\">\r\n <ng-container *ngFor=\"let shortCode of sliceShortCodeButtons\">\r\n <mrx-button\r\n size=\"small\"\r\n type=\"secondary\"\r\n (mrxClick)=\"insertShortCode(shortCode)\"\r\n >{{ shortCode.viewName }}</mrx-button>\r\n </ng-container>\r\n <mrx-button\r\n *ngIf=\"isSliced\"\r\n size=\"small\"\r\n (mrxClick)=\"showAllShortCodes()\"\r\n >Еще</mrx-button>\r\n </div>\r\n\r\n <div class=\"mrx-document-editor__editor mb-2\">\r\n <mrx-editor\r\n #editor\r\n [ngModel]=\"transformedValue\"\r\n [toolbar]=\"toolbar\"\r\n [customClasses]=\"customClasses\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [iframe]=\"true\"\r\n [editHTMLDocumentMode]=\"editHTMLDocumentMode\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n ></mrx-editor>\r\n </div>\r\n\r\n <div class=\"mrx-document-editor__preview\">\r\n <mrx-button\r\n size=\"medium\"\r\n type=\"secondary\"\r\n iconClass=\"icon-view\"\r\n [disabled]=\"!transformedValue\"\r\n (mrxClick)=\"openPreviewModal()\"\r\n >Предпросмотр</mrx-button>\r\n </div>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DocumentEditorComponent } from './document-editor.component';\r\nimport { EditorModule } from '../editor/editor.module';\r\nimport { ButtonModule } from '../../button/button.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ModalModule } from '../../modal/modal.module';\r\nimport {\r\n DocumentEditorPreviewModalComponent\r\n} from './components/document-editor-preview-modal/document-editor-preview-modal.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n DocumentEditorComponent,\r\n DocumentEditorPreviewModalComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n EditorModule,\r\n ButtonModule,\r\n ModalModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [DocumentEditorComponent]\r\n})\r\nexport class DocumentEditorModule {\r\n}\r\n","export enum RatingSizesEnum {\r\n 'small' = 'mrx-rating-sm',\r\n 'large' = 'mrx-rating-lg',\r\n}\r\n\r\nexport enum RatingWrapperSizesEnum {\r\n 'small' = 'mrx-rating-wrapper-sm',\r\n 'large' = 'mrx-rating-wrapper-lg',\r\n}\r\n\r\nexport type RatingSizesTypes = 'small' | 'large'\r\n\r\nexport enum RatingValueSizesEnum {\r\n 'small' = 'mrx-rating-value-sm',\r\n 'large' = 'mrx-rating-value-lg',\r\n}\r\n\r\nexport type RatingValueSizesTypes = 'small' | 'large'\r\n\r\nexport type RatingValueType = number;\r\n\r\nexport interface RatingElement {\r\n value: number,\r\n filled: boolean,\r\n double: boolean\r\n}\r\n\r\nexport interface RatingProperties {\r\n minValue: number,\r\n maxValue: number,\r\n text: string\r\n}\r\n\r\nexport type RatingViewMode = 'none' | 'text' | 'value' | 'text-with-value';\r\n\r\nexport type RatingState = 'view' | 'edit';\r\n","/**\r\n * Функция форматирования чисел, возвращает число в формате 0,00\r\n * @param number число\r\n * @param minimumDigits\r\n * */\r\nexport const toNumberFormat = (number: number, minimumDigits: number = 2) => {\r\n return new Intl.NumberFormat('ru', {minimumFractionDigits: minimumDigits}).format(number)\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\r\nimport {\r\n RatingElement,\r\n RatingProperties,\r\n RatingSizesEnum,\r\n RatingSizesTypes, RatingState, RatingValueSizesEnum,\r\n RatingValueSizesTypes,\r\n RatingValueType,\r\n RatingViewMode, RatingWrapperSizesEnum\r\n} from './rating.enum';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { toNumberFormat } from '../../../helpers/number-format';\r\n\r\n@Component({\r\n selector: 'mrx-rating',\r\n templateUrl: './rating.component.html',\r\n styleUrls: ['./rating.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RatingComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class RatingComponent implements ControlValueAccessor, OnInit {\r\n public value: RatingValueType = 0;\r\n public elements: RatingElement[] = [];\r\n\r\n private ratingProperties: RatingProperties[] = [\r\n {\r\n minValue: 0,\r\n maxValue: 20,\r\n text: 'Очень плохо'\r\n },\r\n {\r\n minValue: 20,\r\n maxValue: 40,\r\n text: 'Плохо'\r\n },\r\n {\r\n minValue: 40,\r\n maxValue: 60,\r\n text: 'Удовлетворительно'\r\n },\r\n {\r\n minValue: 60,\r\n maxValue: 80,\r\n text: 'Хорошо'\r\n },\r\n {\r\n minValue: 80,\r\n maxValue: 100,\r\n text: 'Отлично'\r\n }\r\n ];\r\n\r\n @Input() ratingCount = 5;\r\n @Input() size: RatingSizesTypes = 'large';\r\n @Input() valueSize: RatingValueSizesTypes = 'large';\r\n\r\n @Input() iconClass = 'icon-star-filled';\r\n @Input() customClasses = '';\r\n @Input() readonly = false;\r\n @Input() disabled = false;\r\n @Input() double = false;\r\n @Input() viewMode: RatingViewMode = 'none';\r\n\r\n @Input() step = 0.5;\r\n @Input() ratingSettings: RatingProperties[] = this.ratingProperties;\r\n @Input() maxValue = 5;\r\n\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Output() public changed: EventEmitter<RatingValueType> = new EventEmitter<RatingValueType>();\r\n\r\n ngOnInit(): void {\r\n this.elements = Array(this.ratingCount).fill(0).map((x, i) => {\r\n return {value: i + 1, filled: false, double: false};\r\n });\r\n }\r\n\r\n public get isValid(): boolean {\r\n return this.baseValidate();\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage.length;\r\n }\r\n\r\n public get readonlyClass(): string {\r\n return this.readonly ? 'mrx-input__readonly' : '';\r\n }\r\n\r\n public get getWrapperClasses() {\r\n return `${this.customClasses} ${RatingWrapperSizesEnum[this.size]}`;\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${RatingSizesEnum[this.size]} ${this.readonlyClass}`;\r\n }\r\n\r\n public get getValueClasses(): string {\r\n return `${RatingValueSizesEnum[this.size]}`;\r\n }\r\n\r\n public get formattedValue(): number {\r\n return Number(this.value);\r\n }\r\n\r\n public get ratingText(): string {\r\n if(this.ratingCount === 1) {\r\n this.maxValue = this.maxValue;\r\n } else {\r\n this.maxValue = this.ratingCount;\r\n }\r\n\r\n const ratingValue = this.value * 100 / this.maxValue;\r\n\r\n if (ratingValue) {\r\n return this.ratingSettings.filter((i) => ratingValue > i.minValue && ratingValue <= i.maxValue)[0].text;\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public get canActive() {\r\n return !(this.disabled || this.readonly);\r\n }\r\n\r\n public toNumberFormatFunc(value: number) {\r\n return toNumberFormat(value, 1);\r\n }\r\n\r\n protected baseValidate(): boolean {\r\n return true;\r\n }\r\n\r\n public changeValue(value: number, type: 'single' | 'double'): void {\r\n if (type === 'single') {\r\n this.updateValue(value);\r\n } else {\r\n this.updateValue(value - this.step);\r\n }\r\n }\r\n\r\n public hoverElementHandle(item: RatingElement, type: 'single' | 'double') {\r\n if (type === 'single') {\r\n this._updateState(item.value);\r\n } else {\r\n this._updateState(item.value - this.step);\r\n }\r\n }\r\n\r\n public resetElementHandle() {\r\n this._updateState(this.formattedValue);\r\n }\r\n\r\n public trackByFn(index: number, item: RatingElement) {\r\n return item.value;\r\n }\r\n\r\n private onChange = (value: RatingValueType) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: RatingValueType) {\r\n this.value = outsideValue;\r\n\r\n if (outsideValue !== null) {\r\n this._updateState(this.formattedValue);\r\n }\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n // this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: RatingValueType) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n\r\n private _updateState(value: number) {\r\n this.elements.forEach((element: RatingElement) => {\r\n if(this.ratingCount === 1) {\r\n element.filled = value > 0\r\n return\r\n }\r\n\r\n if(!this.double) {\r\n element.filled = element.value <= value;\r\n } else {\r\n element.filled = element.value - this.step <= value;\r\n element.double = value >= this.step && value < element.value;\r\n }\r\n });\r\n }\r\n}","<div class=\"mrx-rating-wrapper\" [class]=\"getWrapperClasses\">\r\n <div\r\n *ngIf=\"canActive; else viewTemplate\"\r\n class=\"mrx-rating edit-state\"\r\n [class]=\"getClasses\"\r\n (mouseleave)=\"resetElementHandle()\"\r\n >\r\n <ng-container *ngFor=\"let item of elements; let idx = index; trackBy: trackByFn\">\r\n <div class=\"mrx-rating-item\" [class.disabled]=\"disabled || readonly\">\r\n <div *ngIf=\"double\" class=\"mrx-rating-item-double-wrapper\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.filled]=\"item.filled && item.double\"\r\n (mouseenter)=\"canActive && hoverElementHandle(item, 'double')\"\r\n (click)=\"canActive && changeValue(item.value, 'double')\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"mrx-rating-item-wrapper\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.filled]=\"item.filled && !item.double\"\r\n (mouseenter)=\"canActive && hoverElementHandle(item, 'single')\"\r\n (click)=\"canActive && changeValue(item.value, 'single')\"\r\n ></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #viewTemplate>\r\n <div class=\"mrx-rating\" [class]=\"getClasses\">\r\n <ng-container *ngFor=\"let item of elements; let idx = index; trackBy: trackByFn\">\r\n <div class=\"mrx-rating-item\" [class.disabled]=\"disabled || readonly\">\r\n <div *ngIf=\"double\" class=\"mrx-rating-item-double-wrapper\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.filled]=\"item.filled && item.double\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"mrx-rating-item-wrapper\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"iconClass\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.filled]=\"item.filled && !item.double\"\r\n ></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-container [ngSwitch]=\"viewMode\">\r\n <span *ngSwitchCase=\"'text'\" [class]=\"getValueClasses\">{{ ratingText }}</span>\r\n <span *ngSwitchCase=\"'value'\" [class]=\"getValueClasses\">{{ toNumberFormatFunc(value) }}</span>\r\n <span *ngSwitchCase=\"'text-with-value'\" [class]=\"getValueClasses\">\r\n {{ ratingText }} ({{ toNumberFormatFunc(value) }})\r\n </span>\r\n </ng-container>\r\n</div>\r\n\r\n<mrx-error-message *ngIf=\"(!isValid || invalid) && isInvalidMessage\" [invalidMessage]=\"invalidMessage\">\r\n</mrx-error-message>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RatingComponent } from './rating.component';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\n\r\n@NgModule({\r\n declarations: [RatingComponent],\r\n imports: [\r\n CommonModule,\r\n ErrorMessageModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [RatingComponent]\r\n})\r\nexport class RatingModule { }\r\n","export type InputNumberType = 'int' | 'float' | 'percent';\r\n\r\nexport enum InputNumberSizesEnum {\r\n 'small' = 'mrx-input-number-sm',\r\n 'medium' = 'mrx-input-number-md',\r\n 'large' = 'mrx-input-number-lg',\r\n}\r\n\r\nexport type InputNumberSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputNumberValueTypes = number | null;\r\n\r\nexport interface InputNumberValueWithId {\r\n value: InputNumberValueTypes,\r\n id: string\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n NG_VALUE_ACCESSOR,\r\n Validators\r\n} from '@angular/forms';\r\nimport {\r\n InputNumberSizesEnum,\r\n InputNumberSizesTypes,\r\n InputNumberType, InputNumberValueTypes,\r\n InputNumberValueWithId\r\n} from './input-number.enum';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services';\r\nimport { distinctUntilChanged, pairwise, startWith } from 'rxjs/operators';\r\n\r\nconst noop = () => {\r\n};\r\n\r\nexport type DecimalMarkerType = '.' | ',' | ['.', ','];\r\n\r\n@Component({\r\n selector: 'mrx-input-number',\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./input-number.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => InputNumberComponent), multi: true},\r\n ]\r\n})\r\nexport class InputNumberComponent implements ControlValueAccessor, OnInit {\r\n\r\n public static decimalMarker?: DecimalMarkerType;\r\n private static _delimitersInitialised = false;\r\n public static thousandsSeparator: string;\r\n\r\n public value: InputNumberValueTypes = null;\r\n public disabled = false;\r\n public readonly = false;\r\n\r\n numberForm: FormGroup;\r\n invalidMessageStart: string | undefined | null;\r\n invalidMessageEnd: string | undefined | null;\r\n decimals = 2;\r\n\r\n private invokeChanged = true;\r\n private onTouchedCallback: () => void = noop;\r\n private propagateChange: (_: any) => void = noop;\r\n private _min = -999999999.99;\r\n private _max = 999999999.99;\r\n private _isValid = true;\r\n\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public placeholder?: string;\r\n @Input() public innerClass = '';\r\n @Input() public customClasses = '';\r\n @Input() public required = false;\r\n @Input() public allowNegative = false;\r\n @Input() public size: InputNumberSizesTypes = 'large';\r\n @Input() public separator?: string;\r\n @Input() public decimalSeparator?: DecimalMarkerType;\r\n @Input() public isNullableValue = false;\r\n @Input() public isAutoCorrectingValue = false;\r\n\r\n // ERROR\r\n @Input() public invalid = false;\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n\r\n @Input('numberType')\r\n public set setNumberType(value: InputNumberType) {\r\n this.decimals = value === 'float' ? 2 : value === 'percent' ? 1 : 0;\r\n }\r\n\r\n @Input('invalidMessage')\r\n public set setInvalidMessage(value: string) {\r\n if (value) {\r\n const para = value.split('{0}');\r\n this.invalidMessageStart = para[0];\r\n this.invalidMessageEnd = para[1];\r\n } else {\r\n this.invalidMessageStart = null;\r\n this.invalidMessageEnd = null;\r\n }\r\n }\r\n\r\n @Input('disabled')\r\n public set setDisabled(value: boolean) {\r\n this.invokeChanged = false;\r\n this.disabled = value;\r\n if (value) {\r\n this.numberForm.disable();\r\n } else {\r\n this.numberForm.enable();\r\n }\r\n this.invokeChanged = true;\r\n }\r\n\r\n @Input('readonly')\r\n public set setReadonly(value: boolean) {\r\n this.invokeChanged = false;\r\n this.readonly = value;\r\n if (value) {\r\n this.numberForm.disable();\r\n } else {\r\n this.numberForm.enable();\r\n }\r\n this.invokeChanged = true;\r\n }\r\n\r\n @Input('minValue')\r\n public set setMin(val: number) {\r\n if (val) {\r\n this._min = val;\r\n const c = this.getControl('number');\r\n if (c) {\r\n c.setValidators([Validators.min(this._min), Validators.max(this._max)]);\r\n }\r\n }\r\n }\r\n\r\n @Input('maxValue')\r\n public set setMax(val: number) {\r\n if (val) {\r\n this._max = val;\r\n const c = this.getControl('number');\r\n if (c) {\r\n c.setValidators([Validators.min(this._min), Validators.max(this._max)]);\r\n }\r\n }\r\n }\r\n\r\n @Output() public changed: EventEmitter<InputNumberValueTypes> = new EventEmitter<InputNumberValueTypes>();\r\n @Output() public modelChange: EventEmitter<InputNumberValueWithId> = new EventEmitter<InputNumberValueWithId>();\r\n @Output() public blurred: EventEmitter<InputNumberValueWithId> = new EventEmitter<InputNumberValueWithId>();\r\n\r\n constructor(fb: FormBuilder) {\r\n this.numberForm = fb.group({\r\n number: [''],\r\n });\r\n\r\n InputNumberComponent.initNumberFormat();\r\n }\r\n\r\n get getClasses(): string {\r\n return `${InputNumberSizesEnum[this.size]} ${this.customClasses}`;\r\n }\r\n\r\n get decimalMarker(): '.' | ',' | ['.', ','] {\r\n return this.decimalSeparator || InputNumberComponent.decimalMarker || ',';\r\n }\r\n\r\n get thousandsSeparator(): string {\r\n return this.separator || InputNumberComponent.thousandsSeparator;\r\n }\r\n\r\n get isValid(): boolean {\r\n return this._isValid;\r\n }\r\n\r\n get maxMessage(): string {\r\n const dec = this.decimalMarker[0];\r\n return this._max.toLocaleString('en').split(',').join(this.thousandsSeparator).replace('.', dec);\r\n }\r\n\r\n get isVerified(): boolean {\r\n const f = this.getControl('number');\r\n return !this.required ||\r\n (this.required && f.value !== null && f.value !== undefined && this.isValid);\r\n }\r\n\r\n static initNumberFormat(): void {\r\n if (this._delimitersInitialised) {\r\n return;\r\n }\r\n // системный формат числа с дробной частью и группой разраядов (тысячи)\r\n const c = Intl.NumberFormat().formatToParts(1234.5);\r\n\r\n const t = c.find(x => x.type === 'group')?.value;\r\n\r\n // разделитель групп\r\n this.thousandsSeparator = t?.charCodeAt(0) === 160 ? ' ' : t || ' ';\r\n\r\n // разделитель дробной части\r\n this.decimalMarker = (c.find(x => x.type === 'decimal')?.value as (',' | '.'));\r\n\r\n this._delimitersInitialised = true;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.numberForm.valueChanges.pipe(\r\n startWith(null),\r\n distinctUntilChanged(),\r\n pairwise()\r\n ).subscribe(([oldValue, newValue]) => {\r\n this._formattingValue(newValue.number);\r\n });\r\n this.numberForm.statusChanges.subscribe(val => {\r\n this.checkIsValid();\r\n });\r\n }\r\n\r\n private _formattingValue(insideValue: InputNumberValueTypes) {\r\n if (this.invokeChanged) {\r\n if (this.numberForm.valid) {\r\n if (!insideValue && insideValue !== 0) {\r\n this.updateValue(null);\r\n } else {\r\n this.updateValue(insideValue);\r\n }\r\n }\r\n }\r\n }\r\n\r\n resetToMax(event: any) {\r\n event.preventDefault();\r\n\r\n const f = this.getControl('number');\r\n f.setValue(this._max);\r\n }\r\n\r\n checkIsValid() {\r\n if (!this.isAutoCorrectingValue) {\r\n const f = this.getControl('number');\r\n this._isValid = this.numberForm.disabled || (f && f.valid || (!f.dirty && !f.touched));\r\n }\r\n }\r\n\r\n onPhoneInputBlur() {\r\n if (this.isAutoCorrectingValue) {\r\n const f = this.getControl('number');\r\n\r\n if (f.value > this._max) {\r\n f.setValue(this._max);\r\n }\r\n\r\n if (f.value < this._min) {\r\n f.setValue(this._min);\r\n }\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n const f = this.getControl('number');\r\n f.setValue(value, {emitEvent: false, emitViewToModelChange: false});\r\n }\r\n\r\n getControl(name: string) {\r\n return this.numberForm.get(name) as FormControl;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public updateValue(insideValue: InputNumberValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid});\r\n this.propagateChange(insideValue);\r\n }\r\n\r\n public onBlur(event: FocusEvent) {\r\n this.onPhoneInputBlur()\r\n this.blurred.emit({value: this.value, id: this.uuid})\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-number\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"!isValid || invalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n>\r\n <div class=\"mrx-input-number__wrapper\">\r\n <form [formGroup]=\"numberForm\">\r\n <div>\r\n <input\r\n #inputElement\r\n autocomplete=\"nope\"\r\n formControlName=\"number\"\r\n type=\"text\"\r\n [thousandSeparator]=\"thousandsSeparator\"\r\n [decimalMarker]=\"decimalMarker\"\r\n [class]=\"innerClass\"\r\n [mask]=\"'separator.' + decimals\"\r\n [allowNegativeNumbers]=\"allowNegative\"\r\n [placeholder]=\"placeholder ? placeholder : ''\"\r\n (blur)=\"onBlur($event)\"\r\n />\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <mrx-error-message *ngIf=\"!isValid && invalidMessageStart\">\r\n {{invalidMessageStart}}\r\n <a href=\"#\" (click)=\"resetToMax($event)\">{{maxMessage}}</a>\r\n {{invalidMessageEnd}}\r\n </mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputNumberComponent } from './input-number.component';\r\nimport { IConfig, NgxMaskModule } from 'ngx-mask';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { ErrorMessageModule } from \"../../error-message/error-message.module\";\r\nimport { SaveStateModule } from \"../../save-state/save-state.module\";\r\n\r\nconst maskConfigFunction: () => Partial<IConfig> = () => {\r\n // системный формат числа с дробной частью и группой разраядов (тысячи)\r\n const c = Intl.NumberFormat().formatToParts(1234.5);\r\n\r\n const t = c.find(x => x.type === 'group')?.value;\r\n\r\n const d = c.find(x => x.type === 'decimal')?.value as (','|'.');\r\n\r\n return {\r\n validation: false,\r\n thousandSeparator: t,\r\n decimalMarker: d\r\n };\r\n};\r\n\r\n@NgModule({\r\n declarations: [InputNumberComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CharsLeftModule,\r\n SaveStateModule,\r\n ErrorMessageModule,\r\n NgxMaskModule.forRoot(maskConfigFunction)\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [InputNumberComponent],\r\n})\r\nexport class InputNumberModule {}\r\n","const bytesInOneMb = 1048576;\r\n\r\nexport function toBytes(mb: number): number {\r\n return mb * bytesInOneMb;\r\n}\r\n\r\nexport function formatBytes(bytes?: number, decimals = 2): string {\r\n if (!bytes) {\r\n return '';\r\n }\r\n\r\n if (bytes === 0) {\r\n return '0 Байт';\r\n }\r\n\r\n const k = 1024;\r\n const dm = decimals < 0 ? 0 : decimals;\r\n const sizes = ['Байт', 'Kбайт', 'Мбайт', 'Гбайт', 'Тбайт', 'Pбайт', 'Eбайт', 'Zбайт', 'Yбайт'];\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n}\r\n\r\nexport function convertBase64ToFile(base64String: string, imageName: string, imageType: string) {\r\n const byteString = atob(base64String.split(',')[1]);\r\n const ab = new ArrayBuffer(byteString.length);\r\n const ia = new Uint8Array(ab);\r\n for (let i = 0; i < byteString.length; i += 1) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n\r\n return new File([ab], imageName, { type: imageType });\r\n}\r\n\r\nexport async function getBase64FromUrl (url: string) {\r\n const data = await fetch(url);\r\n const blob = await data.blob();\r\n return new Promise((resolve) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(blob);\r\n reader.onloadend = () => {\r\n const base64data = reader.result;\r\n resolve(base64data);\r\n }\r\n });\r\n}\r\n","export enum ErrorMessagesEnum {\r\n TooManyFiles = 'Слишком много файлов',\r\n FileTooBig = 'Слишком большой файл',\r\n EmptyFile = 'Пустой файл',\r\n InvalidFileFormat = 'Неверный формат файла'\r\n}\r\n","export enum InputFileTargetTypesEnum {\r\n '_self' = '_self',\r\n '_blank' = '_blank',\r\n '_parent' = '_parent',\r\n '_top' = '_top',\r\n}\r\n\r\nexport type InputFileTargetTypes = '_self' | '_blank' | '_parent' | '_top'\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\r\nimport { NgxFileDropEntry } from 'ngx-file-drop';\r\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { EMPTY } from 'rxjs';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { InputFileModel, UploadedFileModel, UploadedResultModel } from '../../../models/input-file/input-file.model';\r\nimport { formatBytes } from '../../../helpers/extension/input-file.extension';\r\nimport { FileUploadService } from '../../../services/file-upload/file-upload.service';\r\nimport { ErrorMessagesEnum } from './enums/error-messages.enum';\r\nimport { InputFileTargetTypes, InputFileTargetTypesEnum } from './input-file.enum';\r\n\r\n@Component({\r\n selector: 'mrx-input-file',\r\n templateUrl: './input-file.component.html',\r\n styleUrls: ['./input-file.component.less'],\r\n})\r\nexport class InputFileComponent {\r\n formatBytes = formatBytes;\r\n extensions?: string;\r\n allowedExtensions: string[] = [];\r\n files: InputFileModel[] = [];\r\n\r\n @Input() public autoUpload = true;\r\n @Input() public required = false;\r\n @Input() public disabled = false;\r\n @Input() public viewOnly = false;\r\n @Input() public lightDisabled = false;\r\n @Input() public bottomFiles = false;\r\n @Input() public maxSize = 31457280;\r\n @Input() public maxFiles = 5;\r\n @Input() public minFiles = 0;\r\n @Input() public formData: any = {}; // Параметры, которые будут передаваться в форме\r\n @Input() public uploadEndPoint!: string;\r\n @Input() public deleteEndPoint?: string;\r\n @Input() public downloadEndPoint?: string;\r\n @Input() public fileNamePlaceholder?: string;\r\n @Input() public showInputWithError = true;\r\n @Input() public showDeleteButton = true;\r\n @Input() public isTooltipValue = false;\r\n @Input() public isDownloadingFile = true;\r\n @Input() public isHideListFiles = false;\r\n @Input() public target: InputFileTargetTypes = '_self';\r\n @Input() public deleteConfirm?: (file: UploadedFileModel, result: (ok: boolean) => void) => void;\r\n\r\n @Input() public innerTemplate!: TemplateRef<any>;\r\n\r\n @Input() public uploadAdditionalData: any = {};\r\n\r\n // ERROR\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n // ERROR MESSAGES\r\n @Input() public messageTooManyFiles: string = ErrorMessagesEnum.TooManyFiles;\r\n @Input() public messageFileTooBig: string = ErrorMessagesEnum.FileTooBig;\r\n @Input() public messageEmptyFile: string = ErrorMessagesEnum.EmptyFile;\r\n @Input() public messageInvalidFileFormat: string = ErrorMessagesEnum.InvalidFileFormat;\r\n\r\n // PLACEHOLDERS\r\n @Input() public placeholder = 'Перенесите файл с устройства или нажмите на данное поле для добавления файла';\r\n @Input() public placeholderFileMaxSize = 'Размер файла: не больше';\r\n @Input() public placeholderFileFormat = 'Формат файла:';\r\n\r\n @Input('files')\r\n set initFiles(data: UploadedFileModel[] | UploadedFileModel) {\r\n if (data) {\r\n if (Array.isArray(data)) {\r\n this.files = data.map(s => ({ ...s }));\r\n } else {\r\n this.files = [{ ...data }];\r\n }\r\n } else {\r\n this.files = [];\r\n }\r\n }\r\n\r\n @Input('allowedExtensions')\r\n public set initAllowedExtensions(val: string[]) {\r\n if (val) {\r\n this.allowedExtensions = val;\r\n this.extensions = val.join(', ');\r\n } else {\r\n this.allowedExtensions = [];\r\n this.extensions = undefined;\r\n }\r\n }\r\n\r\n @Output() public filesChanged: EventEmitter<InputFileModel[]> = new EventEmitter();\r\n @Output() public checkDroppedFile: EventEmitter<InputFileModel> = new EventEmitter();\r\n\r\n constructor(private fileUploadService: FileUploadService) {\r\n }\r\n\r\n get canAdd() {\r\n if (this.showInputWithError) {\r\n return this.maxFiles > this.files.filter(s => !s.error).length;\r\n } else {\r\n return this.maxFiles > this.files.length;\r\n }\r\n }\r\n\r\n public get getTarget(): string {\r\n return InputFileTargetTypesEnum[this.target]\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage.length;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.checkValidClasses}`;\r\n }\r\n\r\n public get isValid(): boolean {\r\n return this.baseValidate();\r\n }\r\n\r\n public getTooltipValue(value: string | undefined): string {\r\n return this.isTooltipValue && value ? value : ''\r\n }\r\n\r\n protected baseValidate(): boolean {\r\n return true;\r\n }\r\n\r\n trackByFn(index: number, item: InputFileModel) {\r\n return Boolean(item.uuid) ? item.uuid : item.tempUuid;\r\n }\r\n\r\n delete(file: UploadedFileModel): void {\r\n if (this.deleteConfirm) {\r\n this.deleteConfirm(file, (ok) => {\r\n if (ok) {\r\n const findFile = this.files.find(s => s.uuid === file.uuid);\r\n if (findFile) {\r\n if (this.deleteEndPoint) {\r\n const formData = this.createFormData();\r\n formData.append('Qquuid', file.uuid);\r\n findFile.deleting = true;\r\n\r\n if (this.autoUpload) {\r\n this.fileUploadService.delete(this.deleteEndPoint, formData).subscribe(result => {\r\n this.files.splice(this.files.indexOf(findFile), 1);\r\n this.filesChanged.emit(this.files);\r\n });\r\n } else {\r\n this.clear(file);\r\n }\r\n\r\n } else {\r\n this.files.splice(this.files.indexOf(findFile), 1);\r\n this.filesChanged.emit(this.files);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n canCancelUploading(file: InputFileModel): boolean {\r\n return !!file.uploading && file.percentage ? file.percentage < 90 : false;\r\n }\r\n\r\n clear(file: InputFileModel): void {\r\n if (file.uploading) {\r\n if (file.execution) {\r\n file.execution.unsubscribe();\r\n }\r\n }\r\n\r\n const findFileIdx = this.files.indexOf(file);\r\n if (findFileIdx >= 0) {\r\n this.files.splice(findFileIdx, 1);\r\n this.filesChanged.emit(this.files);\r\n }\r\n }\r\n\r\n downloadUrl(file: UploadedFileModel): string {\r\n if (file.url && !file.size) {\r\n return file.url;\r\n } else {\r\n if (this.downloadEndPoint) {\r\n return `${this.downloadEndPoint}?uuid=${file.uuid}`;\r\n }\r\n return '#';\r\n }\r\n }\r\n\r\n public dropped(files: NgxFileDropEntry[]) {\r\n for (const droppedFile of files) {\r\n if (droppedFile.fileEntry.isFile) {\r\n const fileEntry = droppedFile.fileEntry as FileSystemFileEntry;\r\n fileEntry.file((file: File) => {\r\n this.uploadFile(file);\r\n });\r\n } else {\r\n // It was a directory (empty directories are added, otherwise only files)\r\n const fileEntry = droppedFile.fileEntry as FileSystemDirectoryEntry;\r\n }\r\n }\r\n }\r\n\r\n private formDataKeys(): string[] {\r\n return Object.keys(this.formData);\r\n }\r\n\r\n private createFormData(): FormData {\r\n const form = new FormData();\r\n if (this.maxFiles) {\r\n form.append('MaxFiles', this.maxFiles.toString(10));\r\n }\r\n const keys = this.formDataKeys();\r\n keys.forEach(key => form.append(key, this.formData[key]));\r\n return form;\r\n }\r\n\r\n private uploadFile(file: File): void {\r\n const data = {\r\n uuid: '',\r\n tempUuid: uuidv4(),\r\n name: file.name,\r\n size: file.size,\r\n uploading: true,\r\n percentage: 0,\r\n file: file\r\n } as InputFileModel;\r\n\r\n if (!this.checkForUpload(data)) {\r\n return;\r\n }\r\n\r\n const formData = this.createFormData();\r\n formData.append('File', file);\r\n\r\n if (this.uploadAdditionalData && Object.keys(this.uploadAdditionalData).length) {\r\n Object.keys(this.uploadAdditionalData).forEach(key => {\r\n formData.append(key, this.uploadAdditionalData[key]);\r\n })\r\n }\r\n\r\n if (this.autoUpload) {\r\n data.execution = this.fileUploadService.upload(this.uploadEndPoint, formData).pipe(\r\n catchError((err) => {\r\n data.uploading = false;\r\n return EMPTY;\r\n })\r\n )\r\n .subscribe((event: HttpEvent<UploadedResultModel>) => {\r\n switch (event.type) {\r\n case HttpEventType.Sent:\r\n break;\r\n case HttpEventType.ResponseHeader:\r\n break;\r\n case HttpEventType.UploadProgress:\r\n if (event.total) {\r\n data.percentage = Math.round(event.loaded / event.total * 100);\r\n }\r\n break;\r\n case HttpEventType.Response:\r\n if (event.body) {\r\n data.uploading = false;\r\n data.percentage = 0;\r\n data.uuid = event.body.uuid;\r\n data.file = undefined;\r\n data.error = event.body.message;\r\n if (data.execution) {\r\n data.execution.unsubscribe();\r\n }\r\n\r\n if (this.files.every(s => !s.uploading)) {\r\n const completedFiles = this.files.filter(s => !s.error);\r\n this.filesChanged.emit(completedFiles);\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n data.uploading = false;\r\n data.uuid = data.tempUuid || '';\r\n\r\n if (this.files.every(s => !s.uploading)) {\r\n this.filesChanged.emit(this.files);\r\n }\r\n }\r\n }\r\n\r\n private checkForUpload(data: InputFileModel): boolean {\r\n this.checkDroppedFile.emit(data)\r\n\r\n if (!this.canAdd) {\r\n data.error = this.messageTooManyFiles;\r\n data.uploading = false;\r\n this.files.push(data);\r\n return false;\r\n }\r\n\r\n this.files.push(data);\r\n\r\n if (data.file && data.file.size > this.maxSize) {\r\n data.error = this.messageFileTooBig;\r\n data.uploading = false;\r\n return false;\r\n }\r\n\r\n if (data.file && data.file.size == 0) {\r\n data.error = this.messageEmptyFile;\r\n data.uploading = false;\r\n return false;\r\n }\r\n\r\n if (this.allowedExtensions.length > 0 && !this.allowedExtensions.some(\r\n s => data.file && data.file.name.toLowerCase().endsWith(s.toLowerCase()))) {\r\n\r\n data.error = this.messageInvalidFileFormat;\r\n data.uploading = false;\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","<div\r\n class=\"ng-form-file-input\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"form-row\" *ngIf=\"disabled; else notDisabled\">\r\n <div *ngIf=\"!files || files.length == 0\"\r\n class=\"col-sm-12 col-md-6\"\r\n >\r\n <div class=\"d-flex align-items-center color-tertiary\">\r\n <div class=\"mrx-icon icon-file icon-font-24 mr-2\"></div>\r\n <span>Документов нет</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n >\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <a\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [target]=\"getTarget\"\r\n [href]=\"downloadUrl(file)\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</a>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">{{formatBytes(file.size)}}</span>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </div>\r\n\r\n <ng-template #notDisabled>\r\n <ng-container *ngIf=\"!bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n\r\n <ngx-file-drop\r\n *ngIf=\"canAdd\"\r\n [className]=\"'ng-custom-file-input'\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"lightDisabled\"\r\n [ngClass]=\"{'ng-custom-file-input--disabled': lightDisabled}\"\r\n (onFileDrop)=\"dropped($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!lightDisabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <div class=\"ng-custom-file-input-content--placeholder mb-2\">\r\n {{placeholder}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--size\">\r\n {{placeholderFileMaxSize}} {{formatBytes(maxSize)}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--extensions\" *ngIf=\"extensions\">\r\n {{placeholderFileFormat}} {{extensions}}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <ng-container *ngIf=\"bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n\r\n<ng-template #fileListTemplate>\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n [ngClass]=\"{'file-error': file.error}\"\r\n [mrxCdkTooltip]=\"getTooltipValue(fileNamePlaceholder ? fileNamePlaceholder : file.name || '')\"\r\n [tooltipPosition]=\"'top-start'\"\r\n >\r\n <ng-container *ngIf=\"autoUpload\">\r\n <a class=\"qq-download-link\" [target]=\"getTarget\" [href]=\"downloadUrl(file)\" *ngIf=\"file.uuid && isDownloadingFile\"></a>\r\n </ng-container>\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <span\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"ng-custom-file-input_progress\" *ngIf=\"file.uploading\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">{{formatBytes(file.size)}}</span>\r\n <span\r\n *ngIf=\"!disabled && file.uuid && showDeleteButton && !viewOnly\"\r\n (click)=\"delete(file)\"\r\n class=\"mrx-icon icon-delete icon-font-24 cursor-pointer\"\r\n aria-label=\"Удалить\"\r\n ></span>\r\n\r\n <div class=\"ng-custom-file-input-error\" *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-attention icon-color-red icon-font-16 mr-1\"></span>\r\n <span class=\"color-negative\">{{file.error}}</span>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-icon icon-close icon-font-24 cursor-pointer ml-2\"\r\n *ngIf=\"(file.error && !file.uuid) || canCancelUploading(file) && !viewOnly\"\r\n (click)=\"clear(file)\"\r\n ></div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxFileDropModule } from 'ngx-file-drop';\r\nimport { InputFileComponent } from './input-file.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { FileUploadService } from '../../../services/file-upload/file-upload.service';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { CdkTooltipModule } from '../../cdk-tooltip/cdk-tooltip.module';\r\n\r\n@NgModule({\r\n declarations: [InputFileComponent],\r\n imports: [CommonModule, FormsModule, HttpClientModule, NgxFileDropModule, ErrorMessageModule, CdkTooltipModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [InputFileComponent],\r\n providers: [FileUploadService]\r\n})\r\nexport class InputFileModule {}\r\n","import { Component } from '@angular/core';\r\nimport { SimpleModalComponent } from 'ngx-simple-modal';\r\nimport { CropperSettings, ImageCroppedEvent, ImageTransform, LoadedImage } from 'ngx-image-cropper';\r\nimport { convertBase64ToFile } from '../../../../../helpers/extension/input-file.extension';\r\n\r\nexport interface ImageEditSelect {\r\n title: string;\r\n fileImage?: any;\r\n cropperMaxWidth: number;\r\n cropperMaxHeight: number;\r\n aspectRatio: number\r\n}\r\n\r\nexport interface ImageEditResult {\r\n result: boolean,\r\n fileImage?: any,\r\n fileUrl?: string\r\n}\r\n\r\n@Component({\r\n selector: 'mrx-file-image-edit-modal',\r\n templateUrl: './file-image-edit-modal.component.html',\r\n styleUrls: ['./file-image-edit-modal.component.less']\r\n})\r\n\r\nexport class FileImageEditModalComponent\r\n extends SimpleModalComponent<ImageEditSelect, ImageEditResult> {\r\n\r\n title!: string;\r\n fileImage?: any;\r\n cropperMaxWidth!: number;\r\n cropperMaxHeight!: number;\r\n aspectRatio!: number;\r\n imageChangedEvent: any = '';\r\n croppedImage = '';\r\n canvasRotation = 0;\r\n transform: ImageTransform = {};\r\n cropperSettings!: CropperSettings;\r\n\r\n constructor() {\r\n super();\r\n this.result = {result: false};\r\n }\r\n\r\n public ok() {\r\n this.result = {\r\n result: true,\r\n fileImage: convertBase64ToFile(\r\n this.croppedImage,\r\n this.fileImage.name,\r\n this.fileImage.type\r\n ),\r\n fileUrl: this.croppedImage\r\n };\r\n this.close();\r\n }\r\n\r\n rotateLeft() {\r\n this.canvasRotation--;\r\n this.flipAfterRotate();\r\n }\r\n\r\n rotateRight() {\r\n this.canvasRotation++;\r\n this.flipAfterRotate();\r\n }\r\n\r\n private flipAfterRotate() {\r\n const flippedH = this.transform.flipH;\r\n const flippedV = this.transform.flipV;\r\n this.transform = {\r\n ...this.transform,\r\n flipH: flippedV,\r\n flipV: flippedH\r\n };\r\n }\r\n\r\n fileChangeEvent(event: any): void {\r\n this.imageChangedEvent = event;\r\n }\r\n\r\n imageCropped(event: ImageCroppedEvent): void {\r\n if (event.base64) {\r\n this.croppedImage = event.base64;\r\n }\r\n }\r\n\r\n imageLoaded(image: LoadedImage) {\r\n // console.log(image)\r\n }\r\n\r\n cropperReady() {\r\n // cropper ready\r\n }\r\n\r\n loadImageFailed() {\r\n // show message\r\n }\r\n}\r\n","<mrx-modal\r\n [title]=\"title\"\r\n [size]=\"'medium'\"\r\n (close)=\"close()\"\r\n>\r\n <div class=\"row\">\r\n <div class=\"col col-12\">\r\n <p>Выбранная область будет показываться на обложке страницы</p>\r\n </div>\r\n\r\n <div class=\"col col-12\">\r\n <div class=\"mrx-input-image-cropper__wrapper\">\r\n <image-cropper\r\n [imageFile]=\"fileImage\"\r\n [maintainAspectRatio]=\"true\"\r\n [aspectRatio]=\"aspectRatio\"\r\n format=\"png\"\r\n (imageCropped)=\"imageCropped($event)\"\r\n (imageLoaded)=\"imageLoaded($event)\"\r\n (cropperReady)=\"cropperReady()\"\r\n (loadImageFailed)=\"loadImageFailed()\"\r\n [backgroundColor]=\"'#000000'\"\r\n [canvasRotation]=\"canvasRotation\"\r\n [transform]=\"transform\"\r\n [cropperMaxWidth]=\"cropperMaxWidth\"\r\n [cropperMaxHeight]=\"cropperMaxHeight\"\r\n ></image-cropper>\r\n\r\n <div class=\"mrx-input-image-cropper__controls\">\r\n <svg (click)=\"rotateLeft()\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"15\" width=\"8\" height=\"8\" rx=\"0.888889\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.5 18.5C5.05228 18.5 5.5 18.0523 5.5 17.5C5.5 16.9477 5.05228 16.5 4.5 16.5C3.94772 16.5 3.5 16.9477 3.5 17.5C3.5 18.0523 3.94772 18.5 4.5 18.5Z\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M9.99978 20.3333L7.77756 18.1111L2.88867 23\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M13.1575 21.6842C18.5932 21.6842 22.9996 17.2777 22.9996 11.8421C22.9996 6.40646 18.5932 2 13.1575 2C7.72189 2 3.31543 6.40646 3.31543 11.8421\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\r\n <path d=\"M1.00026 10.1052L3.31605 12.421L5.63184 10.1052\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n\r\n <svg (click)=\"rotateRight()\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"14\" y=\"15\" width=\"8\" height=\"8\" rx=\"0.888889\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.5 18.5C17.0523 18.5 17.5 18.0523 17.5 17.5C17.5 16.9477 17.0523 16.5 16.5 16.5C15.9477 16.5 15.5 16.9477 15.5 17.5C15.5 18.0523 15.9477 18.5 16.5 18.5Z\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M21.9998 20.3333L19.7776 18.1111L14.8887 23\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10.8425 21.6842C5.40682 21.6842 1.00036 17.2777 1.00036 11.8421C1.00036 6.40646 5.40682 2 10.8425 2C16.2781 2 20.6846 6.40646 20.6846 11.8421\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\r\n <path d=\"M22.9997 10.1052L20.684 12.421L18.3682 10.1052\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >Отменить\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"ok()\"\r\n >Подтвердить\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n","export enum InputFileImageTypeEnum {\r\n 'default' = 'mrx-input-file-image-type-default',\r\n 'avatar' = 'mrx-input-file-image-type-avatar',\r\n}\r\n\r\nexport type InputFileImageTypeTypes = 'default' | 'avatar'\r\n\r\nexport enum PreviewEnum {\r\n 'notFoundImage' = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAFeAgwDAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+9m4uHmdvmIQEhVB4wO5xwSeuTn24oArUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAoJU5BIPqDg/mKANSC+HlgSkFgcZyQSOME4B57Z74yeaAMqgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAo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5/Jf3e767LQ+o9O06w0iwstK0qytdO0zTrWCysLCygjtrOys7aNYbe2treFUihghiRY4oo1VERQqgAVyttttttt3berbe7b7mu2iPjzVvhrpngP9pz4L6h4ZvLqw8O+K5fi1qk/gxQh0LR/Ev/CIwtqut6DF10weIEmgfVdNgC2LX1oL6COOW5uAeyNV1MLXUknKCopT+04c+kZd+Xo97O3QxcVGrBrRS5210vy7rtfqfZ9cRsFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAeMftDeF9d8ZfBrxz4f8M2X9p67c2FheadpolSCTUZtG1rTdbawglk/drdXkOnSW1p5hWNrmSJXdFJYbYecYVqcpO0U2m+101f0V9fIionKEktXbRd7NP8ATQ+b/iT8S/GXxQ1fT/CV78Hvj/4d+D5tUu/Gcem+BbhPF3jqcuCng1nttUSLQfCbqN3iC9tdRm1TWo86TbpZWUlxdz9VKnClFzVbDyrXtC8/cpr+fWPvT/lTVo/Fq9FlKUpuzhUUOto6y/u76R763e2x7Jp3xzsNIsLLStK+Afx807TNOtYLKwsLL4XR21nZWdtGsNvbW1vDrCRQwQxIscUUaqiIoVQAKwdBttvEYdtu7bqttt7tvl3L9pbRU6n/AID/AMEu/wDDQn/VEP2hv/Daf/fqj6v/ANP8N/4Mf/yI/af9O6n/AID/AME5m21rxB8VPjN8KfENh8NviJ4R8P8Aw7sviBda/q3j/Q7Xw1FPN4o0O00fSbHRrY6neXup3RnhmmvClvFb2lsqM87ySrGKcY0qNaLq05yqOmoqnJytyS5m5OySXRdWxXc5wfLJKPNdyVt1ZW11PqyuQ1CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAXBPQGgC/eWvlkyoRtYklTnIPU4POQTk84x05oAz6ACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAfGhkYIuAT65x+gP8qANyG1SKMKwDtnLMR3OOB7DH9e+KAA/9k='\r\n}\r\n","import { Component, EventEmitter, Input, Output, TemplateRef, ViewEncapsulation } from '@angular/core';\r\nimport { InputFileModel, UploadedFileModel, UploadedResultModel } from '../../../models/input-file/input-file.model';\r\nimport { FileUploadService } from '../../../services/file-upload/file-upload.service';\r\nimport { SimpleModalService } from 'ngx-simple-modal';\r\nimport { FileSystemFileEntry, NgxFileDropEntry } from 'ngx-file-drop';\r\nimport { convertBase64ToFile, formatBytes, getBase64FromUrl } from '../../../helpers/extension/input-file.extension';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { EMPTY } from 'rxjs';\r\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\r\nimport { FileImageEditModalComponent } from './components/file-image-edit-modal/file-image-edit-modal.component';\r\nimport { InputFileImageTypeEnum, InputFileImageTypeTypes } from './input-file-image.enum';\r\nimport { PreviewEnum } from './input-file-image.enum';\r\n\r\n@Component({\r\n selector: 'mrx-input-file-image',\r\n templateUrl: './input-file-image.component.html',\r\n styleUrls: ['./input-file-image.component.less'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\nexport class InputFileImageComponent {\r\n\r\n formatBytes = formatBytes;\r\n extensions?: string;\r\n allowedExtensions: string[] = [];\r\n files: InputFileModel[] = [];\r\n notFoundImage = PreviewEnum.notFoundImage\r\n\r\n @Input() public type: InputFileImageTypeTypes = 'default'\r\n\r\n @Input() public preview = ''\r\n @Input() public customClasses = '';\r\n @Input() public required = false;\r\n @Input() public disabled = false;\r\n @Input() public lightDisabled = false;\r\n @Input() public maxSize = 31457280;\r\n @Input() public maxFiles = 5;\r\n @Input() public minFiles = 0;\r\n @Input() public cropperMaxWidth = 0;\r\n @Input() public cropperMaxHeight = 0;\r\n @Input() public aspectRatio = 1 / 1;\r\n @Input() public formData: any = {}; // Параметры, которые будут передаваться в форме\r\n @Input() public placeholder?: string;\r\n @Input() public uploadEndPoint!: string;\r\n @Input() public deleteEndPoint?: string;\r\n @Input() public downloadEndPoint?: string;\r\n @Input() public fileNamePlaceholder?: string;\r\n @Input() public deleteConfirm?: (file: UploadedFileModel, result: (ok: boolean) => void) => void;\r\n @Input() public innerTemplate!: TemplateRef<any>;\r\n\r\n @Input('files')\r\n set initFiles(data: UploadedFileModel[] | UploadedFileModel) {\r\n if (data) {\r\n if (Array.isArray(data)) {\r\n this.files = data.map(s => ({...s}));\r\n } else {\r\n this.files = [{...data}];\r\n }\r\n } else {\r\n this.files = [];\r\n }\r\n }\r\n\r\n @Input('allowedExtensions')\r\n public set initAllowedExtensions(val: string[]) {\r\n if (val) {\r\n this.allowedExtensions = val;\r\n this.extensions = val.join(', ');\r\n } else {\r\n this.allowedExtensions = [];\r\n this.extensions = undefined;\r\n }\r\n }\r\n\r\n // @Output() public uploadComplete: EventEmitter<InputFileModel[]> = new EventEmitter();\r\n @Output() public filesChanged: EventEmitter<InputFileModel[]> = new EventEmitter();\r\n\r\n constructor(\r\n private imageUploadService: FileUploadService,\r\n private simpleModalService:SimpleModalService\r\n ) {}\r\n\r\n public get getDefaultPlaceholder(): string {\r\n return this.type === 'avatar' ? 'Загрузите фотографию' : 'Перенесите файл с устройства или нажмите на данное поле для добавления файла'\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputFileImageTypeEnum[this.type]} ${this.customClasses}`;\r\n }\r\n\r\n public get getDropZoneClasses(): string {\r\n return `mrx-input-file-image-drop ${this.disabled ? 'mrx-input-file-image-drop-disabled' : ''}`\r\n }\r\n\r\n public get canAdd() {\r\n if (this.type === 'avatar') {\r\n return this.files.length < 1\r\n } else {\r\n return this.maxFiles > this.files.filter(s => !s.error).length;\r\n }\r\n }\r\n\r\n trackByFn(index: number, item: InputFileModel) {\r\n return Boolean(item.uuid) ? item.uuid : item.tempUuid;\r\n }\r\n\r\n delete(event: any, file: UploadedFileModel): void {\r\n event.stopPropagation()\r\n\r\n if (this.deleteConfirm) {\r\n this.deleteConfirm(file, (ok) => {\r\n if (ok) {\r\n const findFile = this.files.find(s => s.uuid === file.uuid);\r\n if (findFile) {\r\n if (this.deleteEndPoint) {\r\n const formData = this.createFormData();\r\n formData.append('Qquuid', file.uuid);\r\n findFile.deleting = true;\r\n\r\n this.imageUploadService.delete(this.deleteEndPoint, formData).subscribe(result => {\r\n this.files.splice(this.files.indexOf(findFile), 1);\r\n this.filesChanged.emit(this.files);\r\n });\r\n\r\n } else {\r\n this.files.splice(this.files.indexOf(findFile), 1);\r\n this.filesChanged.emit(this.files);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n canCancelUploading(file: InputFileModel): boolean {\r\n return !!file.uploading && file.percentage ? file.percentage < 90 : !!file.uploading;\r\n }\r\n\r\n clear(file: InputFileModel): void {\r\n if (file.uploading) {\r\n if (file.execution) {\r\n file.execution.unsubscribe();\r\n }\r\n }\r\n\r\n const findFileIdx = this.files.indexOf(file);\r\n if (findFileIdx >= 0) {\r\n this.files.splice(findFileIdx, 1);\r\n }\r\n }\r\n\r\n downloadUrl(file: UploadedFileModel): string {\r\n if (file.url) {\r\n return file.url;\r\n } else {\r\n if (this.downloadEndPoint) {\r\n return `${this.downloadEndPoint}?uuid=${file.uuid}`;\r\n }\r\n return this.notFoundImage;\r\n }\r\n }\r\n\r\n public dropped(files: NgxFileDropEntry[]) {\r\n const droppedFile = files[0]\r\n\r\n if (droppedFile.fileEntry.isFile) {\r\n const fileEntry = droppedFile.fileEntry as FileSystemFileEntry;\r\n\r\n fileEntry.file((file: File) => {\r\n this.simpleModalService.addModal(FileImageEditModalComponent, {\r\n title: 'Обложка',\r\n fileImage: file,\r\n cropperMaxWidth: this.cropperMaxWidth,\r\n cropperMaxHeight: this.cropperMaxHeight,\r\n aspectRatio: this.aspectRatio\r\n }, {wrapperDefaultClasses: 'mrx-modal fade-anim'})\r\n .subscribe((res) => {\r\n if (res.result) {\r\n this.uploadFile(res.fileImage, res.fileUrl);\r\n }\r\n })\r\n });\r\n } else {\r\n // It was a directory (empty directories are added, otherwise only files)\r\n const fileEntry = droppedFile.fileEntry as FileSystemDirectoryEntry;\r\n }\r\n }\r\n\r\n public changePreview(event: any, file: UploadedFileModel) {\r\n event.stopPropagation()\r\n\r\n const url = this.downloadUrl(file)\r\n\r\n getBase64FromUrl(url).then((base64Url: any) => {\r\n this.simpleModalService.addModal(FileImageEditModalComponent, {\r\n title: 'Обложка',\r\n fileImage: convertBase64ToFile(base64Url, file.name || '', 'image/png'),\r\n cropperMaxWidth: this.cropperMaxWidth,\r\n cropperMaxHeight: this.cropperMaxHeight,\r\n aspectRatio: this.aspectRatio\r\n }, {wrapperDefaultClasses: 'mrx-modal fade-anim'})\r\n .subscribe((res) => {\r\n if (res.result) {\r\n const findFile = this.files.find(s => {\r\n if (s.uuid !== '') {\r\n return s.uuid === file.uuid\r\n } else {\r\n return s.tempUuid === file.tempUuid\r\n }\r\n });\r\n\r\n if (findFile) {\r\n if (this.deleteEndPoint) {\r\n const formData = this.createFormData();\r\n formData.append('Qquuid', file.uuid);\r\n findFile.deleting = true;\r\n\r\n this.imageUploadService.delete(this.deleteEndPoint, formData).subscribe(result => {\r\n this.files.splice(this.files.indexOf(findFile), 1);\r\n this.filesChanged.emit(this.files);\r\n this.uploadFile(res.fileImage, res.fileUrl)\r\n });\r\n\r\n } else {\r\n this.uploadFile(res.fileImage, res.fileUrl, this.files.indexOf(findFile), 'update')\r\n }\r\n }\r\n }\r\n })\r\n })\r\n }\r\n\r\n public fileOver(event: any) {\r\n }\r\n\r\n public fileLeave(event: any) {\r\n }\r\n\r\n private formDataKeys(): string[] {\r\n return Object.keys(this.formData);\r\n }\r\n\r\n private createFormData(): FormData {\r\n const form = new FormData();\r\n if (this.maxFiles) {\r\n form.append('MaxFiles', this.maxFiles.toString(10));\r\n }\r\n const keys = this.formDataKeys();\r\n keys.forEach(key => form.append(key, this.formData[key]));\r\n return form;\r\n }\r\n\r\n private uploadFile(file: File, urlImage?: string, idxFile: number = 0, eventType: 'create' | 'update' = 'create') {\r\n const data = {\r\n uuid: '',\r\n tempUuid: uuidv4(),\r\n name: file.name,\r\n size: file.size,\r\n uploading: true,\r\n percentage: 0,\r\n file: file,\r\n url: urlImage\r\n } as InputFileModel;\r\n\r\n if (!this.checkForUpload(data, idxFile, eventType)) {\r\n return;\r\n }\r\n\r\n const formData = this.createFormData();\r\n formData.append('File', file);\r\n\r\n data.execution = this.imageUploadService.upload(this.uploadEndPoint, formData).pipe(\r\n catchError((err) => {\r\n data.uploading = false;\r\n return EMPTY;\r\n })\r\n )\r\n .subscribe((event: HttpEvent<UploadedResultModel>) => {\r\n switch (event.type) {\r\n case HttpEventType.Sent:\r\n break;\r\n case HttpEventType.ResponseHeader:\r\n break;\r\n case HttpEventType.UploadProgress:\r\n if (event.total) {\r\n data.percentage = Math.round(event.loaded / event.total * 100);\r\n }\r\n break;\r\n case HttpEventType.Response:\r\n if(event.body) {\r\n data.uploading = false;\r\n data.percentage = 0;\r\n data.uuid = event.body.uuid;\r\n data.file = undefined;\r\n data.error = event.body.message;\r\n\r\n if (data.execution) {\r\n data.execution.unsubscribe();\r\n }\r\n if (this.files.every(s => !s.uploading)) {\r\n\r\n this.filesChanged.emit(this.files);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private checkForUpload(data: InputFileModel, idxFile: number = 0, eventType?: 'create' | 'update'): boolean {\r\n if (eventType === 'update') {\r\n this.files.splice(idxFile, 1, data)\r\n this.filesChanged.emit(this.files);\r\n return true\r\n }\r\n\r\n if (this.type === 'avatar') {\r\n this.files.length = 0\r\n this.files.push(data);\r\n return true\r\n }\r\n\r\n if (!this.canAdd) {\r\n data.error = 'Слишком много файлов';\r\n data.uploading = false;\r\n this.files.push(data);\r\n return false;\r\n }\r\n\r\n this.files.push(data);\r\n\r\n if (data.file && data.file.size > this.maxSize) {\r\n data.error = 'Слишком большой файл';\r\n data.uploading = false;\r\n return false;\r\n }\r\n if (data.file && data.file.size == 0) {\r\n data.error = 'Пустой файл';\r\n data.uploading = false;\r\n return false;\r\n }\r\n if (this.allowedExtensions.length > 0 && !this.allowedExtensions.some(\r\n s => data.file?.name.toLowerCase().endsWith(s.toLowerCase()))) {\r\n\r\n data.error = 'Неверный формат файла';\r\n data.uploading = false;\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","<div class=\"mrx-input-file-image\" [class]=\"getClasses\">\r\n\r\n <ng-container *ngIf=\"type === 'default'\">\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n\r\n <ngx-file-drop *ngIf=\"canAdd\" (onFileDrop)=\"dropped($event)\"\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\">\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"mrx-input-file-image-input\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">{{placeholder || getDefaultPlaceholder}}</span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>Размер файла: до {{formatBytes(maxSize)}}</span>\r\n <span *ngIf=\"extensions\">Формат файла: {{extensions}}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <div class=\"mrx-input-file-image-preview\">\r\n <div class=\"row\">\r\n <div class=\"col col-12 col-sm-6 col-md-4 col-lg-3\" *ngFor=\"let file of files\">\r\n <div class=\"mrx-input-file-image-preview-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n <ng-container *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-preview-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n <span class=\"mrx-input-file-image-preview-item-name\">\r\n {{ file.name }}\r\n </span>\r\n <span class=\"mrx-input-file-image-preview-item-description\">\r\n {{ formatBytes(file.size) }}\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"file.uploading && !file.error\">\r\n <div class=\"mrx-input-file-image-preview-item-uploading\">\r\n <span class=\"mrx-input-file-image-preview-item-uploading-text\">Загрузка...</span>\r\n <div class=\"mrx-input-file-image-preview-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!file.uploading && !file.error\">\r\n <img [src]=\"file.url || downloadUrl(file)\" [alt]=\"file.name\">\r\n\r\n <div class=\"mrx-input-file-image-preview-item-info\">\r\n <span class=\"mrx-input-file-image-preview-item-name\">\r\n {{ file.name }}\r\n </span>\r\n <span class=\"mrx-input-file-image-preview-item-description\">\r\n {{ formatBytes(file.size) }}\r\n </span>\r\n </div>\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"type === 'avatar'\">\r\n <ngx-file-drop (onFileDrop)=\"dropped($event)\"\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\">\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n\r\n <div\r\n *ngIf=\"!files.length; else avatarTemplate\"\r\n class=\"mrx-input-file-image-input\"\r\n [class.mrx-input-file-image__disabled]=\"disabled\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">{{placeholder || getDefaultPlaceholder}}</span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>Размер файла: до {{formatBytes(maxSize)}}</span>\r\n <span *ngIf=\"extensions\">Формат файла: {{extensions}}</span>\r\n </div>\r\n </div>\r\n\r\n <ng-template #avatarTemplate>\r\n <div class=\"mrx-input-file-image-avatar\" (click)=\"openFileSelector()\">\r\n <div *ngFor=\"let file of files\" class=\"w-100 h-100\">\r\n <div class=\"mrx-input-file-image-avatar-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n <ng-container *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"file.uploading && !file.error\">\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading\">\r\n <span class=\"mrx-input-file-image-avatar-item-uploading-text\">Загрузка...</span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!file.uploading && !file.error\">\r\n <img [src]=\"file.url || downloadUrl(file)\" [alt]=\"file.name\">\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n </ng-template>\r\n </ngx-file-drop>\r\n </ng-container>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputFileImageComponent } from './input-file-image.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgxFileDropModule } from 'ngx-file-drop';\r\nimport { SimpleModalModule } from 'ngx-simple-modal';\r\nimport { ImageCropperModule } from 'ngx-image-cropper';\r\nimport { FileImageEditModalComponent } from './components/file-image-edit-modal/file-image-edit-modal.component';\r\nimport { ModalModule } from '../../modal/modal.module';\r\nimport { ButtonModule } from '../../button/button.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n InputFileImageComponent,\r\n FileImageEditModalComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n HttpClientModule,\r\n NgxFileDropModule,\r\n ModalModule,\r\n ButtonModule,\r\n SimpleModalModule.forRoot({\r\n container: (() => document.querySelector('.page-wrapper') as HTMLElement)()}\r\n ),\r\n ImageCropperModule\r\n ],\r\n exports: [\r\n InputFileImageComponent\r\n ]\r\n})\r\nexport class InputFileImageModule { }\r\n","export type NgxOtpStatus = 'success' | 'error' | null;\r\n\r\nexport enum NgxOtpBehavior {\r\n DEFAULT,\r\n LEGACY,\r\n}\r\n\r\nexport type NgxOtpStyles = {\r\n container?: string | string[];\r\n inputBox?: string | string[];\r\n input?: string | string[];\r\n inputFilled?: string | string[];\r\n inputDisabled?: string | string[];\r\n inputSuccess?: string | string[];\r\n inputError?: string | string[];\r\n};\r\n\r\nexport interface NgxOtpInputConfig {\r\n otpLength: number;\r\n pattern?: RegExp;\r\n autofocus?: boolean;\r\n autoblur?: boolean;\r\n isPasswordInput?: boolean;\r\n isNumberInput?: boolean;\r\n ariaLabels?: string | string[];\r\n numericInputMode?: boolean;\r\n classList?: NgxOtpStyles;\r\n behavior?: NgxOtpBehavior;\r\n}\r\n\r\n","export enum InputOptSizesEnum {\r\n 'small' = 'mrx-input-opt-sm',\r\n 'medium' = 'mrx-input-opt-md',\r\n 'large' = 'mrx-input-opt-lg',\r\n 'responsive' = 'mrx-input-opt-responsive',\r\n}\r\n\r\nexport type InputOptSizesTypes = 'small' | 'medium' | 'large' | 'responsive';\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InputOptService {\r\n init2DArray(size: number): string[][] {\r\n return new Array<string[]>(size).fill(new Array<string>());\r\n }\r\n\r\n toArray(value: string | string[]): string[] {\r\n return Array.isArray(value) ? value : [value];\r\n }\r\n\r\n addItemToAll(source: string[][], items: string[]): string[][] {\r\n return source.map((entry) => entry.concat(items));\r\n }\r\n\r\n removeItemFromAll(source: string[][], items: string[]): string[][] {\r\n return source.map((entry) => entry?.length ? entry.filter((item) => !items.includes(item)) : []);\r\n }\r\n\r\n addItemAtIndex(\r\n source: string[][],\r\n index: number,\r\n items: string[]\r\n ): string[][] {\r\n source[index] = source[index] ? source[index].concat(items) : source[index];\r\n return source;\r\n }\r\n\r\n removeItemAtIndex(\r\n source: string[][],\r\n index: number,\r\n items: string[]\r\n ): string[][] {\r\n source[index] = source[index] ? source[index].filter((item) => !items.includes(item)) : source[index];\r\n return source;\r\n }\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[mrxOptPattern]'\r\n})\r\nexport class OptPatternDirective {\r\n private allowedKeys = [\r\n 'Backspace',\r\n 'ArrowLeft',\r\n 'ArrowRight',\r\n 'Escape',\r\n 'Tab',\r\n ];\r\n\r\n @Input('mrxOptPattern') pattern?: RegExp;\r\n\r\n @HostListener('keydown', ['$event']) onKeyDown(e: KeyboardEvent): void {\r\n if (\r\n this.allowedKeys.includes(e.key) ||\r\n (e.code === 'KeyA' && e.ctrlKey === true) ||\r\n (e.code === 'KeyC' && e.ctrlKey === true) ||\r\n (e.code === 'KeyV' && e.ctrlKey === true) ||\r\n (e.code === 'KeyX' && e.ctrlKey === true) ||\r\n (e.code === 'KeyA' && e.metaKey === true) ||\r\n (e.code === 'KeyC' && e.metaKey === true) ||\r\n (e.code === 'KeyV' && e.metaKey === true) ||\r\n (e.code === 'KeyX' && e.metaKey === true)\r\n ) {\r\n return;\r\n } else if (this.pattern && !this.pattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy, ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter, forwardRef, HostListener, Input, OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n ViewChildren\r\n} from '@angular/core';\r\nimport { AbstractControl, FormArray, FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\r\nimport { NgxOtpBehavior, NgxOtpInputConfig, NgxOtpStatus } from '../../models/input-opt.model';\r\nimport { Subscription } from 'rxjs';\r\nimport { InputOptService } from '../../services/input-opt.service';\r\nimport { InputOptSizesEnum, InputOptSizesTypes } from './input-opt.enum';\r\nimport { InputTextValueTypes } from '../../../input-text/input-text.enum';\r\n\r\n@Component({\r\n selector: 'mrx-input-opt',\r\n templateUrl: './input-opt.component.html',\r\n styleUrls: ['./input-opt.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputOptComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputOptComponent implements OnInit, AfterViewInit, OnDestroy {\r\n private defaultPattern = /^.+$/;\r\n private DEFAULT_ARIA_LABEL = 'One time password input';\r\n private LAST_INPUT_INDEX!: number;\r\n private inputs!: HTMLInputElement[];\r\n private isNgxOtpArrayDisabled = false;\r\n private ngxOtpArray$!: Subscription;\r\n private focusedInputHasValue = false;\r\n private isInit = false;\r\n\r\n ngxOtpArray: any = new FormArray([]);\r\n ariaLabels: string[] = [];\r\n pattern!: RegExp;\r\n styles: string[][] = [];\r\n\r\n otpConfig: NgxOtpInputConfig = {\r\n otpLength: 6,\r\n autofocus: true,\r\n autoblur: true,\r\n behavior: NgxOtpBehavior.DEFAULT,\r\n pattern: this.defaultPattern,\r\n classList: {\r\n container: '',\r\n inputBox: '',\r\n input: '',\r\n inputFilled: '',\r\n inputDisabled: '',\r\n inputSuccess: '',\r\n inputError: '',\r\n }\r\n };\r\n\r\n @Input() public size: InputOptSizesTypes = 'large';\r\n @Input() public customClasses = '';\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Input() set disable(isDisabled: boolean) {\r\n this.handleDisable(isDisabled);\r\n this.isNgxOtpArrayDisabled = isDisabled;\r\n }\r\n\r\n @Input() set config(c: NgxOtpInputConfig) {\r\n this.otpConfig = {...this.otpConfig, ...c};\r\n if (this.otpConfig.classList?.input) {\r\n this.setInitialStyles();\r\n }\r\n if (!c.pattern) {\r\n this.otpConfig.pattern = this.defaultPattern;\r\n }\r\n }\r\n\r\n @Input() set status(status: NgxOtpStatus) {\r\n this.handleStatusChange(status);\r\n }\r\n\r\n @ViewChildren('otpInputElement') otpInputElements!: QueryList<ElementRef>;\r\n\r\n @Output() change: EventEmitter<string[]> = new EventEmitter<string[]>();\r\n @Output() fillChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n constructor(\r\n private readonly otpService: InputOptService,\r\n private readonly ref: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setUpOtpForm();\r\n this.setUpAriaLabels();\r\n this.LAST_INPUT_INDEX = this.otpConfig.otpLength - 1;\r\n this.otpFormChangeListener();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setNativeHTMLElements();\r\n this.setInitialFocus();\r\n this.setNumericInputIfPossible();\r\n this.handleDisable(this.isNgxOtpArrayDisabled);\r\n this.isInit = true;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.ngxOtpArray$.unsubscribe();\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage.length;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n get getClasses(): string {\r\n return `${InputOptSizesEnum[this.size]} ${this.customClasses}`;\r\n }\r\n\r\n get getContainerClasses(): string | string[] {\r\n return this.otpConfig?.classList?.container || ''\r\n }\r\n\r\n get getInputBoxClasses(): string | string[] {\r\n return this.otpConfig?.classList?.inputBox || ''\r\n }\r\n\r\n convertToFormControl(absCtrl: AbstractControl | null): FormControl {\r\n return absCtrl as FormControl;\r\n }\r\n\r\n clear(): void {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputFilled) {\r\n this.removeStyleFromAll(this.otpConfig.classList.inputFilled);\r\n }\r\n\r\n this.ngxOtpArray.reset();\r\n this.ref.detectChanges();\r\n\r\n if (this.otpConfig.autofocus) {\r\n this.setFocus(0);\r\n }\r\n }\r\n\r\n handleKeyUp(index: number, value: string): void {\r\n // @ts-ignore\r\n if (this.otpConfig.pattern.test(value) && value !== 'Backspace') {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputFilled) {\r\n this.addStyle(index, this.otpConfig.classList.inputFilled);\r\n }\r\n if (!this.ngxOtpArray.valid) {\r\n this.getFormControlByIndex(index).setValue(value, {emitEvent: false});\r\n this.stepForward(index);\r\n } else {\r\n this.blur();\r\n }\r\n }\r\n }\r\n\r\n handleDelete(index: number): void {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputFilled) {\r\n this.removeStyle(index, this.otpConfig.classList.inputFilled);\r\n }\r\n\r\n if (\r\n (this.otpConfig.behavior === NgxOtpBehavior.LEGACY &&\r\n !this.focusedInputHasValue) ||\r\n this.otpConfig.behavior !== NgxOtpBehavior.LEGACY\r\n ) {\r\n this.stepBackward(index);\r\n } else {\r\n this.focusedInputHasValue = false;\r\n }\r\n }\r\n\r\n handleFocus(index: number): void {\r\n this.focusedInputHasValue = !!this.ngxOtpArray.controls[index].value;\r\n\r\n if (\r\n this.otpConfig.behavior === NgxOtpBehavior.LEGACY &&\r\n this.focusedInputHasValue\r\n ) {\r\n this.inputs[index].select();\r\n }\r\n }\r\n\r\n stepBackward(index: number): void {\r\n if (index > 0) {\r\n this.setFocus(index - 1);\r\n }\r\n }\r\n\r\n stepForward(index: number): void {\r\n if (index < this.LAST_INPUT_INDEX) {\r\n this.setFocus(index + 1);\r\n }\r\n }\r\n\r\n private otpFormChangeListener(): void {\r\n this.ngxOtpArray$ = this.ngxOtpArray.valueChanges.subscribe((values: any) => {\r\n if (this.isInit) {\r\n this.change.emit(values);\r\n\r\n if (this.ngxOtpArray.valid) {\r\n this.fillChange.emit(values.join(''));\r\n }\r\n }\r\n });\r\n }\r\n\r\n private setUpOtpForm(): void {\r\n for (let i = 0; i < this.otpConfig.otpLength; i++) {\r\n this.ngxOtpArray.push(new FormControl('', [Validators.required]));\r\n }\r\n }\r\n\r\n private setUpAriaLabels(): void {\r\n const labels = this.otpConfig.ariaLabels;\r\n\r\n this.ariaLabels = Array.isArray(labels)\r\n ? labels\r\n : new Array(this.otpConfig.otpLength).fill(\r\n labels || this.DEFAULT_ARIA_LABEL\r\n );\r\n }\r\n\r\n private setNativeHTMLElements(): void {\r\n this.inputs = this.otpInputElements.map((element) => element.nativeElement);\r\n }\r\n\r\n private setInitialFocus(): void {\r\n if (this.otpConfig.autofocus) {\r\n this.setFocus(0);\r\n }\r\n }\r\n\r\n private setInitialStyles(): void {\r\n this.styles = this.otpService.init2DArray(this.otpConfig.otpLength);\r\n\r\n if (this.otpConfig.classList && this.otpConfig.classList.input) {\r\n this.addStyleToAll(this.otpConfig.classList.input);\r\n }\r\n }\r\n\r\n private setFocus(index: number): void {\r\n this.inputs[index].focus();\r\n }\r\n\r\n private setNumericInputIfPossible(): void {\r\n if (this.otpConfig.numericInputMode) {\r\n this.otpConfig.pattern = this.defaultPattern;\r\n this.inputs.map((element) => {\r\n element.setAttribute('inputmode', 'numeric');\r\n element.setAttribute('pattern', '[0-9]*');\r\n });\r\n }\r\n }\r\n\r\n private blur(): void {\r\n if (this.otpConfig.autoblur) {\r\n this.inputs.map((input) => input.blur());\r\n }\r\n }\r\n\r\n private handlePaste(value: string): void {\r\n // @ts-ignore\r\n if (this.otpConfig.pattern.test(value)) {\r\n let lastIndex = 0;\r\n value\r\n .split('')\r\n .slice(0, this.otpConfig.otpLength)\r\n .map((character: string, index: number) => {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputFilled) {\r\n this.addStyle(index, this.otpConfig.classList.inputFilled);\r\n }\r\n this.getFormControlByIndex(index).setValue(character);\r\n lastIndex = index;\r\n });\r\n\r\n if (this.ngxOtpArray.valid) {\r\n this.blur();\r\n } else {\r\n this.setFocus(lastIndex + 1);\r\n }\r\n }\r\n }\r\n\r\n private handleDisable(isDisabled: boolean): void {\r\n if (isDisabled) {\r\n this.ngxOtpArray.disable();\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputDisabled) {\r\n this.addStyleToAll(this.otpConfig.classList.inputDisabled);\r\n }\r\n } else {\r\n this.ngxOtpArray.enable();\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputDisabled) {\r\n this.removeStyleFromAll(this.otpConfig.classList.inputDisabled);\r\n }\r\n }\r\n }\r\n\r\n private handleStatusChange(status: NgxOtpStatus): void {\r\n if (this.otpConfig.classList && (this.otpConfig.classList.inputSuccess && this.otpConfig.classList.inputError)) {\r\n this.removeStyleFromAll([\r\n ...this.otpService.toArray(\r\n this.otpConfig.classList.inputSuccess\r\n ),\r\n ...this.otpService.toArray(this.otpConfig.classList.inputError),\r\n ]);\r\n }\r\n\r\n if (status) {\r\n if (status === 'success') {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputSuccess) {\r\n this.addStyleToAll(this.otpConfig.classList.inputSuccess);\r\n }\r\n } else if (status === 'error') {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputError) {\r\n this.addStyleToAll(this.otpConfig.classList.inputError);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private getFormControlByIndex(index: number): FormControl {\r\n return this.ngxOtpArray.controls[index] as FormControl;\r\n }\r\n\r\n private addStyle(index: number, styles: string | string[]): void {\r\n this.styles = this.otpService.addItemAtIndex(\r\n this.styles,\r\n index,\r\n this.otpService.toArray(styles)\r\n );\r\n }\r\n\r\n private addStyleToAll(styles: string | string[]): void {\r\n this.styles = this.otpService.addItemToAll(\r\n this.styles,\r\n this.otpService.toArray(styles)\r\n );\r\n }\r\n\r\n private removeStyle(index: number, styles: string | string[]): void {\r\n this.styles = this.otpService.removeItemAtIndex(\r\n this.styles,\r\n index,\r\n this.otpService.toArray(styles)\r\n );\r\n }\r\n\r\n private removeStyleFromAll(styles: string | string[]): void {\r\n this.styles = this.otpService.removeItemFromAll(\r\n this.styles,\r\n this.otpService.toArray(styles)\r\n );\r\n }\r\n\r\n private onChange = (value: InputTextValueTypes) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: InputTextValueTypes) {\r\n if (outsideValue) {\r\n let lastIndex = 0;\r\n String(outsideValue)\r\n .split('')\r\n .slice(0, this.otpConfig.otpLength)\r\n .map((character: string, index: number) => {\r\n if (this.otpConfig.classList && this.otpConfig.classList.inputFilled) {\r\n this.addStyle(index, this.otpConfig.classList.inputFilled);\r\n }\r\n this.getFormControlByIndex(index).setValue(character, {emitEvent: false});\r\n lastIndex = index;\r\n });\r\n\r\n if (this.ngxOtpArray.valid) {\r\n this.blur();\r\n } else {\r\n this.setFocus(lastIndex + 1);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event']) onPaste(event: ClipboardEvent): void {\r\n event.preventDefault();\r\n // @ts-ignore\r\n this.handlePaste(event.clipboardData.getData('text'));\r\n }\r\n\r\n getInputType(): 'text' | 'password' | 'tel' {\r\n return this.otpConfig.isPasswordInput ? 'password' : this.otpConfig.isNumberInput ? 'tel' : 'text';\r\n }\r\n}\r\n","<form\r\n [ngClass]=\"getContainerClasses\"\r\n class=\"mrx-input-otp-container\"\r\n [class]=\"getClasses\"\r\n>\r\n <div\r\n *ngFor=\"let control of ngxOtpArray.controls; let i = index\"\r\n [ngClass]=\"getInputBoxClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class]=\"checkValidClasses\"\r\n class=\"mrx-input-otp-box\"\r\n >\r\n <label [attr.aria-label]=\"ariaLabels[i]\">\r\n <input\r\n #otpInputElement\r\n [id]=\"'mrx-input-otp-' + i\"\r\n [formControl]=\"convertToFormControl(control)\"\r\n [mrxOptPattern]=\"otpConfig.pattern\"\r\n [type]=\"getInputType()\"\r\n [ngClass]=\"styles[i]\"\r\n (keyup)=\"handleKeyUp(i, $event.key)\"\r\n (keyup.backspace)=\"handleDelete(i)\"\r\n (keyup.arrowLeft)=\"stepBackward(i)\"\r\n (keyup.arrowRight)=\"stepForward(i)\"\r\n (focus)=\"handleFocus(i)\"\r\n class=\"mrx-input-otp\"\r\n maxlength=\"1\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"false\"\r\n />\r\n </label>\r\n </div>\r\n</form>\r\n\r\n<mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n customClasses=\"text-left\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputOptComponent } from './components/input-opt/input-opt.component';\r\nimport { OptPatternDirective } from './directives/opt-pattern.directive';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { InputOptService } from './services/input-opt.service';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n OptPatternDirective,\r\n InputOptComponent\r\n ],\r\n imports: [\r\n ReactiveFormsModule,\r\n FormsModule,\r\n CommonModule,\r\n ErrorMessageModule\r\n ],\r\n exports: [InputOptComponent],\r\n providers: [InputOptService],\r\n})\r\nexport class InputOptModule { }\r\n","export enum InputPasswordSizesEnum {\r\n 'small' = 'mrx-input-password-sm',\r\n 'medium' = 'mrx-input-password-md',\r\n 'large' = 'mrx-input-password-lg',\r\n}\r\n\r\nexport type InputPasswordSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputPasswordValueTypes = string;\r\n\r\nexport interface InputPasswordValueWithId {\r\n value: InputPasswordValueTypes,\r\n id: string\r\n}\r\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport {\r\n InputPasswordSizesEnum,\r\n InputPasswordSizesTypes,\r\n InputPasswordValueTypes, InputPasswordValueWithId\r\n} from './input-password.enum';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services';\r\n\r\n@Component({\r\n selector: 'mrx-input-password',\r\n templateUrl: './input-password.component.html',\r\n styleUrls: ['./input-password.component.less'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputPasswordComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputPasswordComponent implements ControlValueAccessor {\r\n public value: InputPasswordValueTypes = '';\r\n public isShowPassword = false\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public disabled = false;\r\n @Input() public required = false;\r\n @Input() public readonly = false;\r\n @Input() public maxlength = 0;\r\n @Input() public minlength = 0;\r\n @Input() public placeholder = '';\r\n @Input() public customClasses = '';\r\n @Input() public size: InputPasswordSizesTypes = 'large';\r\n\r\n // VALIDATE\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Input() public restrictInput = true;\r\n\r\n @Output() public changed: EventEmitter<InputPasswordValueTypes> = new EventEmitter<InputPasswordValueTypes>();\r\n @Output() public modelChange: EventEmitter<InputPasswordValueWithId> = new EventEmitter<InputPasswordValueWithId>();\r\n @Output() public blurred: EventEmitter<InputPasswordValueWithId> = new EventEmitter<InputPasswordValueWithId>();\r\n\r\n private get _isInvalidValueLength(): boolean {\r\n return this.maxlength < this.value?.length && this.maxlength > 0\r\n }\r\n\r\n public get getInvalid(): boolean {\r\n return this._isInvalidValueLength || this.invalid\r\n }\r\n\r\n public get getInvalidMessage(): string | string[] {\r\n return this._isInvalidValueLength ? 'Превышено допустимое значение символов' : this.invalidMessage\r\n }\r\n\r\n public get readonlyClass(): string {\r\n return this.readonly ? 'mrx-input__readonly' : '';\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : ''\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputPasswordSizesEnum[this.size]} ${this.customClasses} ${this.readonlyClass} ${this.checkValidClasses}`;\r\n }\r\n\r\n public toggleShow(): void {\r\n this.isShowPassword = !this.isShowPassword\r\n }\r\n\r\n private onChange = (value: InputPasswordValueTypes) => {};\r\n private onTouched = () => {};\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: InputPasswordValueTypes) {\r\n this.value = outsideValue;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: InputPasswordValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({value: insideValue, id: this.uuid})\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n\r\n public onBlur(event: Event) {\r\n this.blurred.emit({ value: this.value, id: this.uuid })\r\n }\r\n}\r\n","<div\r\n class=\"mrx-input-password\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"getInvalid\">\r\n <div class=\"mrx-input-password__wrapper\">\r\n <input\r\n autocomplete=\"nope\"\r\n #inputElement\r\n [type]=\"isShowPassword ? 'text' : 'password'\"\r\n [id]=\"uuid\"\r\n [ngModel]=\"value\"\r\n [attr.title]=\"placeholder || ''\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readonly\"\r\n [placeholder]=\"!disabled && placeholder ? placeholder : ''\"\r\n [minlength]=\"minlength > 0 && restrictInput ? minlength : null\"\r\n [maxlength]=\"maxlength > 0 && restrictInput ? maxlength : null\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"onBlur($event)\"\r\n />\r\n\r\n <div class=\"mrx-input-password__icons\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class]=\"isShowPassword ? 'icon-hide' : 'icon-view'\"\r\n [class.icon-font-16]=\"size === 'small' || size === 'medium'\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n (click)=\"toggleShow()\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxlength\"\r\n [value]=\"value\"\r\n [maxlength]=\"maxlength\"\r\n ></mrx-chars-left>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputPasswordComponent } from './input-password.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CharsLeftModule } from '../../chars-left/chars-left.module';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n InputPasswordComponent\r\n ],\r\n imports: [\r\n FormsModule,\r\n CharsLeftModule,\r\n ErrorMessageModule,\r\n CommonModule,\r\n NgxMaskModule,\r\n SaveStateModule\r\n ],\r\n exports: [\r\n InputPasswordComponent\r\n ]\r\n})\r\nexport class InputPasswordModule { }\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { CheckboxValueTypes, CheckboxValueWithId } from './checkbox.enum';\r\nimport { TooltipService } from '../../tooltip/services/tooltip.service';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Component({\r\n selector: 'mrx-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n TooltipService,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CheckboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CheckboxComponent implements ControlValueAccessor, OnInit {\r\n public value: CheckboxValueTypes = false;\r\n\r\n private _tooltip = '';\r\n private _tooltipInitialVisible = false;\r\n private _isSaveToStorage = false;\r\n\r\n // SAVE STATE\r\n public uuid: string = uuid();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public required = false;\r\n @Input() public boldLabel = false;\r\n @Input() public indeterminate = false;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public label = '';\r\n @Input() public customClasses = '';\r\n @Input() public customWrapperClasses = '';\r\n\r\n @Input() public invalid = false;\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @Input()\r\n set tooltip(tooltip: string) {\r\n this._tooltip = tooltip;\r\n this.tooltipService.setTooltip = tooltip;\r\n }\r\n\r\n @Input()\r\n set tooltipInitialVisible(value: boolean) {\r\n this._tooltipInitialVisible = value;\r\n this.tooltipService.toggleTooltipVisibleFromCode(value);\r\n }\r\n\r\n @Input()\r\n set isSaveToStorage(value: boolean) {\r\n this._isSaveToStorage = value;\r\n this.tooltipService.setSaveToStorage = value;\r\n }\r\n\r\n @ViewChild('input') input!: ElementRef;\r\n @ViewChild('labelContent') labelContent!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<CheckboxValueTypes> = new EventEmitter<CheckboxValueTypes>();\r\n @Output() public modelChange: EventEmitter<CheckboxValueWithId> = new EventEmitter<CheckboxValueWithId>();\r\n\r\n constructor(\r\n public tooltipService: TooltipService\r\n ) {\r\n }\r\n\r\n public get getWrapperClasses(): string {\r\n return `${this.customWrapperClasses}`;\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n private onChange = (value: CheckboxValueTypes) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(outsideValue: CheckboxValueTypes) {\r\n this.value = outsideValue;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public updateValue(insideValue: CheckboxValueTypes) {\r\n this.value = insideValue;\r\n this.changed.emit(insideValue);\r\n this.modelChange.emit({ value: insideValue, id: this.uuid });\r\n this.onChange(insideValue);\r\n this.onTouched();\r\n }\r\n\r\n ngOnInit() {\r\n this.tooltipService.initTooltip(this._tooltip, this._tooltipInitialVisible);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","<div\r\n #input\r\n class=\"mrx-checkbox-wrapper\"\r\n [class]=\"getWrapperClasses\"\r\n>\r\n <label\r\n class=\"mrx-checkbox\"\r\n [class]=\"getClasses\"\r\n [class.mrx-checkbox-indeterminate]=\"indeterminate\"\r\n [class.mrx-checkbox-error]=\"invalid\"\r\n [class.mrx-checkbox-input-disabled]=\"disabled\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [disabled]=\"disabled || readonly\"\r\n [readonly]=\"readonly\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n />\r\n <span class=\"mrx-checkbox-mark\">\r\n <span class=\"mrx-icon icon-check icon-font-12 text-bold\" *ngIf=\"!indeterminate\"></span>\r\n </span>\r\n <span\r\n #labelContent\r\n [class]=\"boldLabel ? 'mrx-checkbox-label mrx-checkbox-label-bold' : 'mrx-checkbox-label'\"\r\n >\r\n {{label}}\r\n <ng-content></ng-content>\r\n <span *ngIf=\"required && !disabled\" class=\"required-active\">*</span>\r\n </span>\r\n </label>\r\n\r\n <mrx-tooltip-trigger\r\n *ngIf=\"tooltipService.getTooltip\"\r\n (toggleTooltip)=\"tooltipService.toggleTooltipVisible()\"\r\n [isVisibleTooltip]=\"tooltipService.getTooltipVisible\"\r\n ></mrx-tooltip-trigger>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkbox\"></mrx-save-state>\r\n</div>\r\n\r\n<mrx-tooltip\r\n *ngIf=\"tooltipService.getTooltip\"\r\n [tooltip]=\"tooltipService.getTooltip\"\r\n [tooltipVisible]=\"tooltipService.getTooltipVisible\"\r\n></mrx-tooltip>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CheckboxComponent } from './checkbox.component';\r\nimport { TooltipModule } from '../../tooltip/tooltip.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n@NgModule({\r\n declarations: [CheckboxComponent],\r\n imports: [CommonModule, FormsModule, TooltipModule, SaveStateModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [CheckboxComponent],\r\n})\r\nexport class CheckboxModule {}\r\n","import { CheckboxGroupItem } from '../models/checkbox-group.model';\r\n\r\nexport const getSortedList = (list: CheckboxGroupItem[], sortable: boolean) => {\r\n if (!list || !sortable) return list\r\n\r\n const sortedFunc = (prev: CheckboxGroupItem, next: CheckboxGroupItem) => {\r\n if (prev.value === null) {\r\n if (next.value === null) {\r\n return 0\r\n } else if (next.value) {\r\n return 1\r\n } else {\r\n return -1\r\n }\r\n } else if (prev.value) {\r\n if (next.value === null || !next.value) {\r\n return -1\r\n } else {\r\n return 0\r\n }\r\n } else {\r\n if (next.value === null || next.value) {\r\n return 1\r\n } else {\r\n if (prev.text < next.text) {return -1;}\r\n if (prev.text > next.text) {return 1;}\r\n return 0\r\n }\r\n }\r\n }\r\n\r\n const getSortedListInner = (list: CheckboxGroupItem[]) => {\r\n const sortedList = list.sort(sortedFunc)\r\n\r\n sortedList.forEach((item: CheckboxGroupItem) => {\r\n if (item.type === 'array') {\r\n getSortedListInner(item.array)\r\n }\r\n })\r\n\r\n return sortedList\r\n }\r\n\r\n return getSortedListInner(list)\r\n}\r\n","import { CheckboxGroupItem, CheckboxGroupSearchValue } from '../models/checkbox-group.model';\r\n\r\nexport const filterSearchGroup = (list: CheckboxGroupItem[], searchValue: CheckboxGroupSearchValue) => {\r\n if (!list) return list\r\n\r\n const getIntersectionsFromString = (array: CheckboxGroupItem[]) => {\r\n const searchArray: CheckboxGroupItem[] = []\r\n\r\n array.forEach((item: CheckboxGroupItem) => {\r\n if (item.text.toLowerCase().includes(searchValue.toLowerCase())) {\r\n if (item.type === 'array') {\r\n const newArray: CheckboxGroupItem[] = getIntersectionsFromString(item.array)\r\n searchArray.push({...item, array: newArray})\r\n } else {\r\n searchArray.push(item)\r\n }\r\n } else {\r\n if (item.type === 'array') {\r\n const newArray: CheckboxGroupItem[] = getIntersectionsFromString(item.array)\r\n newArray.length && searchArray.push({...item, array: newArray})\r\n }\r\n }\r\n })\r\n\r\n return searchArray\r\n }\r\n\r\n return getIntersectionsFromString(list)\r\n}\r\n","import { CheckboxGroupItem } from '../models/checkbox-group.model';\r\n\r\nexport const getItemById = (list: CheckboxGroupItem[], itemId: string | number) => {\r\n const findById = (acc: CheckboxGroupItem | null, el: CheckboxGroupItem | null): CheckboxGroupItem | null => {\r\n if ( el?.id === itemId ) return el;\r\n if ( el?.array ) return el.array.reduce(findById, acc);\r\n return acc;\r\n }\r\n\r\n return list.reduce(findById, null);\r\n}\r\n","import { CheckboxGroupItem, CheckboxIndeterminateState } from '../models/checkbox-group.model';\r\n\r\nexport const changeItemValue = (item: CheckboxGroupItem, value: CheckboxIndeterminateState) => {\r\n item.value = value\r\n if (item.type === 'array') {\r\n item.array.forEach((item: CheckboxGroupItem) => {\r\n changeItemValue(item, value)\r\n })\r\n }\r\n\r\n return item\r\n}\r\n\r\nexport const changeListValue = (list: CheckboxGroupItem[], value: CheckboxIndeterminateState) => {\r\n list.forEach((item: CheckboxGroupItem) => {\r\n changeItemValue(item, value)\r\n })\r\n}\r\n","import { CheckboxGroupItem, CheckboxIndeterminateState } from '../models/checkbox-group.model';\r\nimport { getItemById } from './get-item-by-id';\r\n\r\nexport const checkUnderArrayValue = (array: CheckboxGroupItem[], value: CheckboxIndeterminateState): boolean => {\r\n return array.some((x: any) => {\r\n if (x.type === 'array') {\r\n return checkUnderArrayValue(x.array, value)\r\n }\r\n\r\n return x.value !== value\r\n })\r\n}\r\n\r\nexport const changeGroupValue = (list: CheckboxGroupItem[], itemId: string | number, value: CheckboxIndeterminateState) => {\r\n if (!itemId) {\r\n return\r\n }\r\n\r\n const parent = getItemById(list, itemId)\r\n\r\n if (parent) {\r\n parent.value = checkUnderArrayValue(parent.array, value) ? null : value\r\n\r\n changeGroupValue(list, parent.parentId, value)\r\n }\r\n}\r\n","import { CheckboxGroupItem } from '../models/checkbox-group.model';\r\n\r\nexport const getCheckedItems = (list: CheckboxGroupItem[]) => {\r\n if (!list) return list\r\n\r\n const checkedItems: CheckboxGroupItem[] = []\r\n\r\n const getCheckedItemsFromArray = (list: CheckboxGroupItem[]) => {\r\n list.forEach((item: CheckboxGroupItem) => {\r\n if (item.type === 'array') {\r\n getCheckedItemsFromArray(item.array)\r\n } else {\r\n if (item.value) {\r\n checkedItems.push(item)\r\n }\r\n }\r\n })\r\n }\r\n\r\n getCheckedItemsFromArray(list)\r\n\r\n return checkedItems\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { animate, group, state, style, transition, trigger } from '@angular/animations';\r\nimport { AnimateCheckboxGroupState, CheckboxGroupItem, CheckboxIndeterminateState } from '../../models/checkbox-group.model';\r\n\r\n@Component({\r\n selector: 'mrx-checkbox-group-item',\r\n templateUrl: './checkbox-group-item.component.html',\r\n styleUrls: ['./checkbox-group-item.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [\r\n trigger('openList', [\r\n state('open', style({ height: '*', opacity: '1', visibility: 'visible', marginTop: '12px' })),\r\n state('close', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),\r\n transition('open => close', [group([\r\n animate('200ms ease-in-out', style({ opacity: '0' })),\r\n animate('200ms ease-in-out', style({ height: '0px', marginTop: '0' })),\r\n animate('200ms ease-in-out', style({ visibility: 'hidden' }))\r\n ]\r\n )]),\r\n transition('close => open', [group([\r\n animate('200ms ease-in-out', style({ visibility: 'visible' })),\r\n animate('200ms ease-in-out', style({ height: '*', marginTop: '12px' })),\r\n animate('200ms ease-in-out', style({ opacity: '1' }))\r\n ],\r\n )])\r\n ])\r\n ]\r\n})\r\nexport class CheckboxGroupItemComponent implements OnChanges {\r\n public animationState: AnimateCheckboxGroupState = 'close'\r\n\r\n @Input() item!: CheckboxGroupItem\r\n @Input() displaced = false\r\n @Input() level = 0\r\n @Input() animationTrigger: boolean | null = null\r\n @Input() isLast!: boolean\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n\r\n @Output() public animationEnd: EventEmitter<null> = new EventEmitter<null>();\r\n @Output() public checkboxChanged: EventEmitter<{ value: CheckboxIndeterminateState, item: CheckboxGroupItem }> =\r\n new EventEmitter<{ value: CheckboxIndeterminateState, item: CheckboxGroupItem }>();\r\n\r\n constructor(private detector: ChangeDetectorRef) {\r\n }\r\n\r\n public get isIndeterminate(): boolean {\r\n return this.item.value === null\r\n }\r\n\r\n public get translateChevron(): string {\r\n return this.animationState === 'close' ? 'rotate(-90deg)' : 'rotate(0deg)';\r\n }\r\n\r\n public trackByFn(index: number, item: CheckboxGroupItem) {\r\n return item.id;\r\n }\r\n\r\n public toggleList(item: CheckboxGroupItem): void {\r\n this.animationState = this.animationState === 'close' ? 'open' : 'close';\r\n }\r\n\r\n public checkboxChangeModel(value: CheckboxIndeterminateState, item: CheckboxGroupItem): void {\r\n if (this.isIndeterminate) {\r\n this.checkboxChanged.emit({ value: false, item })\r\n } else {\r\n this.checkboxChanged.emit({ value: value, item })\r\n }\r\n\r\n this.detector.detectChanges()\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['item'] && (changes['item'].currentValue.value === null)) {\r\n this.animationState = 'open'\r\n } else {\r\n if (this.animationTrigger) {\r\n this.animationState = 'open'\r\n } else {\r\n this.animationState = 'close'\r\n }\r\n }\r\n\r\n this.detector.detectChanges()\r\n }\r\n\r\n public onAnimationEvent(): void {\r\n this.animationEnd.emit()\r\n }\r\n}\r\n","<div class=\"mrx-checkbox-group__item\" [class.mrx-checkbox-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-checkbox-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleCheckboxTemplate\">\r\n <div class=\"mrx-checkbox-group__item--array-head\">\r\n <div class=\"mrx-checkbox-group__item--head-icon mr-1\">\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 cursor-pointer\"\r\n (click)=\"toggleList(item)\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n\r\n <div class=\"mrx-checkbox-group__item--array-list\" [@openList]=\"animationState\" (@openList.done)=\"onAnimationEvent()\">\r\n <ng-container>\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of item.array\"\r\n [level]=\"level + 1\"\r\n [item]=\"item\"\r\n [displaced]=\"true\"\r\n [animationTrigger]=\"animationTrigger\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (checkboxChanged)=\"checkboxChanged.emit($event)\"\r\n ></mrx-checkbox-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleCheckboxTemplate>\r\n <div class=\"mrx-checkbox-group__item--single\" [class.item-displaced]=\"displaced\">\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CheckboxGroupSearchValue } from '../../models/checkbox-group.model';\r\nimport { Field } from \"../../../../../services/mrx-autosave/mrx-autosave.service\";\r\n\r\n@Component({\r\n selector: 'mrx-checkbox-group-header',\r\n templateUrl: './checkbox-group-header.component.html',\r\n styleUrls: ['./checkbox-group-header.component.less']\r\n})\r\nexport class CheckboxGroupHeaderComponent {\r\n public searchValue = ''\r\n\r\n @Input() searchable = false\r\n @Input() searchPlaceholder = ''\r\n\r\n // LABEL\r\n @Input() tooltip = ''\r\n @Input() labelText = ''\r\n @Input() linkText = ''\r\n @Input() checkedItemsCount = 0\r\n\r\n @Output() public updateCheckboxGroupSearchValue: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() public clearFilters: EventEmitter<null> = new EventEmitter<null>();\r\n\r\n constructor() { }\r\n\r\n public changeSearchValue(searchValue: CheckboxGroupSearchValue): void {\r\n this.updateCheckboxGroupSearchValue.emit(searchValue)\r\n }\r\n\r\n public onClearFilters(): void {\r\n this.clearFilters.emit()\r\n }\r\n}\r\n","<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef, Injectable,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { CheckboxGroupItem, CheckboxGroupValueWithId } from './models/checkbox-group.model';\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { getSortedList } from './helpers/get-sorted-list';\r\nimport { filterSearchGroup } from './helpers/filter-search-group';\r\nimport { getItemById } from './helpers/get-item-by-id';\r\nimport { changeItemValue, changeListValue } from './helpers/change-item-value';\r\nimport { changeGroupValue } from './helpers/change-group-value';\r\nimport { getCheckedItems } from './helpers/get-checked-items';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Injectable({\r\n providedIn: CheckboxGroupComponent\r\n})\r\n@Component({\r\n selector: 'mrx-checkbox-group',\r\n templateUrl: './checkbox-group.component.html',\r\n styleUrls: ['./checkbox-group.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CheckboxGroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CheckboxGroupComponent implements ControlValueAccessor {\r\n private _isInit = false\r\n private _groupItemsWrapperHeight = 0\r\n private _searchValue = ''\r\n\r\n public list: CheckboxGroupItem[] = []\r\n public filteredList: CheckboxGroupItem[] = []\r\n public checkedList: CheckboxGroupItem[] = []\r\n\r\n // SAVE STATE\r\n public uuid: string = uuid()\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() public items: CheckboxGroupItem[] = []\r\n @Input() public scrollMaxHeight = 200\r\n @Input() public searchable = false\r\n @Input() public scrollable = false\r\n @Input() public sortable = false\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public enableMessage = 'Ничего не найдено'\r\n @Input() public searchPlaceholder = ''\r\n @Input() public customClasses = '';\r\n\r\n // TOOLTIP\r\n @Input() tooltip = ''\r\n\r\n // LABEL\r\n @Input() labelText = ''\r\n @Input() linkText = ''\r\n\r\n @ViewChild('groupItemsWrapper') groupItemsWrapper!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<CheckboxGroupItem[]> = new EventEmitter<CheckboxGroupItem[]>();\r\n @Output() public changeChecked: EventEmitter<CheckboxGroupItem[]> = new EventEmitter<CheckboxGroupItem[]>();\r\n @Output() public modelChange: EventEmitter<CheckboxGroupValueWithId> = new EventEmitter<CheckboxGroupValueWithId>();\r\n @Output() public modelCheckedChange: EventEmitter<CheckboxGroupValueWithId> = new EventEmitter<CheckboxGroupValueWithId>();\r\n @Output() public modelItemChange: EventEmitter<CheckboxGroupItem> = new EventEmitter<CheckboxGroupItem>();\r\n\r\n constructor() {}\r\n\r\n public get isSearchValue(): string {\r\n return this._searchValue\r\n }\r\n\r\n public get displaced(): boolean {\r\n return this.list.some((item: CheckboxGroupItem) => item.array.length)\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${ this.customClasses }`;\r\n }\r\n\r\n public get getShowScroll(): boolean {\r\n return this._groupItemsWrapperHeight > this.scrollMaxHeight\r\n }\r\n\r\n public trackByFn(index: number, item: CheckboxGroupItem) {\r\n return item.id;\r\n }\r\n\r\n private onChange = (value: CheckboxGroupItem[]) => {};\r\n private onTouched = () => {};\r\n\r\n public writeValue(list: CheckboxGroupItem[]): void {\r\n if (list) {\r\n this.list = list\r\n this.filteredList = getSortedList(list, this.sortable)\r\n this.checkedList = getCheckedItems(list)\r\n\r\n this._isInit = true\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public updateValue(list: CheckboxGroupItem[], checkedList: CheckboxGroupItem[]): void {\r\n this.changed.emit(list);\r\n this.changeChecked.emit()\r\n this.modelChange.emit({value: list, id: this.uuid})\r\n this.modelCheckedChange.emit({value: checkedList, id: this.uuid})\r\n this.onChange(list);\r\n this.onTouched();\r\n }\r\n\r\n public checkHeightGroupWrapper(): void {\r\n this._groupItemsWrapperHeight = this.groupItemsWrapper.nativeElement.scrollHeight\r\n }\r\n\r\n public updateCheckboxGroupSearchValue(searchValue: string): void {\r\n this._searchValue = searchValue\r\n this.filteredList = filterSearchGroup(this.list, this._searchValue)\r\n }\r\n\r\n checkboxChanged({ value, item }: { value: boolean | null; item: CheckboxGroupItem }) {\r\n const cloneList: CheckboxGroupItem[] = cloneDeep(this.filteredList)\r\n const findItem: CheckboxGroupItem | null = getItemById(cloneList, item.id)\r\n let changedItem: CheckboxGroupItem | null = null\r\n\r\n if (findItem) {\r\n changedItem = changeItemValue(findItem, value)\r\n changeGroupValue(cloneList, item.parentId, value)\r\n getSortedList(cloneList, this.sortable)\r\n }\r\n\r\n this.filteredList = cloneList\r\n this.checkedList = getCheckedItems(cloneList)\r\n this.updateValue(this.filteredList, this.checkedList)\r\n\r\n if (changedItem) {\r\n this.modelItemChange.emit(changedItem)\r\n }\r\n }\r\n\r\n clearFilters() {\r\n const cloneList: CheckboxGroupItem[] = cloneDeep(this.filteredList)\r\n\r\n changeListValue(cloneList, false)\r\n getSortedList(cloneList, this.sortable)\r\n\r\n this.filteredList = cloneList\r\n this.checkedList = getCheckedItems(cloneList)\r\n this.updateValue(this.filteredList, this.checkedList)\r\n }\r\n}\r\n","<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CheckboxGroupComponent } from './checkbox-group.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CheckboxModule } from '../checkbox/checkbox.module';\r\nimport { CheckboxGroupItemComponent } from './components/checkbox-group-item/checkbox-group-item.component';\r\nimport { CheckboxGroupHeaderComponent } from './components/checkbox-group-header/checkbox-group-header.component';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { LabelModule } from '../../label/label.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\nimport { InputSearchModule } from '../input-search/input-search.module';\r\n\r\n@NgModule({\r\n declarations: [CheckboxGroupComponent, CheckboxGroupItemComponent, CheckboxGroupHeaderComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CheckboxModule,\r\n InputSearchModule,\r\n LabelModule,\r\n SaveStateModule,\r\n ErrorMessageModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [CheckboxGroupComponent]\r\n})\r\nexport class CheckboxGroupModule { }\r\n","export enum RadioTypesEnum {\r\n 'default' = 'mrx-radio-default',\r\n}\r\n// | 'indeterminate'\r\nexport type RadioTypes = 'default'\r\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { RadioTypes, RadioTypesEnum } from \"./radio.enum\";\r\n\r\nexport type RadioValueTypes = false;\r\n\r\n@Component({\r\n selector: 'mrx-radio',\r\n templateUrl: './radio.component.html',\r\n styleUrls: ['./radio.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RadioComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class RadioComponent implements ControlValueAccessor {\r\n public modelValue: any;\r\n\r\n @Input() public required = false;\r\n @Input() public type: RadioTypes = 'default';\r\n @Input() public name: string = '';\r\n @Input() public boldLabel = true;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public placeholder = '';\r\n @Input() public label = '';\r\n @Input() public customClasses = '';\r\n\r\n @Input() public invalid = false;\r\n\r\n @Input('value') _value: any;\r\n\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n set value(value) {\r\n\r\n if (!!value) {\r\n this._value = value;\r\n this.onChange(value);\r\n this.onTouched();\r\n }\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${RadioTypesEnum[this.type]} ${this.customClasses}`;\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n registerOnChange(fn: () => {}) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => {}) {\r\n this.onTouched = fn;\r\n }\r\n\r\n writeValue(outsideValue: any) {\r\n this.modelValue = outsideValue;\r\n }\r\n\r\n valueChanged(event: any) {\r\n this.onChange(this.modelValue);\r\n }\r\n}\r\n","<div class=\"mrx-radio__wrapper\">\r\n <label\r\n class=\"mrx-radio\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n >\r\n <input\r\n type=\"radio\"\r\n [name]=\"name\"\r\n [value]=\"value\"\r\n [(ngModel)]=\"modelValue\"\r\n [disabled]=\"disabled || readonly\"\r\n [readonly]=\"readonly\"\r\n (change)=\"valueChanged(value)\"\r\n />\r\n\r\n <span class=\"mrx-radio__mark\"><span class=\"mrx-radio__mark__inner\"></span></span>\r\n\r\n <span class=\"ml-1\" [class]=\"boldLabel ? 'mrx-radio__label--bold' : 'mrx-radio__label'\">\r\n {{label}}\r\n <ng-content></ng-content>\r\n <span *ngIf=\"required && !disabled\" class=\"required-active\">*</span>\r\n </span>\r\n </label>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RadioComponent } from './radio.component';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [RadioComponent],\r\n imports: [CommonModule, FormsModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [RadioComponent]\r\n})\r\nexport class RadioModule { }\r\n","import { RadioGroupItem } from '../models/radio-group.model';\r\n\r\nexport const moveSelectedToFirst = (\r\n list: RadioGroupItem[],\r\n sortable: boolean,\r\n targetItem: RadioGroupItem | null\r\n) => {\r\n if (!list || !sortable || !targetItem) return list;\r\n\r\n const sortArray = (\r\n array: RadioGroupItem[]\r\n ): { sortedArr: RadioGroupItem[]; hasTargetElement: boolean } => {\r\n for (let i = 0; i < array.length; i++) {\r\n const item = array[i];\r\n if (item.id === targetItem.id) {\r\n const sortedArr = [item, ...array.filter((x) => x.id !== item.id)];\r\n return { hasTargetElement: true, sortedArr };\r\n } else if (item.array?.length) {\r\n {\r\n const { sortedArr: newArr, hasTargetElement } = sortArray(item.array);\r\n if (hasTargetElement) {\r\n item.array = newArr;\r\n const sortedArr = [item, ...array.filter((x) => x.id !== item.id)];\r\n return { hasTargetElement, sortedArr };\r\n }\r\n }\r\n }\r\n }\r\n return { hasTargetElement: false, sortedArr: array };\r\n };\r\n const { sortedArr } = sortArray(list);\r\n return sortedArr;\r\n};\r\n","import { RadioGroupItem, RadioGroupSearchValue } from '../models/radio-group.model';\r\n\r\nexport const filterSearchGroup = (list: RadioGroupItem[], searchValue: RadioGroupSearchValue) => {\r\n if (!list) return list\r\n\r\n const getIntersectionsFromString = (array: RadioGroupItem[]) => {\r\n const searchArray: RadioGroupItem[] = []\r\n\r\n array.forEach((item: RadioGroupItem) => {\r\n if (item.text.toLowerCase().includes(searchValue.toLowerCase())) {\r\n if (item.array) {\r\n const newArray: RadioGroupItem[] = getIntersectionsFromString(item.array)\r\n searchArray.push({...item, array: newArray})\r\n } else {\r\n searchArray.push(item)\r\n }\r\n } else {\r\n if (item.array) {\r\n const newArray: RadioGroupItem[] = getIntersectionsFromString(item.array)\r\n newArray.length && searchArray.push({...item, array: newArray})\r\n }\r\n }\r\n })\r\n\r\n return searchArray\r\n }\r\n\r\n return getIntersectionsFromString(list)\r\n}\r\n","import { RadioGroupItem } from '../models/radio-group.model';\r\n\r\nexport const getItemById = (list: RadioGroupItem[], itemId: string | number) => {\r\n const findById = (acc: RadioGroupItem | null, el: RadioGroupItem | null): RadioGroupItem | null => {\r\n if ( el?.id === itemId ) return el;\r\n if ( el?.array ) return el.array.reduce(findById, acc);\r\n return acc;\r\n }\r\n\r\n return list.reduce(findById, null);\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { RadioGroupItem, RadioIndeterminateState } from '../../models/radio-group.model';\r\n\r\n@Component({\r\n selector: 'mrx-radio-group-item',\r\n templateUrl: './radio-group-item.component.html',\r\n styleUrls: ['./radio-group-item.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RadioGroupItemComponent {\r\n\r\n @Input() public invalid = false;\r\n @Input() name: string = '';\r\n @Input() selectedValue: RadioGroupItem | null = null;\r\n @Input() item!: RadioGroupItem\r\n @Input() displaced = false\r\n @Input() level = 0\r\n @Input() public bold = false;\r\n @Input() animationTrigger: boolean | null = null\r\n @Input() isLast!: boolean\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n\r\n @Output() public animationEnd: EventEmitter<null> = new EventEmitter<null>();\r\n @Output() public radioChanged: EventEmitter<{ value: RadioIndeterminateState, item: RadioGroupItem }> =\r\n new EventEmitter<{ value: RadioIndeterminateState, item: RadioGroupItem }>();\r\n\r\n constructor(private detector: ChangeDetectorRef) {\r\n }\r\n\r\n public get isIndeterminate(): boolean {\r\n return this.item.id === null\r\n }\r\n\r\n public trackByFn(index: number, item: RadioGroupItem) {\r\n return item.id;\r\n }\r\n\r\n public radioChangeModel(value: RadioIndeterminateState, item: RadioGroupItem): void {\r\n if (this.isIndeterminate) {\r\n this.radioChanged.emit({ value: false, item })\r\n } else {\r\n this.radioChanged.emit({ value: value, item })\r\n }\r\n\r\n this.detector.detectChanges()\r\n }\r\n}\r\n","<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-radio-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleradioTemplate\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n <ng-container>\r\n <mrx-radio-group-item\r\n *ngFor=\"let child of item.array; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleradioTemplate>\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [indeterminate]=\"false\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n","import { InputSearchSizesTypes } from './../../../input-search/input-search.enum';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { RadioGroupSearchValue } from '../../models/radio-group.model';\r\n\r\n@Component({\r\n selector: 'mrx-radio-group-header',\r\n templateUrl: './radio-group-header.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RadioGroupHeaderComponent {\r\n public searchValue = ''\r\n\r\n @Input() searchSize: InputSearchSizesTypes = 'medium';\r\n\r\n @Input() searchable = false\r\n @Input() searchPlaceholder = ''\r\n\r\n // LABEL\r\n @Input() tooltip = ''\r\n @Input() labelText = ''\r\n @Input() linkText = ''\r\n @Input() checkedItemsCount = 0\r\n @Input() required = false;\r\n\r\n @Output() public updateradioGroupSearchValue: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n constructor() { }\r\n\r\n public changeSearchValue(searchValue: RadioGroupSearchValue): void {\r\n this.updateradioGroupSearchValue.emit(searchValue)\r\n }\r\n}\r\n","<mrx-label\r\n *ngIf=\"labelText\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"required\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-radio-group-head--search mb-12px\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"searchSize\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n","import { InputSearchSizesTypes } from './../input-search/input-search.enum';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Injectable,\r\n Input,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { RadioGroupItem, RadioGroupValueWithId } from './models/radio-group.model';\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { moveSelectedToFirst } from './helpers/move-selected-to-first';\r\nimport { filterSearchGroup } from './helpers/filter-search-group';\r\nimport { getItemById } from './helpers/get-item-by-id';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { Field } from '../../../services/mrx-autosave/mrx-autosave.service';\r\n\r\n@Injectable({\r\n providedIn: RadioGroupComponent\r\n})\r\n@Component({\r\n selector: 'mrx-radio-group',\r\n templateUrl: './radio-group.component.html',\r\n styleUrls: ['./radio-group.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RadioGroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class RadioGroupComponent implements ControlValueAccessor {\r\n private _isInit = false;\r\n private _groupItemsWrapperHeight = 0;\r\n private _searchValue = '';\r\n\r\n\r\n public selectedValue: RadioGroupItem | null = null;\r\n public filteredList: RadioGroupItem[] = [];\r\n\r\n // SAVE STATE\r\n public uuid: string = uuid();\r\n\r\n @Input() public fields: Field[] = [];\r\n @Input() searchSize: InputSearchSizesTypes = 'medium';\r\n @Input() public name = '';\r\n @Input() public scrollMaxHeight = 200;\r\n @Input() public searchable = false;\r\n @Input() public bold = false;\r\n @Input() public scrollable = false;\r\n @Input() public sortable = false;\r\n @Input() public disabled = false;\r\n @Input() public readonly = false;\r\n @Input() public enableMessage = 'Ничего не найдено';\r\n @Input() public searchPlaceholder = '';\r\n @Input() public customClasses = '';\r\n @Input() public required = false;\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n // TOOLTIP\r\n @Input() tooltip = '';\r\n\r\n // LABEL\r\n @Input() labelText = '';\r\n\r\n @Input() set items(value: RadioGroupItem[]) {\r\n this.filteredList = value\r\n }\r\n\r\n get items(): RadioGroupItem[] {\r\n return this.filteredList\r\n }\r\n\r\n @ViewChild('groupItemsWrapper') groupItemsWrapper!: ElementRef;\r\n\r\n @Output() public changed: EventEmitter<RadioGroupItem | null> = new EventEmitter<RadioGroupItem | null>();\r\n @Output() public modelChange: EventEmitter<RadioGroupValueWithId> = new EventEmitter<RadioGroupValueWithId>();\r\n @Output() public modelCheckedChange: EventEmitter<RadioGroupItem | null> = new EventEmitter<RadioGroupItem | null>();\r\n @Output() public modelItemChange: EventEmitter<RadioGroupItem | null> = new EventEmitter<RadioGroupItem | null>();\r\n\r\n public get isSearchValue(): string {\r\n return this._searchValue;\r\n }\r\n\r\n public get displaced(): boolean {\r\n return this.items.some((item: RadioGroupItem) => item.array.length);\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`;\r\n }\r\n\r\n public get getShowScroll(): boolean {\r\n return this._groupItemsWrapperHeight > this.scrollMaxHeight;\r\n }\r\n\r\n public trackByFn(index: number, item: RadioGroupItem) {\r\n return item.id;\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n public writeValue(selectedValue: RadioGroupItem): void {\r\n this.selectedValue = selectedValue;\r\n this._isInit = true;\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public updateValue(list: RadioGroupItem[], targetItem: RadioGroupItem | null): void {\r\n this.changed.emit(targetItem);\r\n this.modelChange.emit({value: targetItem, id: this.uuid});\r\n this.modelCheckedChange.emit(targetItem);\r\n this.onChange(targetItem);\r\n this.onTouched();\r\n }\r\n\r\n public checkHeightGroupWrapper(): void {\r\n this._groupItemsWrapperHeight = this.groupItemsWrapper.nativeElement.scrollHeight;\r\n }\r\n\r\n public updateRadioGroupSearchValue(searchValue: string): void {\r\n this._searchValue = searchValue;\r\n this.filteredList = filterSearchGroup(this.items, this._searchValue);\r\n }\r\n\r\n radioChanged({item}: { item: RadioGroupItem }) {\r\n const cloneList: RadioGroupItem[] = cloneDeep(this.filteredList);\r\n const targetItem: RadioGroupItem | null = getItemById(cloneList, item.id);\r\n this.selectedValue = targetItem;\r\n this.filteredList = moveSelectedToFirst(cloneList, this.sortable, targetItem);\r\n this.updateValue(this.filteredList, targetItem);\r\n this.modelItemChange.emit(targetItem);\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage.length;\r\n }\r\n}\r\n","<div class=\"mrx-radio-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"radioGroup\"></mrx-save-state>\r\n\r\n <mrx-radio-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"required\"\r\n [searchSize]=\"searchSize\"\r\n [labelText]=\"labelText\"\r\n (updateradioGroupSearchValue)=\"updateRadioGroupSearchValue($event)\"\r\n ></mrx-radio-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-radio-group-wrapper\"\r\n [class.mrx-radio-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\">\r\n <mrx-radio-group-item\r\n *ngFor=\"let item of filteredList; trackBy: trackByFn; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [selectedValue]=\"selectedValue\"\r\n [name]=\"name\"\r\n [bold]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (radioChanged)=\"radioChanged($event)\"\r\n ></mrx-radio-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-radio-group__empty-message py-12px\">{{ enableMessage }}</p>\r\n </ng-template>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n [customClasses]=\"'mt-12px'\"\r\n ></mrx-error-message>\r\n </div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RadioGroupComponent } from './radio-group.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RadioModule } from '../radio/radio.module';\r\nimport { RadioGroupItemComponent } from './components/radio-group-item/radio-group-item.component';\r\nimport { RadioGroupHeaderComponent } from './components/radio-group-header/radio-group-header.component';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { LabelModule } from '../../label/label.module';\r\nimport { InputSearchModule } from '../input-search/input-search.module';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [RadioGroupComponent, RadioGroupItemComponent, RadioGroupHeaderComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RadioModule,\r\n InputSearchModule,\r\n LabelModule,\r\n ErrorMessageModule,\r\n SaveStateModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [RadioGroupComponent]\r\n})\r\nexport class RadioGroupModule {\r\n}\r\n\r\n","export enum WidgetWrapperTitleStatusTextEnum {\r\n 'default' = '',\r\n 'positive' = 'color-positive',\r\n 'negative' = 'color-negative',\r\n 'attention' = 'color-attention',\r\n 'info' = 'color-info',\r\n}\r\n\r\nexport enum WidgetWrapperTitleStatusIconEnum {\r\n 'default' = '',\r\n 'positive' = 'icon-filled-color-positive',\r\n 'negative' = 'icon-filled-color-negative',\r\n 'attention' = 'icon-filled-color-attention',\r\n 'info' = '',\r\n}\r\n\r\nexport type WidgetWrapperTitleStatusTypes = 'default' | 'positive' | 'negative' | 'attention' | 'info'\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { animate, keyframes, state, style, transition, trigger } from '@angular/animations';\r\nimport {\r\n WidgetWrapperTitleStatusIconEnum,\r\n WidgetWrapperTitleStatusTextEnum,\r\n WidgetWrapperTitleStatusTypes\r\n} from \"./widget-wrapper.enum\";\r\n\r\n@Component({\r\n selector: 'mrx-widget-wrapper',\r\n templateUrl: './widget-wrapper.component.html',\r\n styleUrls: ['./widget-wrapper.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [\r\n trigger('expandedPanel', [\r\n state('initial', style({height: 0, opacity: 0})),\r\n state('expanded', style({height: '*', opacity: 1})),\r\n transition('initial => expanded', animate('0.2s', keyframes([\r\n style({height: '*', offset: 0.7}),\r\n style({opacity: 1, offset: 1})\r\n ]))),\r\n transition('expanded => initial', animate('0.2s', keyframes([\r\n style({opacity: 0, offset: 0.4}),\r\n style({height: 0, offset: 1})\r\n ])))\r\n ]),\r\n ],\r\n})\r\nexport class WidgetWrapperComponent implements OnInit {\r\n private _animateState: 'initial' | 'expanded' = 'initial'\r\n\r\n @Input() title = ''\r\n @Input() titleInfo = ''\r\n @Input() titleStatus: WidgetWrapperTitleStatusTypes = 'default'\r\n @Input() iconClass = ''\r\n @Input() isOpen = true\r\n @Input() customClasses = ''\r\n\r\n @Output() toggleWidgetContent: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @ContentChild('templateHeadTitle') templateHeadTitle!: TemplateRef<HTMLElement>;\r\n @ContentChild('templateHeadLeft') templateHeadLeft!: TemplateRef<HTMLElement>;\r\n @ContentChild('templateHeadRight') templateHeadRight!: TemplateRef<HTMLElement>;\r\n @ContentChild('templateContent') templateContent!: TemplateRef<HTMLElement>;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this._animateState = this.isOpen ? 'expanded' : 'initial'\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${this.customClasses}`\r\n }\r\n\r\n public get isOpenState(): string {\r\n return this._animateState\r\n }\r\n\r\n public get getTitleTextClasses(): string {\r\n return `${WidgetWrapperTitleStatusTextEnum[this.titleStatus]}`;\r\n }\r\n\r\n public get getTitleIconClasses(): string {\r\n return `${WidgetWrapperTitleStatusIconEnum[this.titleStatus]} ${this.iconClass}`;\r\n }\r\n\r\n public changeVisibleContent(): void {\r\n this.isOpen = !this.isOpen\r\n this._animateState = this._animateState === 'initial' ? 'expanded' : 'initial'\r\n this.toggleWidgetContent.emit(this.isOpen)\r\n }\r\n}\r\n","<div class=\"mrx-widget\" [class]=\"getClasses\">\r\n <div class=\"mrx-widget__header\" (click)=\"changeVisibleContent()\">\r\n <div class=\"mrx-widget__header-content mr-4 flex-column flex-sm-row align-items-start align-items-sm-center\">\r\n <div class=\"mrx-widget__header-content--left justify-content-start\">\r\n <div class=\"mrx-widget__header-title\" *ngIf=\"!templateHeadTitle; else titleTemplate\">\r\n <h6 class=\"mrx-widget__header-title--wrapper\">\r\n <span\r\n *ngIf=\"iconClass\"\r\n [class]=\"getTitleIconClasses\"\r\n class=\"mrx-icon icon-font-24 icon-filled-color-negative\"\r\n ></span>\r\n <span\r\n *ngIf=\"title\"\r\n [class]=\"getTitleTextClasses\"\r\n class=\"mrx-widget__header-title--text color-negative\"\r\n >{{ title }}</span>\r\n </h6>\r\n <span class=\"mrx-widget__header-title--info\" *ngIf=\"titleInfo\">{{ titleInfo }}</span>\r\n </div>\r\n <ng-template #titleTemplate>\r\n <ng-container *ngTemplateOutlet=\"templateHeadTitle\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"templateHeadLeft\"></ng-container>\r\n </div>\r\n <div class=\"mrx-widget__header-content--right justify-content-start\" *ngIf=\"templateHeadRight\">\r\n <ng-container *ngTemplateOutlet=\"templateHeadRight\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"mrx-widget__header-arrow\">\r\n <span class=\"mrx-widget__header-arrow--text mr-2 d-none d-md-flex justify-content-end\">{{ isOpen ? 'Свернуть' : 'Развернуть' }}</span>\r\n <span\r\n [ngStyle]=\"{transform: isOpen ? 'rotate(0deg)' : 'rotate(180deg)'}\"\r\n class=\"mrx-icon icon-chevron-up icon-font-24\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mrx-widget__content\" [@expandedPanel]=\"isOpenState\">\r\n <div class=\"mrx-widget__content-box px-4 py-3\">\r\n <ng-container *ngIf=\"templateContent; else contentTemplate\">\r\n <ng-container *ngTemplateOutlet=\"templateContent\"></ng-container>\r\n </ng-container>\r\n <ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { WidgetWrapperComponent } from './widget-wrapper.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n WidgetWrapperComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n WidgetWrapperComponent\r\n ]\r\n})\r\nexport class WidgetWrapperModule { }\r\n","export enum ContentWrapperTypeEnum {\r\n 'default' = 'type-default',\r\n 'colored' = 'type-colored',\r\n}\r\n\r\nexport type ContentWrapperType = 'default' | 'colored';\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ContentWrapperType, ContentWrapperTypeEnum } from './content-wrapper.enum';\r\n\r\n@Component({\r\n selector: 'mrx-content-wrapper',\r\n templateUrl: './content-wrapper.component.html',\r\n styleUrls: ['./content-wrapper.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ContentWrapperComponent {\r\n @Input() type: ContentWrapperType = 'default';\r\n @Input() customClasses = ''\r\n @Input() maxWidth: string | undefined;\r\n\r\n public get getClasses(): string {\r\n return `${ContentWrapperTypeEnum[this.type]} ${this.customClasses}`;\r\n }\r\n}\r\n","<div\r\n class=\"mrx-content-wrapper\"\r\n [class]=\"getClasses\"\r\n [ngStyle]=\"{maxWidth: maxWidth}\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ContentWrapperComponent } from './content-wrapper.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ContentWrapperComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ContentWrapperComponent]\r\n})\r\nexport class ContentWrapperModule { }\r\n","export enum ControlsVisibilityEnum {\r\n 'auto' = 'visibility-auto',\r\n 'show' = 'visibility-show',\r\n 'hide' = 'visibility-hide',\r\n}\r\n\r\nexport type ControlsVisibilityTypes = 'auto' | 'show' | 'hide';\r\n","import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, Input, TemplateRef } from '@angular/core';\r\nimport { ControlsVisibilityEnum, ControlsVisibilityTypes } from './controls-wrapper.enum';\r\n\r\n@Component({\r\n selector: 'mrx-controls-wrapper',\r\n templateUrl: './controls-wrapper.component.html',\r\n styleUrls: ['./controls-wrapper.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ControlsWrapperComponent {\r\n @Input() visibility: ControlsVisibilityTypes = 'auto'\r\n\r\n @ContentChild('controls') controls!: TemplateRef<ElementRef>;\r\n\r\n public get getClasses(): string {\r\n return `${ControlsVisibilityEnum[this.visibility]}`;\r\n }\r\n}\r\n","<div class=\"mrx-controls-wrapper\">\r\n <ng-content></ng-content>\r\n\r\n <div class=\"mrx-controls-wrapper__controls\" [class]=\"getClasses\">\r\n <ng-container *ngTemplateOutlet=\"controls\"></ng-container>\r\n </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mrx-controls-item',\r\n templateUrl: 'controls-item.component.html',\r\n styleUrls: ['./controls-item.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ControlsItemComponent {\r\n @Input() separator = false\r\n}\r\n","<div class=\"mrx-controls-wrapper__controls--item\" *ngIf=\"!separator; else separatorTemplate\">\r\n <ng-content></ng-content>\r\n</div>\r\n<ng-template #separatorTemplate>\r\n <div class=\"mrx-controls-wrapper__controls--separator\"></div>\r\n</ng-template>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ControlsWrapperComponent } from './controls-wrapper.component';\r\nimport { ControlsItemComponent } from './components/controls-item/controls-item.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ControlsWrapperComponent, ControlsItemComponent],\r\n imports: [CommonModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [ControlsWrapperComponent, ControlsItemComponent]\r\n})\r\nexport class ControlsWrapperModule { }\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input, OnInit, Renderer2,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[mrxTruncate]',\r\n})\r\nexport class TruncateDirective implements OnInit {\r\n @Input('mrxTruncateRows') rows = '1'\r\n @Input('mrxTruncateHeight') height = '20px'\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', 'hidden')\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', '-webkit-box')\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-line-clamp', this.rows)\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-box-orient', 'vertical')\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'max-height', this.height)\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TruncateDirective } from './truncate.directive';\r\n\r\n@NgModule({\r\n declarations: [TruncateDirective],\r\n imports: [CommonModule],\r\n exports: [TruncateDirective]\r\n})\r\nexport class TruncateDirectiveModule {}\r\n","export enum TimezoneEnum {\r\n 'mos' = 'Europe/Moscow'\r\n}\r\n\r\nexport enum Timezone {\r\n 'default' = 0,\r\n 'mos' = 3,\r\n}\r\n\r\nexport type TimezoneType = 'default' | 'mos'\r\n","import dayjs from 'dayjs';\r\nimport utc from 'dayjs/plugin/utc';\r\nimport tz from 'dayjs/plugin/timezone';\r\nimport { Timezone, TimezoneType } from '../enums/timezone';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeRu from '@angular/common/locales/ru'\r\n\r\ndayjs.extend(utc)\r\ndayjs.extend(tz)\r\nregisterLocaleData(localeRu)\r\n\r\nexport const changeTimezone = (value: string, timezone: TimezoneType) => {\r\n const date = timezone === 'default' ? dayjs(value) : dayjs.utc(value).utcOffset(Timezone[timezone])\r\n\r\n const day = date.date()\r\n const month = date.month() + 1\r\n const year = date.year()\r\n const hour = date.hour()\r\n const minute = date.minute()\r\n const formattedDay = String(day).length === 2 ? String(day) : String('0' + day)\r\n const formattedMonth = String(month).length === 2 ? String(month) : String('0' + month)\r\n const formattedHour = String(hour).length === 2 ? String(hour) : String('0' + hour)\r\n const formattedMinute = String(minute).length === 2 ? String(minute) : String('0' + minute)\r\n return dayjs(`${String(year)}-${String(formattedMonth)}-${String(formattedDay)} ${formattedHour}:${formattedMinute}`).toISOString()\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { TimezoneType } from './enums/timezone';\r\nimport { changeTimezone } from './helpers/change-timezone';\r\n\r\n@Pipe({\r\n name: 'dateFormat'\r\n})\r\nexport class DateFormatPipe extends DatePipe implements PipeTransform {\r\n override transform(value: any, timezone: TimezoneType = 'default', format: string = 'dd.MM.yyyy', args?: any): any {\r\n if (timezone) {\r\n return super.transform(changeTimezone(value, timezone), format)\r\n }\r\n\r\n return super.transform(value, format);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { changeTimezone } from './helpers/change-timezone';\r\nimport { TimezoneType } from './enums/timezone';\r\n\r\n@Pipe({\r\n name: 'dateTimeFormat'\r\n})\r\nexport class DateTimeFormatPipe extends DatePipe implements PipeTransform {\r\n override transform(value: any, timezone: TimezoneType = 'default', format: string = 'dd.MM.yyyy HH:mm', args?: any): any {\r\n if (timezone && value !== '') {\r\n return super.transform(changeTimezone(value, timezone), format)\r\n }\r\n\r\n return super.transform(value, format);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DateFormatPipe } from './date-format.pipe';\r\nimport { DateTimeFormatPipe } from './date-time-format.pipe';\r\n\r\n@NgModule({\r\n declarations: [DateFormatPipe, DateTimeFormatPipe],\r\n imports: [CommonModule],\r\n exports: [DateFormatPipe, DateTimeFormatPipe]\r\n})\r\nexport class DateFormatModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { CountryCode, parsePhoneNumber } from 'libphonenumber-js';\r\n\r\n@Pipe({\r\n name: 'phoneFormat'\r\n})\r\nexport class PhoneFormatPipe implements PipeTransform {\r\n transform(phoneValue: number | string, locale: CountryCode = 'RU'): string {\r\n if (phoneValue) {\r\n const phoneNumber = parsePhoneNumber(String(phoneValue), locale);\r\n return phoneNumber.formatNational();\r\n } else {\r\n return ''\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PhoneFormatPipe } from './phone-format.pipe';\r\n\r\n@NgModule({\r\n declarations: [PhoneFormatPipe],\r\n imports: [CommonModule],\r\n exports: [PhoneFormatPipe]\r\n})\r\nexport class PhoneFormatModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'currencyFormat'\r\n})\r\n\r\nexport class CurrencyPipe implements PipeTransform {\r\n\r\n transform(value: number | string): string {\r\n if (typeof value === 'string') {\r\n value = parseFloat(value)\r\n }\r\n\r\n return Intl.NumberFormat('ru-RU', {\r\n style: 'currency',\r\n currency: 'RUB',\r\n }).format(value);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CurrencyPipe } from './currency.pipe';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [CurrencyPipe],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [CurrencyPipe]\r\n})\r\nexport class CurrencyModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'truncate'\r\n})\r\n\r\nexport class TruncatePipe implements PipeTransform {\r\n\r\n transform(value: string, args: any[]): string {\r\n const limit = args.length > 0 ? parseInt(args[0], 10) : 20;\r\n const trail = args.length > 1 ? args[1] : '...';\r\n\r\n if (value) {\r\n return value.length > limit ? value.substring(0, limit) + trail : value;\r\n } else {\r\n return ''\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TruncatePipe } from './truncate.pipe';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [TruncatePipe],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [TruncatePipe]\r\n})\r\nexport class TruncateModule { }\r\n","/**\r\n * Магия для отображения склоенений в заголовке таблицы (проект, проекта, проектов)\r\n * @param number число записей\r\n * @param titles массив из трех строк ['Единственное число (1 проект)', 'Множественное число 1 вид (2 проекта)',\r\n * Множественное число второй вид ('5 проектов')]\r\n * */\r\n\r\nexport const wordForm = (number: number, titles: string[]): string => {\r\n const cases = [2, 0, 1, 1, 1, 2];\r\n return titles[(number % 100 > 4 && number % 100 < 20) ? 2 : cases[(number % 10 < 5) ? number % 10 : 5]];\r\n}\r\n","export const toDate = (date: any, formatDate: string, formatTime: string) => {\r\n if (date.slice(-1) === 'Z') {\r\n return new Date(date)\r\n }\r\n\r\n const normalized = date.replace(/[^a-zA-Z0-9]/g, '-');\r\n const normalizedFormatDate = formatDate.toLowerCase().replace(/[^a-zA-Z0-9]/g, '-');\r\n const replacedFormatTime = formatTime.toLowerCase().replace(/mm/gi, 'ii');\r\n const normalizedFormatTime = replacedFormatTime.toLowerCase().replace(/[^a-zA-Z0-9]/g, '-');\r\n const normalizedFormat = `${normalizedFormatDate}-${normalizedFormatTime}`\r\n\r\n const formatItems = normalizedFormat.split('-');\r\n const dateItems = normalized.split('-');\r\n\r\n const monthIndex = formatItems.indexOf('mm');\r\n const dayIndex = formatItems.indexOf('dd');\r\n const yearIndex = formatItems.indexOf('yyyy');\r\n const hourIndex = formatItems.indexOf('hh');\r\n const minutesIndex = formatItems.indexOf('ii');\r\n const secondsIndex = formatItems.indexOf('ss');\r\n\r\n const today = new Date();\r\n\r\n const year = yearIndex > -1 ? dateItems[yearIndex] : today.getFullYear();\r\n const month = monthIndex > -1 ? dateItems[monthIndex] - 1 : today.getMonth() - 1;\r\n const day = dayIndex > -1 ? dateItems[dayIndex] : today.getDate();\r\n\r\n const hour = hourIndex > -1 && dateItems[hourIndex] ? dateItems[hourIndex] : 0;\r\n const minute = minutesIndex > -1 && dateItems[minutesIndex] ? dateItems[minutesIndex] : 0;\r\n const second = secondsIndex > -1 && dateItems[secondsIndex] ? dateItems[secondsIndex] : 0;\r\n\r\n return new Date(year,month,day,hour,minute,second);\r\n}\r\n\r\nexport const sliceDate = (date: any, formatDate: string, formatTime: string) => {\r\n const normalized = date.replace(/[^a-zA-Z0-9]/g, '-');\r\n const normalizedFormatDate = formatDate.toLowerCase().replace(/[^a-zA-Z0-9]/g, '-');\r\n const replacedFormatTime = formatTime.toLowerCase().replace(/mm/gi, 'ii');\r\n const normalizedFormatTime = replacedFormatTime.toLowerCase().replace(/[^a-zA-Z0-9]/g, '-');\r\n const normalizedFormat = `${normalizedFormatDate}-${normalizedFormatTime}`\r\n\r\n const formatItems = normalizedFormat.split('-');\r\n const dateItems = normalized.split('-');\r\n\r\n const monthIndex = formatItems.indexOf('mm');\r\n const dayIndex = formatItems.indexOf('dd');\r\n const yearIndex = formatItems.indexOf('yyyy');\r\n const hourIndex = formatItems.indexOf('hh');\r\n const minutesIndex = formatItems.indexOf('ii');\r\n const secondsIndex = formatItems.indexOf('ss');\r\n\r\n const today = new Date();\r\n\r\n const year = yearIndex > -1 ? dateItems[yearIndex] : today.getFullYear();\r\n const month = monthIndex > -1 ? dateItems[monthIndex] : today.getMonth();\r\n const day = dayIndex > -1 ? dateItems[dayIndex] : today.getDate();\r\n\r\n const hour = hourIndex > -1 && dateItems[hourIndex] ? dateItems[hourIndex] : null;\r\n const minute = minutesIndex > -1 && dateItems[minutesIndex] ? dateItems[minutesIndex] : null;\r\n const second = secondsIndex > -1 && dateItems[secondsIndex] ? dateItems[secondsIndex] : null;\r\n\r\n const formatMonth = month > 0 ? month : null\r\n\r\n return {year, month: formatMonth, day, hour, minute, second}\r\n}\r\n","import { Timezone, TimezoneType } from '../pipes/date/enums/timezone';\r\nimport dayjs from 'dayjs';\r\nimport utc from 'dayjs/plugin/utc';\r\nimport tz from 'dayjs/plugin/timezone';\r\n\r\nexport const formattingIsoToString = (\r\n value: string | Date,\r\n timezone: TimezoneType = 'default',\r\n time: boolean = true,\r\n format?: string\r\n) => {\r\n dayjs.extend(utc)\r\n dayjs.extend(tz)\r\n\r\n const defaultFormat = time ? 'DD.MM.YYYY HH:mm' : 'DD.MM.YYYY'\r\n\r\n return timezone === 'default' ?\r\n dayjs(value.toString()).format(format || defaultFormat) :\r\n dayjs.utc(value.toString()).utcOffset(Timezone[timezone]).format(format || defaultFormat)\r\n}\r\n","export const dateTimeFormat = (date: string, config: Intl.DateTimeFormatOptions) => {\r\n return new Intl.DateTimeFormat('ru', config).format(new Date(date));\r\n};\r\n\r\nexport const formattingDateRange = (dates: string[]): string => {\r\n const config: Intl.DateTimeFormatOptions = {\r\n month: 'short',\r\n day: 'numeric'\r\n };\r\n let str = '';\r\n\r\n dates.forEach((date, idx, array) => {\r\n if (idx === array.length - 1) {\r\n config.year = 'numeric';\r\n }\r\n\r\n str += `${idx > 0 ? ' - ' : ''}${dateTimeFormat(date, config)}`;\r\n });\r\n\r\n return str;\r\n};\r\n","export enum SearchCountryField {\r\n All = \"all\",\r\n DialCode = \"dialCode\",\r\n Iso2 = \"iso2\",\r\n Name = \"name\"\r\n}\r\n","export enum CountryISO {\r\n Afghanistan = \"af\",\r\n Albania = \"al\",\r\n Algeria = \"dz\",\r\n AmericanSamoa = \"as\",\r\n Andorra = \"ad\",\r\n Angola = \"ao\",\r\n Anguilla = \"ai\",\r\n AntiguaAndBarbuda = \"ag\",\r\n Argentina = \"ar\",\r\n Armenia = \"am\",\r\n Aruba = \"aw\",\r\n Australia = \"au\",\r\n Austria = \"at\",\r\n Azerbaijan = \"az\",\r\n Bahamas = \"bs\",\r\n Bahrain = \"bh\",\r\n Bangladesh = \"bd\",\r\n Barbados = \"bb\",\r\n Belarus = \"by\",\r\n Belgium = \"be\",\r\n Belize = \"bz\",\r\n Benin = \"bj\",\r\n Bermuda = \"bm\",\r\n Bhutan = \"bt\",\r\n Bolivia = \"bo\",\r\n BosniaAndHerzegovina = \"ba\",\r\n Botswana = \"bw\",\r\n Brazil = \"br\",\r\n BritishIndianOceanTerritory = \"io\",\r\n BritishVirginIslands = \"vg\",\r\n Brunei = \"bn\",\r\n Bulgaria = \"bg\",\r\n BurkinaFaso = \"bf\",\r\n Burundi = \"bi\",\r\n Cambodia = \"kh\",\r\n Cameroon = \"cm\",\r\n Canada = \"ca\",\r\n CapeVerde = \"cv\",\r\n CaribbeanNetherlands = \"bq\",\r\n CaymanIslands = \"ky\",\r\n CentralAfricanRepublic = \"cf\",\r\n Chad = \"td\",\r\n Chile = \"cl\",\r\n China = \"cn\",\r\n ChristmasIsland = \"cx\",\r\n Cocos = \"cc\",\r\n Colombia = \"co\",\r\n Comoros = \"km\",\r\n CongoDRCJamhuriYaKidemokrasiaYaKongo = \"cd\",\r\n CongoRepublicCongoBrazzaville = \"cg\",\r\n CookIslands = \"ck\",\r\n CostaRica = \"cr\",\r\n Croatia = \"hr\",\r\n Cuba = \"cu\",\r\n Curaçao = \"cw\",\r\n Cyprus = \"cy\",\r\n CzechRepublic = \"cz\",\r\n CôteDIvoire = \"ci\",\r\n Denmark = \"dk\",\r\n Djibouti = \"dj\",\r\n Dominica = \"dm\",\r\n DominicanRepublic = \"do\",\r\n Ecuador = \"ec\",\r\n Egypt = \"eg\",\r\n ElSalvador = \"sv\",\r\n EquatorialGuinea = \"gq\",\r\n Eritrea = \"er\",\r\n Estonia = \"ee\",\r\n Ethiopia = \"et\",\r\n FalklandIslands = \"fk\",\r\n FaroeIslands = \"fo\",\r\n Fiji = \"fj\",\r\n Finland = \"fi\",\r\n France = \"fr\",\r\n FrenchGuiana = \"gf\",\r\n FrenchPolynesia = \"pf\",\r\n Gabon = \"ga\",\r\n Gambia = \"gm\",\r\n Georgia = \"ge\",\r\n Germany = \"de\",\r\n Ghana = \"gh\",\r\n Gibraltar = \"gi\",\r\n Greece = \"gr\",\r\n Greenland = \"gl\",\r\n Grenada = \"gd\",\r\n Guadeloupe = \"gp\",\r\n Guam = \"gu\",\r\n Guatemala = \"gt\",\r\n Guernsey = \"gg\",\r\n Guinea = \"gn\",\r\n GuineaBissau = \"gw\",\r\n Guyana = \"gy\",\r\n Haiti = \"ht\",\r\n Honduras = \"hn\",\r\n HongKong = \"hk\",\r\n Hungary = \"hu\",\r\n Iceland = \"is\",\r\n India = \"in\",\r\n Indonesia = \"id\",\r\n Iran = \"ir\",\r\n Iraq = \"iq\",\r\n Ireland = \"ie\",\r\n IsleOfMan = \"im\",\r\n Israel = \"il\",\r\n Italy = \"it\",\r\n Jamaica = \"jm\",\r\n Japan = \"jp\",\r\n Jersey = \"je\",\r\n Jordan = \"jo\",\r\n Kazakhstan = \"kz\",\r\n Kenya = \"ke\",\r\n Kiribati = \"ki\",\r\n Kosovo = \"xk\",\r\n Kuwait = \"kw\",\r\n Kyrgyzstan = \"kg\",\r\n Laos = \"la\",\r\n Latvia = \"lv\",\r\n Lebanon = \"lb\",\r\n Lesotho = \"ls\",\r\n Liberia = \"lr\",\r\n Libya = \"ly\",\r\n Liechtenstein = \"li\",\r\n Lithuania = \"lt\",\r\n Luxembourg = \"lu\",\r\n Macau = \"mo\",\r\n Macedonia = \"mk\",\r\n Madagascar = \"mg\",\r\n Malawi = \"mw\",\r\n Malaysia = \"my\",\r\n Maldives = \"mv\",\r\n Mali = \"ml\",\r\n Malta = \"mt\",\r\n MarshallIslands = \"mh\",\r\n Martinique = \"mq\",\r\n Mauritania = \"mr\",\r\n Mauritius = \"mu\",\r\n Mayotte = \"yt\",\r\n Mexico = \"mx\",\r\n Micronesia = \"fm\",\r\n Moldova = \"md\",\r\n Monaco = \"mc\",\r\n Mongolia = \"mn\",\r\n Montenegro = \"me\",\r\n Montserrat = \"ms\",\r\n Morocco = \"ma\",\r\n Mozambique = \"mz\",\r\n Myanmar = \"mm\",\r\n Namibia = \"na\",\r\n Nauru = \"nr\",\r\n Nepal = \"np\",\r\n Netherlands = \"nl\",\r\n NewCaledonia = \"nc\",\r\n NewZealand = \"nz\",\r\n Nicaragua = \"ni\",\r\n Niger = \"ne\",\r\n Nigeria = \"ng\",\r\n Niue = \"nu\",\r\n NorfolkIsland = \"nf\",\r\n NorthKorea = \"kp\",\r\n NorthernMarianaIslands = \"mp\",\r\n Norway = \"no\",\r\n Oman = \"om\",\r\n Pakistan = \"pk\",\r\n Palau = \"pw\",\r\n Palestine = \"ps\",\r\n Panama = \"pa\",\r\n PapuaNewGuinea = \"pg\",\r\n Paraguay = \"py\",\r\n Peru = \"pe\",\r\n Philippines = \"ph\",\r\n Poland = \"pl\",\r\n Portugal = \"pt\",\r\n PuertoRico = \"pr\",\r\n Qatar = \"qa\",\r\n Romania = \"ro\",\r\n Russia = \"ru\",\r\n Rwanda = \"rw\",\r\n Réunion = \"re\",\r\n SaintBarthélemy = \"bl\",\r\n SaintHelena = \"sh\",\r\n SaintKittsAndNevis = \"kn\",\r\n SaintLucia = \"lc\",\r\n SaintMartin = \"mf\",\r\n SaintPierreAndMiquelon = \"pm\",\r\n SaintVincentAndTheGrenadines = \"vc\",\r\n Samoa = \"ws\",\r\n SanMarino = \"sm\",\r\n SaudiArabia = \"sa\",\r\n Senegal = \"sn\",\r\n Serbia = \"rs\",\r\n Seychelles = \"sc\",\r\n SierraLeone = \"sl\",\r\n Singapore = \"sg\",\r\n SintMaarten = \"sx\",\r\n Slovakia = \"sk\",\r\n Slovenia = \"si\",\r\n SolomonIslands = \"sb\",\r\n Somalia = \"so\",\r\n SouthAfrica = \"za\",\r\n SouthKorea = \"kr\",\r\n SouthSudan = \"ss\",\r\n Spain = \"es\",\r\n SriLanka = \"lk\",\r\n Sudan = \"sd\",\r\n Suriname = \"sr\",\r\n SvalbardAndJanMayen = \"sj\",\r\n Swaziland = \"sz\",\r\n Sweden = \"se\",\r\n Switzerland = \"ch\",\r\n Syria = \"sy\",\r\n SãoToméAndPríncipe = \"st\",\r\n Taiwan = \"tw\",\r\n Tajikistan = \"tj\",\r\n Tanzania = \"tz\",\r\n Thailand = \"th\",\r\n TimorLeste = \"tl\",\r\n Togo = \"tg\",\r\n Tokelau = \"tk\",\r\n Tonga = \"to\",\r\n TrinidadAndTobago = \"tt\",\r\n Tunisia = \"tn\",\r\n Turkey = \"tr\",\r\n Turkmenistan = \"tm\",\r\n TurksAndCaicosIslands = \"tc\",\r\n Tuvalu = \"tv\",\r\n USVirginIslands = \"vi\",\r\n Uganda = \"ug\",\r\n Ukraine = \"ua\",\r\n UnitedArabEmirates = \"ae\",\r\n UnitedKingdom = \"gb\",\r\n UnitedStates = \"us\",\r\n Uruguay = \"uy\",\r\n Uzbekistan = \"uz\",\r\n Vanuatu = \"vu\",\r\n VaticanCity = \"va\",\r\n Venezuela = \"ve\",\r\n Vietnam = \"vn\",\r\n WallisAndFutuna = \"wf\",\r\n WesternSahara = \"eh\",\r\n Yemen = \"ye\",\r\n Zambia = \"zm\",\r\n Zimbabwe = \"zw\",\r\n ÅlandIslands = \"ax\",\r\n}\r\n","import { CountryISO } from \"./country-iso.enum\";\r\n\r\nexport const countryData = [\r\n [\r\n 'Afghanistan (‫افغانستان‬‎)',\r\n CountryISO.Afghanistan,\r\n '93'\r\n ],\r\n [\r\n 'Albania (Shqipëri)',\r\n CountryISO.Albania,\r\n '355'\r\n ],\r\n [\r\n 'Algeria (‫الجزائر‬‎)',\r\n CountryISO.Algeria,\r\n '213'\r\n ],\r\n [\r\n 'American Samoa',\r\n 'as',\r\n '1',\r\n 1,\r\n [\r\n '684',\r\n ]\r\n ],\r\n [\r\n 'Andorra',\r\n CountryISO.Andorra,\r\n '376'\r\n ],\r\n [\r\n 'Angola',\r\n CountryISO.Angola,\r\n '244'\r\n ],\r\n [\r\n 'Anguilla',\r\n 'ai',\r\n '1',\r\n 1,\r\n [\r\n '264',\r\n ]\r\n ],\r\n [\r\n 'Antigua and Barbuda',\r\n 'ag',\r\n '1',\r\n 1,\r\n [\r\n '268',\r\n ]\r\n ],\r\n [\r\n 'Argentina',\r\n CountryISO.Argentina,\r\n '54'\r\n ],\r\n [\r\n 'Armenia (Հայաստան)',\r\n CountryISO.Armenia,\r\n '374'\r\n ],\r\n [\r\n 'Aruba',\r\n CountryISO.Aruba,\r\n '297'\r\n ],\r\n [\r\n 'Australia',\r\n CountryISO.Australia,\r\n '61',\r\n 0\r\n ],\r\n [\r\n 'Austria (Österreich)',\r\n CountryISO.Austria,\r\n '43'\r\n ],\r\n [\r\n 'Azerbaijan (Azərbaycan)',\r\n CountryISO.Azerbaijan,\r\n '994'\r\n ],\r\n [\r\n 'Bahamas',\r\n 'bs',\r\n '1',\r\n 1,\r\n [\r\n '242',\r\n ]\r\n ],\r\n [\r\n 'Bahrain (‫البحرين‬‎)',\r\n CountryISO.Bahrain,\r\n '973'\r\n ],\r\n [\r\n 'Bangladesh (বাংলাদেশ)',\r\n CountryISO.Bangladesh,\r\n '880'\r\n ],\r\n [\r\n 'Barbados',\r\n 'bb',\r\n '1',\r\n 1,\r\n [\r\n '246',\r\n ]\r\n ],\r\n [\r\n 'Belarus (Беларусь)',\r\n CountryISO.Belarus,\r\n '375'\r\n ],\r\n [\r\n 'Belgium (België)',\r\n CountryISO.Belgium,\r\n '32'\r\n ],\r\n [\r\n 'Belize',\r\n CountryISO.Belize,\r\n '501'\r\n ],\r\n [\r\n 'Benin (Bénin)',\r\n CountryISO.Benin,\r\n '229'\r\n ],\r\n [\r\n 'Bermuda',\r\n 'bm',\r\n '1',\r\n 1,\r\n [\r\n '441',\r\n ]\r\n ],\r\n [\r\n 'Bhutan (འབྲུག)',\r\n CountryISO.Bhutan,\r\n '975'\r\n ],\r\n [\r\n 'Bolivia',\r\n CountryISO.Bolivia,\r\n '591'\r\n ],\r\n [\r\n 'Bosnia and Herzegovina (Босна и Херцеговина)',\r\n CountryISO.BosniaAndHerzegovina,\r\n '387'\r\n ],\r\n [\r\n 'Botswana',\r\n CountryISO.Botswana,\r\n '267'\r\n ],\r\n [\r\n 'Brazil (Brasil)',\r\n CountryISO.Brazil,\r\n '55'\r\n ],\r\n [\r\n 'British Indian Ocean Territory',\r\n CountryISO.BritishIndianOceanTerritory,\r\n '246'\r\n ],\r\n [\r\n 'British Virgin Islands',\r\n 'vg',\r\n '1',\r\n 1,\r\n [\r\n '284',\r\n ]\r\n ],\r\n [\r\n 'Brunei',\r\n CountryISO.Brunei,\r\n '673'\r\n ],\r\n [\r\n 'Bulgaria (България)',\r\n CountryISO.Bulgaria,\r\n '359'\r\n ],\r\n [\r\n 'Burkina Faso',\r\n CountryISO.BurkinaFaso,\r\n '226'\r\n ],\r\n [\r\n 'Burundi (Uburundi)',\r\n CountryISO.Burundi,\r\n '257'\r\n ],\r\n [\r\n 'Cambodia (កម្ពុជា)',\r\n CountryISO.Cambodia,\r\n '855'\r\n ],\r\n [\r\n 'Cameroon (Cameroun)',\r\n CountryISO.Cameroon,\r\n '237'\r\n ],\r\n [\r\n 'Canada',\r\n CountryISO.Canada,\r\n '1',\r\n 1,\r\n [\r\n '204', '226', '236', '249', '250', '289', '306', '343', '365', '387', '403', '416',\r\n '418', '431', '437', '438', '450', '506', '514', '519', '548', '579', '581', '587',\r\n '604', '613', '639', '647', '672', '705', '709', '742', '778', '780', '782', '807',\r\n '819', '825', '867', '873', '902', '905'\r\n ]\r\n ],\r\n [\r\n 'Cape Verde (Kabu Verdi)',\r\n CountryISO.CapeVerde,\r\n '238'\r\n ],\r\n [\r\n 'Caribbean Netherlands',\r\n CountryISO.CaribbeanNetherlands,\r\n '599',\r\n 1\r\n ],\r\n [\r\n 'Cayman Islands',\r\n 'ky',\r\n '1',\r\n 1,\r\n [\r\n '345',\r\n ]\r\n ],\r\n [\r\n 'Central African Republic (République centrafricaine)',\r\n CountryISO.CentralAfricanRepublic,\r\n '236'\r\n ],\r\n [\r\n 'Chad (Tchad)',\r\n CountryISO.Chad,\r\n '235'\r\n ],\r\n [\r\n 'Chile',\r\n CountryISO.Chile,\r\n '56'\r\n ],\r\n [\r\n 'China (中国)',\r\n CountryISO.China,\r\n '86'\r\n ],\r\n [\r\n 'Christmas Island',\r\n CountryISO.ChristmasIsland,\r\n '61',\r\n 2\r\n ],\r\n [\r\n 'Cocos (Keeling) Islands',\r\n CountryISO.Cocos,\r\n '61',\r\n 1\r\n ],\r\n [\r\n 'Colombia',\r\n CountryISO.Colombia,\r\n '57'\r\n ],\r\n [\r\n 'Comoros (‫جزر القمر‬‎)',\r\n CountryISO.Comoros,\r\n '269'\r\n ],\r\n [\r\n 'Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)',\r\n CountryISO.CongoDRCJamhuriYaKidemokrasiaYaKongo,\r\n '243'\r\n ],\r\n [\r\n 'Congo (Republic) (Congo-Brazzaville)',\r\n CountryISO.CongoRepublicCongoBrazzaville,\r\n '242'\r\n ],\r\n [\r\n 'Cook Islands',\r\n CountryISO.CookIslands,\r\n '682'\r\n ],\r\n [\r\n 'Costa Rica',\r\n CountryISO.CostaRica,\r\n '506'\r\n ],\r\n [\r\n 'Côte d’Ivoire',\r\n CountryISO.CôteDIvoire,\r\n '225'\r\n ],\r\n [\r\n 'Croatia (Hrvatska)',\r\n CountryISO.Croatia,\r\n '385'\r\n ],\r\n [\r\n 'Cuba',\r\n CountryISO.Cuba,\r\n '53'\r\n ],\r\n [\r\n 'Curaçao',\r\n CountryISO.Curaçao,\r\n '599',\r\n 0\r\n ],\r\n [\r\n 'Cyprus (Κύπρος)',\r\n CountryISO.Cyprus,\r\n '357'\r\n ],\r\n [\r\n 'Czech Republic (Česká republika)',\r\n CountryISO.CzechRepublic,\r\n '420'\r\n ],\r\n [\r\n 'Denmark (Danmark)',\r\n CountryISO.Denmark,\r\n '45'\r\n ],\r\n [\r\n 'Djibouti',\r\n CountryISO.Djibouti,\r\n '253'\r\n ],\r\n [\r\n 'Dominica',\r\n CountryISO.Dominica,\r\n '1767'\r\n ],\r\n [\r\n 'Dominican Republic (República Dominicana)',\r\n CountryISO.DominicanRepublic,\r\n '1',\r\n 2,\r\n ['809', '829', '849']\r\n ],\r\n [\r\n 'Ecuador',\r\n CountryISO.Ecuador,\r\n '593'\r\n ],\r\n [\r\n 'Egypt (‫مصر‬‎)',\r\n CountryISO.Egypt,\r\n '20'\r\n ],\r\n [\r\n 'El Salvador',\r\n CountryISO.ElSalvador,\r\n '503'\r\n ],\r\n [\r\n 'Equatorial Guinea (Guinea Ecuatorial)',\r\n CountryISO.EquatorialGuinea,\r\n '240'\r\n ],\r\n [\r\n 'Eritrea',\r\n CountryISO.Eritrea,\r\n '291'\r\n ],\r\n [\r\n 'Estonia (Eesti)',\r\n CountryISO.Estonia,\r\n '372'\r\n ],\r\n [\r\n 'Ethiopia',\r\n CountryISO.Ethiopia,\r\n '251'\r\n ],\r\n [\r\n 'Falkland Islands (Islas Malvinas)',\r\n CountryISO.FalklandIslands,\r\n '500'\r\n ],\r\n [\r\n 'Faroe Islands (Føroyar)',\r\n CountryISO.FaroeIslands,\r\n '298'\r\n ],\r\n [\r\n 'Fiji',\r\n CountryISO.Fiji,\r\n '679'\r\n ],\r\n [\r\n 'Finland (Suomi)',\r\n CountryISO.Finland,\r\n '358',\r\n 0\r\n ],\r\n [\r\n 'France',\r\n CountryISO.France,\r\n '33'\r\n ],\r\n [\r\n 'French Guiana (Guyane française)',\r\n CountryISO.FrenchGuiana,\r\n '594'\r\n ],\r\n [\r\n 'French Polynesia (Polynésie française)',\r\n CountryISO.FrenchPolynesia,\r\n '689'\r\n ],\r\n [\r\n 'Gabon',\r\n CountryISO.Gabon,\r\n '241'\r\n ],\r\n [\r\n 'Gambia',\r\n CountryISO.Gambia,\r\n '220'\r\n ],\r\n [\r\n 'Georgia (საქართველო)',\r\n CountryISO.Georgia,\r\n '995'\r\n ],\r\n [\r\n 'Germany (Deutschland)',\r\n CountryISO.Germany,\r\n '49'\r\n ],\r\n [\r\n 'Ghana (Gaana)',\r\n CountryISO.Ghana,\r\n '233'\r\n ],\r\n [\r\n 'Gibraltar',\r\n CountryISO.Gibraltar,\r\n '350'\r\n ],\r\n [\r\n 'Greece (Ελλάδα)',\r\n CountryISO.Greece,\r\n '30'\r\n ],\r\n [\r\n 'Greenland (Kalaallit Nunaat)',\r\n CountryISO.Greenland,\r\n '299'\r\n ],\r\n [\r\n 'Grenada',\r\n CountryISO.Grenada,\r\n '1473'\r\n ],\r\n [\r\n 'Guadeloupe',\r\n CountryISO.Guadeloupe,\r\n '590',\r\n 0\r\n ],\r\n [\r\n 'Guam',\r\n 'gu',\r\n '1',\r\n 1,\r\n [\r\n '671',\r\n ]\r\n ],\r\n [\r\n 'Guatemala',\r\n CountryISO.Guatemala,\r\n '502'\r\n ],\r\n [\r\n 'Guernsey',\r\n CountryISO.Guernsey,\r\n '44',\r\n 1,\r\n [1481]\r\n ],\r\n [\r\n 'Guinea (Guinée)',\r\n CountryISO.Guinea,\r\n '224'\r\n ],\r\n [\r\n 'Guinea-Bissau (Guiné Bissau)',\r\n CountryISO.GuineaBissau,\r\n '245'\r\n ],\r\n [\r\n 'Guyana',\r\n CountryISO.Guyana,\r\n '592'\r\n ],\r\n [\r\n 'Haiti',\r\n CountryISO.Haiti,\r\n '509'\r\n ],\r\n [\r\n 'Honduras',\r\n CountryISO.Honduras,\r\n '504'\r\n ],\r\n [\r\n 'Hong Kong (香港)',\r\n CountryISO.HongKong,\r\n '852'\r\n ],\r\n [\r\n 'Hungary (Magyarország)',\r\n CountryISO.Hungary,\r\n '36'\r\n ],\r\n [\r\n 'Iceland (Ísland)',\r\n CountryISO.Iceland,\r\n '354'\r\n ],\r\n [\r\n 'India (भारत)',\r\n CountryISO.India,\r\n '91'\r\n ],\r\n [\r\n 'Indonesia',\r\n CountryISO.Indonesia,\r\n '62'\r\n ],\r\n [\r\n 'Iran (‫ایران‬‎)',\r\n CountryISO.Iran,\r\n '98'\r\n ],\r\n [\r\n 'Iraq (‫العراق‬‎)',\r\n CountryISO.Iraq,\r\n '964'\r\n ],\r\n [\r\n 'Ireland',\r\n CountryISO.Ireland,\r\n '353'\r\n ],\r\n [\r\n 'Isle of Man',\r\n CountryISO.IsleOfMan,\r\n '44',\r\n 2,\r\n [1624]\r\n ],\r\n [\r\n 'Israel (‫ישראל‬‎)',\r\n CountryISO.Israel,\r\n '972'\r\n ],\r\n [\r\n 'Italy (Italia)',\r\n CountryISO.Italy,\r\n '39',\r\n 0\r\n ],\r\n [\r\n 'Jamaica',\r\n 'jm',\r\n '1',\r\n 1,\r\n [\r\n '876',\r\n ]\r\n ],\r\n [\r\n 'Japan (日本)',\r\n CountryISO.Japan,\r\n '81'\r\n ],\r\n [\r\n 'Jersey',\r\n CountryISO.Jersey,\r\n '44',\r\n 3,\r\n [1534]\r\n ],\r\n [\r\n 'Jordan (‫الأردن‬‎)',\r\n CountryISO.Jordan,\r\n '962'\r\n ],\r\n [\r\n 'Kazakhstan (Казахстан)',\r\n CountryISO.Kazakhstan,\r\n '7',\r\n 1\r\n ],\r\n [\r\n 'Kenya',\r\n CountryISO.Kenya,\r\n '254'\r\n ],\r\n [\r\n 'Kiribati',\r\n CountryISO.Kiribati,\r\n '686'\r\n ],\r\n [\r\n 'Kosovo',\r\n CountryISO.Kosovo,\r\n '383'\r\n ],\r\n [\r\n 'Kuwait (‫الكويت‬‎)',\r\n CountryISO.Kuwait,\r\n '965'\r\n ],\r\n [\r\n 'Kyrgyzstan (Кыргызстан)',\r\n CountryISO.Kyrgyzstan,\r\n '996'\r\n ],\r\n [\r\n 'Laos (ລາວ)',\r\n CountryISO.Laos,\r\n '856'\r\n ],\r\n [\r\n 'Latvia (Latvija)',\r\n CountryISO.Latvia,\r\n '371'\r\n ],\r\n [\r\n 'Lebanon (‫لبنان‬‎)',\r\n CountryISO.Lebanon,\r\n '961'\r\n ],\r\n [\r\n 'Lesotho',\r\n CountryISO.Lesotho,\r\n '266'\r\n ],\r\n [\r\n 'Liberia',\r\n CountryISO.Liberia,\r\n '231'\r\n ],\r\n [\r\n 'Libya (‫ليبيا‬‎)',\r\n CountryISO.Libya,\r\n '218'\r\n ],\r\n [\r\n 'Liechtenstein',\r\n CountryISO.Liechtenstein,\r\n '423'\r\n ],\r\n [\r\n 'Lithuania (Lietuva)',\r\n CountryISO.Lithuania,\r\n '370'\r\n ],\r\n [\r\n 'Luxembourg',\r\n CountryISO.Luxembourg,\r\n '352'\r\n ],\r\n [\r\n 'Macau (澳門)',\r\n CountryISO.Macau,\r\n '853'\r\n ],\r\n [\r\n 'Macedonia (FYROM) (Македонија)',\r\n CountryISO.Macedonia,\r\n '389'\r\n ],\r\n [\r\n 'Madagascar (Madagasikara)',\r\n CountryISO.Madagascar,\r\n '261'\r\n ],\r\n [\r\n 'Malawi',\r\n CountryISO.Malawi,\r\n '265'\r\n ],\r\n [\r\n 'Malaysia',\r\n CountryISO.Malaysia,\r\n '60'\r\n ],\r\n [\r\n 'Maldives',\r\n CountryISO.Maldives,\r\n '960'\r\n ],\r\n [\r\n 'Mali',\r\n CountryISO.Mali,\r\n '223'\r\n ],\r\n [\r\n 'Malta',\r\n CountryISO.Malta,\r\n '356'\r\n ],\r\n [\r\n 'Marshall Islands',\r\n CountryISO.MarshallIslands,\r\n '692'\r\n ],\r\n [\r\n 'Martinique',\r\n CountryISO.Martinique,\r\n '596'\r\n ],\r\n [\r\n 'Mauritania (‫موريتانيا‬‎)',\r\n CountryISO.Mauritania,\r\n '222'\r\n ],\r\n [\r\n 'Mauritius (Moris)',\r\n CountryISO.Mauritius,\r\n '230'\r\n ],\r\n [\r\n 'Mayotte',\r\n CountryISO.Mayotte,\r\n '262',\r\n 1\r\n ],\r\n [\r\n 'Mexico (México)',\r\n CountryISO.Mexico,\r\n '52'\r\n ],\r\n [\r\n 'Micronesia',\r\n CountryISO.Micronesia,\r\n '691'\r\n ],\r\n [\r\n 'Moldova (Republica Moldova)',\r\n CountryISO.Moldova,\r\n '373'\r\n ],\r\n [\r\n 'Monaco',\r\n CountryISO.Monaco,\r\n '377'\r\n ],\r\n [\r\n 'Mongolia (Монгол)',\r\n CountryISO.Mongolia,\r\n '976'\r\n ],\r\n [\r\n 'Montenegro (Crna Gora)',\r\n CountryISO.Montenegro,\r\n '382'\r\n ],\r\n [\r\n 'Montserrat',\r\n 'ms',\r\n '1',\r\n 1,\r\n [\r\n '664',\r\n ]\r\n ],\r\n [\r\n 'Morocco (‫المغرب‬‎)',\r\n CountryISO.Morocco,\r\n '212',\r\n 0\r\n ],\r\n [\r\n 'Mozambique (Moçambique)',\r\n CountryISO.Mozambique,\r\n '258'\r\n ],\r\n [\r\n 'Myanmar (Burma) (မြန်မာ)',\r\n CountryISO.Myanmar,\r\n '95'\r\n ],\r\n [\r\n 'Namibia (Namibië)',\r\n CountryISO.Namibia,\r\n '264'\r\n ],\r\n [\r\n 'Nauru',\r\n CountryISO.Nauru,\r\n '674'\r\n ],\r\n [\r\n 'Nepal (नेपाल)',\r\n CountryISO.Nepal,\r\n '977'\r\n ],\r\n [\r\n 'Netherlands (Nederland)',\r\n CountryISO.Netherlands,\r\n '31'\r\n ],\r\n [\r\n 'New Caledonia (Nouvelle-Calédonie)',\r\n CountryISO.NewCaledonia,\r\n '687'\r\n ],\r\n [\r\n 'New Zealand',\r\n CountryISO.NewZealand,\r\n '64'\r\n ],\r\n [\r\n 'Nicaragua',\r\n CountryISO.Nicaragua,\r\n '505'\r\n ],\r\n [\r\n 'Niger (Nijar)',\r\n CountryISO.Niger,\r\n '227'\r\n ],\r\n [\r\n 'Nigeria',\r\n CountryISO.Nigeria,\r\n '234'\r\n ],\r\n [\r\n 'Niue',\r\n CountryISO.Niue,\r\n '683'\r\n ],\r\n [\r\n 'Norfolk Island',\r\n CountryISO.NorfolkIsland,\r\n '672'\r\n ],\r\n [\r\n 'North Korea (조선 민주주의 인민 공화국)',\r\n CountryISO.NorthKorea,\r\n '850'\r\n ],\r\n [\r\n 'Northern Mariana Islands',\r\n CountryISO.NorthernMarianaIslands,\r\n '1670'\r\n ],\r\n [\r\n 'Norway (Norge)',\r\n CountryISO.Norway,\r\n '47',\r\n 0\r\n ],\r\n [\r\n 'Oman (‫عُمان‬‎)',\r\n CountryISO.Oman,\r\n '968'\r\n ],\r\n [\r\n 'Pakistan (‫پاکستان‬‎)',\r\n CountryISO.Pakistan,\r\n '92'\r\n ],\r\n [\r\n 'Palau',\r\n CountryISO.Palau,\r\n '680'\r\n ],\r\n [\r\n 'Palestine (‫فلسطين‬‎)',\r\n CountryISO.Palestine,\r\n '970'\r\n ],\r\n [\r\n 'Panama (Panamá)',\r\n CountryISO.Panama,\r\n '507'\r\n ],\r\n [\r\n 'Papua New Guinea',\r\n CountryISO.PapuaNewGuinea,\r\n '675'\r\n ],\r\n [\r\n 'Paraguay',\r\n CountryISO.Paraguay,\r\n '595'\r\n ],\r\n [\r\n 'Peru (Perú)',\r\n CountryISO.Peru,\r\n '51'\r\n ],\r\n [\r\n 'Philippines',\r\n CountryISO.Philippines,\r\n '63'\r\n ],\r\n [\r\n 'Poland (Polska)',\r\n CountryISO.Poland,\r\n '48'\r\n ],\r\n [\r\n 'Portugal',\r\n CountryISO.Portugal,\r\n '351'\r\n ],\r\n [\r\n 'Puerto Rico',\r\n CountryISO.PuertoRico,\r\n '1',\r\n 3,\r\n ['787', '939']\r\n ],\r\n [\r\n 'Qatar (‫قطر‬‎)',\r\n CountryISO.Qatar,\r\n '974'\r\n ],\r\n [\r\n 'Réunion (La Réunion)',\r\n CountryISO.Réunion,\r\n '262',\r\n 0\r\n ],\r\n [\r\n 'Romania (România)',\r\n CountryISO.Romania,\r\n '40'\r\n ],\r\n [\r\n 'Russia (Россия)',\r\n CountryISO.Russia,\r\n '7',\r\n 1,\r\n ['856', '857', '858']\r\n ],\r\n [\r\n 'Rwanda',\r\n CountryISO.Rwanda,\r\n '250'\r\n ],\r\n [\r\n 'Saint Barthélemy (Saint-Barthélemy)',\r\n CountryISO.SaintBarthélemy,\r\n '590',\r\n 1\r\n ],\r\n [\r\n 'Saint Helena',\r\n CountryISO.SaintHelena,\r\n '290'\r\n ],\r\n [\r\n 'Saint Kitts and Nevis',\r\n CountryISO.SaintKittsAndNevis,\r\n '1869'\r\n ],\r\n [\r\n 'Saint Lucia',\r\n 'lc',\r\n '1',\r\n 1,\r\n [\r\n '758',\r\n ]\r\n ],\r\n [\r\n 'Saint Martin (Saint-Martin (partie française))',\r\n CountryISO.SaintMartin,\r\n '590',\r\n 2\r\n ],\r\n [\r\n 'Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)',\r\n CountryISO.SaintPierreAndMiquelon,\r\n '508'\r\n ],\r\n [\r\n 'Saint Vincent and the Grenadines',\r\n 'vc',\r\n '1',\r\n 1,\r\n [\r\n '784',\r\n ]\r\n ],\r\n [\r\n 'Samoa',\r\n CountryISO.Samoa,\r\n '685'\r\n ],\r\n [\r\n 'San Marino',\r\n CountryISO.SanMarino,\r\n '378'\r\n ],\r\n [\r\n 'São Tomé and Príncipe (São Tomé e Príncipe)',\r\n CountryISO.SãoToméAndPríncipe,\r\n '239'\r\n ],\r\n [\r\n 'Saudi Arabia (‫المملكة العربية السعودية‬‎)',\r\n CountryISO.SaudiArabia,\r\n '966'\r\n ],\r\n [\r\n 'Senegal (Sénégal)',\r\n CountryISO.Senegal,\r\n '221'\r\n ],\r\n [\r\n 'Serbia (Србија)',\r\n CountryISO.Serbia,\r\n '381'\r\n ],\r\n [\r\n 'Seychelles',\r\n CountryISO.Seychelles,\r\n '248'\r\n ],\r\n [\r\n 'Sierra Leone',\r\n CountryISO.SierraLeone,\r\n '232'\r\n ],\r\n [\r\n 'Singapore',\r\n CountryISO.Singapore,\r\n '65'\r\n ],\r\n [\r\n 'Sint Maarten',\r\n 'sx',\r\n '1',\r\n 1,\r\n [\r\n '721',\r\n ]\r\n ],\r\n [\r\n 'Slovakia (Slovensko)',\r\n CountryISO.Slovakia,\r\n '421'\r\n ],\r\n [\r\n 'Slovenia (Slovenija)',\r\n CountryISO.Slovenia,\r\n '386'\r\n ],\r\n [\r\n 'Solomon Islands',\r\n CountryISO.SolomonIslands,\r\n '677'\r\n ],\r\n [\r\n 'Somalia (Soomaaliya)',\r\n CountryISO.Somalia,\r\n '252'\r\n ],\r\n [\r\n 'South Africa',\r\n CountryISO.SouthAfrica,\r\n '27'\r\n ],\r\n [\r\n 'South Korea (대한민국)',\r\n CountryISO.SouthKorea,\r\n '82'\r\n ],\r\n [\r\n 'South Sudan (‫جنوب السودان‬‎)',\r\n CountryISO.SouthSudan,\r\n '211'\r\n ],\r\n [\r\n 'Spain (España)',\r\n CountryISO.Spain,\r\n '34'\r\n ],\r\n [\r\n 'Sri Lanka (ශ්‍රී ලංකාව)',\r\n CountryISO.SriLanka,\r\n '94'\r\n ],\r\n [\r\n 'Sudan (‫السودان‬‎)',\r\n CountryISO.Sudan,\r\n '249'\r\n ],\r\n [\r\n 'Suriname',\r\n CountryISO.Suriname,\r\n '597'\r\n ],\r\n [\r\n 'Svalbard and Jan Mayen',\r\n CountryISO.SvalbardAndJanMayen,\r\n '47',\r\n 1\r\n ],\r\n [\r\n 'Swaziland',\r\n CountryISO.Swaziland,\r\n '268'\r\n ],\r\n [\r\n 'Sweden (Sverige)',\r\n CountryISO.Sweden,\r\n '46'\r\n ],\r\n [\r\n 'Switzerland (Schweiz)',\r\n CountryISO.Switzerland,\r\n '41'\r\n ],\r\n [\r\n 'Syria (‫سوريا‬‎)',\r\n CountryISO.Syria,\r\n '963'\r\n ],\r\n [\r\n 'Taiwan (台灣)',\r\n CountryISO.Taiwan,\r\n '886'\r\n ],\r\n [\r\n 'Tajikistan',\r\n CountryISO.Tajikistan,\r\n '992'\r\n ],\r\n [\r\n 'Tanzania',\r\n CountryISO.Tanzania,\r\n '255'\r\n ],\r\n [\r\n 'Thailand (ไทย)',\r\n CountryISO.Thailand,\r\n '66'\r\n ],\r\n [\r\n 'Timor-Leste',\r\n CountryISO.TimorLeste,\r\n '670'\r\n ],\r\n [\r\n 'Togo',\r\n CountryISO.Togo,\r\n '228'\r\n ],\r\n [\r\n 'Tokelau',\r\n CountryISO.Tokelau,\r\n '690'\r\n ],\r\n [\r\n 'Tonga',\r\n CountryISO.Tonga,\r\n '676'\r\n ],\r\n [\r\n 'Trinidad and Tobago',\r\n 'tt',\r\n '1',\r\n 1,\r\n [\r\n '868',\r\n ]\r\n ],\r\n [\r\n 'Tunisia (‫تونس‬‎)',\r\n CountryISO.Tunisia,\r\n '216'\r\n ],\r\n [\r\n 'Turkey (Türkiye)',\r\n CountryISO.Turkey,\r\n '90'\r\n ],\r\n [\r\n 'Turkmenistan',\r\n CountryISO.Turkmenistan,\r\n '993'\r\n ],\r\n [\r\n 'Turks and Caicos Islands',\r\n CountryISO.TurksAndCaicosIslands,\r\n '1649'\r\n ],\r\n [\r\n 'Tuvalu',\r\n CountryISO.Tuvalu,\r\n '688'\r\n ],\r\n [\r\n 'U.S. Virgin Islands',\r\n 'vi',\r\n '1',\r\n 1,\r\n [\r\n '340',\r\n ]\r\n ],\r\n [\r\n 'Uganda',\r\n CountryISO.Uganda,\r\n '256'\r\n ],\r\n [\r\n 'Ukraine (Україна)',\r\n CountryISO.Ukraine,\r\n '380'\r\n ],\r\n [\r\n 'United Arab Emirates (‫الإمارات العربية المتحدة‬‎)',\r\n CountryISO.UnitedArabEmirates,\r\n '971'\r\n ],\r\n [\r\n 'United Kingdom',\r\n CountryISO.UnitedKingdom,\r\n '44',\r\n 0\r\n ],\r\n [\r\n 'United States',\r\n CountryISO.UnitedStates,\r\n '1',\r\n 0\r\n ],\r\n [\r\n 'Uruguay',\r\n CountryISO.Uruguay,\r\n '598'\r\n ],\r\n [\r\n 'Uzbekistan (Oʻzbekiston)',\r\n CountryISO.Uzbekistan,\r\n '998'\r\n ],\r\n [\r\n 'Vanuatu',\r\n CountryISO.Vanuatu,\r\n '678'\r\n ],\r\n [\r\n 'Vatican City (Città del Vaticano)',\r\n CountryISO.VaticanCity,\r\n '39',\r\n 1\r\n ],\r\n [\r\n 'Venezuela',\r\n CountryISO.Venezuela,\r\n '58'\r\n ],\r\n [\r\n 'Vietnam (Việt Nam)',\r\n CountryISO.Vietnam,\r\n '84'\r\n ],\r\n [\r\n 'Wallis and Futuna',\r\n CountryISO.WallisAndFutuna,\r\n '681'\r\n ],\r\n [\r\n 'Western Sahara (‫الصحراء الغربية‬‎)',\r\n CountryISO.WesternSahara,\r\n '212',\r\n 1\r\n ],\r\n [\r\n 'Yemen (‫اليمن‬‎)',\r\n CountryISO.Yemen,\r\n '967'\r\n ],\r\n [\r\n 'Zambia',\r\n CountryISO.Zambia,\r\n '260'\r\n ],\r\n [\r\n 'Zimbabwe',\r\n CountryISO.Zimbabwe,\r\n '263'\r\n ],\r\n [\r\n 'Åland Islands',\r\n CountryISO.ÅlandIslands,\r\n '358',\r\n 1\r\n ]\r\n];\r\n","export const dropdownOpen = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAABDklEQVRIie3PK0uEQRQG4EfdIoIgiIJtg8VgMa6woEEMBpvFZNhmM2k1icVkM5j0D1hNFoPFsMGyYBAEEUS8X8qMLB/frHsTDPvCSec9zzD08p9SRg2lDoxSMMrZxSwe8IV7zLSBT+MuGI+Yy8Pj3GKqBXwSNxnj55FaZhHnGsUm8GLo5hk1mMdTonCFiQb4GKqJ2xcsxuICnhPFKsZz8FFcJm5esZQ9WMZb4uACI3XdYZwnuu9YSX15FR+JwzMMYRCnic4n1lJ4TCUU84CTMCm88hses55AGs1Gs3jMVgv4Zqt4zHYT+G67eMxOA3yvUxz6sJ+DH4RdV9KPwzr8GAPdwmMKOApT6Dbey9/lG8m7mtO59/lwAAAAAElFTkSuQmCC\";\r\n\r\nexport const dropdownClose = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAABEklEQVRIie3Pr0uDQRwG8I+6IoIgiIJtwWKwGCeoGMRgMVlMhtlsJjGaxGIyWUz6B1hNFoPFYLAoBkEQQcTf0+AdjPHe3LutCHvgSff9fu6OTv5TCjgMLbQb78YBvkOP0NMuvAt7VXjsfri45Wxn4LG7reJbdfDYnWbxzQbw2I28+FoOPHa9UXwVlQRyHJp1VkH5L3wZXwngFH3oxUmdS1ZS+CI+EovnGKia7cdZYvYTS7X4HF4TC5cYznjQIC4SO+9YiIOzeEkMXmEk9WUMhQdk7b5hHm4SA7co1sFjimE2y7iGSTzVHNxjrAE8ZhR3NcYzZuJA9SWPmMiBx4zjIQuPmfb7pVITeEwpGFMtGJ20OT8JFprkRrg+uAAAAABJRU5ErkJggg==\";\r\n\r\nexport const flagPlaceholder = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAABHElEQVR4nO3aIU5DQQCE4R+CA1fTC3ADDAoEcIAmSBQHIMFyEyySExQUaDgFFRgUHADxLN1NyNudNu//kqpJk+kkb5umC5IkSZIkTc5OITsFHoD9Tl1a+QGugJe/wr3CG8+BL+C2Qame7oAL/jEAwCfwOHajzq5L4W6vFpvKAdIF0hwgXSDNAdIF0hwgXSDNAdIF0hwgXSBt8gPUfg4fA289ijR0CLyvC2sDrID7Uev0d1MKawN8sP0DLErh5M8AB0gXSJv8ALVDcAac9SjS0KwU1gY4Ap7H6xLztC6oPQJLhn+Ptvm1LH3AyZ8BDpAukOYA6QJpta/BOXDZo0hD81JYuiBxwnBB4mDUOv19M1yQeE0XkSRJkiRpQ/wCRYIVXPol4dwAAAAASUVORK5CYII=\";\r\n","export enum InputTelSizesEnum {\r\n 'small' = 'mrx-input-tel-sm',\r\n 'medium' = 'mrx-input-tel-md',\r\n 'large' = 'mrx-input-tel-lg',\r\n}\r\n\r\nexport type InputTelSizesTypes = 'small' | 'medium' | 'large';\r\n\r\nexport type InputTelValueTypes = string | undefined;\r\n\r\nexport interface InputTelValueWithId {\r\n value: any,\r\n id: string\r\n}\r\n","import {\r\n Directive, ElementRef, EventEmitter,\r\n HostListener, Input, Output, Renderer2,\r\n} from '@angular/core';\r\nimport { NgModel } from '@angular/forms';\r\nimport { InputValue } from '../models/country.model';\r\nimport { getExample, ParsedPhoneNumber } from 'awesome-phonenumber';\r\n\r\n@Directive({\r\n selector: '[formatterPhone]'\r\n})\r\nexport class MaskedInputTelDirective {\r\n private pattern = /[^\\d\\(\\)\\-\\+\\ ]+/gi;\r\n\r\n @Input() parsedPhoneNumber?: ParsedPhoneNumber;\r\n @Input() customMaxLength: number | null = null;\r\n\r\n @Output() changeModel: EventEmitter<InputValue> = new EventEmitter<InputValue>();\r\n\r\n constructor(\r\n private _element: ElementRef,\r\n private _renderer: Renderer2,\r\n private _model: NgModel\r\n ) {\r\n }\r\n\r\n private _validateValue(event: any) {\r\n event.target.value = event.target.value.replace(this.pattern, '');\r\n\r\n if (this._model) {\r\n this._model.update.emit(event.target.value);\r\n this._renderer.setAttribute(this._element.nativeElement, 'value', this._model.model)\r\n this.changeModel.emit(event.target.value)\r\n }\r\n }\r\n\r\n private _analiseMaxLength(event: any) {\r\n if (this.parsedPhoneNumber && this.parsedPhoneNumber.regionCode) {\r\n const selectedPlaceholder = getExample(this.parsedPhoneNumber.regionCode, 'mobile').number;\r\n\r\n if (selectedPlaceholder) {\r\n this.customMaxLength ?\r\n this._renderer.setAttribute(this._element.nativeElement, 'maxlength', String(this.customMaxLength)) :\r\n this._renderer.setAttribute(this._element.nativeElement, 'maxlength', String(selectedPlaceholder.international.length));\r\n }\r\n }\r\n }\r\n\r\n @HostListener('input', ['$event']) onInput(event: any) {\r\n this._validateValue(event)\r\n this._analiseMaxLength(event)\r\n }\r\n\r\n @HostListener('keydown.control.v') onCtrlV() {\r\n setTimeout(() => {\r\n this._element.nativeElement.value = this._model.model\r\n })\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n forwardRef,\r\n ChangeDetectionStrategy,\r\n ViewChild, ElementRef\r\n} from '@angular/core';\r\nimport { getAsYouType, getExample, ParsedPhoneNumber } from 'awesome-phonenumber';\r\nimport { CountryISO } from './data/country-iso.enum';\r\nimport { SearchCountryField } from './data/search-country-field.enum';\r\nimport { PhoneNumberFormatType } from './data/phone-number-format.enum';\r\nimport { Country, InputValue } from './models/country.model';\r\nimport { countryData } from './data/all-countries';\r\nimport { dropdownOpen, dropdownClose, flagPlaceholder } from './assets/base64';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Field } from '../../../services';\r\nimport { InputTelSizesEnum, InputTelSizesTypes } from './enums/input-phone.enum';\r\nimport { InputPhoneValueWithId } from '../input-phone/enums/input-phone.enum';\r\nimport { DropdownComponent } from '../../dropdown/dropdown.component';\r\n\r\n@Component({\r\n selector: 'mrx-input-tel',\r\n templateUrl: './input-tel.component.html',\r\n styleUrls: ['./input-tel.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputTelComponent),\r\n multi: true,\r\n },\r\n ]\r\n})\r\nexport class InputTelComponent implements ControlValueAccessor, OnInit {\r\n\r\n // SAVE STATE\r\n public uuid: string = uuidv4();\r\n @Input() public fields: Field[] = [];\r\n\r\n @Input() cssClass: string = '';\r\n @Input() preferredCountries: (CountryISO)[] = [];\r\n @Input() onlyCountries: (CountryISO)[] = [];\r\n @Input() enableAutoCountrySelect: boolean = true;\r\n @Input() enablePlaceholder: boolean = true;\r\n @Input() customPlaceholder: string | null = null;\r\n @Input() numberFormat: PhoneNumberFormatType = 'international';\r\n @Input() searchCountryFlag: boolean = false;\r\n @Input() searchCountryField: SearchCountryField = SearchCountryField.All;\r\n @Input() searchCountryPlaceholder: string = 'Поиск по странам';\r\n @Input() maxLength: number | null = null;\r\n @Input() selectFirstCountry: boolean = true;\r\n @Input() phoneValidation: boolean = true;\r\n @Input() inputId: string = 'phone';\r\n @Input() selectedCountryISO: CountryISO | null = null;\r\n @Input() separateDialCode: boolean = false;\r\n @Input() customClasses = '';\r\n @Input() disabled = false;\r\n @Input() size: InputTelSizesTypes = 'large';\r\n @Input() autoDealCode = false;\r\n @Input() autoCloseDropdown = false;\r\n\r\n // VALIDATION\r\n @Input() public invalid = false;\r\n @Input() public invalidMessage: string | string[] = '';\r\n @Input() public invalidPhoneMessage: string = 'Некорректное значение';\r\n @Input() public checkInvalid: true | false | null = null;\r\n\r\n @ViewChild('dropdownComponent') dropdownComponent!: DropdownComponent;\r\n\r\n @Output() changed: EventEmitter<InputValue> = new EventEmitter<InputValue>();\r\n @Output() public modelChange: EventEmitter<InputPhoneValueWithId> = new EventEmitter<InputPhoneValueWithId>();\r\n\r\n public allCountries: (Country)[];\r\n public selectedCountry: Country;\r\n public countriesToShow: (Country)[];\r\n public preferredCountriesList: (Country)[];\r\n public searchFilter: string;\r\n public scrollTimeout: any;\r\n public phoneNumber: any;\r\n public isFocused: boolean;\r\n public isInputValid: boolean;\r\n public isDropdownOpen: boolean = false;\r\n public parsedPhoneNumber?: ParsedPhoneNumber;\r\n public innerInvalid: boolean = false;\r\n public innerInvalidMessage: string = ''\r\n\r\n constructor() {\r\n this.allCountries = [];\r\n this.countriesToShow = this.allCountries;\r\n this.selectedCountry = this.getDefaultCountry();\r\n this.preferredCountriesList = [];\r\n this.searchFilter = '';\r\n this.phoneNumber = null;\r\n this.isFocused = false;\r\n this.isInputValid = true;\r\n }\r\n\r\n writeValue(outsideValue: string): void {\r\n if (outsideValue) {\r\n this.phoneNumber = outsideValue;\r\n this.formatPhoneNumber();\r\n }\r\n }\r\n\r\n private onChange = (value: any) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.generateCountryData();\r\n this.setCountriesToShow();\r\n this.setPreferredCountries();\r\n this.setDefaultSelectedCountry();\r\n }\r\n\r\n private _validation(parsedNumber: ParsedPhoneNumber): boolean {\r\n if (!this.selectedCountry) return false\r\n const selectedCountry = this.findCountryByIso2(this.selectedCountry.iso2);\r\n\r\n if (parsedNumber.number?.international || parsedNumber.number?.national) {\r\n if (parsedNumber.number.international) {\r\n const phone = parsedNumber.number.international.trim()\r\n const a = phone.startsWith('+') ? phone.substring(1).trim() : phone;\r\n const b = a.startsWith(selectedCountry.dialCode) ? a.substring(selectedCountry.dialCode.length).trim() : a;\r\n\r\n return Boolean(selectedCountry?.areaCodes?.filter((code: string) => b.startsWith(code)).length);\r\n } else if (parsedNumber.number.national) {\r\n return false;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public get getClasses(): string {\r\n return `${InputTelSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`;\r\n }\r\n\r\n public get isValid(): boolean {\r\n return true;\r\n }\r\n\r\n public get isInvalidMessage(): boolean {\r\n return !!this.invalidMessage || !!this.invalidMessage.length;\r\n }\r\n\r\n public get checkValidClasses(): string {\r\n return this.checkInvalid === false ?\r\n 'mrx-input-checked-success' :\r\n this.checkInvalid === true ? 'mrx-input-checked-error' : '';\r\n }\r\n\r\n\r\n public toggleDropdown() {\r\n this.isDropdownOpen = !this.isDropdownOpen;\r\n this.dropdownComponent.hide()\r\n }\r\n\r\n public generateCountryData() {\r\n this.allCountries = countryData.map(con => {\r\n return {\r\n name: con[0].toString(),\r\n iso2: con[1].toString(),\r\n dialCode: con[2].toString(),\r\n priority: +con[3] || 0,\r\n areaCodes: (con[4] as string[]) || undefined,\r\n htmlId: `${this.uuid}-${con[1].toString()}`,\r\n flagClass: `flag__${con[1].toString()}`,\r\n placeHolder: '',\r\n };\r\n });\r\n this.countriesToShow = this.allCountries;\r\n }\r\n\r\n public getDefaultCountry(): Country {\r\n return {\r\n 'name': '',\r\n 'iso2': '',\r\n 'dialCode': '',\r\n 'priority': 0,\r\n 'htmlId': '',\r\n 'flagClass': flagPlaceholder,\r\n 'placeHolder': '',\r\n };\r\n }\r\n\r\n private formatIntelNumber(number: string): string {\r\n if (this.autoDealCode) {\r\n return number\r\n } else {\r\n const indexToSplit = number.indexOf(' ') + 1;\r\n return this.separateDialCode ? number.substring(indexToSplit) : number;\r\n }\r\n }\r\n\r\n public formatPhoneNumber() {\r\n const ayt = getAsYouType(this.selectedCountry?.iso2.toUpperCase());\r\n ayt.reset(this.phoneNumber);\r\n const res: ParsedPhoneNumber = ayt.getPhoneNumber();\r\n\r\n this.parsedPhoneNumber = res\r\n\r\n if (this.numberFormat === 'international') {\r\n this.phoneNumber = res.number?.international ? this.formatIntelNumber(res.number.international) : this.phoneNumber;\r\n } else {\r\n this.phoneNumber = res.number?.national ? res.number.national : this.phoneNumber;\r\n }\r\n\r\n if (this.numberFormat === 'international') {\r\n if (this.enableAutoCountrySelect && res.regionCode != this.selectedCountry?.iso2.toUpperCase()) {\r\n res.regionCode && (this.selectedCountry = this.findCountryByIso2(res.regionCode));\r\n }\r\n } else {\r\n if (this.enableAutoCountrySelect && res.regionCode != this.selectedCountry?.iso2.toUpperCase()) {\r\n\r\n }\r\n }\r\n\r\n if (!res.valid || res.regionCode != this.selectedCountry?.iso2.toUpperCase()) {\r\n this.isInputValid = this._validation(res);\r\n } else {\r\n this.isInputValid = true;\r\n }\r\n }\r\n\r\n public searchFilterChanged(event: any) {\r\n if (this.scrollTimeout) clearTimeout(this.scrollTimeout);\r\n\r\n let filtered: Country[];\r\n if (this.searchCountryField == 'name') {\r\n filtered = this.countriesToShow.filter(con => con.name.toLowerCase().startsWith(this.searchFilter.toLowerCase()));\r\n } else if (this.searchCountryField == 'iso2') {\r\n filtered = this.countriesToShow.filter(con => con.iso2.startsWith(this.searchFilter.toLowerCase()));\r\n } else if (this.searchCountryField == 'dialCode') {\r\n filtered = this.countriesToShow.filter(con => con.dialCode.startsWith(this.searchFilter));\r\n } else {\r\n filtered = this.countriesToShow.filter(con => con.name.toLowerCase().startsWith(this.searchFilter.toLowerCase()) || con.dialCode.startsWith(this.searchFilter) || con.iso2.startsWith(this.searchFilter.toLowerCase()));\r\n }\r\n\r\n if (!filtered.length) return;\r\n this.scrollTimeout = setTimeout(() => {\r\n const el: any = document.getElementById(filtered[0].htmlId);\r\n el.scrollIntoView();\r\n }, 1);\r\n }\r\n\r\n private findCountryByIso2(iso2: string): Country | any {\r\n return this.countriesToShow.find(con => con.iso2 == iso2.toLowerCase());\r\n }\r\n\r\n public setDefaultSelectedCountry() {\r\n if (this.selectedCountryISO) {\r\n this.selectedCountry = this.findCountryByIso2(this.selectedCountryISO);\r\n } else if (this.selectFirstCountry) {\r\n if (this.preferredCountriesList.length) this.selectedCountry = this.preferredCountriesList[0];\r\n else this.selectedCountry = this.countriesToShow[0];\r\n } else this.selectedCountry = this.getDefaultCountry();\r\n\r\n this.selectedCountry.placeHolder = this.getPlaceHolder();\r\n }\r\n\r\n public setCountriesToShow() {\r\n if (this.onlyCountries.length == 0) return;\r\n\r\n const temp: any = [];\r\n for (let country of this.onlyCountries) {\r\n temp.push(this.allCountries.find(con => con.iso2 == country));\r\n }\r\n\r\n this.countriesToShow = temp;\r\n }\r\n\r\n public setPreferredCountries() {\r\n for (let country of this.preferredCountries) {\r\n const temp = this.countriesToShow.find(con => con.iso2 == country);\r\n if (temp) this.preferredCountriesList.push(temp);\r\n }\r\n }\r\n\r\n public onCountrySelect(country: any) {\r\n if (this.disabled) return\r\n\r\n this.selectedCountry = country;\r\n this.selectedCountry.placeHolder = this.getPlaceHolder();\r\n this.searchFilter = '';\r\n this.phoneNumber = '';\r\n this.isInputValid = true;\r\n this.isFocused = false;\r\n\r\n if (this.autoCloseDropdown) {\r\n this.toggleDropdown();\r\n }\r\n\r\n this.updateValue()\r\n }\r\n\r\n private getNumberExample(): string {\r\n const formatExampleNumber = (number: string): string => {\r\n return number\r\n };\r\n\r\n const exampleNumber = this.numberFormat === 'international' ?\r\n this.formatIntelNumber(getExample(this.selectedCountry.iso2.toUpperCase(), 'mobile').number?.international || '') :\r\n this.formatIntelNumber(getExample(this.selectedCountry.iso2.toUpperCase(), 'mobile').number?.national || '');\r\n\r\n return formatExampleNumber(exampleNumber);\r\n }\r\n\r\n public getPlaceHolder(): string {\r\n if (!this.enablePlaceholder) return '';\r\n if (this.customPlaceholder) return this.customPlaceholder;\r\n if (this.selectedCountry.iso2 == '') return '';\r\n\r\n return this.getNumberExample();\r\n }\r\n\r\n public getDropdownIconPath(): string {\r\n return this.isDropdownOpen ? dropdownClose : dropdownOpen;\r\n }\r\n\r\n public onPhoneInputFocus() {\r\n if (!this.autoDealCode) return;\r\n if (this.isFocused || (this.separateDialCode && this.numberFormat === 'international') || this.numberFormat === 'national' || this.phoneNumber) return;\r\n this.phoneNumber = '+' + this.selectedCountry.dialCode + ' ';\r\n this.isFocused = true;\r\n }\r\n\r\n public onPhoneInputBlur() {\r\n if (!this.isInputValid && this.phoneNumber !== '') {\r\n this.innerInvalid = true\r\n this.innerInvalidMessage = this.invalidPhoneMessage\r\n }\r\n }\r\n\r\n private _resetValidate() {\r\n this.innerInvalid = false\r\n this.innerInvalidMessage = ''\r\n }\r\n\r\n public updateValue() {\r\n this._resetValidate()\r\n this.formatPhoneNumber();\r\n\r\n const outsideValue = {\r\n phoneNumber: this.phoneNumber,\r\n unFormattedNumber: this.phoneNumber.replace(/[\\s-()]/g, ''),\r\n selectedCountry: this.selectedCountry?.name || '',\r\n iso2Code: this.selectedCountry?.iso2 || '',\r\n dialCode: this.selectedCountry?.dialCode || '',\r\n numberFormat: this.numberFormat,\r\n isNumberValid: this.isInputValid,\r\n };\r\n\r\n this.changed.emit(outsideValue);\r\n this.modelChange.emit({value: outsideValue, id: this.uuid})\r\n this.onChange(outsideValue);\r\n this.onTouched();\r\n }\r\n}\r\n","<div class=\"mrx-input-tel\" [class]=\"getClasses\" [class.mrx-input-error]=\"invalid\">\r\n <div class=\"mrx-input-tel__wrapper\">\r\n <input\r\n formatterPhone\r\n [id]=\"inputId\"\r\n type=\"tel\"\r\n class=\"phoneInput {{cssClass}}\"\r\n [(ngModel)]=\"phoneNumber\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"selectedCountry.placeHolder || ''\"\r\n [class.inValid]=\"phoneValidation && !isInputValid\"\r\n [customMaxLength]=\"maxLength\"\r\n [parsedPhoneNumber]=\"parsedPhoneNumber\"\r\n (focus)=\"onPhoneInputFocus()\"\r\n (blur)=\"onPhoneInputBlur()\"\r\n (changeModel)=\"updateValue()\"\r\n />\r\n <div class=\"mrx-input-tel__flag-container\" [class.disabled]=\"disabled\">\r\n <mrx-dropdown\r\n #dropdownComponent\r\n customClasses=\"h-100\"\r\n [mainPlacement]=\"'bottom-start'\"\r\n [fallbackPlacements]=\"['top-start']\"\r\n >\r\n <ng-template #dropdownToggle>\r\n <div class=\"mrx-input-tel__selected-flag dropdown-toggle\">\r\n <div\r\n class=\"mrx-input-tel__flag\"\r\n [ngClass]=\"selectedCountry.flagClass || ''\"\r\n ></div>\r\n <div *ngIf=\"separateDialCode\" class=\"selected-dial-code\">+{{selectedCountry.dialCode}}</div>\r\n <div class=\"mrx-input-tel__arrow mt-1\">\r\n <span class=\"mrx-icon icon-chevron-down\"></span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #dropdownMenu>\r\n <div class=\"search-container\" *ngIf=\"searchCountryFlag && searchCountryField\">\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"searchFilter\"\r\n (ngModelChange)=\"searchFilterChanged($event)\"\r\n placeholder=\"{{ searchCountryPlaceholder }}\"\r\n class=\"searchCountry__input\"\r\n />\r\n </div>\r\n\r\n <ul class=\"mrx-input-tel__country-list\" #countryList>\r\n <li class=\"mrx-input-tel__country iti__preferred\"\r\n *ngFor=\"let preferredCountry of preferredCountriesList\"\r\n (click)=\"onCountrySelect(preferredCountry)\"\r\n [id]=\"preferredCountry.htmlId+'-preferred'\"\r\n >\r\n <div class=\"mrx-input-tel__flag-box\">\r\n <div class=\"mrx-input-tel__flag\" [ngClass]=\"preferredCountry.flagClass\"></div>\r\n </div>\r\n <span class=\"mrx-input-tel__country-name\">{{preferredCountry.name}}</span>\r\n <span class=\"mrx-input-tel__dial-code\">+{{preferredCountry.dialCode}}</span>\r\n </li>\r\n\r\n <li class=\"mrx-input-tel__divider\" *ngIf=\"preferredCountriesList?.length\"></li>\r\n\r\n <li class=\"mrx-input-tel__country iti__standard\"\r\n *ngFor=\"let country of countriesToShow\"\r\n (click)=\"onCountrySelect(country)\"\r\n [id]=\"country.htmlId\">\r\n <div class=\"mrx-input-tel__flag-box\">\r\n <div class=\"mrx-input-tel__flag\" [ngClass]=\"country.flagClass\"></div>\r\n </div>\r\n <span class=\"mrx-input-tel__country-name\">{{country.name}}</span>\r\n <span class=\"mrx-input-tel__dial-code\">+{{country.dialCode}}</span>\r\n </li>\r\n\r\n </ul>\r\n </ng-template>\r\n </mrx-dropdown>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || innerInvalid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"innerInvalidMessage || invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputTelComponent } from './input-tel.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MaskedInputTelDirective } from './directives/input-tel.directive';\r\nimport { DropdownModule } from '../../dropdown/dropdown.module';\r\nimport { ErrorMessageModule } from '../../error-message/error-message.module';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { SaveStateModule } from '../../save-state/save-state.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n InputTelComponent,\r\n MaskedInputTelDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n DropdownModule,\r\n ErrorMessageModule,\r\n NgxMaskModule,\r\n SaveStateModule,\r\n ],\r\n exports: [\r\n InputTelComponent\r\n ]\r\n})\r\nexport class InputTelModule { }\r\n","// COMPONENTS\r\nexport * from './lib/components/button/button.module';\r\nexport * from './lib/components/button/button.component';\r\nexport * from './lib/components/button/button.enum';\r\n\r\nexport * from './lib/components/loader/loader.module';\r\nexport * from './lib/components/loader/loader.component';\r\nexport * from './lib/components/loader/loader.enum';\r\n\r\nexport * from './lib/components/alert/alert.module';\r\nexport * from './lib/components/alert/alert.component';\r\nexport * from './lib/components/alert/alert.enum';\r\n\r\nexport * from './lib/components/badges/badges.module';\r\nexport * from './lib/components/badges/components/badge/badge.component';\r\nexport * from './lib/components/badges/components/badge-group/badge-group.component';\r\nexport * from './lib/components/badges/badge.enum';\r\n\r\nexport * from './lib/components/breadcrumbs/breadcrumbs.module';\r\nexport * from './lib/components/breadcrumbs/breadcrumbs.component';\r\nexport * from './lib/components/breadcrumbs/breadcrumbs.enum';\r\n\r\nexport * from './lib/components/link/link.module';\r\nexport * from './lib/components/link/link.component';\r\nexport * from './lib/components/link/link.enum';\r\n\r\nexport * from './lib/components/label/label.module';\r\nexport * from './lib/components/label/label.component';\r\n\r\nexport * from './lib/components/tooltip/tooltip.module';\r\nexport * from './lib/components/tooltip/tooltip.component';\r\nexport * from './lib/components/tooltip/tooltip.enum';\r\nexport * from './lib/components/tooltip/tooltip-trigger/tooltip-trigger.component';\r\nexport * from './lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum';\r\nexport * from './lib/components/tooltip/services/tooltip.service';\r\n\r\nexport * from './lib/components/save-state/save-state.module';\r\nexport * from './lib/components/save-state/save-state.component';\r\nexport * from './lib/components/save-state/save-state.enum';\r\n\r\nexport * from './lib/components/cdk-tooltip/cdk-tooltip.module'\r\nexport * from './lib/components/cdk-tooltip/cdk-tooltip.directive';\r\nexport * from './lib/components/cdk-tooltip/models/tooltip-data';\r\n\r\nexport * from './lib/components/dropdown/dropdown.module';\r\nexport * from './lib/components/dropdown/dropdown.component';\r\nexport * from './lib/components/dropdown/directives/hide-after-click.directive';\r\n\r\nexport * from './lib/components/error-message/error-message.module'\r\nexport * from './lib/components/error-message/error-message.component';\r\n\r\nexport * from './lib/components/hint-error-message/hint-error-message.module';\r\nexport * from './lib/components/hint-error-message/hint-error-message.component';\r\n\r\nexport * from './lib/components/icon-button/icon-button.module';\r\nexport * from './lib/components/icon-button/icon-button.component';\r\nexport * from './lib/components/icon-button/icon-button.enum';\r\n\r\nexport * from './lib/components/modal/modal.module';\r\nexport * from './lib/components/modal/modal.component';\r\nexport * from './lib/components/modal/modal.emun';\r\n\r\nexport * from './lib/components/paginator/paginator.module';\r\nexport * from './lib/components/paginator/paginator.component';\r\nexport * from './lib/components/paginator/paginator.enum';\r\n\r\nexport * from './lib/components/progress/progress.module';\r\nexport * from './lib/components/progress/progress.component';\r\nexport * from './lib/components/progress/progress.enum';\r\n\r\nexport * from './lib/components/context-menu/context-menu.module';\r\nexport * from './lib/components/context-menu/components/context-menu-content/context-menu-content.component';\r\nexport * from './lib/components/context-menu/components/context-menu/context-menu.component';\r\nexport * from './lib/components/context-menu/services/context-menu/context-menu.service';\r\nexport * from './lib/components/context-menu/services/context-menu/context-menu-fixed.service';\r\nexport * from './lib/components/context-menu/directives/context-menu/context-menu.directive';\r\nexport * from './lib/components/context-menu/directives/context-menu-item/context-menu-item.directive';\r\n\r\nexport * from './lib/components/stepper/stepper.module';\r\nexport * from './lib/components/stepper/stepper.component';\r\nexport * from './lib/components/stepper/stepper.enum';\r\n\r\nexport * from './lib/components/table/table.module';\r\nexport * from './lib/components/table/table.component';\r\nexport * from './lib/components/table/table.enum';\r\nexport * from './lib/components/table/components/column/column.component';\r\nexport * from './lib/components/table/default/default-pager-settings';\r\nexport * from './lib/components/table/models/index';\r\n\r\nexport * from './lib/components/tabs/tabs.module';\r\nexport * from './lib/components/tabs/tabs.enum';\r\nexport * from './lib/components/tabs/tabs-group/tabs-group.component';\r\nexport * from './lib/components/tabs/tab/tab.component';\r\n\r\nexport * from './lib/components/truncate-text/truncate-text.module';\r\nexport * from './lib/components/truncate-text/truncate-text.component';\r\nexport * from './lib/components/truncate-text/truncate-text.enum';\r\n\r\nexport * from './lib/components/warning-message/warning-message.module';\r\nexport * from './lib/components/warning-message/warning-message.component';\r\n\r\nexport * from './lib/components/gallery/gallery.module';\r\nexport * from './lib/components/gallery/gallery.component';\r\nexport * from './lib/components/gallery/models/gallery-item.model';\r\n\r\nexport * from './lib/components/pages-nav/pages-nav.module';\r\nexport * from './lib/components/pages-nav/pages-nav.component';\r\nexport * from './lib/components/pages-nav/pages-nav.enum';\r\n\r\nexport * from './lib/components/chars-left/chars-left.module';\r\nexport * from './lib/components/chars-left/chars-left.component';\r\n\r\n// FORM\r\nexport * from './lib/components/form/input-text/input-text.module';\r\nexport * from './lib/components/form/input-text/input-text.component';\r\nexport * from './lib/components/form/input-text/input-text.enum';\r\n\r\nexport * from './lib/components/form/input-textarea/input-textarea.module';\r\nexport * from './lib/components/form/input-textarea/input-textarea.component';\r\nexport * from './lib/components/form/input-textarea/input-textarea.enum';\r\n\r\nexport * from './lib/components/form/input-phone/input-phone.module';\r\nexport * from './lib/components/form/input-phone/input-phone.component';\r\nexport * from './lib/components/form/input-phone/models/country.model';\r\n\r\nexport * from './lib/components/form/input-search/input-search.module';\r\nexport * from './lib/components/form/input-search/input-search.component';\r\nexport * from './lib/components/form/input-search/input-search.enum';\r\n\r\nexport * from './lib/components/form/input-datepicker/input-datepicker.module';\r\nexport * from './lib/components/form/input-datepicker/input-datepicker.component';\r\nexport * from './lib/components/form/input-datepicker/input-datepicker.enum';\r\n\r\nexport * from './lib/components/form/input-date-time/input-date-time.module';\r\nexport * from './lib/components/form/input-date-time/input-date-time.component';\r\nexport * from './lib/components/form/input-date-time/enum/timezone';\r\n\r\nexport * from './lib/components/form/input-timepicker/input-timepicker.module';\r\nexport * from './lib/components/form/input-timepicker/input-timepicker.component';\r\n\r\nexport * from './lib/components/form/editor/editor.module';\r\nexport * from './lib/components/form/editor/editor.component';\r\nexport * from './lib/components/form/editor/models/toolbar.model';\r\n\r\nexport * from './lib/components/form/document-editor/document-editor.module';\r\nexport * from './lib/components/form/document-editor/document-editor.component';\r\nexport * from './lib/components/form/document-editor/models/document-editor-short-codes.enum';\r\n\r\nexport * from './lib/components/form/rating/rating.module';\r\nexport * from './lib/components/form/rating/rating.component';\r\nexport * from './lib/components/form/rating/rating.enum';\r\n\r\nexport * from './lib/components/form/input-search/input-search.module';\r\nexport * from './lib/components/form/input-search/input-search.component';\r\nexport * from './lib/components/form/input-search/input-search.enum';\r\n\r\nexport * from './lib/components/form/input-number/input-number.module';\r\nexport * from './lib/components/form/input-number/input-number.component';\r\nexport * from './lib/components/form/input-number/input-number.enum';\r\n\r\nexport * from './lib/components/form/input-select/input-select.module';\r\nexport * from './lib/components/form/input-select/input-select.component';\r\nexport * from './lib/components/form/input-select/input-select.enum';\r\n\r\nexport * from './lib/components/form/input-file/input-file.module';\r\nexport * from './lib/components/form/input-file/input-file.component';\r\n\r\nexport * from './lib/components/form/input-file-image/input-file-image.module';\r\nexport * from './lib/components/form/input-file-image/input-file-image.component';\r\nexport * from './lib/components/form/input-file-image/input-file-image.enum';\r\n\r\nexport * from './lib/components/form/input-opt/input-opt.module';\r\nexport * from './lib/components/form/input-opt/models/input-opt.model';\r\nexport * from './lib/components/form/input-opt/components/input-opt/input-opt.component';\r\n\r\nexport * from './lib/components/form/input-password/input-password.module';\r\nexport * from './lib/components/form/input-password/input-password.component';\r\nexport * from './lib/components/form/input-password/input-password.enum';\r\n\r\nexport * from './lib/components/form/checkbox/checkbox.module';\r\nexport * from './lib/components/form/checkbox/checkbox.component';\r\nexport * from './lib/components/form/checkbox/checkbox.enum';\r\n\r\nexport * from './lib/components/form/checkbox-group/checkbox-group.module';\r\nexport * from './lib/components/form/checkbox-group/checkbox-group.component';\r\nexport * from './lib/components/form/checkbox-group/models/checkbox-group.model';\r\n\r\nexport * from './lib/components/form/radio/radio.module';\r\nexport * from './lib/components/form/radio/radio.component';\r\nexport * from './lib/components/form/radio/radio.enum';\r\n\r\nexport * from './lib/components/form/radio-group/radio-group.module';\r\nexport * from './lib/components/form/radio-group/radio-group.component';\r\nexport * from './lib/components/form/radio-group/models/radio-group.model';\r\n\r\nexport * from './lib/components/form/switch/switch.module';\r\nexport * from './lib/components/form/switch/switch.component';\r\nexport * from './lib/components/form/switch/switch.enum';\r\n\r\n// WRAPPERS\r\nexport * from './lib/components/wrappers/widget-wrapper/widget-wrapper.module';\r\nexport * from './lib/components/wrappers/widget-wrapper/widget-wrapper.component';\r\n\r\nexport * from './lib/components/wrappers/content-wrapper/content-wrapper.module';\r\nexport * from './lib/components/wrappers/content-wrapper/content-wrapper.component';\r\nexport * from './lib/components/wrappers/content-wrapper/content-wrapper.enum';\r\n\r\nexport * from './lib/components/wrappers/controls-wrapper/controls-wrapper.module';\r\nexport * from './lib/components/wrappers/controls-wrapper/controls-wrapper.component';\r\nexport * from './lib/components/wrappers/controls-wrapper/controls-wrapper.enum';\r\nexport * from './lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component';\r\n\r\n// DIRECTIVES\r\nexport * from './lib/directives/truncate/truncate.module';\r\nexport * from './lib/directives/truncate/truncate.directive';\r\n\r\n\r\n// PIPES\r\nexport * from './lib/pipes/safe/safe.module';\r\nexport * from './lib/pipes/safe/safe.pipe';\r\n\r\nexport * from './lib/pipes/date/date-format.module';\r\nexport * from './lib/pipes/date/date-format.pipe';\r\nexport * from './lib/pipes/date/date-time-format.pipe';\r\n\r\nexport * from './lib/pipes/phone/phone-format.module';\r\nexport * from './lib/pipes/phone/phone-format.pipe';\r\n\r\nexport * from './lib/pipes/currency/currency.module';\r\nexport * from './lib/pipes/currency/currency.pipe';\r\n\r\nexport * from './lib/pipes/truncate/truncate.module';\r\nexport * from './lib/pipes/truncate/truncate.pipe';\r\n\r\n// SERVICES\r\nexport * from './lib/services/index';\r\n\r\n// FUNCTIONS\r\nexport * from './lib/helpers/index';\r\n\r\n// MODELS\r\nexport * from './lib/models/index';\r\n\r\n// TEST\r\n\r\nexport * from './lib/components/form/input-tel/input-tel.module';\r\nexport * from './lib/components/form/input-tel/input-tel.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.LoaderComponent","i3.SafePipe","i2.SaveStateInputComponent","i3.SaveStateCheckboxComponent","i4.SaveStateCheckboxGroupComponent","i5.SaveStateSwitchComponent","i6.SaveStateEditorComponent","uuidv4","i3.SaveStateComponent","i1.TooltipService","i2","i3","i4.TooltipComponent","i5.TooltipTriggerComponent","i6.SwitchComponent","i7.BadgeComponent","i8.LinkComponent","i9.CdkTooltipDirective","i1.DropdownComponent","i1.CdkTooltipDirective","i2.ButtonComponent","i3.LoaderComponent","i4.SaveStateComponent","i5.ErrorMessageComponent","i3.InputSelectComponent","i1.ContextMenuService","i2.ProgressComponent","i2.PaginatorComponent","i4","i5.LoaderComponent","i2.LinkComponent","i3.TruncateTextDirective","i1.ButtonComponent","i2.ModalComponent","MrxAutoSaveActions.autosaveAddId","MrxAutoSaveActions.autosaveStart","MrxAutoSaveActions.autosaveStartFor","MrxAutoSaveActions.autosaveSuccess","MrxAutoSaveActions.autosaveSuccessFor","MrxAutoSaveActions.autosaveError","MrxAutoSaveActions.autosaveErrorFor","MrxAutoSaveActions.autosaveStop","MrxAutoSaveActions.autosaveStopFor","i3.CharsLeftComponent","i4.ErrorMessageComponent","i5.SaveStateComponent","i6.AutosizeDirective","i1.GalleryService","i5","i6.InputTextareaComponent","i7.LoaderComponent","i3.ButtonComponent","i4.GalleryItemComponent","maskConfigFunction","i6.CdkTooltipDirective","i7","CountryISO","SearchCountryField","i1.CountryCode","i5.DropdownComponent","i6.SaveStateComponent","i7.ErrorMessageComponent","i8","i9.NativeElementInjectorDirective","InputDateSizesEnum","validateDateModel","validateDay","validateMonth","validateTimeModel","validateHours","validateMinutes","validateDateYear","dateModelConstant","timeModelConstant","dateModelValueParse","timeModelValueParse","markPosition","cleanDate","getDateDayjsObject","getDateObject","i5.LabelComponent","i6","Timezone","tz","timezone","i4.CharsLeftComponent","i3.ModalComponent","i4.EditorComponent","i5.ButtonComponent","i2.ErrorMessageComponent","i1.FileUploadService","i5.CdkTooltipDirective","i1.ModalComponent","i1.InputOptService","i5.OptPatternDirective","i2.CharsLeftComponent","i3.ErrorMessageComponent","uuid","filterSearchGroup","getItemById","i3.CheckboxComponent","i3.InputSearchComponent","i4.LabelComponent","i2.SaveStateComponent","i3.CheckboxGroupItemComponent","i4.CheckboxGroupHeaderComponent","i3.RadioComponent","i4.RadioGroupItemComponent","i5.RadioGroupHeaderComponent","localeRu","i3.DropdownComponent","i6.MaskedInputTelDirective"],"mappings":"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"}