@energinet/watt 4.2.14 → 4.2.15-alpha.0

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 (842) hide show
  1. package/{esm2022/badge/watt-badge.component.js → fesm2022/energinet-watt-badge.mjs} +30 -4
  2. package/fesm2022/energinet-watt-badge.mjs.map +1 -0
  3. package/{esm2022/breadcrumbs/watt-breadcrumbs.component.js → fesm2022/energinet-watt-breadcrumbs.mjs} +36 -10
  4. package/fesm2022/energinet-watt-breadcrumbs.mjs.map +1 -0
  5. package/{esm2022/button/watt-button.component.js → fesm2022/energinet-watt-button.mjs} +35 -9
  6. package/fesm2022/energinet-watt-button.mjs.map +1 -0
  7. package/{esm2022/card/watt-card.component.js → fesm2022/energinet-watt-card.mjs} +63 -7
  8. package/fesm2022/energinet-watt-card.mjs.map +1 -0
  9. package/{esm2022/checkbox/watt-checkbox.component.js → fesm2022/energinet-watt-checkbox.mjs} +32 -6
  10. package/fesm2022/energinet-watt-checkbox.mjs.map +1 -0
  11. package/fesm2022/energinet-watt-chip.mjs +694 -0
  12. package/fesm2022/energinet-watt-chip.mjs.map +1 -0
  13. package/{esm2022/clipboard/watt-copy-to-clipboard.directive.js → fesm2022/energinet-watt-clipboard.mjs} +61 -7
  14. package/fesm2022/energinet-watt-clipboard.mjs.map +1 -0
  15. package/{esm2022/code/watt-code.component.js → fesm2022/energinet-watt-code.mjs} +83 -11
  16. package/fesm2022/energinet-watt-code.mjs.map +1 -0
  17. package/fesm2022/energinet-watt-core-breakpoints.mjs +97 -0
  18. package/fesm2022/energinet-watt-core-breakpoints.mjs.map +1 -0
  19. package/fesm2022/energinet-watt-core-color.mjs +124 -0
  20. package/fesm2022/energinet-watt-core-color.mjs.map +1 -0
  21. package/fesm2022/energinet-watt-core-date.mjs +256 -0
  22. package/fesm2022/energinet-watt-core-date.mjs.map +1 -0
  23. package/{esm2022/data/watt-data-table.component.js → fesm2022/energinet-watt-data.mjs} +136 -14
  24. package/fesm2022/energinet-watt-data.mjs.map +1 -0
  25. package/{esm2022/datetime-field/watt-datetime-field.component.js → fesm2022/energinet-watt-datetime-field.mjs} +40 -14
  26. package/fesm2022/energinet-watt-datetime-field.mjs.map +1 -0
  27. package/{esm2022/description-list/watt-description-list.component.js → fesm2022/energinet-watt-description-list.mjs} +77 -8
  28. package/fesm2022/energinet-watt-description-list.mjs.map +1 -0
  29. package/{esm2022/drawer/watt-drawer.component.js → fesm2022/energinet-watt-drawer.mjs} +150 -17
  30. package/fesm2022/energinet-watt-drawer.mjs.map +1 -0
  31. package/{esm2022/dropdown/watt-dropdown.component.js → fesm2022/energinet-watt-dropdown.mjs} +44 -18
  32. package/fesm2022/energinet-watt-dropdown.mjs.map +1 -0
  33. package/{esm2022/dropzone/watt-dropzone.js → fesm2022/energinet-watt-dropzone.mjs} +133 -14
  34. package/fesm2022/energinet-watt-dropzone.mjs.map +1 -0
  35. package/{esm2022/empty-state/icons/not-found.js → fesm2022/energinet-watt-empty-state.mjs} +301 -4
  36. package/fesm2022/energinet-watt-empty-state.mjs.map +1 -0
  37. package/{esm2022/expandable-card/watt-expandable-card.component.js → fesm2022/energinet-watt-expandable-card.mjs} +40 -9
  38. package/fesm2022/energinet-watt-expandable-card.mjs.map +1 -0
  39. package/{esm2022/field/watt-field.component.js → fesm2022/energinet-watt-field.mjs} +149 -14
  40. package/fesm2022/energinet-watt-field.mjs.map +1 -0
  41. package/{esm2022/file-field/watt-file-field.component.js → fesm2022/energinet-watt-file-field.mjs} +32 -6
  42. package/fesm2022/energinet-watt-file-field.mjs.map +1 -0
  43. package/fesm2022/energinet-watt-icon-flags.mjs +547 -0
  44. package/fesm2022/energinet-watt-icon-flags.mjs.map +1 -0
  45. package/{esm2022/icon/icon.component.js → fesm2022/energinet-watt-icon.mjs} +133 -6
  46. package/fesm2022/energinet-watt-icon.mjs.map +1 -0
  47. package/fesm2022/energinet-watt-menu.mjs +282 -0
  48. package/fesm2022/energinet-watt-menu.mjs.map +1 -0
  49. package/{esm2022/modal/watt-modal.component.js → fesm2022/energinet-watt-modal.mjs} +109 -13
  50. package/fesm2022/energinet-watt-modal.mjs.map +1 -0
  51. package/{esm2022/paginator/watt-paginator.component.js → fesm2022/energinet-watt-paginator.mjs} +71 -11
  52. package/fesm2022/energinet-watt-paginator.mjs.map +1 -0
  53. package/{esm2022/phone-field/watt-phone-field.component.js → fesm2022/energinet-watt-phone-field.mjs} +80 -16
  54. package/fesm2022/energinet-watt-phone-field.mjs.map +1 -0
  55. package/fesm2022/energinet-watt-picker-__shared.mjs +292 -0
  56. package/fesm2022/energinet-watt-picker-__shared.mjs.map +1 -0
  57. package/{esm2022/picker/datepicker/watt-datepicker.component.js → fesm2022/energinet-watt-picker-datepicker.mjs} +71 -16
  58. package/fesm2022/energinet-watt-picker-datepicker.mjs.map +1 -0
  59. package/{esm2022/picker/timepicker/watt-timepicker.component.js → fesm2022/energinet-watt-picker-timepicker.mjs} +126 -20
  60. package/fesm2022/energinet-watt-picker-timepicker.mjs.map +1 -0
  61. package/{esm2022/progress-tracker/watt-progress-tracker-step.component.js → fesm2022/energinet-watt-progress-tracker.mjs} +64 -6
  62. package/fesm2022/energinet-watt-progress-tracker.mjs.map +1 -0
  63. package/{esm2022/query-params/watt-query-params.directive.js → fesm2022/energinet-watt-query-params.mjs} +32 -6
  64. package/fesm2022/energinet-watt-query-params.mjs.map +1 -0
  65. package/{esm2022/radio/watt-radio.component.js → fesm2022/energinet-watt-radio.mjs} +146 -5
  66. package/fesm2022/energinet-watt-radio.mjs.map +1 -0
  67. package/{esm2022/search/watt-search.component.js → fesm2022/energinet-watt-search.mjs} +33 -7
  68. package/fesm2022/energinet-watt-search.mjs.map +1 -0
  69. package/{esm2022/segmented-buttons/watt-segmented-buttons.component.js → fesm2022/energinet-watt-segmented-buttons.mjs} +77 -11
  70. package/fesm2022/energinet-watt-segmented-buttons.mjs.map +1 -0
  71. package/fesm2022/energinet-watt-shell.mjs +303 -0
  72. package/fesm2022/energinet-watt-shell.mjs.map +1 -0
  73. package/{esm2022/slide-toggle/watt-slide-toggle.component.js → fesm2022/energinet-watt-slide-toggle.mjs} +34 -8
  74. package/fesm2022/energinet-watt-slide-toggle.mjs.map +1 -0
  75. package/{esm2022/slider/watt-slider.component.js → fesm2022/energinet-watt-slider.mjs} +33 -7
  76. package/fesm2022/energinet-watt-slider.mjs.map +1 -0
  77. package/{esm2022/spinner/watt-spinner.component.js → fesm2022/energinet-watt-spinner.mjs} +30 -4
  78. package/fesm2022/energinet-watt-spinner.mjs.map +1 -0
  79. package/{esm2022/stepper/watt-stepper.component.js → fesm2022/energinet-watt-stepper.mjs} +85 -15
  80. package/fesm2022/energinet-watt-stepper.mjs.map +1 -0
  81. package/{esm2022/table/watt-table.component.js → fesm2022/energinet-watt-table.mjs} +136 -24
  82. package/fesm2022/energinet-watt-table.mjs.map +1 -0
  83. package/fesm2022/energinet-watt-tabs.mjs +254 -0
  84. package/fesm2022/energinet-watt-tabs.mjs.map +1 -0
  85. package/{esm2022/text-field/watt-text-field.component.js → fesm2022/energinet-watt-text-field.mjs} +36 -10
  86. package/fesm2022/energinet-watt-text-field.mjs.map +1 -0
  87. package/{esm2022/textarea-field/watt-textarea-field.component.js → fesm2022/energinet-watt-textarea-field.mjs} +32 -6
  88. package/fesm2022/energinet-watt-textarea-field.mjs.map +1 -0
  89. package/{esm2022/toast/watt-toast.component.js → fesm2022/energinet-watt-toast.mjs} +82 -9
  90. package/fesm2022/energinet-watt-toast.mjs.map +1 -0
  91. package/{esm2022/tooltip/watt-tooltip.component.js → fesm2022/energinet-watt-tooltip.mjs} +98 -8
  92. package/fesm2022/energinet-watt-tooltip.mjs.map +1 -0
  93. package/{esm2022/utils/css/css-custom-properties.service.js → fesm2022/energinet-watt-utils-css.mjs} +30 -4
  94. package/fesm2022/energinet-watt-utils-css.mjs.map +1 -0
  95. package/{esm2022/utils/intersection-observer/watt-intersection-observer.service.js → fesm2022/energinet-watt-utils-intersection-observer.mjs} +31 -5
  96. package/fesm2022/energinet-watt-utils-intersection-observer.mjs.map +1 -0
  97. package/fesm2022/energinet-watt-utils-resize-observer.mjs +143 -0
  98. package/fesm2022/energinet-watt-utils-resize-observer.mjs.map +1 -0
  99. package/{esm2022/validation-message/watt-validation-message.component.js → fesm2022/energinet-watt-validation-message.mjs} +31 -5
  100. package/fesm2022/energinet-watt-validation-message.mjs.map +1 -0
  101. package/{esm2022/validators/watt-range.validators.js → fesm2022/energinet-watt-validators.mjs} +28 -2
  102. package/fesm2022/energinet-watt-validators.mjs.map +1 -0
  103. package/fesm2022/energinet-watt-vater.mjs +248 -0
  104. package/fesm2022/energinet-watt-vater.mjs.map +1 -0
  105. package/{esm2022/year-field/watt-year-field.component.js → fesm2022/energinet-watt-year-field.mjs} +39 -13
  106. package/fesm2022/energinet-watt-year-field.mjs.map +1 -0
  107. package/{esm2022/yearmonth-field/watt-yearmonth-field.component.js → fesm2022/energinet-watt-yearmonth-field.mjs} +79 -13
  108. package/fesm2022/energinet-watt-yearmonth-field.mjs.map +1 -0
  109. package/{esm2022/index.js → fesm2022/energinet-watt.mjs} +8 -2
  110. package/fesm2022/energinet-watt.mjs.map +1 -0
  111. package/package.json +89 -89
  112. package/types/energinet-watt-badge.d.ts +19 -0
  113. package/{breadcrumbs/watt-breadcrumbs.component.d.ts → types/energinet-watt-breadcrumbs.d.ts} +10 -7
  114. package/types/energinet-watt-button.d.ts +23 -0
  115. package/types/energinet-watt-card.d.ts +24 -0
  116. package/types/energinet-watt-checkbox.d.ts +20 -0
  117. package/types/energinet-watt-chip.d.ts +104 -0
  118. package/types/energinet-watt-clipboard.d.ts +22 -0
  119. package/types/energinet-watt-code.d.ts +56 -0
  120. package/{core/breakpoints/breakpoints.d.ts → types/energinet-watt-core-breakpoints.d.ts} +27 -2
  121. package/{core/color/colors.d.ts → types/energinet-watt-core-color.d.ts} +15 -2
  122. package/types/energinet-watt-core-date.d.ts +154 -0
  123. package/types/energinet-watt-data.d.ts +61 -0
  124. package/types/energinet-watt-datetime-field.d.ts +44 -0
  125. package/types/energinet-watt-description-list.d.ts +32 -0
  126. package/{drawer/watt-drawer.component.d.ts → types/energinet-watt-drawer.d.ts} +35 -28
  127. package/types/energinet-watt-dropdown.d.ts +167 -0
  128. package/types/energinet-watt-dropzone.d.ts +67 -0
  129. package/types/energinet-watt-empty-state.d.ts +39 -0
  130. package/{expandable-card/watt-expandable-card.component.d.ts → types/energinet-watt-expandable-card.d.ts} +31 -9
  131. package/types/energinet-watt-field.d.ts +62 -0
  132. package/types/energinet-watt-file-field.d.ts +13 -0
  133. package/types/energinet-watt-icon-flags.d.ts +61 -0
  134. package/types/energinet-watt-icon.d.ts +119 -0
  135. package/types/energinet-watt-menu.d.ts +119 -0
  136. package/types/energinet-watt-modal.d.ts +127 -0
  137. package/types/energinet-watt-paginator.d.ts +54 -0
  138. package/types/energinet-watt-phone-field.d.ts +79 -0
  139. package/{picker/__shared/watt-picker-base.d.ts → types/energinet-watt-picker-__shared.d.ts} +34 -11
  140. package/types/energinet-watt-picker-datepicker.d.ts +90 -0
  141. package/{picker/timepicker/watt-timepicker.component.d.ts → types/energinet-watt-picker-timepicker.d.ts} +16 -12
  142. package/types/energinet-watt-progress-tracker.d.ts +37 -0
  143. package/{query-params/watt-query-params.directive.d.ts → types/energinet-watt-query-params.d.ts} +5 -2
  144. package/types/energinet-watt-radio.d.ts +71 -0
  145. package/types/energinet-watt-search.d.ts +47 -0
  146. package/types/energinet-watt-segmented-buttons.d.ts +48 -0
  147. package/types/energinet-watt-shell.d.ts +47 -0
  148. package/types/energinet-watt-slide-toggle.d.ts +20 -0
  149. package/types/energinet-watt-slider.d.ts +35 -0
  150. package/types/energinet-watt-spinner.d.ts +18 -0
  151. package/types/energinet-watt-stepper.d.ts +59 -0
  152. package/{table/watt-table.component.d.ts → types/energinet-watt-table.d.ts} +72 -49
  153. package/types/energinet-watt-tabs.d.ts +68 -0
  154. package/types/energinet-watt-text-field.d.ts +67 -0
  155. package/types/energinet-watt-textarea-field.d.ts +31 -0
  156. package/{toast/watt-toast.component.d.ts → types/energinet-watt-toast.d.ts} +19 -5
  157. package/types/energinet-watt-tooltip.d.ts +20 -0
  158. package/{utils/css/css-custom-properties.service.d.ts → types/energinet-watt-utils-css.d.ts} +5 -2
  159. package/{utils/intersection-observer/watt-intersection-observer.service.d.ts → types/energinet-watt-utils-intersection-observer.d.ts} +7 -3
  160. package/{utils/resize-observer/watt-resize-observer.directive.d.ts → types/energinet-watt-utils-resize-observer.d.ts} +30 -3
  161. package/types/energinet-watt-validation-message.d.ts +38 -0
  162. package/{validators/watt-range.validators.d.ts → types/energinet-watt-validators.d.ts} +6 -2
  163. package/types/energinet-watt-vater.d.ts +87 -0
  164. package/types/energinet-watt-year-field.d.ts +60 -0
  165. package/types/energinet-watt-yearmonth-field.d.ts +64 -0
  166. package/{core/color/index.d.ts → types/energinet-watt.d.ts} +3 -2
  167. package/badge/energinet-watt-badge.d.ts +0 -5
  168. package/badge/index.d.ts +0 -17
  169. package/badge/watt-badge.component.d.ts +0 -15
  170. package/breadcrumbs/energinet-watt-breadcrumbs.d.ts +0 -5
  171. package/breadcrumbs/index.d.ts +0 -17
  172. package/button/energinet-watt-button.d.ts +0 -5
  173. package/button/index.d.ts +0 -17
  174. package/button/watt-button.component.d.ts +0 -22
  175. package/card/energinet-watt-card.d.ts +0 -5
  176. package/card/index.d.ts +0 -18
  177. package/card/watt-card-title.component.d.ts +0 -6
  178. package/card/watt-card.component.d.ts +0 -15
  179. package/checkbox/energinet-watt-checkbox.d.ts +0 -5
  180. package/checkbox/index.d.ts +0 -17
  181. package/checkbox/watt-checkbox.component.d.ts +0 -17
  182. package/chip/energinet-watt-chip.d.ts +0 -5
  183. package/chip/index.d.ts +0 -23
  184. package/chip/watt-action-chip.component.d.ts +0 -8
  185. package/chip/watt-chip.component.d.ts +0 -8
  186. package/chip/watt-chip.directive.d.ts +0 -16
  187. package/chip/watt-date-chip.component.d.ts +0 -12
  188. package/chip/watt-date-range-chip.component.d.ts +0 -50
  189. package/chip/watt-filter-chip.component.d.ts +0 -13
  190. package/chip/watt-menu-chip.component.d.ts +0 -13
  191. package/clipboard/energinet-watt-clipboard.d.ts +0 -5
  192. package/clipboard/index.d.ts +0 -18
  193. package/clipboard/watt-clipboard-intl.service.d.ts +0 -7
  194. package/clipboard/watt-copy-to-clipboard.directive.d.ts +0 -12
  195. package/code/energinet-watt-code.d.ts +0 -5
  196. package/code/index.d.ts +0 -19
  197. package/code/watt-code-intl.service.d.ts +0 -6
  198. package/code/watt-code.component.d.ts +0 -45
  199. package/code/watt-code.worker.token.d.ts +0 -18
  200. package/core/breakpoints/breakpoints-observer.d.ts +0 -21
  201. package/core/breakpoints/energinet-watt-core-breakpoints.d.ts +0 -5
  202. package/core/breakpoints/index.d.ts +0 -18
  203. package/core/color/color-helper.service.d.ts +0 -10
  204. package/core/color/energinet-watt-core-color.d.ts +0 -5
  205. package/core/date/dayjs.d.ts +0 -22
  206. package/core/date/energinet-watt-core-date.d.ts +0 -5
  207. package/core/date/index.d.ts +0 -23
  208. package/core/date/watt-danish-datetime.providers.d.ts +0 -1
  209. package/core/date/watt-date-adapter.d.ts +0 -31
  210. package/core/date/watt-date-range.d.ts +0 -25
  211. package/core/date/watt-date.pipe.d.ts +0 -28
  212. package/core/date/watt-format-date.d.ts +0 -11
  213. package/core/date/watt-locale.service.d.ts +0 -11
  214. package/data/energinet-watt-data.d.ts +0 -5
  215. package/data/index.d.ts +0 -20
  216. package/data/watt-data-actions.component.d.ts +0 -5
  217. package/data/watt-data-filters.component.d.ts +0 -5
  218. package/data/watt-data-intl.service.d.ts +0 -15
  219. package/data/watt-data-table.component.d.ts +0 -34
  220. package/datetime-field/energinet-watt-datetime-field.d.ts +0 -5
  221. package/datetime-field/index.d.ts +0 -17
  222. package/datetime-field/watt-datetime-field.component.d.ts +0 -39
  223. package/description-list/energinet-watt-description-list.d.ts +0 -5
  224. package/description-list/index.d.ts +0 -17
  225. package/description-list/watt-description-list-item.component.d.ts +0 -27
  226. package/description-list/watt-description-list.component.d.ts +0 -20
  227. package/drawer/energinet-watt-drawer.d.ts +0 -5
  228. package/drawer/index.d.ts +0 -21
  229. package/drawer/watt-drawer-actions.component.d.ts +0 -5
  230. package/drawer/watt-drawer-content.component.d.ts +0 -5
  231. package/drawer/watt-drawer-heading.component.d.ts +0 -5
  232. package/drawer/watt-drawer-topbar.component.d.ts +0 -5
  233. package/dropdown/energinet-watt-dropdown.d.ts +0 -5
  234. package/dropdown/index.d.ts +0 -19
  235. package/dropdown/watt-dropdown-option.d.ts +0 -28
  236. package/dropdown/watt-dropdown-value.d.ts +0 -17
  237. package/dropdown/watt-dropdown.component.d.ts +0 -133
  238. package/dropzone/energinet-watt-dropzone.d.ts +0 -5
  239. package/dropzone/index.d.ts +0 -19
  240. package/dropzone/watt-dropzone-intl.d.ts +0 -11
  241. package/dropzone/watt-dropzone-validators.d.ts +0 -27
  242. package/dropzone/watt-dropzone.d.ts +0 -31
  243. package/empty-state/energinet-watt-empty-state.d.ts +0 -5
  244. package/empty-state/icons/explore.d.ts +0 -5
  245. package/empty-state/icons/no-results.d.ts +0 -5
  246. package/empty-state/icons/not-found.d.ts +0 -5
  247. package/empty-state/icons/power.d.ts +0 -5
  248. package/empty-state/index.d.ts +0 -21
  249. package/empty-state/watt-empty-state.component.d.ts +0 -16
  250. package/energinet-watt.d.ts +0 -5
  251. package/esm2022/badge/energinet-watt-badge.js +0 -5
  252. package/esm2022/badge/energinet-watt-badge.js.map +0 -1
  253. package/esm2022/badge/index.js +0 -20
  254. package/esm2022/badge/index.js.map +0 -1
  255. package/esm2022/badge/watt-badge.component.js.map +0 -1
  256. package/esm2022/breadcrumbs/energinet-watt-breadcrumbs.js +0 -5
  257. package/esm2022/breadcrumbs/energinet-watt-breadcrumbs.js.map +0 -1
  258. package/esm2022/breadcrumbs/index.js +0 -20
  259. package/esm2022/breadcrumbs/index.js.map +0 -1
  260. package/esm2022/breadcrumbs/watt-breadcrumbs.component.js.map +0 -1
  261. package/esm2022/button/energinet-watt-button.js +0 -5
  262. package/esm2022/button/energinet-watt-button.js.map +0 -1
  263. package/esm2022/button/index.js +0 -20
  264. package/esm2022/button/index.js.map +0 -1
  265. package/esm2022/button/watt-button.component.js.map +0 -1
  266. package/esm2022/card/energinet-watt-card.js +0 -5
  267. package/esm2022/card/energinet-watt-card.js.map +0 -1
  268. package/esm2022/card/index.js +0 -21
  269. package/esm2022/card/index.js.map +0 -1
  270. package/esm2022/card/watt-card-title.component.js +0 -33
  271. package/esm2022/card/watt-card-title.component.js.map +0 -1
  272. package/esm2022/card/watt-card.component.js.map +0 -1
  273. package/esm2022/checkbox/energinet-watt-checkbox.js +0 -5
  274. package/esm2022/checkbox/energinet-watt-checkbox.js.map +0 -1
  275. package/esm2022/checkbox/index.js +0 -20
  276. package/esm2022/checkbox/index.js.map +0 -1
  277. package/esm2022/checkbox/watt-checkbox.component.js.map +0 -1
  278. package/esm2022/chip/energinet-watt-chip.js +0 -5
  279. package/esm2022/chip/energinet-watt-chip.js.map +0 -1
  280. package/esm2022/chip/index.js +0 -26
  281. package/esm2022/chip/index.js.map +0 -1
  282. package/esm2022/chip/watt-action-chip.component.js +0 -68
  283. package/esm2022/chip/watt-action-chip.component.js.map +0 -1
  284. package/esm2022/chip/watt-chip.component.js +0 -55
  285. package/esm2022/chip/watt-chip.component.js.map +0 -1
  286. package/esm2022/chip/watt-chip.directive.js +0 -92
  287. package/esm2022/chip/watt-chip.directive.js.map +0 -1
  288. package/esm2022/chip/watt-date-chip.component.js +0 -104
  289. package/esm2022/chip/watt-date-chip.component.js.map +0 -1
  290. package/esm2022/chip/watt-date-range-chip.component.js +0 -213
  291. package/esm2022/chip/watt-date-range-chip.component.js.map +0 -1
  292. package/esm2022/chip/watt-filter-chip.component.js +0 -82
  293. package/esm2022/chip/watt-filter-chip.component.js.map +0 -1
  294. package/esm2022/chip/watt-menu-chip.component.js +0 -80
  295. package/esm2022/chip/watt-menu-chip.component.js.map +0 -1
  296. package/esm2022/clipboard/energinet-watt-clipboard.js +0 -5
  297. package/esm2022/clipboard/energinet-watt-clipboard.js.map +0 -1
  298. package/esm2022/clipboard/index.js +0 -21
  299. package/esm2022/clipboard/index.js.map +0 -1
  300. package/esm2022/clipboard/watt-clipboard-intl.service.js +0 -31
  301. package/esm2022/clipboard/watt-clipboard-intl.service.js.map +0 -1
  302. package/esm2022/clipboard/watt-copy-to-clipboard.directive.js.map +0 -1
  303. package/esm2022/code/energinet-watt-code.js +0 -5
  304. package/esm2022/code/energinet-watt-code.js.map +0 -1
  305. package/esm2022/code/index.js +0 -22
  306. package/esm2022/code/index.js.map +0 -1
  307. package/esm2022/code/watt-code-intl.service.js +0 -30
  308. package/esm2022/code/watt-code-intl.service.js.map +0 -1
  309. package/esm2022/code/watt-code.component.js.map +0 -1
  310. package/esm2022/code/watt-code.worker.token.js +0 -21
  311. package/esm2022/code/watt-code.worker.token.js.map +0 -1
  312. package/esm2022/core/breakpoints/breakpoints-observer.js +0 -41
  313. package/esm2022/core/breakpoints/breakpoints-observer.js.map +0 -1
  314. package/esm2022/core/breakpoints/breakpoints.js +0 -31
  315. package/esm2022/core/breakpoints/breakpoints.js.map +0 -1
  316. package/esm2022/core/breakpoints/energinet-watt-core-breakpoints.js +0 -5
  317. package/esm2022/core/breakpoints/energinet-watt-core-breakpoints.js.map +0 -1
  318. package/esm2022/core/breakpoints/index.js +0 -21
  319. package/esm2022/core/breakpoints/index.js.map +0 -1
  320. package/esm2022/core/color/color-helper.service.js +0 -41
  321. package/esm2022/core/color/color-helper.service.js.map +0 -1
  322. package/esm2022/core/color/colors.js +0 -58
  323. package/esm2022/core/color/colors.js.map +0 -1
  324. package/esm2022/core/color/energinet-watt-core-color.js +0 -5
  325. package/esm2022/core/color/energinet-watt-core-color.js.map +0 -1
  326. package/esm2022/core/color/index.js +0 -21
  327. package/esm2022/core/color/index.js.map +0 -1
  328. package/esm2022/core/date/dayjs.js +0 -34
  329. package/esm2022/core/date/dayjs.js.map +0 -1
  330. package/esm2022/core/date/energinet-watt-core-date.js +0 -5
  331. package/esm2022/core/date/energinet-watt-core-date.js.map +0 -1
  332. package/esm2022/core/date/index.js +0 -25
  333. package/esm2022/core/date/index.js.map +0 -1
  334. package/esm2022/core/date/watt-danish-datetime.providers.js +0 -31
  335. package/esm2022/core/date/watt-danish-datetime.providers.js.map +0 -1
  336. package/esm2022/core/date/watt-date-adapter.js +0 -43
  337. package/esm2022/core/date/watt-date-adapter.js.map +0 -1
  338. package/esm2022/core/date/watt-date-range.js +0 -2
  339. package/esm2022/core/date/watt-date-range.js.map +0 -1
  340. package/esm2022/core/date/watt-date.pipe.js +0 -38
  341. package/esm2022/core/date/watt-date.pipe.js.map +0 -1
  342. package/esm2022/core/date/watt-format-date.js +0 -50
  343. package/esm2022/core/date/watt-format-date.js.map +0 -1
  344. package/esm2022/core/date/watt-locale.service.js +0 -48
  345. package/esm2022/core/date/watt-locale.service.js.map +0 -1
  346. package/esm2022/data/energinet-watt-data.js +0 -5
  347. package/esm2022/data/energinet-watt-data.js.map +0 -1
  348. package/esm2022/data/index.js +0 -23
  349. package/esm2022/data/index.js.map +0 -1
  350. package/esm2022/data/watt-data-actions.component.js +0 -32
  351. package/esm2022/data/watt-data-actions.component.js.map +0 -1
  352. package/esm2022/data/watt-data-filters.component.js +0 -32
  353. package/esm2022/data/watt-data-filters.component.js.map +0 -1
  354. package/esm2022/data/watt-data-intl.service.js +0 -39
  355. package/esm2022/data/watt-data-intl.service.js.map +0 -1
  356. package/esm2022/data/watt-data-table.component.js.map +0 -1
  357. package/esm2022/datetime-field/energinet-watt-datetime-field.js +0 -5
  358. package/esm2022/datetime-field/energinet-watt-datetime-field.js.map +0 -1
  359. package/esm2022/datetime-field/index.js +0 -20
  360. package/esm2022/datetime-field/index.js.map +0 -1
  361. package/esm2022/datetime-field/watt-datetime-field.component.js.map +0 -1
  362. package/esm2022/description-list/energinet-watt-description-list.js +0 -5
  363. package/esm2022/description-list/energinet-watt-description-list.js.map +0 -1
  364. package/esm2022/description-list/index.js +0 -20
  365. package/esm2022/description-list/index.js.map +0 -1
  366. package/esm2022/description-list/watt-description-list-item.component.js +0 -49
  367. package/esm2022/description-list/watt-description-list-item.component.js.map +0 -1
  368. package/esm2022/description-list/watt-description-list.component.js.map +0 -1
  369. package/esm2022/drawer/energinet-watt-drawer.js +0 -5
  370. package/esm2022/drawer/energinet-watt-drawer.js.map +0 -1
  371. package/esm2022/drawer/index.js +0 -24
  372. package/esm2022/drawer/index.js.map +0 -1
  373. package/esm2022/drawer/watt-drawer-actions.component.js +0 -29
  374. package/esm2022/drawer/watt-drawer-actions.component.js.map +0 -1
  375. package/esm2022/drawer/watt-drawer-content.component.js +0 -29
  376. package/esm2022/drawer/watt-drawer-content.component.js.map +0 -1
  377. package/esm2022/drawer/watt-drawer-heading.component.js +0 -29
  378. package/esm2022/drawer/watt-drawer-heading.component.js.map +0 -1
  379. package/esm2022/drawer/watt-drawer-topbar.component.js +0 -32
  380. package/esm2022/drawer/watt-drawer-topbar.component.js.map +0 -1
  381. package/esm2022/drawer/watt-drawer.component.js.map +0 -1
  382. package/esm2022/dropdown/energinet-watt-dropdown.js +0 -5
  383. package/esm2022/dropdown/energinet-watt-dropdown.js.map +0 -1
  384. package/esm2022/dropdown/index.js +0 -20
  385. package/esm2022/dropdown/index.js.map +0 -1
  386. package/esm2022/dropdown/watt-dropdown-option.js +0 -2
  387. package/esm2022/dropdown/watt-dropdown-option.js.map +0 -1
  388. package/esm2022/dropdown/watt-dropdown-value.js +0 -2
  389. package/esm2022/dropdown/watt-dropdown-value.js.map +0 -1
  390. package/esm2022/dropdown/watt-dropdown.component.js.map +0 -1
  391. package/esm2022/dropzone/energinet-watt-dropzone.js +0 -5
  392. package/esm2022/dropzone/energinet-watt-dropzone.js.map +0 -1
  393. package/esm2022/dropzone/index.js +0 -22
  394. package/esm2022/dropzone/index.js.map +0 -1
  395. package/esm2022/dropzone/watt-dropzone-intl.js +0 -35
  396. package/esm2022/dropzone/watt-dropzone-intl.js.map +0 -1
  397. package/esm2022/dropzone/watt-dropzone-validators.js +0 -67
  398. package/esm2022/dropzone/watt-dropzone-validators.js.map +0 -1
  399. package/esm2022/dropzone/watt-dropzone.js.map +0 -1
  400. package/esm2022/empty-state/energinet-watt-empty-state.js +0 -5
  401. package/esm2022/empty-state/energinet-watt-empty-state.js.map +0 -1
  402. package/esm2022/empty-state/icons/explore.js +0 -54
  403. package/esm2022/empty-state/icons/explore.js.map +0 -1
  404. package/esm2022/empty-state/icons/no-results.js +0 -62
  405. package/esm2022/empty-state/icons/no-results.js.map +0 -1
  406. package/esm2022/empty-state/icons/not-found.js.map +0 -1
  407. package/esm2022/empty-state/icons/power.js +0 -46
  408. package/esm2022/empty-state/icons/power.js.map +0 -1
  409. package/esm2022/empty-state/index.js +0 -24
  410. package/esm2022/empty-state/index.js.map +0 -1
  411. package/esm2022/empty-state/watt-empty-state.component.js +0 -120
  412. package/esm2022/empty-state/watt-empty-state.component.js.map +0 -1
  413. package/esm2022/energinet-watt.js +0 -5
  414. package/esm2022/energinet-watt.js.map +0 -1
  415. package/esm2022/expandable-card/energinet-watt-expandable-card.js +0 -5
  416. package/esm2022/expandable-card/energinet-watt-expandable-card.js.map +0 -1
  417. package/esm2022/expandable-card/index.js +0 -26
  418. package/esm2022/expandable-card/index.js.map +0 -1
  419. package/esm2022/expandable-card/watt-expandable-card.component.js.map +0 -1
  420. package/esm2022/field/energinet-watt-field.js +0 -5
  421. package/esm2022/field/energinet-watt-field.js.map +0 -1
  422. package/esm2022/field/index.js +0 -24
  423. package/esm2022/field/index.js.map +0 -1
  424. package/esm2022/field/watt-field-error.component.js +0 -29
  425. package/esm2022/field/watt-field-error.component.js.map +0 -1
  426. package/esm2022/field/watt-field-hint.component.js +0 -29
  427. package/esm2022/field/watt-field-hint.component.js.map +0 -1
  428. package/esm2022/field/watt-field-intl.service.js +0 -32
  429. package/esm2022/field/watt-field-intl.service.js.map +0 -1
  430. package/esm2022/field/watt-field-warning.component.js +0 -29
  431. package/esm2022/field/watt-field-warning.component.js.map +0 -1
  432. package/esm2022/field/watt-field.component.js.map +0 -1
  433. package/esm2022/file-field/energinet-watt-file-field.js +0 -5
  434. package/esm2022/file-field/energinet-watt-file-field.js.map +0 -1
  435. package/esm2022/file-field/index.js +0 -20
  436. package/esm2022/file-field/index.js.map +0 -1
  437. package/esm2022/file-field/watt-file-field.component.js.map +0 -1
  438. package/esm2022/icon/energinet-watt-icon.js +0 -5
  439. package/esm2022/icon/energinet-watt-icon.js.map +0 -1
  440. package/esm2022/icon/flags/energinet-watt-icon-flags.js +0 -5
  441. package/esm2022/icon/flags/energinet-watt-icon-flags.js.map +0 -1
  442. package/esm2022/icon/flags/index.js +0 -29
  443. package/esm2022/icon/flags/index.js.map +0 -1
  444. package/esm2022/icon/flags/watt-flag-ch.js +0 -52
  445. package/esm2022/icon/flags/watt-flag-ch.js.map +0 -1
  446. package/esm2022/icon/flags/watt-flag-de.js +0 -44
  447. package/esm2022/icon/flags/watt-flag-de.js.map +0 -1
  448. package/esm2022/icon/flags/watt-flag-dk.js +0 -44
  449. package/esm2022/icon/flags/watt-flag-dk.js.map +0 -1
  450. package/esm2022/icon/flags/watt-flag-fi.js +0 -44
  451. package/esm2022/icon/flags/watt-flag-fi.js.map +0 -1
  452. package/esm2022/icon/flags/watt-flag-gb.js +0 -60
  453. package/esm2022/icon/flags/watt-flag-gb.js.map +0 -1
  454. package/esm2022/icon/flags/watt-flag-nl.js +0 -44
  455. package/esm2022/icon/flags/watt-flag-nl.js.map +0 -1
  456. package/esm2022/icon/flags/watt-flag-no.js +0 -48
  457. package/esm2022/icon/flags/watt-flag-no.js.map +0 -1
  458. package/esm2022/icon/flags/watt-flag-pl.js +0 -46
  459. package/esm2022/icon/flags/watt-flag-pl.js.map +0 -1
  460. package/esm2022/icon/flags/watt-flag-se.js +0 -42
  461. package/esm2022/icon/flags/watt-flag-se.js.map +0 -1
  462. package/esm2022/icon/flags/watt-flag.js +0 -124
  463. package/esm2022/icon/flags/watt-flag.js.map +0 -1
  464. package/esm2022/icon/icon.component.js.map +0 -1
  465. package/esm2022/icon/icons.js +0 -102
  466. package/esm2022/icon/icons.js.map +0 -1
  467. package/esm2022/icon/index.js +0 -20
  468. package/esm2022/icon/index.js.map +0 -1
  469. package/esm2022/index.js.map +0 -1
  470. package/esm2022/menu/energinet-watt-menu.js +0 -5
  471. package/esm2022/menu/energinet-watt-menu.js.map +0 -1
  472. package/esm2022/menu/index.js +0 -36
  473. package/esm2022/menu/index.js.map +0 -1
  474. package/esm2022/menu/watt-menu-group.component.js +0 -45
  475. package/esm2022/menu/watt-menu-group.component.js.map +0 -1
  476. package/esm2022/menu/watt-menu-item.component.js +0 -50
  477. package/esm2022/menu/watt-menu-item.component.js.map +0 -1
  478. package/esm2022/menu/watt-menu-trigger.directive.js +0 -85
  479. package/esm2022/menu/watt-menu-trigger.directive.js.map +0 -1
  480. package/esm2022/menu/watt-menu.component.js +0 -77
  481. package/esm2022/menu/watt-menu.component.js.map +0 -1
  482. package/esm2022/modal/energinet-watt-modal.js +0 -5
  483. package/esm2022/modal/energinet-watt-modal.js.map +0 -1
  484. package/esm2022/modal/index.js +0 -21
  485. package/esm2022/modal/index.js.map +0 -1
  486. package/esm2022/modal/watt-modal.component.js.map +0 -1
  487. package/esm2022/modal/watt-modal.service.js +0 -74
  488. package/esm2022/modal/watt-modal.service.js.map +0 -1
  489. package/esm2022/paginator/energinet-watt-paginator.js +0 -5
  490. package/esm2022/paginator/energinet-watt-paginator.js.map +0 -1
  491. package/esm2022/paginator/index.js +0 -21
  492. package/esm2022/paginator/index.js.map +0 -1
  493. package/esm2022/paginator/watt-paginator-intl.service.js +0 -38
  494. package/esm2022/paginator/watt-paginator-intl.service.js.map +0 -1
  495. package/esm2022/paginator/watt-paginator.component.js.map +0 -1
  496. package/esm2022/phone-field/energinet-watt-phone-field.js +0 -5
  497. package/esm2022/phone-field/energinet-watt-phone-field.js.map +0 -1
  498. package/esm2022/phone-field/index.js +0 -21
  499. package/esm2022/phone-field/index.js.map +0 -1
  500. package/esm2022/phone-field/watt-phone-field-intl.service.js +0 -41
  501. package/esm2022/phone-field/watt-phone-field-intl.service.js.map +0 -1
  502. package/esm2022/phone-field/watt-phone-field.component.js.map +0 -1
  503. package/esm2022/picker/__shared/energinet-watt-picker-__shared.js +0 -5
  504. package/esm2022/picker/__shared/energinet-watt-picker-__shared.js.map +0 -1
  505. package/esm2022/picker/__shared/index.js +0 -21
  506. package/esm2022/picker/__shared/index.js.map +0 -1
  507. package/esm2022/picker/__shared/placeholder-mask/watt-placeholder-mask.component.js +0 -71
  508. package/esm2022/picker/__shared/placeholder-mask/watt-placeholder-mask.component.js.map +0 -1
  509. package/esm2022/picker/__shared/watt-picker-base.js +0 -197
  510. package/esm2022/picker/__shared/watt-picker-base.js.map +0 -1
  511. package/esm2022/picker/__shared/watt-picker-value.js +0 -2
  512. package/esm2022/picker/__shared/watt-picker-value.js.map +0 -1
  513. package/esm2022/picker/datepicker/energinet-watt-picker-datepicker.js +0 -5
  514. package/esm2022/picker/datepicker/energinet-watt-picker-datepicker.js.map +0 -1
  515. package/esm2022/picker/datepicker/index.js +0 -22
  516. package/esm2022/picker/datepicker/index.js.map +0 -1
  517. package/esm2022/picker/datepicker/watt-datepicker-intl.service.js +0 -31
  518. package/esm2022/picker/datepicker/watt-datepicker-intl.service.js.map +0 -1
  519. package/esm2022/picker/datepicker/watt-datepicker.component.js.map +0 -1
  520. package/esm2022/picker/timepicker/energinet-watt-picker-timepicker.js +0 -5
  521. package/esm2022/picker/timepicker/energinet-watt-picker-timepicker.js.map +0 -1
  522. package/esm2022/picker/timepicker/index.js +0 -20
  523. package/esm2022/picker/timepicker/index.js.map +0 -1
  524. package/esm2022/picker/timepicker/maskito-time-range-mask.js +0 -81
  525. package/esm2022/picker/timepicker/maskito-time-range-mask.js.map +0 -1
  526. package/esm2022/picker/timepicker/watt-timepicker.component.js.map +0 -1
  527. package/esm2022/progress-tracker/energinet-watt-progress-tracker.js +0 -5
  528. package/esm2022/progress-tracker/energinet-watt-progress-tracker.js.map +0 -1
  529. package/esm2022/progress-tracker/index.js +0 -27
  530. package/esm2022/progress-tracker/index.js.map +0 -1
  531. package/esm2022/progress-tracker/watt-progress-tracker-step.component.js.map +0 -1
  532. package/esm2022/progress-tracker/watt-progress-tracker.component.js +0 -30
  533. package/esm2022/progress-tracker/watt-progress-tracker.component.js.map +0 -1
  534. package/esm2022/query-params/energinet-watt-query-params.js +0 -5
  535. package/esm2022/query-params/energinet-watt-query-params.js.map +0 -1
  536. package/esm2022/query-params/index.js +0 -20
  537. package/esm2022/query-params/index.js.map +0 -1
  538. package/esm2022/query-params/watt-query-params.directive.js.map +0 -1
  539. package/esm2022/radio/energinet-watt-radio.js +0 -5
  540. package/esm2022/radio/energinet-watt-radio.js.map +0 -1
  541. package/esm2022/radio/index.js +0 -21
  542. package/esm2022/radio/index.js.map +0 -1
  543. package/esm2022/radio/watt-radio-group.component.js +0 -119
  544. package/esm2022/radio/watt-radio-group.component.js.map +0 -1
  545. package/esm2022/radio/watt-radio.component.js.map +0 -1
  546. package/esm2022/search/energinet-watt-search.js +0 -5
  547. package/esm2022/search/energinet-watt-search.js.map +0 -1
  548. package/esm2022/search/index.js +0 -20
  549. package/esm2022/search/index.js.map +0 -1
  550. package/esm2022/search/watt-search.component.js.map +0 -1
  551. package/esm2022/segmented-buttons/energinet-watt-segmented-buttons.js +0 -5
  552. package/esm2022/segmented-buttons/energinet-watt-segmented-buttons.js.map +0 -1
  553. package/esm2022/segmented-buttons/index.js +0 -27
  554. package/esm2022/segmented-buttons/index.js.map +0 -1
  555. package/esm2022/segmented-buttons/watt-segmented-button.component.js +0 -39
  556. package/esm2022/segmented-buttons/watt-segmented-button.component.js.map +0 -1
  557. package/esm2022/segmented-buttons/watt-segmented-buttons.component.js.map +0 -1
  558. package/esm2022/shell/energinet-watt-shell.js +0 -5
  559. package/esm2022/shell/energinet-watt-shell.js.map +0 -1
  560. package/esm2022/shell/index.js +0 -21
  561. package/esm2022/shell/index.js.map +0 -1
  562. package/esm2022/shell/nav-list/index.js +0 -21
  563. package/esm2022/shell/nav-list/index.js.map +0 -1
  564. package/esm2022/shell/nav-list/watt-expand-on-active-link.directive.js +0 -47
  565. package/esm2022/shell/nav-list/watt-expand-on-active-link.directive.js.map +0 -1
  566. package/esm2022/shell/nav-list/watt-nav-list-item.component.js +0 -83
  567. package/esm2022/shell/nav-list/watt-nav-list-item.component.js.map +0 -1
  568. package/esm2022/shell/nav-list/watt-nav-list.component.js +0 -80
  569. package/esm2022/shell/nav-list/watt-nav-list.component.js.map +0 -1
  570. package/esm2022/shell/shell.component.js +0 -59
  571. package/esm2022/shell/shell.component.js.map +0 -1
  572. package/esm2022/slide-toggle/energinet-watt-slide-toggle.js +0 -5
  573. package/esm2022/slide-toggle/energinet-watt-slide-toggle.js.map +0 -1
  574. package/esm2022/slide-toggle/index.js +0 -20
  575. package/esm2022/slide-toggle/index.js.map +0 -1
  576. package/esm2022/slide-toggle/watt-slide-toggle.component.js.map +0 -1
  577. package/esm2022/slider/energinet-watt-slider.js +0 -5
  578. package/esm2022/slider/energinet-watt-slider.js.map +0 -1
  579. package/esm2022/slider/index.js +0 -20
  580. package/esm2022/slider/index.js.map +0 -1
  581. package/esm2022/slider/watt-slider.component.js.map +0 -1
  582. package/esm2022/spinner/energinet-watt-spinner.js +0 -5
  583. package/esm2022/spinner/energinet-watt-spinner.js.map +0 -1
  584. package/esm2022/spinner/index.js +0 -20
  585. package/esm2022/spinner/index.js.map +0 -1
  586. package/esm2022/spinner/watt-spinner.component.js.map +0 -1
  587. package/esm2022/stepper/energinet-watt-stepper.js +0 -5
  588. package/esm2022/stepper/energinet-watt-stepper.js.map +0 -1
  589. package/esm2022/stepper/index.js +0 -21
  590. package/esm2022/stepper/index.js.map +0 -1
  591. package/esm2022/stepper/watt-stepper-step.component.js +0 -49
  592. package/esm2022/stepper/watt-stepper-step.component.js.map +0 -1
  593. package/esm2022/stepper/watt-stepper.component.js.map +0 -1
  594. package/esm2022/table/energinet-watt-table.js +0 -5
  595. package/esm2022/table/energinet-watt-table.js.map +0 -1
  596. package/esm2022/table/index.js +0 -21
  597. package/esm2022/table/index.js.map +0 -1
  598. package/esm2022/table/watt-table-data-source.js +0 -27
  599. package/esm2022/table/watt-table-data-source.js.map +0 -1
  600. package/esm2022/table/watt-table-expand-animation.js +0 -65
  601. package/esm2022/table/watt-table-expand-animation.js.map +0 -1
  602. package/esm2022/table/watt-table.component.js.map +0 -1
  603. package/esm2022/tabs/energinet-watt-tabs.js +0 -5
  604. package/esm2022/tabs/energinet-watt-tabs.js.map +0 -1
  605. package/esm2022/tabs/index.js +0 -31
  606. package/esm2022/tabs/index.js.map +0 -1
  607. package/esm2022/tabs/watt-link-tab.component.js +0 -34
  608. package/esm2022/tabs/watt-link-tab.component.js.map +0 -1
  609. package/esm2022/tabs/watt-link-tabs.component.js +0 -71
  610. package/esm2022/tabs/watt-link-tabs.component.js.map +0 -1
  611. package/esm2022/tabs/watt-tab.component.js +0 -42
  612. package/esm2022/tabs/watt-tab.component.js.map +0 -1
  613. package/esm2022/tabs/watt-tabs-action.component.js +0 -32
  614. package/esm2022/tabs/watt-tabs-action.component.js.map +0 -1
  615. package/esm2022/tabs/watt-tabs.component.js +0 -60
  616. package/esm2022/tabs/watt-tabs.component.js.map +0 -1
  617. package/esm2022/text-field/energinet-watt-text-field.js +0 -5
  618. package/esm2022/text-field/energinet-watt-text-field.js.map +0 -1
  619. package/esm2022/text-field/index.js +0 -20
  620. package/esm2022/text-field/index.js.map +0 -1
  621. package/esm2022/text-field/watt-text-field.component.js.map +0 -1
  622. package/esm2022/textarea-field/energinet-watt-textarea-field.js +0 -5
  623. package/esm2022/textarea-field/energinet-watt-textarea-field.js.map +0 -1
  624. package/esm2022/textarea-field/index.js +0 -20
  625. package/esm2022/textarea-field/index.js.map +0 -1
  626. package/esm2022/textarea-field/watt-textarea-field.component.js.map +0 -1
  627. package/esm2022/toast/energinet-watt-toast.js +0 -5
  628. package/esm2022/toast/energinet-watt-toast.js.map +0 -1
  629. package/esm2022/toast/index.js +0 -21
  630. package/esm2022/toast/index.js.map +0 -1
  631. package/esm2022/toast/watt-toast.component.js.map +0 -1
  632. package/esm2022/toast/watt-toast.service.js +0 -51
  633. package/esm2022/toast/watt-toast.service.js.map +0 -1
  634. package/esm2022/tooltip/energinet-watt-tooltip.js +0 -5
  635. package/esm2022/tooltip/energinet-watt-tooltip.js.map +0 -1
  636. package/esm2022/tooltip/index.js +0 -20
  637. package/esm2022/tooltip/index.js.map +0 -1
  638. package/esm2022/tooltip/watt-tooltip.component.js.map +0 -1
  639. package/esm2022/tooltip/watt-tooltip.directive.js +0 -67
  640. package/esm2022/tooltip/watt-tooltip.directive.js.map +0 -1
  641. package/esm2022/utils/css/css-custom-properties.service.js.map +0 -1
  642. package/esm2022/utils/css/energinet-watt-utils-css.js +0 -5
  643. package/esm2022/utils/css/energinet-watt-utils-css.js.map +0 -1
  644. package/esm2022/utils/css/index.js +0 -20
  645. package/esm2022/utils/css/index.js.map +0 -1
  646. package/esm2022/utils/intersection-observer/energinet-watt-utils-intersection-observer.js +0 -5
  647. package/esm2022/utils/intersection-observer/energinet-watt-utils-intersection-observer.js.map +0 -1
  648. package/esm2022/utils/intersection-observer/index.js +0 -20
  649. package/esm2022/utils/intersection-observer/index.js.map +0 -1
  650. package/esm2022/utils/intersection-observer/watt-intersection-observer.service.js.map +0 -1
  651. package/esm2022/utils/resize-observer/energinet-watt-utils-resize-observer.js +0 -5
  652. package/esm2022/utils/resize-observer/energinet-watt-utils-resize-observer.js.map +0 -1
  653. package/esm2022/utils/resize-observer/index.js +0 -21
  654. package/esm2022/utils/resize-observer/index.js.map +0 -1
  655. package/esm2022/utils/resize-observer/watt-resize-observer.directive.js +0 -53
  656. package/esm2022/utils/resize-observer/watt-resize-observer.directive.js.map +0 -1
  657. package/esm2022/utils/resize-observer/watt-resize-observer.service.js +0 -67
  658. package/esm2022/utils/resize-observer/watt-resize-observer.service.js.map +0 -1
  659. package/esm2022/validation-message/energinet-watt-validation-message.js +0 -5
  660. package/esm2022/validation-message/energinet-watt-validation-message.js.map +0 -1
  661. package/esm2022/validation-message/index.js +0 -20
  662. package/esm2022/validation-message/index.js.map +0 -1
  663. package/esm2022/validation-message/watt-validation-message.component.js.map +0 -1
  664. package/esm2022/validators/energinet-watt-validators.js +0 -5
  665. package/esm2022/validators/energinet-watt-validators.js.map +0 -1
  666. package/esm2022/validators/index.js +0 -20
  667. package/esm2022/validators/index.js.map +0 -1
  668. package/esm2022/validators/watt-range.validators.js.map +0 -1
  669. package/esm2022/vater/energinet-watt-vater.js +0 -5
  670. package/esm2022/vater/energinet-watt-vater.js.map +0 -1
  671. package/esm2022/vater/index.js +0 -24
  672. package/esm2022/vater/index.js.map +0 -1
  673. package/esm2022/vater/types.js +0 -20
  674. package/esm2022/vater/types.js.map +0 -1
  675. package/esm2022/vater/vater-flex.component.js +0 -49
  676. package/esm2022/vater/vater-flex.component.js.map +0 -1
  677. package/esm2022/vater/vater-layout.directive.js +0 -65
  678. package/esm2022/vater/vater-layout.directive.js.map +0 -1
  679. package/esm2022/vater/vater-spacer.component.js +0 -29
  680. package/esm2022/vater/vater-spacer.component.js.map +0 -1
  681. package/esm2022/vater/vater-stack.component.js +0 -42
  682. package/esm2022/vater/vater-stack.component.js.map +0 -1
  683. package/esm2022/vater/vater-utility.directive.js +0 -53
  684. package/esm2022/vater/vater-utility.directive.js.map +0 -1
  685. package/esm2022/year-field/energinet-watt-year-field.js +0 -5
  686. package/esm2022/year-field/energinet-watt-year-field.js.map +0 -1
  687. package/esm2022/year-field/index.js +0 -20
  688. package/esm2022/year-field/index.js.map +0 -1
  689. package/esm2022/year-field/watt-year-field.component.js.map +0 -1
  690. package/esm2022/yearmonth-field/energinet-watt-yearmonth-field.js +0 -5
  691. package/esm2022/yearmonth-field/energinet-watt-yearmonth-field.js.map +0 -1
  692. package/esm2022/yearmonth-field/index.js +0 -21
  693. package/esm2022/yearmonth-field/index.js.map +0 -1
  694. package/esm2022/yearmonth-field/watt-yearmonth-field.component.js.map +0 -1
  695. package/esm2022/yearmonth-field/year-month.js +0 -42
  696. package/esm2022/yearmonth-field/year-month.js.map +0 -1
  697. package/expandable-card/energinet-watt-expandable-card.d.ts +0 -5
  698. package/expandable-card/index.d.ts +0 -19
  699. package/field/energinet-watt-field.d.ts +0 -5
  700. package/field/index.d.ts +0 -21
  701. package/field/watt-field-error.component.d.ts +0 -5
  702. package/field/watt-field-hint.component.d.ts +0 -5
  703. package/field/watt-field-intl.service.d.ts +0 -8
  704. package/field/watt-field-warning.component.d.ts +0 -5
  705. package/field/watt-field.component.d.ts +0 -53
  706. package/file-field/energinet-watt-file-field.d.ts +0 -5
  707. package/file-field/index.d.ts +0 -17
  708. package/file-field/watt-file-field.component.d.ts +0 -10
  709. package/icon/energinet-watt-icon.d.ts +0 -5
  710. package/icon/flags/energinet-watt-icon-flags.d.ts +0 -5
  711. package/icon/flags/index.d.ts +0 -26
  712. package/icon/flags/watt-flag-ch.d.ts +0 -5
  713. package/icon/flags/watt-flag-de.d.ts +0 -5
  714. package/icon/flags/watt-flag-dk.d.ts +0 -5
  715. package/icon/flags/watt-flag-fi.d.ts +0 -5
  716. package/icon/flags/watt-flag-gb.d.ts +0 -5
  717. package/icon/flags/watt-flag-nl.d.ts +0 -5
  718. package/icon/flags/watt-flag-no.d.ts +0 -5
  719. package/icon/flags/watt-flag-pl.d.ts +0 -5
  720. package/icon/flags/watt-flag-se.d.ts +0 -5
  721. package/icon/flags/watt-flag.d.ts +0 -13
  722. package/icon/icon.component.d.ts +0 -20
  723. package/icon/icons.d.ts +0 -95
  724. package/icon/index.d.ts +0 -17
  725. package/index.d.ts +0 -17
  726. package/menu/energinet-watt-menu.d.ts +0 -5
  727. package/menu/index.d.ts +0 -25
  728. package/menu/watt-menu-group.component.d.ts +0 -9
  729. package/menu/watt-menu-item.component.d.ts +0 -9
  730. package/menu/watt-menu-trigger.directive.d.ts +0 -36
  731. package/menu/watt-menu.component.d.ts +0 -44
  732. package/modal/energinet-watt-modal.d.ts +0 -5
  733. package/modal/index.d.ts +0 -18
  734. package/modal/watt-modal.component.d.ts +0 -84
  735. package/modal/watt-modal.service.d.ts +0 -56
  736. package/paginator/energinet-watt-paginator.d.ts +0 -5
  737. package/paginator/index.d.ts +0 -18
  738. package/paginator/watt-paginator-intl.service.d.ts +0 -14
  739. package/paginator/watt-paginator.component.d.ts +0 -53
  740. package/phone-field/energinet-watt-phone-field.d.ts +0 -5
  741. package/phone-field/index.d.ts +0 -18
  742. package/phone-field/watt-phone-field-intl.service.d.ts +0 -17
  743. package/phone-field/watt-phone-field.component.d.ts +0 -75
  744. package/picker/__shared/energinet-watt-picker-__shared.d.ts +0 -5
  745. package/picker/__shared/index.d.ts +0 -19
  746. package/picker/__shared/placeholder-mask/watt-placeholder-mask.component.d.ts +0 -34
  747. package/picker/__shared/watt-picker-value.d.ts +0 -18
  748. package/picker/datepicker/energinet-watt-picker-datepicker.d.ts +0 -5
  749. package/picker/datepicker/index.d.ts +0 -19
  750. package/picker/datepicker/watt-datepicker-intl.service.d.ts +0 -7
  751. package/picker/datepicker/watt-datepicker.component.d.ts +0 -95
  752. package/picker/timepicker/energinet-watt-picker-timepicker.d.ts +0 -5
  753. package/picker/timepicker/index.d.ts +0 -17
  754. package/picker/timepicker/maskito-time-range-mask.d.ts +0 -18
  755. package/progress-tracker/energinet-watt-progress-tracker.d.ts +0 -5
  756. package/progress-tracker/index.d.ts +0 -20
  757. package/progress-tracker/watt-progress-tracker-step.component.d.ts +0 -10
  758. package/progress-tracker/watt-progress-tracker.component.d.ts +0 -5
  759. package/query-params/energinet-watt-query-params.d.ts +0 -5
  760. package/query-params/index.d.ts +0 -17
  761. package/radio/energinet-watt-radio.d.ts +0 -5
  762. package/radio/index.d.ts +0 -18
  763. package/radio/watt-radio-group.component.d.ts +0 -47
  764. package/radio/watt-radio.component.d.ts +0 -23
  765. package/search/energinet-watt-search.d.ts +0 -5
  766. package/search/index.d.ts +0 -17
  767. package/search/watt-search.component.d.ts +0 -44
  768. package/segmented-buttons/energinet-watt-segmented-buttons.d.ts +0 -5
  769. package/segmented-buttons/index.d.ts +0 -21
  770. package/segmented-buttons/watt-segmented-button.component.d.ts +0 -25
  771. package/segmented-buttons/watt-segmented-buttons.component.d.ts +0 -18
  772. package/shell/energinet-watt-shell.d.ts +0 -5
  773. package/shell/index.d.ts +0 -18
  774. package/shell/nav-list/index.d.ts +0 -18
  775. package/shell/nav-list/watt-expand-on-active-link.directive.d.ts +0 -9
  776. package/shell/nav-list/watt-nav-list-item.component.d.ts +0 -16
  777. package/shell/nav-list/watt-nav-list.component.d.ts +0 -12
  778. package/shell/shell.component.d.ts +0 -17
  779. package/slide-toggle/energinet-watt-slide-toggle.d.ts +0 -5
  780. package/slide-toggle/index.d.ts +0 -17
  781. package/slide-toggle/watt-slide-toggle.component.d.ts +0 -33
  782. package/slider/energinet-watt-slider.d.ts +0 -5
  783. package/slider/index.d.ts +0 -17
  784. package/slider/watt-slider.component.d.ts +0 -47
  785. package/spinner/energinet-watt-spinner.d.ts +0 -5
  786. package/spinner/index.d.ts +0 -17
  787. package/spinner/watt-spinner.component.d.ts +0 -15
  788. package/stepper/energinet-watt-stepper.d.ts +0 -5
  789. package/stepper/index.d.ts +0 -18
  790. package/stepper/watt-stepper-step.component.d.ts +0 -35
  791. package/stepper/watt-stepper.component.d.ts +0 -40
  792. package/table/energinet-watt-table.d.ts +0 -5
  793. package/table/index.d.ts +0 -18
  794. package/table/watt-table-data-source.d.ts +0 -39
  795. package/table/watt-table-expand-animation.d.ts +0 -18
  796. package/tabs/energinet-watt-tabs.d.ts +0 -5
  797. package/tabs/index.d.ts +0 -26
  798. package/tabs/watt-link-tab.component.d.ts +0 -7
  799. package/tabs/watt-link-tabs.component.d.ts +0 -7
  800. package/tabs/watt-tab.component.d.ts +0 -26
  801. package/tabs/watt-tabs-action.component.d.ts +0 -5
  802. package/tabs/watt-tabs.component.d.ts +0 -36
  803. package/text-field/energinet-watt-text-field.d.ts +0 -5
  804. package/text-field/index.d.ts +0 -17
  805. package/text-field/watt-text-field.component.d.ts +0 -80
  806. package/textarea-field/energinet-watt-textarea-field.d.ts +0 -5
  807. package/textarea-field/index.d.ts +0 -17
  808. package/textarea-field/watt-textarea-field.component.d.ts +0 -28
  809. package/toast/energinet-watt-toast.d.ts +0 -5
  810. package/toast/index.d.ts +0 -19
  811. package/toast/watt-toast.service.d.ts +0 -12
  812. package/tooltip/energinet-watt-tooltip.d.ts +0 -5
  813. package/tooltip/index.d.ts +0 -17
  814. package/tooltip/watt-tooltip.component.d.ts +0 -26
  815. package/tooltip/watt-tooltip.directive.d.ts +0 -16
  816. package/utils/css/energinet-watt-utils-css.d.ts +0 -5
  817. package/utils/css/index.d.ts +0 -17
  818. package/utils/intersection-observer/energinet-watt-utils-intersection-observer.d.ts +0 -5
  819. package/utils/intersection-observer/index.d.ts +0 -17
  820. package/utils/resize-observer/energinet-watt-utils-resize-observer.d.ts +0 -5
  821. package/utils/resize-observer/index.d.ts +0 -18
  822. package/utils/resize-observer/watt-resize-observer.service.d.ts +0 -22
  823. package/validation-message/energinet-watt-validation-message.d.ts +0 -5
  824. package/validation-message/index.d.ts +0 -17
  825. package/validation-message/watt-validation-message.component.d.ts +0 -50
  826. package/validators/energinet-watt-validators.d.ts +0 -5
  827. package/validators/index.d.ts +0 -17
  828. package/vater/energinet-watt-vater.d.ts +0 -5
  829. package/vater/index.d.ts +0 -21
  830. package/vater/types.d.ts +0 -22
  831. package/vater/vater-flex.component.d.ts +0 -14
  832. package/vater/vater-layout.directive.d.ts +0 -24
  833. package/vater/vater-spacer.component.d.ts +0 -5
  834. package/vater/vater-stack.component.d.ts +0 -7
  835. package/vater/vater-utility.directive.d.ts +0 -17
  836. package/year-field/energinet-watt-year-field.d.ts +0 -5
  837. package/year-field/index.d.ts +0 -17
  838. package/year-field/watt-year-field.component.d.ts +0 -56
  839. package/yearmonth-field/energinet-watt-yearmonth-field.d.ts +0 -5
  840. package/yearmonth-field/index.d.ts +0 -18
  841. package/yearmonth-field/watt-yearmonth-field.component.d.ts +0 -58
  842. package/yearmonth-field/year-month.d.ts +0 -20
