@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,1064 @@
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
+ if (!this.selectorList.nativeElement?.contains($event.target) &&
114
+ !this.selectorBtn.nativeElement?.contains($event.target) &&
115
+ this.dropdownOpen) {
116
+ this.closeDropdown();
117
+ }
118
+ }
119
+ handleKeyboardEvents($event) {
120
+ switch ($event.key) {
121
+ case 'ArrowUp':
122
+ if (document.activeElement === this.selectorBtn.nativeElement) {
123
+ if (this.paginator.pageSizeOptions.findIndex(i => i == this.paginator.pageSize) > 0) {
124
+ this.paginator.pageSize = this.paginator.pageSizeOptions[this.paginator.pageSizeOptions.findIndex(i => i == this.paginator.pageSize) - 1];
125
+ this.paginator.currentPage = 1;
126
+ this.onChange(this.paginator);
127
+ }
128
+ }
129
+ else {
130
+ document.activeElement.previousElementSibling?.focus();
131
+ }
132
+ $event.preventDefault();
133
+ break;
134
+ case 'ArrowDown':
135
+ if (document.activeElement === this.selectorBtn.nativeElement) {
136
+ if (this.paginator.pageSizeOptions.findIndex(i => i == this.paginator.pageSize) < this.paginator.pageSizeOptions.length - 1) {
137
+ this.paginator.pageSize = this.paginator.pageSizeOptions[this.paginator.pageSizeOptions.findIndex(i => i == this.paginator.pageSize) + 1];
138
+ this.paginator.currentPage = 1;
139
+ this.onChange(this.paginator);
140
+ }
141
+ }
142
+ else {
143
+ document.activeElement.nextElementSibling?.focus();
144
+ }
145
+ $event.preventDefault();
146
+ break;
147
+ case 'Escape':
148
+ this.closeDropdown();
149
+ break;
150
+ default:
151
+ break;
152
+ }
153
+ $event.stopPropagation();
154
+ }
155
+ setTooltipComponentProperties() {
156
+ let dropdown = this.selectorList.nativeElement;
157
+ let button = this.selectorBtn.nativeElement;
158
+ dropdown.style.display = 'block';
159
+ // Checking available screen space
160
+ const fitsBottom = bottomCheck();
161
+ const fitsRight = rightCheck();
162
+ const fitsLeft = leftCheck();
163
+ if (!fitsRight && fitsLeft) {
164
+ dropdown.style.marginLeft = button.offsetWidth - dropdown.offsetWidth + 'px';
165
+ }
166
+ else {
167
+ dropdown.style.marginLeft = null;
168
+ }
169
+ dropdown.classList.remove('onwards');
170
+ dropdown.classList.remove('downwards');
171
+ if (!fitsBottom) {
172
+ dropdown.classList.add('onwards');
173
+ dropdown.style.marginTop = -(dropdown.offsetHeight + button.offsetHeight) + 'px';
174
+ }
175
+ else {
176
+ dropdown.classList.add('downwards');
177
+ dropdown.style.marginTop = null;
178
+ }
179
+ // Support inner functions
180
+ function bottomCheck() {
181
+ return button.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||
182
+ button.getBoundingClientRect().top - dropdown.offsetHeight <= 0;
183
+ }
184
+ function rightCheck() {
185
+ return button.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;
186
+ }
187
+ function leftCheck() {
188
+ return button.getBoundingClientRect().right - dropdown.offsetWidth >= 0;
189
+ }
190
+ }
191
+ openDropdown() {
192
+ this.setTooltipComponentProperties();
193
+ // Setting a timeout because it doesn't load upwards/downwards css classes on execution time
194
+ setTimeout(() => {
195
+ this.dropdownOpen = true;
196
+ this.selectorList.nativeElement.setAttribute('aria-expanded', "true");
197
+ }, 100);
198
+ }
199
+ closeDropdown() {
200
+ this.dropdownOpen = false;
201
+ this.selectorList.nativeElement.setAttribute('aria-expanded', "false");
202
+ }
203
+ calculateTotalPages() {
204
+ if (!this.paginator?.hidePageSize && !isNaN(this.paginator?.totalItems)) {
205
+ const tempTotalPages = this.paginator.totalItems ?
206
+ this.paginator.totalItems / this.paginator.pageSize : 0;
207
+ if (Number.isInteger(tempTotalPages) && tempTotalPages > 0) {
208
+ this.totalPages = tempTotalPages;
209
+ }
210
+ else {
211
+ this.totalPages = Math.trunc(tempTotalPages) + 1;
212
+ }
213
+ if (this.totalPagesLabel?.nativeElement) {
214
+ this.totalPagesLabel.nativeElement.innerText = '/' + this.totalPages;
215
+ }
216
+ if (this.pageInput?.nativeElement) {
217
+ this.pageInput.nativeElement.style.width =
218
+ this.totalPagesLabel.nativeElement.offsetWidth * 2
219
+ + 2.1 * parseFloat(getComputedStyle(document.documentElement).fontSize)
220
+ + 'px';
221
+ }
222
+ }
223
+ this.refreshCenterStyle();
224
+ }
225
+ setInputValue(event) {
226
+ let selectedPage = parseFloat(event.target.value);
227
+ if (selectedPage > this.totalPages) {
228
+ event.target.value = this.totalPages.toString();
229
+ selectedPage = this.totalPages;
230
+ }
231
+ this.paginator.currentPage = selectedPage;
232
+ }
233
+ resetInputValue(event) {
234
+ event.target.value = this.paginator.currentPage.toString();
235
+ }
236
+ refreshCenterStyle() {
237
+ const width = this.pageSelector.nativeElement.offsetWidth;
238
+ this.pageSelector.nativeElement.style.setProperty("--center-fix", -(width / 2) + 'px');
239
+ }
240
+ }
241
+ BiitPaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
242
+ BiitPaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitPaginatorComponent, selector: "biit-paginator", host: { listeners: { "document:pointerdown": "handleMouseEvents($event)" } }, providers: [
243
+ {
244
+ provide: NG_VALUE_ACCESSOR,
245
+ useExisting: forwardRef(() => BiitPaginatorComponent),
246
+ multi: true
247
+ }
248
+ ], 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"] }] });
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorComponent, decorators: [{
250
+ type: Component,
251
+ args: [{ selector: 'biit-paginator', providers: [
252
+ {
253
+ provide: NG_VALUE_ACCESSOR,
254
+ useExisting: forwardRef(() => BiitPaginatorComponent),
255
+ multi: true
256
+ }
257
+ ], host: {
258
+ '(document:pointerdown)': 'handleMouseEvents($event)'
259
+ }, 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"] }]
260
+ }], ctorParameters: function () { return []; }, propDecorators: { pageSelector: [{
261
+ type: ViewChild,
262
+ args: ['pageSelector']
263
+ }], selectorBtn: [{
264
+ type: ViewChild,
265
+ args: ['pageSizeBtn']
266
+ }], selectorList: [{
267
+ type: ViewChild,
268
+ args: ['pageSizeList']
269
+ }], pageInput: [{
270
+ type: ViewChild,
271
+ args: ['pageInput']
272
+ }], totalPagesLabel: [{
273
+ type: ViewChild,
274
+ args: ['totalPagesLabel']
275
+ }] } });
276
+
277
+ class VisibleColumnsPipe {
278
+ transform(value) {
279
+ return value.filter(column => column.visible);
280
+ }
281
+ }
282
+ VisibleColumnsPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VisibleColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
283
+ VisibleColumnsPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: VisibleColumnsPipe, name: "visibleColumns" });
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VisibleColumnsPipe, decorators: [{
285
+ type: Pipe,
286
+ args: [{
287
+ name: 'visibleColumns'
288
+ }]
289
+ }] });
290
+
291
+ class ColumnDataPipe {
292
+ transform(value, columnName) {
293
+ const dataTree = columnName.split('.');
294
+ let data = value;
295
+ dataTree.forEach(variable => {
296
+ data = data[variable];
297
+ });
298
+ return data;
299
+ }
300
+ }
301
+ ColumnDataPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnDataPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
302
+ ColumnDataPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ColumnDataPipe, name: "columnData" });
303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnDataPipe, decorators: [{
304
+ type: Pipe,
305
+ args: [{
306
+ name: 'columnData'
307
+ }]
308
+ }] });
309
+
310
+ class BiitTableSelectableDirective {
311
+ constructor(parent) {
312
+ this.parent = parent;
313
+ parent.isSelectable = true;
314
+ }
315
+ }
316
+ BiitTableSelectableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSelectableDirective, deps: [{ token: BiitTableComponent }], target: i0.ɵɵFactoryTarget.Directive });
317
+ BiitTableSelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableSelectableDirective, selector: "[selectable]", ngImport: i0 });
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSelectableDirective, decorators: [{
319
+ type: Directive,
320
+ args: [{
321
+ selector: '[selectable]'
322
+ }]
323
+ }], ctorParameters: function () { return [{ type: BiitTableComponent }]; } });
324
+ class BiitTableSelectableSingleDirective {
325
+ constructor(parent) {
326
+ this.parent = parent;
327
+ parent.isSelectableSingle = true;
328
+ }
329
+ }
330
+ BiitTableSelectableSingleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSelectableSingleDirective, deps: [{ token: BiitTableComponent }], target: i0.ɵɵFactoryTarget.Directive });
331
+ BiitTableSelectableSingleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableSelectableSingleDirective, selector: "[selectableSingle]", ngImport: i0 });
332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSelectableSingleDirective, decorators: [{
333
+ type: Directive,
334
+ args: [{
335
+ selector: '[selectableSingle]'
336
+ }]
337
+ }], ctorParameters: function () { return [{ type: BiitTableComponent }]; } });
338
+ class BiitTableSortableDirective {
339
+ constructor(parent) {
340
+ this.parent = parent;
341
+ parent.isSortable = true;
342
+ }
343
+ }
344
+ BiitTableSortableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSortableDirective, deps: [{ token: BiitTableComponent }], target: i0.ɵɵFactoryTarget.Directive });
345
+ BiitTableSortableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableSortableDirective, selector: "[sortable]", ngImport: i0 });
346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableSortableDirective, decorators: [{
347
+ type: Directive,
348
+ args: [{
349
+ selector: '[sortable]'
350
+ }]
351
+ }], ctorParameters: function () { return [{ type: BiitTableComponent }]; } });
352
+ class BiitTableHeaderlessDirective {
353
+ constructor(parent) {
354
+ this.parent = parent;
355
+ parent.hideHeader = true;
356
+ }
357
+ }
358
+ BiitTableHeaderlessDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableHeaderlessDirective, deps: [{ token: BiitTableComponent }], target: i0.ɵɵFactoryTarget.Directive });
359
+ BiitTableHeaderlessDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableHeaderlessDirective, selector: "[hideHeader]", ngImport: i0 });
360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableHeaderlessDirective, decorators: [{
361
+ type: Directive,
362
+ args: [{
363
+ selector: '[hideHeader]'
364
+ }]
365
+ }], ctorParameters: function () { return [{ type: BiitTableComponent }]; } });
366
+ class BiitTableFooterlessDirective {
367
+ constructor(parent) {
368
+ this.parent = parent;
369
+ parent.hideFooter = true;
370
+ }
371
+ }
372
+ BiitTableFooterlessDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableFooterlessDirective, deps: [{ token: BiitTableComponent }], target: i0.ɵɵFactoryTarget.Directive });
373
+ BiitTableFooterlessDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableFooterlessDirective, selector: "[hideFooter]", ngImport: i0 });
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableFooterlessDirective, decorators: [{
375
+ type: Directive,
376
+ args: [{
377
+ selector: '[hideFooter]'
378
+ }]
379
+ }], ctorParameters: function () { return [{ type: BiitTableComponent }]; } });
380
+ class BiitTableComponent {
381
+ set _data(data) {
382
+ if (data) {
383
+ this.data = data;
384
+ this.selectedRows.clear();
385
+ if (this.paginator) {
386
+ this.paginator = new BiitPaginatorOptions(this.paginator.currentPage, this.paginator.pageSize, this.pageSizes, data.totalItems);
387
+ }
388
+ }
389
+ }
390
+ set _loading(loading) {
391
+ if (loading) {
392
+ this.loading = loading;
393
+ this.setLoadingBar();
394
+ }
395
+ else {
396
+ this.loading = false;
397
+ }
398
+ }
399
+ constructor(renderer, elem) {
400
+ this.renderer = renderer;
401
+ this.elem = elem;
402
+ this.columns = [];
403
+ this.pageSizes = [];
404
+ this.isSelectable = false;
405
+ this.isSelectableSingle = false;
406
+ this.isSortable = false;
407
+ this.hideHeader = false;
408
+ this.hideFooter = false;
409
+ this.onUpdate = new EventEmitter();
410
+ this.onCellAction = new EventEmitter();
411
+ this.onRowClick = new EventEmitter();
412
+ this.selectedRows = new Set();
413
+ this.columnResize = new ColumnResizeHandler();
414
+ this.loading = false;
415
+ this.search = '';
416
+ this.currentSearch = '';
417
+ this.BiitMultiselectType = BiitMultiselectType;
418
+ this.BiitTableColumnFormat = BiitTableColumnFormat;
419
+ }
420
+ ngOnInit() {
421
+ this.paginator = new BiitPaginatorOptions(1, this.defaultPageSize, this.pageSizes, this.data ? this.data.totalItems : 1);
422
+ }
423
+ ngAfterViewChecked() {
424
+ this.setColumnSize();
425
+ }
426
+ // Fix for resizable columns
427
+ setColumnSize() {
428
+ // Takes scrollbar padding in mind before hardcoding widths
429
+ this.elem.nativeElement.querySelector('.content').style.paddingRight = '0.7rem';
430
+ Array.from(this.elem.nativeElement.querySelector('thead').firstChild.children).forEach(ogColumn => {
431
+ const column = ogColumn;
432
+ if (column.classList.contains('select')) {
433
+ return;
434
+ }
435
+ if (column.style.width == '' && !column.classList.contains('select')) {
436
+ column.style.width = column.offsetWidth - 10 + 'px';
437
+ }
438
+ this.columnInnerWordFitCheck(column);
439
+ });
440
+ this.elem.nativeElement.querySelector('.content').style.paddingRight = null;
441
+ this.setLoadingBar();
442
+ }
443
+ columnInnerWordFitCheck(column) {
444
+ const minColumnSize = column.firstElementChild.offsetWidth
445
+ + 2.4 * parseFloat(getComputedStyle(document.documentElement).fontSize) * 2;
446
+ // If inner text width plus header paddings are less than the current header width (set by user column properties)
447
+ if (minColumnSize > column.offsetWidth) {
448
+ column.style.width = minColumnSize + 'px';
449
+ }
450
+ }
451
+ setLoadingBar() {
452
+ const progressBar = this.elem.nativeElement.querySelector('biit-progress-bar');
453
+ if (progressBar) {
454
+ progressBar.style.top =
455
+ this.elem.nativeElement.querySelector('thead').offsetHeight + 'px';
456
+ }
457
+ }
458
+ onTableUpdate(force = false) {
459
+ if (this.findTimeout) {
460
+ clearTimeout(this.findTimeout);
461
+ }
462
+ this.findTimeout = setTimeout(() => {
463
+ this.currentSearch = this.search;
464
+ this.selectedRows.clear();
465
+ this.onUpdate.emit(new BiitTableResponse(this.paginator.currentPage, this.paginator.pageSize, this.search, this.sorting));
466
+ clearTimeout(this.findTimeout);
467
+ this.findTimeout = null;
468
+ }, force ? 0 : 500);
469
+ }
470
+ onTableSort(column) {
471
+ if (this.sorting && this.sorting.name == column.name) {
472
+ switch (this.sorting.order) {
473
+ case BiitTableSortingOrder.ASC:
474
+ this.sorting.order = BiitTableSortingOrder.DESC;
475
+ break;
476
+ case BiitTableSortingOrder.DESC:
477
+ this.sorting = undefined;
478
+ break;
479
+ }
480
+ }
481
+ else {
482
+ this.sorting = new BiitTableSorting(column.name, BiitTableSortingOrder.ASC);
483
+ }
484
+ this.onTableUpdate();
485
+ }
486
+ snakeToCamel(string) {
487
+ return string.toLowerCase().replace(/[-_][a-z]/g, (group) => group.slice(-1).toUpperCase());
488
+ }
489
+ resizeColumn(event, column, index) {
490
+ this.columnResize.start = event.target;
491
+ this.columnResize.pressed = true;
492
+ this.columnResize.startX = event.x;
493
+ this.columnResize.startWidth = this.columnResize.start.parentNode.offsetWidth;
494
+ let columnElem = this.elem.nativeElement.querySelector('thead').firstChild.children[this.isSelectable ? index + 1 : index];
495
+ this.columnResize.minWidth = columnElem.firstElementChild.offsetWidth
496
+ + 2.4 * parseFloat(getComputedStyle(document.documentElement).fontSize) * 2;
497
+ this.initResizableColumns(column);
498
+ }
499
+ initResizableColumns(column) {
500
+ const moveListener = this.renderer.listen('window', 'mousemove', (event) => {
501
+ if (this.columnResize.pressed) {
502
+ let width = this.columnResize.startWidth + (event.x - this.columnResize.startX);
503
+ if (width > this.columnResize.minWidth) {
504
+ column.width = width;
505
+ }
506
+ }
507
+ event.preventDefault();
508
+ event.stopPropagation();
509
+ event.stopImmediatePropagation();
510
+ return false;
511
+ });
512
+ const releaseListener = this.renderer.listen('window', 'mouseup', (event) => {
513
+ if (this.columnResize.pressed) {
514
+ this.columnResize.pressed = false;
515
+ event.preventDefault();
516
+ event.stopPropagation();
517
+ event.stopImmediatePropagation();
518
+ moveListener();
519
+ releaseListener();
520
+ }
521
+ return false;
522
+ });
523
+ }
524
+ setColumnVisibility(response) {
525
+ this.columns.forEach(c => response.some(e => e.name == c.name) ? c.visible = true : c.visible = false);
526
+ }
527
+ selectRow(item, holdCtrl) {
528
+ if (!holdCtrl || this.isSelectableSingle) {
529
+ this.selectedRows.clear();
530
+ this.selectedRows.add(item);
531
+ }
532
+ else {
533
+ if (!this.selectedRows.has(item)) {
534
+ this.selectedRows.add(item);
535
+ }
536
+ else {
537
+ this.selectedRows.delete(item);
538
+ }
539
+ }
540
+ }
541
+ getSelectedRows() {
542
+ return [...this.selectedRows];
543
+ }
544
+ emitCellAction(item, column, event) {
545
+ event.stopPropagation();
546
+ this.onCellAction.emit(new BiitTableActionResponse(item, column));
547
+ }
548
+ emitRowClick(item) {
549
+ this.onRowClick.emit(item);
550
+ }
551
+ resetInputValue() {
552
+ this.search = this.currentSearch;
553
+ }
554
+ }
555
+ 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 });
556
+ 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: [{
557
+ provide: TRANSLOCO_SCOPE,
558
+ useValue: { scope: 'wizardry-theme/table', alias: "table" }
559
+ }], 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" }] });
560
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableComponent, decorators: [{
561
+ type: Component,
562
+ args: [{ selector: 'biit-table', providers: [{
563
+ provide: TRANSLOCO_SCOPE,
564
+ useValue: { scope: 'wizardry-theme/table', alias: "table" }
565
+ }], 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"] }]
566
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { _data: [{
567
+ type: Input,
568
+ args: ['metadata']
569
+ }], _loading: [{
570
+ type: Input,
571
+ args: ['loading']
572
+ }], columns: [{
573
+ type: Input
574
+ }], pageSizes: [{
575
+ type: Input
576
+ }], defaultPageSize: [{
577
+ type: Input
578
+ }], actionsTpl: [{
579
+ type: ContentChild,
580
+ args: ['actions']
581
+ }], onUpdate: [{
582
+ type: Output
583
+ }], onCellAction: [{
584
+ type: Output
585
+ }], onRowClick: [{
586
+ type: Output
587
+ }] } });
588
+
589
+ class BiitPaginatorModule {
590
+ }
591
+ BiitPaginatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
592
+ BiitPaginatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorModule, declarations: [BiitPaginatorComponent], imports: [CommonModule,
593
+ FormsModule,
594
+ BiitIconModule,
595
+ BiitIconButtonModule,
596
+ TranslocoRootModule,
597
+ BiitTooltipModule], exports: [BiitPaginatorComponent] });
598
+ BiitPaginatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorModule, providers: [{
599
+ provide: TRANSLOCO_SCOPE,
600
+ useValue: { scope: 'wizardry-theme/table', alias: "table" }
601
+ }], imports: [CommonModule,
602
+ FormsModule,
603
+ BiitIconModule,
604
+ BiitIconButtonModule,
605
+ TranslocoRootModule,
606
+ BiitTooltipModule] });
607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitPaginatorModule, decorators: [{
608
+ type: NgModule,
609
+ args: [{
610
+ declarations: [BiitPaginatorComponent],
611
+ exports: [BiitPaginatorComponent],
612
+ imports: [
613
+ CommonModule,
614
+ FormsModule,
615
+ BiitIconModule,
616
+ BiitIconButtonModule,
617
+ TranslocoRootModule,
618
+ BiitTooltipModule
619
+ ],
620
+ providers: [{
621
+ provide: TRANSLOCO_SCOPE,
622
+ useValue: { scope: 'wizardry-theme/table', alias: "table" }
623
+ }]
624
+ }]
625
+ }] });
626
+
627
+ class BiitTableModule {
628
+ }
629
+ BiitTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
630
+ BiitTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitTableModule, declarations: [BiitTableComponent,
631
+ BiitTableSelectableDirective,
632
+ BiitTableSelectableSingleDirective,
633
+ BiitTableSortableDirective,
634
+ BiitTableHeaderlessDirective,
635
+ BiitTableFooterlessDirective,
636
+ VisibleColumnsPipe,
637
+ ColumnDataPipe], imports: [CommonModule,
638
+ FormsModule,
639
+ BiitPaginatorModule,
640
+ BiitMultiselectModule,
641
+ BiitInputTextModule,
642
+ BiitCheckboxModule,
643
+ BiitProgressBarModule,
644
+ LocalizedDatePipeModule,
645
+ TranslocoRootModule,
646
+ BiitIconModule,
647
+ BiitButtonModule,
648
+ BiitIconButtonModule,
649
+ BiitVerticalMenuModule], exports: [BiitTableComponent,
650
+ BiitTableSelectableDirective,
651
+ BiitTableSelectableSingleDirective,
652
+ BiitTableSortableDirective,
653
+ BiitTableHeaderlessDirective,
654
+ BiitTableFooterlessDirective] });
655
+ BiitTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableModule, imports: [CommonModule,
656
+ FormsModule,
657
+ BiitPaginatorModule,
658
+ BiitMultiselectModule,
659
+ BiitInputTextModule,
660
+ BiitCheckboxModule,
661
+ BiitProgressBarModule,
662
+ LocalizedDatePipeModule,
663
+ TranslocoRootModule,
664
+ BiitIconModule,
665
+ BiitButtonModule,
666
+ BiitIconButtonModule,
667
+ BiitVerticalMenuModule] });
668
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableModule, decorators: [{
669
+ type: NgModule,
670
+ args: [{
671
+ declarations: [
672
+ BiitTableComponent,
673
+ BiitTableSelectableDirective,
674
+ BiitTableSelectableSingleDirective,
675
+ BiitTableSortableDirective,
676
+ BiitTableHeaderlessDirective,
677
+ BiitTableFooterlessDirective,
678
+ VisibleColumnsPipe,
679
+ ColumnDataPipe
680
+ ],
681
+ exports: [
682
+ BiitTableComponent,
683
+ BiitTableSelectableDirective,
684
+ BiitTableSelectableSingleDirective,
685
+ BiitTableSortableDirective,
686
+ BiitTableHeaderlessDirective,
687
+ BiitTableFooterlessDirective
688
+ ],
689
+ imports: [
690
+ CommonModule,
691
+ FormsModule,
692
+ BiitPaginatorModule,
693
+ BiitMultiselectModule,
694
+ BiitInputTextModule,
695
+ BiitCheckboxModule,
696
+ BiitProgressBarModule,
697
+ LocalizedDatePipeModule,
698
+ TranslocoRootModule,
699
+ BiitIconModule,
700
+ BiitButtonModule,
701
+ BiitIconButtonModule,
702
+ BiitVerticalMenuModule
703
+ ]
704
+ }]
705
+ }] });
706
+
707
+ class BiitTableData {
708
+ constructor(data, totalItems) {
709
+ this.data = data;
710
+ this.totalItems = totalItems;
711
+ }
712
+ }
713
+
714
+ class GenericFilter {
715
+ static filter(object, value, includes = false, caseSensitive = false, params) {
716
+ const formattedValue = caseSensitive ? value : value?.toLowerCase();
717
+ for (let param in object) {
718
+ if (params && !params.includes(param))
719
+ continue;
720
+ let paramValue = object[param];
721
+ if (paramValue instanceof Array) {
722
+ if (paramValue.some((item) => {
723
+ return GenericFilter.filter(item, value, includes, caseSensitive);
724
+ })) {
725
+ return true;
726
+ }
727
+ continue;
728
+ }
729
+ if (typeof paramValue === 'string' || typeof paramValue === 'number' || typeof paramValue === 'boolean') {
730
+ let stringValue = paramValue.toString();
731
+ if (!caseSensitive) {
732
+ stringValue = stringValue.toLowerCase();
733
+ }
734
+ if (includes) {
735
+ if (stringValue.includes(formattedValue)) {
736
+ return true;
737
+ }
738
+ }
739
+ else {
740
+ if (stringValue === formattedValue) {
741
+ return true;
742
+ }
743
+ }
744
+ continue;
745
+ }
746
+ if (Object.keys(object).length === 0) {
747
+ if (object[param] === value) {
748
+ return true;
749
+ }
750
+ }
751
+ else {
752
+ if (GenericFilter.filter(paramValue, value, includes, caseSensitive)) {
753
+ return true;
754
+ }
755
+ }
756
+ }
757
+ return false;
758
+ }
759
+ }
760
+
761
+ class GenericSort {
762
+ static sort(data, sorting, columns) {
763
+ if (sorting) {
764
+ return data.sort((a, b) => {
765
+ switch (columns.find(i => i.name == sorting.name).format) {
766
+ case BiitTableColumnFormat.BOOLEAN:
767
+ if (a[sorting.name] == b[sorting.name])
768
+ return 0;
769
+ if (sorting.order == 'asc') {
770
+ return a[sorting.name] ? -1 : 1;
771
+ }
772
+ else {
773
+ return a[sorting.name] ? 1 : -1;
774
+ }
775
+ case BiitTableColumnFormat.DATE:
776
+ if (new Date(a[sorting.name]).getTime() == new Date(b[sorting.name]).getTime())
777
+ return 0;
778
+ if (sorting.order == 'asc') {
779
+ return (new Date(a[sorting.name]).getTime() > new Date(b[sorting.name]).getTime()) ? 1 : -1;
780
+ }
781
+ else {
782
+ return (new Date(a[sorting.name]).getTime() > new Date(b[sorting.name]).getTime()) ? -1 : 1;
783
+ }
784
+ default:
785
+ if (a[sorting.name] == b[sorting.name])
786
+ return 0;
787
+ if (sorting.order == 'asc') {
788
+ return a[sorting.name] > b[sorting.name] ? 1 : -1;
789
+ }
790
+ else {
791
+ return a[sorting.name] > b[sorting.name] ? -1 : 1;
792
+ }
793
+ }
794
+ });
795
+ }
796
+ else {
797
+ return data;
798
+ }
799
+ }
800
+ }
801
+
802
+ class Page {
803
+ constructor(pageNumber, pageSize, totalElements) {
804
+ this.totalElements = 0;
805
+ this.pageNumber = 0;
806
+ this.pageSize = 0;
807
+ this.pageNumber = pageNumber ?? 0;
808
+ this.pageSize = pageSize ?? 0;
809
+ this.totalElements = totalElements ?? 0;
810
+ }
811
+ }
812
+
813
+ class BiitDatatablePagerComponent extends DataTablePagerComponent {
814
+ constructor(biitIconService) {
815
+ super();
816
+ biitIconService.registerIcons(completeIconSet);
817
+ }
818
+ enforceMinMax(el) {
819
+ if (el.value != "") {
820
+ if (parseInt(el.value) < parseInt(el.min)) {
821
+ el.value = el.min;
822
+ }
823
+ if (parseInt(el.value) > parseInt(el.max)) {
824
+ el.value = el.max;
825
+ }
826
+ }
827
+ }
828
+ log(event) {
829
+ }
830
+ }
831
+ 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 });
832
+ 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"] }] });
833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatablePagerComponent, decorators: [{
834
+ type: Component,
835
+ 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"] }]
836
+ }], ctorParameters: function () { return [{ type: i1$1.BiitIconService }]; } });
837
+
838
+ class BiitDatatableComponent {
839
+ set data(data) {
840
+ this._data = data ?? [];
841
+ this.allData = data ?? [];
842
+ this.selected = [];
843
+ }
844
+ get data() {
845
+ return this._data;
846
+ }
847
+ set columns(columns) {
848
+ this.allColumns = columns ?? [];
849
+ this._columns = columns.filter(c => c.visible);
850
+ }
851
+ get columns() {
852
+ return this._columns;
853
+ }
854
+ get selectedRows() {
855
+ return this.selected;
856
+ }
857
+ constructor(biitIconService) {
858
+ this._data = [];
859
+ this.allData = [];
860
+ this._columns = [];
861
+ this.allColumns = [];
862
+ this.selected = [];
863
+ this.pageSizeList = [];
864
+ this.loading = false;
865
+ this.search = "";
866
+ this.onSelection = new EventEmitter();
867
+ this.onPageChange = new EventEmitter();
868
+ this.ColumnMode = ColumnMode;
869
+ this.SelectionType = SelectionType;
870
+ this.BiitMultiselectType = BiitMultiselectType;
871
+ biitIconService.registerIcons(completeIconSet);
872
+ }
873
+ ngOnInit() {
874
+ this.selectable = coerceBooleanProperty(this.selectable);
875
+ this.singleSelection = coerceBooleanProperty(this.singleSelection);
876
+ this.scrollbarH = coerceBooleanProperty(this.scrollbarH);
877
+ this.hideHeader = coerceBooleanProperty(this.hideHeader);
878
+ this.hideFooter = coerceBooleanProperty(this.hideFooter);
879
+ this.serverSide = coerceBooleanProperty(this.serverSide);
880
+ }
881
+ onSelect({ selected }) {
882
+ this.selected.splice(0, this.selected.length);
883
+ this.selected.push(...selected);
884
+ this.onSelection.emit(this.selected);
885
+ }
886
+ onActivate(event) {
887
+ if (event.type == 'click' && event.column.name !== 'chkbox') {
888
+ this.selected = [event.row];
889
+ this.onSelection.emit(this.selected);
890
+ }
891
+ }
892
+ onFilter(value, force = false) {
893
+ if (this.findTimeout) {
894
+ clearTimeout(this.findTimeout);
895
+ }
896
+ this.findTimeout = setTimeout(() => {
897
+ this.search = value;
898
+ const val = value.toLowerCase();
899
+ // filter our data
900
+ const temp = this.allData.filter(item => GenericFilter.filter(item, val, true));
901
+ // update the rows
902
+ this._data = temp;
903
+ // Whenever the filter changes, always go back to the first page
904
+ this.table.offset = 0;
905
+ clearTimeout(this.findTimeout);
906
+ this.findTimeout = null;
907
+ }, force ? 0 : 500);
908
+ }
909
+ onFooterPageChange(event) {
910
+ const page = new Page(event.offset, event.pageSize, event.count);
911
+ this.onPageChange.emit(page);
912
+ }
913
+ setColumnVisibility(columns) {
914
+ this._columns = this.allColumns.filter(c => columns.includes(c));
915
+ }
916
+ }
917
+ 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 });
918
+ 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" }] });
919
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatableComponent, decorators: [{
920
+ type: Component,
921
+ 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"] }]
922
+ }], ctorParameters: function () { return [{ type: i1$1.BiitIconService }]; }, propDecorators: { table: [{
923
+ type: ViewChild,
924
+ args: ['table']
925
+ }], data: [{
926
+ type: Input
927
+ }], columns: [{
928
+ type: Input
929
+ }], pageSize: [{
930
+ type: Input
931
+ }], pageSizeList: [{
932
+ type: Input
933
+ }], loading: [{
934
+ type: Input
935
+ }], selectable: [{
936
+ type: Input
937
+ }], singleSelection: [{
938
+ type: Input
939
+ }], scrollbarH: [{
940
+ type: Input
941
+ }], hideHeader: [{
942
+ type: Input
943
+ }], hideFooter: [{
944
+ type: Input
945
+ }], serverSide: [{
946
+ type: Input
947
+ }], page: [{
948
+ type: Input
949
+ }], onSelection: [{
950
+ type: Output
951
+ }], onPageChange: [{
952
+ type: Output
953
+ }], actionsTpl: [{
954
+ type: ContentChild,
955
+ args: ['actions']
956
+ }] } });
957
+
958
+ class BiitDatatablePagerModule {
959
+ }
960
+ BiitDatatablePagerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatablePagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
961
+ BiitDatatablePagerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatablePagerModule, declarations: [BiitDatatablePagerComponent], imports: [CommonModule,
962
+ FormsModule,
963
+ BiitIconModule,
964
+ BiitIconButtonModule,
965
+ TranslocoRootModule,
966
+ BiitTooltipModule], exports: [BiitDatatablePagerComponent] });
967
+ BiitDatatablePagerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatablePagerModule, imports: [CommonModule,
968
+ FormsModule,
969
+ BiitIconModule,
970
+ BiitIconButtonModule,
971
+ TranslocoRootModule,
972
+ BiitTooltipModule] });
973
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatablePagerModule, decorators: [{
974
+ type: NgModule,
975
+ args: [{
976
+ declarations: [BiitDatatablePagerComponent],
977
+ exports: [BiitDatatablePagerComponent],
978
+ imports: [
979
+ CommonModule,
980
+ FormsModule,
981
+ BiitIconModule,
982
+ BiitIconButtonModule,
983
+ TranslocoRootModule,
984
+ BiitTooltipModule
985
+ ]
986
+ }]
987
+ }] });
988
+
989
+ class BiitDatatableModule {
990
+ }
991
+ BiitDatatableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
992
+ BiitDatatableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatableModule, declarations: [BiitDatatableComponent], imports: [FormsModule,
993
+ NgTemplateOutlet,
994
+ BiitCheckboxModule,
995
+ BiitDatatablePagerModule,
996
+ NgForOf,
997
+ NgIf,
998
+ NgxDatatableModule,
999
+ BiitProgressBarModule,
1000
+ BiitMultiselectModule,
1001
+ TranslocoModule,
1002
+ BiitInputTextModule,
1003
+ BiitVerticalMenuModule], exports: [BiitDatatableComponent] });
1004
+ BiitDatatableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatableModule, imports: [FormsModule,
1005
+ BiitCheckboxModule,
1006
+ BiitDatatablePagerModule,
1007
+ NgxDatatableModule,
1008
+ BiitProgressBarModule,
1009
+ BiitMultiselectModule,
1010
+ TranslocoModule,
1011
+ BiitInputTextModule,
1012
+ BiitVerticalMenuModule] });
1013
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatatableModule, decorators: [{
1014
+ type: NgModule,
1015
+ args: [{
1016
+ declarations: [
1017
+ BiitDatatableComponent
1018
+ ],
1019
+ exports: [
1020
+ BiitDatatableComponent
1021
+ ],
1022
+ imports: [
1023
+ FormsModule,
1024
+ NgTemplateOutlet,
1025
+ BiitCheckboxModule,
1026
+ BiitDatatablePagerModule,
1027
+ NgForOf,
1028
+ NgIf,
1029
+ NgxDatatableModule,
1030
+ BiitProgressBarModule,
1031
+ BiitMultiselectModule,
1032
+ TranslocoModule,
1033
+ BiitInputTextModule,
1034
+ BiitVerticalMenuModule
1035
+ ],
1036
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
1037
+ }]
1038
+ }] });
1039
+
1040
+ class DatatableColumn {
1041
+ constructor(name, prop, visible, width, sortable, pipe, cellTemplate, cellClass, comparator) {
1042
+ this.name = name;
1043
+ this.prop = prop;
1044
+ this.visible = visible ?? true;
1045
+ this.width = width ?? undefined;
1046
+ this.minWidth = width ?? undefined;
1047
+ this.sortable = sortable ?? true;
1048
+ this.pipe = pipe ?? undefined;
1049
+ this.cellTemplate = cellTemplate ?? undefined;
1050
+ this.cellClass = cellClass ?? undefined;
1051
+ this.comparator = comparator ?? undefined;
1052
+ }
1053
+ }
1054
+
1055
+ /*
1056
+ * Public API Surface of wizardry-theme/button
1057
+ */
1058
+
1059
+ /**
1060
+ * Generated bundle index. Do not edit.
1061
+ */
1062
+
1063
+ export { BiitDatatableComponent, BiitDatatableModule, BiitPaginatorComponent, BiitPaginatorModule, BiitPaginatorOptions, BiitTableActionResponse, BiitTableColumn, BiitTableColumnFormat, BiitTableComponent, BiitTableData, BiitTableFooterlessDirective, BiitTableHeaderlessDirective, BiitTableModule, BiitTableResponse, BiitTableSelectableDirective, BiitTableSelectableSingleDirective, BiitTableSortableDirective, BiitTableSorting, BiitTableSortingOrder, DatatableColumn, GenericFilter, GenericSort, Page };
1064
+ //# sourceMappingURL=biit-solutions-wizardry-theme-table.mjs.map