@inera/ids-angular 9.2.1 → 9.4.0

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