@@ -1,3 +1,106 @@
1
+ import * as i0 from '@angular/core';
2
+ import { computed, effect, linkedSignal, afterRenderEffect, untracked, inject, TemplateRef, input, Directive, model, output, contentChildren, contentChild, viewChild, viewChildren, ViewEncapsulation, Component } from '@angular/core';
3
+ import * as i3 from '@angular/material/table';
4
+ import { MatTableDataSource, MatTableModule } from '@angular/material/table';
5
+ import { NgTemplateOutlet, NgClass, KeyValuePipe } from '@angular/common';
6
+ import { outputFromObservable } from '@angular/core/rxjs-interop';
7
+ import * as i1 from '@angular/forms';
8
+ import { FormsModule } from '@angular/forms';
9
+ import * as i2 from '@angular/material/sort';
10
+ import { MatSort, MatSortModule } from '@angular/material/sort';
11
+ import { Subject } from 'rxjs';
12
+ import { WattCheckboxComponent } from '@energinet/watt/checkbox';
13
+ import { wattFormatDate } from '@energinet/watt/core/date';
14
+ import { WattIconComponent } from '@energinet/watt/icon';
15
+
16
+ /**
17
+ * @see https://material.angular.dev/components/table/api#MatTableDataSource
18
+ */
19
+ class WattTableDataSource extends MatTableDataSource {
20
+ constructor(initialData, config = { disableClientSideSort: false }) {
21
+ super(initialData);
22
+ if (config.disableClientSideSort)
23
+ this.sortData = (data) => {
24
+ return data;
25
+ };
26
+ }
27
+ get totalCount() {
28
+ return this.data.length;
29
+ }
30
+ }
31
+ /** Convenience method for creating a data source from reactive input. */
32
+ const dataSource = (computation) => {
33
+ const data = computed(computation, ...(ngDevMode ? [{ debugName: "data" }] : []));
34
+ const dataSource = new WattTableDataSource();
35
+ effect(() => {
36
+ dataSource.data = data();
37
+ });
38
+ return dataSource;
39
+ };
40
+
41
+ //#region License
42
+ /**
43
+ * @license
44
+ * Copyright 2020 Energinet DataHub A/S
45
+ *
46
+ * Licensed under the Apache License, Version 2.0 (the "License2");
47
+ * you may not use this file except in compliance with the License.
48
+ * You may obtain a copy of the License at
49
+ *
50
+ * http://www.apache.org/licenses/LICENSE-2.0
51
+ *
52
+ * Unless required by applicable law or agreed to in writing, software
53
+ * distributed under the License is distributed on an "AS IS" BASIS,
54
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
55
+ * See the License for the specific language governing permissions and
56
+ * limitations under the License.
57
+ */
58
+ //#endregion
59
+ const animateExpandableCells = (elements, trigger) => {
60
+ const cells = computed(() => elements().map((c) => c.nativeElement), ...(ngDevMode ? [{ debugName: "cells" }] : []));
61
+ const expandable = computed(() => cells().filter((c) => c.classList.contains(EXPANDABLE_CLASS)), ...(ngDevMode ? [{ debugName: "expandable" }] : []));
62
+ // Accumulate a map of the height of cells. This needs to remember previous values
63
+ // in case the table navigates/filters or otherwise changes the cells, since cell
64
+ // elements will be added or removed from the list dynamically.
65
+ const heightMap = linkedSignal(...(ngDevMode ? [{ debugName: "heightMap", source: computed(() => {
66
+ trigger(); // recalculate when cells are expanded
67
+ return Object.fromEntries(expandable().map((cell) => [cell.dataset.key, cell.offsetHeight]));
68
+ }),
69
+ computation: (source, prev) => ({ ...prev?.value, ...source }) }] : [{
70
+ source: computed(() => {
71
+ trigger(); // recalculate when cells are expanded
72
+ return Object.fromEntries(expandable().map((cell) => [cell.dataset.key, cell.offsetHeight]));
73
+ }),
74
+ computation: (source, prev) => ({ ...prev?.value, ...source }),
75
+ }]));
76
+ // Compute the differences in height for each cell since the last `trigger`
77
+ const deltaMap = linkedSignal(...(ngDevMode ? [{ debugName: "deltaMap", source: heightMap,
78
+ computation: (source, prev) => Object.entries(source).map(([key, height]) => [key, height - (prev?.source[key] ?? 0)]) }] : [{
79
+ source: heightMap,
80
+ computation: (source, prev) => Object.entries(source).map(([key, height]) => [key, height - (prev?.source[key] ?? 0)]),
81
+ }]));
82
+ return afterRenderEffect({
83
+ read: () => {
84
+ trigger(); // run the animation in response to the `trigger` signal only
85
+ untracked(() => {
86
+ deltaMap()
87
+ .filter(([, deltaY]) => deltaY !== 0)
88
+ .forEach(([key, deltaY]) => {
89
+ // Animate all cells below the expanding cell
90
+ const rowIndex = cells().find((c) => c.dataset.key === key)?.dataset.rowIndex;
91
+ if (!rowIndex)
92
+ return;
93
+ cells()
94
+ .filter((c) => c.dataset.rowIndex && c.dataset.rowIndex > rowIndex)
95
+ .forEach((c) => {
96
+ c.animate({ transform: [`translateY(${deltaY * -1}px)`, 'translateY(0)'] }, { duration: 300, easing: 'cubic-bezier(0.4, 0, 0.2, 1)', composite: 'add' });
97
+ });
98
+ });
99
+ });
100
+ },
101
+ });
102
+ };
103
+
1
104
  //#region License
