@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
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-alert.mjs","sources":["../../../projects/ids-angular/components/alert/alert-header.component.ts","../../../projects/ids-angular/components/alert/alert.component.ts","../../../projects/ids-angular/components/alert/alert.component.html","../../../projects/ids-angular/components/alert/inera-ids-angular-components-alert.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'id-alert-header',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`\n})\nexport class IDAlertHeaderComponent {\n\n @ViewChild(TemplateRef) template: TemplateRef<any>;\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { Component, ContentChild, EventEmitter, Input, Output, booleanAttribute, inject, AfterContentInit } from \"@angular/core\";\nimport { IDAlertHeaderComponent } from \"./alert-header.component\";\nimport { IDUseIdService } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: \"id-alert\",\n templateUrl: \"./alert.component.html\",\n host: {\n '[class]': 'hostClasses',\n '[class.ids-alert--collapsible]': 'collapsible',\n '[class.ids-alert--dismissible]': 'dismissible',\n '[class.ids-alert--ribbon]': 'ribbon',\n '[class.ids-alert--compact]': 'compact',\n '[class.ids-alert--collapsed]': 'collapsed',\n '[attr.ids-alert--dismissible]': 'dismissible ? \"\" : null',\n '[attr.role]': 'noRole ? null : \"alert\"',\n },\n imports: [CommonModule],\n standalone: true,\n})\nexport class IDAlertComponent implements AfterContentInit {\n\n private _collapsed: boolean = false;\n private idService = inject(IDUseIdService);\n protected contentId = this.idService.generateId('alert');\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input({ transform: booleanAttribute }) collapsible: boolean = false;\n @Input({ transform: booleanAttribute }) compact: boolean = false;\n @Input({ transform: booleanAttribute }) ribbon: boolean = false;\n @Input() type: \"info\" | \"attention\" | \"success\" | \"error\" = \"info\";\n @Input({ transform: booleanAttribute }) noRole: boolean = false;\n @Input() srCloseText: string = \"Stäng alertmeddelande\";\n @Input() srIconTitle: string = \"Ikon\";\n @Input() srCollapseText: string = \"Minimera alertmeddelande\";\n @Input() srExpandText: string = \"Expandera alertmeddelande\";\n\n\n @Input()\n get collapsed(): boolean {\n return this._collapsed;\n }\n set collapsed(value: boolean) {\n if (this._collapsed !== value) {\n this._collapsed = value;\n }\n }\n @Output() collapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output() dismissed: EventEmitter<void> = new EventEmitter<void>();\n @Output() closed: EventEmitter<void> = new EventEmitter<void>();\n @Output() opened: EventEmitter<void> = new EventEmitter<void>();\n\n @ContentChild(IDAlertHeaderComponent)\n header: IDAlertHeaderComponent;\n\n\n get hostClasses(): string {\n return `ids-alert ids-alert--${this.type}`;\n }\n\n\n ngAfterContentInit(): void {\n if (this.header === undefined) {\n this.compact = true;\n } \n }\n\n\n toggleCollapsed() {\n if (!this.collapsible) return;\n const newState = !this.collapsed;\n this._collapsed = newState;\n this.collapsedChange.emit(newState);\n if(this.collapsed) {\n this.closed.emit();\n } else {\n this.opened.emit();\n }\n }\n\n dismissAlert() {\n if (!this.dismissible) return;\n this.dismissed.emit();\n }\n}","<ng-template #contentTemplate>\n <ng-content select=\":not(id-alert-header)\"></ng-content>\n</ng-template>\n\n@if (compact || ribbon) {\n <div class=\"ids-alert__content\">\n <span\n class=\"ids-alert__content-icon\"\n aria-hidden\n ></span>\n <span class=\"ids-alert__content-text\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </div>\n\n @if (dismissible) {\n <div class=\"ids-alert__button\">\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n >\n <span\n class=\"ids-alert__close-icon\"\n aria-hidden\n ></span>\n </button>\n </div>\n }\n}\n\n@if (!compact && !ribbon) {\n <div class=\"ids-alert__container\">\n <div class=\"ids-alert__header\">\n <ng-template #headerContentTemplate>\n <div class=\"ids-alert__icon_and_text\">\n <span\n class=\"ids-alert__state-icon\"\n aria-hidden\n ></span>\n <div class=\"ids-alert__headline\">\n <ng-container *ngTemplateOutlet=\"header.template\"></ng-container>\n </div>\n </div>\n </ng-template>\n\n @if (collapsible) {\n <button\n class=\"ids-alert__expand-button\"\n [class.ids-alert__expand-button--expanded]=\"!collapsed\"\n (click)=\"toggleCollapsed()\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"collapsed ? srExpandText : srCollapseText\"\n >\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n </button>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n }\n </div>\n\n <div\n class=\"ids-alert__content\"\n [attr.id]=\"contentId\"\n [attr.aria-hidden]=\"collapsible && collapsed ? 'true' : 'false'\"\n >\n @if (!collapsed) {\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n }\n </div>\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inera-ids-angular-components-alert.mjs","sources":["../../../projects/ids-angular/components/alert/alert-header.component.ts","../../../projects/ids-angular/components/alert/alert.component.ts","../../../projects/ids-angular/components/alert/alert.component.html","../../../projects/ids-angular/components/alert/inera-ids-angular-components-alert.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'id-alert-header',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`\n})\nexport class IDAlertHeaderComponent {\n\n template = viewChild.required(TemplateRef);\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { Component, EventEmitter, Input, Output, booleanAttribute, inject, AfterContentInit, contentChild } from '@angular/core';\nimport { IDAlertHeaderComponent } from \"./alert-header.component\";\nimport { IDUseIdService } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: \"id-alert\",\n templateUrl: \"./alert.component.html\",\n host: {\n '[class]': 'hostClasses',\n '[class.ids-alert--collapsible]': 'collapsible',\n '[class.ids-alert--dismissible]': 'dismissible',\n '[class.ids-alert--ribbon]': 'ribbon',\n '[class.ids-alert--compact]': 'compact',\n '[class.ids-alert--collapsed]': 'collapsed',\n '[attr.ids-alert--dismissible]': 'dismissible ? \"\" : null',\n '[attr.role]': 'noRole ? null : \"alert\"',\n },\n imports: [CommonModule],\n standalone: true,\n})\nexport class IDAlertComponent implements AfterContentInit {\n\n private _collapsed: boolean = false;\n private idService = inject(IDUseIdService);\n protected contentId = this.idService.generateId('alert');\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input({ transform: booleanAttribute }) collapsible: boolean = false;\n @Input({ transform: booleanAttribute }) compact: boolean = false;\n @Input({ transform: booleanAttribute }) ribbon: boolean = false;\n @Input() type: \"info\" | \"attention\" | \"success\" | \"error\" = \"info\";\n @Input({ transform: booleanAttribute }) noRole: boolean = false;\n @Input() srCloseText: string = \"Stäng alertmeddelande\";\n @Input() srIconTitle: string = \"Ikon\";\n @Input() srCollapseText: string = \"Minimera alertmeddelande\";\n @Input() srExpandText: string = \"Expandera alertmeddelande\";\n\n\n @Input()\n get collapsed(): boolean {\n return this._collapsed;\n }\n set collapsed(value: boolean) {\n if (this._collapsed !== value) {\n this._collapsed = value;\n }\n }\n @Output() collapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output() dismissed: EventEmitter<void> = new EventEmitter<void>();\n @Output() closed: EventEmitter<void> = new EventEmitter<void>();\n @Output() opened: EventEmitter<void> = new EventEmitter<void>();\n\n header = contentChild(IDAlertHeaderComponent);\n\n get hostClasses(): string {\n return `ids-alert ids-alert--${this.type}`;\n }\n\n\n ngAfterContentInit(): void {\n if (this.header() === undefined) {\n this.compact = true;\n } \n }\n\n\n toggleCollapsed() {\n if (!this.collapsible) return;\n const newState = !this.collapsed;\n this._collapsed = newState;\n this.collapsedChange.emit(newState);\n if(this.collapsed) {\n this.closed.emit();\n } else {\n this.opened.emit();\n }\n }\n\n dismissAlert() {\n if (!this.dismissible) return;\n this.dismissed.emit();\n }\n}","<ng-template #contentTemplate>\n <ng-content select=\":not(id-alert-header)\"></ng-content>\n</ng-template>\n\n@if (compact || ribbon) {\n <div class=\"ids-alert__content\">\n <span\n class=\"ids-alert__content-icon\"\n aria-hidden\n ></span>\n <span class=\"ids-alert__content-text\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </div>\n\n @if (dismissible) {\n <div class=\"ids-alert__button\">\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n ></button>\n </div>\n }\n}\n\n@if (!compact && !ribbon) {\n <div class=\"ids-alert__container\">\n <div class=\"ids-alert__header\">\n <ng-template #headerContentTemplate>\n <div class=\"ids-alert__icon_and_text\">\n <span\n class=\"ids-alert__state-icon\"\n aria-hidden\n ></span>\n <div class=\"ids-alert__headline\">\n <ng-container *ngTemplateOutlet=\"header()!.template()\"></ng-container>\n </div>\n </div>\n </ng-template>\n\n @if (collapsible) {\n <button\n class=\"ids-alert__expand-button\"\n [class.ids-alert__expand-button--expanded]=\"!collapsed\"\n (click)=\"toggleCollapsed()\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"collapsed ? srExpandText : srCollapseText\"\n >\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n </button>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n }\n @if (dismissible) {\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n ></button>\n }\n </div>\n\n <div\n class=\"ids-alert__content\"\n [attr.id]=\"contentId\"\n [attr.aria-hidden]=\"collapsible && collapsed ? 'true' : 'false'\"\n >\n @if (!collapsed) {\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n }\n </div>\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -7,14 +7,14 @@ class IDBadgeComponent {
7
7
  get hostClasses() {
8
8
  return `ids-badge ids-badge--${this.type}`;
9
9
  }
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDBadgeComponent, isStandalone: true, selector: "id-badge", inputs: { type: "type", icon: "icon" }, host: { properties: { "class": "hostClasses" } }, ngImport: i0, template: "<div class=\"ids-badge__inner\">\n @if (icon) {\n <div class=\"ids-badge__icon\">\n <span class=\"ids-icon-{{ icon }}\"></span>\n </div>\n }\n <ng-content></ng-content>\n</div>" });
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: IDBadgeComponent, isStandalone: true, selector: "id-badge", inputs: { type: "type", icon: "icon" }, host: { properties: { "class": "hostClasses" } }, ngImport: i0, template: "<div class=\"ids-badge__inner\">\n @if (icon) {\n <div class=\"ids-badge__icon\">\n <span class=\"ids-icon-{{ icon }}-small\"></span>\n </div>\n }\n <ng-content></ng-content>\n</div>" });
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBadgeComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDBadgeComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: "id-badge", standalone: true, host: {
16
16
  '[class]': 'hostClasses'
17
- }, template: "<div class=\"ids-badge__inner\">\n @if (icon) {\n <div class=\"ids-badge__icon\">\n <span class=\"ids-icon-{{ icon }}\"></span>\n </div>\n }\n <ng-content></ng-content>\n</div>" }]
17
+ }, template: "<div class=\"ids-badge__inner\">\n @if (icon) {\n <div class=\"ids-badge__icon\">\n <span class=\"ids-icon-{{ icon }}-small\"></span>\n </div>\n }\n <ng-content></ng-content>\n</div>" }]
18
18
  }], propDecorators: { type: [{
19
19
  type: Input
20
20
  }], icon: [{
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-badge.mjs","sources":["../../../projects/ids-angular/components/badge/badge.component.ts","../../../projects/ids-angular/components/badge/badge.component.html","../../../projects/ids-angular/components/badge/inera-ids-angular-components-badge.ts"],"sourcesContent":["import { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"id-badge\",\n standalone: true,\n templateUrl: './badge.component.html',\n host: {\n '[class]': 'hostClasses'\n }\n})\nexport class IDBadgeComponent {\n @Input() type: 'primary' | 'neutral' | 'info' | 'attention' | 'success' | 'error' | 'secondary' = 'primary';\n @Input() icon?: string;\n\n get hostClasses(): string {\n return `ids-badge ids-badge--${this.type}`;\n }\n}","<div class=\"ids-badge__inner\">\n @if (icon) {\n <div class=\"ids-badge__icon\">\n <span class=\"ids-icon-{{ icon }}\"></span>\n </div>\n }\n <ng-content></ng-content>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAUa,gBAAgB,CAAA;IAClB,IAAI,GAAqF,SAAS;AAClG,IAAA,IAAI;AAEb,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,CAAA,qBAAA,EAAwB,IAAI,CAAC,IAAI,EAAE;IAC5C;wGANW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,8JCV7B,0LAOM,EAAA,CAAA;;4FDGO,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;+BACE,UAAU,EAAA,UAAA,EACR,IAAI,EAAA,IAAA,EAEV;AACJ,wBAAA,SAAS,EAAE;AACZ,qBAAA,EAAA,QAAA,EAAA,0LAAA,EAAA;8BAGQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;AEZH;;AAEG;;;;"}
1
+ {"version":3,"file":"inera-ids-angular-components-badge.mjs","sources":["../../../projects/ids-angular/components/badge/badge.component.ts","../../../projects/ids-angular/components/badge/badge.component.html","../../../projects/ids-angular/components/badge/inera-ids-angular-components-badge.ts"],"sourcesContent":["import { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"id-badge\",\n standalone: true,\n templateUrl: './badge.component.html',\n host: {\n '[class]': 'hostClasses'\n }\n})\nexport class IDBadgeComponent {\n @Input() type: 'primary' | 'neutral' | 'info' | 'attention' | 'success' | 'error' | 'secondary' = 'primary';\n @Input() icon?: string;\n\n get hostClasses(): string {\n return `ids-badge ids-badge--${this.type}`;\n }\n}","<div class=\"ids-badge__inner\">\n @if (icon) {\n <div class=\"ids-badge__icon\">\n <span class=\"ids-icon-{{ icon }}-small\"></span>\n </div>\n }\n <ng-content></ng-content>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAUa,gBAAgB,CAAA;IAClB,IAAI,GAAqF,SAAS;AAClG,IAAA,IAAI;AAEb,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,CAAA,qBAAA,EAAwB,IAAI,CAAC,IAAI,EAAE;IAC5C;wGANW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,8JCV7B,gMAOM,EAAA,CAAA;;4FDGO,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;+BACE,UAAU,EAAA,UAAA,EACR,IAAI,EAAA,IAAA,EAEV;AACJ,wBAAA,SAAS,EAAE;AACZ,qBAAA,EAAA,QAAA,EAAA,gMAAA,EAAA;8BAGQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;AEZH;;AAEG;;;;"}
@@ -1,45 +1,41 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { TemplateRef, ViewChild, Component, ContentChild } from '@angular/core';
4
+ import { viewChild, TemplateRef, Component, contentChild } from '@angular/core';
5
5
 
6
6
  class IDBoxLinkButtonComponent {
7
- template;
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBoxLinkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDBoxLinkButtonComponent, isStandalone: true, selector: "id-box-link-button", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: `
7
+ template = viewChild.required(TemplateRef);
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDBoxLinkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.25", type: IDBoxLinkButtonComponent, isStandalone: true, selector: "id-box-link-button", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
10
10
  <ng-template>
11
11
  <ng-content></ng-content>
12
- </ng-template>`, isInline: true });
12
+ </ng-template>
13
+ `, isInline: true });
13
14
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBoxLinkButtonComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDBoxLinkButtonComponent, decorators: [{
15
16
  type: Component,
16
17
  args: [{
17
- selector: "id-box-link-button",
18
+ selector: 'id-box-link-button',
18
19
  template: `
19
20
  <ng-template>
20
21
  <ng-content></ng-content>
21
- </ng-template>`,
22
+ </ng-template>
23
+ `,
22
24
  standalone: true,
23
25
  }]
24
- }], propDecorators: { template: [{
25
- type: ViewChild,
26
- args: [TemplateRef]
27
- }] } });
26
+ }] });
28
27
 
