@inera/ids-angular 9.2.1 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/directives/click-outside.directive.d.ts +3 -3
- package/common/public-api.d.ts +1 -1
- package/components/accordion/accordion-header.component.d.ts +1 -1
- package/components/accordion/accordion.component.d.ts +5 -4
- package/components/alert/alert-header.component.d.ts +1 -1
- package/components/alert/alert.component.d.ts +2 -2
- package/components/box-link/box-link-button.component.d.ts +2 -2
- package/components/box-link/box-link.component.d.ts +2 -2
- package/components/breadcrumbs/breadcrumbs.component.d.ts +3 -4
- package/components/breadcrumbs/crumb.component.d.ts +1 -1
- package/components/carousel/carousel-item/carousel-item.component.d.ts +1 -1
- package/components/carousel/carousel.component.d.ts +4 -4
- package/components/control-button/control-button.directive.d.ts +5 -0
- package/components/control-button/index.d.ts +5 -0
- package/components/control-button/public-api.d.ts +1 -0
- package/components/dialog/dialog.component.d.ts +4 -4
- package/components/dialog/dialog.module.d.ts +12 -0
- package/components/dialog/public-api.d.ts +1 -0
- package/components/district-selector/district-selector.component.d.ts +14 -0
- package/components/district-selector/index.d.ts +5 -0
- package/components/district-selector/public-api.d.ts +1 -0
- package/components/dropdown/dropdown.component.d.ts +1 -1
- package/components/footer-1177/footer-1177-col.component.d.ts +4 -4
- package/components/footer-1177/footer-1177.component.d.ts +6 -4
- package/components/footer-1177-admin/footer-1177-admin-col.component.d.ts +4 -4
- package/components/footer-1177-admin/footer-1177-admin.component.d.ts +5 -4
- package/components/footer-1177-pro/footer-1177-pro-col.component.d.ts +4 -4
- package/components/footer-1177-pro/footer-1177-pro.component.d.ts +6 -4
- package/components/footer-inera/footer-inera-col.component.d.ts +4 -4
- package/components/footer-inera/footer-inera.component.d.ts +5 -4
- package/components/footer-inera-admin/footer-inera-admin-col.component.d.ts +4 -4
- package/components/footer-inera-admin/footer-inera-admin.component.d.ts +5 -4
- package/components/footer-inera-general/footer-inera-general-col.component.d.ts +4 -4
- package/components/footer-inera-general/footer-inera-general.component.d.ts +6 -4
- package/components/form/checkbox-group/checkbox-group.component.d.ts +4 -4
- package/components/form/input/input-clear-button.component.d.ts +5 -0
- package/components/form/input/input.component.d.ts +7 -3
- package/components/form/input/public-api.d.ts +1 -0
- package/components/form/label-subtitle/index.d.ts +5 -0
- package/components/form/label-subtitle/label-subtitle.component.d.ts +5 -0
- package/components/form/label-subtitle/public-api.d.ts +1 -0
- package/components/form/radio/radio-group.component.d.ts +4 -4
- package/components/form/radio/radio.component.d.ts +1 -1
- package/components/form/radio-button/radio-button-group.component.d.ts +1 -2
- package/components/form/range/range.component.d.ts +1 -1
- package/components/form/select/select.component.d.ts +1 -1
- package/components/form/select-multiple/select-multiple.component.d.ts +3 -3
- package/components/form/spinner/spinner.component.d.ts +2 -1
- package/components/form/textarea/textarea.component.d.ts +1 -1
- package/components/form/time/time.component.d.ts +1 -1
- package/components/global-alert/global-alert-actions.component.d.ts +1 -1
- package/components/global-alert/global-alert-header.component.d.ts +1 -1
- package/components/global-alert/global-alert.component.d.ts +2 -2
- package/components/header-1177/avatar/header-1177-avatar.component.d.ts +1 -1
- package/components/header-1177/header-1177.component.d.ts +6 -7
- package/components/header-1177/nav/header-1177-nav.component.d.ts +1 -1
- package/components/header-1177/nav-item/header-1177-nav-item.component.d.ts +5 -5
- package/components/header-1177/region-picker/header-1177-region-picker.component.d.ts +4 -4
- package/components/header-1177/region-picker-mobile/header-1177-region-picker-mobile.component.d.ts +3 -3
- package/components/header-1177-admin/avatar/header-1177-admin-avatar.component.d.ts +1 -1
- package/components/header-1177-admin/avatar-mobile/header-1177-admin-avatar-mobile.component.d.ts +1 -1
- package/components/header-1177-admin/header-1177-admin.component.d.ts +3 -3
- package/components/header-1177-admin/nav/header-1177-admin-nav.component.d.ts +6 -4
- package/components/header-1177-admin/nav-item/header-1177-admin-nav-item.component.d.ts +5 -5
- package/components/header-1177-pro/avatar/header-1177-pro-avatar.component.d.ts +1 -1
- package/components/header-1177-pro/avatar-mobile/header-1177-pro-avatar-mobile.component.d.ts +1 -1
- package/components/header-1177-pro/header-1177-pro.component.d.ts +3 -3
- package/components/header-1177-pro/nav/header-1177-pro-nav.component.d.ts +6 -4
- package/components/header-1177-pro/nav-item/header-1177-pro-nav-item.component.d.ts +5 -5
- package/components/header-1177-pro/region-picker/header-1177-pro-region-picker.component.d.ts +4 -4
- package/components/header-1177-pro/region-picker-mobile/header-1177-pro-region-picker-mobile.component.d.ts +1 -1
- package/components/header-inera/header-inera.component.d.ts +5 -6
- package/components/header-inera/nav/header-inera-nav.component.d.ts +3 -5
- package/components/header-inera/nav-item/header-inera-nav-item.component.d.ts +5 -5
- package/components/header-inera-admin/avatar/header-inera-admin-avatar.component.d.ts +1 -1
- package/components/header-inera-admin/avatar-mobile/header-inera-admin-avatar-mobile.component.d.ts +1 -1
- package/components/header-inera-admin/header-inera-admin.component.d.ts +12 -13
- package/components/header-inera-admin/header-inera-admin.module.d.ts +1 -1
- package/components/header-inera-admin/nav/header-inera-admin-nav.component.d.ts +6 -4
- package/components/header-inera-admin/nav-item/header-inera-admin-nav-item.component.d.ts +4 -4
- package/components/header-inera-admin/public-api.d.ts +12 -12
- package/components/header-inera-general/avatar/header-inera-general-avatar.component.d.ts +26 -0
- package/components/header-inera-general/avatar-mobile/header-inera-general-avatar-mobile.component.d.ts +26 -0
- package/components/header-inera-general/header-inera-general.component.d.ts +10 -6
- package/components/header-inera-general/header-inera-general.module.d.ts +11 -8
- package/components/header-inera-general/item/header-inera-general-item.component.d.ts +3 -1
- package/components/header-inera-general/nav/header-inera-general-nav.component.d.ts +1 -1
- package/components/header-inera-general/nav-item/header-inera-general-nav-item.component.d.ts +5 -5
- package/components/header-inera-general/nav-item-mobile/header-inera-general-nav-item-mobile.component.d.ts +8 -0
- package/components/header-inera-general/nav-mobile/header-inera-general-nav-mobile.component.d.ts +7 -0
- package/components/header-inera-general/public-api.d.ts +5 -1
- package/components/message-avatar/index.d.ts +5 -0
- package/components/message-avatar/message-avatar.component.d.ts +10 -0
- package/components/message-avatar/public-api.d.ts +1 -0
- package/components/mobile/menu/item/mobile-menu-item.component.d.ts +3 -3
- package/components/mobile/menu/mobile-menu.component.d.ts +1 -2
- package/components/navigation/content/navigation-content-item.component.d.ts +24 -0
- package/components/navigation/content/navigation-content-link.component.d.ts +1 -1
- package/components/navigation/content/navigation-content.component.d.ts +6 -3
- package/components/navigation/content/public-api.d.ts +1 -0
- package/components/navigation/local/navigation-local-link.component.d.ts +1 -1
- package/components/navigation/local/navigation-local.component.d.ts +1 -2
- package/components/popover/popover.component.d.ts +4 -4
- package/components/puff-list/puff-list-item.component.d.ts +1 -1
- package/components/puff-list/puff-list.component.d.ts +1 -2
- package/components/side-menu/side-menu.component.d.ts +4 -2
- package/components/side-panel/side-panel.component.d.ts +7 -6
- package/components/stepper/step.component.d.ts +2 -0
- package/components/stepper/stepper.component.d.ts +2 -2
- package/components/tabs/tab-group.component.d.ts +3 -2
- package/components/tabs/tab.component.d.ts +2 -2
- package/components/tag/tag.component.d.ts +1 -1
- package/components/tooltip/tooltip.component.d.ts +2 -2
- package/fesm2022/inera-ids-angular-common.mjs +31 -32
- package/fesm2022/inera-ids-angular-common.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-accordion.mjs +23 -32
- package/fesm2022/inera-ids-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-action-link.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-alert.mjs +12 -18
- package/fesm2022/inera-ids-angular-components-alert.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-badge.mjs +4 -4
- package/fesm2022/inera-ids-angular-components-badge.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-box-link.mjs +19 -23
- package/fesm2022/inera-ids-angular-components-box-link.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs +19 -30
- package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-button-group.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-button.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-card.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-carousel.mjs +20 -27
- package/fesm2022/inera-ids-angular-components-carousel.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-control-button.mjs +24 -0
- package/fesm2022/inera-ids-angular-components-control-button.mjs.map +1 -0
- package/fesm2022/inera-ids-angular-components-date-label.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-dialog.mjs +65 -35
- package/fesm2022/inera-ids-angular-components-dialog.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-district-selector.mjs +45 -0
- package/fesm2022/inera-ids-angular-components-district-selector.mjs.map +1 -0
- package/fesm2022/inera-ids-angular-components-dropdown.mjs +16 -19
- package/fesm2022/inera-ids-angular-components-dropdown.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs +48 -55
- package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs +49 -55
- package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177.mjs +49 -55
- package/fesm2022/inera-ids-angular-components-footer-1177.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs +51 -58
- package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs +53 -58
- package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera.mjs +51 -58
- package/fesm2022/inera-ids-angular-components-footer-inera.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-check-button.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs +11 -17
- package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-checkbox.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-form-darkmode-toggle.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-form-error-message.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-form-input.mjs +66 -42
- package/fesm2022/inera-ids-angular-components-form-input.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs +25 -0
- package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs.map +1 -0
- package/fesm2022/inera-ids-angular-components-form-radio-button.mjs +11 -14
- package/fesm2022/inera-ids-angular-components-form-radio-button.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-radio.mjs +15 -21
- package/fesm2022/inera-ids-angular-components-form-radio.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-range.mjs +4 -4
- package/fesm2022/inera-ids-angular-components-form-range.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs +10 -13
- package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-select.mjs +4 -4
- package/fesm2022/inera-ids-angular-components-form-select.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-spinner.mjs +7 -4
- package/fesm2022/inera-ids-angular-components-form-spinner.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-textarea.mjs +7 -7
- package/fesm2022/inera-ids-angular-components-form-textarea.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-time.mjs +4 -4
- package/fesm2022/inera-ids-angular-components-form-time.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-toggle.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-global-alert.mjs +17 -29
- package/fesm2022/inera-ids-angular-components-global-alert.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-grid-column.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-grid-container.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-grid-layout-grid-column.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-grid-layout-grid-container.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-grid-layout-grid-row.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-grid-layout.mjs +9 -9
- package/fesm2022/inera-ids-angular-components-grid-row.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-grid.mjs +9 -9
- package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs +86 -108
- package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs +123 -138
- package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-1177.mjs +142 -180
- package/fesm2022/inera-ids-angular-components-header-1177.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs +101 -133
- package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera-general.mjs +391 -80
- package/fesm2022/inera-ids-angular-components-header-inera-general.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera.mjs +57 -86
- package/fesm2022/inera-ids-angular-components-header-inera.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-patient.mjs +6 -6
- package/fesm2022/inera-ids-angular-components-link.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-message-avatar.mjs +35 -0
- package/fesm2022/inera-ids-angular-components-message-avatar.mjs.map +1 -0
- package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs +8 -14
- package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-mobile-menu.mjs +17 -26
- package/fesm2022/inera-ids-angular-components-mobile-menu.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-navigation-content.mjs +79 -18
- package/fesm2022/inera-ids-angular-components-navigation-content.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-navigation-local.mjs +11 -17
- package/fesm2022/inera-ids-angular-components-navigation-local.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-notification-badge.mjs +5 -5
- package/fesm2022/inera-ids-angular-components-notification-badge.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-pagination-data-pagination.mjs +6 -6
- package/fesm2022/inera-ids-angular-components-pagination-list-pagination.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-popover.mjs +124 -79
- package/fesm2022/inera-ids-angular-components-popover.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-progressbar.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-puff-list.mjs +39 -45
- package/fesm2022/inera-ids-angular-components-puff-list.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-region-icon.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-side-menu.mjs +38 -28
- package/fesm2022/inera-ids-angular-components-side-menu.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-side-panel.mjs +103 -91
- package/fesm2022/inera-ids-angular-components-side-panel.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-stepper.mjs +24 -20
- package/fesm2022/inera-ids-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-tabs.mjs +18 -26
- package/fesm2022/inera-ids-angular-components-tabs.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-tag.mjs +10 -10
- package/fesm2022/inera-ids-angular-components-tag.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-toolbar.mjs +3 -3
- package/fesm2022/inera-ids-angular-components-tooltip.mjs +27 -33
- package/fesm2022/inera-ids-angular-components-tooltip.mjs.map +1 -1
- package/package.json +58 -42
- /package/common/services/{use-id.service.ts.d.ts → use-id.service.d.ts} +0 -0
- /package/components/header-inera-admin/nav-item-mobile/{header-inera-admin-nav-item-mobile.d.ts → header-inera-admin-nav-item-mobile.component.d.ts} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Directive } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class IDControlButtonDirective {
|
|
5
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDControlButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: IDControlButtonDirective, isStandalone: true, selector: "button[idControlButton], a[idControlButton]", host: { classAttribute: "ids-control-button" }, ngImport: i0 });
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDControlButtonDirective, decorators: [{
|
|
9
|
+
type: Directive,
|
|
10
|
+
args: [{
|
|
11
|
+
selector: 'button[idControlButton], a[idControlButton]',
|
|
12
|
+
standalone: true,
|
|
13
|
+
host: {
|
|
14
|
+
class: 'ids-control-button',
|
|
15
|
+
},
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Generated bundle index. Do not edit.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
export { IDControlButtonDirective };
|
|
24
|
+
//# sourceMappingURL=inera-ids-angular-components-control-button.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-control-button.mjs","sources":["../../../projects/ids-angular/components/control-button/control-button.directive.ts","../../../projects/ids-angular/components/control-button/inera-ids-angular-components-control-button.ts"],"sourcesContent":["import { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: 'button[idControlButton], a[idControlButton]',\n standalone: true,\n host: {\n class: 'ids-control-button',\n },\n})\nexport class IDControlButtonDirective {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MASa,wBAAwB,CAAA;wGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6CAA6C;AACvD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,oBAAoB;AAC5B,qBAAA;AACF,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -96,10 +96,10 @@ class IDDateLabelComponent {
|
|
|
96
96
|
return "";
|
|
97
97
|
}
|
|
98
98
|
};
|
|
99
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
100
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
99
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDateLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: IDDateLabelComponent, isStandalone: true, selector: "id-date-label", inputs: { date: "date", year: "year", month: "month", day: "day", monthLabel: "monthLabel", dateTo: "dateTo", yearTo: "yearTo", monthTo: "monthTo", dayTo: "dayTo", monthToLabel: "monthToLabel" }, ngImport: i0, template: "<div class=\"ids-date-label\">\n <time class=\"ids-date-label__time\"\n [attr.aria-label]=\"(dateTo || (dayTo && monthTo && yearTo)) ? 'Fr\u00E5n: ' + getYear + ' ' + displayMonthText + ' ' + displayDay : null\"\n [attr.datetime]=\"displayDay + '-' + (getMonth < 10 ? '0' + month : month) + '-' + getYear\">\n <span class=\"ids-date-label__day\">{{ displayDay }}</span>\n <span class=\"ids-date-label__month\">{{ displayMonth }}</span>\n <span class=\"ids-date-label__year\">{{ getYear }}</span>\n </time>\n @if(dateTo || (dayTo && monthTo && yearTo)) {\n <time class=\"ids-date-label__time ids-date-label__time--separator\"\n [attr.aria-label]=\"'Till: ' + getYearTo + ' ' + displayMonthTo + ' ' + displayDayTo\"\n [attr.datetime]=\"displayDayTo + '-' + (monthTo! < 10 ? '0' + month : month) + '-' + yearTo\">\n <span class=\"ids-date-label__day\">{{ displayDayTo }}</span>\n <span class=\"ids-date-label__month\">{{ displayMonthTo }}</span>\n <span class=\"ids-date-label__year\">{{ getYearTo }}</span>\n </time>\n }\n</div>" });
|
|
101
101
|
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDateLabelComponent, decorators: [{
|
|
103
103
|
type: Component,
|
|
104
104
|
args: [{ selector: "id-date-label", standalone: true, template: "<div class=\"ids-date-label\">\n <time class=\"ids-date-label__time\"\n [attr.aria-label]=\"(dateTo || (dayTo && monthTo && yearTo)) ? 'Fr\u00E5n: ' + getYear + ' ' + displayMonthText + ' ' + displayDay : null\"\n [attr.datetime]=\"displayDay + '-' + (getMonth < 10 ? '0' + month : month) + '-' + getYear\">\n <span class=\"ids-date-label__day\">{{ displayDay }}</span>\n <span class=\"ids-date-label__month\">{{ displayMonth }}</span>\n <span class=\"ids-date-label__year\">{{ getYear }}</span>\n </time>\n @if(dateTo || (dayTo && monthTo && yearTo)) {\n <time class=\"ids-date-label__time ids-date-label__time--separator\"\n [attr.aria-label]=\"'Till: ' + getYearTo + ' ' + displayMonthTo + ' ' + displayDayTo\"\n [attr.datetime]=\"displayDayTo + '-' + (monthTo! < 10 ? '0' + month : month) + '-' + yearTo\">\n <span class=\"ids-date-label__day\">{{ displayDayTo }}</span>\n <span class=\"ids-date-label__month\">{{ displayMonthTo }}</span>\n <span class=\"ids-date-label__year\">{{ getYearTo }}</span>\n </time>\n }\n</div>" }]
|
|
105
105
|
}], propDecorators: { date: [{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, EventEmitter, HostListener, Output, inject, DestroyRef,
|
|
2
|
+
import { Component, EventEmitter, HostListener, Output, contentChild, contentChildren, inject, DestroyRef, viewChild, booleanAttribute, Input, NgModule } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
@@ -7,10 +7,10 @@ import { IDUseIdService, useFocusTrap, IDClickOutsideDirective } from '@inera/id
|
|
|
7
7
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
8
8
|
|
|
9
9
|
class IDDialogTriggerComponent {
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
11
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IDDialogTriggerComponent, isStandalone: true, selector: "id-dialog-trigger", ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogTriggerComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
15
|
args: [{
|
|
16
16
|
selector: 'id-dialog-trigger',
|
|
@@ -24,10 +24,10 @@ class IDDialogCloseComponent {
|
|
|
24
24
|
onClick = (e) => {
|
|
25
25
|
this.closed.emit(e);
|
|
26
26
|
};
|
|
27
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
28
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogCloseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IDDialogCloseComponent, isStandalone: true, selector: "id-dialog-close", outputs: { closed: "closed" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogCloseComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
32
|
args: [{
|
|
33
33
|
selector: 'id-dialog-close',
|
|
@@ -47,7 +47,7 @@ class IDDialogComponent {
|
|
|
47
47
|
this.hideDialog(event);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
trigger;
|
|
50
|
+
trigger = contentChild(IDDialogTriggerComponent);
|
|
51
51
|
dismissible = false;
|
|
52
52
|
srCloseText = '';
|
|
53
53
|
noFocusTrap = false;
|
|
@@ -60,13 +60,13 @@ class IDDialogComponent {
|
|
|
60
60
|
closed = new EventEmitter();
|
|
61
61
|
opened = new EventEmitter();
|
|
62
62
|
showChange = new EventEmitter();
|
|
63
|
-
closeComponents;
|
|
63
|
+
closeComponents = contentChildren(IDDialogCloseComponent, { descendants: true });
|
|
64
64
|
idService = inject(IDUseIdService);
|
|
65
65
|
destroyRef = inject(DestroyRef);
|
|
66
66
|
contentId = this.idService.generateId('dialog-content');
|
|
67
67
|
headingId = this.idService.generateId('dialog-heading');
|
|
68
68
|
ngAfterContentInit() {
|
|
69
|
-
this.closeComponents.forEach((closeComponent) => {
|
|
69
|
+
this.closeComponents().forEach((closeComponent) => {
|
|
70
70
|
closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
|
|
71
71
|
this.hideDialog(event);
|
|
72
72
|
});
|
|
@@ -75,8 +75,10 @@ class IDDialogComponent {
|
|
|
75
75
|
ngOnDestroy() {
|
|
76
76
|
this.reusableFocusTrap.destroy();
|
|
77
77
|
}
|
|
78
|
-
dialogContent;
|
|
79
|
-
reusableFocusTrap = useFocusTrap(() => this.dialogContent, {
|
|
78
|
+
dialogContent = viewChild.required('dialogContent');
|
|
79
|
+
reusableFocusTrap = useFocusTrap(() => this.dialogContent(), {
|
|
80
|
+
disabled: () => this.noFocusTrap,
|
|
81
|
+
});
|
|
80
82
|
toggleDialog(event) {
|
|
81
83
|
if (this.show) {
|
|
82
84
|
this.hideDialog(event);
|
|
@@ -108,18 +110,15 @@ class IDDialogComponent {
|
|
|
108
110
|
this.closed.emit(event);
|
|
109
111
|
this.showChange.emit(this.show);
|
|
110
112
|
}
|
|
111
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
112
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
113
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
114
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: IDDialogComponent, isStandalone: true, selector: "id-dialog", inputs: { dismissible: ["dismissible", "dismissible", booleanAttribute], srCloseText: "srCloseText", noFocusTrap: ["noFocusTrap", "noFocusTrap", booleanAttribute], keepScrollbar: ["keepScrollbar", "keepScrollbar", booleanAttribute], noOverlay: ["noOverlay", "noOverlay", booleanAttribute], persistent: ["persistent", "persistent", booleanAttribute], show: ["show", "show", booleanAttribute], width: "width", maxWidth: "maxWidth" }, outputs: { closed: "closed", opened: "opened", showChange: "showChange" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, queries: [{ propertyName: "trigger", first: true, predicate: IDDialogTriggerComponent, descendants: true, isSignal: true }, { propertyName: "closeComponents", predicate: IDDialogCloseComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger() !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n class=\"ids-dialog__close-button\"\n [attr.aria-label]=\"srCloseText\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
|
|
113
115
|
}
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogComponent, decorators: [{
|
|
115
117
|
type: Component,
|
|
116
|
-
args: [{ selector: 'id-dialog', standalone: true, imports: [CommonModule, A11yModule, IDClickOutsideDirective], template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n
|
|
118
|
+
args: [{ selector: 'id-dialog', standalone: true, imports: [CommonModule, A11yModule, IDClickOutsideDirective], template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger() !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n class=\"ids-dialog__close-button\"\n [attr.aria-label]=\"srCloseText\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n" }]
|
|
117
119
|
}], propDecorators: { onEsc: [{
|
|
118
120
|
type: HostListener,
|
|
119
121
|
args: ['document:keydown.escape', ['$event']]
|
|
120
|
-
}], trigger: [{
|
|
121
|
-
type: ContentChild,
|
|
122
|
-
args: [IDDialogTriggerComponent]
|
|
123
122
|
}], dismissible: [{
|
|
124
123
|
type: Input,
|
|
125
124
|
args: [{ transform: booleanAttribute }]
|
|
@@ -150,19 +149,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
150
149
|
type: Output
|
|
151
150
|
}], showChange: [{
|
|
152
151
|
type: Output
|
|
153
|
-
}], closeComponents: [{
|
|
154
|
-
type: ContentChildren,
|
|
155
|
-
args: [IDDialogCloseComponent, { descendants: true }]
|
|
156
|
-
}], dialogContent: [{
|
|
157
|
-
type: ViewChild,
|
|
158
|
-
args: ['dialogContent', { static: true }]
|
|
159
152
|
}] } });
|
|
160
153
|
|
|
161
154
|
class IDDialogHeaderComponent {
|
|
162
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
163
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
155
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
156
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IDDialogHeaderComponent, isStandalone: true, selector: "id-dialog-header", ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
164
157
|
}
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogHeaderComponent, decorators: [{
|
|
166
159
|
type: Component,
|
|
167
160
|
args: [{
|
|
168
161
|
selector: 'id-dialog-header',
|
|
@@ -172,10 +165,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
172
165
|
}] });
|
|
173
166
|
|
|
174
167
|
class IDDialogContentComponent {
|
|
175
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
176
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
168
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
169
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IDDialogContentComponent, isStandalone: true, selector: "id-dialog-content", ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
177
170
|
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogContentComponent, decorators: [{
|
|
179
172
|
type: Component,
|
|
180
173
|
args: [{
|
|
181
174
|
selector: 'id-dialog-content',
|
|
@@ -185,10 +178,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
185
178
|
}] });
|
|
186
179
|
|
|
187
180
|
class IDDialogFooterComponent {
|
|
188
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
189
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
181
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
182
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IDDialogFooterComponent, isStandalone: true, selector: "id-dialog-footer", host: { classAttribute: "ids-dialog__footer" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
190
183
|
}
|
|
191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogFooterComponent, decorators: [{
|
|
192
185
|
type: Component,
|
|
193
186
|
args: [{
|
|
194
187
|
selector: 'id-dialog-footer',
|
|
@@ -200,9 +193,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
200
193
|
}]
|
|
201
194
|
}] });
|
|
202
195
|
|
|
196
|
+
class IDDialogModule {
|
|
197
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
198
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: IDDialogModule, imports: [IDDialogComponent,
|
|
199
|
+
IDDialogHeaderComponent,
|
|
200
|
+
IDDialogContentComponent,
|
|
201
|
+
IDDialogFooterComponent,
|
|
202
|
+
IDDialogTriggerComponent,
|
|
203
|
+
IDDialogCloseComponent], exports: [IDDialogComponent,
|
|
204
|
+
IDDialogHeaderComponent,
|
|
205
|
+
IDDialogContentComponent,
|
|
206
|
+
IDDialogFooterComponent,
|
|
207
|
+
IDDialogTriggerComponent,
|
|
208
|
+
IDDialogCloseComponent] });
|
|
209
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogModule, imports: [IDDialogComponent] });
|
|
210
|
+
}
|
|
211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDialogModule, decorators: [{
|
|
212
|
+
type: NgModule,
|
|
213
|
+
args: [{
|
|
214
|
+
imports: [
|
|
215
|
+
IDDialogComponent,
|
|
216
|
+
IDDialogHeaderComponent,
|
|
217
|
+
IDDialogContentComponent,
|
|
218
|
+
IDDialogFooterComponent,
|
|
219
|
+
IDDialogTriggerComponent,
|
|
220
|
+
IDDialogCloseComponent,
|
|
221
|
+
],
|
|
222
|
+
exports: [
|
|
223
|
+
IDDialogComponent,
|
|
224
|
+
IDDialogHeaderComponent,
|
|
225
|
+
IDDialogContentComponent,
|
|
226
|
+
IDDialogFooterComponent,
|
|
227
|
+
IDDialogTriggerComponent,
|
|
228
|
+
IDDialogCloseComponent,
|
|
229
|
+
],
|
|
230
|
+
}]
|
|
231
|
+
}] });
|
|
232
|
+
|
|
203
233
|
/**
|
|
204
234
|
* Generated bundle index. Do not edit.
|
|
205
235
|
*/
|
|
206
236
|
|
|
207
|
-
export { IDDialogCloseComponent, IDDialogComponent, IDDialogContentComponent, IDDialogFooterComponent, IDDialogHeaderComponent, IDDialogTriggerComponent };
|
|
237
|
+
export { IDDialogCloseComponent, IDDialogComponent, IDDialogContentComponent, IDDialogFooterComponent, IDDialogHeaderComponent, IDDialogModule, IDDialogTriggerComponent };
|
|
208
238
|
//# sourceMappingURL=inera-ids-angular-components-dialog.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-dialog.mjs","sources":["../../../projects/ids-angular/components/dialog/dialog-trigger.component.ts","../../../projects/ids-angular/components/dialog/dialog-close.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.html","../../../projects/ids-angular/components/dialog/dialog-header.component.ts","../../../projects/ids-angular/components/dialog/dialog-content.component.ts","../../../projects/ids-angular/components/dialog/dialog-footer.component.ts","../../../projects/ids-angular/components/dialog/inera-ids-angular-components-dialog.ts"],"sourcesContent":["import { Component} from '@angular/core';\n\n@Component({\n selector: 'id-dialog-trigger',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogTriggerComponent {}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDDialogCloseComponent {\n @Output() closed = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.closed.emit(e);\n }\n}","import { AfterContentInit, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, EventEmitter, HostListener, Input, OnDestroy, Output, QueryList, ViewChild, booleanAttribute, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CommonModule } from '@angular/common';\nimport { IDDialogTriggerComponent } from './dialog-trigger.component';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { IDDialogCloseComponent } from './dialog-close.component';\n\n@Component({\n selector: 'id-dialog',\n templateUrl: './dialog.component.html',\n standalone: true,\n imports:[CommonModule, A11yModule, IDClickOutsideDirective],\n})\n\nexport class IDDialogComponent implements AfterContentInit, OnDestroy {\n\n @HostListener('document:keydown.escape', ['$event'])\n onEsc(event: Event) {\n if (this.show && !this.persistent) {\n this.hideDialog(event);\n }\n }\n\n @ContentChild(IDDialogTriggerComponent)\n trigger:IDDialogTriggerComponent;\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input() srCloseText: string = '';\n @Input({ transform: booleanAttribute }) noFocusTrap: boolean = false;\n @Input({ transform: booleanAttribute }) keepScrollbar: boolean = false;\n @Input({ transform: booleanAttribute }) noOverlay: boolean = false;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) show: boolean = false;\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ContentChildren(IDDialogCloseComponent, {descendants: true})\n closeComponents: QueryList<IDDialogCloseComponent>;\n \n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('dialog-content');\n headingId = this.idService.generateId('dialog-heading');\n\n ngAfterContentInit(): void {\n this.closeComponents.forEach((closeComponent) => {\n closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event: Event) => {\n this.hideDialog(event);\n })\n });\n }\n\n ngOnDestroy(): void {\n this.reusableFocusTrap.destroy();\n }\n\n @ViewChild('dialogContent', { static: true })\n dialogContent!: ElementRef\n \n private reusableFocusTrap = useFocusTrap(\n () => this.dialogContent,\n { disabled: () => this.noFocusTrap }\n );\n\n protected toggleDialog(event: Event):void {\n if(this.show) {\n this.hideDialog(event);\n } else {\n this.showDialog(event);\n }\n }\n protected overlayClicked(event: Event):void {\n if (!this.persistent) {\n this.hideDialog(event);\n }\n }\n\n showDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.add('ids-hide-overflow');\n }\n this.show = true;\n this.opened.emit(event)\n this.showChange.emit(this.show);\n this.reusableFocusTrap.create();\n }\n\n hideDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.remove('ids-hide-overflow');\n }\n this.reusableFocusTrap.destroy();\n this.show = false;\n this.closed.emit(event)\n this.showChange.emit(this.show);\n }\n\n}\n","<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-header',\n template: '<ng-content></ng-content>',\n standalone: true,\n})\nexport class IDDialogHeaderComponent {}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-content',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogContentComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-footer',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-dialog__footer'\n }\n})\nexport class IDDialogFooterComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-dialog.mjs","sources":["../../../projects/ids-angular/components/dialog/dialog-trigger.component.ts","../../../projects/ids-angular/components/dialog/dialog-close.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.html","../../../projects/ids-angular/components/dialog/dialog-header.component.ts","../../../projects/ids-angular/components/dialog/dialog-content.component.ts","../../../projects/ids-angular/components/dialog/dialog-footer.component.ts","../../../projects/ids-angular/components/dialog/dialog.module.ts","../../../projects/ids-angular/components/dialog/inera-ids-angular-components-dialog.ts"],"sourcesContent":["import { Component} from '@angular/core';\n\n@Component({\n selector: 'id-dialog-trigger',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogTriggerComponent {}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDDialogCloseComponent {\n @Output() closed = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.closed.emit(e);\n }\n}","import {\n AfterContentInit,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n viewChild,\n booleanAttribute,\n inject,\n contentChild,\n contentChildren,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CommonModule } from '@angular/common';\nimport { IDDialogTriggerComponent } from './dialog-trigger.component';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { IDDialogCloseComponent } from './dialog-close.component';\n\n@Component({\n selector: 'id-dialog',\n templateUrl: './dialog.component.html',\n standalone: true,\n imports: [CommonModule, A11yModule, IDClickOutsideDirective],\n})\nexport class IDDialogComponent implements AfterContentInit, OnDestroy {\n @HostListener('document:keydown.escape', ['$event'])\n onEsc(event: Event) {\n if (this.show && !this.persistent) {\n this.hideDialog(event);\n }\n }\n\n trigger = contentChild(IDDialogTriggerComponent);\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input() srCloseText: string = '';\n @Input({ transform: booleanAttribute }) noFocusTrap: boolean = false;\n @Input({ transform: booleanAttribute }) keepScrollbar: boolean = false;\n @Input({ transform: booleanAttribute }) noOverlay: boolean = false;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) show: boolean = false;\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n closeComponents = contentChildren(IDDialogCloseComponent, { descendants: true });\n\n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('dialog-content');\n headingId = this.idService.generateId('dialog-heading');\n\n ngAfterContentInit(): void {\n this.closeComponents().forEach((closeComponent) => {\n closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event: Event) => {\n this.hideDialog(event);\n });\n });\n }\n\n ngOnDestroy(): void {\n this.reusableFocusTrap.destroy();\n }\n\n dialogContent = viewChild.required<ElementRef>('dialogContent');\n\n private reusableFocusTrap = useFocusTrap(() => this.dialogContent(), {\n disabled: () => this.noFocusTrap,\n });\n\n protected toggleDialog(event: Event): void {\n if (this.show) {\n this.hideDialog(event);\n } else {\n this.showDialog(event);\n }\n }\n protected overlayClicked(event: Event): void {\n if (!this.persistent) {\n this.hideDialog(event);\n }\n }\n\n showDialog(event: Event): void {\n if (!this.noOverlay) {\n document.body.classList.add('ids-hide-overflow');\n }\n this.show = true;\n this.opened.emit(event);\n this.showChange.emit(this.show);\n this.reusableFocusTrap.create();\n }\n\n hideDialog(event: Event): void {\n if (!this.noOverlay) {\n document.body.classList.remove('ids-hide-overflow');\n }\n this.reusableFocusTrap.destroy();\n this.show = false;\n this.closed.emit(event);\n this.showChange.emit(this.show);\n }\n}\n","<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger() !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n class=\"ids-dialog__close-button\"\n [attr.aria-label]=\"srCloseText\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-header',\n template: '<ng-content></ng-content>',\n standalone: true,\n})\nexport class IDDialogHeaderComponent {}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-content',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogContentComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-footer',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-dialog__footer'\n }\n})\nexport class IDDialogFooterComponent {}\n","import { NgModule } from '@angular/core';\n\nimport { IDDialogComponent } from './dialog.component';\nimport { IDDialogHeaderComponent } from './dialog-header.component';\nimport { IDDialogContentComponent } from './dialog-content.component';\nimport { IDDialogFooterComponent } from './dialog-footer.component';\nimport { IDDialogTriggerComponent } from './dialog-trigger.component';\nimport { IDDialogCloseComponent } from './dialog-close.component';\n\n@NgModule({\n imports: [\n IDDialogComponent,\n IDDialogHeaderComponent,\n IDDialogContentComponent,\n IDDialogFooterComponent,\n IDDialogTriggerComponent,\n IDDialogCloseComponent,\n ],\n exports: [\n IDDialogComponent,\n IDDialogHeaderComponent,\n IDDialogContentComponent,\n IDDialogFooterComponent,\n IDDialogTriggerComponent,\n IDDialogCloseComponent,\n ],\n})\nexport class IDDialogModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAOa,wBAAwB,CAAA;wGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,6EAHzB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAG1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCCY,sBAAsB,CAAA;AACvB,IAAA,MAAM,GAAG,IAAI,YAAY,EAAS;AAG5C,IAAA,OAAO,GAAG,CAAC,CAAO,KAAI;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACrB,IAAA,CAAC;wGANU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,yJAFvB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAE1B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACtC,iBAAA;8BAEW,MAAM,EAAA,CAAA;sBAAf;gBAGD,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO;;;MCoBV,iBAAiB,CAAA;AAE5B,IAAA,KAAK,CAAC,KAAY,EAAA;QAChB,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACjC,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB;IACF;AAEA,IAAA,OAAO,GAAG,YAAY,CAAC,wBAAwB,CAAC;IAER,WAAW,GAAY,KAAK;IAC3D,WAAW,GAAW,EAAE;IACO,WAAW,GAAY,KAAK;IAC5B,aAAa,GAAY,KAAK;IAC9B,SAAS,GAAY,KAAK;IAC1B,UAAU,GAAY,KAAK;IAC3B,IAAI,GAAY,KAAK;IACpD,KAAK,GAAW,EAAE;IAClB,QAAQ,GAAW,EAAE;AAEpB,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAE;AAChD,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAE;AAChD,IAAA,UAAU,GAA0B,IAAI,YAAY,EAAW;IAEzE,eAAe,GAAG,eAAe,CAAC,sBAAsB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAExE,IAAA,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AAClC,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC;IACvD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC;IAEvD,kBAAkB,GAAA;QAChB,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,cAAc,KAAI;AAChD,YAAA,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAY,KAAI;AACzF,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AACxB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;IAClC;AAEA,IAAA,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAa,eAAe,CAAC;IAEvD,iBAAiB,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE;AACnE,QAAA,QAAQ,EAAE,MAAM,IAAI,CAAC,WAAW;AACjC,KAAA,CAAC;AAEQ,IAAA,YAAY,CAAC,KAAY,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB;aAAO;AACL,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB;IACF;AACU,IAAA,cAAc,CAAC,KAAY,EAAA;AACnC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB;IACF;AAEA,IAAA,UAAU,CAAC,KAAY,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAClD;AACA,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;IACjC;AAEA,IAAA,UAAU,CAAC,KAAY,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACrD;AACA,QAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;AAChC,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC;wGAhFW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAUR,gBAAgB,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAEhB,gBAAgB,qDAChB,gBAAgB,CAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAChB,gBAAgB,CAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAChB,gBAAgB,CAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAChB,gBAAgB,CAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,yBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EARb,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAgBb,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtD1D,8rDA+DA,2CDnCY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAEhD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;+BACE,WAAW,EAAA,UAAA,EAET,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,UAAU,EAAE,uBAAuB,CAAC,EAAA,QAAA,EAAA,8rDAAA,EAAA;8BAI5D,KAAK,EAAA,CAAA;sBADJ,YAAY;uBAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC;gBASX,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,WAAW,EAAA,CAAA;sBAAnB;gBACuC,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,aAAa,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAES,MAAM,EAAA,CAAA;sBAAf;gBACS,MAAM,EAAA,CAAA;sBAAf;gBACS,UAAU,EAAA,CAAA;sBAAnB;;;ME7CU,uBAAuB,CAAA;wGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,4EAHxB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAG1B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCCY,wBAAwB,CAAA;wGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,6EAHzB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAG1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCIY,uBAAuB,CAAA;wGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,4HANxB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAM1B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;;;MCkBY,cAAc,CAAA;wGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAhBvB,iBAAiB;YACjB,uBAAuB;YACvB,wBAAwB;YACxB,uBAAuB;YACvB,wBAAwB;AACxB,YAAA,sBAAsB,aAGtB,iBAAiB;YACjB,uBAAuB;YACvB,wBAAwB;YACxB,uBAAuB;YACvB,wBAAwB;YACxB,sBAAsB,CAAA,EAAA,CAAA;AAGb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAhBvB,iBAAiB,CAAA,EAAA,CAAA;;4FAgBR,cAAc,EAAA,UAAA,EAAA,CAAA;kBAlB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,uBAAuB;wBACvB,wBAAwB;wBACxB,uBAAuB;wBACvB,wBAAwB;wBACxB,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,uBAAuB;wBACvB,wBAAwB;wBACxB,uBAAuB;wBACvB,wBAAwB;wBACxB,sBAAsB;AACvB,qBAAA;AACF,iBAAA;;;AC1BD;;AAEG;;;;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, booleanAttribute, Output, Input, Component } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { IDRegionIconComponent } from '@inera/ids-angular/components/region-icon';
|
|
5
|
+
import { IDButtonDirective } from '@inera/ids-angular/components/button';
|
|
6
|
+
|
|
7
|
+
class IDDistrictSelectorComponent {
|
|
8
|
+
label = 'Anpassa innheållet';
|
|
9
|
+
region;
|
|
10
|
+
districtText = '';
|
|
11
|
+
buttonText = 'Välj distrikt';
|
|
12
|
+
buttonSelectedText = 'Byt distrikt';
|
|
13
|
+
selected = false;
|
|
14
|
+
clicked = new EventEmitter();
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDistrictSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: IDDistrictSelectorComponent, isStandalone: true, selector: "id-district-selector", inputs: { label: "label", region: "region", districtText: "districtText", buttonText: "buttonText", buttonSelectedText: "buttonSelectedText", selected: ["selected", "selected", booleanAttribute] }, outputs: { clicked: "clicked" }, host: { classAttribute: "ids-district-selector" }, ngImport: i0, template: "<div class=\"ids-district-selector__inner\">\n <div class=\"ids-district-selector__content\">\n @if (selected) {\n <div class=\"ids-district-selector__district-icon\">\n <id-region-icon\n [colorPreset]=\"4\"\n size=\"s\"\n [name]=\"region\"\n [attr.title]=\"region\"\n [attr.aria-label]=\"region\"\n ></id-region-icon>\n </div>\n }\n\n @if (selected && districtText) {\n <div class=\"ids-district-selector__district-text\">\n {{ districtText }}\n </div>\n }\n\n @if (!selected) {\n <div class=\"ids-district-selector__label\">\n {{ label }}\n </div>\n }\n </div>\n\n <div class=\"ids-district-selector__button\">\n <button\n (click)=\"clicked.emit()\"\n idButton\n size=\"s\"\n [tertiary]=\"true\"\n >\n {{ selected ? buttonSelectedText : buttonText }}\n </button>\n </div>\n\n <ng-content select=\":not(id-region-icon)\"></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: IDButtonDirective, selector: "button[idButton], a[idButton]", inputs: ["block", "secondary", "fab", "icon", "tertiary", "submit", "sBlock", "mBlock", "toggle", "active", "size", "loading"] }, { kind: "component", type: IDRegionIconComponent, selector: "id-region-icon", inputs: ["name", "title", "colorPreset", "size", "inline", "light"] }] });
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDistrictSelectorComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'id-district-selector', standalone: true, imports: [CommonModule, IDButtonDirective, IDRegionIconComponent], host: {
|
|
21
|
+
class: 'ids-district-selector',
|
|
22
|
+
}, template: "<div class=\"ids-district-selector__inner\">\n <div class=\"ids-district-selector__content\">\n @if (selected) {\n <div class=\"ids-district-selector__district-icon\">\n <id-region-icon\n [colorPreset]=\"4\"\n size=\"s\"\n [name]=\"region\"\n [attr.title]=\"region\"\n [attr.aria-label]=\"region\"\n ></id-region-icon>\n </div>\n }\n\n @if (selected && districtText) {\n <div class=\"ids-district-selector__district-text\">\n {{ districtText }}\n </div>\n }\n\n @if (!selected) {\n <div class=\"ids-district-selector__label\">\n {{ label }}\n </div>\n }\n </div>\n\n <div class=\"ids-district-selector__button\">\n <button\n (click)=\"clicked.emit()\"\n idButton\n size=\"s\"\n [tertiary]=\"true\"\n >\n {{ selected ? buttonSelectedText : buttonText }}\n </button>\n </div>\n\n <ng-content select=\":not(id-region-icon)\"></ng-content>\n</div>\n" }]
|
|
23
|
+
}], propDecorators: { label: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}], region: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], districtText: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], buttonText: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], buttonSelectedText: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], selected: [{
|
|
34
|
+
type: Input,
|
|
35
|
+
args: [{ transform: booleanAttribute }]
|
|
36
|
+
}], clicked: [{
|
|
37
|
+
type: Output
|
|
38
|
+
}] } });
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Generated bundle index. Do not edit.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
export { IDDistrictSelectorComponent };
|
|
45
|
+
//# sourceMappingURL=inera-ids-angular-components-district-selector.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-district-selector.mjs","sources":["../../../projects/ids-angular/components/district-selector/district-selector.component.ts","../../../projects/ids-angular/components/district-selector/district-selector.component.html","../../../projects/ids-angular/components/district-selector/inera-ids-angular-components-district-selector.ts"],"sourcesContent":["import { booleanAttribute, Component, contentChild, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IDRegionIconComponent } from '@inera/ids-angular/components/region-icon';\nimport { IDButtonDirective } from '@inera/ids-angular/components/button';\n\n@Component({\n selector: 'id-district-selector',\n standalone: true,\n imports: [CommonModule, IDButtonDirective, IDRegionIconComponent],\n templateUrl: './district-selector.component.html',\n host: {\n class: 'ids-district-selector',\n },\n})\nexport class IDDistrictSelectorComponent {\n @Input() label: string = 'Anpassa innheållet';\n @Input() region: '' | \n \"blekinge\" | \n \"dalarna\" |\n \"gavleborg\" |\n \"gotland\" |\n \"halland\" |\n \"jamtland-harjedalen\" |\n \"jonkoping\" |\n \"kalmar\" |\n \"kronoberg\" |\n \"norrbotten\" |\n \"orebro\" |\n \"ostergotland\" |\n \"skane\" |\n \"sormland\" |\n \"stockholm\" |\n \"uppsala\" |\n \"varmland\" |\n \"vasterbotten\" |\n \"vasternorrland\" |\n \"vastmanland\" |\n \"vastragotaland\";\n @Input() districtText: string = '';\n @Input() buttonText: string = 'Välj distrikt';\n @Input() buttonSelectedText: string = 'Byt distrikt';\n @Input({ transform: booleanAttribute }) selected = false;\n\n @Output() clicked = new EventEmitter<void>();\n}\n","<div class=\"ids-district-selector__inner\">\n <div class=\"ids-district-selector__content\">\n @if (selected) {\n <div class=\"ids-district-selector__district-icon\">\n <id-region-icon\n [colorPreset]=\"4\"\n size=\"s\"\n [name]=\"region\"\n [attr.title]=\"region\"\n [attr.aria-label]=\"region\"\n ></id-region-icon>\n </div>\n }\n\n @if (selected && districtText) {\n <div class=\"ids-district-selector__district-text\">\n {{ districtText }}\n </div>\n }\n\n @if (!selected) {\n <div class=\"ids-district-selector__label\">\n {{ label }}\n </div>\n }\n </div>\n\n <div class=\"ids-district-selector__button\">\n <button\n (click)=\"clicked.emit()\"\n idButton\n size=\"s\"\n [tertiary]=\"true\"\n >\n {{ selected ? buttonSelectedText : buttonText }}\n </button>\n </div>\n\n <ng-content select=\":not(id-region-icon)\"></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAca,2BAA2B,CAAA;IAC7B,KAAK,GAAW,oBAAoB;AACpC,IAAA,MAAM;IAsBN,YAAY,GAAW,EAAE;IACzB,UAAU,GAAW,eAAe;IACpC,kBAAkB,GAAW,cAAc;IACZ,QAAQ,GAAG,KAAK;AAE9C,IAAA,OAAO,GAAG,IAAI,YAAY,EAAQ;wGA7BjC,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EA2BlB,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzCtC,++BAwCA,2CDhCY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,KAAA,EAAA,MAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAMrD,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBATvC,SAAS;+BACE,sBAAsB,EAAA,UAAA,EACpB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,EAAA,IAAA,EAE3D;AACJ,wBAAA,KAAK,EAAE,uBAAuB;AAC/B,qBAAA,EAAA,QAAA,EAAA,++BAAA,EAAA;8BAGQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBAsBQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACuC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAE5B,OAAO,EAAA,CAAA;sBAAhB;;;AE3CH;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, inject, ElementRef, booleanAttribute, HostListener,
|
|
2
|
+
import { EventEmitter, viewChild, inject, ElementRef, booleanAttribute, HostListener, Output, Input, Component, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@inera/ids-angular/common';
|
|
4
4
|
import { IDUseIdService, useFocusTrap, IDClickOutsideDirective } from '@inera/ids-angular/common';
|
|
5
5
|
|
|
@@ -13,10 +13,10 @@ class IDDropdownComponent {
|
|
|
13
13
|
position = 'right';
|
|
14
14
|
closed = new EventEmitter();
|
|
15
15
|
opened = new EventEmitter();
|
|
16
|
-
dropdownContent;
|
|
16
|
+
dropdownContent = viewChild('dropdownContent');
|
|
17
17
|
useId = inject(IDUseIdService);
|
|
18
18
|
host = inject(ElementRef);
|
|
19
|
-
focusTrap = useFocusTrap(() => this.dropdownContent, { disabled: () => !this.expanded });
|
|
19
|
+
focusTrap = useFocusTrap(() => this.dropdownContent(), { disabled: () => !this.expanded });
|
|
20
20
|
contentId = this.useId.generateId('dropdown');
|
|
21
21
|
triggerId = this.useId.generateId('dropdown-trigger');
|
|
22
22
|
trigger;
|
|
@@ -85,10 +85,10 @@ class IDDropdownComponent {
|
|
|
85
85
|
const firstFocusable = hostEl.querySelector('[idDropdownItem]');
|
|
86
86
|
firstFocusable?.focus();
|
|
87
87
|
}
|
|
88
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
89
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
88
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: IDDropdownComponent, isStandalone: true, selector: "id-dropdown", inputs: { sBlock: ["sBlock", "sBlock", booleanAttribute], mBlock: ["mBlock", "mBlock", booleanAttribute], minWidth: "minWidth", maxHeight: "maxHeight", persistent: ["persistent", "persistent", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], position: "position" }, outputs: { closed: "closed", opened: "opened" }, host: { listeners: { "idClickOutside": "closeIfNotPersistent()", "window:keydown": "handleKeyDown($event)" }, properties: { "class": "baseAndPositionClasses", "class.ids-dropdown--s-block": "sBlock", "class.ids-dropdown--m-block": "mBlock" } }, viewQueries: [{ propertyName: "dropdownContent", first: true, predicate: ["dropdownContent"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.IDClickOutsideDirective, outputs: ["idClickOutside", "idClickOutside"] }], ngImport: i0, template: "<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n #dropdownContent\n class=\"ids-dropdown-content\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"triggerId\"\n [style.min-width]=\"minWidth\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n" });
|
|
90
90
|
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDropdownComponent, decorators: [{
|
|
92
92
|
type: Component,
|
|
93
93
|
args: [{ selector: 'id-dropdown', standalone: true, host: {
|
|
94
94
|
'[class]': 'baseAndPositionClasses',
|
|
@@ -123,21 +123,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
123
123
|
type: Output
|
|
124
124
|
}], opened: [{
|
|
125
125
|
type: Output
|
|
126
|
-
}], dropdownContent: [{
|
|
127
|
-
type: ViewChild,
|
|
128
|
-
args: ['dropdownContent']
|
|
129
126
|
}], handleKeyDown: [{
|
|
130
127
|
type: HostListener,
|
|
131
128
|
args: ['window:keydown', ['$event']]
|
|
132
129
|
}] } });
|
|
133
130
|
|
|
134
131
|
class IDDropdownTriggerComponent {
|
|
135
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
136
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
132
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDropdownTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IDDropdownTriggerComponent, isStandalone: true, selector: "id-dropdown-trigger", ngImport: i0, template: `
|
|
137
134
|
<ng-content></ng-content>
|
|
138
135
|
`, isInline: true });
|
|
139
136
|
}
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDropdownTriggerComponent, decorators: [{
|
|
141
138
|
type: Component,
|
|
142
139
|
args: [{
|
|
143
140
|
selector: 'id-dropdown-trigger',
|
|
@@ -149,10 +146,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
149
146
|
}] });
|
|
150
147
|
|
|
151
148
|
class IDDropdownItemDirective {
|
|
152
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
153
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
149
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDropdownItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
150
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: IDDropdownItemDirective, isStandalone: true, selector: "[idDropdownItem]", host: { classAttribute: "ids-dropdown-content__link" }, ngImport: i0 });
|
|
154
151
|
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDropdownItemDirective, decorators: [{
|
|
156
153
|
type: Directive,
|
|
157
154
|
args: [{
|
|
158
155
|
selector: '[idDropdownItem]',
|
|
@@ -164,15 +161,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
164
161
|
}] });
|
|
165
162
|
|
|
166
163
|
class IDDropdownModule {
|
|
167
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
168
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
164
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
165
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: IDDropdownModule, imports: [IDDropdownItemDirective,
|
|
169
166
|
IDDropdownComponent,
|
|
170
167
|
IDDropdownTriggerComponent], exports: [IDDropdownItemDirective,
|
|
171
168
|
IDDropdownComponent,
|
|
172
169
|
IDDropdownTriggerComponent] });
|
|
173
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
170
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDropdownModule });
|
|
174
171
|
}
|
|
175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDDropdownModule, decorators: [{
|
|
176
173
|
type: NgModule,
|
|
177
174
|
args: [{
|
|
178
175
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-dropdown.mjs","sources":["../../../projects/ids-angular/components/dropdown/dropdown.component.ts","../../../projects/ids-angular/components/dropdown/dropdown.component.html","../../../projects/ids-angular/components/dropdown/dropdown-trigger.component.ts","../../../projects/ids-angular/components/dropdown/dropdown-item.directive.ts","../../../projects/ids-angular/components/dropdown/dropdown.module.ts","../../../projects/ids-angular/components/dropdown/inera-ids-angular-components-dropdown.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n booleanAttribute,\n inject,\n ViewChild,\n} from '@angular/core';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-dropdown',\n templateUrl: './dropdown.component.html',\n standalone: true,\n host: {\n '[class]': 'baseAndPositionClasses',\n '[class.ids-dropdown--s-block]': 'sBlock',\n '[class.ids-dropdown--m-block]': 'mBlock',\n '(idClickOutside)': 'closeIfNotPersistent()',\n },\n hostDirectives: [\n {\n directive: IDClickOutsideDirective,\n outputs: ['idClickOutside'],\n },\n ],\n})\nexport class IDDropdownComponent implements AfterViewInit, OnDestroy {\n @Input({ transform: booleanAttribute }) sBlock: boolean = false;\n @Input({ transform: booleanAttribute }) mBlock: boolean = false;\n @Input() minWidth?: string;\n @Input() maxHeight?: string;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) expanded: boolean = false;\n @Input() position: 'left' | 'right' = 'right';\n\n @Output() closed: EventEmitter<void> = new EventEmitter();\n @Output() opened: EventEmitter<void> = new EventEmitter();\n\n @ViewChild('dropdownContent') dropdownContent?: ElementRef<HTMLElement>;\n\n private useId = inject(IDUseIdService);\n private host = inject(ElementRef);\n private focusTrap = useFocusTrap(() => this.dropdownContent, { disabled: () => !this.expanded });\n protected contentId = this.useId.generateId('dropdown');\n protected triggerId = this.useId.generateId('dropdown-trigger');\n protected trigger: Element | null;\n\n ngAfterViewInit() {\n this.setupTrigger();\n this.trigger?.setAttribute('id', this.triggerId);\n }\n\n ngOnDestroy(): void {\n if (this.trigger) {\n this.trigger.removeEventListener('click', this.toggleDropdown);\n }\n this.focusTrap.destroy();\n }\n\n @HostListener('window:keydown', ['$event'])\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.expanded) {\n this.closeIfNotPersistent();\n }\n }\n\n closeIfNotPersistent(): void {\n if (!this.persistent) {\n this.hasClosed();\n }\n }\n\n setupTrigger(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n this.trigger = hostEl.querySelector('id-dropdown-trigger > *');\n if (this.trigger) {\n this.trigger.addEventListener('click', this.toggleDropdown);\n this.trigger.setAttribute('aria-controls', this.contentId);\n this.trigger.setAttribute('aria-haspopup', 'dialog');\n this.trigger.setAttribute('aria-expanded', `${this.expanded}`);\n }\n }\n\n toggleDropdown = () => {\n if (this.expanded) {\n this.hasClosed();\n this.trigger?.removeAttribute('aria-expanded');\n } else {\n this.hasOpened();\n this.trigger?.setAttribute('aria-expanded', 'true');\n }\n };\n\n get baseAndPositionClasses(): string {\n const dropdownClass = 'ids-dropdown';\n const positionClass = `${dropdownClass}--position-${this.position}`;\n return `${dropdownClass} ${positionClass}`;\n }\n\n hasClosed() {\n this.expanded = false;\n this.trigger?.setAttribute('aria-expanded', 'false');\n this.closed.emit();\n this.focusTrap.destroy();\n }\n\n hasOpened() {\n this.expanded = true;\n this.trigger?.setAttribute('aria-expanded', 'true');\n this.opened.emit();\n this.focusTrap.create();\n\n setTimeout(() => {\n this.focusFirstElement();\n });\n }\n\n private focusFirstElement(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n const firstFocusable = hostEl.querySelector<HTMLElement>('[idDropdownItem]');\n firstFocusable?.focus();\n }\n}\n","<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n #dropdownContent\n class=\"ids-dropdown-content\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"triggerId\"\n [style.min-width]=\"minWidth\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dropdown-trigger',\n template: `\n <ng-content></ng-content>\n `,\n standalone: true,\n})\nexport class IDDropdownTriggerComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[idDropdownItem]',\n standalone: true,\n host: {\n class: 'ids-dropdown-content__link',\n },\n})\nexport class IDDropdownItemDirective {}\n","import { NgModule } from '@angular/core';\nimport { IDDropdownItemDirective } from './dropdown-item.directive';\nimport { IDDropdownComponent } from './dropdown.component';\nimport { IDDropdownTriggerComponent } from './dropdown-trigger.component';\n\n\n@NgModule({\n imports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n exports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n})\nexport class IDDropdownModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-dropdown.mjs","sources":["../../../projects/ids-angular/components/dropdown/dropdown.component.ts","../../../projects/ids-angular/components/dropdown/dropdown.component.html","../../../projects/ids-angular/components/dropdown/dropdown-trigger.component.ts","../../../projects/ids-angular/components/dropdown/dropdown-item.directive.ts","../../../projects/ids-angular/components/dropdown/dropdown.module.ts","../../../projects/ids-angular/components/dropdown/inera-ids-angular-components-dropdown.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n booleanAttribute,\n inject,\n viewChild,\n} from '@angular/core';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-dropdown',\n templateUrl: './dropdown.component.html',\n standalone: true,\n host: {\n '[class]': 'baseAndPositionClasses',\n '[class.ids-dropdown--s-block]': 'sBlock',\n '[class.ids-dropdown--m-block]': 'mBlock',\n '(idClickOutside)': 'closeIfNotPersistent()',\n },\n hostDirectives: [\n {\n directive: IDClickOutsideDirective,\n outputs: ['idClickOutside'],\n },\n ],\n})\nexport class IDDropdownComponent implements AfterViewInit, OnDestroy {\n @Input({ transform: booleanAttribute }) sBlock: boolean = false;\n @Input({ transform: booleanAttribute }) mBlock: boolean = false;\n @Input() minWidth?: string;\n @Input() maxHeight?: string;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) expanded: boolean = false;\n @Input() position: 'left' | 'right' = 'right';\n\n @Output() closed: EventEmitter<void> = new EventEmitter();\n @Output() opened: EventEmitter<void> = new EventEmitter();\n\n dropdownContent = viewChild<ElementRef<HTMLElement>>('dropdownContent');\n\n private useId = inject(IDUseIdService);\n private host = inject(ElementRef);\n private focusTrap = useFocusTrap(() => this.dropdownContent(), { disabled: () => !this.expanded });\n protected contentId = this.useId.generateId('dropdown');\n protected triggerId = this.useId.generateId('dropdown-trigger');\n protected trigger: Element | null;\n\n ngAfterViewInit() {\n this.setupTrigger();\n this.trigger?.setAttribute('id', this.triggerId);\n }\n\n ngOnDestroy(): void {\n if (this.trigger) {\n this.trigger.removeEventListener('click', this.toggleDropdown);\n }\n this.focusTrap.destroy();\n }\n\n @HostListener('window:keydown', ['$event'])\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.expanded) {\n this.closeIfNotPersistent();\n }\n }\n\n closeIfNotPersistent(): void {\n if (!this.persistent) {\n this.hasClosed();\n }\n }\n\n setupTrigger(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n this.trigger = hostEl.querySelector('id-dropdown-trigger > *');\n if (this.trigger) {\n this.trigger.addEventListener('click', this.toggleDropdown);\n this.trigger.setAttribute('aria-controls', this.contentId);\n this.trigger.setAttribute('aria-haspopup', 'dialog');\n this.trigger.setAttribute('aria-expanded', `${this.expanded}`);\n }\n }\n\n toggleDropdown = () => {\n if (this.expanded) {\n this.hasClosed();\n this.trigger?.removeAttribute('aria-expanded');\n } else {\n this.hasOpened();\n this.trigger?.setAttribute('aria-expanded', 'true');\n }\n };\n\n get baseAndPositionClasses(): string {\n const dropdownClass = 'ids-dropdown';\n const positionClass = `${dropdownClass}--position-${this.position}`;\n return `${dropdownClass} ${positionClass}`;\n }\n\n hasClosed() {\n this.expanded = false;\n this.trigger?.setAttribute('aria-expanded', 'false');\n this.closed.emit();\n this.focusTrap.destroy();\n }\n\n hasOpened() {\n this.expanded = true;\n this.trigger?.setAttribute('aria-expanded', 'true');\n this.opened.emit();\n this.focusTrap.create();\n\n setTimeout(() => {\n this.focusFirstElement();\n });\n }\n\n private focusFirstElement(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n const firstFocusable = hostEl.querySelector<HTMLElement>('[idDropdownItem]');\n firstFocusable?.focus();\n }\n}\n","<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n #dropdownContent\n class=\"ids-dropdown-content\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"triggerId\"\n [style.min-width]=\"minWidth\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dropdown-trigger',\n template: `\n <ng-content></ng-content>\n `,\n standalone: true,\n})\nexport class IDDropdownTriggerComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[idDropdownItem]',\n standalone: true,\n host: {\n class: 'ids-dropdown-content__link',\n },\n})\nexport class IDDropdownItemDirective {}\n","import { NgModule } from '@angular/core';\nimport { IDDropdownItemDirective } from './dropdown-item.directive';\nimport { IDDropdownComponent } from './dropdown.component';\nimport { IDDropdownTriggerComponent } from './dropdown-trigger.component';\n\n\n@NgModule({\n imports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n exports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n})\nexport class IDDropdownModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|