2
105
  /**
3
106
  * @license
@@ -16,25 +119,9 @@
16
119
  * limitations under the License.
17
120
  */
18
121
  //#endregion
19
- import { KeyValuePipe, NgClass, NgTemplateOutlet } from '@angular/common';
20
- import { Component, computed, contentChild, contentChildren, Directive, effect, inject, input, model, output, TemplateRef, viewChild, viewChildren, ViewEncapsulation, } from '@angular/core';
21
- import { outputFromObservable } from '@angular/core/rxjs-interop';
22
- import { FormsModule } from '@angular/forms';
23
- import { MatSort, MatSortModule } from '@angular/material/sort';
24
- import { MatTableModule } from '@angular/material/table';
25
- import { Subject } from 'rxjs';
26
- import { WattCheckboxComponent } from '@energinet/watt/checkbox';
27
- import { wattFormatDate } from '@energinet/watt/core/date';
28
- import { WattIconComponent } from '@energinet/watt/icon';
29
- import { WattTableDataSource } from './watt-table-data-source';
30
- import { animateExpandableCells } from './watt-table-expand-animation';
31
- import * as i0 from "@angular/core";
32
- import * as i1 from "@angular/forms";
33
- import * as i2 from "@angular/material/sort";
34
- import * as i3 from "@angular/material/table";
35
122
  /** Class name for expandable cells. */