29
28
  class IDBoxLinkComponent {
30
- button;
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBoxLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDBoxLinkComponent, isStandalone: true, selector: "id-box-link", host: { classAttribute: "ids-box-link" }, queries: [{ propertyName: "button", first: true, predicate: IDBoxLinkButtonComponent, descendants: true }], ngImport: i0, template: "<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button.template\"></ng-container>\n </div>\n }\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
29
+ button = contentChild(IDBoxLinkButtonComponent);
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDBoxLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: IDBoxLinkComponent, isStandalone: true, selector: "id-box-link", host: { classAttribute: "ids-box-link" }, queries: [{ propertyName: "button", first: true, predicate: IDBoxLinkButtonComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button()) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button()!.template()\"></ng-container>\n </div>\n }\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
33
32
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBoxLinkComponent, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDBoxLinkComponent, decorators: [{
35
34
  type: Component,
36
- args: [{ selector: "id-box-link", imports: [CommonModule], standalone: true, host: {
37
- class: 'ids-box-link'
38
- }, template: "<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button.template\"></ng-container>\n </div>\n }\n </div>\n</div>" }]
39
- }], propDecorators: { button: [{
40
- type: ContentChild,
41
- args: [IDBoxLinkButtonComponent]
42
- }] } });
35
+ args: [{ selector: 'id-box-link', imports: [CommonModule], standalone: true, host: {
36
+ class: 'ids-box-link',
37
+ }, template: "<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button()) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button()!.template()\"></ng-container>\n </div>\n }\n </div>\n</div>" }]
38
+ }] });
43
39
 
