@energinet/watt 4.2.3 → 4.2.5
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.
- package/esm2022/badge/energinet-watt-badge.js +1 -1
- package/esm2022/badge/energinet-watt-badge.js.map +1 -0
- package/esm2022/badge/index.js +1 -1
- package/esm2022/badge/index.js.map +1 -0
- package/esm2022/badge/watt-badge.component.js +4 -4
- package/esm2022/badge/watt-badge.component.js.map +1 -0
- package/esm2022/breadcrumbs/energinet-watt-breadcrumbs.js +1 -1
- package/esm2022/breadcrumbs/energinet-watt-breadcrumbs.js.map +1 -0
- package/esm2022/breadcrumbs/index.js +1 -1
- package/esm2022/breadcrumbs/index.js.map +1 -0
- package/esm2022/breadcrumbs/watt-breadcrumbs.component.js +7 -7
- package/esm2022/breadcrumbs/watt-breadcrumbs.component.js.map +1 -0
- package/esm2022/button/energinet-watt-button.js +1 -1
- package/esm2022/button/energinet-watt-button.js.map +1 -0
- package/esm2022/button/index.js +1 -1
- package/esm2022/button/index.js.map +1 -0
- package/esm2022/button/watt-button.component.js +4 -4
- package/esm2022/button/watt-button.component.js.map +1 -0
- package/esm2022/card/energinet-watt-card.js +1 -1
- package/esm2022/card/energinet-watt-card.js.map +1 -0
- package/esm2022/card/index.js +1 -1
- package/esm2022/card/index.js.map +1 -0
- package/esm2022/card/watt-card-title.component.js +4 -4
- package/esm2022/card/watt-card-title.component.js.map +1 -0
- package/esm2022/card/watt-card.component.js +4 -4
- package/esm2022/card/watt-card.component.js.map +1 -0
- package/esm2022/checkbox/energinet-watt-checkbox.js +1 -1
- package/esm2022/checkbox/energinet-watt-checkbox.js.map +1 -0
- package/esm2022/checkbox/index.js +1 -1
- package/esm2022/checkbox/index.js.map +1 -0
- package/esm2022/checkbox/watt-checkbox.component.js +4 -4
- package/esm2022/checkbox/watt-checkbox.component.js.map +1 -0
- package/esm2022/chip/energinet-watt-chip.js +1 -1
- package/esm2022/chip/energinet-watt-chip.js.map +1 -0
- package/esm2022/chip/index.js +1 -1
- package/esm2022/chip/index.js.map +1 -0
- package/esm2022/chip/watt-action-chip.component.js +4 -4
- package/esm2022/chip/watt-action-chip.component.js.map +1 -0
- package/esm2022/chip/watt-chip.component.js +4 -4
- package/esm2022/chip/watt-chip.component.js.map +1 -0
- package/esm2022/chip/watt-chip.directive.js +4 -4
- package/esm2022/chip/watt-chip.directive.js.map +1 -0
- package/esm2022/chip/watt-date-chip.component.js +4 -4
- package/esm2022/chip/watt-date-chip.component.js.map +1 -0
- package/esm2022/chip/watt-date-range-chip.component.js +7 -7
- package/esm2022/chip/watt-date-range-chip.component.js.map +1 -0
- package/esm2022/chip/watt-filter-chip.component.js +4 -4
- package/esm2022/chip/watt-filter-chip.component.js.map +1 -0
- package/esm2022/chip/watt-menu-chip.component.js +4 -4
- package/esm2022/chip/watt-menu-chip.component.js.map +1 -0
- package/esm2022/clipboard/energinet-watt-clipboard.js +1 -1
- package/esm2022/clipboard/energinet-watt-clipboard.js.map +1 -0
- package/esm2022/clipboard/index.js +1 -1
- package/esm2022/clipboard/index.js.map +1 -0
- package/esm2022/clipboard/watt-clipboard-intl.service.js +4 -4
- package/esm2022/clipboard/watt-clipboard-intl.service.js.map +1 -0
- package/esm2022/clipboard/watt-copy-to-clipboard.directive.js +4 -4
- package/esm2022/clipboard/watt-copy-to-clipboard.directive.js.map +1 -0
- package/esm2022/code/energinet-watt-code.js +1 -1
- package/esm2022/code/energinet-watt-code.js.map +1 -0
- package/esm2022/code/index.js +1 -1
- package/esm2022/code/index.js.map +1 -0
- package/esm2022/code/watt-code-intl.service.js +4 -4
- package/esm2022/code/watt-code-intl.service.js.map +1 -0
- package/esm2022/code/watt-code.component.js +4 -4
- package/esm2022/code/watt-code.component.js.map +1 -0
- package/esm2022/code/watt-code.worker.token.js +1 -1
- package/esm2022/code/watt-code.worker.token.js.map +1 -0
- package/esm2022/core/breakpoints/breakpoints-observer.js +4 -4
- package/esm2022/core/breakpoints/breakpoints-observer.js.map +1 -0
- package/esm2022/core/breakpoints/breakpoints.js +1 -1
- package/esm2022/core/breakpoints/breakpoints.js.map +1 -0
- package/esm2022/core/breakpoints/energinet-watt-core-breakpoints.js +1 -1
- package/esm2022/core/breakpoints/energinet-watt-core-breakpoints.js.map +1 -0
- package/esm2022/core/breakpoints/index.js +1 -1
- package/esm2022/core/breakpoints/index.js.map +1 -0
- package/esm2022/core/color/color-helper.service.js +4 -4
- package/esm2022/core/color/color-helper.service.js.map +1 -0
- package/esm2022/core/color/colors.js +1 -1
- package/esm2022/core/color/colors.js.map +1 -0
- package/esm2022/core/color/energinet-watt-core-color.js +1 -1
- package/esm2022/core/color/energinet-watt-core-color.js.map +1 -0
- package/esm2022/core/color/index.js +1 -1
- package/esm2022/core/color/index.js.map +1 -0
- package/esm2022/core/date/dayjs.js +1 -1
- package/esm2022/core/date/dayjs.js.map +1 -0
- package/esm2022/core/date/energinet-watt-core-date.js +1 -1
- package/esm2022/core/date/energinet-watt-core-date.js.map +1 -0
- package/esm2022/core/date/index.js +1 -1
- package/esm2022/core/date/index.js.map +1 -0
- package/esm2022/core/date/watt-danish-datetime.providers.js +1 -1
- package/esm2022/core/date/watt-danish-datetime.providers.js.map +1 -0
- package/esm2022/core/date/watt-date-adapter.js +1 -1
- package/esm2022/core/date/watt-date-adapter.js.map +1 -0
- package/esm2022/core/date/watt-date-range.js +1 -1
- package/esm2022/core/date/watt-date-range.js.map +1 -0
- package/esm2022/core/date/watt-date.pipe.js +4 -4
- package/esm2022/core/date/watt-date.pipe.js.map +1 -0
- package/esm2022/core/date/watt-format-date.js +1 -1
- package/esm2022/core/date/watt-format-date.js.map +1 -0
- package/esm2022/core/date/watt-locale.service.js +4 -4
- package/esm2022/core/date/watt-locale.service.js.map +1 -0
- package/esm2022/data/energinet-watt-data.js +1 -1
- package/esm2022/data/energinet-watt-data.js.map +1 -0
- package/esm2022/data/index.js +1 -1
- package/esm2022/data/index.js.map +1 -0
- package/esm2022/data/watt-data-actions.component.js +4 -4
- package/esm2022/data/watt-data-actions.component.js.map +1 -0
- package/esm2022/data/watt-data-filters.component.js +4 -4
- package/esm2022/data/watt-data-filters.component.js.map +1 -0
- package/esm2022/data/watt-data-intl.service.js +4 -4
- package/esm2022/data/watt-data-intl.service.js.map +1 -0
- package/esm2022/data/watt-data-table.component.js +4 -4
- package/esm2022/data/watt-data-table.component.js.map +1 -0
- package/esm2022/datetime-field/energinet-watt-datetime-field.js +1 -1
- package/esm2022/datetime-field/energinet-watt-datetime-field.js.map +1 -0
- package/esm2022/datetime-field/index.js +1 -1
- package/esm2022/datetime-field/index.js.map +1 -0
- package/esm2022/datetime-field/watt-datetime-field.component.js +4 -4
- package/esm2022/datetime-field/watt-datetime-field.component.js.map +1 -0
- package/esm2022/description-list/energinet-watt-description-list.js +1 -1
- package/esm2022/description-list/energinet-watt-description-list.js.map +1 -0
- package/esm2022/description-list/index.js +1 -1
- package/esm2022/description-list/index.js.map +1 -0
- package/esm2022/description-list/watt-description-list-item.component.js +4 -4
- package/esm2022/description-list/watt-description-list-item.component.js.map +1 -0
- package/esm2022/description-list/watt-description-list.component.js +4 -4
- package/esm2022/description-list/watt-description-list.component.js.map +1 -0
- package/esm2022/drawer/energinet-watt-drawer.js +1 -1
- package/esm2022/drawer/energinet-watt-drawer.js.map +1 -0
- package/esm2022/drawer/index.js +1 -1
- package/esm2022/drawer/index.js.map +1 -0
- package/esm2022/drawer/watt-drawer-actions.component.js +4 -4
- package/esm2022/drawer/watt-drawer-actions.component.js.map +1 -0
- package/esm2022/drawer/watt-drawer-content.component.js +4 -4
- package/esm2022/drawer/watt-drawer-content.component.js.map +1 -0
- package/esm2022/drawer/watt-drawer-heading.component.js +4 -4
- package/esm2022/drawer/watt-drawer-heading.component.js.map +1 -0
- package/esm2022/drawer/watt-drawer-topbar.component.js +4 -4
- package/esm2022/drawer/watt-drawer-topbar.component.js.map +1 -0
- package/esm2022/drawer/watt-drawer.component.js +4 -4
- package/esm2022/drawer/watt-drawer.component.js.map +1 -0
- package/esm2022/dropdown/energinet-watt-dropdown.js +1 -1
- package/esm2022/dropdown/energinet-watt-dropdown.js.map +1 -0
- package/esm2022/dropdown/index.js +1 -1
- package/esm2022/dropdown/index.js.map +1 -0
- package/esm2022/dropdown/watt-dropdown-option.js +1 -1
- package/esm2022/dropdown/watt-dropdown-option.js.map +1 -0
- package/esm2022/dropdown/watt-dropdown-value.js +1 -1
- package/esm2022/dropdown/watt-dropdown-value.js.map +1 -0
- package/esm2022/dropdown/watt-dropdown.component.js +4 -4
- package/esm2022/dropdown/watt-dropdown.component.js.map +1 -0
- package/esm2022/dropzone/energinet-watt-dropzone.js +1 -1
- package/esm2022/dropzone/energinet-watt-dropzone.js.map +1 -0
- package/esm2022/dropzone/index.js +1 -1
- package/esm2022/dropzone/index.js.map +1 -0
- package/esm2022/dropzone/watt-dropzone-intl.js +4 -4
- package/esm2022/dropzone/watt-dropzone-intl.js.map +1 -0
- package/esm2022/dropzone/watt-dropzone-validators.js +7 -7
- package/esm2022/dropzone/watt-dropzone-validators.js.map +1 -0
- package/esm2022/dropzone/watt-dropzone.js +4 -4
- package/esm2022/dropzone/watt-dropzone.js.map +1 -0
- package/esm2022/empty-state/energinet-watt-empty-state.js +1 -1
- package/esm2022/empty-state/energinet-watt-empty-state.js.map +1 -0
- package/esm2022/empty-state/icons/explore.js +4 -4
- package/esm2022/empty-state/icons/explore.js.map +1 -0
- package/esm2022/empty-state/icons/no-results.js +4 -4
- package/esm2022/empty-state/icons/no-results.js.map +1 -0
- package/esm2022/empty-state/icons/not-found.js +4 -4
- package/esm2022/empty-state/icons/not-found.js.map +1 -0
- package/esm2022/empty-state/icons/power.js +4 -4
- package/esm2022/empty-state/icons/power.js.map +1 -0
- package/esm2022/empty-state/index.js +1 -1
- package/esm2022/empty-state/index.js.map +1 -0
- package/esm2022/empty-state/watt-empty-state.component.js +4 -4
- package/esm2022/empty-state/watt-empty-state.component.js.map +1 -0
- package/esm2022/energinet-watt.js +1 -1
- package/esm2022/energinet-watt.js.map +1 -0
- package/esm2022/expandable-card/energinet-watt-expandable-card.js +1 -1
- package/esm2022/expandable-card/energinet-watt-expandable-card.js.map +1 -0
- package/esm2022/expandable-card/index.js +1 -1
- package/esm2022/expandable-card/index.js.map +1 -0
- package/esm2022/expandable-card/watt-expandable-card.component.js +10 -10
- package/esm2022/expandable-card/watt-expandable-card.component.js.map +1 -0
- package/esm2022/field/energinet-watt-field.js +1 -1
- package/esm2022/field/energinet-watt-field.js.map +1 -0
- package/esm2022/field/index.js +1 -1
- package/esm2022/field/index.js.map +1 -0
- package/esm2022/field/watt-field-error.component.js +4 -4
- package/esm2022/field/watt-field-error.component.js.map +1 -0
- package/esm2022/field/watt-field-hint.component.js +4 -4
- package/esm2022/field/watt-field-hint.component.js.map +1 -0
- package/esm2022/field/watt-field-intl.service.js +4 -4
- package/esm2022/field/watt-field-intl.service.js.map +1 -0
- package/esm2022/field/watt-field-warning.component.js +4 -4
- package/esm2022/field/watt-field-warning.component.js.map +1 -0
- package/esm2022/field/watt-field.component.js +4 -4
- package/esm2022/field/watt-field.component.js.map +1 -0
- package/esm2022/file-field/energinet-watt-file-field.js +1 -1
- package/esm2022/file-field/energinet-watt-file-field.js.map +1 -0
- package/esm2022/file-field/index.js +1 -1
- package/esm2022/file-field/index.js.map +1 -0
- package/esm2022/file-field/watt-file-field.component.js +4 -4
- package/esm2022/file-field/watt-file-field.component.js.map +1 -0
- package/esm2022/icon/energinet-watt-icon.js +1 -1
- package/esm2022/icon/energinet-watt-icon.js.map +1 -0
- package/esm2022/icon/flags/energinet-watt-icon-flags.js +1 -1
- package/esm2022/icon/flags/energinet-watt-icon-flags.js.map +1 -0
- package/esm2022/icon/flags/index.js +1 -1
- package/esm2022/icon/flags/index.js.map +1 -0
- package/esm2022/icon/flags/watt-flag-ch.js +4 -4
- package/esm2022/icon/flags/watt-flag-ch.js.map +1 -0
- package/esm2022/icon/flags/watt-flag-de.js +4 -4
- package/esm2022/icon/flags/watt-flag-de.js.map +1 -0
- package/esm2022/icon/flags/watt-flag-dk.js +4 -4
- package/esm2022/icon/flags/watt-flag-dk.js.map +1 -0
- package/esm2022/icon/flags/watt-flag-fi.js +4 -4
- package/esm2022/icon/flags/watt-flag-fi.js.map +1 -0
- package/esm2022/icon/flags/watt-flag-gb.js +4 -4
- package/esm2022/icon/flags/watt-flag-gb.js.map +1 -0
- package/esm2022/icon/flags/watt-flag-nl.js +4 -4
- package/esm2022/icon/flags/watt-flag-nl.js.map +1 -0
- package/esm2022/icon/flags/watt-flag-no.js +4 -4
- package/esm2022/icon/flags/watt-flag-no.js.map +1 -0
- package/esm2022/icon/flags/watt-flag-pl.js +4 -4
- package/esm2022/icon/flags/watt-flag-pl.js.map +1 -0
- package/esm2022/icon/flags/watt-flag-se.js +4 -4
- package/esm2022/icon/flags/watt-flag-se.js.map +1 -0
- package/esm2022/icon/flags/watt-flag.js +4 -4
- package/esm2022/icon/flags/watt-flag.js.map +1 -0
- package/esm2022/icon/icon.component.js +4 -4
- package/esm2022/icon/icon.component.js.map +1 -0
- package/esm2022/icon/icons.js +1 -1
- package/esm2022/icon/icons.js.map +1 -0
- package/esm2022/icon/index.js +1 -1
- package/esm2022/icon/index.js.map +1 -0
- package/esm2022/index.js +1 -1
- package/esm2022/index.js.map +1 -0
- package/esm2022/menu/energinet-watt-menu.js +1 -1
- package/esm2022/menu/energinet-watt-menu.js.map +1 -0
- package/esm2022/menu/index.js +1 -1
- package/esm2022/menu/index.js.map +1 -0
- package/esm2022/menu/watt-menu-group.component.js +4 -4
- package/esm2022/menu/watt-menu-group.component.js.map +1 -0
- package/esm2022/menu/watt-menu-item.component.js +4 -4
- package/esm2022/menu/watt-menu-item.component.js.map +1 -0
- package/esm2022/menu/watt-menu-trigger.directive.js +4 -4
- package/esm2022/menu/watt-menu-trigger.directive.js.map +1 -0
- package/esm2022/menu/watt-menu.component.js +4 -4
- package/esm2022/menu/watt-menu.component.js.map +1 -0
- package/esm2022/modal/energinet-watt-modal.js +1 -1
- package/esm2022/modal/energinet-watt-modal.js.map +1 -0
- package/esm2022/modal/index.js +1 -1
- package/esm2022/modal/index.js.map +1 -0
- package/esm2022/modal/watt-modal.component.js +7 -7
- package/esm2022/modal/watt-modal.component.js.map +1 -0
- package/esm2022/modal/watt-modal.service.js +4 -4
- package/esm2022/modal/watt-modal.service.js.map +1 -0
- package/esm2022/paginator/energinet-watt-paginator.js +1 -1
- package/esm2022/paginator/energinet-watt-paginator.js.map +1 -0
- package/esm2022/paginator/index.js +1 -1
- package/esm2022/paginator/index.js.map +1 -0
- package/esm2022/paginator/watt-paginator-intl.service.js +4 -4
- package/esm2022/paginator/watt-paginator-intl.service.js.map +1 -0
- package/esm2022/paginator/watt-paginator.component.js +4 -4
- package/esm2022/paginator/watt-paginator.component.js.map +1 -0
- package/esm2022/phone-field/energinet-watt-phone-field.js +1 -1
- package/esm2022/phone-field/energinet-watt-phone-field.js.map +1 -0
- package/esm2022/phone-field/index.js +1 -1
- package/esm2022/phone-field/index.js.map +1 -0
- package/esm2022/phone-field/watt-phone-field-intl.service.js +4 -4
- package/esm2022/phone-field/watt-phone-field-intl.service.js.map +1 -0
- package/esm2022/phone-field/watt-phone-field.component.js +4 -4
- package/esm2022/phone-field/watt-phone-field.component.js.map +1 -0
- package/esm2022/picker/__shared/energinet-watt-picker-__shared.js +1 -1
- package/esm2022/picker/__shared/energinet-watt-picker-__shared.js.map +1 -0
- package/esm2022/picker/__shared/index.js +1 -1
- package/esm2022/picker/__shared/index.js.map +1 -0
- package/esm2022/picker/__shared/placeholder-mask/watt-placeholder-mask.component.js +4 -4
- package/esm2022/picker/__shared/placeholder-mask/watt-placeholder-mask.component.js.map +1 -0
- package/esm2022/picker/__shared/watt-picker-base.js +4 -4
- package/esm2022/picker/__shared/watt-picker-base.js.map +1 -0
- package/esm2022/picker/__shared/watt-picker-value.js +1 -1
- package/esm2022/picker/__shared/watt-picker-value.js.map +1 -0
- package/esm2022/picker/datepicker/energinet-watt-picker-datepicker.js +1 -1
- package/esm2022/picker/datepicker/energinet-watt-picker-datepicker.js.map +1 -0
- package/esm2022/picker/datepicker/index.js +1 -1
- package/esm2022/picker/datepicker/index.js.map +1 -0
- package/esm2022/picker/datepicker/watt-datepicker-intl.service.js +4 -4
- package/esm2022/picker/datepicker/watt-datepicker-intl.service.js.map +1 -0
- package/esm2022/picker/datepicker/watt-datepicker.component.js +4 -4
- package/esm2022/picker/datepicker/watt-datepicker.component.js.map +1 -0
- package/esm2022/picker/timepicker/energinet-watt-picker-timepicker.js +1 -1
- package/esm2022/picker/timepicker/energinet-watt-picker-timepicker.js.map +1 -0
- package/esm2022/picker/timepicker/index.js +1 -1
- package/esm2022/picker/timepicker/index.js.map +1 -0
- package/esm2022/picker/timepicker/maskito-time-range-mask.js +1 -1
- package/esm2022/picker/timepicker/maskito-time-range-mask.js.map +1 -0
- package/esm2022/picker/timepicker/watt-timepicker.component.js +4 -4
- package/esm2022/picker/timepicker/watt-timepicker.component.js.map +1 -0
- package/esm2022/progress-tracker/energinet-watt-progress-tracker.js +1 -1
- package/esm2022/progress-tracker/energinet-watt-progress-tracker.js.map +1 -0
- package/esm2022/progress-tracker/index.js +1 -1
- package/esm2022/progress-tracker/index.js.map +1 -0
- package/esm2022/progress-tracker/watt-progress-tracker-step.component.js +4 -4
- package/esm2022/progress-tracker/watt-progress-tracker-step.component.js.map +1 -0
- package/esm2022/progress-tracker/watt-progress-tracker.component.js +4 -4
- package/esm2022/progress-tracker/watt-progress-tracker.component.js.map +1 -0
- package/esm2022/query-params/energinet-watt-query-params.js +1 -1
- package/esm2022/query-params/energinet-watt-query-params.js.map +1 -0
- package/esm2022/query-params/index.js +1 -1
- package/esm2022/query-params/index.js.map +1 -0
- package/esm2022/query-params/watt-query-params.directive.js +4 -4
- package/esm2022/query-params/watt-query-params.directive.js.map +1 -0
- package/esm2022/radio/energinet-watt-radio.js +1 -1
- package/esm2022/radio/energinet-watt-radio.js.map +1 -0
- package/esm2022/radio/index.js +1 -1
- package/esm2022/radio/index.js.map +1 -0
- package/esm2022/radio/watt-radio-group.component.js +4 -4
- package/esm2022/radio/watt-radio-group.component.js.map +1 -0
- package/esm2022/radio/watt-radio.component.js +4 -4
- package/esm2022/radio/watt-radio.component.js.map +1 -0
- package/esm2022/search/energinet-watt-search.js +1 -1
- package/esm2022/search/energinet-watt-search.js.map +1 -0
- package/esm2022/search/index.js +1 -1
- package/esm2022/search/index.js.map +1 -0
- package/esm2022/search/watt-search.component.js +4 -4
- package/esm2022/search/watt-search.component.js.map +1 -0
- package/esm2022/segmented-buttons/energinet-watt-segmented-buttons.js +1 -1
- package/esm2022/segmented-buttons/energinet-watt-segmented-buttons.js.map +1 -0
- package/esm2022/segmented-buttons/index.js +1 -1
- package/esm2022/segmented-buttons/index.js.map +1 -0
- package/esm2022/segmented-buttons/watt-segmented-button.component.js +4 -4
- package/esm2022/segmented-buttons/watt-segmented-button.component.js.map +1 -0
- package/esm2022/segmented-buttons/watt-segmented-buttons.component.js +4 -4
- package/esm2022/segmented-buttons/watt-segmented-buttons.component.js.map +1 -0
- package/esm2022/shell/energinet-watt-shell.js +1 -1
- package/esm2022/shell/energinet-watt-shell.js.map +1 -0
- package/esm2022/shell/index.js +1 -1
- package/esm2022/shell/index.js.map +1 -0
- package/esm2022/shell/nav-list/index.js +1 -1
- package/esm2022/shell/nav-list/index.js.map +1 -0
- package/esm2022/shell/nav-list/watt-expand-on-active-link.directive.js +4 -4
- package/esm2022/shell/nav-list/watt-expand-on-active-link.directive.js.map +1 -0
- package/esm2022/shell/nav-list/watt-nav-list-item.component.js +4 -4
- package/esm2022/shell/nav-list/watt-nav-list-item.component.js.map +1 -0
- package/esm2022/shell/nav-list/watt-nav-list.component.js +4 -4
- package/esm2022/shell/nav-list/watt-nav-list.component.js.map +1 -0
- package/esm2022/shell/shell.component.js +4 -4
- package/esm2022/shell/shell.component.js.map +1 -0
- package/esm2022/slide-toggle/energinet-watt-slide-toggle.js +1 -1
- package/esm2022/slide-toggle/energinet-watt-slide-toggle.js.map +1 -0
- package/esm2022/slide-toggle/index.js +1 -1
- package/esm2022/slide-toggle/index.js.map +1 -0
- package/esm2022/slide-toggle/watt-slide-toggle.component.js +4 -4
- package/esm2022/slide-toggle/watt-slide-toggle.component.js.map +1 -0
- package/esm2022/slider/energinet-watt-slider.js +1 -1
- package/esm2022/slider/energinet-watt-slider.js.map +1 -0
- package/esm2022/slider/index.js +1 -1
- package/esm2022/slider/index.js.map +1 -0
- package/esm2022/slider/watt-slider.component.js +4 -4
- package/esm2022/slider/watt-slider.component.js.map +1 -0
- package/esm2022/spinner/energinet-watt-spinner.js +1 -1
- package/esm2022/spinner/energinet-watt-spinner.js.map +1 -0
- package/esm2022/spinner/index.js +1 -1
- package/esm2022/spinner/index.js.map +1 -0
- package/esm2022/spinner/watt-spinner.component.js +4 -4
- package/esm2022/spinner/watt-spinner.component.js.map +1 -0
- package/esm2022/stepper/energinet-watt-stepper.js +1 -1
- package/esm2022/stepper/energinet-watt-stepper.js.map +1 -0
- package/esm2022/stepper/index.js +1 -1
- package/esm2022/stepper/index.js.map +1 -0
- package/esm2022/stepper/watt-stepper-step.component.js +4 -4
- package/esm2022/stepper/watt-stepper-step.component.js.map +1 -0
- package/esm2022/stepper/watt-stepper.component.js +4 -4
- package/esm2022/stepper/watt-stepper.component.js.map +1 -0
- package/esm2022/table/energinet-watt-table.js +1 -1
- package/esm2022/table/energinet-watt-table.js.map +1 -0
- package/esm2022/table/index.js +1 -1
- package/esm2022/table/index.js.map +1 -0
- package/esm2022/table/watt-table-data-source.js +1 -1
- package/esm2022/table/watt-table-data-source.js.map +1 -0
- package/esm2022/table/watt-table-expand-animation.js +1 -1
- package/esm2022/table/watt-table-expand-animation.js.map +1 -0
- package/esm2022/table/watt-table.component.js +10 -10
- package/esm2022/table/watt-table.component.js.map +1 -0
- package/esm2022/tabs/energinet-watt-tabs.js +1 -1
- package/esm2022/tabs/energinet-watt-tabs.js.map +1 -0
- package/esm2022/tabs/index.js +1 -1
- package/esm2022/tabs/index.js.map +1 -0
- package/esm2022/tabs/watt-link-tab.component.js +4 -4
- package/esm2022/tabs/watt-link-tab.component.js.map +1 -0
- package/esm2022/tabs/watt-link-tabs.component.js +4 -4
- package/esm2022/tabs/watt-link-tabs.component.js.map +1 -0
- package/esm2022/tabs/watt-tab.component.js +4 -4
- package/esm2022/tabs/watt-tab.component.js.map +1 -0
- package/esm2022/tabs/watt-tabs-action.component.js +4 -4
- package/esm2022/tabs/watt-tabs-action.component.js.map +1 -0
- package/esm2022/tabs/watt-tabs.component.js +4 -4
- package/esm2022/tabs/watt-tabs.component.js.map +1 -0
- package/esm2022/text-field/energinet-watt-text-field.js +1 -1
- package/esm2022/text-field/energinet-watt-text-field.js.map +1 -0
- package/esm2022/text-field/index.js +1 -1
- package/esm2022/text-field/index.js.map +1 -0
- package/esm2022/text-field/watt-text-field.component.js +4 -4
- package/esm2022/text-field/watt-text-field.component.js.map +1 -0
- package/esm2022/textarea-field/energinet-watt-textarea-field.js +1 -1
- package/esm2022/textarea-field/energinet-watt-textarea-field.js.map +1 -0
- package/esm2022/textarea-field/index.js +1 -1
- package/esm2022/textarea-field/index.js.map +1 -0
- package/esm2022/textarea-field/watt-textarea-field.component.js +4 -4
- package/esm2022/textarea-field/watt-textarea-field.component.js.map +1 -0
- package/esm2022/toast/energinet-watt-toast.js +1 -1
- package/esm2022/toast/energinet-watt-toast.js.map +1 -0
- package/esm2022/toast/index.js +1 -1
- package/esm2022/toast/index.js.map +1 -0
- package/esm2022/toast/watt-toast.component.js +4 -4
- package/esm2022/toast/watt-toast.component.js.map +1 -0
- package/esm2022/toast/watt-toast.service.js +4 -4
- package/esm2022/toast/watt-toast.service.js.map +1 -0
- package/esm2022/tooltip/energinet-watt-tooltip.js +1 -1
- package/esm2022/tooltip/energinet-watt-tooltip.js.map +1 -0
- package/esm2022/tooltip/index.js +1 -1
- package/esm2022/tooltip/index.js.map +1 -0
- package/esm2022/tooltip/watt-tooltip.component.js +4 -4
- package/esm2022/tooltip/watt-tooltip.component.js.map +1 -0
- package/esm2022/tooltip/watt-tooltip.directive.js +4 -4
- package/esm2022/tooltip/watt-tooltip.directive.js.map +1 -0
- package/esm2022/utils/css/css-custom-properties.service.js +4 -4
- package/esm2022/utils/css/css-custom-properties.service.js.map +1 -0
- package/esm2022/utils/css/energinet-watt-utils-css.js +1 -1
- package/esm2022/utils/css/energinet-watt-utils-css.js.map +1 -0
- package/esm2022/utils/css/index.js +1 -1
- package/esm2022/utils/css/index.js.map +1 -0
- package/esm2022/utils/intersection-observer/energinet-watt-utils-intersection-observer.js +1 -1
- package/esm2022/utils/intersection-observer/energinet-watt-utils-intersection-observer.js.map +1 -0
- package/esm2022/utils/intersection-observer/index.js +1 -1
- package/esm2022/utils/intersection-observer/index.js.map +1 -0
- package/esm2022/utils/intersection-observer/watt-intersection-observer.service.js +4 -4
- package/esm2022/utils/intersection-observer/watt-intersection-observer.service.js.map +1 -0
- package/esm2022/utils/resize-observer/energinet-watt-utils-resize-observer.js +1 -1
- package/esm2022/utils/resize-observer/energinet-watt-utils-resize-observer.js.map +1 -0
- package/esm2022/utils/resize-observer/index.js +1 -1
- package/esm2022/utils/resize-observer/index.js.map +1 -0
- package/esm2022/utils/resize-observer/watt-resize-observer.directive.js +4 -4
- package/esm2022/utils/resize-observer/watt-resize-observer.directive.js.map +1 -0
- package/esm2022/utils/resize-observer/watt-resize-observer.service.js +4 -4
- package/esm2022/utils/resize-observer/watt-resize-observer.service.js.map +1 -0
- package/esm2022/validation-message/energinet-watt-validation-message.js +1 -1
- package/esm2022/validation-message/energinet-watt-validation-message.js.map +1 -0
- package/esm2022/validation-message/index.js +1 -1
- package/esm2022/validation-message/index.js.map +1 -0
- package/esm2022/validation-message/watt-validation-message.component.js +4 -4
- package/esm2022/validation-message/watt-validation-message.component.js.map +1 -0
- package/esm2022/validators/energinet-watt-validators.js +1 -1
- package/esm2022/validators/energinet-watt-validators.js.map +1 -0
- package/esm2022/validators/index.js +1 -1
- package/esm2022/validators/index.js.map +1 -0
- package/esm2022/validators/watt-range.validators.js +1 -1
- package/esm2022/validators/watt-range.validators.js.map +1 -0
- package/esm2022/vater/energinet-watt-vater.js +1 -1
- package/esm2022/vater/energinet-watt-vater.js.map +1 -0
- package/esm2022/vater/index.js +1 -1
- package/esm2022/vater/index.js.map +1 -0
- package/esm2022/vater/types.js +1 -1
- package/esm2022/vater/types.js.map +1 -0
- package/esm2022/vater/vater-flex.component.js +4 -4
- package/esm2022/vater/vater-flex.component.js.map +1 -0
- package/esm2022/vater/vater-layout.directive.js +4 -4
- package/esm2022/vater/vater-layout.directive.js.map +1 -0
- package/esm2022/vater/vater-spacer.component.js +4 -4
- package/esm2022/vater/vater-spacer.component.js.map +1 -0
- package/esm2022/vater/vater-stack.component.js +4 -4
- package/esm2022/vater/vater-stack.component.js.map +1 -0
- package/esm2022/vater/vater-utility.directive.js +4 -4
- package/esm2022/vater/vater-utility.directive.js.map +1 -0
- package/esm2022/year-field/energinet-watt-year-field.js +1 -1
- package/esm2022/year-field/energinet-watt-year-field.js.map +1 -0
- package/esm2022/year-field/index.js +1 -1
- package/esm2022/year-field/index.js.map +1 -0
- package/esm2022/year-field/watt-year-field.component.js +4 -4
- package/esm2022/year-field/watt-year-field.component.js.map +1 -0
- package/esm2022/yearmonth-field/energinet-watt-yearmonth-field.js +1 -1
- package/esm2022/yearmonth-field/energinet-watt-yearmonth-field.js.map +1 -0
- package/esm2022/yearmonth-field/index.js +1 -1
- package/esm2022/yearmonth-field/index.js.map +1 -0
- package/esm2022/yearmonth-field/watt-yearmonth-field.component.js +4 -4
- package/esm2022/yearmonth-field/watt-yearmonth-field.component.js.map +1 -0
- package/esm2022/yearmonth-field/year-month.js +1 -1
- package/esm2022/yearmonth-field/year-month.js.map +1 -0
- package/package.json +117 -117
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"energinet-watt-modal.js","sourceRoot":"","sources":["../../../../libs/watt/package/modal/energinet-watt-modal.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
package/esm2022/modal/index.js
CHANGED
|
@@ -18,4 +18,4 @@
|
|
|
18
18
|
//#endregion
|
|
19
19
|
export { WattModalComponent, WattModalActionsComponent, WATT_MODAL } from './watt-modal.component';
|
|
20
20
|
export { WattModalService, WattTypedModal } from './watt-modal.service';
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/watt/package/modal/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB;;;;;;;;;;;;;;;GAeG;AACH,YAAY;AACZ,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAmB,cAAc,EAAE,MAAM,sBAAsB,CAAC","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\nexport { WattModalComponent, WattModalActionsComponent, WATT_MODAL } from './watt-modal.component';\nexport { WattModalService, WattModalConfig, WattTypedModal } from './watt-modal.service';\n"]}
|
|
@@ -98,10 +98,10 @@ export class WattModalComponent {
|
|
|
98
98
|
onResize(event) {
|
|
99
99
|
this.scrollable.set(event.target.scrollHeight > event.target.clientHeight);
|
|
100
100
|
}
|
|
101
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
102
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
101
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: WattModalComponent, isStandalone: true, selector: "watt-modal", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingMessage: { classPropertyName: "loadingMessage", publicName: "loadingMessage", isSignal: true, isRequired: false, transformFunction: null }, disableClose: { classPropertyName: "disableClose", publicName: "disableClose", isSignal: true, isRequired: false, transformFunction: null }, hideCloseButton: { classPropertyName: "hideCloseButton", publicName: "hideCloseButton", isSignal: true, isRequired: false, transformFunction: null }, disableEscAndBackdropClose: { classPropertyName: "disableEscAndBackdropClose", publicName: "disableEscAndBackdropClose", isSignal: true, isRequired: false, transformFunction: null }, closeLabel: { classPropertyName: "closeLabel", publicName: "closeLabel", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, restoreFocus: { classPropertyName: "restoreFocus", publicName: "restoreFocus", isSignal: true, isRequired: false, transformFunction: null }, titleIcon: { classPropertyName: "titleIcon", publicName: "titleIcon", isSignal: true, isRequired: false, transformFunction: null }, autoOpen: { classPropertyName: "autoOpen", publicName: "autoOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, viewQueries: [{ propertyName: "modal", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<ng-template #modal>\n <div class=\"watt-modal\" [ngClass]=\"'watt-modal--' + size()\">\n @if (!disableClose() && !hideCloseButton()) {\n <watt-button\n variant=\"icon\"\n icon=\"close\"\n class=\"watt-modal-close\"\n [attr.aria-label]=\"closeLabel()\"\n (click)=\"close(false)\"\n />\n }\n\n @if (!loading()) {\n <ng-content select=\"h2\">\n @if (title()) {\n <h2 class=\"watt-modal-title\" [ngClass]=\"{ 'watt-modal-title-icon': titleIcon() }\">\n @if (titleIcon()) {\n <watt-icon [name]=\"titleIcon()\" size=\"l\" />\n }\n {{ title() }}\n </h2>\n }\n </ng-content>\n }\n\n <div\n wattResizeObserver\n class=\"watt-modal-content\"\n [class.watt-modal-scrollable]=\"scrollable()\"\n (resize)=\"onResize($event)\"\n >\n <ng-content />\n </div>\n <ng-content select=\"watt-modal-actions\" />\n\n @if (loading()) {\n <div class=\"watt-modal__spinner\">\n <div>\n <watt-spinner />\n <p>{{ loadingMessage() }}</p>\n </div>\n </div>\n }\n </div>\n</ng-template>\n\n@if (dialogRef) {\n <ng-template [ngTemplateOutlet]=\"modal\" />\n}\n", styles: [":root{--watt-modal-width: 100vw;--watt-modal-min-height: auto;--watt-modal-height: calc(100vh - var(--watt-topbar-height, 0px));--watt-modal-content-padding: 0 var(--watt-space-ml)}.watt-modal{width:var(--watt-modal-width);max-width:100vw;height:var(--watt-modal-height);min-height:var(--watt-modal-min-height);max-height:100vh;position:relative;display:grid;padding:0;align-items:center;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"title close\" \"content content\" \"actions actions\"}.watt-modal--small{--watt-modal-width: 320px;--watt-modal-height: auto}@media(min-width:600.02px){.watt-modal--small{--watt-modal-width: 520px}}.watt-modal--small .watt-modal-title{color:var(--watt-typography-headline-color);font-size:1rem;line-height:1.5rem;font-weight:600;text-transform:none;letter-spacing:0}@media(min-width:1280px){.watt-modal--small .watt-modal-title{font-size:1.25rem;line-height:1.75rem}}@media(min-width:720.02px){.watt-modal--medium{--watt-modal-width: 720px;--watt-modal-height: auto}}@media(min-width:786.02px){.watt-modal--large{--watt-modal-width: 786px;--watt-modal-height: auto}}@media(min-width:960.02px){.watt-modal--large{--watt-modal-width: 936px;--watt-modal-height: auto}}.watt-modal-panel{margin-top:var(--watt-topbar-height)}.watt-modal-panel .mat-mdc-dialog-container .mdc-dialog__surface{width:auto}.watt-modal-panel .watt-modal-close{grid-area:close;align-self:start;margin:var(--watt-space-s);color:var(--watt-color-primary)}.watt-modal-panel .watt-modal-title{grid-area:title;margin:var(--watt-space-s) var(--watt-space-ml);color:var(--watt-typography-text-color)}.watt-modal-panel .watt-modal-title.watt-modal-title-icon{display:flex;align-items:center;gap:var(--watt-space-s)}.watt-modal-panel .watt-modal-content{align-self:stretch;grid-area:content;overflow:auto;padding:var(--watt-modal-content-padding)}.watt-modal-panel .watt-modal-content .watt-modal-content--full-width{display:block;margin:0 calc(-1 * var(--watt-space-s)) 0 0}@media(min-width:720.02px){.watt-modal-panel .watt-modal-content .watt-modal-content--full-width{margin:0 calc(-1 * var(--watt-space-ml))}}.watt-modal-panel .watt-modal-scrollable{border:1px solid var(--watt-color-neutral-grey-300);border-left:none;border-right:none}.watt-modal-panel watt-modal-actions{grid-area:actions;display:flex;justify-content:flex-end;padding:var(--watt-space-ml);gap:var(--watt-space-m)}.watt-modal-panel .watt-modal__spinner{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#fffc}.watt-modal-panel .watt-modal__spinner div{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.watt-modal-panel .watt-modal__spinner div p{margin-top:var(--watt-space-m);width:100%}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: WattResizeObserverDirective, selector: "[wattResizeObserver]", outputs: ["resize"] }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
103
103
|
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattModalComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
106
|
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: 'watt-modal', imports: [
|
|
107
107
|
NgClass,
|
|
@@ -116,10 +116,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
116
116
|
* Component for projecting buttons (actions) to the bottom of the modal.
|
|
117
117
|
*/
|
|
118
118
|
export class WattModalActionsComponent {
|
|
119
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
120
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
119
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattModalActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
120
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: WattModalActionsComponent, isStandalone: true, selector: "watt-modal-actions", ngImport: i0, template: '<ng-content />', isInline: true });
|
|
121
121
|
}
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattModalActionsComponent, decorators: [{
|
|
123
123
|
type: Component,
|
|
124
124
|
args: [{
|
|
125
125
|
selector: 'watt-modal-actions',
|
|
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
127
127
|
}]
|
|
128
128
|
}] });
|
|
129
129
|
export const WATT_MODAL = [WattModalComponent, WattModalActionsComponent];
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9tb2RhbC93YXR0LW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL21vZGFsL3dhdHQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFZLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBSW5FOzs7Ozs7R0FNRztBQWdCSCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3JCLFlBQVksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0QyxTQUFTLEdBQUcsTUFBTSxDQUF3QixZQUFZLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUV0RiwyQ0FB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QixpQkFBaUI7OzJGQUdSLGtCQUFrQjtrQkFmOUIsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCLFlBQVksV0FHYjt3QkFDUCxPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsMkJBQTJCO3dCQUMzQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3FCQUNsQjt3N0NBNkN1QyxPQUFPO0FBNkNqRDs7R0FFRztBQUtILE1BQU0sT0FBTyx5QkFBeUI7dUdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCLDhFQUYxQixnQkFBZ0I7OzJGQUVmLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQjs7QUFHRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBhZnRlclJlbmRlckVmZmVjdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICB2aWV3Q2hpbGQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IFdhdHRSZXNpemVPYnNlcnZlckRpcmVjdGl2ZSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC91dGlscy9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHsgV2F0dEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9idXR0b24nO1xuaW1wb3J0IHsgV2F0dFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvc3Bpbm5lcic7XG5cbmltcG9ydCB7IFdhdHRNb2RhbFNlcnZpY2UgfSBmcm9tICcuL3dhdHQtbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBXYXR0SWNvbiwgV2F0dEljb25Db21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvaWNvbic7XG5cbmV4cG9ydCB0eXBlIFdhdHRNb2RhbFNpemUgPSAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgcmVwcmVzZW50aW5nIGEgYmluYXJ5IGRlY2lzaW9uIGluIHRoZSBmb3JtIG9mXG4gKiBhIG1vZGFsIHdpbmRvdyB0aGF0IGFwcGVhcnMgaW4gZnJvbnQgb2YgdGhlIGVudGlyZSBjb250ZW50LlxuICpcbiAqIFVzYWdlOlxuICogYGltcG9ydCB7IFdBVFRfTU9EQUwgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvbW9kYWwnO2BcbiAqL1xuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzZWxlY3RvcjogJ3dhdHQtbW9kYWwnLFxuICBzdHlsZVVybHM6IFsnLi93YXR0LW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi93YXR0LW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBXYXR0UmVzaXplT2JzZXJ2ZXJEaXJlY3RpdmUsXG4gICAgV2F0dEJ1dHRvbkNvbXBvbmVudCxcbiAgICBXYXR0U3Bpbm5lckNvbXBvbmVudCxcbiAgICBXYXR0SWNvbkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dE1vZGFsQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBtb2RhbFNlcnZpY2UgPSBpbmplY3QoV2F0dE1vZGFsU2VydmljZSk7XG4gIHByb3RlY3RlZCBkaWFsb2dSZWYgPSBpbmplY3Q8TWF0RGlhbG9nUmVmPHVua25vd24+PihNYXREaWFsb2dSZWYsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLyoqIFRpdGxlIHRvIHN0YXkgZml4ZWQgdG8gdG9wIG9mIG1vZGFsLiAqL1xuICB0aXRsZSA9IGlucHV0KCcnKTtcblxuICBzaXplID0gaW5wdXQ8V2F0dE1vZGFsU2l6ZT4oJ21lZGl1bScpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBtb2RhbCBzaG91bGQgc2hvdyBhIGxvYWRpbmcgc3RhdGUuICovXG4gIGxvYWRpbmcgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIG1vZGFsIHNob3VsZCBzaG93IGEgbG9hZGluZyB0ZXh0IGZvciB0aGUgbG9hZGluZyBzdGF0ZS4gKi9cbiAgbG9hZGluZ01lc3NhZ2UgPSBpbnB1dCgnJyk7XG5cbiAgLyoqIERpc2FibGUgRVNDLCBjbG9zZSBidXR0b24gYW5kIGJhY2tkcm9wIGNsaWNrIGFzIG1ldGhvZHMgb2YgY2xvc2luZy4gKi9cbiAgZGlzYWJsZUNsb3NlID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgdGhlIGNsb3NlIGJ1dHRvbiAqL1xuICBoaWRlQ2xvc2VCdXR0b24gPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqIERpc2FibGUgRVNDLCBiYWNrZHJvcCBjbGljayBhcyBtZXRob2RzIG9mIGNsb3NpbmcuICovXG4gIGRpc2FibGVFc2NBbmRCYWNrZHJvcENsb3NlID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKiBUaGUgYXJpYS1sYWJlbCBmb3IgdGhlIGNsb3NlIGJ1dHRvbi4gKi9cbiAgY2xvc2VMYWJlbCA9IGlucHV0KCdDbG9zZScpO1xuXG4gIC8qKiBDbGFzc2VzIGFkZGVkIHRvIHRoZSBtb2RhbCBwYW5lbCAqL1xuICBwYW5lbENsYXNzID0gaW5wdXQ8c3RyaW5nW10+KFtdKTtcblxuICBtaW5IZWlnaHQgPSBpbnB1dCgnMTQ3cHgnKTtcblxuICAvKiogV2hldGhlciB0aGUgZGlhbG9nIHNob3VsZCByZXN0b3JlIGZvY3VzIHRvIHRoZSBwcmV2aW91c2x5LWZvY3VzZWQgZWxlbWVudCwgYWZ0ZXIgaXQncyBjbG9zZWQuICovXG4gIHJlc3RvcmVGb2N1cyA9IGlucHV0KHRydWUpO1xuXG4gIC8qKiBJY29uIGRpc3BsYXllZCBuZXh0IHRvIHRoZSBtb2RhbCB0aXRsZS4gKi9cbiAgdGl0bGVJY29uID0gaW5wdXQ8V2F0dEljb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIG1vZGFsIHNob3VsZCBvcGVuIGF1dG9tYXRpY2FsbHkgd2hlbiByZW5kZXJlZC4gICovXG4gIGF1dG9PcGVuID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIGNsb3NlZCA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gIG1vZGFsID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEVsZW1lbnQ+PignbW9kYWwnKTtcblxuICBzY3JvbGxhYmxlID0gc2lnbmFsKGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlclJlbmRlckVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hdXRvT3BlbigpKSB7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBtb2RhbC4gU3Vic2VxdWVudCBjYWxscyBhcmUgaWdub3JlZCB3aGlsZSB0aGUgbW9kYWwgaXMgb3BlbmVkLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvcGVuKCkge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oe1xuICAgICAgZGlzYWJsZUNsb3NlOiB0aGlzLmRpc2FibGVFc2NBbmRCYWNrZHJvcENsb3NlKCkgfHwgdGhpcy5kaXNhYmxlQ2xvc2UoKSxcbiAgICAgIHRlbXBsYXRlUmVmOiB0aGlzLm1vZGFsKCksXG4gICAgICBvbkNsb3NlZDogKHJlc3VsdDogYm9vbGVhbikgPT4gdGhpcy5jbG9zZWQuZW1pdChyZXN1bHQpLFxuICAgICAgbWluSGVpZ2h0OiB0aGlzLm1pbkhlaWdodCgpLFxuICAgICAgcGFuZWxDbGFzczogdGhpcy5wYW5lbENsYXNzKCksXG4gICAgICByZXN0b3JlRm9jdXM6IHRoaXMucmVzdG9yZUZvY3VzKCksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCB3aXRoIGB0cnVlYCBmb3IgYWNjZXB0YW5jZSBvciBgZmFsc2VgIGZvciByZWplY3Rpb24uXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNsb3NlKHJlc3VsdDogYm9vbGVhbikge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlKHJlc3VsdCk7IC8vIGlubGluZSBtb2RhbFxuICAgIHRoaXMuZGlhbG9nUmVmPy5jbG9zZShyZXN1bHQpOyAvLyBpbmplY3RlZCBtb2RhbFxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBtb2RhbCBjb250ZW50IGVsZW1lbnQgY2hhbmdlcyBzaXplLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvblJlc2l6ZShldmVudDogUmVzaXplT2JzZXJ2ZXJFbnRyeSkge1xuICAgIHRoaXMuc2Nyb2xsYWJsZS5zZXQoZXZlbnQudGFyZ2V0LnNjcm9sbEhlaWdodCA+IGV2ZW50LnRhcmdldC5jbGllbnRIZWlnaHQpO1xuICB9XG59XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBwcm9qZWN0aW5nIGJ1dHRvbnMgKGFjdGlvbnMpIHRvIHRoZSBib3R0b20gb2YgdGhlIG1vZGFsLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YXR0LW1vZGFsLWFjdGlvbnMnLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+Jyxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dE1vZGFsQWN0aW9uc0NvbXBvbmVudCB7fVxuXG5leHBvcnQgY29uc3QgV0FUVF9NT0RBTCA9IFtXYXR0TW9kYWxDb21wb25lbnQsIFdhdHRNb2RhbEFjdGlvbnNDb21wb25lbnRdO1xuIiwiPCEtLVxuQGxpY2Vuc2VcbkNvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLT5cbjxuZy10ZW1wbGF0ZSAjbW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJ3YXR0LW1vZGFsXCIgW25nQ2xhc3NdPVwiJ3dhdHQtbW9kYWwtLScgKyBzaXplKClcIj5cbiAgICBAaWYgKCFkaXNhYmxlQ2xvc2UoKSAmJiAhaGlkZUNsb3NlQnV0dG9uKCkpIHtcbiAgICAgIDx3YXR0LWJ1dHRvblxuICAgICAgICB2YXJpYW50PVwiaWNvblwiXG4gICAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICAgIGNsYXNzPVwid2F0dC1tb2RhbC1jbG9zZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY2xvc2VMYWJlbCgpXCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKGZhbHNlKVwiXG4gICAgICAvPlxuICAgIH1cblxuICAgIEBpZiAoIWxvYWRpbmcoKSkge1xuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaDJcIj5cbiAgICAgICAgQGlmICh0aXRsZSgpKSB7XG4gICAgICAgICAgPGgyIGNsYXNzPVwid2F0dC1tb2RhbC10aXRsZVwiIFtuZ0NsYXNzXT1cInsgJ3dhdHQtbW9kYWwtdGl0bGUtaWNvbic6IHRpdGxlSWNvbigpIH1cIj5cbiAgICAgICAgICAgIEBpZiAodGl0bGVJY29uKCkpIHtcbiAgICAgICAgICAgICAgPHdhdHQtaWNvbiBbbmFtZV09XCJ0aXRsZUljb24oKVwiIHNpemU9XCJsXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHt7IHRpdGxlKCkgfX1cbiAgICAgICAgICA8L2gyPlxuICAgICAgICB9XG4gICAgICA8L25nLWNvbnRlbnQ+XG4gICAgfVxuXG4gICAgPGRpdlxuICAgICAgd2F0dFJlc2l6ZU9ic2VydmVyXG4gICAgICBjbGFzcz1cIndhdHQtbW9kYWwtY29udGVudFwiXG4gICAgICBbY2xhc3Mud2F0dC1tb2RhbC1zY3JvbGxhYmxlXT1cInNjcm9sbGFibGUoKVwiXG4gICAgICAocmVzaXplKT1cIm9uUmVzaXplKCRldmVudClcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1tb2RhbC1hY3Rpb25zXCIgLz5cblxuICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwid2F0dC1tb2RhbF9fc3Bpbm5lclwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDx3YXR0LXNwaW5uZXIgLz5cbiAgICAgICAgICA8cD57eyBsb2FkaW5nTWVzc2FnZSgpIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG5AaWYgKGRpYWxvZ1JlZikge1xuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibW9kYWxcIiAvPlxufVxuIl19
|
|
130
|
+
//# sourceMappingURL=watt-modal.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watt-modal.component.js","sourceRoot":"","sources":["../../../../libs/watt/package/modal/watt-modal.component.ts","../../../../libs/watt/package/modal/watt-modal.component.html"],"names":[],"mappings":"AAAA,iBAAiB;AACjB;;;;;;;;;;;;;;;GAeG;AACH,YAAY;AACZ,OAAO,EACL,uBAAuB,EACvB,SAAS,EAET,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAY,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;;AAInE;;;;;;GAMG;AAgBH,MAAM,OAAO,kBAAkB;IACrB,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACtC,SAAS,GAAG,MAAM,CAAwB,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtF,2CAA2C;IAC3C,KAAK,GAAG,KAAK,CAAC,EAAE,iDAAC,CAAC;IAElB,IAAI,GAAG,KAAK,CAAgB,QAAQ,gDAAC,CAAC;IAEtC,qDAAqD;IACrD,OAAO,GAAG,KAAK,CAAC,KAAK,mDAAC,CAAC;IAEvB,0EAA0E;IAC1E,cAAc,GAAG,KAAK,CAAC,EAAE,0DAAC,CAAC;IAE3B,0EAA0E;IAC1E,YAAY,GAAG,KAAK,CAAC,KAAK,wDAAC,CAAC;IAE5B,uCAAuC;IACvC,eAAe,GAAG,KAAK,CAAC,KAAK,2DAAC,CAAC;IAE/B,yDAAyD;IACzD,0BAA0B,GAAG,KAAK,CAAC,KAAK,sEAAC,CAAC;IAE1C,2CAA2C;IAC3C,UAAU,GAAG,KAAK,CAAC,OAAO,sDAAC,CAAC;IAE5B,uCAAuC;IACvC,UAAU,GAAG,KAAK,CAAW,EAAE,sDAAC,CAAC;IAEjC,SAAS,GAAG,KAAK,CAAC,OAAO,qDAAC,CAAC;IAE3B,oGAAoG;IACpG,YAAY,GAAG,KAAK,CAAC,IAAI,wDAAC,CAAC;IAE3B,8CAA8C;IAC9C,SAAS,GAAG,KAAK,CAAuB,SAAS,qDAAC,CAAC;IAEnD,kEAAkE;IAClE,QAAQ,GAAG,KAAK,CAAC,KAAK,4CAAI,SAAS,EAAE,gBAAgB,OAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC,CAAC;IAEzD,MAAM,GAAG,MAAM,EAAW,CAAC;IAE3B,KAAK,GAAG,SAAS,CAAuB,OAAO,iDAAC,CAAC;IAEjD,UAAU,GAAG,MAAM,CAAC,KAAK,sDAAC,CAAC;IAE3B;QACE,iBAAiB,CAAC,GAAG,EAAE;YACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,YAAY,EAAE,IAAI,CAAC,0BAA0B,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE;YACtE,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE;YACzB,QAAQ,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACvD,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAe;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe;QAChD,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB;IAClD,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAA0B;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7E,CAAC;wGArFU,kBAAkB;4FAAlB,kBAAkB,69DCjE/B,y0DAiEA,qwFDRI,OAAO,oFACP,gBAAgB,oJAChB,2BAA2B,sFAC3B,mBAAmB,sIACnB,oBAAoB,8FACpB,iBAAiB;;4FAGR,kBAAkB;kBAf9B,SAAS;sCACS,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,YAC3B,YAAY,WAGb;wBACP,OAAO;wBACP,gBAAgB;wBAChB,2BAA2B;wBAC3B,mBAAmB;wBACnB,oBAAoB;wBACpB,iBAAiB;qBAClB;w7CA6CuC,OAAO;AA6CjD;;GAEG;AAKH,MAAM,OAAO,yBAAyB;wGAAzB,yBAAyB;4FAAzB,yBAAyB,8EAF1B,gBAAgB;;4FAEf,yBAAyB;kBAJrC,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,gBAAgB;iBAC3B;;AAGD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC","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 ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n afterRenderEffect,\n booleanAttribute,\n inject,\n input,\n output,\n viewChild,\n signal,\n} from '@angular/core';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { MatDialogRef } from '@angular/material/dialog';\n\nimport { WattResizeObserverDirective } from '@energinet/watt/utils/resize-observer';\nimport { WattButtonComponent } from '@energinet/watt/button';\nimport { WattSpinnerComponent } from '@energinet/watt/spinner';\n\nimport { WattModalService } from './watt-modal.service';\nimport { WattIcon, WattIconComponent } from '@energinet/watt/icon';\n\nexport type WattModalSize = 'small' | 'medium' | 'large';\n\n/**\n * Component for representing a binary decision in the form of\n * a modal window that appears in front of the entire content.\n *\n * Usage:\n * `import { WATT_MODAL } from '@energinet/watt/modal';`\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'watt-modal',\n styleUrls: ['./watt-modal.component.scss'],\n templateUrl: './watt-modal.component.html',\n imports: [\n NgClass,\n NgTemplateOutlet,\n WattResizeObserverDirective,\n WattButtonComponent,\n WattSpinnerComponent,\n WattIconComponent,\n ],\n})\nexport class WattModalComponent {\n private modalService = inject(WattModalService);\n protected dialogRef = inject<MatDialogRef<unknown>>(MatDialogRef, { optional: true });\n\n /** Title to stay fixed to top of modal. */\n title = input('');\n\n size = input<WattModalSize>('medium');\n\n /** Whether the modal should show a loading state. */\n loading = input(false);\n\n /** Whether the modal should show a loading text for the loading state. */\n loadingMessage = input('');\n\n /** Disable ESC, close button and backdrop click as methods of closing. */\n disableClose = input(false);\n\n /** Whether to show the close button */\n hideCloseButton = input(false);\n\n /** Disable ESC, backdrop click as methods of closing. */\n disableEscAndBackdropClose = input(false);\n\n /** The aria-label for the close button. */\n closeLabel = input('Close');\n\n /** Classes added to the modal panel */\n panelClass = input<string[]>([]);\n\n minHeight = input('147px');\n\n /** Whether the dialog should restore focus to the previously-focused element, after it's closed. */\n restoreFocus = input(true);\n\n /** Icon displayed next to the modal title. */\n titleIcon = input<WattIcon | undefined>(undefined);\n\n /** Whether the modal should open automatically when rendered. */\n autoOpen = input(false, { transform: booleanAttribute });\n\n closed = output<boolean>();\n\n modal = viewChild<TemplateRef<Element>>('modal');\n\n scrollable = signal(false);\n\n constructor() {\n afterRenderEffect(() => {\n if (this.autoOpen()) {\n this.open();\n }\n });\n }\n\n /**\n * Opens the modal. Subsequent calls are ignored while the modal is opened.\n * @ignore\n */\n open() {\n this.modalService.open({\n disableClose: this.disableEscAndBackdropClose() || this.disableClose(),\n templateRef: this.modal(),\n onClosed: (result: boolean) => this.closed.emit(result),\n minHeight: this.minHeight(),\n panelClass: this.panelClass(),\n restoreFocus: this.restoreFocus(),\n });\n }\n\n /**\n * Closes the modal with `true` for acceptance or `false` for rejection.\n * @ignore\n */\n close(result: boolean) {\n this.modalService.close(result); // inline modal\n this.dialogRef?.close(result); // injected modal\n }\n\n /**\n * Called when the modal content element changes size.\n * @ignore\n */\n onResize(event: ResizeObserverEntry) {\n this.scrollable.set(event.target.scrollHeight > event.target.clientHeight);\n }\n}\n\n/**\n * Component for projecting buttons (actions) to the bottom of the modal.\n */\n@Component({\n selector: 'watt-modal-actions',\n template: '<ng-content />',\n})\nexport class WattModalActionsComponent {}\n\nexport const WATT_MODAL = [WattModalComponent, WattModalActionsComponent];\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<ng-template #modal>\n <div class=\"watt-modal\" [ngClass]=\"'watt-modal--' + size()\">\n @if (!disableClose() && !hideCloseButton()) {\n <watt-button\n variant=\"icon\"\n icon=\"close\"\n class=\"watt-modal-close\"\n [attr.aria-label]=\"closeLabel()\"\n (click)=\"close(false)\"\n />\n }\n\n @if (!loading()) {\n <ng-content select=\"h2\">\n @if (title()) {\n <h2 class=\"watt-modal-title\" [ngClass]=\"{ 'watt-modal-title-icon': titleIcon() }\">\n @if (titleIcon()) {\n <watt-icon [name]=\"titleIcon()\" size=\"l\" />\n }\n {{ title() }}\n </h2>\n }\n </ng-content>\n }\n\n <div\n wattResizeObserver\n class=\"watt-modal-content\"\n [class.watt-modal-scrollable]=\"scrollable()\"\n (resize)=\"onResize($event)\"\n >\n <ng-content />\n </div>\n <ng-content select=\"watt-modal-actions\" />\n\n @if (loading()) {\n <div class=\"watt-modal__spinner\">\n <div>\n <watt-spinner />\n <p>{{ loadingMessage() }}</p>\n </div>\n </div>\n }\n </div>\n</ng-template>\n\n@if (dialogRef) {\n <ng-template [ngTemplateOutlet]=\"modal\" />\n}\n"]}
|
|
@@ -65,10 +65,10 @@ export class WattModalService {
|
|
|
65
65
|
?.setAttribute('style', `--watt-modal-min-height: ${minHeight}`);
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
69
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
68
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattModalService });
|
|
70
70
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattModalService, decorators: [{
|
|
72
72
|
type: Injectable
|
|
73
73
|
}] });
|
|
74
|
-
//# sourceMappingURL=
|
|
74
|
+
//# sourceMappingURL=watt-modal.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watt-modal.service.js","sourceRoot":"","sources":["../../../../libs/watt/package/modal/watt-modal.service.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAyB,MAAM,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;;AAcjC,MAAM,OAAgB,cAAc;IACxB,SAAS,GAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IACvC,SAAS,GAAoC,MAAM,CAAC,YAAY,CAAC,CAAC;CAC7E;AAGD,MAAM,OAAO,gBAAgB;IACV,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,YAAY,CAAoC;IAExD;;;OAGG;IACH,IAAI,GAAG,CAAI,MAA0B,EAAE,EAAE;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC;QAExD,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY;aACd,WAAW,EAAE;aACb,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;aAC3B,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YACpB,IAAI,MAAM,EAAE,QAAQ,YAAY,YAAY,EAAE,CAAC;gBAC7C,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,IAAI,MAAM,CAAC,SAAS;YAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF;;OAEG;IACK,SAAS,CACf,QAAiE,EACjE,MAA0B;QAE1B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChC,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE;gBACV,kBAAkB;gBAClB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;aAC7B;YACD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;YAC1C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;SAC3D,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAe;QACnB,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAEO,YAAY,CAAC,SAAiB;QACpC,UAAU,CAAC,GAAG,EAAE;YACd,QAAQ;gBACN,EAAE,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC;gBAC7C,EAAE,aAAa,CAAC,aAAa,CAAC;gBAC9B,EAAE,YAAY,CAAC,OAAO,EAAE,4BAA4B,SAAS,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;wGAlEU,gBAAgB;4GAAhB,gBAAgB;;4FAAhB,gBAAgB;kBAD5B,UAAU","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 { ComponentType } from '@angular/cdk/portal';\nimport { EventEmitter, Injectable, Injector, TemplateRef, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { map, take } from 'rxjs';\n\nexport interface WattModalConfig<T> {\n templateRef?: TemplateRef<unknown>;\n component?: ComponentType<WattTypedModal<T>>;\n data?: T;\n disableClose?: boolean;\n onClosed?: EventEmitter<boolean> | ((result: boolean) => void);\n minHeight?: string;\n panelClass?: string[];\n injector?: Injector;\n restoreFocus?: boolean;\n}\n\nexport abstract class WattTypedModal<T = void> {\n protected modalData: T = inject(MAT_DIALOG_DATA);\n protected dialogRef: MatDialogRef<WattTypedModal<T>> = inject(MatDialogRef);\n}\n\n@Injectable()\nexport class WattModalService {\n private readonly dialog = inject(MatDialog);\n private matDialogRef: MatDialogRef<unknown> | undefined;\n\n /**\n * Opens the modal. Subsequent calls are ignored while the modal is opened.\n * @ignore\n */\n open = <T>(config: WattModalConfig<T>) => {\n const template = config.templateRef ?? config.component;\n\n if (!template) return;\n\n this.matDialogRef = this.openModal(template, config);\n\n this.matDialogRef\n .afterClosed()\n .pipe(map(Boolean), take(1))\n .subscribe((result) => {\n if (config?.onClosed instanceof EventEmitter) {\n config?.onClosed.emit(result);\n } else {\n config?.onClosed?.(result);\n }\n });\n\n if (config.minHeight) this.setMinHeight(config.minHeight);\n };\n\n /**\n * Opens the modal using the provided template and configuration.\n */\n private openModal<T>(\n template: TemplateRef<unknown> | ComponentType<WattTypedModal<T>>,\n config: WattModalConfig<T>\n ): MatDialogRef<unknown> {\n return this.dialog.open(template, {\n autoFocus: 'dialog',\n panelClass: [\n 'watt-modal-panel',\n ...(config.component ? ['watt-modal-panel--component'] : []),\n ...(config.panelClass ?? []),\n ],\n disableClose: config.disableClose ?? false,\n data: config.data,\n maxWidth: 'none',\n injector: config.injector,\n restoreFocus: config.restoreFocus === false ? false : true,\n });\n }\n\n /**\n * Closes the modal with `true` for acceptance or `false` for rejection.\n * @ignore\n */\n close(result: boolean) {\n this.matDialogRef?.close(result);\n }\n\n private setMinHeight(minHeight: string) {\n setTimeout(() => {\n document\n ?.getElementById(this.matDialogRef?.id ?? '')\n ?.querySelector('.watt-modal')\n ?.setAttribute('style', `--watt-modal-min-height: ${minHeight}`);\n });\n }\n}\n"]}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './index';
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=energinet-watt-paginator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"energinet-watt-paginator.js","sourceRoot":"","sources":["../../../../libs/watt/package/paginator/energinet-watt-paginator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
@@ -18,4 +18,4 @@
|
|
|
18
18
|
//#endregion
|
|
19
19
|
export { WattPaginatorComponent } from './watt-paginator.component';
|
|
20
20
|
export { WattPaginatorIntlService } from './watt-paginator-intl.service';
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/watt/package/paginator/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB;;;;;;;;;;;;;;;GAeG;AACH,YAAY;AACZ,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC","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\nexport { WattPaginatorComponent } from './watt-paginator.component';\nexport { WattPaginatorIntlService } from './watt-paginator-intl.service';\n"]}
|
|
@@ -28,11 +28,11 @@ export class WattPaginatorIntlService {
|
|
|
28
28
|
firstPage = 'First page';
|
|
29
29
|
lastPage = 'Last page';
|
|
30
30
|
of = 'of';
|
|
31
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
32
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattPaginatorIntlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattPaginatorIntlService, providedIn: 'root' });
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattPaginatorIntlService, decorators: [{
|
|
35
35
|
type: Injectable,
|
|
36
36
|
args: [{ providedIn: 'root' }]
|
|
37
37
|
}] });
|
|
38
|
-
//# sourceMappingURL=
|
|
38
|
+
//# sourceMappingURL=watt-paginator-intl.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watt-paginator-intl.service.js","sourceRoot":"","sources":["../../../../libs/watt/package/paginator/watt-paginator-intl.service.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB;;;;;;;;;;;;;;;GAeG;AACH,YAAY;AACZ,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;;AAG/B,MAAM,OAAO,wBAAwB;IAC1B,OAAO,GAAkB,IAAI,OAAO,EAAQ,CAAC;IACtD,WAAW,GAAG,aAAa,CAAC;IAC5B,YAAY,GAAG,kBAAkB,CAAC;IAClC,QAAQ,GAAG,WAAW,CAAC;IACvB,YAAY,GAAG,eAAe,CAAC;IAC/B,SAAS,GAAG,YAAY,CAAC;IACzB,QAAQ,GAAG,WAAW,CAAC;IACvB,EAAE,GAAG,IAAI,CAAC;wGARC,wBAAwB;4GAAxB,wBAAwB,cADX,MAAM;;4FACnB,wBAAwB;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE","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 WattPaginatorIntlService {\n readonly changes: Subject<void> = new Subject<void>();\n description = 'Select page';\n itemsPerPage = 'Results per page';\n nextPage = 'Next page';\n previousPage = 'Previous page';\n firstPage = 'First page';\n lastPage = 'Last page';\n of = 'of';\n}\n"]}
|
|
@@ -72,8 +72,8 @@ export class WattPaginatorComponent {
|
|
|
72
72
|
const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;
|
|
73
73
|
return `${startIndex + 1} – ${endIndex} ${this.intl.of} ${length}`;
|
|
74
74
|
};
|
|
75
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
76
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.
|
|
75
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.15", type: WattPaginatorComponent, isStandalone: true, selector: "watt-paginator", inputs: { length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, pageIndex: { classPropertyName: "pageIndex", publicName: "pageIndex", isSignal: true, isRequired: false, transformFunction: null }, for: { classPropertyName: "for", publicName: "for", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed" }, viewQueries: [{ propertyName: "instance", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
77
77
|
<mat-paginator
|
|
78
78
|
class="watt-paginator"
|
|
79
79
|
(page)="changed.emit($event)"
|
|
@@ -86,7 +86,7 @@ export class WattPaginatorComponent {
|
|
|
86
86
|
/>
|
|
87
87
|
`, isInline: true, styles: [".cdk-overlay-pane div.mat-mdc-select-panel{--mat-select-panel-background-color: var(--watt-color-neutral-white);padding:0;font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0}.mat-mdc-select-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){--mat-option-selected-state-layer-color: var(--watt-color-neutral-grey-300);color:var(--watt-color-primary)}.mat-mdc-select-panel .mat-mdc-option.mdc-list-item:hover{--mat-option-hover-state-layer-color: var(--watt-color-neutral-grey-100)}watt-paginator{box-shadow:0 -1px 0 var(--watt-color-neutral-grey-300);z-index:100}watt-paginator .mat-mdc-paginator,watt-paginator .mat-mdc-paginator-page-size .mat-mdc-select-trigger{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0}watt-paginator .mat-mdc-paginator{--mat-option-hover-state-layer-color: var(--watt-color-neutral-grey-100)}watt-paginator .mat-mdc-paginator .mdc-notched-outline{--mat-form-field-outlined-outline-width: 0;--mat-form-field-outlined-focus-outline-width: 0}watt-paginator .mat-mdc-paginator .mat-mdc-paginator-page-size-select{width:80px}watt-paginator .mat-mdc-select-arrow-wrapper{color:var(--watt-color-primary)}watt-paginator .mat-mdc-select-arrow-wrapper .mat-mdc-select-arrow{width:18px}watt-paginator .mat-mdc-paginator-container{justify-content:center;padding:var(--watt-space-m) var(--watt-space-ml)}watt-paginator .mat-mdc-paginator-range-actions{display:contents}watt-paginator .mat-mdc-paginator-range-label{margin:0 auto;-webkit-user-select:none;user-select:none}watt-paginator .mdc-icon-button{color:var(--watt-color-primary);--mat-icon-button-disabled-icon-color: var(--watt-color-neutral-grey-500);--mat-icon-button-icon-size: 28px;--mat-icon-button-state-layer-size: 28px;padding:0;margin-right:5px}watt-paginator .mat-mdc-select-value{padding-right:var(--watt-space-xs);text-align:right}watt-paginator .mat-mdc-select-arrow{color:var(--watt-color-primary)}watt-paginator .mat-mdc-form-field-flex{height:var(--watt-space-l);align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
88
88
|
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattPaginatorComponent, decorators: [{
|
|
90
90
|
type: Component,
|
|
91
91
|
args: [{ imports: [MatPaginatorModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: 'watt-paginator', template: `
|
|
92
92
|
<mat-paginator
|
|
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
101
101
|
/>
|
|
102
102
|
`, styles: [".cdk-overlay-pane div.mat-mdc-select-panel{--mat-select-panel-background-color: var(--watt-color-neutral-white);padding:0;font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0}.mat-mdc-select-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){--mat-option-selected-state-layer-color: var(--watt-color-neutral-grey-300);color:var(--watt-color-primary)}.mat-mdc-select-panel .mat-mdc-option.mdc-list-item:hover{--mat-option-hover-state-layer-color: var(--watt-color-neutral-grey-100)}watt-paginator{box-shadow:0 -1px 0 var(--watt-color-neutral-grey-300);z-index:100}watt-paginator .mat-mdc-paginator,watt-paginator .mat-mdc-paginator-page-size .mat-mdc-select-trigger{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0}watt-paginator .mat-mdc-paginator{--mat-option-hover-state-layer-color: var(--watt-color-neutral-grey-100)}watt-paginator .mat-mdc-paginator .mdc-notched-outline{--mat-form-field-outlined-outline-width: 0;--mat-form-field-outlined-focus-outline-width: 0}watt-paginator .mat-mdc-paginator .mat-mdc-paginator-page-size-select{width:80px}watt-paginator .mat-mdc-select-arrow-wrapper{color:var(--watt-color-primary)}watt-paginator .mat-mdc-select-arrow-wrapper .mat-mdc-select-arrow{width:18px}watt-paginator .mat-mdc-paginator-container{justify-content:center;padding:var(--watt-space-m) var(--watt-space-ml)}watt-paginator .mat-mdc-paginator-range-actions{display:contents}watt-paginator .mat-mdc-paginator-range-label{margin:0 auto;-webkit-user-select:none;user-select:none}watt-paginator .mdc-icon-button{color:var(--watt-color-primary);--mat-icon-button-disabled-icon-color: var(--watt-color-neutral-grey-500);--mat-icon-button-icon-size: 28px;--mat-icon-button-state-layer-size: 28px;padding:0;margin-right:5px}watt-paginator .mat-mdc-select-value{padding-right:var(--watt-space-xs);text-align:right}watt-paginator .mat-mdc-select-arrow{color:var(--watt-color-primary)}watt-paginator .mat-mdc-form-field-flex{height:var(--watt-space-l);align-items:center}\n"] }]
|
|
103
103
|
}], propDecorators: { length: [{ type: i0.Input, args: [{ isSignal: true, alias: "length", required: false }] }], pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }], pageIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageIndex", required: false }] }], for: [{ type: i0.Input, args: [{ isSignal: true, alias: "for", required: false }] }], changed: [{ type: i0.Output, args: ["changed"] }], instance: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }] } });
|
|
104
|
-
//# sourceMappingURL=
|
|
104
|
+
//# sourceMappingURL=watt-paginator.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watt-paginator.component.js","sourceRoot":"","sources":["../../../../libs/watt/package/paginator/watt-paginator.component.ts"],"names":[],"mappings":"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","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 ChangeDetectionStrategy,\n Component,\n inject,\n OnInit,\n ViewEncapsulation,\n viewChild,\n input,\n effect,\n output,\n computed,\n} from '@angular/core';\nimport {\n MatPaginator,\n MatPaginatorIntl,\n MatPaginatorModule,\n PageEvent,\n} from '@angular/material/paginator';\n\nimport { IWattTableDataSource } from '@energinet/watt/table';\nimport { WattPaginatorIntlService } from './watt-paginator-intl.service';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, startWith } from 'rxjs';\n\n/**\n * Usage:\n * `import { WattPaginatorComponent } from '@energinet/watt/paginator';`\n */\n@Component({\n imports: [MatPaginatorModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'watt-paginator',\n styleUrls: ['./watt-paginator.component.scss'],\n template: `\n <mat-paginator\n class=\"watt-paginator\"\n (page)=\"changed.emit($event)\"\n [length]=\"length()\"\n [pageSize]=\"pageSize()\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n [pageIndex]=\"pageIndex()\"\n [showFirstLastButtons]=\"true\"\n [attr.aria-label]=\"description()\"\n />\n `,\n})\nexport class WattPaginatorComponent<T> implements OnInit {\n private intl = inject(WattPaginatorIntlService);\n private matPaginatorIntl = inject(MatPaginatorIntl);\n\n length = input(0);\n pageSizeOptions = input([50, 100, 150, 200, 250]);\n pageSize = input(50);\n pageIndex = input(0);\n for = input<IWattTableDataSource<T>>();\n changed = output<PageEvent>();\n instance = viewChild.required(MatPaginator);\n\n changes = toSignal(\n this.intl.changes.pipe(\n // Signals use referential equality to determine if a value has changed.\n // Therefore it is not possible to just map to the intl service directly\n // as the intl service relies on mutation for updating values.\n map(() => ({ ...this.intl })),\n startWith(this.intl)\n ),\n { requireSync: true }\n );\n\n description = computed(() => this.changes().description);\n\n updateDataSource = effect(() => {\n const dataSource = this.for();\n const instance = this.instance();\n if (!dataSource) return;\n dataSource.paginator = instance;\n });\n\n updateLabels = effect(() => {\n const changes = this.changes();\n this.matPaginatorIntl.itemsPerPageLabel = changes.itemsPerPage;\n this.matPaginatorIntl.nextPageLabel = changes.nextPage;\n this.matPaginatorIntl.previousPageLabel = changes.previousPage;\n this.matPaginatorIntl.firstPageLabel = changes.firstPage;\n this.matPaginatorIntl.lastPageLabel = changes.lastPage;\n this.matPaginatorIntl.changes.next();\n });\n\n ngOnInit() {\n this.matPaginatorIntl.getRangeLabel = this.getRangeLabel;\n }\n\n private getRangeLabel = (page: number, pageSize: number, length: number) => {\n if (length == 0 || pageSize == 0) {\n return `0 ${this.intl.of} ${length}`;\n }\n\n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n // If the start index exceeds the list length, do not try and fix the end index to the end.\n const endIndex =\n startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\n\n return `${startIndex + 1} – ${endIndex} ${this.intl.of} ${length}`;\n };\n}\n"]}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './index';
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=energinet-watt-phone-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"energinet-watt-phone-field.js","sourceRoot":"","sources":["../../../../libs/watt/package/phone-field/energinet-watt-phone-field.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
@@ -18,4 +18,4 @@
|
|
|
18
18
|
//#endregion
|
|
19
19
|
export { WattPhoneFieldComponent } from './watt-phone-field.component';
|
|
20
20
|
export { WattPhoneFieldIntlService } from './watt-phone-field-intl.service';
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/watt/package/phone-field/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB;;;;;;;;;;;;;;;GAeG;AACH,YAAY;AACZ,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC","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\nexport { WattPhoneFieldComponent } from './watt-phone-field.component';\nexport { WattPhoneFieldIntlService } from './watt-phone-field-intl.service';\n"]}
|
|
@@ -31,11 +31,11 @@ export class WattPhoneFieldIntlService {
|
|
|
31
31
|
PL = 'Poland';
|
|
32
32
|
NL = 'Netherlands';
|
|
33
33
|
CH = 'Switzerland';
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
35
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattPhoneFieldIntlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattPhoneFieldIntlService, providedIn: 'root' });
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattPhoneFieldIntlService, decorators: [{
|
|
38
38
|
type: Injectable,
|
|
39
39
|
args: [{ providedIn: 'root' }]
|
|
40
40
|
}] });
|
|
41
|
-
//# sourceMappingURL=
|
|
41
|
+
//# sourceMappingURL=watt-phone-field-intl.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watt-phone-field-intl.service.js","sourceRoot":"","sources":["../../../../libs/watt/package/phone-field/watt-phone-field-intl.service.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB;;;;;;;;;;;;;;;GAeG;AACH,YAAY;AACZ,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;;AAG/B,MAAM,OAAO,yBAAyB;IAC3B,OAAO,GAAkB,IAAI,OAAO,EAAQ,CAAC;IACtD,kBAAkB,GAAG,sBAAsB,CAAC;IAC5C,EAAE,GAAG,SAAS,CAAC;IACf,EAAE,GAAG,SAAS,CAAC;IACf,EAAE,GAAG,SAAS,CAAC;IACf,EAAE,GAAG,gBAAgB,CAAC;IACtB,EAAE,GAAG,QAAQ,CAAC;IACd,EAAE,GAAG,QAAQ,CAAC;IACd,EAAE,GAAG,QAAQ,CAAC;IACd,EAAE,GAAG,aAAa,CAAC;IACnB,EAAE,GAAG,aAAa,CAAC;wGAXR,yBAAyB;4GAAzB,yBAAyB,cADZ,MAAM;;4FACnB,yBAAyB;kBADrC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE","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 GB = 'United Kingdom';\n NO = 'Norway';\n SE = 'Sweden';\n PL = 'Poland';\n NL = 'Netherlands';\n CH = 'Switzerland';\n}\n"]}
|
|
@@ -151,8 +151,8 @@ export class WattPhoneFieldComponent {
|
|
|
151
151
|
getCountryName(countryIsoCode) {
|
|
152
152
|
return this.intl[countryIsoCode];
|
|
153
153
|
}
|
|
154
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
155
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
154
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattPhoneFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
155
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: WattPhoneFieldComponent, isStandalone: true, selector: "watt-phone-field", inputs: { formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.watt-field-disabled": "isDisabled()" } }, providers: [
|
|
156
156
|
{
|
|
157
157
|
provide: NG_VALUE_ACCESSOR,
|
|
158
158
|
useExisting: forwardRef(() => WattPhoneFieldComponent),
|
|
@@ -198,7 +198,7 @@ export class WattPhoneFieldComponent {
|
|
|
198
198
|
</watt-field>
|
|
199
199
|
`, isInline: true, styles: [".watt-phone-field__select.mat-mdc-select-panel{--mat-option-label-text-size: 14px;overflow-y:scroll}.watt-phone-field__select.mat-mdc-select-panel watt-icon{margin-right:var(--watt-space-s)}.watt-phone-field__select.mat-mdc-select-panel watt-icon .mat-icon{margin-right:0}.watt-phone-field__select.mat-mdc-select-panel .mat-mdc-option.mdc-list-item .mdc-list-item__primary-text{display:flex;width:100%;align-items:center;gap:var(--watt-space-xs)}watt-phone-field{display:block}watt-phone-field .watt-phone-field__prefix-container{width:100%;display:flex;align-items:center;gap:var(--watt-space-xs)}watt-phone-field input{width:100%;border:none}watt-phone-field input:focus-visible,watt-phone-field input:focus-within{border:none;outline:none}watt-phone-field .mat-mdc-select{width:auto;height:24px}watt-phone-field .mat-mdc-select .mat-mdc-select-arrow-wrapper{width:24px;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName", "displayMode", "autoFocus", "showErrors"] }, { kind: "component", type: WattFieldErrorComponent, selector: "watt-field-error" }, { kind: "component", type: WattFlagComponent, selector: "watt-flag", inputs: ["country", "label", "size"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
200
200
|
}
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattPhoneFieldComponent, decorators: [{
|
|
202
202
|
type: Component,
|
|
203
203
|
args: [{ selector: 'watt-phone-field', encapsulation: ViewEncapsulation.None, imports: [
|
|
204
204
|
ReactiveFormsModule,
|
|
@@ -255,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
255
255
|
'[attr.watt-field-disabled]': 'isDisabled()',
|
|
256
256
|
}, styles: [".watt-phone-field__select.mat-mdc-select-panel{--mat-option-label-text-size: 14px;overflow-y:scroll}.watt-phone-field__select.mat-mdc-select-panel watt-icon{margin-right:var(--watt-space-s)}.watt-phone-field__select.mat-mdc-select-panel watt-icon .mat-icon{margin-right:0}.watt-phone-field__select.mat-mdc-select-panel .mat-mdc-option.mdc-list-item .mdc-list-item__primary-text{display:flex;width:100%;align-items:center;gap:var(--watt-space-xs)}watt-phone-field{display:block}watt-phone-field .watt-phone-field__prefix-container{width:100%;display:flex;align-items:center;gap:var(--watt-space-xs)}watt-phone-field input{width:100%;border:none}watt-phone-field input:focus-visible,watt-phone-field input:focus-within{border:none;outline:none}watt-phone-field .mat-mdc-select{width:auto;height:24px}watt-phone-field .mat-mdc-select .mat-mdc-select-arrow-wrapper{width:24px;justify-content:center}\n"] }]
|
|
257
257
|
}], propDecorators: { formControl: [{ type: i0.Input, args: [{ isSignal: true, alias: "formControl", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], phoneNumberInput: [{ type: i0.ViewChild, args: ['phoneNumberInput', { isSignal: true }] }] } });
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1waG9uZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9waG9uZS1maWVsZC93YXR0LXBob25lLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFJTCxpQkFBaUIsRUFDakIsbUJBQW1CLEdBR3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sYUFBYSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBTzVFLFNBQVMsY0FBYyxDQUFDLFdBQXdCO0lBQzlDLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELElBQUksQ0FBQyxPQUFPLENBQUMs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LGlCQUFpQixDQUFDLElBQUksV0FDNUI7d0JBQ1AsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDbEIsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1QsUUFFSzt3QkFDSiw0QkFBNEIsRUFBRSxjQUFjO3FCQUM3Qzs2UUFtQ21FLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG4gIHZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtQ29udHJvbCxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXNraXRvRGlyZWN0aXZlIH0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UsIE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNQVNLSVRPX0RFRkFVTFRfT1BUSU9OUywgbWFza2l0b1RyYW5zZm9ybSB9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHsgbWFza2l0b1Bob25lT3B0aW9uc0dlbmVyYXRvciB9IGZyb20gJ0BtYXNraXRvL3Bob25lJztcbmltcG9ydCB7IGlzVmFsaWRQaG9uZU51bWJlciwgdHlwZSBDb3VudHJ5Q29kZSB9IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzJztcbmltcG9ydCBwaG9uZU1ldGFkYXRhIGZyb20gJ2xpYnBob25lbnVtYmVyLWpzL21pbi9tZXRhZGF0YSc7XG5cbmltcG9ydCB7IFdhdHRGbGFnQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2ljb24vZmxhZ3MnO1xuaW1wb3J0IHsgV2F0dEZpZWxkQ29tcG9uZW50LCBXYXR0RmllbGRFcnJvckNvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9maWVsZCc7XG5cbmltcG9ydCB7IFdhdHRQaG9uZUZpZWxkSW50bFNlcnZpY2UgfSBmcm9tICcuL3dhdHQtcGhvbmUtZmllbGQtaW50bC5zZXJ2aWNlJztcblxudHlwZSBDb250cnkgPSB7XG4gIGNvdW50cnlJc29Db2RlOiBDb3VudHJ5Q29kZTtcbiAgcGhvbmVFeHRlbnNpb246IHN0cmluZztcbn07XG5cbmZ1bmN0aW9uIHBob25lVmFsaWRhdG9yKGNvdW50cnlDb2RlOiBDb3VudHJ5Q29kZSk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCB2YWxpZCA9IGlzVmFsaWRQaG9uZU51bWJlcihjb250cm9sLnZhbHVlLCBjb3VudHJ5Q29kZSk7XG4gICAgcmV0dXJuIHZhbGlkID8gbnVsbCA6IHsgaW52YWxpZFBob25lOiB0cnVlIH07XG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhdHQtcGhvbmUtZmllbGQnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWFza2l0b0RpcmVjdGl2ZSxcbiAgICBXYXR0RmllbGRDb21wb25lbnQsXG4gICAgV2F0dEZpZWxkRXJyb3JDb21wb25lbnQsXG4gICAgV2F0dEZsYWdDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2F0dFBob25lRmllbGRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8d2F0dC1maWVsZCBbbGFiZWxdPVwibGFiZWwoKVwiIFtjb250cm9sXT1cImZvcm1Db250cm9sKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3YXR0LXBob25lLWZpZWxkX19wcmVmaXgtY29udGFpbmVyXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgcGFuZWxXaWR0aD1cIlwiXG4gICAgICAgICAgcGFuZWxDbGFzcz1cIndhdHQtcGhvbmUtZmllbGRfX3NlbGVjdFwiXG4gICAgICAgICAgW2hpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3JdPVwidHJ1ZVwiXG4gICAgICAgICAgW3ZhbHVlXT1cImNob3NlbkNvdW50cnkoKS5jb3VudHJ5SXNvQ29kZVwiXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3RlZENvbnRyeSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICA8d2F0dC1mbGFnIFtjb3VudHJ5XT1cImNob3NlbkNvdW50cnkoKS5jb3VudHJ5SXNvQ29kZVwiIC8+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgQGZvciAoY29udHJ5IG9mIGNvdW50cmllczsgdHJhY2sgY29udHJ5KSB7XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cInt7IGNvbnRyeS5jb3VudHJ5SXNvQ29kZSB9fVwiPlxuICAgICAgICAgICAgICA8d2F0dC1mbGFnIFtjb3VudHJ5XT1cImNvbnRyeS5jb3VudHJ5SXNvQ29kZVwiIC8+XG4gICAgICAgICAgICAgIDxkaXY+e3sgZ2V0Q291bnRyeU5hbWUoY29udHJ5LmNvdW50cnlJc29Db2RlKSB9fTwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsKClcIlxuICAgICAgICAgIGF1dG9jb21wbGV0ZT1cInRlbFwiXG4gICAgICAgICAgaW5wdXRtb2RlPVwidGVsXCJcbiAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICBbbWFza2l0b109XCJtYXNrXCJcbiAgICAgICAgICAjcGhvbmVOdW1iZXJJbnB1dFxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIndhdHQtZmllbGQtaGludFwiIHNlbGVjdD1cIndhdHQtZmllbGQtaGludFwiIC8+XG4gICAgICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIndhdHQtZmllbGQtZXJyb3JcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWVycm9yXCIgLz5cbiAgICAgIEBpZiAoZm9ybUNvbnRyb2woKS5oYXNFcnJvcignaW52YWxpZFBob25lJykpIHtcbiAgICAgICAgPHdhdHQtZmllbGQtZXJyb3I+IHt7IGludGwuaW52YWxpZFBob25lTnVtYmVyIH19IDwvd2F0dC1maWVsZC1lcnJvcj5cbiAgICAgIH1cbiAgICA8L3dhdHQtZmllbGQ+XG4gIGAsXG4gIHN0eWxlVXJsOiAnLi93YXR0LXBob25lLWZpZWxkLmNvbXBvbmVudC5zY3NzJyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci53YXR0LWZpZWxkLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0UGhvbmVGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICAvKiogQGlnbm9yZSAqL1xuICByZWFkb25seSBjb3VudHJpZXM6IENvbnRyeVtdID0gW1xuICAgIHsgY291bnRyeUlzb0NvZGU6ICdESycsIHBob25lRXh0ZW5zaW9uOiAnKzQ1JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdTRScsIHBob25lRXh0ZW5zaW9uOiAnKzQ2JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdOTycsIHBob25lRXh0ZW5zaW9uOiAnKzQ3JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdHQicsIHBob25lRXh0ZW5zaW9uOiAnKzQ0JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdERScsIHBob25lRXh0ZW5zaW9uOiAnKzQ5JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdGSScsIHBob25lRXh0ZW5zaW9uOiAnKzM1OCcgfSxcbiAgICB7IGNvdW50cnlJc29Db2RlOiAnUEwnLCBwaG9uZUV4dGVuc2lvbjogJys0OCcgfSxcbiAgICB7IGNvdW50cnlJc29Db2RlOiAnTkwnLCBwaG9uZUV4dGVuc2lvbjogJyszMScgfSxcbiAgICB7IGNvdW50cnlJc29Db2RlOiAnQ0gnLCBwaG9uZUV4dGVuc2lvbjogJys0MScgfSxcbiAgXTtcblxuICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xuICBsYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBjaG9zZW5Db3VudHJ5ID0gc2lnbmFsPENvbnRyeT4odGhpcy5jb3VudHJpZXNbMF0pO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIG1hc2sgPSBNQVNLSVRPX0RFRkFVTFRfT1BUSU9OUztcblxuICAvKiogQGlnbm9yZSAqL1xuICBpbnRsID0gaW5qZWN0KFdhdHRQaG9uZUZpZWxkSW50bFNlcnZpY2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIGlzRGlzYWJsZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwaG9uZU51bWJlcklucHV0ID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdwaG9uZU51bWJlcklucHV0Jyk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cCgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5jb3VudHJpZXMuZmluZCgoY291bnRyeSkgPT4gdmFsdWUuc3RhcnRzV2l0aChjb3VudHJ5LnBob25lRXh0ZW5zaW9uKSk7XG4gICAgICBpZiAoY291bnRyeSkge1xuICAgICAgICAvLyBFeGNsdWRlIFNpZ25hbCBmcm9tIGJlaW5nIHRyYWNrZWRcbiAgICAgICAgLy8gaW4gY2FzZSB0aGUgcGFyZW50IGNvbXBvbmVudCBzZXRzIHRoZSB2YWx1ZSBpbnNpZGUgYW4gYGVmZmVjdGAuXG4gICAgICAgIC8vIFdpdGhvdXQgdGhpcywgdXBkYXRpbmcgdGhlIFNpZ25hbCBpbnRlcm5hbHkgdHJpZ2dlcnMgdGhlIHBhcnJlbnQgYGVmZmVjdGAgdG8gcmUtcnVuLlxuICAgICAgICAvLyBOb3RlOiBSZXZpc2l0IG9uY2UgdjE5IGlzIHJlbGVhc2VkIGJlY2F1c2UgdGhlIGBlZmZlY3RgIEFQSSBoYXMgY2hhbmdlZFxuICAgICAgICAvLyBzaWduaWZpY2FudGx5IGFuZCB0aGlzIG1pZ2h0IG5vdCBiZSBuZWNlc3NhcnkgYW55bW9yZVxuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0Q291bnRyeShjb3VudHJ5KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmFsdWUgPSBtYXNraXRvVHJhbnNmb3JtKHZhbHVlLCB0aGlzLm1hc2spO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAvKiBub29wIGZ1bmN0aW9uICovXG4gIH07XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIC8qIG5vb3AgZnVuY3Rpb24gKi9cbiAgfTtcblxuICAvKiogQGlnbm9yZSAqL1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNEaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBzZWxlY3RlZENvbnRyeSh7IHZhbHVlIH06IE1hdFNlbGVjdENoYW5nZSkge1xuICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmNvdW50cmllcy5maW5kKChjb250cnkpID0+IGNvbnRyeS5jb3VudHJ5SXNvQ29kZSA9PT0gdmFsdWUpO1xuICAgIGlmICghY291bnRyeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcmVmaXggbm90IGZvdW5kJyk7XG4gICAgfVxuICAgIHRoaXMuc2V0Q291bnRyeShjb3VudHJ5KTtcbiAgICB0aGlzLmZvcm1Db250cm9sKCkucmVzZXQoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucGhvbmVOdW1iZXJJbnB1dCgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgc2V0Q291bnRyeShjb3VudHJ5OiBDb250cnkpIHtcbiAgICB0aGlzLmNob3NlbkNvdW50cnkuc2V0KGNvdW50cnkpO1xuICAgIHRoaXMuc2V0dXAoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG9uQ2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpPy52YWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgZ2VuZXJhdGVQaG9uZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5tYXNrID0gbWFza2l0b1Bob25lT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICBjb3VudHJ5SXNvQ29kZTogdGhpcy5jaG9zZW5Db3VudHJ5KCkuY291bnRyeUlzb0NvZGUsXG4gICAgICBtZXRhZGF0YTogcGhvbmVNZXRhZGF0YSxcbiAgICAgIHNlcGFyYXRvcjogJyAnLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBzZXR1cCgpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRlUGhvbmVPcHRpb25zKCk7XG4gICAgdGhpcy5zZXRWYWxpZGF0b3IoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgc2V0VmFsaWRhdG9yKCkge1xuICAgIGNvbnN0IGNvdW50cnlDb2RlID0gdGhpcy5jaG9zZW5Db3VudHJ5KCkuY291bnRyeUlzb0NvZGU7XG4gICAgdGhpcy5mb3JtQ29udHJvbCgpLmFkZFZhbGlkYXRvcnMocGhvbmVWYWxpZGF0b3IoY291bnRyeUNvZGUpKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIGdldENvdW50cnlOYW1lKGNvdW50cnlJc29Db2RlOiBDb3VudHJ5Q29kZSkge1xuICAgIHJldHVybiB0aGlzLmludGxbY291bnRyeUlzb0NvZGUgYXMga2V5b2YgV2F0dFBob25lRmllbGRJbnRsU2VydmljZV07XG4gIH1cbn1cbiJdfQ==
|
|
258
|
+
//# sourceMappingURL=watt-phone-field.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watt-phone-field.component.js","sourceRoot":"","sources":["../../../../libs/watt/package/phone-field/watt-phone-field.component.ts"],"names":[],"mappings":"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","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 Component,\n OnInit,\n ViewEncapsulation,\n forwardRef,\n inject,\n input,\n signal,\n untracked,\n viewChild,\n ElementRef,\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 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) {\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 host: {\n '[attr.watt-field-disabled]': 'isDisabled()',\n },\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: 'GB', phoneExtension: '+44' },\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 isDisabled = signal(false);\n\n /** @ignore */\n value: string | null = null;\n\n /** @ignore */\n phoneNumberInput = viewChild.required<ElementRef<HTMLInputElement>>('phoneNumberInput');\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 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.set(isDisabled);\n }\n\n /** @ignore */\n selectedContry({ value }: MatSelectChange) {\n const country = this.countries.find((contry) => contry.countryIsoCode === value);\n if (!country) {\n throw new Error('Prefix not found');\n }\n this.setCountry(country);\n this.formControl().reset();\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 this.mask = maskitoPhoneOptionsGenerator({\n countryIsoCode: this.chosenCountry().countryIsoCode,\n metadata: phoneMetadata,\n separator: ' ',\n });\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"]}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './index';
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=energinet-watt-picker-__shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"energinet-watt-picker-__shared.js","sourceRoot":"","sources":["../../../../../libs/watt/package/picker/__shared/energinet-watt-picker-__shared.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
@@ -18,4 +18,4 @@
|
|
|
18
18
|
//#endregion
|
|
19
19
|
export { WattPlaceholderMaskComponent } from './placeholder-mask/watt-placeholder-mask.component';
|
|
20
20
|
export { WattPickerBase } from './watt-picker-base';
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/watt/package/picker/__shared/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB;;;;;;;;;;;;;;;GAeG;AACH,YAAY;AACZ,OAAO,EAAE,4BAA4B,EAAE,MAAM,oDAAoD,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC","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\nexport { WattPlaceholderMaskComponent } from './placeholder-mask/watt-placeholder-mask.component';\nexport { WattPickerBase } from './watt-picker-base';\nexport { WattPickerValue } from './watt-picker-value';\n"]}
|