ecabs-components 0.0.61 → 0.0.62

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 (161) hide show
  1. package/package.json +1 -1
  2. package/assets/images/nothing-here.svg +0 -22
  3. package/lib/base/consts/date-mask.consts.ts +0 -70
  4. package/lib/base/directives/date-mask.directive.module.ts +0 -15
  5. package/lib/base/directives/date-mask.directive.ts +0 -58
  6. package/lib/base/directives/digits-only.directive.module.ts +0 -15
  7. package/lib/base/directives/digits-only.directive.ts +0 -129
  8. package/lib/base/directives/number-border.directive.module.ts +0 -14
  9. package/lib/base/directives/number-border.directive.ts +0 -57
  10. package/lib/base/element-base.ts +0 -72
  11. package/lib/base/element-wrapper/element-wrapper.component.html +0 -30
  12. package/lib/base/element-wrapper/element-wrapper.component.ts +0 -33
  13. package/lib/base/element-wrapper/element-wrapper.module.ts +0 -30
  14. package/lib/base/hint/hint.component.html +0 -1
  15. package/lib/base/hint/hint.component.scss +0 -0
  16. package/lib/base/hint/hint.component.ts +0 -12
  17. package/lib/base/hint/hint.module.ts +0 -13
  18. package/lib/base/validation/validation.component.html +0 -8
  19. package/lib/base/validation/validation.component.scss +0 -0
  20. package/lib/base/validation/validation.component.ts +0 -84
  21. package/lib/base/validation/validation.module.ts +0 -12
  22. package/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.html +0 -14
  23. package/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.scss +0 -16
  24. package/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.ts +0 -23
  25. package/lib/ecabs-active-status-filter/ecabs-active-status-filter.module.ts +0 -13
  26. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.html +0 -11
  27. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.scss +0 -0
  28. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.spec.ts +0 -24
  29. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.ts +0 -12
  30. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.ts +0 -12
  31. package/lib/ecabs-buttons/ecabs-buttons.component.html +0 -18
  32. package/lib/ecabs-buttons/ecabs-buttons.component.ts +0 -54
  33. package/lib/ecabs-buttons/ecabs-buttons.module.ts +0 -13
  34. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.html +0 -27
  35. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.scss +0 -15
  36. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.ts +0 -86
  37. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.ts +0 -21
  38. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.html +0 -4
  39. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.scss +0 -0
  40. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.spec.ts +0 -23
  41. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.ts +0 -11
  42. package/lib/ecabs-date-picker/ecabs-date-picker.component.html +0 -31
  43. package/lib/ecabs-date-picker/ecabs-date-picker.component.scss +0 -10
  44. package/lib/ecabs-date-picker/ecabs-date-picker.component.spec.ts +0 -24
  45. package/lib/ecabs-date-picker/ecabs-date-picker.component.ts +0 -72
  46. package/lib/ecabs-date-picker/ecabs-date-picker.module.ts +0 -28
  47. package/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.html +0 -4
  48. package/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.scss +0 -1
  49. package/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.spec.ts +0 -23
  50. package/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.ts +0 -11
  51. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.html +0 -31
  52. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.scss +0 -23
  53. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.spec.ts +0 -23
  54. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.ts +0 -113
  55. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.module.ts +0 -48
  56. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.html +0 -4
  57. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.scss +0 -14
  58. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.ts +0 -11
  59. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.html +0 -87
  60. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.scss +0 -68
  61. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.spec.ts +0 -23
  62. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.ts +0 -185
  63. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.ts +0 -36
  64. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.html +0 -4
  65. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.scss +0 -11
  66. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.spec.ts +0 -23
  67. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.ts +0 -10
  68. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.html +0 -107
  69. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.scss +0 -51
  70. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.spec.ts +0 -24
  71. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.ts +0 -206
  72. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.ts +0 -37
  73. package/lib/ecabs-date-time-range-picker/time-range.directive.ts +0 -38
  74. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.html +0 -32
  75. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.scss +0 -24
  76. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.ts +0 -57
  77. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.ts +0 -12
  78. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.html +0 -27
  79. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.scss +0 -25
  80. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.spec.ts +0 -38
  81. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.ts +0 -49
  82. package/lib/ecabs-dialog-message/ecabs-dialog-message.module.ts +0 -12
  83. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.html +0 -9
  84. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.scss +0 -0
  85. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.spec.ts +0 -34
  86. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.ts +0 -22
  87. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.ts +0 -11
  88. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.html +0 -33
  89. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.scss +0 -79
  90. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.spec.ts +0 -26
  91. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.ts +0 -77
  92. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.ts +0 -16
  93. package/lib/ecabs-increment/ecabs-increment.component.html +0 -18
  94. package/lib/ecabs-increment/ecabs-increment.component.scss +0 -33
  95. package/lib/ecabs-increment/ecabs-increment.component.ts +0 -74
  96. package/lib/ecabs-increment/ecabs-increment.module.ts +0 -16
  97. package/lib/ecabs-input/ecabs-input.component.html +0 -27
  98. package/lib/ecabs-input/ecabs-input.component.ts +0 -86
  99. package/lib/ecabs-input/ecabs-input.module.ts +0 -14
  100. package/lib/ecabs-language-selector/ecabs-language-selector.component.html +0 -17
  101. package/lib/ecabs-language-selector/ecabs-language-selector.component.scss +0 -24
  102. package/lib/ecabs-language-selector/ecabs-language-selector.component.ts +0 -56
  103. package/lib/ecabs-language-selector/ecabs-language-selector.module.ts +0 -21
  104. package/lib/ecabs-loading/ecabs-loading.component.html +0 -7
  105. package/lib/ecabs-loading/ecabs-loading.component.spec.ts +0 -24
  106. package/lib/ecabs-loading/ecabs-loading.component.ts +0 -11
  107. package/lib/ecabs-loading/ecabs-loading.module.ts +0 -11
  108. package/lib/ecabs-loading/spinner/spinner.component.html +0 -5
  109. package/lib/ecabs-loading/spinner/spinner.component.scss +0 -61
  110. package/lib/ecabs-loading/spinner/spinner.component.spec.ts +0 -24
  111. package/lib/ecabs-loading/spinner/spinner.component.ts +0 -11
  112. package/lib/ecabs-note/ecabs-note.component.html +0 -10
  113. package/lib/ecabs-note/ecabs-note.component.scss +0 -29
  114. package/lib/ecabs-note/ecabs-note.component.ts +0 -27
  115. package/lib/ecabs-note/ecabs-note.module.ts +0 -11
  116. package/lib/ecabs-phone/ecabs-phone.component.html +0 -17
  117. package/lib/ecabs-phone/ecabs-phone.component.ts +0 -108
  118. package/lib/ecabs-phone/ecabs-phone.module.ts +0 -15
  119. package/lib/ecabs-picker-header/ecabs-picker-header.component.html +0 -12
  120. package/lib/ecabs-picker-header/ecabs-picker-header.component.scss +0 -12
  121. package/lib/ecabs-picker-header/ecabs-picker-header.component.ts +0 -61
  122. package/lib/ecabs-picker-header/ecabs-picker-header.module.ts +0 -15
  123. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.html +0 -13
  124. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.scss +0 -16
  125. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.ts +0 -60
  126. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.ts +0 -20
  127. package/lib/ecabs-select/ecabs-select.component.html +0 -38
  128. package/lib/ecabs-select/ecabs-select.component.ts +0 -346
  129. package/lib/ecabs-select/ecabs-select.module.ts +0 -37
  130. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.html +0 -7
  131. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.scss +0 -11
  132. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.spec.ts +0 -34
  133. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.ts +0 -14
  134. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.ts +0 -14
  135. package/lib/ecabs-table/ecabs-table.component.html +0 -26
  136. package/lib/ecabs-table/ecabs-table.component.scss +0 -6
  137. package/lib/ecabs-table/ecabs-table.component.spec.ts +0 -24
  138. package/lib/ecabs-table/ecabs-table.component.ts +0 -42
  139. package/lib/ecabs-table/ecabs-table.module.ts +0 -19
  140. package/lib/ecabs-textarea/ecabs-textarea.component.html +0 -13
  141. package/lib/ecabs-textarea/ecabs-textarea.component.ts +0 -61
  142. package/lib/ecabs-textarea/ecabs-textarea.module.ts +0 -12
  143. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.html +0 -16
  144. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.ts +0 -126
  145. package/lib/ecabs-timepicker/config.model.ts +0 -5
  146. package/lib/ecabs-timepicker/ecabs-timepicker.component.html +0 -36
  147. package/lib/ecabs-timepicker/ecabs-timepicker.component.scss +0 -5
  148. package/lib/ecabs-timepicker/ecabs-timepicker.component.ts +0 -330
  149. package/lib/ecabs-timepicker/ecabs-timepicker.module.ts +0 -12
  150. package/lib/ecabs-timepicker/ecabs-timepicker.service.ts +0 -28
  151. package/lib/ecabs-validation/ecabs-validation.component.html +0 -9
  152. package/lib/ecabs-validation/ecabs-validation.component.scss +0 -23
  153. package/lib/ecabs-validation/ecabs-validation.component.ts +0 -14
  154. package/lib/ecabs-validation/ecabs-validation.module.ts +0 -12
  155. package/lib/models/bread-crumb.ts +0 -5
  156. package/lib/models/language.models.ts +0 -0
  157. package/lib/models/timepicker.models.ts +0 -7
  158. package/lib/models/validation.models.ts +0 -4
  159. package/lib/services/ecabs-components.service.ts +0 -33
  160. package/public-api.ts +0 -58
  161. package/test.ts +0 -27
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ecabs-components",
3
- "version": "0.0.61",
3
+ "version": "0.0.62",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.2.0",
6
6
  "@angular/core": "^14.2.0",