44
40
  /**
45
41
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-box-link.mjs","sources":["../../../projects/ids-angular/components/box-link/box-link-button.component.ts","../../../projects/ids-angular/components/box-link/box-link.component.ts","../../../projects/ids-angular/components/box-link/box-link.component.html","../../../projects/ids-angular/components/box-link/inera-ids-angular-components-box-link.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"id-box-link-button\",\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`,\n standalone: true,\n})\nexport class IDBoxLinkButtonComponent {\n\n @ViewChild(TemplateRef) template: TemplateRef<any>;\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { Component, ContentChild } from \"@angular/core\";\nimport { IDBoxLinkButtonComponent } from \"./box-link-button.component\";\n\n@Component({\n selector: \"id-box-link\",\n templateUrl: \"./box-link.component.html\",\n imports: [CommonModule],\n standalone: true,\n host: {\n class: 'ids-box-link'\n }\n})\nexport class IDBoxLinkComponent {\n\n @ContentChild(IDBoxLinkButtonComponent)\n button: IDBoxLinkButtonComponent;\n\n}\n","<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button.template\"></ng-container>\n </div>\n }\n </div>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAUa,wBAAwB,CAAA;AAEX,IAAA,QAAQ;wGAFrB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAExB,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARZ;;;AAGO,kBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAGN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE;;;AAGO,kBAAA,CAAA;AACjB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;8BAGyB,QAAQ,EAAA,CAAA;sBAA/B,SAAS;uBAAC,WAAW;;;MCCX,kBAAkB,CAAA;AAG7B,IAAA,MAAM;wGAHK,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEf,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfxC,2WAWM,2CDJM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAMX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,WAEd,CAAC,YAAY,CAAC,EAAA,UAAA,EACX,IAAI,EAAA,IAAA,EACV;AACJ,wBAAA,KAAK,EAAE;AACR,qBAAA,EAAA,QAAA,EAAA,2WAAA,EAAA;8BAKD,MAAM,EAAA,CAAA;sBADL,YAAY;uBAAC,wBAAwB;;;AEfxC;;AAEG;;;;"}
1
+ {"version":3,"file":"inera-ids-angular-components-box-link.mjs","sources":["../../../projects/ids-angular/components/box-link/box-link-button.component.ts","../../../projects/ids-angular/components/box-link/box-link.component.ts","../../../projects/ids-angular/components/box-link/box-link.component.html","../../../projects/ids-angular/components/box-link/inera-ids-angular-components-box-link.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'id-box-link-button',\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `,\n standalone: true,\n})\nexport class IDBoxLinkButtonComponent {\n template = viewChild.required(TemplateRef);\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, contentChild } from '@angular/core';\nimport { IDBoxLinkButtonComponent } from './box-link-button.component';\n\n@Component({\n selector: 'id-box-link',\n templateUrl: './box-link.component.html',\n imports: [CommonModule],\n standalone: true,\n host: {\n class: 'ids-box-link',\n },\n})\nexport class IDBoxLinkComponent {\n button = contentChild(IDBoxLinkButtonComponent);\n}\n","<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button()) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button()!.template()\"></ng-container>\n </div>\n }\n </div>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAWa,wBAAwB,CAAA;AACnC,IAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;wGAD/B,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACL,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAR/B;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAGU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBATpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE;;;;AAIT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCGY,kBAAkB,CAAA;AAC7B,IAAA,MAAM,GAAG,YAAY,CAAC,wBAAwB,CAAC;wGADpC,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACP,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdhD,kXAWM,2CDJM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAMX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,WAEd,CAAC,YAAY,CAAC,EAAA,UAAA,EACX,IAAI,EAAA,IAAA,EACV;AACJ,wBAAA,KAAK,EAAE,cAAc;AACtB,qBAAA,EAAA,QAAA,EAAA,kXAAA,EAAA;;;AEXH;;AAEG;;;;"}
@@ -1,20 +1,20 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, ViewChild, Input, Component, inject, DestroyRef, ContentChildren } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
2
+ import { viewChild, TemplateRef, Input, Component, contentChildren, inject, DestroyRef } from '@angular/core';
3
+ import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
6
6
 
7
7
  class IDCrumbComponent {
8
8
  current = false;
9
9
  mobile = false;
10
- template;
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDCrumbComponent, isStandalone: true, selector: "id-crumb", inputs: { current: "current", mobile: "mobile" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: `
10
+ template = viewChild.required(TemplateRef);
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDCrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.25", type: IDCrumbComponent, isStandalone: true, selector: "id-crumb", inputs: { current: "current", mobile: "mobile" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
13
13
  <ng-template>
14
14
  <ng-content></ng-content>
15
15
  </ng-template>`, isInline: true });
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCrumbComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDCrumbComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{
20
20
  selector: 'id-crumb',
@@ -28,46 +28,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
28
28
  type: Input
29
29
  }], mobile: [{
30
30
  type: Input
31
- }], template: [{
32
- type: ViewChild,
33
- args: [TemplateRef]
34
31
  }] } });
35
32
 
36
33
  class IDBreadcrumbsComponent {
37
34
  lead = 'Du är här:';
38
35
  srLabel = 'Du är här';
39
- crumbComponents;
36
+ crumbComponents = contentChildren(IDCrumbComponent);
40
37
  crumbs = [];
41
38
  destroyRef = inject(DestroyRef);
39
+ constructor() {
40
+ toObservable(this.crumbComponents)
41
+ .pipe(takeUntilDestroyed(this.destroyRef))
42
+ .subscribe(() => { this.crumbs = [...this.crumbComponents()]; });
43
+ }
42
44
  getDesktopCrumbs() {
43
- return this.crumbComponents.filter(crumb => !crumb.mobile);
45
+ return this.crumbComponents().filter(crumb => !crumb.mobile);
44
46
  }
45
47
  getMobileCrumb() {
46
- return this.crumbComponents.find(crumb => crumb.mobile);
47
- }
48
- ngAfterContentInit() {
49
- this.crumbComponents.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
50
- setTimeout(() => {
51
- this.crumbs = this.crumbComponents.toArray();
52
- });
53
- });
54
- setTimeout(() => {
55
- this.crumbs = this.crumbComponents.toArray();
56
- }, 0);
48
+ return this.crumbComponents().find(crumb => crumb.mobile);
57
49
  }
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDBreadcrumbsComponent, isStandalone: true, selector: "id-breadcrumbs", inputs: { lead: "lead", srLabel: "srLabel" }, queries: [{ propertyName: "crumbComponents", predicate: IDCrumbComponent }], ngImport: i0, template: "<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDBreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: IDBreadcrumbsComponent, isStandalone: true, selector: "id-breadcrumbs", inputs: { lead: "lead", srLabel: "srLabel" }, queries: [{ propertyName: "crumbComponents", predicate: IDCrumbComponent, isSignal: true }], ngImport: i0, template: "<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template()\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template() ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
60
52
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBreadcrumbsComponent, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDBreadcrumbsComponent, decorators: [{
62
54
  type: Component,
63
- args: [{ selector: 'id-breadcrumbs', standalone: true, imports: [CommonModule], template: "<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>" }]
64
- }], propDecorators: { lead: [{
55
+ args: [{ selector: 'id-breadcrumbs', standalone: true, imports: [CommonModule], template: "<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template()\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template() ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>" }]
56
+ }], ctorParameters: () => [], propDecorators: { lead: [{
65
57
  type: Input
66
58
  }], srLabel: [{
67
59
  type: Input
68
- }], crumbComponents: [{
69
- type: ContentChildren,
70
- args: [IDCrumbComponent]
71
60
  }] } });
72
61
 
73
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-breadcrumbs.mjs","sources":["../../../projects/ids-angular/components/breadcrumbs/crumb.component.ts","../../../projects/ids-angular/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/ids-angular/components/breadcrumbs/breadcrumbs.component.html","../../../projects/ids-angular/components/breadcrumbs/inera-ids-angular-components-breadcrumbs.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-crumb',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`\n})\nexport class IDCrumbComponent {\n @Input() current: boolean = false;\n @Input() mobile: boolean = false;\n\n @ViewChild(TemplateRef) template: TemplateRef<any>;\n}\n","import { AfterContentInit, Component, ContentChildren, DestroyRef, Input, QueryList, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IDCrumbComponent } from './crumb.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n standalone: true,\n imports: [CommonModule],\n})\nexport class IDBreadcrumbsComponent implements AfterContentInit {\n\n @Input() lead = 'Du är här:';\n @Input() srLabel = 'Du är här';\n\n @ContentChildren(IDCrumbComponent) crumbComponents: QueryList<IDCrumbComponent>;\n\n crumbs: IDCrumbComponent[] = [];\n\n private destroyRef = inject(DestroyRef);\n\n getDesktopCrumbs(): IDCrumbComponent[] | undefined {\n return this.crumbComponents.filter(crumb => !crumb.mobile)\n }\n\n getMobileCrumb(): IDCrumbComponent | undefined {\n return this.crumbComponents.find(crumb => crumb.mobile)\n }\n\n ngAfterContentInit(): void {\n this.crumbComponents.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n setTimeout(() => {\n this.crumbs = this.crumbComponents.toArray();\n });\n });\n setTimeout(() => {\n this.crumbs = this.crumbComponents.toArray();\n }, 0);\n }\n\n}\n","<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>","/**\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-breadcrumbs.mjs","sources":["../../../projects/ids-angular/components/breadcrumbs/crumb.component.ts","../../../projects/ids-angular/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/ids-angular/components/breadcrumbs/breadcrumbs.component.html","../../../projects/ids-angular/components/breadcrumbs/inera-ids-angular-components-breadcrumbs.ts"],"sourcesContent":["import { Component, Input, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-crumb',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`\n})\nexport class IDCrumbComponent {\n @Input() current: boolean = false;\n @Input() mobile: boolean = false;\n\n template = viewChild.required(TemplateRef);\n}\n","import { Component, DestroyRef, Input, inject, contentChildren } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { IDCrumbComponent } from './crumb.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n standalone: true,\n imports: [CommonModule],\n})\nexport class IDBreadcrumbsComponent {\n\n @Input() lead = 'Du är här:';\n @Input() srLabel = 'Du är här';\n\n crumbComponents = contentChildren(IDCrumbComponent);\n\n crumbs: IDCrumbComponent[] = [];\n\n private destroyRef = inject(DestroyRef);\n\n constructor() {\n toObservable(this.crumbComponents)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => { this.crumbs = [...this.crumbComponents()]; });\n }\n\n getDesktopCrumbs(): IDCrumbComponent[] | undefined {\n return this.crumbComponents().filter(crumb => !crumb.mobile)\n }\n\n getMobileCrumb(): IDCrumbComponent | undefined {\n return this.crumbComponents().find(crumb => crumb.mobile)\n }\n\n}\n","<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template()\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template() ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -18,10 +18,10 @@ class IDButtonGroupComponent {
18
18
  classes.push(getStateClass('break-' + this.break));
19
19
  return classes.join(' ');
20
20
  }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.20", type: IDButtonGroupComponent, isStandalone: true, selector: "id-button-group", inputs: { rtl: ["rtl", "rtl", booleanAttribute], unresponsive: ["unresponsive", "unresponsive", booleanAttribute], justify: "justify", break: "break" }, host: { properties: { "class": "hostClasses" } }, ngImport: i0, template: "<ng-content></ng-content>" });
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.25", type: IDButtonGroupComponent, isStandalone: true, selector: "id-button-group", inputs: { rtl: ["rtl", "rtl", booleanAttribute], unresponsive: ["unresponsive", "unresponsive", booleanAttribute], justify: "justify", break: "break" }, host: { properties: { "class": "hostClasses" } }, ngImport: i0, template: "<ng-content></ng-content>" });
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDButtonGroupComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDButtonGroupComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'id-button-group', standalone: true, host: {
27
27
  '[class]': 'hostClasses'
@@ -80,10 +80,10 @@ class IDButtonDirective {
80
80
  });
81
81
  this.originalContent = [];
82
82
  }
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
84
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.20", type: IDButtonDirective, isStandalone: true, selector: "button[idButton], a[idButton]", inputs: { block: ["block", "block", booleanAttribute], secondary: ["secondary", "secondary", booleanAttribute], fab: ["fab", "fab", booleanAttribute], icon: ["icon", "icon", booleanAttribute], tertiary: ["tertiary", "tertiary", booleanAttribute], submit: ["submit", "submit", booleanAttribute], sBlock: ["sBlock", "sBlock", booleanAttribute], mBlock: ["mBlock", "mBlock", booleanAttribute], toggle: ["toggle", "toggle", booleanAttribute], active: ["active", "active", booleanAttribute], size: "size", loading: "loading" }, host: { properties: { "class": "baseAndSizeClasses", "class.ids-button--secondary": "secondary", "class.ids-button--tertiary": "tertiary", "class.ids-button--submit": "submit", "class.ids-button--fab": "fab", "class.ids-button--icon": "icon", "class.ids-button--active": "active", "class.ids-button--loading": "loading", "class.ids-button--block": "block", "class.ids-button--s-block": "sBlock", "class.ids-button--m-block": "mBlock", "attr.aria-pressed": "ariaPressedValue" } }, usesOnChanges: true, ngImport: i0 });
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
84
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.25", type: IDButtonDirective, isStandalone: true, selector: "button[idButton], a[idButton]", inputs: { block: ["block", "block", booleanAttribute], secondary: ["secondary", "secondary", booleanAttribute], fab: ["fab", "fab", booleanAttribute], icon: ["icon", "icon", booleanAttribute], tertiary: ["tertiary", "tertiary", booleanAttribute], submit: ["submit", "submit", booleanAttribute], sBlock: ["sBlock", "sBlock", booleanAttribute], mBlock: ["mBlock", "mBlock", booleanAttribute], toggle: ["toggle", "toggle", booleanAttribute], active: ["active", "active", booleanAttribute], size: "size", loading: "loading" }, host: { properties: { "class": "baseAndSizeClasses", "class.ids-button--secondary": "secondary", "class.ids-button--tertiary": "tertiary", "class.ids-button--submit": "submit", "class.ids-button--fab": "fab", "class.ids-button--icon": "icon", "class.ids-button--active": "active", "class.ids-button--loading": "loading", "class.ids-button--block": "block", "class.ids-button--s-block": "sBlock", "class.ids-button--m-block": "mBlock", "attr.aria-pressed": "ariaPressedValue" } }, usesOnChanges: true, ngImport: i0 });
85
85
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDButtonDirective, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDButtonDirective, decorators: [{
87
87
  type: Directive,
88
88
  args: [{
89
89
  selector: "button[idButton], a[idButton]",
@@ -9,10 +9,10 @@ class IDCardComponent {
9
9
  borderTop = false;
10
10
  interactive = false;
11
11
  lean = false;
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDCardComponent, isStandalone: true, selector: "id-card", inputs: { hideOnM: ["hideOnM", "hideOnM", booleanAttribute], hideOnS: ["hideOnS", "hideOnS", booleanAttribute], fill: ["fill", "fill", booleanAttribute], focusCard: ["focusCard", "focusCard", booleanAttribute], borderTop: ["borderTop", "borderTop", booleanAttribute], interactive: ["interactive", "interactive", booleanAttribute], lean: ["lean", "lean", booleanAttribute] }, host: { properties: { "class.ids-card--hide-on-m": "hideOnM", "class.ids-card--hide-on-s": "hideOnS", "class.ids-card--border-top": "!focusCard && borderTop", "class.ids-card--focus": "focusCard && !borderTop", "class.ids-card--fill": "fill", "class.ids-card--lean": "lean", "class.ids-card--interactive": "interactive" }, classAttribute: "ids-card" }, ngImport: i0, template: "@if (borderTop && !focusCard) {\n <div class=\"ids-card__border-top\"></div>\n}\n\n<div class=\"ids-card__content\">\n <ng-content></ng-content>\n</div>\n" });
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: IDCardComponent, isStandalone: true, selector: "id-card", inputs: { hideOnM: ["hideOnM", "hideOnM", booleanAttribute], hideOnS: ["hideOnS", "hideOnS", booleanAttribute], fill: ["fill", "fill", booleanAttribute], focusCard: ["focusCard", "focusCard", booleanAttribute], borderTop: ["borderTop", "borderTop", booleanAttribute], interactive: ["interactive", "interactive", booleanAttribute], lean: ["lean", "lean", booleanAttribute] }, host: { properties: { "class.ids-card--hide-on-m": "hideOnM", "class.ids-card--hide-on-s": "hideOnS", "class.ids-card--border-top": "!focusCard && borderTop", "class.ids-card--focus": "focusCard && !borderTop", "class.ids-card--fill": "fill", "class.ids-card--lean": "lean", "class.ids-card--interactive": "interactive" }, classAttribute: "ids-card" }, ngImport: i0, template: "@if (borderTop && !focusCard) {\n <div class=\"ids-card__border-top\"></div>\n}\n\n<div class=\"ids-card__content\">\n <ng-content></ng-content>\n</div>\n" });
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCardComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDCardComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: "id-card", standalone: true, host: {
18
18
  class: "ids-card",
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, ViewChild, Input, Component, inject, DestroyRef, EventEmitter, Output, ContentChildren } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
2
+ import { viewChild, TemplateRef, Input, Component, contentChildren, inject, DestroyRef, EventEmitter, Output } from '@angular/core';
3
+ import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
6
6
 
@@ -11,11 +11,11 @@ class IDCarouselItemComponent {
11
11
  active = true;
12
12
  next = true;
13
13
  prev = true;
14
- template;
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCarouselItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDCarouselItemComponent, isStandalone: true, selector: "id-carousel-item", inputs: { headline: "headline", description: "description", step: "step", active: "active", next: "next", prev: "prev" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <div class=\"ids-carousel-item-wrapper\" \n [class.active]=\"active\"\n [class.prev]=\"prev\"\n [class.next]=\"next\"\n [attr.aria-hidden]=\"!active ? 'true' : null\"\n [attr.inert]=\"!active ? 'true' : null\">\n <div class=\"ids-carousel-item\">\n <div class=\"ids-carousel-item__image\">\n <ng-content select=\"[idCarouselImage]\"></ng-content>\n </div>\n <div class=\"ids-carousel-item__content\">\n <h2 class=\"ids-carousel-item__headline\">{{headline}}</h2>\n <ng-content></ng-content>\n <div class=\"ids-carousel-item__footer\">\n <div class=\"ids-carousel-item__description\">{{description}}</div>\n <div class=\"ids-carousel-item__step\">\n <div class=\"ids-tag\">{{step}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>" });
14
+ template = viewChild.required(TemplateRef);
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDCarouselItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.25", type: IDCarouselItemComponent, isStandalone: true, selector: "id-carousel-item", inputs: { headline: "headline", description: "description", step: "step", active: "active", next: "next", prev: "prev" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template>\n <div class=\"ids-carousel-item-wrapper\" \n [class.active]=\"active\"\n [class.prev]=\"prev\"\n [class.next]=\"next\"\n [attr.aria-hidden]=\"!active ? 'true' : null\"\n [attr.inert]=\"!active ? 'true' : null\">\n <div class=\"ids-carousel-item\">\n <div class=\"ids-carousel-item__image\">\n <ng-content select=\"[idCarouselImage]\"></ng-content>\n </div>\n <div class=\"ids-carousel-item__content\">\n <h2 class=\"ids-carousel-item__headline\">{{headline}}</h2>\n <ng-content></ng-content>\n <div class=\"ids-carousel-item__footer\">\n <div class=\"ids-carousel-item__description\">{{description}}</div>\n <div class=\"ids-carousel-item__step\">\n <div class=\"ids-tag\">{{step}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>" });
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCarouselItemComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDCarouselItemComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'id-carousel-item', standalone: true, template: "<ng-template>\n <div class=\"ids-carousel-item-wrapper\" \n [class.active]=\"active\"\n [class.prev]=\"prev\"\n [class.next]=\"next\"\n [attr.aria-hidden]=\"!active ? 'true' : null\"\n [attr.inert]=\"!active ? 'true' : null\">\n <div class=\"ids-carousel-item\">\n <div class=\"ids-carousel-item__image\">\n <ng-content select=\"[idCarouselImage]\"></ng-content>\n </div>\n <div class=\"ids-carousel-item__content\">\n <h2 class=\"ids-carousel-item__headline\">{{headline}}</h2>\n <ng-content></ng-content>\n <div class=\"ids-carousel-item__footer\">\n <div class=\"ids-carousel-item__description\">{{description}}</div>\n <div class=\"ids-carousel-item__step\">\n <div class=\"ids-tag\">{{step}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>" }]
21
21
  }], propDecorators: { headline: [{
@@ -30,13 +30,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
30
30
  type: Input
31
31
  }], prev: [{
32
32
  type: Input
33
- }], template: [{
34
- type: ViewChild,
35
- args: [TemplateRef]
36
33
  }] } });
37
34
 
38
35
  class IDCarouselComponent {
39
- carouselItems;
36
+ carouselItems = contentChildren(IDCarouselItemComponent);
40
37
  destroyRef = inject(DestroyRef);
41
38
  srNextLabel = 'Nästa slide';
42
39
  srPrevLabel = 'Föregående slide';
@@ -44,15 +41,14 @@ class IDCarouselComponent {
44
41
  activeSlide = 0;
45
42
  isAnimating = false;
46
43
  animatingTimeout;
44
+ constructor() {
45
+ toObservable(this.carouselItems)
46
+ .pipe(takeUntilDestroyed(this.destroyRef))
47
+ .subscribe(() => this.syncActiveSlide());
48
+ }
47
49
  ngOnDestroy() {
48
50
  clearTimeout(this.animatingTimeout);
49
51
  }
50
- ngAfterContentInit() {
51
- this.syncActiveSlide();
52
- this.carouselItems.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
53
- this.syncActiveSlide();
54
- });
55
- }
56
52
  setIsAnimating() {
57
53
  this.isAnimating = true;
58
54
  clearTimeout(this.animatingTimeout);
@@ -62,14 +58,14 @@ class IDCarouselComponent {
62
58
  }
63
59
  nextSlide() {
64
60
  if (!this.isAnimating) {
65
- const lastIndex = this.carouselItems.length - 1;
61
+ const lastIndex = this.carouselItems().length - 1;
66
62
  this.setActiveSlide(this.activeSlide === lastIndex ? 0 : this.activeSlide + 1);
67
63
  this.setIsAnimating();
68
64
  }
69
65
  }
70
66
  prevSlide() {
71
67
  if (!this.isAnimating) {
72
- const lastIndex = this.carouselItems.length - 1;
68
+ const lastIndex = this.carouselItems().length - 1;
73
69
  this.setActiveSlide(this.activeSlide === 0 ? lastIndex : this.activeSlide - 1);
74
70
  this.setIsAnimating();
75
71
  }
@@ -80,7 +76,7 @@ class IDCarouselComponent {
80
76
  this.slideChanged.emit(this.activeSlide);
81
77
  }
82
78
  syncActiveSlide() {
83
- const items = this.carouselItems.toArray();
79
+ const items = this.carouselItems();
84
80
  const lastIndex = items.length - 1;
85
81
  items.forEach((item, index) => {
86
82
  item.active = index === this.activeSlide;
@@ -91,16 +87,13 @@ class IDCarouselComponent {
91
87
  trackByItem(_, item) {
92
88
  return item;
93
89
  }
94
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
95
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDCarouselComponent, isStandalone: true, selector: "id-carousel", inputs: { srNextLabel: "srNextLabel", srPrevLabel: "srPrevLabel" }, outputs: { slideChanged: "slideChanged" }, queries: [{ propertyName: "carouselItems", predicate: IDCarouselItemComponent }], ngImport: i0, template: "<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content js-carousel-slide\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems; trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
90
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
91
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.25", type: IDCarouselComponent, isStandalone: true, selector: "id-carousel", inputs: { srNextLabel: "srNextLabel", srPrevLabel: "srPrevLabel" }, outputs: { slideChanged: "slideChanged" }, queries: [{ propertyName: "carouselItems", predicate: IDCarouselItemComponent, isSignal: true }], ngImport: i0, template: "<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems(); trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template()\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
96
92
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCarouselComponent, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IDCarouselComponent, decorators: [{
98
94
  type: Component,
99
- args: [{ selector: 'id-carousel', imports: [CommonModule], standalone: true, template: "<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content js-carousel-slide\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems; trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
100
- }], propDecorators: { carouselItems: [{
101
- type: ContentChildren,
102
- args: [IDCarouselItemComponent]
103
- }], srNextLabel: [{
95
+ args: [{ selector: 'id-carousel', imports: [CommonModule], standalone: true, template: "<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems(); trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template()\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
96
+ }], ctorParameters: () => [], propDecorators: { srNextLabel: [{
104
97
  type: Input
105
98
  }], srPrevLabel: [{
106
99
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-carousel.mjs","sources":["../../../projects/ids-angular/components/carousel/carousel-item/carousel-item.component.ts","../../../projects/ids-angular/components/carousel/carousel-item/carousel-item.component.html","../../../projects/ids-angular/components/carousel/carousel.component.ts","../../../projects/ids-angular/components/carousel/carousel.component.html","../../../projects/ids-angular/components/carousel/inera-ids-angular-components-carousel.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'id-carousel-item',\n templateUrl: './carousel-item.component.html',\n standalone: true,\n})\nexport class IDCarouselItemComponent {\n @Input() headline: string = '';\n @Input() description: string = '';\n @Input() step: string = '';\n @Input() active: boolean = true;\n @Input() next: boolean = true;\n @Input() prev: boolean = true;\n\n @ViewChild(TemplateRef) template: TemplateRef<any>;\n}\n","<ng-template>\n <div class=\"ids-carousel-item-wrapper\" \n [class.active]=\"active\"\n [class.prev]=\"prev\"\n [class.next]=\"next\"\n [attr.aria-hidden]=\"!active ? 'true' : null\"\n [attr.inert]=\"!active ? 'true' : null\">\n <div class=\"ids-carousel-item\">\n <div class=\"ids-carousel-item__image\">\n <ng-content select=\"[idCarouselImage]\"></ng-content>\n </div>\n <div class=\"ids-carousel-item__content\">\n <h2 class=\"ids-carousel-item__headline\">{{headline}}</h2>\n <ng-content></ng-content>\n <div class=\"ids-carousel-item__footer\">\n <div class=\"ids-carousel-item__description\">{{description}}</div>\n <div class=\"ids-carousel-item__step\">\n <div class=\"ids-tag\">{{step}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>","import {\n AfterContentInit,\n Component,\n ContentChildren,\n DestroyRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n inject,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IDCarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-carousel',\n templateUrl: './carousel.component.html',\n imports: [CommonModule],\n standalone: true,\n})\nexport class IDCarouselComponent implements AfterContentInit, OnDestroy {\n @ContentChildren(IDCarouselItemComponent)\n carouselItems!: QueryList<IDCarouselItemComponent>;\n\n private destroyRef = inject(DestroyRef);\n @Input() srNextLabel = 'Nästa slide';\n @Input() srPrevLabel = 'Föregående slide';\n\n @Output() slideChanged: EventEmitter<number> = new EventEmitter<number>();\n\n activeSlide = 0;\n isAnimating = false;\n private animatingTimeout?: ReturnType<typeof setTimeout>;\n\n ngOnDestroy() {\n clearTimeout(this.animatingTimeout);\n }\n\n ngAfterContentInit() {\n this.syncActiveSlide();\n this.carouselItems.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.syncActiveSlide();\n });\n }\n\n setIsAnimating() {\n this.isAnimating = true;\n clearTimeout(this.animatingTimeout);\n this.animatingTimeout = setTimeout(() => {\n this.isAnimating = false;\n }, 500);\n }\n\n nextSlide() {\n if (!this.isAnimating) {\n const lastIndex = this.carouselItems.length - 1;\n this.setActiveSlide(this.activeSlide === lastIndex ? 0 : this.activeSlide + 1);\n this.setIsAnimating();\n }\n }\n\n prevSlide() {\n if (!this.isAnimating) {\n const lastIndex = this.carouselItems.length - 1;\n this.setActiveSlide(this.activeSlide === 0 ? lastIndex : this.activeSlide - 1);\n this.setIsAnimating();\n }\n }\n\n setActiveSlide(index: number) {\n this.activeSlide = index;\n this.syncActiveSlide();\n this.slideChanged.emit(this.activeSlide);\n }\n\n private syncActiveSlide() {\n const items = this.carouselItems.toArray();\n const lastIndex = items.length - 1;\n\n items.forEach((item, index) => {\n item.active = index === this.activeSlide;\n item.prev = index === (this.activeSlide === 0 ? lastIndex : this.activeSlide - 1);\n item.next = index === (this.activeSlide === lastIndex ? 0 : this.activeSlide + 1);\n });\n }\n\n trackByItem(_: number, item: IDCarouselItemComponent): IDCarouselItemComponent {\n return item;\n }\n}\n","<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content js-carousel-slide\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems; trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inera-ids-angular-components-carousel.mjs","sources":["../../../projects/ids-angular/components/carousel/carousel-item/carousel-item.component.ts","../../../projects/ids-angular/components/carousel/carousel-item/carousel-item.component.html","../../../projects/ids-angular/components/carousel/carousel.component.ts","../../../projects/ids-angular/components/carousel/carousel.component.html","../../../projects/ids-angular/components/carousel/inera-ids-angular-components-carousel.ts"],"sourcesContent":["import { Component, Input, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'id-carousel-item',\n templateUrl: './carousel-item.component.html',\n standalone: true,\n})\nexport class IDCarouselItemComponent {\n @Input() headline: string = '';\n @Input() description: string = '';\n @Input() step: string = '';\n @Input() active: boolean = true;\n @Input() next: boolean = true;\n @Input() prev: boolean = true;\n\n template = viewChild.required(TemplateRef);\n}\n","<ng-template>\n <div class=\"ids-carousel-item-wrapper\" \n [class.active]=\"active\"\n [class.prev]=\"prev\"\n [class.next]=\"next\"\n [attr.aria-hidden]=\"!active ? 'true' : null\"\n [attr.inert]=\"!active ? 'true' : null\">\n <div class=\"ids-carousel-item\">\n <div class=\"ids-carousel-item__image\">\n <ng-content select=\"[idCarouselImage]\"></ng-content>\n </div>\n <div class=\"ids-carousel-item__content\">\n <h2 class=\"ids-carousel-item__headline\">{{headline}}</h2>\n <ng-content></ng-content>\n <div class=\"ids-carousel-item__footer\">\n <div class=\"ids-carousel-item__description\">{{description}}</div>\n <div class=\"ids-carousel-item__step\">\n <div class=\"ids-tag\">{{step}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>","import { Component, DestroyRef, EventEmitter, Input, OnDestroy, Output, inject, contentChildren } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { IDCarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-carousel',\n templateUrl: './carousel.component.html',\n imports: [CommonModule],\n standalone: true,\n})\nexport class IDCarouselComponent implements OnDestroy {\n carouselItems = contentChildren(IDCarouselItemComponent);\n\n private destroyRef = inject(DestroyRef);\n @Input() srNextLabel = 'Nästa slide';\n @Input() srPrevLabel = 'Föregående slide';\n\n @Output() slideChanged: EventEmitter<number> = new EventEmitter<number>();\n\n activeSlide = 0;\n isAnimating = false;\n private animatingTimeout?: ReturnType<typeof setTimeout>;\n\n constructor() {\n toObservable(this.carouselItems)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.syncActiveSlide());\n }\n\n ngOnDestroy() {\n clearTimeout(this.animatingTimeout);\n }\n\n setIsAnimating() {\n this.isAnimating = true;\n clearTimeout(this.animatingTimeout);\n this.animatingTimeout = setTimeout(() => {\n this.isAnimating = false;\n }, 500);\n }\n\n nextSlide() {\n if (!this.isAnimating) {\n const lastIndex = this.carouselItems().length - 1;\n this.setActiveSlide(this.activeSlide === lastIndex ? 0 : this.activeSlide + 1);\n this.setIsAnimating();\n }\n }\n\n prevSlide() {\n if (!this.isAnimating) {\n const lastIndex = this.carouselItems().length - 1;\n this.setActiveSlide(this.activeSlide === 0 ? lastIndex : this.activeSlide - 1);\n this.setIsAnimating();\n }\n }\n\n setActiveSlide(index: number) {\n this.activeSlide = index;\n this.syncActiveSlide();\n this.slideChanged.emit(this.activeSlide);\n }\n\n private syncActiveSlide() {\n const items = this.carouselItems();\n const lastIndex = items.length - 1;\n\n items.forEach((item, index) => {\n item.active = index === this.activeSlide;\n item.prev = index === (this.activeSlide === 0 ? lastIndex : this.activeSlide - 1);\n item.next = index === (this.activeSlide === lastIndex ? 0 : this.activeSlide + 1);\n });\n }\n\n trackByItem(_: number, item: IDCarouselItemComponent): IDCarouselItemComponent {\n return item;\n }\n}\n","<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems(); trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template()\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}