@inera/ids-angular 9.2.1 → 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.
Files changed (182) hide show
  1. package/common/directives/click-outside.directive.d.ts +3 -3
  2. package/common/public-api.d.ts +1 -1
  3. package/components/accordion/accordion-header.component.d.ts +1 -1
  4. package/components/accordion/accordion.component.d.ts +5 -4
  5. package/components/alert/alert-header.component.d.ts +1 -1
  6. package/components/alert/alert.component.d.ts +2 -2
  7. package/components/box-link/box-link-button.component.d.ts +2 -2
  8. package/components/box-link/box-link.component.d.ts +1 -1
  9. package/components/breadcrumbs/breadcrumbs.component.d.ts +3 -4
  10. package/components/breadcrumbs/crumb.component.d.ts +1 -1
  11. package/components/carousel/carousel-item/carousel-item.component.d.ts +1 -1
  12. package/components/carousel/carousel.component.d.ts +4 -4
  13. package/components/control-button/control-button.directive.d.ts +5 -0
  14. package/components/control-button/index.d.ts +5 -0
  15. package/components/control-button/public-api.d.ts +1 -0
  16. package/components/dialog/dialog.component.d.ts +4 -4
  17. package/components/dropdown/dropdown.component.d.ts +1 -1
  18. package/components/footer-1177/footer-1177-col.component.d.ts +4 -4
  19. package/components/footer-1177/footer-1177.component.d.ts +6 -4
  20. package/components/footer-1177-admin/footer-1177-admin-col.component.d.ts +4 -4
  21. package/components/footer-1177-admin/footer-1177-admin.component.d.ts +5 -4
  22. package/components/footer-1177-pro/footer-1177-pro-col.component.d.ts +4 -4
  23. package/components/footer-1177-pro/footer-1177-pro.component.d.ts +6 -4
  24. package/components/footer-inera/footer-inera-col.component.d.ts +4 -4
  25. package/components/footer-inera/footer-inera.component.d.ts +5 -4
  26. package/components/footer-inera-admin/footer-inera-admin-col.component.d.ts +4 -4
  27. package/components/footer-inera-admin/footer-inera-admin.component.d.ts +5 -4
  28. package/components/footer-inera-general/footer-inera-general-col.component.d.ts +4 -4
  29. package/components/footer-inera-general/footer-inera-general.component.d.ts +6 -4
  30. package/components/form/checkbox-group/checkbox-group.component.d.ts +4 -4
  31. package/components/form/input/input-clear-button.component.d.ts +5 -0
  32. package/components/form/input/input.component.d.ts +7 -3
  33. package/components/form/input/public-api.d.ts +1 -0
  34. package/components/form/label-subtitle/index.d.ts +5 -0
  35. package/components/form/label-subtitle/label-subtitle.component.d.ts +5 -0
  36. package/components/form/label-subtitle/public-api.d.ts +1 -0
  37. package/components/form/radio/radio-group.component.d.ts +4 -4
  38. package/components/form/radio/radio.component.d.ts +1 -1
  39. package/components/form/radio-button/radio-button-group.component.d.ts +1 -2
  40. package/components/form/range/range.component.d.ts +1 -1
  41. package/components/form/select/select.component.d.ts +1 -1
  42. package/components/form/select-multiple/select-multiple.component.d.ts +3 -3
  43. package/components/form/textarea/textarea.component.d.ts +1 -1
  44. package/components/form/time/time.component.d.ts +1 -1
  45. package/components/global-alert/global-alert-actions.component.d.ts +1 -1
  46. package/components/global-alert/global-alert-header.component.d.ts +1 -1
  47. package/components/global-alert/global-alert.component.d.ts +2 -2
  48. package/components/header-1177/avatar/header-1177-avatar.component.d.ts +1 -1
  49. package/components/header-1177/header-1177.component.d.ts +6 -7
  50. package/components/header-1177/nav/header-1177-nav.component.d.ts +1 -1
  51. package/components/header-1177/nav-item/header-1177-nav-item.component.d.ts +5 -5
  52. package/components/header-1177/region-picker/header-1177-region-picker.component.d.ts +3 -3
  53. package/components/header-1177/region-picker-mobile/header-1177-region-picker-mobile.component.d.ts +3 -3
  54. package/components/header-1177-admin/avatar/header-1177-admin-avatar.component.d.ts +1 -1
  55. package/components/header-1177-admin/avatar-mobile/header-1177-admin-avatar-mobile.component.d.ts +1 -1
  56. package/components/header-1177-admin/header-1177-admin.component.d.ts +3 -3
  57. package/components/header-1177-admin/nav/header-1177-admin-nav.component.d.ts +4 -4
  58. package/components/header-1177-admin/nav-item/header-1177-admin-nav-item.component.d.ts +5 -5
  59. package/components/header-1177-pro/avatar/header-1177-pro-avatar.component.d.ts +1 -1
  60. package/components/header-1177-pro/avatar-mobile/header-1177-pro-avatar-mobile.component.d.ts +1 -1
  61. package/components/header-1177-pro/header-1177-pro.component.d.ts +3 -3
  62. package/components/header-1177-pro/nav/header-1177-pro-nav.component.d.ts +4 -4
  63. package/components/header-1177-pro/nav-item/header-1177-pro-nav-item.component.d.ts +5 -5
  64. package/components/header-1177-pro/region-picker/header-1177-pro-region-picker.component.d.ts +4 -4
  65. package/components/header-1177-pro/region-picker-mobile/header-1177-pro-region-picker-mobile.component.d.ts +1 -1
  66. package/components/header-inera/header-inera.component.d.ts +5 -6
  67. package/components/header-inera/nav/header-inera-nav.component.d.ts +2 -4
  68. package/components/header-inera/nav-item/header-inera-nav-item.component.d.ts +5 -5
  69. package/components/header-inera-admin/avatar/header-inera-admin-avatar.component.d.ts +1 -1
  70. package/components/header-inera-admin/avatar-mobile/header-inera-admin-avatar-mobile.component.d.ts +1 -1
  71. package/components/header-inera-admin/header-inera-admin.component.d.ts +6 -7
  72. package/components/header-inera-admin/nav/header-inera-admin-nav.component.d.ts +4 -4
  73. package/components/header-inera-admin/nav-item/header-inera-admin-nav-item.component.d.ts +4 -4
  74. package/components/header-inera-general/header-inera-general.component.d.ts +5 -6
  75. package/components/header-inera-general/nav/header-inera-general-nav.component.d.ts +1 -1
  76. package/components/header-inera-general/nav-item/header-inera-general-nav-item.component.d.ts +5 -5
  77. package/components/mobile/menu/item/mobile-menu-item.component.d.ts +3 -3
  78. package/components/mobile/menu/mobile-menu.component.d.ts +1 -2
  79. package/components/navigation/content/navigation-content-link.component.d.ts +1 -1
  80. package/components/navigation/content/navigation-content.component.d.ts +1 -2
  81. package/components/navigation/local/navigation-local-link.component.d.ts +1 -1
  82. package/components/navigation/local/navigation-local.component.d.ts +1 -2
  83. package/components/popover/popover.component.d.ts +4 -4
  84. package/components/puff-list/puff-list-item.component.d.ts +1 -1
  85. package/components/puff-list/puff-list.component.d.ts +1 -2
  86. package/components/side-menu/side-menu.component.d.ts +2 -2
  87. package/components/side-panel/side-panel.component.d.ts +7 -6
  88. package/components/stepper/stepper.component.d.ts +2 -2
  89. package/components/tabs/tab-group.component.d.ts +3 -2
  90. package/components/tabs/tab.component.d.ts +2 -2
  91. package/components/tag/tag.component.d.ts +1 -1
  92. package/components/tooltip/tooltip.component.d.ts +2 -2
  93. package/fesm2022/inera-ids-angular-common.mjs +8 -9
  94. package/fesm2022/inera-ids-angular-common.mjs.map +1 -1
  95. package/fesm2022/inera-ids-angular-components-accordion.mjs +19 -28
  96. package/fesm2022/inera-ids-angular-components-accordion.mjs.map +1 -1
  97. package/fesm2022/inera-ids-angular-components-alert.mjs +8 -14
  98. package/fesm2022/inera-ids-angular-components-alert.mjs.map +1 -1
  99. package/fesm2022/inera-ids-angular-components-box-link.mjs +8 -14
  100. package/fesm2022/inera-ids-angular-components-box-link.mjs.map +1 -1
  101. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs +15 -26
  102. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs.map +1 -1
  103. package/fesm2022/inera-ids-angular-components-carousel.mjs +16 -23
  104. package/fesm2022/inera-ids-angular-components-carousel.mjs.map +1 -1
  105. package/fesm2022/inera-ids-angular-components-control-button.mjs +24 -0
  106. package/fesm2022/inera-ids-angular-components-control-button.mjs.map +1 -0
  107. package/fesm2022/inera-ids-angular-components-dialog.mjs +10 -17
  108. package/fesm2022/inera-ids-angular-components-dialog.mjs.map +1 -1
  109. package/fesm2022/inera-ids-angular-components-dropdown.mjs +4 -7
  110. package/fesm2022/inera-ids-angular-components-dropdown.mjs.map +1 -1
  111. package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs +28 -35
  112. package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs.map +1 -1
  113. package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs +29 -35
  114. package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs.map +1 -1
  115. package/fesm2022/inera-ids-angular-components-footer-1177.mjs +29 -35
  116. package/fesm2022/inera-ids-angular-components-footer-1177.mjs.map +1 -1
  117. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs +28 -35
  118. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs.map +1 -1
  119. package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs +30 -35
  120. package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs.map +1 -1
  121. package/fesm2022/inera-ids-angular-components-footer-inera.mjs +28 -35
  122. package/fesm2022/inera-ids-angular-components-footer-inera.mjs.map +1 -1
  123. package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs +9 -15
  124. package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs.map +1 -1
  125. package/fesm2022/inera-ids-angular-components-form-input.mjs +58 -34
  126. package/fesm2022/inera-ids-angular-components-form-input.mjs.map +1 -1
  127. package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs +25 -0
  128. package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs.map +1 -0
  129. package/fesm2022/inera-ids-angular-components-form-radio-button.mjs +6 -9
  130. package/fesm2022/inera-ids-angular-components-form-radio-button.mjs.map +1 -1
  131. package/fesm2022/inera-ids-angular-components-form-radio.mjs +11 -17
  132. package/fesm2022/inera-ids-angular-components-form-radio.mjs.map +1 -1
  133. package/fesm2022/inera-ids-angular-components-form-range.mjs +2 -2
  134. package/fesm2022/inera-ids-angular-components-form-range.mjs.map +1 -1
  135. package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs +8 -11
  136. package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs.map +1 -1
  137. package/fesm2022/inera-ids-angular-components-form-select.mjs +2 -2
  138. package/fesm2022/inera-ids-angular-components-form-select.mjs.map +1 -1
  139. package/fesm2022/inera-ids-angular-components-form-textarea.mjs +2 -2
  140. package/fesm2022/inera-ids-angular-components-form-textarea.mjs.map +1 -1
  141. package/fesm2022/inera-ids-angular-components-form-time.mjs +2 -2
  142. package/fesm2022/inera-ids-angular-components-form-time.mjs.map +1 -1
  143. package/fesm2022/inera-ids-angular-components-global-alert.mjs +11 -23
  144. package/fesm2022/inera-ids-angular-components-global-alert.mjs.map +1 -1
  145. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs +29 -59
  146. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs.map +1 -1
  147. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs +64 -91
  148. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs.map +1 -1
  149. package/fesm2022/inera-ids-angular-components-header-1177.mjs +74 -104
  150. package/fesm2022/inera-ids-angular-components-header-1177.mjs.map +1 -1
  151. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs +31 -67
  152. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs.map +1 -1
  153. package/fesm2022/inera-ids-angular-components-header-inera-general.mjs +22 -49
  154. package/fesm2022/inera-ids-angular-components-header-inera-general.mjs.map +1 -1
  155. package/fesm2022/inera-ids-angular-components-header-inera.mjs +23 -54
  156. package/fesm2022/inera-ids-angular-components-header-inera.mjs.map +1 -1
  157. package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs +6 -12
  158. package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs.map +1 -1
  159. package/fesm2022/inera-ids-angular-components-mobile-menu.mjs +13 -22
  160. package/fesm2022/inera-ids-angular-components-mobile-menu.mjs.map +1 -1
  161. package/fesm2022/inera-ids-angular-components-navigation-content.mjs +7 -13
  162. package/fesm2022/inera-ids-angular-components-navigation-content.mjs.map +1 -1
  163. package/fesm2022/inera-ids-angular-components-navigation-local.mjs +7 -13
  164. package/fesm2022/inera-ids-angular-components-navigation-local.mjs.map +1 -1
  165. package/fesm2022/inera-ids-angular-components-popover.mjs +106 -61
  166. package/fesm2022/inera-ids-angular-components-popover.mjs.map +1 -1
  167. package/fesm2022/inera-ids-angular-components-puff-list.mjs +16 -22
  168. package/fesm2022/inera-ids-angular-components-puff-list.mjs.map +1 -1
  169. package/fesm2022/inera-ids-angular-components-side-menu.mjs +9 -12
  170. package/fesm2022/inera-ids-angular-components-side-menu.mjs.map +1 -1
  171. package/fesm2022/inera-ids-angular-components-side-panel.mjs +91 -79
  172. package/fesm2022/inera-ids-angular-components-side-panel.mjs.map +1 -1
  173. package/fesm2022/inera-ids-angular-components-stepper.mjs +5 -8
  174. package/fesm2022/inera-ids-angular-components-stepper.mjs.map +1 -1
  175. package/fesm2022/inera-ids-angular-components-tabs.mjs +14 -22
  176. package/fesm2022/inera-ids-angular-components-tabs.mjs.map +1 -1
  177. package/fesm2022/inera-ids-angular-components-tag.mjs +5 -5
  178. package/fesm2022/inera-ids-angular-components-tag.mjs.map +1 -1
  179. package/fesm2022/inera-ids-angular-components-tooltip.mjs +18 -24
  180. package/fesm2022/inera-ids-angular-components-tooltip.mjs.map +1 -1
  181. package/package.json +115 -107
  182. /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, ElementRef, booleanAttribute, Input, ContentChild, HostBinding } from '@angular/core';
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
- unitComponent;
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: "16.1.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 }, { propertyName: "unitComponent", first: true, predicate: IDInputUnitComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ids-input__wrapper\">\n <div class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <span [class.ids-hidden]=\"search && !showSearchLabel\">\n <ng-content select=\"label\"></ng-content>\n </span>\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 <div class=\"ids-input__unit-wrapper\">\n <div class=\"ids-input__input-wrapper\">\n <span [class.ids-input__search-icon]=\"search\"></span>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"id-input-unit\"></ng-content>\n </div>\n\n <ng-content select=\"id-input-hint\"></ng-content>\n\n <ng-content select=\"id-error-message\"></ng-content>\n</div>\n\n<ng-content select=\"button\"></ng-content>\n" });
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 class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <span [class.ids-hidden]=\"search && !showSearchLabel\">\n <ng-content select=\"label\"></ng-content>\n </span>\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 <div class=\"ids-input__unit-wrapper\">\n <div class=\"ids-input__input-wrapper\">\n <span [class.ids-input__search-icon]=\"search\"></span>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"id-input-unit\"></ng-content>\n </div>\n\n <ng-content select=\"id-input-hint\"></ng-content>\n\n <ng-content select=\"id-error-message\"></ng-content>\n</div>\n\n<ng-content select=\"button\"></ng-content>\n" }]
71
- }], propDecorators: { hintComponent: [{
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.html","../../../projects/ids-angular/components/form/input/input-icon.component.ts","../../../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 {\n AfterContentInit,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnInit,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { IDFormBase } from '@inera/ids-angular/common';\nimport { IDInputHintComponent } from './input-hint.component';\nimport { IDInputUnitComponent } from './input-unit.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 @ContentChild(IDInputHintComponent)\n hintComponent: IDInputHintComponent | undefined;\n\n @ContentChild(IDInputUnitComponent)\n unitComponent: IDInputUnitComponent | undefined;\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 }\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 class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <span [class.ids-hidden]=\"search && !showSearchLabel\">\n <ng-content select=\"label\"></ng-content>\n </span>\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 <div class=\"ids-input__unit-wrapper\">\n <div class=\"ids-input__input-wrapper\">\n <span [class.ids-input__search-icon]=\"search\"></span>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"id-input-unit\"></ng-content>\n </div>\n\n <ng-content select=\"id-input-hint\"></ng-content>\n\n <ng-content select=\"id-error-message\"></ng-content>\n</div>\n\n<ng-content select=\"button\"></ng-content>\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","/**\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-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":";;;;MAYa,oBAAoB,CAAA;IACtB,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;wGAD5C,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,kJAPrB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAO1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAThC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;AACF,iBAAA;;;MCAY,oBAAoB,CAAA;wGAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,6JAPrB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAO1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAThC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,aAAa,EAAE,MAAM;AACtB,qBAAA;AACF,iBAAA;;;MCHY,oBAAoB,CAAA;AAEtB,IAAA,IAAI;AAEb,IAAA,IACI,KAAK,GAAA;AACP,QAAA,OAAO,CAAC,iBAAiB,EAAE,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC/D;wGAPW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,oJAHrB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAG1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;8BAGU,IAAI,EAAA,CAAA;sBAAZ;gBAGG,KAAK,EAAA,CAAA;sBADR;;;MCDU,2BAA2B,CAAA;wGAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,sIAN5B,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAM1B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,yBAAyB;AACjC,qBAAA;AACF,iBAAA;;;ACeK,MAAO,gBAAiB,SAAQ,UAAU,CAAA;AACtC,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAEvC,IAAA,aAAa,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAElD,IAAA,aAAa,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAElD,IAAA,oBAAoB,GAAG,YAAY,CAAC,2BAA2B,CAAC;AAEhE,IAAA,aAAa,GAAG,YAAY,CAAC,oBAAoB,CAAC;IAEV,eAAe,GAAY,KAAK;IAEhC,MAAM,GAAY,KAAK;IAEvD,eAAe,GAAa,EAAE;IAEtC,QAAQ,GAAA;AACN,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAA4B;QAC3D,IAAI,CAAC,eAAe,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IAC1F;AAEA,IAAA,IAAI,WAAW,GAAA;QACb,MAAM,SAAS,GAAG,WAAW;AAC7B,QAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AAC7D,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA,QAAA,CAAU,CAAC;AACnC,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC;YACjD;QACF;AACA,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE;AACxB,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA,MAAA,CAAQ,CAAC;QACnC;AACA,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE;AAC/B,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA,cAAA,CAAgB,CAAC;QAC3C;AACA,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE;AACxB,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA,MAAA,CAAQ,CAAC;QACnC;QACA,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACtC;IAEA,kBAAkB,GAAA;QAChB,KAAK,CAAC,kBAAkB,EAAE;QAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACxD;wGA9CW,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAWP,gBAAgB,CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAEhB,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAVP,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEpB,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEb,2BAA2B,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAElC,oBAAoB,uFCjCnD,g8BA0BA,EAAA,CAAA;;4FDFa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;+BACE,UAAU,EAAA,UAAA,EAER,IAAI,EAAA,IAAA,EACV;AACJ,wBAAA,SAAS,EAAE,aAAa;AACzB,qBAAA,EAAA,QAAA,EAAA,g8BAAA,EAAA;8BAauC,eAAe,EAAA,CAAA;sBAAtD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAEE,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;AErCxC;;AAEG;;;;"}
@@ -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 { Input, ContentChildren, Component } from '@angular/core';
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: { radios: [{
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, ContentChildren, Input, QueryList } 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 @ContentChildren(IDRadioComponent)\n radios: QueryList<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
+ {"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, ContentChild, ContentChildren } from '@angular/core';
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: "errorMessage", first: true, predicate: IDErrorMessageComponent, descendants: true }, { propertyName: "radios", predicate: IDRadioComponent }], 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" });
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: { radios: [{
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, ContentChild, ContentChildren, ElementRef, inject, Input, QueryList, Renderer2 } 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 @ContentChildren(IDRadioComponent)\n radios: QueryList<IDRadioComponent>;\n \n @ContentChild(IDErrorMessageComponent)\n errorMessage: 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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"}
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":"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"}
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, booleanAttribute, ContentChildren, Output, Input, HostListener, Component } from '@angular/core';
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 = Array.from(this.checkboxes).filter((checkbox) => checkbox.checked).length;
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: "16.1.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 }], 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 || ariaDisabled\"\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 <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]=\"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"] }] });
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 || ariaDisabled\"\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 <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]=\"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" }]
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
  /**