@energinet/watt 2.0.14 → 2.1.1

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 (391) hide show
  1. package/badge/energinet-watt-badge.d.ts +5 -0
  2. package/breadcrumbs/energinet-watt-breadcrumbs.d.ts +5 -0
  3. package/button/energinet-watt-button.d.ts +5 -0
  4. package/card/energinet-watt-card.d.ts +5 -0
  5. package/checkbox/energinet-watt-checkbox.d.ts +5 -0
  6. package/chip/energinet-watt-chip.d.ts +5 -0
  7. package/clipboard/energinet-watt-clipboard.d.ts +5 -0
  8. package/code/energinet-watt-code.d.ts +5 -0
  9. package/core/breakpoints/breakpoints-observer.d.ts +1 -19
  10. package/core/breakpoints/energinet-watt-core-breakpoints.d.ts +5 -0
  11. package/core/color/color-helper.service.d.ts +2 -4
  12. package/core/color/energinet-watt-core-color.d.ts +5 -0
  13. package/core/date/energinet-watt-core-date.d.ts +5 -0
  14. package/core/date/watt-locale.service.d.ts +1 -3
  15. package/data/energinet-watt-data.d.ts +5 -0
  16. package/data/watt-data-table.component.d.ts +2 -1
  17. package/datetime-field/energinet-watt-datetime-field.d.ts +5 -0
  18. package/description-list/energinet-watt-description-list.d.ts +5 -0
  19. package/drawer/energinet-watt-drawer.d.ts +5 -0
  20. package/dropdown/energinet-watt-dropdown.d.ts +5 -0
  21. package/dropzone/energinet-watt-dropzone.d.ts +5 -0
  22. package/empty-state/energinet-watt-empty-state.d.ts +5 -0
  23. package/energinet-watt.d.ts +5 -0
  24. package/esm2022/badge/energinet-watt-badge.js +5 -0
  25. package/esm2022/badge/index.js +20 -0
  26. package/{fesm2022/energinet-watt-badge.mjs → esm2022/badge/watt-badge.component.js} +7 -33
  27. package/esm2022/breadcrumbs/energinet-watt-breadcrumbs.js +5 -0
  28. package/esm2022/breadcrumbs/index.js +20 -0
  29. package/esm2022/breadcrumbs/watt-breadcrumbs.component.js +90 -0
  30. package/esm2022/button/energinet-watt-button.js +5 -0
  31. package/esm2022/button/index.js +20 -0
  32. package/{fesm2022/energinet-watt-button.mjs → esm2022/button/watt-button.component.js} +14 -40
  33. package/esm2022/card/energinet-watt-card.js +5 -0
  34. package/esm2022/card/index.js +21 -0
  35. package/esm2022/card/watt-card-title.component.js +33 -0
  36. package/esm2022/card/watt-card.component.js +61 -0
  37. package/esm2022/checkbox/energinet-watt-checkbox.js +5 -0
  38. package/esm2022/checkbox/index.js +20 -0
  39. package/{fesm2022/energinet-watt-checkbox.mjs → esm2022/checkbox/watt-checkbox.component.js} +9 -35
  40. package/esm2022/chip/energinet-watt-chip.js +5 -0
  41. package/esm2022/chip/index.js +26 -0
  42. package/esm2022/chip/watt-action-chip.component.js +68 -0
  43. package/esm2022/chip/watt-chip.component.js +55 -0
  44. package/esm2022/chip/watt-chip.directive.js +92 -0
  45. package/esm2022/chip/watt-date-chip.component.js +118 -0
  46. package/esm2022/chip/watt-date-range-chip.component.js +240 -0
  47. package/esm2022/chip/watt-filter-chip.component.js +94 -0
  48. package/esm2022/chip/watt-menu-chip.component.js +95 -0
  49. package/esm2022/clipboard/energinet-watt-clipboard.js +5 -0
  50. package/esm2022/clipboard/index.js +21 -0
  51. package/esm2022/clipboard/watt-clipboard-intl.service.js +31 -0
  52. package/esm2022/clipboard/watt-copy-to-clipboard.directive.js +64 -0
  53. package/esm2022/code/energinet-watt-code.js +5 -0
  54. package/esm2022/code/index.js +21 -0
  55. package/esm2022/code/watt-code.component.js +74 -0
  56. package/esm2022/code/watt-code.worker.token.js +21 -0
  57. package/esm2022/core/breakpoints/breakpoints-observer.js +41 -0
  58. package/esm2022/core/breakpoints/breakpoints.js +31 -0
  59. package/esm2022/core/breakpoints/energinet-watt-core-breakpoints.js +5 -0
  60. package/esm2022/core/breakpoints/index.js +21 -0
  61. package/esm2022/core/color/color-helper.service.js +41 -0
  62. package/esm2022/core/color/colors.js +58 -0
  63. package/esm2022/core/color/energinet-watt-core-color.js +5 -0
  64. package/esm2022/core/color/index.js +21 -0
  65. package/esm2022/core/date/dayjs.js +34 -0
  66. package/esm2022/core/date/energinet-watt-core-date.js +5 -0
  67. package/esm2022/core/date/index.js +25 -0
  68. package/esm2022/core/date/watt-danish-datetime.providers.js +31 -0
  69. package/esm2022/core/date/watt-date-adapter.js +43 -0
  70. package/esm2022/core/date/watt-date-range.js +2 -0
  71. package/esm2022/core/date/watt-date.pipe.js +38 -0
  72. package/esm2022/core/date/watt-format-date.js +50 -0
  73. package/esm2022/core/date/watt-locale.service.js +48 -0
  74. package/esm2022/data/energinet-watt-data.js +5 -0
  75. package/esm2022/data/index.js +23 -0
  76. package/esm2022/data/watt-data-actions.component.js +32 -0
  77. package/esm2022/data/watt-data-filters.component.js +32 -0
  78. package/esm2022/data/watt-data-intl.service.js +39 -0
  79. package/esm2022/data/watt-data-table.component.js +193 -0
  80. package/esm2022/datetime-field/energinet-watt-datetime-field.js +5 -0
  81. package/esm2022/datetime-field/index.js +20 -0
  82. package/esm2022/datetime-field/watt-datetime-field.component.js +207 -0
  83. package/esm2022/description-list/energinet-watt-description-list.js +5 -0
  84. package/esm2022/description-list/index.js +20 -0
  85. package/esm2022/description-list/watt-description-list-item.component.js +49 -0
  86. package/{fesm2022/energinet-watt-description-list.mjs → esm2022/description-list/watt-description-list.component.js} +10 -79
  87. package/esm2022/drawer/energinet-watt-drawer.js +5 -0
  88. package/esm2022/drawer/index.js +24 -0
  89. package/esm2022/drawer/watt-drawer-actions.component.js +29 -0
  90. package/esm2022/drawer/watt-drawer-content.component.js +29 -0
  91. package/esm2022/drawer/watt-drawer-heading.component.js +29 -0
  92. package/esm2022/drawer/watt-drawer-topbar.component.js +29 -0
  93. package/esm2022/drawer/watt-drawer.component.js +177 -0
  94. package/esm2022/dropdown/energinet-watt-dropdown.js +5 -0
  95. package/esm2022/dropdown/index.js +20 -0
  96. package/esm2022/dropdown/watt-dropdown-option.js +2 -0
  97. package/esm2022/dropdown/watt-dropdown-value.js +2 -0
  98. package/esm2022/dropdown/watt-dropdown.component.js +396 -0
  99. package/esm2022/dropzone/energinet-watt-dropzone.js +5 -0
  100. package/esm2022/dropzone/index.js +22 -0
  101. package/esm2022/dropzone/watt-dropzone-intl.js +35 -0
  102. package/esm2022/dropzone/watt-dropzone-validators.js +67 -0
  103. package/esm2022/dropzone/watt-dropzone.js +179 -0
  104. package/esm2022/empty-state/energinet-watt-empty-state.js +5 -0
  105. package/esm2022/empty-state/icons/explore.js +54 -0
  106. package/esm2022/empty-state/icons/no-results.js +62 -0
  107. package/esm2022/empty-state/icons/power.js +46 -0
  108. package/esm2022/empty-state/index.js +23 -0
  109. package/esm2022/empty-state/watt-empty-state.component.js +120 -0
  110. package/esm2022/energinet-watt.js +5 -0
  111. package/esm2022/expandable-card/energinet-watt-expandable-card.js +5 -0
  112. package/esm2022/expandable-card/index.js +26 -0
  113. package/{fesm2022/energinet-watt-expandable-card.mjs → esm2022/expandable-card/watt-expandable-card.component.js} +18 -49
  114. package/esm2022/expansion/energinet-watt-expansion.js +5 -0
  115. package/{fesm2022/energinet-watt-expansion.mjs → esm2022/expansion/expansion.component.js} +10 -36
  116. package/esm2022/expansion/index.js +20 -0
  117. package/esm2022/field/energinet-watt-field.js +5 -0
  118. package/esm2022/field/index.js +23 -0
  119. package/esm2022/field/watt-field-error.component.js +29 -0
  120. package/esm2022/field/watt-field-hint.component.js +29 -0
  121. package/esm2022/field/watt-field-intl.service.js +32 -0
  122. package/{fesm2022/energinet-watt-field.mjs → esm2022/field/watt-field.component.js} +17 -125
  123. package/esm2022/icon/energinet-watt-icon.js +5 -0
  124. package/esm2022/icon/flags/energinet-watt-icon-flags.js +5 -0
  125. package/esm2022/icon/flags/index.js +26 -0
  126. package/esm2022/icon/flags/watt-flag-ch.js +52 -0
  127. package/esm2022/icon/flags/watt-flag-de.js +44 -0
  128. package/esm2022/icon/flags/watt-flag-dk.js +44 -0
  129. package/esm2022/icon/flags/watt-flag-fi.js +44 -0
  130. package/esm2022/icon/flags/watt-flag-nl.js +44 -0
  131. package/esm2022/icon/flags/watt-flag-no.js +48 -0
  132. package/esm2022/icon/flags/watt-flag-pl.js +46 -0
  133. package/esm2022/icon/flags/watt-flag-se.js +42 -0
  134. package/esm2022/icon/flags/watt-flag.js +116 -0
  135. package/{fesm2022/energinet-watt-icon.mjs → esm2022/icon/icon.component.js} +9 -131
  136. package/esm2022/icon/icons.js +97 -0
  137. package/esm2022/icon/index.js +20 -0
  138. package/esm2022/index.js +25 -0
  139. package/esm2022/modal/energinet-watt-modal.js +5 -0
  140. package/esm2022/modal/index.js +21 -0
  141. package/{fesm2022/energinet-watt-modal.mjs → esm2022/modal/watt-modal.component.js} +19 -127
  142. package/esm2022/modal/watt-modal.service.js +86 -0
  143. package/esm2022/paginator/energinet-watt-paginator.js +5 -0
  144. package/esm2022/paginator/index.js +21 -0
  145. package/esm2022/paginator/watt-paginator-intl.service.js +38 -0
  146. package/esm2022/paginator/watt-paginator.component.js +104 -0
  147. package/esm2022/phone-field/energinet-watt-phone-field.js +5 -0
  148. package/esm2022/phone-field/index.js +21 -0
  149. package/esm2022/phone-field/watt-phone-field-intl.service.js +40 -0
  150. package/esm2022/phone-field/watt-phone-field.component.js +262 -0
  151. package/esm2022/picker/__shared/energinet-watt-picker-__shared.js +5 -0
  152. package/esm2022/picker/__shared/index.js +21 -0
  153. package/esm2022/picker/__shared/placeholder-mask/watt-placeholder-mask.component.js +71 -0
  154. package/esm2022/picker/__shared/watt-picker-base.js +292 -0
  155. package/esm2022/picker/__shared/watt-picker-value.js +2 -0
  156. package/esm2022/picker/datepicker/energinet-watt-picker-datepicker.js +5 -0
  157. package/esm2022/picker/datepicker/index.js +22 -0
  158. package/esm2022/picker/datepicker/watt-datepicker-intl.service.js +31 -0
  159. package/esm2022/picker/datepicker/watt-datepicker.component.js +422 -0
  160. package/esm2022/picker/timepicker/energinet-watt-picker-timepicker.js +5 -0
  161. package/esm2022/picker/timepicker/index.js +20 -0
  162. package/esm2022/picker/timepicker/maskito-time-range-mask.js +81 -0
  163. package/esm2022/picker/timepicker/watt-timepicker.component.js +288 -0
  164. package/esm2022/progress-tracker/energinet-watt-progress-tracker.js +5 -0
  165. package/esm2022/progress-tracker/index.js +27 -0
  166. package/{fesm2022/energinet-watt-progress-tracker.mjs → esm2022/progress-tracker/watt-progress-tracker-step.component.js} +9 -67
  167. package/esm2022/progress-tracker/watt-progress-tracker.component.js +30 -0
  168. package/esm2022/query-params/energinet-watt-query-params.js +5 -0
  169. package/esm2022/query-params/index.js +20 -0
  170. package/esm2022/query-params/watt-query-params.directive.js +91 -0
  171. package/esm2022/radio/energinet-watt-radio.js +5 -0
  172. package/esm2022/radio/index.js +20 -0
  173. package/{fesm2022/energinet-watt-radio.mjs → esm2022/radio/watt-radio.component.js} +9 -35
  174. package/esm2022/search/energinet-watt-search.js +5 -0
  175. package/esm2022/search/index.js +20 -0
  176. package/{fesm2022/energinet-watt-search.mjs → esm2022/search/watt-search.component.js} +24 -39
  177. package/esm2022/segmented-buttons/energinet-watt-segmented-buttons.js +5 -0
  178. package/esm2022/segmented-buttons/index.js +21 -0
  179. package/esm2022/segmented-buttons/watt-segmented-button.component.js +38 -0
  180. package/esm2022/segmented-buttons/watt-segmented-buttons.component.js +88 -0
  181. package/esm2022/shell/energinet-watt-shell.js +5 -0
  182. package/esm2022/shell/index.js +21 -0
  183. package/esm2022/shell/nav-list/index.js +21 -0
  184. package/esm2022/shell/nav-list/watt-expand-on-active-link.directive.js +45 -0
  185. package/esm2022/shell/nav-list/watt-nav-list-item.component.js +84 -0
  186. package/esm2022/shell/nav-list/watt-nav-list.component.js +81 -0
  187. package/esm2022/shell/shell.component.js +75 -0
  188. package/esm2022/slide-toggle/energinet-watt-slide-toggle.js +5 -0
  189. package/esm2022/slide-toggle/index.js +20 -0
  190. package/esm2022/slide-toggle/watt-slide-toggle.component.js +78 -0
  191. package/esm2022/slider/energinet-watt-slider.js +5 -0
  192. package/esm2022/slider/index.js +20 -0
  193. package/esm2022/slider/watt-slider.component.js +133 -0
  194. package/esm2022/spinner/energinet-watt-spinner.js +5 -0
  195. package/esm2022/spinner/index.js +20 -0
  196. package/esm2022/spinner/watt-spinner.component.js +46 -0
  197. package/esm2022/stepper/energinet-watt-stepper.js +5 -0
  198. package/esm2022/stepper/index.js +21 -0
  199. package/esm2022/stepper/watt-stepper-step.component.js +52 -0
  200. package/{fesm2022/energinet-watt-stepper.mjs → esm2022/stepper/watt-stepper.component.js} +18 -91
  201. package/esm2022/table/energinet-watt-table.js +5 -0
  202. package/esm2022/table/index.js +21 -0
  203. package/esm2022/table/watt-table-data-source.js +17 -0
  204. package/esm2022/table/watt-table.component.js +400 -0
  205. package/esm2022/tabs/energinet-watt-tabs.js +5 -0
  206. package/esm2022/tabs/index.js +31 -0
  207. package/esm2022/tabs/watt-link-tab.component.js +34 -0
  208. package/esm2022/tabs/watt-link-tabs.component.js +71 -0
  209. package/esm2022/tabs/watt-tab.component.js +42 -0
  210. package/esm2022/tabs/watt-tabs-action.component.js +32 -0
  211. package/esm2022/tabs/watt-tabs.component.js +60 -0
  212. package/esm2022/text-field/energinet-watt-text-field.js +5 -0
  213. package/esm2022/text-field/index.js +20 -0
  214. package/esm2022/text-field/watt-text-field.component.js +289 -0
  215. package/esm2022/textarea-field/energinet-watt-textarea-field.js +5 -0
  216. package/esm2022/textarea-field/index.js +20 -0
  217. package/esm2022/textarea-field/watt-textarea-field.component.js +110 -0
  218. package/esm2022/toast/energinet-watt-toast.js +5 -0
  219. package/esm2022/toast/index.js +21 -0
  220. package/esm2022/toast/watt-toast.component.js +97 -0
  221. package/esm2022/toast/watt-toast.service.js +51 -0
  222. package/esm2022/tooltip/energinet-watt-tooltip.js +5 -0
  223. package/esm2022/tooltip/index.js +20 -0
  224. package/esm2022/tooltip/watt-tooltip.component.js +131 -0
  225. package/esm2022/tooltip/watt-tooltip.directive.js +60 -0
  226. package/esm2022/utils/css/css-custom-properties.service.js +39 -0
  227. package/esm2022/utils/css/energinet-watt-utils-css.js +5 -0
  228. package/esm2022/utils/css/index.js +20 -0
  229. package/esm2022/utils/intersection-observer/energinet-watt-utils-intersection-observer.js +5 -0
  230. package/esm2022/utils/intersection-observer/index.js +20 -0
  231. package/esm2022/utils/intersection-observer/watt-intersection-observer.service.js +57 -0
  232. package/esm2022/utils/resize-observer/energinet-watt-utils-resize-observer.js +5 -0
  233. package/esm2022/utils/resize-observer/index.js +21 -0
  234. package/esm2022/utils/resize-observer/watt-resize-observer.directive.js +53 -0
  235. package/esm2022/utils/resize-observer/watt-resize-observer.service.js +67 -0
  236. package/esm2022/validation-message/energinet-watt-validation-message.js +5 -0
  237. package/esm2022/validation-message/index.js +20 -0
  238. package/{fesm2022/energinet-watt-validation-message.mjs → esm2022/validation-message/watt-validation-message.component.js} +8 -34
  239. package/esm2022/validators/energinet-watt-validators.js +5 -0
  240. package/esm2022/validators/index.js +20 -0
  241. package/esm2022/validators/watt-range.validators.js +23 -0
  242. package/esm2022/vater/energinet-watt-vater.js +5 -0
  243. package/esm2022/vater/index.js +24 -0
  244. package/esm2022/vater/types.js +20 -0
  245. package/esm2022/vater/vater-flex.component.js +49 -0
  246. package/esm2022/vater/vater-layout.directive.js +65 -0
  247. package/esm2022/vater/vater-spacer.component.js +29 -0
  248. package/esm2022/vater/vater-stack.component.js +42 -0
  249. package/esm2022/vater/vater-utility.directive.js +53 -0
  250. package/esm2022/year-field/energinet-watt-year-field.js +5 -0
  251. package/esm2022/year-field/index.js +20 -0
  252. package/esm2022/year-field/watt-year-field.component.js +256 -0
  253. package/esm2022/yearmonth-field/energinet-watt-yearmonth-field.js +5 -0
  254. package/esm2022/yearmonth-field/index.js +21 -0
  255. package/esm2022/yearmonth-field/watt-yearmonth-field.component.js +258 -0
  256. package/esm2022/yearmonth-field/year-month.js +42 -0
  257. package/expandable-card/energinet-watt-expandable-card.d.ts +5 -0
  258. package/expansion/energinet-watt-expansion.d.ts +5 -0
  259. package/field/energinet-watt-field.d.ts +5 -0
  260. package/icon/energinet-watt-icon.d.ts +5 -0
  261. package/icon/flags/energinet-watt-icon-flags.d.ts +5 -0
  262. package/modal/energinet-watt-modal.d.ts +5 -0
  263. package/package.json +117 -117
  264. package/paginator/energinet-watt-paginator.d.ts +5 -0
  265. package/phone-field/energinet-watt-phone-field.d.ts +5 -0
  266. package/picker/__shared/energinet-watt-picker-__shared.d.ts +5 -0
  267. package/picker/__shared/watt-picker-base.d.ts +4 -1
  268. package/picker/datepicker/energinet-watt-picker-datepicker.d.ts +5 -0
  269. package/picker/timepicker/energinet-watt-picker-timepicker.d.ts +5 -0
  270. package/progress-tracker/energinet-watt-progress-tracker.d.ts +5 -0
  271. package/query-params/energinet-watt-query-params.d.ts +5 -0
  272. package/radio/energinet-watt-radio.d.ts +5 -0
  273. package/search/energinet-watt-search.d.ts +5 -0
  274. package/search/watt-search.component.d.ts +9 -1
  275. package/segmented-buttons/energinet-watt-segmented-buttons.d.ts +5 -0
  276. package/shell/energinet-watt-shell.d.ts +5 -0
  277. package/slide-toggle/energinet-watt-slide-toggle.d.ts +5 -0
  278. package/slider/energinet-watt-slider.d.ts +5 -0
  279. package/spinner/energinet-watt-spinner.d.ts +5 -0
  280. package/stepper/energinet-watt-stepper.d.ts +5 -0
  281. package/table/energinet-watt-table.d.ts +5 -0
  282. package/tabs/energinet-watt-tabs.d.ts +5 -0
  283. package/text-field/energinet-watt-text-field.d.ts +5 -0
  284. package/textarea-field/energinet-watt-textarea-field.d.ts +5 -0
  285. package/toast/energinet-watt-toast.d.ts +5 -0
  286. package/toast/watt-toast.service.d.ts +2 -3
  287. package/tooltip/energinet-watt-tooltip.d.ts +5 -0
  288. package/utils/css/css-custom-properties.service.d.ts +1 -2
  289. package/utils/css/energinet-watt-utils-css.d.ts +5 -0
  290. package/utils/intersection-observer/energinet-watt-utils-intersection-observer.d.ts +5 -0
  291. package/utils/resize-observer/energinet-watt-utils-resize-observer.d.ts +5 -0
  292. package/utils/resize-observer/watt-resize-observer.service.d.ts +2 -19
  293. package/validation-message/energinet-watt-validation-message.d.ts +5 -0
  294. package/validators/energinet-watt-validators.d.ts +5 -0
  295. package/vater/energinet-watt-vater.d.ts +5 -0
  296. package/year-field/energinet-watt-year-field.d.ts +5 -0
  297. package/yearmonth-field/energinet-watt-yearmonth-field.d.ts +5 -0
  298. package/fesm2022/energinet-watt-badge.mjs.map +0 -1
  299. package/fesm2022/energinet-watt-breadcrumbs.mjs +0 -116
  300. package/fesm2022/energinet-watt-breadcrumbs.mjs.map +0 -1
  301. package/fesm2022/energinet-watt-button.mjs.map +0 -1
  302. package/fesm2022/energinet-watt-card.mjs +0 -117
  303. package/fesm2022/energinet-watt-card.mjs.map +0 -1
  304. package/fesm2022/energinet-watt-checkbox.mjs.map +0 -1
  305. package/fesm2022/energinet-watt-chip.mjs +0 -760
  306. package/fesm2022/energinet-watt-chip.mjs.map +0 -1
  307. package/fesm2022/energinet-watt-clipboard.mjs +0 -118
  308. package/fesm2022/energinet-watt-clipboard.mjs.map +0 -1
  309. package/fesm2022/energinet-watt-code.mjs +0 -119
  310. package/fesm2022/energinet-watt-code.mjs.map +0 -1
  311. package/fesm2022/energinet-watt-core-breakpoints.mjs +0 -100
  312. package/fesm2022/energinet-watt-core-breakpoints.mjs.map +0 -1
  313. package/fesm2022/energinet-watt-core-color.mjs +0 -127
  314. package/fesm2022/energinet-watt-core-color.mjs.map +0 -1
  315. package/fesm2022/energinet-watt-core-date.mjs +0 -260
  316. package/fesm2022/energinet-watt-core-date.mjs.map +0 -1
  317. package/fesm2022/energinet-watt-data.mjs +0 -306
  318. package/fesm2022/energinet-watt-data.mjs.map +0 -1
  319. package/fesm2022/energinet-watt-datetime-field.mjs +0 -233
  320. package/fesm2022/energinet-watt-datetime-field.mjs.map +0 -1
  321. package/fesm2022/energinet-watt-description-list.mjs.map +0 -1
  322. package/fesm2022/energinet-watt-drawer.mjs +0 -307
  323. package/fesm2022/energinet-watt-drawer.mjs.map +0 -1
  324. package/fesm2022/energinet-watt-dropdown.mjs +0 -423
  325. package/fesm2022/energinet-watt-dropdown.mjs.map +0 -1
  326. package/fesm2022/energinet-watt-dropzone.mjs +0 -298
  327. package/fesm2022/energinet-watt-dropzone.mjs.map +0 -1
  328. package/fesm2022/energinet-watt-empty-state.mjs +0 -299
  329. package/fesm2022/energinet-watt-empty-state.mjs.map +0 -1
  330. package/fesm2022/energinet-watt-expandable-card.mjs.map +0 -1
  331. package/fesm2022/energinet-watt-expansion.mjs.map +0 -1
  332. package/fesm2022/energinet-watt-field.mjs.map +0 -1
  333. package/fesm2022/energinet-watt-icon-flags.mjs +0 -482
  334. package/fesm2022/energinet-watt-icon-flags.mjs.map +0 -1
  335. package/fesm2022/energinet-watt-icon.mjs.map +0 -1
  336. package/fesm2022/energinet-watt-modal.mjs.map +0 -1
  337. package/fesm2022/energinet-watt-paginator.mjs +0 -164
  338. package/fesm2022/energinet-watt-paginator.mjs.map +0 -1
  339. package/fesm2022/energinet-watt-phone-field.mjs +0 -326
  340. package/fesm2022/energinet-watt-phone-field.mjs.map +0 -1
  341. package/fesm2022/energinet-watt-picker-__shared.mjs +0 -384
  342. package/fesm2022/energinet-watt-picker-__shared.mjs.map +0 -1
  343. package/fesm2022/energinet-watt-picker-datepicker.mjs +0 -477
  344. package/fesm2022/energinet-watt-picker-datepicker.mjs.map +0 -1
  345. package/fesm2022/energinet-watt-picker-timepicker.mjs +0 -394
  346. package/fesm2022/energinet-watt-picker-timepicker.mjs.map +0 -1
  347. package/fesm2022/energinet-watt-progress-tracker.mjs.map +0 -1
  348. package/fesm2022/energinet-watt-query-params.mjs +0 -117
  349. package/fesm2022/energinet-watt-query-params.mjs.map +0 -1
  350. package/fesm2022/energinet-watt-radio.mjs.map +0 -1
  351. package/fesm2022/energinet-watt-search.mjs.map +0 -1
  352. package/fesm2022/energinet-watt-segmented-buttons.mjs +0 -149
  353. package/fesm2022/energinet-watt-segmented-buttons.mjs.map +0 -1
  354. package/fesm2022/energinet-watt-shell.mjs +0 -315
  355. package/fesm2022/energinet-watt-shell.mjs.map +0 -1
  356. package/fesm2022/energinet-watt-slide-toggle.mjs +0 -104
  357. package/fesm2022/energinet-watt-slide-toggle.mjs.map +0 -1
  358. package/fesm2022/energinet-watt-slider.mjs +0 -159
  359. package/fesm2022/energinet-watt-slider.mjs.map +0 -1
  360. package/fesm2022/energinet-watt-spinner.mjs +0 -72
  361. package/fesm2022/energinet-watt-spinner.mjs.map +0 -1
  362. package/fesm2022/energinet-watt-stepper.mjs.map +0 -1
  363. package/fesm2022/energinet-watt-table.mjs +0 -441
  364. package/fesm2022/energinet-watt-table.mjs.map +0 -1
  365. package/fesm2022/energinet-watt-tabs.mjs +0 -254
  366. package/fesm2022/energinet-watt-tabs.mjs.map +0 -1
  367. package/fesm2022/energinet-watt-text-field.mjs +0 -316
  368. package/fesm2022/energinet-watt-text-field.mjs.map +0 -1
  369. package/fesm2022/energinet-watt-textarea-field.mjs +0 -136
  370. package/fesm2022/energinet-watt-textarea-field.mjs.map +0 -1
  371. package/fesm2022/energinet-watt-toast.mjs +0 -174
  372. package/fesm2022/energinet-watt-toast.mjs.map +0 -1
  373. package/fesm2022/energinet-watt-tooltip.mjs +0 -214
  374. package/fesm2022/energinet-watt-tooltip.mjs.map +0 -1
  375. package/fesm2022/energinet-watt-utils-css.mjs +0 -72
  376. package/fesm2022/energinet-watt-utils-css.mjs.map +0 -1
  377. package/fesm2022/energinet-watt-utils-intersection-observer.mjs +0 -83
  378. package/fesm2022/energinet-watt-utils-intersection-observer.mjs.map +0 -1
  379. package/fesm2022/energinet-watt-utils-resize-observer.mjs +0 -144
  380. package/fesm2022/energinet-watt-utils-resize-observer.mjs.map +0 -1
  381. package/fesm2022/energinet-watt-validation-message.mjs.map +0 -1
  382. package/fesm2022/energinet-watt-validators.mjs +0 -49
  383. package/fesm2022/energinet-watt-validators.mjs.map +0 -1
  384. package/fesm2022/energinet-watt-vater.mjs +0 -248
  385. package/fesm2022/energinet-watt-vater.mjs.map +0 -1
  386. package/fesm2022/energinet-watt-year-field.mjs +0 -282
  387. package/fesm2022/energinet-watt-year-field.mjs.map +0 -1
  388. package/fesm2022/energinet-watt-yearmonth-field.mjs +0 -324
  389. package/fesm2022/energinet-watt-yearmonth-field.mjs.map +0 -1
  390. package/fesm2022/energinet-watt.mjs +0 -31
  391. package/fesm2022/energinet-watt.mjs.map +0 -1
