@testgorilla/tgo-ui 3.9.4 → 3.9.5-beta-20.0.1

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 (441) hide show
  1. package/fesm2022/testgorilla-tgo-ui.mjs +713 -767
  2. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  3. package/index.d.ts +7060 -3
  4. package/package.json +15 -16
  5. package/projects/tgo-canopy-ui/assets/icons/Switch-tab.svg +3 -0
  6. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-tab-filled.svg +3 -0
  7. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-tab-in-line.svg +3 -0
  8. package/projects/tgo-canopy-ui/theme/_input.scss +1 -1
  9. package/projects/tgo-canopy-ui/theme/_palette.scss +2 -1
  10. package/projects/tgo-canopy-ui/theme/_tooltip.scss +4 -4
  11. package/components/accordion/accordion.component.d.ts +0 -100
  12. package/components/accordion/accordion.component.module.d.ts +0 -12
  13. package/components/accordion/accordion.model.d.ts +0 -2
  14. package/components/ai-feedback/ai-feedback.component.d.ts +0 -15
  15. package/components/ai-feedback/ai-feedback.model.d.ts +0 -1
  16. package/components/ai-feedback/ai-feedback.module.d.ts +0 -10
  17. package/components/alert-banner/alert-banner.component.d.ts +0 -132
  18. package/components/alert-banner/alert-banner.component.module.d.ts +0 -11
  19. package/components/alert-banner/alert-banner.model.d.ts +0 -1
  20. package/components/autocomplete/autocomplete.component.d.ts +0 -314
  21. package/components/autocomplete/autocomplete.component.module.d.ts +0 -24
  22. package/components/autocomplete/autocomplete.model.d.ts +0 -22
  23. package/components/autocomplete/includes.pipe.d.ts +0 -12
  24. package/components/autocomplete/prevent-input.directive.d.ts +0 -7
  25. package/components/autocomplete/transform-Item.pipe.d.ts +0 -11
  26. package/components/avatar/avatar.component.d.ts +0 -67
  27. package/components/avatar/avatar.component.module.d.ts +0 -13
  28. package/components/avatar/avatar.model.d.ts +0 -16
  29. package/components/badge/badge.component.d.ts +0 -59
  30. package/components/badge/badge.component.module.d.ts +0 -10
  31. package/components/badge/badge.model.d.ts +0 -37
  32. package/components/button/button.component.d.ts +0 -235
  33. package/components/button/button.component.module.d.ts +0 -16
  34. package/components/button/button.model.d.ts +0 -14
  35. package/components/card/card.component.d.ts +0 -75
  36. package/components/card/card.component.module.d.ts +0 -9
  37. package/components/card/card.model.d.ts +0 -2
  38. package/components/checkbox/checkbox.component.d.ts +0 -193
  39. package/components/checkbox/checkbox.component.module.d.ts +0 -18
  40. package/components/checkbox/focus-visible.directive.d.ts +0 -12
  41. package/components/checklist/checklist.component.d.ts +0 -85
  42. package/components/checklist/checklist.model.d.ts +0 -9
  43. package/components/confirm-dialog/confirm-dialog.component.d.ts +0 -38
  44. package/components/confirm-dialog/confirm-dialog.component.module.d.ts +0 -12
  45. package/components/confirm-dialog/confirm-dialog.model.d.ts +0 -19
  46. package/components/datepicker/date-adapter.d.ts +0 -34
  47. package/components/datepicker/datepicker.component.d.ts +0 -214
  48. package/components/datepicker/datepicker.component.module.d.ts +0 -18
  49. package/components/datepicker/datepicker.service.d.ts +0 -8
  50. package/components/datepicker/no-date-format.directive.d.ts +0 -11
  51. package/components/deprecated-paginator/deprecated-paginator.component.d.ts +0 -38
  52. package/components/deprecated-paginator/deprecated-paginator.component.module.d.ts +0 -9
  53. package/components/dialog/dialog.component.d.ts +0 -162
  54. package/components/dialog/dialog.component.module.d.ts +0 -11
  55. package/components/dialog/dialog.model.d.ts +0 -12
  56. package/components/dialog/dialog.service.d.ts +0 -14
  57. package/components/divider/divider.component.d.ts +0 -39
  58. package/components/divider/divider.component.module.d.ts +0 -9
  59. package/components/divider/divider.model.d.ts +0 -1
  60. package/components/donut-chart/donut-chart.component.d.ts +0 -34
  61. package/components/donut-chart/donut-chart.component.model.d.ts +0 -6
  62. package/components/donut-chart/donut-chart.component.module.d.ts +0 -8
  63. package/components/dropdown/dropdown.component.d.ts +0 -214
  64. package/components/dropdown/dropdown.component.module.d.ts +0 -17
  65. package/components/dropdown/dropdown.model.d.ts +0 -6
  66. package/components/elevation-shadow/elevation-shadow.component.d.ts +0 -26
  67. package/components/elevation-shadow/elevation-shadow.component.module.d.ts +0 -8
  68. package/components/elevation-shadow/elevation-shadow.constant.d.ts +0 -8
  69. package/components/empty-state/empty-state.component.d.ts +0 -202
  70. package/components/empty-state/empty-state.component.module.d.ts +0 -11
  71. package/components/empty-state/empty-state.model.d.ts +0 -3
  72. package/components/field/field.component.d.ts +0 -361
  73. package/components/field/field.component.module.d.ts +0 -19
  74. package/components/field/field.model.d.ts +0 -1
  75. package/components/file-upload/file-upload.component.d.ts +0 -137
  76. package/components/file-upload/file-upload.component.module.d.ts +0 -14
  77. package/components/filter-button/filter-button.component.d.ts +0 -140
  78. package/components/filter-button/filter-button.component.module.d.ts +0 -18
  79. package/components/filter-button/filter-button.model.d.ts +0 -13
  80. package/components/gaussian-chart/gaussian-chart.component.d.ts +0 -75
  81. package/components/gaussian-chart/gaussian-chart.module.d.ts +0 -13
  82. package/components/icon/icon.component.d.ts +0 -72
  83. package/components/icon/icon.component.module.d.ts +0 -10
  84. package/components/icon/icon.config.d.ts +0 -10
  85. package/components/icon/icon.model.d.ts +0 -7
  86. package/components/icon-label/icon-label.component.d.ts +0 -46
  87. package/components/icon-label/icon-label.component.module.d.ts +0 -9
  88. package/components/logo/logo.component.d.ts +0 -66
  89. package/components/logo/logo.component.module.d.ts +0 -8
  90. package/components/logo/logo.model.d.ts +0 -29
  91. package/components/media-card/media-card.component.d.ts +0 -32
  92. package/components/multi-input/multi-input.component.d.ts +0 -171
  93. package/components/multi-input/multi-input.component.module.d.ts +0 -18
  94. package/components/multi-input/multi-input.model.d.ts +0 -1
  95. package/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.d.ts +0 -27
  96. package/components/navbar/navbar.component.d.ts +0 -126
  97. package/components/navbar/navbar.component.module.d.ts +0 -21
  98. package/components/navbar/navbar.model.d.ts +0 -21
  99. package/components/overflow-menu/overflow-menu.component.d.ts +0 -96
  100. package/components/overflow-menu/overflow-menu.component.module.d.ts +0 -15
  101. package/components/overflow-menu/overflow-menu.model.d.ts +0 -28
  102. package/components/page-header/page-header.component.d.ts +0 -38
  103. package/components/page-header/page-header.component.module.d.ts +0 -10
  104. package/components/paginator/paginator.component.d.ts +0 -58
  105. package/components/paginator/paginator.component.module.d.ts +0 -9
  106. package/components/password-criteria/password.component.d.ts +0 -44
  107. package/components/password-criteria/password.component.module.d.ts +0 -13
  108. package/components/password-strength/password-strength.component.d.ts +0 -45
  109. package/components/password-strength/password-strength.component.module.d.ts +0 -11
  110. package/components/phone-input/join-strings.pipe.d.ts +0 -7
  111. package/components/phone-input/phone-input.component.d.ts +0 -147
  112. package/components/phone-input/phone-input.component.module.d.ts +0 -20
  113. package/components/phone-input/phone-input.model.d.ts +0 -8
  114. package/components/progress-bar/progress-bar.component.d.ts +0 -73
  115. package/components/progress-bar/progress-bar.component.module.d.ts +0 -10
  116. package/components/radial-progress/radial-progress.component.d.ts +0 -75
  117. package/components/radial-progress/radial-progress.component.module.d.ts +0 -10
  118. package/components/radial-progress/radial-progress.model.d.ts +0 -10
  119. package/components/radio-button/radio-button.component.d.ts +0 -182
  120. package/components/radio-button/radio-button.component.module.d.ts +0 -15
  121. package/components/radio-button/radio-button.model.d.ts +0 -4
  122. package/components/rating/half-star.pipe.d.ts +0 -14
  123. package/components/rating/rating.component.d.ts +0 -71
  124. package/components/rating/rating.component.module.d.ts +0 -10
  125. package/components/scale/scale.component.d.ts +0 -54
  126. package/components/scale/scale.component.module.d.ts +0 -8
  127. package/components/scale-table/scale-table.component.d.ts +0 -39
  128. package/components/scale-table/scale-table.model.d.ts +0 -5
  129. package/components/segmented-bar/segmented-bar.component.d.ts +0 -63
  130. package/components/segmented-bar/segmented-bar.component.module.d.ts +0 -12
  131. package/components/segmented-bar/segmented-bar.model.d.ts +0 -12
  132. package/components/segmented-button/segmented-button.component.d.ts +0 -55
  133. package/components/segmented-button/segmented-button.component.module.d.ts +0 -11
  134. package/components/segmented-button/segmented-button.model.d.ts +0 -8
  135. package/components/side-panel/side-panel-data-injection-token.d.ts +0 -2
  136. package/components/side-panel/side-panel.animations.d.ts +0 -3
  137. package/components/side-panel/side-panel.component.d.ts +0 -19
  138. package/components/side-panel/side-panel.model.d.ts +0 -19
  139. package/components/side-panel/side-panel.service.d.ts +0 -21
  140. package/components/side-sheet/side-sheet.component.d.ts +0 -43
  141. package/components/side-sheet/side-sheet.component.module.d.ts +0 -14
  142. package/components/side-sheet/side-sheet.model.d.ts +0 -10
  143. package/components/side-sheet/side-sheet.service.d.ts +0 -14
  144. package/components/skeleton/skeleton.component.d.ts +0 -27
  145. package/components/skeleton/skeleton.model.d.ts +0 -2
  146. package/components/slider/slider.component.d.ts +0 -116
  147. package/components/slider/slider.component.module.d.ts +0 -7
  148. package/components/slider/slider.model.d.ts +0 -5
  149. package/components/snackbar/snackbar.component.d.ts +0 -119
  150. package/components/snackbar/snackbar.component.module.d.ts +0 -13
  151. package/components/snackbar/snackbar.model.d.ts +0 -2
  152. package/components/snackbar/snackbar.service.d.ts +0 -16
  153. package/components/spider-chart/spider-chart.component.d.ts +0 -90
  154. package/components/spider-chart/spider-chart.model.d.ts +0 -12
  155. package/components/spider-chart/spider-chart.module.d.ts +0 -13
  156. package/components/spinner/spinner.component.d.ts +0 -59
  157. package/components/spinner/spinner.model.d.ts +0 -1
  158. package/components/spinner/spinner.module.d.ts +0 -10
  159. package/components/step/step.component.d.ts +0 -184
  160. package/components/step/step.component.module.d.ts +0 -11
  161. package/components/stepper/stepper.component.d.ts +0 -102
  162. package/components/stepper/stepper.component.module.d.ts +0 -15
  163. package/components/stepper/stepper.model.d.ts +0 -23
  164. package/components/table/sentence-case.pipe.d.ts +0 -7
  165. package/components/table/table.component.d.ts +0 -117
  166. package/components/table/table.component.module.d.ts +0 -20
  167. package/components/table/table.model.d.ts +0 -104
  168. package/components/tabs/tab.directive.d.ts +0 -28
  169. package/components/tabs/tabs.component.d.ts +0 -77
  170. package/components/tabs/tabs.component.module.d.ts +0 -13
  171. package/components/tabs/tabs.model.d.ts +0 -20
  172. package/components/tag/tag.component.d.ts +0 -131
  173. package/components/tag/tag.component.module.d.ts +0 -13
  174. package/components/tag/tag.model.d.ts +0 -1
  175. package/components/toggle/toggle.component.d.ts +0 -113
  176. package/components/toggle/toggle.component.module.d.ts +0 -14
  177. package/components/toggle/toggle.model.d.ts +0 -1
  178. package/components/tooltip/tooltip-template.directive.d.ts +0 -27
  179. package/components/tooltip/tooltip.component.d.ts +0 -64
  180. package/components/tooltip/tooltip.component.module.d.ts +0 -12
  181. package/components/tooltip/tooltip.model.d.ts +0 -8
  182. package/components/universal-skills-report/universal-skills-report.component.d.ts +0 -33
  183. package/components/universal-skills-report/universal-skills-report.component.module.d.ts +0 -14
  184. package/components/universal-skills-spider-charts/universal-skills-spider-charts.component.d.ts +0 -47
  185. package/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.d.ts +0 -16
  186. package/components/validation-error/validation-error.component.d.ts +0 -22
  187. package/components/validation-error/validation-error.model.d.ts +0 -1
  188. package/components/validation-error/validation-error.module.d.ts +0 -10
  189. package/directives/digits-only.directive.d.ts +0 -17
  190. package/directives/drag-drop.directive.d.ts +0 -12
  191. package/directives/dynamic-component.directive.d.ts +0 -20
  192. package/directives/ellipse-text.directive.d.ts +0 -20
  193. package/directives/select-text.directive.d.ts +0 -19
  194. package/directives/step-line-element.directive.d.ts +0 -17
  195. package/esm2022/assets/i18n/da-dk.json +0 -181
  196. package/esm2022/assets/i18n/de.json +0 -181
  197. package/esm2022/assets/i18n/en.json +0 -820
  198. package/esm2022/assets/i18n/es.json +0 -181
  199. package/esm2022/assets/i18n/fr.json +0 -181
  200. package/esm2022/assets/i18n/it-it.json +0 -181
  201. package/esm2022/assets/i18n/ja-jp.json +0 -181
  202. package/esm2022/assets/i18n/nb-no.json +0 -181
  203. package/esm2022/assets/i18n/nl.json +0 -181
  204. package/esm2022/assets/i18n/pl-pl.json +0 -181
  205. package/esm2022/assets/i18n/pt-br.json +0 -181
  206. package/esm2022/assets/i18n/sv-se.json +0 -181
  207. package/esm2022/components/accordion/accordion.component.mjs +0 -135
  208. package/esm2022/components/accordion/accordion.component.module.mjs +0 -40
  209. package/esm2022/components/accordion/accordion.model.mjs +0 -2
  210. package/esm2022/components/ai-feedback/ai-feedback.component.mjs +0 -35
  211. package/esm2022/components/ai-feedback/ai-feedback.model.mjs +0 -2
  212. package/esm2022/components/ai-feedback/ai-feedback.module.mjs +0 -20
  213. package/esm2022/components/alert-banner/alert-banner.component.mjs +0 -198
  214. package/esm2022/components/alert-banner/alert-banner.component.module.mjs +0 -21
  215. package/esm2022/components/alert-banner/alert-banner.model.mjs +0 -2
  216. package/esm2022/components/autocomplete/autocomplete.component.mjs +0 -814
  217. package/esm2022/components/autocomplete/autocomplete.component.module.mjs +0 -77
  218. package/esm2022/components/autocomplete/autocomplete.model.mjs +0 -25
  219. package/esm2022/components/autocomplete/includes.pipe.mjs +0 -25
  220. package/esm2022/components/autocomplete/prevent-input.directive.mjs +0 -27
  221. package/esm2022/components/autocomplete/transform-Item.pipe.mjs +0 -32
  222. package/esm2022/components/avatar/avatar.component.mjs +0 -104
  223. package/esm2022/components/avatar/avatar.component.module.mjs +0 -23
  224. package/esm2022/components/avatar/avatar.model.mjs +0 -21
  225. package/esm2022/components/badge/badge.component.mjs +0 -109
  226. package/esm2022/components/badge/badge.component.module.mjs +0 -20
  227. package/esm2022/components/badge/badge.model.mjs +0 -38
  228. package/esm2022/components/button/button.component.mjs +0 -445
  229. package/esm2022/components/button/button.component.module.mjs +0 -51
  230. package/esm2022/components/button/button.model.mjs +0 -2
  231. package/esm2022/components/card/card.component.mjs +0 -132
  232. package/esm2022/components/card/card.component.module.mjs +0 -19
  233. package/esm2022/components/card/card.model.mjs +0 -2
  234. package/esm2022/components/checkbox/checkbox.component.mjs +0 -329
  235. package/esm2022/components/checkbox/checkbox.component.module.mjs +0 -28
  236. package/esm2022/components/checkbox/focus-visible.directive.mjs +0 -40
  237. package/esm2022/components/checklist/checklist.component.mjs +0 -157
  238. package/esm2022/components/checklist/checklist.model.mjs +0 -2
  239. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +0 -66
  240. package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +0 -29
  241. package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +0 -2
  242. package/esm2022/components/datepicker/date-adapter.mjs +0 -39
  243. package/esm2022/components/datepicker/datepicker.component.mjs +0 -333
  244. package/esm2022/components/datepicker/datepicker.component.module.mjs +0 -60
  245. package/esm2022/components/datepicker/datepicker.service.mjs +0 -20
  246. package/esm2022/components/datepicker/no-date-format.directive.mjs +0 -56
  247. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +0 -55
  248. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +0 -20
  249. package/esm2022/components/dialog/dialog.component.mjs +0 -274
  250. package/esm2022/components/dialog/dialog.component.module.mjs +0 -23
  251. package/esm2022/components/dialog/dialog.model.mjs +0 -2
  252. package/esm2022/components/dialog/dialog.service.mjs +0 -36
  253. package/esm2022/components/divider/divider.component.mjs +0 -65
  254. package/esm2022/components/divider/divider.component.module.mjs +0 -19
  255. package/esm2022/components/divider/divider.model.mjs +0 -2
  256. package/esm2022/components/donut-chart/donut-chart.component.mjs +0 -122
  257. package/esm2022/components/donut-chart/donut-chart.component.model.mjs +0 -2
  258. package/esm2022/components/donut-chart/donut-chart.component.module.mjs +0 -20
  259. package/esm2022/components/dropdown/dropdown.component.mjs +0 -378
  260. package/esm2022/components/dropdown/dropdown.component.module.mjs +0 -57
  261. package/esm2022/components/dropdown/dropdown.model.mjs +0 -2
  262. package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +0 -45
  263. package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +0 -18
  264. package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +0 -9
  265. package/esm2022/components/empty-state/empty-state.component.mjs +0 -301
  266. package/esm2022/components/empty-state/empty-state.component.module.mjs +0 -21
  267. package/esm2022/components/empty-state/empty-state.model.mjs +0 -2
  268. package/esm2022/components/field/field.component.mjs +0 -544
  269. package/esm2022/components/field/field.component.module.mjs +0 -64
  270. package/esm2022/components/field/field.model.mjs +0 -2
  271. package/esm2022/components/file-upload/file-upload.component.mjs +0 -296
  272. package/esm2022/components/file-upload/file-upload.component.module.mjs +0 -40
  273. package/esm2022/components/filter-button/filter-button.component.mjs +0 -255
  274. package/esm2022/components/filter-button/filter-button.component.module.mjs +0 -58
  275. package/esm2022/components/filter-button/filter-button.model.mjs +0 -2
  276. package/esm2022/components/gaussian-chart/gaussian-chart.component.mjs +0 -246
  277. package/esm2022/components/gaussian-chart/gaussian-chart.module.mjs +0 -42
  278. package/esm2022/components/icon/icon.component.mjs +0 -162
  279. package/esm2022/components/icon/icon.component.module.mjs +0 -21
  280. package/esm2022/components/icon/icon.config.mjs +0 -749
  281. package/esm2022/components/icon/icon.model.mjs +0 -2
  282. package/esm2022/components/icon-label/icon-label.component.mjs +0 -62
  283. package/esm2022/components/icon-label/icon-label.component.module.mjs +0 -20
  284. package/esm2022/components/logo/logo.component.mjs +0 -165
  285. package/esm2022/components/logo/logo.component.module.mjs +0 -18
  286. package/esm2022/components/logo/logo.model.mjs +0 -32
  287. package/esm2022/components/media-card/media-card.component.mjs +0 -47
  288. package/esm2022/components/multi-input/multi-input.component.mjs +0 -331
  289. package/esm2022/components/multi-input/multi-input.component.module.mjs +0 -58
  290. package/esm2022/components/multi-input/multi-input.model.mjs +0 -2
  291. package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +0 -86
  292. package/esm2022/components/navbar/navbar.component.mjs +0 -212
  293. package/esm2022/components/navbar/navbar.component.module.mjs +0 -71
  294. package/esm2022/components/navbar/navbar.model.mjs +0 -2
  295. package/esm2022/components/overflow-menu/overflow-menu.component.mjs +0 -214
  296. package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +0 -25
  297. package/esm2022/components/overflow-menu/overflow-menu.model.mjs +0 -2
  298. package/esm2022/components/page-header/page-header.component.mjs +0 -71
  299. package/esm2022/components/page-header/page-header.component.module.mjs +0 -20
  300. package/esm2022/components/paginator/paginator.component.mjs +0 -87
  301. package/esm2022/components/paginator/paginator.component.module.mjs +0 -19
  302. package/esm2022/components/password-criteria/password.component.mjs +0 -111
  303. package/esm2022/components/password-criteria/password.component.module.mjs +0 -39
  304. package/esm2022/components/password-strength/password-strength.component.mjs +0 -93
  305. package/esm2022/components/password-strength/password-strength.component.module.mjs +0 -21
  306. package/esm2022/components/phone-input/join-strings.pipe.mjs +0 -14
  307. package/esm2022/components/phone-input/phone-input.component.mjs +0 -353
  308. package/esm2022/components/phone-input/phone-input.component.module.mjs +0 -63
  309. package/esm2022/components/phone-input/phone-input.model.mjs +0 -2
  310. package/esm2022/components/progress-bar/progress-bar.component.mjs +0 -103
  311. package/esm2022/components/progress-bar/progress-bar.component.module.mjs +0 -21
  312. package/esm2022/components/radial-progress/radial-progress.component.mjs +0 -118
  313. package/esm2022/components/radial-progress/radial-progress.component.module.mjs +0 -20
  314. package/esm2022/components/radial-progress/radial-progress.model.mjs +0 -11
  315. package/esm2022/components/radio-button/radio-button.component.mjs +0 -329
  316. package/esm2022/components/radio-button/radio-button.component.module.mjs +0 -25
  317. package/esm2022/components/radio-button/radio-button.model.mjs +0 -2
  318. package/esm2022/components/rating/half-star.pipe.mjs +0 -23
  319. package/esm2022/components/rating/rating.component.mjs +0 -106
  320. package/esm2022/components/rating/rating.component.module.mjs +0 -20
  321. package/esm2022/components/scale/scale.component.mjs +0 -136
  322. package/esm2022/components/scale/scale.component.module.mjs +0 -18
  323. package/esm2022/components/scale-table/scale-table.component.mjs +0 -61
  324. package/esm2022/components/scale-table/scale-table.model.mjs +0 -2
  325. package/esm2022/components/segmented-bar/segmented-bar.component.mjs +0 -106
  326. package/esm2022/components/segmented-bar/segmented-bar.component.module.mjs +0 -22
  327. package/esm2022/components/segmented-bar/segmented-bar.model.mjs +0 -2
  328. package/esm2022/components/segmented-button/segmented-button.component.mjs +0 -104
  329. package/esm2022/components/segmented-button/segmented-button.component.module.mjs +0 -21
  330. package/esm2022/components/segmented-button/segmented-button.model.mjs +0 -2
  331. package/esm2022/components/side-panel/side-panel-data-injection-token.mjs +0 -3
  332. package/esm2022/components/side-panel/side-panel.animations.mjs +0 -26
  333. package/esm2022/components/side-panel/side-panel.component.mjs +0 -51
  334. package/esm2022/components/side-panel/side-panel.model.mjs +0 -23
  335. package/esm2022/components/side-panel/side-panel.service.mjs +0 -86
  336. package/esm2022/components/side-sheet/side-sheet.component.mjs +0 -105
  337. package/esm2022/components/side-sheet/side-sheet.component.module.mjs +0 -43
  338. package/esm2022/components/side-sheet/side-sheet.model.mjs +0 -2
  339. package/esm2022/components/side-sheet/side-sheet.service.mjs +0 -31
  340. package/esm2022/components/skeleton/skeleton.component.mjs +0 -74
  341. package/esm2022/components/skeleton/skeleton.model.mjs +0 -2
  342. package/esm2022/components/slider/slider.component.mjs +0 -256
  343. package/esm2022/components/slider/slider.component.module.mjs +0 -16
  344. package/esm2022/components/slider/slider.model.mjs +0 -2
  345. package/esm2022/components/snackbar/snackbar.component.mjs +0 -218
  346. package/esm2022/components/snackbar/snackbar.component.module.mjs +0 -25
  347. package/esm2022/components/snackbar/snackbar.model.mjs +0 -2
  348. package/esm2022/components/snackbar/snackbar.service.mjs +0 -40
  349. package/esm2022/components/spider-chart/spider-chart.component.mjs +0 -443
  350. package/esm2022/components/spider-chart/spider-chart.model.mjs +0 -4
  351. package/esm2022/components/spider-chart/spider-chart.module.mjs +0 -44
  352. package/esm2022/components/spinner/spinner.component.mjs +0 -84
  353. package/esm2022/components/spinner/spinner.model.mjs +0 -2
  354. package/esm2022/components/spinner/spinner.module.mjs +0 -20
  355. package/esm2022/components/step/step.component.mjs +0 -209
  356. package/esm2022/components/step/step.component.module.mjs +0 -21
  357. package/esm2022/components/stepper/stepper.component.mjs +0 -198
  358. package/esm2022/components/stepper/stepper.component.module.mjs +0 -44
  359. package/esm2022/components/stepper/stepper.model.mjs +0 -2
  360. package/esm2022/components/table/sentence-case.pipe.mjs +0 -19
  361. package/esm2022/components/table/table.component.mjs +0 -273
  362. package/esm2022/components/table/table.component.module.mjs +0 -61
  363. package/esm2022/components/table/table.model.mjs +0 -25
  364. package/esm2022/components/tabs/tab.directive.mjs +0 -63
  365. package/esm2022/components/tabs/tabs.component.mjs +0 -219
  366. package/esm2022/components/tabs/tabs.component.module.mjs +0 -23
  367. package/esm2022/components/tabs/tabs.model.mjs +0 -2
  368. package/esm2022/components/tag/tag.component.mjs +0 -212
  369. package/esm2022/components/tag/tag.component.module.mjs +0 -24
  370. package/esm2022/components/tag/tag.model.mjs +0 -2
  371. package/esm2022/components/toggle/toggle.component.mjs +0 -190
  372. package/esm2022/components/toggle/toggle.component.module.mjs +0 -24
  373. package/esm2022/components/toggle/toggle.model.mjs +0 -2
  374. package/esm2022/components/tooltip/tooltip-template.directive.mjs +0 -133
  375. package/esm2022/components/tooltip/tooltip.component.mjs +0 -108
  376. package/esm2022/components/tooltip/tooltip.component.module.mjs +0 -27
  377. package/esm2022/components/tooltip/tooltip.model.mjs +0 -8
  378. package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +0 -80
  379. package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +0 -43
  380. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.mjs +0 -109
  381. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.mjs +0 -52
  382. package/esm2022/components/validation-error/validation-error.component.mjs +0 -55
  383. package/esm2022/components/validation-error/validation-error.model.mjs +0 -2
  384. package/esm2022/components/validation-error/validation-error.module.mjs +0 -20
  385. package/esm2022/directives/digits-only.directive.mjs +0 -77
  386. package/esm2022/directives/drag-drop.directive.mjs +0 -55
  387. package/esm2022/directives/dynamic-component.directive.mjs +0 -40
  388. package/esm2022/directives/ellipse-text.directive.mjs +0 -51
  389. package/esm2022/directives/select-text.directive.mjs +0 -40
  390. package/esm2022/directives/step-line-element.directive.mjs +0 -51
  391. package/esm2022/models/application-theme.model.mjs +0 -2
  392. package/esm2022/models/checkbox.model.mjs +0 -2
  393. package/esm2022/models/colors.model.mjs +0 -78
  394. package/esm2022/models/keyboard-events.model.mjs +0 -13
  395. package/esm2022/models/screen-breakpoints.model.mjs +0 -7
  396. package/esm2022/models/universal-skills-report.model.mjs +0 -33
  397. package/esm2022/pipes/data-property-getter.mjs +0 -33
  398. package/esm2022/pipes/has-validation-error.pipe.mjs +0 -27
  399. package/esm2022/pipes/memoize-func.pipe.mjs +0 -39
  400. package/esm2022/pipes/name-initials.pipe.mjs +0 -25
  401. package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +0 -31
  402. package/esm2022/pipes/ui-translate.pipe.mjs +0 -81
  403. package/esm2022/providers/is-large-tablet.mjs +0 -11
  404. package/esm2022/providers/is-mobile.mjs +0 -11
  405. package/esm2022/public-api.mjs +0 -239
  406. package/esm2022/services/icons.service.mjs +0 -22
  407. package/esm2022/services/universal-skills.service.mjs +0 -85
  408. package/esm2022/testgorilla-tgo-ui.mjs +0 -5
  409. package/esm2022/utils/alert-bar.model.mjs +0 -2
  410. package/esm2022/utils/alert-bars.utils.mjs +0 -34
  411. package/esm2022/utils/autocomplete-utils.mjs +0 -78
  412. package/esm2022/utils/color-contrast.mjs +0 -131
  413. package/esm2022/utils/hex-to-rgb.mjs +0 -9
  414. package/esm2022/utils/localization/language.model.mjs +0 -16
  415. package/esm2022/utils/localization/language.service.mjs +0 -44
  416. package/esm2022/utils/table.utils.mjs +0 -25
  417. package/models/application-theme.model.d.ts +0 -1
  418. package/models/checkbox.model.d.ts +0 -1
  419. package/models/colors.model.d.ts +0 -63
  420. package/models/keyboard-events.model.d.ts +0 -11
  421. package/models/screen-breakpoints.model.d.ts +0 -5
  422. package/models/universal-skills-report.model.d.ts +0 -44
  423. package/pipes/data-property-getter.d.ts +0 -8
  424. package/pipes/has-validation-error.pipe.d.ts +0 -15
  425. package/pipes/memoize-func.pipe.d.ts +0 -26
  426. package/pipes/name-initials.pipe.d.ts +0 -7
  427. package/pipes/ui-ordinal-suffix.pipe.d.ts +0 -7
  428. package/pipes/ui-translate.pipe.d.ts +0 -32
  429. package/providers/is-large-tablet.d.ts +0 -2
  430. package/providers/is-mobile.d.ts +0 -2
  431. package/public-api.d.ts +0 -168
  432. package/services/icons.service.d.ts +0 -8
  433. package/services/universal-skills.service.d.ts +0 -13
  434. package/utils/alert-bar.model.d.ts +0 -2
  435. package/utils/alert-bars.utils.d.ts +0 -7
  436. package/utils/autocomplete-utils.d.ts +0 -12
  437. package/utils/color-contrast.d.ts +0 -28
  438. package/utils/hex-to-rgb.d.ts +0 -1
  439. package/utils/localization/language.model.d.ts +0 -14
  440. package/utils/localization/language.service.d.ts +0 -20
  441. package/utils/table.utils.d.ts +0 -6
