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