36
- export const EXPANDABLE_CLASS = 'watt-table-cell--expandable';
37
- export class WattTableCellDirective {
123
+ const EXPANDABLE_CLASS = 'watt-table-cell--expandable';
124
+ class WattTableCellDirective {
38
125
  templateRef = inject((TemplateRef));
39
126
  /**
40
127
  * The WattTableColumn this template applies to.
@@ -56,7 +143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
56
143
  selector: '[wattTableCell]',
57
144
  }]
58
145
  }], propDecorators: { column: [{ type: i0.Input, args: [{ isSignal: true, alias: "wattTableCell", required: true }] }], header: [{ type: i0.Input, args: [{ isSignal: true, alias: "wattTableCellHeader", required: false }] }] } });
59
- export class WattTableToolbarDirective {
146
+ class WattTableToolbarDirective {
60
147
  templateRef = inject((TemplateRef));
61
148
  static ngTemplateContextGuard(_directive, context) {
62
149
  return true;
@@ -74,7 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
74
161
  * Usage:
75
162
  * `import { WATT_TABLE } from '@energinet/watt/table';`
76
163
  */
77
- export class WattTableComponent {
164
+ class WattTableComponent {
78
165
  /**
79
166
  * The table's source of data. Property should not be changed after
80
167
  * initialization, instead update the data on the instance itself.
@@ -313,7 +400,7 @@ export class WattTableComponent {
313
400
  */
314
401
  toggleSelection = (row) => this.selection.update((s) => (s.includes(row) ? s.filter((r) => r !== row) : s.concat(row)));
315
402
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
316
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: WattTableComponent, isStandalone: true, selector: "watt-table", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, displayedColumns: { classPropertyName: "displayedColumns", publicName: "displayedColumns", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, stickyFooter: { classPropertyName: "stickyFooter", publicName: "stickyFooter", isSignal: true, isRequired: false, transformFunction: null }, resolveHeader: { classPropertyName: "resolveHeader", publicName: "resolveHeader", isSignal: true, isRequired: false, transformFunction: null }, sortBy: { classPropertyName: "sortBy", publicName: "sortBy", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, sortClear: { classPropertyName: "sortClear", publicName: "sortClear", isSignal: true, isRequired: false, transformFunction: null }, rowClass: { classPropertyName: "rowClass", publicName: "rowClass", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, suppressRowHoverHighlight: { classPropertyName: "suppressRowHoverHighlight", publicName: "suppressRowHoverHighlight", isSignal: true, isRequired: false, transformFunction: null }, activeRow: { classPropertyName: "activeRow", publicName: "activeRow", isSignal: true, isRequired: false, transformFunction: null }, activeRowComparator: { classPropertyName: "activeRowComparator", publicName: "activeRowComparator", isSignal: true, isRequired: false, transformFunction: null }, hideColumnHeaders: { classPropertyName: "hideColumnHeaders", publicName: "hideColumnHeaders", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selection: "selectionChange", expanded: "expandedChange", rowClick: "rowClick", sortChange: "sortChange" }, host: { properties: { "class.watt-table-variant-zebra": "variant() === \"zebra\"", "style.--watt-table-grid-template-columns": "sizing().join(\" \")" } }, queries: [{ propertyName: "cells", predicate: (WattTableCellDirective), isSignal: true }, { propertyName: "toolbar", first: true, predicate: (WattTableToolbarDirective), descendants: true, isSignal: true }], viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, isSignal: true }, { propertyName: "tableCellElements", predicate: ["td"], descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<table\n mat-table\n matSort\n role=\"treegrid\"\n [ngClass]=\"{ 'watt-table-has-selection': getSelectionState() !== false }\"\n [matSortActive]=\"sortBy()\"\n [matSortDirection]=\"sortDirection()\"\n [matSortDisableClear]=\"!sortClear()\"\n [dataSource]=\"dataSource()\"\n [attr.aria-label]=\"description()\"\n (matSortChange)=\"sortChange.emit($event)\"\n>\n @if (selectable()) {\n <ng-container [matColumnDef]=\"checkboxColumn\" [sticky]=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"getSelectionState()\"\n (ngModelChange)=\"$event ? selection.set(dataSource().filteredData) : clearSelection()\"\n />\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"selection().includes(row)\"\n (ngModelChange)=\"toggleSelection(row)\"\n (click)=\"$event.stopPropagation()\"\n />\n </td>\n </ng-container>\n }\n\n <ng-container [matColumnDef]=\"expandableColumn\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n (click)=\"onRowClick(row)\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n >\n <watt-icon name=\"right\" size=\"xs\" />\n </td>\n </ng-container>\n\n @for (column of columns() | keyvalue; track column.key) {\n <ng-container [matColumnDef]=\"column.key\" [stickyEnd]=\"column.value.stickyEnd?.()\">\n <th\n mat-header-cell\n *matHeaderCellDef\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{\n column.value.headerCellClass\n }}\"\n >\n @if (column.value.helperAction; as action) {\n <watt-icon name=\"help\" (click)=\"action()\" />\n }\n\n <div\n class=\"watt-table-header-cell\"\n mat-sort-header\n [arrowPosition]=\"column.value.align === 'right' ? 'before' : 'after'\"\n [disabled]=\"!column.value.accessor || column.value.sort === false\"\n >\n {{ getColumnHeader(column) }}\n @if (column.value.tooltip; as tooltip) {\n <watt-icon [title]=\"tooltip\" name=\"info\" state=\"default\" />\n }\n </div>\n </th>\n\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{ column.value.dataCellClass }}\"\n (click)=\"!column.value.expandable && onRowClick(row)\"\n >\n @if (isExpandable()) {\n @defer (when !column.value.expandable || expanded().includes(row)) {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n } @else {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n </td>\n\n @if (hasFooter()) {\n <td\n mat-footer-cell\n *matFooterCellDef\n class=\"{{ column.value.footer?.class }} watt-table-align-{{\n column.value.align ?? 'left'\n }} \"\n >\n {{ column.value.footer?.value?.() }}\n </td>\n }\n </ng-container>\n }\n\n <ng-container matColumnDef=\"spacer\">\n <td class=\"watt-table-footer-spacer\" mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideColumnHeaders()) {\n <tr mat-header-row *matHeaderRowDef=\"renderedColumns()\"></tr>\n }\n <tr\n mat-row\n *matRowDef=\"let row; columns: renderedColumns()\"\n [attr.aria-selected]=\"row === activeRow()\"\n [class]=\"getRowClass(row)\"\n [ngClass]=\"{\n 'watt-table-highlight-row': !disabled() && !suppressRowHoverHighlight(),\n 'watt-table-clickable-row': !disabled() && rowClick$.observed,\n 'watt-table-active-row': isActiveRow(row),\n 'watt-table-no-end-divider': hideColumnHeaders(),\n }\"\n ></tr>\n\n @if (toolbar()) {\n <tr mat-footer-row *matFooterRowDef=\"['spacer']\"></tr>\n }\n\n @if (hasFooter()) {\n <tr\n mat-footer-row\n [class.watt-table-hide-footer]=\"loading() || dataSource().filteredData.length === 0\"\n *matFooterRowDef=\"renderedColumns(); sticky: stickyFooter()\"\n ></tr>\n }\n\n <ng-container *matNoDataRow>\n @if (loading()) {\n @for (i of [1, 2, 3]; track i) {\n <tr class=\"mat-mdc-row\">\n @for (_ of renderedColumns(); track _; let i = $index) {\n <td class=\"mat-mdc-cell\" [class.watt-table-loading-cell]=\"i > 0 || !selectable()\"></td>\n }\n </tr>\n }\n }\n </ng-container>\n</table>\n\n@if (toolbar(); as toolbar) {\n <div class=\"watt-table-toolbar\" role=\"toolbar\">\n <ng-container\n *ngTemplateOutlet=\"\n toolbar.templateRef;\n context: { $implicit: filterSelectionBy(dataSource().filteredData) }\n \"\n />\n </div>\n}\n", styles: ["watt-table{--mat-table-row-item-label-text-font: $primary-font-family;--mat-table-row-item-outline-color: var(--watt-color-neutral-grey-300);--mat-table-header-headline-font: $primary-font-family}watt-table,watt-table .mat-mdc-table{display:grid;position:relative;overflow:auto;min-height:44px}watt-table .mat-mdc-table{grid-template-columns:var(--watt-table-grid-template-columns);grid-auto-rows:max-content;max-height:100%;z-index:1}watt-table .mat-mdc-table thead,watt-table .mat-mdc-table tbody,watt-table .mat-mdc-table tfoot,watt-table .mat-mdc-table tr.mat-mdc-row,watt-table .mat-mdc-table tr.mat-mdc-header-row,watt-table .mat-mdc-table tr.mat-mdc-footer-row{display:contents}watt-table .mat-mdc-table tr.watt-table-hide-footer{display:none}watt-table .mat-mdc-table tr.mat-mdc-header-row{flex:0 0 auto}watt-table .mat-mdc-table th.mat-mdc-header-cell{color:var(--watt-typography-label-color);font-size:.875rem;line-height:1.25rem;font-weight:600;box-sizing:border-box;display:flex;position:sticky;top:0;padding:0 var(--watt-space-s);height:auto;background:var(--watt-color-primary-ultralight);box-shadow:0 -1px #0000001f inset;border:0;z-index:2!important;white-space:nowrap;-webkit-user-select:none;user-select:none}watt-table .mat-mdc-table td.mat-mdc-footer-cell,watt-table .mat-mdc-table td.mat-mdc-cell{display:flex;align-items:center;min-height:48px;padding:var(--watt-space-xs) var(--watt-space-m);line-height:18px}watt-table .mat-mdc-table td.mat-mdc-cell.watt-table-cell--expandable{padding:0}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer),watt-table .mat-mdc-table tr.mdc-data-table__row:last-child .mat-mdc-cell{border-bottom:1px solid var(--watt-color-neutral-grey-300)}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer){font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:none;letter-spacing:0;border-top:2px solid var(--watt-color-neutral-grey-300);background-color:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-no-end-divider:last-child .mat-mdc-cell{border-bottom:0px solid var(--watt-color-neutral-grey-300)!important}watt-table .mat-mdc-table .watt-table-clickable-row>td:not(.watt-table-cell--expandable),watt-table .mat-mdc-table tr:has(>.watt-table-cell--expandable)>td:not(.watt-table-cell--expandable){cursor:pointer;-webkit-user-select:text;user-select:text}watt-table .mat-mdc-table .watt-table-highlight-row:hover:not(.watt-table-active-row,:has(>.watt-table-cell--expandable:hover))>td{background:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-active-row>td{background:var(--watt-color-secondary-ultralight)}watt-table .mat-mdc-table .mat-column-__expandableColumn__>watt-icon{transition:transform .2s}watt-table .mat-mdc-table .mat-column-__expandableColumn__.watt-table-cell--expanded>watt-icon{transform:rotate(90deg)}watt-table .mat-mdc-table .mat-sort-header-arrow{margin:0}watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-arrow{margin-right:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-arrow,watt-table .mat-mdc-table .watt-table-align-left .mat-sort-header-arrow{margin-left:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-header-cell{padding:.75rem var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-checkbox-cell{justify-content:center}watt-table .mat-mdc-table th.watt-table-checkbox-cell{display:flex;align-items:center}watt-table .mat-mdc-table .watt-table-align-center,watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-container{justify-content:center;text-align:center}watt-table .mat-mdc-table .watt-table-align-right,watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-container{justify-content:right;text-align:right}.watt-table-variant-zebra>table>tbody>tr:nth-child(2n):not(.watt-table-active-row)>td{background-color:var(--watt-color-neutral-grey-50)}watt-table .mat-mdc-table th.watt-table-cell--expandable{display:none}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable{position:relative;min-height:0;max-height:0;border-bottom-width:0;overflow:hidden;pointer-events:none;grid-column:1/-1;background:transparent;flex:1 1 auto;opacity:0;will-change:opacity;transition:opacity .2s cubic-bezier(.4,0,.2,1),overflow 0s .3s allow-discrete}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable>.watt-table-cell-wrapper{position:absolute;top:0;width:100%}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded{height:auto;max-height:initial;opacity:1;border-bottom-width:1px;pointer-events:all;overflow:visible}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded>.watt-table-cell-wrapper{position:relative}.watt-table-cell-wrapper{width:100%}.watt-table-footer-spacer{display:none;height:76px;border:0}.watt-table-has-selection .watt-table-footer-spacer{display:block}.watt-table-has-selection+.watt-table-toolbar{opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(0,0,.2,1),visibility .5s}.watt-table-toolbar{position:absolute;bottom:var(--watt-space-m);left:50%;transform:translate(-50%);display:flex;align-items:center;padding:0 var(--watt-space-m);min-height:44px;border-radius:22px;color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);z-index:1;opacity:0;visibility:hidden;transition:none}.watt-table-toolbar .watt-button--disabled{opacity:.4;--watt-button-primary-disabled-color: #fff}.watt-table-loading-cell:before{content:\"\";flex:1;display:block;max-width:200px;height:var(--watt-space-m);border-radius:var(--watt-space-m);opacity:.75;animation:shine 2s infinite linear;background-color:var(--watt-color-neutral-grey-200);background-size:300px;background-position:-100px;background-image:linear-gradient(90deg,var(--watt-color-neutral-grey-300) 0px,var(--watt-color-neutral-grey-200) 40px,var(--watt-color-neutral-grey-300) 80px)}@keyframes shine{40%,to{background-position:200px}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i3.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i3.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "directive", type: i3.MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattCheckboxComponent, selector: "watt-checkbox", inputs: ["required"] }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }], encapsulation: i0.ViewEncapsulation.None, deferBlockDependencies: [() => [NgTemplateOutlet]] });
403
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: WattTableComponent, isStandalone: true, selector: "watt-table", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, displayedColumns: { classPropertyName: "displayedColumns", publicName: "displayedColumns", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, stickyFooter: { classPropertyName: "stickyFooter", publicName: "stickyFooter", isSignal: true, isRequired: false, transformFunction: null }, resolveHeader: { classPropertyName: "resolveHeader", publicName: "resolveHeader", isSignal: true, isRequired: false, transformFunction: null }, sortBy: { classPropertyName: "sortBy", publicName: "sortBy", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, sortClear: { classPropertyName: "sortClear", publicName: "sortClear", isSignal: true, isRequired: false, transformFunction: null }, rowClass: { classPropertyName: "rowClass", publicName: "rowClass", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, suppressRowHoverHighlight: { classPropertyName: "suppressRowHoverHighlight", publicName: "suppressRowHoverHighlight", isSignal: true, isRequired: false, transformFunction: null }, activeRow: { classPropertyName: "activeRow", publicName: "activeRow", isSignal: true, isRequired: false, transformFunction: null }, activeRowComparator: { classPropertyName: "activeRowComparator", publicName: "activeRowComparator", isSignal: true, isRequired: false, transformFunction: null }, hideColumnHeaders: { classPropertyName: "hideColumnHeaders", publicName: "hideColumnHeaders", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selection: "selectionChange", expanded: "expandedChange", rowClick: "rowClick", sortChange: "sortChange" }, host: { properties: { "class.watt-table-variant-zebra": "variant() === \"zebra\"", "style.--watt-table-grid-template-columns": "sizing().join(\" \")" } }, queries: [{ propertyName: "cells", predicate: (WattTableCellDirective), isSignal: true }, { propertyName: "toolbar", first: true, predicate: (WattTableToolbarDirective), descendants: true, isSignal: true }], viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, isSignal: true }, { propertyName: "tableCellElements", predicate: ["td"], descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<table\n mat-table\n matSort\n role=\"treegrid\"\n [ngClass]=\"{ 'watt-table-has-selection': getSelectionState() !== false }\"\n [matSortActive]=\"sortBy()\"\n [matSortDirection]=\"sortDirection()\"\n [matSortDisableClear]=\"!sortClear()\"\n [dataSource]=\"dataSource()\"\n [attr.aria-label]=\"description()\"\n (matSortChange)=\"sortChange.emit($event)\"\n>\n @if (selectable()) {\n <ng-container [matColumnDef]=\"checkboxColumn\" [sticky]=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"getSelectionState()\"\n (ngModelChange)=\"$event ? selection.set(dataSource().filteredData) : clearSelection()\"\n />\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"selection().includes(row)\"\n (ngModelChange)=\"toggleSelection(row)\"\n (click)=\"$event.stopPropagation()\"\n />\n </td>\n </ng-container>\n }\n\n <ng-container [matColumnDef]=\"expandableColumn\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n (click)=\"onRowClick(row)\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n >\n <watt-icon name=\"right\" size=\"xs\" />\n </td>\n </ng-container>\n\n @for (column of columns() | keyvalue; track column.key) {\n <ng-container [matColumnDef]=\"column.key\" [stickyEnd]=\"column.value.stickyEnd?.()\">\n <th\n mat-header-cell\n *matHeaderCellDef\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{\n column.value.headerCellClass\n }}\"\n >\n @if (column.value.helperAction; as action) {\n <watt-icon name=\"help\" (click)=\"action()\" />\n }\n\n <div\n class=\"watt-table-header-cell\"\n mat-sort-header\n [arrowPosition]=\"column.value.align === 'right' ? 'before' : 'after'\"\n [disabled]=\"!column.value.accessor || column.value.sort === false\"\n >\n {{ getColumnHeader(column) }}\n @if (column.value.tooltip; as tooltip) {\n <watt-icon [title]=\"tooltip\" name=\"info\" state=\"default\" />\n }\n </div>\n </th>\n\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{ column.value.dataCellClass }}\"\n (click)=\"!column.value.expandable && onRowClick(row)\"\n >\n @if (isExpandable()) {\n @defer (when !column.value.expandable || expanded().includes(row)) {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n } @else {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n </td>\n\n @if (hasFooter()) {\n <td\n mat-footer-cell\n *matFooterCellDef\n class=\"{{ column.value.footer?.class }} watt-table-align-{{\n column.value.align ?? 'left'\n }} \"\n >\n {{ column.value.footer?.value?.() }}\n </td>\n }\n </ng-container>\n }\n\n <ng-container matColumnDef=\"spacer\">\n <td class=\"watt-table-footer-spacer\" mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideColumnHeaders()) {\n <tr mat-header-row *matHeaderRowDef=\"renderedColumns()\"></tr>\n }\n <tr\n mat-row\n *matRowDef=\"let row; columns: renderedColumns()\"\n [attr.aria-selected]=\"row === activeRow()\"\n [class]=\"getRowClass(row)\"\n [ngClass]=\"{\n 'watt-table-highlight-row': !disabled() && !suppressRowHoverHighlight(),\n 'watt-table-clickable-row': !disabled() && rowClick$.observed,\n 'watt-table-active-row': isActiveRow(row),\n }\"\n ></tr>\n\n @if (toolbar()) {\n <tr mat-footer-row *matFooterRowDef=\"['spacer']\"></tr>\n }\n\n @if (hasFooter()) {\n <tr\n mat-footer-row\n [class.watt-table-hide-footer]=\"loading() || dataSource().filteredData.length === 0\"\n *matFooterRowDef=\"renderedColumns(); sticky: stickyFooter()\"\n ></tr>\n }\n\n <ng-container *matNoDataRow>\n @if (loading()) {\n @for (i of [1, 2, 3]; track i) {\n <tr class=\"mat-mdc-row\">\n @for (_ of renderedColumns(); track _; let i = $index) {\n <td class=\"mat-mdc-cell\" [class.watt-table-loading-cell]=\"i > 0 || !selectable()\"></td>\n }\n </tr>\n }\n }\n </ng-container>\n</table>\n\n@if (toolbar(); as toolbar) {\n <div class=\"watt-table-toolbar\" role=\"toolbar\">\n <ng-container\n *ngTemplateOutlet=\"\n toolbar.templateRef;\n context: { $implicit: filterSelectionBy(dataSource().filteredData) }\n \"\n />\n </div>\n}\n", styles: ["watt-table{--mat-table-row-item-label-text-font: $primary-font-family;--mat-table-row-item-outline-color: var(--watt-color-neutral-grey-300);--mat-table-header-headline-font: $primary-font-family}watt-table,watt-table .mat-mdc-table{display:grid;position:relative;overflow:auto;min-height:44px}watt-table .mat-mdc-table{grid-template-columns:var(--watt-table-grid-template-columns);grid-auto-rows:max-content;max-height:100%;z-index:1}watt-table .mat-mdc-table thead,watt-table .mat-mdc-table tbody,watt-table .mat-mdc-table tfoot,watt-table .mat-mdc-table tr.mat-mdc-row,watt-table .mat-mdc-table tr.mat-mdc-header-row,watt-table .mat-mdc-table tr.mat-mdc-footer-row{display:contents}watt-table .mat-mdc-table tr.watt-table-hide-footer{display:none}watt-table .mat-mdc-table tr.mat-mdc-header-row{flex:0 0 auto}watt-table .mat-mdc-table th.mat-mdc-header-cell{color:var(--watt-typography-label-color);font-size:.875rem;line-height:1.25rem;font-weight:600;box-sizing:border-box;display:flex;position:sticky;top:0;padding:0 var(--watt-space-s);height:auto;background:var(--watt-color-primary-ultralight);box-shadow:0 -1px #0000001f inset;border:0;z-index:2!important;white-space:nowrap;-webkit-user-select:none;user-select:none}watt-table .mat-mdc-table td.mat-mdc-footer-cell,watt-table .mat-mdc-table td.mat-mdc-cell{display:flex;align-items:center;min-height:48px;padding:var(--watt-space-xs) var(--watt-space-m);line-height:18px}watt-table .mat-mdc-table td.mat-mdc-cell.watt-table-cell--expandable{padding:0}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer){border-bottom:1px solid var(--watt-color-neutral-grey-300)}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer){font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:none;letter-spacing:0;border-top:2px solid var(--watt-color-neutral-grey-300);background-color:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-clickable-row>td:not(.watt-table-cell--expandable),watt-table .mat-mdc-table tr:has(>.watt-table-cell--expandable)>td:not(.watt-table-cell--expandable){cursor:pointer;-webkit-user-select:text;user-select:text}watt-table .mat-mdc-table .watt-table-highlight-row:hover:not(.watt-table-active-row,:has(>.watt-table-cell--expandable:hover))>td{background:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-active-row>td{background:var(--watt-color-secondary-ultralight)}watt-table .mat-mdc-table .mat-column-__expandableColumn__>watt-icon{transition:transform .2s}watt-table .mat-mdc-table .mat-column-__expandableColumn__.watt-table-cell--expanded>watt-icon{transform:rotate(90deg)}watt-table .mat-mdc-table .mat-sort-header-arrow{margin:0}watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-arrow{margin-right:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-arrow,watt-table .mat-mdc-table .watt-table-align-left .mat-sort-header-arrow{margin-left:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-header-cell{padding:.75rem var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-checkbox-cell{justify-content:center}watt-table .mat-mdc-table th.watt-table-checkbox-cell{display:flex;align-items:center}watt-table .mat-mdc-table .watt-table-align-center,watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-container{justify-content:center;text-align:center}watt-table .mat-mdc-table .watt-table-align-right,watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-container{justify-content:right;text-align:right}.watt-table-variant-zebra>table>tbody>tr:nth-child(2n):not(.watt-table-active-row)>td{background-color:var(--watt-color-neutral-grey-50)}watt-table .mat-mdc-table th.watt-table-cell--expandable{display:none}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable{position:relative;min-height:0;max-height:0;border-bottom-width:0;overflow:hidden;pointer-events:none;grid-column:1/-1;background:transparent;flex:1 1 auto;opacity:0;will-change:opacity;transition:opacity .2s cubic-bezier(.4,0,.2,1),overflow 0s .3s allow-discrete}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable>.watt-table-cell-wrapper{position:absolute;top:0;width:100%}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded{height:auto;max-height:initial;opacity:1;border-bottom-width:1px;pointer-events:all;overflow:visible}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded>.watt-table-cell-wrapper{position:relative}.watt-table-cell-wrapper{width:100%}.watt-table-footer-spacer{display:none;height:76px;border:0}.watt-table-has-selection .watt-table-footer-spacer{display:block}.watt-table-has-selection+.watt-table-toolbar{opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(0,0,.2,1),visibility .5s}.watt-table-toolbar{position:absolute;bottom:var(--watt-space-m);left:50%;transform:translate(-50%);display:flex;align-items:center;padding:0 var(--watt-space-m);min-height:44px;border-radius:22px;color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);z-index:1;opacity:0;visibility:hidden;transition:none}.watt-table-toolbar .watt-button--disabled{opacity:.4;--watt-button-primary-disabled-color: #fff}.watt-table-loading-cell:before{content:\"\";flex:1;display:block;max-width:200px;height:var(--watt-space-m);border-radius:var(--watt-space-m);opacity:.75;animation:shine 2s infinite linear;background-color:var(--watt-color-neutral-grey-200);background-size:300px;background-position:-100px;background-image:linear-gradient(90deg,var(--watt-color-neutral-grey-300) 0px,var(--watt-color-neutral-grey-200) 40px,var(--watt-color-neutral-grey-300) 80px)}@keyframes shine{40%,to{background-position:200px}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i3.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i3.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "directive", type: i3.MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattCheckboxComponent, selector: "watt-checkbox", inputs: ["required"] }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }], encapsulation: i0.ViewEncapsulation.None, deferBlockDependencies: [() => [NgTemplateOutlet]] });
317
404
  }
318
405
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattTableComponent, decorators: [{
319
406
  type: Component,
@@ -329,7 +416,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
329
416
  ], encapsulation: ViewEncapsulation.None, selector: 'watt-table', host: {
330
417
  '[class.watt-table-variant-zebra]': 'variant() === "zebra"',
331
418
  '[style.--watt-table-grid-template-columns]': 'sizing().join(" ")',
332
- }, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<table\n mat-table\n matSort\n role=\"treegrid\"\n [ngClass]=\"{ 'watt-table-has-selection': getSelectionState() !== false }\"\n [matSortActive]=\"sortBy()\"\n [matSortDirection]=\"sortDirection()\"\n [matSortDisableClear]=\"!sortClear()\"\n [dataSource]=\"dataSource()\"\n [attr.aria-label]=\"description()\"\n (matSortChange)=\"sortChange.emit($event)\"\n>\n @if (selectable()) {\n <ng-container [matColumnDef]=\"checkboxColumn\" [sticky]=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"getSelectionState()\"\n (ngModelChange)=\"$event ? selection.set(dataSource().filteredData) : clearSelection()\"\n />\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"selection().includes(row)\"\n (ngModelChange)=\"toggleSelection(row)\"\n (click)=\"$event.stopPropagation()\"\n />\n </td>\n </ng-container>\n }\n\n <ng-container [matColumnDef]=\"expandableColumn\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n (click)=\"onRowClick(row)\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n >\n <watt-icon name=\"right\" size=\"xs\" />\n </td>\n </ng-container>\n\n @for (column of columns() | keyvalue; track column.key) {\n <ng-container [matColumnDef]=\"column.key\" [stickyEnd]=\"column.value.stickyEnd?.()\">\n <th\n mat-header-cell\n *matHeaderCellDef\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{\n column.value.headerCellClass\n }}\"\n >\n @if (column.value.helperAction; as action) {\n <watt-icon name=\"help\" (click)=\"action()\" />\n }\n\n <div\n class=\"watt-table-header-cell\"\n mat-sort-header\n [arrowPosition]=\"column.value.align === 'right' ? 'before' : 'after'\"\n [disabled]=\"!column.value.accessor || column.value.sort === false\"\n >\n {{ getColumnHeader(column) }}\n @if (column.value.tooltip; as tooltip) {\n <watt-icon [title]=\"tooltip\" name=\"info\" state=\"default\" />\n }\n </div>\n </th>\n\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{ column.value.dataCellClass }}\"\n (click)=\"!column.value.expandable && onRowClick(row)\"\n >\n @if (isExpandable()) {\n @defer (when !column.value.expandable || expanded().includes(row)) {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n } @else {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n </td>\n\n @if (hasFooter()) {\n <td\n mat-footer-cell\n *matFooterCellDef\n class=\"{{ column.value.footer?.class }} watt-table-align-{{\n column.value.align ?? 'left'\n }} \"\n >\n {{ column.value.footer?.value?.() }}\n </td>\n }\n </ng-container>\n }\n\n <ng-container matColumnDef=\"spacer\">\n <td class=\"watt-table-footer-spacer\" mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideColumnHeaders()) {\n <tr mat-header-row *matHeaderRowDef=\"renderedColumns()\"></tr>\n }\n <tr\n mat-row\n *matRowDef=\"let row; columns: renderedColumns()\"\n [attr.aria-selected]=\"row === activeRow()\"\n [class]=\"getRowClass(row)\"\n [ngClass]=\"{\n 'watt-table-highlight-row': !disabled() && !suppressRowHoverHighlight(),\n 'watt-table-clickable-row': !disabled() && rowClick$.observed,\n 'watt-table-active-row': isActiveRow(row),\n 'watt-table-no-end-divider': hideColumnHeaders(),\n }\"\n ></tr>\n\n @if (toolbar()) {\n <tr mat-footer-row *matFooterRowDef=\"['spacer']\"></tr>\n }\n\n @if (hasFooter()) {\n <tr\n mat-footer-row\n [class.watt-table-hide-footer]=\"loading() || dataSource().filteredData.length === 0\"\n *matFooterRowDef=\"renderedColumns(); sticky: stickyFooter()\"\n ></tr>\n }\n\n <ng-container *matNoDataRow>\n @if (loading()) {\n @for (i of [1, 2, 3]; track i) {\n <tr class=\"mat-mdc-row\">\n @for (_ of renderedColumns(); track _; let i = $index) {\n <td class=\"mat-mdc-cell\" [class.watt-table-loading-cell]=\"i > 0 || !selectable()\"></td>\n }\n </tr>\n }\n }\n </ng-container>\n</table>\n\n@if (toolbar(); as toolbar) {\n <div class=\"watt-table-toolbar\" role=\"toolbar\">\n <ng-container\n *ngTemplateOutlet=\"\n toolbar.templateRef;\n context: { $implicit: filterSelectionBy(dataSource().filteredData) }\n \"\n />\n </div>\n}\n", styles: ["watt-table{--mat-table-row-item-label-text-font: $primary-font-family;--mat-table-row-item-outline-color: var(--watt-color-neutral-grey-300);--mat-table-header-headline-font: $primary-font-family}watt-table,watt-table .mat-mdc-table{display:grid;position:relative;overflow:auto;min-height:44px}watt-table .mat-mdc-table{grid-template-columns:var(--watt-table-grid-template-columns);grid-auto-rows:max-content;max-height:100%;z-index:1}watt-table .mat-mdc-table thead,watt-table .mat-mdc-table tbody,watt-table .mat-mdc-table tfoot,watt-table .mat-mdc-table tr.mat-mdc-row,watt-table .mat-mdc-table tr.mat-mdc-header-row,watt-table .mat-mdc-table tr.mat-mdc-footer-row{display:contents}watt-table .mat-mdc-table tr.watt-table-hide-footer{display:none}watt-table .mat-mdc-table tr.mat-mdc-header-row{flex:0 0 auto}watt-table .mat-mdc-table th.mat-mdc-header-cell{color:var(--watt-typography-label-color);font-size:.875rem;line-height:1.25rem;font-weight:600;box-sizing:border-box;display:flex;position:sticky;top:0;padding:0 var(--watt-space-s);height:auto;background:var(--watt-color-primary-ultralight);box-shadow:0 -1px #0000001f inset;border:0;z-index:2!important;white-space:nowrap;-webkit-user-select:none;user-select:none}watt-table .mat-mdc-table td.mat-mdc-footer-cell,watt-table .mat-mdc-table td.mat-mdc-cell{display:flex;align-items:center;min-height:48px;padding:var(--watt-space-xs) var(--watt-space-m);line-height:18px}watt-table .mat-mdc-table td.mat-mdc-cell.watt-table-cell--expandable{padding:0}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer),watt-table .mat-mdc-table tr.mdc-data-table__row:last-child .mat-mdc-cell{border-bottom:1px solid var(--watt-color-neutral-grey-300)}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer){font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:none;letter-spacing:0;border-top:2px solid var(--watt-color-neutral-grey-300);background-color:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-no-end-divider:last-child .mat-mdc-cell{border-bottom:0px solid var(--watt-color-neutral-grey-300)!important}watt-table .mat-mdc-table .watt-table-clickable-row>td:not(.watt-table-cell--expandable),watt-table .mat-mdc-table tr:has(>.watt-table-cell--expandable)>td:not(.watt-table-cell--expandable){cursor:pointer;-webkit-user-select:text;user-select:text}watt-table .mat-mdc-table .watt-table-highlight-row:hover:not(.watt-table-active-row,:has(>.watt-table-cell--expandable:hover))>td{background:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-active-row>td{background:var(--watt-color-secondary-ultralight)}watt-table .mat-mdc-table .mat-column-__expandableColumn__>watt-icon{transition:transform .2s}watt-table .mat-mdc-table .mat-column-__expandableColumn__.watt-table-cell--expanded>watt-icon{transform:rotate(90deg)}watt-table .mat-mdc-table .mat-sort-header-arrow{margin:0}watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-arrow{margin-right:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-arrow,watt-table .mat-mdc-table .watt-table-align-left .mat-sort-header-arrow{margin-left:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-header-cell{padding:.75rem var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-checkbox-cell{justify-content:center}watt-table .mat-mdc-table th.watt-table-checkbox-cell{display:flex;align-items:center}watt-table .mat-mdc-table .watt-table-align-center,watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-container{justify-content:center;text-align:center}watt-table .mat-mdc-table .watt-table-align-right,watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-container{justify-content:right;text-align:right}.watt-table-variant-zebra>table>tbody>tr:nth-child(2n):not(.watt-table-active-row)>td{background-color:var(--watt-color-neutral-grey-50)}watt-table .mat-mdc-table th.watt-table-cell--expandable{display:none}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable{position:relative;min-height:0;max-height:0;border-bottom-width:0;overflow:hidden;pointer-events:none;grid-column:1/-1;background:transparent;flex:1 1 auto;opacity:0;will-change:opacity;transition:opacity .2s cubic-bezier(.4,0,.2,1),overflow 0s .3s allow-discrete}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable>.watt-table-cell-wrapper{position:absolute;top:0;width:100%}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded{height:auto;max-height:initial;opacity:1;border-bottom-width:1px;pointer-events:all;overflow:visible}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded>.watt-table-cell-wrapper{position:relative}.watt-table-cell-wrapper{width:100%}.watt-table-footer-spacer{display:none;height:76px;border:0}.watt-table-has-selection .watt-table-footer-spacer{display:block}.watt-table-has-selection+.watt-table-toolbar{opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(0,0,.2,1),visibility .5s}.watt-table-toolbar{position:absolute;bottom:var(--watt-space-m);left:50%;transform:translate(-50%);display:flex;align-items:center;padding:0 var(--watt-space-m);min-height:44px;border-radius:22px;color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);z-index:1;opacity:0;visibility:hidden;transition:none}.watt-table-toolbar .watt-button--disabled{opacity:.4;--watt-button-primary-disabled-color: #fff}.watt-table-loading-cell:before{content:\"\";flex:1;display:block;max-width:200px;height:var(--watt-space-m);border-radius:var(--watt-space-m);opacity:.75;animation:shine 2s infinite linear;background-color:var(--watt-color-neutral-grey-200);background-size:300px;background-position:-100px;background-image:linear-gradient(90deg,var(--watt-color-neutral-grey-300) 0px,var(--watt-color-neutral-grey-200) 40px,var(--watt-color-neutral-grey-300) 80px)}@keyframes shine{40%,to{background-position:200px}}\n"] }]
419
+ }, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<table\n mat-table\n matSort\n role=\"treegrid\"\n [ngClass]=\"{ 'watt-table-has-selection': getSelectionState() !== false }\"\n [matSortActive]=\"sortBy()\"\n [matSortDirection]=\"sortDirection()\"\n [matSortDisableClear]=\"!sortClear()\"\n [dataSource]=\"dataSource()\"\n [attr.aria-label]=\"description()\"\n (matSortChange)=\"sortChange.emit($event)\"\n>\n @if (selectable()) {\n <ng-container [matColumnDef]=\"checkboxColumn\" [sticky]=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"getSelectionState()\"\n (ngModelChange)=\"$event ? selection.set(dataSource().filteredData) : clearSelection()\"\n />\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"selection().includes(row)\"\n (ngModelChange)=\"toggleSelection(row)\"\n (click)=\"$event.stopPropagation()\"\n />\n </td>\n </ng-container>\n }\n\n <ng-container [matColumnDef]=\"expandableColumn\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n (click)=\"onRowClick(row)\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n >\n <watt-icon name=\"right\" size=\"xs\" />\n </td>\n </ng-container>\n\n @for (column of columns() | keyvalue; track column.key) {\n <ng-container [matColumnDef]=\"column.key\" [stickyEnd]=\"column.value.stickyEnd?.()\">\n <th\n mat-header-cell\n *matHeaderCellDef\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{\n column.value.headerCellClass\n }}\"\n >\n @if (column.value.helperAction; as action) {\n <watt-icon name=\"help\" (click)=\"action()\" />\n }\n\n <div\n class=\"watt-table-header-cell\"\n mat-sort-header\n [arrowPosition]=\"column.value.align === 'right' ? 'before' : 'after'\"\n [disabled]=\"!column.value.accessor || column.value.sort === false\"\n >\n {{ getColumnHeader(column) }}\n @if (column.value.tooltip; as tooltip) {\n <watt-icon [title]=\"tooltip\" name=\"info\" state=\"default\" />\n }\n </div>\n </th>\n\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{ column.value.dataCellClass }}\"\n (click)=\"!column.value.expandable && onRowClick(row)\"\n >\n @if (isExpandable()) {\n @defer (when !column.value.expandable || expanded().includes(row)) {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n } @else {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n </td>\n\n @if (hasFooter()) {\n <td\n mat-footer-cell\n *matFooterCellDef\n class=\"{{ column.value.footer?.class }} watt-table-align-{{\n column.value.align ?? 'left'\n }} \"\n >\n {{ column.value.footer?.value?.() }}\n </td>\n }\n </ng-container>\n }\n\n <ng-container matColumnDef=\"spacer\">\n <td class=\"watt-table-footer-spacer\" mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideColumnHeaders()) {\n <tr mat-header-row *matHeaderRowDef=\"renderedColumns()\"></tr>\n }\n <tr\n mat-row\n *matRowDef=\"let row; columns: renderedColumns()\"\n [attr.aria-selected]=\"row === activeRow()\"\n [class]=\"getRowClass(row)\"\n [ngClass]=\"{\n 'watt-table-highlight-row': !disabled() && !suppressRowHoverHighlight(),\n 'watt-table-clickable-row': !disabled() && rowClick$.observed,\n 'watt-table-active-row': isActiveRow(row),\n }\"\n ></tr>\n\n @if (toolbar()) {\n <tr mat-footer-row *matFooterRowDef=\"['spacer']\"></tr>\n }\n\n @if (hasFooter()) {\n <tr\n mat-footer-row\n [class.watt-table-hide-footer]=\"loading() || dataSource().filteredData.length === 0\"\n *matFooterRowDef=\"renderedColumns(); sticky: stickyFooter()\"\n ></tr>\n }\n\n <ng-container *matNoDataRow>\n @if (loading()) {\n @for (i of [1, 2, 3]; track i) {\n <tr class=\"mat-mdc-row\">\n @for (_ of renderedColumns(); track _; let i = $index) {\n <td class=\"mat-mdc-cell\" [class.watt-table-loading-cell]=\"i > 0 || !selectable()\"></td>\n }\n </tr>\n }\n }\n </ng-container>\n</table>\n\n@if (toolbar(); as toolbar) {\n <div class=\"watt-table-toolbar\" role=\"toolbar\">\n <ng-container\n *ngTemplateOutlet=\"\n toolbar.templateRef;\n context: { $implicit: filterSelectionBy(dataSource().filteredData) }\n \"\n />\n </div>\n}\n", styles: ["watt-table{--mat-table-row-item-label-text-font: $primary-font-family;--mat-table-row-item-outline-color: var(--watt-color-neutral-grey-300);--mat-table-header-headline-font: $primary-font-family}watt-table,watt-table .mat-mdc-table{display:grid;position:relative;overflow:auto;min-height:44px}watt-table .mat-mdc-table{grid-template-columns:var(--watt-table-grid-template-columns);grid-auto-rows:max-content;max-height:100%;z-index:1}watt-table .mat-mdc-table thead,watt-table .mat-mdc-table tbody,watt-table .mat-mdc-table tfoot,watt-table .mat-mdc-table tr.mat-mdc-row,watt-table .mat-mdc-table tr.mat-mdc-header-row,watt-table .mat-mdc-table tr.mat-mdc-footer-row{display:contents}watt-table .mat-mdc-table tr.watt-table-hide-footer{display:none}watt-table .mat-mdc-table tr.mat-mdc-header-row{flex:0 0 auto}watt-table .mat-mdc-table th.mat-mdc-header-cell{color:var(--watt-typography-label-color);font-size:.875rem;line-height:1.25rem;font-weight:600;box-sizing:border-box;display:flex;position:sticky;top:0;padding:0 var(--watt-space-s);height:auto;background:var(--watt-color-primary-ultralight);box-shadow:0 -1px #0000001f inset;border:0;z-index:2!important;white-space:nowrap;-webkit-user-select:none;user-select:none}watt-table .mat-mdc-table td.mat-mdc-footer-cell,watt-table .mat-mdc-table td.mat-mdc-cell{display:flex;align-items:center;min-height:48px;padding:var(--watt-space-xs) var(--watt-space-m);line-height:18px}watt-table .mat-mdc-table td.mat-mdc-cell.watt-table-cell--expandable{padding:0}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer){border-bottom:1px solid var(--watt-color-neutral-grey-300)}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer){font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:none;letter-spacing:0;border-top:2px solid var(--watt-color-neutral-grey-300);background-color:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-clickable-row>td:not(.watt-table-cell--expandable),watt-table .mat-mdc-table tr:has(>.watt-table-cell--expandable)>td:not(.watt-table-cell--expandable){cursor:pointer;-webkit-user-select:text;user-select:text}watt-table .mat-mdc-table .watt-table-highlight-row:hover:not(.watt-table-active-row,:has(>.watt-table-cell--expandable:hover))>td{background:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-active-row>td{background:var(--watt-color-secondary-ultralight)}watt-table .mat-mdc-table .mat-column-__expandableColumn__>watt-icon{transition:transform .2s}watt-table .mat-mdc-table .mat-column-__expandableColumn__.watt-table-cell--expanded>watt-icon{transform:rotate(90deg)}watt-table .mat-mdc-table .mat-sort-header-arrow{margin:0}watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-arrow{margin-right:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-arrow,watt-table .mat-mdc-table .watt-table-align-left .mat-sort-header-arrow{margin-left:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-header-cell{padding:.75rem var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-checkbox-cell{justify-content:center}watt-table .mat-mdc-table th.watt-table-checkbox-cell{display:flex;align-items:center}watt-table .mat-mdc-table .watt-table-align-center,watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-container{justify-content:center;text-align:center}watt-table .mat-mdc-table .watt-table-align-right,watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-container{justify-content:right;text-align:right}.watt-table-variant-zebra>table>tbody>tr:nth-child(2n):not(.watt-table-active-row)>td{background-color:var(--watt-color-neutral-grey-50)}watt-table .mat-mdc-table th.watt-table-cell--expandable{display:none}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable{position:relative;min-height:0;max-height:0;border-bottom-width:0;overflow:hidden;pointer-events:none;grid-column:1/-1;background:transparent;flex:1 1 auto;opacity:0;will-change:opacity;transition:opacity .2s cubic-bezier(.4,0,.2,1),overflow 0s .3s allow-discrete}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable>.watt-table-cell-wrapper{position:absolute;top:0;width:100%}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded{height:auto;max-height:initial;opacity:1;border-bottom-width:1px;pointer-events:all;overflow:visible}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded>.watt-table-cell-wrapper{position:relative}.watt-table-cell-wrapper{width:100%}.watt-table-footer-spacer{display:none;height:76px;border:0}.watt-table-has-selection .watt-table-footer-spacer{display:block}.watt-table-has-selection+.watt-table-toolbar{opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(0,0,.2,1),visibility .5s}.watt-table-toolbar{position:absolute;bottom:var(--watt-space-m);left:50%;transform:translate(-50%);display:flex;align-items:center;padding:0 var(--watt-space-m);min-height:44px;border-radius:22px;color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);z-index:1;opacity:0;visibility:hidden;transition:none}.watt-table-toolbar .watt-button--disabled{opacity:.4;--watt-button-primary-disabled-color: #fff}.watt-table-loading-cell:before{content:\"\";flex:1;display:block;max-width:200px;height:var(--watt-space-m);border-radius:var(--watt-space-m);opacity:.75;animation:shine 2s infinite linear;background-color:var(--watt-color-neutral-grey-200);background-size:300px;background-position:-100px;background-image:linear-gradient(90deg,var(--watt-color-neutral-grey-300) 0px,var(--watt-color-neutral-grey-200) 40px,var(--watt-color-neutral-grey-300) 80px)}@keyframes shine{40%,to{background-position:200px}}\n"] }]
333
420
  }], ctorParameters: () => [], propDecorators: { dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: true }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], displayedColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayedColumns", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], stickyFooter: [{ type: i0.Input, args: [{ isSignal: true, alias: "stickyFooter", required: false }] }], resolveHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "resolveHeader", required: false }] }], sortBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortBy", required: false }] }], sortDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortDirection", required: false }] }], sortClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortClear", required: false }] }], rowClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowClass", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }, { type: i0.Output, args: ["selectionChange"] }], suppressRowHoverHighlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "suppressRowHoverHighlight", required: false }] }], activeRow: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeRow", required: false }] }], activeRowComparator: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeRowComparator", required: false }] }], hideColumnHeaders: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideColumnHeaders", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }, { type: i0.Output, args: ["expandedChange"] }], trackBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackBy", required: false }] }], rowClick: [{ type: i0.Output, args: ["rowClick"] }], sortChange: [{ type: i0.Output, args: ["sortChange"] }], cells: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => WattTableCellDirective), { isSignal: true }] }], toolbar: [{ type: i0.ContentChild, args: [i0.forwardRef(() => WattTableToolbarDirective), { isSignal: true }] }], sort: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatSort), { isSignal: true }] }], tableCellElements: [{ type: i0.ViewChildren, args: ['td', { isSignal: true }] }] } });
