@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,2780 @@
1
+ import { __awaiter } from 'tslib';
2
+ import * as i0 from '@angular/core';
3
+ import { Component, ViewChild, Input, NgModule, Pipe, EventEmitter, Output, ViewEncapsulation } from '@angular/core';
4
+ import { fromEvent } from 'rxjs';
5
+ import * as i1 from '@angular/common';
6
+ import { CommonModule, DatePipe } from '@angular/common';
7
+ import * as i2 from 'ng-apexcharts';
8
+ import { NgApexchartsModule } from 'ng-apexcharts';
9
+ import { completeIconSet } from '@biit-solutions/biit-icons-collection';
10
+ import * as i1$1 from '@biit-solutions/wizardry-theme/icon';
11
+ import { BiitIconModule } from '@biit-solutions/wizardry-theme/icon';
12
+ import * as i4 from '@biit-solutions/wizardry-theme/button';
13
+ import { BiitIconButtonModule } from '@biit-solutions/wizardry-theme/button';
14
+ import { v4 } from 'uuid';
15
+ import { trigger, transition, style, animate } from '@angular/animations';
16
+ import * as i7 from '@ngneat/transloco';
17
+ import { TRANSLOCO_SCOPE } from '@ngneat/transloco';
18
+ import * as i1$2 from '@angular/platform-browser';
19
+ import * as i2$2 from '@biit-solutions/wizardry-theme/inputs';
20
+ import { BiitSliderModule, BiitSliderRangeModule, BiitCheckboxModule, BiitInputTextModule, BiitToggleModule, BiitTernaryToggleModule } from '@biit-solutions/wizardry-theme/inputs';
21
+ import * as i2$1 from '@angular/forms';
22
+ import { FormsModule } from '@angular/forms';
23
+ import * as i3 from '@biit-solutions/wizardry-theme/info';
24
+ import { BiitTooltipModule } from '@biit-solutions/wizardry-theme/info';
25
+ import { subMonths } from 'date-fns';
26
+ import { TranslocoRootModule } from '@biit-solutions/wizardry-theme/i18n';
27
+
28
+ class BarChartComponent {
29
+ get titleSvg() { return this.ref.nativeElement.querySelector('.apexcharts-title-text'); }
30
+ ;
31
+ get toolbarDiv() { return this.ref.nativeElement.querySelector('.apexcharts-toolbar'); }
32
+ ;
33
+ get yLegend() { return this.ref.nativeElement.querySelector('.apexcharts-yaxis'); }
34
+ ;
35
+ get yLegendBg() { return this.ref.nativeElement.querySelector('#y-legend-bg'); }
36
+ ;
37
+ get chartSvg() { return this.ref.nativeElement.querySelector('.apexcharts-svg'); }
38
+ ;
39
+ constructor(ref) {
40
+ this.ref = ref;
41
+ this.pageNumber = 1;
42
+ this.title = '';
43
+ this.compact = false;
44
+ this.yLegendMargin = 0;
45
+ }
46
+ ngOnInit() {
47
+ var _a, _b;
48
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.series) === null || _b === void 0 ? void 0 : _b.length)) {
49
+ return;
50
+ }
51
+ this.createChartOptions();
52
+ }
53
+ ngOnChanges() {
54
+ var _a, _b;
55
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.series) === null || _b === void 0 ? void 0 : _b.length)) {
56
+ return;
57
+ }
58
+ this.createChartOptions();
59
+ }
60
+ ngAfterViewInit() {
61
+ this.scroll$ = fromEvent(this.ref.nativeElement.firstChild, "scroll");
62
+ this.scroll$.subscribe(element => {
63
+ this.handleScroll(element);
64
+ });
65
+ }
66
+ handleScroll(event) {
67
+ if (!this.ref.nativeElement.querySelector('#y-legend-bg')) {
68
+ let rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
69
+ rect.setAttribute("id", "y-legend-bg");
70
+ rect.setAttribute("x", "0");
71
+ rect.setAttribute("y", this.yLegend.firstChild.getBBox().y.toString());
72
+ rect.setAttribute("width", (this.yLegend.getBBox().width + 27).toString());
73
+ rect.setAttribute("height", ((this.yLegend.parentElement.lastChild.getBBox().height) + 20).toString());
74
+ rect.setAttribute("fill", "rgba(255,255,255,1)");
75
+ this.yLegend.before(rect);
76
+ rect.before(this.yLegend.parentElement.lastChild);
77
+ }
78
+ if (this.yLegendMargin == 0) {
79
+ this.yLegendMargin = Number.parseFloat(this.yLegend.getAttribute("transform").split("(")[1].split(",")[0]);
80
+ }
81
+ this.yLegend.setAttribute("transform", "translate(" + (event.currentTarget.scrollLeft + this.yLegendMargin) + ", 0)");
82
+ this.yLegendBg.setAttribute("x", event.currentTarget.scrollLeft.toString());
83
+ this.titleSvg.setAttribute("x", (event.currentTarget.scrollLeft + 10).toString());
84
+ const right = this.chartSvg.width.baseVal.value -
85
+ event.currentTarget.clientWidth - event.currentTarget.scrollLeft + 3;
86
+ if (right >= 3)
87
+ this.toolbarDiv.style.right = right + 'px';
88
+ }
89
+ createChartOptions() {
90
+ // @ts-ignore
91
+ this.chartOptions = {
92
+ series: this.data.series,
93
+ chart: {
94
+ height: '100%',
95
+ width: this.width ? this.width : '100%',
96
+ type: "bar",
97
+ stacked: this.data.stacked,
98
+ stackType: this.data.stackType,
99
+ sparkline: {
100
+ enabled: this.compact ? true : undefined
101
+ }
102
+ },
103
+ plotOptions: {
104
+ bar: {
105
+ horizontal: !!this.data.orientation,
106
+ columnWidth: "75%"
107
+ }
108
+ },
109
+ dataLabels: {
110
+ enabled: !this.compact,
111
+ style: {
112
+ fontSize: "16px",
113
+ fontFamily: "Montserrat",
114
+ fontWeight: "500"
115
+ }
116
+ },
117
+ xaxis: {
118
+ categories: this.data.legend,
119
+ labels: {
120
+ style: {
121
+ fontSize: '14px',
122
+ fontFamily: 'Montserrat',
123
+ colors: ["262626"]
124
+ },
125
+ }
126
+ },
127
+ yaxis: {
128
+ labels: {
129
+ style: {
130
+ fontSize: '14px',
131
+ fontFamily: 'Montserrat',
132
+ colors: ["262626"]
133
+ },
134
+ },
135
+ min: this.min,
136
+ max: this.max
137
+ },
138
+ fill: {
139
+ opacity: 1
140
+ },
141
+ legend: {
142
+ fontSize: '16px',
143
+ fontFamily: 'Montserrat'
144
+ },
145
+ title: {
146
+ text: this.compact ? undefined : this.title.toUpperCase(),
147
+ style: {
148
+ fontSize: '20px',
149
+ fontFamily: 'Montserrat',
150
+ fontWeight: 700,
151
+ }
152
+ },
153
+ grid: {
154
+ borderColor: '#262626',
155
+ },
156
+ tooltip: {
157
+ custom: function ({ series, seriesIndex, dataPointIndex, w }) {
158
+ let tooltip = '<div class="tooltip-base">' +
159
+ ' <div class="tooltip-header">' +
160
+ w.globals.labels[dataPointIndex] +
161
+ ' </div>' +
162
+ ' <div class="tooltip-content">' +
163
+ ' <div class="tooltip-data">' +
164
+ ' <div class="tooltip-square" style="background:' + w.globals.colors[seriesIndex] + '"></div>' +
165
+ ' <a>' + w.globals.seriesNames[seriesIndex] + ': </a>' +
166
+ ' <a style="margin-left: 0.35rem; font-weight: 500">' + series[seriesIndex][dataPointIndex] + '</a>' +
167
+ ' </div>';
168
+ w.globals.seriesGoals[seriesIndex][dataPointIndex].forEach(goalItem => {
169
+ tooltip +=
170
+ '<div class="tooltip-data">' +
171
+ ' <div class="tooltip-line" style="background:' + goalItem.strokeColor + '"></div>' +
172
+ ' <a>' + goalItem.name + ': </a>' +
173
+ ' <a style="margin-left: 0.35rem; font-weight: 500">' + goalItem.value + '</a>' +
174
+ '</div>';
175
+ });
176
+ tooltip +=
177
+ ' </div>' +
178
+ '</div>';
179
+ return tooltip;
180
+ }
181
+ },
182
+ colors: this.data.series.map(c => c.color)
183
+ };
184
+ }
185
+ getPngBlob() {
186
+ return __awaiter(this, void 0, void 0, function* () {
187
+ const base64 = yield this.apexChart.dataURI();
188
+ const decode = yield fetch(base64.imgURI);
189
+ return decode.blob();
190
+ });
191
+ }
192
+ }
193
+ BarChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BarChartComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
194
+ BarChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BarChartComponent, selector: "biit-bar-chart", inputs: { data: "data", title: "title", width: "width", min: "min", max: "max", compact: "compact" }, host: { listeners: { "document:scroll": "handleScroll($event)" } }, viewQueries: [{ propertyName: "apexChart", first: true, predicate: ["apexChart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"bar-chart\"\n [style.opacity]=\"chartOptions ? '1' : '0'\">\n <apx-chart *ngIf=\"chartOptions\"\n [series]=\"chartOptions.series\"\n [chart]=\"chartOptions.chart\"\n [dataLabels]=\"chartOptions.dataLabels\"\n [colors]=\"chartOptions.colors\"\n [plotOptions]=\"chartOptions.plotOptions\"\n [xaxis]=\"chartOptions.xaxis\"\n [yaxis]=\"chartOptions.yaxis\"\n [legend]=\"chartOptions.legend\"\n [title]=\"chartOptions.title\"\n [tooltip]=\"chartOptions.tooltip\"\n [grid]=\"chartOptions.grid\"\n [fill]=\"chartOptions.fill\"\n style=\"display: block; height: 100%;\"\n #apexChart\n ></apx-chart>\n</div>\n", styles: ["#bar-chart{display:block;height:inherit;width:inherit;overflow:hidden;overflow-x:auto;transition:1s ease-in-out}#bar-chart ::ng-deep .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#bar-chart ::ng-deep .apexcharts-tooltip *{box-sizing:border-box}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-header{background:#262626;color:#fff;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-series path:hover{box-sizing:border-box;border:.15rem solid #262626}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ChartComponent, selector: "apx-chart", inputs: ["chart", "annotations", "colors", "dataLabels", "series", "stroke", "labels", "legend", "markers", "noData", "fill", "tooltip", "plotOptions", "responsive", "xaxis", "yaxis", "forecastDataPoints", "grid", "states", "title", "subtitle", "theme", "autoUpdateSeries"] }] });
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BarChartComponent, decorators: [{
196
+ type: Component,
197
+ args: [{ selector: 'biit-bar-chart', host: {
198
+ '(document:scroll)': 'handleScroll($event)'
199
+ }, template: "<div id=\"bar-chart\"\n [style.opacity]=\"chartOptions ? '1' : '0'\">\n <apx-chart *ngIf=\"chartOptions\"\n [series]=\"chartOptions.series\"\n [chart]=\"chartOptions.chart\"\n [dataLabels]=\"chartOptions.dataLabels\"\n [colors]=\"chartOptions.colors\"\n [plotOptions]=\"chartOptions.plotOptions\"\n [xaxis]=\"chartOptions.xaxis\"\n [yaxis]=\"chartOptions.yaxis\"\n [legend]=\"chartOptions.legend\"\n [title]=\"chartOptions.title\"\n [tooltip]=\"chartOptions.tooltip\"\n [grid]=\"chartOptions.grid\"\n [fill]=\"chartOptions.fill\"\n style=\"display: block; height: 100%;\"\n #apexChart\n ></apx-chart>\n</div>\n", styles: ["#bar-chart{display:block;height:inherit;width:inherit;overflow:hidden;overflow-x:auto;transition:1s ease-in-out}#bar-chart ::ng-deep .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#bar-chart ::ng-deep .apexcharts-tooltip *{box-sizing:border-box}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-header{background:#262626;color:#fff;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-series path:hover{box-sizing:border-box;border:.15rem solid #262626}\n"] }]
200
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { apexChart: [{
201
+ type: ViewChild,
202
+ args: ['apexChart']
203
+ }], data: [{
204
+ type: Input
205
+ }], title: [{
206
+ type: Input
207
+ }], width: [{
208
+ type: Input
209
+ }], min: [{
210
+ type: Input
211
+ }], max: [{
212
+ type: Input
213
+ }], compact: [{
214
+ type: Input
215
+ }] } });
216
+
217
+ class BarChartModule {
218
+ }
219
+ BarChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BarChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
220
+ BarChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BarChartModule, declarations: [BarChartComponent], imports: [CommonModule,
221
+ NgApexchartsModule], exports: [BarChartComponent] });
222
+ BarChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BarChartModule, imports: [CommonModule,
223
+ NgApexchartsModule] });
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BarChartModule, decorators: [{
225
+ type: NgModule,
226
+ args: [{
227
+ declarations: [BarChartComponent],
228
+ exports: [BarChartComponent],
229
+ imports: [
230
+ CommonModule,
231
+ NgApexchartsModule
232
+ ]
233
+ }]
234
+ }] });
235
+
236
+ class BarChartData {
237
+ constructor(series, legend, orientation, stacked, stackType) {
238
+ this.series = series;
239
+ this.legend = legend;
240
+ this.orientation = orientation ? orientation : BarChartOrientation.VERTICAL;
241
+ this.stacked = !!stacked;
242
+ this.stackType = stackType ? stackType : undefined;
243
+ }
244
+ }
245
+ class BarChartSeries {
246
+ constructor(name, data, color, group) {
247
+ this.name = name;
248
+ this.data = data;
249
+ this.color = color;
250
+ this.group = group ? group : undefined;
251
+ }
252
+ }
253
+ class BarChartSeriesData {
254
+ constructor(value, goals) {
255
+ this.x = '';
256
+ this.y = value;
257
+ this.goals = goals ? goals : [];
258
+ }
259
+ }
260
+ class BarChartGoal {
261
+ constructor(name, value, strokeColor, strokeHeight, strokeWidth) {
262
+ this.name = name;
263
+ this.value = value;
264
+ this.strokeColor = strokeColor;
265
+ this.strokeHeight = strokeHeight;
266
+ this.strokeWidth = strokeWidth;
267
+ }
268
+ }
269
+ var BarChartOrientation;
270
+ (function (BarChartOrientation) {
271
+ BarChartOrientation[BarChartOrientation["HORIZONTAL"] = 1] = "HORIZONTAL";
272
+ BarChartOrientation[BarChartOrientation["VERTICAL"] = 0] = "VERTICAL";
273
+ })(BarChartOrientation || (BarChartOrientation = {}));
274
+
275
+ class LineChartComponent {
276
+ constructor() {
277
+ this.pageNumber = 1;
278
+ this.title = '';
279
+ this.xTitle = '';
280
+ this.yTitle = '';
281
+ }
282
+ ngOnInit() {
283
+ var _a, _b;
284
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.series) === null || _b === void 0 ? void 0 : _b.length)) {
285
+ return;
286
+ }
287
+ this.createChartOptions();
288
+ }
289
+ ngOnChanges() {
290
+ var _a, _b;
291
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.series) === null || _b === void 0 ? void 0 : _b.length)) {
292
+ return;
293
+ }
294
+ this.createChartOptions();
295
+ }
296
+ createChartOptions() {
297
+ this.chartOptions = {
298
+ series: this.data.series,
299
+ chart: {
300
+ height: '100%',
301
+ width: '100%',
302
+ type: "line",
303
+ toolbar: {
304
+ show: true
305
+ }
306
+ },
307
+ colors: this.data.series.map(c => c.color),
308
+ fill: {
309
+ opacity: 1
310
+ },
311
+ dataLabels: {
312
+ enabled: this.data.series.length > 1,
313
+ enabledOnSeries: this.enabledLabelsOnSeries,
314
+ style: {
315
+ fontSize: "16px",
316
+ fontFamily: "Montserrat",
317
+ fontWeight: "500"
318
+ },
319
+ background: {
320
+ opacity: 1,
321
+ borderWidth: 0,
322
+ borderRadius: 0
323
+ }
324
+ },
325
+ stroke: {
326
+ curve: "straight"
327
+ },
328
+ title: {
329
+ text: this.title.toUpperCase(),
330
+ align: "left",
331
+ style: {
332
+ fontSize: '20px',
333
+ fontFamily: 'Montserrat',
334
+ fontWeight: 700,
335
+ }
336
+ },
337
+ grid: {
338
+ borderColor: "#262626",
339
+ position: 'back',
340
+ strokeDashArray: 0,
341
+ padding: {
342
+ top: 20
343
+ }
344
+ },
345
+ markers: {
346
+ strokeWidth: 0,
347
+ fillOpacity: 1,
348
+ hover: {
349
+ size: this.data.series.length == 1 ? 7 : 0
350
+ }
351
+ },
352
+ xaxis: {
353
+ categories: this.data.legend,
354
+ title: {
355
+ text: this.xTitle,
356
+ style: {
357
+ fontSize: '14px',
358
+ fontFamily: 'Montserrat',
359
+ fontWeight: 900,
360
+ color: "#262626"
361
+ }
362
+ },
363
+ crosshairs: {
364
+ width: 'tickWidth',
365
+ position: 'back',
366
+ stroke: {
367
+ color: '#EDEDED',
368
+ dashArray: 0,
369
+ },
370
+ opacity: 0.2
371
+ },
372
+ tooltip: {
373
+ enabled: false
374
+ },
375
+ labels: {
376
+ style: {
377
+ fontSize: '14px',
378
+ fontFamily: 'Montserrat'
379
+ },
380
+ trim: true
381
+ }
382
+ },
383
+ yaxis: {
384
+ title: {
385
+ text: this.yTitle,
386
+ style: {
387
+ fontSize: '14px',
388
+ fontFamily: 'Montserrat',
389
+ fontWeight: 900,
390
+ color: "#262626"
391
+ }
392
+ },
393
+ labels: {
394
+ style: {
395
+ fontSize: '14px',
396
+ fontFamily: 'Montserrat'
397
+ }
398
+ },
399
+ min: this.min,
400
+ max: this.max
401
+ },
402
+ legend: {
403
+ position: "top",
404
+ horizontalAlign: "left",
405
+ floating: false,
406
+ offsetY: -5,
407
+ fontSize: '16px',
408
+ fontFamily: 'Montserrat'
409
+ },
410
+ tooltip: {
411
+ custom: function ({ series, seriesIndex, dataPointIndex, w }) {
412
+ // debugger;
413
+ let tooltip = '<div class="tooltip-base">' +
414
+ ' <div class="tooltip-header">' +
415
+ w.globals.categoryLabels[dataPointIndex] +
416
+ ' </div>' +
417
+ ' <div class="tooltip-content">';
418
+ series.forEach((seriesItem, i) => {
419
+ tooltip +=
420
+ '<div class="tooltip-metadata">' +
421
+ ' <div class="tooltip-square" style="background:' + w.globals.colors[i] + '"></div>' +
422
+ ' <a>' + w.globals.seriesNames[i] + ': </a>' +
423
+ ' <a style="margin-left: 0.35rem; font-weight: 500">' + series[i][dataPointIndex] + '</a>' +
424
+ '</div>';
425
+ });
426
+ tooltip +=
427
+ ' </div>' +
428
+ '</div>';
429
+ return tooltip;
430
+ }
431
+ },
432
+ };
433
+ }
434
+ getPngBlob() {
435
+ return __awaiter(this, void 0, void 0, function* () {
436
+ const base64 = yield this.apexChart.dataURI();
437
+ const decode = yield fetch(base64.imgURI);
438
+ return decode.blob();
439
+ });
440
+ }
441
+ }
442
+ LineChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LineChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
443
+ LineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: LineChartComponent, selector: "biit-line-chart", inputs: { data: "data", title: "title", xTitle: "xTitle", yTitle: "yTitle", min: "min", max: "max", enabledLabelsOnSeries: "enabledLabelsOnSeries" }, viewQueries: [{ propertyName: "apexChart", first: true, predicate: ["apexChart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"line-chart\"\n [style.opacity]=\"chartOptions ? '1' : '0'\">\n <apx-chart *ngIf=\"chartOptions\"\n [chart]=\"chartOptions.chart\"\n [series]=\"chartOptions.series\"\n [dataLabels]=\"chartOptions.dataLabels\"\n [colors]=\"chartOptions.colors\"\n [stroke]=\"chartOptions.stroke\"\n [title]=\"chartOptions.title\"\n [grid]=\"chartOptions.grid\"\n [xaxis]=\"chartOptions.xaxis\"\n [yaxis]=\"chartOptions.yaxis\"\n [markers]=\"chartOptions.markers\"\n [legend]=\"chartOptions.legend\"\n [fill]=\"chartOptions.fill\"\n [tooltip]=\"chartOptions.tooltip\"\n style=\"display: block; height: 100%;\"\n #apexChart\n ></apx-chart>\n</div>\n", styles: ["#line-chart{display:block;height:inherit;width:inherit;transition:1s ease-in-out}#line-chart ::ng-deep apx-chart .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#line-chart ::ng-deep apx-chart .apexcharts-tooltip *{box-sizing:border-box}#line-chart ::ng-deep apx-chart .apexcharts-tooltip .tooltip-header{background:#262626;color:#fff;padding:.45rem .7rem}#line-chart ::ng-deep apx-chart .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem}#line-chart ::ng-deep apx-chart .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#line-chart ::ng-deep apx-chart .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#line-chart ::ng-deep apx-chart .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#line-chart ::ng-deep apx-chart .apexcharts-legend-series{display:flex}#line-chart ::ng-deep apx-chart .apexcharts-legend-series .apexcharts-legend-marker{border-radius:0!important;margin-right:7px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ChartComponent, selector: "apx-chart", inputs: ["chart", "annotations", "colors", "dataLabels", "series", "stroke", "labels", "legend", "markers", "noData", "fill", "tooltip", "plotOptions", "responsive", "xaxis", "yaxis", "forecastDataPoints", "grid", "states", "title", "subtitle", "theme", "autoUpdateSeries"] }] });
444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LineChartComponent, decorators: [{
445
+ type: Component,
446
+ args: [{ selector: 'biit-line-chart', template: "<div id=\"line-chart\"\n [style.opacity]=\"chartOptions ? '1' : '0'\">\n <apx-chart *ngIf=\"chartOptions\"\n [chart]=\"chartOptions.chart\"\n [series]=\"chartOptions.series\"\n [dataLabels]=\"chartOptions.dataLabels\"\n [colors]=\"chartOptions.colors\"\n [stroke]=\"chartOptions.stroke\"\n [title]=\"chartOptions.title\"\n [grid]=\"chartOptions.grid\"\n [xaxis]=\"chartOptions.xaxis\"\n [yaxis]=\"chartOptions.yaxis\"\n [markers]=\"chartOptions.markers\"\n [legend]=\"chartOptions.legend\"\n [fill]=\"chartOptions.fill\"\n [tooltip]=\"chartOptions.tooltip\"\n style=\"display: block; height: 100%;\"\n #apexChart\n ></apx-chart>\n</div>\n", styles: ["#line-chart{display:block;height:inherit;width:inherit;transition:1s ease-in-out}#line-chart ::ng-deep apx-chart .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#line-chart ::ng-deep apx-chart .apexcharts-tooltip *{box-sizing:border-box}#line-chart ::ng-deep apx-chart .apexcharts-tooltip .tooltip-header{background:#262626;color:#fff;padding:.45rem .7rem}#line-chart ::ng-deep apx-chart .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem}#line-chart ::ng-deep apx-chart .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#line-chart ::ng-deep apx-chart .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#line-chart ::ng-deep apx-chart .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#line-chart ::ng-deep apx-chart .apexcharts-legend-series{display:flex}#line-chart ::ng-deep apx-chart .apexcharts-legend-series .apexcharts-legend-marker{border-radius:0!important;margin-right:7px}\n"] }]
447
+ }], ctorParameters: function () { return []; }, propDecorators: { apexChart: [{
448
+ type: ViewChild,
449
+ args: ['apexChart']
450
+ }], data: [{
451
+ type: Input
452
+ }], title: [{
453
+ type: Input
454
+ }], xTitle: [{
455
+ type: Input
456
+ }], yTitle: [{
457
+ type: Input
458
+ }], min: [{
459
+ type: Input
460
+ }], max: [{
461
+ type: Input
462
+ }], enabledLabelsOnSeries: [{
463
+ type: Input
464
+ }] } });
465
+
466
+ class LineChartModule {
467
+ }
468
+ LineChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LineChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
469
+ LineChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: LineChartModule, declarations: [LineChartComponent], imports: [CommonModule,
470
+ NgApexchartsModule], exports: [LineChartComponent] });
471
+ LineChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LineChartModule, imports: [CommonModule,
472
+ NgApexchartsModule] });
473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LineChartModule, decorators: [{
474
+ type: NgModule,
475
+ args: [{
476
+ declarations: [LineChartComponent],
477
+ exports: [LineChartComponent],
478
+ imports: [
479
+ CommonModule,
480
+ NgApexchartsModule
481
+ ]
482
+ }]
483
+ }] });
484
+
485
+ class LineChartData {
486
+ constructor(series, legend) {
487
+ this.series = series;
488
+ this.legend = legend;
489
+ }
490
+ }
491
+ class LineChartSeries {
492
+ constructor(name, type, data, color) {
493
+ this.name = name;
494
+ this.type = type;
495
+ this.data = data;
496
+ this.color = color;
497
+ }
498
+ }
499
+
500
+ class PieChartComponent {
501
+ constructor(ref) {
502
+ this.ref = ref;
503
+ this.pageNumber = 1;
504
+ this.title = '';
505
+ this.yLegendMargin = 0;
506
+ }
507
+ ngOnInit() {
508
+ var _a, _b;
509
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)) {
510
+ return;
511
+ }
512
+ this.createChartOptions();
513
+ }
514
+ ngOnChanges() {
515
+ var _a, _b;
516
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)) {
517
+ return;
518
+ }
519
+ this.createChartOptions();
520
+ }
521
+ createChartOptions() {
522
+ // @ts-ignore
523
+ this.chartOptions = {
524
+ series: this.data.data,
525
+ chart: {
526
+ height: '100%',
527
+ width: '100%',
528
+ type: "pie"
529
+ },
530
+ labels: this.data.legend,
531
+ dataLabels: {
532
+ enabled: true,
533
+ style: {
534
+ fontSize: "20px",
535
+ fontFamily: "Montserrat",
536
+ fontWeight: "700"
537
+ },
538
+ dropShadow: {
539
+ enabled: false
540
+ }
541
+ },
542
+ xaxis: {
543
+ categories: this.data.legend,
544
+ labels: {
545
+ style: {
546
+ fontSize: '14px',
547
+ fontFamily: 'Montserrat',
548
+ colors: ["262626"]
549
+ },
550
+ }
551
+ },
552
+ yaxis: {
553
+ labels: {
554
+ style: {
555
+ fontSize: '14px',
556
+ fontFamily: 'Montserrat',
557
+ colors: ["262626"]
558
+ },
559
+ }
560
+ },
561
+ fill: {
562
+ opacity: 1
563
+ },
564
+ legend: {
565
+ fontSize: '16px',
566
+ fontFamily: 'Montserrat',
567
+ },
568
+ title: {
569
+ text: this.title.toUpperCase(),
570
+ style: {
571
+ fontSize: '20px',
572
+ fontFamily: 'Montserrat',
573
+ fontWeight: 700,
574
+ }
575
+ },
576
+ grid: {
577
+ borderColor: '#262626',
578
+ },
579
+ tooltip: {
580
+ custom: function ({ series, seriesIndex, dataPointIndex, w }) {
581
+ let tooltip = '<div class="tooltip-base">' +
582
+ ' <div class="tooltip-content">' +
583
+ ' <div class="tooltip-metadata">' +
584
+ ' <div class="tooltip-square" style="background:' + w.globals.colors[seriesIndex] + '"></div>' +
585
+ ' <a>' + w.globals.seriesNames[seriesIndex] + ': </a>' +
586
+ ' <a style="margin-left: 0.35rem; font-weight: 500">' + series[seriesIndex] + '</a>' +
587
+ ' </div>';
588
+ tooltip +=
589
+ ' </div>' +
590
+ '</div>';
591
+ return tooltip;
592
+ }
593
+ },
594
+ colors: ['#FF005B', '#5E92DE', '#753A86', '#F0A700', '#00AF77'],
595
+ states: {
596
+ active: {
597
+ filter: {
598
+ type: 'none'
599
+ }
600
+ }
601
+ }
602
+ };
603
+ }
604
+ getPngBlob() {
605
+ return __awaiter(this, void 0, void 0, function* () {
606
+ const base64 = yield this.apexChart.dataURI();
607
+ const decode = yield fetch(base64.imgURI);
608
+ return decode.blob();
609
+ });
610
+ }
611
+ }
612
+ PieChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PieChartComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
613
+ PieChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PieChartComponent, selector: "biit-pie-chart", inputs: { data: "data", title: "title", width: "width", min: "min", max: "max" }, viewQueries: [{ propertyName: "apexChart", first: true, predicate: ["apexChart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"bar-chart\"\n [style.opacity]=\"chartOptions ? '1' : '0'\">\n <apx-chart *ngIf=\"chartOptions\"\n [series]=\"chartOptions.series\"\n [chart]=\"chartOptions.chart\"\n [labels]=\"chartOptions.labels\"\n [dataLabels]=\"chartOptions.dataLabels\"\n [colors]=\"chartOptions.colors\"\n [plotOptions]=\"chartOptions.plotOptions\"\n [xaxis]=\"chartOptions.xaxis\"\n [yaxis]=\"chartOptions.yaxis\"\n [legend]=\"chartOptions.legend\"\n [title]=\"chartOptions.title\"\n [tooltip]=\"chartOptions.tooltip\"\n [grid]=\"chartOptions.grid\"\n [fill]=\"chartOptions.fill\"\n [states]=\"chartOptions.states\"\n style=\"display: block; height: 100%;\"\n #apexChart\n ></apx-chart>\n</div>\n", styles: ["#bar-chart{display:block;height:inherit;width:inherit;overflow:hidden;overflow-x:auto;transition:1s ease-in-out}#bar-chart ::ng-deep .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#bar-chart ::ng-deep .apexcharts-tooltip *{box-sizing:border-box}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem;color:#000}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-series path:hover{box-sizing:border-box;border:.15rem solid #262626}#bar-chart ::ng-deep .apexcharts-legend-series .apexcharts-legend-marker{margin-right:7px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ChartComponent, selector: "apx-chart", inputs: ["chart", "annotations", "colors", "dataLabels", "series", "stroke", "labels", "legend", "markers", "noData", "fill", "tooltip", "plotOptions", "responsive", "xaxis", "yaxis", "forecastDataPoints", "grid", "states", "title", "subtitle", "theme", "autoUpdateSeries"] }] });
614
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PieChartComponent, decorators: [{
615
+ type: Component,
616
+ args: [{ selector: 'biit-pie-chart', template: "<div id=\"bar-chart\"\n [style.opacity]=\"chartOptions ? '1' : '0'\">\n <apx-chart *ngIf=\"chartOptions\"\n [series]=\"chartOptions.series\"\n [chart]=\"chartOptions.chart\"\n [labels]=\"chartOptions.labels\"\n [dataLabels]=\"chartOptions.dataLabels\"\n [colors]=\"chartOptions.colors\"\n [plotOptions]=\"chartOptions.plotOptions\"\n [xaxis]=\"chartOptions.xaxis\"\n [yaxis]=\"chartOptions.yaxis\"\n [legend]=\"chartOptions.legend\"\n [title]=\"chartOptions.title\"\n [tooltip]=\"chartOptions.tooltip\"\n [grid]=\"chartOptions.grid\"\n [fill]=\"chartOptions.fill\"\n [states]=\"chartOptions.states\"\n style=\"display: block; height: 100%;\"\n #apexChart\n ></apx-chart>\n</div>\n", styles: ["#bar-chart{display:block;height:inherit;width:inherit;overflow:hidden;overflow-x:auto;transition:1s ease-in-out}#bar-chart ::ng-deep .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#bar-chart ::ng-deep .apexcharts-tooltip *{box-sizing:border-box}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem;color:#000}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-series path:hover{box-sizing:border-box;border:.15rem solid #262626}#bar-chart ::ng-deep .apexcharts-legend-series .apexcharts-legend-marker{margin-right:7px}\n"] }]
617
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { apexChart: [{
618
+ type: ViewChild,
619
+ args: ['apexChart']
620
+ }], data: [{
621
+ type: Input
622
+ }], title: [{
623
+ type: Input
624
+ }], width: [{
625
+ type: Input
626
+ }], min: [{
627
+ type: Input
628
+ }], max: [{
629
+ type: Input
630
+ }] } });
631
+
632
+ class PieChartModule {
633
+ }
634
+ PieChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PieChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
635
+ PieChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: PieChartModule, declarations: [PieChartComponent], imports: [CommonModule,
636
+ NgApexchartsModule], exports: [PieChartComponent] });
637
+ PieChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PieChartModule, imports: [CommonModule,
638
+ NgApexchartsModule] });
639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PieChartModule, decorators: [{
640
+ type: NgModule,
641
+ args: [{
642
+ declarations: [PieChartComponent],
643
+ exports: [PieChartComponent],
644
+ imports: [
645
+ CommonModule,
646
+ NgApexchartsModule
647
+ ]
648
+ }]
649
+ }] });
650
+
651
+ class PieChartData {
652
+ constructor(data, legend) {
653
+ this.data = data;
654
+ this.legend = legend;
655
+ }
656
+ }
657
+
658
+ class RadarChartComponent {
659
+ constructor(ref) {
660
+ this.ref = ref;
661
+ this.pageNumber = 1;
662
+ this.title = '';
663
+ this.yLegendMargin = 0;
664
+ }
665
+ ngOnInit() {
666
+ var _a, _b;
667
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.series) === null || _b === void 0 ? void 0 : _b.length)) {
668
+ return;
669
+ }
670
+ this.createChartOptions();
671
+ }
672
+ ngOnChanges() {
673
+ var _a, _b;
674
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.series) === null || _b === void 0 ? void 0 : _b.length)) {
675
+ return;
676
+ }
677
+ this.createChartOptions();
678
+ }
679
+ createChartOptions() {
680
+ // @ts-ignore
681
+ this.chartOptions = {
682
+ series: this.data.series,
683
+ chart: {
684
+ height: '100%',
685
+ width: '100%',
686
+ type: "radar"
687
+ },
688
+ dataLabels: {
689
+ enabled: false
690
+ },
691
+ markers: {
692
+ size: 10,
693
+ shape: "rect",
694
+ colors: ["transparent"],
695
+ radius: 0,
696
+ strokeWidth: 0,
697
+ },
698
+ xaxis: {
699
+ categories: this.data.legend,
700
+ labels: {
701
+ style: {
702
+ fontSize: '16px',
703
+ fontFamily: 'Montserrat',
704
+ colors: this.data.legend.map(v => "#000000")
705
+ },
706
+ }
707
+ },
708
+ yaxis: {
709
+ labels: {
710
+ style: {
711
+ fontSize: '0',
712
+ },
713
+ },
714
+ min: this.min,
715
+ max: this.max
716
+ },
717
+ fill: {
718
+ opacity: 0.5
719
+ },
720
+ stroke: {
721
+ width: 4
722
+ },
723
+ legend: {
724
+ fontSize: '16px',
725
+ fontFamily: 'Montserrat',
726
+ position: 'right',
727
+ offsetY: 30
728
+ },
729
+ title: {
730
+ text: this.title.toUpperCase(),
731
+ style: {
732
+ fontSize: '20px',
733
+ fontFamily: 'Montserrat',
734
+ fontWeight: 700,
735
+ }
736
+ },
737
+ tooltip: {
738
+ custom: function ({ series, seriesIndex, dataPointIndex, w }) {
739
+ let tooltip = '<div class="tooltip-base">' +
740
+ ' <div class="tooltip-header">' +
741
+ w.globals.labels[dataPointIndex] +
742
+ ' </div>' +
743
+ ' <div class="tooltip-content">' +
744
+ ' <div class="tooltip-metadata">' +
745
+ ' <div class="tooltip-square" style="background:' + w.globals.colors[seriesIndex] + '"></div>' +
746
+ ' <a>' + w.globals.seriesNames[seriesIndex] + ': </a>' +
747
+ ' <a style="margin-left: 0.35rem; font-weight: 500">' + series[seriesIndex][dataPointIndex] + '</a>' +
748
+ ' </div>' +
749
+ ' </div>' +
750
+ '</div>';
751
+ return tooltip;
752
+ }
753
+ },
754
+ states: {
755
+ active: {
756
+ filter: {
757
+ type: 'none'
758
+ }
759
+ }
760
+ },
761
+ plotOptions: {
762
+ radar: {
763
+ polygons: {
764
+ strokeColors: "#e9e9e9"
765
+ },
766
+ },
767
+ }
768
+ };
769
+ }
770
+ getPngBlob() {
771
+ return __awaiter(this, void 0, void 0, function* () {
772
+ const base64 = yield this.apexChart.dataURI();
773
+ const decode = yield fetch(base64.imgURI);
774
+ return decode.blob();
775
+ });
776
+ }
777
+ }
778
+ RadarChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RadarChartComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
779
+ RadarChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RadarChartComponent, selector: "biit-radar-chart", inputs: { data: "data", title: "title", width: "width", min: "min", max: "max" }, viewQueries: [{ propertyName: "apexChart", first: true, predicate: ["apexChart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"bar-chart\"\n [style.opacity]=\"chartOptions ? '1' : '0'\">\n <apx-chart *ngIf=\"chartOptions\"\n [series]=\"chartOptions.series\"\n [chart]=\"chartOptions.chart\"\n [dataLabels]=\"chartOptions.dataLabels\"\n [plotOptions]=\"chartOptions.plotOptions\"\n [xaxis]=\"chartOptions.xaxis\"\n [yaxis]=\"chartOptions.yaxis\"\n [legend]=\"chartOptions.legend\"\n [title]=\"chartOptions.title\"\n [tooltip]=\"chartOptions.tooltip\"\n [fill]=\"chartOptions.fill\"\n [states]=\"chartOptions.states\"\n [markers]=\"chartOptions.markers\"\n [stroke]=\"chartOptions.stroke\"\n style=\"display: block; height: 100%;\"\n #apexChart\n ></apx-chart>\n</div>\n", styles: ["#bar-chart{display:block;height:inherit;width:inherit;overflow:hidden;overflow-x:auto;transition:1s ease-in-out}#bar-chart ::ng-deep .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#bar-chart ::ng-deep .apexcharts-tooltip *{box-sizing:border-box}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-header{background:#262626;color:#fff;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-series path:hover{box-sizing:border-box;border:.15rem solid #262626}#bar-chart ::ng-deep .apexcharts-legend-series .apexcharts-legend-marker{margin-right:7px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ChartComponent, selector: "apx-chart", inputs: ["chart", "annotations", "colors", "dataLabels", "series", "stroke", "labels", "legend", "markers", "noData", "fill", "tooltip", "plotOptions", "responsive", "xaxis", "yaxis", "forecastDataPoints", "grid", "states", "title", "subtitle", "theme", "autoUpdateSeries"] }] });
780
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RadarChartComponent, decorators: [{
781
+ type: Component,
782
+ args: [{ selector: 'biit-radar-chart', template: "<div id=\"bar-chart\"\n [style.opacity]=\"chartOptions ? '1' : '0'\">\n <apx-chart *ngIf=\"chartOptions\"\n [series]=\"chartOptions.series\"\n [chart]=\"chartOptions.chart\"\n [dataLabels]=\"chartOptions.dataLabels\"\n [plotOptions]=\"chartOptions.plotOptions\"\n [xaxis]=\"chartOptions.xaxis\"\n [yaxis]=\"chartOptions.yaxis\"\n [legend]=\"chartOptions.legend\"\n [title]=\"chartOptions.title\"\n [tooltip]=\"chartOptions.tooltip\"\n [fill]=\"chartOptions.fill\"\n [states]=\"chartOptions.states\"\n [markers]=\"chartOptions.markers\"\n [stroke]=\"chartOptions.stroke\"\n style=\"display: block; height: 100%;\"\n #apexChart\n ></apx-chart>\n</div>\n", styles: ["#bar-chart{display:block;height:inherit;width:inherit;overflow:hidden;overflow-x:auto;transition:1s ease-in-out}#bar-chart ::ng-deep .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#bar-chart ::ng-deep .apexcharts-tooltip *{box-sizing:border-box}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-header{background:#262626;color:#fff;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-series path:hover{box-sizing:border-box;border:.15rem solid #262626}#bar-chart ::ng-deep .apexcharts-legend-series .apexcharts-legend-marker{margin-right:7px}\n"] }]
783
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { apexChart: [{
784
+ type: ViewChild,
785
+ args: ['apexChart']
786
+ }], data: [{
787
+ type: Input
788
+ }], title: [{
789
+ type: Input
790
+ }], width: [{
791
+ type: Input
792
+ }], min: [{
793
+ type: Input
794
+ }], max: [{
795
+ type: Input
796
+ }] } });
797
+
798
+ class RadarChartModule {
799
+ }
800
+ RadarChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RadarChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
801
+ RadarChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: RadarChartModule, declarations: [RadarChartComponent], imports: [CommonModule,
802
+ NgApexchartsModule], exports: [RadarChartComponent] });
803
+ RadarChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RadarChartModule, imports: [CommonModule,
804
+ NgApexchartsModule] });
805
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RadarChartModule, decorators: [{
806
+ type: NgModule,
807
+ args: [{
808
+ declarations: [RadarChartComponent],
809
+ exports: [RadarChartComponent],
810
+ imports: [
811
+ CommonModule,
812
+ NgApexchartsModule
813
+ ]
814
+ }]
815
+ }] });
816
+
817
+ class RadarChartData {
818
+ constructor(series, legend) {
819
+ this.series = series;
820
+ this.legend = legend;
821
+ }
822
+ }
823
+ class RadarChartSeries {
824
+ constructor(name, data, color) {
825
+ this.name = name;
826
+ this.data = data;
827
+ this.color = color;
828
+ }
829
+ }
830
+
831
+ class RadialChartComponent {
832
+ constructor(ref) {
833
+ this.ref = ref;
834
+ this.pageNumber = 1;
835
+ this.title = '';
836
+ this.gauge = false;
837
+ this.yLegendMargin = 0;
838
+ }
839
+ ngOnInit() {
840
+ var _a, _b;
841
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)) {
842
+ return;
843
+ }
844
+ this.createChartOptions();
845
+ }
846
+ ngOnChanges() {
847
+ var _a, _b;
848
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)) {
849
+ return;
850
+ }
851
+ this.createChartOptions();
852
+ }
853
+ createChartOptions() {
854
+ // @ts-ignore
855
+ this.chartOptions = {
856
+ series: this.data.data,
857
+ chart: {
858
+ height: '100%',
859
+ width: '100%',
860
+ type: "radialBar"
861
+ },
862
+ plotOptions: {
863
+ radialBar: {
864
+ hollow: {
865
+ size: '50%'
866
+ },
867
+ startAngle: this.gauge ? -90 : 0,
868
+ endAngle: this.gauge ? 90 : 360
869
+ }
870
+ },
871
+ labels: this.data.legend,
872
+ dataLabels: {
873
+ enabled: true,
874
+ style: {
875
+ fontSize: "20px",
876
+ fontFamily: "Montserrat",
877
+ fontWeight: "700"
878
+ },
879
+ dropShadow: {
880
+ enabled: false
881
+ }
882
+ },
883
+ xaxis: {
884
+ categories: this.data.legend,
885
+ labels: {
886
+ style: {
887
+ fontSize: '14px',
888
+ fontFamily: 'Montserrat',
889
+ colors: ["262626"]
890
+ },
891
+ }
892
+ },
893
+ yaxis: {
894
+ labels: {
895
+ style: {
896
+ fontSize: '14px',
897
+ fontFamily: 'Montserrat',
898
+ colors: ["262626"]
899
+ },
900
+ }
901
+ },
902
+ fill: {
903
+ opacity: 1
904
+ },
905
+ legend: {
906
+ show: true,
907
+ fontSize: '16px',
908
+ fontFamily: 'Montserrat',
909
+ },
910
+ title: {
911
+ text: this.title.toUpperCase(),
912
+ style: {
913
+ fontSize: '20px',
914
+ fontFamily: 'Montserrat',
915
+ fontWeight: 700,
916
+ }
917
+ },
918
+ grid: {
919
+ borderColor: '#262626',
920
+ },
921
+ tooltip: {
922
+ custom: function ({ series, seriesIndex, dataPointIndex, w }) {
923
+ let tooltip = '<div class="tooltip-base">' +
924
+ ' <div class="tooltip-content">' +
925
+ ' <div class="tooltip-data">' +
926
+ ' <div class="tooltip-square" style="background:' + w.globals.colors[seriesIndex] + '"></div>' +
927
+ ' <a>' + w.globals.seriesNames[seriesIndex] + ': </a>' +
928
+ ' <a style="margin-left: 0.35rem; font-weight: 500">' + series[seriesIndex] + '</a>' +
929
+ ' </div>';
930
+ tooltip +=
931
+ ' </div>' +
932
+ '</div>';
933
+ return tooltip;
934
+ }
935
+ },
936
+ colors: ['#FF005B', '#5E92DE', '#753A86', '#F0A700', '#00AF77'],
937
+ states: {
938
+ active: {
939
+ filter: {
940
+ type: 'none'
941
+ }
942
+ }
943
+ }
944
+ };
945
+ }
946
+ getPngBlob() {
947
+ return __awaiter(this, void 0, void 0, function* () {
948
+ const base64 = yield this.apexChart.dataURI();
949
+ const decode = yield fetch(base64.imgURI);
950
+ return decode.blob();
951
+ });
952
+ }
953
+ }
954
+ RadialChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RadialChartComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
955
+ RadialChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RadialChartComponent, selector: "biit-radial-chart", inputs: { data: "data", title: "title", width: "width", min: "min", max: "max", gauge: "gauge" }, viewQueries: [{ propertyName: "apexChart", first: true, predicate: ["apexChart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"bar-chart\"\n [style.opacity]=\"chartOptions ? '1' : '0'\">\n <apx-chart *ngIf=\"chartOptions\"\n [series]=\"chartOptions.series\"\n [chart]=\"chartOptions.chart\"\n [labels]=\"chartOptions.labels\"\n [dataLabels]=\"chartOptions.dataLabels\"\n [colors]=\"chartOptions.colors\"\n [plotOptions]=\"chartOptions.plotOptions\"\n [xaxis]=\"chartOptions.xaxis\"\n [yaxis]=\"chartOptions.yaxis\"\n [legend]=\"chartOptions.legend\"\n [title]=\"chartOptions.title\"\n [tooltip]=\"chartOptions.tooltip\"\n [grid]=\"chartOptions.grid\"\n [fill]=\"chartOptions.fill\"\n [states]=\"chartOptions.states\"\n style=\"display: block; height: 100%;\"\n #apexChart\n ></apx-chart>\n</div>\n", styles: ["#bar-chart{display:block;height:inherit;width:inherit;overflow:hidden;overflow-x:auto;transition:1s ease-in-out}#bar-chart ::ng-deep .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#bar-chart ::ng-deep .apexcharts-tooltip *{box-sizing:border-box}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem;color:#000}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-series path:hover{box-sizing:border-box;border:.15rem solid #262626}#bar-chart ::ng-deep .apexcharts-legend-series .apexcharts-legend-marker{margin-right:7px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ChartComponent, selector: "apx-chart", inputs: ["chart", "annotations", "colors", "dataLabels", "series", "stroke", "labels", "legend", "markers", "noData", "fill", "tooltip", "plotOptions", "responsive", "xaxis", "yaxis", "forecastDataPoints", "grid", "states", "title", "subtitle", "theme", "autoUpdateSeries"] }] });
956
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RadialChartComponent, decorators: [{
957
+ type: Component,
958
+ args: [{ selector: 'biit-radial-chart', template: "<div id=\"bar-chart\"\n [style.opacity]=\"chartOptions ? '1' : '0'\">\n <apx-chart *ngIf=\"chartOptions\"\n [series]=\"chartOptions.series\"\n [chart]=\"chartOptions.chart\"\n [labels]=\"chartOptions.labels\"\n [dataLabels]=\"chartOptions.dataLabels\"\n [colors]=\"chartOptions.colors\"\n [plotOptions]=\"chartOptions.plotOptions\"\n [xaxis]=\"chartOptions.xaxis\"\n [yaxis]=\"chartOptions.yaxis\"\n [legend]=\"chartOptions.legend\"\n [title]=\"chartOptions.title\"\n [tooltip]=\"chartOptions.tooltip\"\n [grid]=\"chartOptions.grid\"\n [fill]=\"chartOptions.fill\"\n [states]=\"chartOptions.states\"\n style=\"display: block; height: 100%;\"\n #apexChart\n ></apx-chart>\n</div>\n", styles: ["#bar-chart{display:block;height:inherit;width:inherit;overflow:hidden;overflow-x:auto;transition:1s ease-in-out}#bar-chart ::ng-deep .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#bar-chart ::ng-deep .apexcharts-tooltip *{box-sizing:border-box}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem;color:#000}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-series path:hover{box-sizing:border-box;border:.15rem solid #262626}#bar-chart ::ng-deep .apexcharts-legend-series .apexcharts-legend-marker{margin-right:7px}\n"] }]
959
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { apexChart: [{
960
+ type: ViewChild,
961
+ args: ['apexChart']
962
+ }], data: [{
963
+ type: Input
964
+ }], title: [{
965
+ type: Input
966
+ }], width: [{
967
+ type: Input
968
+ }], min: [{
969
+ type: Input
970
+ }], max: [{
971
+ type: Input
972
+ }], gauge: [{
973
+ type: Input
974
+ }] } });
975
+
976
+ class RadialChartModule {
977
+ }
978
+ RadialChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RadialChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
979
+ RadialChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: RadialChartModule, declarations: [RadialChartComponent], imports: [CommonModule,
980
+ NgApexchartsModule], exports: [RadialChartComponent] });
981
+ RadialChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RadialChartModule, imports: [CommonModule,
982
+ NgApexchartsModule] });
983
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RadialChartModule, decorators: [{
984
+ type: NgModule,
985
+ args: [{
986
+ declarations: [RadialChartComponent],
987
+ exports: [RadialChartComponent],
988
+ imports: [
989
+ CommonModule,
990
+ NgApexchartsModule
991
+ ]
992
+ }]
993
+ }] });
994
+
995
+ class RadialChartData {
996
+ constructor(data, legend) {
997
+ this.data = data;
998
+ this.legend = legend;
999
+ }
1000
+ }
1001
+
1002
+ class HeatmapChartRange {
1003
+ constructor(from, to, color) {
1004
+ this.from = from;
1005
+ this.to = to;
1006
+ this.color = color;
1007
+ }
1008
+ }
1009
+
1010
+ class HeatmapChartComponent {
1011
+ constructor(biitIconService) {
1012
+ this.biitIconService = biitIconService;
1013
+ this.pageNumber = 1;
1014
+ this.title = '';
1015
+ this.itemsPerPage = 20;
1016
+ biitIconService.registerIcons(completeIconSet);
1017
+ }
1018
+ ngOnInit() {
1019
+ var _a, _b;
1020
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.elements) === null || _b === void 0 ? void 0 : _b.length)) {
1021
+ return;
1022
+ }
1023
+ this.fillDefaultValues();
1024
+ this.createHeatmapOptions();
1025
+ }
1026
+ ngOnChanges() {
1027
+ var _a, _b;
1028
+ if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.elements) === null || _b === void 0 ? void 0 : _b.length)) {
1029
+ return;
1030
+ }
1031
+ this.fillDefaultValues();
1032
+ this.createHeatmapOptions();
1033
+ }
1034
+ fillDefaultValues() {
1035
+ if (!this.ranges.some(r => r.from == -10000 && r.to == -9998 && r.color == "#FFFFFF")) {
1036
+ this.ranges.push(new HeatmapChartRange(-10000, -9998, "#FFFFFF"));
1037
+ }
1038
+ const data = this.data.elements.map(element => element.data);
1039
+ const keys = new Set();
1040
+ data.flatMap(flatValues => flatValues).forEach(value => keys.add(value.x));
1041
+ this.data.elements.map(element => element.data)
1042
+ .forEach(data => {
1043
+ keys.forEach(key => {
1044
+ if (!data.some(element => element.x === key)) {
1045
+ data.push({ x: key, y: -9999 });
1046
+ }
1047
+ });
1048
+ data.sort((a, b) => +a.x - +b.x);
1049
+ });
1050
+ }
1051
+ createHeatmapOptions() {
1052
+ // @ts-ignore
1053
+ this.heatmapOptions = {
1054
+ series: this.generateSeries(),
1055
+ chart: {
1056
+ height: 'auto',
1057
+ width: '892',
1058
+ type: "heatmap",
1059
+ events: {
1060
+ mounted(chart, options) {
1061
+ var _a, _b, _c;
1062
+ const totalWidth = chart.dimensions.w.globals.dom.elWrap.clientWidth;
1063
+ const oldGridWidth = chart.dimensions.w.globals.gridWidth;
1064
+ const newGridWidth = ((_b = (_a = options.config.series[0]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length) * 37;
1065
+ const newTotalWidth = Math.trunc((totalWidth - oldGridWidth) + newGridWidth);
1066
+ const totalHeight = chart.dimensions.w.globals.dom.elWrap.clientHeight;
1067
+ const oldGridHeight = chart.dimensions.w.globals.dom.elWrap
1068
+ .getElementsByClassName("apexcharts-xcrosshairs")[0].getBoundingClientRect().height;
1069
+ const newGridHeight = ((_c = options.config.series) === null || _c === void 0 ? void 0 : _c.length) * 35;
1070
+ const newTotalHeight = Math.trunc((totalHeight - oldGridHeight) + newGridHeight);
1071
+ if (totalHeight !== newTotalHeight || totalWidth !== newTotalWidth) {
1072
+ options.config.chart.width = newTotalWidth;
1073
+ options.config.chart.height = newTotalHeight;
1074
+ chart.updateOptions({
1075
+ chart: {
1076
+ width: newTotalWidth,
1077
+ height: newTotalHeight
1078
+ },
1079
+ legend: {
1080
+ width: newTotalWidth
1081
+ }
1082
+ });
1083
+ }
1084
+ },
1085
+ updated(chart, options) {
1086
+ var _a, _b, _c;
1087
+ const totalWidth = chart.dimensions.w.globals.dom.elWrap.clientWidth;
1088
+ const oldGridWidth = chart.dimensions.w.globals.gridWidth;
1089
+ const newGridWidth = ((_b = (_a = options.config.series[0]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length) * 37;
1090
+ const newTotalWidth = Math.trunc((totalWidth - oldGridWidth) + newGridWidth);
1091
+ const totalHeight = chart.dimensions.w.globals.dom.elWrap.clientHeight;
1092
+ const oldGridHeight = chart.dimensions.w.globals.dom.elWrap
1093
+ .getElementsByClassName("apexcharts-xcrosshairs")[0].getBoundingClientRect().height;
1094
+ const newGridHeight = ((_c = options.config.series) === null || _c === void 0 ? void 0 : _c.length) * 35;
1095
+ const newTotalHeight = Math.trunc((totalHeight - oldGridHeight) + newGridHeight);
1096
+ if (totalHeight !== newTotalHeight || totalWidth !== newTotalWidth) {
1097
+ options.config.chart.width = newTotalWidth;
1098
+ options.config.chart.height = newTotalHeight;
1099
+ chart.updateOptions({
1100
+ chart: {
1101
+ width: newTotalWidth,
1102
+ height: newTotalHeight
1103
+ },
1104
+ legend: {
1105
+ width: newTotalWidth
1106
+ }
1107
+ });
1108
+ }
1109
+ }
1110
+ }
1111
+ },
1112
+ plotOptions: {
1113
+ heatmap: {
1114
+ radius: 20,
1115
+ enableShades: false,
1116
+ colorScale: {
1117
+ ranges: this.ranges
1118
+ }
1119
+ }
1120
+ },
1121
+ dataLabels: {
1122
+ enabled: true,
1123
+ style: {
1124
+ colors: ["#fff"],
1125
+ fontSize: '16px',
1126
+ fontFamily: 'Montserrat',
1127
+ },
1128
+ formatter: function (value) {
1129
+ if (value === -9999) {
1130
+ return "";
1131
+ }
1132
+ else {
1133
+ return value + "";
1134
+ }
1135
+ }
1136
+ },
1137
+ xaxis: {
1138
+ type: "category",
1139
+ labels: {
1140
+ style: {
1141
+ fontSize: '14px',
1142
+ fontFamily: 'Montserrat',
1143
+ },
1144
+ trim: true,
1145
+ minHeight: 120
1146
+ },
1147
+ },
1148
+ yaxis: {
1149
+ labels: {
1150
+ style: {
1151
+ fontSize: '14px',
1152
+ fontFamily: 'Montserrat',
1153
+ },
1154
+ },
1155
+ },
1156
+ legend: {
1157
+ width: 892,
1158
+ fontSize: '16px',
1159
+ fontFamily: 'Montserrat',
1160
+ itemMargin: {
1161
+ vertical: 20,
1162
+ horizontal: 20
1163
+ },
1164
+ formatter: function (value) {
1165
+ // Remove decimals on legend
1166
+ return Number.parseInt(value.substring(0, value.indexOf(" - "))) + ' / ' + Number.parseInt(value.substring(value.indexOf(" - ") + 3, value.length));
1167
+ },
1168
+ markers: {
1169
+ offsetY: -1
1170
+ },
1171
+ },
1172
+ title: {
1173
+ text: this.title.toUpperCase(),
1174
+ style: {
1175
+ fontSize: '20px',
1176
+ fontFamily: 'Montserrat',
1177
+ fontWeight: 700,
1178
+ }
1179
+ },
1180
+ tooltip: {
1181
+ enabled: false
1182
+ },
1183
+ grid: {
1184
+ borderColor: '#262626',
1185
+ position: 'front',
1186
+ xaxis: {
1187
+ lines: {
1188
+ show: false
1189
+ }
1190
+ },
1191
+ yaxis: {
1192
+ lines: {
1193
+ show: true
1194
+ }
1195
+ },
1196
+ },
1197
+ states: {
1198
+ active: {
1199
+ filter: {
1200
+ type: 'lighten',
1201
+ value: 0.15
1202
+ }
1203
+ }
1204
+ }
1205
+ };
1206
+ }
1207
+ updateGraph() {
1208
+ this.chart.updateSeries(this.generateSeries());
1209
+ }
1210
+ generateSeries() {
1211
+ let series = [];
1212
+ this.data.elements.forEach(item => {
1213
+ series.push({ name: item.name, data: item.data });
1214
+ });
1215
+ series.forEach(category => {
1216
+ category.data = category.data.slice((this.pageNumber - 1) * this.itemsPerPage, this.pageNumber * this.itemsPerPage);
1217
+ while (category.data.length < this.itemsPerPage) {
1218
+ // @ts-ignore
1219
+ category.data.push({ x: '', y: -9999 });
1220
+ }
1221
+ });
1222
+ return series;
1223
+ }
1224
+ getPngBlob() {
1225
+ return __awaiter(this, void 0, void 0, function* () {
1226
+ const base64 = yield this.chart.dataURI();
1227
+ const decode = yield fetch(base64.imgURI);
1228
+ return decode.blob();
1229
+ });
1230
+ }
1231
+ }
1232
+ HeatmapChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeatmapChartComponent, deps: [{ token: i1$1.BiitIconService }], target: i0.ɵɵFactoryTarget.Component });
1233
+ HeatmapChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeatmapChartComponent, selector: "biit-heatmap", inputs: { data: "data", ranges: "ranges", title: "title", itemsPerPage: "itemsPerPage" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["heatmap"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"chart\"\n [style.opacity]=\"heatmapOptions ? '1' : '0'\">\n <apx-chart #heatmap\n *ngIf=\"heatmapOptions\"\n [series]=\"heatmapOptions.series\"\n [chart]=\"heatmapOptions.chart\"\n [dataLabels]=\"heatmapOptions.dataLabels\"\n [colors]=\"heatmapOptions.colors\"\n [stroke]=\"heatmapOptions.stroke\"\n [plotOptions]=\"heatmapOptions.plotOptions\"\n [xaxis]=\"heatmapOptions.xaxis\"\n [yaxis]=\"heatmapOptions.yaxis\"\n [legend]=\"heatmapOptions.legend\"\n [title]=\"heatmapOptions.title\"\n [tooltip]=\"heatmapOptions.tooltip\"\n [grid]=\"heatmapOptions.grid\"\n [states]=\"heatmapOptions.states\"\n ></apx-chart>\n <div class=\"buttons\"\n *ngIf=\"this.data?.elements[0]?.data.length > itemsPerPage\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n [disabled]=\"pageNumber == 1\"\n (click)=\"pageNumber = pageNumber-1; updateGraph()\"\n style=\"rotate: 180deg\"\n ></button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n [disabled]=\"this.data?.elements[0].data.length <= pageNumber*itemsPerPage\"\n (click)=\"pageNumber = pageNumber+1; updateGraph()\"\n ></button>\n </div>\n</div>\n", styles: ["#chart{display:block;position:relative;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;transition:.5s ease-in-out}#chart apx-chart ::ng-deep .apexcharts-legend>.apexcharts-legend-series:last-child{display:none}.buttons{display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ChartComponent, selector: "apx-chart", inputs: ["chart", "annotations", "colors", "dataLabels", "series", "stroke", "labels", "legend", "markers", "noData", "fill", "tooltip", "plotOptions", "responsive", "xaxis", "yaxis", "forecastDataPoints", "grid", "states", "title", "subtitle", "theme", "autoUpdateSeries"] }, { kind: "component", type: i4.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
1234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeatmapChartComponent, decorators: [{
1235
+ type: Component,
1236
+ args: [{ selector: 'biit-heatmap', template: "<div id=\"chart\"\n [style.opacity]=\"heatmapOptions ? '1' : '0'\">\n <apx-chart #heatmap\n *ngIf=\"heatmapOptions\"\n [series]=\"heatmapOptions.series\"\n [chart]=\"heatmapOptions.chart\"\n [dataLabels]=\"heatmapOptions.dataLabels\"\n [colors]=\"heatmapOptions.colors\"\n [stroke]=\"heatmapOptions.stroke\"\n [plotOptions]=\"heatmapOptions.plotOptions\"\n [xaxis]=\"heatmapOptions.xaxis\"\n [yaxis]=\"heatmapOptions.yaxis\"\n [legend]=\"heatmapOptions.legend\"\n [title]=\"heatmapOptions.title\"\n [tooltip]=\"heatmapOptions.tooltip\"\n [grid]=\"heatmapOptions.grid\"\n [states]=\"heatmapOptions.states\"\n ></apx-chart>\n <div class=\"buttons\"\n *ngIf=\"this.data?.elements[0]?.data.length > itemsPerPage\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n [disabled]=\"pageNumber == 1\"\n (click)=\"pageNumber = pageNumber-1; updateGraph()\"\n style=\"rotate: 180deg\"\n ></button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n [disabled]=\"this.data?.elements[0].data.length <= pageNumber*itemsPerPage\"\n (click)=\"pageNumber = pageNumber+1; updateGraph()\"\n ></button>\n </div>\n</div>\n", styles: ["#chart{display:block;position:relative;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;transition:.5s ease-in-out}#chart apx-chart ::ng-deep .apexcharts-legend>.apexcharts-legend-series:last-child{display:none}.buttons{display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}\n"] }]
1237
+ }], ctorParameters: function () { return [{ type: i1$1.BiitIconService }]; }, propDecorators: { chart: [{
1238
+ type: ViewChild,
1239
+ args: ["heatmap"]
1240
+ }], data: [{
1241
+ type: Input
1242
+ }], ranges: [{
1243
+ type: Input
1244
+ }], title: [{
1245
+ type: Input
1246
+ }], itemsPerPage: [{
1247
+ type: Input
1248
+ }] } });
1249
+
1250
+ class HeatmapChartModule {
1251
+ }
1252
+ HeatmapChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeatmapChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1253
+ HeatmapChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: HeatmapChartModule, declarations: [HeatmapChartComponent], imports: [CommonModule,
1254
+ NgApexchartsModule,
1255
+ BiitIconButtonModule], exports: [HeatmapChartComponent] });
1256
+ HeatmapChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeatmapChartModule, imports: [CommonModule,
1257
+ NgApexchartsModule,
1258
+ BiitIconButtonModule] });
1259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeatmapChartModule, decorators: [{
1260
+ type: NgModule,
1261
+ args: [{
1262
+ declarations: [HeatmapChartComponent],
1263
+ exports: [HeatmapChartComponent],
1264
+ imports: [
1265
+ CommonModule,
1266
+ NgApexchartsModule,
1267
+ BiitIconButtonModule
1268
+ ]
1269
+ }]
1270
+ }] });
1271
+
1272
+ class HeatmapChartData {
1273
+ static fromDataElements(elements) {
1274
+ const barChartData = new HeatmapChartData();
1275
+ barChartData.elements = [];
1276
+ barChartData.elements[0] = elements;
1277
+ return barChartData;
1278
+ }
1279
+ static fromMultipleDataElements(elements) {
1280
+ const heatmapChartData = new HeatmapChartData();
1281
+ heatmapChartData.elements = elements;
1282
+ return heatmapChartData;
1283
+ }
1284
+ //Values -> metric -> x --> Value
1285
+ static fromElementsAsMap(values) {
1286
+ const heatmapChartDataElements = [];
1287
+ for (const metric of values.keys()) {
1288
+ const heatmapChartDataElement = new HeatmapChartDataElement();
1289
+ heatmapChartDataElement.name = metric;
1290
+ const sortedMap = new Map([...values.get(metric).entries()].sort());
1291
+ for (const point of sortedMap) {
1292
+ heatmapChartDataElement.data.push({ x: point[0], y: point[1] });
1293
+ }
1294
+ heatmapChartDataElements.push(heatmapChartDataElement);
1295
+ }
1296
+ return HeatmapChartData.fromMultipleDataElements(heatmapChartDataElements);
1297
+ }
1298
+ constructor(name) {
1299
+ this.elements = [];
1300
+ this.name = name;
1301
+ this.elements = [];
1302
+ }
1303
+ getLabels() {
1304
+ return this.elements.map(e => e.name);
1305
+ }
1306
+ getData() {
1307
+ return this.elements;
1308
+ }
1309
+ }
1310
+ class HeatmapChartDataElement {
1311
+ constructor(points, name) {
1312
+ if (points) {
1313
+ this.data = points.map(point => {
1314
+ return { x: point[0], y: point[1] };
1315
+ });
1316
+ }
1317
+ else {
1318
+ this.data = [];
1319
+ }
1320
+ if (name) {
1321
+ this.name = name;
1322
+ }
1323
+ else {
1324
+ this.name = "";
1325
+ }
1326
+ }
1327
+ }
1328
+ class HeatmapMetric {
1329
+ constructor() {
1330
+ //Metric name (Y Axis)
1331
+ this.name = "";
1332
+ //Subject value (X Axis + Value in Y)
1333
+ this.data = [];
1334
+ }
1335
+ }
1336
+
1337
+ var View;
1338
+ (function (View) {
1339
+ View["GRID"] = "GRID";
1340
+ View["TIMELINE"] = "TIMELINE";
1341
+ })(View || (View = {}));
1342
+
1343
+ class SafeHtmlPipe {
1344
+ constructor(sanitizer) {
1345
+ this.sanitizer = sanitizer;
1346
+ }
1347
+ transform(value) {
1348
+ return this.sanitizer.bypassSecurityTrustHtml(value.outerHTML);
1349
+ }
1350
+ }
1351
+ SafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
1352
+ SafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" });
1353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SafeHtmlPipe, decorators: [{
1354
+ type: Pipe,
1355
+ args: [{
1356
+ name: 'safeHtml'
1357
+ }]
1358
+ }], ctorParameters: function () { return [{ type: i1$2.DomSanitizer }]; } });
1359
+
1360
+ class MetaElementComponent {
1361
+ }
1362
+ MetaElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1363
+ MetaElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MetaElementComponent, selector: "biit-meta-element", inputs: { icon: "icon", styles: "styles", classes: "classes" }, ngImport: i0, template: "<div class=\"wh-100 c-pointer\">\n <div *ngIf=\"!icon\" [style]=\"styles\" class=\"wh-100\" [ngClass]=\"classes\">\n <ng-content></ng-content>\n </div>\n <svg *ngIf=\"icon\" [style]=\"styles\" class=\"wh-100\" [ngClass]=\"classes\" [innerHTML]=\"icon | safeHtml\" />\n</div>\n", styles: [".wh-100{width:100%;height:100%}.c-pointer{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] });
1364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaElementComponent, decorators: [{
1365
+ type: Component,
1366
+ args: [{ selector: 'biit-meta-element', template: "<div class=\"wh-100 c-pointer\">\n <div *ngIf=\"!icon\" [style]=\"styles\" class=\"wh-100\" [ngClass]=\"classes\">\n <ng-content></ng-content>\n </div>\n <svg *ngIf=\"icon\" [style]=\"styles\" class=\"wh-100\" [ngClass]=\"classes\" [innerHTML]=\"icon | safeHtml\" />\n</div>\n", styles: [".wh-100{width:100%;height:100%}.c-pointer{cursor:pointer}\n"] }]
1367
+ }], propDecorators: { icon: [{
1368
+ type: Input
1369
+ }], styles: [{
1370
+ type: Input
1371
+ }], classes: [{
1372
+ type: Input
1373
+ }] } });
1374
+
1375
+ class MetaBoardComponent {
1376
+ constructor() {
1377
+ this.size = '2rem';
1378
+ this.elementClick = new EventEmitter();
1379
+ }
1380
+ onElementClick(element) {
1381
+ this.elementClick.emit(element);
1382
+ }
1383
+ }
1384
+ MetaBoardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaBoardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1385
+ MetaBoardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MetaBoardComponent, selector: "biit-meta-board", inputs: { data: "data", selected: "selected" }, outputs: { elementClick: "elementClick" }, ngImport: i0, template: "<div class=\"meta-board\" id=\"metaviewer-board\"\n [style.grid-template-columns]=\"'repeat(auto-fill, minmax(' + this.size + ', 1fr))'\"\n>\n <biit-meta-element class=\"metaviewer-element\" [style.width]=\"this.size\"\n *ngFor=\"let element of data; let index = index\"\n [styles]=\"element.styles\"\n [classes]=\"element.classes\"\n [class.selected]=\"element === selected\"\n [icon]=\"element.icon\"\n (click)=\"onElementClick(element)\"\n @fadeInOut\n ><div *ngIf=\"element.custom\" [innerHTML]=\"element.custom.innerHTML\"></div></biit-meta-element>\n</div>\n", styles: [".meta-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(2em,1fr));grid-auto-rows:2em;gap:.2em;overflow-y:auto;height:100%;width:100%;padding-right:.2em;&>biit-meta-element{display:flex;align-content:center;justify-content:center;justify-self:center}}.selected{box-sizing:border-box;border:2px solid #262626}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MetaElementComponent, selector: "biit-meta-element", inputs: ["icon", "styles", "classes"] }], animations: [
1386
+ trigger('fadeInOut', [
1387
+ transition(':enter', [
1388
+ style({ width: 0, height: 0, opacity: 0, 'align-self': 'center' }),
1389
+ animate('300ms ease-in', style({ width: '*', height: '*', opacity: 1, 'align-self': 'center' }))
1390
+ ]),
1391
+ transition(':leave', [
1392
+ style({ width: '*', height: '*', opacity: 1, 'align-self': 'center' }),
1393
+ animate('300ms ease-in', style({ width: 0, height: 0, opacity: 0, 'align-self': 'center' }))
1394
+ ])
1395
+ ])
1396
+ ] });
1397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaBoardComponent, decorators: [{
1398
+ type: Component,
1399
+ args: [{ selector: 'biit-meta-board', animations: [
1400
+ trigger('fadeInOut', [
1401
+ transition(':enter', [
1402
+ style({ width: 0, height: 0, opacity: 0, 'align-self': 'center' }),
1403
+ animate('300ms ease-in', style({ width: '*', height: '*', opacity: 1, 'align-self': 'center' }))
1404
+ ]),
1405
+ transition(':leave', [
1406
+ style({ width: '*', height: '*', opacity: 1, 'align-self': 'center' }),
1407
+ animate('300ms ease-in', style({ width: 0, height: 0, opacity: 0, 'align-self': 'center' }))
1408
+ ])
1409
+ ])
1410
+ ], template: "<div class=\"meta-board\" id=\"metaviewer-board\"\n [style.grid-template-columns]=\"'repeat(auto-fill, minmax(' + this.size + ', 1fr))'\"\n>\n <biit-meta-element class=\"metaviewer-element\" [style.width]=\"this.size\"\n *ngFor=\"let element of data; let index = index\"\n [styles]=\"element.styles\"\n [classes]=\"element.classes\"\n [class.selected]=\"element === selected\"\n [icon]=\"element.icon\"\n (click)=\"onElementClick(element)\"\n @fadeInOut\n ><div *ngIf=\"element.custom\" [innerHTML]=\"element.custom.innerHTML\"></div></biit-meta-element>\n</div>\n", styles: [".meta-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(2em,1fr));grid-auto-rows:2em;gap:.2em;overflow-y:auto;height:100%;width:100%;padding-right:.2em;&>biit-meta-element{display:flex;align-content:center;justify-content:center;justify-self:center}}.selected{box-sizing:border-box;border:2px solid #262626}\n"] }]
1411
+ }], propDecorators: { data: [{
1412
+ type: Input
1413
+ }], selected: [{
1414
+ type: Input
1415
+ }], elementClick: [{
1416
+ type: Output
1417
+ }] } });
1418
+
1419
+ var FieldType;
1420
+ (function (FieldType) {
1421
+ FieldType["STRING"] = "STRING";
1422
+ FieldType["NUMBER"] = "NUMBER";
1423
+ FieldType["BOOLEAN"] = "BOOLEAN";
1424
+ FieldType["NULL"] = "NULL";
1425
+ FieldType["DATE"] = "DATE";
1426
+ FieldType["UNKNOWN"] = "UNKNOWN";
1427
+ })(FieldType || (FieldType = {}));
1428
+
1429
+ class FieldTypePipe {
1430
+ transform(field, data) {
1431
+ const item = data.find(item => item.data != null && item.data[field] != null);
1432
+ if (item == null) {
1433
+ return FieldType.NULL;
1434
+ }
1435
+ const value = item.data[field];
1436
+ if (typeof value === 'string') {
1437
+ return FieldType.STRING;
1438
+ }
1439
+ if (typeof value === 'boolean') {
1440
+ return FieldType.BOOLEAN;
1441
+ }
1442
+ if (typeof value === 'number') {
1443
+ return FieldType.NUMBER;
1444
+ }
1445
+ if (value instanceof Date) {
1446
+ return FieldType.DATE;
1447
+ }
1448
+ return FieldType.STRING;
1449
+ }
1450
+ }
1451
+ FieldTypePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FieldTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1452
+ FieldTypePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FieldTypePipe, name: "fieldType" });
1453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FieldTypePipe, decorators: [{
1454
+ type: Pipe,
1455
+ args: [{
1456
+ name: 'fieldType'
1457
+ }]
1458
+ }] });
1459
+
1460
+ class MetaElementToBarChartPipe {
1461
+ transform(data, field, color = '#f20d5e') {
1462
+ const values = data.map(item => item.data[field]);
1463
+ const groupedValues = new Map();
1464
+ values.forEach(value => {
1465
+ if (groupedValues.has(value)) {
1466
+ groupedValues.set(value, groupedValues.get(value) + 1);
1467
+ }
1468
+ else {
1469
+ groupedValues.set(value, 1);
1470
+ }
1471
+ });
1472
+ const sortedMap = new Map([...groupedValues.entries()].sort((a, b) => a[0] - b[0]));
1473
+ const barChartSeries = [new BarChartSeries(field, Array.from(sortedMap.values()).map(value => new BarChartSeriesData(value)), color)];
1474
+ return new BarChartData(barChartSeries, Array.from(sortedMap.keys()).map(value => value.toString()));
1475
+ }
1476
+ }
1477
+ MetaElementToBarChartPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaElementToBarChartPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1478
+ MetaElementToBarChartPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MetaElementToBarChartPipe, name: "metaElementToBarChart" });
1479
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaElementToBarChartPipe, decorators: [{
1480
+ type: Pipe,
1481
+ args: [{
1482
+ name: 'metaElementToBarChart'
1483
+ }]
1484
+ }] });
1485
+
1486
+ class MetaElementMinValuePipe {
1487
+ transform(data, field) {
1488
+ if (!data) {
1489
+ return 0;
1490
+ }
1491
+ const values = data.map(d => d.data).map(d => d[field]);
1492
+ return Math.min(...values);
1493
+ }
1494
+ }
1495
+ MetaElementMinValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaElementMinValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1496
+ MetaElementMinValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MetaElementMinValuePipe, name: "metaElementMinValue" });
1497
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaElementMinValuePipe, decorators: [{
1498
+ type: Pipe,
1499
+ args: [{
1500
+ name: 'metaElementMinValue'
1501
+ }]
1502
+ }] });
1503
+
1504
+ class MetaElementMaxValuePipe {
1505
+ transform(data, field) {
1506
+ if (!data) {
1507
+ return 0;
1508
+ }
1509
+ const values = data.map(d => d.data).map(d => d[field]);
1510
+ return Math.max(...values);
1511
+ }
1512
+ }
1513
+ MetaElementMaxValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaElementMaxValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1514
+ MetaElementMaxValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MetaElementMaxValuePipe, name: "metaElementMaxValue" });
1515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaElementMaxValuePipe, decorators: [{
1516
+ type: Pipe,
1517
+ args: [{
1518
+ name: 'metaElementMaxValue'
1519
+ }]
1520
+ }] });
1521
+
1522
+ class StepValueExtractorPipe {
1523
+ transform(data, field) {
1524
+ if (!data) {
1525
+ return 1;
1526
+ }
1527
+ const values = data.map(d => d.data).map(d => d[field]);
1528
+ const decimalCounts = values.map(value => this.getDecimalCount(value));
1529
+ const maxDecimals = Math.max(...decimalCounts);
1530
+ if (maxDecimals === 0) {
1531
+ return 1;
1532
+ }
1533
+ return +('0.' + (maxDecimals === 1 ? '1' : ('0'.repeat(maxDecimals - 1)) + '1'));
1534
+ }
1535
+ getDecimalCount(value) {
1536
+ const numStr = value.toString();
1537
+ if (numStr.includes('.')) {
1538
+ return numStr.split('.')[1].length;
1539
+ }
1540
+ else {
1541
+ return 0;
1542
+ }
1543
+ }
1544
+ }
1545
+ StepValueExtractorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StepValueExtractorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1546
+ StepValueExtractorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: StepValueExtractorPipe, name: "stepValueExtractor" });
1547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StepValueExtractorPipe, decorators: [{
1548
+ type: Pipe,
1549
+ args: [{
1550
+ name: 'stepValueExtractor'
1551
+ }]
1552
+ }] });
1553
+
1554
+ class BarRangeComponent {
1555
+ constructor() {
1556
+ this.rangeChange = new EventEmitter();
1557
+ this.range = [0, 0];
1558
+ }
1559
+ set _items(value) {
1560
+ this.items = value;
1561
+ this.range = [Math.min(...this.items.map(d => d.data[this.field])), Math.max(...this.items.map(d => d.data[this.field]))];
1562
+ }
1563
+ set _range(value) {
1564
+ if (!value || value.length !== 2) {
1565
+ this.range = [Math.min(...this.items.map(d => d.data[this.field])), Math.max(...this.items.map(d => d.data[this.field]))];
1566
+ return;
1567
+ }
1568
+ this.range = value;
1569
+ }
1570
+ onRangeChange(range) {
1571
+ this.rangeChange.emit(range);
1572
+ }
1573
+ }
1574
+ BarRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BarRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1575
+ BarRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BarRangeComponent, selector: "biit-bar-range", inputs: { _items: ["items", "_items"], field: "field", _range: ["range", "_range"] }, outputs: { rangeChange: "rangeChange" }, ngImport: i0, template: "<div class=\"bar-range-body\">\n <biit-bar-chart [data]=\"items | metaElementToBarChart : field\" [compact]=\"true\"/>\n <biit-slider-range\n [min]=\"items | metaElementMinValue : field\"\n [max]=\"items | metaElementMaxValue : field\"\n [step]=\"items | stepValueExtractor : field\"\n [separator]=\"items | stepValueExtractor : field\"\n [ticks]=\"0\"\n [(ngModel)]=\"range\"\n (ngModelChange)=\"onRangeChange($event)\"\n />\n</div>\n", styles: [".bar-range-body{display:flex;flex-direction:column;gap:.5em}\n"], dependencies: [{ kind: "component", type: BarChartComponent, selector: "biit-bar-chart", inputs: ["data", "title", "width", "min", "max", "compact"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$2.BiitSliderRangeComponent, selector: "biit-slider-range", inputs: ["min", "max", "step", "separator", "ticks", "labels"] }, { kind: "pipe", type: MetaElementToBarChartPipe, name: "metaElementToBarChart" }, { kind: "pipe", type: MetaElementMinValuePipe, name: "metaElementMinValue" }, { kind: "pipe", type: MetaElementMaxValuePipe, name: "metaElementMaxValue" }, { kind: "pipe", type: StepValueExtractorPipe, name: "stepValueExtractor" }] });
1576
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BarRangeComponent, decorators: [{
1577
+ type: Component,
1578
+ args: [{ selector: 'biit-bar-range', template: "<div class=\"bar-range-body\">\n <biit-bar-chart [data]=\"items | metaElementToBarChart : field\" [compact]=\"true\"/>\n <biit-slider-range\n [min]=\"items | metaElementMinValue : field\"\n [max]=\"items | metaElementMaxValue : field\"\n [step]=\"items | stepValueExtractor : field\"\n [separator]=\"items | stepValueExtractor : field\"\n [ticks]=\"0\"\n [(ngModel)]=\"range\"\n (ngModelChange)=\"onRangeChange($event)\"\n />\n</div>\n", styles: [".bar-range-body{display:flex;flex-direction:column;gap:.5em}\n"] }]
1579
+ }], propDecorators: { _items: [{
1580
+ type: Input,
1581
+ args: ['items']
1582
+ }], field: [{
1583
+ type: Input
1584
+ }], _range: [{
1585
+ type: Input,
1586
+ args: ['range']
1587
+ }], rangeChange: [{
1588
+ type: Output
1589
+ }] } });
1590
+
1591
+ class MonthNamePipe {
1592
+ transform(month) {
1593
+ const date = new Date();
1594
+ date.setMonth(month);
1595
+ return date.toLocaleString('default', { month: 'long' });
1596
+ }
1597
+ }
1598
+ MonthNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1599
+ MonthNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MonthNamePipe, name: "monthName" });
1600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthNamePipe, decorators: [{
1601
+ type: Pipe,
1602
+ args: [{
1603
+ name: 'monthName'
1604
+ }]
1605
+ }] });
1606
+
1607
+ class DateFilterSelectorComponent {
1608
+ constructor() {
1609
+ this.rangeChange = new EventEmitter();
1610
+ this.items = [];
1611
+ this.sortByYear = new Map();
1612
+ this.sortByMonth = new Map();
1613
+ this.periodRange = [];
1614
+ this.selectedRanges = {};
1615
+ }
1616
+ set _items(value) {
1617
+ this.items = value;
1618
+ this.sortValues();
1619
+ }
1620
+ set _field(value) {
1621
+ this.field = value;
1622
+ this.sortValues();
1623
+ }
1624
+ set _range(value) {
1625
+ this.periodRange = value;
1626
+ this.selectedRanges = {};
1627
+ if (!value) {
1628
+ return;
1629
+ }
1630
+ this.periodRange.forEach(range => {
1631
+ const startDate = range[0];
1632
+ const endDate = range[1];
1633
+ if (startDate.getTime() === new Date(range[0].getFullYear(), 0, 1).getTime()
1634
+ && endDate.getTime() === new Date(range[0].getFullYear(), 11, 31, 23, 59, 59, 999).getTime()) {
1635
+ this.selectedRanges[startDate.getFullYear().toString()] = true;
1636
+ this.selectedAllMonths(startDate.getFullYear());
1637
+ }
1638
+ else {
1639
+ this.selectedRanges[startDate.getFullYear() + '-' + startDate.getMonth()] = true;
1640
+ }
1641
+ });
1642
+ }
1643
+ sortValues() {
1644
+ if (!this.items || !this.items.length || !this.field || !this.field.length) {
1645
+ return;
1646
+ }
1647
+ this.sortByYear = new Map();
1648
+ this.items.forEach(d => {
1649
+ const year = new Date(d.data[this.field]).getFullYear();
1650
+ if (!this.sortByYear.has(year)) {
1651
+ this.sortByYear.set(year, []);
1652
+ }
1653
+ this.sortByYear.get(year).push(d);
1654
+ this.sortByYear = this.sortMap(this.sortByYear);
1655
+ });
1656
+ }
1657
+ sortMap(map) {
1658
+ return new Map([...map.entries()].sort((a, b) => b[0] - a[0]));
1659
+ }
1660
+ onDisplayYear(year) {
1661
+ if (year === this.selectedYear) {
1662
+ this.selectedYear = undefined;
1663
+ return;
1664
+ }
1665
+ this.selectedYear = year;
1666
+ this.loadMonthlyData(year);
1667
+ }
1668
+ loadMonthlyData(year) {
1669
+ this.sortByMonth = new Map();
1670
+ this.sortByYear.get(year).forEach(d => {
1671
+ const month = new Date(d.data[this.field]).getMonth();
1672
+ if (!this.sortByMonth.has(month)) {
1673
+ this.sortByMonth.set(month, []);
1674
+ }
1675
+ this.sortByMonth.get(month).push(d);
1676
+ this.sortByMonth = this.sortMap(this.sortByMonth);
1677
+ });
1678
+ }
1679
+ onYearSelected(year, selected) {
1680
+ if (this.selectedYear === year) {
1681
+ this.selectedYear = undefined;
1682
+ }
1683
+ this.loadMonthlyData(year);
1684
+ selected ? this.selectedAllMonths(year) : this.removeSelectedRanges(year);
1685
+ this.convertSelectedRanges();
1686
+ this.emitSelectedRanges();
1687
+ }
1688
+ selectedAllMonths(year) {
1689
+ this.sortByMonth.forEach((months, month) => {
1690
+ const date = year + '-' + month;
1691
+ this.selectedRanges[date] = true;
1692
+ });
1693
+ }
1694
+ removeSelectedRanges(year) {
1695
+ for (let date in this.selectedRanges) {
1696
+ if (date.startsWith(year.toString())) {
1697
+ delete this.selectedRanges[date];
1698
+ }
1699
+ }
1700
+ }
1701
+ convertSelectedRanges() {
1702
+ this.periodRange = [];
1703
+ const selectedRanges = Object.assign({}, this.selectedRanges);
1704
+ const years = Object.keys(selectedRanges).filter(date => !date.toString().includes('-'));
1705
+ years.forEach(year => {
1706
+ for (const key in selectedRanges) {
1707
+ if (key.startsWith(year + '-')) {
1708
+ delete selectedRanges[key];
1709
+ }
1710
+ }
1711
+ });
1712
+ for (let date in selectedRanges) {
1713
+ if (selectedRanges[date]) {
1714
+ const splitDate = date.split('-');
1715
+ const startDate = splitDate.length === 1 ? new Date(+splitDate[0], 0, 1) : new Date(+splitDate[0], +splitDate[1], 1);
1716
+ const endDate = splitDate.length === 1
1717
+ ? new Date(+splitDate[0], 11, 31, 23, 59, 59, 999)
1718
+ : new Date(+splitDate[0], +splitDate[1] + 1, 0, 23, 59, 59, 999);
1719
+ this.periodRange.push([startDate, endDate]);
1720
+ }
1721
+ }
1722
+ }
1723
+ emitSelectedRanges() {
1724
+ if (this.periodRange.length === 0) {
1725
+ this.rangeChange.emit(null);
1726
+ return;
1727
+ }
1728
+ this.rangeChange.emit(this.periodRange);
1729
+ }
1730
+ onMonthSelected(year, month, selected) {
1731
+ if (!selected && this.selectedRanges[year]) {
1732
+ delete this.selectedRanges[year];
1733
+ }
1734
+ this.convertSelectedRanges();
1735
+ this.emitSelectedRanges();
1736
+ }
1737
+ }
1738
+ DateFilterSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1739
+ DateFilterSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateFilterSelectorComponent, selector: "biit-date-filter-selector", inputs: { _items: ["items", "_items"], _field: ["field", "_field"], _range: ["range", "_range"] }, outputs: { rangeChange: "rangeChange" }, ngImport: i0, template: "<div>\n <div *ngFor=\"let year of sortByYear.keys()\" class=\"date-filter-row\">\n <biit-checkbox [(ngModel)]=\"selectedRanges[year + '']\" (ngModelChange)=\"onYearSelected(year, $event)\" >\n <div class=\"year-title\">\n <div class=\"title-counter\">\n <div> {{year}} </div>\n <div> ({{sortByYear.get(year).length}})</div>\n </div>\n <biit-icon\n name=\"right_arrow\" class=\"year-arrow\" [class.arrow-rotate]=\"selectedYear === year\"\n (click)=\"$event.preventDefault(); onDisplayYear(year)\" />\n </div>\n <div class=\"month-body\" *ngIf=\"selectedYear === year\">\n <div *ngFor=\"let month of sortByMonth.keys()\">\n <biit-checkbox\n class=\"month-checkbox\"\n [(ngModel)]=\"selectedRanges[year + '-' + month]\"\n (ngModelChange)=\"onMonthSelected(year, month, $event)\" >\n <div class=\"title-counter\">\n <div>\n {{month | monthName}}\n </div>\n <div>\n ({{sortByMonth.get(month).length}})\n </div>\n </div>\n </biit-checkbox>\n </div>\n </div>\n </biit-checkbox>\n </div>\n</div>\n", styles: [".year-arrow{cursor:pointer;width:1em;height:1em;display:block;transition:transform .3s ease-in-out}.arrow-rotate{transform:rotate(90deg)}biit-checkbox{display:block;width:100%;&>label{width:100%;&>div{width:100%;&>div>a{width:100%}}}}.year-title{display:flex;align-items:center;&>div:first-child{flex-grow:1}}.month-body{display:flex;flex-direction:column;gap:.25em;font-size:.75em}.date-filter-row{margin:.5em 0;align-content:center}.title-counter{display:flex;&>div:first-child{flex-grow:1}&>div:last-child{color:gray;margin-right:.5em;font-size:.75em}}.month-body .title-counter>div:last-child{margin-right:1.2em}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"] }, { kind: "component", type: i1$1.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: MonthNamePipe, name: "monthName" }] });
1740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterSelectorComponent, decorators: [{
1741
+ type: Component,
1742
+ args: [{ selector: 'biit-date-filter-selector', template: "<div>\n <div *ngFor=\"let year of sortByYear.keys()\" class=\"date-filter-row\">\n <biit-checkbox [(ngModel)]=\"selectedRanges[year + '']\" (ngModelChange)=\"onYearSelected(year, $event)\" >\n <div class=\"year-title\">\n <div class=\"title-counter\">\n <div> {{year}} </div>\n <div> ({{sortByYear.get(year).length}})</div>\n </div>\n <biit-icon\n name=\"right_arrow\" class=\"year-arrow\" [class.arrow-rotate]=\"selectedYear === year\"\n (click)=\"$event.preventDefault(); onDisplayYear(year)\" />\n </div>\n <div class=\"month-body\" *ngIf=\"selectedYear === year\">\n <div *ngFor=\"let month of sortByMonth.keys()\">\n <biit-checkbox\n class=\"month-checkbox\"\n [(ngModel)]=\"selectedRanges[year + '-' + month]\"\n (ngModelChange)=\"onMonthSelected(year, month, $event)\" >\n <div class=\"title-counter\">\n <div>\n {{month | monthName}}\n </div>\n <div>\n ({{sortByMonth.get(month).length}})\n </div>\n </div>\n </biit-checkbox>\n </div>\n </div>\n </biit-checkbox>\n </div>\n</div>\n", styles: [".year-arrow{cursor:pointer;width:1em;height:1em;display:block;transition:transform .3s ease-in-out}.arrow-rotate{transform:rotate(90deg)}biit-checkbox{display:block;width:100%;&>label{width:100%;&>div{width:100%;&>div>a{width:100%}}}}.year-title{display:flex;align-items:center;&>div:first-child{flex-grow:1}}.month-body{display:flex;flex-direction:column;gap:.25em;font-size:.75em}.date-filter-row{margin:.5em 0;align-content:center}.title-counter{display:flex;&>div:first-child{flex-grow:1}&>div:last-child{color:gray;margin-right:.5em;font-size:.75em}}.month-body .title-counter>div:last-child{margin-right:1.2em}\n"] }]
1743
+ }], propDecorators: { _items: [{
1744
+ type: Input,
1745
+ args: ['items']
1746
+ }], _field: [{
1747
+ type: Input,
1748
+ args: ['field']
1749
+ }], _range: [{
1750
+ type: Input,
1751
+ args: ['range']
1752
+ }], rangeChange: [{
1753
+ type: Output
1754
+ }] } });
1755
+
1756
+ class TextFilterComponent {
1757
+ constructor() {
1758
+ this.filterChange = new EventEmitter();
1759
+ this.search = '';
1760
+ }
1761
+ set filter(value) {
1762
+ this.search = value;
1763
+ }
1764
+ onSearchChange(value) {
1765
+ clearTimeout(this.timeout);
1766
+ this.timeout = setTimeout(() => this.filterChange.emit(this.search), 500);
1767
+ }
1768
+ }
1769
+ TextFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1770
+ TextFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextFilterComponent, selector: "biit-text-filter", inputs: { filter: "filter" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: "<biit-input-text\n [(ngModel)]=\"search\"\n (ngModelChange)=\"onSearchChange($event)\"\n/>\n", styles: [""], dependencies: [{ kind: "component", type: i2$2.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1771
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterComponent, decorators: [{
1772
+ type: Component,
1773
+ args: [{ selector: 'biit-text-filter', template: "<biit-input-text\n [(ngModel)]=\"search\"\n (ngModelChange)=\"onSearchChange($event)\"\n/>\n" }]
1774
+ }], propDecorators: { filter: [{
1775
+ type: Input
1776
+ }], filterChange: [{
1777
+ type: Output
1778
+ }] } });
1779
+
1780
+ class BooleanFilterComponent {
1781
+ constructor() {
1782
+ this.filterChange = new EventEmitter();
1783
+ this.value = undefined;
1784
+ }
1785
+ set filter(value) {
1786
+ value === undefined ? this.value = undefined : this.value = !!value;
1787
+ }
1788
+ onFilterChanged(value) {
1789
+ this.filterChange.emit(value);
1790
+ }
1791
+ }
1792
+ BooleanFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BooleanFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1793
+ BooleanFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BooleanFilterComponent, selector: "biit-boolean-filter", inputs: { filter: "filter" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: "<biit-ternary-togle [(ngModel)]=\"value\" (ngModelChange)=\"onFilterChanged($event)\" />\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$2.BiitTernaryToggleComponent, selector: "biit-ternary-togle", inputs: ["disabled"] }] });
1794
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BooleanFilterComponent, decorators: [{
1795
+ type: Component,
1796
+ args: [{ selector: 'biit-boolean-filter', template: "<biit-ternary-togle [(ngModel)]=\"value\" (ngModelChange)=\"onFilterChanged($event)\" />\n" }]
1797
+ }], propDecorators: { filter: [{
1798
+ type: Input
1799
+ }], filterChange: [{
1800
+ type: Output
1801
+ }] } });
1802
+
1803
+ class FilterByPipe {
1804
+ transform(value, filterTerm) {
1805
+ return value.filter((item) => item.toLowerCase().includes(filterTerm.toLowerCase()));
1806
+ }
1807
+ }
1808
+ FilterByPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1809
+ FilterByPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FilterByPipe, name: "filterBy" });
1810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterByPipe, decorators: [{
1811
+ type: Pipe,
1812
+ args: [{
1813
+ name: 'filterBy'
1814
+ }]
1815
+ }] });
1816
+
1817
+ class HasPipe {
1818
+ transform(map, key) {
1819
+ return map && map.has(key);
1820
+ }
1821
+ }
1822
+ HasPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HasPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1823
+ HasPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: HasPipe, name: "has" });
1824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HasPipe, decorators: [{
1825
+ type: Pipe,
1826
+ args: [{
1827
+ name: 'has'
1828
+ }]
1829
+ }] });
1830
+
1831
+ class MetaFilterComponent {
1832
+ set _metadata(data) {
1833
+ this.metadata = data;
1834
+ }
1835
+ constructor(fieldType) {
1836
+ this.fieldType = fieldType;
1837
+ this.filterChange = new EventEmitter();
1838
+ this.selectedField = '';
1839
+ this.search = '';
1840
+ this.filter = new Map();
1841
+ this.FieldType = FieldType;
1842
+ }
1843
+ ngOnInit() {
1844
+ this.setFilters();
1845
+ }
1846
+ setFilters() {
1847
+ this.metadata.preselection.forEach(preset => {
1848
+ this.filter.set(preset.key, preset.value);
1849
+ });
1850
+ this.detectFilter();
1851
+ }
1852
+ onFieldClick(field) {
1853
+ if (this.fieldType.transform(field, this.metadata.data) === FieldType.BOOLEAN) {
1854
+ return;
1855
+ }
1856
+ if (this.selectedField === field) {
1857
+ this.selectedField = null;
1858
+ return;
1859
+ }
1860
+ this.selectedField = field;
1861
+ }
1862
+ onRangeChanged(field, range) {
1863
+ this.filter.set(field, range);
1864
+ this.detectFilter();
1865
+ }
1866
+ onDateRangeChanged(field, range) {
1867
+ range ? this.filter.set(field, range) : this.filter.delete(field);
1868
+ this.detectFilter();
1869
+ }
1870
+ onBooleanFilterChanged(field, value) {
1871
+ value === undefined ? this.filter.delete(field) : this.filter.set(field, value);
1872
+ this.detectFilter();
1873
+ }
1874
+ removeFilter(field) {
1875
+ this.filter.delete(field);
1876
+ this.detectFilter();
1877
+ }
1878
+ clearFilters() {
1879
+ this.filter.clear();
1880
+ this.detectFilter();
1881
+ }
1882
+ detectFilter() {
1883
+ this.filter = new Map(this.filter);
1884
+ this.filterChange.emit(this.filter);
1885
+ }
1886
+ onFilterChanged(field, value) {
1887
+ if (!value) {
1888
+ this.filter.delete(field);
1889
+ }
1890
+ else {
1891
+ this.filter.set(field, value);
1892
+ }
1893
+ this.detectFilter();
1894
+ }
1895
+ }
1896
+ MetaFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterComponent, deps: [{ token: FieldTypePipe }], target: i0.ɵɵFactoryTarget.Component });
1897
+ MetaFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MetaFilterComponent, selector: "biit-meta-filter", inputs: { _metadata: ["metadata", "_metadata"] }, outputs: { filterChange: "filterChange" }, providers: [FieldTypePipe], ngImport: i0, template: "<div class=\"filter-view\" id=\"metadata-filter\">\n <div class=\"filter-container\">\n <div class=\"filter-clear\">\n <div *ngIf=\"filter.size\">\n <div>\n Clear All\n </div>\n <div>\n <button biit-icon\n [icon]=\"'cross_wide'\"\n (click)=\"clearFilters()\"\n ></button>\n </div>\n </div>\n </div>\n <div class=\"filter-search\">\n <biit-input-text\n placeholder=\"search\"\n icon=\"search\"\n [(ngModel)]=\"search\"\n />\n </div>\n <div class=\"filter-sections\">\n <div *ngFor=\"let field of (metadata.fields | filterBy: search)\" class=\"filter-section\">\n <div class=\"filter-title\" (click)=\"onFieldClick(field)\">\n <div>\n <div>{{field}}</div>\n <div class=\"align-content-center\" *ngIf=\"(field | fieldType: metadata.data) === FieldType.BOOLEAN\">\n <biit-boolean-filter\n [filter]=\"filter.get(field)\"\n (filterChange)=\"onBooleanFilterChanged(field, $event)\"/>\n </div>\n </div>\n <div *ngIf=\"filter | has : field\" class=\"filter-remove\">\n <button biit-icon\n [icon]=\"'cross_wide'\"\n (click)=\"$event.stopImmediatePropagation(); removeFilter(field)\"\n ></button>\n </div>\n </div>\n <div *ngIf=\"field === selectedField && (field | fieldType: metadata.data) !== FieldType.BOOLEAN\"\n class=\"filter-body\"\n [ngSwitch]=\"field | fieldType: metadata.data\"\n >\n <biit-bar-range *ngSwitchCase=\"FieldType.NUMBER\"\n [field]=\"field\"\n [items]=\"metadata.data\"\n [range]=\"filter.get(field)\"\n (rangeChange)=\"onRangeChanged(field, $event)\"/>\n <biit-date-filter-selector *ngSwitchCase=\"FieldType.DATE\"\n [field]=\"field\"\n [items]=\"metadata.data\"\n [range]=\"filter.get(field)\"\n (rangeChange)=\"onDateRangeChanged(field, $event)\"/>\n <biit-text-filter *ngSwitchCase=\"FieldType.STRING\"\n [filter]=\"filter.get(field)\"\n (filterChange)=\"onFilterChanged(field, $event)\"/>\n <div *ngSwitchDefault>Unknown</div>\n </div>\n </div>\n </div>\n\n </div>\n</div>\n", styles: [".filter-view{font-size:1em;transition:.3s;height:100%;width:100%;display:block}.filter-container{height:100%;display:flex;flex-direction:column;background-color:#fff}.filter-sections{overflow-y:auto;height:100%;padding:0 1em}.filter-clear{margin:1em;min-height:2.25em;align-self:end;&>div:first-child{display:inline-flex;align-items:center}}.filter-search{margin:0 1em}.filter-title{display:flex;flex-direction:row;&>div:first-child{flex-grow:1;display:flex;flex-direction:row;gap:1em}}.filter-remove{align-content:center;&>biit-icon{display:block;width:1em;height:1em}}.filter-body{margin:.5em 0}.filter-section{cursor:pointer;-webkit-user-select:none;user-select:none;&>div:first-child{min-height:2.25em;align-items:center;font-size:1em}border-bottom:1px solid #262626}biit-date-filter-selector{font-size:1em}::ng-deep .filter-search>biit-input-text>.biit-input{min-width:unset!important}.align-content-center{align-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2$2.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: BarRangeComponent, selector: "biit-bar-range", inputs: ["items", "field", "range"], outputs: ["rangeChange"] }, { kind: "component", type: DateFilterSelectorComponent, selector: "biit-date-filter-selector", inputs: ["items", "field", "range"], outputs: ["rangeChange"] }, { kind: "component", type: TextFilterComponent, selector: "biit-text-filter", inputs: ["filter"], outputs: ["filterChange"] }, { kind: "component", type: BooleanFilterComponent, selector: "biit-boolean-filter", inputs: ["filter"], outputs: ["filterChange"] }, { kind: "component", type: i4.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "pipe", type: FilterByPipe, name: "filterBy" }, { kind: "pipe", type: FieldTypePipe, name: "fieldType" }, { kind: "pipe", type: HasPipe, name: "has" }] });
1898
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterComponent, decorators: [{
1899
+ type: Component,
1900
+ args: [{ selector: 'biit-meta-filter', providers: [FieldTypePipe], template: "<div class=\"filter-view\" id=\"metadata-filter\">\n <div class=\"filter-container\">\n <div class=\"filter-clear\">\n <div *ngIf=\"filter.size\">\n <div>\n Clear All\n </div>\n <div>\n <button biit-icon\n [icon]=\"'cross_wide'\"\n (click)=\"clearFilters()\"\n ></button>\n </div>\n </div>\n </div>\n <div class=\"filter-search\">\n <biit-input-text\n placeholder=\"search\"\n icon=\"search\"\n [(ngModel)]=\"search\"\n />\n </div>\n <div class=\"filter-sections\">\n <div *ngFor=\"let field of (metadata.fields | filterBy: search)\" class=\"filter-section\">\n <div class=\"filter-title\" (click)=\"onFieldClick(field)\">\n <div>\n <div>{{field}}</div>\n <div class=\"align-content-center\" *ngIf=\"(field | fieldType: metadata.data) === FieldType.BOOLEAN\">\n <biit-boolean-filter\n [filter]=\"filter.get(field)\"\n (filterChange)=\"onBooleanFilterChanged(field, $event)\"/>\n </div>\n </div>\n <div *ngIf=\"filter | has : field\" class=\"filter-remove\">\n <button biit-icon\n [icon]=\"'cross_wide'\"\n (click)=\"$event.stopImmediatePropagation(); removeFilter(field)\"\n ></button>\n </div>\n </div>\n <div *ngIf=\"field === selectedField && (field | fieldType: metadata.data) !== FieldType.BOOLEAN\"\n class=\"filter-body\"\n [ngSwitch]=\"field | fieldType: metadata.data\"\n >\n <biit-bar-range *ngSwitchCase=\"FieldType.NUMBER\"\n [field]=\"field\"\n [items]=\"metadata.data\"\n [range]=\"filter.get(field)\"\n (rangeChange)=\"onRangeChanged(field, $event)\"/>\n <biit-date-filter-selector *ngSwitchCase=\"FieldType.DATE\"\n [field]=\"field\"\n [items]=\"metadata.data\"\n [range]=\"filter.get(field)\"\n (rangeChange)=\"onDateRangeChanged(field, $event)\"/>\n <biit-text-filter *ngSwitchCase=\"FieldType.STRING\"\n [filter]=\"filter.get(field)\"\n (filterChange)=\"onFilterChanged(field, $event)\"/>\n <div *ngSwitchDefault>Unknown</div>\n </div>\n </div>\n </div>\n\n </div>\n</div>\n", styles: [".filter-view{font-size:1em;transition:.3s;height:100%;width:100%;display:block}.filter-container{height:100%;display:flex;flex-direction:column;background-color:#fff}.filter-sections{overflow-y:auto;height:100%;padding:0 1em}.filter-clear{margin:1em;min-height:2.25em;align-self:end;&>div:first-child{display:inline-flex;align-items:center}}.filter-search{margin:0 1em}.filter-title{display:flex;flex-direction:row;&>div:first-child{flex-grow:1;display:flex;flex-direction:row;gap:1em}}.filter-remove{align-content:center;&>biit-icon{display:block;width:1em;height:1em}}.filter-body{margin:.5em 0}.filter-section{cursor:pointer;-webkit-user-select:none;user-select:none;&>div:first-child{min-height:2.25em;align-items:center;font-size:1em}border-bottom:1px solid #262626}biit-date-filter-selector{font-size:1em}::ng-deep .filter-search>biit-input-text>.biit-input{min-width:unset!important}.align-content-center{align-content:center}\n"] }]
1901
+ }], ctorParameters: function () { return [{ type: FieldTypePipe }]; }, propDecorators: { _metadata: [{
1902
+ type: Input,
1903
+ args: ['metadata']
1904
+ }], filterChange: [{
1905
+ type: Output
1906
+ }] } });
1907
+
1908
+ class AutoFormatPipe {
1909
+ transform(value) {
1910
+ if (value instanceof Date) {
1911
+ return new Intl.DateTimeFormat(navigator.language, { dateStyle: "short", timeStyle: "short" }).format(value);
1912
+ }
1913
+ return value;
1914
+ }
1915
+ }
1916
+ AutoFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AutoFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1917
+ AutoFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AutoFormatPipe, name: "autoFormat" });
1918
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AutoFormatPipe, decorators: [{
1919
+ type: Pipe,
1920
+ args: [{
1921
+ name: 'autoFormat'
1922
+ }]
1923
+ }] });
1924
+
1925
+ class RemoveFromArrayPipe {
1926
+ transform(value, remove) {
1927
+ return value.filter(v => !remove.includes(v));
1928
+ }
1929
+ }
1930
+ RemoveFromArrayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveFromArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1931
+ RemoveFromArrayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: RemoveFromArrayPipe, name: "removeFromArray" });
1932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveFromArrayPipe, decorators: [{
1933
+ type: Pipe,
1934
+ args: [{
1935
+ name: 'removeFromArray'
1936
+ }]
1937
+ }] });
1938
+
1939
+ class PrintfPipe {
1940
+ transform(value) {
1941
+ if (typeof value === 'function') {
1942
+ return value();
1943
+ }
1944
+ return value;
1945
+ }
1946
+ }
1947
+ PrintfPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PrintfPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1948
+ PrintfPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: PrintfPipe, name: "printf" });
1949
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PrintfPipe, decorators: [{
1950
+ type: Pipe,
1951
+ args: [{
1952
+ name: 'printf'
1953
+ }]
1954
+ }] });
1955
+
1956
+ class MetadataViewerComponent {
1957
+ constructor() {
1958
+ this.onClose = new EventEmitter();
1959
+ }
1960
+ set data(data) {
1961
+ this._data = data;
1962
+ }
1963
+ close() {
1964
+ this.onClose.emit();
1965
+ }
1966
+ }
1967
+ MetadataViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1968
+ MetadataViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MetadataViewerComponent, selector: "biit-metadata-viewer", inputs: { data: "data", fields: "fields", titleField: "titleField" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"metadata-view\" id=\"metaviewer-data\">\n <div class=\"metadata-header\" id=\"metaviewer-header\" [class.justify-center]=\"!titleField\">\n <div class=\"data-icon\">\n <biit-meta-element id=\"metaviewer-element\"\n [styles]=\"_data.styles\"\n [classes]=\"_data.classes\"\n [icon]=\"_data.icon\"\n >\n <div *ngIf=\"_data.custom\" [innerHTML]=\"_data.custom.innerHTML\"></div>\n </biit-meta-element>\n </div>\n <div *ngIf=\"titleField\" class=\"data-title\" id=\"title\" [tooltip]=\"_data.data[titleField] | printf\">\n {{_data.data[titleField] | printf}}\n </div>\n <div>\n <button biit-icon id=\"close-button\"\n [icon]=\"'cross_wide'\"\n (click)=\"close()\"\n ></button>\n </div>\n </div>\n <div class=\"metadata-info\" id=\"metaviewer-info\">\n <div *ngFor=\"let field of (fields | removeFromArray: [titleField]) \" class=\"field\">\n <div class=\"metadata-info-row\" id=\"metaviewer-info-row\">\n <div class=\"field-value\" id=\"field\">\n <biit-input-text\n [placeholder]=\"field\"\n [ngModel]=\"_data.data[field] | autoFormat\"\n [readonly]=\"true\"\n />\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".metadata-view{font-size:1em;transition:.3s;display:flex;height:100%;flex-direction:column;background-color:#fff}.metadata-header{margin:1em 1em 0;display:flex;align-items:center;&.justify-center>.data-icon{width:2em;height:2em}&:not(.justify-center)>.data-icon{width:1em;height:1em}:last-child {flex-grow: 1; direction: rtl;}}.data-icon{min-width:1em;min-height:1em}.data-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-content:center;margin-left:1em}.justify-center{justify-content:center}.metadata-info{overflow-y:auto;height:100%;margin:1em}.field{padding-top:1.5em}.metadata-info-row{font-size:.8em;display:flex;flex-direction:column;gap:.5em;padding:.1em .2em;:not(:first-child) {padding-left: .5em;}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MetaElementComponent, selector: "biit-meta-element", inputs: ["icon", "styles", "classes"] }, { kind: "directive", type: i3.BiitTooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "ignorePadding"] }, { kind: "component", type: i2$2.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.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: "pipe", type: AutoFormatPipe, name: "autoFormat" }, { kind: "pipe", type: RemoveFromArrayPipe, name: "removeFromArray" }, { kind: "pipe", type: PrintfPipe, name: "printf" }] });
1969
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerComponent, decorators: [{
1970
+ type: Component,
1971
+ args: [{ selector: 'biit-metadata-viewer', template: "<div class=\"metadata-view\" id=\"metaviewer-data\">\n <div class=\"metadata-header\" id=\"metaviewer-header\" [class.justify-center]=\"!titleField\">\n <div class=\"data-icon\">\n <biit-meta-element id=\"metaviewer-element\"\n [styles]=\"_data.styles\"\n [classes]=\"_data.classes\"\n [icon]=\"_data.icon\"\n >\n <div *ngIf=\"_data.custom\" [innerHTML]=\"_data.custom.innerHTML\"></div>\n </biit-meta-element>\n </div>\n <div *ngIf=\"titleField\" class=\"data-title\" id=\"title\" [tooltip]=\"_data.data[titleField] | printf\">\n {{_data.data[titleField] | printf}}\n </div>\n <div>\n <button biit-icon id=\"close-button\"\n [icon]=\"'cross_wide'\"\n (click)=\"close()\"\n ></button>\n </div>\n </div>\n <div class=\"metadata-info\" id=\"metaviewer-info\">\n <div *ngFor=\"let field of (fields | removeFromArray: [titleField]) \" class=\"field\">\n <div class=\"metadata-info-row\" id=\"metaviewer-info-row\">\n <div class=\"field-value\" id=\"field\">\n <biit-input-text\n [placeholder]=\"field\"\n [ngModel]=\"_data.data[field] | autoFormat\"\n [readonly]=\"true\"\n />\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".metadata-view{font-size:1em;transition:.3s;display:flex;height:100%;flex-direction:column;background-color:#fff}.metadata-header{margin:1em 1em 0;display:flex;align-items:center;&.justify-center>.data-icon{width:2em;height:2em}&:not(.justify-center)>.data-icon{width:1em;height:1em}:last-child {flex-grow: 1; direction: rtl;}}.data-icon{min-width:1em;min-height:1em}.data-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-content:center;margin-left:1em}.justify-center{justify-content:center}.metadata-info{overflow-y:auto;height:100%;margin:1em}.field{padding-top:1.5em}.metadata-info-row{font-size:.8em;display:flex;flex-direction:column;gap:.5em;padding:.1em .2em;:not(:first-child) {padding-left: .5em;}}\n"] }]
1972
+ }], propDecorators: { data: [{
1973
+ type: Input
1974
+ }], fields: [{
1975
+ type: Input
1976
+ }], titleField: [{
1977
+ type: Input
1978
+ }], onClose: [{
1979
+ type: Output
1980
+ }] } });
1981
+
1982
+ class TimelineViewerChartData {
1983
+ constructor(x, y, tooltipHeader, tooltipInfo, color, meta) {
1984
+ this.tooltipInfo = [];
1985
+ this.x = x.getTime();
1986
+ this.y = y;
1987
+ this.tooltipHeader = tooltipHeader;
1988
+ this.tooltipInfo = tooltipInfo;
1989
+ if (color)
1990
+ this.color = color;
1991
+ if (meta)
1992
+ this.meta = meta;
1993
+ }
1994
+ static generate(data, options) {
1995
+ const chartData = [];
1996
+ data.forEach(value => {
1997
+ const datetime = new Date(value[options.date]).setHours(0, 0, 0, 0);
1998
+ const count = chartData.filter(d => d.x == datetime).length;
1999
+ chartData.push(new TimelineViewerChartData(new Date(datetime), count + 1, value[options.tooltipHeader], options.tooltipInfo, options.color ? value[options.color] : undefined, value));
2000
+ });
2001
+ return chartData;
2002
+ }
2003
+ }
2004
+
2005
+ class TimelineViewerChartComponent {
2006
+ constructor(datePipe) {
2007
+ this.datePipe = datePipe;
2008
+ this.data = [];
2009
+ this.onItemClick = new EventEmitter();
2010
+ this.pageNumber = 1;
2011
+ }
2012
+ ngOnInit() {
2013
+ var _a;
2014
+ if (!((_a = this.data) === null || _a === void 0 ? void 0 : _a.length) || !this.options) {
2015
+ return;
2016
+ }
2017
+ this.createChartOptions();
2018
+ }
2019
+ ngOnChanges() {
2020
+ var _a;
2021
+ if (!((_a = this.data) === null || _a === void 0 ? void 0 : _a.length) || !this.options) {
2022
+ return;
2023
+ }
2024
+ this.createChartOptions();
2025
+ }
2026
+ createChartOptions() {
2027
+ const series = TimelineViewerChartData.generate(this.data, this.options);
2028
+ const timeValues = series.sort((a, b) => a.x - b.x);
2029
+ const max = timeValues[timeValues.length - 1].x;
2030
+ const min = subMonths(timeValues[timeValues.length - 1].x, 1).getTime();
2031
+ this.areaChartOptions = {
2032
+ dataLabels: {
2033
+ enabled: false
2034
+ },
2035
+ fill: {
2036
+ opacity: 1,
2037
+ type: "solid"
2038
+ },
2039
+ xaxis: {
2040
+ type: "datetime",
2041
+ labels: {
2042
+ style: {
2043
+ fontSize: '16px',
2044
+ fontFamily: 'Montserrat',
2045
+ colors: ["262626"]
2046
+ }
2047
+ },
2048
+ },
2049
+ stroke: {
2050
+ width: 0,
2051
+ curve: "smooth"
2052
+ },
2053
+ series: [
2054
+ {
2055
+ name: 'series',
2056
+ data: series !== null && series !== void 0 ? series : []
2057
+ }
2058
+ ],
2059
+ chart: {
2060
+ id: "chartyear",
2061
+ type: "bar",
2062
+ height: 160,
2063
+ background: "white",
2064
+ stacked: true,
2065
+ toolbar: {
2066
+ autoSelected: "selection"
2067
+ },
2068
+ brush: {
2069
+ enabled: true,
2070
+ target: "scatterchart"
2071
+ },
2072
+ selection: {
2073
+ enabled: true,
2074
+ xaxis: {
2075
+ min: min,
2076
+ max: max
2077
+ }
2078
+ }
2079
+ },
2080
+ colors: ["#F20D5E"],
2081
+ yaxis: {
2082
+ show: false,
2083
+ tickAmount: 3
2084
+ }
2085
+ };
2086
+ this.scatterChartOptions = {
2087
+ dataLabels: {
2088
+ enabled: false
2089
+ },
2090
+ fill: {
2091
+ opacity: 1,
2092
+ type: "solid"
2093
+ },
2094
+ xaxis: {
2095
+ type: "datetime",
2096
+ labels: {
2097
+ style: {
2098
+ fontSize: '16px',
2099
+ fontFamily: 'Montserrat',
2100
+ colors: ["262626"]
2101
+ }
2102
+ },
2103
+ tooltip: {
2104
+ enabled: false
2105
+ }
2106
+ },
2107
+ yaxis: {
2108
+ labels: {
2109
+ style: {
2110
+ fontSize: '16px',
2111
+ fontFamily: 'Montserrat',
2112
+ colors: ["262626"]
2113
+ },
2114
+ offsetX: -6
2115
+ },
2116
+ },
2117
+ series: [
2118
+ {
2119
+ name: 'series',
2120
+ data: series !== null && series !== void 0 ? series : []
2121
+ }
2122
+ ],
2123
+ chart: {
2124
+ id: 'scatterchart',
2125
+ height: '100%',
2126
+ type: "scatter",
2127
+ background: "white",
2128
+ toolbar: {
2129
+ show: false,
2130
+ autoSelected: "pan"
2131
+ },
2132
+ events: {
2133
+ dataPointSelection: (e, chart, options) => {
2134
+ this.onItemClick.emit(options.w.globals.initialSeries[options.seriesIndex].data[options.dataPointIndex]);
2135
+ }
2136
+ }
2137
+ },
2138
+ colors: ["#7BD39A"],
2139
+ legend: {
2140
+ position: "top",
2141
+ horizontalAlign: "center"
2142
+ },
2143
+ markers: {
2144
+ width: 5,
2145
+ shape: "square",
2146
+ strokeWidth: 5,
2147
+ strokeColors: "#000000",
2148
+ strokeOpacity: 1,
2149
+ colors: ["#FFFFFF"],
2150
+ discrete: series.map((value, dataPointIndex) => {
2151
+ var _a;
2152
+ return ({
2153
+ seriesIndex: 0,
2154
+ dataPointIndex: dataPointIndex,
2155
+ fillColor: '#fff',
2156
+ strokeColor: (_a = value.color) !== null && _a !== void 0 ? _a : '#262626',
2157
+ size: 7
2158
+ });
2159
+ })
2160
+ },
2161
+ tooltip: {
2162
+ custom: ({ series, seriesIndex, dataPointIndex, w }) => {
2163
+ const data = w.globals.initialSeries[seriesIndex].data[dataPointIndex];
2164
+ let tooltip = `<div class="tooltip-base">` +
2165
+ ` <div class="tooltip-header">${data.tooltipHeader}</div>` +
2166
+ ` <div class="tooltip-content">`;
2167
+ this.options.tooltipInfo.forEach(info => {
2168
+ if (data.meta[info.value]) {
2169
+ tooltip +=
2170
+ ` <div class="tooltip-data">` +
2171
+ ` <a>${info.title}: </a>` +
2172
+ ` <a style="font-weight: 500">${data.meta[info.value]}</a>` +
2173
+ ` </div>`;
2174
+ }
2175
+ });
2176
+ tooltip +=
2177
+ ` <div class="tooltip-data">` +
2178
+ ` <a style="font-weight: 500">${this.datePipe.transform(w.globals.seriesX[seriesIndex][dataPointIndex], 'dd/MM/yyyy')}</a>` +
2179
+ ` </div>`;
2180
+ tooltip +=
2181
+ ' </div>' +
2182
+ '</div>';
2183
+ return tooltip;
2184
+ }
2185
+ },
2186
+ };
2187
+ }
2188
+ getPngBlob() {
2189
+ return __awaiter(this, void 0, void 0, function* () {
2190
+ const base64 = yield this.apexChart.dataURI();
2191
+ const decode = yield fetch(base64.imgURI);
2192
+ return decode.blob();
2193
+ });
2194
+ }
2195
+ }
2196
+ TimelineViewerChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineViewerChartComponent, deps: [{ token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Component });
2197
+ TimelineViewerChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TimelineViewerChartComponent, selector: "biit-timeline-viewer-chart", inputs: { data: "data", options: "options" }, outputs: { onItemClick: "onItemClick" }, viewQueries: [{ propertyName: "apexChart", first: true, predicate: ["apexChart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"bar-chart\"\n>\n <apx-chart *ngIf=\"scatterChartOptions\"\n [dataLabels]=\"scatterChartOptions.dataLabels\"\n [fill]=\"scatterChartOptions.fill\"\n [xaxis]=\"scatterChartOptions.xaxis\"\n [yaxis]=\"scatterChartOptions.yaxis\"\n [stroke]=\"scatterChartOptions.stroke\"\n [series]=\"scatterChartOptions.series\"\n [chart]=\"scatterChartOptions.chart\"\n [colors]=\"scatterChartOptions.colors\"\n [legend]=\"scatterChartOptions.legend\"\n [markers]=\"scatterChartOptions.markers\"\n [tooltip]=\"scatterChartOptions.tooltip\"\n style=\"display: block; width: 100%; height: 100%\"\n #apexChart\n ></apx-chart>\n <apx-chart *ngIf=\"areaChartOptions\"\n [dataLabels]=\"areaChartOptions.dataLabels\"\n [fill]=\"areaChartOptions.fill\"\n [xaxis]=\"areaChartOptions.xaxis\"\n [stroke]=\"areaChartOptions.stroke\"\n [series]=\"areaChartOptions.series\"\n [chart]=\"areaChartOptions.chart\"\n [colors]=\"areaChartOptions.colors\"\n [yaxis]=\"areaChartOptions.yaxis\"\n style=\"display: block; width: 100%\"\n ></apx-chart>\n</div>\n", styles: ["#bar-chart{display:flex;flex-direction:column;height:100%;width:100%;transition:1s ease-in-out}#bar-chart ::ng-deep .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#bar-chart ::ng-deep .apexcharts-tooltip *{box-sizing:border-box}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-header{background:#262626;color:#fff;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-series path:hover{box-sizing:border-box;border:.15rem solid #262626}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ChartComponent, selector: "apx-chart", inputs: ["chart", "annotations", "colors", "dataLabels", "series", "stroke", "labels", "legend", "markers", "noData", "fill", "tooltip", "plotOptions", "responsive", "xaxis", "yaxis", "forecastDataPoints", "grid", "states", "title", "subtitle", "theme", "autoUpdateSeries"] }] });
2198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineViewerChartComponent, decorators: [{
2199
+ type: Component,
2200
+ args: [{ selector: 'biit-timeline-viewer-chart', template: "<div id=\"bar-chart\"\n>\n <apx-chart *ngIf=\"scatterChartOptions\"\n [dataLabels]=\"scatterChartOptions.dataLabels\"\n [fill]=\"scatterChartOptions.fill\"\n [xaxis]=\"scatterChartOptions.xaxis\"\n [yaxis]=\"scatterChartOptions.yaxis\"\n [stroke]=\"scatterChartOptions.stroke\"\n [series]=\"scatterChartOptions.series\"\n [chart]=\"scatterChartOptions.chart\"\n [colors]=\"scatterChartOptions.colors\"\n [legend]=\"scatterChartOptions.legend\"\n [markers]=\"scatterChartOptions.markers\"\n [tooltip]=\"scatterChartOptions.tooltip\"\n style=\"display: block; width: 100%; height: 100%\"\n #apexChart\n ></apx-chart>\n <apx-chart *ngIf=\"areaChartOptions\"\n [dataLabels]=\"areaChartOptions.dataLabels\"\n [fill]=\"areaChartOptions.fill\"\n [xaxis]=\"areaChartOptions.xaxis\"\n [stroke]=\"areaChartOptions.stroke\"\n [series]=\"areaChartOptions.series\"\n [chart]=\"areaChartOptions.chart\"\n [colors]=\"areaChartOptions.colors\"\n [yaxis]=\"areaChartOptions.yaxis\"\n style=\"display: block; width: 100%\"\n ></apx-chart>\n</div>\n", styles: ["#bar-chart{display:flex;flex-direction:column;height:100%;width:100%;transition:1s ease-in-out}#bar-chart ::ng-deep .apexcharts-tooltip{border:1px solid #262626;border-radius:0;box-shadow:none;font-family:Montserrat;font-size:.7rem;background:white}#bar-chart ::ng-deep .apexcharts-tooltip *{box-sizing:border-box}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-header{background:#262626;color:#fff;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content{display:flex;flex-direction:column;row-gap:.2rem;padding:.45rem .7rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data{display:flex;align-items:center}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-square{height:.5rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-tooltip .tooltip-content .tooltip-data .tooltip-line{height:.1rem;width:.5rem;margin-right:.45rem}#bar-chart ::ng-deep .apexcharts-series path:hover{box-sizing:border-box;border:.15rem solid #262626}\n"] }]
2201
+ }], ctorParameters: function () { return [{ type: i1.DatePipe }]; }, propDecorators: { apexChart: [{
2202
+ type: ViewChild,
2203
+ args: ['apexChart']
2204
+ }], data: [{
2205
+ type: Input
2206
+ }], options: [{
2207
+ type: Input
2208
+ }], onItemClick: [{
2209
+ type: Output
2210
+ }] } });
2211
+
2212
+ class ExtractDataPipe {
2213
+ transform(metaViewData) {
2214
+ return metaViewData.map((element) => element.data) || [];
2215
+ }
2216
+ }
2217
+ ExtractDataPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExtractDataPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2218
+ ExtractDataPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ExtractDataPipe, name: "extractData" });
2219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExtractDataPipe, decorators: [{
2220
+ type: Pipe,
2221
+ args: [{
2222
+ name: 'extractData'
2223
+ }]
2224
+ }] });
2225
+
2226
+ class MetaViewChartComponent {
2227
+ set _data(data) {
2228
+ this.data = data;
2229
+ if (data) {
2230
+ this.data.data.forEach(element => {
2231
+ {
2232
+ element.data['_id'] = v4();
2233
+ element.data['_color'] = element.statusColor;
2234
+ }
2235
+ });
2236
+ this.cdRef.detectChanges();
2237
+ this.timelineOptions = {
2238
+ date: data.timelineDateField,
2239
+ color: '_color',
2240
+ tooltipHeader: data.titleField,
2241
+ tooltipInfo: []
2242
+ };
2243
+ this.elements = this.data.data;
2244
+ this.onFilter(null);
2245
+ }
2246
+ }
2247
+ constructor(cdRef) {
2248
+ this.cdRef = cdRef;
2249
+ this.view = View.GRID;
2250
+ this.selected = new EventEmitter();
2251
+ this.unselected = new EventEmitter();
2252
+ this.View = View;
2253
+ this.fields = ['name', 'date', 'v1', 'v2', 'v3', 'b1'];
2254
+ this.elements = [];
2255
+ }
2256
+ onElementClick(element) {
2257
+ this.selectedElement = element;
2258
+ this.selected.emit(element);
2259
+ }
2260
+ unselectElement() {
2261
+ this.selectedElement = undefined;
2262
+ this.unselected.emit();
2263
+ this.cdRef.detectChanges();
2264
+ }
2265
+ onTimeLineElementClick(element) {
2266
+ this.selectedElement = this.data.data.find(e => e.data['_id'] === element.meta['_id']);
2267
+ this.selected.emit(this.selectedElement);
2268
+ this.cdRef.detectChanges();
2269
+ }
2270
+ onFilter(filters) {
2271
+ if (this.delayedFilter != null) {
2272
+ clearTimeout(this.delayedFilter);
2273
+ }
2274
+ /* This avoids to load all data if it comes from an update */
2275
+ if (filters) {
2276
+ this.latestFilter = filters;
2277
+ this.delayedFilter = setTimeout(() => {
2278
+ this.filter(filters);
2279
+ this.delayedFilter = null;
2280
+ }, MetaViewChartComponent.FILTER_DELAY);
2281
+ }
2282
+ else {
2283
+ this.filter(this.latestFilter);
2284
+ }
2285
+ }
2286
+ filter(filters) {
2287
+ if (!filters || filters.size === 0) {
2288
+ this.elements = this.data.data;
2289
+ return;
2290
+ }
2291
+ this.elements = this.data.data.filter((element) => {
2292
+ return !Array.from(filters.entries()).map(filter => this.resolveFilter(filter[1], element.data[filter[0]])).some(result => !result);
2293
+ });
2294
+ }
2295
+ resolveFilter(restriction, value) {
2296
+ if (Array.isArray(restriction) && !restriction.some(Array.isArray) && restriction.length === 2) {
2297
+ return value >= restriction[0] && value <= restriction[1];
2298
+ }
2299
+ if (Array.isArray(restriction) && restriction.every(Array.isArray)) {
2300
+ if (value instanceof Date) {
2301
+ return restriction.some(range => range[0].getTime() <= value.getTime() && value.getTime() <= range[1].getTime());
2302
+ }
2303
+ }
2304
+ const regex = new RegExp(restriction, 'i');
2305
+ return regex.test(value);
2306
+ }
2307
+ }
2308
+ MetaViewChartComponent.FILTER_DELAY = 500;
2309
+ MetaViewChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaViewChartComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2310
+ MetaViewChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MetaViewChartComponent, selector: "biit-meta-view-chart", inputs: { _data: ["data", "_data"], view: "view" }, outputs: { selected: "selected", unselected: "unselected" }, providers: [{
2311
+ provide: TRANSLOCO_SCOPE,
2312
+ useValue: { scope: 'wizardry-theme/chart', alias: "charts" }
2313
+ }], ngImport: i0, template: "<div class=\"meta-view-chart-board\" id=\"metaviewer-chart\" *transloco=\"let t\">\n <div class=\"meta-view-column\">\n <biit-meta-filter [metadata]=\"data\" (filterChange)=\"onFilter($event)\"/>\n </div>\n <biit-meta-board id=\"metaviewer-board\" *ngIf=\"view === View.GRID\"\n [data]=\"elements\"\n [selected]=\"selectedElement\"\n (elementClick)=\"onElementClick($event)\"\n />\n <biit-timeline-viewer-chart id=\"metaviewer-timeline\" *ngIf=\"view === View.TIMELINE && timelineOptions && timelineOptions.date\"\n [data]=\"elements | extractData\"\n [options]=\"timelineOptions\"\n (onItemClick)=\"onTimeLineElementClick($event)\"\n style=\"overflow: hidden\"\n />\n <div class=\"error-view\" id=\"metaviewer-error\" *ngIf=\"view === View.TIMELINE && !timelineOptions?.date\">\n <div>\n <biit-icon name=\"exclamation\" style=\"display:block; width: 1rem;\" />\n </div>\n <div>{{ t('charts.configuration-not-meets-requirements') }}</div>\n </div>\n <div class=\"meta-view-column rtl\" id=\"metadata-viewer\" *ngIf=\"selectedElement\" @fadeInOut>\n <biit-metadata-viewer class=\"ltr\"\n [data]=\"selectedElement\"\n [fields]=\"data.fields\"\n [titleField]=\"data.titleField\"\n (onClose)=\"unselectElement()\"/>\n </div>\n</div>\n", styles: ["biit-meta-board{display:block;width:100%;height:100%}.meta-view-chart-board{display:flex;flex-direction:row;gap:1em;height:100%;transition:transform .3s ease-in-out;&>:not(:nth-child(2)){flex:0 1 auto}&>:nth-child(2){flex:1}}.meta-view-column{min-width:14em;max-width:23em;width:18em;flex:0 1 auto;resize:horizontal;overflow:auto;border:3px solid #262626}.rtl{direction:rtl}.ltr{direction:ltr}.padding-1{padding:.1em}.error-view{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MetaBoardComponent, selector: "biit-meta-board", inputs: ["data", "selected"], outputs: ["elementClick"] }, { kind: "component", type: MetaFilterComponent, selector: "biit-meta-filter", inputs: ["metadata"], outputs: ["filterChange"] }, { kind: "component", type: MetadataViewerComponent, selector: "biit-metadata-viewer", inputs: ["data", "fields", "titleField"], outputs: ["onClose"] }, { kind: "component", type: TimelineViewerChartComponent, selector: "biit-timeline-viewer-chart", inputs: ["data", "options"], outputs: ["onItemClick"] }, { kind: "component", type: i1$1.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "directive", type: i7.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "pipe", type: ExtractDataPipe, name: "extractData" }], animations: [
2314
+ trigger('fadeInOut', [
2315
+ transition(':enter', [
2316
+ style({ opacity: 0 }),
2317
+ animate('300ms ease-in', style({ opacity: 1 }))
2318
+ ]),
2319
+ transition(':leave', [
2320
+ style({ opacity: 1 }),
2321
+ animate('300ms ease-out', style({ opacity: 0 }))
2322
+ ])
2323
+ ])
2324
+ ], encapsulation: i0.ViewEncapsulation.None });
2325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaViewChartComponent, decorators: [{
2326
+ type: Component,
2327
+ args: [{ selector: 'biit-meta-view-chart', encapsulation: ViewEncapsulation.None, providers: [{
2328
+ provide: TRANSLOCO_SCOPE,
2329
+ useValue: { scope: 'wizardry-theme/chart', alias: "charts" }
2330
+ }], animations: [
2331
+ trigger('fadeInOut', [
2332
+ transition(':enter', [
2333
+ style({ opacity: 0 }),
2334
+ animate('300ms ease-in', style({ opacity: 1 }))
2335
+ ]),
2336
+ transition(':leave', [
2337
+ style({ opacity: 1 }),
2338
+ animate('300ms ease-out', style({ opacity: 0 }))
2339
+ ])
2340
+ ])
2341
+ ], template: "<div class=\"meta-view-chart-board\" id=\"metaviewer-chart\" *transloco=\"let t\">\n <div class=\"meta-view-column\">\n <biit-meta-filter [metadata]=\"data\" (filterChange)=\"onFilter($event)\"/>\n </div>\n <biit-meta-board id=\"metaviewer-board\" *ngIf=\"view === View.GRID\"\n [data]=\"elements\"\n [selected]=\"selectedElement\"\n (elementClick)=\"onElementClick($event)\"\n />\n <biit-timeline-viewer-chart id=\"metaviewer-timeline\" *ngIf=\"view === View.TIMELINE && timelineOptions && timelineOptions.date\"\n [data]=\"elements | extractData\"\n [options]=\"timelineOptions\"\n (onItemClick)=\"onTimeLineElementClick($event)\"\n style=\"overflow: hidden\"\n />\n <div class=\"error-view\" id=\"metaviewer-error\" *ngIf=\"view === View.TIMELINE && !timelineOptions?.date\">\n <div>\n <biit-icon name=\"exclamation\" style=\"display:block; width: 1rem;\" />\n </div>\n <div>{{ t('charts.configuration-not-meets-requirements') }}</div>\n </div>\n <div class=\"meta-view-column rtl\" id=\"metadata-viewer\" *ngIf=\"selectedElement\" @fadeInOut>\n <biit-metadata-viewer class=\"ltr\"\n [data]=\"selectedElement\"\n [fields]=\"data.fields\"\n [titleField]=\"data.titleField\"\n (onClose)=\"unselectElement()\"/>\n </div>\n</div>\n", styles: ["biit-meta-board{display:block;width:100%;height:100%}.meta-view-chart-board{display:flex;flex-direction:row;gap:1em;height:100%;transition:transform .3s ease-in-out;&>:not(:nth-child(2)){flex:0 1 auto}&>:nth-child(2){flex:1}}.meta-view-column{min-width:14em;max-width:23em;width:18em;flex:0 1 auto;resize:horizontal;overflow:auto;border:3px solid #262626}.rtl{direction:rtl}.ltr{direction:ltr}.padding-1{padding:.1em}.error-view{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem}\n"] }]
2342
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { _data: [{
2343
+ type: Input,
2344
+ args: ['data']
2345
+ }], view: [{
2346
+ type: Input
2347
+ }], selected: [{
2348
+ type: Output
2349
+ }], unselected: [{
2350
+ type: Output
2351
+ }] } });
2352
+
2353
+ class PipesModule {
2354
+ }
2355
+ PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2356
+ PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: PipesModule, declarations: [SafeHtmlPipe,
2357
+ FilterByPipe,
2358
+ FieldTypePipe,
2359
+ MetaElementToBarChartPipe,
2360
+ MetaElementMaxValuePipe,
2361
+ MetaElementMinValuePipe,
2362
+ StepValueExtractorPipe,
2363
+ HasPipe,
2364
+ MonthNamePipe,
2365
+ AutoFormatPipe,
2366
+ RemoveFromArrayPipe,
2367
+ ExtractDataPipe,
2368
+ PrintfPipe], imports: [CommonModule], exports: [SafeHtmlPipe,
2369
+ FilterByPipe,
2370
+ FieldTypePipe,
2371
+ MetaElementToBarChartPipe,
2372
+ MetaElementMinValuePipe,
2373
+ MetaElementMaxValuePipe,
2374
+ StepValueExtractorPipe,
2375
+ HasPipe,
2376
+ MonthNamePipe,
2377
+ AutoFormatPipe,
2378
+ RemoveFromArrayPipe,
2379
+ ExtractDataPipe,
2380
+ PrintfPipe] });
2381
+ PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PipesModule, imports: [CommonModule] });
2382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PipesModule, decorators: [{
2383
+ type: NgModule,
2384
+ args: [{
2385
+ declarations: [
2386
+ SafeHtmlPipe,
2387
+ FilterByPipe,
2388
+ FieldTypePipe,
2389
+ MetaElementToBarChartPipe,
2390
+ MetaElementMaxValuePipe,
2391
+ MetaElementMinValuePipe,
2392
+ StepValueExtractorPipe,
2393
+ HasPipe,
2394
+ MonthNamePipe,
2395
+ AutoFormatPipe,
2396
+ RemoveFromArrayPipe,
2397
+ ExtractDataPipe,
2398
+ PrintfPipe
2399
+ ],
2400
+ exports: [
2401
+ SafeHtmlPipe,
2402
+ FilterByPipe,
2403
+ FieldTypePipe,
2404
+ MetaElementToBarChartPipe,
2405
+ MetaElementMinValuePipe,
2406
+ MetaElementMaxValuePipe,
2407
+ StepValueExtractorPipe,
2408
+ HasPipe,
2409
+ MonthNamePipe,
2410
+ AutoFormatPipe,
2411
+ RemoveFromArrayPipe,
2412
+ ExtractDataPipe,
2413
+ PrintfPipe
2414
+ ],
2415
+ imports: [
2416
+ CommonModule
2417
+ ]
2418
+ }]
2419
+ }] });
2420
+
2421
+ class MetaElementModule {
2422
+ }
2423
+ MetaElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaElementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2424
+ MetaElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MetaElementModule, declarations: [MetaElementComponent], imports: [CommonModule,
2425
+ PipesModule], exports: [MetaElementComponent] });
2426
+ MetaElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaElementModule, imports: [CommonModule,
2427
+ PipesModule] });
2428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaElementModule, decorators: [{
2429
+ type: NgModule,
2430
+ args: [{
2431
+ declarations: [
2432
+ MetaElementComponent,
2433
+ ],
2434
+ exports: [
2435
+ MetaElementComponent
2436
+ ],
2437
+ imports: [
2438
+ CommonModule,
2439
+ PipesModule
2440
+ ]
2441
+ }]
2442
+ }] });
2443
+
2444
+ class MetaBoardModule {
2445
+ }
2446
+ MetaBoardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaBoardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2447
+ MetaBoardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MetaBoardModule, declarations: [MetaBoardComponent], imports: [CommonModule,
2448
+ MetaElementModule], exports: [MetaBoardComponent] });
2449
+ MetaBoardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaBoardModule, imports: [CommonModule,
2450
+ MetaElementModule] });
2451
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaBoardModule, decorators: [{
2452
+ type: NgModule,
2453
+ args: [{
2454
+ declarations: [
2455
+ MetaBoardComponent
2456
+ ],
2457
+ exports: [
2458
+ MetaBoardComponent
2459
+ ],
2460
+ imports: [
2461
+ CommonModule,
2462
+ MetaElementModule
2463
+ ]
2464
+ }]
2465
+ }] });
2466
+
2467
+ class BarRangeModule {
2468
+ }
2469
+ BarRangeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BarRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2470
+ BarRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BarRangeModule, declarations: [BarRangeComponent], imports: [CommonModule,
2471
+ BarChartModule,
2472
+ PipesModule,
2473
+ BiitSliderModule,
2474
+ FormsModule,
2475
+ BiitSliderRangeModule], exports: [BarRangeComponent] });
2476
+ BarRangeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BarRangeModule, imports: [CommonModule,
2477
+ BarChartModule,
2478
+ PipesModule,
2479
+ BiitSliderModule,
2480
+ FormsModule,
2481
+ BiitSliderRangeModule] });
2482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BarRangeModule, decorators: [{
2483
+ type: NgModule,
2484
+ args: [{
2485
+ declarations: [
2486
+ BarRangeComponent
2487
+ ],
2488
+ exports: [
2489
+ BarRangeComponent
2490
+ ],
2491
+ imports: [
2492
+ CommonModule,
2493
+ BarChartModule,
2494
+ PipesModule,
2495
+ BiitSliderModule,
2496
+ FormsModule,
2497
+ BiitSliderRangeModule
2498
+ ]
2499
+ }]
2500
+ }] });
2501
+
2502
+ class DateFilterSelectorModule {
2503
+ }
2504
+ DateFilterSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2505
+ DateFilterSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DateFilterSelectorModule, declarations: [DateFilterSelectorComponent], imports: [CommonModule,
2506
+ BiitCheckboxModule,
2507
+ BiitIconModule,
2508
+ PipesModule,
2509
+ FormsModule], exports: [DateFilterSelectorComponent] });
2510
+ DateFilterSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterSelectorModule, imports: [CommonModule,
2511
+ BiitCheckboxModule,
2512
+ BiitIconModule,
2513
+ PipesModule,
2514
+ FormsModule] });
2515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterSelectorModule, decorators: [{
2516
+ type: NgModule,
2517
+ args: [{
2518
+ declarations: [
2519
+ DateFilterSelectorComponent
2520
+ ],
2521
+ exports: [
2522
+ DateFilterSelectorComponent
2523
+ ],
2524
+ imports: [
2525
+ CommonModule,
2526
+ BiitCheckboxModule,
2527
+ BiitIconModule,
2528
+ PipesModule,
2529
+ FormsModule
2530
+ ]
2531
+ }]
2532
+ }] });
2533
+
2534
+ class TextFilterModule {
2535
+ }
2536
+ TextFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2537
+ TextFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TextFilterModule, declarations: [TextFilterComponent], imports: [CommonModule,
2538
+ BiitInputTextModule,
2539
+ FormsModule], exports: [TextFilterComponent] });
2540
+ TextFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterModule, imports: [CommonModule,
2541
+ BiitInputTextModule,
2542
+ FormsModule] });
2543
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterModule, decorators: [{
2544
+ type: NgModule,
2545
+ args: [{
2546
+ declarations: [
2547
+ TextFilterComponent
2548
+ ],
2549
+ exports: [
2550
+ TextFilterComponent
2551
+ ],
2552
+ imports: [
2553
+ CommonModule,
2554
+ BiitInputTextModule,
2555
+ FormsModule
2556
+ ]
2557
+ }]
2558
+ }] });
2559
+
2560
+ class BooleanFilterModule {
2561
+ }
2562
+ BooleanFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BooleanFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2563
+ BooleanFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BooleanFilterModule, declarations: [BooleanFilterComponent], imports: [CommonModule,
2564
+ BiitToggleModule,
2565
+ FormsModule,
2566
+ BiitTernaryToggleModule], exports: [BooleanFilterComponent] });
2567
+ BooleanFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BooleanFilterModule, imports: [CommonModule,
2568
+ BiitToggleModule,
2569
+ FormsModule,
2570
+ BiitTernaryToggleModule] });
2571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BooleanFilterModule, decorators: [{
2572
+ type: NgModule,
2573
+ args: [{
2574
+ declarations: [
2575
+ BooleanFilterComponent
2576
+ ],
2577
+ exports: [
2578
+ BooleanFilterComponent
2579
+ ],
2580
+ imports: [
2581
+ CommonModule,
2582
+ BiitToggleModule,
2583
+ FormsModule,
2584
+ BiitTernaryToggleModule
2585
+ ]
2586
+ }]
2587
+ }] });
2588
+
2589
+ class MetaFilterModule {
2590
+ }
2591
+ MetaFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2592
+ MetaFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterModule, declarations: [MetaFilterComponent], imports: [CommonModule,
2593
+ BiitInputTextModule,
2594
+ FormsModule,
2595
+ PipesModule,
2596
+ BarRangeModule,
2597
+ BiitIconModule,
2598
+ DateFilterSelectorModule,
2599
+ TextFilterModule,
2600
+ BooleanFilterModule,
2601
+ BiitIconButtonModule], exports: [MetaFilterComponent] });
2602
+ MetaFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterModule, imports: [CommonModule,
2603
+ BiitInputTextModule,
2604
+ FormsModule,
2605
+ PipesModule,
2606
+ BarRangeModule,
2607
+ BiitIconModule,
2608
+ DateFilterSelectorModule,
2609
+ TextFilterModule,
2610
+ BooleanFilterModule,
2611
+ BiitIconButtonModule] });
2612
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterModule, decorators: [{
2613
+ type: NgModule,
2614
+ args: [{
2615
+ declarations: [
2616
+ MetaFilterComponent
2617
+ ],
2618
+ exports: [
2619
+ MetaFilterComponent
2620
+ ],
2621
+ imports: [
2622
+ CommonModule,
2623
+ BiitInputTextModule,
2624
+ FormsModule,
2625
+ PipesModule,
2626
+ BarRangeModule,
2627
+ BiitIconModule,
2628
+ DateFilterSelectorModule,
2629
+ TextFilterModule,
2630
+ BooleanFilterModule,
2631
+ BiitIconButtonModule,
2632
+ ]
2633
+ }]
2634
+ }] });
2635
+
2636
+ class MetadataViewerModule {
2637
+ }
2638
+ MetadataViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2639
+ MetadataViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerModule, declarations: [MetadataViewerComponent], imports: [CommonModule,
2640
+ MetaElementModule,
2641
+ BiitTooltipModule,
2642
+ PipesModule,
2643
+ BiitInputTextModule,
2644
+ FormsModule,
2645
+ BiitIconButtonModule], exports: [MetadataViewerComponent] });
2646
+ MetadataViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerModule, imports: [CommonModule,
2647
+ MetaElementModule,
2648
+ BiitTooltipModule,
2649
+ PipesModule,
2650
+ BiitInputTextModule,
2651
+ FormsModule,
2652
+ BiitIconButtonModule] });
2653
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerModule, decorators: [{
2654
+ type: NgModule,
2655
+ args: [{
2656
+ declarations: [
2657
+ MetadataViewerComponent
2658
+ ],
2659
+ exports: [
2660
+ MetadataViewerComponent
2661
+ ],
2662
+ imports: [
2663
+ CommonModule,
2664
+ MetaElementModule,
2665
+ BiitTooltipModule,
2666
+ PipesModule,
2667
+ BiitInputTextModule,
2668
+ FormsModule,
2669
+ BiitIconButtonModule
2670
+ ]
2671
+ }]
2672
+ }] });
2673
+
2674
+ class TimelineViewerChartModule {
2675
+ }
2676
+ TimelineViewerChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineViewerChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2677
+ TimelineViewerChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TimelineViewerChartModule, declarations: [TimelineViewerChartComponent], imports: [CommonModule,
2678
+ NgApexchartsModule], exports: [TimelineViewerChartComponent] });
2679
+ TimelineViewerChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineViewerChartModule, providers: [DatePipe], imports: [CommonModule,
2680
+ NgApexchartsModule] });
2681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineViewerChartModule, decorators: [{
2682
+ type: NgModule,
2683
+ args: [{
2684
+ declarations: [TimelineViewerChartComponent],
2685
+ exports: [TimelineViewerChartComponent],
2686
+ imports: [
2687
+ CommonModule,
2688
+ NgApexchartsModule
2689
+ ],
2690
+ providers: [DatePipe]
2691
+ }]
2692
+ }] });
2693
+
2694
+ class MetaViewChartModule {
2695
+ }
2696
+ MetaViewChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaViewChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2697
+ MetaViewChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MetaViewChartModule, declarations: [MetaViewChartComponent], imports: [CommonModule,
2698
+ MetaElementModule,
2699
+ MetaBoardModule,
2700
+ MetaFilterModule,
2701
+ MetadataViewerModule,
2702
+ TimelineViewerChartModule,
2703
+ PipesModule,
2704
+ BiitIconModule,
2705
+ TranslocoRootModule], exports: [MetaViewChartComponent] });
2706
+ MetaViewChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaViewChartModule, imports: [CommonModule,
2707
+ MetaElementModule,
2708
+ MetaBoardModule,
2709
+ MetaFilterModule,
2710
+ MetadataViewerModule,
2711
+ TimelineViewerChartModule,
2712
+ PipesModule,
2713
+ BiitIconModule,
2714
+ TranslocoRootModule] });
2715
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaViewChartModule, decorators: [{
2716
+ type: NgModule,
2717
+ args: [{
2718
+ declarations: [
2719
+ MetaViewChartComponent,
2720
+ ],
2721
+ imports: [
2722
+ CommonModule,
2723
+ MetaElementModule,
2724
+ MetaBoardModule,
2725
+ MetaFilterModule,
2726
+ MetadataViewerModule,
2727
+ TimelineViewerChartModule,
2728
+ PipesModule,
2729
+ BiitIconModule,
2730
+ TranslocoRootModule
2731
+ ],
2732
+ exports: [
2733
+ MetaViewChartComponent
2734
+ ]
2735
+ }]
2736
+ }] });
2737
+
2738
+ class MetaViewData {
2739
+ constructor(data = [], fields = [], titleField = undefined, preselection = [], timelineDateField = undefined) {
2740
+ this.data = [];
2741
+ this.fields = [];
2742
+ this.preselection = [];
2743
+ this.data = data;
2744
+ this.fields = fields;
2745
+ this.titleField = titleField;
2746
+ this.preselection = preselection;
2747
+ this.timelineDateField = timelineDateField;
2748
+ }
2749
+ }
2750
+
2751
+ class MetaViewPreselection {
2752
+ constructor(key = undefined, value = undefined) {
2753
+ this.key = key;
2754
+ this.value = value;
2755
+ }
2756
+ }
2757
+
2758
+ class MetaViewElementData {
2759
+ constructor(data, styles) {
2760
+ this.data = data;
2761
+ this.styles = styles;
2762
+ }
2763
+ }
2764
+
2765
+ class TimelineViewerChartOptions {
2766
+ constructor() {
2767
+ this.tooltipInfo = [];
2768
+ }
2769
+ }
2770
+
2771
+ /*
2772
+ * Public API Surface of wizardry-theme/charts
2773
+ */
2774
+
2775
+ /**
2776
+ * Generated bundle index. Do not edit.
2777
+ */
2778
+
2779
+ export { BarChartComponent, BarChartData, BarChartGoal, BarChartModule, BarChartOrientation, BarChartSeries, BarChartSeriesData, HeatmapChartComponent, HeatmapChartData, HeatmapChartDataElement, HeatmapChartModule, HeatmapChartRange, HeatmapMetric, LineChartComponent, LineChartData, LineChartModule, LineChartSeries, MetaViewChartComponent, MetaViewChartModule, MetaViewData, MetaViewElementData, MetaViewPreselection, PieChartComponent, PieChartData, PieChartModule, RadarChartComponent, RadarChartData, RadarChartModule, RadarChartSeries, RadialChartComponent, RadialChartData, RadialChartModule, TimelineViewerChartComponent, TimelineViewerChartModule, TimelineViewerChartOptions, View };
2780
+ //# sourceMappingURL=biit-solutions-wizardry-theme-charts.mjs.map