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,36 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';
5
+ import { EcabsCheckboxToggleComponent } from './ecabs-checkbox-toggle.component';
6
+ import { MatLegacySlideToggleModule as MatSlideToggleModule } from '@angular/material/legacy-slide-toggle';
7
+ import { MatLegacyCheckboxModule as MatCheckboxModule } from '@angular/material/legacy-checkbox';
8
+ import * as i0 from "@angular/core";
9
+ export class EcabsCheckboxToggleModule {
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsCheckboxToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsCheckboxToggleModule, declarations: [EcabsCheckboxToggleComponent], imports: [CommonModule,
12
+ ElementWrapperModule,
13
+ MatCheckboxModule,
14
+ MatSlideToggleModule,
15
+ FormsModule], exports: [EcabsCheckboxToggleComponent] });
16
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsCheckboxToggleModule, imports: [CommonModule,
17
+ ElementWrapperModule,
18
+ MatCheckboxModule,
19
+ MatSlideToggleModule,
20
+ FormsModule] });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsCheckboxToggleModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ declarations: [EcabsCheckboxToggleComponent],
26
+ imports: [
27
+ CommonModule,
28
+ ElementWrapperModule,
29
+ MatCheckboxModule,
30
+ MatSlideToggleModule,
31
+ FormsModule
32
+ ],
33
+ exports: [EcabsCheckboxToggleComponent],
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtY2hlY2tib3gtdG9nZ2xlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1jaGVja2JveC10b2dnbGUvZWNhYnMtY2hlY2tib3gtdG9nZ2xlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFDLDBCQUEwQixJQUFJLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDekcsT0FBTyxFQUFDLHVCQUF1QixJQUFJLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7O0FBYS9GLE1BQU0sT0FBTyx5QkFBeUI7d0dBQXpCLHlCQUF5Qjt5R0FBekIseUJBQXlCLGlCQVZyQiw0QkFBNEIsYUFFekMsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLFdBQVcsYUFFSCw0QkFBNEI7eUdBRTNCLHlCQUF5QixZQVJsQyxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLGlCQUFpQjtZQUNqQixvQkFBb0I7WUFDcEIsV0FBVzs7NEZBSUYseUJBQXlCO2tCQVhyQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDRCQUE0QixDQUFDO29CQUM1QyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixXQUFXO3FCQUNaO29CQUNELE9BQU8sRUFBRSxDQUFDLDRCQUE0QixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge0VsZW1lbnRXcmFwcGVyTW9kdWxlfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuaW1wb3J0IHtFY2Fic0NoZWNrYm94VG9nZ2xlQ29tcG9uZW50fSBmcm9tICcuL2VjYWJzLWNoZWNrYm94LXRvZ2dsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge01hdExlZ2FjeVNsaWRlVG9nZ2xlTW9kdWxlIGFzIE1hdFNsaWRlVG9nZ2xlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc2xpZGUtdG9nZ2xlJztcclxuaW1wb3J0IHtNYXRMZWdhY3lDaGVja2JveE1vZHVsZSBhcyBNYXRDaGVja2JveE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWNoZWNrYm94JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRWNhYnNDaGVja2JveFRvZ2dsZUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRWxlbWVudFdyYXBwZXJNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtFY2Fic0NoZWNrYm94VG9nZ2xlQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzQ2hlY2tib3hUb2dnbGVNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../ecabs-picker-header/ecabs-picker-header.component";
4
+ export class EcabsDatePickerHeaderComponent {
5
+ selectDateLabel = 'Select date';
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatePickerHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDatePickerHeaderComponent, selector: "ecabs-date-picker-header", inputs: { selectDateLabel: "selectDateLabel" }, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "component", type: i1.EcabsPickerHeaderComponent, selector: "ecabs-picker-header" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatePickerHeaderComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: 'ecabs-date-picker-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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" }]
12
+ }], propDecorators: { selectDateLabel: [{
13
+ type: Input
14
+ }] } });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXBpY2tlci9jb21wb25lbnRzL2VjYWJzLWRhdGUtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXBpY2tlci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRhdGUtcGlja2VyL2NvbXBvbmVudHMvZWNhYnMtZGF0ZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtcGlja2VyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTFFLE1BQU0sT0FBTyw4QkFBOEI7SUFDaEMsZUFBZSxHQUFHLGFBQWEsQ0FBQzt3R0FEOUIsOEJBQThCOzRGQUE5Qiw4QkFBOEIsZ0hDUjNDLGlKQUlBOzs0RkRJYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWRhdGUtcGlja2VyLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWRhdGUtcGlja2VyLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuL2VjYWJzLWRhdGUtcGlja2VyLWhlYWRlci5jb21wb25lbnQuc2NzcycgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0RhdGVQaWNrZXJIZWFkZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHNlbGVjdERhdGVMYWJlbCA9ICdTZWxlY3QgZGF0ZSc7XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNlbGVjdC1kYXRlLWxhYmVsIHRleHQteGwgZm9udC1zZW1pYm9sZFwiPlxyXG4gIHt7IHNlbGVjdERhdGVMYWJlbCB9fVxyXG48L2Rpdj5cclxuPGVjYWJzLXBpY2tlci1oZWFkZXI+PC9lY2Ficy1waWNrZXItaGVhZGVyPlxyXG4iXX0=
@@ -0,0 +1,89 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
3
+ import ElementBaseComponent from '../base/element-base';
4
+ import { EcabsDatePickerHeaderComponent } from './components/ecabs-date-picker-header/ecabs-date-picker-header.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../base/element-wrapper/element-wrapper.component";
7
+ import * as i2 from "@angular/material/icon";
8
+ import * as i3 from "@angular/material/datepicker";
9
+ import * as i4 from "@angular/forms";
10
+ import * as i5 from "@angular/material/legacy-button";
11
+ export class EcabsDatePickerComponent extends ElementBaseComponent {
12
+ injector;
13
+ minDate;
14
+ maxDate;
15
+ touchUi = false;
16
+ cancleLabel = 'Cancel';
17
+ applyLabel = 'Apply';
18
+ selectDateLabel = 'Select date';
19
+ onblur = new EventEmitter();
20
+ val;
21
+ header = EcabsDatePickerHeaderComponent;
22
+ get value() {
23
+ return this.val;
24
+ }
25
+ set value(val) {
26
+ if (val && this.val !== val) {
27
+ this.val = val;
28
+ this.onChange(val);
29
+ this.onTouch(val);
30
+ }
31
+ }
32
+ constructor(injector) {
33
+ super();
34
+ this.injector = injector;
35
+ }
36
+ ngAfterViewInit() {
37
+ const ngControl = this.injector.get(NgControl, null);
38
+ if (ngControl) {
39
+ this.control = ngControl.control;
40
+ }
41
+ }
42
+ onChange = () => { };
43
+ onTouch = () => { };
44
+ writeValue(value) {
45
+ this.value = value;
46
+ }
47
+ registerOnChange(fn) {
48
+ this.onChange = fn;
49
+ }
50
+ registerOnTouched(fn) {
51
+ this.onTouch = fn;
52
+ }
53
+ blurChange(e) {
54
+ this.onblur.emit(e);
55
+ }
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatePickerComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
57
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDatePickerComponent, selector: "ecabs-date-picker", inputs: { minDate: "minDate", maxDate: "maxDate", touchUi: "touchUi", cancleLabel: "cancleLabel", applyLabel: "applyLabel", selectDateLabel: "selectDateLabel" }, outputs: { onblur: "onblur" }, providers: [
58
+ {
59
+ provide: NG_VALUE_ACCESSOR,
60
+ useExisting: EcabsDatePickerComponent,
61
+ multi: true,
62
+ },
63
+ ], usesInheritance: true, ngImport: i0, template: "<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", styles: [".header{display:flex;align-items:center;padding:.5em}.header-label{flex:1;height:1em;font-weight:500;text-align:center}.select-date-label{color:var(--color-brand-dark);padding-top:1.6rem;padding-left:1.6rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-semibold{font-weight:600}.grid-picker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-right:.5rem}.ml-0{margin-left:0rem}.w-full{width:100%!important}.mat-calendar-table .mat-calendar-body tr:first-child[aria-hidden=true]{display:none}.mat-datepicker-toggle{padding-top:.75rem;margin-left:-2.25rem}.mat-calendar-body-label{visibility:hidden}.mat-calendar-body-cell-content{border-radius:.25rem!important}.mat-calendar-body-active .mat-calendar-body-today{color:var(--color-brand-light)!important;background-color:var(--color-brand-light2)!important}.mat-calendar .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--color-brand-light2);color:var(--color-black)}.mat-calendar .mat-calendar-body-cell.mat-calendar-body-active .mat-calendar-body-cell-content.mat-calendar-body-selected,.mat-calendar .mat-calendar-body-cell.mat-calendar-body-active:hover .mat-calendar-body-cell-content.mat-calendar-body-selected{background-color:var(--color-brand-light)!important;color:var(--color-white)!important}.mat-calendar .mat-calendar-body-selected{background-color:var(--color-brand-light);color:var(--color-white)!important}.mat-calendar .mat-calendar-body-selected .mat-calendar-body-today{color:var(--color-white)!important}.mat-calendar .mat-calendar-table-header,.mat-calendar .mat-calendar-body-label{color:var(--color-gray-500)}.mat-calendar .mat-calendar-body-cell>.mat-calendar-body-today{opacity:1}.mat-calendar .mat-calendar-body-cell-container:hover .mat-calendar-body-cell.mat-calendar-body-disabled .mat-calendar-body-cell-content{background-color:transparent!important}.mat-calendar .mat-calendar-body-cell-content,.mat-calendar .mat-date-range-input-separator{color:var(--color-black)}.mat-calendar .mat-calendar-content{padding:0 1.6rem}.mat-calendar .mat-calendar-table-header th{font-size:16px;font-size:1rem}.mat-calendar .mat-calendar-table-header-divider:after{display:none}.mat-calendar .mat-calendar-body{font-size:16px;font-size:1rem}.mat-calendar .mat-calendar-body-in-range:before{background-color:var(--color-brand-light2)}.mat-calendar .mat-calendar-body-in-range .mat-calendar-body-cell-content{color:var(--color-black)!important}.mat-calendar .mat-calendar-body-range-start .mat-calendar-body-cell-content,.mat-calendar .mat-calendar-body-range-end .mat-calendar-body-cell-content{color:var(--color-white)!important}.mat-datepicker-popup .mat-datepicker-content{color:var(--color-black);box-shadow:0 0 25px #0003}.mat-datepicker-popup .mat-datepicker-actions{margin-top:1rem;padding:0 1.6rem 1.6rem}.mat-datepicker-popup .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:var(--color-gray-300)}:root{--color-black: #07080d;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-100: #f5f6f9;--color-gray-200: #f8f9f9;--color-gray-300: #d9d9d9;--color-gray-400: #a6a6a6;--color-gray-500: #6b6d73;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #25bd3d;--color-success--opacity: #e8f8e5;--color-success-rgb: 37, 189, 61;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5)}ecabs-date-picker .dateTimeWrapper{position:relative;display:flex;width:100%}ecabs-date-picker .dateTimeWrapper .datePart{flex:2}ecabs-date-picker .dateTimeWrapper .timePart{flex:1;padding-left:10px;vertical-align:top;max-width:10rem}ecabs-date-picker .dateTimeWrapper .timePart ecabs-timepicker .timeInputWrapper{display:block}ecabs-date-picker .dateTimeWrapper .timePart ecabs-timepicker{width:100%}ecabs-date-picker .dateTimeWrapper .timePart ecabs-timepicker .inputWrapper{display:block}ecabs-date-picker .dateTimeWrapper .dateInputWrapper{position:relative}ecabs-date-picker .dateTimeWrapper input{min-height:42px;width:100%;display:block;box-sizing:border-box;font-size:14px;font-weight:500;padding-left:10px;border-radius:4px;border:1px solid rgb(107,109,115);outline:none;transition:all .3s ease-in-out}ecabs-date-picker .dateTimeWrapper input:disabled{border-bottom-width:1px;background-color:var(--color-white-opacity-05)}ecabs-date-picker .dateTimeWrapper input[type=date]::-webkit-calendar-picker-indicator,ecabs-date-picker .dateTimeWrapper input[type=date]::-webkit-inner-spin-button{display:none}ecabs-date-picker .dateTimeWrapper input[type=date]::-webkit-clear-button{display:none}ecabs-date-picker .dateTimeWrapper .calendar-icon{float:right;margin-top:-38px;padding:5px 10px 5px 5px;display:block;font-size:13px;line-height:20px;color:var(--color-gray-500);position:relative;width:40px;height:30px;cursor:pointer;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjQuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojNkI2RDczO30KPC9zdHlsZT4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTksNDRjLTAuOCwwLTEuNS0wLjMtMi4xLTAuOUM2LjMsNDIuNSw2LDQxLjgsNiw0MVYxMGMwLTAuOCwwLjMtMS41LDAuOS0yLjFTOC4yLDcsOSw3aDMuMlY0aDMuMnYzaDE3VjRoMy4ydjMKCUgzOWMwLjgsMCwxLjUsMC4zLDIuMSwwLjlDNDEuNyw4LjUsNDIsOS4yLDQyLDEwdjMxYzAsMC44LTAuMywxLjUtMC45LDIuMUM0MC41LDQzLjcsMzkuOCw0NCwzOSw0NEg5eiBNOSw0MWgzMGwwLDBsMCwwVjE5LjVIOVY0MQoJTDksNDFMOSw0MXogTTksMTYuNWgzMFYxMGwwLDBsMCwwSDlsMCwwbDAsMFYxNi41eiBNOSwxNi41VjEwbDAsMGwwLDBsMCwwbDAsMFYxNi41eiIvPgo8L3N2Zz4K);background-position:center center;background-repeat:no-repeat;background-size:1.375rem}ecabs-date-picker .dateTimeWrapper .calendar-icon.disabled{cursor:not-allowed}ecabs-date-picker .app-element-wrapper.focused label{color:#376bfb}ecabs-date-picker .app-element-wrapper.focused input{border-bottom-width:2px;border-bottom-color:#376bfb}ecabs-date-picker .app-element-wrapper.validationError label{color:#ff4c4c}ecabs-date-picker .app-element-wrapper.validationError input{border-bottom-color:#ff4c4c;border-bottom-width:2px}.ng-mydp .myDpSelector{border:0;padding:0;box-shadow:0 4px 6px #162a4c14,0 2px 16px #162a4c0f,0 8px 12px #162a4c0a;border-radius:0 0 4px 4px;background:white}.ng-mydp .myDpSelector:focus{box-shadow:0 4px 6px #162a4c14,0 2px 16px #162a4c0f,0 8px 12px #162a4c0a}.ng-mydp .myDpSelector .myDpWeekDayTitle{background-color:#fff;font-weight:500;font-size:11px;color:#162a4cb3}.ng-mydp .myDpSelector .myDpNextBtn{margin-left:auto;margin-right:16px}.ng-mydp .myDpSelector .myDpNextBtn .myDpIconRightArrow{line-height:26px;height:25px}.ng-mydp .myDpSelector .myDpNextBtn .myDpIconRightArrow:before{color:#376bfb;font-size:13px}.ng-mydp .myDpSelector .myDpPrevBtn{margin-left:16px}.ng-mydp .myDpSelector .myDpPrevBtn .myDpIconLeftArrow{line-height:26px;height:25px}.ng-mydp .myDpSelector .myDpPrevBtn .myDpIconLeftArrow:before{color:#376bfb;font-size:13px}.ng-mydp .myDpSelector .myDpMonthYearSelBar{height:52px;padding-top:10px;border:0}.ng-mydp .myDpSelector .myDpMonthYearText button{font-weight:500;font-size:13px;line-height:20px;color:#376bfb}.ng-mydp .myDpSelector .myDpMonthYearText .myDpMonthBtn{padding-right:7px;position:relative;margin-right:15px}.ng-mydp .myDpSelector .myDpMonthYearText .myDpMonthBtn:after{position:absolute;content:\"\";height:14px;width:1px;right:-7px;top:6px;background:rgba(22,42,76,.5)}.ng-mydp .myDpSelector .myDpMonthYearText .myDpYearBtn{padding-left:6px}.ng-mydp .myDpSelector .myDpCalTable{height:calc(100% - 54px);width:calc(100% - 20px);margin:0 10px}.ng-mydp .myDpSelector table.myDpCalTable td .myDpDayValue{border-radius:4px;background:#f0f2f5;display:inline-block;box-sizing:border-box;width:32px;height:28px;font-size:13px;line-height:28px;text-align:center;color:#162a4ce6}.ng-mydp .myDpSelector table.myDpCalTable td .myDpDayValue.myDpMarkCurrDay{border-bottom:0;color:#376bfb}.ng-mydp .myDpSelector table.myDpCalTable td.myDpSelectedDay .myDpDayValue{color:#fff!important;background:#6ab72a!important}.ng-mydp .myDpSelector table.myDpCalTable td.myDpDisabled{background:unset}.ng-mydp .myDpSelector table.myDpCalTable td.myDpDisabled .myDpDayValue{background:unset!important;color:#162a4c80;cursor:not-allowed}.ng-mydp .myDpSelector table.myDpCalTable td.myDpDisabled .myDpDayValue:hover{background:unset!important}.ng-mydp .myDpSelector table.myDpCalTable td.myDpRangeColor{background-color:#fff}.ng-mydp .myDpSelector table.myDpCalTable td.myDpRangeColor .myDpDayValue{background:#bee39d!important}.ng-mydp .myDpSelector table.myDpCalTable td.myDpRangeColor.myDpSelectedDay .myDpDayValue{color:#fff!important;background:#6ab72a!important}.ng-mydp .myDpSelector table.myDpCalTable td.myDpDaycell:focus{box-shadow:unset;outline:unset}.ng-mydp .myDpSelector table.myDpCalTable td.myDpPrevMonth .myDpDayValue,.ng-mydp .myDpSelector table.myDpCalTable td.myDpNextMonth .myDpDayValue{background:#f6f7f9;color:#162a4c80}.ng-mydp .myDpSelector table.myDpCalTable td .myDpDimDay{opacity:1}.ng-mydp .myDpSelector table.myDpCalTable .myDpTableSingleDay:hover{background-color:#fff}.ng-mydp .myDpSelector table.myDpCalTable .myDpTableSingleDay:hover .myDpDayValue{background:#bee39d;color:#162a4ce6}.ng-mydp .myDpSelector table.myDpCalTable .myDpSelectedDay,.ng-mydp .myDpSelector table.myDpCalTable .myDpSelectedMonth,.ng-mydp .myDpSelector table.myDpCalTable .myDpSelectedYear{background-color:#fff;border-radius:0}.ng-mydp .myDpSelector .myDpMonthTable{height:128px;width:calc(100% - 20px);margin:0 10px}.ng-mydp .myDpSelector .myDpMonthTable td .myDpMonthValue{display:inline-block;height:28px;width:80px;background:#f0f2f5;vertical-align:middle;text-align:center;line-height:28px;font-weight:400;font-size:13px;color:#162a4ce6;border-radius:4px}.ng-mydp .myDpSelector .myDpMonthTable td .myDpMonthValue.myDpMarkCurrMonth{border:0;color:#376bfb}.ng-mydp .myDpSelector .myDpMonthTable td .myDpMonthValue:hover{background:#bee39d}.ng-mydp .myDpSelector .myDpMonthTable td.myDpDisabled{background:unset}.ng-mydp .myDpSelector .myDpMonthTable td.myDpDisabled .myDpMonthValue{background:unset!important;color:#162a4c80!important;cursor:not-allowed}.ng-mydp .myDpSelector .myDpMonthTable td.myDpSelectedMonth{background-color:#fff}.ng-mydp .myDpSelector .myDpMonthTable td.myDpSelectedMonth .myDpMonthValue{background:#6ab72a!important;color:#fff!important}.ng-mydp .myDpSelector .myDpMonthTable td.myDpTableSingleMonth:hover{background-color:#fff}.ng-mydp .myDpSelector .myDpYearTable{height:160px;width:calc(100% - 20px);margin:0 10px}.ng-mydp .myDpSelector .myDpYearTable td .myDpYearValue{display:inline-block;height:28px;width:46px;background:#f0f2f5;vertical-align:middle;text-align:center;line-height:28px;font-weight:400;font-size:13px;color:#162a4ce6;border-radius:4px}.ng-mydp .myDpSelector .myDpYearTable td .myDpYearValue.myDpMarkCurrYear{border:0;color:#376bfb}.ng-mydp .myDpSelector .myDpYearTable td .myDpYearValue:hover{background:#bee39d}.ng-mydp .myDpSelector .myDpYearTable td.myDpDisabled{background:unset}.ng-mydp .myDpSelector .myDpYearTable td.myDpDisabled .myDpYearValue{background:unset!important;color:#162a4c80!important;cursor:not-allowed}.ng-mydp .myDpSelector .myDpYearTable td.myDpSelectedYear{background-color:#fff}.ng-mydp .myDpSelector .myDpYearTable td.myDpSelectedYear .myDpYearValue{background:#6ab72a!important;color:#fff!important}.ng-mydp .myDpSelector .myDpYearTable td.myDpTableSingleYear:hover{background-color:#fff}.ng-mydp .myDpSelectorArrow{height:272px!important;width:268px!important;margin-top:-12px}.ng-mydp .myDpSelectorArrow:after{display:none}.ng-mydp .myDpSelectorArrow:before{display:none}.mat-datepicker-toggle{margin-top:-.75rem}.date-input{margin-right:-.25rem}:host ::ng-deep .mat-mdc-icon-button{max-width:2.5rem;max-height:2.5rem}:host ::ng-deep .mat-mdc-icon-button .mat-icon{margin-top:-.25rem}.cancel-button,.apply-button{min-height:2.625rem}\n"], dependencies: [{ kind: "component", type: i1.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i3.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i3.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i3.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { kind: "directive", type: i3.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatePickerComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'ecabs-date-picker', providers: [
68
+ {
69
+ provide: NG_VALUE_ACCESSOR,
70
+ useExisting: EcabsDatePickerComponent,
71
+ multi: true,
72
+ },
73
+ ], template: "<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", styles: [".header{display:flex;align-items:center;padding:.5em}.header-label{flex:1;height:1em;font-weight:500;text-align:center}.select-date-label{color:var(--color-brand-dark);padding-top:1.6rem;padding-left:1.6rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-semibold{font-weight:600}.grid-picker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-right:.5rem}.ml-0{margin-left:0rem}.w-full{width:100%!important}.mat-calendar-table .mat-calendar-body tr:first-child[aria-hidden=true]{display:none}.mat-datepicker-toggle{padding-top:.75rem;margin-left:-2.25rem}.mat-calendar-body-label{visibility:hidden}.mat-calendar-body-cell-content{border-radius:.25rem!important}.mat-calendar-body-active .mat-calendar-body-today{color:var(--color-brand-light)!important;background-color:var(--color-brand-light2)!important}.mat-calendar .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--color-brand-light2);color:var(--color-black)}.mat-calendar .mat-calendar-body-cell.mat-calendar-body-active .mat-calendar-body-cell-content.mat-calendar-body-selected,.mat-calendar .mat-calendar-body-cell.mat-calendar-body-active:hover .mat-calendar-body-cell-content.mat-calendar-body-selected{background-color:var(--color-brand-light)!important;color:var(--color-white)!important}.mat-calendar .mat-calendar-body-selected{background-color:var(--color-brand-light);color:var(--color-white)!important}.mat-calendar .mat-calendar-body-selected .mat-calendar-body-today{color:var(--color-white)!important}.mat-calendar .mat-calendar-table-header,.mat-calendar .mat-calendar-body-label{color:var(--color-gray-500)}.mat-calendar .mat-calendar-body-cell>.mat-calendar-body-today{opacity:1}.mat-calendar .mat-calendar-body-cell-container:hover .mat-calendar-body-cell.mat-calendar-body-disabled .mat-calendar-body-cell-content{background-color:transparent!important}.mat-calendar .mat-calendar-body-cell-content,.mat-calendar .mat-date-range-input-separator{color:var(--color-black)}.mat-calendar .mat-calendar-content{padding:0 1.6rem}.mat-calendar .mat-calendar-table-header th{font-size:16px;font-size:1rem}.mat-calendar .mat-calendar-table-header-divider:after{display:none}.mat-calendar .mat-calendar-body{font-size:16px;font-size:1rem}.mat-calendar .mat-calendar-body-in-range:before{background-color:var(--color-brand-light2)}.mat-calendar .mat-calendar-body-in-range .mat-calendar-body-cell-content{color:var(--color-black)!important}.mat-calendar .mat-calendar-body-range-start .mat-calendar-body-cell-content,.mat-calendar .mat-calendar-body-range-end .mat-calendar-body-cell-content{color:var(--color-white)!important}.mat-datepicker-popup .mat-datepicker-content{color:var(--color-black);box-shadow:0 0 25px #0003}.mat-datepicker-popup .mat-datepicker-actions{margin-top:1rem;padding:0 1.6rem 1.6rem}.mat-datepicker-popup .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:var(--color-gray-300)}:root{--color-black: #07080d;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-100: #f5f6f9;--color-gray-200: #f8f9f9;--color-gray-300: #d9d9d9;--color-gray-400: #a6a6a6;--color-gray-500: #6b6d73;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #25bd3d;--color-success--opacity: #e8f8e5;--color-success-rgb: 37, 189, 61;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5)}ecabs-date-picker .dateTimeWrapper{position:relative;display:flex;width:100%}ecabs-date-picker .dateTimeWrapper .datePart{flex:2}ecabs-date-picker .dateTimeWrapper .timePart{flex:1;padding-left:10px;vertical-align:top;max-width:10rem}ecabs-date-picker .dateTimeWrapper .timePart ecabs-timepicker .timeInputWrapper{display:block}ecabs-date-picker .dateTimeWrapper .timePart ecabs-timepicker{width:100%}ecabs-date-picker .dateTimeWrapper .timePart ecabs-timepicker .inputWrapper{display:block}ecabs-date-picker .dateTimeWrapper .dateInputWrapper{position:relative}ecabs-date-picker .dateTimeWrapper input{min-height:42px;width:100%;display:block;box-sizing:border-box;font-size:14px;font-weight:500;padding-left:10px;border-radius:4px;border:1px solid rgb(107,109,115);outline:none;transition:all .3s ease-in-out}ecabs-date-picker .dateTimeWrapper input:disabled{border-bottom-width:1px;background-color:var(--color-white-opacity-05)}ecabs-date-picker .dateTimeWrapper input[type=date]::-webkit-calendar-picker-indicator,ecabs-date-picker .dateTimeWrapper input[type=date]::-webkit-inner-spin-button{display:none}ecabs-date-picker .dateTimeWrapper input[type=date]::-webkit-clear-button{display:none}ecabs-date-picker .dateTimeWrapper .calendar-icon{float:right;margin-top:-38px;padding:5px 10px 5px 5px;display:block;font-size:13px;line-height:20px;color:var(--color-gray-500);position:relative;width:40px;height:30px;cursor:pointer;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjQuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojNkI2RDczO30KPC9zdHlsZT4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTksNDRjLTAuOCwwLTEuNS0wLjMtMi4xLTAuOUM2LjMsNDIuNSw2LDQxLjgsNiw0MVYxMGMwLTAuOCwwLjMtMS41LDAuOS0yLjFTOC4yLDcsOSw3aDMuMlY0aDMuMnYzaDE3VjRoMy4ydjMKCUgzOWMwLjgsMCwxLjUsMC4zLDIuMSwwLjlDNDEuNyw4LjUsNDIsOS4yLDQyLDEwdjMxYzAsMC44LTAuMywxLjUtMC45LDIuMUM0MC41LDQzLjcsMzkuOCw0NCwzOSw0NEg5eiBNOSw0MWgzMGwwLDBsMCwwVjE5LjVIOVY0MQoJTDksNDFMOSw0MXogTTksMTYuNWgzMFYxMGwwLDBsMCwwSDlsMCwwbDAsMFYxNi41eiBNOSwxNi41VjEwbDAsMGwwLDBsMCwwbDAsMFYxNi41eiIvPgo8L3N2Zz4K);background-position:center center;background-repeat:no-repeat;background-size:1.375rem}ecabs-date-picker .dateTimeWrapper .calendar-icon.disabled{cursor:not-allowed}ecabs-date-picker .app-element-wrapper.focused label{color:#376bfb}ecabs-date-picker .app-element-wrapper.focused input{border-bottom-width:2px;border-bottom-color:#376bfb}ecabs-date-picker .app-element-wrapper.validationError label{color:#ff4c4c}ecabs-date-picker .app-element-wrapper.validationError input{border-bottom-color:#ff4c4c;border-bottom-width:2px}.ng-mydp .myDpSelector{border:0;padding:0;box-shadow:0 4px 6px #162a4c14,0 2px 16px #162a4c0f,0 8px 12px #162a4c0a;border-radius:0 0 4px 4px;background:white}.ng-mydp .myDpSelector:focus{box-shadow:0 4px 6px #162a4c14,0 2px 16px #162a4c0f,0 8px 12px #162a4c0a}.ng-mydp .myDpSelector .myDpWeekDayTitle{background-color:#fff;font-weight:500;font-size:11px;color:#162a4cb3}.ng-mydp .myDpSelector .myDpNextBtn{margin-left:auto;margin-right:16px}.ng-mydp .myDpSelector .myDpNextBtn .myDpIconRightArrow{line-height:26px;height:25px}.ng-mydp .myDpSelector .myDpNextBtn .myDpIconRightArrow:before{color:#376bfb;font-size:13px}.ng-mydp .myDpSelector .myDpPrevBtn{margin-left:16px}.ng-mydp .myDpSelector .myDpPrevBtn .myDpIconLeftArrow{line-height:26px;height:25px}.ng-mydp .myDpSelector .myDpPrevBtn .myDpIconLeftArrow:before{color:#376bfb;font-size:13px}.ng-mydp .myDpSelector .myDpMonthYearSelBar{height:52px;padding-top:10px;border:0}.ng-mydp .myDpSelector .myDpMonthYearText button{font-weight:500;font-size:13px;line-height:20px;color:#376bfb}.ng-mydp .myDpSelector .myDpMonthYearText .myDpMonthBtn{padding-right:7px;position:relative;margin-right:15px}.ng-mydp .myDpSelector .myDpMonthYearText .myDpMonthBtn:after{position:absolute;content:\"\";height:14px;width:1px;right:-7px;top:6px;background:rgba(22,42,76,.5)}.ng-mydp .myDpSelector .myDpMonthYearText .myDpYearBtn{padding-left:6px}.ng-mydp .myDpSelector .myDpCalTable{height:calc(100% - 54px);width:calc(100% - 20px);margin:0 10px}.ng-mydp .myDpSelector table.myDpCalTable td .myDpDayValue{border-radius:4px;background:#f0f2f5;display:inline-block;box-sizing:border-box;width:32px;height:28px;font-size:13px;line-height:28px;text-align:center;color:#162a4ce6}.ng-mydp .myDpSelector table.myDpCalTable td .myDpDayValue.myDpMarkCurrDay{border-bottom:0;color:#376bfb}.ng-mydp .myDpSelector table.myDpCalTable td.myDpSelectedDay .myDpDayValue{color:#fff!important;background:#6ab72a!important}.ng-mydp .myDpSelector table.myDpCalTable td.myDpDisabled{background:unset}.ng-mydp .myDpSelector table.myDpCalTable td.myDpDisabled .myDpDayValue{background:unset!important;color:#162a4c80;cursor:not-allowed}.ng-mydp .myDpSelector table.myDpCalTable td.myDpDisabled .myDpDayValue:hover{background:unset!important}.ng-mydp .myDpSelector table.myDpCalTable td.myDpRangeColor{background-color:#fff}.ng-mydp .myDpSelector table.myDpCalTable td.myDpRangeColor .myDpDayValue{background:#bee39d!important}.ng-mydp .myDpSelector table.myDpCalTable td.myDpRangeColor.myDpSelectedDay .myDpDayValue{color:#fff!important;background:#6ab72a!important}.ng-mydp .myDpSelector table.myDpCalTable td.myDpDaycell:focus{box-shadow:unset;outline:unset}.ng-mydp .myDpSelector table.myDpCalTable td.myDpPrevMonth .myDpDayValue,.ng-mydp .myDpSelector table.myDpCalTable td.myDpNextMonth .myDpDayValue{background:#f6f7f9;color:#162a4c80}.ng-mydp .myDpSelector table.myDpCalTable td .myDpDimDay{opacity:1}.ng-mydp .myDpSelector table.myDpCalTable .myDpTableSingleDay:hover{background-color:#fff}.ng-mydp .myDpSelector table.myDpCalTable .myDpTableSingleDay:hover .myDpDayValue{background:#bee39d;color:#162a4ce6}.ng-mydp .myDpSelector table.myDpCalTable .myDpSelectedDay,.ng-mydp .myDpSelector table.myDpCalTable .myDpSelectedMonth,.ng-mydp .myDpSelector table.myDpCalTable .myDpSelectedYear{background-color:#fff;border-radius:0}.ng-mydp .myDpSelector .myDpMonthTable{height:128px;width:calc(100% - 20px);margin:0 10px}.ng-mydp .myDpSelector .myDpMonthTable td .myDpMonthValue{display:inline-block;height:28px;width:80px;background:#f0f2f5;vertical-align:middle;text-align:center;line-height:28px;font-weight:400;font-size:13px;color:#162a4ce6;border-radius:4px}.ng-mydp .myDpSelector .myDpMonthTable td .myDpMonthValue.myDpMarkCurrMonth{border:0;color:#376bfb}.ng-mydp .myDpSelector .myDpMonthTable td .myDpMonthValue:hover{background:#bee39d}.ng-mydp .myDpSelector .myDpMonthTable td.myDpDisabled{background:unset}.ng-mydp .myDpSelector .myDpMonthTable td.myDpDisabled .myDpMonthValue{background:unset!important;color:#162a4c80!important;cursor:not-allowed}.ng-mydp .myDpSelector .myDpMonthTable td.myDpSelectedMonth{background-color:#fff}.ng-mydp .myDpSelector .myDpMonthTable td.myDpSelectedMonth .myDpMonthValue{background:#6ab72a!important;color:#fff!important}.ng-mydp .myDpSelector .myDpMonthTable td.myDpTableSingleMonth:hover{background-color:#fff}.ng-mydp .myDpSelector .myDpYearTable{height:160px;width:calc(100% - 20px);margin:0 10px}.ng-mydp .myDpSelector .myDpYearTable td .myDpYearValue{display:inline-block;height:28px;width:46px;background:#f0f2f5;vertical-align:middle;text-align:center;line-height:28px;font-weight:400;font-size:13px;color:#162a4ce6;border-radius:4px}.ng-mydp .myDpSelector .myDpYearTable td .myDpYearValue.myDpMarkCurrYear{border:0;color:#376bfb}.ng-mydp .myDpSelector .myDpYearTable td .myDpYearValue:hover{background:#bee39d}.ng-mydp .myDpSelector .myDpYearTable td.myDpDisabled{background:unset}.ng-mydp .myDpSelector .myDpYearTable td.myDpDisabled .myDpYearValue{background:unset!important;color:#162a4c80!important;cursor:not-allowed}.ng-mydp .myDpSelector .myDpYearTable td.myDpSelectedYear{background-color:#fff}.ng-mydp .myDpSelector .myDpYearTable td.myDpSelectedYear .myDpYearValue{background:#6ab72a!important;color:#fff!important}.ng-mydp .myDpSelector .myDpYearTable td.myDpTableSingleYear:hover{background-color:#fff}.ng-mydp .myDpSelectorArrow{height:272px!important;width:268px!important;margin-top:-12px}.ng-mydp .myDpSelectorArrow:after{display:none}.ng-mydp .myDpSelectorArrow:before{display:none}.mat-datepicker-toggle{margin-top:-.75rem}.date-input{margin-right:-.25rem}:host ::ng-deep .mat-mdc-icon-button{max-width:2.5rem;max-height:2.5rem}:host ::ng-deep .mat-mdc-icon-button .mat-icon{margin-top:-.25rem}.cancel-button,.apply-button{min-height:2.625rem}\n"] }]
74
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { minDate: [{
75
+ type: Input
76
+ }], maxDate: [{
77
+ type: Input
78
+ }], touchUi: [{
79
+ type: Input
80
+ }], cancleLabel: [{
81
+ type: Input
82
+ }], applyLabel: [{
83
+ type: Input
84
+ }], selectDateLabel: [{
85
+ type: Input
86
+ }], onblur: [{
87
+ type: Output
88
+ }] } });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRhdGUtcGlja2VyL2VjYWJzLWRhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXBpY2tlci9lY2Ficy1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQVksS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQTRDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hHLE9BQU8sb0JBQW9CLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMEVBQTBFLENBQUM7Ozs7Ozs7QUFjMUgsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG9CQUFvQjtJQXlCM0M7SUF4QlosT0FBTyxDQUFPO0lBQ2QsT0FBTyxDQUFPO0lBQ2QsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixXQUFXLEdBQUcsUUFBUSxDQUFDO0lBQ3ZCLFVBQVUsR0FBRyxPQUFPLENBQUM7SUFDckIsZUFBZSxHQUFHLGFBQWEsQ0FBQztJQUUvQixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUUzQyxHQUFHLENBQWtCO0lBQ3JCLE1BQU0sR0FBRyw4QkFBOEIsQ0FBQztJQUV4QyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFFLEdBQW9CO1FBQzdCLElBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFHO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBRSxHQUFHLENBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxDQUFFLEdBQUcsQ0FBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELFlBQXFCLFFBQWtCO1FBQ3JDLEtBQUssRUFBRSxDQUFDO1FBRFcsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUV2QyxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sU0FBUyxHQUFjLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFFLFNBQVMsRUFBRSxJQUFJLENBQUUsQ0FBQztRQUNsRSxJQUFLLFNBQVMsRUFBRztZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQTZCLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsUUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxQixPQUFPLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRXpCLFVBQVUsQ0FBRSxLQUFVO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxFQUFPO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxVQUFVLENBQUUsQ0FBTTtRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBRSxDQUFDLENBQUUsQ0FBQztJQUN4QixDQUFDO3dHQXJEVSx3QkFBd0I7NEZBQXhCLHdCQUF3Qiw2T0FSeEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsd0JBQXdCO2dCQUNyQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDZkgsa3NDQStCQTs7NEZEZGEsd0JBQXdCO2tCQVpwQyxTQUFTOytCQUNFLG1CQUFtQixhQUdsQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLDBCQUEwQjs0QkFDckMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7K0ZBR1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcbmltcG9ydCB7IEVjYWJzRGF0ZVBpY2tlckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lY2Ficy1kYXRlLXBpY2tlci1oZWFkZXIvZWNhYnMtZGF0ZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KCB7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1kYXRlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWRhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4vZWNhYnMtZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNEYXRlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0RhdGVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBFbGVtZW50QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlO1xyXG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGU7XHJcbiAgQElucHV0KCkgdG91Y2hVaSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNhbmNsZUxhYmVsID0gJ0NhbmNlbCc7XHJcbiAgQElucHV0KCkgYXBwbHlMYWJlbCA9ICdBcHBseSc7XHJcbiAgQElucHV0KCkgc2VsZWN0RGF0ZUxhYmVsID0gJ1NlbGVjdCBkYXRlJztcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICB2YWw6IHN0cmluZyB8IG51bWJlcjtcclxuICBoZWFkZXIgPSBFY2Fic0RhdGVQaWNrZXJIZWFkZXJDb21wb25lbnQ7XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsO1xyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKCB2YWw6IHN0cmluZyB8IG51bWJlciApIHtcclxuICAgIGlmICggdmFsICYmIHRoaXMudmFsICE9PSB2YWwgKSB7XHJcbiAgICAgIHRoaXMudmFsID0gdmFsO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKCB2YWwgKTtcclxuICAgICAgdGhpcy5vblRvdWNoKCB2YWwgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCBOZ0NvbnRyb2wsIG51bGwgKTtcclxuICAgIGlmICggbmdDb250cm9sICkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgd3JpdGVWYWx1ZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZCggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgYmx1ckNoYW5nZSggZTogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vbmJsdXIuZW1pdCggZSApO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQtLXdyYXBwZXJcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IGRhdGUtaW5wdXRcIlxyXG4gICAgICBbaWRdPVwibmFtZVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxyXG4gICAgICBbbWluXT1cIm1pbkRhdGVcIlxyXG4gICAgICBbbWF4XT1cIm1heERhdGVcIlxyXG4gICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgLz5cclxuICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBtYXREYXRlcGlja2VyVG9nZ2xlSWNvbj5jYWxlbmRhcl90b2RheTwvbWF0LWljb24+XHJcbiAgICA8L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyIFtjYWxlbmRhckhlYWRlckNvbXBvbmVudF09XCJoZWFkZXJcIiBbdG91Y2hVaV09XCJ0b3VjaFVpXCI+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXBpY2tlci1hY3Rpb25zIHctZnVsbFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidy1mdWxsIGNhbmNlbC1idXR0b25cIiBjb2xvcj1cInByaW1hcnlcIiBtYXREYXRlcGlja2VyQ2FuY2VsPlxyXG4gICAgICAgICAgICB7eyBjYW5jbGVMYWJlbCB9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInctZnVsbCBtbC0wIGJ0biBhcHBseS1idXR0b25cIiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIG1hdERhdGVwaWNrZXJBcHBseT5cclxuICAgICAgICAgICAge3sgYXBwbHlMYWJlbCB9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgIDwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgPC9kaXY+XHJcbjwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
@@ -0,0 +1,48 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatDatepickerModule } from '@angular/material/datepicker';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';
7
+ import { EcabsPickerHeaderModule } from '../ecabs-picker-header/ecabs-picker-header.module';
8
+ import { EcabsDatePickerHeaderComponent } from './components/ecabs-date-picker-header/ecabs-date-picker-header.component';
9
+ import { EcabsDatePickerComponent } from './ecabs-date-picker.component';
10
+ import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';
11
+ import * as i0 from "@angular/core";
12
+ export class EcabsDatePickerModule {
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatePickerModule, declarations: [EcabsDatePickerComponent, EcabsDatePickerHeaderComponent], imports: [CommonModule,
15
+ ElementWrapperModule,
16
+ MatIconModule,
17
+ MatDatepickerModule,
18
+ FormsModule,
19
+ ReactiveFormsModule,
20
+ EcabsPickerHeaderModule,
21
+ MatButtonModule], exports: [EcabsDatePickerComponent, EcabsDatePickerHeaderComponent] });
22
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatePickerModule, imports: [CommonModule,
23
+ ElementWrapperModule,
24
+ MatIconModule,
25
+ MatDatepickerModule,
26
+ FormsModule,
27
+ ReactiveFormsModule,
28
+ EcabsPickerHeaderModule,
29
+ MatButtonModule] });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatePickerModule, decorators: [{
32
+ type: NgModule,
33
+ args: [{
34
+ declarations: [EcabsDatePickerComponent, EcabsDatePickerHeaderComponent],
35
+ imports: [
36
+ CommonModule,
37
+ ElementWrapperModule,
38
+ MatIconModule,
39
+ MatDatepickerModule,
40
+ FormsModule,
41
+ ReactiveFormsModule,
42
+ EcabsPickerHeaderModule,
43
+ MatButtonModule
44
+ ],
45
+ exports: [EcabsDatePickerComponent, EcabsDatePickerHeaderComponent],
46
+ }]
47
+ }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRhdGUtcGlja2VyL2VjYWJzLWRhdGUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDBFQUEwRSxDQUFDO0FBQ3hILE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxlQUFlLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFpQnpGLE1BQU0sT0FBTyxxQkFBcUI7d0dBQXJCLHFCQUFxQjt5R0FBckIscUJBQXFCLGlCQWJqQix3QkFBd0IsRUFBRSw4QkFBOEIsYUFFckUsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLGVBQWUsYUFFUCx3QkFBd0IsRUFBRSw4QkFBOEI7eUdBRXZELHFCQUFxQixZQVg5QixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsZUFBZTs7NEZBSU4scUJBQXFCO2tCQWRqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHdCQUF3QixFQUFFLDhCQUE4QixDQUFDO29CQUN4RSxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSw4QkFBOEIsQ0FBQztpQkFDcEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtNYXREYXRlcGlja2VyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuXHJcbmltcG9ydCB7RWxlbWVudFdyYXBwZXJNb2R1bGV9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC13cmFwcGVyL2VsZW1lbnQtd3JhcHBlci5tb2R1bGUnO1xyXG5pbXBvcnQge0VjYWJzUGlja2VySGVhZGVyTW9kdWxlfSBmcm9tICcuLi9lY2Ficy1waWNrZXItaGVhZGVyL2VjYWJzLXBpY2tlci1oZWFkZXIubW9kdWxlJztcclxuaW1wb3J0IHtFY2Fic0RhdGVQaWNrZXJIZWFkZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9lY2Ficy1kYXRlLXBpY2tlci1oZWFkZXIvZWNhYnMtZGF0ZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RWNhYnNEYXRlUGlja2VyQ29tcG9uZW50fSBmcm9tICcuL2VjYWJzLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TWF0TGVnYWN5QnV0dG9uTW9kdWxlIGFzIE1hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWJ1dHRvbic7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtFY2Fic0RhdGVQaWNrZXJDb21wb25lbnQsIEVjYWJzRGF0ZVBpY2tlckhlYWRlckNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRWxlbWVudFdyYXBwZXJNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEVjYWJzUGlja2VySGVhZGVyTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbRWNhYnNEYXRlUGlja2VyQ29tcG9uZW50LCBFY2Fic0RhdGVQaWNrZXJIZWFkZXJDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEYXRlUGlja2VyTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../ecabs-picker-header/ecabs-picker-header.component";
4
+ export class EcabsDateTimePickerHeaderComponent {
5
+ headerLabel = 'Select date and time';
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateTimePickerHeaderComponent, selector: "ecabs-time-date-picker-header", inputs: { headerLabel: "headerLabel" }, ngImport: i0, template: "<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", styles: [".select-date-label{color:var(--color-brand-dark);padding-top:1.6rem;padding-left:1.6rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-semibold{font-weight:600}\n"], dependencies: [{ kind: "component", type: i1.EcabsPickerHeaderComponent, selector: "ecabs-picker-header" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerHeaderComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: 'ecabs-time-date-picker-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [".select-date-label{color:var(--color-brand-dark);padding-top:1.6rem;padding-left:1.6rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-semibold{font-weight:600}\n"] }]
12
+ }], propDecorators: { headerLabel: [{
13
+ type: Input
14
+ }] } });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRhdGUtdGltZS1waWNrZXIvY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9jb21wb25lbnRzL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRMUUsTUFBTSxPQUFPLGtDQUFrQztJQUNwQyxXQUFXLEdBQUcsc0JBQXNCLENBQUM7d0dBRG5DLGtDQUFrQzs0RkFBbEMsa0NBQWtDLDZHQ1IvQyw2SUFJQTs7NEZESWEsa0NBQWtDO2tCQU45QyxTQUFTOytCQUNFLCtCQUErQixtQkFHeEIsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KCB7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy10aW1lLWRhdGUtcGlja2VyLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4vZWNhYnMtZGF0ZS10aW1lLXBpY2tlci1oZWFkZXIuY29tcG9uZW50LnNjc3MnIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEYXRlVGltZVBpY2tlckhlYWRlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaGVhZGVyTGFiZWwgPSAnU2VsZWN0IGRhdGUgYW5kIHRpbWUnO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzZWxlY3QtZGF0ZS1sYWJlbCB0ZXh0LXhsIGZvbnQtc2VtaWJvbGRcIj5cclxuICB7eyBoZWFkZXJMYWJlbCB9fVxyXG48L2Rpdj5cclxuPGVjYWJzLXBpY2tlci1oZWFkZXI+PC9lY2Ficy1waWNrZXItaGVhZGVyPlxyXG4iXX0=
@@ -0,0 +1,186 @@
1
+ import { DecimalPipe } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { format, isValid, parse, setHours, setMinutes, setSeconds } from 'date-fns';
4
+ import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
5
+ import ElementBaseComponent from '../base/element-base';
6
+ import { EcabsDateTimePickerHeaderComponent } from './components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "../base/element-wrapper/element-wrapper.component";
10
+ import * as i3 from "@angular/material/icon";
11
+ import * as i4 from "@angular/material/datepicker";
12
+ import * as i5 from "@angular/material/legacy-button";
13
+ import * as i6 from "@angular/forms";
14
+ import * as i7 from "../base/directives/digits-only.directive";
15
+ import * as i8 from "../base/directives/number-border.directive";
16
+ import * as i9 from "../base/directives/date-mask.directive";
17
+ export class EcabsDateTimePickerComponent extends ElementBaseComponent {
18
+ injector;
19
+ decimalPipe;
20
+ minDate;
21
+ maxDate;
22
+ touchUi = false;
23
+ hideSeconds = true;
24
+ cancleLabel = 'Cancel';
25
+ applyLabel = 'Apply';
26
+ selectDateLabel = 'Select date and time';
27
+ onblur = new EventEmitter();
28
+ _hours = '12';
29
+ _minutes = '00';
30
+ _seconds = '00';
31
+ _date;
32
+ _pickerValue;
33
+ val;
34
+ header = EcabsDateTimePickerHeaderComponent;
35
+ maxValueHours = 23;
36
+ maxValueMinutesSeconds = 59;
37
+ get value() {
38
+ return this.val;
39
+ }
40
+ get pickerValue() {
41
+ return this._pickerValue;
42
+ }
43
+ get hours() {
44
+ return this._hours;
45
+ }
46
+ get minutes() {
47
+ return this._minutes;
48
+ }
49
+ get seconds() {
50
+ return this._seconds;
51
+ }
52
+ set hours(value) {
53
+ if (value !== undefined && this._hours !== value) {
54
+ this._hours = this.roundNumber(+value);
55
+ }
56
+ }
57
+ set minutes(value) {
58
+ if (value !== undefined && this._minutes !== value) {
59
+ this._minutes = this.roundNumber(+value);
60
+ }
61
+ }
62
+ set seconds(value) {
63
+ if (value !== undefined && this._seconds !== value) {
64
+ this._seconds = this.roundNumber(+value);
65
+ }
66
+ }
67
+ set value(val) {
68
+ if (val && this.val !== new Date(val)) {
69
+ this.val = new Date(val);
70
+ this.pickerValue = this.formatDateTime(val);
71
+ this.onChange(val);
72
+ this.onTouch(val);
73
+ }
74
+ }
75
+ set pickerValue(val) {
76
+ if (val) {
77
+ const date = parse(val.replace('_', ''), this.hideSeconds ? `dd/MM/yyyy, HH:mm` : `dd/MM/yyyy, HH:mm:ss`, new Date());
78
+ if (isValid(date) && this._pickerValue !== val) {
79
+ this._pickerValue = val;
80
+ this.value = date;
81
+ }
82
+ }
83
+ }
84
+ constructor(injector, decimalPipe) {
85
+ super();
86
+ this.injector = injector;
87
+ this.decimalPipe = decimalPipe;
88
+ }
89
+ ngAfterViewInit() {
90
+ const ngControl = this.injector.get(NgControl, null);
91
+ if (ngControl) {
92
+ this.control = ngControl.control;
93
+ setTimeout(() => {
94
+ const controlDate = !!this.control.value ? new Date(this.control.value) : new Date();
95
+ if (controlDate) {
96
+ this.setValues(controlDate);
97
+ }
98
+ }, 10);
99
+ }
100
+ }
101
+ onChange = () => { };
102
+ onTouch = () => { };
103
+ writeValue(value) {
104
+ this.value = value;
105
+ }
106
+ registerOnChange(fn) {
107
+ this.onChange = fn;
108
+ }
109
+ registerOnTouched(fn) {
110
+ this.onTouch = fn;
111
+ }
112
+ blurChange(e) {
113
+ this.onblur.emit(e);
114
+ }
115
+ onApply() {
116
+ if (this._date && this._seconds && this._minutes && this._hours) {
117
+ const date = setSeconds(setMinutes(setHours(new Date(this._date), +this._hours), +this._minutes), +this._seconds);
118
+ if (this.minDate && date < this.minDate) {
119
+ this.setValues(this.minDate);
120
+ this.value = this.minDate;
121
+ return;
122
+ }
123
+ if (this.maxDate && date > this.maxDate) {
124
+ this.setValues(this.maxDate);
125
+ this.value = this.maxDate;
126
+ return;
127
+ }
128
+ this.value = date;
129
+ }
130
+ }
131
+ formatDateTime(date) {
132
+ let result = '';
133
+ if (date && isValid(new Date(date))) {
134
+ result = this.hideSeconds
135
+ ? format(new Date(date), `dd/MM/yyyy, HH:mm`)
136
+ : format(new Date(date), `dd/MM/yyyy, HH:mm:ss`);
137
+ }
138
+ return result;
139
+ }
140
+ roundNumber(num) {
141
+ return this.decimalPipe.transform(num, '2.0-0') ?? '00';
142
+ }
143
+ setValues(date) {
144
+ this._date = date;
145
+ this.hours = date.getHours().toString();
146
+ this.minutes = date.getMinutes().toString();
147
+ this.seconds = date.getSeconds().toString();
148
+ }
149
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerComponent, deps: [{ token: i0.Injector }, { token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
150
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateTimePickerComponent, selector: "ecabs-date-time-picker", inputs: { minDate: "minDate", maxDate: "maxDate", touchUi: "touchUi", hideSeconds: "hideSeconds", cancleLabel: "cancleLabel", applyLabel: "applyLabel", selectDateLabel: "selectDateLabel" }, outputs: { onblur: "onblur" }, providers: [
151
+ {
152
+ provide: NG_VALUE_ACCESSOR,
153
+ useExisting: EcabsDateTimePickerComponent,
154
+ multi: true,
155
+ },
156
+ DecimalPipe,
157
+ ], usesInheritance: true, ngImport: i0, template: "<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", styles: [".time--inputs:before,.time--inputs:after{position:absolute;content:\"\"}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}.datepicker-toggle{transform:translate(-1.25rem);background-color:inherit;left:-.125rem}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0;margin:0}.date-input{margin:0rem -.25rem 0rem .125rem}.time--inputs{position:relative;margin-top:2.4rem;margin-bottom:2.4rem}.time--inputs:before,.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}.time--inputs:before{top:-1.6rem}.time--inputs:after{bottom:-1.6rem}.font-bold{font-weight:700}.actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}.time-inputs{display:flex;gap:.5rem;justify-content:center;align-items:center}.grid-picker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-picker-actions button{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i4.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { kind: "directive", type: i4.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "component", type: i5.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i8.NumberBorderDirective, selector: "[appNumberBorder]", inputs: ["maxValue", "minValue"] }, { kind: "directive", type: i9.MaskDateDirective, selector: "[appMaskDate]", inputs: ["isDateTimeMask", "considerSeconds"] }] });
158
+ }
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerComponent, decorators: [{
160
+ type: Component,
161
+ args: [{ selector: 'ecabs-date-time-picker', providers: [
162
+ {
163
+ provide: NG_VALUE_ACCESSOR,
164
+ useExisting: EcabsDateTimePickerComponent,
165
+ multi: true,
166
+ },
167
+ DecimalPipe,
168
+ ], template: "<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", styles: [".time--inputs:before,.time--inputs:after{position:absolute;content:\"\"}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}.datepicker-toggle{transform:translate(-1.25rem);background-color:inherit;left:-.125rem}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0;margin:0}.date-input{margin:0rem -.25rem 0rem .125rem}.time--inputs{position:relative;margin-top:2.4rem;margin-bottom:2.4rem}.time--inputs:before,.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}.time--inputs:before{top:-1.6rem}.time--inputs:after{bottom:-1.6rem}.font-bold{font-weight:700}.actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}.time-inputs{display:flex;gap:.5rem;justify-content:center;align-items:center}.grid-picker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-picker-actions button{width:100%}\n"] }]
169
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.DecimalPipe }]; }, propDecorators: { minDate: [{
170
+ type: Input
171
+ }], maxDate: [{
172
+ type: Input
173
+ }], touchUi: [{
174
+ type: Input
175
+ }], hideSeconds: [{
176
+ type: Input
177
+ }], cancleLabel: [{
178
+ type: Input
179
+ }], applyLabel: [{
180
+ type: Input
181
+ }], selectDateLabel: [{
182
+ type: Input
183
+ }], onblur: [{
184
+ type: Output
185
+ }] } });
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBWSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFNBQVMsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG9GQUFvRixDQUFDOzs7Ozs7Ozs7OztBQWV4SSxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsb0JBQW9CO0lBa0Z0QztJQUFxQztJQWpGMUQsT0FBTyxDQUFPO0lBQ2QsT0FBTyxDQUFPO0lBQ2QsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQ25CLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFDdkIsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUNyQixlQUFlLEdBQUcsc0JBQXNCLENBQUM7SUFFeEMsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFM0MsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNkLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixLQUFLLENBQU87SUFDWixZQUFZLENBQVM7SUFDckIsR0FBRyxDQUFPO0lBQ1YsTUFBTSxHQUFHLGtDQUFrQyxDQUFDO0lBQzVDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDbkIsc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0lBRTVCLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBRSxLQUFhO1FBQ3RCLElBQUssS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRztZQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUUsQ0FBQyxLQUFLLENBQUUsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBRSxLQUFhO1FBQ3hCLElBQUssS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssRUFBRztZQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUUsQ0FBQyxLQUFLLENBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBRSxLQUFhO1FBQ3hCLElBQUssS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssRUFBRztZQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUUsQ0FBQyxLQUFLLENBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBRSxHQUFHO1FBQ1osSUFBSyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBRSxHQUFHLENBQUUsRUFBRztZQUN6QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFFLEdBQUcsQ0FBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBRSxHQUFHLENBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFFLEdBQUcsQ0FBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUUsR0FBRyxDQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUUsR0FBVztRQUMxQixJQUFLLEdBQUcsRUFBRztZQUNULE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FDaEIsR0FBRyxDQUFDLE9BQU8sQ0FBRSxHQUFHLEVBQUUsRUFBRSxDQUFFLEVBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxzQkFBc0IsRUFDL0QsSUFBSSxJQUFJLEVBQUUsQ0FDWCxDQUFDO1lBQ0YsSUFBSyxPQUFPLENBQUUsSUFBSSxDQUFFLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxHQUFHLEVBQUc7Z0JBQ2xELElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO2dCQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQzthQUNuQjtTQUNGO0lBQ0gsQ0FBQztJQUVELFlBQThCLFFBQWtCLEVBQW1CLFdBQXdCO1FBQ3pGLEtBQUssRUFBRSxDQUFDO1FBRG9CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBbUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFFM0YsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFNBQVMsR0FBYyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBRSxTQUFTLEVBQUUsSUFBSSxDQUFFLENBQUM7UUFDbEUsSUFBSyxTQUFTLEVBQUc7WUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUE2QixDQUFDO1lBRXZELFVBQVUsQ0FBRSxHQUFHLEVBQUU7Z0JBQ2YsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUV2RixJQUFLLFdBQVcsRUFBRztvQkFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBRSxXQUFXLENBQUUsQ0FBQztpQkFDL0I7WUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFFLENBQUM7U0FDVDtJQUNILENBQUM7SUFFRCxRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLE9BQU8sR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFekIsVUFBVSxDQUFFLEtBQVU7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFFLEVBQU87UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFFLEVBQU87UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVUsQ0FBRSxDQUFNO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHO1lBQ2pFLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBRSxVQUFVLENBQUUsUUFBUSxDQUFFLElBQUksSUFBSSxDQUFFLElBQUksQ0FBQyxLQUFLLENBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUUsQ0FBQztZQUUxSCxJQUFLLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUc7Z0JBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBRTFCLE9BQU87YUFDUjtZQUVELElBQUssSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRztnQkFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBRSxJQUFJLENBQUMsT0FBTyxDQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFFMUIsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFFLElBQVU7UUFDaEMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWhCLElBQUssSUFBSSxJQUFJLE9BQU8sQ0FBRSxJQUFJLElBQUksQ0FBRSxJQUFJLENBQUUsQ0FBRSxFQUFHO1lBQ3pDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVztnQkFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBRSxJQUFJLElBQUksQ0FBRSxJQUFJLENBQUUsRUFBRSxtQkFBbUIsQ0FBRTtnQkFDakQsQ0FBQyxDQUFDLE1BQU0sQ0FBRSxJQUFJLElBQUksQ0FBRSxJQUFJLENBQUUsRUFBRSxzQkFBc0IsQ0FBRSxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLFdBQVcsQ0FBRSxHQUFXO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBRSxJQUFJLElBQUksQ0FBQztJQUM1RCxDQUFDO0lBRU8sU0FBUyxDQUFFLElBQVU7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUMsQ0FBQzt3R0FuS1UsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsOFFBVDVCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLDRCQUE0QjtnQkFDekMsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNELFdBQVc7U0FDWixpRENsQkgsbytGQXVGQTs7NEZEbkVhLDRCQUE0QjtrQkFieEMsU0FBUzsrQkFDRSx3QkFBd0IsYUFHdkI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyw4QkFBOEI7NEJBQ3pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELFdBQVc7cUJBQ1o7eUhBR1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JtYXQsIGlzVmFsaWQsIHBhcnNlLCBzZXRIb3Vycywgc2V0TWludXRlcywgc2V0U2Vjb25kcyB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEVsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlVGltZVBpY2tlckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtZGF0ZS10aW1lLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIERlY2ltYWxQaXBlLFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEYXRlVGltZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGU7XHJcbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZTtcclxuICBASW5wdXQoKSB0b3VjaFVpID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZVNlY29uZHMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNhbmNsZUxhYmVsID0gJ0NhbmNlbCc7XHJcbiAgQElucHV0KCkgYXBwbHlMYWJlbCA9ICdBcHBseSc7XHJcbiAgQElucHV0KCkgc2VsZWN0RGF0ZUxhYmVsID0gJ1NlbGVjdCBkYXRlIGFuZCB0aW1lJztcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBfaG91cnMgPSAnMTInO1xyXG4gIF9taW51dGVzID0gJzAwJztcclxuICBfc2Vjb25kcyA9ICcwMCc7XHJcbiAgX2RhdGU6IERhdGU7XHJcbiAgX3BpY2tlclZhbHVlOiBzdHJpbmc7XHJcbiAgdmFsOiBEYXRlO1xyXG4gIGhlYWRlciA9IEVjYWJzRGF0ZVRpbWVQaWNrZXJIZWFkZXJDb21wb25lbnQ7XHJcbiAgbWF4VmFsdWVIb3VycyA9IDIzO1xyXG4gIG1heFZhbHVlTWludXRlc1NlY29uZHMgPSA1OTtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IERhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBpY2tlclZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGlja2VyVmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgaG91cnMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9ob3VycztcclxuICB9XHJcblxyXG4gIGdldCBtaW51dGVzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWludXRlcztcclxuICB9XHJcblxyXG4gIGdldCBzZWNvbmRzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2Vjb25kcztcclxuICB9XHJcblxyXG4gIHNldCBob3VycyggdmFsdWU6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9ob3VycyAhPT0gdmFsdWUgKSB7XHJcbiAgICAgIHRoaXMuX2hvdXJzID0gdGhpcy5yb3VuZE51bWJlciggK3ZhbHVlICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgbWludXRlcyggdmFsdWU6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9taW51dGVzICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5fbWludXRlcyA9IHRoaXMucm91bmROdW1iZXIoICt2YWx1ZSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IHNlY29uZHMoIHZhbHVlOiBzdHJpbmcgKSB7XHJcbiAgICBpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fc2Vjb25kcyAhPT0gdmFsdWUgKSB7XHJcbiAgICAgIHRoaXMuX3NlY29uZHMgPSB0aGlzLnJvdW5kTnVtYmVyKCArdmFsdWUgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSggdmFsICkge1xyXG4gICAgaWYgKCB2YWwgJiYgdGhpcy52YWwgIT09IG5ldyBEYXRlKCB2YWwgKSApIHtcclxuICAgICAgdGhpcy52YWwgPSBuZXcgRGF0ZSggdmFsICk7XHJcbiAgICAgIHRoaXMucGlja2VyVmFsdWUgPSB0aGlzLmZvcm1hdERhdGVUaW1lKCB2YWwgKTtcclxuICAgICAgdGhpcy5vbkNoYW5nZSggdmFsICk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCggdmFsICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgcGlja2VyVmFsdWUoIHZhbDogc3RyaW5nICkge1xyXG4gICAgaWYgKCB2YWwgKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZShcclxuICAgICAgICB2YWwucmVwbGFjZSggJ18nLCAnJyApLFxyXG4gICAgICAgIHRoaXMuaGlkZVNlY29uZHMgPyBgZGQvTU0veXl5eSwgSEg6bW1gIDogYGRkL01NL3l5eXksIEhIOm1tOnNzYCxcclxuICAgICAgICBuZXcgRGF0ZSgpXHJcbiAgICAgICk7XHJcbiAgICAgIGlmICggaXNWYWxpZCggZGF0ZSApICYmIHRoaXMuX3BpY2tlclZhbHVlICE9PSB2YWwgKSB7XHJcbiAgICAgICAgdGhpcy5fcGlja2VyVmFsdWUgPSB2YWw7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSByZWFkb25seSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldCggTmdDb250cm9sLCBudWxsICk7XHJcbiAgICBpZiAoIG5nQ29udHJvbCApIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG5cclxuICAgICAgc2V0VGltZW91dCggKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xEYXRlID0gISF0aGlzLmNvbnRyb2wudmFsdWUgPyBuZXcgRGF0ZSggdGhpcy5jb250cm9sLnZhbHVlICkgOiBuZXcgRGF0ZSgpO1xyXG5cclxuICAgICAgICBpZiAoIGNvbnRyb2xEYXRlICkge1xyXG4gICAgICAgICAgdGhpcy5zZXRWYWx1ZXMoIGNvbnRyb2xEYXRlICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAxMCApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gIHdyaXRlVmFsdWUoIHZhbHVlOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIGJsdXJDaGFuZ2UoIGU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25ibHVyLmVtaXQoIGUgKTtcclxuICB9XHJcblxyXG4gIG9uQXBwbHkoKTogdm9pZCB7XHJcbiAgICBpZiAoIHRoaXMuX2RhdGUgJiYgdGhpcy5fc2Vjb25kcyAmJiB0aGlzLl9taW51dGVzICYmIHRoaXMuX2hvdXJzICkge1xyXG4gICAgICBjb25zdCBkYXRlID0gc2V0U2Vjb25kcyggc2V0TWludXRlcyggc2V0SG91cnMoIG5ldyBEYXRlKCB0aGlzLl9kYXRlICksICt0aGlzLl9ob3VycyApLCArdGhpcy5fbWludXRlcyApLCArdGhpcy5fc2Vjb25kcyApO1xyXG5cclxuICAgICAgaWYgKCB0aGlzLm1pbkRhdGUgJiYgZGF0ZSA8IHRoaXMubWluRGF0ZSApIHtcclxuICAgICAgICB0aGlzLnNldFZhbHVlcyggdGhpcy5taW5EYXRlICk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWluRGF0ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIHRoaXMubWF4RGF0ZSAmJiBkYXRlID4gdGhpcy5tYXhEYXRlICkge1xyXG4gICAgICAgIHRoaXMuc2V0VmFsdWVzKCB0aGlzLm1heERhdGUgKTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXhEYXRlO1xyXG5cclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudmFsdWUgPSBkYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXREYXRlVGltZSggZGF0ZTogRGF0ZSApOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG5cclxuICAgIGlmICggZGF0ZSAmJiBpc1ZhbGlkKCBuZXcgRGF0ZSggZGF0ZSApICkgKSB7XHJcbiAgICAgIHJlc3VsdCA9IHRoaXMuaGlkZVNlY29uZHNcclxuICAgICAgICA/IGZvcm1hdCggbmV3IERhdGUoIGRhdGUgKSwgYGRkL01NL3l5eXksIEhIOm1tYCApXHJcbiAgICAgICAgOiBmb3JtYXQoIG5ldyBEYXRlKCBkYXRlICksIGBkZC9NTS95eXl5LCBISDptbTpzc2AgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByb3VuZE51bWJlciggbnVtOiBudW1iZXIgKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0oIG51bSwgJzIuMC0wJyApID8/ICcwMCc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZhbHVlcyggZGF0ZTogRGF0ZSApOiB2b2lkIHtcclxuICAgIHRoaXMuX2RhdGUgPSBkYXRlO1xyXG4gICAgdGhpcy5ob3VycyA9IGRhdGUuZ2V0SG91cnMoKS50b1N0cmluZygpO1xyXG4gICAgdGhpcy5taW51dGVzID0gZGF0ZS5nZXRNaW51dGVzKCkudG9TdHJpbmcoKTtcclxuICAgIHRoaXMuc2Vjb25kcyA9IGRhdGUuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0td3JhcHBlciB3LWZ1bGxcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZha2UtaW5wdXRcIlxyXG4gICAgICBbaWRdPVwiX2RhdGVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cIl9kYXRlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcclxuICAgICAgW21pbl09XCJtaW5EYXRlXCJcclxuICAgICAgW21heF09XCJtYXhEYXRlXCJcclxuICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgIC8+XHJcbiAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlciBbY2FsZW5kYXJIZWFkZXJDb21wb25lbnRdPVwiaGVhZGVyXCIgW3RvdWNoVWldPVwidG91Y2hVaVwiPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtaW5wdXRzIHRpbWUtLWlucHV0c1wiPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbaWRdPVwiaG91cnNcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJfaG91cnNcIlxyXG4gICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZUhvdXJzXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImhvdXJzXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj46PC9zcGFuPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgIFtpZF09XCJtaW51dGVzXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1pbnV0ZXNcIlxyXG4gICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVNaW51dGVzU2Vjb25kc1wiXHJcbiAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVTZWNvbmRzXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj46PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB0aW1lXCJcclxuICAgICAgICAgICAgICAgIFtpZF09XCJzZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2Vjb25kc1wiXHJcbiAgICAgICAgICAgICAgICBhcHBEaWdpdHNPbmx5XHJcbiAgICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlTWludXRlc1NlY29uZHNcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtcGlja2VyLWFjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidy1mdWxsIGNhbmNlbC1idXR0b25cIiBjb2xvcj1cInByaW1hcnlcIiBtYXREYXRlcGlja2VyQ2FuY2VsPlxyXG4gICAgICAgICAgICAgIHt7IGNhbmNsZUxhYmVsIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBtbC0wIGFwcGx5LWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICBtYXREYXRlcGlja2VyQXBwbHlcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25BcHBseSgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBhcHBseUxhYmVsIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgIDwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB3LWZ1bGwgZGF0ZS1pbnB1dFwiXHJcbiAgICAgIFtpZF09XCJuYW1lXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJwaWNrZXJWYWx1ZVwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIGFwcE1hc2tEYXRlXHJcbiAgICAgIFtpc0RhdGVUaW1lTWFza109XCJ0cnVlXCJcclxuICAgICAgW2NvbnNpZGVyU2Vjb25kc109XCIhaGlkZVNlY29uZHNcIlxyXG4gICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgLz5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cImRhdGVwaWNrZXItdG9nZ2xlXCIgKGNsaWNrKT1cInBpY2tlci5vcGVuKClcIj5cclxuICAgICAgPG1hdC1pY29uPmNhbGVuZGFyX3RvZGF5PC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2FwcC1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==