334
- export const WATT_TABLE = [WattTableComponent, WattTableCellDirective, WattTableToolbarDirective];
335
- //# sourceMappingURL=watt-table.component.js.map
421
+ const WATT_TABLE = [WattTableComponent, WattTableCellDirective, WattTableToolbarDirective];
422
+
423
+ //#region License
424
+ /**
425
+ * @license
426
+ * Copyright 2020 Energinet DataHub A/S
427
+ *
428
+ * Licensed under the Apache License, Version 2.0 (the "License2");
429
+ * you may not use this file except in compliance with the License.
430
+ * You may obtain a copy of the License at
431
+ *
432
+ * http://www.apache.org/licenses/LICENSE-2.0
433
+ *
434
+ * Unless required by applicable law or agreed to in writing, software
435
+ * distributed under the License is distributed on an "AS IS" BASIS,
436
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
437
+ * See the License for the specific language governing permissions and
438
+ * limitations under the License.
439
+ */
440
+ //#endregion
441
+
442
+ /**
443
+ * Generated bundle index. Do not edit.
444
+ */
445
+
446
+ export { WATT_TABLE, WattTableCellDirective, WattTableComponent, WattTableDataSource, WattTableToolbarDirective, dataSource };
447
+ //# sourceMappingURL=energinet-watt-table.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"energinet-watt-table.mjs","sources":["../../../libs/watt/package/table/watt-table-data-source.ts","../../../libs/watt/package/table/watt-table-expand-animation.ts","../../../libs/watt/package/table/watt-table.component.ts","../../../libs/watt/package/table/watt-table.component.html","../../../libs/watt/package/table/index.ts","../../../libs/watt/package/table/energinet-watt-table.ts"],"sourcesContent":["//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { DataSource } from '@angular/cdk/collections';\nimport { computed, effect } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\nexport interface IWattTableDataSource<T> extends DataSource<T> {\n data: T[];\n filter: string;\n filteredData: T[];\n paginator: MatPaginator | null | undefined;\n sort: MatSort | null | undefined;\n totalCount: number;\n}\n\n/**\n * @see https://material.angular.dev/components/table/api#MatTableDataSource\n */\nexport class WattTableDataSource<T>\n extends MatTableDataSource<T>\n implements IWattTableDataSource<T>\n{\n constructor(\n initialData?: T[],\n config: { disableClientSideSort: boolean } = { disableClientSideSort: false }\n ) {\n super(initialData);\n\n if (config.disableClientSideSort)\n this.sortData = (data: T[]): T[] => {\n return data;\n };\n }\n\n get totalCount() {\n return this.data.length;\n }\n}\n\n/** Convenience method for creating a data source from reactive input. */\nexport const dataSource = <T>(computation: () => T[]) => {\n const data = computed(computation);\n const dataSource = new WattTableDataSource<T>();\n effect(() => {\n dataSource.data = data();\n });\n return dataSource;\n};\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport {\n afterRenderEffect,\n computed,\n ElementRef,\n linkedSignal,\n Signal,\n untracked,\n} from '@angular/core';\nimport { EXPANDABLE_CLASS } from './watt-table.component';\n\nexport const animateExpandableCells = (\n elements: Signal<readonly ElementRef<HTMLTableCellElement>[]>,\n trigger: Signal<unknown>\n) => {\n const cells = computed<HTMLTableCellElement[]>(() => elements().map((c) => c.nativeElement));\n const expandable = computed(() => cells().filter((c) => c.classList.contains(EXPANDABLE_CLASS)));\n\n // Accumulate a map of the height of cells. This needs to remember previous values\n // in case the table navigates/filters or otherwise changes the cells, since cell\n // elements will be added or removed from the list dynamically.\n const heightMap = linkedSignal<Record<string, number>, Record<string, number>>({\n source: computed(() => {\n trigger(); // recalculate when cells are expanded\n return Object.fromEntries(expandable().map((cell) => [cell.dataset.key, cell.offsetHeight]));\n }),\n computation: (source, prev) => ({ ...prev?.value, ...source }),\n });\n\n // Compute the differences in height for each cell since the last `trigger`\n const deltaMap = linkedSignal<Record<string, number>, [string, number][]>({\n source: heightMap,\n computation: (source, prev) =>\n Object.entries(source).map(([key, height]) => [key, height - (prev?.source[key] ?? 0)]),\n });\n\n return afterRenderEffect({\n read: () => {\n trigger(); // run the animation in response to the `trigger` signal only\n untracked(() => {\n deltaMap()\n .filter(([, deltaY]) => deltaY !== 0)\n .forEach(([key, deltaY]) => {\n // Animate all cells below the expanding cell\n const rowIndex = cells().find((c) => c.dataset.key === key)?.dataset.rowIndex;\n if (!rowIndex) return;\n cells()\n .filter((c) => c.dataset.rowIndex && c.dataset.rowIndex > rowIndex)\n .forEach((c) => {\n c.animate(\n { transform: [`translateY(${deltaY * -1}px)`, 'translateY(0)'] },\n { duration: 300, easing: 'cubic-bezier(0.4, 0, 0.2, 1)', composite: 'add' }\n );\n });\n });\n });\n },\n });\n};\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { KeyValue, KeyValuePipe, NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n computed,\n contentChild,\n contentChildren,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n model,\n output,\n TemplateRef,\n viewChild,\n viewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { Signal, TrackByFunction } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { MatSort, MatSortModule, Sort, SortDirection } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { Subject } from 'rxjs';\n\nimport { WattCheckboxComponent } from '@energinet/watt/checkbox';\nimport { wattFormatDate } from '@energinet/watt/core/date';\nimport { WattIconComponent } from '@energinet/watt/icon';\nimport { IWattTableDataSource, WattTableDataSource } from './watt-table-data-source';\nimport { animateExpandableCells } from './watt-table-expand-animation';\n\n/** Class name for expandable cells. */\nexport const EXPANDABLE_CLASS = 'watt-table-cell--expandable';\n\nexport interface WattTableColumn<T> {\n /**\n * The data that this column should be bound to, either as a property of `T`\n * or derived from each row of `T` using an accessor function. Use `null`\n * for columns that should not be associated with data, but note that this\n * will disable sorting and automatic cell population.\n */\n accessor: keyof T | ((row: T) => unknown) | null;\n\n /**\n * Resolve the header text to a static display value. This will prevent\n * the `resolveHeader` input function from being called for this column.\n */\n header?: string;\n\n /**\n * Callback for determining cell content when not using template. By default,\n * cell content is found using the `accessor` (unless it is `null`).\n */\n cell?: (row: T) => string;\n\n /**\n * Enable or disable sorting for this column. Defaults to `true`\n * unless `accessor` is `null`.\n */\n sort?: boolean;\n\n /**\n * Set the column size using grid sizing values. Defaults to `\"auto\"`.\n *\n * @remarks\n * Accepts all of the CSS grid track size keywords (such as `min-content`,\n * `max-content`, `minmax()`) as well as fractional (`fr`), percentage (`%`)\n * and length (`px`, `em`, etc) units.\n *\n * @see https://drafts.csswg.org/css-grid/#track-sizes\n */\n size?: string;\n\n /**\n * Horizontally align the contents of the column. Defaults to `\"left\"`.\n */\n align?: 'left' | 'right' | 'center';\n\n /**\n * Helper icon will be shown in the header cell, with an click event.\n */\n helperAction?: () => void;\n\n /**\n * CSS class to apply to the header cell element.\n */\n headerCellClass?: string;\n\n /**\n * CSS class to apply to the data cell element.\n */\n dataCellClass?: string;\n\n /**\n * Footer configuration for the column.\n */\n footer?: WattTableColumnFooter;\n\n /**\n * When set to `true`, the column remains visible when horizontally scrolling.\n */\n stickyEnd?: Signal<boolean>;\n\n /**\n * When `true`, the cell is replaced with an expandable arrow and the content is deferred.\n * Clicking on the arrow reveals the content below the current row.\n *\n * @remarks\n * It is recommended to provide a custom `trackBy` function when using `expandable`,\n * otherwise animations can be inaccurate when data is changed.\n */\n expandable?: boolean;\n\n /**\n * Tooltip text to show on hover of the header cell.\n */\n tooltip?: string;\n}\n\n/**\n * Configuration for the footer cell of a column.\n */\nexport interface WattTableColumnFooter {\n /**\n * The value that will be displayed in the footer cell.\n */\n value?: Signal<string | number>;\n\n /**\n * CSS class to apply to the footer cell.\n */\n class?: string;\n}\n\n/**\n * Record for defining columns with keys used as column identifiers.\n */\nexport type WattTableColumnDef<T> = Record<string, WattTableColumn<T>>;\n\n// Used for strongly typing the structural directive\ninterface WattTableCellContext<T> {\n $implicit: T;\n index: number;\n}\n\ninterface WattTableToolbarContext<T> {\n $implicit: T;\n}\n\n@Directive({\n selector: '[wattTableCell]',\n})\nexport class WattTableCellDirective<T> {\n templateRef = inject(TemplateRef<WattTableCellContext<T>>);\n\n /**\n * The WattTableColumn this template applies to.\n */\n readonly column = input.required<WattTableColumn<T>>({ alias: 'wattTableCell' });\n\n /**\n * Optional header text for the column.\n */\n readonly header = input<string>(undefined, { alias: 'wattTableCellHeader' });\n\n static ngTemplateContextGuard<T>(\n _directive: WattTableCellDirective<T>,\n context: unknown\n ): context is WattTableCellContext<T> {\n return true;\n }\n}\n\n@Directive({\n selector: '[wattTableToolbar]',\n})\nexport class WattTableToolbarDirective<T> {\n templateRef = inject(TemplateRef<WattTableToolbarContext<T[]>>);\n static ngTemplateContextGuard<T>(\n _directive: WattTableToolbarDirective<T>,\n context: unknown\n ): context is WattTableToolbarContext<T[]> {\n return true;\n }\n}\n\n/**\n * Usage:\n * `import { WATT_TABLE } from '@energinet/watt/table';`\n */\n@Component({\n imports: [\n NgClass,\n NgTemplateOutlet,\n KeyValuePipe,\n FormsModule,\n MatSortModule,\n MatTableModule,\n WattIconComponent,\n WattCheckboxComponent,\n ],\n encapsulation: ViewEncapsulation.None,\n selector: 'watt-table',\n styleUrls: ['./watt-table.component.scss'],\n templateUrl: './watt-table.component.html',\n host: {\n '[class.watt-table-variant-zebra]': 'variant() === \"zebra\"',\n '[style.--watt-table-grid-template-columns]': 'sizing().join(\" \")',\n },\n})\nexport class WattTableComponent<T> {\n /**\n * The table's source of data. Property should not be changed after\n * initialization, instead update the data on the instance itself.\n */\n readonly dataSource = input.required<IWattTableDataSource<T>>();\n\n /**\n * Column definition record with keys representing the column identifiers\n * and values being the column configuration. The order of the columns\n * is determined by the property order, but can be overruled by the\n * `displayedColumns` input.\n */\n readonly columns = input<WattTableColumnDef<T>>({});\n\n /**\n * Used for hiding or reordering columns defined in the `columns` input.\n */\n readonly displayedColumns = input<string[]>();\n\n /**\n * Used for disabling the table. This will disable all user interaction\n */\n readonly disabled = input(false);\n\n /**\n * Provide a description of the table for visually impaired users.\n */\n readonly description = input('');\n\n /**\n * If set to `true`, the table will show a loading indicator\n * when there is no data.\n */\n readonly loading = input(false);\n\n /**\n * If true the footer will be sticky\n */\n readonly stickyFooter = input(false);\n\n /**\n * Optional callback for determining header text for columns that\n * do not have a static header text set in the column definition.\n * Useful for providing translations of column headers.\n */\n readonly resolveHeader = input<(key: string) => string>();\n\n /**\n * Identifier for column that should be sorted initially.\n */\n readonly sortBy = input('');\n\n /**\n * The sort direction of the initially sorted column.\n */\n readonly sortDirection = input<SortDirection>('');\n\n /**\n * Whether to allow the user to clear the sort. Defaults to `true`.\n */\n readonly sortClear = input(true);\n\n /**\n * Optional function to determine CSS class(es) for each row.\n */\n readonly rowClass = input<(row: T) => string | string[]>();\n\n /**\n * Whether the table should include a checkbox column for row selection.\n */\n readonly selectable = input(false);\n\n /**\n * Sets the selected rows. Only applicable when selectable is `true`.\n */\n readonly selection = model<T[]>([]);\n\n /**\n * Set to true to disable row hover highlight.\n */\n readonly suppressRowHoverHighlight = input(false);\n\n /**\n * Highlights the currently active row.\n */\n readonly activeRow = input<T>();\n\n /**\n * Custom comparator function to determine if two rows are equal.\n *\n * @remarks\n * The default behavior for determining the active row is to compare\n * the two row objects using strict equality check. This is sufficient\n * as long as the instances remain the same, which may not be the case\n * if row data is recreated or rebuilt from serialization.\n */\n readonly activeRowComparator = input<(currentRow: T, activeRow: T) => boolean>();\n\n /**\n * If set to `true`, the column headers will not be shown. Default is `false`.\n */\n readonly hideColumnHeaders = input(false);\n\n /**\n * Choose from a predefined set of display variants.\n */\n readonly variant = input<'zebra'>();\n\n /**\n * Array of rows that are currently expanded.\n */\n readonly expanded = model<T[]>([]);\n\n /**\n * Optional function for uniquely identifying rows.\n */\n readonly trackBy = input<TrackByFunction<T> | keyof T>();\n\n /**\n * @ignore\n * The `observed` boolean from the `Subject` is used to determine if a row is\n * clickable or not. This is available on `EventEmitter`, but not on `output`,\n * which is why this workaround is used.\n */\n protected rowClick$ = new Subject<T>();\n\n /**\n * Emits whenever a row is clicked.\n */\n readonly rowClick = outputFromObservable(this.rowClick$);\n\n /**\n * Event emitted when the user changes the active sort or sort direction.\n */\n readonly sortChange = output<Sort>();\n\n // Queries\n protected cells = contentChildren(WattTableCellDirective<T>);\n protected toolbar = contentChild(WattTableToolbarDirective<T>);\n protected sort = viewChild(MatSort);\n\n // Enables animation for expanding/collapsing cells\n protected tableCellElements = viewChildren<ElementRef<HTMLTableCellElement>>('td');\n protected animationEffect = animateExpandableCells(this.tableCellElements, this.expanded);\n\n // Selectable\n protected filterSelectionBy = (rows: T[]) => rows.filter((row) => this.selection().includes(row));\n protected getSelectionState = () => {\n const filteredData = this.dataSource().filteredData;\n const filteredSelection = this.filterSelectionBy(filteredData);\n if (!filteredSelection.length) return false;\n return filteredSelection.length === this.dataSource().filteredData.length ? true : null;\n };\n\n // Unique names for special columns\n protected checkboxColumn = '__checkboxColumn__';\n protected expandableColumn = '__expandableColumn__';\n\n protected hasFooter = computed(() => Object.values(this.columns()).some((c) => c.footer));\n protected isExpandable = computed(() => Object.values(this.columns()).some((c) => c.expandable));\n protected renderedColumns = computed(() => {\n const columns = this.displayedColumns() ?? Object.keys(this.columns());\n return [\n ...(this.selectable() ? [this.checkboxColumn] : []),\n ...columns.filter((key) => !this.columns()[key].expandable),\n ...(this.isExpandable() ? [this.expandableColumn] : []),\n ...columns.filter((key) => this.columns()[key].expandable),\n ];\n });\n\n protected sizing = computed(() => {\n const columns = this.columns();\n return this.renderedColumns()\n .filter((key) => !columns[key]?.expandable)\n .map((key) => {\n switch (key) {\n case this.checkboxColumn:\n return 'var(--watt-space-xl)';\n case this.expandableColumn:\n return 'min-content';\n default:\n return columns[key]?.size ?? 'auto';\n }\n });\n });\n\n /** Try to get cell data for a specific `column` and `row`. */\n private getCellData = (column: WattTableColumn<T>, row: T) => {\n if (column.cell) return column.cell(row);\n return !column.accessor\n ? ''\n : typeof column.accessor === 'function'\n ? column.accessor(row)\n : row[column.accessor];\n };\n\n protected getColumnTemplate = (column: WattTableColumn<T>) =>\n this.cells().find((item) => item.column() === column)?.templateRef;\n\n protected getColumnHeader = (column: KeyValue<string, WattTableColumn<T>>) => {\n if (typeof column.value.header === 'string') return column.value.header;\n const cell = this.cells().find((item) => item.column() === column.value);\n return cell?.header() ?? this.resolveHeader()?.(column.key) ?? column.key;\n };\n\n protected getColumnCell = (column: WattTableColumn<T>, row: T) => {\n const cell = this.getCellData(column, row);\n if (cell === undefined || cell === null) return '—';\n if (cell instanceof Date) return wattFormatDate(cell);\n return cell;\n };\n\n protected getRowKey = (index: number, row: T) => {\n const trackBy = this.trackBy();\n if (typeof trackBy === 'string') return row[trackBy];\n if (typeof trackBy === 'function') return trackBy(index, row);\n return this.dataSource().data.indexOf(row);\n };\n\n protected isActiveRow = (row: T) => {\n const activeRow = this.activeRow();\n const activeRowComparator = this.activeRowComparator();\n if (!activeRow) return false;\n return activeRowComparator ? activeRowComparator(row, activeRow) : row === activeRow;\n };\n\n protected getRowClass = (row: T): string => {\n const rowClass = this.rowClass();\n if (!rowClass) return '';\n const result = rowClass(row);\n return Array.isArray(result) ? result.join(' ') : result;\n };\n\n protected onRowClick = (row: T) => {\n if (this.disabled() || window.getSelection()?.toString() !== '') return;\n if (this.isExpandable()) {\n this.expanded.update((rows) =>\n rows.includes(row) ? rows.filter((r) => r != row) : [...rows, row]\n );\n }\n\n this.rowClick$.next(row);\n };\n\n constructor() {\n effect(() => {\n const dataSource = this.dataSource();\n dataSource.sort = this.sort();\n if (!(dataSource instanceof WattTableDataSource)) return;\n dataSource.sortingDataAccessor = (row: T, sortHeaderId: string) => {\n const column = this.columns()[sortHeaderId];\n const value = this.getCellData(column, row);\n if (typeof value === 'string') return value.toLowerCase(); // case insensitive sorting\n if (value instanceof Date) return value.getTime();\n return value as number;\n };\n });\n }\n\n /**\n * Clears the selection, emitting `selectionChange` if `selection` was not empty.\n */\n clearSelection = () => this.selection.update((s) => (!s.length ? s : []));\n\n /**\n * Toggles the selection of a row.\n */\n toggleSelection = (row: T) =>\n this.selection.update((s) => (s.includes(row) ? s.filter((r) => r !== row) : s.concat(row)));\n}\n\nexport const WATT_TABLE = [WattTableComponent, WattTableCellDirective, WattTableToolbarDirective];\n","<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<table\n mat-table\n matSort\n role=\"treegrid\"\n [ngClass]=\"{ 'watt-table-has-selection': getSelectionState() !== false }\"\n [matSortActive]=\"sortBy()\"\n [matSortDirection]=\"sortDirection()\"\n [matSortDisableClear]=\"!sortClear()\"\n [dataSource]=\"dataSource()\"\n [attr.aria-label]=\"description()\"\n (matSortChange)=\"sortChange.emit($event)\"\n>\n @if (selectable()) {\n <ng-container [matColumnDef]=\"checkboxColumn\" [sticky]=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"getSelectionState()\"\n (ngModelChange)=\"$event ? selection.set(dataSource().filteredData) : clearSelection()\"\n />\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"selection().includes(row)\"\n (ngModelChange)=\"toggleSelection(row)\"\n (click)=\"$event.stopPropagation()\"\n />\n </td>\n </ng-container>\n }\n\n <ng-container [matColumnDef]=\"expandableColumn\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n (click)=\"onRowClick(row)\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n >\n <watt-icon name=\"right\" size=\"xs\" />\n </td>\n </ng-container>\n\n @for (column of columns() | keyvalue; track column.key) {\n <ng-container [matColumnDef]=\"column.key\" [stickyEnd]=\"column.value.stickyEnd?.()\">\n <th\n mat-header-cell\n *matHeaderCellDef\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{\n column.value.headerCellClass\n }}\"\n >\n @if (column.value.helperAction; as action) {\n <watt-icon name=\"help\" (click)=\"action()\" />\n }\n\n <div\n class=\"watt-table-header-cell\"\n mat-sort-header\n [arrowPosition]=\"column.value.align === 'right' ? 'before' : 'after'\"\n [disabled]=\"!column.value.accessor || column.value.sort === false\"\n >\n {{ getColumnHeader(column) }}\n @if (column.value.tooltip; as tooltip) {\n <watt-icon [title]=\"tooltip\" name=\"info\" state=\"default\" />\n }\n </div>\n </th>\n\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{ column.value.dataCellClass }}\"\n (click)=\"!column.value.expandable && onRowClick(row)\"\n >\n @if (isExpandable()) {\n @defer (when !column.value.expandable || expanded().includes(row)) {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n } @else {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n </td>\n\n @if (hasFooter()) {\n <td\n mat-footer-cell\n *matFooterCellDef\n class=\"{{ column.value.footer?.class }} watt-table-align-{{\n column.value.align ?? 'left'\n }} \"\n >\n {{ column.value.footer?.value?.() }}\n </td>\n }\n </ng-container>\n }\n\n <ng-container matColumnDef=\"spacer\">\n <td class=\"watt-table-footer-spacer\" mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideColumnHeaders()) {\n <tr mat-header-row *matHeaderRowDef=\"renderedColumns()\"></tr>\n }\n <tr\n mat-row\n *matRowDef=\"let row; columns: renderedColumns()\"\n [attr.aria-selected]=\"row === activeRow()\"\n [class]=\"getRowClass(row)\"\n [ngClass]=\"{\n 'watt-table-highlight-row': !disabled() && !suppressRowHoverHighlight(),\n 'watt-table-clickable-row': !disabled() && rowClick$.observed,\n 'watt-table-active-row': isActiveRow(row),\n }\"\n ></tr>\n\n @if (toolbar()) {\n <tr mat-footer-row *matFooterRowDef=\"['spacer']\"></tr>\n }\n\n @if (hasFooter()) {\n <tr\n mat-footer-row\n [class.watt-table-hide-footer]=\"loading() || dataSource().filteredData.length === 0\"\n *matFooterRowDef=\"renderedColumns(); sticky: stickyFooter()\"\n ></tr>\n }\n\n <ng-container *matNoDataRow>\n @if (loading()) {\n @for (i of [1, 2, 3]; track i) {\n <tr class=\"mat-mdc-row\">\n @for (_ of renderedColumns(); track _; let i = $index) {\n <td class=\"mat-mdc-cell\" [class.watt-table-loading-cell]=\"i > 0 || !selectable()\"></td>\n }\n </tr>\n }\n }\n </ng-container>\n</table>\n\n@if (toolbar(); as toolbar) {\n <div class=\"watt-table-toolbar\" role=\"toolbar\">\n <ng-container\n *ngTemplateOutlet=\"\n toolbar.templateRef;\n context: { $implicit: filterSelectionBy(dataSource().filteredData) }\n \"\n />\n </div>\n}\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nexport { IWattTableDataSource, WattTableDataSource, dataSource } from './watt-table-data-source';\nexport {\n type WattTableColumn,\n type WattTableColumnDef,\n WattTableComponent,\n WattTableCellDirective,\n WattTableToolbarDirective,\n WATT_TABLE,\n} from './watt-table.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}