@inera/ids-angular 9.0.2 → 9.2.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 (540) hide show
  1. package/common/classes/form/IDErrorMessageBase.d.ts +1 -1
  2. package/common/classes/form/IDFormBase.d.ts +3 -2
  3. package/common/public-api.d.ts +1 -0
  4. package/common/utilities/useFocusTrap.d.ts +11 -0
  5. package/components/accordion/accordion.component.d.ts +4 -3
  6. package/components/card/card.component.d.ts +1 -1
  7. package/components/card/public-api.d.ts +0 -1
  8. package/components/carousel/carousel.component.d.ts +5 -2
  9. package/components/dialog/dialog.component.d.ts +4 -12
  10. package/components/dropdown/dropdown-trigger.component.d.ts +0 -1
  11. package/components/dropdown/dropdown.component.d.ts +8 -3
  12. package/components/footer-1177/footer-1177-col.component.d.ts +1 -0
  13. package/components/footer-1177/footer-1177-text.component.d.ts +0 -1
  14. package/components/footer-1177/footer-1177.component.d.ts +1 -0
  15. package/components/footer-1177-admin/footer-1177-admin-col.component.d.ts +1 -0
  16. package/components/footer-1177-admin/footer-1177-admin-text.component.d.ts +0 -1
  17. package/components/footer-1177-admin/footer-1177-admin.component.d.ts +1 -0
  18. package/components/footer-1177-pro/footer-1177-pro-col.component.d.ts +1 -0
  19. package/components/footer-1177-pro/footer-1177-pro-text.component.d.ts +0 -1
  20. package/components/footer-1177-pro/footer-1177-pro.component.d.ts +3 -1
  21. package/components/footer-inera/footer-inera-col.component.d.ts +1 -0
  22. package/components/footer-inera/footer-inera-sub-footer-mobile-text.component.d.ts +5 -0
  23. package/components/footer-inera/footer-inera-text.component.d.ts +0 -1
  24. package/components/footer-inera/footer-inera.component.d.ts +2 -1
  25. package/components/footer-inera/footer-inera.module.d.ts +2 -1
  26. package/components/footer-inera/public-api.d.ts +1 -0
  27. package/components/footer-inera-admin/footer-inera-admin-col.component.d.ts +2 -2
  28. package/components/footer-inera-admin/footer-inera-admin-sub-footer-mobile-text.component.d.ts +5 -0
  29. package/components/footer-inera-admin/footer-inera-admin-text.component.d.ts +0 -1
  30. package/components/footer-inera-admin/footer-inera-admin.component.d.ts +2 -1
  31. package/components/footer-inera-admin/footer-inera-admin.module.d.ts +2 -1
  32. package/components/footer-inera-admin/public-api.d.ts +1 -0
  33. package/components/footer-inera-general/footer-inera-general-col.component.d.ts +13 -0
  34. package/components/footer-inera-general/footer-inera-general-sub-footer-left.component.d.ts +5 -0
  35. package/components/footer-inera-general/footer-inera-general-sub-footer-mobile-text.component.d.ts +5 -0
  36. package/components/footer-inera-general/footer-inera-general-sub-footer-mobile.component.d.ts +5 -0
  37. package/components/footer-inera-general/footer-inera-general-sub-footer-right.component.d.ts +5 -0
  38. package/components/footer-inera-general/footer-inera-general-text.component.d.ts +5 -0
  39. package/components/footer-inera-general/footer-inera-general.component.d.ts +12 -0
  40. package/components/footer-inera-general/footer-inera-general.module.d.ts +12 -0
  41. package/components/footer-inera-general/index.d.ts +5 -0
  42. package/components/footer-inera-general/public-api.d.ts +8 -0
  43. package/components/form/checkbox-group/checkbox-group.component.d.ts +6 -4
  44. package/components/form/input/input-unit.component.d.ts +5 -0
  45. package/components/form/input/input.component.d.ts +7 -3
  46. package/components/form/input/public-api.d.ts +1 -0
  47. package/components/form/select-multiple/select-multiple.component.d.ts +2 -1
  48. package/components/form/textarea/textarea-hint.component.d.ts +1 -0
  49. package/components/global-alert/global-alert-actions.component.d.ts +0 -1
  50. package/components/global-alert/global-alert-header.component.d.ts +0 -1
  51. package/components/global-alert/global-alert.component.d.ts +1 -3
  52. package/components/header-1177/avatar/header-1177-avatar.component.d.ts +5 -2
  53. package/components/header-1177-admin/avatar/header-1177-admin-avatar.component.d.ts +6 -3
  54. package/components/header-1177-admin/avatar-mobile/header-1177-admin-avatar-mobile.component.d.ts +5 -2
  55. package/components/header-1177-admin/nav/header-1177-admin-nav.component.d.ts +1 -1
  56. package/components/header-1177-pro/avatar/header-1177-pro-avatar.component.d.ts +5 -2
  57. package/components/header-1177-pro/avatar-mobile/header-1177-pro-avatar-mobile.component.d.ts +6 -3
  58. package/components/header-1177-pro/header-1177-pro.component.d.ts +4 -4
  59. package/components/header-1177-pro/nav/header-1177-pro-nav.component.d.ts +1 -1
  60. package/components/header-1177-pro/region-picker-mobile/header-1177-pro-region-picker-mobile.component.d.ts +4 -2
  61. package/components/header-inera-admin/avatar/header-inera-admin-avatar.component.d.ts +5 -2
  62. package/components/header-inera-admin/avatar-mobile/header-inera-admin-avatar-mobile.component.d.ts +5 -2
  63. package/components/header-inera-admin/nav/header-inera-admin-nav.component.d.ts +3 -1
  64. package/components/header-inera-general/brand-link/header-inera-general-brand-link.directive.d.ts +5 -0
  65. package/components/header-inera-general/header-inera-general.component.d.ts +18 -0
  66. package/components/header-inera-general/header-inera-general.module.d.ts +14 -0
  67. package/components/header-inera-general/index.d.ts +5 -0
  68. package/components/header-inera-general/item/header-inera-general-item.component.d.ts +10 -0
  69. package/components/header-inera-general/menu-mobile/header-inera-general-menu-mobile.component.d.ts +10 -0
  70. package/components/header-inera-general/nav/header-inera-general-nav.component.d.ts +9 -0
  71. package/components/header-inera-general/nav-item/header-inera-general-nav-item.component.d.ts +25 -0
  72. package/components/header-inera-general/nav-item-menu-link/header-inera-general-nav-item-menu-link.component.d.ts +5 -0
  73. package/components/header-inera-general/public-api.d.ts +9 -0
  74. package/components/header-inera-general/skip-to-content/header-inera-general-skip-to-content.component.d.ts +5 -0
  75. package/components/mobile/menu/mobile-menu.component.d.ts +0 -1
  76. package/components/popover/popover-content.component.d.ts +4 -1
  77. package/components/popover/popover.component.d.ts +24 -12
  78. package/components/puff-list/puff-list-item-content-info.component.d.ts +3 -1
  79. package/components/puff-list/puff-list.component.d.ts +0 -1
  80. package/components/stepper/step.component.d.ts +4 -4
  81. package/components/tabs/tab-group.component.d.ts +3 -0
  82. package/components/tabs/tab.component.d.ts +4 -1
  83. package/components/toolbar/index.d.ts +5 -0
  84. package/components/toolbar/public-api.d.ts +1 -0
  85. package/components/toolbar/toolbar.component.d.ts +5 -0
  86. package/components/tooltip/tooltip.component.d.ts +17 -4
  87. package/fesm2022/inera-ids-angular-common.mjs +114 -28
  88. package/fesm2022/inera-ids-angular-common.mjs.map +1 -1
  89. package/fesm2022/inera-ids-angular-components-accordion.mjs +15 -10
  90. package/fesm2022/inera-ids-angular-components-accordion.mjs.map +1 -1
  91. package/fesm2022/inera-ids-angular-components-action-link.mjs +28 -12
  92. package/fesm2022/inera-ids-angular-components-action-link.mjs.map +1 -1
  93. package/fesm2022/inera-ids-angular-components-alert.mjs +6 -6
  94. package/fesm2022/inera-ids-angular-components-badge.mjs +3 -3
  95. package/fesm2022/inera-ids-angular-components-box-link.mjs +6 -6
  96. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs +7 -7
  97. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs.map +1 -1
  98. package/fesm2022/inera-ids-angular-components-button-group.mjs +3 -3
  99. package/fesm2022/inera-ids-angular-components-button.mjs +4 -4
  100. package/fesm2022/inera-ids-angular-components-button.mjs.map +1 -1
  101. package/fesm2022/inera-ids-angular-components-card.mjs +7 -22
  102. package/fesm2022/inera-ids-angular-components-card.mjs.map +1 -1
  103. package/fesm2022/inera-ids-angular-components-carousel.mjs +16 -8
  104. package/fesm2022/inera-ids-angular-components-carousel.mjs.map +1 -1
  105. package/fesm2022/inera-ids-angular-components-date-label.mjs +3 -3
  106. package/fesm2022/inera-ids-angular-components-dialog.mjs +30 -68
  107. package/fesm2022/inera-ids-angular-components-dialog.mjs.map +1 -1
  108. package/fesm2022/inera-ids-angular-components-dropdown.mjs +59 -28
  109. package/fesm2022/inera-ids-angular-components-dropdown.mjs.map +1 -1
  110. package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs +30 -28
  111. package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs.map +1 -1
  112. package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs +36 -31
  113. package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs.map +1 -1
  114. package/fesm2022/inera-ids-angular-components-footer-1177.mjs +29 -27
  115. package/fesm2022/inera-ids-angular-components-footer-1177.mjs.map +1 -1
  116. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs +55 -36
  117. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs.map +1 -1
  118. package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs +214 -0
  119. package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs.map +1 -0
  120. package/fesm2022/inera-ids-angular-components-footer-inera.mjs +53 -31
  121. package/fesm2022/inera-ids-angular-components-footer-inera.mjs.map +1 -1
  122. package/fesm2022/inera-ids-angular-components-form-check-button.mjs +3 -3
  123. package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs +11 -5
  124. package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs.map +1 -1
  125. package/fesm2022/inera-ids-angular-components-form-checkbox.mjs +9 -3
  126. package/fesm2022/inera-ids-angular-components-form-checkbox.mjs.map +1 -1
  127. package/fesm2022/inera-ids-angular-components-form-darkmode-toggle.mjs +3 -3
  128. package/fesm2022/inera-ids-angular-components-form-error-message.mjs +3 -3
  129. package/fesm2022/inera-ids-angular-components-form-input.mjs +44 -20
  130. package/fesm2022/inera-ids-angular-components-form-input.mjs.map +1 -1
  131. package/fesm2022/inera-ids-angular-components-form-radio-button.mjs +7 -7
  132. package/fesm2022/inera-ids-angular-components-form-radio-button.mjs.map +1 -1
  133. package/fesm2022/inera-ids-angular-components-form-radio.mjs +6 -6
  134. package/fesm2022/inera-ids-angular-components-form-range.mjs +3 -3
  135. package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs +25 -9
  136. package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs.map +1 -1
  137. package/fesm2022/inera-ids-angular-components-form-select.mjs +3 -3
  138. package/fesm2022/inera-ids-angular-components-form-spinner.mjs +3 -3
  139. package/fesm2022/inera-ids-angular-components-form-textarea.mjs +9 -8
  140. package/fesm2022/inera-ids-angular-components-form-textarea.mjs.map +1 -1
  141. package/fesm2022/inera-ids-angular-components-form-time.mjs +3 -3
  142. package/fesm2022/inera-ids-angular-components-form-toggle.mjs +3 -3
  143. package/fesm2022/inera-ids-angular-components-global-alert.mjs +13 -21
  144. package/fesm2022/inera-ids-angular-components-global-alert.mjs.map +1 -1
  145. package/fesm2022/inera-ids-angular-components-grid-column.mjs +3 -3
  146. package/fesm2022/inera-ids-angular-components-grid-container.mjs +3 -3
  147. package/fesm2022/inera-ids-angular-components-grid-layout-grid-column.mjs +3 -3
  148. package/fesm2022/inera-ids-angular-components-grid-layout-grid-container.mjs +3 -3
  149. package/fesm2022/inera-ids-angular-components-grid-layout-grid-row.mjs +3 -3
  150. package/fesm2022/inera-ids-angular-components-grid-layout.mjs +9 -9
  151. package/fesm2022/inera-ids-angular-components-grid-row.mjs +3 -3
  152. package/fesm2022/inera-ids-angular-components-grid.mjs +9 -9
  153. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs +159 -105
  154. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs.map +1 -1
  155. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs +179 -131
  156. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs.map +1 -1
  157. package/fesm2022/inera-ids-angular-components-header-1177.mjs +59 -50
  158. package/fesm2022/inera-ids-angular-components-header-1177.mjs.map +1 -1
  159. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs +81 -60
  160. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs.map +1 -1
  161. package/fesm2022/inera-ids-angular-components-header-inera-general.mjs +425 -0
  162. package/fesm2022/inera-ids-angular-components-header-inera-general.mjs.map +1 -0
  163. package/fesm2022/inera-ids-angular-components-header-inera.mjs +29 -31
  164. package/fesm2022/inera-ids-angular-components-header-inera.mjs.map +1 -1
  165. package/fesm2022/inera-ids-angular-components-header-patient.mjs +6 -6
  166. package/fesm2022/inera-ids-angular-components-link.mjs +3 -3
  167. package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs +3 -3
  168. package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs.map +1 -1
  169. package/fesm2022/inera-ids-angular-components-mobile-menu.mjs +7 -8
  170. package/fesm2022/inera-ids-angular-components-mobile-menu.mjs.map +1 -1
  171. package/fesm2022/inera-ids-angular-components-navigation-content.mjs +6 -6
  172. package/fesm2022/inera-ids-angular-components-navigation-local.mjs +6 -6
  173. package/fesm2022/inera-ids-angular-components-notification-badge.mjs +3 -3
  174. package/fesm2022/inera-ids-angular-components-pagination-data-pagination.mjs +6 -6
  175. package/fesm2022/inera-ids-angular-components-pagination-list-pagination.mjs +3 -3
  176. package/fesm2022/inera-ids-angular-components-popover.mjs +209 -72
  177. package/fesm2022/inera-ids-angular-components-popover.mjs.map +1 -1
  178. package/fesm2022/inera-ids-angular-components-progressbar.mjs +3 -3
  179. package/fesm2022/inera-ids-angular-components-puff-list.mjs +160 -128
  180. package/fesm2022/inera-ids-angular-components-puff-list.mjs.map +1 -1
  181. package/fesm2022/inera-ids-angular-components-region-icon.mjs +3 -3
  182. package/fesm2022/inera-ids-angular-components-side-menu.mjs +13 -13
  183. package/fesm2022/inera-ids-angular-components-side-panel.mjs +13 -13
  184. package/fesm2022/inera-ids-angular-components-stepper.mjs +57 -45
  185. package/fesm2022/inera-ids-angular-components-stepper.mjs.map +1 -1
  186. package/fesm2022/inera-ids-angular-components-tabs.mjs +89 -14
  187. package/fesm2022/inera-ids-angular-components-tabs.mjs.map +1 -1
  188. package/fesm2022/inera-ids-angular-components-tag.mjs +6 -6
  189. package/fesm2022/inera-ids-angular-components-toolbar.mjs +18 -0
  190. package/fesm2022/inera-ids-angular-components-toolbar.mjs.map +1 -0
  191. package/fesm2022/inera-ids-angular-components-tooltip.mjs +148 -42
  192. package/fesm2022/inera-ids-angular-components-tooltip.mjs.map +1 -1
  193. package/package.json +104 -224
  194. package/components/card/card-link.directive.d.ts +0 -5
  195. package/esm2022/common/classes/form/IDErrorMessageBase.mjs +0 -19
  196. package/esm2022/common/classes/form/IDFormBase.mjs +0 -124
  197. package/esm2022/common/context/header-context.mjs +0 -3
  198. package/esm2022/common/directives/click-outside.directive.mjs +0 -30
  199. package/esm2022/common/inera-ids-angular-common.mjs +0 -5
  200. package/esm2022/common/public-api.mjs +0 -11
  201. package/esm2022/common/services/input-described-by-linker.service.mjs +0 -31
  202. package/esm2022/common/services/input-invalid-linker.service.mjs +0 -29
  203. package/esm2022/common/services/input-label-linker.service.mjs +0 -26
  204. package/esm2022/common/services/tooltip-category.service.mjs +0 -16
  205. package/esm2022/common/services/use-id.service.ts.mjs +0 -19
  206. package/esm2022/common/utilities/useEscKey.mjs +0 -11
  207. package/esm2022/components/accordion/accordion-header.component.mjs +0 -25
  208. package/esm2022/components/accordion/accordion.component.mjs +0 -99
  209. package/esm2022/components/accordion/inera-ids-angular-components-accordion.mjs +0 -5
  210. package/esm2022/components/accordion/public-api.mjs +0 -3
  211. package/esm2022/components/action-link/action-link.component.mjs +0 -32
  212. package/esm2022/components/action-link/inera-ids-angular-components-action-link.mjs +0 -5
  213. package/esm2022/components/action-link/public-api.mjs +0 -2
  214. package/esm2022/components/alert/alert-header.component.mjs +0 -25
  215. package/esm2022/components/alert/alert.component.mjs +0 -114
  216. package/esm2022/components/alert/inera-ids-angular-components-alert.mjs +0 -5
  217. package/esm2022/components/alert/public-api.mjs +0 -3
  218. package/esm2022/components/badge/badge.component.mjs +0 -22
  219. package/esm2022/components/badge/inera-ids-angular-components-badge.mjs +0 -5
  220. package/esm2022/components/badge/public-api.mjs +0 -2
  221. package/esm2022/components/box-link/box-link-button.component.mjs +0 -25
  222. package/esm2022/components/box-link/box-link.component.mjs +0 -20
  223. package/esm2022/components/box-link/inera-ids-angular-components-box-link.mjs +0 -5
  224. package/esm2022/components/box-link/public-api.mjs +0 -3
  225. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +0 -43
  226. package/esm2022/components/breadcrumbs/crumb.component.mjs +0 -31
  227. package/esm2022/components/breadcrumbs/inera-ids-angular-components-breadcrumbs.mjs +0 -5
  228. package/esm2022/components/breadcrumbs/public-api.mjs +0 -3
  229. package/esm2022/components/button/button.directive.mjs +0 -140
  230. package/esm2022/components/button/inera-ids-angular-components-button.mjs +0 -5
  231. package/esm2022/components/button/public-api.mjs +0 -2
  232. package/esm2022/components/button-group/button-group.component.mjs +0 -39
  233. package/esm2022/components/button-group/inera-ids-angular-components-button-group.mjs +0 -5
  234. package/esm2022/components/button-group/public-api.mjs +0 -2
  235. package/esm2022/components/card/card-link.directive.mjs +0 -17
  236. package/esm2022/components/card/card.component.mjs +0 -48
  237. package/esm2022/components/card/inera-ids-angular-components-card.mjs +0 -5
  238. package/esm2022/components/card/public-api.mjs +0 -3
  239. package/esm2022/components/carousel/carousel-item/carousel-item.component.mjs +0 -33
  240. package/esm2022/components/carousel/carousel.component.mjs +0 -71
  241. package/esm2022/components/carousel/inera-ids-angular-components-carousel.mjs +0 -5
  242. package/esm2022/components/carousel/public-api.mjs +0 -3
  243. package/esm2022/components/date-label/date-label.component.mjs +0 -125
  244. package/esm2022/components/date-label/inera-ids-angular-components-date-label.mjs +0 -5
  245. package/esm2022/components/date-label/public-api.mjs +0 -2
  246. package/esm2022/components/dialog/dialog-close.component.mjs +0 -24
  247. package/esm2022/components/dialog/dialog-content.component.mjs +0 -15
  248. package/esm2022/components/dialog/dialog-footer.component.mjs +0 -18
  249. package/esm2022/components/dialog/dialog-header.component.mjs +0 -15
  250. package/esm2022/components/dialog/dialog-trigger.component.mjs +0 -15
  251. package/esm2022/components/dialog/dialog.component.mjs +0 -164
  252. package/esm2022/components/dialog/inera-ids-angular-components-dialog.mjs +0 -5
  253. package/esm2022/components/dialog/public-api.mjs +0 -7
  254. package/esm2022/components/dropdown/dropdown-item.directive.mjs +0 -18
  255. package/esm2022/components/dropdown/dropdown-trigger.component.mjs +0 -16
  256. package/esm2022/components/dropdown/dropdown.component.mjs +0 -103
  257. package/esm2022/components/dropdown/dropdown.module.mjs +0 -30
  258. package/esm2022/components/dropdown/inera-ids-angular-components-dropdown.mjs +0 -5
  259. package/esm2022/components/dropdown/public-api.mjs +0 -5
  260. package/esm2022/components/footer-1177/footer-1177-col.component.mjs +0 -42
  261. package/esm2022/components/footer-1177/footer-1177-sub-footer-left.component.mjs +0 -18
  262. package/esm2022/components/footer-1177/footer-1177-sub-footer-mobile.component.mjs +0 -18
  263. package/esm2022/components/footer-1177/footer-1177-sub-footer-right.component.mjs +0 -18
  264. package/esm2022/components/footer-1177/footer-1177-text.component.mjs +0 -29
  265. package/esm2022/components/footer-1177/footer-1177.component.mjs +0 -40
  266. package/esm2022/components/footer-1177/footer-1177.module.mjs +0 -45
  267. package/esm2022/components/footer-1177/inera-ids-angular-components-footer-1177.mjs +0 -5
  268. package/esm2022/components/footer-1177/public-api.mjs +0 -8
  269. package/esm2022/components/footer-1177-admin/footer-1177-admin-col.component.mjs +0 -42
  270. package/esm2022/components/footer-1177-admin/footer-1177-admin-sub-footer-left.component.mjs +0 -18
  271. package/esm2022/components/footer-1177-admin/footer-1177-admin-sub-footer-mobile.component.mjs +0 -18
  272. package/esm2022/components/footer-1177-admin/footer-1177-admin-sub-footer-right.component.mjs +0 -18
  273. package/esm2022/components/footer-1177-admin/footer-1177-admin-text.component.mjs +0 -29
  274. package/esm2022/components/footer-1177-admin/footer-1177-admin.component.mjs +0 -38
  275. package/esm2022/components/footer-1177-admin/footer-1177-admin.module.mjs +0 -45
  276. package/esm2022/components/footer-1177-admin/inera-ids-angular-components-footer-1177-admin.mjs +0 -5
  277. package/esm2022/components/footer-1177-admin/public-api.mjs +0 -8
  278. package/esm2022/components/footer-1177-pro/footer-1177-pro-col.component.mjs +0 -42
  279. package/esm2022/components/footer-1177-pro/footer-1177-pro-sub-footer-left.component.mjs +0 -18
  280. package/esm2022/components/footer-1177-pro/footer-1177-pro-sub-footer-mobile.component.mjs +0 -18
  281. package/esm2022/components/footer-1177-pro/footer-1177-pro-sub-footer-right.component.mjs +0 -18
  282. package/esm2022/components/footer-1177-pro/footer-1177-pro-text.component.mjs +0 -29
  283. package/esm2022/components/footer-1177-pro/footer-1177-pro.component.mjs +0 -38
  284. package/esm2022/components/footer-1177-pro/footer-1177-pro.module.mjs +0 -45
  285. package/esm2022/components/footer-1177-pro/inera-ids-angular-components-footer-1177-pro.mjs +0 -5
  286. package/esm2022/components/footer-1177-pro/public-api.mjs +0 -8
  287. package/esm2022/components/footer-inera/footer-inera-col.component.mjs +0 -42
  288. package/esm2022/components/footer-inera/footer-inera-sub-footer-left.component.mjs +0 -18
  289. package/esm2022/components/footer-inera/footer-inera-sub-footer-mobile.component.mjs +0 -18
  290. package/esm2022/components/footer-inera/footer-inera-sub-footer-right.component.mjs +0 -18
  291. package/esm2022/components/footer-inera/footer-inera-text.component.mjs +0 -29
  292. package/esm2022/components/footer-inera/footer-inera.component.mjs +0 -38
  293. package/esm2022/components/footer-inera/footer-inera.module.mjs +0 -45
  294. package/esm2022/components/footer-inera/inera-ids-angular-components-footer-inera.mjs +0 -5
  295. package/esm2022/components/footer-inera/public-api.mjs +0 -8
  296. package/esm2022/components/footer-inera-admin/footer-inera-admin-col.component.mjs +0 -46
  297. package/esm2022/components/footer-inera-admin/footer-inera-admin-sub-footer-left.component.mjs +0 -18
  298. package/esm2022/components/footer-inera-admin/footer-inera-admin-sub-footer-mobile.component.mjs +0 -18
  299. package/esm2022/components/footer-inera-admin/footer-inera-admin-sub-footer-right.component.mjs +0 -18
  300. package/esm2022/components/footer-inera-admin/footer-inera-admin-text.component.mjs +0 -29
  301. package/esm2022/components/footer-inera-admin/footer-inera-admin.component.mjs +0 -38
  302. package/esm2022/components/footer-inera-admin/footer-inera-admin.module.mjs +0 -45
  303. package/esm2022/components/footer-inera-admin/inera-ids-angular-components-footer-inera-admin.mjs +0 -5
  304. package/esm2022/components/footer-inera-admin/public-api.mjs +0 -8
  305. package/esm2022/components/form/check-button/check-button.component.mjs +0 -18
  306. package/esm2022/components/form/check-button/inera-ids-angular-components-form-check-button.mjs +0 -5
  307. package/esm2022/components/form/check-button/public-api.mjs +0 -2
  308. package/esm2022/components/form/checkbox/checkbox.component.mjs +0 -47
  309. package/esm2022/components/form/checkbox/inera-ids-angular-components-form-checkbox.mjs +0 -5
  310. package/esm2022/components/form/checkbox/public-api.mjs +0 -2
  311. package/esm2022/components/form/checkbox-group/checkbox-group.component.mjs +0 -44
  312. package/esm2022/components/form/checkbox-group/inera-ids-angular-components-form-checkbox-group.mjs +0 -5
  313. package/esm2022/components/form/checkbox-group/public-api.mjs +0 -2
  314. package/esm2022/components/form/darkmode-toggle/darkmode-toggle.component.mjs +0 -12
  315. package/esm2022/components/form/darkmode-toggle/inera-ids-angular-components-form-darkmode-toggle.mjs +0 -5
  316. package/esm2022/components/form/darkmode-toggle/public-api.mjs +0 -2
  317. package/esm2022/components/form/error-message/error-message.component.mjs +0 -46
  318. package/esm2022/components/form/error-message/inera-ids-angular-components-form-error-message.mjs +0 -5
  319. package/esm2022/components/form/error-message/public-api.mjs +0 -2
  320. package/esm2022/components/form/input/inera-ids-angular-components-form-input.mjs +0 -5
  321. package/esm2022/components/form/input/input-hint.component.mjs +0 -21
  322. package/esm2022/components/form/input/input-icon.component.mjs +0 -23
  323. package/esm2022/components/form/input/input.component.mjs +0 -42
  324. package/esm2022/components/form/input/public-api.mjs +0 -4
  325. package/esm2022/components/form/radio/inera-ids-angular-components-form-radio.mjs +0 -5
  326. package/esm2022/components/form/radio/public-api.mjs +0 -3
  327. package/esm2022/components/form/radio/radio-group.component.mjs +0 -55
  328. package/esm2022/components/form/radio/radio.component.mjs +0 -25
  329. package/esm2022/components/form/radio-button/inera-ids-angular-components-form-radio-button.mjs +0 -5
  330. package/esm2022/components/form/radio-button/public-api.mjs +0 -3
  331. package/esm2022/components/form/radio-button/radio-button-group.component.mjs +0 -46
  332. package/esm2022/components/form/radio-button/radio-button.component.mjs +0 -23
  333. package/esm2022/components/form/range/inera-ids-angular-components-form-range.mjs +0 -5
  334. package/esm2022/components/form/range/public-api.mjs +0 -2
  335. package/esm2022/components/form/range/range.component.mjs +0 -75
  336. package/esm2022/components/form/select/inera-ids-angular-components-form-select.mjs +0 -5
  337. package/esm2022/components/form/select/public-api.mjs +0 -2
  338. package/esm2022/components/form/select/select.component.mjs +0 -16
  339. package/esm2022/components/form/select-multiple/inera-ids-angular-components-form-select-multiple.mjs +0 -5
  340. package/esm2022/components/form/select-multiple/public-api.mjs +0 -2
  341. package/esm2022/components/form/select-multiple/select-multiple.component.mjs +0 -100
  342. package/esm2022/components/form/spinner/inera-ids-angular-components-form-spinner.mjs +0 -5
  343. package/esm2022/components/form/spinner/public-api.mjs +0 -2
  344. package/esm2022/components/form/spinner/spinner.component.mjs +0 -24
  345. package/esm2022/components/form/textarea/inera-ids-angular-components-form-textarea.mjs +0 -5
  346. package/esm2022/components/form/textarea/public-api.mjs +0 -3
  347. package/esm2022/components/form/textarea/textarea-hint.component.mjs +0 -24
  348. package/esm2022/components/form/textarea/textarea.component.mjs +0 -54
  349. package/esm2022/components/form/time/inera-ids-angular-components-form-time.mjs +0 -5
  350. package/esm2022/components/form/time/public-api.mjs +0 -2
  351. package/esm2022/components/form/time/time.component.mjs +0 -15
  352. package/esm2022/components/form/toggle/inera-ids-angular-components-form-toggle.mjs +0 -5
  353. package/esm2022/components/form/toggle/public-api.mjs +0 -2
  354. package/esm2022/components/form/toggle/toggle.component.mjs +0 -14
  355. package/esm2022/components/global-alert/global-alert-actions.component.mjs +0 -26
  356. package/esm2022/components/global-alert/global-alert-header.component.mjs +0 -26
  357. package/esm2022/components/global-alert/global-alert.component.mjs +0 -86
  358. package/esm2022/components/global-alert/inera-ids-angular-components-global-alert.mjs +0 -5
  359. package/esm2022/components/global-alert/public-api.mjs +0 -4
  360. package/esm2022/components/grid/column/column.component.mjs +0 -61
  361. package/esm2022/components/grid/column/inera-ids-angular-components-grid-column.mjs +0 -5
  362. package/esm2022/components/grid/column/public-api.mjs +0 -2
  363. package/esm2022/components/grid/container/container.component.mjs +0 -27
  364. package/esm2022/components/grid/container/inera-ids-angular-components-grid-container.mjs +0 -5
  365. package/esm2022/components/grid/container/public-api.mjs +0 -2
  366. package/esm2022/components/grid/inera-ids-angular-components-grid.mjs +0 -5
  367. package/esm2022/components/grid/public-api.mjs +0 -4
  368. package/esm2022/components/grid/row/inera-ids-angular-components-grid-row.mjs +0 -5
  369. package/esm2022/components/grid/row/public-api.mjs +0 -2
  370. package/esm2022/components/grid/row/row.component.mjs +0 -43
  371. package/esm2022/components/grid-layout/grid-column/grid-column.component.mjs +0 -72
  372. package/esm2022/components/grid-layout/grid-column/inera-ids-angular-components-grid-layout-grid-column.mjs +0 -5
  373. package/esm2022/components/grid-layout/grid-column/public-api.mjs +0 -2
  374. package/esm2022/components/grid-layout/grid-container/grid-container.component.mjs +0 -35
  375. package/esm2022/components/grid-layout/grid-container/inera-ids-angular-components-grid-layout-grid-container.mjs +0 -5
  376. package/esm2022/components/grid-layout/grid-container/public-api.mjs +0 -2
  377. package/esm2022/components/grid-layout/grid-row/grid-row.component.mjs +0 -43
  378. package/esm2022/components/grid-layout/grid-row/inera-ids-angular-components-grid-layout-grid-row.mjs +0 -5
  379. package/esm2022/components/grid-layout/grid-row/public-api.mjs +0 -2
  380. package/esm2022/components/grid-layout/inera-ids-angular-components-grid-layout.mjs +0 -5
  381. package/esm2022/components/grid-layout/public-api.mjs +0 -4
  382. package/esm2022/components/header-1177/avatar/header-1177-avatar-agent.component.mjs +0 -20
  383. package/esm2022/components/header-1177/avatar/header-1177-avatar.component.mjs +0 -113
  384. package/esm2022/components/header-1177/brand-link/header-1177-brand-link.directive.mjs +0 -17
  385. package/esm2022/components/header-1177/header-1177.component.mjs +0 -58
  386. package/esm2022/components/header-1177/header-1177.module.mjs +0 -80
  387. package/esm2022/components/header-1177/inera-ids-angular-components-header-1177.mjs +0 -5
  388. package/esm2022/components/header-1177/item/header-1177-item.component.mjs +0 -52
  389. package/esm2022/components/header-1177/menu-mobile/header-1177-menu-mobile.component.mjs +0 -57
  390. package/esm2022/components/header-1177/nav/header-1177-nav.component.mjs +0 -55
  391. package/esm2022/components/header-1177/nav-item/header-1177-nav-item.component.mjs +0 -157
  392. package/esm2022/components/header-1177/nav-item-menu-link/header-1177-nav-item-menu-link.component.mjs +0 -18
  393. package/esm2022/components/header-1177/nav-item-mobile/header-1177-nav-item-mobile.component.mjs +0 -36
  394. package/esm2022/components/header-1177/public-api.mjs +0 -15
  395. package/esm2022/components/header-1177/region-picker/header-1177-region-picker.component.mjs +0 -85
  396. package/esm2022/components/header-1177/region-picker-mobile/header-1177-region-picker-mobile.component.mjs +0 -76
  397. package/esm2022/components/header-1177/skip-to-content/header-1177-skip-to-content.component.mjs +0 -18
  398. package/esm2022/components/header-1177-admin/avatar/header-1177-admin-avatar.component.mjs +0 -130
  399. package/esm2022/components/header-1177-admin/avatar-mobile/header-1177-admin-avatar-mobile.component.mjs +0 -125
  400. package/esm2022/components/header-1177-admin/brand-link/header-1177-admin-brand-link.directive.mjs +0 -17
  401. package/esm2022/components/header-1177-admin/header-1177-admin.component.mjs +0 -57
  402. package/esm2022/components/header-1177-admin/header-1177-admin.module.mjs +0 -70
  403. package/esm2022/components/header-1177-admin/inera-ids-angular-components-header-1177-admin.mjs +0 -5
  404. package/esm2022/components/header-1177-admin/item/header-1177-admin-item.component.mjs +0 -39
  405. package/esm2022/components/header-1177-admin/menu-mobile/header-1177-admin-menu-mobile.component.mjs +0 -65
  406. package/esm2022/components/header-1177-admin/nav/header-1177-admin-nav.component.mjs +0 -37
  407. package/esm2022/components/header-1177-admin/nav-item/header-1177-admin-nav-item.component.mjs +0 -157
  408. package/esm2022/components/header-1177-admin/nav-item-menu-link/header-1177-admin-nav-item-menu-link.component.mjs +0 -18
  409. package/esm2022/components/header-1177-admin/nav-item-mobile/header-1177-admin-nav-item-mobile.mjs +0 -36
  410. package/esm2022/components/header-1177-admin/public-api.mjs +0 -13
  411. package/esm2022/components/header-1177-admin/skip-to-content/header-1177-admin-skip-to-content.component.mjs +0 -18
  412. package/esm2022/components/header-1177-pro/avatar/header-1177-pro-avatar.component.mjs +0 -130
  413. package/esm2022/components/header-1177-pro/avatar-mobile/header-1177-pro-avatar-mobile.component.mjs +0 -125
  414. package/esm2022/components/header-1177-pro/brand-link/header-1177-pro-brand-link.directive.mjs +0 -17
  415. package/esm2022/components/header-1177-pro/header-1177-pro.component.mjs +0 -51
  416. package/esm2022/components/header-1177-pro/header-1177-pro.module.mjs +0 -80
  417. package/esm2022/components/header-1177-pro/inera-ids-angular-components-header-1177-pro.mjs +0 -5
  418. package/esm2022/components/header-1177-pro/item/header-1177-pro-item.component.mjs +0 -39
  419. package/esm2022/components/header-1177-pro/menu-mobile/header-1177-pro-menu-mobile.component.mjs +0 -65
  420. package/esm2022/components/header-1177-pro/nav/header-1177-pro-nav.component.mjs +0 -33
  421. package/esm2022/components/header-1177-pro/nav-item/header-1177-pro-nav-item.component.mjs +0 -154
  422. package/esm2022/components/header-1177-pro/nav-item-menu-link/header-1177-pro-nav-item-menu-link.component.mjs +0 -18
  423. package/esm2022/components/header-1177-pro/nav-item-mobile/header-1177-pro-nav-item-mobile.mjs +0 -36
  424. package/esm2022/components/header-1177-pro/public-api.mjs +0 -15
  425. package/esm2022/components/header-1177-pro/region-picker/header-1177-pro-region-picker.component.mjs +0 -85
  426. package/esm2022/components/header-1177-pro/region-picker-mobile/header-1177-pro-region-picker-mobile.component.mjs +0 -76
  427. package/esm2022/components/header-1177-pro/skip-to-content/header-1177-pro-skip-to-content.component.mjs +0 -18
  428. package/esm2022/components/header-inera/brand-link/header-inera-brand-link.directive.mjs +0 -14
  429. package/esm2022/components/header-inera/header-inera.component.mjs +0 -53
  430. package/esm2022/components/header-inera/header-inera.module.mjs +0 -55
  431. package/esm2022/components/header-inera/inera-ids-angular-components-header-inera.mjs +0 -5
  432. package/esm2022/components/header-inera/item/header-inera-item.component.mjs +0 -39
  433. package/esm2022/components/header-inera/menu-mobile/header-inera-menu-mobile.component.mjs +0 -71
  434. package/esm2022/components/header-inera/nav/header-inera-nav.component.mjs +0 -33
  435. package/esm2022/components/header-inera/nav-item/header-inera-nav-item.component.mjs +0 -154
  436. package/esm2022/components/header-inera/nav-item-menu-link/header-inera-nav-item-menu-link.component.mjs +0 -18
  437. package/esm2022/components/header-inera/public-api.mjs +0 -10
  438. package/esm2022/components/header-inera/skip-to-content/header-inera-skip-to-content.component.mjs +0 -18
  439. package/esm2022/components/header-inera-admin/avatar/header-inera-admin-avatar.component.mjs +0 -130
  440. package/esm2022/components/header-inera-admin/avatar-mobile/header-inera-admin-avatar-mobile.component.mjs +0 -125
  441. package/esm2022/components/header-inera-admin/brand-link/header-inera-admin-brand-link.directive.mjs +0 -17
  442. package/esm2022/components/header-inera-admin/header-inera-admin.component.mjs +0 -65
  443. package/esm2022/components/header-inera-admin/header-inera-admin.module.mjs +0 -70
  444. package/esm2022/components/header-inera-admin/inera-ids-angular-components-header-inera-admin.mjs +0 -5
  445. package/esm2022/components/header-inera-admin/item/header-inera-admin-item.component.mjs +0 -44
  446. package/esm2022/components/header-inera-admin/menu-mobile/header-inera-admin-menu-mobile.component.mjs +0 -71
  447. package/esm2022/components/header-inera-admin/nav/header-inera-admin-nav.component.mjs +0 -33
  448. package/esm2022/components/header-inera-admin/nav-item/header-inera-admin-nav-item.component.mjs +0 -154
  449. package/esm2022/components/header-inera-admin/nav-item-menu-link/header-inera-admin-nav-item-menu-link.component.mjs +0 -18
  450. package/esm2022/components/header-inera-admin/nav-item-mobile/header-inera-admin-nav-item-mobile.mjs +0 -36
  451. package/esm2022/components/header-inera-admin/public-api.mjs +0 -13
  452. package/esm2022/components/header-inera-admin/skip-to-content/header-inera-admin-skip-to-content.component.mjs +0 -18
  453. package/esm2022/components/header-patient/header-patient-actions.component.mjs +0 -22
  454. package/esm2022/components/header-patient/header-patient.component.mjs +0 -78
  455. package/esm2022/components/header-patient/inera-ids-angular-components-header-patient.mjs +0 -5
  456. package/esm2022/components/header-patient/public-api.mjs +0 -3
  457. package/esm2022/components/link/inera-ids-angular-components-link.mjs +0 -5
  458. package/esm2022/components/link/link.directive.mjs +0 -64
  459. package/esm2022/components/link/public-api.mjs +0 -2
  460. package/esm2022/components/mobile/menu/inera-ids-angular-components-mobile-menu.mjs +0 -5
  461. package/esm2022/components/mobile/menu/item/inera-ids-angular-components-mobile-menu-item.mjs +0 -5
  462. package/esm2022/components/mobile/menu/item/mobile-menu-item.component.mjs +0 -92
  463. package/esm2022/components/mobile/menu/item/public-api.mjs +0 -2
  464. package/esm2022/components/mobile/menu/mobile-menu.component.mjs +0 -42
  465. package/esm2022/components/mobile/menu/public-api.mjs +0 -3
  466. package/esm2022/components/navigation/content/inera-ids-angular-components-navigation-content.mjs +0 -5
  467. package/esm2022/components/navigation/content/navigation-content-link.component.mjs +0 -29
  468. package/esm2022/components/navigation/content/navigation-content.component.mjs +0 -24
  469. package/esm2022/components/navigation/content/public-api.mjs +0 -3
  470. package/esm2022/components/navigation/local/inera-ids-angular-components-navigation-local.mjs +0 -5
  471. package/esm2022/components/navigation/local/navigation-local-link.component.mjs +0 -27
  472. package/esm2022/components/navigation/local/navigation-local.component.mjs +0 -21
  473. package/esm2022/components/navigation/local/public-api.mjs +0 -3
  474. package/esm2022/components/notification-badge/inera-ids-angular-components-notification-badge.mjs +0 -5
  475. package/esm2022/components/notification-badge/notification-badge.component.mjs +0 -39
  476. package/esm2022/components/notification-badge/public-api.mjs +0 -2
  477. package/esm2022/components/pagination/data-pagination/data-pagination-select.component.mjs +0 -20
  478. package/esm2022/components/pagination/data-pagination/data-pagination.component.mjs +0 -75
  479. package/esm2022/components/pagination/data-pagination/inera-ids-angular-components-pagination-data-pagination.mjs +0 -5
  480. package/esm2022/components/pagination/data-pagination/public-api.mjs +0 -3
  481. package/esm2022/components/pagination/list-pagination/inera-ids-angular-components-pagination-list-pagination.mjs +0 -5
  482. package/esm2022/components/pagination/list-pagination/list-pagination.component.mjs +0 -197
  483. package/esm2022/components/pagination/list-pagination/public-api.mjs +0 -2
  484. package/esm2022/components/popover/inera-ids-angular-components-popover.mjs +0 -5
  485. package/esm2022/components/popover/popover-close.component.mjs +0 -24
  486. package/esm2022/components/popover/popover-content.component.mjs +0 -91
  487. package/esm2022/components/popover/popover-header.component.mjs +0 -18
  488. package/esm2022/components/popover/popover-trigger.component.mjs +0 -15
  489. package/esm2022/components/popover/popover.component.mjs +0 -149
  490. package/esm2022/components/popover/popover.module.mjs +0 -40
  491. package/esm2022/components/popover/public-api.mjs +0 -7
  492. package/esm2022/components/progressbar/inera-ids-angular-components-progressbar.mjs +0 -5
  493. package/esm2022/components/progressbar/progressbar.component.mjs +0 -24
  494. package/esm2022/components/progressbar/public-api.mjs +0 -2
  495. package/esm2022/components/puff-list/inera-ids-angular-components-puff-list.mjs +0 -5
  496. package/esm2022/components/puff-list/public-api.mjs +0 -9
  497. package/esm2022/components/puff-list/puff-list-item-content-info.component.mjs +0 -18
  498. package/esm2022/components/puff-list/puff-list-item-content.component.mjs +0 -15
  499. package/esm2022/components/puff-list/puff-list-item-date-label.component.mjs +0 -18
  500. package/esm2022/components/puff-list/puff-list-item-extra-content.component.mjs +0 -18
  501. package/esm2022/components/puff-list/puff-list-item-header.component.mjs +0 -18
  502. package/esm2022/components/puff-list/puff-list-item.component.mjs +0 -161
  503. package/esm2022/components/puff-list/puff-list.component.mjs +0 -40
  504. package/esm2022/components/puff-list/puff-list.module.mjs +0 -51
  505. package/esm2022/components/region-icon/inera-ids-angular-components-region-icon.mjs +0 -5
  506. package/esm2022/components/region-icon/public-api.mjs +0 -2
  507. package/esm2022/components/region-icon/region-icon.component.mjs +0 -51
  508. package/esm2022/components/side-menu/inera-ids-angular-components-side-menu.mjs +0 -5
  509. package/esm2022/components/side-menu/public-api.mjs +0 -5
  510. package/esm2022/components/side-menu/side-menu-icon.component.mjs +0 -24
  511. package/esm2022/components/side-menu/side-menu-link.component.mjs +0 -18
  512. package/esm2022/components/side-menu/side-menu.component.mjs +0 -215
  513. package/esm2022/components/side-menu/side-menu.module.mjs +0 -30
  514. package/esm2022/components/side-panel/inera-ids-angular-components-side-panel.mjs +0 -5
  515. package/esm2022/components/side-panel/public-api.mjs +0 -5
  516. package/esm2022/components/side-panel/side-panel-footer.component.mjs +0 -50
  517. package/esm2022/components/side-panel/side-panel-provider.component.mjs +0 -73
  518. package/esm2022/components/side-panel/side-panel.component.mjs +0 -196
  519. package/esm2022/components/side-panel/side-panel.module.mjs +0 -31
  520. package/esm2022/components/stepper/inera-ids-angular-components-stepper.mjs +0 -5
  521. package/esm2022/components/stepper/public-api.mjs +0 -5
  522. package/esm2022/components/stepper/step-header.component.mjs +0 -18
  523. package/esm2022/components/stepper/step.component.mjs +0 -133
  524. package/esm2022/components/stepper/stepper.component.mjs +0 -30
  525. package/esm2022/components/stepper/stepper.module.mjs +0 -30
  526. package/esm2022/components/tabs/inera-ids-angular-components-tabs.mjs +0 -5
  527. package/esm2022/components/tabs/public-api.mjs +0 -3
  528. package/esm2022/components/tabs/tab-group.component.mjs +0 -51
  529. package/esm2022/components/tabs/tab.component.mjs +0 -41
  530. package/esm2022/components/tag/inera-ids-angular-components-tag.mjs +0 -5
  531. package/esm2022/components/tag/public-api.mjs +0 -3
  532. package/esm2022/components/tag/tag.component.mjs +0 -23
  533. package/esm2022/components/tag/tag.directive.mjs +0 -17
  534. package/esm2022/components/tooltip/inera-ids-angular-components-tooltip.mjs +0 -5
  535. package/esm2022/components/tooltip/public-api.mjs +0 -4
  536. package/esm2022/components/tooltip/tooltip-trigger.directive.mjs +0 -18
  537. package/esm2022/components/tooltip/tooltip.component.mjs +0 -84
  538. package/esm2022/components/tooltip/tooltip.module.mjs +0 -25
  539. package/esm2022/inera-ids-angular.mjs +0 -5
  540. package/esm2022/public-api.mjs +0 -2