@@ -0,0 +1,92 @@
1
+ //#region License
2
+ /**
3
+ * @license
4
+ * Copyright 2020 Energinet DataHub A/S
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License2");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ //#endregion
19
+ import { Directive, ElementRef, forwardRef, inject } from '@angular/core';
20
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
21
+ import { WattFilterChipComponent } from './watt-filter-chip.component';
22
+ import { WattDateChipComponent } from './watt-date-chip.component';
23
+ import { WattDateRangeChipComponent } from './watt-date-range-chip.component';
24
+ import * as i0 from "@angular/core";
25
+ export class WattFormChipDirective {
26
+ filterChip = inject(WattFilterChipComponent, { host: true, optional: true, self: true });
27
+ dateChip = inject(WattDateChipComponent, { host: true, optional: true, self: true });
28
+ dateRangeChip = inject(WattDateRangeChipComponent, {
29
+ host: true,
30
+ optional: true,
31
+ self: true,
32
+ });
33
+ element = inject(ElementRef);
34
+ component;
35
+ constructor() {
36
+ if (this.filterChip) {
37
+ this.component = this.filterChip;
38
+ }
39
+ else if (this.dateChip) {
40
+ this.component = this.dateChip;
41
+ }
42
+ else if (this.dateRangeChip) {
43
+ this.component = this.dateRangeChip;
44
+ }
45
+ }
46
+ writeValue(value) {
47
+ if (this.component) {
48
+ this.component.value = value;
49
+ }
50
+ }
51
+ registerOnChange(fn) {
52
+ this.component?.selectionChange.subscribe(fn);
53
+ }
54
+ registerOnTouched(fn) {
55
+ this.element.nativeElement.addEventListener('focusout', fn);
56
+ }
57
+ setDisabledState(disabled) {
58
+ if (this.component) {
59
+ this.component.disabled = disabled;
60
+ }
61
+ }
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattFormChipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
63
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.3", type: WattFormChipDirective, isStandalone: true, selector: "\n watt-filter-chip[formControl],\n watt-date-chip[formControl],\n watt-date-range-chip[formControl],\n watt-filter-chip[formControlName],\n watt-date-chip[formControlName],\n watt-date-range-chip[formControlName],\n ", providers: [
64
+ {
65
+ provide: NG_VALUE_ACCESSOR,
66
+ useExisting: forwardRef(() => WattFormChipDirective),
67
+ multi: true,
68
+ },
69
+ ], ngImport: i0 });
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattFormChipDirective, decorators: [{
72
+ type: Directive,
73
+ args: [{
74
+ providers: [
75
+ {
76
+ provide: NG_VALUE_ACCESSOR,
77
+ useExisting: forwardRef(() => WattFormChipDirective),
78
+ multi: true,
79
+ },
80
+ ],
81
+ // eslint-disable-next-line @angular-eslint/directive-selector
82
+ selector: `
83
+ watt-filter-chip[formControl],
84
+ watt-date-chip[formControl],
85
+ watt-date-range-chip[formControl],
86
+ watt-filter-chip[formControlName],
87
+ watt-date-chip[formControlName],
88
+ watt-date-range-chip[formControlName],
89
+ `,
90
+ }]
91
+ }], ctorParameters: () => [] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1jaGlwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL2NoaXAvd2F0dC1jaGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFnQixVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUEyQjlFLE1BQU0sT0FBTyxxQkFBcUI7SUFDeEIsVUFBVSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6RixRQUFRLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLGFBQWEsR0FBRyxNQUFNLENBQUMsMEJBQTBCLEVBQUU7UUFDekQsSUFBSSxFQUFFLElBQUk7UUFDVixRQUFRLEVBQUUsSUFBSTtRQUNkLElBQUksRUFBRSxJQUFJO0tBQ1gsQ0FBQyxDQUFDO0lBRUssT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QixTQUFTLENBQVk7SUFFN0I7UUFDRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqQyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVc7UUFDcEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBYztRQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFpQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7dUdBeENVLHFCQUFxQjsyRkFBckIscUJBQXFCLDJSQWpCckI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNwRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQVdVLHFCQUFxQjtrQkFsQmpDLFNBQVM7bUJBQUM7b0JBQ1QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRTs7Ozs7OztHQU9UO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBXYXR0RmlsdGVyQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1maWx0ZXItY2hpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2F0dERhdGVDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi93YXR0LWRhdGUtY2hpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2F0dERhdGVSYW5nZUNoaXBDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZGF0ZS1yYW5nZS1jaGlwLmNvbXBvbmVudCc7XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmludGVyZmFjZSBXYXR0Q2hpcCB7XG4gIHZhbHVlPzogYW55O1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgc2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55Pjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2F0dEZvcm1DaGlwRGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiBgXG4gICAgd2F0dC1maWx0ZXItY2hpcFtmb3JtQ29udHJvbF0sXG4gICAgd2F0dC1kYXRlLWNoaXBbZm9ybUNvbnRyb2xdLFxuICAgIHdhdHQtZGF0ZS1yYW5nZS1jaGlwW2Zvcm1Db250cm9sXSxcbiAgICB3YXR0LWZpbHRlci1jaGlwW2Zvcm1Db250cm9sTmFtZV0sXG4gICAgd2F0dC1kYXRlLWNoaXBbZm9ybUNvbnRyb2xOYW1lXSxcbiAgICB3YXR0LWRhdGUtcmFuZ2UtY2hpcFtmb3JtQ29udHJvbE5hbWVdLFxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0Rm9ybUNoaXBEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgZmlsdGVyQ2hpcCA9IGluamVjdChXYXR0RmlsdGVyQ2hpcENvbXBvbmVudCwgeyBob3N0OiB0cnVlLCBvcHRpb25hbDogdHJ1ZSwgc2VsZjogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBkYXRlQ2hpcCA9IGluamVjdChXYXR0RGF0ZUNoaXBDb21wb25lbnQsIHsgaG9zdDogdHJ1ZSwgb3B0aW9uYWw6IHRydWUsIHNlbGY6IHRydWUgfSk7XG4gIHByaXZhdGUgZGF0ZVJhbmdlQ2hpcCA9IGluamVjdChXYXR0RGF0ZVJhbmdlQ2hpcENvbXBvbmVudCwge1xuICAgIGhvc3Q6IHRydWUsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgc2VsZjogdHJ1ZSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBlbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIGNvbXBvbmVudD86IFdhdHRDaGlwO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICh0aGlzLmZpbHRlckNoaXApIHtcbiAgICAgIHRoaXMuY29tcG9uZW50ID0gdGhpcy5maWx0ZXJDaGlwO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRlQ2hpcCkge1xuICAgICAgdGhpcy5jb21wb25lbnQgPSB0aGlzLmRhdGVDaGlwO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRlUmFuZ2VDaGlwKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudCA9IHRoaXMuZGF0ZVJhbmdlQ2hpcDtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlPzogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50KSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNvbXBvbmVudD8uc2VsZWN0aW9uQ2hhbmdlLnN1YnNjcmliZShmbik7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgZm4pO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudCkge1xuICAgICAgdGhpcy5jb21wb25lbnQuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,118 @@
1
+ //#region License
2
+ /**
3
+ * @license
4
+ * Copyright 2020 Energinet DataHub A/S
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License2");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ //#endregion
19
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
20
+ import { MatDatepickerModule } from '@angular/material/datepicker';
21
+ import { WattDatePipe } from '@energinet/watt/core/date';
22
+ import { WattFieldComponent } from '@energinet/watt/field';
23
+ import { FormControl } from '@angular/forms';
24
+ import { WattMenuChipComponent } from './watt-menu-chip.component';
25
+ import * as i0 from "@angular/core";
26
+ import * as i1 from "@angular/material/datepicker";
27
+ export class WattDateChipComponent {
28
+ disabled = false;
29
+ label;
30
+ placeholder;
31
+ value;
32
+ formControl;
33
+ selectionChange = new EventEmitter();
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDateChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: WattDateChipComponent, isStandalone: true, selector: "watt-date-chip", inputs: { disabled: "disabled", label: "label", placeholder: "placeholder", value: "value", formControl: "formControl" }, outputs: { selectionChange: "selectionChange" }, ngImport: i0, template: `
36
+ <mat-datepicker #picker />
37
+ <watt-field [control]="formControl" [chipMode]="true">
38
+ <watt-menu-chip
39
+ hasPopup="dialog"
40
+ [disabled]="disabled"
41
+ [selected]="!!value"
42
+ [opened]="picker.opened"
43
+ (toggle)="picker.open()"
44
+ >
45
+ <input
46
+ tabindex="-1"
47
+ class="cdk-visually-hidden"
48
+ type="text"
49
+ [value]="value"
50
+ [matDatepicker]="picker"
51
+ (dateChange)="value = $event.value"
52
+ (dateChange)="selectionChange.emit($event.value)"
53
+ />
54
+ {{ placeholder }}
55
+ <span>
56
+ @if (value) {
57
+ @if (placeholder) {
58
+ :
59
+ }
60
+ {{ value | wattDate }}
61
+ }
62
+ </span>
63
+ </watt-menu-chip>
64
+ <ng-content ngProjectAs="watt-field-hint" select="watt-field-hint" />
65
+ <ng-content ngProjectAs="watt-field-error" select="watt-field-error" />
66
+ </watt-field>
67
+ `, isInline: true, styles: ["watt-date-chip input{top:0;bottom:0;height:auto;visibility:hidden}watt-date-chip watt-field label .watt-field-wrapper{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: WattMenuChipComponent, selector: "watt-menu-chip", inputs: ["opened", "disabled", "name", "value", "selected", "hasPopup"], outputs: ["toggle"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName"] }, { kind: "pipe", type: WattDatePipe, name: "wattDate" }], encapsulation: i0.ViewEncapsulation.None });
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDateChipComponent, decorators: [{
70
+ type: Component,
71
+ args: [{ imports: [MatDatepickerModule, WattMenuChipComponent, WattFieldComponent, WattDatePipe], selector: 'watt-date-chip', encapsulation: ViewEncapsulation.None, template: `
72
+ <mat-datepicker #picker />
73
+ <watt-field [control]="formControl" [chipMode]="true">
74
+ <watt-menu-chip
75
+ hasPopup="dialog"
76
+ [disabled]="disabled"
77
+ [selected]="!!value"
78
+ [opened]="picker.opened"
79
+ (toggle)="picker.open()"
80
+ >
81
+ <input
82
+ tabindex="-1"
83
+ class="cdk-visually-hidden"
84
+ type="text"
85
+ [value]="value"
86
+ [matDatepicker]="picker"
87
+ (dateChange)="value = $event.value"
88
+ (dateChange)="selectionChange.emit($event.value)"
89
+ />
90
+ {{ placeholder }}
91
+ <span>
92
+ @if (value) {
93
+ @if (placeholder) {
94
+ :
95
+ }
96
+ {{ value | wattDate }}
97
+ }
98
+ </span>
99
+ </watt-menu-chip>
100
+ <ng-content ngProjectAs="watt-field-hint" select="watt-field-hint" />
101
+ <ng-content ngProjectAs="watt-field-error" select="watt-field-error" />
102
+ </watt-field>
103
+ `, styles: ["watt-date-chip input{top:0;bottom:0;height:auto;visibility:hidden}watt-date-chip watt-field label .watt-field-wrapper{background-color:transparent}\n"] }]
104
+ }], propDecorators: { disabled: [{
105
+ type: Input
106
+ }], label: [{
107
+ type: Input
108
+ }], placeholder: [{
109
+ type: Input
110
+ }], value: [{
111
+ type: Input
112
+ }], formControl: [{
113
+ type: Input,
114
+ args: [{ required: true }]
115
+ }], selectionChange: [{
116
+ type: Output
117
+ }] } });
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kYXRlLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvY2hpcC93YXR0LWRhdGUtY2hpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQXdEbkUsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLEtBQUssQ0FBVTtJQUNmLFdBQVcsQ0FBVTtJQUNyQixLQUFLLENBQVU7SUFDRyxXQUFXLENBQWU7SUFDM0MsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7dUdBTjFDLHFCQUFxQjsyRkFBckIscUJBQXFCLHFQQWxDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NULDhOQW5EUyxtQkFBbUIsK1RBQUUscUJBQXFCLHlKQUFFLGtCQUFrQiwwSUFBRSxZQUFZOzsyRkFxRDNFLHFCQUFxQjtrQkF0RGpDLFNBQVM7OEJBQ0MsQ0FBQyxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLENBQUMsWUFDN0UsZ0JBQWdCLGlCQUNYLGlCQUFpQixDQUFDLElBQUksWUFpQjNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVDs4QkFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDcUIsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2YsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQgeyBXYXR0RGF0ZVBpcGUgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvY29yZS9kYXRlJztcbmltcG9ydCB7IFdhdHRGaWVsZENvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9maWVsZCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFdhdHRNZW51Q2hpcENvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1tZW51LWNoaXAuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtNYXREYXRlcGlja2VyTW9kdWxlLCBXYXR0TWVudUNoaXBDb21wb25lbnQsIFdhdHRGaWVsZENvbXBvbmVudCwgV2F0dERhdGVQaXBlXSxcbiAgc2VsZWN0b3I6ICd3YXR0LWRhdGUtY2hpcCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIHdhdHQtZGF0ZS1jaGlwIHtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHdhdHQtZmllbGQgbGFiZWwgLndhdHQtZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyIC8+XG4gICAgPHdhdHQtZmllbGQgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbY2hpcE1vZGVdPVwidHJ1ZVwiPlxuICAgICAgPHdhdHQtbWVudS1jaGlwXG4gICAgICAgIGhhc1BvcHVwPVwiZGlhbG9nXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cIiEhdmFsdWVcIlxuICAgICAgICBbb3BlbmVkXT1cInBpY2tlci5vcGVuZWRcIlxuICAgICAgICAodG9nZ2xlKT1cInBpY2tlci5vcGVuKClcIlxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXG4gICAgICAgICAgKGRhdGVDaGFuZ2UpPVwidmFsdWUgPSAkZXZlbnQudmFsdWVcIlxuICAgICAgICAgIChkYXRlQ2hhbmdlKT1cInNlbGVjdGlvbkNoYW5nZS5lbWl0KCRldmVudC52YWx1ZSlcIlxuICAgICAgICAvPlxuICAgICAgICB7eyBwbGFjZWhvbGRlciB9fVxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICBAaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBAaWYgKHBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICAgIDpcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHt7IHZhbHVlIHwgd2F0dERhdGUgfX1cbiAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvd2F0dC1tZW51LWNoaXA+XG4gICAgICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIndhdHQtZmllbGQtaGludFwiIHNlbGVjdD1cIndhdHQtZmllbGQtaGludFwiIC8+XG4gICAgICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIndhdHQtZmllbGQtZXJyb3JcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWVycm9yXCIgLz5cbiAgICA8L3dhdHQtZmllbGQ+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHREYXRlQ2hpcENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGZvcm1Db250cm9sITogRm9ybUNvbnRyb2w7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG59XG4iXX0=
@@ -0,0 +1,240 @@
1
+ //#region License
2
+ /**
3
+ * @license
4
+ * Copyright 2020 Energinet DataHub A/S
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License2");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ //#endregion
19
+ import { FormControl } from '@angular/forms';
20
+ import { Component, EventEmitter, HostBinding, Injectable, Input, Output, ViewEncapsulation, inject, } from '@angular/core';
21
+ import { DateAdapter } from '@angular/material/core';
22
+ import { DateRange, DefaultMatCalendarRangeStrategy, MAT_DATE_RANGE_SELECTION_STRATEGY, MatDatepickerModule, } from '@angular/material/datepicker';
23
+ import { dayjs, WattDatePipe } from '@energinet/watt/core/date';
24
+ import { WattButtonComponent } from '@energinet/watt/button';
25
+ import { WattFieldComponent } from '@energinet/watt/field';
26
+ import { WattDatepickerIntlService } from '@energinet/watt/picker/datepicker';
27
+ import { WattMenuChipComponent } from './watt-menu-chip.component';
28
+ import * as i0 from "@angular/core";
29
+ import * as i1 from "@angular/material/datepicker";
30
+ export class WattDateRangeSelectionStrategy extends DefaultMatCalendarRangeStrategy {
31
+ customSelectionStrategy;
32
+ setCustomSelectionStrategy(strategy) {
33
+ this.customSelectionStrategy = strategy;
34
+ }
35
+ selectionFinished(date, currentRange) {
36
+ let range = super.selectionFinished(date, currentRange);
37
+ if (this.customSelectionStrategy) {
38
+ range = this.customSelectionStrategy(date);
39
+ }
40
+ return range.end ? new DateRange(range.start, dayjs(range.end).endOf('day').toDate()) : range;
41
+ }
42
+ createPreview(activeDate, currentRange) {
43
+ if (!this.customSelectionStrategy) {
44
+ return super.createPreview(activeDate, currentRange);
45
+ }
46
+ else {
47
+ return this.customSelectionStrategy(activeDate);
48
+ }
49
+ }
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDateRangeSelectionStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
51
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDateRangeSelectionStrategy, providedIn: 'root' });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDateRangeSelectionStrategy, decorators: [{
54
+ type: Injectable,
55
+ args: [{
56
+ providedIn: 'root',
57
+ }]
58
+ }] });
59
+ export class WattDateRangeChipComponent {
60
+ disabled = false;
61
+ label;
62
+ value;
63
+ formControl;
64
+ placeholder = true;
65
+ showActions = false;
66
+ customSelectionStrategy;
67
+ get hasPlaceholderClass() {
68
+ return this.placeholder;
69
+ }
70
+ selectionChange = new EventEmitter();
71
+ _dateAdapter = inject(DateAdapter);
72
+ intl = inject(WattDatepickerIntlService);
73
+ selectionStrategy() {
74
+ const strategy = new WattDateRangeSelectionStrategy(this._dateAdapter);
75
+ strategy.setCustomSelectionStrategy(this.customSelectionStrategy);
76
+ return strategy;
77
+ }
78
+ clearInput() {
79
+ this.value = undefined;
80
+ this.selectionChange.emit(null);
81
+ }
82
+ onSelectionChange(value) {
83
+ this.selectionChange.emit(value);
84
+ }
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDateRangeChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
86
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: WattDateRangeChipComponent, isStandalone: true, selector: "watt-date-range-chip", inputs: { disabled: "disabled", label: "label", value: "value", formControl: "formControl", placeholder: "placeholder", showActions: "showActions", customSelectionStrategy: "customSelectionStrategy" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.has-placeholder": "this.hasPlaceholderClass" } }, providers: [
87
+ {
88
+ provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
89
+ useFactory: (comp) => comp.selectionStrategy(),
90
+ deps: [WattDateRangeChipComponent],
91
+ },
92
+ ], ngImport: i0, template: `
93
+ <mat-date-range-picker #picker>
94
+ @if (showActions) {
95
+ <mat-date-range-picker-actions>
96
+ <watt-button variant="text" (click)="clearInput()" icon="remove">{{
97
+ intl.clear
98
+ }}</watt-button>
99
+ <watt-button variant="primary" matDateRangePickerApply>{{ intl.select }}</watt-button>
100
+ </mat-date-range-picker-actions>
101
+ }
102
+ </mat-date-range-picker>
103
+
104
+ <watt-field [control]="formControl" [chipMode]="true">
105
+ <watt-menu-chip
106
+ hasPopup="dialog"
107
+ [disabled]="disabled"
108
+ [selected]="value?.start && value?.end ? true : false"
109
+ [opened]="picker.opened"
110
+ (toggle)="picker.open()"
111
+ >
112
+ <mat-date-range-input
113
+ #input
114
+ class="cdk-visually-hidden"
115
+ separator=""
116
+ [rangePicker]="picker"
117
+ >
118
+ <input
119
+ type="text"
120
+ matStartDate
121
+ tabindex="-1"
122
+ role="none"
123
+ [value]="value?.start"
124
+ (dateChange)="value = input.value!"
125
+ (dateChange)="showActions && onSelectionChange($event.value ? input.value! : null)"
126
+ />
127
+ <input
128
+ type="text"
129
+ matEndDate
130
+ tabindex="-1"
131
+ role="none"
132
+ [value]="value?.end"
133
+ (dateChange)="value = input.value!"
134
+ (dateChange)="onSelectionChange($event.value ? input.value! : null)"
135
+ />
136
+ </mat-date-range-input>
137
+ <ng-content />
138
+ @if (value?.start && value?.end) {
139
+ <span class="value">
140
+ {{ value | wattDate }}
141
+ </span>
142
+ }
143
+ </watt-menu-chip>
144
+ <ng-content ngProjectAs="watt-field-hint" select="watt-field-hint" />
145
+ <ng-content ngProjectAs="watt-field-error" select="watt-field-error" />
146
+ </watt-field>
147
+ `, isInline: true, styles: ["watt-date-range-chip mat-date-range-input{top:0;bottom:0;height:auto;visibility:hidden}watt-date-range-chip.has-placeholder .value:before{content:\":\"}watt-date-range-chip watt-field label .watt-field-wrapper{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i1.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i1.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i1.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i1.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i1.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "component", type: WattMenuChipComponent, selector: "watt-menu-chip", inputs: ["opened", "disabled", "name", "value", "selected", "hasPopup"], outputs: ["toggle"] }, { kind: "pipe", type: WattDatePipe, name: "wattDate" }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName"] }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }], encapsulation: i0.ViewEncapsulation.None });
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDateRangeChipComponent, decorators: [{
150
+ type: Component,
151
+ args: [{ imports: [
152
+ MatDatepickerModule,
153
+ WattMenuChipComponent,
154
+ WattDatePipe,
155
+ WattFieldComponent,
156
+ WattButtonComponent,
157
+ ], providers: [
158
+ {
159
+ provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
160
+ useFactory: (comp) => comp.selectionStrategy(),
161
+ deps: [WattDateRangeChipComponent],
162
+ },
163
+ ], selector: 'watt-date-range-chip', encapsulation: ViewEncapsulation.None, template: `
164
+ <mat-date-range-picker #picker>
165
+ @if (showActions) {
166
+ <mat-date-range-picker-actions>
167
+ <watt-button variant="text" (click)="clearInput()" icon="remove">{{
168
+ intl.clear
169
+ }}</watt-button>
170
+ <watt-button variant="primary" matDateRangePickerApply>{{ intl.select }}</watt-button>
171
+ </mat-date-range-picker-actions>
172
+ }
173
+ </mat-date-range-picker>
174
+
175
+ <watt-field [control]="formControl" [chipMode]="true">
176
+ <watt-menu-chip
177
+ hasPopup="dialog"
178
+ [disabled]="disabled"
179
+ [selected]="value?.start && value?.end ? true : false"
180
+ [opened]="picker.opened"
181
+ (toggle)="picker.open()"
182
+ >
183
+ <mat-date-range-input
184
+ #input
185
+ class="cdk-visually-hidden"
186
+ separator=""
187
+ [rangePicker]="picker"
188
+ >
189
+ <input
190
+ type="text"
191
+ matStartDate
192
+ tabindex="-1"
193
+ role="none"
194
+ [value]="value?.start"
195
+ (dateChange)="value = input.value!"
196
+ (dateChange)="showActions && onSelectionChange($event.value ? input.value! : null)"
197
+ />
198
+ <input
199
+ type="text"
200
+ matEndDate
201
+ tabindex="-1"
202
+ role="none"
203
+ [value]="value?.end"
204
+ (dateChange)="value = input.value!"
205
+ (dateChange)="onSelectionChange($event.value ? input.value! : null)"
206
+ />
207
+ </mat-date-range-input>
208
+ <ng-content />
209
+ @if (value?.start && value?.end) {
210
+ <span class="value">
211
+ {{ value | wattDate }}
212
+ </span>
213
+ }
214
+ </watt-menu-chip>
215
+ <ng-content ngProjectAs="watt-field-hint" select="watt-field-hint" />
216
+ <ng-content ngProjectAs="watt-field-error" select="watt-field-error" />
217
+ </watt-field>
218
+ `, styles: ["watt-date-range-chip mat-date-range-input{top:0;bottom:0;height:auto;visibility:hidden}watt-date-range-chip.has-placeholder .value:before{content:\":\"}watt-date-range-chip watt-field label .watt-field-wrapper{background-color:transparent}\n"] }]
219
+ }], propDecorators: { disabled: [{
220
+ type: Input
221
+ }], label: [{
222
+ type: Input
223
+ }], value: [{
224
+ type: Input
225
+ }], formControl: [{
226
+ type: Input,
227
+ args: [{ required: true }]
228
+ }], placeholder: [{
229
+ type: Input
230
+ }], showActions: [{
231
+ type: Input
232
+ }], customSelectionStrategy: [{
233
+ type: Input
234
+ }], hasPlaceholderClass: [{
235
+ type: HostBinding,
236
+ args: ['class.has-placeholder']
237
+ }], selectionChange: [{
238
+ type: Output
239
+ }] } });
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kYXRlLXJhbmdlLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvY2hpcC93YXR0LWRhdGUtcmFuZ2UtY2hpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFDTCxTQUFTLEVBQ1QsK0JBQStCLEVBQy9CLGlDQUFpQyxFQUNqQyxtQkFBbUIsR0FDcEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFPbkUsTUFBTSxPQUFPLDhCQUErQixTQUFRLCtCQUFxQztJQUMvRSx1QkFBdUIsQ0FBMkI7SUFFMUQsMEJBQTBCLENBQUMsUUFBaUM7UUFDMUQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRVEsaUJBQWlCLENBQUMsSUFBVSxFQUFFLFlBQTZCO1FBQ2xFLElBQUksS0FBSyxHQUFvQixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXpFLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDakMsS0FBSyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoRyxDQUFDO0lBRVEsYUFBYSxDQUFDLFVBQXVCLEVBQUUsWUFBNkI7UUFDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDdkQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQzt1R0F2QlUsOEJBQThCOzJHQUE5Qiw4QkFBOEIsY0FGN0IsTUFBTTs7MkZBRVAsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUF5SEQsTUFBTSxPQUFPLDBCQUEwQjtJQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLEtBQUssQ0FBVTtJQUNmLEtBQUssQ0FBbUI7SUFDTixXQUFXLENBQWU7SUFDNUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUNuQixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLHVCQUF1QixDQUEwQztJQUUxRSxJQUNJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVTLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztJQUUvRCxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLElBQUksR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUVuRCxpQkFBaUI7UUFDZixNQUFNLFFBQVEsR0FBRyxJQUFJLDhCQUE4QixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RSxRQUFRLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDbEUsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBNkI7UUFDN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzt1R0FoQ1UsMEJBQTBCOzJGQUExQiwwQkFBMEIsNllBdEYxQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQ0FBaUM7Z0JBQzFDLFVBQVUsRUFBRSxDQUFDLElBQWdDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUUsSUFBSSxFQUFFLENBQUMsMEJBQTBCLENBQUM7YUFDbkM7U0FDRiwwQkF1QlM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1RFQsMFRBMUZDLG1CQUFtQiw0MUJBQ25CLHFCQUFxQixvSkFDckIsWUFBWSxpREFDWixrQkFBa0IsK0lBQ2xCLG1CQUFtQjs7MkZBd0ZWLDBCQUEwQjtrQkE5RnRDLFNBQVM7OEJBQ0M7d0JBQ1AsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixtQkFBbUI7cUJBQ3BCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlDQUFpQzs0QkFDMUMsVUFBVSxFQUFFLENBQUMsSUFBZ0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFOzRCQUMxRSxJQUFJLEVBQUUsNEJBQTRCO3lCQUNuQztxQkFDRixZQUNTLHNCQUFzQixpQkFDakIsaUJBQWlCLENBQUMsSUFBSSxZQXFCM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1RFQ7OEJBR1EsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNxQixXQUFXO3NCQUFyQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFHRixtQkFBbUI7c0JBRHRCLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUsxQixlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdGFibGUsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuaW1wb3J0IHtcbiAgRGF0ZVJhbmdlLFxuICBEZWZhdWx0TWF0Q2FsZW5kYXJSYW5nZVN0cmF0ZWd5LFxuICBNQVRfREFURV9SQU5HRV9TRUxFQ1RJT05fU1RSQVRFR1ksXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgZGF5anMsIFdhdHREYXRlUGlwZSwgV2F0dFJhbmdlIH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2NvcmUvZGF0ZSc7XG5pbXBvcnQgeyBXYXR0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2J1dHRvbic7XG5pbXBvcnQgeyBXYXR0RmllbGRDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvZmllbGQnO1xuaW1wb3J0IHsgV2F0dERhdGVwaWNrZXJJbnRsU2VydmljZSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9waWNrZXIvZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IFdhdHRNZW51Q2hpcENvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1tZW51LWNoaXAuY29tcG9uZW50JztcblxudHlwZSBjdXN0b21TZWxlY3Rpb25TdHJhdGVneSA9IChkYXRlOiBEYXRlIHwgbnVsbCkgPT4gRGF0ZVJhbmdlPERhdGU+O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dERhdGVSYW5nZVNlbGVjdGlvblN0cmF0ZWd5IGV4dGVuZHMgRGVmYXVsdE1hdENhbGVuZGFyUmFuZ2VTdHJhdGVneTxEYXRlPiB7XG4gIHByaXZhdGUgY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3khOiBjdXN0b21TZWxlY3Rpb25TdHJhdGVneTtcblxuICBzZXRDdXN0b21TZWxlY3Rpb25TdHJhdGVneShzdHJhdGVneTogY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3kpIHtcbiAgICB0aGlzLmN1c3RvbVNlbGVjdGlvblN0cmF0ZWd5ID0gc3RyYXRlZ3k7XG4gIH1cblxuICBvdmVycmlkZSBzZWxlY3Rpb25GaW5pc2hlZChkYXRlOiBEYXRlLCBjdXJyZW50UmFuZ2U6IERhdGVSYW5nZTxEYXRlPik6IERhdGVSYW5nZTxEYXRlPiB7XG4gICAgbGV0IHJhbmdlOiBEYXRlUmFuZ2U8RGF0ZT4gPSBzdXBlci5zZWxlY3Rpb25GaW5pc2hlZChkYXRlLCBjdXJyZW50UmFuZ2UpO1xuXG4gICAgaWYgKHRoaXMuY3VzdG9tU2VsZWN0aW9uU3RyYXRlZ3kpIHtcbiAgICAgIHJhbmdlID0gdGhpcy5jdXN0b21TZWxlY3Rpb25TdHJhdGVneShkYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmFuZ2UuZW5kID8gbmV3IERhdGVSYW5nZShyYW5nZS5zdGFydCwgZGF5anMocmFuZ2UuZW5kKS5lbmRPZignZGF5JykudG9EYXRlKCkpIDogcmFuZ2U7XG4gIH1cblxuICBvdmVycmlkZSBjcmVhdGVQcmV2aWV3KGFjdGl2ZURhdGU6IERhdGUgfCBudWxsLCBjdXJyZW50UmFuZ2U6IERhdGVSYW5nZTxEYXRlPik6IERhdGVSYW5nZTxEYXRlPiB7XG4gICAgaWYgKCF0aGlzLmN1c3RvbVNlbGVjdGlvblN0cmF0ZWd5KSB7XG4gICAgICByZXR1cm4gc3VwZXIuY3JlYXRlUHJldmlldyhhY3RpdmVEYXRlLCBjdXJyZW50UmFuZ2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXN0b21TZWxlY3Rpb25TdHJhdGVneShhY3RpdmVEYXRlKTtcbiAgICB9XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIFdhdHRNZW51Q2hpcENvbXBvbmVudCxcbiAgICBXYXR0RGF0ZVBpcGUsXG4gICAgV2F0dEZpZWxkQ29tcG9uZW50LFxuICAgIFdhdHRCdXR0b25Db21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9EQVRFX1JBTkdFX1NFTEVDVElPTl9TVFJBVEVHWSxcbiAgICAgIHVzZUZhY3Rvcnk6IChjb21wOiBXYXR0RGF0ZVJhbmdlQ2hpcENvbXBvbmVudCkgPT4gY29tcC5zZWxlY3Rpb25TdHJhdGVneSgpLFxuICAgICAgZGVwczogW1dhdHREYXRlUmFuZ2VDaGlwQ29tcG9uZW50XSxcbiAgICB9LFxuICBdLFxuICBzZWxlY3RvcjogJ3dhdHQtZGF0ZS1yYW5nZS1jaGlwJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgd2F0dC1kYXRlLXJhbmdlLWNoaXAge1xuICAgICAgICBtYXQtZGF0ZS1yYW5nZS1pbnB1dCB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5oYXMtcGxhY2Vob2xkZXIgLnZhbHVlOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgfVxuXG4gICAgICAgIHdhdHQtZmllbGQgbGFiZWwgLndhdHQtZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXIgI3BpY2tlcj5cbiAgICAgIEBpZiAoc2hvd0FjdGlvbnMpIHtcbiAgICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlci1hY3Rpb25zPlxuICAgICAgICAgIDx3YXR0LWJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIChjbGljayk9XCJjbGVhcklucHV0KClcIiBpY29uPVwicmVtb3ZlXCI+e3tcbiAgICAgICAgICAgIGludGwuY2xlYXJcbiAgICAgICAgICB9fTwvd2F0dC1idXR0b24+XG4gICAgICAgICAgPHdhdHQtYnV0dG9uIHZhcmlhbnQ9XCJwcmltYXJ5XCIgbWF0RGF0ZVJhbmdlUGlja2VyQXBwbHk+e3sgaW50bC5zZWxlY3QgfX08L3dhdHQtYnV0dG9uPlxuICAgICAgICA8L21hdC1kYXRlLXJhbmdlLXBpY2tlci1hY3Rpb25zPlxuICAgICAgfVxuICAgIDwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxuXG4gICAgPHdhdHQtZmllbGQgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbY2hpcE1vZGVdPVwidHJ1ZVwiPlxuICAgICAgPHdhdHQtbWVudS1jaGlwXG4gICAgICAgIGhhc1BvcHVwPVwiZGlhbG9nXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cInZhbHVlPy5zdGFydCAmJiB2YWx1ZT8uZW5kID8gdHJ1ZSA6IGZhbHNlXCJcbiAgICAgICAgW29wZW5lZF09XCJwaWNrZXIub3BlbmVkXCJcbiAgICAgICAgKHRvZ2dsZSk9XCJwaWNrZXIub3BlbigpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0XG4gICAgICAgICAgI2lucHV0XG4gICAgICAgICAgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICBzZXBhcmF0b3I9XCJcIlxuICAgICAgICAgIFtyYW5nZVBpY2tlcl09XCJwaWNrZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBtYXRTdGFydERhdGVcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlPy5zdGFydFwiXG4gICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJ2YWx1ZSA9IGlucHV0LnZhbHVlIVwiXG4gICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJzaG93QWN0aW9ucyAmJiBvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQudmFsdWUgPyBpbnB1dC52YWx1ZSEgOiBudWxsKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG1hdEVuZERhdGVcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlPy5lbmRcIlxuICAgICAgICAgICAgKGRhdGVDaGFuZ2UpPVwidmFsdWUgPSBpbnB1dC52YWx1ZSFcIlxuICAgICAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50LnZhbHVlID8gaW5wdXQudmFsdWUhIDogbnVsbClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIEBpZiAodmFsdWU/LnN0YXJ0ICYmIHZhbHVlPy5lbmQpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgICAgICB7eyB2YWx1ZSB8IHdhdHREYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L3dhdHQtbWVudS1jaGlwPlxuICAgICAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLWhpbnRcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWhpbnRcIiAvPlxuICAgICAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLWVycm9yXCIgc2VsZWN0PVwid2F0dC1maWVsZC1lcnJvclwiIC8+XG4gICAgPC93YXR0LWZpZWxkPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RGF0ZVJhbmdlQ2hpcENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSB2YWx1ZT86IFdhdHRSYW5nZTxEYXRlPjtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93QWN0aW9ucyA9IGZhbHNlO1xuICBASW5wdXQoKSBjdXN0b21TZWxlY3Rpb25TdHJhdGVneSE6IChkYXRlOiBEYXRlIHwgbnVsbCkgPT4gRGF0ZVJhbmdlPERhdGU+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLXBsYWNlaG9sZGVyJylcbiAgZ2V0IGhhc1BsYWNlaG9sZGVyQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXI7XG4gIH1cblxuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxXYXR0UmFuZ2U8RGF0ZT4gfCBudWxsPigpO1xuXG4gIHByaXZhdGUgX2RhdGVBZGFwdGVyID0gaW5qZWN0KERhdGVBZGFwdGVyKTtcbiAgcHJvdGVjdGVkIGludGwgPSBpbmplY3QoV2F0dERhdGVwaWNrZXJJbnRsU2VydmljZSk7XG5cbiAgc2VsZWN0aW9uU3RyYXRlZ3koKSB7XG4gICAgY29uc3Qgc3RyYXRlZ3kgPSBuZXcgV2F0dERhdGVSYW5nZVNlbGVjdGlvblN0cmF0ZWd5KHRoaXMuX2RhdGVBZGFwdGVyKTtcbiAgICBzdHJhdGVneS5zZXRDdXN0b21TZWxlY3Rpb25TdHJhdGVneSh0aGlzLmN1c3RvbVNlbGVjdGlvblN0cmF0ZWd5KTtcbiAgICByZXR1cm4gc3RyYXRlZ3k7XG4gIH1cblxuICBjbGVhcklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChudWxsKTtcbiAgfVxuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKHZhbHVlOiBXYXR0UmFuZ2U8RGF0ZT4gfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,94 @@
1
+ //#region License
2
+ /**
3
+ * @license
4
+ * Copyright 2020 Energinet DataHub A/S
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License2");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ //#endregion
19
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
20
+ import { WattChipComponent } from './watt-chip.component';
21
+ import * as i0 from "@angular/core";
22
+ function isFirstRender() {
23
+ let isFirstRender = true;
24
+ return () => {
25
+ if (!isFirstRender)
26
+ return false;
27
+ isFirstRender = false;
28
+ return true;
29
+ };
30
+ }
31
+ export class WattFilterChipComponent {
32
+ selected = false;
33
+ disabled = false;
34
+ name;
35
+ value;
36
+ choice;
37
+ selectionChange = new EventEmitter();
38
+ isFirstRender = isFirstRender();
39
+ onChange(input) {
40
+ const value = this.choice !== undefined ? input.value : input.checked;
41
+ this.selectionChange.emit(value);
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattFilterChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: WattFilterChipComponent, isStandalone: true, selector: "watt-filter-chip", inputs: { selected: "selected", disabled: "disabled", name: "name", value: "value", choice: "choice" }, outputs: { selectionChange: "selectionChange" }, ngImport: i0, template: `
45
+ <watt-chip [disabled]="disabled" [selected]="isFirstRender() ? selected : input.checked">
46
+ <input
47
+ #input
48
+ class="cdk-visually-hidden"
49
+ [type]="choice === undefined ? 'checkbox' : 'radio'"
50
+ [name]="name"
51
+ [value]="value"
52
+ [checked]="selected"
53
+ [disabled]="disabled"
54
+ (change)="onChange(input)"
55
+ />
56
+ <ng-content />
57
+ </watt-chip>
58
+ `, isInline: true, dependencies: [{ kind: "component", type: WattChipComponent, selector: "watt-chip", inputs: ["selected", "disabled", "readonly"] }] });
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattFilterChipComponent, decorators: [{
61
+ type: Component,
62
+ args: [{
63
+ imports: [WattChipComponent],
64
+ selector: 'watt-filter-chip',
65
+ template: `
66
+ <watt-chip [disabled]="disabled" [selected]="isFirstRender() ? selected : input.checked">
67
+ <input
68
+ #input
69
+ class="cdk-visually-hidden"
70
+ [type]="choice === undefined ? 'checkbox' : 'radio'"
71
+ [name]="name"
72
+ [value]="value"
73
+ [checked]="selected"
74
+ [disabled]="disabled"
75
+ (change)="onChange(input)"
76
+ />
77
+ <ng-content />
78
+ </watt-chip>
79
+ `,
80
+ }]
81
+ }], propDecorators: { selected: [{
82
+ type: Input
83
+ }], disabled: [{
84
+ type: Input
85
+ }], name: [{
86
+ type: Input
87
+ }], value: [{
88
+ type: Input
89
+ }], choice: [{
90
+ type: Input
91
+ }], selectionChange: [{
92
+ type: Output
93
+ }] } });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1maWx0ZXItY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9jaGlwL3dhdHQtZmlsdGVyLWNoaXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQUNqQjs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxZQUFZO0FBQ1osT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFMUQsU0FBUyxhQUFhO0lBQ3BCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQztJQUN6QixPQUFPLEdBQUcsRUFBRTtRQUNWLElBQUksQ0FBQyxhQUFhO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUM7QUFxQkQsTUFBTSxPQUFPLHVCQUF1QjtJQUN6QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsSUFBSSxDQUFVO0lBQ2QsS0FBSyxDQUFLO0lBQ1YsTUFBTSxDQUFVO0lBQ2YsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7SUFDbEQsYUFBYSxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBRWhDLFFBQVEsQ0FBQyxLQUF1QjtRQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN0RSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO3VHQVpVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHFPQWhCeEI7Ozs7Ozs7Ozs7Ozs7O0dBY1QsNERBaEJTLGlCQUFpQjs7MkZBa0JoQix1QkFBdUI7a0JBbkJuQyxTQUFTO21CQUFDO29CQUNULE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7aUJBQ0Y7OEJBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBXYXR0Q2hpcENvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1jaGlwLmNvbXBvbmVudCc7XG5cbmZ1bmN0aW9uIGlzRmlyc3RSZW5kZXIoKSB7XG4gIGxldCBpc0ZpcnN0UmVuZGVyID0gdHJ1ZTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBpZiAoIWlzRmlyc3RSZW5kZXIpIHJldHVybiBmYWxzZTtcbiAgICBpc0ZpcnN0UmVuZGVyID0gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbV2F0dENoaXBDb21wb25lbnRdLFxuICBzZWxlY3RvcjogJ3dhdHQtZmlsdGVyLWNoaXAnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx3YXR0LWNoaXAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NlbGVjdGVkXT1cImlzRmlyc3RSZW5kZXIoKSA/IHNlbGVjdGVkIDogaW5wdXQuY2hlY2tlZFwiPlxuICAgICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgICBbdHlwZV09XCJjaG9pY2UgPT09IHVuZGVmaW5lZCA/ICdjaGVja2JveCcgOiAncmFkaW8nXCJcbiAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZShpbnB1dClcIlxuICAgICAgLz5cbiAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgPC93YXR0LWNoaXA+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHRGaWx0ZXJDaGlwQ29tcG9uZW50PFQgPSBzdHJpbmc+IHtcbiAgQElucHV0KCkgc2VsZWN0ZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgbmFtZT86IHN0cmluZztcbiAgQElucHV0KCkgdmFsdWU/OiBUO1xuICBASW5wdXQoKSBjaG9pY2U/OiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG4gIGlzRmlyc3RSZW5kZXIgPSBpc0ZpcnN0UmVuZGVyKCk7XG5cbiAgb25DaGFuZ2UoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY2hvaWNlICE9PSB1bmRlZmluZWQgPyBpbnB1dC52YWx1ZSA6IGlucHV0LmNoZWNrZWQ7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh2YWx1ZSBhcyBUKTtcbiAgfVxufVxuIl19