@@ -1,22 +0,0 @@
1
- <svg width="482" height="410" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path opacity=".1" d="M479.79 282.683c-13.165-66.236-90.292-119.174-105.335-188.197C347.114 6.67 256.997-7.214 198.437 30.924c-92.788 60.431 6.198 75.427-175.73 218.403C-22.215 284.631-7.9 440.469 133.421 404.705c76.053-19.247 99.173-21.948 133.383-25.117 86.225-7.988 235.084 14.282 212.986-96.905Z" fill="#367CFF"/>
3
- <path d="m376.783 299.284-133.27 70.229-133.069-70.229V193.233h266.339v106.051Z" fill="#fff"/>
4
- <path d="M243.513 370.59a1.07 1.07 0 0 1-.505-.126l-133.065-70.229a1.073 1.073 0 0 1-.575-.947V193.233a1.08 1.08 0 0 1 1.079-1.077h266.336a1.08 1.08 0 0 1 1.08 1.077v106.051a1.082 1.082 0 0 1-.576.948l-133.27 70.229a1.07 1.07 0 0 1-.504.129Zm-131.99-71.953 131.99 69.658 132.19-69.66V194.311h-264.18v104.326Z" fill="#A6A6A6"/>
5
- <path d="m376.783 170.477-133.27-70.229 59.886-28.8 133.27 70.229-59.886 28.8Z" fill="#fff"/>
6
- <path d="M376.783 171.554c-.176 0-.349-.043-.504-.124l-133.27-70.23a1.078 1.078 0 0 1 .035-1.923l59.886-28.8a1.08 1.08 0 0 1 .974.017l133.27 70.23a1.073 1.073 0 0 1 .404 1.533c-.107.168-.26.302-.439.389l-59.887 28.801c-.146.07-.307.107-.469.107ZM245.908 100.29l130.898 68.979 57.469-27.638-130.898-68.977-57.469 27.636Z" fill="#A6A6A6"/>
7
- <path d="m110.444 170.477 133.27-70.229-59.886-28.8-133.27 70.229 59.886 28.8Z" fill="#fff"/>
8
- <path d="M110.444 171.554c-.162 0-.323-.037-.469-.107l-59.883-28.801a1.08 1.08 0 0 1-.61-.95 1.078 1.078 0 0 1 .575-.972l133.27-70.23a1.074 1.074 0 0 1 .973-.018l59.887 28.801a1.079 1.079 0 0 1 .035 1.923l-133.27 70.23a1.084 1.084 0 0 1-.508.124Zm-57.492-29.921 57.47 27.637 130.897-68.978-57.469-27.638-130.898 68.979Z" fill="#A6A6A6"/>
9
- <path d="m110.444 170.477 133.27 70.229-68.523 37.417-133.27-70.228 68.523-37.418Z" fill="#fff"/>
10
- <path d="M175.191 279.2a1.054 1.054 0 0 1-.504-.125l-133.27-70.229a1.08 1.08 0 0 1-.574-.944 1.077 1.077 0 0 1 .56-.952l68.523-37.418a1.082 1.082 0 0 1 1.022-.007l133.271 70.23a1.08 1.08 0 0 1 .425 1.497 1.089 1.089 0 0 1-.412.399l-68.523 37.418a1.077 1.077 0 0 1-.518.131Zm-130.99-71.322 130.981 69.023 66.253-36.179L110.453 171.7l-66.252 36.178Z" fill="#A6A6A6"/>
11
- <path d="m376.783 170.477-133.27 70.229 68.523 37.417 133.27-70.228-68.523-37.418Z" fill="#fff"/>
12
- <path d="M312.038 279.2c-.181 0-.36-.045-.519-.131l-68.523-37.418a1.093 1.093 0 0 1-.411-.399 1.067 1.067 0 0 1-.148-.553 1.07 1.07 0 0 1 .573-.944l133.27-70.23a1.09 1.09 0 0 1 1.023.007l68.523 37.418a1.079 1.079 0 0 1 .403 1.503 1.08 1.08 0 0 1-.417.393l-133.27 70.229a1.054 1.054 0 0 1-.504.125Zm-66.242-38.478 66.252 36.179 130.982-69.023-66.254-36.178-130.98 69.022Z" fill="#A6A6A6"/>
13
- <path d="m243.714 100.248-133.27 70.229 133.069 70.229 133.27-70.229-133.069-70.229Z" fill="#A6A6A6"/>
14
- <path d="M244.592 240.705h-2.159v128.808h2.159V240.705Z" fill="#A6A6A6"/>
15
- <path d="M168.844 164.101a.856.856 0 0 1-.498-.16.86.86 0 0 1-.206-1.201c.16-.225 15.769-22.74-1.656-43.265a32.813 32.813 0 0 0-11.272-8.599 32.885 32.885 0 0 0-13.856-3.048h-.235c1.655 5.735 1.359 10.835-.984 14.747a10.905 10.905 0 0 1-4.254 4.2 10.937 10.937 0 0 1-5.833 1.332 8.682 8.682 0 0 1-4.617-1.794 8.66 8.66 0 0 1-2.879-4.024c-1.916-4.988.087-9.824 5.365-12.94a25.522 25.522 0 0 1 10.873-3.121 45.918 45.918 0 0 0-4.807-9.324c-6.292-9.588-17.759-16.224-31.461-18.209-11.613-1.681-22.742.299-28.357 5.044a.865.865 0 0 1-1.418-.73.86.86 0 0 1 .303-.586c5.974-5.049 17.64-7.183 29.719-5.429 14.193 2.056 26.096 8.97 32.659 18.97a46.772 46.772 0 0 1 5.155 10.182 34.586 34.586 0 0 1 14.998 3.024 34.534 34.534 0 0 1 12.215 9.195c18.303 21.559 1.914 45.14 1.747 45.376a.859.859 0 0 1-.701.36Zm-29.492-56.21a24.077 24.077 0 0 0-10.549 2.941c-4.557 2.691-6.244 6.643-4.632 10.841a6.99 6.99 0 0 0 2.311 3.256 7.019 7.019 0 0 0 3.721 1.463 9.234 9.234 0 0 0 4.896-1.153 9.208 9.208 0 0 0 3.56-3.547c2.15-3.594 2.347-8.37.691-13.801h.002ZM59.261 97.632c-1.467.44-3.049.29-4.408-.416a5.87 5.87 0 0 1-2.868-3.366 5.856 5.856 0 0 1 .298-4.408 5.876 5.876 0 0 1 3.296-2.95 5.893 5.893 0 0 1 4.425.18 5.873 5.873 0 0 1 3.044 3.208 5.855 5.855 0 0 1-.062 4.418 5.874 5.874 0 0 1-3.724 3.334Zm-2.871-9.576a4.132 4.132 0 0 0-2.616 2.346 4.12 4.12 0 0 0-.042 3.11 4.132 4.132 0 0 0 2.143 2.256 4.146 4.146 0 0 0 5.432-1.954 4.12 4.12 0 0 0 .207-3.102 4.13 4.13 0 0 0-2.021-2.367 4.146 4.146 0 0 0-3.103-.289ZM59.25 84.129c-1.387.413-2.88.3-4.19-.318a5.866 5.866 0 0 1-2.905-3.03A5.848 5.848 0 0 1 53.4 74.39a5.877 5.877 0 0 1 6.395-1.299 5.87 5.87 0 0 1 2.645 2.147 5.85 5.85 0 0 1 .029 6.511 5.87 5.87 0 0 1-3.217 2.38Zm-2.867-9.576a4.14 4.14 0 0 0-2.649 2.397 4.128 4.128 0 0 0 1.503 4.983 4.152 4.152 0 0 0 6.082-1.651 4.128 4.128 0 0 0-.604-4.463 4.147 4.147 0 0 0-4.332-1.267Z" fill="#6B6D73"/>
16
- <path d="M57.575 90.223c4.24 0 7.68-2.292 7.68-5.118 0-2.826-3.44-5.118-7.68-5.118-4.242 0-7.68 2.292-7.68 5.118 0 2.826 3.438 5.118 7.68 5.118Z" fill="#fff"/>
17
- <path d="M60.974 90.6a11.902 11.902 0 0 1-3.392.485c-4.791 0-8.55-2.62-8.55-5.972 0-3.353 3.748-5.982 8.537-5.987 2.089-.04 4.143.529 5.912 1.637a4.896 4.896 0 0 1 2.637 4.333 4.882 4.882 0 0 1-2.63 4.338 9.401 9.401 0 0 1-2.514 1.165Zm-6.272-9.34c-2.308.688-3.943 2.177-3.942 3.848 0 2.307 3.123 4.254 6.822 4.25A9.012 9.012 0 0 0 62.532 88a3.199 3.199 0 0 0 1.863-2.903 3.19 3.19 0 0 0-1.867-2.9 8.997 8.997 0 0 0-4.953-1.35c-.972-.002-1.94.136-2.873.412Z" fill="#6B6D73"/>
18
- <path d="m59.458 90.067-.18-9.953-2.481-.1-.174 10.17 2.835-.117ZM47.386 87.27a.792.792 0 1 0 .002-1.583.792.792 0 0 0-.002 1.584ZM48.005 83.038a.792.792 0 1 0 .002-1.584.792.792 0 0 0-.002 1.584ZM304.545 114.406a.864.864 0 0 1-.825-.609 85.33 85.33 0 0 1-2.251-32.763c2.233-16.028 11.092-37.063 40.618-46.274a76.436 76.436 0 0 1 12.737-2.914c1.391-8.67 6.684-18.074 18.52-24.563C401.466-8.134 420.462 5.7 420.651 5.84a.86.86 0 0 1-.397 1.542.865.865 0 0 1-.64-.163c-.179-.135-18.333-13.285-45.437 1.576-11.06 6.064-16.123 14.767-17.563 22.846 13.023-1.28 19.26 3.055 22.059 6.329a13.323 13.323 0 0 1 1.998 14.595 10.43 10.43 0 0 1-4.184 4.56 10.464 10.464 0 0 1-6.037 1.393c-7.273-.426-13.292-6.53-15.332-15.552a29.25 29.25 0 0 1-.53-9.307 74.01 74.01 0 0 0-11.985 2.75c-23.012 7.179-36.273 22.275-39.424 44.867a83.392 83.392 0 0 0 2.192 32.021.865.865 0 0 1-.131.765.865.865 0 0 1-.695.349v-.005Zm51.804-80.962a27.537 27.537 0 0 0 .454 9.142c1.867 8.253 7.263 13.831 13.748 14.211a8.804 8.804 0 0 0 5.062-1.175 8.775 8.775 0 0 0 3.512-3.823 11.604 11.604 0 0 0-1.768-12.71c-4.039-4.727-11.408-6.637-21.008-5.645ZM440.769 14.55a6.18 6.18 0 0 1-3.286-.954 6.156 6.156 0 0 1-2.827-5.922 6.144 6.144 0 0 1 1.327-3.146 6.18 6.18 0 0 1 9.2-.444 6.15 6.15 0 0 1 1.626 3.004 6.156 6.156 0 0 1-1.235 5.17 6.18 6.18 0 0 1-4.805 2.291Zm.012-10.586c-.918 0-1.814.284-2.564.814a4.425 4.425 0 0 0-.223 7.065 4.448 4.448 0 0 0 6.873-1.715c.36-.843.448-1.777.253-2.673a4.401 4.401 0 0 0-1.547-2.515 4.42 4.42 0 0 0-2.792-.976ZM438.168 28.613a6.194 6.194 0 0 1-4.255-1.692 6.16 6.16 0 0 1-.456-8.478 6.197 6.197 0 0 1 8.46-.91 6.163 6.163 0 0 1 1.366 8.38 6.185 6.185 0 0 1-5.115 2.7Zm.021-10.586a4.413 4.413 0 0 0-3.655 1.931 4.395 4.395 0 0 0 .979 5.98 4.42 4.42 0 0 0 6.037-.652 4.4 4.4 0 0 0-.325-6.05 4.422 4.422 0 0 0-3.036-1.209Z" fill="#6B6D73"/>
19
- <path d="M447.443 17.067c.545-2.943-2.595-5.989-7.011-6.802-4.417-.813-8.439.914-8.983 3.857-.544 2.944 2.595 5.989 7.012 6.802 4.416.813 8.438-.914 8.982-3.857Z" fill="#fff"/>
20
- <path d="M440.635 21.988a12.945 12.945 0 0 1-2.331-.216 11.326 11.326 0 0 1-5.812-2.831 5.528 5.528 0 0 1-1.892-4.974 5.527 5.527 0 0 1 3.547-3.973 12.069 12.069 0 0 1 12.252 2.256 5.535 5.535 0 0 1 1.893 4.974 5.547 5.547 0 0 1-3.547 3.973c-1.303.537-2.7.806-4.11.79Zm-2.385-11.063a8.717 8.717 0 0 0-3.421.652 3.89 3.89 0 0 0-2.53 2.703 3.873 3.873 0 0 0 1.397 3.425 10.344 10.344 0 0 0 10.364 1.909 3.89 3.89 0 0 0 2.53-2.703 3.881 3.881 0 0 0-1.397-3.425 9.583 9.583 0 0 0-4.923-2.372 11.218 11.218 0 0 0-2.017-.189h-.003Z" fill="#6B6D73"/>
21
- <path d="m438.449 10.067-1.737 10.397 2.562.583 2.149-10.555-2.974-.425ZM448.86 21.253a.838.838 0 1 0 .002-1.676.838.838 0 0 0-.002 1.676ZM450.323 16.965a.838.838 0 1 0 0-1.675.839.839 0 1 0 0 1.675Z" fill="#6B6D73"/>
22
- </svg>
@@ -1,70 +0,0 @@
1
- const maxValueMonth = [31, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
2
- const formatOrder = ['yyyy', 'yy', 'mm', 'dd', 'HH', 'MM', 'SS'];
3
-
4
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
5
- export function createAutoCorrectedDatePipe(dateFormat = 'dd mm yyyy', { minYear = 1, maxYear = 9999 } = {}) {
6
- const dateFormatArray = dateFormat
7
- .split(/[^dmyHMS]+/)
8
- .sort((a, b) => formatOrder.indexOf(a) - formatOrder.indexOf(b));
9
-
10
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
11
- return function (conformedValue) {
12
- const indexesOfPipedChars = [];
13
- const maxValue = { dd: 31, mm: 12, yy: 99, yyyy: maxYear, HH: 23, MM: 59, SS: 59 };
14
- const minValue = { dd: 1, mm: 1, yy: 0, yyyy: minYear, HH: 0, MM: 0, SS: 0 };
15
- const conformedValueArr = conformedValue.split('');
16
-
17
- // Check first digit
18
- dateFormatArray.forEach((format) => {
19
- const position = dateFormat.indexOf(format);
20
- const maxFirstDigit = parseInt(maxValue[format].toString().substr(0, 1), 10);
21
-
22
- if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {
23
- conformedValueArr[position + 1] = conformedValueArr[position];
24
- conformedValueArr[position] = 0;
25
- indexesOfPipedChars.push(position);
26
- }
27
- });
28
-
29
- // Check for invalid date
30
- let month = 0;
31
- const isInvalid = dateFormatArray.some((format) => {
32
- const position = dateFormat.indexOf(format);
33
- const length = format.length;
34
- const textValue = conformedValue.substr(position, length).replace(/\D/g, '');
35
- const value = parseInt(textValue, 10);
36
-
37
- if (format === 'mm') {
38
- // tslint:disable-next-line: strict-boolean-expressions
39
- month = value || 0;
40
- }
41
-
42
- const maxValueForFormat = format === 'dd' ? maxValueMonth[month] : maxValue[format];
43
-
44
- if (format === 'yyyy' && (minYear !== 1 || maxYear !== 9999)) {
45
- const scopedMaxValue = parseInt(maxValue[format].toString().substring(0, textValue.length), 10);
46
- const scopedMinValue = parseInt(minValue[format].toString().substring(0, textValue.length), 10);
47
-
48
- return value < scopedMinValue || value > scopedMaxValue;
49
- }
50
-
51
- if (format === 'HH' || format === 'MM') {
52
- const scopedMaxValue = parseInt(maxValue[format].toString().substring(0, textValue.length), 10);
53
- const scopedMinValue = parseInt(minValue[format].toString().substring(0, textValue.length), 10);
54
-
55
- return value < scopedMinValue || value > scopedMaxValue;
56
- }
57
-
58
- return value > maxValueForFormat || (textValue.length === length && value < minValue[format]);
59
- });
60
-
61
- if (isInvalid) {
62
- return false;
63
- }
64
-
65
- return {
66
- value: conformedValueArr.join(''),
67
- indexesOfPipedChars,
68
- };
69
- };
70
- }
@@ -1,15 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { MaskDateDirective } from './date-mask.directive';
4
- import { NumberBorderDirective } from './number-border.directive';
5
-
6
- @NgModule( {
7
- imports: [ CommonModule ],
8
- declarations: [
9
- MaskDateDirective,
10
- ],
11
- exports: [
12
- MaskDateDirective,
13
- ],
14
- } )
15
- export class MaskDateDirectiveModule { }
@@ -1,58 +0,0 @@
1
- import { Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';
2
- import * as textMask from 'vanilla-text-mask/dist/vanillaTextMask';
3
- import { createAutoCorrectedDatePipe } from '../consts/date-mask.consts';
4
-
5
- @Directive({
6
- selector: '[appMaskDate]',
7
- })
8
- export class MaskDateDirective implements OnInit, OnDestroy {
9
- @Input() isDateTimeMask = false;
10
- @Input() considerSeconds = false;
11
-
12
- maskedInputController;
13
- mask = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/]; // dd/mm/yyyy
14
- maskDateTime = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, ',', ' ', /\d/, /\d/, ':', /\d/, /\d/]; // dd/mm/yyyy, hh:mm
15
- maskDateTimeWithSeconds = [
16
- /\d/,
17
- /\d/,
18
- '/',
19
- /\d/,
20
- /\d/,
21
- '/',
22
- /\d/,
23
- /\d/,
24
- /\d/,
25
- /\d/,
26
- ',',
27
- ' ',
28
- /\d/,
29
- /\d/,
30
- ':',
31
- /\d/,
32
- /\d/,
33
- ':',
34
- /\d/,
35
- /\d/,
36
- ]; // dd/mm/yyyy, hh:mm:ss
37
-
38
- constructor(private readonly element: ElementRef) {}
39
-
40
- ngOnInit(): void {
41
- this.maskedInputController = textMask.maskInput({
42
- inputElement: this.element.nativeElement,
43
- guide: true,
44
- showMask: false,
45
- pipe: this.isDateTimeMask
46
- ? this.considerSeconds
47
- ? createAutoCorrectedDatePipe('dd/mm/yyyy, HH:MM:SS')
48
- : createAutoCorrectedDatePipe('dd/mm/yyyy, HH:MM')
49
- : createAutoCorrectedDatePipe('dd/mm/yyyy'),
50
- keepCharPositions: true,
51
- mask: this.isDateTimeMask ? (this.considerSeconds ? this.maskDateTimeWithSeconds : this.maskDateTime) : this.mask,
52
- });
53
- }
54
-
55
- ngOnDestroy(): void {
56
- this.maskedInputController.destroy();
57
- }
58
- }
@@ -1,15 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
-
4
- import { DigitsOnlyDirective } from './digits-only.directive';
5
-
6
- @NgModule( {
7
- imports: [ CommonModule ],
8
- declarations: [
9
- DigitsOnlyDirective,
10
- ],
11
- exports: [
12
- DigitsOnlyDirective,
13
- ],
14
- } )
15
- export class DigitsOnlyDirectivesModule { }
@@ -1,129 +0,0 @@
1
- import { Directive, ElementRef, HostListener, Input, OnInit } from '@angular/core';
2
-
3
- @Directive({
4
- selector: '[appDigitsOnly]',
5
- })
6
- export class DigitsOnlyDirective implements OnInit {
7
- @Input()
8
- digitsOnly = false;
9
-
10
- @Input()
11
- allowHyphen = false;
12
-
13
- @Input() decimal? = false;
14
- @Input() decimalSeparator? = '.';
15
- @Input() unit? = 0;
16
-
17
- inputElement: HTMLInputElement;
18
- minus = '-';
19
- minusCounter = 0;
20
- regex!: RegExp;
21
-
22
- private decimalCounter = 0;
23
- private readonly navigationKeys = [
24
- 'Backspace',
25
- 'Delete',
26
- 'Tab',
27
- 'Escape',
28
- 'Enter',
29
- 'Home',
30
- 'End',
31
- 'ArrowLeft',
32
- 'ArrowRight',
33
- 'Clear',
34
- 'Copy',
35
- 'Paste',
36
- ];
37
-
38
- constructor(public el: ElementRef) {
39
- this.inputElement = el.nativeElement;
40
- }
41
-
42
- @HostListener('keydown', ['$event'])
43
- onKeyDown(e: KeyboardEvent): void {
44
- if (this.digitsOnly) {
45
- if (
46
- this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.
47
- (e.key === 'a' && e.ctrlKey) || // Allow: Ctrl+A
48
- (e.key === 'c' && e.ctrlKey) || // Allow: Ctrl+C
49
- (e.key === 'v' && e.ctrlKey) || // Allow: Ctrl+V
50
- (e.key === 'x' && e.ctrlKey) || // Allow: Ctrl+X
51
- (e.key === 'a' && e.metaKey) || // Allow: Cmd+A (Mac)
52
- (e.key === 'c' && e.metaKey) || // Allow: Cmd+C (Mac)
53
- (e.key === 'v' && e.metaKey) || // Allow: Cmd+V (Mac)
54
- (e.key === 'x' && e.metaKey) || // Allow: Cmd+X (Mac)
55
- (this.decimal && e.key === this.decimalSeparator && this.decimalCounter <= 1) || // Allow: only one decimal point
56
- (this.decimal && e.key === this.minus && this.minusCounter < 1) // Allow: only one minus
57
- ) {
58
- return;
59
- }
60
-
61
- // Ensure that it is a number and stop the keypress
62
- if (e.key === ' ' || !this.regex.test(e.key)) {
63
- e.preventDefault();
64
- }
65
- }
66
- }
67
-
68
- @HostListener('keyup', ['$event'])
69
- onKeyUp(): void {
70
- if (this.digitsOnly) {
71
- if (!this.decimal) {
72
- return;
73
- }
74
-
75
- this.decimalCounter = this.el.nativeElement.value.split(this.decimalSeparator).length - 1;
76
- this.minusCounter = this.el.nativeElement.value.split(this.minus).length - 1;
77
-
78
- if (isNaN(+this.inputElement.value)) {
79
- this.inputElement.value = this.sanitizeInput(this.inputElement.value);
80
- }
81
- }
82
- }
83
-
84
- @HostListener('paste', ['$event'])
85
- onPaste(event: ClipboardEvent): void {
86
- if (this.digitsOnly) {
87
- const pastedInput = event.clipboardData?.getData('text/plain') as string;
88
- this.pasteData(pastedInput);
89
- event.preventDefault();
90
- }
91
- }
92
-
93
- ngOnInit(): void {
94
- this.regex = new RegExp(this.allowHyphen ? '^[\\d -]+$' : '\\d');
95
- }
96
-
97
- private pasteData(pastedContent: string): void {
98
- const sanitizedContent = isNaN(+pastedContent) ? this.sanitizeInput(pastedContent) : pastedContent;
99
- const pasted = document.execCommand('insertText', false, sanitizedContent);
100
- if (!pasted) {
101
- const { selectionStart: start, selectionEnd: end } = this.inputElement;
102
- this.inputElement.setRangeText(sanitizedContent, start as number, end as number, 'end');
103
- }
104
- }
105
-
106
- private sanitizeInput(input: string): string {
107
- let result = '';
108
- if (this.decimal && this.isValidDecimal(input)) {
109
- const regex = new RegExp(`^[\d -${this.decimalSeparator}]+$`, 'g');
110
- result = input.replace(regex, '');
111
- } else {
112
- result = input.replace(`/${this.regex}/g`, '');
113
- }
114
-
115
- const maxLength = this.inputElement.maxLength;
116
-
117
- if (maxLength > 0) {
118
- // the input element has maxLength limit
119
- const allowedLength = maxLength - this.inputElement.value.length;
120
- result = allowedLength > 0 ? result.substring(0, allowedLength) : '';
121
- }
122
-
123
- return result;
124
- }
125
-
126
- private isValidDecimal(inputString: string): boolean {
127
- return inputString.split(this.decimalSeparator as string).length <= 2;
128
- }
129
- }
@@ -1,14 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { NumberBorderDirective } from './number-border.directive';
4
-
5
- @NgModule( {
6
- imports: [ CommonModule ],
7
- declarations: [
8
- NumberBorderDirective,
9
- ],
10
- exports: [
11
- NumberBorderDirective,
12
- ],
13
- } )
14
- export class NumberBorderDirectiveModule { }
@@ -1,57 +0,0 @@
1
- import { Directive, ElementRef, HostListener, Input } from '@angular/core';
2
-
3
- @Directive({
4
- selector: '[appNumberBorder]',
5
- })
6
- export class NumberBorderDirective {
7
- @Input() maxValue: number;
8
- @Input() minValue: number;
9
-
10
- inputElement: HTMLInputElement;
11
-
12
- constructor(public el: ElementRef) {
13
- this.inputElement = el.nativeElement;
14
- }
15
-
16
- @HostListener('keyup', ['$event'])
17
- onKeyUp(e): void {
18
- const value = +e.target.value;
19
-
20
- if (isNaN(value)) {
21
- this.inputElement.value = this.sanitizeInput(e.target.value);
22
-
23
- return;
24
- }
25
-
26
- if (this.maxValue) {
27
- if (value > this.maxValue) {
28
- this.inputElement.value = this.sanitizeInput(this.maxValue.toString());
29
-
30
- return;
31
- }
32
- }
33
-
34
- if (this.minValue && this.minValue !== value) {
35
- if (value < this.minValue) {
36
- this.inputElement.value = this.sanitizeInput(this.minValue.toString());
37
-
38
- return;
39
- }
40
- }
41
- }
42
-
43
- private sanitizeInput(input: string): string {
44
- let result = '';
45
- const regex = new RegExp(`/\d+/g`);
46
- result = input.replace(regex, '');
47
-
48
- const maxLength = this.inputElement.maxLength;
49
-
50
- if (maxLength > 0) {
51
- const allowedLength = maxLength - this.inputElement.value.length;
52
- result = allowedLength > 0 ? result.substring(0, allowedLength) : '';
53
- }
54
-
55
- return result;
56
- }
57
- }
@@ -1,72 +0,0 @@
1
- import { Input, Output, EventEmitter, Component } from '@angular/core';
2
- import { AbstractControl, UntypedFormControl } from '@angular/forms';
3
-
4
- @Component({
5
- template: '',
6
- })
7
- export default class ElementBaseComponent {
8
- @Input() type!:string;
9
- @Input() name!:string;
10
- @Input() label!:string;
11
- @Input() placeholder = '';
12
- @Input() validationLabel!:string;
13
- @Input() disabled = false;
14
- @Input() showValidation = true;
15
- @Input() showValidationOnNotTouched = false;
16
- @Input() hideValidationMessage = false;
17
- @Input() iconClass = '';
18
- @Input() loading = false;
19
- @Input() showHint: boolean = false;
20
- @Input() maxLength!: number;
21
- @Input() tooltip!: string;
22
- @Input() showAsterisk: boolean = true;
23
-
24
- @Output() focused = new EventEmitter<any>();
25
- @Output() focusOuted = new EventEmitter<any>();
26
-
27
- control!: UntypedFormControl;
28
- required: boolean = false;
29
-
30
- getData(): any {
31
- return {
32
- type: this.type || 'text',
33
- label: this.label,
34
- placeholder: this.placeholder,
35
- validationLabel: this.validationLabel,
36
- disabled: this.disabled,
37
- showValidation: this.showValidation,
38
- showValidationOnNotTouched: this.showValidationOnNotTouched,
39
- hideValidationMessage: this.hideValidationMessage,
40
- iconClass: this.iconClass,
41
- control: this.control,
42
- loading: this.loading,
43
- showHint: this.showHint,
44
- maxLength: this.maxLength,
45
- tooltip: this.tooltip,
46
- name: this.name,
47
- required: this.isRequired(this.control),
48
- showAsterisk: this.showAsterisk,
49
- };
50
- }
51
-
52
- private isRequired = (ctrl: any): boolean => {
53
- if (ctrl?.validator) {
54
- const validator = ctrl.validator({} as AbstractControl);
55
- if (validator && validator['required']) {
56
- return true;
57
- }
58
- }
59
-
60
- if (ctrl?.['controls']) {
61
- for (const name in ctrl['controls']) {
62
- if (ctrl['controls'][name]) {
63
- if (this.isRequired(ctrl['controls'][name])) {
64
- return true;
65
- }
66
- }
67
- }
68
- }
69
-
70
- return false;
71
- };
72
- }
@@ -1,30 +0,0 @@
1
- <div
2
- class="form-field"
3
- [ngClass]="{
4
- 'form-field--invalid':
5
- data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,
6
- disabled: data?.disabled,
7
- 'form-field--required': data?.required && data?.showAsterisk
8
- }"
9
- >
10
- <div>
11
- <label class="form-field__label" [attr.for]="data?.name" *ngIf="data?.label">
12
- <span [innerHTML]="data?.label"></span>
13
- <mat-icon class="icon" *ngIf="data?.tooltip" [matTooltip]="data?.tooltip">error_outline</mat-icon>
14
- </label>
15
- </div>
16
-
17
- <ng-content></ng-content>
18
-
19
- <ecabs-loading-spinner class="spinner" size="tiny" *ngIf="data.loading"></ecabs-loading-spinner>
20
-
21
- <app-hint [element]="data?.control" [showHint]="data?.showHint" [maxValue]="data?.maxLength"></app-hint>
22
-
23
- <ecabs-validations-messages
24
- *ngIf="data?.showValidation && !data?.hideValidationMessage"
25
- [element]="data?.control"
26
- [label]="data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel"
27
- [showValidationOnNotTouched]="data?.showValidationOnNotTouched"
28
- >
29
- </ecabs-validations-messages>
30
- </div>
@@ -1,33 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'app-element-wrapper',
5
- templateUrl: './element-wrapper.component.html',
6
- })
7
- export class ElementWrapperComponent {
8
- @Input() data!:any;
9
- @Input() showCloseIcon!:boolean;
10
- @Input() focusedFlag!:any;
11
- @Input() showPassword!:boolean;
12
- @Input() control!:any;
13
- @Output() showHidePassword = new EventEmitter<any>();
14
- @Output() clear = new EventEmitter<any>();
15
- @Output() increase = new EventEmitter<any>();
16
- @Output() decrease = new EventEmitter<any>();
17
-
18
- showHidePasswordFn(event:any): void {
19
- this.showHidePassword.emit(event);
20
- }
21
-
22
- clearFn(): void {
23
- this.clear.emit();
24
- }
25
-
26
- increaseFn(): void {
27
- this.increase.emit();
28
- }
29
-
30
- decreaseFn(): void {
31
- this.decrease.emit();
32
- }
33
- }
@@ -1,30 +0,0 @@
1
-
2
- import { CommonModule } from '@angular/common';
3
- import { NgModule } from '@angular/core';
4
- import { FormsModule } from '@angular/forms';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatInputModule } from '@angular/material/input';
7
-
8
- import { HintModule } from '../hint/hint.module';
9
- import { EcabsValidationModule } from '../validation/validation.module';
10
- import { ElementWrapperComponent } from './element-wrapper.component';
11
- import { MatIconModule } from '@angular/material/icon';
12
- import { MatTooltipModule } from '@angular/material/tooltip';
13
- import { EcabsLoadingModule } from '../../ecabs-loading/ecabs-loading.module';
14
-
15
- @NgModule( {
16
- declarations: [ ElementWrapperComponent ],
17
- imports: [
18
- CommonModule,
19
- FormsModule,
20
- EcabsLoadingModule,
21
- EcabsValidationModule,
22
- MatFormFieldModule,
23
- MatInputModule,
24
- MatIconModule,
25
- MatTooltipModule,
26
- HintModule,
27
- ],
28
- exports: [ ElementWrapperComponent ],
29
- } )
30
- export class ElementWrapperModule { }
@@ -1 +0,0 @@
1
- <div class="hint" *ngIf="element && showHint">{{ element?.value?.length || 0 }}/{{ this.maxValue }}</div>
File without changes
@@ -1,12 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'app-hint',
5
- templateUrl: './hint.component.html',
6
- styleUrls: ['./hint.component.scss'],
7
- })
8
- export class HintComponent {
9
- @Input() element!:any;
10
- @Input() maxValue!:number;
11
- @Input() showHint = false;
12
- }
@@ -1,13 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { MatFormFieldModule } from '@angular/material/form-field';
5
-
6
- import { HintComponent } from './hint.component';
7
-
8
- @NgModule({
9
- declarations: [HintComponent],
10
- imports: [CommonModule, FormsModule, MatFormFieldModule],
11
- exports: [HintComponent],
12
- })
13
- export class HintModule {}
@@ -1,8 +0,0 @@
1
- <div
2
- class="form-field__validation"
3
- *ngIf="element && (element?.touched || showValidationOnNotTouched) && element?.invalid"
4
- >
5
- <div class="form-field__validation__item" *ngFor="let item of element?.errors | keyvalue">
6
- {{ getMessageDetail(item.key) }}
7
- </div>
8
- </div>
File without changes