@@ -1,8 +1,11 @@
1
- import { AfterContentInit, ElementRef } from '@angular/core';
1
+ import { AfterContentInit, ElementRef, OnDestroy } from '@angular/core';
2
2
  import { IDTooltipTriggerDirective } from './tooltip-trigger.directive';
3
3
  import * as i0 from "@angular/core";
4
- export declare class IDTooltipComponent implements AfterContentInit {
4
+ export declare class IDTooltipComponent implements AfterContentInit, OnDestroy {
5
5
  private idService;
6
+ private document;
7
+ private appRef;
8
+ private renderer;
6
9
  tooltipId: string;
7
10
  tooltipContent: ElementRef<HTMLElement>;
8
11
  trigger: IDTooltipTriggerDirective;
@@ -10,11 +13,21 @@ export declare class IDTooltipComponent implements AfterContentInit {
10
13
  fixedPosition: boolean;
11
14
  position: 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right';
12
15
  private tempPosition;
13
- onFocusIn(event: FocusEvent): void;
14
- private renderer;
16
+ private portalOutlet;
17
+ private isAttached;
18
+ private readonly GAP;
19
+ private get win();
20
+ private resizeHandler;
21
+ onShow(event: Event): void;
22
+ onHide(): void;
15
23
  get positionClass(): string;
16
24
  ngAfterContentInit(): void;
25
+ ngOnDestroy(): void;
26
+ private attachPortal;
27
+ private detachPortal;
28
+ private autoPosition;
17
29
  private calculatePosition;
30
+ private applyPortalPosition;
18
31
  static ɵfac: i0.ɵɵFactoryDeclaration<IDTooltipComponent, never>;
19
32
  static ɵcmp: i0.ɵɵComponentDeclaration<IDTooltipComponent, "id-tooltip", never, { "maxWidth": { "alias": "maxWidth"; "required": false; }; "fixedPosition": { "alias": "fixedPosition"; "required": false; }; "position": { "alias": "position"; "required": false; }; }, {}, ["trigger"], ["[idTooltipTrigger]", "*"], true, never>;
20
33
  static ngAcceptInputType_fixedPosition: unknown;
@@ -1,9 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, inject, HostBinding, Input, Directive, EventEmitter, ElementRef, Renderer2, Output, ContentChild, signal, InjectionToken, DestroyRef } from '@angular/core';
2
+ import { Injectable, inject, HostBinding, Input, Directive, EventEmitter, DestroyRef, ElementRef, Renderer2, Output, ContentChild, signal, InjectionToken } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
4
  import { NgControl } from '@angular/forms';
4
5
  import { merge, EMPTY, fromEvent } from 'rxjs';
5
6
  import { auditTime, filter } from 'rxjs/operators';
6
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
+ import { FocusTrapFactory } from '@angular/cdk/a11y';
7
8
 
8
9
  class IDInputLabelLinker {
9
10
  static nextId = 0;
@@ -21,10 +22,10 @@ class IDInputLabelLinker {
21
22
  this.renderer.setAttribute(input, 'id', id);
22
23
  this.renderer.setAttribute(label, 'for', id);
23
24
  }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputLabelLinker, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
25
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputLabelLinker, providedIn: 'root' });
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputLabelLinker, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
26
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputLabelLinker, providedIn: 'root' });
26
27
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputLabelLinker, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputLabelLinker, decorators: [{
28
29
  type: Injectable,
29
30
  args: [{ providedIn: 'root' }]
30
31
  }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
@@ -50,10 +51,10 @@ class IDInputDescribedByLinker {
50
51
  this.renderer.removeAttribute(input, 'aria-describedby');
51
52
  }
52
53
  }
