@energinet/watt 2.0.13 → 2.1.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 (388) 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/datetime-field/energinet-watt-datetime-field.d.ts +5 -0
  17. package/description-list/energinet-watt-description-list.d.ts +5 -0
  18. package/drawer/energinet-watt-drawer.d.ts +5 -0
  19. package/dropdown/energinet-watt-dropdown.d.ts +5 -0
  20. package/dropzone/energinet-watt-dropzone.d.ts +5 -0
  21. package/empty-state/energinet-watt-empty-state.d.ts +5 -0
  22. package/energinet-watt.d.ts +5 -0
  23. package/esm2022/badge/energinet-watt-badge.js +5 -0
  24. package/esm2022/badge/index.js +20 -0
  25. package/{fesm2022/energinet-watt-badge.mjs → esm2022/badge/watt-badge.component.js} +7 -33
  26. package/esm2022/breadcrumbs/energinet-watt-breadcrumbs.js +5 -0
  27. package/esm2022/breadcrumbs/index.js +20 -0
  28. package/esm2022/breadcrumbs/watt-breadcrumbs.component.js +90 -0
  29. package/esm2022/button/energinet-watt-button.js +5 -0
  30. package/esm2022/button/index.js +20 -0
  31. package/{fesm2022/energinet-watt-button.mjs → esm2022/button/watt-button.component.js} +14 -40
  32. package/esm2022/card/energinet-watt-card.js +5 -0
  33. package/esm2022/card/index.js +21 -0
  34. package/esm2022/card/watt-card-title.component.js +33 -0
  35. package/esm2022/card/watt-card.component.js +61 -0
  36. package/esm2022/checkbox/energinet-watt-checkbox.js +5 -0
  37. package/esm2022/checkbox/index.js +20 -0
  38. package/{fesm2022/energinet-watt-checkbox.mjs → esm2022/checkbox/watt-checkbox.component.js} +9 -35
  39. package/esm2022/chip/energinet-watt-chip.js +5 -0
  40. package/esm2022/chip/index.js +26 -0
  41. package/esm2022/chip/watt-action-chip.component.js +68 -0
  42. package/esm2022/chip/watt-chip.component.js +55 -0
  43. package/esm2022/chip/watt-chip.directive.js +92 -0
  44. package/esm2022/chip/watt-date-chip.component.js +118 -0
  45. package/esm2022/chip/watt-date-range-chip.component.js +240 -0
  46. package/esm2022/chip/watt-filter-chip.component.js +94 -0
  47. package/esm2022/chip/watt-menu-chip.component.js +95 -0
  48. package/esm2022/clipboard/energinet-watt-clipboard.js +5 -0
  49. package/esm2022/clipboard/index.js +21 -0
  50. package/esm2022/clipboard/watt-clipboard-intl.service.js +31 -0
  51. package/esm2022/clipboard/watt-copy-to-clipboard.directive.js +64 -0
  52. package/esm2022/code/energinet-watt-code.js +5 -0
  53. package/esm2022/code/index.js +21 -0
  54. package/esm2022/code/watt-code.component.js +74 -0
  55. package/esm2022/code/watt-code.worker.token.js +21 -0
  56. package/esm2022/core/breakpoints/breakpoints-observer.js +41 -0
  57. package/esm2022/core/breakpoints/breakpoints.js +31 -0
  58. package/esm2022/core/breakpoints/energinet-watt-core-breakpoints.js +5 -0
  59. package/esm2022/core/breakpoints/index.js +21 -0
  60. package/esm2022/core/color/color-helper.service.js +41 -0
  61. package/esm2022/core/color/colors.js +58 -0
  62. package/esm2022/core/color/energinet-watt-core-color.js +5 -0
  63. package/esm2022/core/color/index.js +21 -0
  64. package/esm2022/core/date/dayjs.js +34 -0
  65. package/esm2022/core/date/energinet-watt-core-date.js +5 -0
  66. package/esm2022/core/date/index.js +25 -0
  67. package/esm2022/core/date/watt-danish-datetime.providers.js +31 -0
  68. package/esm2022/core/date/watt-date-adapter.js +43 -0
  69. package/esm2022/core/date/watt-date-range.js +2 -0
  70. package/esm2022/core/date/watt-date.pipe.js +38 -0
  71. package/esm2022/core/date/watt-format-date.js +50 -0
  72. package/esm2022/core/date/watt-locale.service.js +48 -0
  73. package/esm2022/data/energinet-watt-data.js +5 -0
  74. package/esm2022/data/index.js +23 -0
  75. package/esm2022/data/watt-data-actions.component.js +32 -0
  76. package/esm2022/data/watt-data-filters.component.js +32 -0
  77. package/esm2022/data/watt-data-intl.service.js +39 -0
  78. package/{fesm2022/energinet-watt-data.mjs → esm2022/data/watt-data-table.component.js} +15 -137
  79. package/esm2022/datetime-field/energinet-watt-datetime-field.js +5 -0
  80. package/esm2022/datetime-field/index.js +20 -0
  81. package/esm2022/datetime-field/watt-datetime-field.component.js +207 -0
  82. package/esm2022/description-list/energinet-watt-description-list.js +5 -0
  83. package/esm2022/description-list/index.js +20 -0
  84. package/esm2022/description-list/watt-description-list-item.component.js +49 -0
  85. package/{fesm2022/energinet-watt-description-list.mjs → esm2022/description-list/watt-description-list.component.js} +10 -79
  86. package/esm2022/drawer/energinet-watt-drawer.js +5 -0
  87. package/esm2022/drawer/index.js +24 -0
  88. package/esm2022/drawer/watt-drawer-actions.component.js +29 -0
  89. package/esm2022/drawer/watt-drawer-content.component.js +29 -0
  90. package/esm2022/drawer/watt-drawer-heading.component.js +29 -0
  91. package/esm2022/drawer/watt-drawer-topbar.component.js +29 -0
  92. package/esm2022/drawer/watt-drawer.component.js +177 -0
  93. package/esm2022/dropdown/energinet-watt-dropdown.js +5 -0
  94. package/esm2022/dropdown/index.js +20 -0
  95. package/esm2022/dropdown/watt-dropdown-option.js +2 -0
  96. package/esm2022/dropdown/watt-dropdown-value.js +2 -0
  97. package/esm2022/dropdown/watt-dropdown.component.js +396 -0
  98. package/esm2022/dropzone/energinet-watt-dropzone.js +5 -0
  99. package/esm2022/dropzone/index.js +22 -0
  100. package/esm2022/dropzone/watt-dropzone-intl.js +35 -0
  101. package/esm2022/dropzone/watt-dropzone-validators.js +67 -0
  102. package/esm2022/dropzone/watt-dropzone.js +179 -0
  103. package/esm2022/empty-state/energinet-watt-empty-state.js +5 -0
  104. package/esm2022/empty-state/icons/explore.js +54 -0
  105. package/esm2022/empty-state/icons/no-results.js +62 -0
  106. package/esm2022/empty-state/icons/power.js +46 -0
  107. package/esm2022/empty-state/index.js +23 -0
  108. package/esm2022/empty-state/watt-empty-state.component.js +120 -0
  109. package/esm2022/energinet-watt.js +5 -0
  110. package/esm2022/expandable-card/energinet-watt-expandable-card.js +5 -0
  111. package/esm2022/expandable-card/index.js +26 -0
  112. package/{fesm2022/energinet-watt-expandable-card.mjs → esm2022/expandable-card/watt-expandable-card.component.js} +18 -49
  113. package/esm2022/expansion/energinet-watt-expansion.js +5 -0
  114. package/{fesm2022/energinet-watt-expansion.mjs → esm2022/expansion/expansion.component.js} +10 -36
  115. package/esm2022/expansion/index.js +20 -0
  116. package/esm2022/field/energinet-watt-field.js +5 -0
  117. package/esm2022/field/index.js +23 -0
  118. package/esm2022/field/watt-field-error.component.js +29 -0
  119. package/esm2022/field/watt-field-hint.component.js +29 -0
  120. package/esm2022/field/watt-field-intl.service.js +32 -0
  121. package/{fesm2022/energinet-watt-field.mjs → esm2022/field/watt-field.component.js} +17 -125
  122. package/esm2022/icon/energinet-watt-icon.js +5 -0
  123. package/esm2022/icon/flags/energinet-watt-icon-flags.js +5 -0
  124. package/esm2022/icon/flags/index.js +26 -0
  125. package/esm2022/icon/flags/watt-flag-ch.js +52 -0
  126. package/esm2022/icon/flags/watt-flag-de.js +44 -0
  127. package/esm2022/icon/flags/watt-flag-dk.js +44 -0
  128. package/esm2022/icon/flags/watt-flag-fi.js +44 -0
  129. package/esm2022/icon/flags/watt-flag-nl.js +44 -0
  130. package/esm2022/icon/flags/watt-flag-no.js +48 -0
  131. package/esm2022/icon/flags/watt-flag-pl.js +46 -0
  132. package/esm2022/icon/flags/watt-flag-se.js +42 -0
  133. package/esm2022/icon/flags/watt-flag.js +116 -0
  134. package/{fesm2022/energinet-watt-icon.mjs → esm2022/icon/icon.component.js} +9 -131
  135. package/esm2022/icon/icons.js +97 -0
  136. package/esm2022/icon/index.js +20 -0
  137. package/esm2022/index.js +25 -0
  138. package/esm2022/modal/energinet-watt-modal.js +5 -0
  139. package/esm2022/modal/index.js +21 -0
  140. package/{fesm2022/energinet-watt-modal.mjs → esm2022/modal/watt-modal.component.js} +19 -127
  141. package/esm2022/modal/watt-modal.service.js +86 -0
  142. package/esm2022/paginator/energinet-watt-paginator.js +5 -0
  143. package/esm2022/paginator/index.js +21 -0
  144. package/esm2022/paginator/watt-paginator-intl.service.js +38 -0
  145. package/esm2022/paginator/watt-paginator.component.js +104 -0
  146. package/esm2022/phone-field/energinet-watt-phone-field.js +5 -0
  147. package/esm2022/phone-field/index.js +21 -0
  148. package/esm2022/phone-field/watt-phone-field-intl.service.js +40 -0
  149. package/esm2022/phone-field/watt-phone-field.component.js +262 -0
  150. package/esm2022/picker/__shared/energinet-watt-picker-__shared.js +5 -0
  151. package/esm2022/picker/__shared/index.js +21 -0
  152. package/esm2022/picker/__shared/placeholder-mask/watt-placeholder-mask.component.js +71 -0
  153. package/esm2022/picker/__shared/watt-picker-base.js +292 -0
  154. package/esm2022/picker/__shared/watt-picker-value.js +2 -0
  155. package/esm2022/picker/datepicker/energinet-watt-picker-datepicker.js +5 -0
  156. package/esm2022/picker/datepicker/index.js +22 -0
  157. package/esm2022/picker/datepicker/watt-datepicker-intl.service.js +31 -0
  158. package/esm2022/picker/datepicker/watt-datepicker.component.js +422 -0
  159. package/esm2022/picker/timepicker/energinet-watt-picker-timepicker.js +5 -0
  160. package/esm2022/picker/timepicker/index.js +20 -0
  161. package/esm2022/picker/timepicker/maskito-time-range-mask.js +81 -0
  162. package/esm2022/picker/timepicker/watt-timepicker.component.js +288 -0
  163. package/esm2022/progress-tracker/energinet-watt-progress-tracker.js +5 -0
  164. package/esm2022/progress-tracker/index.js +27 -0
  165. package/{fesm2022/energinet-watt-progress-tracker.mjs → esm2022/progress-tracker/watt-progress-tracker-step.component.js} +9 -67
  166. package/esm2022/progress-tracker/watt-progress-tracker.component.js +30 -0
  167. package/esm2022/query-params/energinet-watt-query-params.js +5 -0
  168. package/esm2022/query-params/index.js +20 -0
  169. package/esm2022/query-params/watt-query-params.directive.js +91 -0
  170. package/esm2022/radio/energinet-watt-radio.js +5 -0
  171. package/esm2022/radio/index.js +20 -0
  172. package/{fesm2022/energinet-watt-radio.mjs → esm2022/radio/watt-radio.component.js} +9 -35
  173. package/esm2022/search/energinet-watt-search.js +5 -0
  174. package/esm2022/search/index.js +20 -0
  175. package/{fesm2022/energinet-watt-search.mjs → esm2022/search/watt-search.component.js} +10 -36
  176. package/esm2022/segmented-buttons/energinet-watt-segmented-buttons.js +5 -0
  177. package/esm2022/segmented-buttons/index.js +21 -0
  178. package/esm2022/segmented-buttons/watt-segmented-button.component.js +38 -0
  179. package/esm2022/segmented-buttons/watt-segmented-buttons.component.js +88 -0
  180. package/esm2022/shell/energinet-watt-shell.js +5 -0
  181. package/esm2022/shell/index.js +21 -0
  182. package/esm2022/shell/nav-list/index.js +21 -0
  183. package/esm2022/shell/nav-list/watt-expand-on-active-link.directive.js +45 -0
  184. package/esm2022/shell/nav-list/watt-nav-list-item.component.js +84 -0
  185. package/esm2022/shell/nav-list/watt-nav-list.component.js +81 -0
  186. package/esm2022/shell/shell.component.js +75 -0
  187. package/esm2022/slide-toggle/energinet-watt-slide-toggle.js +5 -0
  188. package/esm2022/slide-toggle/index.js +20 -0
  189. package/esm2022/slide-toggle/watt-slide-toggle.component.js +78 -0
  190. package/esm2022/slider/energinet-watt-slider.js +5 -0
  191. package/esm2022/slider/index.js +20 -0
  192. package/esm2022/slider/watt-slider.component.js +133 -0
  193. package/esm2022/spinner/energinet-watt-spinner.js +5 -0
  194. package/esm2022/spinner/index.js +20 -0
  195. package/esm2022/spinner/watt-spinner.component.js +46 -0
  196. package/esm2022/stepper/energinet-watt-stepper.js +5 -0
  197. package/esm2022/stepper/index.js +21 -0
  198. package/esm2022/stepper/watt-stepper-step.component.js +52 -0
  199. package/{fesm2022/energinet-watt-stepper.mjs → esm2022/stepper/watt-stepper.component.js} +18 -91
  200. package/esm2022/table/energinet-watt-table.js +5 -0
  201. package/esm2022/table/index.js +21 -0
  202. package/esm2022/table/watt-table-data-source.js +17 -0
  203. package/esm2022/table/watt-table.component.js +400 -0
  204. package/esm2022/tabs/energinet-watt-tabs.js +5 -0
  205. package/esm2022/tabs/index.js +31 -0
  206. package/esm2022/tabs/watt-link-tab.component.js +34 -0
  207. package/esm2022/tabs/watt-link-tabs.component.js +71 -0
  208. package/esm2022/tabs/watt-tab.component.js +42 -0
  209. package/esm2022/tabs/watt-tabs-action.component.js +32 -0
  210. package/esm2022/tabs/watt-tabs.component.js +60 -0
  211. package/esm2022/text-field/energinet-watt-text-field.js +5 -0
  212. package/esm2022/text-field/index.js +20 -0
  213. package/esm2022/text-field/watt-text-field.component.js +289 -0
  214. package/esm2022/textarea-field/energinet-watt-textarea-field.js +5 -0
  215. package/esm2022/textarea-field/index.js +20 -0
  216. package/esm2022/textarea-field/watt-textarea-field.component.js +110 -0
  217. package/esm2022/toast/energinet-watt-toast.js +5 -0
  218. package/esm2022/toast/index.js +21 -0
  219. package/esm2022/toast/watt-toast.component.js +97 -0
  220. package/esm2022/toast/watt-toast.service.js +51 -0
  221. package/esm2022/tooltip/energinet-watt-tooltip.js +5 -0
  222. package/esm2022/tooltip/index.js +20 -0
  223. package/esm2022/tooltip/watt-tooltip.component.js +131 -0
  224. package/esm2022/tooltip/watt-tooltip.directive.js +60 -0
  225. package/esm2022/utils/css/css-custom-properties.service.js +39 -0
  226. package/esm2022/utils/css/energinet-watt-utils-css.js +5 -0
  227. package/esm2022/utils/css/index.js +20 -0
  228. package/esm2022/utils/intersection-observer/energinet-watt-utils-intersection-observer.js +5 -0
  229. package/esm2022/utils/intersection-observer/index.js +20 -0
  230. package/esm2022/utils/intersection-observer/watt-intersection-observer.service.js +57 -0
  231. package/esm2022/utils/resize-observer/energinet-watt-utils-resize-observer.js +5 -0
  232. package/esm2022/utils/resize-observer/index.js +21 -0
  233. package/esm2022/utils/resize-observer/watt-resize-observer.directive.js +53 -0
  234. package/esm2022/utils/resize-observer/watt-resize-observer.service.js +67 -0
  235. package/esm2022/validation-message/energinet-watt-validation-message.js +5 -0
  236. package/esm2022/validation-message/index.js +20 -0
  237. package/{fesm2022/energinet-watt-validation-message.mjs → esm2022/validation-message/watt-validation-message.component.js} +8 -34
  238. package/esm2022/validators/energinet-watt-validators.js +5 -0
  239. package/esm2022/validators/index.js +20 -0
  240. package/esm2022/validators/watt-range.validators.js +23 -0
  241. package/esm2022/vater/energinet-watt-vater.js +5 -0
  242. package/esm2022/vater/index.js +24 -0
  243. package/esm2022/vater/types.js +20 -0
  244. package/esm2022/vater/vater-flex.component.js +49 -0
  245. package/esm2022/vater/vater-layout.directive.js +65 -0
  246. package/esm2022/vater/vater-spacer.component.js +29 -0
  247. package/esm2022/vater/vater-stack.component.js +42 -0
  248. package/esm2022/vater/vater-utility.directive.js +53 -0
  249. package/esm2022/year-field/energinet-watt-year-field.js +5 -0
  250. package/esm2022/year-field/index.js +20 -0
  251. package/esm2022/year-field/watt-year-field.component.js +256 -0
  252. package/esm2022/yearmonth-field/energinet-watt-yearmonth-field.js +5 -0
  253. package/esm2022/yearmonth-field/index.js +21 -0
  254. package/esm2022/yearmonth-field/watt-yearmonth-field.component.js +258 -0
  255. package/esm2022/yearmonth-field/year-month.js +42 -0
  256. package/expandable-card/energinet-watt-expandable-card.d.ts +5 -0
  257. package/expansion/energinet-watt-expansion.d.ts +5 -0
  258. package/field/energinet-watt-field.d.ts +5 -0
  259. package/icon/energinet-watt-icon.d.ts +5 -0
  260. package/icon/flags/energinet-watt-icon-flags.d.ts +5 -0
  261. package/modal/energinet-watt-modal.d.ts +5 -0
  262. package/package.json +117 -117
  263. package/paginator/energinet-watt-paginator.d.ts +5 -0
  264. package/phone-field/energinet-watt-phone-field.d.ts +5 -0
  265. package/picker/__shared/energinet-watt-picker-__shared.d.ts +5 -0
  266. package/picker/__shared/watt-picker-base.d.ts +4 -1
  267. package/picker/datepicker/energinet-watt-picker-datepicker.d.ts +5 -0
  268. package/picker/timepicker/energinet-watt-picker-timepicker.d.ts +5 -0
  269. package/progress-tracker/energinet-watt-progress-tracker.d.ts +5 -0
  270. package/query-params/energinet-watt-query-params.d.ts +5 -0
  271. package/radio/energinet-watt-radio.d.ts +5 -0
  272. package/search/energinet-watt-search.d.ts +5 -0
  273. package/segmented-buttons/energinet-watt-segmented-buttons.d.ts +5 -0
  274. package/shell/energinet-watt-shell.d.ts +5 -0
  275. package/slide-toggle/energinet-watt-slide-toggle.d.ts +5 -0
  276. package/slider/energinet-watt-slider.d.ts +5 -0
  277. package/spinner/energinet-watt-spinner.d.ts +5 -0
  278. package/stepper/energinet-watt-stepper.d.ts +5 -0
  279. package/table/energinet-watt-table.d.ts +5 -0
  280. package/tabs/energinet-watt-tabs.d.ts +5 -0
  281. package/text-field/energinet-watt-text-field.d.ts +5 -0
  282. package/textarea-field/energinet-watt-textarea-field.d.ts +5 -0
  283. package/toast/energinet-watt-toast.d.ts +5 -0
  284. package/toast/watt-toast.service.d.ts +2 -3
  285. package/tooltip/energinet-watt-tooltip.d.ts +5 -0
  286. package/utils/css/css-custom-properties.service.d.ts +1 -2
  287. package/utils/css/energinet-watt-utils-css.d.ts +5 -0
  288. package/utils/intersection-observer/energinet-watt-utils-intersection-observer.d.ts +5 -0
  289. package/utils/resize-observer/energinet-watt-utils-resize-observer.d.ts +5 -0
  290. package/utils/resize-observer/watt-resize-observer.service.d.ts +2 -19
  291. package/validation-message/energinet-watt-validation-message.d.ts +5 -0
  292. package/validators/energinet-watt-validators.d.ts +5 -0
  293. package/vater/energinet-watt-vater.d.ts +5 -0
  294. package/year-field/energinet-watt-year-field.d.ts +5 -0
  295. package/yearmonth-field/energinet-watt-yearmonth-field.d.ts +5 -0
  296. package/fesm2022/energinet-watt-badge.mjs.map +0 -1
  297. package/fesm2022/energinet-watt-breadcrumbs.mjs +0 -116
  298. package/fesm2022/energinet-watt-breadcrumbs.mjs.map +0 -1
  299. package/fesm2022/energinet-watt-button.mjs.map +0 -1
  300. package/fesm2022/energinet-watt-card.mjs +0 -117
  301. package/fesm2022/energinet-watt-card.mjs.map +0 -1
  302. package/fesm2022/energinet-watt-checkbox.mjs.map +0 -1
  303. package/fesm2022/energinet-watt-chip.mjs +0 -760
  304. package/fesm2022/energinet-watt-chip.mjs.map +0 -1
  305. package/fesm2022/energinet-watt-clipboard.mjs +0 -118
  306. package/fesm2022/energinet-watt-clipboard.mjs.map +0 -1
  307. package/fesm2022/energinet-watt-code.mjs +0 -119
  308. package/fesm2022/energinet-watt-code.mjs.map +0 -1
  309. package/fesm2022/energinet-watt-core-breakpoints.mjs +0 -100
  310. package/fesm2022/energinet-watt-core-breakpoints.mjs.map +0 -1
  311. package/fesm2022/energinet-watt-core-color.mjs +0 -127
  312. package/fesm2022/energinet-watt-core-color.mjs.map +0 -1
  313. package/fesm2022/energinet-watt-core-date.mjs +0 -260
  314. package/fesm2022/energinet-watt-core-date.mjs.map +0 -1
  315. package/fesm2022/energinet-watt-data.mjs.map +0 -1
  316. package/fesm2022/energinet-watt-datetime-field.mjs +0 -233
  317. package/fesm2022/energinet-watt-datetime-field.mjs.map +0 -1
  318. package/fesm2022/energinet-watt-description-list.mjs.map +0 -1
  319. package/fesm2022/energinet-watt-drawer.mjs +0 -307
  320. package/fesm2022/energinet-watt-drawer.mjs.map +0 -1
  321. package/fesm2022/energinet-watt-dropdown.mjs +0 -423
  322. package/fesm2022/energinet-watt-dropdown.mjs.map +0 -1
  323. package/fesm2022/energinet-watt-dropzone.mjs +0 -298
  324. package/fesm2022/energinet-watt-dropzone.mjs.map +0 -1
  325. package/fesm2022/energinet-watt-empty-state.mjs +0 -299
  326. package/fesm2022/energinet-watt-empty-state.mjs.map +0 -1
  327. package/fesm2022/energinet-watt-expandable-card.mjs.map +0 -1
  328. package/fesm2022/energinet-watt-expansion.mjs.map +0 -1
  329. package/fesm2022/energinet-watt-field.mjs.map +0 -1
  330. package/fesm2022/energinet-watt-icon-flags.mjs +0 -482
  331. package/fesm2022/energinet-watt-icon-flags.mjs.map +0 -1
  332. package/fesm2022/energinet-watt-icon.mjs.map +0 -1
  333. package/fesm2022/energinet-watt-modal.mjs.map +0 -1
  334. package/fesm2022/energinet-watt-paginator.mjs +0 -164
  335. package/fesm2022/energinet-watt-paginator.mjs.map +0 -1
  336. package/fesm2022/energinet-watt-phone-field.mjs +0 -326
  337. package/fesm2022/energinet-watt-phone-field.mjs.map +0 -1
  338. package/fesm2022/energinet-watt-picker-__shared.mjs +0 -384
  339. package/fesm2022/energinet-watt-picker-__shared.mjs.map +0 -1
  340. package/fesm2022/energinet-watt-picker-datepicker.mjs +0 -477
  341. package/fesm2022/energinet-watt-picker-datepicker.mjs.map +0 -1
  342. package/fesm2022/energinet-watt-picker-timepicker.mjs +0 -394
  343. package/fesm2022/energinet-watt-picker-timepicker.mjs.map +0 -1
  344. package/fesm2022/energinet-watt-progress-tracker.mjs.map +0 -1
  345. package/fesm2022/energinet-watt-query-params.mjs +0 -117
  346. package/fesm2022/energinet-watt-query-params.mjs.map +0 -1
  347. package/fesm2022/energinet-watt-radio.mjs.map +0 -1
  348. package/fesm2022/energinet-watt-search.mjs.map +0 -1
  349. package/fesm2022/energinet-watt-segmented-buttons.mjs +0 -149
  350. package/fesm2022/energinet-watt-segmented-buttons.mjs.map +0 -1
  351. package/fesm2022/energinet-watt-shell.mjs +0 -315
  352. package/fesm2022/energinet-watt-shell.mjs.map +0 -1
  353. package/fesm2022/energinet-watt-slide-toggle.mjs +0 -104
  354. package/fesm2022/energinet-watt-slide-toggle.mjs.map +0 -1
  355. package/fesm2022/energinet-watt-slider.mjs +0 -159
  356. package/fesm2022/energinet-watt-slider.mjs.map +0 -1
  357. package/fesm2022/energinet-watt-spinner.mjs +0 -72
  358. package/fesm2022/energinet-watt-spinner.mjs.map +0 -1
  359. package/fesm2022/energinet-watt-stepper.mjs.map +0 -1
  360. package/fesm2022/energinet-watt-table.mjs +0 -441
  361. package/fesm2022/energinet-watt-table.mjs.map +0 -1
  362. package/fesm2022/energinet-watt-tabs.mjs +0 -254
  363. package/fesm2022/energinet-watt-tabs.mjs.map +0 -1
  364. package/fesm2022/energinet-watt-text-field.mjs +0 -316
  365. package/fesm2022/energinet-watt-text-field.mjs.map +0 -1
  366. package/fesm2022/energinet-watt-textarea-field.mjs +0 -136
  367. package/fesm2022/energinet-watt-textarea-field.mjs.map +0 -1
  368. package/fesm2022/energinet-watt-toast.mjs +0 -174
  369. package/fesm2022/energinet-watt-toast.mjs.map +0 -1
  370. package/fesm2022/energinet-watt-tooltip.mjs +0 -214
  371. package/fesm2022/energinet-watt-tooltip.mjs.map +0 -1
  372. package/fesm2022/energinet-watt-utils-css.mjs +0 -72
  373. package/fesm2022/energinet-watt-utils-css.mjs.map +0 -1
  374. package/fesm2022/energinet-watt-utils-intersection-observer.mjs +0 -83
  375. package/fesm2022/energinet-watt-utils-intersection-observer.mjs.map +0 -1
  376. package/fesm2022/energinet-watt-utils-resize-observer.mjs +0 -144
  377. package/fesm2022/energinet-watt-utils-resize-observer.mjs.map +0 -1
  378. package/fesm2022/energinet-watt-validation-message.mjs.map +0 -1
  379. package/fesm2022/energinet-watt-validators.mjs +0 -49
  380. package/fesm2022/energinet-watt-validators.mjs.map +0 -1
  381. package/fesm2022/energinet-watt-vater.mjs +0 -248
  382. package/fesm2022/energinet-watt-vater.mjs.map +0 -1
  383. package/fesm2022/energinet-watt-year-field.mjs +0 -282
  384. package/fesm2022/energinet-watt-year-field.mjs.map +0 -1
  385. package/fesm2022/energinet-watt-yearmonth-field.mjs +0 -324
  386. package/fesm2022/energinet-watt-yearmonth-field.mjs.map +0 -1
  387. package/fesm2022/energinet-watt.mjs +0 -31
  388. package/fesm2022/energinet-watt.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"energinet-watt-phone-field.mjs","sources":["../../../libs/watt/package/phone-field/watt-phone-field-intl.service.ts","../../../libs/watt/package/phone-field/watt-phone-field.component.ts","../../../libs/watt/package/phone-field/index.ts","../../../libs/watt/package/phone-field/energinet-watt-phone-field.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 { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class WattPhoneFieldIntlService {\n readonly changes: Subject<void> = new Subject<void>();\n invalidPhoneNumber = 'Invalid phone number';\n DK = 'Denmark';\n DE = 'Germany';\n FI = 'Finland';\n NO = 'Norway';\n SE = 'Sweden';\n PL = 'Poland';\n NL = 'Netherlands';\n CH = 'Switzerland';\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 Component,\n ElementRef,\n HostBinding,\n OnInit,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n input,\n signal,\n untracked,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormControl,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n ValidationErrors,\n ValidatorFn,\n} from '@angular/forms';\nimport { MaskitoDirective } from '@maskito/angular';\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\nimport { MASKITO_DEFAULT_OPTIONS, maskitoTransform } from '@maskito/core';\nimport { maskitoPhoneOptionsGenerator } from '@maskito/phone';\nimport { isValidPhoneNumber, type CountryCode } from 'libphonenumber-js';\nimport phoneMetadata from 'libphonenumber-js/min/metadata';\n\nimport { WattFlagComponent } from '@energinet/watt/icon/flags';\nimport { WattFieldComponent, WattFieldErrorComponent } from '@energinet/watt/field';\n\nimport { WattPhoneFieldIntlService } from './watt-phone-field-intl.service';\n\ntype Contry = {\n countryIsoCode: CountryCode;\n phoneExtension: string;\n};\n\nfunction phoneValidator(countryCode: CountryCode): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (!control.value) return null;\n const valid = isValidPhoneNumber(control.value, countryCode);\n\n return valid ? null : { invalidPhone: true };\n };\n}\n\n@Component({\n selector: 'watt-phone-field',\n encapsulation: ViewEncapsulation.None,\n imports: [\n ReactiveFormsModule,\n MatSelectModule,\n MaskitoDirective,\n WattFieldComponent,\n WattFieldErrorComponent,\n WattFlagComponent,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => WattPhoneFieldComponent),\n multi: true,\n },\n ],\n template: `\n <watt-field [label]=\"label()\" [control]=\"formControl()\">\n <div class=\"watt-phone-field__prefix-container\">\n <mat-select\n panelWidth=\"\"\n panelClass=\"watt-phone-field__select\"\n [hideSingleSelectionIndicator]=\"true\"\n [value]=\"chosenCountry().countryIsoCode\"\n (selectionChange)=\"selectedContry($event)\"\n >\n <mat-select-trigger>\n <watt-flag [country]=\"chosenCountry().countryIsoCode\" />\n </mat-select-trigger>\n @for (contry of countries; track contry; let index = $index) {\n <mat-option value=\"{{ contry.countryIsoCode }}\">\n <watt-flag [country]=\"contry.countryIsoCode\" />\n <div>{{ getCountryName(contry.countryIsoCode) }}</div>\n </mat-option>\n }\n </mat-select>\n <input\n [attr.aria-label]=\"label()\"\n autocomplete=\"tel\"\n inputmode=\"tel\"\n [value]=\"value\"\n [formControl]=\"formControl()\"\n (blur)=\"onTouched()\"\n (input)=\"onChanged($event)\"\n [maskito]=\"mask\"\n #phoneNumberInput\n />\n </div>\n <ng-content ngProjectAs=\"watt-field-hint\" select=\"watt-field-hint\" />\n <ng-content ngProjectAs=\"watt-field-error\" select=\"watt-field-error\" />\n @if (formControl().hasError('invalidPhone')) {\n <watt-field-error> {{ intl.invalidPhoneNumber }} </watt-field-error>\n }\n </watt-field>\n `,\n styleUrl: './watt-phone-field.component.scss',\n})\nexport class WattPhoneFieldComponent implements ControlValueAccessor, OnInit {\n /** @ignore */\n readonly countries: Contry[] = [\n { countryIsoCode: 'DK', phoneExtension: '+45' },\n { countryIsoCode: 'SE', phoneExtension: '+46' },\n { countryIsoCode: 'NO', phoneExtension: '+47' },\n { countryIsoCode: 'DE', phoneExtension: '+49' },\n { countryIsoCode: 'FI', phoneExtension: '+358' },\n { countryIsoCode: 'PL', phoneExtension: '+48' },\n { countryIsoCode: 'NL', phoneExtension: '+31' },\n { countryIsoCode: 'CH', phoneExtension: '+41' },\n ];\n\n formControl = input.required<FormControl>();\n label = input<string>();\n\n /** @ignore */\n chosenCountry = signal<Contry>(this.countries[0]);\n\n /** @ignore */\n mask = MASKITO_DEFAULT_OPTIONS;\n\n /** @ignore */\n intl = inject(WattPhoneFieldIntlService);\n\n /** @ignore */\n @HostBinding('attr.watt-field-disabled')\n isDisabled = false;\n\n /** @ignore */\n value: string | null = null;\n\n /** @ignore */\n @ViewChild('phoneNumberInput') phoneNumberInput!: ElementRef<HTMLInputElement>;\n\n /** @ignore */\n ngOnInit(): void {\n this.setup();\n }\n\n /** @ignore */\n writeValue(value: string): void {\n if (value) {\n const country = this.countries.find((country) => value.startsWith(country.phoneExtension));\n\n if (country) {\n // Exclude Signal from being tracked\n // in case the parent component sets the value inside an `effect`.\n // Without this, updating the Signal internaly triggers the parrent `effect` to re-run.\n // Note: Revisit once v19 is released because the `effect` API has changed\n // significantly and this might not be necessary anymore\n untracked(() => {\n this.setCountry(country);\n });\n\n value = maskitoTransform(value, this.mask);\n }\n }\n\n this.value = value;\n }\n\n /** @ignore */\n onChange: (value: string) => void = () => {\n /* noop function */\n };\n\n /** @ignore */\n onTouched: () => void = () => {\n /* noop function */\n };\n\n /** @ignore */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /** @ignore */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @ignore */\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n /** @ignore */\n selectedContry({ value }: MatSelectChange) {\n const country = this.countries.find((contry) => contry.countryIsoCode === value);\n\n if (!country) {\n throw new Error('Prefix not found');\n }\n\n this.setCountry(country);\n this.formControl().reset();\n\n setTimeout(() => {\n this.phoneNumberInput.nativeElement.focus();\n }, 100);\n }\n\n /** @ignore */\n setCountry(country: Contry) {\n this.chosenCountry.set(country);\n this.setup();\n }\n\n /** @ignore */\n onChanged(event: Event): void {\n const value = (event.target as HTMLSelectElement)?.value;\n this.onChange(value);\n }\n\n /** @ignore */\n private generatePhoneOptions(): void {\n const phoneOptions = maskitoPhoneOptionsGenerator({\n countryIsoCode: this.chosenCountry().countryIsoCode,\n metadata: phoneMetadata,\n separator: ' ',\n });\n\n this.mask = phoneOptions;\n }\n\n /** @ignore */\n private setup(): void {\n this.generatePhoneOptions();\n this.setValidator();\n }\n\n /** @ignore */\n private setValidator() {\n const countryCode = this.chosenCountry().countryIsoCode;\n this.formControl().addValidators(phoneValidator(countryCode));\n }\n\n /** @ignore */\n getCountryName(countryIsoCode: CountryCode) {\n return this.intl[countryIsoCode as keyof WattPhoneFieldIntlService];\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\nexport { WattPhoneFieldComponent } from './watt-phone-field.component';\nexport { WattPhoneFieldIntlService } from './watt-phone-field-intl.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,384 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, ChangeDetectorRef, input, output, signal, effect, untracked, ViewEncapsulation, Component, ElementRef, DestroyRef, HostBinding, Input, Directive } from '@angular/core';
3
- import { Maskito } from '@maskito/core';
4
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
- import { NgControl } from '@angular/forms';
6
- import { Subject } from 'rxjs';
7
-
8
- //#region License
9
- /**
10
- * @license
11
- * Copyright 2020 Energinet DataHub A/S
12
- *
13
- * Licensed under the Apache License, Version 2.0 (the "License2");
14
- * you may not use this file except in compliance with the License.
15
- * You may obtain a copy of the License at
16
- *
17
- * http://www.apache.org/licenses/LICENSE-2.0
18
- *
19
- * Unless required by applicable law or agreed to in writing, software
20
- * distributed under the License is distributed on an "AS IS" BASIS,
21
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
- * See the License for the specific language governing permissions and
23
- * limitations under the License.
24
- */
25
- //#endregion
26
- class WattPlaceholderMaskComponent {
27
- cdr = inject(ChangeDetectorRef);
28
- primaryInputElement = input.required();
29
- secondaryInputElement = input();
30
- mask = input.required();
31
- placeholder = input.required();
32
- maskApplied = output();
33
- maskedInput = signal(null);
34
- primaryGhost = signal('');
35
- primaryFiller = signal(null);
36
- maskEffect = effect((onCleanup) => {
37
- const mask = this.mask();
38
- const placeholder = this.placeholder();
39
- const primaryMask = {
40
- ...mask,
41
- preprocessors: [
42
- ...(mask.preprocessors ?? []),
43
- (state) => {
44
- this.primaryGhost.set(state.elementState.value.slice(0, placeholder.length));
45
- this.primaryFiller.set(placeholder.slice(state.elementState.value.length));
46
- return state;
47
- },
48
- ],
49
- postprocessors: [
50
- (elementState) => {
51
- this.maskApplied.emit(elementState.value);
52
- return elementState;
53
- },
54
- ...(mask.postprocessors ?? []),
55
- ],
56
- };
57
- const maskedInput = new Maskito(this.primaryInputElement(), primaryMask);
58
- this.maskedInput.set(maskedInput);
59
- onCleanup(() => {
60
- maskedInput.destroy();
61
- this.maskedInput.set(null);
62
- });
63
- });
64
- inputEffect = effect(() => {
65
- const primaryInputElement = this.primaryInputElement();
66
- untracked(() => primaryInputElement.dispatchEvent(new InputEvent('input')));
67
- });
68
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: WattPlaceholderMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
69
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.1", type: WattPlaceholderMaskComponent, isStandalone: true, selector: "watt-placeholder-mask", inputs: { primaryInputElement: { classPropertyName: "primaryInputElement", publicName: "primaryInputElement", isSignal: true, isRequired: true, transformFunction: null }, secondaryInputElement: { classPropertyName: "secondaryInputElement", publicName: "secondaryInputElement", isSignal: true, isRequired: false, transformFunction: null }, mask: { classPropertyName: "mask", publicName: "mask", isSignal: true, isRequired: true, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { maskApplied: "maskApplied" }, 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<span class=\"ghost\">{{ primaryGhost() }}</span>\n<span class=\"filler\">{{ primaryFiller() ?? placeholder() }}</span>\n", styles: ["watt-placeholder-mask{position:absolute;font-family:Droid Sans Mono,monospace;box-sizing:content-box;max-width:100%;line-height:20px;padding:1px 2px;letter-spacing:-.03em;pointer-events:none;display:block}.ghost{color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.filler{color:var(--watt-color-neutral-grey-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}\n"], encapsulation: i0.ViewEncapsulation.None });
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: WattPlaceholderMaskComponent, decorators: [{
72
- type: Component,
73
- args: [{ selector: 'watt-placeholder-mask', encapsulation: ViewEncapsulation.None, 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<span class=\"ghost\">{{ primaryGhost() }}</span>\n<span class=\"filler\">{{ primaryFiller() ?? placeholder() }}</span>\n", styles: ["watt-placeholder-mask{position:absolute;font-family:Droid Sans Mono,monospace;box-sizing:content-box;max-width:100%;line-height:20px;padding:1px 2px;letter-spacing:-.03em;pointer-events:none;display:block}.ghost{color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.filler{color:var(--watt-color-neutral-grey-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}\n"] }]
74
- }] });
75
-
76
- //#region License
77
- /**
78
- * @license
79
- * Copyright 2020 Energinet DataHub A/S
80
- *
81
- * Licensed under the Apache License, Version 2.0 (the "License2");
82
- * you may not use this file except in compliance with the License.
83
- * You may obtain a copy of the License at
84
- *
85
- * http://www.apache.org/licenses/LICENSE-2.0
86
- *
87
- * Unless required by applicable law or agreed to in writing, software
88
- * distributed under the License is distributed on an "AS IS" BASIS,
89
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
90
- * See the License for the specific language governing permissions and
91
- * limitations under the License.
92
- */
93
- //#endregion
94
- class WattPickerBase {
95
- id;
96
- elementRef = inject(ElementRef);
97
- changeDetectionRef = inject(ChangeDetectorRef);
98
- ngControl = inject(NgControl, { optional: true });
99
- /**
100
- * @ignore
101
- */
102
- static nextId = 0;
103
- /**
104
- * @ignore
105
- */
106
- initialValue = null;
107
- /**
108
- * @ignore
109
- */
110
- focused = false;
111
- /**
112
- * @ignore
113
- */
114
- controlType = 'mat-date-range-input'; // We keep the controlType of Material Date Range Input as is, to keep some styling.
115
- /**
116
- * @ignore
117
- */
118
- stateChanges = new Subject();
119
- /**
120
- * @ignore
121
- */
122
- _destroyRef = inject(DestroyRef);
123
- // eslint-disable-next-line @angular-eslint/no-input-rename
124
- userAriaDescribedBy;
125
- /**
126
- * @ignore
127
- */
128
- get placeholder() {
129
- return this._placeholder;
130
- }
131
- /**
132
- * @ignore
133
- */
134
- set placeholder(value) {
135
- this._placeholder = value;
136
- this.stateChanges.next();
137
- }
138
- /**
139
- * @ignore
140
- */
141
- get value() {
142
- if (this.ngControl?.valid) {
143
- const { value: { start, end }, } = this.ngControl;
144
- return { start, end };
145
- }
146
- return null;
147
- }
148
- /**
149
- * @ignore
150
- */
151
- set value(value) {
152
- const inputNotToBeInTheDocument = !this.range ? !this.input : !this.startInput;
153
- if (inputNotToBeInTheDocument) {
154
- this.initialValue = value;
155
- return;
156
- }
157
- if (this.range) {
158
- this.setRangeValue(value, this.startInput.nativeElement, this.endInput.nativeElement);
159
- }
160
- else {
161
- this.setSingleValue(value, this.input.nativeElement);
162
- }
163
- this.stateChanges.next();
164
- }
165
- set range(range) {
166
- this._range = coerceBooleanProperty(range);
167
- }
168
- get range() {
169
- return this._range;
170
- }
171
- /**
172
- * @ignore
173
- */
174
- _range = false;
175
- /**
176
- * @ignore
177
- */
178
- get required() {
179
- return this._required;
180
- }
181
- /**
182
- * @ignore
183
- */
184
- set required(value) {
185
- this._required = coerceBooleanProperty(value);
186
- this.stateChanges.next();
187
- }
188
- /**
189
- * @ignore
190
- */
191
- _required = false;
192
- /**
193
- * @ignore
194
- */
195
- get disabled() {
196
- return this._disabled;
197
- }
198
- /**
199
- * @ignore
200
- */
201
- set disabled(value) {
202
- this._disabled = coerceBooleanProperty(value);
203
- this.stateChanges.next();
204
- }
205
- /**
206
- * @ignore
207
- */
208
- _disabled = false;
209
- /**
210
- * @ignore
211
- */
212
- get empty() {
213
- if (this.range) {
214
- return !this.ngControl?.value?.start && !this.ngControl?.value?.end;
215
- }
216
- else {
217
- return this.ngControl?.value?.length === 0;
218
- }
219
- }
220
- /**
221
- * @ignore
222
- */
223
- get errorState() {
224
- return !!this.ngControl?.invalid && !!this.ngControl?.touched;
225
- }
226
- /**
227
- * @ignore
228
- */
229
- get shouldLabelFloat() {
230
- return this.focused || !this.empty;
231
- }
232
- /**
233
- *
234
- * @ignore
235
- */
236
- control = null;
237
- constructor(id) {
238
- this.id = id;
239
- this.elementRef.nativeElement.setAttribute('id', this.id);
240
- if (this.ngControl != null) {
241
- this.ngControl.valueAccessor = this;
242
- }
243
- }
244
- ngOnInit() {
245
- this.control = this.ngControl?.control;
246
- }
247
- /**
248
- * @ignore
249
- */
250
- ngAfterViewInit() {
251
- if (this.initialValue) {
252
- this.writeValue(this.initialValue);
253
- }
254
- if (this.range) {
255
- this.initRangeInput();
256
- }
257
- else {
258
- this.initSingleInput();
259
- }
260
- }
261
- /**
262
- * @ignore
263
- */
264
- ngOnDestroy() {
265
- this.stateChanges.complete();
266
- }
267
- /**
268
- * @ignore
269
- */
270
- setDescribedByIds(ids) {
271
- this.elementRef.nativeElement.setAttribute('aria-describedby', ids.join(' '));
272
- }
273
- /**
274
- * @ignore
275
- */
276
- onContainerClick() {
277
- // Intentionally left empty
278
- }
279
- /**
280
- * @ignore
281
- */
282
- writeValue(value) {
283
- this.value = value;
284
- }
285
- /**
286
- * @ignore
287
- */
288
- registerOnChange(onChangeFn) {
289
- this.changeParentValue = onChangeFn;
290
- }
291
- /**
292
- * @ignore
293
- */
294
- registerOnTouched(onTouchFn) {
295
- this.markParentControlAsTouched = onTouchFn;
296
- }
297
- /**
298
- * @ignore
299
- */
300
- setDisabledState(isDisabled) {
301
- this.disabled = isDisabled;
302
- this.changeDetectionRef.detectChanges();
303
- }
304
- /**
305
- * @ignore
306
- */
307
- onFocusIn() {
308
- if (!this.focused) {
309
- this.focused = true;
310
- this.stateChanges.next();
311
- }
312
- }
313
- /**
314
- * @ignore
315
- */
316
- onFocusOut(event) {
317
- const id = this.elementRef.nativeElement.attributes.getNamedItem('aria-owns');
318
- const overlay = id ? document.getElementById(id.value) : null;
319
- const isChild = overlay?.contains(event.relatedTarget);
320
- if (!this.elementRef.nativeElement.contains(event.relatedTarget) && !isChild) {
321
- this.focused = false;
322
- this.markParentControlAsTouched();
323
- this.stateChanges.next();
324
- }
325
- }
326
- /**
327
- * @ignore
328
- */
329
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
330
- changeParentValue = (value) => {
331
- // Intentionally left empty
332
- };
333
- /**
334
- * @ignore
335
- */
336
- markParentControlAsTouched = () => {
337
- // Intentionally left empty
338
- };
339
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: WattPickerBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
340
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: WattPickerBase, isStandalone: true, inputs: { userAriaDescribedBy: ["aria-describedby", "userAriaDescribedBy"], value: "value", range: "range", required: "required", disabled: "disabled" }, host: { properties: { "attr.watt-field-disabled": "this.disabled" } }, ngImport: i0 });
341
- }
342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: WattPickerBase, decorators: [{
343
- type: Directive
344
- }], ctorParameters: () => [{ type: undefined }], propDecorators: { userAriaDescribedBy: [{
345
- type: Input,
346
- args: ['aria-describedby']
347
- }], value: [{
348
- type: Input
349
- }], range: [{
350
- type: Input
351
- }], required: [{
352
- type: Input
353
- }], disabled: [{
354
- type: HostBinding,
355
- args: ['attr.watt-field-disabled']
356
- }, {
357
- type: Input
358
- }] } });
359
-
360
- //#region License
361
- /**
362
- * @license
363
- * Copyright 2020 Energinet DataHub A/S
364
- *
365
- * Licensed under the Apache License, Version 2.0 (the "License2");
366
- * you may not use this file except in compliance with the License.
367
- * You may obtain a copy of the License at
368
- *
369
- * http://www.apache.org/licenses/LICENSE-2.0
370
- *
371
- * Unless required by applicable law or agreed to in writing, software
372
- * distributed under the License is distributed on an "AS IS" BASIS,
373
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
374
- * See the License for the specific language governing permissions and
375
- * limitations under the License.
376
- */
377
- //#endregion
378
-
379
- /**
380
- * Generated bundle index. Do not edit.
381
- */
382
-
383
- export { WattPickerBase, WattPlaceholderMaskComponent };
384
- //# sourceMappingURL=energinet-watt-picker-__shared.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"energinet-watt-picker-__shared.mjs","sources":["../../../libs/watt/package/picker/__shared/placeholder-mask/watt-placeholder-mask.component.ts","../../../libs/watt/package/picker/__shared/placeholder-mask/watt-placeholder-mask.component.html","../../../libs/watt/package/picker/__shared/watt-picker-base.ts","../../../libs/watt/package/picker/__shared/index.ts","../../../libs/watt/package/picker/__shared/energinet-watt-picker-__shared.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 {\n ChangeDetectorRef,\n Component,\n ViewEncapsulation,\n effect,\n inject,\n input,\n output,\n signal,\n untracked,\n} from '@angular/core';\nimport { Maskito, MaskitoOptions } from '@maskito/core';\n\n@Component({\n selector: 'watt-placeholder-mask',\n templateUrl: './watt-placeholder-mask.component.html',\n styleUrls: ['./watt-placeholder-mask.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class WattPlaceholderMaskComponent {\n cdr = inject(ChangeDetectorRef);\n primaryInputElement = input.required<HTMLInputElement>();\n secondaryInputElement = input<HTMLInputElement>();\n mask = input.required<MaskitoOptions>();\n placeholder = input.required<string>();\n maskApplied = output<string>();\n maskedInput = signal<Maskito | null>(null);\n primaryGhost = signal('');\n primaryFiller = signal<string | null>(null);\n\n maskEffect = effect((onCleanup) => {\n const mask = this.mask();\n const placeholder = this.placeholder();\n const primaryMask: MaskitoOptions = {\n ...mask,\n preprocessors: [\n ...(mask.preprocessors ?? []),\n (state) => {\n this.primaryGhost.set(state.elementState.value.slice(0, placeholder.length));\n this.primaryFiller.set(placeholder.slice(state.elementState.value.length));\n return state;\n },\n ],\n postprocessors: [\n (elementState) => {\n this.maskApplied.emit(elementState.value);\n return elementState;\n },\n ...(mask.postprocessors ?? []),\n ],\n };\n\n const maskedInput = new Maskito(this.primaryInputElement(), primaryMask);\n this.maskedInput.set(maskedInput);\n\n onCleanup(() => {\n maskedInput.destroy();\n this.maskedInput.set(null);\n });\n });\n\n inputEffect = effect(() => {\n const primaryInputElement = this.primaryInputElement();\n untracked(() => primaryInputElement.dispatchEvent(new InputEvent('input')));\n });\n}\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<span class=\"ghost\">{{ primaryGhost() }}</span>\n<span class=\"filler\">{{ primaryFiller() ?? placeholder() }}</span>\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 { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n DestroyRef,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n inject,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NgControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\nimport { WattDateRange } from '@energinet/watt/core/date';\nimport { WattPickerValue } from './watt-picker-value';\n\n@Directive()\nexport abstract class WattPickerBase\n implements OnInit, AfterViewInit, OnDestroy, ControlValueAccessor\n{\n protected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n protected changeDetectionRef = inject(ChangeDetectorRef);\n protected ngControl = inject(NgControl, { optional: true });\n\n /**\n * @ignore\n */\n abstract input: ElementRef;\n\n /**\n * @ignore\n */\n abstract startInput: ElementRef;\n\n /**\n * @ignore\n */\n abstract endInput: ElementRef;\n\n /**\n * @ignore\n */\n static nextId = 0;\n\n /**\n * @ignore\n */\n initialValue: WattPickerValue = null;\n\n /**\n * @ignore\n */\n focused = false;\n\n /**\n * @ignore\n */\n controlType = 'mat-date-range-input'; // We keep the controlType of Material Date Range Input as is, to keep some styling.\n\n /**\n * @ignore\n */\n stateChanges = new Subject<void>();\n\n /**\n * @ignore\n */\n protected _destroyRef = inject(DestroyRef);\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-describedby') userAriaDescribedBy?: string;\n\n /**\n * @ignore\n */\n get placeholder(): string {\n return this._placeholder;\n }\n\n /**\n * @ignore\n */\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n\n /**\n * @ignore\n */\n protected abstract _placeholder: string;\n\n /**\n * @ignore\n */\n @Input()\n get value(): WattDateRange | null {\n if (this.ngControl?.valid) {\n const {\n value: { start, end },\n } = this.ngControl;\n\n return { start, end };\n }\n\n return null;\n }\n\n /**\n * @ignore\n */\n set value(value: WattPickerValue) {\n const inputNotToBeInTheDocument = !this.range ? !this.input : !this.startInput;\n\n if (inputNotToBeInTheDocument) {\n this.initialValue = value;\n return;\n }\n\n if (this.range) {\n this.setRangeValue(\n value as WattDateRange,\n this.startInput.nativeElement,\n this.endInput.nativeElement\n );\n } else {\n this.setSingleValue(\n value as Exclude<WattPickerValue, WattDateRange>,\n this.input.nativeElement\n );\n }\n\n this.stateChanges.next();\n }\n\n @Input()\n set range(range: boolean) {\n this._range = coerceBooleanProperty(range);\n }\n get range(): boolean {\n return this._range;\n }\n\n /**\n * @ignore\n */\n private _range = false;\n\n /**\n * @ignore\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n /**\n * @ignore\n */\n set required(value: BooleanInput) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n\n /**\n * @ignore\n */\n private _required = false;\n\n /**\n * @ignore\n */\n @HostBinding('attr.watt-field-disabled')\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n /**\n * @ignore\n */\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n\n /**\n * @ignore\n */\n private _disabled = false;\n\n /**\n * @ignore\n */\n get empty() {\n if (this.range) {\n return !this.ngControl?.value?.start && !this.ngControl?.value?.end;\n } else {\n return this.ngControl?.value?.length === 0;\n }\n }\n\n /**\n * @ignore\n */\n get errorState(): boolean {\n return !!this.ngControl?.invalid && !!this.ngControl?.touched;\n }\n\n /**\n * @ignore\n */\n get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n\n /**\n *\n * @ignore\n */\n control: FormControl | null = null;\n\n constructor(public id: string) {\n this.elementRef.nativeElement.setAttribute('id', this.id);\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.control = this.ngControl?.control as FormControl;\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n if (this.initialValue) {\n this.writeValue(this.initialValue);\n }\n\n if (this.range) {\n this.initRangeInput();\n } else {\n this.initSingleInput();\n }\n }\n\n /**\n * @ignore\n */\n ngOnDestroy(): void {\n this.stateChanges.complete();\n }\n\n /**\n * @ignore\n */\n protected abstract initRangeInput(): void;\n\n /**\n * @ignore\n */\n protected abstract initSingleInput(): void;\n\n /**\n * @ignore\n */\n protected abstract setSingleValue(\n value: Exclude<WattPickerValue, WattDateRange>,\n input: HTMLInputElement\n ): void;\n\n /**\n * @ignore\n */\n protected abstract setRangeValue(\n value: WattDateRange,\n startInput: HTMLInputElement,\n endInput: HTMLInputElement\n ): void;\n\n /**\n * @ignore\n */\n setDescribedByIds(ids: string[]) {\n this.elementRef.nativeElement.setAttribute('aria-describedby', ids.join(' '));\n }\n\n /**\n * @ignore\n */\n onContainerClick() {\n // Intentionally left empty\n }\n\n /**\n * @ignore\n */\n writeValue(value: WattPickerValue): void {\n this.value = value;\n }\n\n /**\n * @ignore\n */\n registerOnChange(onChangeFn: (value: string | WattDateRange) => void): void {\n this.changeParentValue = onChangeFn;\n }\n\n /**\n * @ignore\n */\n registerOnTouched(onTouchFn: () => void) {\n this.markParentControlAsTouched = onTouchFn;\n }\n\n /**\n * @ignore\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.changeDetectionRef.detectChanges();\n }\n\n /**\n * @ignore\n */\n onFocusIn() {\n if (!this.focused) {\n this.focused = true;\n this.stateChanges.next();\n }\n }\n\n /**\n * @ignore\n */\n onFocusOut(event: FocusEvent) {\n const id = this.elementRef.nativeElement.attributes.getNamedItem('aria-owns');\n const overlay = id ? document.getElementById(id.value) : null;\n const isChild = overlay?.contains(event.relatedTarget as Element);\n\n if (!this.elementRef.nativeElement.contains(event.relatedTarget as Element) && !isChild) {\n this.focused = false;\n this.markParentControlAsTouched();\n this.stateChanges.next();\n }\n }\n\n /**\n * @ignore\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected changeParentValue = (value: string | WattDateRange): void => {\n // Intentionally left empty\n };\n\n /**\n * @ignore\n */\n protected markParentControlAsTouched = (): void => {\n // Intentionally left empty\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\nexport { WattPlaceholderMaskComponent } from './placeholder-mask/watt-placeholder-mask.component';\nexport { WattPickerBase } from './watt-picker-base';\nexport { WattPickerValue } from './watt-picker-value';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}