@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,1067 @@
1
+ import * as i0 from '@angular/core';
2
+ import { forwardRef, Component, ViewChild, Pipe, Directive, EventEmitter, Input, ContentChild, Output, NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
+ import * as i4 from '@biit-solutions/wizardry-theme/inputs';
4
+ import { BiitMultiselectType, BiitMultiselectModule, BiitInputTextModule, BiitCheckboxModule } from '@biit-solutions/wizardry-theme/inputs';
5
+ import * as i5 from '@ngneat/transloco';
6
+ import { TRANSLOCO_SCOPE, provideTranslocoScope, TranslocoModule } from '@ngneat/transloco';
7
+ import * as i1 from '@angular/common';
8
+ import { CommonModule, NgTemplateOutlet, NgForOf, NgIf } from '@angular/common';
9
+ import * as i2 from '@angular/forms';
10
+ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
11
+ import * as i1$1 from '@biit-solutions/wizardry-theme/icon';
12
+ import { BiitIconModule } from '@biit-solutions/wizardry-theme/icon';
13
+ import * as i8 from '@biit-solutions/wizardry-theme/button';
14
+ import { BiitIconButtonModule, BiitButtonModule } from '@biit-solutions/wizardry-theme/button';
15
+ import * as i5$1 from '@biit-solutions/wizardry-theme/info';
16
+ import { BiitTooltipModule, BiitProgressBarModule } from '@biit-solutions/wizardry-theme/info';
17
+ import * as i9 from '@biit-solutions/wizardry-theme/navigation';
18
+ import { BiitVerticalMenuModule } from '@biit-solutions/wizardry-theme/navigation';
19
+ import * as i10 from '@biit-solutions/wizardry-theme/utils';
20
+ import { LocalizedDatePipeModule } from '@biit-solutions/wizardry-theme/utils';
21
+ import { TranslocoRootModule } from '@biit-solutions/wizardry-theme/i18n';
22
+ import * as i6 from '@siemens/ngx-datatable';
23
+ import { DataTablePagerComponent, ColumnMode, SelectionType, NgxDatatableModule } from '@siemens/ngx-datatable';
24
+ import { completeIconSet } from '@biit-solutions/biit-icons-collection';
25
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
26
+
27
+ class BiitPaginatorOptions {
28
+ constructor(currentPage, pageSize, pageSizeOptions, totalItems, hidePageSize, hideFirstLastButtons) {
29
+ this.currentPage = currentPage;
30
+ this.pageSize = pageSize;
31
+ this.pageSizeOptions = pageSizeOptions;
32
+ this.totalItems = totalItems;
33
+ this.hidePageSize = hidePageSize || totalItems == undefined;
34
+ this.hideFirstLastButtons = hideFirstLastButtons;
35
+ }
36
+ }
37
+
38
+ class BiitTableColumn {
39
+ constructor(name, label, width, format, visible) {
40
+ this.name = name;
41
+ this.label = label;
42
+ this.width = width ? width : 0;
43
+ this.format = format ? format : BiitTableColumnFormat.DEFAULT;
44
+ this.visible = visible == undefined ? true : visible;
45
+ }
46
+ }
47
+ var BiitTableColumnFormat;
48
+ (function (BiitTableColumnFormat) {
49
+ BiitTableColumnFormat["DEFAULT"] = "default";
50
+ BiitTableColumnFormat["BOOLEAN"] = "boolean";
51
+ BiitTableColumnFormat["DATE"] = "date";
52
+ BiitTableColumnFormat["DATETIME"] = "datetime";
53
+ BiitTableColumnFormat["BUTTON"] = "button";
54
+ BiitTableColumnFormat["ICON_BUTTON"] = "icon_button";
55
+ BiitTableColumnFormat["ICON"] = "icon";
56
+ BiitTableColumnFormat["CUSTOM_HTML"] = "custom_html";
57
+ })(BiitTableColumnFormat || (BiitTableColumnFormat = {}));
58
+
59
+ class ColumnResizeHandler {
60
+ }
61
+
62
+ class BiitTableResponse {
63
+ constructor(currentPage, pageSize, search, sorting) {
64
+ this.currentPage = currentPage;
65
+ this.pageSize = pageSize;
66
+ this.search = search;
67
+ this.sorting = sorting;
68
+ }
69
+ }
70
+
71
+ class BiitTableSorting {
72
+ constructor(name, order) {
73
+ this.name = name;
74
+ this.order = order;
75
+ }
76
+ }
77
+ var BiitTableSortingOrder;
78
+ (function (BiitTableSortingOrder) {
79
+ BiitTableSortingOrder["ASC"] = "asc";
80
+ BiitTableSortingOrder["DESC"] = "desc";
81
+ })(BiitTableSortingOrder || (BiitTableSortingOrder = {}));
82
+
83
+ class BiitTableActionResponse {
84
+ constructor(item, column) {
85
+ this.item = item;
86
+ this.column = column;
87
+ }
88
+ }
89
+
90
+ class BiitPaginatorComponent {
91
+ constructor() {
92
+ this.dropdownOpen = false;
93
+ this.onChange = (value) => { };
94
+ this.onTouched = () => { };
95
+ }
96
+ registerOnChange(fn) {
97
+ this.onChange = fn;
98
+ }
99
+ registerOnTouched(fn) {
100
+ this.onTouched = fn;
101
+ }
102
+ writeValue(value) {
103
+ if (value) {
104
+ this.paginator = value;
105
+ this.calculateTotalPages();
106
+ }
107
+ }
108
+ onModelChange() {
109
+ this.closeDropdown();
110
+ this.onChange(this.paginator);
111
+ }
112
+ handleMouseEvents($event) {
113
+ var _a, _b;
114
+ if (!((_a = this.selectorList.nativeElement) === null || _a === void 0 ? void 0 : _a.contains($event.target)) &&
115
+ !((_b = this.selectorBtn.nativeElement) === null || _b === void 0 ? void 0 : _b.contains($event.target)) &&
116
+ this.dropdownOpen) {
117
+ this.closeDropdown();
118
+ }
119
+ }
120
+ handleKeyboardEvents($event) {
121
+ var _a, _b;
122
+ switch ($event.key) {
123
+ case 'ArrowUp':
124
+ if (document.activeElement === this.selectorBtn.nativeElement) {
125
+ if (this.paginator.pageSizeOptions.findIndex(i => i == this.paginator.pageSize) > 0) {
126
+ this.paginator.pageSize = this.paginator.pageSizeOptions[this.paginator.pageSizeOptions.findIndex(i => i == this.paginator.pageSize) - 1];
127
+ this.paginator.currentPage = 1;
128
+ this.onChange(this.paginator);
129
+ }
130
+ }
131
+ else {
132
+ (_a = document.activeElement.previousElementSibling) === null || _a === void 0 ? void 0 : _a.focus();
133
+ }
134
+ $event.preventDefault();
135
+ break;
136
+ case 'ArrowDown':
137
+ if (document.activeElement === this.selectorBtn.nativeElement) {
138
+ if (this.paginator.pageSizeOptions.findIndex(i => i == this.paginator.pageSize) < this.paginator.pageSizeOptions.length - 1) {
139
+ this.paginator.pageSize = this.paginator.pageSizeOptions[this.paginator.pageSizeOptions.findIndex(i => i == this.paginator.pageSize) + 1];
140
+ this.paginator.currentPage = 1;
141
+ this.onChange(this.paginator);
142
+ }
143
+ }
144
+ else {
145
+ (_b = document.activeElement.nextElementSibling) === null || _b === void 0 ? void 0 : _b.focus();
146
+ }
147
+ $event.preventDefault();
148
+ break;
149
+ case 'Escape':
150
+ this.closeDropdown();
151
+ break;
152
+ default:
153
+ break;
154
+ }
155
+ $event.stopPropagation();
156
+ }
157
+ setTooltipComponentProperties() {
158
+ let dropdown = this.selectorList.nativeElement;
159
+ let button = this.selectorBtn.nativeElement;
160
+ dropdown.style.display = 'block';
161
+ // Checking available screen space
162
+ const fitsBottom = bottomCheck();
163
+ const fitsRight = rightCheck();
164
+ const fitsLeft = leftCheck();
165
+ if (!fitsRight && fitsLeft) {
166
+ dropdown.style.marginLeft = button.offsetWidth - dropdown.offsetWidth + 'px';
167
+ }
168
+ else {
169
+ dropdown.style.marginLeft = null;
170
+ }
171
+ dropdown.classList.remove('onwards');
172
+ dropdown.classList.remove('downwards');
173
+ if (!fitsBottom) {
174
+ dropdown.classList.add('onwards');
175
+ dropdown.style.marginTop = -(dropdown.offsetHeight + button.offsetHeight) + 'px';
176
+ }
177
+ else {
178
+ dropdown.classList.add('downwards');
179
+ dropdown.style.marginTop = null;
180
+ }
181
+ // Support inner functions
182
+ function bottomCheck() {
183
+ return button.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||
184
+ button.getBoundingClientRect().top - dropdown.offsetHeight <= 0;
185
+ }
186
+ function rightCheck() {
187
+ return button.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;
188
+ }
189
+ function leftCheck() {
190
+ return button.getBoundingClientRect().right - dropdown.offsetWidth >= 0;
191
+ }
192
+ }
193
+ openDropdown() {
194
+ this.setTooltipComponentProperties();
195
+ // Setting a timeout because it doesn't load upwards/downwards css classes on execution time
196
+ setTimeout(() => {
197
+ this.dropdownOpen = true;
198
+ this.selectorList.nativeElement.setAttribute('aria-expanded', "true");
199
+ }, 100);
200
+ }
201
+ closeDropdown() {
202
+ this.dropdownOpen = false;
203
+ this.selectorList.nativeElement.setAttribute('aria-expanded', "false");
204
+ }
205
+ calculateTotalPages() {
206
+ var _a, _b, _c, _d;
207
+ if (!((_a = this.paginator) === null || _a === void 0 ? void 0 : _a.hidePageSize) && !isNaN((_b = this.paginator) === null || _b === void 0 ? void 0 : _b.totalItems)) {
208
+ const tempTotalPages = this.paginator.totalItems ?
209
+ this.paginator.totalItems / this.paginator.pageSize : 0;
210
+ if (Number.isInteger(tempTotalPages) && tempTotalPages > 0) {
211
+ this.totalPages = tempTotalPages;
212
+ }
213
+ else {
214
+ this.totalPages = Math.trunc(tempTotalPages) + 1;
215
+ }
216
+ if ((_c = this.totalPagesLabel) === null || _c === void 0 ? void 0 : _c.nativeElement) {
217
+ this.totalPagesLabel.nativeElement.innerText = '/' + this.totalPages;
218
+ }
219
+ if ((_d = this.pageInput) === null || _d === void 0 ? void 0 : _d.nativeElement) {
220
+ this.pageInput.nativeElement.style.width =
221
+ this.totalPagesLabel.nativeElement.offsetWidth * 2
222
+ + 2.1 * parseFloat(getComputedStyle(document.documentElement).fontSize)
223
+ + 'px';
224
+ }
225
+ }
226
+ this.refreshCenterStyle();
227
+ }
228
+ setInputValue(event) {
229
+ let selectedPage = parseFloat(event.target.value);
230
+ if (selectedPage > this.totalPages) {
231
+ event.target.value = this.totalPages.toString();
232
+ selectedPage = this.totalPages;
233
+ }
234
+ this.paginator.currentPage = selectedPage;
235
+ }
236
+ resetInputValue(event) {
237
+ event.target.value = this.paginator.currentPage.toString();
238
+ }
239
+ refreshCenterStyle() {
240
+ const width = this.pageSelector.nativeElement.offsetWidth;
241
+ this.pageSelector.nativeElement.style.setProperty("--center-fix", -(width / 2) + 'px');
242
+ }
243
+ }
244
+ BiitPaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
245
+ BiitPaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitPaginatorComponent, selector: "biit-paginator", host: { listeners: { "document:pointerdown": "handleMouseEvents($event)" } }, providers: [
246
+ {
247
+ provide: NG_VALUE_ACCESSOR,
248
+ useExisting: forwardRef(() => BiitPaginatorComponent),
249
+ multi: true
250
+ }
251
+ ], viewQueries: [{ propertyName: "pageSelector", first: true, predicate: ["pageSelector"], descendants: true }, { propertyName: "selectorBtn", first: true, predicate: ["pageSizeBtn"], descendants: true }, { propertyName: "selectorList", first: true, predicate: ["pageSizeList"], descendants: true }, { propertyName: "pageInput", first: true, predicate: ["pageInput"], descendants: true }, { propertyName: "totalPagesLabel", first: true, predicate: ["totalPagesLabel"], descendants: true }], ngImport: i0, template: "<div style=\"display: flex; justify-content: space-between\" *transloco=\"let t\">\n <!-- PAGE SELECTOR -->\n <div #pageSelector class=\"page-selector\" id=\"page-selector\">\n <button biit-icon id=\"arrow-first\"\n icon='right_double_arrow'\n class=\"horizontal-flip\"\n (click)=\"paginator.currentPage = 1; onModelChange();\"\n [disabled]=\"paginator?.currentPage <= 1\"\n tooltip=\"{{t('table.first-page')}}\"\n ></button>\n <button biit-icon id=\"arrow-previous\"\n icon='right_arrow'\n class=\"compact horizontal-flip\"\n (click)=\"paginator.currentPage = paginator.currentPage - 1; onModelChange();\"\n [disabled]=\"paginator?.currentPage <= 1\"\n tooltip=\"{{t('table.previous-page')}}\"\n ></button>\n <div class=\"page-display\" style=\"position: relative\">\n <input #pageInput id=\"current-page\"\n [ngModel]=\"paginator?.currentPage\"\n type=\"number\"\n [min]=\"1\"\n [max]=\"totalPages\"\n (keydown.enter)=\"setInputValue($event); onModelChange()\"\n (focusout)=\"resetInputValue($event)\"\n class=\"page-input\"/>\n <a #totalPagesLabel class=\"total-pages\">/</a>\n <div class=\"bottom-bar\"></div>\n </div>\n <button biit-icon id=\"arrow-next\"\n icon='right_arrow'\n class=\"compact\"\n (click)=\"paginator.currentPage = paginator.currentPage + 1; onModelChange();\"\n [disabled]=\"paginator?.currentPage >= totalPages\"\n tooltip=\"{{t('table.next-page')}}\"\n ></button>\n <button biit-icon id=\"arrow-last\"\n icon='right_double_arrow'\n (click)=\"paginator.currentPage = totalPages; onModelChange();\"\n [disabled]=\"paginator?.currentPage >= totalPages\"\n tooltip=\"{{t('table.last-page')}}\"\n ></button>\n </div>\n\n <!-- PAGE SIZE SELECTOR -->\n <div class=\"page-size-selector\">\n <a\n [tooltip]=\"t('table.rows-per-page')\">{{ t('table.rows-per-page') }}</a>\n <button #pageSizeBtn\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n (keydown)=\"handleKeyboardEvents($event)\">\n <a>{{ paginator?.pageSize }}</a>\n <biit-icon class=\"icon\"\n [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: dropdownOpen ? '#F20D5E' : '#262626'}\"\n [class.rotate]=\"dropdownOpen\"\n ></biit-icon>\n </button>\n <div class=\"dropdown\" [style.overflow]=\"dropdownOpen ? 'visible' : 'hidden'\">\n <div #pageSizeList\n class=\"list\"\n [class.dropdown-open]=\"dropdownOpen\">\n <button *ngFor=\"let pageSize of paginator?.pageSizeOptions; index as i\"\n (click)=\"paginator.currentPage = 1; paginator.pageSize = pageSize; onModelChange()\"\n (keydown)=\"handleKeyboardEvents($event)\"\n [class.selected]=\"paginator.pageSize === pageSize\"\n class=\"item\"\n role=\"option\"\n aria-selected=\"false\"\n [id]=\"i\"\n [tabindex]=\"!dropdownOpen? -1 : 0\"\n [disabled]=\"!dropdownOpen\"\n >\n {{ pageSize }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".page-selector{--center-fix: 0px;display:flex;position:relative;left:var(--center-fix)}.page-selector button[biit-icon].horizontal-flip{rotate:-180deg}.page-selector button[biit-icon].compact ::ng-deep .icon-button-svg{width:.6rem}.page-selector .page-display{display:block;position:relative;font-size:1rem;color:#262626;font-weight:700}.page-selector .page-display input{border:none;box-sizing:border-box;padding-left:.7rem;padding-right:calc(50% + .35rem);height:2.1rem;min-width:4.1rem;font-size:1rem;color:#262626;font-weight:700;text-align:right}.page-selector .page-display input:focus,.page-selector .page-display input:active,.page-selector .page-display input:hover{outline:none;background:#D9D9D9}.page-selector .page-display input:disabled{pointer-events:none;color:#d9d9d9}.page-selector .page-display input::-webkit-outer-spin-button,.page-selector .page-display input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-selector .page-display input[type=number]{-moz-appearance:textfield}.page-selector .page-display .total-pages{position:absolute;left:calc(50% + .35rem);top:.95rem;transform:translateY(-50%);pointer-events:none}.page-selector .page-display .bottom-bar{position:absolute;bottom:0;width:100%;height:.2rem;background:#262626}.page-size-selector{display:flex;align-items:center;color:#262626}.page-size-selector button{background:none;color:inherit;border:none;padding:0;font:inherit;outline:inherit;display:flex;align-items:center;justify-content:flex-end;width:3rem;height:2.1rem;cursor:pointer}.page-size-selector button:hover,.page-size-selector button:focus,.page-size-selector button:focus-visible{background:#D9D9D9}.page-size-selector .wh-100{display:inline-flex;width:.3rem;height:.3rem;padding:.2rem;transition:transform .5s ease;transform:rotate(90deg)}.page-size-selector .wh-100.rotate{transform:rotate(-90deg)}.page-size-selector .dropdown{position:relative;right:3rem;top:1.05rem;z-index:1}.page-size-selector .dropdown .list{width:3rem;background:white;position:absolute;display:flex;flex-direction:column;cursor:pointer;transform-origin:top;opacity:0;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease}.page-size-selector .dropdown .list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.page-size-selector .dropdown .list .item{width:100%;height:1.4rem;display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;border-left:.2rem solid black;border-right:.2rem solid black;padding-right:.5rem}.page-size-selector .dropdown .list .item:first-child{border-top:.2rem solid black}.page-size-selector .dropdown .list .item:last-child{border-bottom:.2rem solid black}.page-size-selector .dropdown .list .item.selected{background:#D9D9D9}.page-size-selector .dropdown .list .item:hover,.page-size-selector .dropdown .list .item:focus,.page-size-selector .dropdown .list .item:focus-visible{border-left:none;border-right:none;background:#EDEDED;padding-right:.7rem}.onwards{--origin: 1rem}.downwards{--origin: -1rem}@media screen and (max-width: 600px){.page-size-selector{display:none!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i8.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "directive", type: i5.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i5$1.BiitTooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "ignorePadding"] }] });
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorComponent, decorators: [{
253
+ type: Component,
254
+ args: [{ selector: 'biit-paginator', providers: [
255
+ {
256
+ provide: NG_VALUE_ACCESSOR,
257
+ useExisting: forwardRef(() => BiitPaginatorComponent),
258
+ multi: true
259
+ }
260
+ ], host: {
261
+ '(document:pointerdown)': 'handleMouseEvents($event)'
262
+ }, template: "<div style=\"display: flex; justify-content: space-between\" *transloco=\"let t\">\n <!-- PAGE SELECTOR -->\n <div #pageSelector class=\"page-selector\" id=\"page-selector\">\n <button biit-icon id=\"arrow-first\"\n icon='right_double_arrow'\n class=\"horizontal-flip\"\n (click)=\"paginator.currentPage = 1; onModelChange();\"\n [disabled]=\"paginator?.currentPage <= 1\"\n tooltip=\"{{t('table.first-page')}}\"\n ></button>\n <button biit-icon id=\"arrow-previous\"\n icon='right_arrow'\n class=\"compact horizontal-flip\"\n (click)=\"paginator.currentPage = paginator.currentPage - 1; onModelChange();\"\n [disabled]=\"paginator?.currentPage <= 1\"\n tooltip=\"{{t('table.previous-page')}}\"\n ></button>\n <div class=\"page-display\" style=\"position: relative\">\n <input #pageInput id=\"current-page\"\n [ngModel]=\"paginator?.currentPage\"\n type=\"number\"\n [min]=\"1\"\n [max]=\"totalPages\"\n (keydown.enter)=\"setInputValue($event); onModelChange()\"\n (focusout)=\"resetInputValue($event)\"\n class=\"page-input\"/>\n <a #totalPagesLabel class=\"total-pages\">/</a>\n <div class=\"bottom-bar\"></div>\n </div>\n <button biit-icon id=\"arrow-next\"\n icon='right_arrow'\n class=\"compact\"\n (click)=\"paginator.currentPage = paginator.currentPage + 1; onModelChange();\"\n [disabled]=\"paginator?.currentPage >= totalPages\"\n tooltip=\"{{t('table.next-page')}}\"\n ></button>\n <button biit-icon id=\"arrow-last\"\n icon='right_double_arrow'\n (click)=\"paginator.currentPage = totalPages; onModelChange();\"\n [disabled]=\"paginator?.currentPage >= totalPages\"\n tooltip=\"{{t('table.last-page')}}\"\n ></button>\n </div>\n\n <!-- PAGE SIZE SELECTOR -->\n <div class=\"page-size-selector\">\n <a\n [tooltip]=\"t('table.rows-per-page')\">{{ t('table.rows-per-page') }}</a>\n <button #pageSizeBtn\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n (keydown)=\"handleKeyboardEvents($event)\">\n <a>{{ paginator?.pageSize }}</a>\n <biit-icon class=\"icon\"\n [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: dropdownOpen ? '#F20D5E' : '#262626'}\"\n [class.rotate]=\"dropdownOpen\"\n ></biit-icon>\n </button>\n <div class=\"dropdown\" [style.overflow]=\"dropdownOpen ? 'visible' : 'hidden'\">\n <div #pageSizeList\n class=\"list\"\n [class.dropdown-open]=\"dropdownOpen\">\n <button *ngFor=\"let pageSize of paginator?.pageSizeOptions; index as i\"\n (click)=\"paginator.currentPage = 1; paginator.pageSize = pageSize; onModelChange()\"\n (keydown)=\"handleKeyboardEvents($event)\"\n [class.selected]=\"paginator.pageSize === pageSize\"\n class=\"item\"\n role=\"option\"\n aria-selected=\"false\"\n [id]=\"i\"\n [tabindex]=\"!dropdownOpen? -1 : 0\"\n [disabled]=\"!dropdownOpen\"\n >\n {{ pageSize }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".page-selector{--center-fix: 0px;display:flex;position:relative;left:var(--center-fix)}.page-selector button[biit-icon].horizontal-flip{rotate:-180deg}.page-selector button[biit-icon].compact ::ng-deep .icon-button-svg{width:.6rem}.page-selector .page-display{display:block;position:relative;font-size:1rem;color:#262626;font-weight:700}.page-selector .page-display input{border:none;box-sizing:border-box;padding-left:.7rem;padding-right:calc(50% + .35rem);height:2.1rem;min-width:4.1rem;font-size:1rem;color:#262626;font-weight:700;text-align:right}.page-selector .page-display input:focus,.page-selector .page-display input:active,.page-selector .page-display input:hover{outline:none;background:#D9D9D9}.page-selector .page-display input:disabled{pointer-events:none;color:#d9d9d9}.page-selector .page-display input::-webkit-outer-spin-button,.page-selector .page-display input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-selector .page-display input[type=number]{-moz-appearance:textfield}.page-selector .page-display .total-pages{position:absolute;left:calc(50% + .35rem);top:.95rem;transform:translateY(-50%);pointer-events:none}.page-selector .page-display .bottom-bar{position:absolute;bottom:0;width:100%;height:.2rem;background:#262626}.page-size-selector{display:flex;align-items:center;color:#262626}.page-size-selector button{background:none;color:inherit;border:none;padding:0;font:inherit;outline:inherit;display:flex;align-items:center;justify-content:flex-end;width:3rem;height:2.1rem;cursor:pointer}.page-size-selector button:hover,.page-size-selector button:focus,.page-size-selector button:focus-visible{background:#D9D9D9}.page-size-selector .wh-100{display:inline-flex;width:.3rem;height:.3rem;padding:.2rem;transition:transform .5s ease;transform:rotate(90deg)}.page-size-selector .wh-100.rotate{transform:rotate(-90deg)}.page-size-selector .dropdown{position:relative;right:3rem;top:1.05rem;z-index:1}.page-size-selector .dropdown .list{width:3rem;background:white;position:absolute;display:flex;flex-direction:column;cursor:pointer;transform-origin:top;opacity:0;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease}.page-size-selector .dropdown .list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.page-size-selector .dropdown .list .item{width:100%;height:1.4rem;display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;border-left:.2rem solid black;border-right:.2rem solid black;padding-right:.5rem}.page-size-selector .dropdown .list .item:first-child{border-top:.2rem solid black}.page-size-selector .dropdown .list .item:last-child{border-bottom:.2rem solid black}.page-size-selector .dropdown .list .item.selected{background:#D9D9D9}.page-size-selector .dropdown .list .item:hover,.page-size-selector .dropdown .list .item:focus,.page-size-selector .dropdown .list .item:focus-visible{border-left:none;border-right:none;background:#EDEDED;padding-right:.7rem}.onwards{--origin: 1rem}.downwards{--origin: -1rem}@media screen and (max-width: 600px){.page-size-selector{display:none!important}}\n"] }]
263
+ }], ctorParameters: function () { return []; }, propDecorators: { pageSelector: [{
264
+ type: ViewChild,
265
+ args: ['pageSelector']
266
+ }], selectorBtn: [{
267
+ type: ViewChild,
268
+ args: ['pageSizeBtn']
269
+ }], selectorList: [{
270
+ type: ViewChild,
271
+ args: ['pageSizeList']
272
+ }], pageInput: [{
273
+ type: ViewChild,
274
+ args: ['pageInput']
275
+ }], totalPagesLabel: [{
276
+ type: ViewChild,
277
+ args: ['totalPagesLabel']
278
+ }] } });
279
+
280
+ class VisibleColumnsPipe {
281
+ transform(value) {
282
+ return value.filter(column => column.visible);
283
+ }
284
+ }
285
+ VisibleColumnsPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VisibleColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
286
+ VisibleColumnsPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: VisibleColumnsPipe, name: "visibleColumns" });
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VisibleColumnsPipe, decorators: [{
288
+ type: Pipe,
289
+ args: [{
290
+ name: 'visibleColumns'
291
+ }]
292
+ }] });
293
+
294
+ class ColumnDataPipe {
295
+ transform(value, columnName) {
296
+ const dataTree = columnName.split('.');
297
+ let data = value;
298
+ dataTree.forEach(variable => {
299
+ data = data[variable];
300
+ });
301
+ return data;
302
+ }
303
+ }
304
+ ColumnDataPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnDataPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
305
+ ColumnDataPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ColumnDataPipe, name: "columnData" });
306
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnDataPipe, decorators: [{
307
+ type: Pipe,
308
+ args: [{
309
+ name: 'columnData'
310
+ }]
311
+ }] });
312
+
313
+ class BiitTableSelectableDirective {
314
+ constructor(parent) {
315
+ this.parent = parent;
316
+ parent.isSelectable = true;
317
+ }
318
+ }
319
+ BiitTableSelectableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSelectableDirective, deps: [{ token: BiitTableComponent }], target: i0.ɵɵFactoryTarget.Directive });
320
+ BiitTableSelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableSelectableDirective, selector: "[selectable]", ngImport: i0 });
321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSelectableDirective, decorators: [{
322
+ type: Directive,
323
+ args: [{
324
+ selector: '[selectable]'
325
+ }]
326
+ }], ctorParameters: function () { return [{ type: BiitTableComponent }]; } });
327
+ class BiitTableSelectableSingleDirective {
328
+ constructor(parent) {
329
+ this.parent = parent;
330
+ parent.isSelectableSingle = true;
331
+ }
332
+ }
333
+ BiitTableSelectableSingleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSelectableSingleDirective, deps: [{ token: BiitTableComponent }], target: i0.ɵɵFactoryTarget.Directive });
334
+ BiitTableSelectableSingleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableSelectableSingleDirective, selector: "[selectableSingle]", ngImport: i0 });
335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSelectableSingleDirective, decorators: [{
336
+ type: Directive,
337
+ args: [{
338
+ selector: '[selectableSingle]'
339
+ }]
340
+ }], ctorParameters: function () { return [{ type: BiitTableComponent }]; } });
341
+ class BiitTableSortableDirective {
342
+ constructor(parent) {
343
+ this.parent = parent;
344
+ parent.isSortable = true;
345
+ }
346
+ }
347
+ BiitTableSortableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSortableDirective, deps: [{ token: BiitTableComponent }], target: i0.ɵɵFactoryTarget.Directive });
348
+ BiitTableSortableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableSortableDirective, selector: "[sortable]", ngImport: i0 });
349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSortableDirective, decorators: [{
350
+ type: Directive,
351
+ args: [{
352
+ selector: '[sortable]'
353
+ }]
354
+ }], ctorParameters: function () { return [{ type: BiitTableComponent }]; } });
355
+ class BiitTableHeaderlessDirective {
356
+ constructor(parent) {
357
+ this.parent = parent;
358
+ parent.hideHeader = true;
359
+ }
360
+ }
361
+ BiitTableHeaderlessDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableHeaderlessDirective, deps: [{ token: BiitTableComponent }], target: i0.ɵɵFactoryTarget.Directive });
362
+ BiitTableHeaderlessDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableHeaderlessDirective, selector: "[hideHeader]", ngImport: i0 });
363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableHeaderlessDirective, decorators: [{
364
+ type: Directive,
365
+ args: [{
366
+ selector: '[hideHeader]'
367
+ }]
368
+ }], ctorParameters: function () { return [{ type: BiitTableComponent }]; } });
369
+ class BiitTableFooterlessDirective {
370
+ constructor(parent) {
371
+ this.parent = parent;
372
+ parent.hideFooter = true;
373
+ }
374
+ }
375
+ BiitTableFooterlessDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableFooterlessDirective, deps: [{ token: BiitTableComponent }], target: i0.ɵɵFactoryTarget.Directive });
376
+ BiitTableFooterlessDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableFooterlessDirective, selector: "[hideFooter]", ngImport: i0 });
377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableFooterlessDirective, decorators: [{
378
+ type: Directive,
379
+ args: [{
380
+ selector: '[hideFooter]'
381
+ }]
382
+ }], ctorParameters: function () { return [{ type: BiitTableComponent }]; } });
383
+ class BiitTableComponent {
384
+ set _data(data) {
385
+ if (data) {
386
+ this.data = data;
387
+ this.selectedRows.clear();
388
+ if (this.paginator) {
389
+ this.paginator = new BiitPaginatorOptions(this.paginator.currentPage, this.paginator.pageSize, this.pageSizes, data.totalItems);
390
+ }
391
+ }
392
+ }
393
+ set _loading(loading) {
394
+ if (loading) {
395
+ this.loading = loading;
396
+ this.setLoadingBar();
397
+ }
398
+ else {
399
+ this.loading = false;
400
+ }
401
+ }
402
+ constructor(renderer, elem) {
403
+ this.renderer = renderer;
404
+ this.elem = elem;
405
+ this.columns = [];
406
+ this.pageSizes = [];
407
+ this.isSelectable = false;
408
+ this.isSelectableSingle = false;
409
+ this.isSortable = false;
410
+ this.hideHeader = false;
411
+ this.hideFooter = false;
412
+ this.onUpdate = new EventEmitter();
413
+ this.onCellAction = new EventEmitter();
414
+ this.onRowClick = new EventEmitter();
415
+ this.selectedRows = new Set();
416
+ this.columnResize = new ColumnResizeHandler();
417
+ this.loading = false;
418
+ this.search = '';
419
+ this.currentSearch = '';
420
+ this.BiitMultiselectType = BiitMultiselectType;
421
+ this.BiitTableColumnFormat = BiitTableColumnFormat;
422
+ }
423
+ ngOnInit() {
424
+ this.paginator = new BiitPaginatorOptions(1, this.defaultPageSize, this.pageSizes, this.data ? this.data.totalItems : 1);
425
+ }
426
+ ngAfterViewChecked() {
427
+ this.setColumnSize();
428
+ }
429
+ // Fix for resizable columns
430
+ setColumnSize() {
431
+ // Takes scrollbar padding in mind before hardcoding widths
432
+ this.elem.nativeElement.querySelector('.content').style.paddingRight = '0.7rem';
433
+ Array.from(this.elem.nativeElement.querySelector('thead').firstChild.children).forEach(ogColumn => {
434
+ const column = ogColumn;
435
+ if (column.classList.contains('select')) {
436
+ return;
437
+ }
438
+ if (column.style.width == '' && !column.classList.contains('select')) {
439
+ column.style.width = column.offsetWidth - 10 + 'px';
440
+ }
441
+ this.columnInnerWordFitCheck(column);
442
+ });
443
+ this.elem.nativeElement.querySelector('.content').style.paddingRight = null;
444
+ this.setLoadingBar();
445
+ }
446
+ columnInnerWordFitCheck(column) {
447
+ const minColumnSize = column.firstElementChild.offsetWidth
448
+ + 2.4 * parseFloat(getComputedStyle(document.documentElement).fontSize) * 2;
449
+ // If inner text width plus header paddings are less than the current header width (set by user column properties)
450
+ if (minColumnSize > column.offsetWidth) {
451
+ column.style.width = minColumnSize + 'px';
452
+ }
453
+ }
454
+ setLoadingBar() {
455
+ const progressBar = this.elem.nativeElement.querySelector('biit-progress-bar');
456
+ if (progressBar) {
457
+ progressBar.style.top =
458
+ this.elem.nativeElement.querySelector('thead').offsetHeight + 'px';
459
+ }
460
+ }
461
+ onTableUpdate(force = false) {
462
+ if (this.findTimeout) {
463
+ clearTimeout(this.findTimeout);
464
+ }
465
+ this.findTimeout = setTimeout(() => {
466
+ this.currentSearch = this.search;
467
+ this.selectedRows.clear();
468
+ this.onUpdate.emit(new BiitTableResponse(this.paginator.currentPage, this.paginator.pageSize, this.search, this.sorting));
469
+ clearTimeout(this.findTimeout);
470
+ this.findTimeout = null;
471
+ }, force ? 0 : 500);
472
+ }
473
+ onTableSort(column) {
474
+ if (this.sorting && this.sorting.name == column.name) {
475
+ switch (this.sorting.order) {
476
+ case BiitTableSortingOrder.ASC:
477
+ this.sorting.order = BiitTableSortingOrder.DESC;
478
+ break;
479
+ case BiitTableSortingOrder.DESC:
480
+ this.sorting = undefined;
481
+ break;
482
+ }
483
+ }
484
+ else {
485
+ this.sorting = new BiitTableSorting(column.name, BiitTableSortingOrder.ASC);
486
+ }
487
+ this.onTableUpdate();
488
+ }
489
+ snakeToCamel(string) {
490
+ return string.toLowerCase().replace(/[-_][a-z]/g, (group) => group.slice(-1).toUpperCase());
491
+ }
492
+ resizeColumn(event, column, index) {
493
+ this.columnResize.start = event.target;
494
+ this.columnResize.pressed = true;
495
+ this.columnResize.startX = event.x;
496
+ this.columnResize.startWidth = this.columnResize.start.parentNode.offsetWidth;
497
+ let columnElem = this.elem.nativeElement.querySelector('thead').firstChild.children[this.isSelectable ? index + 1 : index];
498
+ this.columnResize.minWidth = columnElem.firstElementChild.offsetWidth
499
+ + 2.4 * parseFloat(getComputedStyle(document.documentElement).fontSize) * 2;
500
+ this.initResizableColumns(column);
501
+ }
502
+ initResizableColumns(column) {
503
+ const moveListener = this.renderer.listen('window', 'mousemove', (event) => {
504
+ if (this.columnResize.pressed) {
505
+ let width = this.columnResize.startWidth + (event.x - this.columnResize.startX);
506
+ if (width > this.columnResize.minWidth) {
507
+ column.width = width;
508
+ }
509
+ }
510
+ event.preventDefault();
511
+ event.stopPropagation();
512
+ event.stopImmediatePropagation();
513
+ return false;
514
+ });
515
+ const releaseListener = this.renderer.listen('window', 'mouseup', (event) => {
516
+ if (this.columnResize.pressed) {
517
+ this.columnResize.pressed = false;
518
+ event.preventDefault();
519
+ event.stopPropagation();
520
+ event.stopImmediatePropagation();
521
+ moveListener();
522
+ releaseListener();
523
+ }
524
+ return false;
525
+ });
526
+ }
527
+ setColumnVisibility(response) {
528
+ this.columns.forEach(c => response.some(e => e.name == c.name) ? c.visible = true : c.visible = false);
529
+ }
530
+ selectRow(item, holdCtrl) {
531
+ if (!holdCtrl || this.isSelectableSingle) {
532
+ this.selectedRows.clear();
533
+ this.selectedRows.add(item);
534
+ }
535
+ else {
536
+ if (!this.selectedRows.has(item)) {
537
+ this.selectedRows.add(item);
538
+ }
539
+ else {
540
+ this.selectedRows.delete(item);
541
+ }
542
+ }
543
+ }
544
+ getSelectedRows() {
545
+ return [...this.selectedRows];
546
+ }
547
+ emitCellAction(item, column, event) {
548
+ event.stopPropagation();
549
+ this.onCellAction.emit(new BiitTableActionResponse(item, column));
550
+ }
551
+ emitRowClick(item) {
552
+ this.onRowClick.emit(item);
553
+ }
554
+ resetInputValue() {
555
+ this.search = this.currentSearch;
556
+ }
557
+ }
558
+ BiitTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
559
+ BiitTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableComponent, selector: "biit-table", inputs: { _data: ["metadata", "_data"], _loading: ["loading", "_loading"], columns: "columns", pageSizes: "pageSizes", defaultPageSize: "defaultPageSize" }, outputs: { onUpdate: "onUpdate", onCellAction: "onCellAction", onRowClick: "onRowClick" }, providers: [{
560
+ provide: TRANSLOCO_SCOPE,
561
+ useValue: { scope: 'wizardry-theme/table', alias: "table" }
562
+ }], queries: [{ propertyName: "actionsTpl", first: true, predicate: ["actions"], descendants: true }], ngImport: i0, template: "<div class=\"canvas\" *transloco=\"let t\">\n <div class=\"header\" *ngIf=\"!hideHeader\">\n <div class=\"buttons\" id=\"menu\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"forms\">\n <biit-input-text id=\"search-field\" [(ngModel)]=\"search\"\n (onActionPerformed)=\"\n paginator.currentPage = 1;\n onTableUpdate(true);\n \"\n (focusout)=\"resetInputValue()\"\n (ngModelChange)=\"onTableUpdate()\"\n icon=\"search\"\n [placeholder]=\"t('table.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"columns | visibleColumns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"columns\"\n label=\"label\"\n value=\"visible\"\n [title]=\"t('table.column-selector')\"\n [type]=\"BiitMultiselectType.ICON\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n\n <div class=\"content\">\n <div *ngIf=\"loading\" style=\"position: relative\">\n <biit-progress-bar style=\"position: absolute; top: 2.1rem; left: 0.2rem; width: calc(100% - 0.1rem);\"></biit-progress-bar>\n </div>\n <table>\n <thead>\n <tr>\n <th *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox *ngIf=\"isSelectable\"\n [ngModel]=\"data?.data.length && selectedRows.size == data?.data.length\"\n (ngModelChange)=\"$event ? data?.data.forEach(selectedRows.add, selectedRows) : selectedRows.clear()\"\n ></biit-checkbox>\n </th>\n <th *ngFor=\"let column of columns, index as i\"\n [class.sortable]=\"isSortable\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : ''\"\n (click)=\"isSortable ? onTableSort(column) : false\"\n >\n <div class=\"label\">\n {{column.label}}\n </div>\n <biit-icon *ngIf=\"isSortable\"\n [name]=\"sorting?.name == column.name ? 'right_arrow' : 'up_down_arrow'\"\n [pathStyle]=\"{fill: '#FFFFFF'}\"\n class=\"sort\"\n [class.asc]=\"sorting?.name == column.name && sorting?.order == 'asc'\"\n [class.desc]=\"sorting?.name == column.name && sorting?.order == 'desc'\"\n ></biit-icon>\n <div class=\"column-resizer\"\n (mousedown)=\"resizeColumn($event, column, i)\"\n (click)=\"$event.preventDefault();\n $event.stopPropagation();\n $event.stopImmediatePropagation();\"\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data?.data; index as i\"\n [class.selectable]=\"isSelectable\"\n [class.selected]=\"selectedRows.has(item)\"\n (pointerdown)=\"emitRowClick(item)\"\n >\n <td *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox id=\"select{{i}}\"\n [ngModel]=\"selectedRows.has(item)\"\n (ngModelChange)=\"selectRow(item, true)\"\n ></biit-checkbox>\n </td>\n <td *ngFor=\"let column of columns\"\n (pointerdown)=\"selectRow(item, $event.ctrlKey)\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : null\"\n >\n <div *ngIf=\"column.format == BiitTableColumnFormat.DEFAULT\">\n {{item | columnData: column.name}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BOOLEAN\">\n {{(item | columnData: column.name) ? t('table.yes') : t('table.no') }}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.DATE\">\n {{(item | columnData: column.name) | localizedDate}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-button tertiary\n (pointerdown)=\"emitCellAction(item, column.name, $event)\">\n {{item | columnData: column.name}}\n </button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON_BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-icon [icon]=\"item | columnData: column.name\"\n (pointerdown)=\"emitCellAction(item, column.name, $event);\"></button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON\"\n style=\"width: auto; height: 1.05rem;\">\n <biit-icon [name]=\"item | columnData: column.name\"></biit-icon>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.CUSTOM_HTML\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <div [innerHTML]=\"item | columnData: column.name\"></div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n </div>\n\n <div class=\"footer\" *ngIf=\"!hideFooter\">\n <div class=\"selected\">\n <a style=\"margin-right: 0.7rem\" *ngIf=\"selectedRows.size\">Selected:</a>\n <a *ngIf=\"selectedRows.size\">{{selectedRows.size}}</a>\n </div>\n <biit-paginator *ngIf=\"paginator\"\n [ngModel]=\"paginator\" (ngModelChange)=\"paginator = $event; onTableUpdate()\"></biit-paginator>\n </div>\n</div>\n", styles: [".canvas{height:100%;display:flex;flex-direction:column;box-sizing:border-box;row-gap:1.05rem}.canvas>.header{display:flex;flex-direction:row;justify-content:space-between}.canvas>.header>*{display:flex;flex-direction:row}.canvas>.header>.buttons ::ng-deep>*{height:2.1rem;min-width:2.1rem;display:flex;align-items:center;justify-content:center}.canvas>.header>.forms{column-gap:.7rem}.canvas>.header>.forms ::ng-deep biit-input-text .biit-input{min-height:0;padding-top:0}.canvas>.content{overflow:auto;display:flex;flex-grow:1;flex-direction:column;box-sizing:border-box}.canvas>.content *{box-sizing:border-box}.canvas>.content>table{width:100%;height:-moz-fit-content;height:fit-content;margin-top:-.2rem;table-layout:fixed;border-spacing:.2rem}.canvas>.content>table thead{text-transform:uppercase;position:sticky;top:0;background:white;z-index:1}.canvas>.content>table thead th{position:relative;height:2.1rem;color:#fff;font-weight:500;background:#262626;padding:.4rem 2.4rem;text-align:center;text-align:-moz-center;text-align:-webkit-center;cursor:default}.canvas>.content>table thead th.select{width:2.1rem;padding:.3rem .7rem;background:white}.canvas>.content>table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.canvas>.content>table thead th>.column-resizer{position:absolute;right:-.2rem;top:0;height:100%;width:.6rem;cursor:col-resize}.canvas>.content>table thead th>.label{width:-moz-fit-content;width:fit-content}.canvas>.content>table thead th>.sort{position:absolute;width:.7rem;height:.7rem;top:calc(50% - .35rem);right:.7rem;pointer-events:none}.canvas>.content>table thead th>.sort.asc{rotate:-90deg}.canvas>.content>table thead th>.sort.desc{rotate:90deg}.canvas>.content>table tbody tr{cursor:default}.canvas>.content>table tbody tr.selected{background:#D9D9D9}.canvas>.content>table tbody tr:hover{background:#EDEDED}.canvas>.content>table tbody tr:hover.selectable{cursor:pointer}.canvas>.content>table tbody tr>td{height:2.1rem;border-bottom:.2rem solid #262626;padding:.3rem .7rem;overflow:hidden}.canvas>.content>table tbody tr>td.select{width:2.1rem;padding:.3rem .7rem}.canvas>.footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.canvas>.footer>biit-paginator{width:50%;display:block}@media screen and (max-width: 600px){.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: BiitPaginatorComponent, selector: "biit-paginator" }, { kind: "component", type: i4.BiitMultiselectComponent, selector: "biit-multiselect", inputs: ["title", "type", "icon", "label", "value", "descriptionField", "description", "data", "primitive", "compact", "disabled", "required", "sort-asc", "sort-desc"], outputs: ["onCreate"] }, { kind: "component", type: i4.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "component", type: i4.BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"] }, { kind: "component", type: i5$1.BiitProgressBarComponent, selector: "biit-progress-bar", inputs: ["type", "_value", "value"] }, { kind: "directive", type: i5.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i1$1.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i8.BiitButtonComponent, selector: "button[biit-button]" }, { kind: "directive", type: i8.BiitButtonTertiaryDirective, selector: "[tertiary]" }, { kind: "component", type: i8.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "component", type: i9.BiitVerticalMenuComponent, selector: "biit-vertical-menu" }, { kind: "directive", type: BiitTableSelectableDirective, selector: "[selectable]" }, { kind: "directive", type: BiitTableSortableDirective, selector: "[sortable]" }, { kind: "pipe", type: i10.LocalizedDatePipe, name: "localizedDate" }, { kind: "pipe", type: VisibleColumnsPipe, name: "visibleColumns" }, { kind: "pipe", type: ColumnDataPipe, name: "columnData" }] });
563
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableComponent, decorators: [{
564
+ type: Component,
565
+ args: [{ selector: 'biit-table', providers: [{
566
+ provide: TRANSLOCO_SCOPE,
567
+ useValue: { scope: 'wizardry-theme/table', alias: "table" }
568
+ }], template: "<div class=\"canvas\" *transloco=\"let t\">\n <div class=\"header\" *ngIf=\"!hideHeader\">\n <div class=\"buttons\" id=\"menu\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"forms\">\n <biit-input-text id=\"search-field\" [(ngModel)]=\"search\"\n (onActionPerformed)=\"\n paginator.currentPage = 1;\n onTableUpdate(true);\n \"\n (focusout)=\"resetInputValue()\"\n (ngModelChange)=\"onTableUpdate()\"\n icon=\"search\"\n [placeholder]=\"t('table.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"columns | visibleColumns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"columns\"\n label=\"label\"\n value=\"visible\"\n [title]=\"t('table.column-selector')\"\n [type]=\"BiitMultiselectType.ICON\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n\n <div class=\"content\">\n <div *ngIf=\"loading\" style=\"position: relative\">\n <biit-progress-bar style=\"position: absolute; top: 2.1rem; left: 0.2rem; width: calc(100% - 0.1rem);\"></biit-progress-bar>\n </div>\n <table>\n <thead>\n <tr>\n <th *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox *ngIf=\"isSelectable\"\n [ngModel]=\"data?.data.length && selectedRows.size == data?.data.length\"\n (ngModelChange)=\"$event ? data?.data.forEach(selectedRows.add, selectedRows) : selectedRows.clear()\"\n ></biit-checkbox>\n </th>\n <th *ngFor=\"let column of columns, index as i\"\n [class.sortable]=\"isSortable\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : ''\"\n (click)=\"isSortable ? onTableSort(column) : false\"\n >\n <div class=\"label\">\n {{column.label}}\n </div>\n <biit-icon *ngIf=\"isSortable\"\n [name]=\"sorting?.name == column.name ? 'right_arrow' : 'up_down_arrow'\"\n [pathStyle]=\"{fill: '#FFFFFF'}\"\n class=\"sort\"\n [class.asc]=\"sorting?.name == column.name && sorting?.order == 'asc'\"\n [class.desc]=\"sorting?.name == column.name && sorting?.order == 'desc'\"\n ></biit-icon>\n <div class=\"column-resizer\"\n (mousedown)=\"resizeColumn($event, column, i)\"\n (click)=\"$event.preventDefault();\n $event.stopPropagation();\n $event.stopImmediatePropagation();\"\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data?.data; index as i\"\n [class.selectable]=\"isSelectable\"\n [class.selected]=\"selectedRows.has(item)\"\n (pointerdown)=\"emitRowClick(item)\"\n >\n <td *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox id=\"select{{i}}\"\n [ngModel]=\"selectedRows.has(item)\"\n (ngModelChange)=\"selectRow(item, true)\"\n ></biit-checkbox>\n </td>\n <td *ngFor=\"let column of columns\"\n (pointerdown)=\"selectRow(item, $event.ctrlKey)\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : null\"\n >\n <div *ngIf=\"column.format == BiitTableColumnFormat.DEFAULT\">\n {{item | columnData: column.name}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BOOLEAN\">\n {{(item | columnData: column.name) ? t('table.yes') : t('table.no') }}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.DATE\">\n {{(item | columnData: column.name) | localizedDate}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-button tertiary\n (pointerdown)=\"emitCellAction(item, column.name, $event)\">\n {{item | columnData: column.name}}\n </button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON_BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-icon [icon]=\"item | columnData: column.name\"\n (pointerdown)=\"emitCellAction(item, column.name, $event);\"></button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON\"\n style=\"width: auto; height: 1.05rem;\">\n <biit-icon [name]=\"item | columnData: column.name\"></biit-icon>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.CUSTOM_HTML\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <div [innerHTML]=\"item | columnData: column.name\"></div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n </div>\n\n <div class=\"footer\" *ngIf=\"!hideFooter\">\n <div class=\"selected\">\n <a style=\"margin-right: 0.7rem\" *ngIf=\"selectedRows.size\">Selected:</a>\n <a *ngIf=\"selectedRows.size\">{{selectedRows.size}}</a>\n </div>\n <biit-paginator *ngIf=\"paginator\"\n [ngModel]=\"paginator\" (ngModelChange)=\"paginator = $event; onTableUpdate()\"></biit-paginator>\n </div>\n</div>\n", styles: [".canvas{height:100%;display:flex;flex-direction:column;box-sizing:border-box;row-gap:1.05rem}.canvas>.header{display:flex;flex-direction:row;justify-content:space-between}.canvas>.header>*{display:flex;flex-direction:row}.canvas>.header>.buttons ::ng-deep>*{height:2.1rem;min-width:2.1rem;display:flex;align-items:center;justify-content:center}.canvas>.header>.forms{column-gap:.7rem}.canvas>.header>.forms ::ng-deep biit-input-text .biit-input{min-height:0;padding-top:0}.canvas>.content{overflow:auto;display:flex;flex-grow:1;flex-direction:column;box-sizing:border-box}.canvas>.content *{box-sizing:border-box}.canvas>.content>table{width:100%;height:-moz-fit-content;height:fit-content;margin-top:-.2rem;table-layout:fixed;border-spacing:.2rem}.canvas>.content>table thead{text-transform:uppercase;position:sticky;top:0;background:white;z-index:1}.canvas>.content>table thead th{position:relative;height:2.1rem;color:#fff;font-weight:500;background:#262626;padding:.4rem 2.4rem;text-align:center;text-align:-moz-center;text-align:-webkit-center;cursor:default}.canvas>.content>table thead th.select{width:2.1rem;padding:.3rem .7rem;background:white}.canvas>.content>table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.canvas>.content>table thead th>.column-resizer{position:absolute;right:-.2rem;top:0;height:100%;width:.6rem;cursor:col-resize}.canvas>.content>table thead th>.label{width:-moz-fit-content;width:fit-content}.canvas>.content>table thead th>.sort{position:absolute;width:.7rem;height:.7rem;top:calc(50% - .35rem);right:.7rem;pointer-events:none}.canvas>.content>table thead th>.sort.asc{rotate:-90deg}.canvas>.content>table thead th>.sort.desc{rotate:90deg}.canvas>.content>table tbody tr{cursor:default}.canvas>.content>table tbody tr.selected{background:#D9D9D9}.canvas>.content>table tbody tr:hover{background:#EDEDED}.canvas>.content>table tbody tr:hover.selectable{cursor:pointer}.canvas>.content>table tbody tr>td{height:2.1rem;border-bottom:.2rem solid #262626;padding:.3rem .7rem;overflow:hidden}.canvas>.content>table tbody tr>td.select{width:2.1rem;padding:.3rem .7rem}.canvas>.footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.canvas>.footer>biit-paginator{width:50%;display:block}@media screen and (max-width: 600px){.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\n"] }]
569
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { _data: [{
570
+ type: Input,
571
+ args: ['metadata']
572
+ }], _loading: [{
573
+ type: Input,
574
+ args: ['loading']
575
+ }], columns: [{
576
+ type: Input
577
+ }], pageSizes: [{
578
+ type: Input
579
+ }], defaultPageSize: [{
580
+ type: Input
581
+ }], actionsTpl: [{
582
+ type: ContentChild,
583
+ args: ['actions']
584
+ }], onUpdate: [{
585
+ type: Output
586
+ }], onCellAction: [{
587
+ type: Output
588
+ }], onRowClick: [{
589
+ type: Output
590
+ }] } });
591
+
592
+ class BiitPaginatorModule {
593
+ }
594
+ BiitPaginatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
595
+ BiitPaginatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorModule, declarations: [BiitPaginatorComponent], imports: [CommonModule,
596
+ FormsModule,
597
+ BiitIconModule,
598
+ BiitIconButtonModule,
599
+ TranslocoRootModule,
600
+ BiitTooltipModule], exports: [BiitPaginatorComponent] });
601
+ BiitPaginatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorModule, providers: [{
602
+ provide: TRANSLOCO_SCOPE,
603
+ useValue: { scope: 'wizardry-theme/table', alias: "table" }
604
+ }], imports: [CommonModule,
605
+ FormsModule,
606
+ BiitIconModule,
607
+ BiitIconButtonModule,
608
+ TranslocoRootModule,
609
+ BiitTooltipModule] });
610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorModule, decorators: [{
611
+ type: NgModule,
612
+ args: [{
613
+ declarations: [BiitPaginatorComponent],
614
+ exports: [BiitPaginatorComponent],
615
+ imports: [
616
+ CommonModule,
617
+ FormsModule,
618
+ BiitIconModule,
619
+ BiitIconButtonModule,
620
+ TranslocoRootModule,
621
+ BiitTooltipModule
622
+ ],
623
+ providers: [{
624
+ provide: TRANSLOCO_SCOPE,
625
+ useValue: { scope: 'wizardry-theme/table', alias: "table" }
626
+ }]
627
+ }]
628
+ }] });
629
+
630
+ class BiitTableModule {
631
+ }
632
+ BiitTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
633
+ BiitTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitTableModule, declarations: [BiitTableComponent,
634
+ BiitTableSelectableDirective,
635
+ BiitTableSelectableSingleDirective,
636
+ BiitTableSortableDirective,
637
+ BiitTableHeaderlessDirective,
638
+ BiitTableFooterlessDirective,
639
+ VisibleColumnsPipe,
640
+ ColumnDataPipe], imports: [CommonModule,
641
+ FormsModule,
642
+ BiitPaginatorModule,
643
+ BiitMultiselectModule,
644
+ BiitInputTextModule,
645
+ BiitCheckboxModule,
646
+ BiitProgressBarModule,
647
+ LocalizedDatePipeModule,
648
+ TranslocoRootModule,
649
+ BiitIconModule,
650
+ BiitButtonModule,
651
+ BiitIconButtonModule,
652
+ BiitVerticalMenuModule], exports: [BiitTableComponent,
653
+ BiitTableSelectableDirective,
654
+ BiitTableSelectableSingleDirective,
655
+ BiitTableSortableDirective,
656
+ BiitTableHeaderlessDirective,
657
+ BiitTableFooterlessDirective] });
658
+ BiitTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableModule, imports: [CommonModule,
659
+ FormsModule,
660
+ BiitPaginatorModule,
661
+ BiitMultiselectModule,
662
+ BiitInputTextModule,
663
+ BiitCheckboxModule,
664
+ BiitProgressBarModule,
665
+ LocalizedDatePipeModule,
666
+ TranslocoRootModule,
667
+ BiitIconModule,
668
+ BiitButtonModule,
669
+ BiitIconButtonModule,
670
+ BiitVerticalMenuModule] });
671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableModule, decorators: [{
672
+ type: NgModule,
673
+ args: [{
674
+ declarations: [
675
+ BiitTableComponent,
676
+ BiitTableSelectableDirective,
677
+ BiitTableSelectableSingleDirective,
678
+ BiitTableSortableDirective,
679
+ BiitTableHeaderlessDirective,
680
+ BiitTableFooterlessDirective,
681
+ VisibleColumnsPipe,
682
+ ColumnDataPipe
683
+ ],
684
+ exports: [
685
+ BiitTableComponent,
686
+ BiitTableSelectableDirective,
687
+ BiitTableSelectableSingleDirective,
688
+ BiitTableSortableDirective,
689
+ BiitTableHeaderlessDirective,
690
+ BiitTableFooterlessDirective
691
+ ],
692
+ imports: [
693
+ CommonModule,
694
+ FormsModule,
695
+ BiitPaginatorModule,
696
+ BiitMultiselectModule,
697
+ BiitInputTextModule,
698
+ BiitCheckboxModule,
699
+ BiitProgressBarModule,
700
+ LocalizedDatePipeModule,
701
+ TranslocoRootModule,
702
+ BiitIconModule,
703
+ BiitButtonModule,
704
+ BiitIconButtonModule,
705
+ BiitVerticalMenuModule
706
+ ]
707
+ }]
708
+ }] });
709
+
710
+ class BiitTableData {
711
+ constructor(data, totalItems) {
712
+ this.data = data;
713
+ this.totalItems = totalItems;
714
+ }
715
+ }
716
+
717
+ class GenericFilter {
718
+ static filter(object, value, includes = false, caseSensitive = false, params) {
719
+ const formattedValue = caseSensitive ? value : value === null || value === void 0 ? void 0 : value.toLowerCase();
720
+ for (let param in object) {
721
+ if (params && !params.includes(param))
722
+ continue;
723
+ let paramValue = object[param];
724
+ if (paramValue instanceof Array) {
725
+ if (paramValue.some((item) => {
726
+ return GenericFilter.filter(item, value, includes, caseSensitive);
727
+ })) {
728
+ return true;
729
+ }
730
+ continue;
731
+ }
732
+ if (typeof paramValue === 'string' || typeof paramValue === 'number' || typeof paramValue === 'boolean') {
733
+ let stringValue = paramValue.toString();
734
+ if (!caseSensitive) {
735
+ stringValue = stringValue.toLowerCase();
736
+ }
737
+ if (includes) {
738
+ if (stringValue.includes(formattedValue)) {
739
+ return true;
740
+ }
741
+ }
742
+ else {
743
+ if (stringValue === formattedValue) {
744
+ return true;
745
+ }
746
+ }
747
+ continue;
748
+ }
749
+ if (Object.keys(object).length === 0) {
750
+ if (object[param] === value) {
751
+ return true;
752
+ }
753
+ }
754
+ else {
755
+ if (GenericFilter.filter(paramValue, value, includes, caseSensitive)) {
756
+ return true;
757
+ }
758
+ }
759
+ }
760
+ return false;
761
+ }
762
+ }
763
+
764
+ class GenericSort {
765
+ static sort(data, sorting, columns) {
766
+ if (sorting) {
767
+ return data.sort((a, b) => {
768
+ switch (columns.find(i => i.name == sorting.name).format) {
769
+ case BiitTableColumnFormat.BOOLEAN:
770
+ if (a[sorting.name] == b[sorting.name])
771
+ return 0;
772
+ if (sorting.order == 'asc') {
773
+ return a[sorting.name] ? -1 : 1;
774
+ }
775
+ else {
776
+ return a[sorting.name] ? 1 : -1;
777
+ }
778
+ case BiitTableColumnFormat.DATE:
779
+ if (new Date(a[sorting.name]).getTime() == new Date(b[sorting.name]).getTime())
780
+ return 0;
781
+ if (sorting.order == 'asc') {
782
+ return (new Date(a[sorting.name]).getTime() > new Date(b[sorting.name]).getTime()) ? 1 : -1;
783
+ }
784
+ else {
785
+ return (new Date(a[sorting.name]).getTime() > new Date(b[sorting.name]).getTime()) ? -1 : 1;
786
+ }
787
+ default:
788
+ if (a[sorting.name] == b[sorting.name])
789
+ return 0;
790
+ if (sorting.order == 'asc') {
791
+ return a[sorting.name] > b[sorting.name] ? 1 : -1;
792
+ }
793
+ else {
794
+ return a[sorting.name] > b[sorting.name] ? -1 : 1;
795
+ }
796
+ }
797
+ });
798
+ }
799
+ else {
800
+ return data;
801
+ }
802
+ }
803
+ }
804
+
805
+ class Page {
806
+ constructor(pageNumber, pageSize, totalElements) {
807
+ this.totalElements = 0;
808
+ this.pageNumber = 0;
809
+ this.pageSize = 0;
810
+ this.pageNumber = pageNumber !== null && pageNumber !== void 0 ? pageNumber : 0;
811
+ this.pageSize = pageSize !== null && pageSize !== void 0 ? pageSize : 0;
812
+ this.totalElements = totalElements !== null && totalElements !== void 0 ? totalElements : 0;
813
+ }
814
+ }
815
+
816
+ class BiitDatatablePagerComponent extends DataTablePagerComponent {
817
+ constructor(biitIconService) {
818
+ super();
819
+ biitIconService.registerIcons(completeIconSet);
820
+ }
821
+ enforceMinMax(el) {
822
+ if (el.value != "") {
823
+ if (parseInt(el.value) < parseInt(el.min)) {
824
+ el.value = el.min;
825
+ }
826
+ if (parseInt(el.value) > parseInt(el.max)) {
827
+ el.value = el.max;
828
+ }
829
+ }
830
+ }
831
+ log(event) {
832
+ }
833
+ }
834
+ BiitDatatablePagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatablePagerComponent, deps: [{ token: i1$1.BiitIconService }], target: i0.ɵɵFactoryTarget.Component });
835
+ BiitDatatablePagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitDatatablePagerComponent, selector: "biit-datatable-pager", providers: [provideTranslocoScope({ scope: 'wizardry-theme/table', alias: 't' })], usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <div id=\"page-selector\" class=\"page-selector\">\n <button biit-icon id=\"arrow-first\"\n icon='right_double_arrow'\n class=\"horizontal-flip\"\n (click)=\"selectPage(1)\"\n [disabled]=\"!canPrevious()\"\n tooltip=\"{{t('t.first-page')}}\"\n ></button>\n <button biit-icon id=\"arrow-previous\"\n icon='right_arrow'\n class=\"compact horizontal-flip\"\n (click)=\"prevPage()\"\n [disabled]=\"!canPrevious()\"\n tooltip=\"{{t('t.previous-page')}}\"\n ></button>\n <div class=\"page-display\" (click)=\"input.focus()\">\n <input id=\"current-page\" #input\n [ngModel]=\"page\"\n readonly\n (keydown.arrowUp)=\"nextPage(); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.arrowRight)=\"nextPage(); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.arrowDown)=\"prevPage(); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.arrowLeft)=\"prevPage(); $event.stopPropagation(); $event.preventDefault();\"\n type=\"number\"\n [min]=\"1\"\n [max]=\"totalPages\"\n style=\"width: 2.5rem\">\n <span #label id=\"total-pages\">/{{ totalPages }}</span>\n </div>\n <button biit-icon id=\"arrow-next\"\n icon='right_arrow'\n class=\"compact\"\n (click)=\"nextPage()\"\n [disabled]=\"!canNext()\"\n tooltip=\"{{t('t.next-page')}}\"\n ></button>\n <button biit-icon id=\"arrow-last\"\n icon='right_double_arrow'\n (click)=\"selectPage(totalPages)\"\n [disabled]=\"!canNext()\"\n tooltip=\"{{t('t.last-page')}}\"\n ></button>\n </div>\n</ng-container>\n", styles: [".page-selector{display:flex;position:relative;align-items:center}.page-selector button[biit-icon].horizontal-flip{rotate:-180deg}.page-selector button[biit-icon].compact ::ng-deep .icon-button-svg{width:10px}.page-selector .page-display{position:relative;display:flex;align-items:baseline;padding:6px 14px;gap:14px;line-height:100%;font-weight:700;border-bottom:3px #262626 solid}.page-selector .page-display:hover{background:#D9D9D9}.page-selector .page-display:has(input:focus-visible){background:#D9D9D9}.page-selector .page-display input{all:unset;min-width:14px}.page-selector .page-display input[type=number]::-webkit-inner-spin-button,.page-selector .page-display input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-selector .page-display input[type=number]{-moz-appearance:textfield}.page-selector .page-display span{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "directive", type: i5.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i5$1.BiitTooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "ignorePadding"] }] });
836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatablePagerComponent, decorators: [{
837
+ type: Component,
838
+ args: [{ selector: 'biit-datatable-pager', providers: [provideTranslocoScope({ scope: 'wizardry-theme/table', alias: 't' })], template: "<ng-container *transloco=\"let t\">\n <div id=\"page-selector\" class=\"page-selector\">\n <button biit-icon id=\"arrow-first\"\n icon='right_double_arrow'\n class=\"horizontal-flip\"\n (click)=\"selectPage(1)\"\n [disabled]=\"!canPrevious()\"\n tooltip=\"{{t('t.first-page')}}\"\n ></button>\n <button biit-icon id=\"arrow-previous\"\n icon='right_arrow'\n class=\"compact horizontal-flip\"\n (click)=\"prevPage()\"\n [disabled]=\"!canPrevious()\"\n tooltip=\"{{t('t.previous-page')}}\"\n ></button>\n <div class=\"page-display\" (click)=\"input.focus()\">\n <input id=\"current-page\" #input\n [ngModel]=\"page\"\n readonly\n (keydown.arrowUp)=\"nextPage(); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.arrowRight)=\"nextPage(); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.arrowDown)=\"prevPage(); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.arrowLeft)=\"prevPage(); $event.stopPropagation(); $event.preventDefault();\"\n type=\"number\"\n [min]=\"1\"\n [max]=\"totalPages\"\n style=\"width: 2.5rem\">\n <span #label id=\"total-pages\">/{{ totalPages }}</span>\n </div>\n <button biit-icon id=\"arrow-next\"\n icon='right_arrow'\n class=\"compact\"\n (click)=\"nextPage()\"\n [disabled]=\"!canNext()\"\n tooltip=\"{{t('t.next-page')}}\"\n ></button>\n <button biit-icon id=\"arrow-last\"\n icon='right_double_arrow'\n (click)=\"selectPage(totalPages)\"\n [disabled]=\"!canNext()\"\n tooltip=\"{{t('t.last-page')}}\"\n ></button>\n </div>\n</ng-container>\n", styles: [".page-selector{display:flex;position:relative;align-items:center}.page-selector button[biit-icon].horizontal-flip{rotate:-180deg}.page-selector button[biit-icon].compact ::ng-deep .icon-button-svg{width:10px}.page-selector .page-display{position:relative;display:flex;align-items:baseline;padding:6px 14px;gap:14px;line-height:100%;font-weight:700;border-bottom:3px #262626 solid}.page-selector .page-display:hover{background:#D9D9D9}.page-selector .page-display:has(input:focus-visible){background:#D9D9D9}.page-selector .page-display input{all:unset;min-width:14px}.page-selector .page-display input[type=number]::-webkit-inner-spin-button,.page-selector .page-display input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-selector .page-display input[type=number]{-moz-appearance:textfield}.page-selector .page-display span{pointer-events:none}\n"] }]
839
+ }], ctorParameters: function () { return [{ type: i1$1.BiitIconService }]; } });
840
+
841
+ class BiitDatatableComponent {
842
+ set data(data) {
843
+ this._data = data !== null && data !== void 0 ? data : [];
844
+ this.allData = data !== null && data !== void 0 ? data : [];
845
+ this.selected = [];
846
+ }
847
+ get data() {
848
+ return this._data;
849
+ }
850
+ set columns(columns) {
851
+ this.allColumns = columns !== null && columns !== void 0 ? columns : [];
852
+ this._columns = columns.filter(c => c.visible);
853
+ }
854
+ get columns() {
855
+ return this._columns;
856
+ }
857
+ get selectedRows() {
858
+ return this.selected;
859
+ }
860
+ constructor(biitIconService) {
861
+ this._data = [];
862
+ this.allData = [];
863
+ this._columns = [];
864
+ this.allColumns = [];
865
+ this.selected = [];
866
+ this.pageSizeList = [];
867
+ this.loading = false;
868
+ this.search = "";
869
+ this.onSelection = new EventEmitter();
870
+ this.onPageChange = new EventEmitter();
871
+ this.ColumnMode = ColumnMode;
872
+ this.SelectionType = SelectionType;
873
+ this.BiitMultiselectType = BiitMultiselectType;
874
+ biitIconService.registerIcons(completeIconSet);
875
+ }
876
+ ngOnInit() {
877
+ this.selectable = coerceBooleanProperty(this.selectable);
878
+ this.singleSelection = coerceBooleanProperty(this.singleSelection);
879
+ this.scrollbarH = coerceBooleanProperty(this.scrollbarH);
880
+ this.hideHeader = coerceBooleanProperty(this.hideHeader);
881
+ this.hideFooter = coerceBooleanProperty(this.hideFooter);
882
+ this.serverSide = coerceBooleanProperty(this.serverSide);
883
+ }
884
+ onSelect({ selected }) {
885
+ this.selected.splice(0, this.selected.length);
886
+ this.selected.push(...selected);
887
+ this.onSelection.emit(this.selected);
888
+ }
889
+ onActivate(event) {
890
+ if (event.type == 'click' && event.column.name !== 'chkbox') {
891
+ this.selected = [event.row];
892
+ this.onSelection.emit(this.selected);
893
+ }
894
+ }
895
+ onFilter(value, force = false) {
896
+ if (this.findTimeout) {
897
+ clearTimeout(this.findTimeout);
898
+ }
899
+ this.findTimeout = setTimeout(() => {
900
+ this.search = value;
901
+ const val = value.toLowerCase();
902
+ // filter our data
903
+ const temp = this.allData.filter(item => GenericFilter.filter(item, val, true));
904
+ // update the rows
905
+ this._data = temp;
906
+ // Whenever the filter changes, always go back to the first page
907
+ this.table.offset = 0;
908
+ clearTimeout(this.findTimeout);
909
+ this.findTimeout = null;
910
+ }, force ? 0 : 500);
911
+ }
912
+ onFooterPageChange(event) {
913
+ const page = new Page(event.offset, event.pageSize, event.count);
914
+ this.onPageChange.emit(page);
915
+ }
916
+ setColumnVisibility(columns) {
917
+ this._columns = this.allColumns.filter(c => columns.includes(c));
918
+ }
919
+ }
920
+ BiitDatatableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatableComponent, deps: [{ token: i1$1.BiitIconService }], target: i0.ɵɵFactoryTarget.Component });
921
+ BiitDatatableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitDatatableComponent, selector: "biit-datatable", inputs: { data: "data", columns: "columns", pageSize: "pageSize", pageSizeList: "pageSizeList", loading: "loading", selectable: "selectable", singleSelection: "singleSelection", scrollbarH: "scrollbarH", hideHeader: "hideHeader", hideFooter: "hideFooter", serverSide: "serverSide", page: "page" }, outputs: { onSelection: "onSelection", onPageChange: "onPageChange" }, providers: [provideTranslocoScope({ scope: 'wizardry-theme/table', alias: 't' })], queries: [{ propertyName: "actionsTpl", first: true, predicate: ["actions"], descendants: true }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<div id=\"biit-table\" class=\"table-canvas\" *transloco=\"let t\">\n <div class=\"top\" *ngIf=\"!hideHeader\">\n <div id=\"menu\" class=\"action-bar\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu default-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div class=\"default-menu\" *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div id=\"options\" class=\"options\">\n <biit-input-text id=\"search\" #searchInput\n [ngModel]=\"search\"\n (onActionPerformed)=\"\n onFilter($event, true);\n \"\n (ngModelChange)=\"onFilter($event)\"\n (focusout)=\"searchInput.value = search\"\n icon=\"search\"\n [placeholder]=\"t('t.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"_columns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"allColumns\"\n label=\"name\"\n value=\"visible\"\n [type]=\"BiitMultiselectType.ICON\"\n [title]=\"t('t.column-selector')\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n <div id=\"content\" class=\"table\">\n <biit-progress-bar *ngIf=\"loading\"></biit-progress-bar>\n <ng-container *ngIf=\"!serverSide\">\n <ngx-datatable #table\n [rows]=\"data\"\n [columns]=\"_columns\"\n [columnMode]=\"'force'\"\n [headerHeight]=\"42\"\n [footerHeight]=\"hideFooter ? 0 : 34\"\n [rowHeight]=\"'auto'\"\n [reorderable]=\"false\"\n [selectionType]=\"SelectionType.checkbox\"\n [selected]=\"selected\"\n (select)=\"onSelect($event)\"\n (activate)=\"onActivate($event)\"\n [virtualization]=\"false\"\n [scrollbarVDynamic]=\"true\"\n [limit]=\"pageSize\"\n [scrollbarH]=\"scrollbarH\"\n [messages]=\"{emptyMessage: t('t.empty-message')}\"\n >\n <ngx-datatable-column *ngIf=\"selectable && !singleSelection\"\n #chkbox\n [width]=\"42\"\n [sortable]=\"false\"\n [canAutoResize]=\"false\"\n [draggable]=\"false\"\n [resizeable]=\"false\"\n [name]=\"'chkbox'\"\n >\n <ng-template\n ngx-datatable-header-template\n let-value=\"value\"\n let-allRowsSelected=\"allRowsSelected\"\n let-selectFn=\"selectFn\"\n >\n <biit-checkbox [ngModel]=\"allRowsSelected\" (ngModelChange)=\"selectFn(!allRowsSelected)\"></biit-checkbox>\n </ng-template>\n <ng-template\n ngx-datatable-cell-template\n let-value=\"value\"\n let-isSelected=\"isSelected\"\n let-onCheckboxChangeFn=\"onCheckboxChangeFn\"\n >\n <biit-checkbox [ngModel]=\"isSelected\" (ngModelChange)=\"onCheckboxChangeFn($event)\"></biit-checkbox>\n </ng-template>\n </ngx-datatable-column>\n\n <ngx-datatable-column *ngFor=\"let column of _columns\"\n [name]=\"column.name\"\n [prop]=\"column.prop\"\n [checkboxable]=\"column.checkboxable\"\n [frozenLeft]=\"column.frozenLeft\"\n [frozenRight]=\"column.frozenRight\"\n [flexGrow]=\"column.flexGrow\"\n [minWidth]=\"column.minWidth\"\n [maxWidth]=\"column.maxWidth\"\n [width]=\"column.width\"\n [resizeable]=\"column.resizeable\"\n [comparator]=\"column.comparator\"\n [pipe]=\"column.pipe\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [canAutoResize]=\"column.canAutoResize\"\n [cellTemplate]=\"column.cellTemplate\"\n [ghostCellTemplate]=\"column.ghostCellTemplate\"\n [treeToggleTemplate]=\"column.treeToggleTemplate\"\n [cellClass]=\"column.cellClass\"\n [headerTemplate]=\"column.headerTemplate\"\n [headerClass]=\"column.headerClass\"\n [headerCheckboxable]=\"column.headerCheckboxable\"\n [isTreeColumn]=\"column.isTreeColumn\"\n [treeLevelIndent]=\"column.treeLevelIndent\"\n [summaryFunc]=\"column.summaryFunc\"\n [summaryTemplate]=\"column.summaryTemplate\"\n ></ngx-datatable-column>\n\n <ngx-datatable-footer id=\"datatable-footer\">\n <ng-template\n ngx-datatable-footer-template\n let-rowCount=\"rowCount\"\n let-pageSizeCurrent=\"pageSize\"\n let-selectedCount=\"selectedCount\"\n let-curPage=\"curPage\"\n let-offset=\"offset\"\n >\n <div class=\"label\">\n <span>{{ t('t.total') }}: </span><span id=\"total-number-of-items\">{{rowCount}}</span>\n <span *ngIf=\"selectedCount\">&nbsp;&nbsp;|&nbsp;&nbsp;{{ t('t.selected') }}: </span><span *ngIf=\"selectedCount\" id=\"number-of-items-selected\">{{selectedCount}}</span>\n </div>\n <div class=\"pagination\" [style.display]=\"!((rowCount / pageSize) > 1) ? 'none' : null\">\n <biit-datatable-pager #pager\n [page]=\"curPage\"\n [size]=\"pageSizeCurrent\"\n [count]=\"rowCount\"\n [hidden]=\"!((rowCount / pageSize) > 1)\"\n (change)=\"table.onFooterPage($event)\">\n </biit-datatable-pager>\n </div>\n <div class=\"page-items\" *ngIf=\"pageSizeList\">\n <div *ngIf=\"pageSizeList?.length\">\n <span>{{ t('t.rows-per-page') }}:</span>\n <select [(ngModel)]=\"pageSize\"\n (ngModelChange)=\"pager.size = $event\">\n <option *ngFor=\"let size of pageSizeList\"\n [ngValue]=\"size\"\n >\n {{size}}\n </option>\n </select>\n </div>\n </div>\n </ng-template>\n </ngx-datatable-footer>\n </ngx-datatable>\n </ng-container>\n\n <ng-container *ngIf=\"serverSide\">\n <ngx-datatable #table\n [rows]=\"data\"\n [columns]=\"_columns\"\n [columnMode]=\"'force'\"\n [headerHeight]=\"42\"\n [footerHeight]=\"hideFooter ? 0 : 34\"\n [rowHeight]=\"'auto'\"\n [reorderable]=\"false\"\n [selectionType]=\"SelectionType.checkbox\"\n [selected]=\"selected\"\n (select)=\"onSelect($event)\"\n (activate)=\"onActivate($event)\"\n [virtualization]=\"false\"\n [scrollbarVDynamic]=\"true\"\n [scrollbarH]=\"scrollbarH\"\n [messages]=\"{emptyMessage: t('t.empty-message')}\"\n [externalPaging]=\"true\"\n [count]=\"page.totalElements\"\n [offset]=\"page.pageNumber\"\n [limit]=\"page.pageSize\"\n (page)=\"onFooterPageChange($event)\"\n >\n <ngx-datatable-column *ngIf=\"selectable && !singleSelection\"\n #chkbox\n [width]=\"42\"\n [sortable]=\"false\"\n [canAutoResize]=\"false\"\n [draggable]=\"false\"\n [resizeable]=\"false\"\n [name]=\"'chkbox'\"\n >\n <ng-template\n ngx-datatable-header-template\n let-value=\"value\"\n let-allRowsSelected=\"allRowsSelected\"\n let-selectFn=\"selectFn\"\n >\n <biit-checkbox [ngModel]=\"allRowsSelected\" (ngModelChange)=\"selectFn(!allRowsSelected)\"></biit-checkbox>\n </ng-template>\n <ng-template\n ngx-datatable-cell-template\n let-value=\"value\"\n let-isSelected=\"isSelected\"\n let-onCheckboxChangeFn=\"onCheckboxChangeFn\"\n >\n <biit-checkbox [ngModel]=\"isSelected\" (ngModelChange)=\"onCheckboxChangeFn($event)\"></biit-checkbox>\n </ng-template>\n </ngx-datatable-column>\n\n <ngx-datatable-column *ngFor=\"let column of _columns\"\n [name]=\"column.name\"\n [prop]=\"column.prop\"\n [checkboxable]=\"column.checkboxable\"\n [frozenLeft]=\"column.frozenLeft\"\n [frozenRight]=\"column.frozenRight\"\n [flexGrow]=\"column.flexGrow\"\n [minWidth]=\"column.minWidth\"\n [maxWidth]=\"column.maxWidth\"\n [width]=\"column.width\"\n [resizeable]=\"column.resizeable\"\n [comparator]=\"column.comparator\"\n [pipe]=\"column.pipe\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [canAutoResize]=\"column.canAutoResize\"\n [cellTemplate]=\"column.cellTemplate\"\n [ghostCellTemplate]=\"column.ghostCellTemplate\"\n [treeToggleTemplate]=\"column.treeToggleTemplate\"\n [cellClass]=\"column.cellClass\"\n [headerTemplate]=\"column.headerTemplate\"\n [headerClass]=\"column.headerClass\"\n [headerCheckboxable]=\"column.headerCheckboxable\"\n [isTreeColumn]=\"column.isTreeColumn\"\n [treeLevelIndent]=\"column.treeLevelIndent\"\n [summaryFunc]=\"column.summaryFunc\"\n [summaryTemplate]=\"column.summaryTemplate\"\n ></ngx-datatable-column>\n\n <ngx-datatable-footer>\n <ng-template\n ngx-datatable-footer-template\n let-rowCount=\"rowCount\"\n let-pageSizeCurrent=\"pageSize\"\n let-selectedCount=\"selectedCount\"\n let-curPage=\"curPage\"\n let-offset=\"offset\"\n >\n <div class=\"label\" id=\"total-elements\">\n <span>{{ t('t.total') }}: {{rowCount}}</span>\n <span *ngIf=\"selectedCount\">&nbsp;&nbsp;|&nbsp;&nbsp;{{ t('t.selected') }}: {{selectedCount}}</span>\n </div>\n <div class=\"pagination\" [style.display]=\"!((rowCount / pageSize) > 1) ? 'none' : null\">\n <biit-datatable-pager #pager\n [page]=\"curPage\"\n [size]=\"pageSizeCurrent\"\n [count]=\"rowCount\"\n [hidden]=\"!((rowCount / pageSize) > 1)\"\n (change)=\"table.onFooterPage($event)\">\n </biit-datatable-pager>\n </div>\n <div class=\"page-items\" *ngIf=\"pageSizeList\">\n <div *ngIf=\"pageSizeList?.length\">\n <span>{{ t('t.rows-per-page') }}:</span>\n <select [(ngModel)]=\"pageSize\"\n (ngModelChange)=\"pager.size = $event\">\n <option *ngFor=\"let size of pageSizeList\"\n [ngValue]=\"size\"\n >\n {{size}}\n </option>\n </select>\n </div>\n </div>\n </ng-template>\n </ngx-datatable-footer>\n </ngx-datatable>\n </ng-container>\n </div>\n</div>\n", styles: [".table-canvas{height:100%;display:flex;flex-direction:column;gap:14px;background:white}.table-canvas .top{display:flex;flex:0}.table-canvas .top .action-bar{display:flex;flex:1}.table-canvas .top .options{display:flex;flex:0}.table-canvas .table{position:relative;flex:1;min-height:0;min-width:0}.table-canvas .table biit-progress-bar{position:absolute;z-index:1;left:0;right:3px;top:42px}.table-canvas .table ::ng-deep ngx-datatable{height:100%;position:absolute;inset:0}.table-canvas .table ::ng-deep ngx-datatable>div{height:calc(100% - 42px)}.table-canvas .table ::ng-deep ngx-datatable>div>div{height:100%}.table-canvas .table ::ng-deep ngx-datatable datatable-header .datatable-header-inner{height:inherit}.table-canvas .table ::ng-deep ngx-datatable datatable-header .datatable-header-inner .datatable-header-cell-template-wrap{height:100%!important;width:calc(100% - 3px);display:flex;align-items:center;justify-content:center;background:#262626}.table-canvas .table ::ng-deep ngx-datatable datatable-header .datatable-header-inner .datatable-header-cell-template-wrap span{color:#ededed;font-size:16px;line-height:100%;font-weight:700;text-transform:uppercase}.table-canvas .table ::ng-deep ngx-datatable datatable-header .datatable-header-inner .datatable-header-cell-template-wrap .sort-btn{position:absolute;right:14px}.table-canvas .table ::ng-deep ngx-datatable datatable-header .datatable-header-inner .datatable-header-cell-template-wrap:has(biit-checkbox){background:white}.table-canvas .table ::ng-deep ngx-datatable datatable-body{height:100%!important;overflow-y:auto!important}.table-canvas .table ::ng-deep ngx-datatable datatable-body .empty-row{height:100%;display:flex;align-items:center;justify-content:center}.table-canvas .table ::ng-deep ngx-datatable datatable-body datatable-body-row .datatable-body-cell-label{display:flex;align-items:center;min-height:42px;border-bottom:3px solid #262626;width:calc(100% - 3px);padding:9px 14px;line-height:120%;height:100%}.table-canvas .table ::ng-deep ngx-datatable datatable-body datatable-body-row:hover .datatable-body-cell-label{background:#EDEDED}.table-canvas .table ::ng-deep ngx-datatable datatable-body datatable-body-row.active .datatable-body-cell-label{background:#D9D9D9}.table-canvas .table ::ng-deep ngx-datatable datatable-footer{position:absolute;bottom:0;background:white;z-index:10}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .label{flex:1 0}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .pagination{display:flex;margin:auto;flex:0;justify-content:center}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .pagination biit-datatable-pager{flex:none!important}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .page-items{flex:1 0;display:flex;justify-content:flex-end;align-items:center}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .page-items select{appearance:none;border:none;height:34px;min-width:34px;padding:8px 14px;text-align:end;font-size:14px;font-family:Montserrat,serif;cursor:pointer;background:white}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .page-items select:focus-visible{outline:none;background:#D9D9D9}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .page-items select:hover{background:#D9D9D9}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .page-items select *{background:white;padding:5px}.table-canvas .table ::ng-deep ngx-datatable:has(datatable-footer) datatable-body{height:calc(100% - 48px)!important}::ng-deep ngx-datatable .auto-details-height .datatable-row-wrapper{height:unset!important}::ng-deep ngx-datatable .auto-details-height .datatable-row-wrapper .datatable-row-detail{height:unset!important}.default-menu{display:flex;flex-direction:row}@media screen and (max-width: 600px){.page-items,.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"] }, { kind: "component", type: BiitDatatablePagerComponent, selector: "biit-datatable-pager" }, { 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: i6.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarVDynamic", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "ghostLoadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "disableRowCheck", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i6.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate", "ghostCellTemplate"] }, { kind: "directive", type: i6.DataTableColumnHeaderDirective, selector: "[ngx-datatable-header-template]" }, { kind: "directive", type: i6.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "directive", type: i6.DataTableFooterTemplateDirective, selector: "[ngx-datatable-footer-template]" }, { kind: "directive", type: i6.DatatableFooterDirective, selector: "ngx-datatable-footer", inputs: ["footerHeight", "totalMessage", "selectedMessage", "pagerLeftArrowIcon", "pagerRightArrowIcon", "pagerPreviousIcon", "pagerNextIcon", "template"] }, { kind: "component", type: i5$1.BiitProgressBarComponent, selector: "biit-progress-bar", inputs: ["type", "_value", "value"] }, { kind: "component", type: i4.BiitMultiselectComponent, selector: "biit-multiselect", inputs: ["title", "type", "icon", "label", "value", "descriptionField", "description", "data", "primitive", "compact", "disabled", "required", "sort-asc", "sort-desc"], outputs: ["onCreate"] }, { kind: "directive", type: i5.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i4.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "component", type: i9.BiitVerticalMenuComponent, selector: "biit-vertical-menu" }] });
922
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatableComponent, decorators: [{
923
+ type: Component,
924
+ args: [{ selector: 'biit-datatable', providers: [provideTranslocoScope({ scope: 'wizardry-theme/table', alias: 't' })], template: "<div id=\"biit-table\" class=\"table-canvas\" *transloco=\"let t\">\n <div class=\"top\" *ngIf=\"!hideHeader\">\n <div id=\"menu\" class=\"action-bar\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu default-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div class=\"default-menu\" *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div id=\"options\" class=\"options\">\n <biit-input-text id=\"search\" #searchInput\n [ngModel]=\"search\"\n (onActionPerformed)=\"\n onFilter($event, true);\n \"\n (ngModelChange)=\"onFilter($event)\"\n (focusout)=\"searchInput.value = search\"\n icon=\"search\"\n [placeholder]=\"t('t.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"_columns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"allColumns\"\n label=\"name\"\n value=\"visible\"\n [type]=\"BiitMultiselectType.ICON\"\n [title]=\"t('t.column-selector')\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n <div id=\"content\" class=\"table\">\n <biit-progress-bar *ngIf=\"loading\"></biit-progress-bar>\n <ng-container *ngIf=\"!serverSide\">\n <ngx-datatable #table\n [rows]=\"data\"\n [columns]=\"_columns\"\n [columnMode]=\"'force'\"\n [headerHeight]=\"42\"\n [footerHeight]=\"hideFooter ? 0 : 34\"\n [rowHeight]=\"'auto'\"\n [reorderable]=\"false\"\n [selectionType]=\"SelectionType.checkbox\"\n [selected]=\"selected\"\n (select)=\"onSelect($event)\"\n (activate)=\"onActivate($event)\"\n [virtualization]=\"false\"\n [scrollbarVDynamic]=\"true\"\n [limit]=\"pageSize\"\n [scrollbarH]=\"scrollbarH\"\n [messages]=\"{emptyMessage: t('t.empty-message')}\"\n >\n <ngx-datatable-column *ngIf=\"selectable && !singleSelection\"\n #chkbox\n [width]=\"42\"\n [sortable]=\"false\"\n [canAutoResize]=\"false\"\n [draggable]=\"false\"\n [resizeable]=\"false\"\n [name]=\"'chkbox'\"\n >\n <ng-template\n ngx-datatable-header-template\n let-value=\"value\"\n let-allRowsSelected=\"allRowsSelected\"\n let-selectFn=\"selectFn\"\n >\n <biit-checkbox [ngModel]=\"allRowsSelected\" (ngModelChange)=\"selectFn(!allRowsSelected)\"></biit-checkbox>\n </ng-template>\n <ng-template\n ngx-datatable-cell-template\n let-value=\"value\"\n let-isSelected=\"isSelected\"\n let-onCheckboxChangeFn=\"onCheckboxChangeFn\"\n >\n <biit-checkbox [ngModel]=\"isSelected\" (ngModelChange)=\"onCheckboxChangeFn($event)\"></biit-checkbox>\n </ng-template>\n </ngx-datatable-column>\n\n <ngx-datatable-column *ngFor=\"let column of _columns\"\n [name]=\"column.name\"\n [prop]=\"column.prop\"\n [checkboxable]=\"column.checkboxable\"\n [frozenLeft]=\"column.frozenLeft\"\n [frozenRight]=\"column.frozenRight\"\n [flexGrow]=\"column.flexGrow\"\n [minWidth]=\"column.minWidth\"\n [maxWidth]=\"column.maxWidth\"\n [width]=\"column.width\"\n [resizeable]=\"column.resizeable\"\n [comparator]=\"column.comparator\"\n [pipe]=\"column.pipe\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [canAutoResize]=\"column.canAutoResize\"\n [cellTemplate]=\"column.cellTemplate\"\n [ghostCellTemplate]=\"column.ghostCellTemplate\"\n [treeToggleTemplate]=\"column.treeToggleTemplate\"\n [cellClass]=\"column.cellClass\"\n [headerTemplate]=\"column.headerTemplate\"\n [headerClass]=\"column.headerClass\"\n [headerCheckboxable]=\"column.headerCheckboxable\"\n [isTreeColumn]=\"column.isTreeColumn\"\n [treeLevelIndent]=\"column.treeLevelIndent\"\n [summaryFunc]=\"column.summaryFunc\"\n [summaryTemplate]=\"column.summaryTemplate\"\n ></ngx-datatable-column>\n\n <ngx-datatable-footer id=\"datatable-footer\">\n <ng-template\n ngx-datatable-footer-template\n let-rowCount=\"rowCount\"\n let-pageSizeCurrent=\"pageSize\"\n let-selectedCount=\"selectedCount\"\n let-curPage=\"curPage\"\n let-offset=\"offset\"\n >\n <div class=\"label\">\n <span>{{ t('t.total') }}: </span><span id=\"total-number-of-items\">{{rowCount}}</span>\n <span *ngIf=\"selectedCount\">&nbsp;&nbsp;|&nbsp;&nbsp;{{ t('t.selected') }}: </span><span *ngIf=\"selectedCount\" id=\"number-of-items-selected\">{{selectedCount}}</span>\n </div>\n <div class=\"pagination\" [style.display]=\"!((rowCount / pageSize) > 1) ? 'none' : null\">\n <biit-datatable-pager #pager\n [page]=\"curPage\"\n [size]=\"pageSizeCurrent\"\n [count]=\"rowCount\"\n [hidden]=\"!((rowCount / pageSize) > 1)\"\n (change)=\"table.onFooterPage($event)\">\n </biit-datatable-pager>\n </div>\n <div class=\"page-items\" *ngIf=\"pageSizeList\">\n <div *ngIf=\"pageSizeList?.length\">\n <span>{{ t('t.rows-per-page') }}:</span>\n <select [(ngModel)]=\"pageSize\"\n (ngModelChange)=\"pager.size = $event\">\n <option *ngFor=\"let size of pageSizeList\"\n [ngValue]=\"size\"\n >\n {{size}}\n </option>\n </select>\n </div>\n </div>\n </ng-template>\n </ngx-datatable-footer>\n </ngx-datatable>\n </ng-container>\n\n <ng-container *ngIf=\"serverSide\">\n <ngx-datatable #table\n [rows]=\"data\"\n [columns]=\"_columns\"\n [columnMode]=\"'force'\"\n [headerHeight]=\"42\"\n [footerHeight]=\"hideFooter ? 0 : 34\"\n [rowHeight]=\"'auto'\"\n [reorderable]=\"false\"\n [selectionType]=\"SelectionType.checkbox\"\n [selected]=\"selected\"\n (select)=\"onSelect($event)\"\n (activate)=\"onActivate($event)\"\n [virtualization]=\"false\"\n [scrollbarVDynamic]=\"true\"\n [scrollbarH]=\"scrollbarH\"\n [messages]=\"{emptyMessage: t('t.empty-message')}\"\n [externalPaging]=\"true\"\n [count]=\"page.totalElements\"\n [offset]=\"page.pageNumber\"\n [limit]=\"page.pageSize\"\n (page)=\"onFooterPageChange($event)\"\n >\n <ngx-datatable-column *ngIf=\"selectable && !singleSelection\"\n #chkbox\n [width]=\"42\"\n [sortable]=\"false\"\n [canAutoResize]=\"false\"\n [draggable]=\"false\"\n [resizeable]=\"false\"\n [name]=\"'chkbox'\"\n >\n <ng-template\n ngx-datatable-header-template\n let-value=\"value\"\n let-allRowsSelected=\"allRowsSelected\"\n let-selectFn=\"selectFn\"\n >\n <biit-checkbox [ngModel]=\"allRowsSelected\" (ngModelChange)=\"selectFn(!allRowsSelected)\"></biit-checkbox>\n </ng-template>\n <ng-template\n ngx-datatable-cell-template\n let-value=\"value\"\n let-isSelected=\"isSelected\"\n let-onCheckboxChangeFn=\"onCheckboxChangeFn\"\n >\n <biit-checkbox [ngModel]=\"isSelected\" (ngModelChange)=\"onCheckboxChangeFn($event)\"></biit-checkbox>\n </ng-template>\n </ngx-datatable-column>\n\n <ngx-datatable-column *ngFor=\"let column of _columns\"\n [name]=\"column.name\"\n [prop]=\"column.prop\"\n [checkboxable]=\"column.checkboxable\"\n [frozenLeft]=\"column.frozenLeft\"\n [frozenRight]=\"column.frozenRight\"\n [flexGrow]=\"column.flexGrow\"\n [minWidth]=\"column.minWidth\"\n [maxWidth]=\"column.maxWidth\"\n [width]=\"column.width\"\n [resizeable]=\"column.resizeable\"\n [comparator]=\"column.comparator\"\n [pipe]=\"column.pipe\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [canAutoResize]=\"column.canAutoResize\"\n [cellTemplate]=\"column.cellTemplate\"\n [ghostCellTemplate]=\"column.ghostCellTemplate\"\n [treeToggleTemplate]=\"column.treeToggleTemplate\"\n [cellClass]=\"column.cellClass\"\n [headerTemplate]=\"column.headerTemplate\"\n [headerClass]=\"column.headerClass\"\n [headerCheckboxable]=\"column.headerCheckboxable\"\n [isTreeColumn]=\"column.isTreeColumn\"\n [treeLevelIndent]=\"column.treeLevelIndent\"\n [summaryFunc]=\"column.summaryFunc\"\n [summaryTemplate]=\"column.summaryTemplate\"\n ></ngx-datatable-column>\n\n <ngx-datatable-footer>\n <ng-template\n ngx-datatable-footer-template\n let-rowCount=\"rowCount\"\n let-pageSizeCurrent=\"pageSize\"\n let-selectedCount=\"selectedCount\"\n let-curPage=\"curPage\"\n let-offset=\"offset\"\n >\n <div class=\"label\" id=\"total-elements\">\n <span>{{ t('t.total') }}: {{rowCount}}</span>\n <span *ngIf=\"selectedCount\">&nbsp;&nbsp;|&nbsp;&nbsp;{{ t('t.selected') }}: {{selectedCount}}</span>\n </div>\n <div class=\"pagination\" [style.display]=\"!((rowCount / pageSize) > 1) ? 'none' : null\">\n <biit-datatable-pager #pager\n [page]=\"curPage\"\n [size]=\"pageSizeCurrent\"\n [count]=\"rowCount\"\n [hidden]=\"!((rowCount / pageSize) > 1)\"\n (change)=\"table.onFooterPage($event)\">\n </biit-datatable-pager>\n </div>\n <div class=\"page-items\" *ngIf=\"pageSizeList\">\n <div *ngIf=\"pageSizeList?.length\">\n <span>{{ t('t.rows-per-page') }}:</span>\n <select [(ngModel)]=\"pageSize\"\n (ngModelChange)=\"pager.size = $event\">\n <option *ngFor=\"let size of pageSizeList\"\n [ngValue]=\"size\"\n >\n {{size}}\n </option>\n </select>\n </div>\n </div>\n </ng-template>\n </ngx-datatable-footer>\n </ngx-datatable>\n </ng-container>\n </div>\n</div>\n", styles: [".table-canvas{height:100%;display:flex;flex-direction:column;gap:14px;background:white}.table-canvas .top{display:flex;flex:0}.table-canvas .top .action-bar{display:flex;flex:1}.table-canvas .top .options{display:flex;flex:0}.table-canvas .table{position:relative;flex:1;min-height:0;min-width:0}.table-canvas .table biit-progress-bar{position:absolute;z-index:1;left:0;right:3px;top:42px}.table-canvas .table ::ng-deep ngx-datatable{height:100%;position:absolute;inset:0}.table-canvas .table ::ng-deep ngx-datatable>div{height:calc(100% - 42px)}.table-canvas .table ::ng-deep ngx-datatable>div>div{height:100%}.table-canvas .table ::ng-deep ngx-datatable datatable-header .datatable-header-inner{height:inherit}.table-canvas .table ::ng-deep ngx-datatable datatable-header .datatable-header-inner .datatable-header-cell-template-wrap{height:100%!important;width:calc(100% - 3px);display:flex;align-items:center;justify-content:center;background:#262626}.table-canvas .table ::ng-deep ngx-datatable datatable-header .datatable-header-inner .datatable-header-cell-template-wrap span{color:#ededed;font-size:16px;line-height:100%;font-weight:700;text-transform:uppercase}.table-canvas .table ::ng-deep ngx-datatable datatable-header .datatable-header-inner .datatable-header-cell-template-wrap .sort-btn{position:absolute;right:14px}.table-canvas .table ::ng-deep ngx-datatable datatable-header .datatable-header-inner .datatable-header-cell-template-wrap:has(biit-checkbox){background:white}.table-canvas .table ::ng-deep ngx-datatable datatable-body{height:100%!important;overflow-y:auto!important}.table-canvas .table ::ng-deep ngx-datatable datatable-body .empty-row{height:100%;display:flex;align-items:center;justify-content:center}.table-canvas .table ::ng-deep ngx-datatable datatable-body datatable-body-row .datatable-body-cell-label{display:flex;align-items:center;min-height:42px;border-bottom:3px solid #262626;width:calc(100% - 3px);padding:9px 14px;line-height:120%;height:100%}.table-canvas .table ::ng-deep ngx-datatable datatable-body datatable-body-row:hover .datatable-body-cell-label{background:#EDEDED}.table-canvas .table ::ng-deep ngx-datatable datatable-body datatable-body-row.active .datatable-body-cell-label{background:#D9D9D9}.table-canvas .table ::ng-deep ngx-datatable datatable-footer{position:absolute;bottom:0;background:white;z-index:10}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .label{flex:1 0}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .pagination{display:flex;margin:auto;flex:0;justify-content:center}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .pagination biit-datatable-pager{flex:none!important}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .page-items{flex:1 0;display:flex;justify-content:flex-end;align-items:center}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .page-items select{appearance:none;border:none;height:34px;min-width:34px;padding:8px 14px;text-align:end;font-size:14px;font-family:Montserrat,serif;cursor:pointer;background:white}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .page-items select:focus-visible{outline:none;background:#D9D9D9}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .page-items select:hover{background:#D9D9D9}.table-canvas .table ::ng-deep ngx-datatable datatable-footer .datatable-footer-inner .page-items select *{background:white;padding:5px}.table-canvas .table ::ng-deep ngx-datatable:has(datatable-footer) datatable-body{height:calc(100% - 48px)!important}::ng-deep ngx-datatable .auto-details-height .datatable-row-wrapper{height:unset!important}::ng-deep ngx-datatable .auto-details-height .datatable-row-wrapper .datatable-row-detail{height:unset!important}.default-menu{display:flex;flex-direction:row}@media screen and (max-width: 600px){.page-items,.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\n"] }]
925
+ }], ctorParameters: function () { return [{ type: i1$1.BiitIconService }]; }, propDecorators: { table: [{
926
+ type: ViewChild,
927
+ args: ['table']
928
+ }], data: [{
929
+ type: Input
930
+ }], columns: [{
931
+ type: Input
932
+ }], pageSize: [{
933
+ type: Input
934
+ }], pageSizeList: [{
935
+ type: Input
936
+ }], loading: [{
937
+ type: Input
938
+ }], selectable: [{
939
+ type: Input
940
+ }], singleSelection: [{
941
+ type: Input
942
+ }], scrollbarH: [{
943
+ type: Input
944
+ }], hideHeader: [{
945
+ type: Input
946
+ }], hideFooter: [{
947
+ type: Input
948
+ }], serverSide: [{
949
+ type: Input
950
+ }], page: [{
951
+ type: Input
952
+ }], onSelection: [{
953
+ type: Output
954
+ }], onPageChange: [{
955
+ type: Output
956
+ }], actionsTpl: [{
957
+ type: ContentChild,
958
+ args: ['actions']
959
+ }] } });
960
+
961
+ class BiitDatatablePagerModule {
962
+ }
963
+ BiitDatatablePagerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatablePagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
964
+ BiitDatatablePagerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatablePagerModule, declarations: [BiitDatatablePagerComponent], imports: [CommonModule,
965
+ FormsModule,
966
+ BiitIconModule,
967
+ BiitIconButtonModule,
968
+ TranslocoRootModule,
969
+ BiitTooltipModule], exports: [BiitDatatablePagerComponent] });
970
+ BiitDatatablePagerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatablePagerModule, imports: [CommonModule,
971
+ FormsModule,
972
+ BiitIconModule,
973
+ BiitIconButtonModule,
974
+ TranslocoRootModule,
975
+ BiitTooltipModule] });
976
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatablePagerModule, decorators: [{
977
+ type: NgModule,
978
+ args: [{
979
+ declarations: [BiitDatatablePagerComponent],
980
+ exports: [BiitDatatablePagerComponent],
981
+ imports: [
982
+ CommonModule,
983
+ FormsModule,
984
+ BiitIconModule,
985
+ BiitIconButtonModule,
986
+ TranslocoRootModule,
987
+ BiitTooltipModule
988
+ ]
989
+ }]
990
+ }] });
991
+
992
+ class BiitDatatableModule {
993
+ }
994
+ BiitDatatableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
995
+ BiitDatatableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatableModule, declarations: [BiitDatatableComponent], imports: [FormsModule,
996
+ NgTemplateOutlet,
997
+ BiitCheckboxModule,
998
+ BiitDatatablePagerModule,
999
+ NgForOf,
1000
+ NgIf,
1001
+ NgxDatatableModule,
1002
+ BiitProgressBarModule,
1003
+ BiitMultiselectModule,
1004
+ TranslocoModule,
1005
+ BiitInputTextModule,
1006
+ BiitVerticalMenuModule], exports: [BiitDatatableComponent] });
1007
+ BiitDatatableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatableModule, imports: [FormsModule,
1008
+ BiitCheckboxModule,
1009
+ BiitDatatablePagerModule,
1010
+ NgxDatatableModule,
1011
+ BiitProgressBarModule,
1012
+ BiitMultiselectModule,
1013
+ TranslocoModule,
1014
+ BiitInputTextModule,
1015
+ BiitVerticalMenuModule] });
1016
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatableModule, decorators: [{
1017
+ type: NgModule,
1018
+ args: [{
1019
+ declarations: [
1020
+ BiitDatatableComponent
1021
+ ],
1022
+ exports: [
1023
+ BiitDatatableComponent
1024
+ ],
1025
+ imports: [
1026
+ FormsModule,
1027
+ NgTemplateOutlet,
1028
+ BiitCheckboxModule,
1029
+ BiitDatatablePagerModule,
1030
+ NgForOf,
1031
+ NgIf,
1032
+ NgxDatatableModule,
1033
+ BiitProgressBarModule,
1034
+ BiitMultiselectModule,
1035
+ TranslocoModule,
1036
+ BiitInputTextModule,
1037
+ BiitVerticalMenuModule
1038
+ ],
1039
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
1040
+ }]
1041
+ }] });
1042
+
1043
+ class DatatableColumn {
1044
+ constructor(name, prop, visible, width, sortable, pipe, cellTemplate, cellClass, comparator) {
1045
+ this.name = name;
1046
+ this.prop = prop;
1047
+ this.visible = visible !== null && visible !== void 0 ? visible : true;
1048
+ this.width = width !== null && width !== void 0 ? width : undefined;
1049
+ this.minWidth = width !== null && width !== void 0 ? width : undefined;
1050
+ this.sortable = sortable !== null && sortable !== void 0 ? sortable : true;
1051
+ this.pipe = pipe !== null && pipe !== void 0 ? pipe : undefined;
1052
+ this.cellTemplate = cellTemplate !== null && cellTemplate !== void 0 ? cellTemplate : undefined;
1053
+ this.cellClass = cellClass !== null && cellClass !== void 0 ? cellClass : undefined;
1054
+ this.comparator = comparator !== null && comparator !== void 0 ? comparator : undefined;
1055
+ }
1056
+ }
1057
+
1058
+ /*
1059
+ * Public API Surface of wizardry-theme/button
1060
+ */
1061
+
1062
+ /**
1063
+ * Generated bundle index. Do not edit.
1064
+ */
1065
+
1066
+ export { BiitDatatableComponent, BiitDatatableModule, BiitPaginatorComponent, BiitPaginatorModule, BiitPaginatorOptions, BiitTableActionResponse, BiitTableColumn, BiitTableColumnFormat, BiitTableComponent, BiitTableData, BiitTableFooterlessDirective, BiitTableHeaderlessDirective, BiitTableModule, BiitTableResponse, BiitTableSelectableDirective, BiitTableSelectableSingleDirective, BiitTableSortableDirective, BiitTableSorting, BiitTableSortingOrder, DatatableColumn, GenericFilter, GenericSort, Page };
1067
+ //# sourceMappingURL=biit-solutions-wizardry-theme-table.mjs.map