@@ -1,333 +0,0 @@
1
- /* eslint-disable no-underscore-dangle */
2
- import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, Input, Optional, Output, Self, ViewEncapsulation, } from '@angular/core';
3
- import { FormControl, FormGroup } from '@angular/forms';
4
- import { adjustLightness } from '../../utils/color-contrast';
5
- import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
6
- import { UI_DATE_FORMATS, UiDateAdapter } from './date-adapter';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/platform-browser";
9
- import * as i2 from "@angular/forms";
10
- import * as i3 from "./datepicker.service";
11
- import * as i4 from "@angular/common";
12
- import * as i5 from "@angular/material/form-field";
13
- import * as i6 from "@angular/material/input";
14
- import * as i7 from "../icon/icon.component";
15
- import * as i8 from "@angular/material/datepicker";
16
- import * as i9 from "./no-date-format.directive";
17
- import * as i10 from "../validation-error/validation-error.component";
18
- import * as i11 from "../../pipes/ui-translate.pipe";
19
- import * as i12 from "../../pipes/has-validation-error.pipe";
20
- // eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
21
- export class DatepickerComponent {
22
- /**
23
- * Input field errors
24
- *
25
- * @type {string}
26
- * @memberof DatepickerComponent
27
- */
28
- set errors(errors) {
29
- this._errors = errors?.filter(Boolean).map(error => this.sanitizer.bypassSecurityTrustHtml(error));
30
- this.errorsLength = this.setErrorsLength();
31
- }
32
- /**
33
- * Use browser timezone
34
- * @type boolean
35
- * @memberof DatepickerComponent
36
- */
37
- set browserTimezone(value) {
38
- this.datepickerService.useBrowserTimezone = value;
39
- }
40
- constructor(defaultAppTheme, cdr, sanitizer, ngControl, datepickerService) {
41
- this.defaultAppTheme = defaultAppTheme;
42
- this.cdr = cdr;
43
- this.sanitizer = sanitizer;
44
- this.ngControl = ngControl;
45
- this.datepickerService = datepickerService;
46
- this.class = 'ui-datepicker';
47
- /**
48
- * Form field label
49
- *
50
- * @type {string}
51
- * @memberof DatepickerComponent
52
- */
53
- this.label = '';
54
- /**
55
- * Input placeholder
56
- *
57
- * @type {string}
58
- * @memberof DatepickerComponent
59
- */
60
- this.placeholder = '';
61
- /**
62
- * Input id
63
- *
64
- * @type {string}
65
- * @memberof DatepickerComponent
66
- */
67
- this.id = '';
68
- /**
69
- * Input is update only on blur
70
- *
71
- * @type {Boolean}
72
- * @memberof DatepickerComponent
73
- */
74
- this.updateOnBlur = false;
75
- /**
76
- * Show reserved content below form field
77
- *
78
- * @type {boolean}
79
- * @memberof DatepickerComponent
80
- */
81
- this.showBottomContent = true;
82
- /**
83
- * Set full width DatepickerComponent
84
- *
85
- * @type {boolean}
86
- * @memberof DatepickerComponent
87
- */
88
- this.fullWidth = false;
89
- /**
90
- * Show and pick date without day
91
- * @default false
92
- * @type {boolean}
93
- * @memberof DatepickerComponent
94
- */
95
- this.monthPicker = false;
96
- /**
97
- *
98
- * Defines the application theme
99
- *
100
- * @type {ApplicationTheme}
101
- * @memberof DatepickerComponent
102
- */
103
- this.applicationTheme = 'light';
104
- /**
105
- * Hide in-build errors for Reactive Forms
106
- *
107
- * @type {number}
108
- * @memberof DatepickerComponent
109
- */
110
- this.hideBuiltInErrors = false;
111
- /**
112
- * Hide label in errors
113
- *
114
- * @type {number}
115
- * @memberof DatepickerComponent
116
- */
117
- this.hideLabelInErrors = false;
118
- /**
119
- * Prevent user input
120
- *
121
- * @type {boolean}
122
- * @memberof DatepickerComponent
123
- */
124
- this.preventUserInput = false;
125
- /**
126
- * Color of the option hover.
127
- * Defaults to Test Gorilla primary color.
128
- *
129
- * @type {string}
130
- * @memberof DatepickerComponent
131
- */
132
- this.companyColor = '';
133
- /**
134
- * @ignore
135
- */
136
- this.onChange = (_) => { };
137
- /**
138
- * @ignore
139
- */
140
- this.onTouch = () => { };
141
- /**
142
- * Event emitted when the value is change - when used outside of form
143
- *
144
- * @type {Date}
145
- * @memberof DatepickerComponent
146
- */
147
- this.changed = new EventEmitter();
148
- this.range = new FormGroup({
149
- start: new FormControl(null),
150
- end: new FormControl(null),
151
- });
152
- this.translationContext = 'DATEPICKER.';
153
- if (defaultAppTheme) {
154
- this.applicationTheme = defaultAppTheme;
155
- }
156
- if (this.ngControl != null) {
157
- this.ngControl.valueAccessor = this;
158
- }
159
- }
160
- get hint() {
161
- if (this.hintMessage === undefined) {
162
- return this.isRange ? 'MM/DD/YYYY - MM/DD/YYYY' : this.monthPicker ? 'MM/YYYY' : 'MM/DD/YYYY';
163
- }
164
- return this.hintMessage;
165
- }
166
- /**
167
- * Used to mark component view as dirty when touched programmatically with markAsTouched/markAllAsTouched or errors
168
- * to display validation errors that might happen (e.g. required)
169
- */
170
- // eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
171
- ngDoCheck() {
172
- if (this.ngControl?.touched || this.ngControl?.errors) {
173
- this.cdr.markForCheck();
174
- }
175
- }
176
- // eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
177
- ngOnInit() {
178
- document.body.setAttribute('theme', this.applicationTheme);
179
- this.setStyleVariable();
180
- }
181
- // eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
182
- ngOnChanges(changes) {
183
- if (this.isRange) {
184
- this.setRange();
185
- }
186
- if (changes['companyColor']) {
187
- this.setStyleVariable();
188
- }
189
- }
190
- // Set errors length for validation
191
- // Consider only those errors which which are not empty
192
- setErrorsLength() {
193
- if (!!this._errors) {
194
- return this._errors.filter(err => !!err).length > 0 ? true : false;
195
- }
196
- return false;
197
- }
198
- onValueChange(value) {
199
- this.writeValue(value);
200
- this.errorsLength = this.setErrorsLength();
201
- if (!this.updateOnBlur) {
202
- this.onTouch();
203
- }
204
- this.onChange(value);
205
- this.changed.emit(value);
206
- }
207
- writeValue(value) {
208
- this.value = value;
209
- if (this.isRange) {
210
- this.setRange();
211
- }
212
- }
213
- registerOnChange(fn) {
214
- this.onChange = fn;
215
- }
216
- registerOnTouched(fn) {
217
- this.onTouch = fn;
218
- }
219
- setDisabledState(isDisabled) {
220
- this.disabled = isDisabled;
221
- this.cdr.markForCheck();
222
- }
223
- dateRangeChange() {
224
- const start = this.range.controls.start.value;
225
- const end = this.range.controls.end.value;
226
- this.onValueChange([start ? new Date(start) : start, end ? new Date(end) : end]);
227
- }
228
- setMonthAndYear(normalizedMonthAndYear, datepicker) {
229
- const ctrlValue = this.value || new Date();
230
- ctrlValue.setMonth(normalizedMonthAndYear.getMonth());
231
- ctrlValue.setFullYear(normalizedMonthAndYear.getFullYear());
232
- datepicker.close();
233
- this.onValueChange(new Date(ctrlValue));
234
- }
235
- setRange() {
236
- if (Array.isArray(this.value)) {
237
- const [start, end] = this.value;
238
- if (start) {
239
- this.range.controls.start.setValue(new Date(start));
240
- }
241
- if (end) {
242
- this.range.controls.end.setValue(new Date(end));
243
- }
244
- }
245
- if (!this.value) {
246
- this.range.controls.start.setValue(null);
247
- this.range.controls.end.setValue(null);
248
- }
249
- }
250
- onInput(event) {
251
- const target = event.target;
252
- const [month, year] = target.value.split('/');
253
- const date = new Date().getDate();
254
- const fullDateString = `${month}/${date}/${year}`;
255
- const fullDate = new Date(fullDateString);
256
- this.onValueChange(fullDate);
257
- }
258
- setStyleVariable() {
259
- const hover = this.companyColor ? adjustLightness(this.companyColor, 'hover') : '#FFF2FC';
260
- document.body.style.setProperty('--datepicker-hover-color', hover);
261
- document.body.style.setProperty('--datepicker-selected-color', `${this.companyColor || '#D410AA'}`);
262
- }
263
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }, { token: i2.NgControl, optional: true, self: true }, { token: i3.DatepickerService }], target: i0.ɵɵFactoryTarget.Component }); }
264
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DatepickerComponent, selector: "ui-datepicker", inputs: { label: "label", fieldName: "fieldName", placeholder: "placeholder", id: "id", value: "value", errors: "errors", isRange: "isRange", disabled: "disabled", required: "required", hintMessage: "hintMessage", updateOnBlur: "updateOnBlur", showBottomContent: "showBottomContent", fullWidth: "fullWidth", minDate: "minDate", maxDate: "maxDate", monthPicker: "monthPicker", applicationTheme: "applicationTheme", hideBuiltInErrors: "hideBuiltInErrors", hideLabelInErrors: "hideLabelInErrors", preventUserInput: "preventUserInput", companyColor: "companyColor", browserTimezone: "browserTimezone" }, outputs: { changed: "changed" }, host: { properties: { "class": "this.class" } }, providers: [
265
- { provide: DateAdapter, useClass: UiDateAdapter },
266
- { provide: MAT_DATE_FORMATS, useValue: UI_DATE_FORMATS },
267
- ], usesOnChanges: true, ngImport: i0, template: "@if (monthPicker) {\n <mat-form-field\n appNoDateFormat\n appearance=\"outline\"\n [color]=\"errorsLength || (ngControl?.errors && ngControl?.touched) ? 'warn' : 'accent'\"\n [ngClass]=\"{ 'hide-bottom-content': !showBottomContent, 'full-width': fullWidth }\"\n >\n <mat-label *ngIf=\"label\">\n <ng-container [ngTemplateOutlet]=\"labelTpl\"></ng-container>\n </mat-label>\n\n <input\n matInput\n [id]=\"id!\"\n (blur)=\"onTouch()\"\n [placeholder]=\"placeholder!\"\n [matDatepicker]=\"dp\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [readonly]=\"preventUserInput\"\n (change)=\"onInput($event)\"\n (dateChange)=\"onValueChange($event.value)\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"dp\">\n <ui-icon\n matDatepickerToggleIcon\n [applicationTheme]=\"applicationTheme\"\n name=\"Calendar\"\n size=\"24\"\n color=\"inherit\"\n ></ui-icon>\n </mat-datepicker-toggle>\n <mat-datepicker\n panelClass=\"month-picker\"\n #dp\n startView=\"multi-year\"\n (monthSelected)=\"setMonthAndYear($event, dp)\"\n ></mat-datepicker>\n\n <mat-hint class=\"info\" *ngIf=\"hint && !_errors && !(ngControl?.touched && (ngControl?.errors | hasValidationError))\"\n >{{ hint }}\n </mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.touched && (ngControl?.errors | hasValidationError))\">\n <ng-container [ngTemplateOutlet]=\"hintsTpl\"></ng-container>\n </mat-hint>\n </mat-form-field>\n} @else {\n @if (isRange) {\n <mat-form-field\n appearance=\"outline\"\n [color]=\"errorsLength || (ngControl?.errors && ngControl?.touched) ? 'warn' : 'accent'\"\n [ngClass]=\"{ 'hide-bottom-content': !showBottomContent, 'full-width': fullWidth }\"\n >\n <mat-label *ngIf=\"label\">\n <ng-container [ngTemplateOutlet]=\"labelTpl\"></ng-container>\n </mat-label>\n\n <mat-date-range-input [formGroup]=\"range\" [rangePicker]=\"rangePicker\" [min]=\"minDate\" [max]=\"maxDate\">\n <input\n matStartDate\n formControlName=\"start\"\n [placeholder]=\"translationContext + 'START_DATE' | uiTranslate | async\"\n (dateChange)=\"dateRangeChange()\"\n />\n <input\n matEndDate\n formControlName=\"end\"\n [placeholder]=\"translationContext + 'END_DATE' | uiTranslate | async\"\n (dateChange)=\"dateRangeChange()\"\n />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"rangePicker\">\n <ui-icon\n matDatepickerToggleIcon\n [applicationTheme]=\"applicationTheme\"\n name=\"Calendar\"\n size=\"24\"\n color=\"inherit\"\n ></ui-icon>\n </mat-datepicker-toggle>\n <mat-date-range-picker #rangePicker></mat-date-range-picker>\n\n <mat-hint\n class=\"info\"\n *ngIf=\"hint && !_errors && !(ngControl?.touched && (ngControl?.errors | hasValidationError))\"\n >{{ hint }}\n </mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.touched && (ngControl?.errors | hasValidationError))\">\n <ng-container [ngTemplateOutlet]=\"hintsTpl\"></ng-container>\n </mat-hint>\n </mat-form-field>\n } @else {\n <mat-form-field\n appearance=\"outline\"\n [color]=\"errorsLength || (ngControl?.errors && ngControl?.touched) ? 'warn' : 'accent'\"\n [ngClass]=\"{ 'hide-bottom-content': !showBottomContent, 'full-width': fullWidth }\"\n >\n <mat-label *ngIf=\"label\">\n <ng-container [ngTemplateOutlet]=\"labelTpl\"></ng-container>\n </mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n (blur)=\"onTouch()\"\n (dateChange)=\"onValueChange($event.value)\"\n [id]=\"id!\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n [readonly]=\"preventUserInput\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\">\n <ui-icon\n matDatepickerToggleIcon\n [applicationTheme]=\"applicationTheme\"\n name=\"Calendar\"\n size=\"24\"\n color=\"inherit\"\n ></ui-icon>\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n\n <mat-hint\n class=\"info\"\n *ngIf=\"hint && !_errors && !(ngControl?.touched && (ngControl?.errors | hasValidationError))\"\n >{{ hint }}\n </mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.touched && (ngControl?.errors | hasValidationError))\">\n <ng-container [ngTemplateOutlet]=\"hintsTpl\"></ng-container>\n </mat-hint>\n </mat-form-field>\n }\n}\n\n<ng-template #labelTpl>{{ label }}<span *ngIf=\"required\"> *</span></ng-template>\n<ng-template #hintsTpl>\n @if (errorsLength) {\n <div class=\"errors\" *ngFor=\"let error of _errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" name=\"Error\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n }\n <ui-validation-error\n *ngIf=\"ngControl && !hideBuiltInErrors\"\n [ngControl]=\"ngControl\"\n [label]=\"hideLabelInErrors ? null : label\"\n ></ui-validation-error>\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.month-picker .mat-calendar-period-button{pointer-events:none}.month-picker .mat-calendar-arrow{display:none}.ui-datepicker{width:100%}.ui-datepicker .mat-mdc-form-field{margin-top:0;min-width:296px}.ui-datepicker .mat-mdc-form-field.full-width{width:100%}.ui-datepicker .mat-mdc-form-field.hide-bottom-content .mat-mdc-form-field-subscript-wrapper{display:none}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{height:48px}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:22px}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline{color:#888}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline .mdc-floating-label--float-above{transform:translateY(-30px) scale(.75)}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-infix{min-height:48px;max-height:48px;padding:4px 0;line-height:22px;display:inline-flex;align-items:center}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper{padding:0 0 12px;margin-top:0;font-size:12px;line-height:16px;position:relative}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper .mat-form-field-hint-spacer{display:none}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.info{color:#888;width:100%}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-bottom-align:before{height:0}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint-wrapper{padding:0;position:relative}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error,.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error svg{color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error{display:flex}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error ui-icon{margin-right:4px}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-icon-suffix{margin-right:4px}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__leading,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__trailing,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__leading,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__trailing,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#cb7b7a}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint.error{display:flex;flex-flow:column;row-gap:4px}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint.error .errors{display:flex;padding-bottom:10px}.ui-datepicker .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline{color:#276678}.ui-datepicker .mat-mdc-form-field.mat-accent.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#276678}.ui-datepicker .mat-mdc-form-field.mat-form-field-disabled.mat-form-field-appearance-outline .mdc-notched-outline{color:#e0e0e0}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint .hint-message{color:#888!important;margin-top:4px}.mat-datepicker-content .mat-mdc-button.mat-unthemed .mdc-button__label>span{font-weight:600}.mat-datepicker-content.mat-datepicker-content.mat-accent .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:#e9f0f1}.mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background-color:#e9f0f1}[theme=dark] .mat-datepicker-content.mat-datepicker-content.mat-accent .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),[theme=light] .mat-datepicker-content.mat-datepicker-content.mat-accent .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(--datepicker-hover-color)}[theme=dark] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before,[theme=light] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background-color:var(--datepicker-hover-color)}[theme=dark] .mat-datepicker-content .mat-calendar-body-selected,[theme=light] .mat-datepicker-content .mat-calendar-body-selected{background-color:var(--datepicker-selected-color)}[theme=dark] .mat-datepicker-content .mat-calendar-body-today:not(.mat-calendar-body-selected),[theme=light] .mat-datepicker-content .mat-calendar-body-today:not(.mat-calendar-body-selected){background:transparent;--mat-datepicker-calendar-date-focus-state-background-color: $tgo-white }[theme=dark] .mat-datepicker-content .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),[theme=light] .mat-datepicker-content .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){--mat-datepicker-calendar-date-focus-state-background-color: var(--datepicker-hover-color)}.info{margin-top:4px!important;padding-bottom:10px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i8.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i8.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i8.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i8.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i8.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i8.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i9.NoDateFormatDirective, selector: "[appNoDateFormat]" }, { kind: "component", type: i10.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "touchedOn", "errorMessage", "label", "applicationTheme"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i12.HasValidationErrorPipe, name: "hasValidationError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
268
- }
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerComponent, decorators: [{
270
- type: Component,
271
- args: [{ selector: 'ui-datepicker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
272
- { provide: DateAdapter, useClass: UiDateAdapter },
273
- { provide: MAT_DATE_FORMATS, useValue: UI_DATE_FORMATS },
274
- ], template: "@if (monthPicker) {\n <mat-form-field\n appNoDateFormat\n appearance=\"outline\"\n [color]=\"errorsLength || (ngControl?.errors && ngControl?.touched) ? 'warn' : 'accent'\"\n [ngClass]=\"{ 'hide-bottom-content': !showBottomContent, 'full-width': fullWidth }\"\n >\n <mat-label *ngIf=\"label\">\n <ng-container [ngTemplateOutlet]=\"labelTpl\"></ng-container>\n </mat-label>\n\n <input\n matInput\n [id]=\"id!\"\n (blur)=\"onTouch()\"\n [placeholder]=\"placeholder!\"\n [matDatepicker]=\"dp\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [readonly]=\"preventUserInput\"\n (change)=\"onInput($event)\"\n (dateChange)=\"onValueChange($event.value)\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"dp\">\n <ui-icon\n matDatepickerToggleIcon\n [applicationTheme]=\"applicationTheme\"\n name=\"Calendar\"\n size=\"24\"\n color=\"inherit\"\n ></ui-icon>\n </mat-datepicker-toggle>\n <mat-datepicker\n panelClass=\"month-picker\"\n #dp\n startView=\"multi-year\"\n (monthSelected)=\"setMonthAndYear($event, dp)\"\n ></mat-datepicker>\n\n <mat-hint class=\"info\" *ngIf=\"hint && !_errors && !(ngControl?.touched && (ngControl?.errors | hasValidationError))\"\n >{{ hint }}\n </mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.touched && (ngControl?.errors | hasValidationError))\">\n <ng-container [ngTemplateOutlet]=\"hintsTpl\"></ng-container>\n </mat-hint>\n </mat-form-field>\n} @else {\n @if (isRange) {\n <mat-form-field\n appearance=\"outline\"\n [color]=\"errorsLength || (ngControl?.errors && ngControl?.touched) ? 'warn' : 'accent'\"\n [ngClass]=\"{ 'hide-bottom-content': !showBottomContent, 'full-width': fullWidth }\"\n >\n <mat-label *ngIf=\"label\">\n <ng-container [ngTemplateOutlet]=\"labelTpl\"></ng-container>\n </mat-label>\n\n <mat-date-range-input [formGroup]=\"range\" [rangePicker]=\"rangePicker\" [min]=\"minDate\" [max]=\"maxDate\">\n <input\n matStartDate\n formControlName=\"start\"\n [placeholder]=\"translationContext + 'START_DATE' | uiTranslate | async\"\n (dateChange)=\"dateRangeChange()\"\n />\n <input\n matEndDate\n formControlName=\"end\"\n [placeholder]=\"translationContext + 'END_DATE' | uiTranslate | async\"\n (dateChange)=\"dateRangeChange()\"\n />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"rangePicker\">\n <ui-icon\n matDatepickerToggleIcon\n [applicationTheme]=\"applicationTheme\"\n name=\"Calendar\"\n size=\"24\"\n color=\"inherit\"\n ></ui-icon>\n </mat-datepicker-toggle>\n <mat-date-range-picker #rangePicker></mat-date-range-picker>\n\n <mat-hint\n class=\"info\"\n *ngIf=\"hint && !_errors && !(ngControl?.touched && (ngControl?.errors | hasValidationError))\"\n >{{ hint }}\n </mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.touched && (ngControl?.errors | hasValidationError))\">\n <ng-container [ngTemplateOutlet]=\"hintsTpl\"></ng-container>\n </mat-hint>\n </mat-form-field>\n } @else {\n <mat-form-field\n appearance=\"outline\"\n [color]=\"errorsLength || (ngControl?.errors && ngControl?.touched) ? 'warn' : 'accent'\"\n [ngClass]=\"{ 'hide-bottom-content': !showBottomContent, 'full-width': fullWidth }\"\n >\n <mat-label *ngIf=\"label\">\n <ng-container [ngTemplateOutlet]=\"labelTpl\"></ng-container>\n </mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n (blur)=\"onTouch()\"\n (dateChange)=\"onValueChange($event.value)\"\n [id]=\"id!\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n [readonly]=\"preventUserInput\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\">\n <ui-icon\n matDatepickerToggleIcon\n [applicationTheme]=\"applicationTheme\"\n name=\"Calendar\"\n size=\"24\"\n color=\"inherit\"\n ></ui-icon>\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n\n <mat-hint\n class=\"info\"\n *ngIf=\"hint && !_errors && !(ngControl?.touched && (ngControl?.errors | hasValidationError))\"\n >{{ hint }}\n </mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.touched && (ngControl?.errors | hasValidationError))\">\n <ng-container [ngTemplateOutlet]=\"hintsTpl\"></ng-container>\n </mat-hint>\n </mat-form-field>\n }\n}\n\n<ng-template #labelTpl>{{ label }}<span *ngIf=\"required\"> *</span></ng-template>\n<ng-template #hintsTpl>\n @if (errorsLength) {\n <div class=\"errors\" *ngFor=\"let error of _errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" name=\"Error\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n }\n <ui-validation-error\n *ngIf=\"ngControl && !hideBuiltInErrors\"\n [ngControl]=\"ngControl\"\n [label]=\"hideLabelInErrors ? null : label\"\n ></ui-validation-error>\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.month-picker .mat-calendar-period-button{pointer-events:none}.month-picker .mat-calendar-arrow{display:none}.ui-datepicker{width:100%}.ui-datepicker .mat-mdc-form-field{margin-top:0;min-width:296px}.ui-datepicker .mat-mdc-form-field.full-width{width:100%}.ui-datepicker .mat-mdc-form-field.hide-bottom-content .mat-mdc-form-field-subscript-wrapper{display:none}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{height:48px}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:22px}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline{color:#888}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline .mdc-floating-label--float-above{transform:translateY(-30px) scale(.75)}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-infix{min-height:48px;max-height:48px;padding:4px 0;line-height:22px;display:inline-flex;align-items:center}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper{padding:0 0 12px;margin-top:0;font-size:12px;line-height:16px;position:relative}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper .mat-form-field-hint-spacer{display:none}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.info{color:#888;width:100%}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-bottom-align:before{height:0}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint-wrapper{padding:0;position:relative}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error,.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error svg{color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error{display:flex}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error ui-icon{margin-right:4px}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-icon-suffix{margin-right:4px}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__leading,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__trailing,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__leading,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__trailing,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#cb7b7a}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint.error{display:flex;flex-flow:column;row-gap:4px}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint.error .errors{display:flex;padding-bottom:10px}.ui-datepicker .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline{color:#276678}.ui-datepicker .mat-mdc-form-field.mat-accent.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#276678}.ui-datepicker .mat-mdc-form-field.mat-form-field-disabled.mat-form-field-appearance-outline .mdc-notched-outline{color:#e0e0e0}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint .hint-message{color:#888!important;margin-top:4px}.mat-datepicker-content .mat-mdc-button.mat-unthemed .mdc-button__label>span{font-weight:600}.mat-datepicker-content.mat-datepicker-content.mat-accent .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:#e9f0f1}.mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background-color:#e9f0f1}[theme=dark] .mat-datepicker-content.mat-datepicker-content.mat-accent .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),[theme=light] .mat-datepicker-content.mat-datepicker-content.mat-accent .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(--datepicker-hover-color)}[theme=dark] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before,[theme=light] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background-color:var(--datepicker-hover-color)}[theme=dark] .mat-datepicker-content .mat-calendar-body-selected,[theme=light] .mat-datepicker-content .mat-calendar-body-selected{background-color:var(--datepicker-selected-color)}[theme=dark] .mat-datepicker-content .mat-calendar-body-today:not(.mat-calendar-body-selected),[theme=light] .mat-datepicker-content .mat-calendar-body-today:not(.mat-calendar-body-selected){background:transparent;--mat-datepicker-calendar-date-focus-state-background-color: $tgo-white }[theme=dark] .mat-datepicker-content .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),[theme=light] .mat-datepicker-content .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){--mat-datepicker-calendar-date-focus-state-background-color: var(--datepicker-hover-color)}.info{margin-top:4px!important;padding-bottom:10px}\n"] }]
275
- }], ctorParameters: () => [{ type: undefined, decorators: [{
276
- type: Optional
277
- }, {
278
- type: Inject,
279
- args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
280
- }] }, { type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }, { type: i2.NgControl, decorators: [{
281
- type: Optional
282
- }, {
283
- type: Self
284
- }] }, { type: i3.DatepickerService }], propDecorators: { class: [{
285
- type: HostBinding
286
- }], label: [{
287
- type: Input
288
- }], fieldName: [{
289
- type: Input
290
- }], placeholder: [{
291
- type: Input
292
- }], id: [{
293
- type: Input
294
- }], value: [{
295
- type: Input
296
- }], errors: [{
297
- type: Input
298
- }], isRange: [{
299
- type: Input
300
- }], disabled: [{
301
- type: Input
302
- }], required: [{
303
- type: Input
304
- }], hintMessage: [{
305
- type: Input
306
- }], updateOnBlur: [{
307
- type: Input
308
- }], showBottomContent: [{
309
- type: Input
310
- }], fullWidth: [{
311
- type: Input
312
- }], minDate: [{
313
- type: Input
314
- }], maxDate: [{
315
- type: Input
316
- }], monthPicker: [{
317
- type: Input
318
- }], applicationTheme: [{
319
- type: Input
320
- }], hideBuiltInErrors: [{
321
- type: Input
322
- }], hideLabelInErrors: [{
323
- type: Input
324
- }], preventUserInput: [{
325
- type: Input
326
- }], companyColor: [{
327
- type: Input
328
- }], browserTimezone: [{
329
- type: Input
330
- }], changed: [{
331
- type: Output
332
- }] } });
333
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFFSixpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixXQUFXLEVBQUUsU0FBUyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFJekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQWNoRSxvRUFBb0U7QUFDcEUsTUFBTSxPQUFPLG1CQUFtQjtJQTRDOUI7Ozs7O09BS0c7SUFDSCxJQUFhLE1BQU0sQ0FBQyxNQUFnQjtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUs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OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DOzswQkFHdkQsUUFBUTs7MEJBQUksSUFBSTt5RUF2TkosS0FBSztzQkFBbkIsV0FBVztnQkFRSCxLQUFLO3NCQUFiLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFRRyxXQUFXO3NCQUFuQixLQUFLO2dCQVFHLEVBQUU7c0JBQVYsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBU08sTUFBTTtzQkFBbEIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBUUcsWUFBWTtzQkFBcEIsS0FBSztnQkFRRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFRRyxPQUFPO3NCQUFmLEtBQUs7Z0JBUUcsT0FBTztzQkFBZixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBU0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVFHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFRRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBUUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT08sZUFBZTtzQkFBM0IsS0FBSztnQkFvQkksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVyc2NvcmUtZGFuZ2xlICovXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTZWxmLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IGFkanVzdExpZ2h0bmVzcyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9yLWNvbnRyYXN0JztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBVSV9EQVRFX0ZPUk1BVFMsIFVpRGF0ZUFkYXB0ZXIgfSBmcm9tICcuL2RhdGUtYWRhcHRlcic7XG5pbXBvcnQgeyBEYXRlcGlja2VyU2VydmljZSB9IGZyb20gJy4vZGF0ZXBpY2tlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IFVpRGF0ZUFkYXB0ZXIgfSxcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBVSV9EQVRFX0ZPUk1BVFMgfSxcbiAgXSxcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWNvbmZsaWN0aW5nLWxpZmVjeWNsZVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrLCBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoKSBjbGFzcyA9ICd1aS1kYXRlcGlja2VyJztcblxuICAvKipcbiAgICogRm9ybSBmaWVsZCBsYWJlbFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFiZWw/ID0gJyc7XG5cbiAgLyoqXG4gICAqIElucHV0IG5hbWUgYXR0cmlidXRlXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmaWVsZE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IHBsYWNlaG9sZGVyXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcj8gPSAnJztcblxuICAvKipcbiAgICogSW5wdXQgaWRcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGlkPyA9ICcnO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YWx1ZVxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdmFsdWU/OiBBcnJheTxEYXRlIHwgbnVsbD4gfCBEYXRlO1xuXG4gIF9lcnJvcnM6IFNhZmVIdG1sW107XG4gIC8qKlxuICAgKiBJbnB1dCBmaWVsZCBlcnJvcnNcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNldCBlcnJvcnMoZXJyb3JzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX2Vycm9ycyA9IGVycm9ycz8uZmlsdGVyKEJvb2xlYW4pLm1hcChlcnJvciA9PiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChlcnJvcikpO1xuICAgIHRoaXMuZXJyb3JzTGVuZ3RoID0gdGhpcy5zZXRFcnJvcnNMZW5ndGgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGlucHV0IGlzIGRhdGUgcmFuZ2VcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpc1JhbmdlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGlucHV0IGlzIGRpc2FibGVkXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElucHV0IGlzIHJlcXVpcmVkIG9yIG5vdFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBIaW50IHRleHRcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGhpbnRNZXNzYWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IGlzIHVwZGF0ZSBvbmx5IG9uIGJsdXJcbiAgICpcbiAgICogQHR5cGUge0Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB1cGRhdGVPbkJsdXIgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2hvdyByZXNlcnZlZCBjb250ZW50IGJlbG93IGZvcm0gZmllbGRcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzaG93Qm90dG9tQ29udGVudCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNldCBmdWxsIHdpZHRoIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICAvKipcbiAgICogU2V0IG1pbiBkYXRlIGZvciBEYXRlcGlja2VyXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlfVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU2V0IG1heCBkYXRlIGZvciBEYXRlcGlja2VyXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlfVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU2hvdyBhbmQgcGljayBkYXRlIHdpdGhvdXQgZGF5XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbW9udGhQaWNrZXIgPSBmYWxzZTtcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICogSGlkZSBpbi1idWlsZCBlcnJvcnMgZm9yIFJlYWN0aXZlIEZvcm1zXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBoaWRlQnVpbHRJbkVycm9ycyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBIaWRlIGxhYmVsIGluIGVycm9yc1xuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaGlkZUxhYmVsSW5FcnJvcnMgPSBmYWxzZTtcblxuICAvKipcbiAgICogUHJldmVudCB1c2VyIGlucHV0XG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgcHJldmVudFVzZXJJbnB1dCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDb2xvciBvZiB0aGUgb3B0aW9uIGhvdmVyLlxuICAgKiBEZWZhdWx0cyB0byBUZXN0IEdvcmlsbGEgcHJpbWFyeSBjb2xvci5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGNvbXBhbnlDb2xvciA9ICcnO1xuXG4gIC8qKlxuICAgKiBVc2UgYnJvd3NlciB0aW1lem9uZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgYnJvd3NlclRpbWV6b25lKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS51c2VCcm93c2VyVGltZXpvbmUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvblRvdWNoID0gKCkgPT4ge307XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgaXMgY2hhbmdlIC0gd2hlbiB1c2VkIG91dHNpZGUgb2YgZm9ybVxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZX1cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBPdXRwdXQoKSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgRGF0ZVtdPigpO1xuXG4gIHJhbmdlID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgc3RhcnQ6IG5ldyBGb3JtQ29udHJvbDxEYXRlIHwgbnVsbD4obnVsbCksXG4gICAgZW5kOiBuZXcgRm9ybUNvbnRyb2w8RGF0ZSB8IG51bGw+KG51bGwpLFxuICB9KTtcblxuICBlcnJvcnNMZW5ndGg6IGJvb2xlYW47XG4gIHByb3RlY3RlZCB0cmFuc2xhdGlvbkNvbnRleHQgPSAnREFURVBJQ0tFUi4nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIGRhdGVwaWNrZXJTZXJ2aWNlOiBEYXRlcGlja2VyU2VydmljZVxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgfVxuXG4gIGdldCBoaW50KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaGludE1lc3NhZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNSYW5nZSA/ICdNTS9ERC9ZWVlZIC0gTU0vREQvWVlZWScgOiB0aGlzLm1vbnRoUGlja2VyID8gJ01NL1lZWVknIDogJ01NL0REL1lZWVknO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmhpbnRNZXNzYWdlO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gbWFyayBjb21wb25lbnQgdmlldyBhcyBkaXJ0eSB3aGVuIHRvdWNoZWQgcHJvZ3JhbW1hdGljYWxseSB3aXRoIG1hcmtBc1RvdWNoZWQvbWFya0FsbEFzVG91Y2hlZCBvciBlcnJvcnNcbiAgICogdG8gZGlzcGxheSB2YWxpZGF0aW9uIGVycm9ycyB0aGF0IG1pZ2h0IGhhcHBlbiAoZS5nLiByZXF1aXJlZClcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tY29uZmxpY3RpbmctbGlmZWN5Y2xlXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LnRvdWNoZWQgfHwgdGhpcy5uZ0NvbnRyb2w/LmVycm9ycykge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1jb25mbGljdGluZy1saWZlY3ljbGVcbiAgbmdPbkluaXQoKSB7XG4gICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ3RoZW1lJywgdGhpcy5hcHBsaWNhdGlvblRoZW1lKTtcbiAgICB0aGlzLnNldFN0eWxlVmFyaWFibGUoKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tY29uZmxpY3RpbmctbGlmZWN5Y2xlXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1JhbmdlKSB7XG4gICAgICB0aGlzLnNldFJhbmdlKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydjb21wYW55Q29sb3InXSkge1xuICAgICAgdGhpcy5zZXRTdHlsZVZhcmlhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGVycm9ycyBsZW5ndGggZm9yIHZhbGlkYXRpb25cbiAgLy8gQ29uc2lkZXIgb25seSB0aG9zZSBlcnJvcnMgd2hpY2ggd2hpY2ggYXJlIG5vdCBlbXB0eVxuICBzZXRFcnJvcnNMZW5ndGgoKTogYm9vbGVhbiB7XG4gICAgaWYgKCEhdGhpcy5fZXJyb3JzKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZXJyb3JzLmZpbHRlcihlcnIgPT4gISFlcnIpLmxlbmd0aCA+IDAgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UodmFsdWU6IERhdGUgfCBEYXRlW10pIHtcbiAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMuZXJyb3JzTGVuZ3RoID0gdGhpcy5zZXRFcnJvcnNMZW5ndGgoKTtcbiAgICBpZiAoIXRoaXMudXBkYXRlT25CbHVyKSB7XG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZT86IERhdGUgfCBEYXRlW10pOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuaXNSYW5nZSkge1xuICAgICAgdGhpcy5zZXRSYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZGF0ZVJhbmdlQ2hhbmdlKCkge1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5yYW5nZS5jb250cm9scy5zdGFydC52YWx1ZSE7XG4gICAgY29uc3QgZW5kID0gdGhpcy5yYW5nZS5jb250cm9scy5lbmQudmFsdWUhO1xuICAgIHRoaXMub25WYWx1ZUNoYW5nZShbc3RhcnQgPyBuZXcgRGF0ZShzdGFydCkgOiBzdGFydCwgZW5kID8gbmV3IERhdGUoZW5kKSA6IGVuZF0pO1xuICB9XG5cbiAgc2V0TW9udGhBbmRZZWFyKG5vcm1hbGl6ZWRNb250aEFuZFllYXI6IGFueSwgZGF0ZXBpY2tlcjogTWF0RGF0ZXBpY2tlcjxEYXRlPikge1xuICAgIGNvbnN0IGN0cmxWYWx1ZSA9ICh0aGlzLnZhbHVlIGFzIERhdGUpIHx8IG5ldyBEYXRlKCk7XG5cbiAgICBjdHJsVmFsdWUuc2V0TW9udGgobm9ybWFsaXplZE1vbnRoQW5kWWVhci5nZXRNb250aCgpKTtcbiAgICBjdHJsVmFsdWUuc2V0RnVsbFllYXIobm9ybWFsaXplZE1vbnRoQW5kWWVhci5nZXRGdWxsWWVhcigpKTtcblxuICAgIGRhdGVwaWNrZXIuY2xvc2UoKTtcblxuICAgIHRoaXMub25WYWx1ZUNoYW5nZShuZXcgRGF0ZShjdHJsVmFsdWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UmFuZ2UoKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRoaXMudmFsdWU7XG5cbiAgICAgIGlmIChzdGFydCkge1xuICAgICAgICB0aGlzLnJhbmdlLmNvbnRyb2xzLnN0YXJ0LnNldFZhbHVlKG5ldyBEYXRlKHN0YXJ0KSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlbmQpIHtcbiAgICAgICAgdGhpcy5yYW5nZS5jb250cm9scy5lbmQuc2V0VmFsdWUobmV3IERhdGUoZW5kKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLnJhbmdlLmNvbnRyb2xzLnN0YXJ0LnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5yYW5nZS5jb250cm9scy5lbmQuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgRXZlbnRUYXJnZXQgJiB7IHZhbHVlOiBzdHJpbmcgfTtcbiAgICBjb25zdCBbbW9udGgsIHllYXJdID0gdGFyZ2V0LnZhbHVlLnNwbGl0KCcvJyk7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xuICAgIGNvbnN0IGZ1bGxEYXRlU3RyaW5nID0gYCR7bW9udGh9LyR7ZGF0ZX0vJHt5ZWFyfWA7XG4gICAgY29uc3QgZnVsbERhdGUgPSBuZXcgRGF0ZShmdWxsRGF0ZVN0cmluZyk7XG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlKGZ1bGxEYXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U3R5bGVWYXJpYWJsZSgpIHtcbiAgICBjb25zdCBob3ZlciA9IHRoaXMuY29tcGFueUNvbG9yID8gYWRqdXN0TGlnaHRuZXNzKHRoaXMuY29tcGFueUNvbG9yLCAnaG92ZXInKSA6ICcjRkZGMkZDJztcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCctLWRhdGVwaWNrZXItaG92ZXItY29sb3InLCBob3Zlcik7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1kYXRlcGlja2VyLXNlbGVjdGVkLWNvbG9yJywgYCR7dGhpcy5jb21wYW55Q29sb3IgfHwgJyNENDEwQUEnfWApO1xuICB9XG59XG4iLCJAaWYgKG1vbnRoUGlja2VyKSB7XG4gIDxtYXQtZm9ybS1maWVsZFxuICAgIGFwcE5vRGF0ZUZvcm1hdFxuICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgICBbY29sb3JdPVwiZXJyb3JzTGVuZ3RoIHx8IChuZ0NvbnRyb2w/LmVycm9ycyAmJiBuZ0NvbnRyb2w/LnRvdWNoZWQpID8gJ3dhcm4nIDogJ2FjY2VudCdcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2hpZGUtYm90dG9tLWNvbnRlbnQnOiAhc2hvd0JvdHRvbUNvbnRlbnQsICdmdWxsLXdpZHRoJzogZnVsbFdpZHRoIH1cIlxuICA+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtbGFiZWw+XG5cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICBbaWRdPVwiaWQhXCJcbiAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIhXCJcbiAgICAgIFttYXREYXRlcGlja2VyXT1cImRwXCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW25hbWVdPVwiZmllbGROYW1lIVwiXG4gICAgICBbbWluXT1cIm1pbkRhdGVcIlxuICAgICAgW21heF09XCJtYXhEYXRlXCJcbiAgICAgIFtyZWFkb25seV09XCJwcmV2ZW50VXNlcklucHV0XCJcbiAgICAgIChjaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgIChkYXRlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXG4gICAgLz5cbiAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJkcFwiPlxuICAgICAgPHVpLWljb25cbiAgICAgICAgbWF0RGF0ZXBpY2tlclRvZ2dsZUljb25cbiAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgIG5hbWU9XCJDYWxlbmRhclwiXG4gICAgICAgIHNpemU9XCIyNFwiXG4gICAgICAgIGNvbG9yPVwiaW5oZXJpdFwiXG4gICAgICA+PC91aS1pY29uPlxuICAgIDwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgIDxtYXQtZGF0ZXBpY2tlclxuICAgICAgcGFuZWxDbGFzcz1cIm1vbnRoLXBpY2tlclwiXG4gICAgICAjZHBcbiAgICAgIHN0YXJ0Vmlldz1cIm11bHRpLXllYXJcIlxuICAgICAgKG1vbnRoU2VsZWN0ZWQpPVwic2V0TW9udGhBbmRZZWFyKCRldmVudCwgZHApXCJcbiAgICA+PC9tYXQtZGF0ZXBpY2tlcj5cblxuICAgIDxtYXQtaGludCBjbGFzcz1cImluZm9cIiAqbmdJZj1cImhpbnQgJiYgIV9lcnJvcnMgJiYgIShuZ0NvbnRyb2w/LnRvdWNoZWQgJiYgKG5nQ29udHJvbD8uZXJyb3JzIHwgaGFzVmFsaWRhdGlvbkVycm9yKSlcIlxuICAgID57eyBoaW50IH19XG4gICAgPC9tYXQtaGludD5cbiAgICA8bWF0LWhpbnQgY2xhc3M9XCJlcnJvclwiICpuZ0lmPVwiZXJyb3JzTGVuZ3RoIHx8IChuZ0NvbnRyb2w/LnRvdWNoZWQgJiYgKG5nQ29udHJvbD8uZXJyb3JzIHwgaGFzVmFsaWRhdGlvbkVycm9yKSlcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGludHNUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1oaW50PlxuICA8L21hdC1mb3JtLWZpZWxkPlxufSBAZWxzZSB7XG4gIEBpZiAoaXNSYW5nZSkge1xuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgICAgW2NvbG9yXT1cImVycm9yc0xlbmd0aCB8fCAobmdDb250cm9sPy5lcnJvcnMgJiYgbmdDb250cm9sPy50b3VjaGVkKSA/ICd3YXJuJyA6ICdhY2NlbnQnXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2hpZGUtYm90dG9tLWNvbnRlbnQnOiAhc2hvd0JvdHRvbUNvbnRlbnQsICdmdWxsLXdpZHRoJzogZnVsbFdpZHRoIH1cIlxuICAgID5cbiAgICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1sYWJlbD5cblxuICAgICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0IFtmb3JtR3JvdXBdPVwicmFuZ2VcIiBbcmFuZ2VQaWNrZXJdPVwicmFuZ2VQaWNrZXJcIiBbbWluXT1cIm1pbkRhdGVcIiBbbWF4XT1cIm1heERhdGVcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0U3RhcnREYXRlXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0cmFuc2xhdGlvbkNvbnRleHQgKyAnU1RBUlRfREFURScgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJkYXRlUmFuZ2VDaGFuZ2UoKVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIG1hdEVuZERhdGVcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbmRcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0cmFuc2xhdGlvbkNvbnRleHQgKyAnRU5EX0RBVEUnIHwgdWlUcmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgKGRhdGVDaGFuZ2UpPVwiZGF0ZVJhbmdlQ2hhbmdlKClcIlxuICAgICAgICAvPlxuICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cInJhbmdlUGlja2VyXCI+XG4gICAgICAgIDx1aS1pY29uXG4gICAgICAgICAgbWF0RGF0ZXBpY2tlclRvZ2dsZUljb25cbiAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgICBuYW1lPVwiQ2FsZW5kYXJcIlxuICAgICAgICAgIHNpemU9XCIyNFwiXG4gICAgICAgICAgY29sb3I9XCJpbmhlcml0XCJcbiAgICAgICAgPjwvdWktaWNvbj5cbiAgICAgIDwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcmFuZ2VQaWNrZXI+PC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XG5cbiAgICAgIDxtYXQtaGludFxuICAgICAgICBjbGFzcz1cImluZm9cIlxuICAgICAgICAqbmdJZj1cImhpbnQgJiYgIV9lcnJvcnMgJiYgIShuZ0NvbnRyb2w/LnRvdWNoZWQgJiYgKG5nQ29udHJvbD8uZXJyb3JzIHwgaGFzVmFsaWRhdGlvbkVycm9yKSlcIlxuICAgICAgPnt7IGhpbnQgfX1cbiAgICAgIDwvbWF0LWhpbnQ+XG4gICAgICA8bWF0LWhpbnQgY2xhc3M9XCJlcnJvclwiICpuZ0lmPVwiZXJyb3JzTGVuZ3RoIHx8IChuZ0NvbnRyb2w/LnRvdWNoZWQgJiYgKG5nQ29udHJvbD8uZXJyb3JzIHwgaGFzVmFsaWRhdGlvbkVycm9yKSlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoaW50c1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtaGludD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICB9IEBlbHNlIHtcbiAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgICAgIFtjb2xvcl09XCJlcnJvcnNMZW5ndGggfHwgKG5nQ29udHJvbD8uZXJyb3JzICYmIG5nQ29udHJvbD8udG91Y2hlZCkgPyAnd2FybicgOiAnYWNjZW50J1wiXG4gICAgICBbbmdDbGFzc109XCJ7ICdoaWRlLWJvdHRvbS1jb250ZW50JzogIXNob3dCb3R0b21Db250ZW50LCAnZnVsbC13aWR0aCc6IGZ1bGxXaWR0aCB9XCJcbiAgICA+XG4gICAgICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcbiAgICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcbiAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQudmFsdWUpXCJcbiAgICAgICAgW2lkXT1cImlkIVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciFcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbbmFtZV09XCJmaWVsZE5hbWUhXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInByZXZlbnRVc2VySW5wdXRcIlxuICAgICAgICBbbWluXT1cIm1pbkRhdGVcIlxuICAgICAgICBbbWF4XT1cIm1heERhdGVcIlxuICAgICAgLz5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPlxuICAgICAgICA8dWktaWNvblxuICAgICAgICAgIG1hdERhdGVwaWNrZXJUb2dnbGVJY29uXG4gICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgbmFtZT1cIkNhbGVuZGFyXCJcbiAgICAgICAgICBzaXplPVwiMjRcIlxuICAgICAgICAgIGNvbG9yPVwiaW5oZXJpdFwiXG4gICAgICAgID48L3VpLWljb24+XG4gICAgICA8L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG5cbiAgICAgIDxtYXQtaGludFxuICAgICAgICBjbGFzcz1cImluZm9cIlxuICAgICAgICAqbmdJZj1cImhpbnQgJiYgIV9lcnJvcnMgJiYgIShuZ0NvbnRyb2w/LnRvdWNoZWQgJiYgKG5nQ29udHJvbD8uZXJyb3JzIHwgaGFzVmFsaWRhdGlvbkVycm9yKSlcIlxuICAgICAgPnt7IGhpbnQgfX1cbiAgICAgIDwvbWF0LWhpbnQ+XG4gICAgICA8bWF0LWhpbnQgY2xhc3M9XCJlcnJvclwiICpuZ0lmPVwiZXJyb3JzTGVuZ3RoIHx8IChuZ0NvbnRyb2w/LnRvdWNoZWQgJiYgKG5nQ29udHJvbD8uZXJyb3JzIHwgaGFzVmFsaWRhdGlvbkVycm9yKSlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoaW50c1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtaGludD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICB9XG59XG5cbjxuZy10ZW1wbGF0ZSAjbGFiZWxUcGw+e3sgbGFiZWwgfX08c3BhbiAqbmdJZj1cInJlcXVpcmVkXCI+ICo8L3NwYW4+PC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjaGludHNUcGw+XG4gIEBpZiAoZXJyb3JzTGVuZ3RoKSB7XG4gICAgPGRpdiBjbGFzcz1cImVycm9yc1wiICpuZ0Zvcj1cImxldCBlcnJvciBvZiBfZXJyb3JzXCI+XG4gICAgICA8dWktaWNvbiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgbmFtZT1cIkVycm9yXCI+PC91aS1pY29uPlxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJlcnJvclwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgfVxuICA8dWktdmFsaWRhdGlvbi1lcnJvclxuICAgICpuZ0lmPVwibmdDb250cm9sICYmICFoaWRlQnVpbHRJbkVycm9yc1wiXG4gICAgW25nQ29udHJvbF09XCJuZ0NvbnRyb2xcIlxuICAgIFtsYWJlbF09XCJoaWRlTGFiZWxJbkVycm9ycyA/IG51bGwgOiBsYWJlbFwiXG4gID48L3VpLXZhbGlkYXRpb24tZXJyb3I+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,60 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { DatepickerComponent } from './datepicker.component';
4
- import { MatDatepickerModule } from '@angular/material/datepicker';
5
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
- import { MatFormFieldModule } from '@angular/material/form-field';
7
- import { MatInputModule } from '@angular/material/input';
8
- import { IconComponentModule } from '../icon/icon.component.module';
9
- import { MatNativeDateModule } from '@angular/material/core';
10
- import { UiTranslatePipe } from '../../pipes/ui-translate.pipe';
11
- import { NoDateFormatDirective } from './no-date-format.directive';
12
- import { HasValidationErrorPipe } from '../../pipes/has-validation-error.pipe';
13
- import { ValidationErrorModule } from '../validation-error/validation-error.module';
14
- import * as i0 from "@angular/core";
15
- export class DatepickerComponentModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DatepickerComponentModule, declarations: [DatepickerComponent], imports: [CommonModule,
18
- MatFormFieldModule,
19
- MatInputModule,
20
- IconComponentModule,
21
- FormsModule,
22
- ReactiveFormsModule,
23
- MatDatepickerModule,
24
- MatNativeDateModule,
25
- UiTranslatePipe,
26
- NoDateFormatDirective,
27
- HasValidationErrorPipe,
28
- ValidationErrorModule], exports: [DatepickerComponent] }); }
29
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerComponentModule, imports: [CommonModule,
30
- MatFormFieldModule,
31
- MatInputModule,
32
- IconComponentModule,
33
- FormsModule,
34
- ReactiveFormsModule,
35
- MatDatepickerModule,
36
- MatNativeDateModule,
37
- ValidationErrorModule] }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerComponentModule, decorators: [{
40
- type: NgModule,
41
- args: [{
42
- declarations: [DatepickerComponent],
43
- imports: [
44
- CommonModule,
45
- MatFormFieldModule,
46
- MatInputModule,
47
- IconComponentModule,
48
- FormsModule,
49
- ReactiveFormsModule,
50
- MatDatepickerModule,
51
- MatNativeDateModule,
52
- UiTranslatePipe,
53
- NoDateFormatDirective,
54
- HasValidationErrorPipe,
55
- ValidationErrorModule,
56
- ],
57
- exports: [DatepickerComponent],
58
- }]
59
- }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQW9CcEYsTUFBTSxPQUFPLHlCQUF5QjsrR0FBekIseUJBQXlCO2dIQUF6Qix5QkFBeUIsaUJBakJyQixtQkFBbUIsYUFFaEMsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0QixxQkFBcUIsYUFFYixtQkFBbUI7Z0hBRWxCLHlCQUF5QixZQWZsQyxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBSW5CLHFCQUFxQjs7NEZBSVoseUJBQXlCO2tCQWxCckMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IFVpVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3VpLXRyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IE5vRGF0ZUZvcm1hdERpcmVjdGl2ZSB9IGZyb20gJy4vbm8tZGF0ZS1mb3JtYXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhhc1ZhbGlkYXRpb25FcnJvclBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9oYXMtdmFsaWRhdGlvbi1lcnJvci5waXBlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvck1vZHVsZSB9IGZyb20gJy4uL3ZhbGlkYXRpb24tZXJyb3IvdmFsaWRhdGlvbi1lcnJvci5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEYXRlcGlja2VyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBVaVRyYW5zbGF0ZVBpcGUsXG4gICAgTm9EYXRlRm9ybWF0RGlyZWN0aXZlLFxuICAgIEhhc1ZhbGlkYXRpb25FcnJvclBpcGUsXG4gICAgVmFsaWRhdGlvbkVycm9yTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbRGF0ZXBpY2tlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnRNb2R1bGUge31cbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DatepickerService {
4
- #useBrowserTimezone = false;
5
- set useBrowserTimezone(value) {
6
- this.#useBrowserTimezone = value;
7
- }
8
- get useBrowserTimezone() {
9
- return this.#useBrowserTimezone;
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerService, providedIn: 'root' }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerService, decorators: [{
15
- type: Injectable,
16
- args: [{
17
- providedIn: 'root'
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBRTVCLElBQUksa0JBQWtCLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDOytHQVRVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJTZXJ2aWNlIHtcbiAgI3VzZUJyb3dzZXJUaW1lem9uZSA9IGZhbHNlO1xuXG4gIHNldCB1c2VCcm93c2VyVGltZXpvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiN1c2VCcm93c2VyVGltZXpvbmUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB1c2VCcm93c2VyVGltZXpvbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3VzZUJyb3dzZXJUaW1lem9uZTtcbiAgfVxufVxuIl19
@@ -1,56 +0,0 @@
1
- import { Directive, Injectable } from '@angular/core';
2
- import { DateAdapter, MAT_DATE_FORMATS, NativeDateAdapter, } from '@angular/material/core';
3
- import { formatDate } from '@angular/common';
4
- import * as i0 from "@angular/core";
5
- export class CustomDateAdapter extends NativeDateAdapter {
6
- format(date) {
7
- return formatDate(date, 'MM/yyyy', 'en-US');
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
10
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDateAdapter }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDateAdapter, decorators: [{
13
- type: Injectable
14
- }] });
15
- const FORMATS = {
16
- parse: {
17
- dateInput: 'MM/YYYY',
18
- },
19
- display: {
20
- dateInput: 'MM/YYYY',
21
- monthYearLabel: 'MMM YYYY',
22
- dateA11yLabel: 'LL',
23
- monthYearA11yLabel: 'MMMM YYYY',
24
- },
25
- };
26
- export class NoDateFormatDirective {
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NoDateFormatDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
28
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NoDateFormatDirective, isStandalone: true, selector: "[appNoDateFormat]", providers: [
29
- {
30
- provide: DateAdapter,
31
- useClass: CustomDateAdapter,
32
- },
33
- {
34
- provide: MAT_DATE_FORMATS,
35
- useValue: FORMATS,
36
- },
37
- ], ngImport: i0 }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NoDateFormatDirective, decorators: [{
40
- type: Directive,
41
- args: [{
42
- selector: '[appNoDateFormat]',
43
- providers: [
44
- {
45
- provide: DateAdapter,
46
- useClass: CustomDateAdapter,
47
- },
48
- {
49
- provide: MAT_DATE_FORMATS,
50
- useValue: FORMATS,
51
- },
52
- ],
53
- standalone: true,
54
- }]
55
- }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZGF0ZS1mb3JtYXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2RhdGVwaWNrZXIvbm8tZGF0ZS1mb3JtYXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBRWhCLGlCQUFpQixHQUNsQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHN0MsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQUM3QyxNQUFNLENBQUMsSUFBVTtRQUN4QixPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7K0dBSFUsaUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7O0FBT1gsTUFBTSxPQUFPLEdBQW1CO0lBQzlCLEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxTQUFTO0tBQ3JCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLFNBQVM7UUFDcEIsY0FBYyxFQUFFLFVBQVU7UUFDMUIsYUFBYSxFQUFFLElBQUk7UUFDbkIsa0JBQWtCLEVBQUUsV0FBVztLQUNoQztDQUNGLENBQUM7QUFnQkYsTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO21HQUFyQixxQkFBcUIsZ0VBWnJCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLFFBQVEsRUFBRSxpQkFBaUI7YUFDNUI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixRQUFRLEVBQUUsT0FBTzthQUNsQjtTQUNGOzs0RkFHVSxxQkFBcUI7a0JBZGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxXQUFXOzRCQUNwQixRQUFRLEVBQUUsaUJBQWlCO3lCQUM1Qjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsZ0JBQWdCOzRCQUN6QixRQUFRLEVBQUUsT0FBTzt5QkFDbEI7cUJBQ0Y7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBEYXRlQWRhcHRlcixcbiAgTUFUX0RBVEVfRk9STUFUUyxcbiAgTWF0RGF0ZUZvcm1hdHMsXG4gIE5hdGl2ZURhdGVBZGFwdGVyLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBOYXRpdmVEYXRlQWRhcHRlciB7XG4gIG92ZXJyaWRlIGZvcm1hdChkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybWF0RGF0ZShkYXRlLCAnTU0veXl5eScsICdlbi1VUycpO1xuICB9XG59XG5cbmNvbnN0IEZPUk1BVFM6IE1hdERhdGVGb3JtYXRzID0ge1xuICBwYXJzZToge1xuICAgIGRhdGVJbnB1dDogJ01NL1lZWVknLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiAnTU0vWVlZWScsXG4gICAgbW9udGhZZWFyTGFiZWw6ICdNTU0gWVlZWScsXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknLFxuICB9LFxufTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FwcE5vRGF0ZUZvcm1hdF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBDdXN0b21EYXRlQWRhcHRlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsXG4gICAgICB1c2VWYWx1ZTogRk9STUFUUyxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOb0RhdGVGb3JtYXREaXJlY3RpdmUge31cbiJdfQ==