@biit-solutions/wizardry-theme 1.21.34

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 (513) hide show
  1. package/README.md +15 -0
  2. package/assets/i18n/chart/de.json +3 -0
  3. package/assets/i18n/chart/en.json +3 -0
  4. package/assets/i18n/chart/es.json +3 -0
  5. package/assets/i18n/chart/fr.json +3 -0
  6. package/assets/i18n/chart/nl.json +3 -0
  7. package/assets/i18n/info/de.json +4 -0
  8. package/assets/i18n/info/en.json +4 -0
  9. package/assets/i18n/info/es.json +4 -0
  10. package/assets/i18n/info/fr.json +4 -0
  11. package/assets/i18n/info/nl.json +1 -0
  12. package/assets/i18n/inputs/de.json +8 -0
  13. package/assets/i18n/inputs/en.json +8 -0
  14. package/assets/i18n/inputs/es.json +8 -0
  15. package/assets/i18n/inputs/fr.json +8 -0
  16. package/assets/i18n/inputs/nl.json +4 -0
  17. package/assets/i18n/login/de.json +32 -0
  18. package/assets/i18n/login/en.json +32 -0
  19. package/assets/i18n/login/es.json +32 -0
  20. package/assets/i18n/login/fr.json +32 -0
  21. package/assets/i18n/login/nl.json +32 -0
  22. package/assets/i18n/login-welcome/en.json +6 -0
  23. package/assets/i18n/login-welcome/es.json +6 -0
  24. package/assets/i18n/login-welcome/nl.json +6 -0
  25. package/assets/i18n/table/de.json +14 -0
  26. package/assets/i18n/table/en.json +14 -0
  27. package/assets/i18n/table/es.json +14 -0
  28. package/assets/i18n/table/fr.json +14 -0
  29. package/assets/i18n/table/nl.json +11 -0
  30. package/assets/i18n/utils/en.json +69 -0
  31. package/assets/i18n/utils/es.json +69 -0
  32. package/assets/i18n/utils/nl.json +1 -0
  33. package/assets/styles/context-menu/base.scss +131 -0
  34. package/assets/styles/context-menu/button-reset.scss +31 -0
  35. package/assets/styles/context-menu/dark-theme.scss +29 -0
  36. package/button/biit-action-button/biit-action-button.component.d.ts +18 -0
  37. package/button/biit-action-button/biit-action-button.module.d.ts +10 -0
  38. package/button/biit-button/biit-button.component.d.ts +25 -0
  39. package/button/biit-button/biit-button.module.d.ts +9 -0
  40. package/button/biit-icon-button/biit-icon-button.component.d.ts +8 -0
  41. package/button/biit-icon-button/biit-icon-button.module.d.ts +8 -0
  42. package/button/index.d.ts +5 -0
  43. package/button/public-api.d.ts +6 -0
  44. package/calendar/biit-calendar/biit-calendar.component.d.ts +52 -0
  45. package/calendar/biit-calendar/biit-calendar.module.d.ts +12 -0
  46. package/calendar/biit-calendar/calendar-utility.d.ts +3 -0
  47. package/calendar/biit-calendar/models/calendar-configuration.d.ts +5 -0
  48. package/calendar/biit-calendar/models/calendar-event-click-event.d.ts +6 -0
  49. package/calendar/biit-calendar/models/calendar-event.d.ts +22 -0
  50. package/calendar/index.d.ts +5 -0
  51. package/calendar/public-api.d.ts +7 -0
  52. package/calendar/utils/event-color.d.ts +105 -0
  53. package/charts/bar-chart/bar-chart.component.d.ts +46 -0
  54. package/charts/bar-chart/bar-chart.module.d.ts +9 -0
  55. package/charts/bar-chart/models/bar-chart-data.d.ts +33 -0
  56. package/charts/heatmap-chart/heatmap-chart-data.d.ts +22 -0
  57. package/charts/heatmap-chart/heatmap-chart-range.d.ts +6 -0
  58. package/charts/heatmap-chart/heatmap-chart.component.d.ts +42 -0
  59. package/charts/heatmap-chart/heatmap-chart.module.d.ts +10 -0
  60. package/charts/index.d.ts +5 -0
  61. package/charts/line-chart/line-chart.component.d.ts +38 -0
  62. package/charts/line-chart/line-chart.module.d.ts +9 -0
  63. package/charts/line-chart/models/line-chart-data.d.ts +12 -0
  64. package/charts/meta-view-chart/components/bar-range/bar-range.component.d.ts +14 -0
  65. package/charts/meta-view-chart/components/bar-range/bar-range.module.d.ts +12 -0
  66. package/charts/meta-view-chart/components/boolean-filter/boolean-filter.component.d.ts +10 -0
  67. package/charts/meta-view-chart/components/boolean-filter/boolean-filter.module.d.ts +10 -0
  68. package/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.component.d.ts +28 -0
  69. package/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.module.d.ts +12 -0
  70. package/charts/meta-view-chart/components/meta-board/meta-board.component.d.ts +12 -0
  71. package/charts/meta-view-chart/components/meta-board/meta-board.module.d.ts +9 -0
  72. package/charts/meta-view-chart/components/meta-element/meta-element.component.d.ts +8 -0
  73. package/charts/meta-view-chart/components/meta-element/meta-element.module.d.ts +9 -0
  74. package/charts/meta-view-chart/components/meta-sorter/meta-filter.component.d.ts +28 -0
  75. package/charts/meta-view-chart/components/meta-sorter/meta-filter.module.d.ts +17 -0
  76. package/charts/meta-view-chart/components/meta-sorter/model/FieldType.d.ts +8 -0
  77. package/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.component.d.ts +13 -0
  78. package/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.module.d.ts +14 -0
  79. package/charts/meta-view-chart/components/text-filter/text-filter.component.d.ts +11 -0
  80. package/charts/meta-view-chart/components/text-filter/text-filter.module.d.ts +10 -0
  81. package/charts/meta-view-chart/meta-view-chart.component.d.ts +32 -0
  82. package/charts/meta-view-chart/meta-view-chart.module.d.ts +16 -0
  83. package/charts/meta-view-chart/model/meta-view-data.d.ts +10 -0
  84. package/charts/meta-view-chart/model/meta-view-element-data.d.ts +9 -0
  85. package/charts/meta-view-chart/model/meta-view-preselection.d.ts +5 -0
  86. package/charts/meta-view-chart/model/view.d.ts +4 -0
  87. package/charts/meta-view-chart/pipes/auto-format.pipe.d.ts +7 -0
  88. package/charts/meta-view-chart/pipes/extract-data.pipe.d.ts +8 -0
  89. package/charts/meta-view-chart/pipes/field-type.pipe.d.ts +8 -0
  90. package/charts/meta-view-chart/pipes/filter-by.pipe.d.ts +7 -0
  91. package/charts/meta-view-chart/pipes/has.pipe.d.ts +7 -0
  92. package/charts/meta-view-chart/pipes/meta-element-max-value.pipe.d.ts +8 -0
  93. package/charts/meta-view-chart/pipes/meta-element-min-value.pipe.d.ts +8 -0
  94. package/charts/meta-view-chart/pipes/meta-element-to-bar-chart.pipe.d.ts +9 -0
  95. package/charts/meta-view-chart/pipes/month-name.pipe.d.ts +7 -0
  96. package/charts/meta-view-chart/pipes/pipes.module.d.ts +20 -0
  97. package/charts/meta-view-chart/pipes/printf.pipe.d.ts +7 -0
  98. package/charts/meta-view-chart/pipes/remove-from-array.pipe.d.ts +7 -0
  99. package/charts/meta-view-chart/pipes/safe-html.pipe.d.ts +10 -0
  100. package/charts/meta-view-chart/pipes/step-value-extractor.pipe.d.ts +9 -0
  101. package/charts/pie-chart/models/pie-chart-data.d.ts +5 -0
  102. package/charts/pie-chart/pie-chart.component.d.ts +39 -0
  103. package/charts/pie-chart/pie-chart.module.d.ts +9 -0
  104. package/charts/public-api.d.ts +28 -0
  105. package/charts/radar-chart/models/radar-chart-data.d.ts +11 -0
  106. package/charts/radar-chart/radar-chart.component.d.ts +38 -0
  107. package/charts/radar-chart/radar-chart.module.d.ts +9 -0
  108. package/charts/radial-chart/models/radial-chart-data.d.ts +5 -0
  109. package/charts/radial-chart/radial-chart.component.d.ts +40 -0
  110. package/charts/radial-chart/radial-chart.module.d.ts +9 -0
  111. package/charts/timeline-viewer-chart/models/timeline-viewer-chart-data.d.ts +17 -0
  112. package/charts/timeline-viewer-chart/models/timeline-viewer-chart-options.d.ts +9 -0
  113. package/charts/timeline-viewer-chart/timeline-viewer-chart.component.d.ts +40 -0
  114. package/charts/timeline-viewer-chart/timeline-viewer-chart.module.d.ts +9 -0
  115. package/esm2020/biit-solutions-wizardry-theme.mjs +5 -0
  116. package/esm2020/button/biit-action-button/biit-action-button.component.mjs +68 -0
  117. package/esm2020/button/biit-action-button/biit-action-button.module.mjs +32 -0
  118. package/esm2020/button/biit-button/biit-button.component.mjs +57 -0
  119. package/esm2020/button/biit-button/biit-button.module.mjs +40 -0
  120. package/esm2020/button/biit-icon-button/biit-icon-button.component.mjs +19 -0
  121. package/esm2020/button/biit-icon-button/biit-icon-button.module.mjs +24 -0
  122. package/esm2020/button/biit-solutions-wizardry-theme-button.mjs +5 -0
  123. package/esm2020/button/public-api.mjs +10 -0
  124. package/esm2020/calendar/biit-calendar/biit-calendar.component.mjs +166 -0
  125. package/esm2020/calendar/biit-calendar/biit-calendar.module.mjs +44 -0
  126. package/esm2020/calendar/biit-calendar/calendar-utility.mjs +2 -0
  127. package/esm2020/calendar/biit-calendar/models/calendar-configuration.mjs +9 -0
  128. package/esm2020/calendar/biit-calendar/models/calendar-event-click-event.mjs +7 -0
  129. package/esm2020/calendar/biit-calendar/models/calendar-event.mjs +38 -0
  130. package/esm2020/calendar/biit-solutions-wizardry-theme-calendar.mjs +5 -0
  131. package/esm2020/calendar/public-api.mjs +11 -0
  132. package/esm2020/calendar/utils/event-color.mjs +101 -0
  133. package/esm2020/charts/bar-chart/bar-chart.component.mjs +190 -0
  134. package/esm2020/charts/bar-chart/bar-chart.module.mjs +24 -0
  135. package/esm2020/charts/bar-chart/models/bar-chart-data.mjs +39 -0
  136. package/esm2020/charts/biit-solutions-wizardry-theme-charts.mjs +5 -0
  137. package/esm2020/charts/heatmap-chart/heatmap-chart-data.mjs +65 -0
  138. package/esm2020/charts/heatmap-chart/heatmap-chart-range.mjs +8 -0
  139. package/esm2020/charts/heatmap-chart/heatmap-chart.component.mjs +242 -0
  140. package/esm2020/charts/heatmap-chart/heatmap-chart.module.mjs +28 -0
  141. package/esm2020/charts/line-chart/line-chart.component.mjs +191 -0
  142. package/esm2020/charts/line-chart/line-chart.module.mjs +24 -0
  143. package/esm2020/charts/line-chart/models/line-chart-data.mjs +15 -0
  144. package/esm2020/charts/meta-view-chart/components/bar-range/bar-range.component.mjs +46 -0
  145. package/esm2020/charts/meta-view-chart/components/bar-range/bar-range.module.mjs +43 -0
  146. package/esm2020/charts/meta-view-chart/components/boolean-filter/boolean-filter.component.mjs +27 -0
  147. package/esm2020/charts/meta-view-chart/components/boolean-filter/boolean-filter.module.mjs +35 -0
  148. package/esm2020/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.component.mjs +156 -0
  149. package/esm2020/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.module.mjs +40 -0
  150. package/esm2020/charts/meta-view-chart/components/meta-board/meta-board.component.mjs +49 -0
  151. package/esm2020/charts/meta-view-chart/components/meta-board/meta-board.module.mjs +28 -0
  152. package/esm2020/charts/meta-view-chart/components/meta-element/meta-element.component.mjs +19 -0
  153. package/esm2020/charts/meta-view-chart/components/meta-element/meta-element.module.mjs +28 -0
  154. package/esm2020/charts/meta-view-chart/components/meta-sorter/meta-filter.component.mjs +92 -0
  155. package/esm2020/charts/meta-view-chart/components/meta-sorter/meta-filter.module.mjs +60 -0
  156. package/esm2020/charts/meta-view-chart/components/meta-sorter/model/FieldType.mjs +10 -0
  157. package/esm2020/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.component.mjs +37 -0
  158. package/esm2020/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.module.mjs +48 -0
  159. package/esm2020/charts/meta-view-chart/components/text-filter/text-filter.component.mjs +28 -0
  160. package/esm2020/charts/meta-view-chart/components/text-filter/text-filter.module.mjs +32 -0
  161. package/esm2020/charts/meta-view-chart/meta-view-chart.component.mjs +141 -0
  162. package/esm2020/charts/meta-view-chart/meta-view-chart.module.mjs +56 -0
  163. package/esm2020/charts/meta-view-chart/model/meta-view-data.mjs +13 -0
  164. package/esm2020/charts/meta-view-chart/model/meta-view-element-data.mjs +7 -0
  165. package/esm2020/charts/meta-view-chart/model/meta-view-preselection.mjs +7 -0
  166. package/esm2020/charts/meta-view-chart/model/view.mjs +6 -0
  167. package/esm2020/charts/meta-view-chart/pipes/auto-format.pipe.mjs +19 -0
  168. package/esm2020/charts/meta-view-chart/pipes/extract-data.pipe.mjs +16 -0
  169. package/esm2020/charts/meta-view-chart/pipes/field-type.pipe.mjs +34 -0
  170. package/esm2020/charts/meta-view-chart/pipes/filter-by.pipe.mjs +16 -0
  171. package/esm2020/charts/meta-view-chart/pipes/has.pipe.mjs +16 -0
  172. package/esm2020/charts/meta-view-chart/pipes/meta-element-max-value.pipe.mjs +20 -0
  173. package/esm2020/charts/meta-view-chart/pipes/meta-element-min-value.pipe.mjs +20 -0
  174. package/esm2020/charts/meta-view-chart/pipes/meta-element-to-bar-chart.pipe.mjs +29 -0
  175. package/esm2020/charts/meta-view-chart/pipes/month-name.pipe.mjs +18 -0
  176. package/esm2020/charts/meta-view-chart/pipes/pipes.module.mjs +84 -0
  177. package/esm2020/charts/meta-view-chart/pipes/printf.pipe.mjs +19 -0
  178. package/esm2020/charts/meta-view-chart/pipes/remove-from-array.pipe.mjs +16 -0
  179. package/esm2020/charts/meta-view-chart/pipes/safe-html.pipe.mjs +20 -0
  180. package/esm2020/charts/meta-view-chart/pipes/step-value-extractor.pipe.mjs +34 -0
  181. package/esm2020/charts/pie-chart/models/pie-chart-data.mjs +7 -0
  182. package/esm2020/charts/pie-chart/pie-chart.component.mjs +132 -0
  183. package/esm2020/charts/pie-chart/pie-chart.module.mjs +24 -0
  184. package/esm2020/charts/public-api.mjs +32 -0
  185. package/esm2020/charts/radar-chart/models/radar-chart-data.mjs +14 -0
  186. package/esm2020/charts/radar-chart/radar-chart.component.mjs +140 -0
  187. package/esm2020/charts/radar-chart/radar-chart.module.mjs +24 -0
  188. package/esm2020/charts/radial-chart/models/radial-chart-data.mjs +7 -0
  189. package/esm2020/charts/radial-chart/radial-chart.component.mjs +145 -0
  190. package/esm2020/charts/radial-chart/radial-chart.module.mjs +24 -0
  191. package/esm2020/charts/timeline-viewer-chart/models/timeline-viewer-chart-data.mjs +23 -0
  192. package/esm2020/charts/timeline-viewer-chart/models/timeline-viewer-chart-options.mjs +6 -0
  193. package/esm2020/charts/timeline-viewer-chart/timeline-viewer-chart.component.mjs +206 -0
  194. package/esm2020/charts/timeline-viewer-chart/timeline-viewer-chart.module.mjs +25 -0
  195. package/esm2020/i18n/biit-solutions-wizardry-theme-i18n.mjs +5 -0
  196. package/esm2020/i18n/i18n/http-loader.mjs +19 -0
  197. package/esm2020/i18n/i18n/supported-languages.mjs +9 -0
  198. package/esm2020/i18n/i18n/transloco-root.module.mjs +83 -0
  199. package/esm2020/i18n/public-api.mjs +7 -0
  200. package/esm2020/icon/biit-icon/biit-icon.component.mjs +92 -0
  201. package/esm2020/icon/biit-icon/biit-icon.module.mjs +24 -0
  202. package/esm2020/icon/biit-icon/biit-icon.service.mjs +25 -0
  203. package/esm2020/icon/biit-solutions-wizardry-theme-icon.mjs +5 -0
  204. package/esm2020/icon/public-api.mjs +7 -0
  205. package/esm2020/info/biit-cookies-consent/biit-cookies-consent.component.mjs +36 -0
  206. package/esm2020/info/biit-cookies-consent/biit-cookies-consent.module.mjs +36 -0
  207. package/esm2020/info/biit-gallery-card/biit-gallery-card.component.mjs +23 -0
  208. package/esm2020/info/biit-gallery-card/biit-gallery-card.module.mjs +28 -0
  209. package/esm2020/info/biit-progress-bar/biit-progress-bar.component.mjs +31 -0
  210. package/esm2020/info/biit-progress-bar/biit-progress-bar.module.mjs +24 -0
  211. package/esm2020/info/biit-snackbar/biit-notification/biit-notification.component.mjs +38 -0
  212. package/esm2020/info/biit-snackbar/biit-snackbar.component.mjs +50 -0
  213. package/esm2020/info/biit-snackbar/biit-snackbar.module.mjs +41 -0
  214. package/esm2020/info/biit-snackbar/biit-snackbar.service.mjs +64 -0
  215. package/esm2020/info/biit-snackbar/models/biit-snackbar-horizontal-position.mjs +7 -0
  216. package/esm2020/info/biit-snackbar/models/biit-snackbar-vertical-position.mjs +6 -0
  217. package/esm2020/info/biit-snackbar/models/notification-type.mjs +8 -0
  218. package/esm2020/info/biit-snackbar/models/notification.mjs +23 -0
  219. package/esm2020/info/biit-solutions-wizardry-theme-info.mjs +5 -0
  220. package/esm2020/info/biit-tooltip/biit-tooltip.component.mjs +19 -0
  221. package/esm2020/info/biit-tooltip/biit-tooltip.directive.mjs +106 -0
  222. package/esm2020/info/biit-tooltip/biit-tooltip.module.mjs +29 -0
  223. package/esm2020/info/biit-tooltip-icon/biit-tooltip-icon.component.mjs +23 -0
  224. package/esm2020/info/biit-tooltip-icon/biit-tooltip-icon.module.mjs +28 -0
  225. package/esm2020/info/public-api.mjs +23 -0
  226. package/esm2020/inputs/biit-checkbox/biit-checkbox.component.mjs +52 -0
  227. package/esm2020/inputs/biit-checkbox/biit-checkbox.module.mjs +32 -0
  228. package/esm2020/inputs/biit-datepicker/biit-datepicker.component.mjs +251 -0
  229. package/esm2020/inputs/biit-datepicker/biit-datepicker.module.mjs +68 -0
  230. package/esm2020/inputs/biit-datepicker/models/view.mjs +6 -0
  231. package/esm2020/inputs/biit-datepicker/pipes/calendar-date-pipe.mjs +18 -0
  232. package/esm2020/inputs/biit-datepicker/pipes/is-disabled-pipe.mjs +35 -0
  233. package/esm2020/inputs/biit-datepicker/pipes/is-same-day-pipe.mjs +19 -0
  234. package/esm2020/inputs/biit-datepicker/pipes/is-today-pipe.mjs +19 -0
  235. package/esm2020/inputs/biit-datepicker/pipes/month-selector-label-pipe.mjs +22 -0
  236. package/esm2020/inputs/biit-datepicker/pipes/out-of-month-pipe.mjs +19 -0
  237. package/esm2020/inputs/biit-dropdown/biit-dropdown.component.mjs +269 -0
  238. package/esm2020/inputs/biit-dropdown/biit-dropdown.module.mjs +36 -0
  239. package/esm2020/inputs/biit-group/biit-group.component.mjs +38 -0
  240. package/esm2020/inputs/biit-group/biit-group.module.mjs +32 -0
  241. package/esm2020/inputs/biit-input-text/biit-input-text.component.mjs +142 -0
  242. package/esm2020/inputs/biit-input-text/biit-input-text.module.mjs +40 -0
  243. package/esm2020/inputs/biit-multiselect/biit-multiselect.component.mjs +321 -0
  244. package/esm2020/inputs/biit-multiselect/biit-multiselect.module.mjs +40 -0
  245. package/esm2020/inputs/biit-radio-button/biit-radio-button.component.mjs +62 -0
  246. package/esm2020/inputs/biit-radio-button/biit-radio-button.module.mjs +36 -0
  247. package/esm2020/inputs/biit-slider/biit-slider.component.mjs +85 -0
  248. package/esm2020/inputs/biit-slider/biit-slider.module.mjs +32 -0
  249. package/esm2020/inputs/biit-slider-option/biit-slider-option.component.mjs +99 -0
  250. package/esm2020/inputs/biit-slider-option/biit-slider-option.module.mjs +36 -0
  251. package/esm2020/inputs/biit-slider-option-vertical/biit-slider-option-vertical.component.mjs +97 -0
  252. package/esm2020/inputs/biit-slider-option-vertical/biit-slider-option-vertical.module.mjs +36 -0
  253. package/esm2020/inputs/biit-slider-range/biit-slider-range.component.mjs +108 -0
  254. package/esm2020/inputs/biit-slider-range/biit-slider-range.module.mjs +32 -0
  255. package/esm2020/inputs/biit-solutions-wizardry-theme-inputs.mjs +5 -0
  256. package/esm2020/inputs/biit-ternary-togle/biit-ternary-toggle.component.mjs +65 -0
  257. package/esm2020/inputs/biit-ternary-togle/biit-ternary-toggle.module.mjs +31 -0
  258. package/esm2020/inputs/biit-textarea/biit-textarea.component.mjs +99 -0
  259. package/esm2020/inputs/biit-textarea/biit-textarea.module.mjs +36 -0
  260. package/esm2020/inputs/biit-toggle/biit-toggle.component.mjs +45 -0
  261. package/esm2020/inputs/biit-toggle/biit-toggle.module.mjs +28 -0
  262. package/esm2020/inputs/biit-toggle-group/biit-toggle-button.component.mjs +23 -0
  263. package/esm2020/inputs/biit-toggle-group/biit-toggle-group.component.mjs +69 -0
  264. package/esm2020/inputs/biit-toggle-group/biit-toggle-group.module.mjs +37 -0
  265. package/esm2020/inputs/public-api.mjs +36 -0
  266. package/esm2020/login/biit-login/biit-login.component.mjs +238 -0
  267. package/esm2020/login/biit-login/biit-login.module.mjs +53 -0
  268. package/esm2020/login/biit-login/models/LoginErrors.mjs +10 -0
  269. package/esm2020/login/biit-login/models/biit-login-service-support.mjs +2 -0
  270. package/esm2020/login/biit-login/models/sign-up-request.mjs +11 -0
  271. package/esm2020/login/biit-solutions-wizardry-theme-login.mjs +5 -0
  272. package/esm2020/login/public-api.mjs +8 -0
  273. package/esm2020/models/BiitLogin.mjs +14 -0
  274. package/esm2020/models/biit-solutions-wizardry-theme-models.mjs +5 -0
  275. package/esm2020/models/public-api.mjs +5 -0
  276. package/esm2020/navigation/biit-nav-menu/biit-nav-menu.component.mjs +87 -0
  277. package/esm2020/navigation/biit-nav-menu/biit-nav-menu.module.mjs +32 -0
  278. package/esm2020/navigation/biit-nav-user/biit-nav-user.component.mjs +26 -0
  279. package/esm2020/navigation/biit-nav-user/biit-nav-user.module.mjs +24 -0
  280. package/esm2020/navigation/biit-solutions-wizardry-theme-navigation.mjs +5 -0
  281. package/esm2020/navigation/biit-tab-group/biit-tab-group.component.mjs +54 -0
  282. package/esm2020/navigation/biit-tab-group/biit-tab-group.module.mjs +36 -0
  283. package/esm2020/navigation/biit-tab-group/biit-tab.component.mjs +21 -0
  284. package/esm2020/navigation/biit-vertical-menu/biit-vertical-menu.component.mjs +30 -0
  285. package/esm2020/navigation/biit-vertical-menu/biit-vertical-menu.module.mjs +36 -0
  286. package/esm2020/navigation/public-api.mjs +13 -0
  287. package/esm2020/popup/biit-popup/biit-popup.component.mjs +156 -0
  288. package/esm2020/popup/biit-popup/biit-popup.module.mjs +52 -0
  289. package/esm2020/popup/biit-solutions-wizardry-theme-popup.mjs +5 -0
  290. package/esm2020/popup/public-api.mjs +6 -0
  291. package/esm2020/public-api.mjs +6 -0
  292. package/esm2020/table/biit-datatable/biit-datatable.component.mjs +138 -0
  293. package/esm2020/table/biit-datatable/biit-datatable.module.mjs +62 -0
  294. package/esm2020/table/biit-datatable/models/datatable-column.mjs +15 -0
  295. package/esm2020/table/biit-datatable/models/page.mjs +11 -0
  296. package/esm2020/table/biit-datatable-pager/biit-datatable-pager.component.mjs +35 -0
  297. package/esm2020/table/biit-datatable-pager/biit-datatable-pager.module.mjs +40 -0
  298. package/esm2020/table/biit-paginator/biit-paginator.component.mjs +196 -0
  299. package/esm2020/table/biit-paginator/biit-paginator.module.mjs +48 -0
  300. package/esm2020/table/biit-paginator/models/biit-paginator-options.mjs +11 -0
  301. package/esm2020/table/biit-solutions-wizardry-theme-table.mjs +5 -0
  302. package/esm2020/table/biit-table/biit-table.component.mjs +301 -0
  303. package/esm2020/table/biit-table/biit-table.module.mjs +95 -0
  304. package/esm2020/table/biit-table/models/biit-table-action-response.mjs +7 -0
  305. package/esm2020/table/biit-table/models/biit-table-column.mjs +21 -0
  306. package/esm2020/table/biit-table/models/biit-table-data.mjs +7 -0
  307. package/esm2020/table/biit-table/models/biit-table-response.mjs +9 -0
  308. package/esm2020/table/biit-table/models/biit-table-sorting.mjs +12 -0
  309. package/esm2020/table/biit-table/models/column-resize-handler.mjs +3 -0
  310. package/esm2020/table/biit-table/pipes/column-data-pipe.mjs +21 -0
  311. package/esm2020/table/biit-table/pipes/visible-columns-pipe.mjs +16 -0
  312. package/esm2020/table/public-api.mjs +20 -0
  313. package/esm2020/table/utils/generic-filter.mjs +47 -0
  314. package/esm2020/table/utils/generic-sort.mjs +42 -0
  315. package/esm2020/utils/biit-solutions-wizardry-theme-utils.mjs +5 -0
  316. package/esm2020/utils/error-handler.mjs +24 -0
  317. package/esm2020/utils/i-stack.mjs +2 -0
  318. package/esm2020/utils/input-limits.mjs +8 -0
  319. package/esm2020/utils/pipes/localized-date-pipe.mjs +23 -0
  320. package/esm2020/utils/pipes/localized-date-pipe.module.mjs +17 -0
  321. package/esm2020/utils/pipes/map-get-pipe.mjs +21 -0
  322. package/esm2020/utils/pipes/map-get-pipe.module.mjs +17 -0
  323. package/esm2020/utils/public-api.mjs +11 -0
  324. package/esm2020/utils/stack.mjs +22 -0
  325. package/fesm2015/biit-solutions-wizardry-theme-button.mjs +233 -0
  326. package/fesm2015/biit-solutions-wizardry-theme-button.mjs.map +1 -0
  327. package/fesm2015/biit-solutions-wizardry-theme-calendar.mjs +369 -0
  328. package/fesm2015/biit-solutions-wizardry-theme-calendar.mjs.map +1 -0
  329. package/fesm2015/biit-solutions-wizardry-theme-charts.mjs +2780 -0
  330. package/fesm2015/biit-solutions-wizardry-theme-charts.mjs.map +1 -0
  331. package/fesm2015/biit-solutions-wizardry-theme-i18n.mjs +118 -0
  332. package/fesm2015/biit-solutions-wizardry-theme-i18n.mjs.map +1 -0
  333. package/fesm2015/biit-solutions-wizardry-theme-icon.mjs +147 -0
  334. package/fesm2015/biit-solutions-wizardry-theme-icon.mjs.map +1 -0
  335. package/fesm2015/biit-solutions-wizardry-theme-info.mjs +572 -0
  336. package/fesm2015/biit-solutions-wizardry-theme-info.mjs.map +1 -0
  337. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs +2317 -0
  338. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs.map +1 -0
  339. package/fesm2015/biit-solutions-wizardry-theme-login.mjs +318 -0
  340. package/fesm2015/biit-solutions-wizardry-theme-login.mjs.map +1 -0
  341. package/fesm2015/biit-solutions-wizardry-theme-models.mjs +24 -0
  342. package/fesm2015/biit-solutions-wizardry-theme-models.mjs.map +1 -0
  343. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs +330 -0
  344. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs.map +1 -0
  345. package/fesm2015/biit-solutions-wizardry-theme-popup.mjs +216 -0
  346. package/fesm2015/biit-solutions-wizardry-theme-popup.mjs.map +1 -0
  347. package/fesm2015/biit-solutions-wizardry-theme-table.mjs +1067 -0
  348. package/fesm2015/biit-solutions-wizardry-theme-table.mjs.map +1 -0
  349. package/fesm2015/biit-solutions-wizardry-theme-utils.mjs +136 -0
  350. package/fesm2015/biit-solutions-wizardry-theme-utils.mjs.map +1 -0
  351. package/fesm2015/biit-solutions-wizardry-theme.mjs +12 -0
  352. package/fesm2015/biit-solutions-wizardry-theme.mjs.map +1 -0
  353. package/fesm2020/biit-solutions-wizardry-theme-button.mjs +233 -0
  354. package/fesm2020/biit-solutions-wizardry-theme-button.mjs.map +1 -0
  355. package/fesm2020/biit-solutions-wizardry-theme-calendar.mjs +369 -0
  356. package/fesm2020/biit-solutions-wizardry-theme-calendar.mjs.map +1 -0
  357. package/fesm2020/biit-solutions-wizardry-theme-charts.mjs +2746 -0
  358. package/fesm2020/biit-solutions-wizardry-theme-charts.mjs.map +1 -0
  359. package/fesm2020/biit-solutions-wizardry-theme-i18n.mjs +118 -0
  360. package/fesm2020/biit-solutions-wizardry-theme-i18n.mjs.map +1 -0
  361. package/fesm2020/biit-solutions-wizardry-theme-icon.mjs +145 -0
  362. package/fesm2020/biit-solutions-wizardry-theme-icon.mjs.map +1 -0
  363. package/fesm2020/biit-solutions-wizardry-theme-info.mjs +572 -0
  364. package/fesm2020/biit-solutions-wizardry-theme-info.mjs.map +1 -0
  365. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs +2313 -0
  366. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs.map +1 -0
  367. package/fesm2020/biit-solutions-wizardry-theme-login.mjs +317 -0
  368. package/fesm2020/biit-solutions-wizardry-theme-login.mjs.map +1 -0
  369. package/fesm2020/biit-solutions-wizardry-theme-models.mjs +24 -0
  370. package/fesm2020/biit-solutions-wizardry-theme-models.mjs.map +1 -0
  371. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs +328 -0
  372. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs.map +1 -0
  373. package/fesm2020/biit-solutions-wizardry-theme-popup.mjs +216 -0
  374. package/fesm2020/biit-solutions-wizardry-theme-popup.mjs.map +1 -0
  375. package/fesm2020/biit-solutions-wizardry-theme-table.mjs +1064 -0
  376. package/fesm2020/biit-solutions-wizardry-theme-table.mjs.map +1 -0
  377. package/fesm2020/biit-solutions-wizardry-theme-utils.mjs +135 -0
  378. package/fesm2020/biit-solutions-wizardry-theme-utils.mjs.map +1 -0
  379. package/fesm2020/biit-solutions-wizardry-theme.mjs +12 -0
  380. package/fesm2020/biit-solutions-wizardry-theme.mjs.map +1 -0
  381. package/i18n/i18n/http-loader.d.ts +11 -0
  382. package/i18n/i18n/supported-languages.d.ts +10 -0
  383. package/i18n/i18n/transloco-root.module.d.ts +8 -0
  384. package/i18n/index.d.ts +5 -0
  385. package/i18n/public-api.d.ts +3 -0
  386. package/icon/biit-icon/biit-icon.component.d.ts +23 -0
  387. package/icon/biit-icon/biit-icon.module.d.ts +8 -0
  388. package/icon/biit-icon/biit-icon.service.d.ts +10 -0
  389. package/icon/index.d.ts +5 -0
  390. package/icon/public-api.d.ts +3 -0
  391. package/index.d.ts +5 -0
  392. package/info/biit-cookies-consent/biit-cookies-consent.component.d.ts +8 -0
  393. package/info/biit-cookies-consent/biit-cookies-consent.module.d.ts +11 -0
  394. package/info/biit-gallery-card/biit-gallery-card.component.d.ts +9 -0
  395. package/info/biit-gallery-card/biit-gallery-card.module.d.ts +9 -0
  396. package/info/biit-progress-bar/biit-progress-bar.component.d.ts +13 -0
  397. package/info/biit-progress-bar/biit-progress-bar.module.d.ts +8 -0
  398. package/info/biit-snackbar/biit-notification/biit-notification.component.d.ts +12 -0
  399. package/info/biit-snackbar/biit-snackbar.component.d.ts +12 -0
  400. package/info/biit-snackbar/biit-snackbar.module.d.ts +12 -0
  401. package/info/biit-snackbar/biit-snackbar.service.d.ts +21 -0
  402. package/info/biit-snackbar/models/biit-snackbar-horizontal-position.d.ts +5 -0
  403. package/info/biit-snackbar/models/biit-snackbar-vertical-position.d.ts +4 -0
  404. package/info/biit-snackbar/models/notification-type.d.ts +6 -0
  405. package/info/biit-snackbar/models/notification.d.ts +12 -0
  406. package/info/biit-tooltip/biit-tooltip.component.d.ts +11 -0
  407. package/info/biit-tooltip/biit-tooltip.directive.d.ts +16 -0
  408. package/info/biit-tooltip/biit-tooltip.module.d.ts +9 -0
  409. package/info/biit-tooltip-icon/biit-tooltip-icon.component.d.ts +8 -0
  410. package/info/biit-tooltip-icon/biit-tooltip-icon.module.d.ts +9 -0
  411. package/info/index.d.ts +5 -0
  412. package/info/public-api.d.ts +19 -0
  413. package/inputs/biit-checkbox/biit-checkbox.component.d.ts +16 -0
  414. package/inputs/biit-checkbox/biit-checkbox.module.d.ts +10 -0
  415. package/inputs/biit-datepicker/biit-datepicker.component.d.ts +59 -0
  416. package/inputs/biit-datepicker/biit-datepicker.module.d.ts +20 -0
  417. package/inputs/biit-datepicker/models/view.d.ts +4 -0
  418. package/inputs/biit-datepicker/pipes/calendar-date-pipe.d.ts +8 -0
  419. package/inputs/biit-datepicker/pipes/is-disabled-pipe.d.ts +8 -0
  420. package/inputs/biit-datepicker/pipes/is-same-day-pipe.d.ts +8 -0
  421. package/inputs/biit-datepicker/pipes/is-today-pipe.d.ts +8 -0
  422. package/inputs/biit-datepicker/pipes/month-selector-label-pipe.d.ts +11 -0
  423. package/inputs/biit-datepicker/pipes/out-of-month-pipe.d.ts +8 -0
  424. package/inputs/biit-dropdown/biit-dropdown.component.d.ts +52 -0
  425. package/inputs/biit-dropdown/biit-dropdown.module.d.ts +11 -0
  426. package/inputs/biit-group/biit-group.component.d.ts +14 -0
  427. package/inputs/biit-group/biit-group.module.d.ts +10 -0
  428. package/inputs/biit-input-text/biit-input-text.component.d.ts +44 -0
  429. package/inputs/biit-input-text/biit-input-text.module.d.ts +12 -0
  430. package/inputs/biit-multiselect/biit-multiselect.component.d.ts +63 -0
  431. package/inputs/biit-multiselect/biit-multiselect.module.d.ts +12 -0
  432. package/inputs/biit-radio-button/biit-radio-button.component.d.ts +22 -0
  433. package/inputs/biit-radio-button/biit-radio-button.module.d.ts +11 -0
  434. package/inputs/biit-slider/biit-slider.component.d.ts +27 -0
  435. package/inputs/biit-slider/biit-slider.module.d.ts +10 -0
  436. package/inputs/biit-slider-option/biit-slider-option.component.d.ts +32 -0
  437. package/inputs/biit-slider-option/biit-slider-option.module.d.ts +11 -0
  438. package/inputs/biit-slider-option-vertical/biit-slider-option-vertical.component.d.ts +32 -0
  439. package/inputs/biit-slider-option-vertical/biit-slider-option-vertical.module.d.ts +11 -0
  440. package/inputs/biit-slider-range/biit-slider-range.component.d.ts +28 -0
  441. package/inputs/biit-slider-range/biit-slider-range.module.d.ts +10 -0
  442. package/inputs/biit-ternary-togle/biit-ternary-toggle.component.d.ts +15 -0
  443. package/inputs/biit-ternary-togle/biit-ternary-toggle.module.d.ts +9 -0
  444. package/inputs/biit-textarea/biit-textarea.component.d.ts +31 -0
  445. package/inputs/biit-textarea/biit-textarea.module.d.ts +11 -0
  446. package/inputs/biit-toggle/biit-toggle.component.d.ts +14 -0
  447. package/inputs/biit-toggle/biit-toggle.module.d.ts +9 -0
  448. package/inputs/biit-toggle-group/biit-toggle-button.component.d.ts +12 -0
  449. package/inputs/biit-toggle-group/biit-toggle-group.component.d.ts +19 -0
  450. package/inputs/biit-toggle-group/biit-toggle-group.module.d.ts +11 -0
  451. package/inputs/index.d.ts +5 -0
  452. package/inputs/public-api.d.ts +32 -0
  453. package/login/biit-login/biit-login.component.d.ts +59 -0
  454. package/login/biit-login/biit-login.module.d.ts +14 -0
  455. package/login/biit-login/models/LoginErrors.d.ts +8 -0
  456. package/login/biit-login/models/biit-login-service-support.d.ts +3 -0
  457. package/login/biit-login/models/sign-up-request.d.ts +10 -0
  458. package/login/index.d.ts +5 -0
  459. package/login/public-api.d.ts +4 -0
  460. package/models/BiitLogin.d.ts +6 -0
  461. package/models/index.d.ts +5 -0
  462. package/models/public-api.d.ts +1 -0
  463. package/navigation/biit-nav-menu/biit-nav-menu.component.d.ts +31 -0
  464. package/navigation/biit-nav-menu/biit-nav-menu.module.d.ts +10 -0
  465. package/navigation/biit-nav-user/biit-nav-user.component.d.ts +10 -0
  466. package/navigation/biit-nav-user/biit-nav-user.module.d.ts +8 -0
  467. package/navigation/biit-tab-group/biit-tab-group.component.d.ts +18 -0
  468. package/navigation/biit-tab-group/biit-tab-group.module.d.ts +10 -0
  469. package/navigation/biit-tab-group/biit-tab.component.d.ts +8 -0
  470. package/navigation/biit-vertical-menu/biit-vertical-menu.component.d.ts +11 -0
  471. package/navigation/biit-vertical-menu/biit-vertical-menu.module.d.ts +12 -0
  472. package/navigation/index.d.ts +5 -0
  473. package/navigation/public-api.d.ts +9 -0
  474. package/package.json +151 -0
  475. package/popup/biit-popup/biit-popup.component.d.ts +66 -0
  476. package/popup/biit-popup/biit-popup.module.d.ts +9 -0
  477. package/popup/index.d.ts +5 -0
  478. package/popup/public-api.d.ts +2 -0
  479. package/public-api.d.ts +1 -0
  480. package/styles.scss +128 -0
  481. package/table/biit-datatable/biit-datatable.component.d.ts +57 -0
  482. package/table/biit-datatable/biit-datatable.module.d.ts +15 -0
  483. package/table/biit-datatable/models/datatable-column.d.ts +192 -0
  484. package/table/biit-datatable/models/page.d.ts +6 -0
  485. package/table/biit-datatable-pager/biit-datatable-pager.component.d.ts +10 -0
  486. package/table/biit-datatable-pager/biit-datatable-pager.module.d.ts +13 -0
  487. package/table/biit-paginator/biit-paginator.component.d.ts +31 -0
  488. package/table/biit-paginator/biit-paginator.module.d.ts +13 -0
  489. package/table/biit-paginator/models/biit-paginator-options.d.ts +9 -0
  490. package/table/biit-table/biit-table.component.d.ts +87 -0
  491. package/table/biit-table/biit-table.module.d.ts +19 -0
  492. package/table/biit-table/models/biit-table-action-response.d.ts +5 -0
  493. package/table/biit-table/models/biit-table-column.d.ts +18 -0
  494. package/table/biit-table/models/biit-table-data.d.ts +5 -0
  495. package/table/biit-table/models/biit-table-response.d.ts +8 -0
  496. package/table/biit-table/models/biit-table-sorting.d.ts +9 -0
  497. package/table/biit-table/models/column-resize-handler.d.ts +7 -0
  498. package/table/biit-table/pipes/column-data-pipe.d.ts +7 -0
  499. package/table/biit-table/pipes/visible-columns-pipe.d.ts +8 -0
  500. package/table/index.d.ts +5 -0
  501. package/table/public-api.d.ts +16 -0
  502. package/table/utils/generic-filter.d.ts +3 -0
  503. package/table/utils/generic-sort.d.ts +5 -0
  504. package/utils/error-handler.d.ts +6 -0
  505. package/utils/i-stack.d.ts +6 -0
  506. package/utils/index.d.ts +5 -0
  507. package/utils/input-limits.d.ts +7 -0
  508. package/utils/pipes/localized-date-pipe.d.ts +10 -0
  509. package/utils/pipes/localized-date-pipe.module.d.ts +7 -0
  510. package/utils/pipes/map-get-pipe.d.ts +7 -0
  511. package/utils/pipes/map-get-pipe.module.d.ts +7 -0
  512. package/utils/public-api.d.ts +7 -0
  513. package/utils/stack.d.ts +10 -0
