@inera/ids-angular 9.2.0 → 9.3.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 +1 -1
- 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/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/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 +3 -3
- 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 +4 -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 +4 -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 +2 -4
- 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 +6 -7
- package/components/header-inera-admin/nav/header-inera-admin-nav.component.d.ts +4 -4
- package/components/header-inera-admin/nav-item/header-inera-admin-nav-item.component.d.ts +4 -4
- package/components/header-inera-general/header-inera-general.component.d.ts +5 -6
- 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/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-link.component.d.ts +1 -1
- package/components/navigation/content/navigation-content.component.d.ts +1 -2
- 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 +2 -2
- package/components/side-panel/side-panel.component.d.ts +7 -6
- 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/eslint/rules/no-old-components.js +2 -2
- package/fesm2022/inera-ids-angular-common.mjs +8 -9
- package/fesm2022/inera-ids-angular-common.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-accordion.mjs +19 -28
- package/fesm2022/inera-ids-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-alert.mjs +8 -14
- package/fesm2022/inera-ids-angular-components-alert.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-box-link.mjs +8 -14
- package/fesm2022/inera-ids-angular-components-box-link.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs +15 -26
- package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-carousel.mjs +16 -23
- 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-dialog.mjs +10 -17
- package/fesm2022/inera-ids-angular-components-dialog.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-dropdown.mjs +4 -7
- package/fesm2022/inera-ids-angular-components-dropdown.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs +28 -35
- package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs +29 -35
- package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177.mjs +29 -35
- package/fesm2022/inera-ids-angular-components-footer-1177.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs +28 -35
- package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs +30 -35
- package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera.mjs +28 -35
- package/fesm2022/inera-ids-angular-components-footer-inera.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs +9 -15
- package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-input.mjs +58 -34
- 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 +6 -9
- package/fesm2022/inera-ids-angular-components-form-radio-button.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-radio.mjs +11 -17
- package/fesm2022/inera-ids-angular-components-form-radio.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-range.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-range.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs +8 -11
- package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-select.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-select.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-textarea.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-textarea.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-time.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-time.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-global-alert.mjs +11 -23
- package/fesm2022/inera-ids-angular-components-global-alert.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs +29 -59
- package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs +64 -91
- package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-1177.mjs +74 -104
- package/fesm2022/inera-ids-angular-components-header-1177.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs +31 -67
- package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera-general.mjs +22 -49
- package/fesm2022/inera-ids-angular-components-header-inera-general.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera.mjs +23 -54
- package/fesm2022/inera-ids-angular-components-header-inera.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs +6 -12
- package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-mobile-menu.mjs +13 -22
- package/fesm2022/inera-ids-angular-components-mobile-menu.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-navigation-content.mjs +7 -13
- package/fesm2022/inera-ids-angular-components-navigation-content.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-navigation-local.mjs +7 -13
- package/fesm2022/inera-ids-angular-components-navigation-local.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-popover.mjs +106 -61
- package/fesm2022/inera-ids-angular-components-popover.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-puff-list.mjs +16 -22
- package/fesm2022/inera-ids-angular-components-puff-list.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-side-menu.mjs +9 -12
- package/fesm2022/inera-ids-angular-components-side-menu.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-side-panel.mjs +91 -79
- package/fesm2022/inera-ids-angular-components-side-panel.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-stepper.mjs +5 -8
- package/fesm2022/inera-ids-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-tabs.mjs +14 -22
- package/fesm2022/inera-ids-angular-components-tabs.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-tag.mjs +5 -5
- package/fesm2022/inera-ids-angular-components-tag.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-tooltip.mjs +18 -24
- package/fesm2022/inera-ids-angular-components-tooltip.mjs.map +1 -1
- package/package.json +110 -102
- /package/common/services/{use-id.service.ts.d.ts → use-id.service.d.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Component,
|
|
2
|
+
import { inject, Component, HostBinding, Input, ElementRef, contentChild, booleanAttribute } from '@angular/core';
|
|
3
3
|
import { IDUseIdService, IDFormBase } from '@inera/ids-angular/common';
|
|
4
4
|
|
|
5
5
|
class IDInputHintComponent {
|
|
@@ -37,10 +37,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
37
37
|
}]
|
|
38
38
|
}] });
|
|
39
39
|
|
|
40
|
+
class IDInputIconComponent {
|
|
41
|
+
name;
|
|
42
|
+
get class() {
|
|
43
|
+
return ['ids-input__icon', 'ids-icon-' + this.name].join(" ");
|
|
44
|
+
}
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDInputIconComponent, isStandalone: true, selector: "id-input-icon", inputs: { name: "name" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<ng-content></ng-content>", isInline: true });
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputIconComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{
|
|
51
|
+
selector: "id-input-icon",
|
|
52
|
+
template: "<ng-content></ng-content>",
|
|
53
|
+
standalone: true,
|
|
54
|
+
}]
|
|
55
|
+
}], propDecorators: { name: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], class: [{
|
|
58
|
+
type: HostBinding
|
|
59
|
+
}] } });
|
|
60
|
+
|
|
61
|
+
class IDInputClearButtonComponent {
|
|
62
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputClearButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDInputClearButtonComponent, isStandalone: true, selector: "id-input-clear-button", host: { classAttribute: "ids-input__clear-button" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputClearButtonComponent, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{
|
|
68
|
+
selector: 'id-input-clear-button',
|
|
69
|
+
template: '<ng-content></ng-content>',
|
|
70
|
+
standalone: true,
|
|
71
|
+
host: {
|
|
72
|
+
class: 'ids-input__clear-button',
|
|
73
|
+
},
|
|
74
|
+
}]
|
|
75
|
+
}] });
|
|
76
|
+
|
|
40
77
|
class IDInputComponent extends IDFormBase {
|
|
41
78
|
elementRef = inject(ElementRef);
|
|
42
|
-
hintComponent;
|
|
43
|
-
|
|
79
|
+
hintComponent = contentChild(IDInputHintComponent);
|
|
80
|
+
iconComponent = contentChild(IDInputIconComponent);
|
|
81
|
+
clearButtonComponent = contentChild(IDInputClearButtonComponent);
|
|
82
|
+
unitComponent = contentChild(IDInputUnitComponent);
|
|
44
83
|
showSearchLabel = false;
|
|
45
84
|
search = false;
|
|
46
85
|
externalClasses = [];
|
|
@@ -53,6 +92,18 @@ class IDInputComponent extends IDFormBase {
|
|
|
53
92
|
const classes = new Set([...this.externalClasses, hostClass]);
|
|
54
93
|
if (this.search) {
|
|
55
94
|
classes.add(`${hostClass}--search`);
|
|
95
|
+
if (!this.showSearchLabel) {
|
|
96
|
+
this.label?.classList.add('ids-label--sr-only');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (!!this.iconComponent) {
|
|
100
|
+
classes.add(`${hostClass}--icon`);
|
|
101
|
+
}
|
|
102
|
+
if (!!this.clearButtonComponent) {
|
|
103
|
+
classes.add(`${hostClass}--clear-button`);
|
|
104
|
+
}
|
|
105
|
+
if (!!this.unitComponent) {
|
|
106
|
+
classes.add(`${hostClass}--unit`);
|
|
56
107
|
}
|
|
57
108
|
return Array.from(classes).join(' ');
|
|
58
109
|
}
|
|
@@ -61,20 +112,14 @@ class IDInputComponent extends IDFormBase {
|
|
|
61
112
|
this.renderer.addClass(this.input, 'ids-input__input');
|
|
62
113
|
}
|
|
63
114
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
64
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
115
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDInputComponent, isStandalone: true, selector: "id-input", inputs: { showSearchLabel: ["showSearchLabel", "showSearchLabel", booleanAttribute], search: ["search", "search", booleanAttribute] }, host: { properties: { "class": "hostClasses" } }, queries: [{ propertyName: "hintComponent", first: true, predicate: IDInputHintComponent, descendants: true, isSignal: true }, { propertyName: "iconComponent", first: true, predicate: IDInputIconComponent, descendants: true, isSignal: true }, { propertyName: "clearButtonComponent", first: true, predicate: IDInputClearButtonComponent, descendants: true, isSignal: true }, { propertyName: "unitComponent", first: true, predicate: IDInputUnitComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ids-input__wrapper\">\n <div\n class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\"\n [class.ids-label-wrapper--sr-only]=\"search && !showSearchLabel\"\n >\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <ng-content select=\"id-label-subtitle\"></ng-content>\n\n <div class=\"ids-input__input-wrapper\">\n <span [class.ids-input__search-icon]=\"search\"></span>\n <ng-content></ng-content>\n <ng-content select=\"id-input-icon\"></ng-content>\n <ng-content select=\"id-input-clear-button\"></ng-content>\n <ng-content select=\"id-input-unit\"></ng-content>\n </div>\n\n <ng-content select=\"id-input-hint\"></ng-content>\n <ng-content select=\"id-error-message\"></ng-content>\n</div>\n\n<ng-content select=\"button\"></ng-content>\n" });
|
|
65
116
|
}
|
|
66
117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputComponent, decorators: [{
|
|
67
118
|
type: Component,
|
|
68
119
|
args: [{ selector: 'id-input', standalone: true, host: {
|
|
69
120
|
'[class]': 'hostClasses',
|
|
70
|
-
}, template: "<div class=\"ids-input__wrapper\">\n <div
|
|
71
|
-
}], propDecorators: {
|
|
72
|
-
type: ContentChild,
|
|
73
|
-
args: [IDInputHintComponent]
|
|
74
|
-
}], unitComponent: [{
|
|
75
|
-
type: ContentChild,
|
|
76
|
-
args: [IDInputUnitComponent]
|
|
77
|
-
}], showSearchLabel: [{
|
|
121
|
+
}, template: "<div class=\"ids-input__wrapper\">\n <div\n class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\"\n [class.ids-label-wrapper--sr-only]=\"search && !showSearchLabel\"\n >\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <ng-content select=\"id-label-subtitle\"></ng-content>\n\n <div class=\"ids-input__input-wrapper\">\n <span [class.ids-input__search-icon]=\"search\"></span>\n <ng-content></ng-content>\n <ng-content select=\"id-input-icon\"></ng-content>\n <ng-content select=\"id-input-clear-button\"></ng-content>\n <ng-content select=\"id-input-unit\"></ng-content>\n </div>\n\n <ng-content select=\"id-input-hint\"></ng-content>\n <ng-content select=\"id-error-message\"></ng-content>\n</div>\n\n<ng-content select=\"button\"></ng-content>\n" }]
|
|
122
|
+
}], propDecorators: { showSearchLabel: [{
|
|
78
123
|
type: Input,
|
|
79
124
|
args: [{ transform: booleanAttribute }]
|
|
80
125
|
}], search: [{
|
|
@@ -82,30 +127,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
82
127
|
args: [{ transform: booleanAttribute }]
|
|
83
128
|
}] } });
|
|
84
129
|
|
|
85
|
-
class IDInputIconComponent {
|
|
86
|
-
name;
|
|
87
|
-
get class() {
|
|
88
|
-
return ['ids-input__icon', 'ids-icon-' + this.name].join(" ");
|
|
89
|
-
}
|
|
90
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDInputIconComponent, isStandalone: true, selector: "id-input-icon", inputs: { name: "name" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<ng-content></ng-content>", isInline: true });
|
|
92
|
-
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputIconComponent, decorators: [{
|
|
94
|
-
type: Component,
|
|
95
|
-
args: [{
|
|
96
|
-
selector: "id-input-icon",
|
|
97
|
-
template: "<ng-content></ng-content>",
|
|
98
|
-
standalone: true,
|
|
99
|
-
}]
|
|
100
|
-
}], propDecorators: { name: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], class: [{
|
|
103
|
-
type: HostBinding
|
|
104
|
-
}] } });
|
|
105
|
-
|
|
106
130
|
/**
|
|
107
131
|
* Generated bundle index. Do not edit.
|
|
108
132
|
*/
|
|
109
133
|
|
|
110
|
-
export { IDInputComponent, IDInputHintComponent, IDInputIconComponent, IDInputUnitComponent };
|
|
134
|
+
export { IDInputClearButtonComponent, IDInputComponent, IDInputHintComponent, IDInputIconComponent, IDInputUnitComponent };
|
|
111
135
|
//# sourceMappingURL=inera-ids-angular-components-form-input.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-form-input.mjs","sources":["../../../projects/ids-angular/components/form/input/input-hint.component.ts","../../../projects/ids-angular/components/form/input/input-unit.component.ts","../../../projects/ids-angular/components/form/input/input.component.ts","../../../projects/ids-angular/components/form/input/input.component.
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-form-input.mjs","sources":["../../../projects/ids-angular/components/form/input/input-hint.component.ts","../../../projects/ids-angular/components/form/input/input-unit.component.ts","../../../projects/ids-angular/components/form/input/input-icon.component.ts","../../../projects/ids-angular/components/form/input/input-clear-button.component.ts","../../../projects/ids-angular/components/form/input/input.component.ts","../../../projects/ids-angular/components/form/input/input.component.html","../../../projects/ids-angular/components/form/input/inera-ids-angular-components-form-input.ts"],"sourcesContent":["import { Component, ElementRef, inject, OnInit } from '@angular/core';\nimport { IDUseIdService } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-input-hint',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-input__hint',\n '[id]': 'id',\n },\n})\nexport class IDInputHintComponent {\n readonly id = inject(IDUseIdService).generateId('hint');\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-input-unit',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-input__unit',\n 'aria-hidden': 'true',\n },\n})\nexport class IDInputUnitComponent {}\n","import { Component, HostBinding, Input } from \"@angular/core\";\n\n@Component({\n selector: \"id-input-icon\",\n template: \"<ng-content></ng-content>\",\n standalone: true,\n})\nexport class IDInputIconComponent {\n\n @Input() name?: string;\n\n @HostBinding()\n get class () {\n return ['ids-input__icon', 'ids-icon-' + this.name].join(\" \");\n }\n\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-input-clear-button',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-input__clear-button',\n },\n})\nexport class IDInputClearButtonComponent {}\n","import {\n AfterContentInit,\n Component,\n ElementRef,\n Input,\n OnInit,\n booleanAttribute,\n inject,\n contentChild,\n} from '@angular/core';\nimport { IDFormBase } from '@inera/ids-angular/common';\nimport { IDInputHintComponent } from './input-hint.component';\nimport { IDInputUnitComponent } from './input-unit.component';\nimport { IDInputIconComponent } from './input-icon.component';\nimport { IDInputClearButtonComponent } from './input-clear-button.component';\n\n@Component({\n selector: 'id-input',\n templateUrl: './input.component.html',\n standalone: true,\n host: {\n '[class]': 'hostClasses',\n },\n})\nexport class IDInputComponent extends IDFormBase implements OnInit, AfterContentInit {\n private elementRef = inject(ElementRef);\n\n hintComponent = contentChild(IDInputHintComponent);\n\n iconComponent = contentChild(IDInputIconComponent);\n\n clearButtonComponent = contentChild(IDInputClearButtonComponent);\n\n unitComponent = contentChild(IDInputUnitComponent);\n\n @Input({ transform: booleanAttribute }) showSearchLabel: boolean = false;\n\n @Input({ transform: booleanAttribute }) search: boolean = false;\n\n private externalClasses: string[] = [];\n\n ngOnInit(): void {\n const hostEl = this.elementRef.nativeElement as HTMLElement;\n this.externalClasses = (hostEl.getAttribute('class') ?? '').split(/\\s+/).filter(Boolean);\n }\n\n get hostClasses(): string {\n const hostClass = 'ids-input';\n const classes = new Set([...this.externalClasses, hostClass]);\n if (this.search) {\n classes.add(`${hostClass}--search`);\n if (!this.showSearchLabel) {\n this.label?.classList.add('ids-label--sr-only');\n }\n }\n if (!!this.iconComponent) {\n classes.add(`${hostClass}--icon`);\n }\n if (!!this.clearButtonComponent) {\n classes.add(`${hostClass}--clear-button`);\n }\n if (!!this.unitComponent) {\n classes.add(`${hostClass}--unit`);\n }\n return Array.from(classes).join(' ');\n }\n\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n this.renderer.addClass(this.input, 'ids-input__input');\n }\n}\n","<div class=\"ids-input__wrapper\">\n <div\n class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\"\n [class.ids-label-wrapper--sr-only]=\"search && !showSearchLabel\"\n >\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <ng-content select=\"id-label-subtitle\"></ng-content>\n\n <div class=\"ids-input__input-wrapper\">\n <span [class.ids-input__search-icon]=\"search\"></span>\n <ng-content></ng-content>\n <ng-content select=\"id-input-icon\"></ng-content>\n <ng-content select=\"id-input-clear-button\"></ng-content>\n <ng-content select=\"id-input-unit\"></ng-content>\n </div>\n\n <ng-content select=\"id-input-hint\"></ng-content>\n <ng-content select=\"id-error-message\"></ng-content>\n</div>\n\n<ng-content select=\"button\"></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class IDLabelSubtitleComponent {
|
|
5
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDLabelSubtitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDLabelSubtitleComponent, isStandalone: true, selector: "id-label-subtitle", host: { classAttribute: "ids-subtitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDLabelSubtitleComponent, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{
|
|
11
|
+
selector: 'id-label-subtitle',
|
|
12
|
+
template: '<ng-content></ng-content>',
|
|
13
|
+
standalone: true,
|
|
14
|
+
host: {
|
|
15
|
+
class: 'ids-subtitle',
|
|
16
|
+
},
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Generated bundle index. Do not edit.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
export { IDLabelSubtitleComponent };
|
|
25
|
+
//# sourceMappingURL=inera-ids-angular-components-form-label-subtitle.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-form-label-subtitle.mjs","sources":["../../../projects/ids-angular/components/form/label-subtitle/label-subtitle.component.ts","../../../projects/ids-angular/components/form/label-subtitle/inera-ids-angular-components-form-label-subtitle.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-label-subtitle',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-subtitle',\n },\n})\nexport class IDLabelSubtitleComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAUa,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,uHANzB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAM1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,cAAc;AACtB,qBAAA;AACF,iBAAA;;;ACTD;;AAEG;;;;"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { contentChildren, Input, Component } from '@angular/core';
|
|
3
3
|
import { IDFormBase } from '@inera/ids-angular/common';
|
|
4
4
|
import { IDRadioComponent } from '@inera/ids-angular/components/form/radio';
|
|
5
5
|
|
|
6
6
|
class IDRadioButtonGroupComponent extends IDFormBase {
|
|
7
|
-
radios;
|
|
7
|
+
radios = contentChildren(IDRadioComponent);
|
|
8
8
|
name;
|
|
9
9
|
legend;
|
|
10
10
|
ngAfterContentInit() {
|
|
11
|
-
this.radios.forEach((radio) => {
|
|
11
|
+
this.radios().forEach((radio) => {
|
|
12
12
|
radio.invalidChange.subscribe((value) => {
|
|
13
13
|
this.checkShowErrorMessage();
|
|
14
14
|
});
|
|
@@ -26,20 +26,17 @@ class IDRadioButtonGroupComponent extends IDFormBase {
|
|
|
26
26
|
}
|
|
27
27
|
checkShowErrorMessage() {
|
|
28
28
|
if (this.errorMessage) {
|
|
29
|
-
const isInvalidPresent = this.radios.find((radio) => radio.invalid);
|
|
29
|
+
const isInvalidPresent = this.radios().find((radio) => radio.invalid);
|
|
30
30
|
this.errorMessage.show = Boolean(isInvalidPresent);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDRadioButtonGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDRadioButtonGroupComponent, isStandalone: true, selector: "id-radio-button-group", inputs: { name: "name", legend: "legend" }, queries: [{ propertyName: "radios", predicate: IDRadioComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ids-form-group__fieldset ids-form-group__fieldset--compact\">\n @if (legend) {\n <div class=\"ids-label-wrapper\">\n <legend>\n {{ legend }}\n <span class=\"ids-legend__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </legend>\n </div>\n }\n <ng-content></ng-content>\n</div>\n" });
|
|
34
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDRadioButtonGroupComponent, isStandalone: true, selector: "id-radio-button-group", inputs: { name: "name", legend: "legend" }, queries: [{ propertyName: "radios", predicate: IDRadioComponent, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ids-form-group__fieldset ids-form-group__fieldset--compact\">\n @if (legend) {\n <div class=\"ids-label-wrapper\">\n <legend>\n {{ legend }}\n <span class=\"ids-legend__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </legend>\n </div>\n }\n <ng-content></ng-content>\n</div>\n" });
|
|
35
35
|
}
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDRadioButtonGroupComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{ selector: "id-radio-button-group", standalone: true, template: "<div class=\"ids-form-group__fieldset ids-form-group__fieldset--compact\">\n @if (legend) {\n <div class=\"ids-label-wrapper\">\n <legend>\n {{ legend }}\n <span class=\"ids-legend__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </legend>\n </div>\n }\n <ng-content></ng-content>\n</div>\n" }]
|
|
39
|
-
}], propDecorators: {
|
|
40
|
-
type: ContentChildren,
|
|
41
|
-
args: [IDRadioComponent]
|
|
42
|
-
}], name: [{
|
|
39
|
+
}], propDecorators: { name: [{
|
|
43
40
|
type: Input
|
|
44
41
|
}], legend: [{
|
|
45
42
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-form-radio-button.mjs","sources":["../../../projects/ids-angular/components/form/radio-button/radio-button-group.component.ts","../../../projects/ids-angular/components/form/radio-button/radio-button-group.component.html","../../../projects/ids-angular/components/form/radio-button/radio-button.component.ts","../../../projects/ids-angular/components/form/radio-button/radio-button.component.html","../../../projects/ids-angular/components/form/radio-button/inera-ids-angular-components-form-radio-button.ts"],"sourcesContent":["import { Component,
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-form-radio-button.mjs","sources":["../../../projects/ids-angular/components/form/radio-button/radio-button-group.component.ts","../../../projects/ids-angular/components/form/radio-button/radio-button-group.component.html","../../../projects/ids-angular/components/form/radio-button/radio-button.component.ts","../../../projects/ids-angular/components/form/radio-button/radio-button.component.html","../../../projects/ids-angular/components/form/radio-button/inera-ids-angular-components-form-radio-button.ts"],"sourcesContent":["import { Component, Input, contentChildren } from '@angular/core';\nimport { IDFormBase } from \"@inera/ids-angular/common\";\nimport { IDRadioComponent } from \"@inera/ids-angular/components/form/radio\";\n\n@Component({\n selector: \"id-radio-button-group\",\n templateUrl: \"./radio-button-group.component.html\",\n standalone: true\n})\nexport class IDRadioButtonGroupComponent extends IDFormBase {\n\n radios = contentChildren(IDRadioComponent);\n\n @Input() name?: string;\n @Input() legend?: string;\n\n ngAfterContentInit(): void {\n this.radios().forEach((radio) => {\n radio.invalidChange.subscribe((value: boolean) => {\n this.checkShowErrorMessage();\n });\n });\n this.checkShowErrorMessage();\n this.setupNames();\n }\n\n setupNames() {\n if(this.name) {\n const inputs = this.host.nativeElement.querySelectorAll('input')\n inputs?.forEach((input: HTMLInputElement) => {\n this.renderer.setAttribute(input, 'name', this.name!);\n })\n }\n }\n\n checkShowErrorMessage() {\n if(this.errorMessage) {\n const isInvalidPresent = this.radios().find((radio) => radio.invalid);\n this.errorMessage.show = Boolean(isInvalidPresent);\n }\n }\n}\n","<div class=\"ids-form-group__fieldset ids-form-group__fieldset--compact\">\n @if (legend) {\n <div class=\"ids-label-wrapper\">\n <legend>\n {{ legend }}\n <span class=\"ids-legend__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </legend>\n </div>\n }\n <ng-content></ng-content>\n</div>\n","import { AfterContentInit, Component, Input } from \"@angular/core\";\nimport { IDFormBase } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: \"id-radio-button\",\n templateUrl: \"./radio-button.component.html\",\n standalone: true\n})\nexport class IDRadioButtonComponent extends IDFormBase implements AfterContentInit {\n\n @Input() icon?: string;\n\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n this.input.classList.add('ids-radio-button__input');\n this.label.classList.add('ids-radio-button__label');\n if(this.icon) {\n this.label.classList.add(`ids-icon-${this.icon}`);\n }\n }\n}\n","<div class=\"ids-radio-button\">\n <ng-content></ng-content>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, inject, Renderer2, ElementRef, Input
|
|
2
|
+
import { Component, contentChildren, contentChild, inject, Renderer2, ElementRef, Input } from '@angular/core';
|
|
3
3
|
import { IDErrorMessageComponent } from '@inera/ids-angular/components/form/error-message';
|
|
4
4
|
import { IDFormBase } from '@inera/ids-angular/common';
|
|
5
5
|
|
|
@@ -18,23 +18,23 @@ class IDRadioComponent extends IDFormBase {
|
|
|
18
18
|
this.checkedEvent?.();
|
|
19
19
|
}
|
|
20
20
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDRadioComponent, isStandalone: true, selector: "id-radio", usesInheritance: true, ngImport: i0, template: "<div class=\"ids-radio\">\n <ng-content></ng-content>\n <span class=\"ids-label-wrapper\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </span>\n</div>\n\n<ng-content select=\"id-error-message\"></ng-content>\n" });
|
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDRadioComponent, isStandalone: true, selector: "id-radio", usesInheritance: true, ngImport: i0, template: "<div class=\"ids-radio\">\n <ng-content></ng-content>\n <span class=\"ids-label-wrapper\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n <ng-content select=\"id-label-subtitle\"></ng-content>\n </span>\n</div>\n\n<ng-content select=\"id-error-message\"></ng-content>\n" });
|
|
22
22
|
}
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDRadioComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
|
-
args: [{ selector: "id-radio", standalone: true, template: "<div class=\"ids-radio\">\n <ng-content></ng-content>\n <span class=\"ids-label-wrapper\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </span>\n</div>\n\n<ng-content select=\"id-error-message\"></ng-content>\n" }]
|
|
25
|
+
args: [{ selector: "id-radio", standalone: true, template: "<div class=\"ids-radio\">\n <ng-content></ng-content>\n <span class=\"ids-label-wrapper\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n <ng-content select=\"id-label-subtitle\"></ng-content>\n </span>\n</div>\n\n<ng-content select=\"id-error-message\"></ng-content>\n" }]
|
|
26
26
|
}] });
|
|
27
27
|
|
|
28
28
|
class IDRadioGroupComponent {
|
|
29
|
-
radios;
|
|
30
|
-
errorMessage;
|
|
29
|
+
radios = contentChildren(IDRadioComponent);
|
|
30
|
+
errorMessage = contentChild(IDErrorMessageComponent);
|
|
31
31
|
name;
|
|
32
32
|
legend;
|
|
33
33
|
compact = false;
|
|
34
34
|
renderer = inject(Renderer2);
|
|
35
35
|
host = inject(ElementRef);
|
|
36
36
|
ngAfterContentInit() {
|
|
37
|
-
this.radios.forEach((radio) => {
|
|
37
|
+
this.radios().forEach((radio) => {
|
|
38
38
|
radio.invalidChange.subscribe((value) => {
|
|
39
39
|
this.checkShowErrorMessage();
|
|
40
40
|
});
|
|
@@ -51,24 +51,18 @@ class IDRadioGroupComponent {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
checkShowErrorMessage() {
|
|
54
|
-
if (this.errorMessage) {
|
|
55
|
-
const isInvalidPresent = this.radios.find((radio) => radio.invalid);
|
|
56
|
-
this.errorMessage.show = Boolean(isInvalidPresent);
|
|
54
|
+
if (this.errorMessage()) {
|
|
55
|
+
const isInvalidPresent = this.radios().find((radio) => radio.invalid);
|
|
56
|
+
this.errorMessage().show = Boolean(isInvalidPresent);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDRadioGroupComponent, isStandalone: true, selector: "id-radio-group", inputs: { name: "name", legend: "legend", compact: "compact" }, queries: [{ propertyName: "
|
|
60
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDRadioGroupComponent, isStandalone: true, selector: "id-radio-group", inputs: { name: "name", legend: "legend", compact: "compact" }, queries: [{ propertyName: "radios", predicate: IDRadioComponent, isSignal: true }, { propertyName: "errorMessage", first: true, predicate: IDErrorMessageComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<fieldset\n class=\"ids-form-group__fieldset\"\n [class.ids-form-group__fieldset--compact]=\"compact\"\n>\n @if (legend) {\n <div class=\"ids-label-wrapper\">\n <legend>\n {{ legend }}\n <span class=\"ids-legend__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </legend>\n </div>\n }\n <ng-content></ng-content>\n <ng-content select=\"id-error-message\"></ng-content>\n</fieldset>\n" });
|
|
61
61
|
}
|
|
62
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDRadioGroupComponent, decorators: [{
|
|
63
63
|
type: Component,
|
|
64
64
|
args: [{ selector: 'id-radio-group', standalone: true, template: "<fieldset\n class=\"ids-form-group__fieldset\"\n [class.ids-form-group__fieldset--compact]=\"compact\"\n>\n @if (legend) {\n <div class=\"ids-label-wrapper\">\n <legend>\n {{ legend }}\n <span class=\"ids-legend__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </legend>\n </div>\n }\n <ng-content></ng-content>\n <ng-content select=\"id-error-message\"></ng-content>\n</fieldset>\n" }]
|
|
65
|
-
}], propDecorators: {
|
|
66
|
-
type: ContentChildren,
|
|
67
|
-
args: [IDRadioComponent]
|
|
68
|
-
}], errorMessage: [{
|
|
69
|
-
type: ContentChild,
|
|
70
|
-
args: [IDErrorMessageComponent]
|
|
71
|
-
}], name: [{
|
|
65
|
+
}], propDecorators: { name: [{
|
|
72
66
|
type: Input
|
|
73
67
|
}], legend: [{
|
|
74
68
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-form-radio.mjs","sources":["../../../projects/ids-angular/components/form/radio/radio.component.ts","../../../projects/ids-angular/components/form/radio/radio.component.html","../../../projects/ids-angular/components/form/radio/radio-group.component.ts","../../../projects/ids-angular/components/form/radio/radio-group.component.html","../../../projects/ids-angular/components/form/radio/inera-ids-angular-components-form-radio.ts"],"sourcesContent":["import { Component } from \"@angular/core\";\nimport { IDFormBase } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: \"id-radio\",\n templateUrl: \"./radio.component.html\",\n standalone: true\n})\nexport class IDRadioComponent extends IDFormBase {\n\n private checkedEvent?: () => void;\n \n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n if(!this.ngControl) {\n this.checkedEvent = this.renderer.listen(this.input, 'changed', () => {\n super._updateErrorState();\n });\n }\n this.renderer.addClass(this.label, 'ids-label--clickable');\n }\n\n ngOnDestroy() {\n this.checkedEvent?.();\n }\n\n\n}\n","<div class=\"ids-radio\">\n <ng-content></ng-content>\n <span class=\"ids-label-wrapper\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </span>\n</div>\n\n<ng-content select=\"id-error-message\"></ng-content>\n","import { AfterContentInit, Component,
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-form-radio.mjs","sources":["../../../projects/ids-angular/components/form/radio/radio.component.ts","../../../projects/ids-angular/components/form/radio/radio.component.html","../../../projects/ids-angular/components/form/radio/radio-group.component.ts","../../../projects/ids-angular/components/form/radio/radio-group.component.html","../../../projects/ids-angular/components/form/radio/inera-ids-angular-components-form-radio.ts"],"sourcesContent":["import { Component } from \"@angular/core\";\nimport { IDFormBase } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: \"id-radio\",\n templateUrl: \"./radio.component.html\",\n standalone: true\n})\nexport class IDRadioComponent extends IDFormBase {\n\n private checkedEvent?: () => void;\n \n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n if(!this.ngControl) {\n this.checkedEvent = this.renderer.listen(this.input, 'changed', () => {\n super._updateErrorState();\n });\n }\n this.renderer.addClass(this.label, 'ids-label--clickable');\n }\n\n ngOnDestroy() {\n this.checkedEvent?.();\n }\n\n\n}\n","<div class=\"ids-radio\">\n <ng-content></ng-content>\n <span class=\"ids-label-wrapper\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n <ng-content select=\"id-label-subtitle\"></ng-content>\n </span>\n</div>\n\n<ng-content select=\"id-error-message\"></ng-content>\n","import { AfterContentInit, Component, ElementRef, inject, Input, Renderer2, contentChild, contentChildren } from '@angular/core';\nimport { IDErrorMessageComponent } from \"@inera/ids-angular/components/form/error-message\";\nimport { IDRadioComponent } from './radio.component';\n\n@Component({\n selector: 'id-radio-group',\n templateUrl: './radio-group.component.html',\n standalone: true\n})\nexport class IDRadioGroupComponent implements AfterContentInit {\n\n radios = contentChildren(IDRadioComponent);\n \n errorMessage = contentChild(IDErrorMessageComponent);\n\n @Input() name?: string;\n @Input() legend?: string;\n @Input() compact: boolean = false;\n\n renderer = inject(Renderer2)\n host = inject(ElementRef)\n\n ngAfterContentInit(): void {\n this.radios().forEach((radio) => {\n radio.invalidChange.subscribe((value: boolean) => {\n this.checkShowErrorMessage();\n });\n });\n this.checkShowErrorMessage();\n this.setupNames();\n }\n\n setupNames() {\n if(this.name) {\n const inputs = this.host.nativeElement.querySelectorAll('input')\n inputs?.forEach((input: HTMLInputElement) => {\n this.renderer.setAttribute(input, 'name', this.name!);\n })\n }\n }\n\n checkShowErrorMessage() {\n if (this.errorMessage()) {\n const isInvalidPresent = this.radios().find((radio) => radio.invalid);\n this.errorMessage()!.show = Boolean(isInvalidPresent);\n }\n }\n}\n","<fieldset\n class=\"ids-form-group__fieldset\"\n [class.ids-form-group__fieldset--compact]=\"compact\"\n>\n @if (legend) {\n <div class=\"ids-label-wrapper\">\n <legend>\n {{ legend }}\n <span class=\"ids-legend__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </legend>\n </div>\n }\n <ng-content></ng-content>\n <ng-content select=\"id-error-message\"></ng-content>\n</fieldset>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -60,13 +60,13 @@ class IDRangeComponent extends IDFormBase {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDRangeComponent, isStandalone: true, selector: "id-range", inputs: { showTicks: ["showTicks", "showTicks", booleanAttribute], interval: "interval" }, host: { classAttribute: "ids-range" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ids-range\">\n <div class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <ng-content></ng-content>\n @if (this.showTicks) {\n <div\n class=\"ids-range-ticks\"\n [class.ids-range-ticks--disabled]=\"input.disabled\"\n >\n @for (tick of ticks; track tick) {\n <span class=\"ids-range-tick\">{{ tick }}</span>\n }\n </div>\n }\n</div>\n" });
|
|
63
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDRangeComponent, isStandalone: true, selector: "id-range", inputs: { showTicks: ["showTicks", "showTicks", booleanAttribute], interval: "interval" }, host: { classAttribute: "ids-range" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ids-range\">\n <div class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <ng-content select=\"id-label-subtitle\"></ng-content>\n <ng-content></ng-content>\n @if (this.showTicks) {\n <div\n class=\"ids-range-ticks\"\n [class.ids-range-ticks--disabled]=\"input.disabled\"\n >\n @for (tick of ticks; track tick) {\n <span class=\"ids-range-tick\">{{ tick }}</span>\n }\n </div>\n }\n</div>\n" });
|
|
64
64
|
}
|
|
65
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDRangeComponent, decorators: [{
|
|
66
66
|
type: Component,
|
|
67
67
|
args: [{ selector: 'id-range', standalone: true, host: {
|
|
68
68
|
class: 'ids-range',
|
|
69
|
-
}, template: "<div class=\"ids-range\">\n <div class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <ng-content></ng-content>\n @if (this.showTicks) {\n <div\n class=\"ids-range-ticks\"\n [class.ids-range-ticks--disabled]=\"input.disabled\"\n >\n @for (tick of ticks; track tick) {\n <span class=\"ids-range-tick\">{{ tick }}</span>\n }\n </div>\n }\n</div>\n" }]
|
|
69
|
+
}, template: "<div class=\"ids-range\">\n <div class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <ng-content select=\"id-label-subtitle\"></ng-content>\n <ng-content></ng-content>\n @if (this.showTicks) {\n <div\n class=\"ids-range-ticks\"\n [class.ids-range-ticks--disabled]=\"input.disabled\"\n >\n @for (tick of ticks; track tick) {\n <span class=\"ids-range-tick\">{{ tick }}</span>\n }\n </div>\n }\n</div>\n" }]
|
|
70
70
|
}], propDecorators: { showTicks: [{
|
|
71
71
|
type: Input,
|
|
72
72
|
args: [{ transform: booleanAttribute }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-form-range.mjs","sources":["../../../projects/ids-angular/components/form/range/range.component.ts","../../../projects/ids-angular/components/form/range/range.component.html","../../../projects/ids-angular/components/form/range/inera-ids-angular-components-form-range.ts"],"sourcesContent":["import { AfterContentInit, Component, Input, booleanAttribute } from '@angular/core';\nimport { IDFormBase } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: 'id-range',\n templateUrl: './range.component.html',\n standalone: true,\n host: {\n class: 'ids-range',\n }\n})\nexport class IDRangeComponent extends IDFormBase implements AfterContentInit {\n\n @Input({ transform: booleanAttribute }) showTicks: boolean = false;\n @Input() interval: number = 0;\n\n get min() {\n return Number(this.input.min);\n }\n\n get max() {\n return Number(this.input.max);\n }\n\n get step() {\n return Number(this.input.step);\n }\n\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n this.input.addEventListener('input', this.handleInputChange);\n this.handleInputChange();\n this.listenToInputAttrChanges();\n }\n\n listenToInputAttrChanges() {\n const observer = new MutationObserver(() => {\n this.setupValues();\n this.handleInputChange();\n });\n observer.observe(this.input, {\n attributes: true,\n attributeFilter: [\"min\", \"max\", \"disabled\"]\n });\n }\n\n get ticks() {\n const ticks = []\n if (this.step > 0) {\n if (this.interval > 0) {\n for (let val = this.min; val <= this.max; val += this.interval) {\n ticks.push(val);\n }\n } else {\n for (let val = this.min; val <= this.max; val += this.step) {\n ticks.push(val);\n }\n }\n }\n return ticks;\n }\n\n handleInputChange = () => {\n if (this.input) {\n const val = +this.input.value;\n this.input.style.backgroundSize = ((val - this.min) * 100) / (this.max - this.min) + \"% 100%\";\n this.input.setAttribute(\"aria-valuenow\", this.input.value);\n }\n };\n\n setupValues():void {\n if (this.input) {\n this.input.setAttribute(\"aria-valuemin\", \"\" + this.min);\n this.input.setAttribute(\"aria-valuemax\", \"\" + this.max);\n }\n }\n \n\n}\n","<div class=\"ids-range\">\n <div class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <ng-content></ng-content>\n @if (this.showTicks) {\n <div\n class=\"ids-range-ticks\"\n [class.ids-range-ticks--disabled]=\"input.disabled\"\n >\n @for (tick of ticks; track tick) {\n <span class=\"ids-range-tick\">{{ tick }}</span>\n }\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAWM,MAAO,gBAAiB,SAAQ,UAAU,CAAA;IAEN,SAAS,GAAY,KAAK;IACzD,QAAQ,GAAW,CAAC;AAE7B,IAAA,IAAI,GAAG,GAAA;QACL,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/B;AAEA,IAAA,IAAI,GAAG,GAAA;QACL,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/B;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAChC;IAEA,kBAAkB,GAAA;QAChB,KAAK,CAAC,kBAAkB,EAAE;QAC1B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAC5D,IAAI,CAAC,iBAAiB,EAAE;QACxB,IAAI,CAAC,wBAAwB,EAAE;IACjC;IAEA,wBAAwB,GAAA;AACtB,QAAA,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAK;YACzC,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,iBAAiB,EAAE;AAC1B,QAAA,CAAC,CAAC;AACF,QAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;AAC3B,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU;AAC3C,SAAA,CAAC;IACJ;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,MAAM,KAAK,GAAG,EAAE;AAChB,QAAA,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;AACjB,YAAA,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;AACrB,gBAAA,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC9D,oBAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjB;YACF;iBAAO;AACL,gBAAA,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;AAC1D,oBAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjB;YACF;QACF;AACA,QAAA,OAAO,KAAK;IACd;IAEC,iBAAiB,GAAG,MAAK;AACxB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;AAC7B,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ;AAC7F,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5D;AACF,IAAA,CAAC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AACvD,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACzD;IACF;wGAhEW,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAEP,gBAAgB,CAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbtC,
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-form-range.mjs","sources":["../../../projects/ids-angular/components/form/range/range.component.ts","../../../projects/ids-angular/components/form/range/range.component.html","../../../projects/ids-angular/components/form/range/inera-ids-angular-components-form-range.ts"],"sourcesContent":["import { AfterContentInit, Component, Input, booleanAttribute } from '@angular/core';\nimport { IDFormBase } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: 'id-range',\n templateUrl: './range.component.html',\n standalone: true,\n host: {\n class: 'ids-range',\n }\n})\nexport class IDRangeComponent extends IDFormBase implements AfterContentInit {\n\n @Input({ transform: booleanAttribute }) showTicks: boolean = false;\n @Input() interval: number = 0;\n\n get min() {\n return Number(this.input.min);\n }\n\n get max() {\n return Number(this.input.max);\n }\n\n get step() {\n return Number(this.input.step);\n }\n\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n this.input.addEventListener('input', this.handleInputChange);\n this.handleInputChange();\n this.listenToInputAttrChanges();\n }\n\n listenToInputAttrChanges() {\n const observer = new MutationObserver(() => {\n this.setupValues();\n this.handleInputChange();\n });\n observer.observe(this.input, {\n attributes: true,\n attributeFilter: [\"min\", \"max\", \"disabled\"]\n });\n }\n\n get ticks() {\n const ticks = []\n if (this.step > 0) {\n if (this.interval > 0) {\n for (let val = this.min; val <= this.max; val += this.interval) {\n ticks.push(val);\n }\n } else {\n for (let val = this.min; val <= this.max; val += this.step) {\n ticks.push(val);\n }\n }\n }\n return ticks;\n }\n\n handleInputChange = () => {\n if (this.input) {\n const val = +this.input.value;\n this.input.style.backgroundSize = ((val - this.min) * 100) / (this.max - this.min) + \"% 100%\";\n this.input.setAttribute(\"aria-valuenow\", this.input.value);\n }\n };\n\n setupValues():void {\n if (this.input) {\n this.input.setAttribute(\"aria-valuemin\", \"\" + this.min);\n this.input.setAttribute(\"aria-valuemax\", \"\" + this.max);\n }\n }\n \n\n}\n","<div class=\"ids-range\">\n <div class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <ng-content select=\"id-label-subtitle\"></ng-content>\n <ng-content></ng-content>\n @if (this.showTicks) {\n <div\n class=\"ids-range-ticks\"\n [class.ids-range-ticks--disabled]=\"input.disabled\"\n >\n @for (tick of ticks; track tick) {\n <span class=\"ids-range-tick\">{{ tick }}</span>\n }\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, EventEmitter,
|
|
2
|
+
import { inject, ElementRef, EventEmitter, contentChildren, booleanAttribute, Output, Input, HostListener, Component } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { IDFormBase, IDClickOutsideDirective } from '@inera/ids-angular/common';
|
|
5
5
|
import { IDCheckboxComponent } from '@inera/ids-angular/components/form/checkbox';
|
|
@@ -30,9 +30,9 @@ class IDSelectMultipleComponent extends IDFormBase {
|
|
|
30
30
|
isDropdownVisible = false;
|
|
31
31
|
selectedValues = 0;
|
|
32
32
|
get checkboxes() {
|
|
33
|
-
return this.host.nativeElement.querySelectorAll('input');
|
|
33
|
+
return Array.from(this.host.nativeElement.querySelectorAll('input'));
|
|
34
34
|
}
|
|
35
|
-
checkboxComponents;
|
|
35
|
+
checkboxComponents = contentChildren(IDCheckboxComponent, { descendants: true });
|
|
36
36
|
get displayValue() {
|
|
37
37
|
if (this.selectedValues === 0)
|
|
38
38
|
return this.placeholder || '';
|
|
@@ -61,7 +61,7 @@ class IDSelectMultipleComponent extends IDFormBase {
|
|
|
61
61
|
this.checkboxes.forEach((checkbox) => {
|
|
62
62
|
checkbox.addEventListener('change', this.setDisplayValues);
|
|
63
63
|
});
|
|
64
|
-
this.checkboxComponents.forEach((checkbox) => {
|
|
64
|
+
this.checkboxComponents().forEach((checkbox) => {
|
|
65
65
|
checkbox.invalidChange
|
|
66
66
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
67
67
|
.subscribe((value) => {
|
|
@@ -72,19 +72,19 @@ class IDSelectMultipleComponent extends IDFormBase {
|
|
|
72
72
|
}
|
|
73
73
|
checkShowErrorMessage() {
|
|
74
74
|
if (this.errorMessage) {
|
|
75
|
-
const isInvalidPresent = this.checkboxComponents.find((checkbox) => checkbox.invalid);
|
|
75
|
+
const isInvalidPresent = this.checkboxComponents().find((checkbox) => checkbox.invalid);
|
|
76
76
|
this.invalid = Boolean(isInvalidPresent);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
setDisplayValues = () => {
|
|
80
|
-
this.selectedValues =
|
|
80
|
+
this.selectedValues = this.checkboxes.filter((checkbox) => checkbox.checked).length;
|
|
81
81
|
};
|
|
82
82
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDSelectMultipleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
83
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
83
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDSelectMultipleComponent, isStandalone: true, selector: "id-select-multiple", inputs: { placeholder: "placeholder", maxheight: "maxheight", labelText: "labelText", selectedLabel: "selectedLabel", multiSelectedLabel: "multiSelectedLabel", maxHeight: "maxHeight", disabled: ["disabled", "disabled", booleanAttribute], ariaDisabled: ["ariaDisabled", "ariaDisabled", booleanAttribute] }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, queries: [{ propertyName: "checkboxComponents", predicate: IDCheckboxComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ids-select-multiple\"\n idClickOutside\n (idClickOutside)=\"handleClickOutside()\"\n>\n <div class=\"ids-select-multiple-label-wrapper ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <label\n id=\"expanded-default\"\n class=\"ids-label\"\n [class.ids-label--disabled]=\"disabled\"\n >\n {{ labelText }}\n </label>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <ng-content select=\"id-label-subtitle\"></ng-content>\n <div class=\"ids-select-multiple__select-wrapper\">\n <button\n (click)=\"toggleVisibility()\"\n type=\"button\"\n aria-labelledby=\"expanded-default\"\n aria-haspopup=\"dialog\"\n aria-controls=\"dropdown-wrapper\"\n [attr.aria-expanded]=\"isDropdownVisible\"\n [attr.aria-disabled]=\"ariaDisabled\"\n [attr.aria-invalid]=\"invalid\"\n class=\"ids-select-multiple__select\"\n [disabled]=\"disabled\"\n >\n {{ displayValue }}\n </button>\n </div>\n <div\n class=\"ids-select-multiple__dropdown-wrapper\"\n id=\"dropdown-wrapper\"\n >\n <div\n class=\"ids-select-multiple__dropdown\"\n [class.ids-select-multiple__dropdown--expanded]=\"isDropdownVisible\"\n >\n <div\n class=\"ids-select-multiple__dropdown-scroll-area\"\n [style.max-height]=\"maxHeight\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
|
|
84
84
|
}
|
|
85
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDSelectMultipleComponent, decorators: [{
|
|
86
86
|
type: Component,
|
|
87
|
-
args: [{ selector: 'id-select-multiple', imports: [IDClickOutsideDirective], standalone: true, template: "<div\n class=\"ids-select-multiple\"\n idClickOutside\n (idClickOutside)=\"handleClickOutside()\"\n>\n <div class=\"ids-select-multiple-label-wrapper ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <label\n id=\"expanded-default\"\n class=\"ids-label\"\n [class.ids-label--disabled]=\"disabled
|
|
87
|
+
args: [{ selector: 'id-select-multiple', imports: [IDClickOutsideDirective], standalone: true, template: "<div\n class=\"ids-select-multiple\"\n idClickOutside\n (idClickOutside)=\"handleClickOutside()\"\n>\n <div class=\"ids-select-multiple-label-wrapper ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <label\n id=\"expanded-default\"\n class=\"ids-label\"\n [class.ids-label--disabled]=\"disabled\"\n >\n {{ labelText }}\n </label>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <ng-content select=\"id-label-subtitle\"></ng-content>\n <div class=\"ids-select-multiple__select-wrapper\">\n <button\n (click)=\"toggleVisibility()\"\n type=\"button\"\n aria-labelledby=\"expanded-default\"\n aria-haspopup=\"dialog\"\n aria-controls=\"dropdown-wrapper\"\n [attr.aria-expanded]=\"isDropdownVisible\"\n [attr.aria-disabled]=\"ariaDisabled\"\n [attr.aria-invalid]=\"invalid\"\n class=\"ids-select-multiple__select\"\n [disabled]=\"disabled\"\n >\n {{ displayValue }}\n </button>\n </div>\n <div\n class=\"ids-select-multiple__dropdown-wrapper\"\n id=\"dropdown-wrapper\"\n >\n <div\n class=\"ids-select-multiple__dropdown\"\n [class.ids-select-multiple__dropdown--expanded]=\"isDropdownVisible\"\n >\n <div\n class=\"ids-select-multiple__dropdown-scroll-area\"\n [style.max-height]=\"maxHeight\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
88
88
|
}], propDecorators: { onEsc: [{
|
|
89
89
|
type: HostListener,
|
|
90
90
|
args: ['document:keydown.escape', ['$event']]
|
|
@@ -110,9 +110,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
110
110
|
type: Output
|
|
111
111
|
}], closed: [{
|
|
112
112
|
type: Output
|
|
113
|
-
}], checkboxComponents: [{
|
|
114
|
-
type: ContentChildren,
|
|
115
|
-
args: [IDCheckboxComponent, { descendants: true }]
|
|
116
113
|
}] } });
|
|
117
114
|
|
|
118
115
|
/**
|