ecabs-components 1.0.19 → 1.0.21

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 (365) hide show
  1. package/esm2022/ecabs-components.mjs +5 -0
  2. package/esm2022/lib/base/consts/date-mask.consts.mjs +57 -0
  3. package/esm2022/lib/base/directives/date-mask.directive.mjs +67 -0
  4. package/esm2022/lib/base/directives/date-mask.directive.module.mjs +22 -0
  5. package/esm2022/lib/base/directives/digits-only.directive.mjs +133 -0
  6. package/esm2022/lib/base/directives/digits-only.directive.module.mjs +22 -0
  7. package/esm2022/lib/base/directives/number-border.directive.mjs +58 -0
  8. package/esm2022/lib/base/directives/number-border.directive.module.mjs +22 -0
  9. package/esm2022/lib/base/element-base.mjs +105 -0
  10. package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +56 -0
  11. package/esm2022/lib/base/element-wrapper/element-wrapper.module.mjs +52 -0
  12. package/esm2022/lib/base/hint/hint.component.mjs +21 -0
  13. package/esm2022/lib/base/hint/hint.module.mjs +20 -0
  14. package/esm2022/lib/base/validation/validation.component.mjs +75 -0
  15. package/esm2022/lib/base/validation/validation.module.mjs +20 -0
  16. package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +17 -0
  17. package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +20 -0
  18. package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +64 -0
  19. package/esm2022/lib/ecabs-buttons/ecabs-buttons.module.mjs +21 -0
  20. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +94 -0
  21. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +36 -0
  22. package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +15 -0
  23. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +89 -0
  24. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +48 -0
  25. package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +15 -0
  26. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +186 -0
  27. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +64 -0
  28. package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +15 -0
  29. package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +199 -0
  30. package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +65 -0
  31. package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +48 -0
  32. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +50 -0
  33. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +20 -0
  34. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +47 -0
  35. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +20 -0
  36. package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +22 -0
  37. package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +19 -0
  38. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +85 -0
  39. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +24 -0
  40. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +83 -0
  41. package/esm2022/lib/ecabs-increment/ecabs-increment.module.mjs +23 -0
  42. package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +90 -0
  43. package/esm2022/lib/ecabs-input/ecabs-input.module.mjs +22 -0
  44. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +64 -0
  45. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +39 -0
  46. package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +22 -0
  47. package/esm2022/lib/ecabs-loading/ecabs-loading.module.mjs +19 -0
  48. package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +14 -0
  49. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +28 -0
  50. package/esm2022/lib/ecabs-note/ecabs-note.module.mjs +19 -0
  51. package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +111 -0
  52. package/esm2022/lib/ecabs-phone/ecabs-phone.module.mjs +22 -0
  53. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +53 -0
  54. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +22 -0
  55. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +68 -0
  56. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +32 -0
  57. package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +316 -0
  58. package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +60 -0
  59. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +19 -0
  60. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +24 -0
  61. package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +48 -0
  62. package/esm2022/lib/ecabs-table/ecabs-table.module.mjs +33 -0
  63. package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +65 -0
  64. package/esm2022/lib/ecabs-textarea/ecabs-textarea.module.mjs +20 -0
  65. package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +144 -0
  66. package/esm2022/lib/ecabs-timepicker/config.model.mjs +2 -0
  67. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +322 -0
  68. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +20 -0
  69. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +29 -0
  70. package/esm2022/lib/models/bread-crumb.mjs +2 -0
  71. package/esm2022/lib/models/timepicker.models.mjs +2 -0
  72. package/esm2022/lib/services/ecabs-components.service.mjs +31 -0
  73. package/esm2022/public-api.mjs +55 -0
  74. package/fesm2022/ecabs-components.mjs +3478 -0
  75. package/fesm2022/ecabs-components.mjs.map +1 -0
  76. package/index.d.ts +5 -0
  77. package/lib/base/consts/date-mask.consts.d.ts +7 -0
  78. package/lib/base/directives/date-mask.directive.d.ts +16 -0
  79. package/lib/base/directives/date-mask.directive.module.d.ts +8 -0
  80. package/lib/base/directives/digits-only.directive.d.ts +26 -0
  81. package/lib/base/directives/digits-only.directive.module.d.ts +8 -0
  82. package/lib/base/directives/number-border.directive.d.ts +13 -0
  83. package/lib/base/directives/number-border.directive.module.d.ts +8 -0
  84. package/lib/base/element-base.d.ts +28 -0
  85. package/lib/base/element-wrapper/element-wrapper.component.d.ts +19 -0
  86. package/lib/base/element-wrapper/element-wrapper.module.d.ts +16 -0
  87. package/lib/base/hint/hint.component.d.ts +8 -0
  88. package/lib/base/hint/hint.module.d.ts +10 -0
  89. package/lib/base/validation/validation.component.d.ts +24 -0
  90. package/lib/base/validation/validation.module.d.ts +10 -0
  91. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +7 -0
  92. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.d.ts +10 -0
  93. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +20 -0
  94. package/lib/ecabs-buttons/ecabs-buttons.module.d.ts +11 -0
  95. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +29 -0
  96. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.d.ts +12 -0
  97. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +6 -0
  98. package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +29 -0
  99. package/lib/ecabs-date-picker/ecabs-date-picker.module.d.ts +15 -0
  100. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +6 -0
  101. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +51 -0
  102. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.d.ts +19 -0
  103. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.d.ts +6 -0
  104. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +58 -0
  105. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.d.ts +20 -0
  106. package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +15 -0
  107. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +31 -0
  108. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.d.ts +11 -0
  109. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +28 -0
  110. package/lib/ecabs-dialog-message/ecabs-dialog-message.module.d.ts +11 -0
  111. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +12 -0
  112. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.d.ts +9 -0
  113. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +28 -0
  114. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.d.ts +14 -0
  115. package/lib/ecabs-increment/ecabs-increment.component.d.ts +26 -0
  116. package/lib/ecabs-increment/ecabs-increment.module.d.ts +13 -0
  117. package/lib/ecabs-input/ecabs-input.component.d.ts +27 -0
  118. package/lib/ecabs-input/ecabs-input.module.d.ts +12 -0
  119. package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +20 -0
  120. package/lib/ecabs-language-selector/ecabs-language-selector.module.d.ts +12 -0
  121. package/lib/ecabs-loading/ecabs-loading.component.d.ts +8 -0
  122. package/lib/ecabs-loading/ecabs-loading.module.d.ts +9 -0
  123. package/lib/ecabs-loading/spinner/spinner.component.d.ts +6 -0
  124. package/lib/ecabs-note/ecabs-note.component.d.ts +7 -0
  125. package/lib/ecabs-note/ecabs-note.module.d.ts +9 -0
  126. package/lib/ecabs-phone/ecabs-phone.component.d.ts +33 -0
  127. package/lib/ecabs-phone/ecabs-phone.module.d.ts +12 -0
  128. package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +19 -0
  129. package/lib/ecabs-picker-header/ecabs-picker-header.module.d.ts +12 -0
  130. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +24 -0
  131. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.d.ts +11 -0
  132. package/lib/ecabs-select/ecabs-select.component.d.ts +71 -0
  133. package/lib/ecabs-select/ecabs-select.module.d.ts +15 -0
  134. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +8 -0
  135. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.d.ts +9 -0
  136. package/lib/ecabs-table/ecabs-table.component.d.ts +18 -0
  137. package/lib/ecabs-table/ecabs-table.module.d.ts +12 -0
  138. package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +20 -0
  139. package/lib/ecabs-textarea/ecabs-textarea.module.d.ts +10 -0
  140. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +40 -0
  141. package/lib/ecabs-timepicker/config.model.d.ts +5 -0
  142. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +53 -0
  143. package/lib/ecabs-timepicker/ecabs-timepicker.module.d.ts +10 -0
  144. package/lib/ecabs-timepicker/ecabs-timepicker.service.d.ts +12 -0
  145. package/lib/models/bread-crumb.d.ts +5 -0
  146. package/{src/lib/models/timepicker.models.ts → lib/models/timepicker.models.d.ts} +3 -4
  147. package/lib/services/ecabs-components.service.d.ts +16 -0
  148. package/package.json +33 -25
  149. package/{src/styles → styles}/material/overrides/_button.scss +1 -0
  150. package/styles/material/overrides/_icon.scss +3 -0
  151. package/{src/styles → styles}/material/overrides/_phone.scss +24 -2
  152. package/karma.conf.js +0 -44
  153. package/ng-package.json +0 -7
  154. package/src/assets/images/nothing-here.svg +0 -22
  155. package/src/lib/base/consts/date-mask.consts.ts +0 -70
  156. package/src/lib/base/directives/date-mask.directive.module.ts +0 -14
  157. package/src/lib/base/directives/date-mask.directive.ts +0 -58
  158. package/src/lib/base/directives/digits-only.directive.module.ts +0 -15
  159. package/src/lib/base/directives/digits-only.directive.ts +0 -129
  160. package/src/lib/base/directives/number-border.directive.module.ts +0 -14
  161. package/src/lib/base/directives/number-border.directive.ts +0 -57
  162. package/src/lib/base/element-base.ts +0 -72
  163. package/src/lib/base/element-wrapper/element-wrapper.component.html +0 -30
  164. package/src/lib/base/element-wrapper/element-wrapper.component.ts +0 -33
  165. package/src/lib/base/element-wrapper/element-wrapper.module.ts +0 -30
  166. package/src/lib/base/hint/hint.component.html +0 -1
  167. package/src/lib/base/hint/hint.component.scss +0 -0
  168. package/src/lib/base/hint/hint.component.ts +0 -12
  169. package/src/lib/base/hint/hint.module.ts +0 -13
  170. package/src/lib/base/validation/validation.component.html +0 -8
  171. package/src/lib/base/validation/validation.component.scss +0 -0
  172. package/src/lib/base/validation/validation.component.ts +0 -84
  173. package/src/lib/base/validation/validation.module.ts +0 -13
  174. package/src/lib/consts/tenant.consts.ts +0 -8
  175. package/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.html +0 -11
  176. package/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.scss +0 -0
  177. package/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.spec.ts +0 -24
  178. package/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.ts +0 -12
  179. package/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.ts +0 -12
  180. package/src/lib/ecabs-buttons/ecabs-buttons.component.html +0 -18
  181. package/src/lib/ecabs-buttons/ecabs-buttons.component.scss +0 -3
  182. package/src/lib/ecabs-buttons/ecabs-buttons.component.ts +0 -55
  183. package/src/lib/ecabs-buttons/ecabs-buttons.module.ts +0 -14
  184. package/src/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.html +0 -27
  185. package/src/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.scss +0 -15
  186. package/src/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.ts +0 -81
  187. package/src/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.ts +0 -21
  188. package/src/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.html +0 -4
  189. package/src/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.scss +0 -0
  190. package/src/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.spec.ts +0 -23
  191. package/src/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.ts +0 -11
  192. package/src/lib/ecabs-date-picker/ecabs-date-picker.component.html +0 -31
  193. package/src/lib/ecabs-date-picker/ecabs-date-picker.component.scss +0 -23
  194. package/src/lib/ecabs-date-picker/ecabs-date-picker.component.spec.ts +0 -24
  195. package/src/lib/ecabs-date-picker/ecabs-date-picker.component.ts +0 -72
  196. package/src/lib/ecabs-date-picker/ecabs-date-picker.module.ts +0 -29
  197. package/src/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.html +0 -4
  198. package/src/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.scss +0 -0
  199. package/src/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.spec.ts +0 -23
  200. package/src/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.ts +0 -11
  201. package/src/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.html +0 -31
  202. package/src/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.scss +0 -36
  203. package/src/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.spec.ts +0 -23
  204. package/src/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.ts +0 -113
  205. package/src/lib/ecabs-date-range-picker/ecabs-date-range-picker.module.ts +0 -50
  206. package/src/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.html +0 -4
  207. package/src/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.scss +0 -14
  208. package/src/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.ts +0 -11
  209. package/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.html +0 -87
  210. package/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.scss +0 -82
  211. package/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.spec.ts +0 -23
  212. package/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.ts +0 -185
  213. package/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.ts +0 -38
  214. package/src/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.html +0 -4
  215. package/src/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.scss +0 -5
  216. package/src/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.spec.ts +0 -23
  217. package/src/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.ts +0 -10
  218. package/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.html +0 -116
  219. package/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.scss +0 -43
  220. package/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.spec.ts +0 -24
  221. package/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.ts +0 -206
  222. package/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.ts +0 -39
  223. package/src/lib/ecabs-date-time-range-picker/time-range.directive.ts +0 -38
  224. package/src/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.html +0 -32
  225. package/src/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.scss +0 -24
  226. package/src/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.ts +0 -57
  227. package/src/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.ts +0 -13
  228. package/src/lib/ecabs-dialog-message/ecabs-dialog-message.component.html +0 -27
  229. package/src/lib/ecabs-dialog-message/ecabs-dialog-message.component.scss +0 -25
  230. package/src/lib/ecabs-dialog-message/ecabs-dialog-message.component.spec.ts +0 -38
  231. package/src/lib/ecabs-dialog-message/ecabs-dialog-message.component.ts +0 -49
  232. package/src/lib/ecabs-dialog-message/ecabs-dialog-message.module.ts +0 -13
  233. package/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.html +0 -9
  234. package/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.scss +0 -0
  235. package/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.spec.ts +0 -34
  236. package/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.ts +0 -22
  237. package/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.ts +0 -11
  238. package/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.html +0 -33
  239. package/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.scss +0 -79
  240. package/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.spec.ts +0 -26
  241. package/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.ts +0 -77
  242. package/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.ts +0 -17
  243. package/src/lib/ecabs-increment/ecabs-increment.component.html +0 -18
  244. package/src/lib/ecabs-increment/ecabs-increment.component.scss +0 -33
  245. package/src/lib/ecabs-increment/ecabs-increment.component.ts +0 -74
  246. package/src/lib/ecabs-increment/ecabs-increment.module.ts +0 -15
  247. package/src/lib/ecabs-input/ecabs-input.component.html +0 -26
  248. package/src/lib/ecabs-input/ecabs-input.component.ts +0 -85
  249. package/src/lib/ecabs-input/ecabs-input.module.ts +0 -14
  250. package/src/lib/ecabs-language-selector/ecabs-language-selector.component.html +0 -17
  251. package/src/lib/ecabs-language-selector/ecabs-language-selector.component.scss +0 -26
  252. package/src/lib/ecabs-language-selector/ecabs-language-selector.component.ts +0 -63
  253. package/src/lib/ecabs-language-selector/ecabs-language-selector.module.ts +0 -22
  254. package/src/lib/ecabs-loading/ecabs-loading.component.html +0 -7
  255. package/src/lib/ecabs-loading/ecabs-loading.component.spec.ts +0 -24
  256. package/src/lib/ecabs-loading/ecabs-loading.component.ts +0 -11
  257. package/src/lib/ecabs-loading/ecabs-loading.module.ts +0 -11
  258. package/src/lib/ecabs-loading/spinner/spinner.component.html +0 -5
  259. package/src/lib/ecabs-loading/spinner/spinner.component.scss +0 -61
  260. package/src/lib/ecabs-loading/spinner/spinner.component.spec.ts +0 -24
  261. package/src/lib/ecabs-loading/spinner/spinner.component.ts +0 -11
  262. package/src/lib/ecabs-note/ecabs-note.component.html +0 -10
  263. package/src/lib/ecabs-note/ecabs-note.component.scss +0 -29
  264. package/src/lib/ecabs-note/ecabs-note.component.ts +0 -27
  265. package/src/lib/ecabs-note/ecabs-note.module.ts +0 -11
  266. package/src/lib/ecabs-phone/ecabs-phone.component.html +0 -17
  267. package/src/lib/ecabs-phone/ecabs-phone.component.ts +0 -108
  268. package/src/lib/ecabs-phone/ecabs-phone.module.ts +0 -15
  269. package/src/lib/ecabs-picker-header/ecabs-picker-header.component.html +0 -12
  270. package/src/lib/ecabs-picker-header/ecabs-picker-header.component.scss +0 -16
  271. package/src/lib/ecabs-picker-header/ecabs-picker-header.component.ts +0 -61
  272. package/src/lib/ecabs-picker-header/ecabs-picker-header.module.ts +0 -15
  273. package/src/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.html +0 -13
  274. package/src/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.scss +0 -16
  275. package/src/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.ts +0 -60
  276. package/src/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.ts +0 -18
  277. package/src/lib/ecabs-select/ecabs-select.component.html +0 -45
  278. package/src/lib/ecabs-select/ecabs-select.component.ts +0 -346
  279. package/src/lib/ecabs-select/ecabs-select.module.ts +0 -37
  280. package/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.html +0 -7
  281. package/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.scss +0 -11
  282. package/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.spec.ts +0 -34
  283. package/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.ts +0 -14
  284. package/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.ts +0 -14
  285. package/src/lib/ecabs-table/ecabs-table.component.html +0 -26
  286. package/src/lib/ecabs-table/ecabs-table.component.scss +0 -6
  287. package/src/lib/ecabs-table/ecabs-table.component.spec.ts +0 -24
  288. package/src/lib/ecabs-table/ecabs-table.component.ts +0 -42
  289. package/src/lib/ecabs-table/ecabs-table.module.ts +0 -19
  290. package/src/lib/ecabs-textarea/ecabs-textarea.component.html +0 -13
  291. package/src/lib/ecabs-textarea/ecabs-textarea.component.ts +0 -61
  292. package/src/lib/ecabs-textarea/ecabs-textarea.module.ts +0 -12
  293. package/src/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.html +0 -16
  294. package/src/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.ts +0 -126
  295. package/src/lib/ecabs-timepicker/config.model.ts +0 -5
  296. package/src/lib/ecabs-timepicker/ecabs-timepicker.component.html +0 -36
  297. package/src/lib/ecabs-timepicker/ecabs-timepicker.component.scss +0 -5
  298. package/src/lib/ecabs-timepicker/ecabs-timepicker.component.ts +0 -330
  299. package/src/lib/ecabs-timepicker/ecabs-timepicker.module.ts +0 -12
  300. package/src/lib/ecabs-timepicker/ecabs-timepicker.service.ts +0 -28
  301. package/src/lib/models/bread-crumb.ts +0 -5
  302. package/src/lib/services/ecabs-components.service.ts +0 -33
  303. package/src/styles/material/overrides/_icon.scss +0 -3
  304. package/src/test.ts +0 -27
  305. package/tailwind.config.js +0 -31
  306. package/tsconfig.lib.json +0 -15
  307. package/tsconfig.lib.prod.json +0 -10
  308. package/tsconfig.spec.json +0 -17
  309. /package/{src/public-api.ts → public-api.d.ts} +0 -0
  310. /package/{src/styles → styles}/material/_theme.scss +0 -0
  311. /package/{src/styles → styles}/material/overrides/_autocomplete.scss +0 -0
  312. /package/{src/styles → styles}/material/overrides/_card.scss +0 -0
  313. /package/{src/styles → styles}/material/overrides/_chip.scss +0 -0
  314. /package/{src/styles → styles}/material/overrides/_datepicker.scss +0 -0
  315. /package/{src/styles → styles}/material/overrides/_dialog.scss +0 -0
  316. /package/{src/styles → styles}/material/overrides/_divider.scss +0 -0
  317. /package/{src/styles → styles}/material/overrides/_expansion.scss +0 -0
  318. /package/{src/styles → styles}/material/overrides/_form.scss +0 -0
  319. /package/{src/styles → styles}/material/overrides/_menu.scss +0 -0
  320. /package/{src/styles → styles}/material/overrides/_paginator.scss +0 -0
  321. /package/{src/styles → styles}/material/overrides/_select.scss +0 -0
  322. /package/{src/styles → styles}/material/overrides/_tab.scss +0 -0
  323. /package/{src/styles → styles}/material/overrides/_table.scss +0 -0
  324. /package/{src/styles → styles}/material/overrides/_toaster.scss +0 -0
  325. /package/{src/styles → styles}/material/overrides/_toggle.scss +0 -0
  326. /package/{src/styles → styles}/material/overrides/_toolbar.scss +0 -0
  327. /package/{src/styles → styles}/material/overrides/_tooltip.scss +0 -0
  328. /package/{src/styles → styles}/material/overrides/index.scss +0 -0
  329. /package/{src/styles → styles}/scss/base/_heading.scss +0 -0
  330. /package/{src/styles → styles}/scss/base/_normalize.scss +0 -0
  331. /package/{src/styles → styles}/scss/base/index.scss +0 -0
  332. /package/{src/styles → styles}/scss/modules/_autocomplete.scss +0 -0
  333. /package/{src/styles → styles}/scss/modules/_button.scss +0 -0
  334. /package/{src/styles → styles}/scss/modules/_card.scss +0 -0
  335. /package/{src/styles → styles}/scss/modules/_chip.scss +0 -0
  336. /package/{src/styles → styles}/scss/modules/_datepicker.scss +0 -0
  337. /package/{src/styles → styles}/scss/modules/_dialog.scss +0 -0
  338. /package/{src/styles → styles}/scss/modules/_divider.scss +0 -0
  339. /package/{src/styles → styles}/scss/modules/_form.scss +0 -0
  340. /package/{src/styles → styles}/scss/modules/_icon.scss +0 -0
  341. /package/{src/styles → styles}/scss/modules/_img.scss +0 -0
  342. /package/{src/styles → styles}/scss/modules/_legend.scss +0 -0
  343. /package/{src/styles → styles}/scss/modules/_list.scss +0 -0
  344. /package/{src/styles → styles}/scss/modules/_map.scss +0 -0
  345. /package/{src/styles → styles}/scss/modules/_percentage.scss +0 -0
  346. /package/{src/styles → styles}/scss/modules/_phone.scss +0 -0
  347. /package/{src/styles → styles}/scss/modules/_select.scss +0 -0
  348. /package/{src/styles → styles}/scss/modules/_statuses.scss +0 -0
  349. /package/{src/styles → styles}/scss/modules/_tab.scss +0 -0
  350. /package/{src/styles → styles}/scss/modules/_table.scss +0 -0
  351. /package/{src/styles → styles}/scss/modules/_timepicker.scss +0 -0
  352. /package/{src/styles → styles}/scss/modules/_toaster.scss +0 -0
  353. /package/{src/styles → styles}/scss/modules/_tooltip.scss +0 -0
  354. /package/{src/styles → styles}/scss/modules/drag-drop.scss +0 -0
  355. /package/{src/styles → styles}/scss/modules/index.scss +0 -0
  356. /package/{src/styles → styles}/scss/utilities/_colors.scss +0 -0
  357. /package/{src/styles → styles}/scss/utilities/_fonts.scss +0 -0
  358. /package/{src/styles → styles}/scss/utilities/_functions.scss +0 -0
  359. /package/{src/styles → styles}/scss/utilities/_helpers.scss +0 -0
  360. /package/{src/styles → styles}/scss/utilities/_mixins.scss +0 -0
  361. /package/{src/styles → styles}/scss/utilities/_palettes.scss +0 -0
  362. /package/{src/styles → styles}/scss/utilities/_variables.scss +0 -0
  363. /package/{src/styles → styles}/scss/utilities/index.scss +0 -0
  364. /package/{src/styles → styles}/styles.scss +0 -0
  365. /package/{src/styles → styles}/tailwind/index.scss +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecabs-components.mjs","sources":["../../../projects/ecabs-components/src/lib/ecabs-loading/spinner/spinner.component.ts","../../../projects/ecabs-components/src/lib/ecabs-loading/spinner/spinner.component.html","../../../projects/ecabs-components/src/lib/ecabs-loading/ecabs-loading.component.ts","../../../projects/ecabs-components/src/lib/ecabs-loading/ecabs-loading.component.html","../../../projects/ecabs-components/src/lib/ecabs-loading/ecabs-loading.module.ts","../../../projects/ecabs-components/src/lib/ecabs-buttons/ecabs-buttons.component.ts","../../../projects/ecabs-components/src/lib/ecabs-buttons/ecabs-buttons.component.html","../../../projects/ecabs-components/src/lib/ecabs-buttons/ecabs-buttons.module.ts","../../../projects/ecabs-components/src/lib/base/element-base.ts","../../../projects/ecabs-components/src/lib/services/ecabs-components.service.ts","../../../projects/ecabs-components/src/lib/base/validation/validation.component.ts","../../../projects/ecabs-components/src/lib/base/validation/validation.component.html","../../../projects/ecabs-components/src/lib/base/hint/hint.component.ts","../../../projects/ecabs-components/src/lib/base/hint/hint.component.html","../../../projects/ecabs-components/src/lib/base/element-wrapper/element-wrapper.component.ts","../../../projects/ecabs-components/src/lib/base/element-wrapper/element-wrapper.component.html","../../../projects/ecabs-components/src/lib/base/directives/digits-only.directive.ts","../../../projects/ecabs-components/src/lib/ecabs-input/ecabs-input.component.ts","../../../projects/ecabs-components/src/lib/ecabs-input/ecabs-input.component.html","../../../projects/ecabs-components/src/lib/base/hint/hint.module.ts","../../../projects/ecabs-components/src/lib/base/validation/validation.module.ts","../../../projects/ecabs-components/src/lib/base/element-wrapper/element-wrapper.module.ts","../../../projects/ecabs-components/src/lib/base/directives/digits-only.directive.module.ts","../../../projects/ecabs-components/src/lib/ecabs-input/ecabs-input.module.ts","../../../projects/ecabs-components/src/lib/ecabs-select/ecabs-select.component.ts","../../../projects/ecabs-components/src/lib/ecabs-select/ecabs-select.component.html","../../../projects/ecabs-components/src/lib/ecabs-select/ecabs-select.module.ts","../../../projects/ecabs-components/src/lib/ecabs-textarea/ecabs-textarea.component.ts","../../../projects/ecabs-components/src/lib/ecabs-textarea/ecabs-textarea.component.html","../../../projects/ecabs-components/src/lib/ecabs-textarea/ecabs-textarea.module.ts","../../../projects/ecabs-components/src/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.ts","../../../projects/ecabs-components/src/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.html","../../../projects/ecabs-components/src/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.ts","../../../projects/ecabs-components/src/lib/ecabs-picker-header/ecabs-picker-header.component.ts","../../../projects/ecabs-components/src/lib/ecabs-picker-header/ecabs-picker-header.component.html","../../../projects/ecabs-components/src/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.ts","../../../projects/ecabs-components/src/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.html","../../../projects/ecabs-components/src/lib/ecabs-date-picker/ecabs-date-picker.component.ts","../../../projects/ecabs-components/src/lib/ecabs-date-picker/ecabs-date-picker.component.html","../../../projects/ecabs-components/src/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.ts","../../../projects/ecabs-components/src/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.html","../../../projects/ecabs-components/src/lib/base/directives/number-border.directive.ts","../../../projects/ecabs-components/src/lib/base/consts/date-mask.consts.ts","../../../projects/ecabs-components/src/lib/base/directives/date-mask.directive.ts","../../../projects/ecabs-components/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.ts","../../../projects/ecabs-components/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.html","../../../projects/ecabs-components/src/lib/base/directives/date-mask.directive.module.ts","../../../projects/ecabs-components/src/lib/base/directives/number-border.directive.module.ts","../../../projects/ecabs-components/src/lib/ecabs-picker-header/ecabs-picker-header.module.ts","../../../projects/ecabs-components/src/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.ts","../../../projects/ecabs-components/src/lib/ecabs-date-picker/ecabs-date-picker.module.ts","../../../projects/ecabs-components/src/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.ts","../../../projects/ecabs-components/src/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.html","../../../projects/ecabs-components/src/lib/ecabs-date-time-range-picker/time-range.directive.ts","../../../projects/ecabs-components/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.ts","../../../projects/ecabs-components/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.html","../../../projects/ecabs-components/src/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.ts","../../../projects/ecabs-components/src/lib/ecabs-increment/ecabs-increment.component.ts","../../../projects/ecabs-components/src/lib/ecabs-increment/ecabs-increment.component.html","../../../projects/ecabs-components/src/lib/ecabs-increment/ecabs-increment.module.ts","../../../projects/ecabs-components/src/lib/ecabs-phone/ecabs-phone.component.ts","../../../projects/ecabs-components/src/lib/ecabs-phone/ecabs-phone.component.html","../../../projects/ecabs-components/src/lib/ecabs-phone/ecabs-phone.module.ts","../../../projects/ecabs-components/src/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.ts","../../../projects/ecabs-components/src/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.html","../../../projects/ecabs-components/src/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.ts","../../../projects/ecabs-components/src/lib/ecabs-timepicker/ecabs-timepicker.service.ts","../../../projects/ecabs-components/src/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.ts","../../../projects/ecabs-components/src/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.html","../../../projects/ecabs-components/src/lib/ecabs-timepicker/ecabs-timepicker.component.ts","../../../projects/ecabs-components/src/lib/ecabs-timepicker/ecabs-timepicker.component.html","../../../projects/ecabs-components/src/lib/ecabs-timepicker/ecabs-timepicker.module.ts","../../../projects/ecabs-components/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.ts","../../../projects/ecabs-components/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.html","../../../projects/ecabs-components/src/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.ts","../../../projects/ecabs-components/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.ts","../../../projects/ecabs-components/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.html","../../../projects/ecabs-components/src/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.ts","../../../projects/ecabs-components/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.ts","../../../projects/ecabs-components/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.html","../../../projects/ecabs-components/src/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.ts","../../../projects/ecabs-components/src/lib/ecabs-table/ecabs-table.component.ts","../../../projects/ecabs-components/src/lib/ecabs-table/ecabs-table.component.html","../../../projects/ecabs-components/src/lib/ecabs-table/ecabs-table.module.ts","../../../projects/ecabs-components/src/lib/ecabs-note/ecabs-note.component.ts","../../../projects/ecabs-components/src/lib/ecabs-note/ecabs-note.component.html","../../../projects/ecabs-components/src/lib/ecabs-note/ecabs-note.module.ts","../../../projects/ecabs-components/src/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.ts","../../../projects/ecabs-components/src/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.html","../../../projects/ecabs-components/src/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.ts","../../../projects/ecabs-components/src/lib/ecabs-dialog-message/ecabs-dialog-message.component.ts","../../../projects/ecabs-components/src/lib/ecabs-dialog-message/ecabs-dialog-message.component.html","../../../projects/ecabs-components/src/lib/ecabs-dialog-message/ecabs-dialog-message.module.ts","../../../projects/ecabs-components/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.ts","../../../projects/ecabs-components/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.html","../../../projects/ecabs-components/src/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.ts","../../../projects/ecabs-components/src/lib/ecabs-language-selector/ecabs-language-selector.component.ts","../../../projects/ecabs-components/src/lib/ecabs-language-selector/ecabs-language-selector.component.html","../../../projects/ecabs-components/src/lib/ecabs-language-selector/ecabs-language-selector.module.ts","../../../projects/ecabs-components/src/ecabs-components.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ecabs-loading-spinner',\r\n templateUrl: './spinner.component.html',\r\n styleUrls: ['./spinner.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class EcabsSpinnerComponent {\r\n @Input() size: 'large' | 'medium' | 'tiny' = 'medium';\r\n}\r\n","<div class=\"loadingio-spinner-rolling {{ size }}\">\r\n <div class=\"ldio-inner\">\r\n <div></div>\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component( {\r\n selector: 'ecabs-loading',\r\n templateUrl: './ecabs-loading.component.html',\r\n} )\r\nexport class EcabsLoadingComponent {\r\n @Input() loading = false;\r\n @Input() backgroundColor = 'white';\r\n @Input() size: 'large' | 'medium' | 'tiny' = 'medium';\r\n}\r\n","<div\r\n class=\"flex absolute left-0 top-0 right-0 bottom-0 z-50 items-center justify-center\"\r\n [ngStyle]=\"{ backgroundColor: backgroundColor }\"\r\n *ngIf=\"loading\"\r\n>\r\n <ecabs-loading-spinner [size]=\"size\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsLoadingComponent } from './ecabs-loading.component';\r\nimport { EcabsSpinnerComponent } from './spinner/spinner.component';\r\n\r\n@NgModule({\r\n declarations: [EcabsLoadingComponent, EcabsSpinnerComponent],\r\n imports: [CommonModule],\r\n exports: [EcabsLoadingComponent, EcabsSpinnerComponent],\r\n})\r\nexport class EcabsLoadingModule {}\r\n","import { Component, HostBinding, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n@Component( {\r\n selector: 'ecabs-buttons',\r\n styleUrls: [ './ecabs-buttons.component.scss' ],\r\n templateUrl: './ecabs-buttons.component.html',\r\n} )\r\nexport class ButtonsComponent implements OnInit, OnChanges {\r\n @Input()\r\n label!: string;\r\n\r\n @Input()\r\n disabled!: boolean;\r\n\r\n @Input()\r\n loading!: boolean;\r\n\r\n @Input()\r\n size: 'default' | 'large' = 'default';\r\n\r\n @Input()\r\n type: 'button' | 'submit' = 'button';\r\n\r\n @Input() raised = false;\r\n @Input() stroked = false;\r\n @Input() full = false;\r\n @Input()\r\n color: ThemePalette | null = 'primary';\r\n\r\n @HostBinding( 'style.width' )\r\n borderWidth = '';\r\n @HostBinding( 'class' )\r\n classAttr = '';\r\n\r\n ngOnInit(): void {\r\n if ( this.full ) {\r\n this.borderWidth = '100%';\r\n }\r\n }\r\n\r\n ngOnChanges( changes: SimpleChanges ): void {\r\n const disabled = changes[ 'disabled' ]?.currentValue !== undefined ? changes[ 'disabled' ].currentValue : this.disabled;\r\n const loading = changes[ 'loading' ]?.currentValue !== undefined ? changes[ 'loading' ].currentValue : this.loading;\r\n\r\n if ( disabled || loading ) {\r\n this.classAttr = 'pointer-events-none';\r\n } else {\r\n this.classAttr = '';\r\n }\r\n }\r\n}\r\n","<button\r\n mat-button\r\n [ngClass]=\"{\r\n 'w-full': full,\r\n 'mdc-button--outlined': stroked,\r\n 'mdc-button--raised': raised\r\n }\"\r\n [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n [type]=\"type\"\r\n>\r\n <ecabs-loading-spinner size=\"tiny\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</button>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ButtonsComponent} from './ecabs-buttons.component';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {EcabsLoadingModule} from '../ecabs-loading/ecabs-loading.module';\r\nimport {MatLegacyButtonModule as MatButtonModule} from '@angular/material/legacy-button';\r\n\r\n@NgModule({\r\n declarations: [ButtonsComponent],\r\n imports: [CommonModule, MatButtonModule, EcabsLoadingModule, MatIconModule],\r\n exports: [ButtonsComponent],\r\n})\r\nexport class EcabsButtonsModule {\r\n}\r\n","import { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { AbstractControl, UntypedFormControl } from '@angular/forms';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport default class ElementBaseComponent {\r\n @Input() type!:string;\r\n @Input() name!:string;\r\n @Input() label!:string;\r\n @Input() placeholder = '';\r\n @Input() validationLabel!:string;\r\n @Input() disabled = false;\r\n @Input() showValidation = true;\r\n @Input() showValidationOnNotTouched = false;\r\n @Input() hideValidationMessage = false;\r\n @Input() iconClass = '';\r\n @Input() loading = false;\r\n @Input() showHint: boolean = false;\r\n @Input() maxLength!: number;\r\n @Input() tooltip!: string;\r\n @Input() showAsterisk: boolean = true;\r\n\r\n @Output() focused = new EventEmitter<any>();\r\n @Output() focusOuted = new EventEmitter<any>();\r\n\r\n control!: UntypedFormControl;\r\n required: boolean = false;\r\n\r\n getData(): any {\r\n return {\r\n type: this.type || 'text',\r\n label: this.label,\r\n placeholder: this.placeholder,\r\n validationLabel: this.validationLabel,\r\n disabled: this.disabled,\r\n showValidation: this.showValidation,\r\n showValidationOnNotTouched: this.showValidationOnNotTouched,\r\n hideValidationMessage: this.hideValidationMessage,\r\n iconClass: this.iconClass,\r\n control: this.control,\r\n loading: this.loading,\r\n showHint: this.showHint,\r\n maxLength: this.maxLength,\r\n tooltip: this.tooltip,\r\n name: this.name,\r\n required: this.isRequired(this.control),\r\n showAsterisk: this.showAsterisk,\r\n };\r\n }\r\n\r\n private isRequired = (ctrl: any): boolean => {\r\n if (ctrl?.validator) {\r\n const validator = ctrl.validator({} as AbstractControl);\r\n if (validator && validator['required']) {\r\n return true;\r\n }\r\n }\r\n\r\n if (ctrl?.['controls']) {\r\n for (const name in ctrl['controls']) {\r\n if (ctrl['controls'][name]) {\r\n if (this.isRequired(ctrl['controls'][name])) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EcabsComponentsService {\r\n config: EcabsComponentsConfig = {\r\n errorMessages: [\r\n { type: 'required', message: '[label] is required' },\r\n { type: 'minlength', message: '[label] should be atleast [requiredLength] character' },\r\n { type: 'maxLength', message: '[label] should be maximum [requiredLength] character' },\r\n { type: 'min', message: '[label] should be minmum [min]' },\r\n { type: 'max', message: '[label] should be maximum [max]' },\r\n { type: 'minValue', message: '[label] should be minmum [requiredMin]' },\r\n { type: 'maxValue', message: '[label] should be maximum [requiredMax]' },\r\n ],\r\n };\r\n constructor() {}\r\n setConfig(c: EcabsComponentsConfig) {\r\n this.config.errorMessages = c.errorMessages;\r\n }\r\n getConfig(): EcabsComponentsConfig {\r\n return this.config;\r\n }\r\n}\r\n\r\nexport interface EcabsComponentsConfig {\r\n errorMessages: ErrorMessage[];\r\n}\r\nexport interface ErrorMessage {\r\n type: string;\r\n message: string;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport {\r\n EcabsComponentsConfig,\r\n EcabsComponentsService,\r\n} from '../../services/ecabs-components.service';\r\n\r\n@Component({\r\n selector: 'app-validations-messages',\r\n templateUrl: './validation.component.html',\r\n styleUrls: ['./validation.component.scss'],\r\n})\r\nexport class ValidationComponent implements OnInit, OnChanges {\r\n @Input() element!: any;\r\n @Input() label!: string;\r\n @Input() showValidationOnNotTouched = false;\r\n @Input() updatedErrors!: { type: string; message: string }[];\r\n config!: EcabsComponentsConfig;\r\n private _messages: any = {};\r\n\r\n get messages(): any {\r\n if (this.element) {\r\n for (const errorKey in this.element.errors) {\r\n for (const key in this.element.errors[errorKey]) {\r\n if (this._messages[errorKey]) {\r\n this._messages[errorKey] = this._messages[errorKey].replace(\r\n `[${key}]`,\r\n this.element.errors[errorKey][key]\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n return this._messages;\r\n }\r\n\r\n set messages(m) {\r\n this._messages = m;\r\n }\r\n\r\n constructor(private ecabsService: EcabsComponentsService) {}\r\n\r\n ngOnInit() {\r\n this.config = this.ecabsService.getConfig();\r\n for (let error of this.config.errorMessages) {\r\n this.messages[error.type] = this.replaceTokens(error.message);\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { updatedErrors } = changes;\r\n\r\n if (\r\n updatedErrors &&\r\n updatedErrors.currentValue &&\r\n updatedErrors.currentValue.length > 0\r\n ) {\r\n for (const error of updatedErrors.currentValue) {\r\n this.messages[error.type] = error.message;\r\n }\r\n }\r\n }\r\n\r\n replaceTokens(message: string): string {\r\n let retMessage: string;\r\n if (this.label) {\r\n retMessage = message.replace('[label]', this.label);\r\n } else {\r\n retMessage = message;\r\n }\r\n\r\n return retMessage;\r\n }\r\n\r\n getMessageDetail(key: any): string {\r\n return this.messages[key];\r\n }\r\n}\r\n","<div\r\n class=\"form-field__validation\"\r\n *ngIf=\"element && (element?.touched || showValidationOnNotTouched) && element?.invalid\"\r\n>\r\n <div class=\"form-field__validation__item\" *ngFor=\"let item of element?.errors | keyvalue\">\r\n {{ getMessageDetail(item.key) }}\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-hint',\r\n templateUrl: './hint.component.html',\r\n styleUrls: ['./hint.component.scss'],\r\n})\r\nexport class HintComponent {\r\n @Input() element!:any;\r\n @Input() maxValue!:number;\r\n @Input() showHint = false;\r\n}\r\n","<div class=\"hint\" *ngIf=\"element && showHint\">{{ element?.value?.length || 0 }}/{{ this.maxValue }}</div>\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-element-wrapper',\r\n templateUrl: './element-wrapper.component.html',\r\n})\r\nexport class ElementWrapperComponent {\r\n @Input() data!:any;\r\n @Input() showCloseIcon!:boolean;\r\n @Input() focusedFlag!:any;\r\n @Input() showPassword!:boolean;\r\n @Input() control!:any;\r\n @Output() showHidePassword = new EventEmitter<any>();\r\n @Output() clear = new EventEmitter<any>();\r\n @Output() increase = new EventEmitter<any>();\r\n @Output() decrease = new EventEmitter<any>();\r\n\r\n showHidePasswordFn(event:any): void {\r\n this.showHidePassword.emit(event);\r\n }\r\n\r\n clearFn(): void {\r\n this.clear.emit();\r\n }\r\n\r\n increaseFn(): void {\r\n this.increase.emit();\r\n }\r\n\r\n decreaseFn(): void {\r\n this.decrease.emit();\r\n }\r\n}\r\n","<div\r\n class=\"form-field\"\r\n [ngClass]=\"{\r\n 'form-field--invalid':\r\n data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,\r\n disabled: data?.disabled,\r\n 'form-field--required': data?.required && data?.showAsterisk\r\n }\"\r\n>\r\n <div>\r\n <label class=\"form-field__label\" [attr.for]=\"data?.name\" *ngIf=\"data?.label\">\r\n <span [innerHTML]=\"data?.label\"></span>\r\n <mat-icon class=\"icon\" *ngIf=\"data?.tooltip\" [matTooltip]=\"data?.tooltip\">error_outline</mat-icon>\r\n </label>\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ecabs-loading-spinner class=\"spinner\" size=\"tiny\" *ngIf=\"data.loading\"></ecabs-loading-spinner>\r\n\r\n <app-hint [element]=\"data?.control\" [showHint]=\"data?.showHint\" [maxValue]=\"data?.maxLength\"></app-hint>\r\n\r\n <app-validations-messages\r\n *ngIf=\"data?.showValidation && !data?.hideValidationMessage\"\r\n [element]=\"data?.control\"\r\n [label]=\"data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel\"\r\n [showValidationOnNotTouched]=\"data?.showValidationOnNotTouched\"\r\n >\r\n </app-validations-messages>\r\n</div>\r\n","import { Directive, ElementRef, HostListener, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDigitsOnly]',\r\n})\r\nexport class DigitsOnlyDirective implements OnInit {\r\n @Input()\r\n digitsOnly = false;\r\n\r\n @Input()\r\n allowHyphen = false;\r\n\r\n @Input() decimal? = false;\r\n @Input() decimalSeparator? = '.';\r\n @Input() unit? = 0;\r\n\r\n inputElement: HTMLInputElement;\r\n minus = '-';\r\n minusCounter = 0;\r\n regex!: RegExp;\r\n\r\n private decimalCounter = 0;\r\n private readonly navigationKeys = [\r\n 'Backspace',\r\n 'Delete',\r\n 'Tab',\r\n 'Escape',\r\n 'Enter',\r\n 'Home',\r\n 'End',\r\n 'ArrowLeft',\r\n 'ArrowRight',\r\n 'Clear',\r\n 'Copy',\r\n 'Paste',\r\n ];\r\n\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent): void {\r\n if (this.digitsOnly) {\r\n if (\r\n this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\r\n (e.key === 'a' && e.ctrlKey) || // Allow: Ctrl+A\r\n (e.key === 'c' && e.ctrlKey) || // Allow: Ctrl+C\r\n (e.key === 'v' && e.ctrlKey) || // Allow: Ctrl+V\r\n (e.key === 'x' && e.ctrlKey) || // Allow: Ctrl+X\r\n (e.key === 'a' && e.metaKey) || // Allow: Cmd+A (Mac)\r\n (e.key === 'c' && e.metaKey) || // Allow: Cmd+C (Mac)\r\n (e.key === 'v' && e.metaKey) || // Allow: Cmd+V (Mac)\r\n (e.key === 'x' && e.metaKey) || // Allow: Cmd+X (Mac)\r\n (this.decimal && e.key === this.decimalSeparator && this.decimalCounter < 1) || // Allow: only one decimal point\r\n (this.decimal && e.key === this.minus && this.minusCounter < 1) // Allow: only one minus\r\n ) {\r\n return;\r\n }\r\n\r\n // Ensure that it is a number and stop the keypress\r\n if (e.key === ' ' || !this.regex.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n onKeyUp(): void {\r\n if (this.digitsOnly) {\r\n if (!this.decimal) {\r\n return;\r\n }\r\n\r\n this.decimalCounter = this.el.nativeElement.value.split(this.decimalSeparator).length - 1;\r\n this.minusCounter = this.el.nativeElement.value.split(this.minus).length - 1;\r\n\r\n if (isNaN(+this.inputElement.value)) {\r\n this.inputElement.value = this.sanitizeInput(this.inputElement.value);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: ClipboardEvent): void {\r\n if (this.digitsOnly) {\r\n const pastedInput = event.clipboardData?.getData('text/plain') as string;\r\n this.pasteData(pastedInput);\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.regex = new RegExp(this.allowHyphen ? '^[\\\\d -]+$' : '\\\\d');\r\n }\r\n\r\n private pasteData(pastedContent: string): void {\r\n const sanitizedContent = isNaN(+pastedContent) ? this.sanitizeInput(pastedContent) : pastedContent;\r\n const pasted = document.execCommand('insertText', false, sanitizedContent);\r\n if (!pasted) {\r\n const { selectionStart: start, selectionEnd: end } = this.inputElement;\r\n this.inputElement.setRangeText(sanitizedContent, start as number, end as number, 'end');\r\n }\r\n }\r\n\r\n private sanitizeInput(input: string): string {\r\n let result = '';\r\n if (this.decimal && this.isValidDecimal(input)) {\r\n const regex = new RegExp(`^[\\d -${this.decimalSeparator}]+$`, 'g');\r\n result = input.replace(regex, '');\r\n } else {\r\n result = input.replace(`/${this.regex}/g`, '');\r\n }\r\n\r\n const maxLength = this.inputElement.maxLength;\r\n\r\n if (maxLength > 0) {\r\n // the input element has maxLength limit\r\n const allowedLength = maxLength - this.inputElement.value.length;\r\n result = allowedLength > 0 ? result.substring(0, allowedLength) : '';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private isValidDecimal(inputString: string): boolean {\r\n return inputString.split(this.decimalSeparator as string).length <= 2;\r\n }\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, Injector, Input, OnInit, Output } from '@angular/core';\r\nimport { ControlValueAccessor, UntypedFormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component( {\r\n selector: 'ecabs-input',\r\n templateUrl: './ecabs-input.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsInputComponent,\r\n multi: true,\r\n },\r\n ],\r\n} )\r\nexport class EcabsInputComponent\r\n extends ElementBaseComponent\r\n implements ControlValueAccessor, AfterViewInit, OnInit {\r\n @Input()\r\n digitsOnly!: boolean;\r\n\r\n @Input()\r\n allowDecimal!: boolean;\r\n\r\n @Input()\r\n allowHyphen!: boolean;\r\n\r\n @Input() max!: number;\r\n @Input() step!: number;\r\n\r\n @Output() onblur = new EventEmitter<any>();\r\n val!: string | number;\r\n\r\n get value(): string | number {\r\n return this.val;\r\n }\r\n\r\n set value( val ) {\r\n if ( val !== undefined && this.val !== val ) {\r\n this.val = val;\r\n this.onChange( val );\r\n\r\n if ( this.getData()?.control?.updateOn !== 'blur' ) {\r\n this.onTouch( val );\r\n }\r\n }\r\n }\r\n\r\n constructor( private injector: Injector ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n if ( this.type === 'number' ) {\r\n this.digitsOnly = true;\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get( NgControl, null ) as NgControl;\r\n if ( ngControl ) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n onChange: any = () => { };\r\n\r\n onTouch: any = () => { };\r\n\r\n writeValue( value: any ): void {\r\n this.value = value;\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.onTouch = fn;\r\n }\r\n\r\n blurChange( e: any ): void {\r\n this.onblur.emit( e );\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n","import {CommonModule} from '@angular/common';\r\nimport {NgModule} from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {HintComponent} from './hint.component';\r\nimport {MatLegacyFormFieldModule as MatFormFieldModule} from '@angular/material/legacy-form-field';\r\n\r\n@NgModule({\r\n declarations: [HintComponent],\r\n imports: [CommonModule, FormsModule, MatFormFieldModule],\r\n exports: [HintComponent],\r\n})\r\nexport class HintModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {ValidationComponent} from './validation.component';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {CommonModule} from '@angular/common';\r\nimport {MatLegacyFormFieldModule as MatFormFieldModule} from '@angular/material/legacy-form-field';\r\n\r\n@NgModule({\r\n declarations: [ValidationComponent],\r\n imports: [CommonModule, FormsModule, MatFormFieldModule],\r\n exports: [ValidationComponent],\r\n})\r\nexport class ValidationModule {\r\n}\r\n","import {CommonModule} from '@angular/common';\r\nimport {NgModule} from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\n\r\nimport {HintModule} from '../hint/hint.module';\r\nimport {ValidationModule} from '../validation/validation.module';\r\nimport {ElementWrapperComponent} from './element-wrapper.component';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {EcabsLoadingModule} from '../../ecabs-loading/ecabs-loading.module';\r\nimport {MatLegacyFormFieldModule as MatFormFieldModule} from '@angular/material/legacy-form-field';\r\nimport {MatLegacyInputModule as MatInputModule} from '@angular/material/legacy-input';\r\nimport {MatLegacyTooltipModule as MatTooltipModule} from \"@angular/material/legacy-tooltip\";\r\n\r\n@NgModule({\r\n declarations: [ElementWrapperComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n EcabsLoadingModule,\r\n ValidationModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n HintModule,\r\n ],\r\n exports: [ElementWrapperComponent],\r\n})\r\nexport class ElementWrapperModule {\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { DigitsOnlyDirective } from './digits-only.directive';\r\n\r\n@NgModule( {\r\n imports: [ CommonModule ],\r\n declarations: [\r\n DigitsOnlyDirective,\r\n ],\r\n exports: [\r\n DigitsOnlyDirective,\r\n ],\r\n} )\r\nexport class DigitsOnlyDirectivesModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsInputComponent } from './ecabs-input.component';\r\nimport { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DigitsOnlyDirectivesModule } from '../base/directives/digits-only.directive.module';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsInputComponent ],\r\n imports: [ CommonModule, MatInputModule, ElementWrapperModule, FormsModule, DigitsOnlyDirectivesModule ],\r\n exports: [ EcabsInputComponent ],\r\n} )\r\nexport class EcabsInputModule { }\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n UntypedFormControl,\r\n NgControl,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\nimport {MatOption} from '@angular/material/core';\r\nimport {MatSelectSearchComponent} from 'ngx-mat-select-search';\r\nimport {\r\n BehaviorSubject,\r\n combineLatest,\r\n debounceTime,\r\n map,\r\n Subscription,\r\n} from 'rxjs';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component({\r\n selector: 'ecabs-select',\r\n templateUrl: './ecabs-select.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsSelectComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class EcabsSelectComponent\r\n extends ElementBaseComponent\r\n implements OnInit, OnChanges, AfterViewInit, OnDestroy {\r\n @Input() items!: { label: string; value: any }[];\r\n @Input() multiple = false;\r\n @Input() useNoneOption: boolean = false;\r\n @Input() useOnlyDisabledClass = false;\r\n @Input() searchFieldPlaceholder: string = 'Search';\r\n @Input() useSearchOption = false;\r\n @Input() useSelectAllOption = false;\r\n @Input() setAllOptionAfterChosenAllItems = true;\r\n @Input() selectAllValue: any = 0;\r\n @Input() noEntriesFoundLabel = 'No matching found';\r\n @Input() noneLabel = 'None';\r\n @Input() allLabel = 'All';\r\n @Input() otherLabel = 'Other';\r\n @Input() othersLabel = 'Others';\r\n @Output() updateFilterItems: EventEmitter<string> =\r\n new EventEmitter<string>();\r\n @Output() selectionChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ViewChild('allSelected') allSelected!: MatOption;\r\n @ViewChild(MatSelectSearchComponent)\r\n matSelectSearchComponent!: MatSelectSearchComponent;\r\n\r\n val!: any;\r\n filteredItems$: BehaviorSubject<{ label: string; value: any }[]> = new BehaviorSubject<\r\n { label: string; value: any }[]\r\n >([]);\r\n itemFilterCtrl: UntypedFormControl = new UntypedFormControl();\r\n isClearAll = false;\r\n showFilteredAllOption = true;\r\n selectedItems: { label: string; value: any }[] = [];\r\n notSelectedItems: { label: string; value: any }[] = [];\r\n subscriptions = new Subscription();\r\n\r\n get value(): any {\r\n return this.val;\r\n }\r\n\r\n set value(val) {\r\n if (this.val !== val) {\r\n this.val = val;\r\n this.setSelectedItems();\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n constructor(\r\n private readonly injector: Injector,\r\n private readonly changeDetectorRef: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const {items} = changes;\r\n\r\n if (items && items.currentValue) {\r\n this.filterItems();\r\n\r\n if (this.multiple && this.useSelectAllOption && this.allSelected?.selected) {\r\n setTimeout(() => {\r\n this.control.patchValue([...this.filteredItems$.value.map((item) => item.value), this.selectAllValue], {\r\n emitEvent: false,\r\n });\r\n }, 100);\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get(\r\n NgControl,\r\n null\r\n ) as NgControl;\r\n\r\n if (ngControl) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n\r\n if (this.matSelectSearchComponent) {\r\n this.matSelectSearchComponent._showNoEntriesFound$ = combineLatest([\r\n this.itemFilterCtrl.valueChanges,\r\n this.filteredItems$,\r\n ]).pipe(\r\n map(\r\n ([value, items]) =>\r\n this.matSelectSearchComponent.noEntriesFoundLabel &&\r\n value &&\r\n items.length === 0\r\n )\r\n );\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subscriptions.add(\r\n this.itemFilterCtrl.valueChanges\r\n .pipe(debounceTime(200))\r\n .subscribe((value: any) => {\r\n this.filterItems();\r\n this.updateFilterItems.emit(value);\r\n\r\n if (this.isClearAll) {\r\n this.control.patchValue([], {emitEvent: false});\r\n this.isClearAll = false;\r\n }\r\n })\r\n );\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = () => {\r\n };\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {\r\n };\r\n\r\n toggleAllSelection(): void {\r\n if (this.allSelected.selected) {\r\n if (this.useSearchOption) {\r\n this.control.patchValue([...this.filteredItems$.value.map((item) => item.value), this.selectAllValue]);\r\n } else {\r\n this.control.patchValue([...this.items.map((item) => item.value), this.selectAllValue]);\r\n }\r\n } else {\r\n this.control.patchValue([]);\r\n this.isClearAll = true;\r\n }\r\n }\r\n\r\n togglePerOne(): void {\r\n setTimeout(() => {\r\n if (this.allSelected) {\r\n if (this.allSelected.selected) {\r\n this.allSelected.deselect();\r\n }\r\n if (this.setAllOptionAfterChosenAllItems && this.control.value.length === this.items.length) {\r\n this.allSelected.select();\r\n }\r\n }\r\n });\r\n\r\n this.isClearAll = false;\r\n }\r\n\r\n toggleNone(): void {\r\n this.selectedItems = [];\r\n }\r\n\r\n getAllSelectedChecked(): boolean {\r\n return this.allSelected !== undefined && this.allSelected.selected;\r\n }\r\n\r\n getLabel(val: any): string {\r\n if (this.useSelectAllOption && this.allSelected?.selected && this.items && this.items.length > 0) {\r\n return this.items[0].label;\r\n }\r\n\r\n let item: { label: string; value: any };\r\n\r\n if (val !== undefined) {\r\n if (this.useSearchOption) {\r\n if (this.selectedItems && this.selectedItems.length > 0) {\r\n // eslint-disable-next-line @typescript-eslint/no-shadow\r\n item = this.selectedItems.find((item) => item.value === val);\r\n }\r\n } else {\r\n if (this.items && this.items.length > 0) {\r\n // eslint-disable-next-line @typescript-eslint/no-shadow\r\n item = this.items.find((item) => item.value === val);\r\n }\r\n }\r\n\r\n return item ? item.label : '';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\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.onTouch = fn;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n onSelectionChanged($event: any): void {\r\n this.selectionChange.emit($event);\r\n }\r\n\r\n private filterItems(): void {\r\n this.setSelectedItems();\r\n\r\n if (!this.items) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search: string = this.itemFilterCtrl.value;\r\n\r\n if (!search || search === '') {\r\n if (this.useSearchOption && !this.items?.length) {\r\n this.filteredItems$.next([...this.selectedItems]);\r\n } else {\r\n this.filteredItems$.next(this.items?.slice());\r\n }\r\n\r\n this.showFilteredAllOption = true;\r\n\r\n return;\r\n }\r\n\r\n search = search.toLowerCase();\r\n\r\n this.showFilteredAllOption =\r\n this.allLabel.toLowerCase().includes(search.toLowerCase()) ||\r\n (this.value instanceof Array && this.value.includes(this.selectAllValue)) ||\r\n (!(this.value instanceof Array) && this.value === this.selectAllValue);\r\n this.changeDetectorRef.detectChanges();\r\n\r\n if (this.useSearchOption) {\r\n const filteredItems =\r\n this.notSelectedItems?.length > 0\r\n ? this.notSelectedItems.filter((item) => item.label.toLowerCase().includes(search.toLowerCase()))\r\n : [];\r\n this.filteredItems$.next([...this.selectedItems, ...filteredItems]);\r\n } else {\r\n this.filteredItems$.next(\r\n this.items?.length > 0\r\n ? this.items.filter((item) => item.label.toLowerCase().includes(search.toLowerCase()))\r\n : []\r\n );\r\n }\r\n }\r\n\r\n private setSelectedItems(): void {\r\n if (this.useSearchOption) {\r\n const selectedItems = [];\r\n\r\n if (this.value) {\r\n if (this.value instanceof Array) {\r\n const skipSteps = this.value.includes(this.selectAllValue);\r\n\r\n if (!skipSteps) {\r\n this.value.forEach((value) => {\r\n const index = this.selectedItems.findIndex((selectedItem) => selectedItem.value === value);\r\n\r\n if (index !== -1) {\r\n selectedItems.push(this.selectedItems[index]);\r\n } else {\r\n // eslint-disable-next-line @typescript-eslint/no-shadow\r\n const item = this.items.find((item) => item.value === value);\r\n\r\n if (item) {\r\n selectedItems.push(item);\r\n }\r\n }\r\n });\r\n\r\n this.selectedItems.forEach((selectedItem) => {\r\n const index = this.value.find((value) => selectedItem.value === value);\r\n\r\n if (index === -1) {\r\n selectedItems.splice(index, 1);\r\n }\r\n });\r\n }\r\n } else {\r\n const index = this.selectedItems.findIndex((selectedItem) => selectedItem.value === this.value);\r\n\r\n if (index !== -1) {\r\n selectedItems.push(this.selectedItems[index]);\r\n } else {\r\n // eslint-disable-next-line @typescript-eslint/no-shadow\r\n const item = this.items.find((item) => item.value === this.value);\r\n\r\n // eslint-disable-next-line max-depth\r\n if (item) {\r\n selectedItems.push(item);\r\n }\r\n }\r\n }\r\n\r\n this.selectedItems = [...selectedItems];\r\n this.notSelectedItems = this.items?.filter(\r\n (item) => this.selectedItems.findIndex((selectedItem) => selectedItem.value === item.value) === -1\r\n );\r\n } else {\r\n this.notSelectedItems = this.items?.slice();\r\n }\r\n }\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select\r\n class=\"form-field__select\"\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n [id]=\"name\"\r\n appearance=\"outline\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [disableRipple]=\"true\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <span *ngIf=\"getAllSelectedChecked()\">{{ allLabel }}</span>\r\n <span *ngIf=\"!getAllSelectedChecked()\"\r\n >{{ val && multiple ? getLabel(val[0]) : getLabel(val) }}\r\n <span *ngIf=\"multiple && value?.length > 1\" class=\"additional-selection\">\r\n (+{{ useSelectAllOption && this.allSelected?.selected ? value?.length - 2 : value?.length - 1 }}\r\n {{ (value?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search\r\n [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n ></ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngIf=\"useNoneOption\" (click)=\"toggleNone()\">{{ noneLabel }}</mat-option>\r\n <mat-option\r\n #allSelected\r\n *ngIf=\"useSelectAllOption && showFilteredAllOption\"\r\n (click)=\"toggleAllSelection()\"\r\n [value]=\"selectAllValue\">{{\r\n allLabel\r\n }}</mat-option>\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\" [value]=\"item.value\" (click)=\"togglePerOne()\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</app-element-wrapper>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { EcabsSelectComponent } from './ecabs-select.component';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\nimport {\r\n MAT_LEGACY_SELECT_SCROLL_STRATEGY as MAT_SELECT_SCROLL_STRATEGY,\r\n MatLegacySelectModule as MatSelectModule,\r\n} from '@angular/material/legacy-select';\r\nimport { BlockScrollStrategy, Overlay } from '@angular/cdk/overlay';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatLegacyFormFieldModule as MatFormFieldModule } from '@angular/material/legacy-form-field';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsSelectComponent ],\r\n imports: [\r\n CommonModule,\r\n ElementWrapperModule,\r\n MatSelectModule,\r\n FormsModule,\r\n NgxMatSelectSearchModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [ EcabsSelectComponent ],\r\n providers: [\r\n {\r\n provide: MAT_SELECT_SCROLL_STRATEGY,\r\n useFactory: scrollFactory,\r\n deps: [ Overlay ],\r\n },\r\n ],\r\n} )\r\nexport class EcabsSelectModule { }\r\nexport function scrollFactory( overlay: Overlay ): () => BlockScrollStrategy {\r\n return () => overlay.scrollStrategies.block();\r\n}\r\n","import { AfterViewInit, Component, Injector, Input } from '@angular/core';\r\nimport { ControlValueAccessor, UntypedFormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component({\r\n selector: 'ecabs-textarea',\r\n templateUrl: './ecabs-textarea.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsTextareaComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class EcabsTextareaComponent extends ElementBaseComponent implements ControlValueAccessor, AfterViewInit {\r\n @Input()\r\n rows!: number;\r\n\r\n val!: string;\r\n\r\n get value(): string {\r\n return this.val;\r\n }\r\n\r\n set value(val) {\r\n if (val !== undefined && this.val !== val) {\r\n this.val = val;\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n constructor(private injector: Injector) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get(NgControl, null) as NgControl;\r\n if (ngControl) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = (): void => {};\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = (): void => {};\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\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.onTouch = fn;\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <textarea\r\n class=\"form-field__textarea\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [rows]=\"rows\"\r\n >\r\n </textarea>\r\n</app-element-wrapper>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsTextareaComponent } from './ecabs-textarea.component';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [EcabsTextareaComponent],\r\n imports: [CommonModule, ElementWrapperModule, FormsModule],\r\n exports: [EcabsTextareaComponent],\r\n})\r\nexport class EcabsTextAreaModule {}\r\n","import { AfterViewInit, Component, EventEmitter, Injector, Input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, UntypedFormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component( {\r\n selector: 'ecabs-checkbox',\r\n templateUrl: './ecabs-checkbox-toggle.component.html',\r\n styleUrls: [ './ecabs-checkbox-toggle.component.scss' ],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsCheckboxToggleComponent,\r\n multi: true,\r\n },\r\n ],\r\n} )\r\nexport class EcabsCheckboxToggleComponent\r\n extends ElementBaseComponent\r\n implements ControlValueAccessor, AfterViewInit {\r\n @Input() override type: 'checkbox' | 'toggle' = 'checkbox';\r\n @Input() text!: string;\r\n @Input() labelPosition: 'before' | 'after' = 'after';\r\n @Input() indeterminate!: boolean;\r\n @Input() checked!: boolean;\r\n\r\n @Output() click = new EventEmitter<any>();\r\n @Output() changed = new EventEmitter<any>();\r\n\r\n val!: boolean;\r\n\r\n get value(): boolean {\r\n return this.val;\r\n }\r\n\r\n set value( val ) {\r\n if ( val !== undefined && this.val !== val ) {\r\n this.val = val;\r\n }\r\n }\r\n\r\n constructor( private readonly injector: Injector ) {\r\n super();\r\n }\r\n\r\n onChange: any = () => { };\r\n onTouch: any = () => { };\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get( NgControl, null );\r\n if ( ngControl ) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n change( event ): void {\r\n this.onChange( this.value );\r\n this.changed.emit( event );\r\n }\r\n\r\n onClick( $event ): void {\r\n this.click.emit( $event );\r\n }\r\n\r\n onBlur(): void {\r\n setTimeout( () => {\r\n this.onTouch( this.value );\r\n } );\r\n }\r\n\r\n writeValue( value: any ): void {\r\n this.value = !!value;\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.onTouch = fn;\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <mat-checkbox\r\n (change)=\"change($event)\"\r\n (click)=\"onClick($event)\"\r\n (blur)=\"onBlur()\"\r\n [checked]=\"checked\"\r\n [indeterminate]=\"indeterminate\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n [labelPosition]=\"labelPosition\"\r\n *ngSwitchCase=\"'checkbox'\"\r\n >\r\n {{ text }}\r\n </mat-checkbox>\r\n\r\n <mat-slide-toggle\r\n (change)=\"change($event)\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [labelPosition]=\"labelPosition\"\r\n *ngSwitchCase=\"'toggle'\"\r\n >{{ text }}</mat-slide-toggle\r\n >\r\n </ng-container>\r\n</app-element-wrapper>\r\n","import {CommonModule} from '@angular/common';\r\nimport {NgModule} from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {ElementWrapperModule} from '../base/element-wrapper/element-wrapper.module';\r\nimport {EcabsCheckboxToggleComponent} from './ecabs-checkbox-toggle.component';\r\nimport {MatLegacySlideToggleModule as MatSlideToggleModule} from '@angular/material/legacy-slide-toggle';\r\nimport {MatLegacyCheckboxModule as MatCheckboxModule} from '@angular/material/legacy-checkbox';\r\n\r\n@NgModule({\r\n declarations: [EcabsCheckboxToggleComponent],\r\n imports: [\r\n CommonModule,\r\n ElementWrapperModule,\r\n MatCheckboxModule,\r\n MatSlideToggleModule,\r\n FormsModule\r\n ],\r\n exports: [EcabsCheckboxToggleComponent],\r\n})\r\nexport class EcabsCheckboxToggleModule {\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy } from '@angular/core';\r\nimport { DateAdapter } from '@angular/material/core';\r\nimport { MatCalendar } from '@angular/material/datepicker';\r\nimport { format } from 'date-fns';\r\nimport { Subject, takeUntil } from 'rxjs';\r\n\r\n@Component( {\r\n selector: 'ecabs-picker-header',\r\n templateUrl: './ecabs-picker-header.component.html',\r\n styleUrls: [ './ecabs-picker-header.component.scss' ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n} )\r\nexport class EcabsPickerHeaderComponent<D> implements OnDestroy {\r\n private unsubscribe$ = new Subject<void>();\r\n private yearsPerPage = 24;\r\n\r\n get periodLabel(): string {\r\n if ( this.calendar.currentView === 'month' ) {\r\n return format( new Date( this.calendar.activeDate.toString() ), `MMMM yyyy` );\r\n }\r\n\r\n return this.dateAdapter.getYearName( this.calendar.activeDate );\r\n }\r\n\r\n constructor(\r\n private readonly calendar: MatCalendar<D>,\r\n private readonly dateAdapter: DateAdapter<D>,\r\n private readonly cdr: ChangeDetectorRef\r\n ) {\r\n calendar.stateChanges.pipe( takeUntil( this.unsubscribe$ ) ).subscribe( () => cdr.markForCheck() );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.complete();\r\n }\r\n\r\n previousClicked(): void {\r\n this.calendar.activeDate =\r\n this.calendar.currentView === 'month'\r\n ? this.dateAdapter.addCalendarMonths( this.calendar.activeDate, -1 )\r\n : this.dateAdapter.addCalendarYears(\r\n this.calendar.activeDate,\r\n this.calendar.currentView === 'year' ? -1 : -this.yearsPerPage\r\n );\r\n }\r\n\r\n nextClicked(): void {\r\n this.calendar.activeDate =\r\n this.calendar.currentView === 'month'\r\n ? this.dateAdapter.addCalendarMonths( this.calendar.activeDate, 1 )\r\n : this.dateAdapter.addCalendarYears(\r\n this.calendar.activeDate,\r\n this.calendar.currentView === 'year' ? 1 : this.yearsPerPage\r\n );\r\n }\r\n\r\n currentPeriodClicked(): void {\r\n this.calendar.currentView = this.calendar.currentView === 'month' ? 'multi-year' : 'month';\r\n }\r\n}\r\n","<div class=\"header\">\r\n <button mat-icon-button (click)=\"previousClicked()\">\r\n <mat-icon>keyboard_arrow_left</mat-icon>\r\n </button>\r\n <button mat-flat-button (click)=\"currentPeriodClicked()\">\r\n <span >{{ periodLabel }}</span>\r\n </button>\r\n\r\n <button mat-icon-button (click)=\"nextClicked()\">\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </button>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component( {\r\n selector: 'ecabs-date-picker-header',\r\n templateUrl: './ecabs-date-picker-header.component.html',\r\n styleUrls: [ './ecabs-date-picker-header.component.scss' ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n} )\r\nexport class EcabsDatePickerHeaderComponent {\r\n @Input() selectDateLabel = 'Select date';\r\n}\r\n","<div class=\"select-date-label text-xl font-semibold\">\r\n {{ selectDateLabel }}\r\n</div>\r\n<ecabs-picker-header></ecabs-picker-header>\r\n","import { AfterViewInit, Component, EventEmitter, Injector, Input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, UntypedFormControl, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\nimport { EcabsDatePickerHeaderComponent } from './components/ecabs-date-picker-header/ecabs-date-picker-header.component';\r\n\r\n@Component( {\r\n selector: 'ecabs-date-picker',\r\n templateUrl: './ecabs-date-picker.component.html',\r\n styleUrls: [ './ecabs-date-picker.component.scss' ],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsDatePickerComponent,\r\n multi: true,\r\n },\r\n ],\r\n} )\r\nexport class EcabsDatePickerComponent extends ElementBaseComponent implements ControlValueAccessor, AfterViewInit {\r\n @Input() minDate: Date;\r\n @Input() maxDate: Date;\r\n @Input() touchUi = false;\r\n @Input() cancleLabel = 'Cancel';\r\n @Input() applyLabel = 'Apply';\r\n @Input() selectDateLabel = 'Select date';\r\n\r\n @Output() onblur = new EventEmitter<any>();\r\n\r\n val: string | number;\r\n header = EcabsDatePickerHeaderComponent;\r\n\r\n get value(): string | number {\r\n return this.val;\r\n }\r\n\r\n set value( val: string | number ) {\r\n if ( val && this.val !== val ) {\r\n this.val = val;\r\n this.onChange( val );\r\n this.onTouch( val );\r\n }\r\n }\r\n\r\n constructor( private injector: Injector ) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get( NgControl, null );\r\n if ( ngControl ) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n onChange: any = () => { };\r\n onTouch: any = () => { };\r\n\r\n writeValue( value: any ): void {\r\n this.value = value;\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.onTouch = fn;\r\n }\r\n\r\n blurChange( e: any ): void {\r\n this.onblur.emit( e );\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n class=\"form-field__input date-input\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\r\n <mat-icon matDatepickerToggleIcon>calendar_today</mat-icon>\r\n </mat-datepicker-toggle>\r\n <mat-datepicker #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\">\r\n <mat-datepicker-actions>\r\n <div class=\"grid-picker-actions w-full\">\r\n <button type=\"button\" mat-stroked-button class=\"w-full cancel-button\" color=\"primary\" matDatepickerCancel>\r\n {{ cancleLabel }}\r\n </button>\r\n\r\n <button class=\"w-full ml-0 btn apply-button\" mat-button color=\"primary\" matDatepickerApply>\r\n {{ applyLabel }}\r\n </button>\r\n </div>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n </div>\r\n</app-element-wrapper>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component( {\r\n selector: 'ecabs-time-date-picker-header',\r\n templateUrl: './ecabs-date-time-picker-header.component.html',\r\n styleUrls: [ './ecabs-date-time-picker-header.component.scss' ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n} )\r\nexport class EcabsDateTimePickerHeaderComponent {\r\n @Input() headerLabel = 'Select date and time';\r\n}\r\n","<div class=\"select-date-label text-xl font-semibold\">\r\n {{ headerLabel }}\r\n</div>\r\n<ecabs-picker-header></ecabs-picker-header>\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appNumberBorder]',\r\n})\r\nexport class NumberBorderDirective {\r\n @Input() maxValue: number;\r\n @Input() minValue: number;\r\n\r\n inputElement: HTMLInputElement;\r\n\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n onKeyUp(e): void {\r\n const value = +e.target.value;\r\n\r\n if (isNaN(value)) {\r\n this.inputElement.value = this.sanitizeInput(e.target.value);\r\n\r\n return;\r\n }\r\n\r\n if (this.maxValue) {\r\n if (value > this.maxValue) {\r\n this.inputElement.value = this.sanitizeInput(this.maxValue.toString());\r\n\r\n return;\r\n }\r\n }\r\n\r\n if (this.minValue && this.minValue !== value) {\r\n if (value < this.minValue) {\r\n this.inputElement.value = this.sanitizeInput(this.minValue.toString());\r\n\r\n return;\r\n }\r\n }\r\n }\r\n\r\n private sanitizeInput(input: string): string {\r\n let result = '';\r\n const regex = new RegExp(`/\\d+/g`);\r\n result = input.replace(regex, '');\r\n\r\n const maxLength = this.inputElement.maxLength;\r\n\r\n if (maxLength > 0) {\r\n const allowedLength = maxLength - this.inputElement.value.length;\r\n result = allowedLength > 0 ? result.substring(0, allowedLength) : '';\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","const maxValueMonth = [31, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\nconst formatOrder = ['yyyy', 'yy', 'mm', 'dd', 'HH', 'MM', 'SS'];\r\n\r\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\r\nexport function createAutoCorrectedDatePipe(dateFormat = 'dd mm yyyy', { minYear = 1, maxYear = 9999 } = {}) {\r\n const dateFormatArray = dateFormat\r\n .split(/[^dmyHMS]+/)\r\n .sort((a, b) => formatOrder.indexOf(a) - formatOrder.indexOf(b));\r\n\r\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\r\n return function (conformedValue) {\r\n const indexesOfPipedChars = [];\r\n const maxValue = { dd: 31, mm: 12, yy: 99, yyyy: maxYear, HH: 23, MM: 59, SS: 59 };\r\n const minValue = { dd: 1, mm: 1, yy: 0, yyyy: minYear, HH: 0, MM: 0, SS: 0 };\r\n const conformedValueArr = conformedValue.split('');\r\n\r\n // Check first digit\r\n dateFormatArray.forEach((format) => {\r\n const position = dateFormat.indexOf(format);\r\n const maxFirstDigit = parseInt(maxValue[format].toString().substr(0, 1), 10);\r\n\r\n if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {\r\n conformedValueArr[position + 1] = conformedValueArr[position];\r\n conformedValueArr[position] = 0;\r\n indexesOfPipedChars.push(position);\r\n }\r\n });\r\n\r\n // Check for invalid date\r\n let month = 0;\r\n const isInvalid = dateFormatArray.some((format) => {\r\n const position = dateFormat.indexOf(format);\r\n const length = format.length;\r\n const textValue = conformedValue.substr(position, length).replace(/\\D/g, '');\r\n const value = parseInt(textValue, 10);\r\n\r\n if (format === 'mm') {\r\n // tslint:disable-next-line: strict-boolean-expressions\r\n month = value || 0;\r\n }\r\n\r\n const maxValueForFormat = format === 'dd' ? maxValueMonth[month] : maxValue[format];\r\n\r\n if (format === 'yyyy' && (minYear !== 1 || maxYear !== 9999)) {\r\n const scopedMaxValue = parseInt(maxValue[format].toString().substring(0, textValue.length), 10);\r\n const scopedMinValue = parseInt(minValue[format].toString().substring(0, textValue.length), 10);\r\n\r\n return value < scopedMinValue || value > scopedMaxValue;\r\n }\r\n\r\n if (format === 'HH' || format === 'MM') {\r\n const scopedMaxValue = parseInt(maxValue[format].toString().substring(0, textValue.length), 10);\r\n const scopedMinValue = parseInt(minValue[format].toString().substring(0, textValue.length), 10);\r\n\r\n return value < scopedMinValue || value > scopedMaxValue;\r\n }\r\n\r\n return value > maxValueForFormat || (textValue.length === length && value < minValue[format]);\r\n });\r\n\r\n if (isInvalid) {\r\n return false;\r\n }\r\n\r\n return {\r\n value: conformedValueArr.join(''),\r\n indexesOfPipedChars,\r\n };\r\n };\r\n}\r\n","import { Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport * as textMask from 'vanilla-text-mask/dist/vanillaTextMask';\r\nimport { createAutoCorrectedDatePipe } from '../consts/date-mask.consts';\r\n\r\n@Directive({\r\n selector: '[appMaskDate]',\r\n})\r\nexport class MaskDateDirective implements OnInit, OnDestroy {\r\n @Input() isDateTimeMask = false;\r\n @Input() considerSeconds = false;\r\n\r\n maskedInputController;\r\n mask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/]; // dd/mm/yyyy\r\n maskDateTime = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/, ',', ' ', /\\d/, /\\d/, ':', /\\d/, /\\d/]; // dd/mm/yyyy, hh:mm\r\n maskDateTimeWithSeconds = [\r\n /\\d/,\r\n /\\d/,\r\n '/',\r\n /\\d/,\r\n /\\d/,\r\n '/',\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n ',',\r\n ' ',\r\n /\\d/,\r\n /\\d/,\r\n ':',\r\n /\\d/,\r\n /\\d/,\r\n ':',\r\n /\\d/,\r\n /\\d/,\r\n ]; // dd/mm/yyyy, hh:mm:ss\r\n\r\n constructor(private readonly element: ElementRef) {}\r\n\r\n ngOnInit(): void {\r\n this.maskedInputController = textMask.maskInput({\r\n inputElement: this.element.nativeElement,\r\n guide: true,\r\n showMask: false,\r\n pipe: this.isDateTimeMask\r\n ? this.considerSeconds\r\n ? createAutoCorrectedDatePipe('dd/mm/yyyy, HH:MM:SS')\r\n : createAutoCorrectedDatePipe('dd/mm/yyyy, HH:MM')\r\n : createAutoCorrectedDatePipe('dd/mm/yyyy'),\r\n keepCharPositions: true,\r\n mask: this.isDateTimeMask ? (this.considerSeconds ? this.maskDateTimeWithSeconds : this.maskDateTime) : this.mask,\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.maskedInputController.destroy();\r\n }\r\n}\r\n","import { DecimalPipe } from '@angular/common';\r\nimport { AfterViewInit, Component, EventEmitter, Injector, Input, Output } from '@angular/core';\r\nimport { format, isValid, parse, setHours, setMinutes, setSeconds } from 'date-fns';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, UntypedFormControl } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\nimport { EcabsDateTimePickerHeaderComponent } from './components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component';\r\n\r\n@Component( {\r\n selector: 'ecabs-date-time-picker',\r\n templateUrl: './ecabs-date-time-picker.component.html',\r\n styleUrls: [ './ecabs-date-time-picker.component.scss' ],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsDateTimePickerComponent,\r\n multi: true,\r\n },\r\n DecimalPipe,\r\n ],\r\n} )\r\nexport class EcabsDateTimePickerComponent extends ElementBaseComponent implements ControlValueAccessor, AfterViewInit {\r\n @Input() minDate: Date;\r\n @Input() maxDate: Date;\r\n @Input() touchUi = false;\r\n @Input() hideSeconds = true;\r\n @Input() cancleLabel = 'Cancel';\r\n @Input() applyLabel = 'Apply';\r\n @Input() selectDateLabel = 'Select date and time';\r\n\r\n @Output() onblur = new EventEmitter<any>();\r\n\r\n _hours = '12';\r\n _minutes = '00';\r\n _seconds = '00';\r\n _date: Date;\r\n _pickerValue: string;\r\n val: Date;\r\n header = EcabsDateTimePickerHeaderComponent;\r\n maxValueHours = 23;\r\n maxValueMinutesSeconds = 59;\r\n\r\n get value(): Date {\r\n return this.val;\r\n }\r\n\r\n get pickerValue(): string {\r\n return this._pickerValue;\r\n }\r\n\r\n get hours(): string {\r\n return this._hours;\r\n }\r\n\r\n get minutes(): string {\r\n return this._minutes;\r\n }\r\n\r\n get seconds(): string {\r\n return this._seconds;\r\n }\r\n\r\n set hours( value: string ) {\r\n if ( value !== undefined && this._hours !== value ) {\r\n this._hours = this.roundNumber( +value );\r\n }\r\n }\r\n\r\n set minutes( value: string ) {\r\n if ( value !== undefined && this._minutes !== value ) {\r\n this._minutes = this.roundNumber( +value );\r\n }\r\n }\r\n\r\n set seconds( value: string ) {\r\n if ( value !== undefined && this._seconds !== value ) {\r\n this._seconds = this.roundNumber( +value );\r\n }\r\n }\r\n\r\n set value( val ) {\r\n if ( val && this.val !== new Date( val ) ) {\r\n this.val = new Date( val );\r\n this.pickerValue = this.formatDateTime( val );\r\n this.onChange( val );\r\n this.onTouch( val );\r\n }\r\n }\r\n\r\n set pickerValue( val: string ) {\r\n if ( val ) {\r\n const date = parse(\r\n val.replace( '_', '' ),\r\n this.hideSeconds ? `dd/MM/yyyy, HH:mm` : `dd/MM/yyyy, HH:mm:ss`,\r\n new Date()\r\n );\r\n if ( isValid( date ) && this._pickerValue !== val ) {\r\n this._pickerValue = val;\r\n this.value = date;\r\n }\r\n }\r\n }\r\n\r\n constructor( private readonly injector: Injector, private readonly decimalPipe: DecimalPipe ) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get( NgControl, null );\r\n if ( ngControl ) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n\r\n setTimeout( () => {\r\n const controlDate = !!this.control.value ? new Date( this.control.value ) : new Date();\r\n\r\n if ( controlDate ) {\r\n this.setValues( controlDate );\r\n }\r\n }, 10 );\r\n }\r\n }\r\n\r\n onChange: any = () => { };\r\n onTouch: any = () => { };\r\n\r\n writeValue( value: any ): void {\r\n this.value = value;\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.onTouch = fn;\r\n }\r\n\r\n blurChange( e: any ): void {\r\n this.onblur.emit( e );\r\n }\r\n\r\n onApply(): void {\r\n if ( this._date && this._seconds && this._minutes && this._hours ) {\r\n const date = setSeconds( setMinutes( setHours( new Date( this._date ), +this._hours ), +this._minutes ), +this._seconds );\r\n\r\n if ( this.minDate && date < this.minDate ) {\r\n this.setValues( this.minDate );\r\n this.value = this.minDate;\r\n\r\n return;\r\n }\r\n\r\n if ( this.maxDate && date > this.maxDate ) {\r\n this.setValues( this.maxDate );\r\n this.value = this.maxDate;\r\n\r\n return;\r\n }\r\n\r\n this.value = date;\r\n }\r\n }\r\n\r\n private formatDateTime( date: Date ): string {\r\n let result = '';\r\n\r\n if ( date && isValid( new Date( date ) ) ) {\r\n result = this.hideSeconds\r\n ? format( new Date( date ), `dd/MM/yyyy, HH:mm` )\r\n : format( new Date( date ), `dd/MM/yyyy, HH:mm:ss` );\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private roundNumber( num: number ): string | null {\r\n return this.decimalPipe.transform( num, '2.0-0' ) ?? '00';\r\n }\r\n\r\n private setValues( date: Date ): void {\r\n this._date = date;\r\n this.hours = date.getHours().toString();\r\n this.minutes = date.getMinutes().toString();\r\n this.seconds = date.getSeconds().toString();\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n class=\"fake-input\"\r\n [id]=\"_date\"\r\n [(ngModel)]=\"_date\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\">\r\n <mat-datepicker-actions>\r\n <div class=\"actions\">\r\n <div class=\"time-inputs time--inputs\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hours\"\r\n [value]=\"_hours\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hours\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutes\"\r\n [(ngModel)]=\"minutes\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n\r\n <ng-container *ngIf=\"!hideSeconds\">\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"seconds\"\r\n [(ngModel)]=\"seconds\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"grid-picker-actions\">\r\n <button type=\"button\" mat-stroked-button class=\"w-full cancel-button\" color=\"primary\" matDatepickerCancel>\r\n {{ cancleLabel }}\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n mat-button\r\n class=\"w-full ml-0 apply-button\"\r\n color=\"primary\"\r\n matDatepickerApply\r\n (click)=\"onApply()\"\r\n >\r\n {{ applyLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n <input\r\n class=\"form-field__input w-full date-input\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"pickerValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n appMaskDate\r\n [isDateTimeMask]=\"true\"\r\n [considerSeconds]=\"!hideSeconds\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <button type=\"button\" mat-icon-button class=\"datepicker-toggle\" (click)=\"picker.open()\">\r\n <mat-icon>calendar_today</mat-icon>\r\n </button>\r\n </div>\r\n</app-element-wrapper>\r\n","import {CommonModule} from '@angular/common';\r\nimport {NgModule} from '@angular/core';\r\nimport {MaskDateDirective} from './date-mask.directive';\r\n\r\n@NgModule( {\r\n imports: [ CommonModule ],\r\n declarations: [\r\n MaskDateDirective,\r\n ],\r\n exports: [\r\n MaskDateDirective,\r\n ],\r\n} )\r\nexport class MaskDateDirectiveModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { NumberBorderDirective } from './number-border.directive';\r\n\r\n@NgModule( {\r\n imports: [ CommonModule ],\r\n declarations: [\r\n NumberBorderDirective,\r\n ],\r\n exports: [\r\n NumberBorderDirective,\r\n ],\r\n} )\r\nexport class NumberBorderDirectiveModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { EcabsPickerHeaderComponent } from './ecabs-picker-header.component';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsPickerHeaderComponent ],\r\n imports: [ CommonModule, ElementWrapperModule, MatIconModule, MatButtonModule, MatDatepickerModule ],\r\n exports: [ EcabsPickerHeaderComponent ],\r\n} )\r\nexport class EcabsPickerHeaderModule { }\r\n","import {CommonModule} from '@angular/common';\r\nimport {NgModule} from '@angular/core';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MaskDateDirectiveModule} from '../base/directives/date-mask.directive.module';\r\nimport {DigitsOnlyDirectivesModule} from '../base/directives/digits-only.directive.module';\r\nimport {NumberBorderDirectiveModule} from '../base/directives/number-border.directive.module';\r\nimport {ElementWrapperModule} from '../base/element-wrapper/element-wrapper.module';\r\nimport {EcabsButtonsModule} from '../ecabs-buttons/ecabs-buttons.module';\r\nimport {EcabsPickerHeaderModule} from '../ecabs-picker-header/ecabs-picker-header.module';\r\nimport {\r\n EcabsDateTimePickerHeaderComponent\r\n} from './components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component';\r\nimport {EcabsDateTimePickerComponent} from './ecabs-date-time-picker.component';\r\nimport {MatLegacyButtonModule as MatButtonModule} from '@angular/material/legacy-button';\r\n\r\n\r\n@NgModule({\r\n declarations: [EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent],\r\n imports: [\r\n CommonModule,\r\n ElementWrapperModule,\r\n MatIconModule,\r\n MatDatepickerModule,\r\n MatButtonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n EcabsPickerHeaderModule,\r\n EcabsButtonsModule,\r\n DigitsOnlyDirectivesModule,\r\n NumberBorderDirectiveModule,\r\n MaskDateDirectiveModule\r\n ],\r\n exports: [EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent],\r\n})\r\nexport class EcabsDatetimePickerModule {\r\n}\r\n","import {CommonModule} from '@angular/common';\r\nimport {NgModule} from '@angular/core';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatIconModule} from '@angular/material/icon';\r\n\r\nimport {ElementWrapperModule} from '../base/element-wrapper/element-wrapper.module';\r\nimport {EcabsPickerHeaderModule} from '../ecabs-picker-header/ecabs-picker-header.module';\r\nimport {EcabsDatePickerHeaderComponent} from './components/ecabs-date-picker-header/ecabs-date-picker-header.component';\r\nimport {EcabsDatePickerComponent} from './ecabs-date-picker.component';\r\nimport {MatLegacyButtonModule as MatButtonModule} from '@angular/material/legacy-button';\r\n\r\n\r\n@NgModule({\r\n declarations: [EcabsDatePickerComponent, EcabsDatePickerHeaderComponent],\r\n imports: [\r\n CommonModule,\r\n ElementWrapperModule,\r\n MatIconModule,\r\n MatDatepickerModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n EcabsPickerHeaderModule,\r\n MatButtonModule\r\n ],\r\n exports: [EcabsDatePickerComponent, EcabsDatePickerHeaderComponent],\r\n})\r\nexport class EcabsDatePickerModule {\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ecabs-date-time-range-picker-header',\r\n templateUrl: './ecabs-date-time-range-picker-header.component.html',\r\n styleUrls: ['./ecabs-date-time-range-picker-header.component.scss'],\r\n})\r\nexport class EcabsDateTimeRangePickerHeaderComponent {\r\n @Input() headerLabel = 'Applicable times';\r\n}\r\n","<div class=\"select-date-label text-xl font-semibold\">\r\n {{ headerLabel }}\r\n </div>\r\n <ecabs-picker-header ></ecabs-picker-header>\r\n","import { Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport * as textMask from 'vanilla-text-mask/dist/vanillaTextMask';\r\n\r\n@Directive({\r\n selector: '[appTimeRange]',\r\n})\r\nexport class TimeRangeDirective implements OnInit, OnDestroy {\r\n @Input() isDateTimeMask = false;\r\n @Input() considerSeconds = false;\r\n @Input() all: string;\r\n\r\n maskedInputController;\r\n maskDateTime = [/\\d/, /\\d/, ':', /\\d/, /\\d/, ' ', '-', ' ', /\\d/, /\\d/, ':', /\\d/, /\\d/];\r\n\r\n constructor(private readonly element: ElementRef) { }\r\n\r\n ngOnInit(): void {\r\n const all = this.all;\r\n this.maskedInputController = textMask.maskInput({\r\n inputElement: this.element.nativeElement,\r\n guide: true,\r\n showMask: false,\r\n keepCharPositions: true,\r\n mask: this.maskDateTime,\r\n pipe: function (conformedValue) {\r\n if (conformedValue === '__:__ - __:__') {\r\n return all;\r\n }\r\n\r\n return conformedValue;\r\n },\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.maskedInputController.destroy();\r\n }\r\n}\r\n","import { DecimalPipe } from '@angular/common';\r\nimport { AfterViewInit, Component, EventEmitter, Injector, Input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, UntypedFormControl } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\nimport { EcabsDateTimeRangePickerHeaderComponent } from './components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component';\r\n\r\n@Component({\r\n selector: 'ecabs-date-time-range-picker',\r\n templateUrl: './ecabs-date-time-range-picker.component.html',\r\n styleUrls: ['./ecabs-date-time-range-picker.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsDateTimeRangePickerComponent,\r\n multi: true,\r\n },\r\n DecimalPipe,\r\n ],\r\n})\r\nexport class EcabsDateTimeRangePickerComponent\r\n extends ElementBaseComponent\r\n implements ControlValueAccessor, AfterViewInit {\r\n @Input() touchUi = false;\r\n\r\n @Output() onblur = new EventEmitter<any>();\r\n\r\n\r\n @Input() cancleLabel = 'Cancel';\r\n @Input() applyLabel = 'Apply';\r\n @Input() all = 'All';\r\n @Input() from = 'From';\r\n @Input() to = 'To';\r\n\r\n \r\n\r\n _hoursFrom = '12';\r\n _minutesFrom = '00';\r\n _hoursTo = '12';\r\n _minutesTo = '00';\r\n _seconds = '00';\r\n _date: string;\r\n _pickerValue: string;\r\n val: string;\r\n header = EcabsDateTimeRangePickerHeaderComponent;\r\n maxValueHours = 23;\r\n maxValueMinutesSeconds = 59;\r\n controlDate: UntypedFormControl;\r\n\r\n get value(): string {\r\n return this.val;\r\n }\r\n\r\n get pickerValue(): string {\r\n return this._pickerValue;\r\n }\r\n\r\n get hoursFrom(): string {\r\n return this._hoursFrom;\r\n }\r\n\r\n get minutesFrom(): string {\r\n return this._minutesFrom;\r\n }\r\n\r\n get hoursTo(): string {\r\n return this._hoursTo;\r\n }\r\n\r\n get minutesTo(): string {\r\n return this._minutesTo;\r\n }\r\n\r\n get seconds(): string {\r\n return this._seconds;\r\n }\r\n\r\n set hoursFrom(value: string) {\r\n if (value !== undefined && this._hoursFrom !== value) {\r\n this._hoursFrom = this.roundNumber(+value);\r\n }\r\n }\r\n\r\n set minutesFrom(value: string) {\r\n if (value !== undefined && this._minutesFrom !== value) {\r\n this._minutesFrom = this.roundNumber(+value);\r\n }\r\n }\r\n\r\n set hoursTo(value: string) {\r\n if (value !== undefined && this._hoursTo !== value) {\r\n this._hoursTo = this.roundNumber(+value);\r\n }\r\n }\r\n\r\n set minutesTo(value: string) {\r\n if (value !== undefined && this._minutesTo !== value) {\r\n this._minutesTo = this.roundNumber(+value);\r\n }\r\n }\r\n\r\n set seconds(value: string) {\r\n if (value !== undefined && this._seconds !== value) {\r\n this._seconds = this.roundNumber(+value);\r\n }\r\n }\r\n\r\n set value(val) {\r\n if (val && this.val !== val) {\r\n this.val = val;\r\n this.pickerValue = val;\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n set pickerValue(val: string) {\r\n if (val) {\r\n this._pickerValue = val;\r\n this.value = val;\r\n }\r\n }\r\n\r\n constructor(\r\n private readonly injector: Injector,\r\n private readonly decimalPipe: DecimalPipe\r\n ) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get(NgControl, null);\r\n if (ngControl) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n\r\n setTimeout(() => {\r\n this.controlDate = this.control;\r\n const controlDate = !!this.control.value ? this.control.value : '';\r\n\r\n if (controlDate) {\r\n this.setValues(controlDate);\r\n }\r\n }, 10);\r\n }\r\n }\r\n\r\n onChange: any = () => { };\r\n onTouch: any = () => { };\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\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.onTouch = fn;\r\n }\r\n\r\n blurChange(e: any): void {\r\n this.onblur.emit(e);\r\n }\r\n\r\n keydownChange(e: any): void {\r\n if (e?.target.value === this.all) {\r\n const val = '';\r\n this.val = val;\r\n this._pickerValue = val;\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n onApply(): void {\r\n if (this._minutesFrom && this._hoursFrom && this._minutesTo && this._hoursTo) {\r\n this.setValues(this._hoursFrom + ':' + this._minutesFrom + ' - ' + this._hoursTo + ':' + this._minutesTo);\r\n this.value = this._hoursFrom + ':' + this._minutesFrom + ' - ' + this._hoursTo + ':' + this._minutesTo;\r\n\r\n return;\r\n }\r\n }\r\n\r\n opened(): void {\r\n setTimeout(() => {\r\n const elements = document.getElementsByClassName('mat-calendar-content');\r\n while (elements.length > 0) {\r\n elements[0].parentNode.removeChild(elements[0]);\r\n }\r\n\r\n let cols = Array.from(document.getElementsByClassName('mat-calendar') as HTMLCollectionOf<HTMLElement>);\r\n for(let i=0; i<cols.length; i++) {\r\n cols[i].style.height = '50px';\r\n } \r\n\r\n });\r\n }\r\n\r\n private roundNumber(num: number): string | null {\r\n return this.decimalPipe.transform(num, '2.0-0') ?? '00';\r\n }\r\n\r\n private setValues(date: string): void {\r\n this._date = date;\r\n }\r\n}","<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n class=\"fake-input\"\r\n [id]=\"_date\"\r\n [(ngModel)]=\"_date\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled || controlDate?.disabled\"\r\n [matDatepicker]=\"picker\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker\r\n (opened)=\"opened()\"\r\n #picker\r\n [calendarHeaderComponent]=\"header\"\r\n [touchUi]=\"touchUi\"\r\n >\r\n <mat-datepicker-actions>\r\n <div class=\"flex flex-col w-full gap-y-4\">\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <div class=\"flex flex-col justify-center\">\r\n <div class=\"text-center\">{{ from }}</div>\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <input\r\n class=\"block form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hoursFrom\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hoursFrom\"\r\n />\r\n\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutesFrom\"\r\n [(ngModel)]=\"minutesFrom\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"time--inputs\"></div>\r\n <div class=\"flex gap-2 justify-center items-center mb-5\">\r\n <div class=\"flex flex-col justify-center\">\r\n <div class=\"text-center\">{{ to }}</div>\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hoursTo\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hoursTo\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutesTo\"\r\n [(ngModel)]=\"minutesTo\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"grid-picker-actions\">\r\n <button\r\n type=\"button\"\r\n mat-stroked-button\r\n class=\"w-full cancel-button\"\r\n color=\"primary\"\r\n matDatepickerCancel\r\n >\r\n {{ cancleLabel }}\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n mat-button\r\n class=\"w-full ml-0 apply-button\"\r\n color=\"primary\"\r\n matDatepickerApply\r\n (click)=\"onApply()\"\r\n >\r\n {{ applyLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n <input\r\n class=\"form-field__input w-full date-input\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"pickerValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled || controlDate?.disabled\"\r\n appTimeRange\r\n [all]=\"all\"\r\n (blur)=\"onTouch()\"\r\n (blur)=\"blurChange($event)\"\r\n (keyup)=\"blurChange($event)\"\r\n (keydown)=\"keydownChange($event)\"\r\n />\r\n <button type=\"button\" class=\"datepicker-toggle\" (click)=\"picker.open()\">\r\n <mat-icon>access_time</mat-icon>\r\n </button>\r\n </div>\r\n</app-element-wrapper>\r\n","import {CommonModule} from '@angular/common';\r\nimport {NgModule} from '@angular/core';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MaskDateDirectiveModule} from '../base/directives/date-mask.directive.module';\r\nimport {DigitsOnlyDirectivesModule} from '../base/directives/digits-only.directive.module';\r\nimport {NumberBorderDirectiveModule} from '../base/directives/number-border.directive.module';\r\nimport {ElementWrapperModule} from '../base/element-wrapper/element-wrapper.module';\r\nimport {EcabsButtonsModule} from '../ecabs-buttons/ecabs-buttons.module';\r\nimport {EcabsPickerHeaderModule} from '../ecabs-picker-header/ecabs-picker-header.module';\r\nimport {MatLegacyButtonModule as MatButtonModule} from '@angular/material/legacy-button';\r\nimport {EcabsDateTimeRangePickerComponent} from './ecabs-date-time-range-picker.component';\r\nimport {\r\n EcabsDateTimeRangePickerHeaderComponent\r\n} from './components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component';\r\nimport {TimeRangeDirective} from './time-range.directive';\r\n\r\n\r\n@NgModule({\r\n declarations: [EcabsDateTimeRangePickerComponent, EcabsDateTimeRangePickerHeaderComponent, TimeRangeDirective],\r\n imports: [\r\n CommonModule,\r\n ElementWrapperModule,\r\n MatIconModule,\r\n MatDatepickerModule,\r\n MatButtonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n EcabsPickerHeaderModule,\r\n EcabsButtonsModule,\r\n DigitsOnlyDirectivesModule,\r\n NumberBorderDirectiveModule,\r\n MaskDateDirectiveModule\r\n ],\r\n exports: [EcabsDateTimeRangePickerComponent, EcabsDateTimeRangePickerHeaderComponent, TimeRangeDirective],\r\n})\r\nexport class EcabsDatetimeRangePickerModule {\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, Injector, Input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, UntypedFormControl, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component( {\r\n selector: 'ecabs-increment',\r\n templateUrl: './ecabs-increment.component.html',\r\n styleUrls: [ './ecabs-increment.component.scss' ],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsIncrementComponent,\r\n multi: true,\r\n },\r\n ],\r\n} )\r\nexport class EcabsIncrementComponent extends ElementBaseComponent implements ControlValueAccessor, AfterViewInit {\r\n @Input() digitsOnly!: boolean;\r\n @Input() allowDecimal!: boolean;\r\n @Input() allowHyphen!: boolean;\r\n\r\n @Output() onblur = new EventEmitter<any>();\r\n val!: string | number;\r\n\r\n get value(): string | number {\r\n return this.val;\r\n }\r\n\r\n set value( val ) {\r\n if ( val !== undefined && this.val !== val ) {\r\n this.val = val;\r\n this.onChange( val );\r\n this.onTouch( val );\r\n }\r\n }\r\n\r\n constructor( private injector: Injector ) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get( NgControl, null ) as NgControl;\r\n if ( ngControl ) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n onChange: any = () => { };\r\n onTouch: any = () => { };\r\n\r\n writeValue( value: any ): void {\r\n this.value = value;\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.onTouch = fn;\r\n }\r\n\r\n blurChange( e: any ): void {\r\n this.onblur.emit( e );\r\n }\r\n\r\n increment(): void {\r\n this.value = +this.value + 1;\r\n }\r\n\r\n decrement(): void {\r\n this.value = +this.value - 1;\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input appDigitsOnly [digitsOnly]=\"digitsOnly\" [decimal]=\"allowDecimal\" [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"/>\r\n\r\n <div class=\"incrementor\">\r\n <mat-icon (click)=\"increment()\">add</mat-icon>\r\n <mat-icon (click)=\"decrement()\">remove</mat-icon>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { DigitsOnlyDirectivesModule } from '../base/directives/digits-only.directive.module';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { EcabsIncrementComponent } from './ecabs-increment.component';\r\nimport { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsIncrementComponent ],\r\n imports: [ CommonModule, MatInputModule, MatIconModule, ElementWrapperModule, FormsModule, DigitsOnlyDirectivesModule ],\r\n exports: [ EcabsIncrementComponent ],\r\n} )\r\nexport class EcabsIncrementModule { }\r\n","import { AfterViewInit, Component, HostListener, Injector, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n UntypedFormControl,\r\n UntypedFormGroup,\r\n NG_VALUE_ACCESSOR,\r\n Validators,\r\n NgControl,\r\n} from '@angular/forms';\r\nimport { NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component( {\r\n selector: 'ecabs-phone',\r\n templateUrl: './ecabs-phone.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsPhoneComponent,\r\n multi: true,\r\n },\r\n ],\r\n} )\r\nexport class EcabsPhoneComponent\r\n extends ElementBaseComponent\r\n implements ControlValueAccessor, AfterViewInit, OnDestroy, OnInit {\r\n @Input() preferredCountries!: string[];\r\n @Input() enablePlaceholder!: boolean;\r\n @Input() enableSearch: boolean = true;\r\n @Input() useOnlyDisabledClass = false;\r\n @Input() declare required: boolean;\r\n\r\n @ViewChild( 'phoneInput' )\r\n phoneInput!: NgxMatIntlTelInputComponent;\r\n\r\n phoneForm: UntypedFormGroup;\r\n phoneSub!: any;\r\n prohibitedCharacters = [ '-' ];\r\n\r\n get value(): any {\r\n return this.phoneForm.get( 'phone' )?.value;\r\n }\r\n\r\n set value( val ) {\r\n if ( val !== undefined && this.value !== val ) {\r\n this.phoneForm.setValue( { phone: val } );\r\n }\r\n }\r\n\r\n constructor( private readonly injector: Injector ) {\r\n super();\r\n }\r\n\r\n @HostListener( 'keypress', [ '$event' ] ) onInput( event: KeyboardEvent ): void {\r\n if ( this.prohibitedCharacters.includes( event.key ) ) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.phoneForm = new UntypedFormGroup( {\r\n phone: new UntypedFormControl( undefined, this.required ? [ Validators.required ] : [] ),\r\n } );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get( NgControl, null );\r\n if ( ngControl ) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n\r\n this.phoneSub = this.phoneForm.valueChanges.subscribe( ( formVal ) => {\r\n this.value = formVal?.phone;\r\n this.onChange( this.value );\r\n this.onTouch( this.value );\r\n this.control.setErrors( this.phoneForm.get( 'phone' ).errors );\r\n } );\r\n }\r\n\r\n onChange: any = (): void => { };\r\n onTouch: any = (): void => { };\r\n\r\n writeValue( value: any ): void {\r\n this.value = value;\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.onTouch = fn;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.phoneSub?.unsubscribe();\r\n }\r\n\r\n reset(): void {\r\n this.phoneInput.reset();\r\n }\r\n\r\n onBlur(): void {\r\n this.control.setErrors( this.phoneForm.get( 'phone' ).errors );\r\n this.onTouch( this.value );\r\n this.onChange( this.value );\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <form #f=\"ngForm\" [formGroup]=\"phoneForm\">\r\n <ngx-mat-intl-tel-input\r\n (focusout)=\"onBlur()\"\r\n [ngClass]=\"{ error: phoneForm.invalid && (phoneForm.dirty || phoneForm.touched) }\"\r\n #phoneInput\r\n [preferredCountries]=\"preferredCountries\"\r\n [enablePlaceholder]=\"enablePlaceholder\"\r\n [enableSearch]=\"enableSearch\"\r\n [disabled]=\"disabled\"\r\n [formControlName]=\"'phone'\"\r\n name=\"phone\"\r\n [inputPlaceholder]=\"placeholder\"\r\n >\r\n </ngx-mat-intl-tel-input>\r\n </form>\r\n</app-element-wrapper>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input';\r\n\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { EcabsPhoneComponent } from './ecabs-phone.component';\r\nimport { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsPhoneComponent ],\r\n imports: [ CommonModule, MatInputModule, ElementWrapperModule, FormsModule, NgxMatIntlTelInputComponent, ReactiveFormsModule ],\r\n exports: [ EcabsPhoneComponent ],\r\n} )\r\nexport class EcabsPhoneModule { }\r\n","import { AfterViewInit, Component, Injector, Input } from '@angular/core';\r\nimport { ControlValueAccessor, UntypedFormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component( {\r\n selector: 'ecabs-radio-button-list',\r\n templateUrl: './ecabs-radio-button-list.component.html',\r\n styleUrls: [ 'ecabs-radio-button-list.component.scss' ],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsRadioButtonListComponent,\r\n multi: true,\r\n },\r\n ],\r\n} )\r\nexport class EcabsRadioButtonListComponent extends ElementBaseComponent implements ControlValueAccessor, AfterViewInit {\r\n @Input() items!: { label: string; value: any }[];\r\n @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\r\n\r\n val!: string;\r\n\r\n get value(): string {\r\n return this.val;\r\n }\r\n\r\n set value( val ) {\r\n if ( val !== undefined && this.val !== val ) {\r\n this.val = val;\r\n this.onChange( val );\r\n this.onTouch( val );\r\n }\r\n }\r\n\r\n constructor( private injector: Injector ) {\r\n super();\r\n }\r\n\r\n onChange: any = () => { };\r\n onTouch: any = () => { };\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get( NgControl, null ) as NgControl;\r\n if ( ngControl ) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n writeValue( value: any ): void {\r\n this.value = value;\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.onTouch = fn;\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <mat-radio-group\r\n [ngClass]=\"{ 'flex flex-col my-1': direction === 'vertical' }\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n >\r\n <mat-radio-button\r\n [ngClass]=\"{ 'my-1': direction === 'vertical' }\"\r\n class=\"mr-4\"\r\n *ngFor=\"let item of items\"\r\n [value]=\"item.value\">{{ item.label }}</mat-radio-button>\r\n </mat-radio-group>\r\n</app-element-wrapper>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { EcabsRadioButtonListComponent } from './ecabs-radio-button-list.component';\r\nimport { MatLegacyRadioModule as MatRadioModule } from '@angular/material/legacy-radio';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsRadioButtonListComponent ],\r\n imports: [\r\n CommonModule,\r\n ElementWrapperModule,\r\n MatRadioModule,\r\n FormsModule\r\n ],\r\n exports: [ EcabsRadioButtonListComponent ],\r\n} )\r\nexport class EcabsRadioButtonListModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { FormTimePickerConfig } from './config.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FormTimePickerService {\r\n config: FormTimePickerConfig = {\r\n dayEnd: 'Day End',\r\n dayStart: 'Day Start',\r\n iconClass: '',\r\n };\r\n\r\n public closeSub = new Subject<boolean>();\r\n\r\n setConfig(c: FormTimePickerConfig): void {\r\n this.config = Object.assign(this.config, c);\r\n }\r\n\r\n getConfig(): FormTimePickerConfig {\r\n return this.config;\r\n }\r\n\r\n close(): void {\r\n this.closeSub.next(true);\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, HostListener, ElementRef, OnChanges } from '@angular/core';\r\nimport { ListPlacement, ListPosition } from '../../../models/timepicker.models';\r\nimport { FormTimePickerService } from '../../ecabs-timepicker.service';\r\n@Component( {\r\n selector: 'ecabs-time-list-panel',\r\n templateUrl: './ecabs-time-list-panel.component.html',\r\n} )\r\nexport class EcabsTimeListPanelComponent implements OnInit, OnChanges {\r\n @Input() typedValue: any;\r\n @Input() listPlacement: ListPlacement = 'auto';\r\n @Input() listPosition: ListPosition = {};\r\n\r\n @Input() appendTo!: string;\r\n @Input() min!: string;\r\n @Input() max!: string;\r\n @Input() showDayStart = true;\r\n @Input() showDayEnd = false;\r\n @Input() position: ListPosition = {};\r\n\r\n @Output() onscroll = new EventEmitter<{ start: number; end: number }>();\r\n @Output() closeMe = new EventEmitter<any>();\r\n\r\n hoveredItemIndex = 0;\r\n timeList: { value: any; title: string }[] = [];\r\n\r\n private listItemHeight!: any;\r\n\r\n constructor( private elementRef: ElementRef, private timepickerService: FormTimePickerService ) { }\r\n\r\n @HostListener( 'document:keydown', [ '$event' ] )\r\n handleKeydown( $event: KeyboardEvent ): void {\r\n if ( $event.key === 'ArrowUp' ) {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\r\n this.hoveredItemIndex ? this.hoveredItemIndex-- : null;\r\n this.scrollTo( this.hoveredItemIndex );\r\n }\r\n if ( $event.key === 'ArrowDown' ) {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\r\n this.hoveredItemIndex + 1 < this.timeList.length ? this.hoveredItemIndex++ : null;\r\n this.scrollTo( this.hoveredItemIndex );\r\n }\r\n if ( $event.key === 'Enter' ) {\r\n this.setTime( this.timeList[ this.hoveredItemIndex ].value );\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.calcListItems();\r\n if ( this.appendTo ) {\r\n this.appendListTo();\r\n }\r\n\r\n setTimeout( () => {\r\n this.listItemHeight = this.elementRef.nativeElement.querySelector( 'li' ).getBoundingClientRect().height;\r\n this.selectTypedValue( this.typedValue );\r\n } );\r\n }\r\n\r\n appendListTo(): void {\r\n const parent = document.querySelector( this.appendTo );\r\n if ( !parent ) {\r\n throw new Error( `appendTo selector ${ this.appendTo } did not found any parent element` );\r\n }\r\n parent.appendChild( this.elementRef.nativeElement );\r\n }\r\n\r\n calcListItems(): void {\r\n if ( this.showDayStart ) {\r\n this.timeList.push( {\r\n value: '00:00',\r\n title: this.timepickerService.getConfig().dayStart,\r\n } );\r\n }\r\n for ( let index = 0; index < 24; index++ ) {\r\n for ( const minute of [ '00', '30' ] ) {\r\n if ( index === 0 && minute === '00' ) {\r\n continue;\r\n }\r\n this.timeList.push( {\r\n value: ( index > 9 ? index + '' : '0' + index ) + ':' + minute,\r\n title: ( index > 9 ? index + '' : '0' + index ) + ':' + minute,\r\n } );\r\n }\r\n }\r\n if ( this.showDayEnd ) {\r\n this.timeList.push( {\r\n value: '23:59',\r\n title: this.timepickerService.getConfig().dayEnd,\r\n } );\r\n }\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.selectTypedValue( this.typedValue );\r\n if ( this.elementRef.nativeElement ) {\r\n this.elementRef.nativeElement.style.top = this.listPosition.top + 'px';\r\n this.elementRef.nativeElement.style.left = this.listPosition.left + 'px';\r\n this.elementRef.nativeElement.style.width = this.listPosition.width + 'px';\r\n if ( this.appendTo ) {\r\n this.elementRef.nativeElement.style.position = 'fixed';\r\n }\r\n }\r\n }\r\n\r\n selectTypedValue( value: any ): void {\r\n if ( value ) {\r\n const hour = parseInt( value.split( ':' )[ 0 ], 10 );\r\n if ( hour || hour === 0 ) {\r\n this.hoveredItemIndex = hour * 2;\r\n this.scrollTo( this.hoveredItemIndex );\r\n }\r\n }\r\n }\r\n\r\n scrollTo( index: number ): void {\r\n this.elementRef.nativeElement.querySelector( '.inner-scroll' ).scrollTop = index * this.listItemHeight;\r\n }\r\n\r\n close(): void {\r\n this.closeMe.emit( null );\r\n }\r\n\r\n setTime( value: any ): void {\r\n this.closeMe.emit( value );\r\n }\r\n}\r\n","<div class=\"list\">\r\n <div class=\"inner-scroll\">\r\n <div class=\"inner\">\r\n <ul>\r\n <li\r\n *ngFor=\"let i of timeList; let counter = index\"\r\n (click)=\"setTime(i.value)\"\r\n (mouseenter)=\"hoveredItemIndex = counter\"\r\n [ngClass]=\"{ active: typedValue === i.value, hovered: counter === hoveredItemIndex }\"\r\n >\r\n {{ i.title }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input, HostBinding, HostListener, ElementRef, Injector, AfterViewInit } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, UntypedFormControl } from '@angular/forms';\r\nimport { FormTimePickerService } from './ecabs-timepicker.service';\r\nimport ElementBaseComponent from '../base/element-base';\r\nimport { ListPlacement, ListPosition } from '../models/timepicker.models';\r\n\r\n@Component( {\r\n selector: 'ecabs-timepicker',\r\n templateUrl: './ecabs-timepicker.component.html',\r\n styleUrls: [ 'ecabs-timepicker.component.scss' ],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsTimepickerComponent,\r\n multi: true,\r\n },\r\n ],\r\n} )\r\nexport class EcabsTimepickerComponent extends ElementBaseComponent implements ControlValueAccessor, AfterViewInit {\r\n @Input() showCloseIcon = true;\r\n @Input() @HostBinding( 'class.form-timepicker-focused' ) focusedFlag = false;\r\n @Input() listPlacement: ListPlacement = 'auto';\r\n @Input() appendTo!: string;\r\n @Input() min!: string;\r\n @Input() max!: string;\r\n @Input() showDayStart = true;\r\n @Input() showDayEnd = false;\r\n @Input() addSecond = true;\r\n\r\n position: ListPosition = {};\r\n _data = '';\r\n _timePicker;\r\n _input!: any;\r\n listPosition: ListPosition = {};\r\n caretPositionStart!: any;\r\n caretPositionEnd!: any;\r\n\r\n get data(): any {\r\n return this._data;\r\n }\r\n\r\n set data( value: any ) {\r\n this._data = value;\r\n if ( this._data.length === 5 ) {\r\n if ( this._data === '23:59' ) {\r\n this.onChangeFn( this._data + ( this.addSecond ? ':59' : '' ) );\r\n } else {\r\n this.onChangeFn( this._data + ( this.addSecond ? ':00' : '' ) );\r\n }\r\n } else if ( this._data === '' ) {\r\n this.onChangeFn( this._data );\r\n }\r\n }\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private timepickerService: FormTimePickerService,\r\n private injector: Injector\r\n ) {\r\n super();\r\n this.placeholder = '00:00';\r\n this._timePicker = this.elementRef.nativeElement;\r\n setTimeout( () => {\r\n this._input = this._timePicker.querySelector( 'input' );\r\n } );\r\n if ( !this.iconClass ) {\r\n this.iconClass = this.timepickerService.getConfig().iconClass;\r\n }\r\n }\r\n\r\n @HostListener( 'document:mousedown', [ '$event' ] )\r\n handleMousedown( $event: MouseEvent ): void {\r\n const target = $event.target as HTMLElement;\r\n if (\r\n target.closest( '.form-time-list' ) ||\r\n target.closest( '.timeInputWrapper' ) === this._timePicker.querySelector( '.timeInputWrapper' )\r\n ) {\r\n this._timePicker.querySelector( '.timeInputWrapper' ).focus();\r\n\r\n return;\r\n }\r\n if ( this.focusedFlag ) {\r\n this.close();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get( NgControl, null ) as NgControl;\r\n if ( ngControl ) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n clearInput(): void {\r\n this.data = '';\r\n }\r\n\r\n calcListPosition(): void {\r\n const position = this._timePicker.querySelector( '.timeInputFieldWrapper' ).getBoundingClientRect();\r\n if ( this.appendTo ) {\r\n this.listPosition = {\r\n left: position.x,\r\n top: position.top + position.height,\r\n width: position.width,\r\n };\r\n } else {\r\n this.listPosition = {\r\n left: 0,\r\n top: position.height,\r\n width: position.width,\r\n };\r\n }\r\n }\r\n\r\n inputKeyDown( event: any ): boolean {\r\n this.caretPositionStart = event.target.selectionStart;\r\n this.caretPositionEnd = event.target.selectionEnd;\r\n const key = event.key;\r\n this.setCaretPosition( this._input );\r\n switch ( this.checkSpecialKeys( key, this.caretPositionStart, this.caretPositionEnd ) ) {\r\n case 'stop':\r\n return false;\r\n\r\n case 'tab':\r\n this.close();\r\n\r\n return false;\r\n\r\n case 'arrow':\r\n return false;\r\n }\r\n\r\n if ( this.checkUnUsedKeys( key ) ) {\r\n return false;\r\n }\r\n\r\n const newData =\r\n this.data.slice( 0, this.caretPositionStart ) + key + this.data.slice( this.caretPositionStart, this.data.length );\r\n\r\n if ( this.checkOutOfRangeNumber( newData ) ) {\r\n this.data = newData;\r\n this.caretPositionStart++;\r\n }\r\n\r\n if (\r\n this.caretPositionStart === this.data.length &&\r\n ( this.data.length === 2 || ( this.data.length === 1 && parseInt( this.data ) > 2 ) )\r\n ) {\r\n this.makeHourFull();\r\n this.data += ':';\r\n this.caretPositionStart++;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n checkSpecialKeys( key: any, selectionStart: any, selectionEnd: any ): 'stop' | 'continue' | 'tab' | 'arrow' {\r\n if ( selectionStart !== selectionEnd && key !== 'ArrowLeft' && key !== 'ArrowRight' ) {\r\n if ( !( this.data.slice( selectionStart, selectionEnd ).includes( ':' ) && selectionEnd !== this.data.length ) ) {\r\n this.data = this.data.slice( 0, selectionStart ) + this.data.slice( selectionEnd, this.data.length );\r\n }\r\n }\r\n if ( selectionStart === selectionEnd && key === 'Backspace' ) {\r\n if ( this.data.length > 0 ) {\r\n if (\r\n this.data[ selectionStart - 1 ] !== ':' ||\r\n ( this.data[ selectionStart - 1 ] === ':' && selectionStart === this.data.length )\r\n ) {\r\n this.data = this.data.slice( 0, selectionStart - 1 ) + this.data.slice( selectionEnd, this.data.length );\r\n this.caretPositionStart--;\r\n }\r\n }\r\n\r\n return 'stop';\r\n }\r\n if ( key === 'Tab' || key === ' ' || key === ':' ) {\r\n if ( !this.data.includes( ':' ) && this.data.length > 0 ) {\r\n this.makeHourFull();\r\n this.data += ':';\r\n this.caretPositionStart++;\r\n\r\n return 'stop';\r\n }\r\n if ( key === 'Tab' ) {\r\n return 'tab';\r\n }\r\n\r\n return 'stop';\r\n }\r\n if ( key === 'ArrowRight' ) {\r\n if ( this.caretPositionStart < this.data.length ) {\r\n this.caretPositionStart++;\r\n }\r\n\r\n return 'arrow';\r\n }\r\n if ( key === 'ArrowLeft' ) {\r\n if ( this.caretPositionStart > 0 ) {\r\n this.caretPositionStart--;\r\n }\r\n\r\n return 'arrow';\r\n }\r\n if ( key === 'ArrowDown' && !this.focusedFlag ) {\r\n this.show();\r\n }\r\n\r\n return 'continue';\r\n }\r\n\r\n checkUnUsedKeys( key: string ): boolean {\r\n const r = new RegExp( '[0-9]' );\r\n\r\n return !r.test( key );\r\n }\r\n\r\n setCaretPosition( elem: any ): void {\r\n setTimeout( () => {\r\n if ( elem !== null ) {\r\n if ( elem.createTextRange ) {\r\n const range = elem.createTextRange();\r\n range.move( 'character', this.caretPositionStart );\r\n range.select();\r\n } else {\r\n if ( elem.selectionStart ) {\r\n elem.focus();\r\n elem.setSelectionRange( this.caretPositionStart, this.caretPositionStart );\r\n } else {\r\n elem.focus();\r\n }\r\n }\r\n }\r\n } );\r\n }\r\n\r\n checkOutOfRangeNumber( time: any ): boolean {\r\n const hour = parseInt( time.split( ':' )[ 0 ], 10 );\r\n let minute = -1;\r\n if ( time.split( ':' ).length > 1 ) {\r\n minute = parseInt( time.split( ':' )[ 1 ], 10 );\r\n }\r\n if ( hour < 24 && time.split( ':' )[ 0 ].length < 3 && minute < 60 ) {\r\n if ( time.split( ':' ).length > 1 && time.split( ':' )[ 1 ].length > 2 ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n makeHourFull(): void {\r\n const hourPart = this.data.split( ':' )[ 0 ];\r\n const minutePart = this.data.split( ':' ).length > 1 ? this.data.split( ':' )[ 1 ] : '';\r\n if ( hourPart.length === 1 ) {\r\n this.data = '0' + hourPart + ( minutePart ? ':' + minutePart : minutePart );\r\n this.caretPositionStart++;\r\n }\r\n }\r\n\r\n makeMinuteFull(): void {\r\n const hourPart = this.data.split( ':' )[ 0 ];\r\n const minutePart = this.data.split( ':' ).length > 1 ? this.data.split( ':' )[ 1 ] : '';\r\n if ( minutePart.length === 0 ) {\r\n this.data = hourPart + ':00';\r\n this.caretPositionStart += 2;\r\n }\r\n if ( minutePart.length === 1 ) {\r\n this.data = hourPart + ':' + minutePart + '0';\r\n this.caretPositionStart++;\r\n }\r\n }\r\n\r\n fixTimeToNearest(): void {\r\n if ( this.data.length > 0 ) {\r\n this.makeHourFull();\r\n this.makeMinuteFull();\r\n }\r\n }\r\n\r\n //eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/no-empty-function\r\n public onChangeFn = ( _: any ): void => { };\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n public onTouchedFn = (): void => { };\r\n\r\n public registerOnChange( fn: any ): void {\r\n this.onChangeFn = fn;\r\n }\r\n\r\n public registerOnTouched( fn: any ): void {\r\n this.onTouchedFn = fn;\r\n }\r\n\r\n public setDisabledState( isDisabled: boolean ): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public writeValue( obj: any ): void {\r\n if ( obj ) {\r\n obj = obj.toString();\r\n let temp = '';\r\n if ( obj.split( ':' ).length >= 2 ) {\r\n temp = obj.split( ':' )[ 0 ] + ':' + obj.split( ':' )[ 1 ];\r\n }\r\n this._data = temp;\r\n } else {\r\n this._data = '';\r\n }\r\n }\r\n\r\n public onChange(): void {\r\n this.onChangeFn( this.data );\r\n }\r\n\r\n show(): void {\r\n this.calcListPosition();\r\n this.focusedFlag = true;\r\n }\r\n\r\n close( val = null ): void {\r\n if ( val ) {\r\n this.data = val;\r\n } else {\r\n this.fixTimeToNearest();\r\n }\r\n this.focusedFlag = false;\r\n this.control?.markAsTouched();\r\n }\r\n}\r\n","<div class=\"timeInputWrapper\" [ngClass]=\"{ disabled: disabled }\">\r\n <app-element-wrapper\r\n [data]=\"getData()\"\r\n [showCloseIcon]=\"showCloseIcon\"\r\n [focusedFlag]=\"focusedFlag\"\r\n (clear)=\"clearInput()\"\r\n >\r\n <div class=\"timeInputFieldWrapper\">\r\n <input\r\n type=\"text\"\r\n class=\"form-field__input\"\r\n [value]=\"data\"\r\n [disabled]=\"disabled\"\r\n (focus)=\"show()\"\r\n (click)=\"show()\"\r\n (keydown)=\"inputKeyDown($event)\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n </div>\r\n <ecabs-time-list-panel\r\n [typedValue]=\"data\"\r\n *ngIf=\"focusedFlag\"\r\n [showDayStart]=\"showDayStart\"\r\n [showDayEnd]=\"showDayEnd\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n class=\"form-time-list\"\r\n [appendTo]=\"appendTo\"\r\n [listPosition]=\"listPosition\"\r\n (closeMe)=\"close($event)\"\r\n ></ecabs-time-list-panel>\r\n </div>\r\n </app-element-wrapper>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsTimepickerComponent } from './ecabs-timepicker.component';\r\nimport { EcabsTimeListPanelComponent } from './componets/ecabs-time-list-panel/ecabs-time-list-panel.component';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsTimepickerComponent, EcabsTimeListPanelComponent ],\r\n imports: [ CommonModule, ElementWrapperModule ],\r\n exports: [ EcabsTimeListPanelComponent, EcabsTimepickerComponent ],\r\n} )\r\nexport class EcabsTimepickerModule { }\r\n","import { Component, Input } from '@angular/core';\r\n\r\nexport interface PlaceholderRedirectPath {\r\n title: string;\r\n path: string;\r\n}\r\n\r\n@Component( {\r\n selector: 'ecabs-empty-placeholder',\r\n templateUrl: './ecabs-empty-placeholder.component.html',\r\n styleUrls: [ './ecabs-empty-placeholder.component.scss' ],\r\n} )\r\nexport class EcabsEmptyPlaceholderComponent {\r\n @Input()\r\n isEmptyMessage: string;\r\n\r\n @Input()\r\n redirectPath: PlaceholderRedirectPath;\r\n\r\n @Input()\r\n srcImage: string;\r\n}\r\n","<div class=\"w-full flex flex-col items-center justify-items-center\">\r\n <img class=\"mt-10 w-60\" [src]=\"srcImage\" alt=\"\" />\r\n\r\n <span class=\"heading--sm text-gray-400 my-2\">{{ isEmptyMessage }}</span>\r\n\r\n <a *ngIf=\"redirectPath\" [routerLink]=\"redirectPath?.path && [redirectPath.path]\" class=\"text-sm\">\r\n {{ redirectPath.title }}\r\n </a>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsEmptyPlaceholderComponent } from './ecabs-empty-placeholder.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsEmptyPlaceholderComponent ],\r\n imports: [ CommonModule, RouterModule ],\r\n exports: [ EcabsEmptyPlaceholderComponent ],\r\n} )\r\nexport class EcabsEmptyPlaceholderModule { }\r\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { MatExpansionPanel } from '@angular/material/expansion';\r\n\r\n@Component( {\r\n selector: 'ecabs-expansion-panel',\r\n templateUrl: './ecabs-expansion-panel.component.html',\r\n styleUrls: [ './ecabs-expansion-panel.component.scss' ],\r\n} )\r\nexport class EcabsExpansionPanelComponent implements OnChanges {\r\n @Input()\r\n title = '';\r\n\r\n @Input()\r\n description: string;\r\n\r\n @Input()\r\n index;\r\n\r\n @Input()\r\n expanded = false;\r\n\r\n @Input()\r\n disabled = false;\r\n\r\n @Input()\r\n errorMessage: string;\r\n\r\n @Input()\r\n showErrorMessage: boolean;\r\n\r\n @Input()\r\n closePanel: boolean;\r\n\r\n @Input()\r\n showIcon: boolean;\r\n\r\n @Input()\r\n iconName: string;\r\n\r\n @Input()\r\n showCheckbox: boolean;\r\n\r\n @Input()\r\n showStatus: boolean;\r\n\r\n @Input()\r\n status: string;\r\n\r\n @Input()\r\n hideToggle = false;\r\n\r\n @Output() checked = new EventEmitter<boolean>();\r\n\r\n @Output() opened = new EventEmitter<void>();\r\n\r\n @ViewChild( MatExpansionPanel ) expansionPanel: MatExpansionPanel;\r\n\r\n toggle = false;\r\n\r\n onOpened(): void {\r\n this.opened.emit();\r\n }\r\n\r\n ngOnChanges( changes: SimpleChanges ): void {\r\n const { closePanel } = changes;\r\n\r\n if ( closePanel && this.expansionPanel ) {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\r\n closePanel.currentValue === true ? this.expansionPanel.close() : this.expansionPanel.open();\r\n }\r\n }\r\n\r\n toggleAction(): void {\r\n this.expanded = !this.expanded;\r\n this.checked.emit( this.expanded );\r\n }\r\n}\r\n","<mat-accordion class=\"example-headers-align\" multi>\r\n <mat-expansion-panel [expanded]=\"expanded\" [disabled]=\"disabled\" (opened)=\"onOpened()\" [hideToggle]=\"hideToggle\">\r\n <mat-expansion-panel-header *ngIf=\"title\">\r\n <mat-panel-title>\r\n <div>\r\n <div class=\"flex flex-row\">\r\n <div *ngIf=\"index && !showErrorMessage\" class=\"border-current border-2 rounded-full mr-3 index\">\r\n {{ index }}\r\n </div>\r\n <div *ngIf=\"!showErrorMessage && showIcon\" class=\"mr-3 rounded\">\r\n <mat-icon class=\"rounded-icon !text-lg -mt-1\">{{ iconName }}</mat-icon>\r\n </div>\r\n <div *ngIf=\"showErrorMessage\" class=\"mt-1 mr-2\">\r\n <mat-icon color=\"warn\">warning</mat-icon>\r\n </div>\r\n {{ title }}\r\n <div *ngIf=\"showCheckbox\" class=\"ml-2 mt-1\">\r\n <ecabs-checkbox [type]=\"'toggle'\" [(ngModel)]=\"toggle\"\r\n (click)=\"toggleAction()\"></ecabs-checkbox>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showErrorMessage\" class=\"error-message\">{{ errorMessage }}</div>\r\n </div>\r\n </mat-panel-title>\r\n <mat-panel-description>{{ description }}\r\n <mat-chip *ngIf=\"showStatus\" class=\"{{ status | lowercase }}\">\r\n {{ status | titlecase }}\r\n </mat-chip>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <ng-content></ng-content>\r\n </mat-expansion-panel>\r\n</mat-accordion>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {EcabsExpansionPanelComponent} from './ecabs-expansion-panel.component';\r\nimport {MatExpansionModule} from '@angular/material/expansion';\r\nimport {EcabsCheckboxToggleModule} from '../ecabs-checkbox-toggle/ecabs-checkbox-toggle.module';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {MatLegacyButtonModule as MatButtonModule} from '@angular/material/legacy-button';\r\nimport {MatLegacyChipsModule as MatChipsModule} from '@angular/material/legacy-chips';\r\n\r\n@NgModule({\r\n declarations: [EcabsExpansionPanelComponent],\r\n imports: [CommonModule, FormsModule, MatButtonModule, MatExpansionModule, MatIconModule, MatChipsModule, EcabsCheckboxToggleModule],\r\n exports: [EcabsExpansionPanelComponent],\r\n})\r\nexport class EcabsExpansionPanelModule {\r\n}\r\n","import { Component, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component( {\r\n selector: 'ecabs-table-filter-wrapper',\r\n templateUrl: './ecabs-table-filter-wrapper.component.html',\r\n styleUrls: [ './ecabs-table-filter-wrapper.component.scss' ],\r\n} )\r\nexport class EcabsTableFilterWrapperComponent {\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n actions: TemplateRef<any>;\r\n}\r\n","<ecabs-expansion-panel [title]=\"title\" class=\"block mb-5\" [expanded]=\"true\">\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"actions\" class=\"flex justify-end\">\r\n <ng-container *ngTemplateOutlet=\"actions\"></ng-container>\r\n </div>\r\n</ecabs-expansion-panel>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsTableFilterWrapperComponent } from './ecabs-table-filter-wrapper.component';\r\nimport { EcabsExpansionPanelModule } from '../../ecabs-expansion-panel/ecabs-expansion-panel.module';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsTableFilterWrapperComponent ],\r\n imports: [\r\n CommonModule,\r\n EcabsExpansionPanelModule\r\n ],\r\n exports: [ EcabsTableFilterWrapperComponent ],\r\n} )\r\nexport class EcabsTableFilterWrapperModule { }\r\n","import { AfterContentChecked, Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\nimport { MatTable } from '@angular/material/table';\r\nimport { PlaceholderRedirectPath } from '../ecabs-empty-placeholder/ecabs-empty-placeholder.component';\r\n\r\n@Component( {\r\n selector: 'ecabs-table',\r\n templateUrl: './ecabs-table.component.html',\r\n styleUrls: [ './ecabs-table.component.scss' ],\r\n} )\r\nexport class TableComponent implements AfterContentChecked {\r\n @ContentChild( MatTable )\r\n table: MatTable<any>;\r\n\r\n @Input()\r\n header: TemplateRef<any>;\r\n\r\n @Input()\r\n paginator: TemplateRef<any>;\r\n\r\n @Input()\r\n bordered = false;\r\n\r\n @Input()\r\n loading = false;\r\n\r\n @Input()\r\n isEmpty: boolean;\r\n @Input()\r\n isEmptyMessage: string;\r\n\r\n @Input()\r\n redirectPath: PlaceholderRedirectPath;\r\n\r\n @Input()\r\n srcImageEmpty: string;\r\n\r\n ngAfterContentChecked(): void {\r\n if ( this.table ) {\r\n this.isEmpty = !this.table[ '_data' ]?.length;\r\n }\r\n }\r\n}\r\n","<section class=\"table-ui table-ui--wrapper\" [ngClass]=\"{ 'table-ui__bordered': bordered, loading: loading }\">\r\n <mat-progress-bar *ngIf=\"loading\" mode=\"indeterminate\" class=\"table-ui__progress\"></mat-progress-bar>\r\n\r\n\r\n <div *ngIf=\"header\" class=\"table-ui__header\">\r\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!(isEmptyMessage && isEmpty); else noDataTemplate\">\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"paginator\" class=\"table-ui__paginator\">\r\n <ng-container *ngTemplateOutlet=\"paginator\"></ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <!--#For Empty state -->\r\n <ng-template #noDataTemplate>\r\n <ecabs-empty-placeholder\r\n *ngIf=\"!loading\"\r\n [redirectPath]=\"redirectPath\"\r\n [isEmptyMessage]=\"isEmptyMessage\"\r\n [srcImage]=\"srcImageEmpty\"\r\n ></ecabs-empty-placeholder>\r\n </ng-template>\r\n</section>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TableComponent } from './ecabs-table.component';\r\nimport { MatLegacyProgressBarModule as MatProgressBarModule } from '@angular/material/legacy-progress-bar';\r\nimport { RouterModule } from '@angular/router';\r\nimport { EcabsEmptyPlaceholderModule } from '../ecabs-empty-placeholder/ecabs-empty-placeholder.module';\r\nimport { MatLegacyTableModule as MatTableModule } from '@angular/material/legacy-table';\r\n\r\n@NgModule( {\r\n declarations: [ TableComponent ],\r\n imports: [\r\n CommonModule,\r\n MatProgressBarModule,\r\n RouterModule,\r\n EcabsEmptyPlaceholderModule\r\n ],\r\n exports: [ TableComponent, MatTableModule, EcabsEmptyPlaceholderModule ],\r\n} )\r\nexport class EcabsTableModule { }\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component( {\r\n selector: 'ecabs-note',\r\n templateUrl: './ecabs-note.component.html',\r\n styleUrls: [ './ecabs-note.component.scss' ],\r\n} )\r\nexport class NoteComponent {\r\n @Input()\r\n type: 'default' | 'danger' | 'warn' | 'success' = 'default';\r\n\r\n get classByType(): string {\r\n switch ( this.type ) {\r\n case 'warn':\r\n return 'note--warn';\r\n\r\n case 'danger':\r\n return 'note--danger';\r\n\r\n case 'success':\r\n return 'note--success';\r\n\r\n default:\r\n return 'note--default';\r\n }\r\n }\r\n}\r\n","<ng-container>\r\n <div class=\"flex flex-row px-2 py-4 note\" [ngClass]=\"classByType\">\r\n <div>\r\n <mat-icon>info_outline</mat-icon>\r\n </div>\r\n <div class=\"ml-4\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { NoteComponent } from './ecabs-note.component';\r\n\r\n@NgModule( {\r\n declarations: [ NoteComponent ],\r\n imports: [ CommonModule, MatIconModule ],\r\n exports: [ NoteComponent ],\r\n} )\r\nexport class NoteModule { }\r\n","import { Component, Inject, OnDestroy, OnInit, TemplateRef } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { Observable, Subject, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'ecabs-dialog-confirm',\r\n templateUrl: './ecabs-dialog-confirm.component.html',\r\n styleUrls: ['./ecabs-dialog-confirm.component.scss'],\r\n})\r\nexport class EcabsDialogConfirmComponent implements OnInit, OnDestroy {\r\n\r\n private destroy$: Subject<any> = new Subject<any>();\r\n\r\n message: string;\r\n color: ThemePalette = 'primary';\r\n titleColor: ThemePalette = 'primary';\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<DialogConfirmComponentConfig>,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogConfirmComponentConfig,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.dialogRef.updateSize(this.data.width || '24rem');\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n closeDialog() {\r\n if (this.data.loading$) {\r\n this.data.loading$?.pipe(takeUntil(this.destroy$)).subscribe((loading) => {\r\n if (!loading) {\r\n this.dialogRef.close(true);\r\n }\r\n });\r\n } else {\r\n this.dialogRef.close(true);\r\n }\r\n }\r\n}\r\n\r\nexport interface DialogConfirmComponentConfig {\r\n title?: string;\r\n message: TemplateRef<any>;\r\n color?: ThemePalette;\r\n titleColor?: ThemePalette;\r\n confirmLabel?: string;\r\n cancelLabel?: string;\r\n isPopover?: boolean;\r\n width?: string;\r\n content?: string;\r\n loading$?: Observable<boolean>;\r\n}","<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"font-semibold heading--xs modal-title {{ data.titleColor }}\" *ngIf=\"data.title\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n <div>{{ data?.content }}</div>\r\n <ng-container *ngTemplateOutlet=\"data?.message\"></ng-container>\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons (click)=\"dialogRef.close(false)\" [stroked]=\"true\">\r\n {{ data?.cancelLabel }}\r\n </ecabs-buttons>\r\n\r\n <ecabs-buttons [color]=\"data?.color || color\" [loading]=\"data.loading$ | async\" (click)=\"closeDialog()\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {EcabsDialogConfirmComponent} from './ecabs-dialog-confirm.component';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {EcabsButtonsModule} from '../ecabs-buttons/ecabs-buttons.module';\r\nimport {MatLegacyDialogModule as MatDialogModule} from '@angular/material/legacy-dialog';\r\n\r\n@NgModule({\r\n declarations: [EcabsDialogConfirmComponent],\r\n imports: [CommonModule, MatDialogModule, EcabsButtonsModule, MatIconModule],\r\n})\r\nexport class EcabsDialogConfirmModule {\r\n}\r\n","import { Component, Inject, OnDestroy } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { Observable, Subject, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'ecabs-dialog-message',\r\n templateUrl: './ecabs-dialog-message.component.html',\r\n styleUrls: ['./ecabs-dialog-message.component.scss'],\r\n})\r\nexport class EcabsDialogMessageComponent implements OnDestroy {\r\n message: string;\r\n color: ThemePalette = 'primary';\r\n titleColor = 'success';\r\n private destroy$: Subject<any> = new Subject<any>();\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<EcabsDialogMessageComponentConfig>,\r\n @Inject(MAT_DIALOG_DATA) public data: EcabsDialogMessageComponentConfig,\r\n ) { }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n closeDialog() {\r\n if (this.data.loading$) {\r\n this.data.loading$?.pipe(takeUntil(this.destroy$)).subscribe((loading) => {\r\n if (!loading) {\r\n this.dialogRef.close(true);\r\n }\r\n });\r\n } else {\r\n this.dialogRef.close(true);\r\n }\r\n }\r\n}\r\n\r\nexport interface EcabsDialogMessageComponentConfig {\r\n title?: string;\r\n titleColor?: ThemePalette | 'success';\r\n message: string;\r\n color?: ThemePalette;\r\n confirmLabel?: string;\r\n isPopover?: boolean;\r\n isButtonBlock?: boolean;\r\n loading$?: Observable<boolean>;\r\n}\r\n","<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div *ngIf=\"data.title\" class=\"title font-semibold heading--xs\" [ngClass]=\"data?.titleColor || titleColor\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n {{data?.message}}\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons [color]=\"data?.color || color\" [full]=\"data?.isButtonBlock\" [loading]=\"data.loading$ | async\" (click)=\"closeDialog()\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {EcabsDialogMessageComponent} from './ecabs-dialog-message.component';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {EcabsButtonsModule} from '../ecabs-buttons/ecabs-buttons.module';\r\nimport {MatLegacyDialogModule as MatDialogModule} from '@angular/material/legacy-dialog';\r\n\r\n@NgModule({\r\n declarations: [EcabsDialogMessageComponent],\r\n imports: [CommonModule, MatDialogModule, EcabsButtonsModule, MatIconModule],\r\n})\r\nexport class EcabsDialogMessageModule {\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { BreadCrumb } from '../models/bread-crumb';\r\n\r\n@Component( {\r\n selector: 'ecabs-breadcrumb',\r\n templateUrl: './ecabs-breadcrumb.component.html',\r\n styleUrls: [ './ecabs-breadcrumb.component.scss' ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n} )\r\nexport class EcabsBreadcrumbComponent {\r\n @Input() breadCrumb: BreadCrumb[];\r\n}\r\n","<ul class=\"flex text-gray-500 text-sm\">\r\n <li\r\n *ngFor=\"let item of breadCrumb; let counter = index\"\r\n [routerLink]=\"item.url\"\r\n [ngClass]=\"{ 'cursor-pointer': item.url }\"\r\n class=\"flex\"\r\n >\r\n <mat-icon class=\"!text-sm text-center text-gray-400\" *ngIf=\"counter !== 0\">keyboard_arrow_right</mat-icon>\r\n <span>{{ item.title }}</span>\r\n </li>\r\n</ul>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { EcabsBreadcrumbComponent } from './ecabs-breadcrumb.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsBreadcrumbComponent ],\r\n imports: [ CommonModule, MatIconModule, RouterModule ],\r\n exports: [ EcabsBreadcrumbComponent ],\r\n} )\r\nexport class EcabsBreadcrumbModule { }\r\n","import { Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\n\r\n@Component( {\r\n selector: 'ecabs-language-selector',\r\n templateUrl: './ecabs-language-selector.component.html',\r\n styleUrls: [ './ecabs-language-selector.component.scss' ],\r\n} )\r\nexport class EcabsLanguageSelectorComponent implements OnChanges {\r\n @Input()\r\n languages: string[] = [];\r\n\r\n @Input()\r\n currentLanguage: string;\r\n\r\n @Input()\r\n showLabelTitle: boolean = true;\r\n\r\n @Input()\r\n flagOnly: boolean;\r\n\r\n @Input()\r\n tooltip: string;\r\n\r\n @Output()\r\n languageChanged: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n selectedLang: string;\r\n\r\n get panelClass(): string {\r\n return this.showLabelTitle ? 'wide-select' : 'wide-select no-title';\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.selectedLang = this.currentLanguage;\r\n }\r\n\r\n toggleLang(): void {\r\n return this.matchSelected() ? this.languageChanged.emit( this.matchSelected() ) : undefined;\r\n }\r\n\r\n matchSelected(): string {\r\n return this.languages?.find( ( lang ) => lang === this.selectedLang );\r\n }\r\n\r\n standardLang( code: string ): string {\r\n return this.standardise( code );\r\n }\r\n\r\n flagClass( lang: string ): string {\r\n return `fi fi-${ lang?.slice( -2 ).toLowerCase() }`;\r\n }\r\n\r\n private standardise( code: string ): string {\r\n if ( !code ) {\r\n return undefined;\r\n }\r\n const lang = new Intl.DisplayNames( [ code ], {\r\n type: 'language',\r\n languageDisplay: 'standard',\r\n } );\r\n return lang.of( code );\r\n }\r\n}\r\n","<mat-form-field [ngClass]=\"{'flag-only': flagOnly}\">\r\n <mat-select class=\"capitalize\" [(ngModel)]=\"selectedLang\" name=\"language\" (ngModelChange)=\"toggleLang()\"\r\n panelClass=\"wide-select\">\r\n <mat-select-trigger>\r\n <div class=\"flex items-center\" [matTooltip]=\"tooltip\" [matTooltipDisabled]=\"!flagOnly || !tooltip\">\r\n <span [ngClass]=\"flagClass(matchSelected())\"></span>\r\n <div *ngIf=\"!flagOnly\" class=\"ml-2\">{{standardLang(matchSelected())}}</div>\r\n </div>\r\n </mat-select-trigger>\r\n <mat-option class=\"capitalize\" *ngFor=\"let lang of languages\" [value]=\"lang\">\r\n <div class=\"flex items-center\">\r\n <span [ngClass]=\"flagClass(lang)\"></span>\r\n <div class=\"ml-2\">{{standardLang(lang)}}</div>\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {EcabsLanguageSelectorComponent} from './ecabs-language-selector.component';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {MatLegacySelectModule as MatSelectModule} from '@angular/material/legacy-select';\r\nimport {MatLegacyFormFieldModule as MatFormFieldModule} from '@angular/material/legacy-form-field';\r\nimport {MatLegacyTooltipModule as MatTooltipModule} from \"@angular/material/legacy-tooltip\";\r\n\r\n@NgModule({\r\n declarations: [EcabsLanguageSelectorComponent],\r\n imports: [\r\n CommonModule,\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatTooltipModule\r\n ],\r\n exports: [EcabsLanguageSelectorComponent],\r\n})\r\nexport class EcabsLanguageSelectorModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.EcabsSpinnerComponent","i2","i3.EcabsSpinnerComponent","MatButtonModule","i1.EcabsComponentsService","i3.ValidationComponent","i4","i5","i6.HintComponent","i2.ElementWrapperComponent","i3","i4.DigitsOnlyDirective","MatFormFieldModule","MatInputModule","MatTooltipModule","i6","MatSelectModule","MAT_SELECT_SCROLL_STRATEGY","i1.ElementWrapperComponent","MatCheckboxModule","MatSlideToggleModule","i1","i1.EcabsPickerHeaderComponent","i7.DigitsOnlyDirective","i8.NumberBorderDirective","i9.MaskDateDirective","i9.TimeRangeDirective","MatRadioModule","i1.FormTimePickerService","i3.ElementWrapperComponent","i4.EcabsTimeListPanelComponent","i6.EcabsCheckboxToggleComponent","MatChipsModule","i2.EcabsExpansionPanelComponent","i3.EcabsEmptyPlaceholderComponent","MatProgressBarModule","MatTableModule","i4.ButtonsComponent","MatDialogModule"],"mappings":"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"}