@@ -0,0 +1,251 @@
1
+ import { Component, Input, forwardRef, HostListener } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { eachDayOfInterval, add, setDate, startOfWeek, sub, setDefaultOptions, parseISO } from 'date-fns';
4
+ import { TRANSLOCO_SCOPE } from "@ngneat/transloco";
5
+ import { enGB, es, nl } from "date-fns/locale";
6
+ import { coerceBooleanProperty } from "@angular/cdk/coercion";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngneat/transloco";
9
+ import * as i2 from "@angular/common";
10
+ import * as i3 from "@angular/forms";
11
+ import * as i4 from "@biit-solutions/wizardry-theme/button";
12
+ import * as i5 from "@biit-solutions/wizardry-theme/icon";
13
+ import * as i6 from "@ngneat/transloco-locale";
14
+ import * as i7 from "./pipes/calendar-date-pipe";
15
+ import * as i8 from "./pipes/out-of-month-pipe";
16
+ import * as i9 from "./pipes/is-today-pipe";
17
+ import * as i10 from "./pipes/is-same-day-pipe";
18
+ import * as i11 from "./pipes/is-disabled-pipe";
19
+ export class BiitDatePickerComponent {
20
+ set isCalendarMode(value) {
21
+ this.calendarMode = coerceBooleanProperty(value);
22
+ }
23
+ set placeholder(placeholder) {
24
+ this._placeholder = placeholder;
25
+ }
26
+ get inputElement() { return this.elem.nativeElement.querySelector('.input-object'); }
27
+ get dropdownElement() { return this.elem.nativeElement.querySelector('.popup'); }
28
+ onKeyDown(e) {
29
+ this.closeDropdown();
30
+ }
31
+ constructor(elem, transloco) {
32
+ this.elem = elem;
33
+ this.transloco = transloco;
34
+ this.calendarMode = false;
35
+ this.disabledDays = [];
36
+ this._placeholder = '';
37
+ this.error = "";
38
+ this.dropdownOpen = false;
39
+ this.monthSelector = false;
40
+ this.days = [];
41
+ this.headers = ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"];
42
+ this.viewerDate = new Date();
43
+ this.add = add;
44
+ this.sub = sub;
45
+ this.parseISO = parseISO;
46
+ this.onChange = (value) => { };
47
+ this.onTouched = () => { };
48
+ }
49
+ checkBooleanInput(value) {
50
+ switch (value) {
51
+ case undefined:
52
+ return false;
53
+ case false:
54
+ return false;
55
+ default:
56
+ return true;
57
+ }
58
+ }
59
+ registerOnChange(fn) {
60
+ this.onChange = fn;
61
+ }
62
+ registerOnTouched(fn) {
63
+ this.onTouched = fn;
64
+ }
65
+ writeValue(value) {
66
+ if (this.calendarMode && !value) {
67
+ this.value = new Date();
68
+ }
69
+ else {
70
+ this.value = value;
71
+ }
72
+ }
73
+ onModelChange(value) {
74
+ if (value) {
75
+ if (this.min && new Date(value).getTime() <= (new Date(this.min).getTime()))
76
+ value = add(this.min, { minutes: 1 });
77
+ if (this.max && new Date(value).getTime() > new Date(this.max).getTime())
78
+ value = sub(this.max, { minutes: 1 });
79
+ this.value = new Date(value);
80
+ this.viewerDate = new Date(value);
81
+ this.onChange(value);
82
+ }
83
+ }
84
+ ngOnInit() {
85
+ this.initLocalization();
86
+ this.disabled = this.checkBooleanInput(this.disabled);
87
+ this.readonly = this.checkBooleanInput(this.readonly);
88
+ this.required = this.checkBooleanInput(this.required);
89
+ this.disableWeekdays = this.checkBooleanInput(this.disableWeekdays);
90
+ this.disableWeekends = this.checkBooleanInput(this.disableWeekends);
91
+ this.timePicker = this.checkBooleanInput(this.timePicker);
92
+ this.drawCalendar();
93
+ }
94
+ initLocalization() {
95
+ switch (this.transloco.getActiveLang()) {
96
+ case 'es':
97
+ this.locale = es;
98
+ break;
99
+ case 'nl':
100
+ this.locale = nl;
101
+ break;
102
+ default:
103
+ this.locale = enGB;
104
+ }
105
+ setDefaultOptions({ locale: this.locale });
106
+ }
107
+ handleMouseEvents($event) {
108
+ if (this.dropdownOpen && !this.elem.nativeElement.contains($event.target)) {
109
+ this.closeDropdown();
110
+ }
111
+ }
112
+ changeView() {
113
+ this.monthSelector = !this.monthSelector;
114
+ this.setPopupComponentProperties();
115
+ }
116
+ openDropdown() {
117
+ if (!this.value)
118
+ this.onModelChange(new Date());
119
+ this.viewerDate = this.value;
120
+ this.monthSelector = false;
121
+ this.drawCalendar();
122
+ this.setPopupComponentProperties();
123
+ this.inputElement.focus();
124
+ // Setting a timeout because it doesn't load upwards/downwards css classes on execution time
125
+ setTimeout(() => {
126
+ this.dropdownOpen = true;
127
+ this.dropdownElement.setAttribute('aria-expanded', "true");
128
+ }, 100);
129
+ }
130
+ closeDropdown() {
131
+ this.dropdownOpen = false;
132
+ this.dropdownElement.setAttribute('aria-expanded', "false");
133
+ this.inputElement.focus();
134
+ }
135
+ setPopupComponentProperties() {
136
+ let dropdown = this.dropdownElement;
137
+ dropdown.style.display = 'block';
138
+ let input = this.inputElement;
139
+ // Checking available screen space
140
+ const fitsBottom = bottomCheck();
141
+ const fitsRight = rightCheck();
142
+ const fitsLeft = leftCheck();
143
+ if (!fitsRight && fitsLeft) {
144
+ dropdown.style.marginLeft = input.offsetWidth - dropdown.offsetWidth + 'px';
145
+ }
146
+ else {
147
+ dropdown.style.marginLeft = null;
148
+ }
149
+ dropdown.classList.remove('onwards');
150
+ dropdown.classList.remove('downwards');
151
+ if (!fitsBottom) {
152
+ dropdown.classList.add('onwards');
153
+ dropdown.style.marginTop = -(dropdown.offsetHeight + input.offsetHeight) + 'px';
154
+ }
155
+ else {
156
+ dropdown.classList.add('downwards');
157
+ dropdown.style.marginTop = null;
158
+ }
159
+ // Support inner functions
160
+ function bottomCheck() {
161
+ return input.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||
162
+ input.getBoundingClientRect().top - dropdown.offsetHeight <= 0;
163
+ }
164
+ function rightCheck() {
165
+ return input.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;
166
+ }
167
+ function leftCheck() {
168
+ return input.getBoundingClientRect().right - dropdown.offsetWidth >= 0;
169
+ }
170
+ }
171
+ drawCalendar() {
172
+ const firstDay = startOfWeek(setDate(this.viewerDate, 1));
173
+ const lastDay = add(firstDay, { days: 41 });
174
+ this.days = eachDayOfInterval({ start: firstDay, end: lastDay });
175
+ }
176
+ prevMonth() {
177
+ this.viewerDate = sub(this.viewerDate, { months: 1 });
178
+ this.drawCalendar();
179
+ }
180
+ nextMonth() {
181
+ this.viewerDate = add(this.viewerDate, { months: 1 });
182
+ this.drawCalendar();
183
+ }
184
+ setToday() {
185
+ this.viewerDate = new Date();
186
+ this.drawCalendar();
187
+ this.onModelChange(new Date());
188
+ }
189
+ log(value) {
190
+ console.debug('DEVELOPMENT LOG: ', value);
191
+ }
192
+ }
193
+ BiitDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerComponent, deps: [{ token: i0.ElementRef }, { token: i1.TranslocoService }], target: i0.ɵɵFactoryTarget.Component });
194
+ BiitDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitDatePickerComponent, selector: "biit-datepicker", inputs: { disabled: "disabled", readonly: "readonly", required: "required", isCalendarMode: ["calendar-mode", "isCalendarMode"], disabledDays: "disabledDays", disableWeekdays: "disableWeekdays", disableWeekends: "disableWeekends", timePicker: "timePicker", min: "min", max: "max", placeholder: "placeholder", error: "error", description: "description" }, host: { listeners: { "document:pointerdown": "handleMouseEvents($event)", "keydown.esc": "onKeyDown($event)" } }, providers: [
195
+ {
196
+ provide: NG_VALUE_ACCESSOR,
197
+ useExisting: forwardRef(() => BiitDatePickerComponent),
198
+ multi: true
199
+ },
200
+ {
201
+ provide: TRANSLOCO_SCOPE,
202
+ useValue: { scope: 'wizardry-theme/inputs', alias: "inputs" }
203
+ }
204
+ ], ngImport: i0, template: "<ng-container *ngIf=\"calendarMode; then calendarModeTemplate else datePickerTemplate\"></ng-container>\n\n<ng-template #datePickerTemplate>\n <div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\" >\n <div class=\"input-container\">\n <input class=\"input-object\"\n [ngModel]=\"value && !timePicker ? (value | date: 'yyyy-MM-dd') :\n value && timePicker ? (value | date: 'yyyy-MM-dd\\THH:mm') :\n undefined\"\n (ngModelChange)=\"onModelChange(parseISO($event))\"\n [type]=\"timePicker ? 'datetime-local' : 'date'\" required\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n [min]=\"min ? (min | date: 'yyyy-MM-dd') : undefined\"\n [max]=\"max ? (max | date: 'yyyy-MM-dd') : undefined\"\n [disabled]=\"disabled\"\n >\n <div class=\"input-show-icon-container\"\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n (click)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n (keydown.enter)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n tabindex=\"0\">\n <biit-icon [name]=\"'calendar'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: dropdownOpen ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div class=\"input-placeholder input-filled\">\n {{_placeholder}}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error || (value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max)\"\n name=\"exclamation\"\n class=\"input-error-icon\"\n [pathStyle]=\"{fill:'#A1093F'}\"\n ></biit-icon>\n <div *ngIf=\"description\" class=\"input-description\">\n <a>\n {{description}}\n </a>\n </div>\n\n <div style=\"position: relative; height: 0;\">\n <div class=\"popup\"\n [class.dropdown-open]=\"dropdownOpen\"\n [style.height]=\"!monthSelector && timePicker ? '29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n <button biit-button tertiary\n (click)=\"closeDropdown()\">\n {{'inputs.done' | transloco}}\n </button>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"bottom-line\"></div>\n <div *ngIf=\"error\" class=\"input-error-msg\">\n <a>\n {{error}}\n </a>\n </div>\n <div *ngIf=\"value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max\" class=\"input-error-msg\">\n <a>\n {{'inputs.date-error' | transloco}}\n </a>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #calendarModeTemplate>\n <div class=\"popup calendar-mode\"\n [style.height]=\"!monthSelector && timePicker ? 'calc(29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n </div>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box}.popup{display:block;width:17.5em;border:3px solid #262626;background:white;padding:.45em;-webkit-user-select:none;user-select:none;opacity:0;pointer-events:none;transform-origin:top;margin-top:-3px;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease}.popup:not(.calendar-mode){position:absolute;z-index:2}.popup.calendar-mode{position:relative;opacity:1;pointer-events:all;margin-top:0}.popup.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.popup.disabled{visibility:hidden}.popup .month-view{display:flex;flex-direction:column;justify-content:space-between}.popup .month-view .month-selector{display:flex;justify-content:space-between;align-items:center}.popup .month-view .month-selector .month-label{width:12em}.popup .month-view .month-selector .month-label ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .month-view .month-selector .month-label ::ng-deep .button-base .bar{background:#262626}.popup .month-view .month-selector ::ng-deep button .icon-button-svg{width:.8em;height:.8em}.popup .month-view .grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.popup .month-view .grid .grid-element{display:flex;align-items:center;justify-content:center;height:2.1em;width:2.1em}.popup .month-view .grid .grid-element.header{font-weight:800;cursor:default;text-transform:capitalize}.popup .month-view .grid .grid-element.day{cursor:pointer;background:none;color:inherit;border:none;padding:0;font:inherit;outline:inherit}.popup .month-view .grid .grid-element.day.outer-day{color:#d9d9d9}.popup .month-view .grid .grid-element.day.outer-day:hover,.popup .month-view .grid .grid-element.day.outer-day:focus-visible{color:#262626}.popup .month-view .grid .grid-element.day.is-today{border:3px solid #262626}.popup .month-view .grid .grid-element.day:hover,.popup .month-view .grid .grid-element.day:focus-visible{background:#D9D9D9}.popup .month-view .grid .grid-element.day:active{color:#f20d5e}.popup .month-view .grid .grid-element.day.selected{background:#F20D5E}.popup .month-view .grid .grid-element.day.selected:hover,.popup .month-view .grid .grid-element.day.selected:focus-visible{background:#F20D5E;color:#fff}.popup .month-view .grid .grid-element.day.disabled{color:#a1093f;pointer-events:none}.popup .month-view .grid .grid-element.day.disabled.outer-day{color:#fbaec9}.popup .month-view .buttons{display:flex;justify-content:space-between;padding:.3em .85em}.popup .month-view .buttons .today-btn ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .month-view .buttons .today-btn ::ng-deep .button-base .bar{background:#262626}.popup .time-picker{width:17.5em;margin-left:calc(-.45em - 3px);box-sizing:border-box;border-top:3px solid #262626;margin-top:.45em;margin-bottom:-.45em}.popup .year-view{height:100%;display:flex;flex-direction:column;justify-content:space-between}.popup .year-view .month-label{width:100%;height:2.1em;align-items:center}.popup .year-view .month-label ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .year-view .month-label ::ng-deep .button-base .bar{background:#262626}.popup .year-view .buttons{display:flex;justify-content:flex-end;padding:.3em .85em}.popup .selector{display:flex;justify-content:center}.popup .selector .column{display:block}.popup .selector .column .item{width:100%;height:1.5em;display:flex;justify-content:center;align-items:center;cursor:pointer}.popup .selector .column .item.primary{height:1.8em;color:#262626;font-weight:500}.popup .selector .column .item.secondary{color:gray}.popup .selector .column .item.tertiary{color:#d9d9d9}.popup .selector .column .item.arrow{display:inline-flex;width:100%;height:1.8em}.popup .selector .column .item.arrow .up{height:.7em;rotate:-90deg}.popup .selector .column .item.arrow .down{height:.7em;rotate:90deg}.biit-input{display:flex;min-width:12.8em}.biit-input.disabled{pointer-events:none}.biit-input.disabled .input-object,.biit-input.disabled .input-show-icon-container{background:#D9D9D9}.biit-input.readonly{pointer-events:none}.input-container{position:relative;width:100%}.input-object{font-size:1em;display:block;border:none;color:#262626;padding:.7em;height:2.1em;width:100%;min-width:2.1em;font-weight:400}.input-object:focus,.input-object:hover{outline:none;background:#D9D9D9}.input-object:focus~.input-show-icon-container,.input-object:hover~.input-show-icon-container{background:#D9D9D9}.input-object.error{color:#a1093f;border-color:#a1093f}.input-object.password{padding:.7em 2.1em .55em .7em}.input-object.password.reveal{-webkit-text-security:none;input-security:none}.input-description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:1.4em;min-height:1.05em;line-height:120%;font-style:italic}.input-description a{display:block;line-height:1.1em}@-moz-document url-prefix(){.input-object{padding-top:.55em!important}}input[type=date]::-webkit-inner-spin-button,input[type=date]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.input-placeholder{color:#262626;font-size:1em;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7em;top:.42em;height:.7em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-object:focus~.input-placeholder,.input-filled{top:-.95em;font-size:.7em;line-height:.7em;font-weight:400;color:gray}.input-error-icon{display:flex;top:.7em;position:absolute;width:.7em;height:.7em}.input-error-msg{position:absolute;display:flex;align-items:center;font-size:.7em;color:#a1093f;padding-top:.2em;padding-bottom:.15em;min-height:1.05em}.input-error-msg a{display:block;line-height:1.1em}.input-show-icon{width:1.05em;height:1.05em}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1em;height:2.1em;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:white}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{background-color:#d9d9d9;border:none;outline:none}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.onwards{--origin: 1em}.downwards{--origin: -1em}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "component", type: i4.BiitButtonComponent, selector: "button[biit-button]" }, { kind: "directive", type: i4.BiitButtonTertiaryDirective, selector: "[tertiary]" }, { kind: "component", type: i5.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i1.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i6.TranslocoDatePipe, name: "translocoDate" }, { kind: "pipe", type: i7.CalendarDatePipe, name: "calendarDate" }, { kind: "pipe", type: i8.OutOfMonthPipe, name: "outOfMonth" }, { kind: "pipe", type: i9.IsTodayPipe, name: "isToday" }, { kind: "pipe", type: i10.IsSameDayPipe, name: "isSameDay" }, { kind: "pipe", type: i11.IsDisabledPipe, name: "isDisabled" }] });
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerComponent, decorators: [{
206
+ type: Component,
207
+ args: [{ selector: 'biit-datepicker', providers: [
208
+ {
209
+ provide: NG_VALUE_ACCESSOR,
210
+ useExisting: forwardRef(() => BiitDatePickerComponent),
211
+ multi: true
212
+ },
213
+ {
214
+ provide: TRANSLOCO_SCOPE,
215
+ useValue: { scope: 'wizardry-theme/inputs', alias: "inputs" }
216
+ }
217
+ ], host: {
218
+ '(document:pointerdown)': 'handleMouseEvents($event)'
219
+ }, template: "<ng-container *ngIf=\"calendarMode; then calendarModeTemplate else datePickerTemplate\"></ng-container>\n\n<ng-template #datePickerTemplate>\n <div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\" >\n <div class=\"input-container\">\n <input class=\"input-object\"\n [ngModel]=\"value && !timePicker ? (value | date: 'yyyy-MM-dd') :\n value && timePicker ? (value | date: 'yyyy-MM-dd\\THH:mm') :\n undefined\"\n (ngModelChange)=\"onModelChange(parseISO($event))\"\n [type]=\"timePicker ? 'datetime-local' : 'date'\" required\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n [min]=\"min ? (min | date: 'yyyy-MM-dd') : undefined\"\n [max]=\"max ? (max | date: 'yyyy-MM-dd') : undefined\"\n [disabled]=\"disabled\"\n >\n <div class=\"input-show-icon-container\"\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n (click)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n (keydown.enter)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n tabindex=\"0\">\n <biit-icon [name]=\"'calendar'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: dropdownOpen ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div class=\"input-placeholder input-filled\">\n {{_placeholder}}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error || (value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max)\"\n name=\"exclamation\"\n class=\"input-error-icon\"\n [pathStyle]=\"{fill:'#A1093F'}\"\n ></biit-icon>\n <div *ngIf=\"description\" class=\"input-description\">\n <a>\n {{description}}\n </a>\n </div>\n\n <div style=\"position: relative; height: 0;\">\n <div class=\"popup\"\n [class.dropdown-open]=\"dropdownOpen\"\n [style.height]=\"!monthSelector && timePicker ? '29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n <button biit-button tertiary\n (click)=\"closeDropdown()\">\n {{'inputs.done' | transloco}}\n </button>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"bottom-line\"></div>\n <div *ngIf=\"error\" class=\"input-error-msg\">\n <a>\n {{error}}\n </a>\n </div>\n <div *ngIf=\"value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max\" class=\"input-error-msg\">\n <a>\n {{'inputs.date-error' | transloco}}\n </a>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #calendarModeTemplate>\n <div class=\"popup calendar-mode\"\n [style.height]=\"!monthSelector && timePicker ? 'calc(29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n </div>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box}.popup{display:block;width:17.5em;border:3px solid #262626;background:white;padding:.45em;-webkit-user-select:none;user-select:none;opacity:0;pointer-events:none;transform-origin:top;margin-top:-3px;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease}.popup:not(.calendar-mode){position:absolute;z-index:2}.popup.calendar-mode{position:relative;opacity:1;pointer-events:all;margin-top:0}.popup.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.popup.disabled{visibility:hidden}.popup .month-view{display:flex;flex-direction:column;justify-content:space-between}.popup .month-view .month-selector{display:flex;justify-content:space-between;align-items:center}.popup .month-view .month-selector .month-label{width:12em}.popup .month-view .month-selector .month-label ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .month-view .month-selector .month-label ::ng-deep .button-base .bar{background:#262626}.popup .month-view .month-selector ::ng-deep button .icon-button-svg{width:.8em;height:.8em}.popup .month-view .grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.popup .month-view .grid .grid-element{display:flex;align-items:center;justify-content:center;height:2.1em;width:2.1em}.popup .month-view .grid .grid-element.header{font-weight:800;cursor:default;text-transform:capitalize}.popup .month-view .grid .grid-element.day{cursor:pointer;background:none;color:inherit;border:none;padding:0;font:inherit;outline:inherit}.popup .month-view .grid .grid-element.day.outer-day{color:#d9d9d9}.popup .month-view .grid .grid-element.day.outer-day:hover,.popup .month-view .grid .grid-element.day.outer-day:focus-visible{color:#262626}.popup .month-view .grid .grid-element.day.is-today{border:3px solid #262626}.popup .month-view .grid .grid-element.day:hover,.popup .month-view .grid .grid-element.day:focus-visible{background:#D9D9D9}.popup .month-view .grid .grid-element.day:active{color:#f20d5e}.popup .month-view .grid .grid-element.day.selected{background:#F20D5E}.popup .month-view .grid .grid-element.day.selected:hover,.popup .month-view .grid .grid-element.day.selected:focus-visible{background:#F20D5E;color:#fff}.popup .month-view .grid .grid-element.day.disabled{color:#a1093f;pointer-events:none}.popup .month-view .grid .grid-element.day.disabled.outer-day{color:#fbaec9}.popup .month-view .buttons{display:flex;justify-content:space-between;padding:.3em .85em}.popup .month-view .buttons .today-btn ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .month-view .buttons .today-btn ::ng-deep .button-base .bar{background:#262626}.popup .time-picker{width:17.5em;margin-left:calc(-.45em - 3px);box-sizing:border-box;border-top:3px solid #262626;margin-top:.45em;margin-bottom:-.45em}.popup .year-view{height:100%;display:flex;flex-direction:column;justify-content:space-between}.popup .year-view .month-label{width:100%;height:2.1em;align-items:center}.popup .year-view .month-label ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .year-view .month-label ::ng-deep .button-base .bar{background:#262626}.popup .year-view .buttons{display:flex;justify-content:flex-end;padding:.3em .85em}.popup .selector{display:flex;justify-content:center}.popup .selector .column{display:block}.popup .selector .column .item{width:100%;height:1.5em;display:flex;justify-content:center;align-items:center;cursor:pointer}.popup .selector .column .item.primary{height:1.8em;color:#262626;font-weight:500}.popup .selector .column .item.secondary{color:gray}.popup .selector .column .item.tertiary{color:#d9d9d9}.popup .selector .column .item.arrow{display:inline-flex;width:100%;height:1.8em}.popup .selector .column .item.arrow .up{height:.7em;rotate:-90deg}.popup .selector .column .item.arrow .down{height:.7em;rotate:90deg}.biit-input{display:flex;min-width:12.8em}.biit-input.disabled{pointer-events:none}.biit-input.disabled .input-object,.biit-input.disabled .input-show-icon-container{background:#D9D9D9}.biit-input.readonly{pointer-events:none}.input-container{position:relative;width:100%}.input-object{font-size:1em;display:block;border:none;color:#262626;padding:.7em;height:2.1em;width:100%;min-width:2.1em;font-weight:400}.input-object:focus,.input-object:hover{outline:none;background:#D9D9D9}.input-object:focus~.input-show-icon-container,.input-object:hover~.input-show-icon-container{background:#D9D9D9}.input-object.error{color:#a1093f;border-color:#a1093f}.input-object.password{padding:.7em 2.1em .55em .7em}.input-object.password.reveal{-webkit-text-security:none;input-security:none}.input-description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:1.4em;min-height:1.05em;line-height:120%;font-style:italic}.input-description a{display:block;line-height:1.1em}@-moz-document url-prefix(){.input-object{padding-top:.55em!important}}input[type=date]::-webkit-inner-spin-button,input[type=date]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.input-placeholder{color:#262626;font-size:1em;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7em;top:.42em;height:.7em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-object:focus~.input-placeholder,.input-filled{top:-.95em;font-size:.7em;line-height:.7em;font-weight:400;color:gray}.input-error-icon{display:flex;top:.7em;position:absolute;width:.7em;height:.7em}.input-error-msg{position:absolute;display:flex;align-items:center;font-size:.7em;color:#a1093f;padding-top:.2em;padding-bottom:.15em;min-height:1.05em}.input-error-msg a{display:block;line-height:1.1em}.input-show-icon{width:1.05em;height:1.05em}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1em;height:2.1em;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:white}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{background-color:#d9d9d9;border:none;outline:none}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.onwards{--origin: 1em}.downwards{--origin: -1em}\n"] }]
220
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.TranslocoService }]; }, propDecorators: { disabled: [{
221
+ type: Input
222
+ }], readonly: [{
223
+ type: Input
224
+ }], required: [{
225
+ type: Input
226
+ }], isCalendarMode: [{
227
+ type: Input,
228
+ args: ['calendar-mode']
229
+ }], disabledDays: [{
230
+ type: Input
231
+ }], disableWeekdays: [{
232
+ type: Input
233
+ }], disableWeekends: [{
234
+ type: Input
235
+ }], timePicker: [{
236
+ type: Input
237
+ }], min: [{
238
+ type: Input
239
+ }], max: [{
240
+ type: Input
241
+ }], placeholder: [{
242
+ type: Input
243
+ }], error: [{
244
+ type: Input
245
+ }], description: [{
246
+ type: Input
247
+ }], onKeyDown: [{
248
+ type: HostListener,
249
+ args: ['keydown.esc', ['$event']]
250
+ }] } });
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC1kYXRlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL2lucHV0cy9zcmMvYmlpdC1kYXRlcGlja2VyL2JpaXQtZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtZGF0ZXBpY2tlci9iaWl0LWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFzQixZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsaUJBQWlCLEVBQVUsUUFBUSxFQUFDLE1BQU0sVUFBVSxDQUFBO0FBQy9HLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0sbUJBQW1CLENBQUM7QUFDcEUsT0FBTyxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFxQjVELE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsSUFBNEIsY0FBYyxDQUFDLEtBQVU7UUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBUUQsSUFBYSxXQUFXLENBQUMsV0FBbUI7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQWFELElBQWMsWUFBWSxLQUFpQixPQUFPLElB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dUJBQUMsZUFBZTtnQkFJYixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ08sV0FBVztzQkFBdkIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFrQk4sU0FBUztzQkFEUixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgZm9yd2FyZFJlZiwgT25Jbml0LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7ZWFjaERheU9mSW50ZXJ2YWwsIGFkZCwgc2V0RGF0ZSwgc3RhcnRPZldlZWssIHN1Yiwgc2V0RGVmYXVsdE9wdGlvbnMsIExvY2FsZSwgcGFyc2VJU099IGZyb20gJ2RhdGUtZm5zJ1xuaW1wb3J0IHtUUkFOU0xPQ09fU0NPUEUsIFRyYW5zbG9jb1NlcnZpY2V9IGZyb20gXCJAbmduZWF0L3RyYW5zbG9jb1wiO1xuaW1wb3J0IHtlbkdCLCBlcywgbmx9IGZyb20gXCJkYXRlLWZucy9sb2NhbGVcIjtcbmltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvZXJjaW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpaXQtZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnYmlpdC1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2JpaXQtZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJpaXREYXRlUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBUUkFOU0xPQ09fU0NPUEUsXG4gICAgICB1c2VWYWx1ZToge3Njb3BlOiAnd2l6YXJkcnktdGhlbWUvaW5wdXRzJywgYWxpYXM6IFwiaW5wdXRzXCJ9XG4gICAgfVxuICBdLFxuICBob3N0OiB7XG4gICAgJyhkb2N1bWVudDpwb2ludGVyZG93biknOiAnaGFuZGxlTW91c2VFdmVudHMoJGV2ZW50KSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBCaWl0RGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuICBASW5wdXQoJ2NhbGVuZGFyLW1vZGUnKSBzZXQgaXNDYWxlbmRhck1vZGUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuY2FsZW5kYXJNb2RlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcm90ZWN0ZWQgY2FsZW5kYXJNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF5czogRGF0ZVtdID0gW107XG4gIEBJbnB1dCgpIGRpc2FibGVXZWVrZGF5czogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZVdlZWtlbmRzOiBib29sZWFuO1xuICBASW5wdXQoKSB0aW1lUGlja2VyOiBib29sZWFuO1xuICBASW5wdXQoKSBtaW46IERhdGU7XG4gIEBJbnB1dCgpIG1heDogRGF0ZTtcbiAgQElucHV0KCkgc2V0IHBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xuICB9XG4gIHByb3RlY3RlZCBfcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgZXJyb3I6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIHZhbHVlOiBEYXRlO1xuICBwcm90ZWN0ZWQgZHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBtb250aFNlbGVjdG9yOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBkYXlzOiBEYXRlW10gPSBbXTtcbiAgcHJvdGVjdGVkIGhlYWRlcnMgPSBbXCJNb1wiLCBcIlR1XCIsIFwiV2VcIiwgXCJUaFwiLCBcIkZyXCIsIFwiU2FcIiwgXCJTdVwiXTtcbiAgcHJvdGVjdGVkIHZpZXdlckRhdGUgPSBuZXcgRGF0ZSgpO1xuICBwcm90ZWN0ZWQgbG9jYWxlOiBMb2NhbGU7XG5cbiAgcHJvdGVjdGVkIGdldCBpbnB1dEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge3JldHVybiB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuaW5wdXQtb2JqZWN0Jyl9XG4gIHByb3RlY3RlZCBnZXQgZHJvcGRvd25FbGVtZW50KCk6IEhUTUxFbGVtZW50IHtyZXR1cm4gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnBvcHVwJyl9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFkZCA9IGFkZDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1YiA9IHN1YjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcnNlSVNPID0gcGFyc2VJU087XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2MnLCBbJyRldmVudCddKVxuICBvbktleURvd24oZSkge1xuICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdHJhbnNsb2NvOiBUcmFuc2xvY29TZXJ2aWNlXG4gICkgeyB9XG5cbiAgY2hlY2tCb29sZWFuSW5wdXQodmFsdWUpIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgY2FzZSBmYWxzZTpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2UgPSAodmFsdWU6IERhdGUpID0+IHt9O1xuICBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYWxlbmRhck1vZGUgJiYgIXZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbmV3IERhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIG9uTW9kZWxDaGFuZ2UodmFsdWU6IERhdGUpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLm1pbiAmJiBuZXcgRGF0ZSh2YWx1ZSkuZ2V0VGltZSgpIDw9IChuZXcgRGF0ZSh0aGlzLm1pbikuZ2V0VGltZSgpKSkgdmFsdWUgPSBhZGQodGhpcy5taW4sIHttaW51dGVzOiAxfSk7XG4gICAgICBpZiAodGhpcy5tYXggJiYgbmV3IERhdGUodmFsdWUpLmdldFRpbWUoKSA+IG5ldyBEYXRlKHRoaXMubWF4KS5nZXRUaW1lKCkpIHZhbHVlID0gc3ViKHRoaXMubWF4LCB7bWludXRlczogMX0pO1xuXG4gICAgICB0aGlzLnZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgdGhpcy52aWV3ZXJEYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0TG9jYWxpemF0aW9uKCk7XG5cbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5jaGVja0Jvb2xlYW5JbnB1dCh0aGlzLmRpc2FibGVkKTtcbiAgICB0aGlzLnJlYWRvbmx5ID0gdGhpcy5jaGVja0Jvb2xlYW5JbnB1dCh0aGlzLnJlYWRvbmx5KTtcbiAgICB0aGlzLnJlcXVpcmVkID0gdGhpcy5jaGVja0Jvb2xlYW5JbnB1dCh0aGlzLnJlcXVpcmVkKTtcbiAgICB0aGlzLmRpc2FibGVXZWVrZGF5cyA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5kaXNhYmxlV2Vla2RheXMpO1xuICAgIHRoaXMuZGlzYWJsZVdlZWtlbmRzID0gdGhpcy5jaGVja0Jvb2xlYW5JbnB1dCh0aGlzLmRpc2FibGVXZWVrZW5kcyk7XG4gICAgdGhpcy50aW1lUGlja2VyID0gdGhpcy5jaGVja0Jvb2xlYW5JbnB1dCh0aGlzLnRpbWVQaWNrZXIpO1xuXG4gICAgdGhpcy5kcmF3Q2FsZW5kYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdExvY2FsaXphdGlvbigpIHtcbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNsb2NvLmdldEFjdGl2ZUxhbmcoKSkge1xuICAgICAgY2FzZSAnZXMnOlxuICAgICAgICB0aGlzLmxvY2FsZSA9IGVzO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ25sJzpcbiAgICAgICAgdGhpcy5sb2NhbGUgPSBubDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmxvY2FsZSA9IGVuR0I7XG4gICAgfVxuXG4gICAgc2V0RGVmYXVsdE9wdGlvbnMoe2xvY2FsZTogdGhpcy5sb2NhbGV9KTtcbiAgfVxuXG4gIGhhbmRsZU1vdXNlRXZlbnRzKCRldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZHJvcGRvd25PcGVuICYmICF0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5jb250YWlucygkZXZlbnQudGFyZ2V0KSkge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlVmlldygpIHtcbiAgICB0aGlzLm1vbnRoU2VsZWN0b3IgPSAhdGhpcy5tb250aFNlbGVjdG9yO1xuICAgIHRoaXMuc2V0UG9wdXBDb21wb25lbnRQcm9wZXJ0aWVzKCk7XG4gIH1cblxuICBvcGVuRHJvcGRvd24oKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB0aGlzLm9uTW9kZWxDaGFuZ2UobmV3IERhdGUoKSk7XG5cbiAgICB0aGlzLnZpZXdlckRhdGUgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMubW9udGhTZWxlY3RvciA9IGZhbHNlO1xuICAgIHRoaXMuZHJhd0NhbGVuZGFyKCk7XG4gICAgdGhpcy5zZXRQb3B1cENvbXBvbmVudFByb3BlcnRpZXMoKTtcbiAgICAodGhpcy5pbnB1dEVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkuZm9jdXMoKTtcblxuICAgIC8vIFNldHRpbmcgYSB0aW1lb3V0IGJlY2F1c2UgaXQgZG9lc24ndCBsb2FkIHVwd2FyZHMvZG93bndhcmRzIGNzcyBjbGFzc2VzIG9uIGV4ZWN1dGlvbiB0aW1lXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLmRyb3Bkb3duRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBcInRydWVcIik7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIGNsb3NlRHJvcGRvd24oKSB7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmRyb3Bkb3duRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBcImZhbHNlXCIpO1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFBvcHVwQ29tcG9uZW50UHJvcGVydGllcygpIHtcbiAgICBsZXQgZHJvcGRvd24gPSB0aGlzLmRyb3Bkb3duRWxlbWVudDtcbiAgICBkcm9wZG93bi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICAgIGxldCBpbnB1dCA9IHRoaXMuaW5wdXRFbGVtZW50O1xuXG4gICAgLy8gQ2hlY2tpbmcgYXZhaWxhYmxlIHNjcmVlbiBzcGFjZVxuICAgIGNvbnN0IGZpdHNCb3R0b20gPSBib3R0b21DaGVjaygpO1xuICAgIGNvbnN0IGZpdHNSaWdodCA9IHJpZ2h0Q2hlY2soKTtcbiAgICBjb25zdCBmaXRzTGVmdCA9IGxlZnRDaGVjaygpO1xuXG4gICAgaWYgKCFmaXRzUmlnaHQgJiYgZml0c0xlZnQpIHtcbiAgICAgIGRyb3Bkb3duLnN0eWxlLm1hcmdpbkxlZnQgPSBpbnB1dC5vZmZzZXRXaWR0aCAtIGRyb3Bkb3duLm9mZnNldFdpZHRoICsgJ3B4JztcbiAgICB9IGVsc2Uge1xuICAgICAgZHJvcGRvd24uc3R5bGUubWFyZ2luTGVmdCA9IG51bGw7XG4gICAgfVxuXG4gICAgZHJvcGRvd24uY2xhc3NMaXN0LnJlbW92ZSgnb253YXJkcycpO1xuICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5yZW1vdmUoJ2Rvd253YXJkcycpO1xuXG4gICAgaWYgKCFmaXRzQm90dG9tKSB7XG4gICAgICBkcm9wZG93bi5jbGFzc0xpc3QuYWRkKCdvbndhcmRzJyk7XG4gICAgICBkcm9wZG93bi5zdHlsZS5tYXJnaW5Ub3AgPSAtKGRyb3Bkb3duLm9mZnNldEhlaWdodCArIGlucHV0Lm9mZnNldEhlaWdodCkgKyAncHgnO1xuICAgIH0gZWxzZSB7XG4gICAgICBkcm9wZG93bi5jbGFzc0xpc3QuYWRkKCdkb3dud2FyZHMnKTtcbiAgICAgIGRyb3Bkb3duLnN0eWxlLm1hcmdpblRvcCA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gU3VwcG9ydCBpbm5lciBmdW5jdGlvbnNcbiAgICBmdW5jdGlvbiBib3R0b21DaGVjaygpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpbnB1dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20gKyBkcm9wZG93bi5vZmZzZXRIZWlnaHQgPD0gd2luZG93LmlubmVySGVpZ2h0IHx8XG4gICAgICAgIGlucHV0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIGRyb3Bkb3duLm9mZnNldEhlaWdodCA8PSAwO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJpZ2h0Q2hlY2soKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gaW5wdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQgKyBkcm9wZG93bi5vZmZzZXRXaWR0aCA8PSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBsZWZ0Q2hlY2soKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gaW5wdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQgLSBkcm9wZG93bi5vZmZzZXRXaWR0aCA+PSAwO1xuICAgIH1cbiAgfVxuXG4gIGRyYXdDYWxlbmRhcigpOiB2b2lkIHtcbiAgICBjb25zdCBmaXJzdERheSA9IHN0YXJ0T2ZXZWVrKHNldERhdGUodGhpcy52aWV3ZXJEYXRlLCAxKSk7XG4gICAgY29uc3QgbGFzdERheSA9IGFkZChmaXJzdERheSwge2RheXM6NDF9KTtcblxuICAgIHRoaXMuZGF5cyA9IGVhY2hEYXlPZkludGVydmFsKHtzdGFydDpmaXJzdERheSwgZW5kOmxhc3REYXl9KTtcbiAgfVxuXG4gIHByZXZNb250aCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdlckRhdGUgPSBzdWIodGhpcy52aWV3ZXJEYXRlLCB7bW9udGhzOjF9KVxuICAgIHRoaXMuZHJhd0NhbGVuZGFyKCk7XG4gIH1cblxuICBuZXh0TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3ZXJEYXRlID0gYWRkKHRoaXMudmlld2VyRGF0ZSwge21vbnRoczoxfSk7XG4gICAgdGhpcy5kcmF3Q2FsZW5kYXIoKTtcbiAgfVxuXG4gIHNldFRvZGF5KCk6IHZvaWQge1xuICAgIHRoaXMudmlld2VyRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgdGhpcy5kcmF3Q2FsZW5kYXIoKTtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UobmV3IERhdGUoKSk7XG4gIH1cblxuICBsb2codmFsdWUpIHtcbiAgICBjb25zb2xlLmRlYnVnKCdERVZFTE9QTUVOVCBMT0c6ICcsIHZhbHVlKTtcbiAgfVxufVxuXG5cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjYWxlbmRhck1vZGU7IHRoZW4gY2FsZW5kYXJNb2RlVGVtcGxhdGUgZWxzZSBkYXRlUGlja2VyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkYXRlUGlja2VyVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJiaWl0LWlucHV0XCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCIgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCIgPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxpbnB1dCBjbGFzcz1cImlucHV0LW9iamVjdFwiXG4gICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWUgJiYgIXRpbWVQaWNrZXIgPyAodmFsdWUgfCBkYXRlOiAneXl5eS1NTS1kZCcpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlICYmIHRpbWVQaWNrZXIgPyAodmFsdWUgfCBkYXRlOiAneXl5eS1NTS1kZFxcVEhIOm1tJykgOlxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1vZGVsQ2hhbmdlKHBhcnNlSVNPKCRldmVudCkpXCJcbiAgICAgICAgICAgICBbdHlwZV09XCJ0aW1lUGlja2VyID8gJ2RhdGV0aW1lLWxvY2FsJyA6ICdkYXRlJ1wiIHJlcXVpcmVkXG4gICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZHJvcGRvd25PcGVuID8gJyNEOUQ5RDknIDogbnVsbFwiXG4gICAgICAgICAgICAgW21pbl09XCJtaW4gPyAobWluIHwgZGF0ZTogJ3l5eXktTU0tZGQnKSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgW21heF09XCJtYXggPyAobWF4IHwgZGF0ZTogJ3l5eXktTU0tZGQnKSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1zaG93LWljb24tY29udGFpbmVyXCJcbiAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZHJvcGRvd25PcGVuID8gJyNEOUQ5RDknIDogbnVsbFwiXG4gICAgICAgICAgIChjbGljayk9XCJkcm9wZG93bk9wZW4gPyBjbG9zZURyb3Bkb3duKCk6IG9wZW5Ecm9wZG93bigpXCJcbiAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZHJvcGRvd25PcGVuID8gY2xvc2VEcm9wZG93bigpOiBvcGVuRHJvcGRvd24oKVwiXG4gICAgICAgICAgIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidjYWxlbmRhcidcIlxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtc2hvdy1pY29uXCJcbiAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiBkcm9wZG93bk9wZW4gPyAnI0YyMEQ1RScgOiAnIzI2MjYyNid9XCJcbiAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtcGxhY2Vob2xkZXIgaW5wdXQtZmlsbGVkXCI+XG4gICAgICAgIHt7X3BsYWNlaG9sZGVyfX1cbiAgICAgICAgPGEgKm5nSWY9XCJyZXF1aXJlZFwiXG4gICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJ2YWx1ZSA/IG51bGwgOiAncmVkJ1wiPio8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxiaWl0LWljb24gKm5nSWY9XCJlcnJvciB8fCAodmFsdWUgfCBpc0Rpc2FibGVkOiBkaXNhYmxlZERheXM6IGRpc2FibGVXZWVrZGF5czogZGlzYWJsZVdlZWtlbmRzOiBtaW46IG1heClcIlxuICAgICAgICAgICAgICAgICBuYW1lPVwiZXhjbGFtYXRpb25cIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWVycm9yLWljb25cIlxuICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOicjQTEwOTNGJ31cIlxuICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgPGRpdiAqbmdJZj1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJpbnB1dC1kZXNjcmlwdGlvblwiPlxuICAgICAgICA8YT5cbiAgICAgICAgICB7e2Rlc2NyaXB0aW9ufX1cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMDtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwXCJcbiAgICAgICAgICAgICBbY2xhc3MuZHJvcGRvd24tb3Blbl09XCJkcm9wZG93bk9wZW5cIlxuICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiIW1vbnRoU2VsZWN0b3IgJiYgdGltZVBpY2tlciA/ICcyOS4xZW0gKyAzcHgpJyA6IG51bGxcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW1vbnRoU2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJtb250aC12aWV3XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtc2VsZWN0b3JcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBiaWl0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInJvdGF0ZTogMTgwZGVnXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldk1vbnRoKClcIlxuICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1vbnRoLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlVmlldygpXCI+XG4gICAgICAgICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gYmlpdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRNb250aCgpXCJcbiAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzIHwgc2xpY2U6MDo3XCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImdyaWQtZWxlbWVudCBoZWFkZXJcIj5cbiAgICAgICAgICAgICAgICB7eyhkYXkgfCB0cmFuc2xvY29EYXRlOiB7d2Vla2RheTogJ3Nob3J0J30pLnN1YnN0cmluZygwLDIpIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBkYXkgb2YgZGF5c1wiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJncmlkLWVsZW1lbnQgZGF5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0ZXItZGF5XT1cImRheSB8IG91dE9mTW9udGg6IHZpZXdlckRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pcy10b2RheV09XCJkYXkgfCBpc1RvZGF5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiZGF5IHwgaXNTYW1lRGF5OiB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRheSB8IGlzRGlzYWJsZWQ6IGRpc2FibGVkRGF5czogZGlzYWJsZVdlZWtkYXlzOiBkaXNhYmxlV2Vla2VuZHM6IHN1YihtaW4sIHtkYXlzOiAxfSk6IGFkZChtYXgsIHtkYXlzOiAxfSlcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGRheSlcIlxuICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e2RheSB8IGNhbGVuZGFyRGF0ZX19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRvZGF5LWJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFRvZGF5KClcIj5cbiAgICAgICAgICAgICAgICB7eydpbnB1dHMudG9kYXknIHwgdHJhbnNsb2NvfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VEcm9wZG93bigpXCI+XG4gICAgICAgICAgICAgICAge3snaW5wdXRzLmRvbmUnIHwgdHJhbnNsb2NvfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtcGlja2VyXCIgKm5nSWY9XCIhbW9udGhTZWxlY3RvciAmJiB0aW1lUGlja2VyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RvclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDJlbTtcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2Uoc3ViKHZhbHVlLCB7aG91cnM6IDF9KSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVwXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShzdWIodmFsdWUsIHtob3VyczogMX0pKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB2YWx1ZSA/IChzdWIodmFsdWUsIHtob3VyczogMX0pIHwgZGF0ZTogJ0gnKSA6ICcnIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmFsdWUgPyAodmFsdWUgfCBkYXRlOiAnSCcpIDogJycgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2UoYWRkKHZhbHVlLCB7aG91cnM6IDF9KSlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmFsdWUgPyAoYWRkKHZhbHVlLCB7aG91cnM6IDF9KSB8IGRhdGU6ICdIJykgOiAnJyB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge2hvdXJzOiAxfSkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogMmVtO1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShzdWIodmFsdWUsIHttaW51dGVzOiAxfSkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1cFwiXG4gICAgICAgICAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2Uoc3ViKHZhbHVlLCB7bWludXRlczogMX0pKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB2YWx1ZSA/IChzdWIodmFsdWUsIHttaW51dGVzOiAxfSkgfCBkYXRlOiAnbW0nKSA6ICcnIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmFsdWUgPyAodmFsdWUgfCBkYXRlOiAnbW0nKSA6ICcnIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge21pbnV0ZXM6IDF9KSlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmFsdWUgPyAoYWRkKHZhbHVlLCB7bWludXRlczogMX0pIHwgZGF0ZTogJ21tJykgOiAnJyB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge21pbnV0ZXM6IDF9KSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd25cIlxuICAgICAgICAgICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ5ZWFyLXZpZXdcIiAqbmdJZj1cIm1vbnRoU2VsZWN0b3JcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1zZWxlY3RvclwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGJpaXQtYnV0dG9uIHRlcnRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtb250aC1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVZpZXcoKVwiPlxuICAgICAgICAgICAgICAgIHt7dmlld2VyRGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgICAgICAgIHt7dmlld2VyRGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RvclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogOGVtO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXBcIlxuICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gc3ViKHZpZXdlckRhdGUsIHttb250aHM6IDJ9KVwiPlxuICAgICAgICAgICAgICAgICAge3tzdWIodmlld2VyRGF0ZSwge21vbnRoczogMn0pIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgICAge3tzdWIodmlld2VyRGF0ZSwge21vbnRoczogMX0pIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gcHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgICAge3thZGQodmlld2VyRGF0ZSwge21vbnRoczogMX0pIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gdGVydGlhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBhZGQodmlld2VyRGF0ZSwge21vbnRoczogMn0pXCI+XG4gICAgICAgICAgICAgICAgICB7e2FkZCh2aWV3ZXJEYXRlLCB7bW9udGhzOiAyfSkgfCB0cmFuc2xvY29EYXRlOiB7bW9udGg6ICdsb25nJ30gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dE1vbnRoKClcIj5cbiAgICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd25cIlxuICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogNWVtO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gc3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pXCI+XG4gICAgICAgICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1cFwiXG4gICAgICAgICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gdGVydGlhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBzdWIodmlld2VyRGF0ZSwge3llYXJzOiAyfSlcIj5cbiAgICAgICAgICAgICAgICAgIHt7c3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMn0pIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBzdWIodmlld2VyRGF0ZSwge3llYXJzOiAxfSlcIj5cbiAgICAgICAgICAgICAgICAgIHt7c3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IGFkZCh2aWV3ZXJEYXRlLCB7eWVhcnM6IDF9KVwiPlxuICAgICAgICAgICAgICAgICAge3thZGQodmlld2VyRGF0ZSwge3llYXJzOiAxfSkgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gYWRkKHZpZXdlckRhdGUsIHt5ZWFyczogMn0pXCI+XG4gICAgICAgICAgICAgICAgICB7e2FkZCh2aWV3ZXJEYXRlLCB7eWVhcnM6IDJ9KSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBhZGQodmlld2VyRGF0ZSwge3llYXJzOiAxfSlcIj5cbiAgICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd25cIlxuICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGJpaXQtYnV0dG9uIHRlcnRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRyYXdDYWxlbmRhcigpOyBjaGFuZ2VWaWV3KClcIj5cbiAgICAgICAgICAgICAgICB7eydpbnB1dHMuYmFjaycgfCB0cmFuc2xvY299fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYm90dG9tLWxpbmVcIj48L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiaW5wdXQtZXJyb3ItbXNnXCI+XG4gICAgICAgIDxhPlxuICAgICAgICAgIHt7ZXJyb3J9fVxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJ2YWx1ZSB8IGlzRGlzYWJsZWQ6IGRpc2FibGVkRGF5czogZGlzYWJsZVdlZWtkYXlzOiBkaXNhYmxlV2Vla2VuZHM6IG1pbjogbWF4XCIgY2xhc3M9XCJpbnB1dC1lcnJvci1tc2dcIj5cbiAgICAgICAgPGE+XG4gICAgICAgICAge3snaW5wdXRzLmRhdGUtZXJyb3InIHwgdHJhbnNsb2NvfX1cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjYWxlbmRhck1vZGVUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInBvcHVwIGNhbGVuZGFyLW1vZGVcIlxuICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiIW1vbnRoU2VsZWN0b3IgJiYgdGltZVBpY2tlciA/ICdjYWxjKDI5LjFlbSArIDNweCknIDogbnVsbFwiPlxuICAgIDxkaXYgKm5nSWY9XCIhbW9udGhTZWxlY3RvclwiXG4gICAgICAgICBjbGFzcz1cIm1vbnRoLXZpZXdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1zZWxlY3RvclwiPlxuICAgICAgICA8YnV0dG9uIGJpaXQtaWNvblxuICAgICAgICAgICAgICAgIFtpY29uXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwicm90YXRlOiAxODBkZWdcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2TW9udGgoKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBiaWl0LWJ1dHRvbiB0ZXJ0aWFyeVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9udGgtbGFiZWxcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VWaWV3KClcIj5cbiAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7bW9udGg6ICdsb25nJ30gfX1cbiAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBiaWl0LWljb25cbiAgICAgICAgICAgICAgICBbaWNvbl09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dE1vbnRoKClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImdyaWRcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheXMgfCBzbGljZTowOjdcIlxuICAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1lbGVtZW50IGhlYWRlclwiPlxuICAgICAgICAgIHt7KGRheSB8IHRyYW5zbG9jb0RhdGU6IHt3ZWVrZGF5OiAnc2hvcnQnfSkuc3Vic3RyaW5nKDAsMikgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImdyaWQtZWxlbWVudCBkYXlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5vdXRlci1kYXldPVwiZGF5IHwgb3V0T2ZNb250aDogdmlld2VyRGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlzLXRvZGF5XT1cImRheSB8IGlzVG9kYXlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJkYXkgfCBpc1NhbWVEYXk6IHZhbHVlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGF5IHwgaXNEaXNhYmxlZDogZGlzYWJsZWREYXlzOiBkaXNhYmxlV2Vla2RheXM6IGRpc2FibGVXZWVrZW5kczogc3ViKG1pbiwge2RheXM6IDF9KTogYWRkKG1heCwge2RheXM6IDF9KVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2UoZGF5KVwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ZGF5IHwgY2FsZW5kYXJEYXRlfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBiaWl0LWJ1dHRvbiB0ZXJ0aWFyeVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidG9kYXktYnRuXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VG9kYXkoKVwiPlxuICAgICAgICAgIHt7J2lucHV0cy50b2RheScgfCB0cmFuc2xvY299fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInRpbWUtcGlja2VyXCIgKm5nSWY9XCIhbW9udGhTZWxlY3RvciAmJiB0aW1lUGlja2VyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0b3JcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDJlbTtcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShzdWIodmFsdWUsIHtob3VyczogMX0pKVwiPlxuICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXBcIlxuICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShzdWIodmFsdWUsIHtob3VyczogMX0pKVwiPlxuICAgICAgICAgICAge3sgdmFsdWUgPyAoc3ViKHZhbHVlLCB7aG91cnM6IDF9KSB8IGRhdGU6ICdIJykgOiAnJyB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHByaW1hcnlcIj5cbiAgICAgICAgICAgIHt7IHZhbHVlID8gKHZhbHVlIHwgZGF0ZTogJ0gnKSA6ICcnIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge2hvdXJzOiAxfSkpXCI+XG4gICAgICAgICAgICB7eyB2YWx1ZSA/IChhZGQodmFsdWUsIHtob3VyczogMX0pIHwgZGF0ZTogJ0gnKSA6ICcnIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2UoYWRkKHZhbHVlLCB7aG91cnM6IDF9KSlcIj5cbiAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd25cIlxuICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDJlbTtcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShzdWIodmFsdWUsIHttaW51dGVzOiAxfSkpXCI+XG4gICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1cFwiXG4gICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKHN1Yih2YWx1ZSwge2hvdXJzOiAxfSkpXCI+XG4gICAgICAgICAgICB7eyB2YWx1ZSA/IChzdWIodmFsdWUsIHttaW51dGVzOiAxfSkgfCBkYXRlOiAnbW0nKSA6ICcnIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gcHJpbWFyeVwiPlxuICAgICAgICAgICAge3sgdmFsdWUgPyAodmFsdWUgfCBkYXRlOiAnbW0nKSA6ICcnIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge2hvdXJzOiAxfSkpXCI+XG4gICAgICAgICAgICB7eyB2YWx1ZSA/IChhZGQodmFsdWUsIHttaW51dGVzOiAxfSkgfCBkYXRlOiAnbW0nKSA6ICcnIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2UoYWRkKHZhbHVlLCB7bWludXRlczogMX0pKVwiPlxuICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG93blwiXG4gICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwieWVhci12aWV3XCIgKm5nSWY9XCJtb250aFNlbGVjdG9yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9udGgtc2VsZWN0b3JcIj5cbiAgICAgICAgPGJ1dHRvbiBiaWl0LWJ1dHRvbiB0ZXJ0aWFyeVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9udGgtbGFiZWxcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VWaWV3KClcIj5cbiAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7bW9udGg6ICdsb25nJ30gfX1cbiAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0b3JcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDhlbTtcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwicHJldk1vbnRoKClcIj5cbiAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVwXCJcbiAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSB0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IHN1Yih2aWV3ZXJEYXRlLCB7bW9udGhzOiAyfSlcIj5cbiAgICAgICAgICAgIHt7c3ViKHZpZXdlckRhdGUsIHttb250aHM6IDJ9KSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwicHJldk1vbnRoKClcIj5cbiAgICAgICAgICAgIHt7c3ViKHZpZXdlckRhdGUsIHttb250aHM6IDF9KSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHByaW1hcnlcIj5cbiAgICAgICAgICAgIHt7dmlld2VyRGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dE1vbnRoKClcIj5cbiAgICAgICAgICAgIHt7YWRkKHZpZXdlckRhdGUsIHttb250aHM6IDF9KSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gYWRkKHZpZXdlckRhdGUsIHttb250aHM6IDJ9KVwiPlxuICAgICAgICAgICAge3thZGQodmlld2VyRGF0ZSwge21vbnRoczogMn0pIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRNb250aCgpXCI+XG4gICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duXCJcbiAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDVlbTtcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IHN1Yih2aWV3ZXJEYXRlLCB7eWVhcnM6IDF9KVwiPlxuICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXBcIlxuICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gc3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMn0pXCI+XG4gICAgICAgICAgICB7e3N1Yih2aWV3ZXJEYXRlLCB7eWVhcnM6IDJ9KSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gc3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pXCI+XG4gICAgICAgICAgICB7e3N1Yih2aWV3ZXJEYXRlLCB7eWVhcnM6IDF9KSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gcHJpbWFyeVwiPlxuICAgICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBhZGQodmlld2VyRGF0ZSwge3llYXJzOiAxfSlcIj5cbiAgICAgICAgICAgIHt7YWRkKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSB0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IGFkZCh2aWV3ZXJEYXRlLCB7eWVhcnM6IDJ9KVwiPlxuICAgICAgICAgICAge3thZGQodmlld2VyRGF0ZSwge3llYXJzOiAyfSkgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gYWRkKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pXCI+XG4gICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duXCJcbiAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBiaWl0LWJ1dHRvbiB0ZXJ0aWFyeVxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkcmF3Q2FsZW5kYXIoKTsgY2hhbmdlVmlldygpXCI+XG4gICAgICAgICAge3snaW5wdXRzLmJhY2snIHwgdHJhbnNsb2NvfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,68 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { CommonModule } from '@angular/common';
4
+ import { BiitDatePickerComponent } from "./biit-datepicker.component";
5
+ import { BiitButtonModule, BiitIconButtonModule } from "@biit-solutions/wizardry-theme/button";
6
+ import { MonthSelectorLabelPipe } from "./pipes/month-selector-label-pipe";
7
+ import { IsTodayPipe } from "./pipes/is-today-pipe";
8
+ import { OutOfMonthPipe } from "./pipes/out-of-month-pipe";
9
+ import { CalendarDatePipe } from "./pipes/calendar-date-pipe";
10
+ import { IsSameDayPipe } from "./pipes/is-same-day-pipe";
11
+ import { IsDisabledPipe } from "./pipes/is-disabled-pipe";
12
+ import { TranslocoRootModule } from "@biit-solutions/wizardry-theme/i18n";
13
+ import { LocalizedDatePipeModule } from "@biit-solutions/wizardry-theme/utils";
14
+ import { TranslocoDatePipe } from "@ngneat/transloco-locale";
15
+ import { BiitIconModule } from "@biit-solutions/wizardry-theme/icon";
16
+ import * as i0 from "@angular/core";
17
+ export class BiitDatePickerModule {
18
+ }
19
+ BiitDatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ BiitDatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerModule, declarations: [BiitDatePickerComponent,
21
+ MonthSelectorLabelPipe,
22
+ CalendarDatePipe,
23
+ OutOfMonthPipe,
24
+ IsTodayPipe,
25
+ IsSameDayPipe,
26
+ IsDisabledPipe], imports: [CommonModule,
27
+ FormsModule,
28
+ BiitIconButtonModule,
29
+ BiitButtonModule,
30
+ TranslocoRootModule,
31
+ LocalizedDatePipeModule,
32
+ TranslocoDatePipe,
33
+ BiitIconModule], exports: [BiitDatePickerComponent] });
34
+ BiitDatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerModule, imports: [CommonModule,
35
+ FormsModule,
36
+ BiitIconButtonModule,
37
+ BiitButtonModule,
38
+ TranslocoRootModule,
39
+ LocalizedDatePipeModule,
40
+ BiitIconModule] });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerModule, decorators: [{
42
+ type: NgModule,
43
+ args: [{
44
+ declarations: [
45
+ BiitDatePickerComponent,
46
+ MonthSelectorLabelPipe,
47
+ CalendarDatePipe,
48
+ OutOfMonthPipe,
49
+ IsTodayPipe,
50
+ IsSameDayPipe,
51
+ IsDisabledPipe
52
+ ],
53
+ imports: [
54
+ CommonModule,
55
+ FormsModule,
56
+ BiitIconButtonModule,
57
+ BiitButtonModule,
58
+ TranslocoRootModule,
59
+ LocalizedDatePipeModule,
60
+ TranslocoDatePipe,
61
+ BiitIconModule
62
+ ],
63
+ exports: [
64
+ BiitDatePickerComponent
65
+ ]
66
+ }]
67
+ }] });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC1kYXRlcGlja2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL2lucHV0cy9zcmMvYmlpdC1kYXRlcGlja2VyL2JpaXQtZGF0ZXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzdGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0scUNBQXFDLENBQUM7O0FBMEJuRSxNQUFNLE9BQU8sb0JBQW9COztrSEFBcEIsb0JBQW9CO21IQUFwQixvQkFBb0IsaUJBdEI3Qix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsV0FBVztRQUNYLGFBQWE7UUFDYixjQUFjLGFBR2QsWUFBWTtRQUNaLFdBQVc7UUFDWCxvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsaUJBQWlCO1FBQ2pCLGNBQWMsYUFHZCx1QkFBdUI7bUhBR2Qsb0JBQW9CLFlBYjdCLFlBQVk7UUFDWixXQUFXO1FBQ1gsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsdUJBQXVCO1FBRXZCLGNBQWM7NEZBTUwsb0JBQW9CO2tCQXhCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7cUJBQ3hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QmlpdERhdGVQaWNrZXJDb21wb25lbnR9IGZyb20gXCIuL2JpaXQtZGF0ZXBpY2tlci5jb21wb25lbnRcIjtcbmltcG9ydCB7QmlpdEJ1dHRvbk1vZHVsZSwgQmlpdEljb25CdXR0b25Nb2R1bGV9IGZyb20gXCJAYmlpdC1zb2x1dGlvbnMvd2l6YXJkcnktdGhlbWUvYnV0dG9uXCI7XG5pbXBvcnQge01vbnRoU2VsZWN0b3JMYWJlbFBpcGV9IGZyb20gXCIuL3BpcGVzL21vbnRoLXNlbGVjdG9yLWxhYmVsLXBpcGVcIjtcbmltcG9ydCB7SXNUb2RheVBpcGV9IGZyb20gXCIuL3BpcGVzL2lzLXRvZGF5LXBpcGVcIjtcbmltcG9ydCB7T3V0T2ZNb250aFBpcGV9IGZyb20gXCIuL3BpcGVzL291dC1vZi1tb250aC1waXBlXCI7XG5pbXBvcnQge0NhbGVuZGFyRGF0ZVBpcGV9IGZyb20gXCIuL3BpcGVzL2NhbGVuZGFyLWRhdGUtcGlwZVwiO1xuaW1wb3J0IHtJc1NhbWVEYXlQaXBlfSBmcm9tIFwiLi9waXBlcy9pcy1zYW1lLWRheS1waXBlXCI7XG5pbXBvcnQge0lzRGlzYWJsZWRQaXBlfSBmcm9tIFwiLi9waXBlcy9pcy1kaXNhYmxlZC1waXBlXCI7XG5pbXBvcnQge1RyYW5zbG9jb1Jvb3RNb2R1bGV9IGZyb20gXCJAYmlpdC1zb2x1dGlvbnMvd2l6YXJkcnktdGhlbWUvaTE4blwiO1xuaW1wb3J0IHtMb2NhbGl6ZWREYXRlUGlwZU1vZHVsZX0gZnJvbSBcIkBiaWl0LXNvbHV0aW9ucy93aXphcmRyeS10aGVtZS91dGlsc1wiO1xuaW1wb3J0IHtUcmFuc2xvY29EYXRlUGlwZX0gZnJvbSBcIkBuZ25lYXQvdHJhbnNsb2NvLWxvY2FsZVwiO1xuaW1wb3J0IHtCaWl0SWNvbk1vZHVsZX0gZnJvbSBcIkBiaWl0LXNvbHV0aW9ucy93aXphcmRyeS10aGVtZS9pY29uXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJpaXREYXRlUGlja2VyQ29tcG9uZW50LFxuICAgIE1vbnRoU2VsZWN0b3JMYWJlbFBpcGUsXG4gICAgQ2FsZW5kYXJEYXRlUGlwZSxcbiAgICBPdXRPZk1vbnRoUGlwZSxcbiAgICBJc1RvZGF5UGlwZSxcbiAgICBJc1NhbWVEYXlQaXBlLFxuICAgIElzRGlzYWJsZWRQaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQmlpdEljb25CdXR0b25Nb2R1bGUsXG4gICAgQmlpdEJ1dHRvbk1vZHVsZSxcbiAgICBUcmFuc2xvY29Sb290TW9kdWxlLFxuICAgIExvY2FsaXplZERhdGVQaXBlTW9kdWxlLFxuICAgIFRyYW5zbG9jb0RhdGVQaXBlLFxuICAgIEJpaXRJY29uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCaWl0RGF0ZVBpY2tlckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJpaXREYXRlUGlja2VyTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,6 @@
1
+ export var View;
2
+ (function (View) {
3
+ View["MONTH"] = "MONTH";
4
+ View["YEAR"] = "YEAR";
5
+ })(View || (View = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL2lucHV0cy9zcmMvYmlpdC1kYXRlcGlja2VyL21vZGVscy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLElBR1g7QUFIRCxXQUFZLElBQUk7SUFDZCx1QkFBZSxDQUFBO0lBQ2YscUJBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxJQUFJLEtBQUosSUFBSSxRQUdmIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVmlldyB7XG4gIE1PTlRIID0gJ01PTlRIJyxcbiAgWUVBUiA9ICdZRUFSJ1xufVxuIl19
@@ -0,0 +1,18 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CalendarDatePipe {
4
+ constructor() {
5
+ }
6
+ transform(date) {
7
+ return date.getDate();
8
+ }
9
+ }
10
+ CalendarDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11
+ CalendarDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CalendarDatePipe, name: "calendarDate" });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarDatePipe, decorators: [{
13
+ type: Pipe,
14
+ args: [{
15
+ name: 'calendarDate'
16
+ }]
17
+ }], ctorParameters: function () { return []; } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF0ZS1waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6YXJkcnktdGhlbWUvaW5wdXRzL3NyYy9iaWl0LWRhdGVwaWNrZXIvcGlwZXMvY2FsZW5kYXItZGF0ZS1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCO0lBQ0EsQ0FBQztJQUNELFNBQVMsQ0FBQyxJQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7OzhHQU5VLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjYWxlbmRhckRhdGUnXG59KVxuXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG4gIHRyYW5zZm9ybShkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5nZXREYXRlKCk7XG4gIH1cbn1cbiJdfQ==