53
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputDescribedByLinker, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
54
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputDescribedByLinker, providedIn: 'root' });
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputDescribedByLinker, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
55
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputDescribedByLinker, providedIn: 'root' });
55
56
  }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputDescribedByLinker, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputDescribedByLinker, decorators: [{
57
58
  type: Injectable,
58
59
  args: [{ providedIn: 'root' }]
59
60
  }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
@@ -77,10 +78,10 @@ class IDInputInvalidLinker {
77
78
  this.renderer.removeAttribute(input, 'aria-invalid');
78
79
  }
79
80
  }
80
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputInvalidLinker, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
81
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputInvalidLinker, providedIn: 'root' });
81
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputInvalidLinker, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
82
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputInvalidLinker, providedIn: 'root' });
82
83
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputInvalidLinker, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDInputInvalidLinker, decorators: [{
84
85
  type: Injectable,
85
86
  args: [{ providedIn: 'root' }]
86
87
  }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
@@ -94,10 +95,10 @@ class IDUseIdService {
94
95
  IDUseIdService.componentCounters[componentName]++;
95
96
  return `ids-${componentName}-${IDUseIdService.componentCounters[componentName]}`;
96
97
  }
97
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDUseIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
98
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDUseIdService, providedIn: 'root' });
98
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDUseIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
99
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDUseIdService, providedIn: 'root' });
99
100
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDUseIdService, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDUseIdService, decorators: [{
101
102
  type: Injectable,
102
103
  args: [{ providedIn: 'root' }]
103
104
  }] });
@@ -106,10 +107,10 @@ class IDErrorMessageBase {
106
107
  show = false;
107
108
  idService = inject(IDUseIdService);
108
109
  id = this.idService.generateId('error-message');
109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDErrorMessageBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
110
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: IDErrorMessageBase, inputs: { show: "show" }, host: { properties: { "class.ids-error-message--show": "this.show" } }, ngImport: i0 });
110
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDErrorMessageBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
111
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: IDErrorMessageBase, isStandalone: true, inputs: { show: "show" }, host: { properties: { "class.ids-error-message--show": "this.show" } }, ngImport: i0 });
111
112
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDErrorMessageBase, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDErrorMessageBase, decorators: [{
113
114
  type: Directive
114
115
  }], propDecorators: { show: [{
115
116
  type: HostBinding,
@@ -138,6 +139,7 @@ class IDFormBase {
138
139
  inputLabelLinker = inject(IDInputLabelLinker);
139
140
  inputDescribedByLinker = inject(IDInputDescribedByLinker);
140
141
  inputInvalidLinker = inject(IDInputInvalidLinker);
142
+ destroyRef = inject(DestroyRef);
141
143
  blurEvent;
142
144
  get input() {
143
145
  return (this.host.nativeElement.querySelector('input') ||
@@ -166,7 +168,7 @@ class IDFormBase {
166
168
  }
167
169
  if (this.ngControl && this.validateOn !== 'blur') {
168
170
  merge(...[this.ngControl.statusChanges ?? EMPTY, this.ngControl.valueChanges ?? EMPTY])
169
- .pipe(auditTime(0))
171
+ .pipe(auditTime(0), takeUntilDestroyed(this.destroyRef))
170
172
  .subscribe(() => this._updateErrorState());
171
173
  }
172
174
  this.inputLabelLinker.link(this.host);
@@ -210,10 +212,10 @@ class IDFormBase {
210
212
  ngOnDestroy() {
211
213
  this.blurEvent?.();
212
214
  }
213
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDFormBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
214
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: IDFormBase, inputs: { validateOn: "validateOn", invalid: "invalid", srof: "srof", light: "light" }, outputs: { invalidChange: "invalidChange" }, queries: [{ propertyName: "ngControl", first: true, predicate: NgControl, descendants: true, read: NgControl }, { propertyName: "errorMessage", first: true, predicate: IDErrorMessageBase, descendants: true }], ngImport: i0 });
215
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDFormBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
216
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: IDFormBase, isStandalone: true, inputs: { validateOn: "validateOn", invalid: "invalid", srof: "srof", light: "light" }, outputs: { invalidChange: "invalidChange" }, queries: [{ propertyName: "ngControl", first: true, predicate: NgControl, descendants: true, read: NgControl }, { propertyName: "errorMessage", first: true, predicate: IDErrorMessageBase, descendants: true }], ngImport: i0 });
215
217
  }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDFormBase, decorators: [{
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDFormBase, decorators: [{
217
219
  type: Directive
218
220
  }], propDecorators: { ngControl: [{
219
221
  type: ContentChild,
@@ -248,10 +250,10 @@ class IDClickOutsideDirective {
248
250
  this.idClickOutside.emit(event);
249
251
  }
250
252
  }
251
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
252
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: IDClickOutsideDirective, isStandalone: true, selector: "[idClickOutside]", outputs: { idClickOutside: "idClickOutside" }, ngImport: i0 });
253
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
254
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: IDClickOutsideDirective, isStandalone: true, selector: "[idClickOutside]", outputs: { idClickOutside: "idClickOutside" }, ngImport: i0 });
253
255
  }
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDClickOutsideDirective, decorators: [{
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDClickOutsideDirective, decorators: [{
255
257
  type: Directive,
256
258
  args: [{
257
259
  selector: '[idClickOutside]',
@@ -267,10 +269,10 @@ class IDTooltipCategoryService {
267
269
  this.closeCategory.set(null);
268
270
  this.closeCategory.set(category);
269
271
  }
270
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDTooltipCategoryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
271
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDTooltipCategoryService, providedIn: 'root' });
272
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDTooltipCategoryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
273
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDTooltipCategoryService, providedIn: 'root' });
272
274
  }
273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDTooltipCategoryService, decorators: [{
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDTooltipCategoryService, decorators: [{
274
276
  type: Injectable,
275
277
  args: [{ providedIn: 'root' }]
276
278
  }] });
@@ -284,9 +286,93 @@ function useEscapeKey(callback, condition) {
284
286
  .subscribe(() => callback());
285
287
  }
286
288
 
289
+ const focusableSelector = 'button, [href], input, select, textarea, [tabindex]';
290
+ function useFocusTrap(getContainer, options) {
291
+ const focusTrapFactory = inject(FocusTrapFactory);
292
+ let focusTrap;
293
+ let pendingTimeout;
294
+ const maxCreateAttempts = 10;
295
+ const getNativeElement = () => {
296
+ const container = getContainer();
297
+ if (!container) {
298
+ return undefined;
299
+ }
300
+ return container instanceof ElementRef ? container.nativeElement : container;
301
+ };
302
+ const getFocusableElements = () => {
303
+ const nativeElement = getNativeElement();
304
+ if (!nativeElement) {
305
+ return [];
306
+ }
307
+ return Array.from(nativeElement.querySelectorAll(focusableSelector));
308
+ };
309
+ const handleBackTab = (event) => {
310
+ if (event.key !== 'Tab' || !event.shiftKey) {
311
+ return;
312
+ }
313
+ const focusableElements = getFocusableElements();
314
+ const firstFocusable = focusableElements[0];
315
+ const lastFocusable = focusableElements[focusableElements.length - 1];
316
+ if (!firstFocusable || !lastFocusable) {
317
+ return;
318
+ }
319
+ if (event.target !== firstFocusable) {
320
+ return;
321
+ }
322
+ event.preventDefault();
323
+ lastFocusable.focus();
324
+ };
325
+ const reset = () => {
326
+ const firstFocusable = getFocusableElements()[0];
327
+ firstFocusable?.removeEventListener('keydown', handleBackTab);
328
+ };
329
+ const create = () => {
330
+ if (options?.disabled?.() || focusTrap) {
331
+ return;
332
+ }
333
+ const tryCreate = (attempt) => {
334
+ if (options?.disabled?.() || focusTrap) {
335
+ return;
336
+ }
337
+ const nativeElement = getNativeElement();
338
+ if (!nativeElement) {
339
+ if (attempt < maxCreateAttempts) {
340
+ pendingTimeout = setTimeout(() => tryCreate(attempt + 1));
341
+ }
342
+ return;
343
+ }
344
+ pendingTimeout = undefined;
345
+ focusTrap = focusTrapFactory.create(nativeElement);
346
+ getFocusableElements()[0]?.addEventListener('keydown', handleBackTab);
347
+ focusTrap.focusInitialElement();
348
+ };
349
+ queueMicrotask(() => tryCreate(0));
350
+ };
351
+ const destroy = () => {
352
+ if (pendingTimeout !== undefined) {
353
+ clearTimeout(pendingTimeout);
354
+ pendingTimeout = undefined;
355
+ }
356
+ if (!focusTrap) {
357
+ return;
358
+ }
359
+ reset();
360
+ focusTrap.destroy();
361
+ focusTrap = undefined;
362
+ };
363
+ return {
364
+ create,
365
+ reset,
366
+ destroy,
367
+ get focusableElements() {
368
+ return getFocusableElements();
369
+ }
370
+ };
371
+ }
372
+
287
373
  /**
288
374
  * Generated bundle index. Do not edit.
289
375
  */
290
376
 
291
- export { IDClickOutsideDirective, IDErrorMessageBase, IDFormBase, IDInputDescribedByLinker, IDInputInvalidLinker, IDInputLabelLinker, IDTooltipCategoryService, IDUseIdService, ID_HEADER_CONTEXT, useEscapeKey };
377
+ export { IDClickOutsideDirective, IDErrorMessageBase, IDFormBase, IDInputDescribedByLinker, IDInputInvalidLinker, IDInputLabelLinker, IDTooltipCategoryService, IDUseIdService, ID_HEADER_CONTEXT, useEscapeKey, useFocusTrap };
292
378
  //# sourceMappingURL=inera-ids-angular-common.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-common.mjs","sources":["../../../projects/ids-angular/common/services/input-label-linker.service.ts","../../../projects/ids-angular/common/services/input-described-by-linker.service.ts","../../../projects/ids-angular/common/services/input-invalid-linker.service.ts","../../../projects/ids-angular/common/services/use-id.service.ts.ts","../../../projects/ids-angular/common/classes/form/IDErrorMessageBase.ts","../../../projects/ids-angular/common/classes/form/IDFormBase.ts","../../../projects/ids-angular/common/directives/click-outside.directive.ts","../../../projects/ids-angular/common/services/tooltip-category.service.ts","../../../projects/ids-angular/common/context/header-context.ts","../../../projects/ids-angular/common/utilities/useEscKey.ts","../../../projects/ids-angular/common/inera-ids-angular-common.ts"],"sourcesContent":["import { Injectable, ElementRef, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputLabelLinker {\n private static nextId = 0;\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(host: ElementRef<HTMLElement>) {\n const el = host.nativeElement;\n const label = el.querySelector('label');\n const input = el.querySelector('input, textarea, select');\n\n if (!input || !label) return;\n\n const id = input.id || `ids-form-element-${IDInputLabelLinker.nextId++}`;\n this.renderer.setAttribute(input, 'id', id);\n this.renderer.setAttribute(label, 'for', id);\n }\n}","import { ElementRef, Injectable, RendererFactory2, Renderer2 } from '@angular/core';\nimport { IDErrorMessageBase } from '../classes/form/IDErrorMessageBase';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputDescribedByLinker {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(\n host: ElementRef<HTMLElement>,\n errorMessage: IDErrorMessageBase | undefined,\n invalid: boolean\n ): void {\n const el = host.nativeElement;\n const input = el.querySelector('input, textarea, select');\n const hint = el.querySelector('.ids-input__hint');\n\n if (!input) return;\n\n if (invalid && errorMessage) {\n this.renderer.setAttribute(input, 'aria-describedby', errorMessage.id);\n } else if (!invalid && hint?.id) {\n this.renderer.setAttribute(input, 'aria-describedby', hint.id);\n } else {\n this.renderer.removeAttribute(input, 'aria-describedby');\n }\n }\n}\n","import { ElementRef, Injectable, RendererFactory2, Renderer2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputInvalidLinker {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(\n host: ElementRef<HTMLElement>,\n invalid: boolean\n ): void {\n const el = host.nativeElement;\n const input = el.querySelector('input, textarea, select');\n\n if (!input) return;\n\n if (invalid) {\n this.renderer.addClass(input, 'ids-input--invalid');\n this.renderer.setAttribute(input, 'aria-invalid', 'true');\n } else {\n this.renderer.removeClass(input, 'ids-input--invalid');\n this.renderer.removeAttribute(input, 'aria-invalid');\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDUseIdService {\n private static componentCounters: Record<string, number> = {};\n\n generateId(componentName: string): string {\n if (!IDUseIdService.componentCounters[componentName]) {\n IDUseIdService.componentCounters[componentName] = 0;\n }\n IDUseIdService.componentCounters[componentName]++;\n return `ids-${componentName}-${IDUseIdService.componentCounters[componentName]}`;\n }\n}","import { Directive, HostBinding, inject, Input} from '@angular/core';\nimport { IDUseIdService } from '../../services/use-id.service.ts';\n\n@Directive()\nexport abstract class IDErrorMessageBase {\n\n @HostBinding('class.ids-error-message--show')\n @Input()\n show: boolean = false;\n\n private idService = inject(IDUseIdService);\n id = this.idService.generateId('error-message');\n \n}\n","import {\n AfterContentInit,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { EMPTY, merge } from 'rxjs';\nimport { auditTime } from 'rxjs/operators';\nimport { IDInputLabelLinker } from '../../services/input-label-linker.service';\nimport { IDInputDescribedByLinker } from '../../services/input-described-by-linker.service';\nimport { IDInputInvalidLinker } from '../../services/input-invalid-linker.service'\nimport { IDErrorMessageBase } from './IDErrorMessageBase';\n\n@Directive()\nexport abstract class IDFormBase implements AfterContentInit {\n @ContentChild(NgControl, { read: NgControl }) ngControl?: NgControl;\n\n @ContentChild(IDErrorMessageBase)\n errorMessage!: IDErrorMessageBase;\n\n @Input()\n validateOn: 'immediate' | 'touched' | 'dirty' | 'blur' | 'none' = 'dirty';\n\n @Output()\n invalidChange = new EventEmitter<boolean>();\n\n private _invalid = false;\n\n @Input()\n get invalid(): boolean {\n return this._invalid;\n }\n set invalid(value: boolean) {\n this._invalid = value;\n this.toggleInputArias({ invalid: this._invalid });\n this.toggleErrorMessage();\n this.invalidChange.emit(value);\n }\n\n @Input()\n srof: string = 'av';\n\n @Input()\n light: boolean = false;\n\n protected inputLabelLinker = inject(IDInputLabelLinker);\n protected inputDescribedByLinker = inject(IDInputDescribedByLinker);\n protected inputInvalidLinker = inject(IDInputInvalidLinker);\n\n private blurEvent?: () => void;\n\n get input() {\n return (\n this.host.nativeElement.querySelector('input') ||\n this.host.nativeElement.querySelector('textarea') ||\n this.host.nativeElement.querySelector('select')\n );\n }\n\n get label() {\n return this.host.nativeElement.querySelector('label');\n }\n\n get checkbox() {\n return this.host.nativeElement.querySelector('input[type=checkbox]');\n }\n\n protected host = inject(ElementRef);\n protected renderer = inject(Renderer2);\n\n ngAfterContentInit() {\n if (!this.input) {\n throw new Error('IDS ERROR - Input missing in ' + this.host.nativeElement.tagName);\n }\n if (this.validateOn === 'immediate') {\n this._updateErrorState();\n }\n if (this.validateOn === 'touched' || this.validateOn === 'blur') {\n this.blurEvent = this.renderer.listen(this.input, 'blur', () => {\n this._updateErrorState();\n });\n }\n if (this.ngControl && this.validateOn !== 'blur') {\n merge(...[this.ngControl.statusChanges ?? EMPTY, this.ngControl.valueChanges ?? EMPTY])\n .pipe(auditTime(0))\n .subscribe(() => this._updateErrorState());\n }\n this.inputLabelLinker.link(this.host);\n this.inputDescribedByLinker.link(this.host, this.errorMessage, this.invalid);\n this.inputInvalidLinker.link(this.host, this.invalid);\n this.renderer.addClass(this.label, 'ids-label');\n if (this.light) {\n this.renderer.addClass(this.input, 'ids-input--light');\n }\n }\n\n protected _updateErrorState() {\n if (!this.ngControl || this.validateOn === 'none') return;\n switch (this.validateOn) {\n case 'immediate':\n this.invalid = Boolean(this.ngControl.invalid);\n break;\n case 'touched':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.touched);\n break;\n case 'dirty':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.dirty);\n break;\n case 'blur':\n this.invalid = Boolean(this.ngControl.invalid);\n }\n }\n\n toggleErrorMessage(): void {\n if (!this.errorMessage) return;\n this.errorMessage.show = this.invalid;\n }\n\n toggleInputArias({ invalid }: { invalid: boolean }) {\n if (this.checkbox) {\n this.renderer.setAttribute(this.input, 'aria-checked', this.checkbox.checked);\n }\n this.renderer.setAttribute(this.input, 'aria-required', this.input.required);\n \n this.inputDescribedByLinker.link(this.host, this.errorMessage, invalid);\n this.inputInvalidLinker.link(this.host, this.invalid);\n }\n\n ngOnDestroy() {\n this.blurEvent?.();\n }\n}\n","import { Directive, ElementRef, Output, EventEmitter, OnDestroy } from '@angular/core';\n\n@Directive({\n selector: '[idClickOutside]',\n standalone: true\n})\nexport class IDClickOutsideDirective implements OnDestroy {\n @Output() idClickOutside = new EventEmitter<Event>();\n\n constructor(private elementRef: ElementRef) {\n document.addEventListener('click', this.onDocumentClick.bind(this), true);\n }\n\n ngOnDestroy() {\n document.removeEventListener('click', this.onDocumentClick.bind(this), true);\n }\n\n private onDocumentClick(event: MouseEvent) {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.idClickOutside.emit(event);\n }\n }\n}","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDTooltipCategoryService {\n closeCategory = signal<string | null>(null);\n\n requestClose(category: string) {\n this.closeCategory.set(null);\n this.closeCategory.set(category);\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport interface IDHeaderContext {\n unresponsive: boolean;\n}\n\nexport const ID_HEADER_CONTEXT = new InjectionToken<IDHeaderContext>('ID_HEADER_CONTEXT');","import { inject, DestroyRef } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nexport function useEscapeKey(callback: () => void, condition: () => boolean) {\n const destroyRef = inject(DestroyRef);\n\n fromEvent<KeyboardEvent>(window, 'keydown')\n .pipe(\n filter(event => event.key === 'Escape' && condition()),\n takeUntilDestroyed(destroyRef)\n )\n .subscribe(() => callback());\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-common.mjs","sources":["../../../projects/ids-angular/common/services/input-label-linker.service.ts","../../../projects/ids-angular/common/services/input-described-by-linker.service.ts","../../../projects/ids-angular/common/services/input-invalid-linker.service.ts","../../../projects/ids-angular/common/services/use-id.service.ts.ts","../../../projects/ids-angular/common/classes/form/IDErrorMessageBase.ts","../../../projects/ids-angular/common/classes/form/IDFormBase.ts","../../../projects/ids-angular/common/directives/click-outside.directive.ts","../../../projects/ids-angular/common/services/tooltip-category.service.ts","../../../projects/ids-angular/common/context/header-context.ts","../../../projects/ids-angular/common/utilities/useEscKey.ts","../../../projects/ids-angular/common/utilities/useFocusTrap.ts","../../../projects/ids-angular/common/inera-ids-angular-common.ts"],"sourcesContent":["import { Injectable, ElementRef, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputLabelLinker {\n private static nextId = 0;\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(host: ElementRef<HTMLElement>) {\n const el = host.nativeElement;\n const label = el.querySelector('label');\n const input = el.querySelector('input, textarea, select');\n\n if (!input || !label) return;\n\n const id = input.id || `ids-form-element-${IDInputLabelLinker.nextId++}`;\n this.renderer.setAttribute(input, 'id', id);\n this.renderer.setAttribute(label, 'for', id);\n }\n}","import { ElementRef, Injectable, RendererFactory2, Renderer2 } from '@angular/core';\nimport { IDErrorMessageBase } from '../classes/form/IDErrorMessageBase';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputDescribedByLinker {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(\n host: ElementRef<HTMLElement>,\n errorMessage: IDErrorMessageBase | undefined,\n invalid: boolean\n ): void {\n const el = host.nativeElement;\n const input = el.querySelector('input, textarea, select');\n const hint = el.querySelector('.ids-input__hint');\n\n if (!input) return;\n\n if (invalid && errorMessage) {\n this.renderer.setAttribute(input, 'aria-describedby', errorMessage.id);\n } else if (!invalid && hint?.id) {\n this.renderer.setAttribute(input, 'aria-describedby', hint.id);\n } else {\n this.renderer.removeAttribute(input, 'aria-describedby');\n }\n }\n}\n","import { ElementRef, Injectable, RendererFactory2, Renderer2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputInvalidLinker {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(\n host: ElementRef<HTMLElement>,\n invalid: boolean\n ): void {\n const el = host.nativeElement;\n const input = el.querySelector('input, textarea, select');\n\n if (!input) return;\n\n if (invalid) {\n this.renderer.addClass(input, 'ids-input--invalid');\n this.renderer.setAttribute(input, 'aria-invalid', 'true');\n } else {\n this.renderer.removeClass(input, 'ids-input--invalid');\n this.renderer.removeAttribute(input, 'aria-invalid');\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDUseIdService {\n private static componentCounters: Record<string, number> = {};\n\n generateId(componentName: string): string {\n if (!IDUseIdService.componentCounters[componentName]) {\n IDUseIdService.componentCounters[componentName] = 0;\n }\n IDUseIdService.componentCounters[componentName]++;\n return `ids-${componentName}-${IDUseIdService.componentCounters[componentName]}`;\n }\n}","import { Directive, HostBinding, inject, Input} from '@angular/core';\nimport { IDUseIdService } from '../../services/use-id.service.ts';\n\n@Directive()\nexport abstract class IDErrorMessageBase {\n\n @HostBinding('class.ids-error-message--show')\n @Input()\n show: boolean = false;\n\n private idService = inject(IDUseIdService);\n id = this.idService.generateId('error-message');\n \n}\n","import {\n AfterContentInit,\n ContentChild,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgControl } from '@angular/forms';\nimport { EMPTY, merge } from 'rxjs';\nimport { auditTime } from 'rxjs/operators';\nimport { IDInputLabelLinker } from '../../services/input-label-linker.service';\nimport { IDInputDescribedByLinker } from '../../services/input-described-by-linker.service';\nimport { IDInputInvalidLinker } from '../../services/input-invalid-linker.service'\nimport { IDErrorMessageBase } from './IDErrorMessageBase';\n\n@Directive()\nexport abstract class IDFormBase implements AfterContentInit {\n @ContentChild(NgControl, { read: NgControl }) ngControl?: NgControl;\n\n @ContentChild(IDErrorMessageBase)\n errorMessage!: IDErrorMessageBase;\n\n @Input()\n validateOn: 'immediate' | 'touched' | 'dirty' | 'blur' | 'none' = 'dirty';\n\n @Output()\n invalidChange = new EventEmitter<boolean>();\n\n private _invalid = false;\n\n @Input()\n get invalid(): boolean {\n return this._invalid;\n }\n set invalid(value: boolean) {\n this._invalid = value;\n this.toggleInputArias({ invalid: this._invalid });\n this.toggleErrorMessage();\n this.invalidChange.emit(value);\n }\n\n @Input()\n srof: string = 'av';\n\n @Input()\n light: boolean = false;\n\n protected inputLabelLinker = inject(IDInputLabelLinker);\n protected inputDescribedByLinker = inject(IDInputDescribedByLinker);\n protected inputInvalidLinker = inject(IDInputInvalidLinker);\n protected destroyRef = inject(DestroyRef);\n\n private blurEvent?: () => void;\n\n get input() {\n return (\n this.host.nativeElement.querySelector('input') ||\n this.host.nativeElement.querySelector('textarea') ||\n this.host.nativeElement.querySelector('select')\n );\n }\n\n get label() {\n return this.host.nativeElement.querySelector('label');\n }\n\n get checkbox() {\n return this.host.nativeElement.querySelector('input[type=checkbox]');\n }\n\n protected host = inject(ElementRef);\n protected renderer = inject(Renderer2);\n\n ngAfterContentInit() {\n if (!this.input) {\n throw new Error('IDS ERROR - Input missing in ' + this.host.nativeElement.tagName);\n }\n if (this.validateOn === 'immediate') {\n this._updateErrorState();\n }\n if (this.validateOn === 'touched' || this.validateOn === 'blur') {\n this.blurEvent = this.renderer.listen(this.input, 'blur', () => {\n this._updateErrorState();\n });\n }\n if (this.ngControl && this.validateOn !== 'blur') {\n merge(...[this.ngControl.statusChanges ?? EMPTY, this.ngControl.valueChanges ?? EMPTY])\n .pipe(auditTime(0), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this._updateErrorState());\n }\n this.inputLabelLinker.link(this.host);\n this.inputDescribedByLinker.link(this.host, this.errorMessage, this.invalid);\n this.inputInvalidLinker.link(this.host, this.invalid);\n this.renderer.addClass(this.label, 'ids-label');\n if (this.light) {\n this.renderer.addClass(this.input, 'ids-input--light');\n }\n }\n\n protected _updateErrorState() {\n if (!this.ngControl || this.validateOn === 'none') return;\n switch (this.validateOn) {\n case 'immediate':\n this.invalid = Boolean(this.ngControl.invalid);\n break;\n case 'touched':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.touched);\n break;\n case 'dirty':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.dirty);\n break;\n case 'blur':\n this.invalid = Boolean(this.ngControl.invalid);\n }\n }\n\n toggleErrorMessage(): void {\n if (!this.errorMessage) return;\n this.errorMessage.show = this.invalid;\n }\n\n toggleInputArias({ invalid }: { invalid: boolean }) {\n if (this.checkbox) {\n this.renderer.setAttribute(this.input, 'aria-checked', this.checkbox.checked);\n }\n this.renderer.setAttribute(this.input, 'aria-required', this.input.required);\n \n this.inputDescribedByLinker.link(this.host, this.errorMessage, invalid);\n this.inputInvalidLinker.link(this.host, this.invalid);\n }\n\n ngOnDestroy() {\n this.blurEvent?.();\n }\n}\n","import { Directive, ElementRef, Output, EventEmitter, OnDestroy } from '@angular/core';\n\n@Directive({\n selector: '[idClickOutside]',\n standalone: true\n})\nexport class IDClickOutsideDirective implements OnDestroy {\n @Output() idClickOutside = new EventEmitter<Event>();\n\n constructor(private elementRef: ElementRef) {\n document.addEventListener('click', this.onDocumentClick.bind(this), true);\n }\n\n ngOnDestroy() {\n document.removeEventListener('click', this.onDocumentClick.bind(this), true);\n }\n\n private onDocumentClick(event: MouseEvent) {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.idClickOutside.emit(event);\n }\n }\n}","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDTooltipCategoryService {\n closeCategory = signal<string | null>(null);\n\n requestClose(category: string) {\n this.closeCategory.set(null);\n this.closeCategory.set(category);\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport interface IDHeaderContext {\n unresponsive: boolean;\n}\n\nexport const ID_HEADER_CONTEXT = new InjectionToken<IDHeaderContext>('ID_HEADER_CONTEXT');","import { inject, DestroyRef } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nexport function useEscapeKey(callback: () => void, condition: () => boolean) {\n const destroyRef = inject(DestroyRef);\n\n fromEvent<KeyboardEvent>(window, 'keydown')\n .pipe(\n filter(event => event.key === 'Escape' && condition()),\n takeUntilDestroyed(destroyRef)\n )\n .subscribe(() => callback());\n}","import { ElementRef, inject } from '@angular/core';\nimport { FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';\n\nconst focusableSelector = 'button, [href], input, select, textarea, [tabindex]';\n\ntype FocusContainer = ElementRef<HTMLElement> | HTMLElement | undefined;\n\nexport function useFocusTrap(\n getContainer: () => FocusContainer,\n options?: { disabled?: () => boolean }\n) {\n const focusTrapFactory = inject(FocusTrapFactory);\n let focusTrap: FocusTrap | undefined;\n let pendingTimeout: ReturnType<typeof setTimeout> | undefined;\n const maxCreateAttempts = 10;\n\n const getNativeElement = (): HTMLElement | undefined => {\n const container = getContainer();\n if (!container) {\n return undefined;\n }\n\n return container instanceof ElementRef ? container.nativeElement : container;\n };\n\n const getFocusableElements = (): HTMLElement[] => {\n const nativeElement = getNativeElement();\n if (!nativeElement) {\n return [];\n }\n\n return Array.from(nativeElement.querySelectorAll(focusableSelector)) as HTMLElement[];\n };\n\n const handleBackTab = (event: KeyboardEvent): void => {\n if (event.key !== 'Tab' || !event.shiftKey) {\n return;\n }\n\n const focusableElements = getFocusableElements();\n const firstFocusable = focusableElements[0];\n const lastFocusable = focusableElements[focusableElements.length - 1];\n if (!firstFocusable || !lastFocusable) {\n return;\n }\n\n if (event.target !== firstFocusable) {\n return;\n }\n\n event.preventDefault();\n lastFocusable.focus();\n };\n\n const reset = (): void => {\n const firstFocusable = getFocusableElements()[0];\n firstFocusable?.removeEventListener('keydown', handleBackTab);\n };\n\n const create = (): void => {\n if (options?.disabled?.() || focusTrap) {\n return;\n }\n\n const tryCreate = (attempt: number): void => {\n if (options?.disabled?.() || focusTrap) {\n return;\n }\n\n const nativeElement = getNativeElement();\n if (!nativeElement) {\n if (attempt < maxCreateAttempts) {\n pendingTimeout = setTimeout(() => tryCreate(attempt + 1));\n }\n return;\n }\n\n pendingTimeout = undefined;\n focusTrap = focusTrapFactory.create(nativeElement);\n getFocusableElements()[0]?.addEventListener('keydown', handleBackTab);\n focusTrap.focusInitialElement();\n };\n\n queueMicrotask(() => tryCreate(0));\n };\n\n const destroy = (): void => {\n if (pendingTimeout !== undefined) {\n clearTimeout(pendingTimeout);\n pendingTimeout = undefined;\n }\n if (!focusTrap) {\n return;\n }\n\n reset();\n focusTrap.destroy();\n focusTrap = undefined;\n };\n\n return {\n create,\n reset,\n destroy,\n get focusableElements(): HTMLElement[] {\n return getFocusableElements();\n }\n };\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -6,13 +6,14 @@ import { IDUseIdService } from '@inera/ids-angular/common';
6
6
 
7
7
  class IDAccordionHeaderComponent {
8
8
  template;
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDAccordionHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDAccordionHeaderComponent, isStandalone: true, selector: "id-accordion-header", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: `
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAccordionHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDAccordionHeaderComponent, isStandalone: true, selector: "id-accordion-header", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: `
11
11
  <ng-template>
12
12
  <ng-content></ng-content>
13
+
13
14
  </ng-template>`, isInline: true });
14
15
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDAccordionHeaderComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAccordionHeaderComponent, decorators: [{
16
17
  type: Component,
17
18
  args: [{
18
19
  selector: 'id-accordion-header',
@@ -20,6 +21,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
20
21
  template: `
21
22
  <ng-template>
22
23
  <ng-content></ng-content>
24
+
23
25
  </ng-template>`
24
26
  }]
25
27
  }], propDecorators: { template: [{
@@ -30,6 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
30
32
  class IDAccordionComponent {
31
33
  nestedAccordions;
32
34
  header;
35
+ subtitle = '';
33
36
  lean = false;
34
37
  noBorder = false;
35
38
  expanded = false;
@@ -54,7 +57,7 @@ class IDAccordionComponent {
54
57
  });
55
58
  }
56
59
  updateNestedAccordionLevels() {
57
- this.nestedAccordions?.forEach(accordion => {
60
+ this.nestedAccordions?.forEach((accordion) => {
58
61
  accordion.level = this.level + 1;
59
62
  switch (this.size) {
60
63
  case 'm':
@@ -80,25 +83,27 @@ class IDAccordionComponent {
80
83
  }
81
84
  this.expandedChange.emit(this.expanded);
82
85
  }
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: IDAccordionComponent, isStandalone: true, selector: "id-accordion", inputs: { lean: ["lean", "lean", booleanAttribute], noBorder: ["noBorder", "noBorder", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], level: "level", size: "size" }, outputs: { closed: "closed", opened: "opened", expandedChange: "expandedChange" }, host: { properties: { "class.ids-accordion--expanded": "expanded", "class.ids-accordion--no-border": "noBorder", "class.ids-accordion--lean": "lean", "class.ids-accordion--has-children": "hasChildren", "class.ids-accordion--is-child": "isChild" }, classAttribute: "ids-accordion" }, queries: [{ propertyName: "header", first: true, predicate: IDAccordionHeaderComponent, descendants: true }, { propertyName: "nestedAccordions", predicate: IDAccordionComponent }], ngImport: i0, template: "<button \n [class]=\"'ids-accordion__button ids-accordion__button--' + size\" \n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\" \n [attr.aria-controls]=\"contentId\">\n <div [class]=\"'ids-accordion__headline ids-accordion__headline-' + level + ' ids-accordion__headline--' + size + (expanded ? ' ids-accordion__headline--expanded' : '')\">\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n </div>\n</button>\n\n<div [id]=\"contentId\" class=\"ids-accordion__content\" [hidden]=\"!expanded\">\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
86
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
87
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDAccordionComponent, isStandalone: true, selector: "id-accordion", inputs: { subtitle: "subtitle", lean: ["lean", "lean", booleanAttribute], noBorder: ["noBorder", "noBorder", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], level: "level", size: "size" }, outputs: { closed: "closed", opened: "opened", expandedChange: "expandedChange" }, host: { properties: { "class.ids-accordion--expanded": "expanded", "class.ids-accordion--no-border": "noBorder", "class.ids-accordion--lean": "lean", "class.ids-accordion--has-children": "hasChildren", "class.ids-accordion--is-child": "isChild" }, classAttribute: "ids-accordion" }, queries: [{ propertyName: "header", first: true, predicate: IDAccordionHeaderComponent, descendants: true }, { propertyName: "nestedAccordions", predicate: IDAccordionComponent }], ngImport: i0, template: "<button\n [class]=\"'ids-accordion__button ids-accordion__button--' + size\"\n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"contentId\"\n>\n <div\n [class]=\"\n 'ids-accordion__headline ids-accordion__headline-' +\n level +\n ' ids-accordion__headline--' +\n size +\n (expanded ? ' ids-accordion__headline--expanded' : '')\n \"\n >\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n @if (!!subtitle) {\n <div class=\"ids-accordion__subtitle\">{{ subtitle }}</div>\n }\n </div>\n</button>\n\n<div\n [id]=\"contentId\"\n class=\"ids-accordion__content\"\n [hidden]=\"!expanded\"\n>\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
85
88
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDAccordionComponent, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAccordionComponent, decorators: [{
87
90
  type: Component,
88
- args: [{ selector: "id-accordion", host: {
89
- 'class': 'ids-accordion',
91
+ args: [{ selector: 'id-accordion', host: {
92
+ class: 'ids-accordion',
90
93
  '[class.ids-accordion--expanded]': 'expanded',
91
94
  '[class.ids-accordion--no-border]': 'noBorder',
92
95
  '[class.ids-accordion--lean]': 'lean',
93
96
  '[class.ids-accordion--has-children]': 'hasChildren',
94
97
  '[class.ids-accordion--is-child]': 'isChild',
95
- }, imports: [NgTemplateOutlet], standalone: true, template: "<button \n [class]=\"'ids-accordion__button ids-accordion__button--' + size\" \n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\" \n [attr.aria-controls]=\"contentId\">\n <div [class]=\"'ids-accordion__headline ids-accordion__headline-' + level + ' ids-accordion__headline--' + size + (expanded ? ' ids-accordion__headline--expanded' : '')\">\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n </div>\n</button>\n\n<div [id]=\"contentId\" class=\"ids-accordion__content\" [hidden]=\"!expanded\">\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>" }]
98
+ }, imports: [NgTemplateOutlet], standalone: true, template: "<button\n [class]=\"'ids-accordion__button ids-accordion__button--' + size\"\n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"contentId\"\n>\n <div\n [class]=\"\n 'ids-accordion__headline ids-accordion__headline-' +\n level +\n ' ids-accordion__headline--' +\n size +\n (expanded ? ' ids-accordion__headline--expanded' : '')\n \"\n >\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n @if (!!subtitle) {\n <div class=\"ids-accordion__subtitle\">{{ subtitle }}</div>\n }\n </div>\n</button>\n\n<div\n [id]=\"contentId\"\n class=\"ids-accordion__content\"\n [hidden]=\"!expanded\"\n>\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>\n" }]
96
99
  }], propDecorators: { nestedAccordions: [{
97
100
  type: ContentChildren,
98
101
  args: [IDAccordionComponent]
99
102
  }], header: [{
100
103
  type: ContentChild,
101
104
  args: [IDAccordionHeaderComponent]
105
+ }], subtitle: [{
106
+ type: Input
102
107
  }], lean: [{
103
108
  type: Input,
104
109
  args: [{ transform: booleanAttribute }]
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-accordion.mjs","sources":["../../../projects/ids-angular/components/accordion/accordion-header.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.html","../../../projects/ids-angular/components/accordion/inera-ids-angular-components-accordion.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'id-accordion-header',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`\n})\nexport class IDAccordionHeaderComponent {\n\n @ViewChild(TemplateRef, { static: true })\n template!: TemplateRef<unknown>;\n\n}\n","import { NgTemplateOutlet } from \"@angular/common\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { Component, ContentChild, ContentChildren, DestroyRef, EventEmitter, Input, Output, QueryList, booleanAttribute, inject } from \"@angular/core\";\nimport { IDAccordionHeaderComponent } from \"./accordion-header.component\";\nimport { IDUseIdService } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: \"id-accordion\",\n templateUrl: \"./accordion.component.html\",\n host: {\n 'class': 'ids-accordion',\n '[class.ids-accordion--expanded]': 'expanded',\n '[class.ids-accordion--no-border]': 'noBorder',\n '[class.ids-accordion--lean]': 'lean',\n '[class.ids-accordion--has-children]': 'hasChildren',\n '[class.ids-accordion--is-child]': 'isChild',\n },\n imports: [NgTemplateOutlet],\n standalone: true,\n})\nexport class IDAccordionComponent {\n \n @ContentChildren(IDAccordionComponent)\n nestedAccordions: QueryList<IDAccordionComponent>;\n\n @ContentChild(IDAccordionHeaderComponent)\n header: IDAccordionHeaderComponent;\n\n @Input({ transform: booleanAttribute }) lean: boolean = false;\n @Input({ transform: booleanAttribute }) noBorder: boolean = false;\n @Input({ transform: booleanAttribute }) expanded: boolean = false;\n @Input() level: number = 1;\n @Input() size: 'xs' | 's' | 'm' = 'm';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n get hasChildren(): boolean {\n return (this.nestedAccordions?.length ?? 0) > 0;\n }\n\n get isChild(): boolean {\n return this.level > 1;\n }\n\n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('accordion');\n\n ngAfterContentInit() {\n this.updateNestedAccordionLevels();\n this.nestedAccordions?.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.updateNestedAccordionLevels();\n });\n }\n\n updateNestedAccordionLevels() {\n this.nestedAccordions?.forEach(accordion => {\n accordion.level = this.level + 1;\n switch (this.size) {\n case 'm':\n accordion.size = 's';\n break;\n case 's':\n accordion.size = 'xs';\n break;\n }\n accordion.updateNestedAccordionLevels();\n });\n }\n\n toggleExpansion(event: Event) {\n this.setExpanded(!this.expanded, event);\n }\n\n private setExpanded(expanded: boolean, event: Event) {\n this.expanded = expanded;\n if (expanded) {\n this.opened.emit(event);\n } else {\n this.closed.emit(event);\n }\n this.expandedChange.emit(this.expanded);\n }\n}\n","<button \n [class]=\"'ids-accordion__button ids-accordion__button--' + size\" \n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\" \n [attr.aria-controls]=\"contentId\">\n <div [class]=\"'ids-accordion__headline ids-accordion__headline-' + level + ' ids-accordion__headline--' + size + (expanded ? ' ids-accordion__headline--expanded' : '')\">\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n </div>\n</button>\n\n<div [id]=\"contentId\" class=\"ids-accordion__content\" [hidden]=\"!expanded\">\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inera-ids-angular-components-accordion.mjs","sources":["../../../projects/ids-angular/components/accordion/accordion-header.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.html","../../../projects/ids-angular/components/accordion/inera-ids-angular-components-accordion.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'id-accordion-header',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n \n </ng-template>`\n})\nexport class IDAccordionHeaderComponent {\n\n @ViewChild(TemplateRef, { static: true })\n template!: TemplateRef<unknown>;\n\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { IDAccordionHeaderComponent } from './accordion-header.component';\nimport { IDUseIdService } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-accordion',\n templateUrl: './accordion.component.html',\n host: {\n class: 'ids-accordion',\n '[class.ids-accordion--expanded]': 'expanded',\n '[class.ids-accordion--no-border]': 'noBorder',\n '[class.ids-accordion--lean]': 'lean',\n '[class.ids-accordion--has-children]': 'hasChildren',\n '[class.ids-accordion--is-child]': 'isChild',\n },\n imports: [NgTemplateOutlet],\n standalone: true,\n})\nexport class IDAccordionComponent {\n @ContentChildren(IDAccordionComponent)\n nestedAccordions: QueryList<IDAccordionComponent>;\n\n @ContentChild(IDAccordionHeaderComponent)\n header: IDAccordionHeaderComponent;\n\n @Input() subtitle: string = '';\n @Input({ transform: booleanAttribute }) lean: boolean = false;\n @Input({ transform: booleanAttribute }) noBorder: boolean = false;\n @Input({ transform: booleanAttribute }) expanded: boolean = false;\n @Input() level: number = 1;\n @Input() size: 'xs' | 's' | 'm' = 'm';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n get hasChildren(): boolean {\n return (this.nestedAccordions?.length ?? 0) > 0;\n }\n\n get isChild(): boolean {\n return this.level > 1;\n }\n\n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('accordion');\n\n ngAfterContentInit() {\n this.updateNestedAccordionLevels();\n this.nestedAccordions?.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.updateNestedAccordionLevels();\n });\n }\n\n updateNestedAccordionLevels() {\n this.nestedAccordions?.forEach((accordion) => {\n accordion.level = this.level + 1;\n switch (this.size) {\n case 'm':\n accordion.size = 's';\n break;\n case 's':\n accordion.size = 'xs';\n break;\n }\n accordion.updateNestedAccordionLevels();\n });\n }\n\n toggleExpansion(event: Event) {\n this.setExpanded(!this.expanded, event);\n }\n\n private setExpanded(expanded: boolean, event: Event) {\n this.expanded = expanded;\n if (expanded) {\n this.opened.emit(event);\n } else {\n this.closed.emit(event);\n }\n this.expandedChange.emit(this.expanded);\n }\n}\n","<button\n [class]=\"'ids-accordion__button ids-accordion__button--' + size\"\n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"contentId\"\n>\n <div\n [class]=\"\n 'ids-accordion__headline ids-accordion__headline-' +\n level +\n ' ids-accordion__headline--' +\n size +\n (expanded ? ' ids-accordion__headline--expanded' : '')\n \"\n >\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n @if (!!subtitle) {\n <div class=\"ids-accordion__subtitle\">{{ subtitle }}</div>\n }\n </div>\n</button>\n\n<div\n [id]=\"contentId\"\n class=\"ids-accordion__content\"\n [hidden]=\"!expanded\"\n>\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -2,32 +2,48 @@ import * as i0 from '@angular/core';
2
2
  import { Component } from '@angular/core';
3
3
 
4
4
  class IDActionLinkComponent {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDActionLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDActionLinkComponent, isStandalone: true, selector: "id-action-link", host: { classAttribute: "ids-action-link" }, ngImport: i0, template: `
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDActionLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDActionLinkComponent, isStandalone: true, selector: "id-action-link", host: { classAttribute: "ids-action-link" }, ngImport: i0, template: `
7
7
  <div class="ids-action-link__inner">
8
8
  <div class="ids-action-link__image">
9
9
  <ng-content select="[idLinkImage]"></ng-content>
10
10
  </div>
11
- <ng-content></ng-content>
12
- <div class="ids-action-link__icon" aria-hidden="true"></div>
13
- </div>`, isInline: true });
11
+ <div class="ids-action-link__text">
12
+ <ng-content></ng-content>
13
+ </div>
14
+ <div class="ids-action-link__icon-wrapper">
15
+ <div
16
+ class="ids-action-link__icon"
17
+ aria-hidden="true"
18
+ ></div>
19
+ </div>
20
+ </div>
21
+ `, isInline: true });
14
22
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDActionLinkComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDActionLinkComponent, decorators: [{
16
24
  type: Component,
17
25
  args: [{
18
- selector: "id-action-link",
26
+ selector: 'id-action-link',
19
27
  template: `
20
28
  <div class="ids-action-link__inner">
21
29
  <div class="ids-action-link__image">
22
30
  <ng-content select="[idLinkImage]"></ng-content>
23
31
  </div>
24
- <ng-content></ng-content>
25
- <div class="ids-action-link__icon" aria-hidden="true"></div>
26
- </div>`,
32
+ <div class="ids-action-link__text">
33
+ <ng-content></ng-content>
34
+ </div>
35
+ <div class="ids-action-link__icon-wrapper">
36
+ <div
37
+ class="ids-action-link__icon"
38
+ aria-hidden="true"
39
+ ></div>
40
+ </div>
41
+ </div>
42
+ `,
27
43
  standalone: true,
28
44
  host: {
29
- class: 'ids-action-link'
30
- }
45
+ class: 'ids-action-link',
46
+ },
31
47
  }]
32
48
  }] });
33
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-action-link.mjs","sources":["../../../projects/ids-angular/components/action-link/action-link.component.ts","../../../projects/ids-angular/components/action-link/inera-ids-angular-components-action-link.ts"],"sourcesContent":["import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"id-action-link\",\n template:`\n <div class=\"ids-action-link__inner\">\n <div class=\"ids-action-link__image\">\n <ng-content select=\"[idLinkImage]\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"ids-action-link__icon\" aria-hidden=\"true\"></div>\n </div>`,\n standalone: true,\n host: {\n class: 'ids-action-link'\n }\n})\nexport class IDActionLinkComponent {\n}\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAiBa,qBAAqB,CAAA;wGAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAbvB;;;;;;;AAOA,UAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAME,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAfjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAC;;;;;;;AAOA,UAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;;;AChBD;;AAEG;;;;"}
1
+ {"version":3,"file":"inera-ids-angular-components-action-link.mjs","sources":["../../../projects/ids-angular/components/action-link/action-link.component.ts","../../../projects/ids-angular/components/action-link/inera-ids-angular-components-action-link.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-action-link',\n template: `\n <div class=\"ids-action-link__inner\">\n <div class=\"ids-action-link__image\">\n <ng-content select=\"[idLinkImage]\"></ng-content>\n </div>\n <div class=\"ids-action-link__text\">\n <ng-content></ng-content>\n </div>\n <div class=\"ids-action-link__icon-wrapper\">\n <div\n class=\"ids-action-link__icon\"\n aria-hidden=\"true\"\n ></div>\n </div>\n </div>\n `,\n standalone: true,\n host: {\n class: 'ids-action-link',\n },\n})\nexport class IDActionLinkComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAyBa,qBAAqB,CAAA;wGAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EArBtB;;;;;;;;;;;;;;;AAeT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAMU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAvBjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;AAeT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,iBAAiB;AACzB,qBAAA;AACF,iBAAA;;;ACxBD;;AAEG;;;;"}