@inera/ids-angular 8.2.0 → 9.0.1

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 (810) hide show
  1. package/common/classes/form/IDErrorMessageBase.d.ts +8 -0
  2. package/common/classes/form/IDFormBase.d.ts +27 -10
  3. package/common/context/header-context.d.ts +5 -0
  4. package/common/directives/click-outside.directive.d.ts +11 -0
  5. package/common/public-api.d.ts +7 -0
  6. package/common/services/input-label-linker.service.d.ts +10 -0
  7. package/common/services/tooltip-category.service.d.ts +7 -0
  8. package/common/services/use-id.service.ts.d.ts +7 -0
  9. package/common/utilities/useEscKey.d.ts +1 -0
  10. package/components/accordion/accordion-header.component.d.ts +7 -0
  11. package/components/accordion/accordion.component.d.ts +21 -9
  12. package/components/accordion/public-api.d.ts +1 -1
  13. package/components/action-link/action-link.component.d.ts +1 -2
  14. package/components/action-link/public-api.d.ts +1 -2
  15. package/components/alert/alert-header.component.d.ts +7 -0
  16. package/components/alert/alert.component.d.ts +29 -14
  17. package/components/alert/public-api.d.ts +1 -1
  18. package/components/badge/badge.component.d.ts +3 -2
  19. package/components/badge/public-api.d.ts +0 -1
  20. package/components/box-link/box-link-button.component.d.ts +7 -0
  21. package/components/box-link/box-link.component.d.ts +3 -2
  22. package/components/box-link/public-api.d.ts +1 -1
  23. package/components/breadcrumbs/breadcrumbs.component.d.ts +5 -2
  24. package/components/breadcrumbs/crumb.component.d.ts +2 -3
  25. package/components/breadcrumbs/public-api.d.ts +0 -1
  26. package/components/button/button.directive.d.ts +42 -0
  27. package/components/button/public-api.d.ts +1 -2
  28. package/components/button-group/button-group.component.d.ts +4 -1
  29. package/components/button-group/public-api.d.ts +0 -1
  30. package/components/card/card-link.directive.d.ts +5 -0
  31. package/components/card/card.component.d.ts +12 -6
  32. package/components/card/public-api.d.ts +1 -1
  33. package/components/carousel/carousel-item/carousel-item.component.d.ts +6 -2
  34. package/components/carousel/carousel.component.d.ts +17 -5
  35. package/components/carousel/public-api.d.ts +0 -1
  36. package/components/date-label/date-label.component.d.ts +25 -13
  37. package/components/date-label/public-api.d.ts +0 -1
  38. package/components/dialog/dialog-close.component.d.ts +8 -0
  39. package/components/dialog/dialog-content.component.d.ts +5 -0
  40. package/components/dialog/dialog-footer.component.d.ts +5 -0
  41. package/components/dialog/dialog-header.component.d.ts +5 -0
  42. package/components/dialog/dialog-trigger.component.d.ts +5 -0
  43. package/components/dialog/dialog.component.d.ts +39 -11
  44. package/components/dialog/public-api.d.ts +5 -1
  45. package/components/dropdown/dropdown-item.directive.d.ts +5 -0
  46. package/components/dropdown/dropdown-trigger.component.d.ts +6 -0
  47. package/components/dropdown/dropdown.component.d.ts +27 -15
  48. package/components/dropdown/dropdown.module.d.ts +9 -0
  49. package/components/dropdown/public-api.d.ts +3 -1
  50. package/components/footer-1177/footer-1177-col.component.d.ts +12 -0
  51. package/components/footer-1177/footer-1177-sub-footer-left.component.d.ts +5 -0
  52. package/components/footer-1177/footer-1177-sub-footer-mobile.component.d.ts +5 -0
  53. package/components/footer-1177/footer-1177-sub-footer-right.component.d.ts +5 -0
  54. package/components/footer-1177/footer-1177-text.component.d.ts +6 -0
  55. package/components/footer-1177/footer-1177.component.d.ts +7 -6
  56. package/components/footer-1177/footer-1177.module.d.ts +12 -0
  57. package/components/footer-1177/public-api.d.ts +6 -0
  58. package/components/footer-1177-admin/footer-1177-admin-col.component.d.ts +12 -0
  59. package/components/footer-1177-admin/footer-1177-admin-sub-footer-left.component.d.ts +5 -0
  60. package/components/footer-1177-admin/footer-1177-admin-sub-footer-mobile.component.d.ts +5 -0
  61. package/components/footer-1177-admin/footer-1177-admin-sub-footer-right.component.d.ts +5 -0
  62. package/components/footer-1177-admin/footer-1177-admin-text.component.d.ts +6 -0
  63. package/components/footer-1177-admin/footer-1177-admin.component.d.ts +7 -6
  64. package/components/footer-1177-admin/footer-1177-admin.module.d.ts +12 -0
  65. package/components/footer-1177-admin/public-api.d.ts +6 -0
  66. package/components/footer-1177-pro/footer-1177-pro-col.component.d.ts +12 -0
  67. package/components/footer-1177-pro/footer-1177-pro-sub-footer-left.component.d.ts +5 -0
  68. package/components/footer-1177-pro/footer-1177-pro-sub-footer-mobile.component.d.ts +5 -0
  69. package/components/footer-1177-pro/footer-1177-pro-sub-footer-right.component.d.ts +5 -0
  70. package/components/footer-1177-pro/footer-1177-pro-text.component.d.ts +6 -0
  71. package/components/footer-1177-pro/footer-1177-pro.component.d.ts +6 -5
  72. package/components/footer-1177-pro/footer-1177-pro.module.d.ts +12 -0
  73. package/components/footer-1177-pro/public-api.d.ts +6 -0
  74. package/components/footer-inera/footer-inera-col.component.d.ts +12 -0
  75. package/components/footer-inera/footer-inera-sub-footer-left.component.d.ts +5 -0
  76. package/components/footer-inera/footer-inera-sub-footer-mobile.component.d.ts +5 -0
  77. package/components/footer-inera/footer-inera-sub-footer-right.component.d.ts +5 -0
  78. package/components/footer-inera/footer-inera-text.component.d.ts +6 -0
  79. package/components/footer-inera/footer-inera.component.d.ts +6 -5
  80. package/components/footer-inera/footer-inera.module.d.ts +12 -0
  81. package/components/footer-inera/public-api.d.ts +6 -0
  82. package/components/footer-inera-admin/footer-inera-admin-col.component.d.ts +14 -0
  83. package/components/footer-inera-admin/footer-inera-admin-sub-footer-left.component.d.ts +5 -0
  84. package/components/footer-inera-admin/footer-inera-admin-sub-footer-mobile.component.d.ts +5 -0
  85. package/components/footer-inera-admin/footer-inera-admin-sub-footer-right.component.d.ts +5 -0
  86. package/components/footer-inera-admin/footer-inera-admin-text.component.d.ts +6 -0
  87. package/components/footer-inera-admin/footer-inera-admin.component.d.ts +6 -5
  88. package/components/footer-inera-admin/footer-inera-admin.module.d.ts +12 -0
  89. package/components/footer-inera-admin/public-api.d.ts +7 -1
  90. package/components/form/check-button/check-button.component.d.ts +4 -3
  91. package/components/form/check-button/public-api.d.ts +0 -1
  92. package/components/form/checkbox/checkbox.component.d.ts +14 -8
  93. package/components/form/checkbox/public-api.d.ts +0 -1
  94. package/components/form/checkbox-group/checkbox-group.component.d.ts +13 -9
  95. package/components/form/checkbox-group/public-api.d.ts +0 -1
  96. package/components/form/darkmode-toggle/darkmode-toggle.component.d.ts +6 -0
  97. package/components/form/darkmode-toggle/index.d.ts +5 -0
  98. package/components/form/darkmode-toggle/public-api.d.ts +1 -0
  99. package/components/form/error-message/error-message.component.d.ts +6 -7
  100. package/components/form/error-message/public-api.d.ts +0 -1
  101. package/components/form/input/input-hint.component.d.ts +5 -0
  102. package/components/form/input/input-icon.component.d.ts +7 -0
  103. package/components/form/input/input.component.d.ts +13 -6
  104. package/components/form/input/public-api.d.ts +2 -1
  105. package/components/form/radio/public-api.d.ts +0 -1
  106. package/components/form/radio/radio-group.component.d.ts +14 -7
  107. package/components/form/radio/radio.component.d.ts +4 -2
  108. package/components/form/radio-button/public-api.d.ts +0 -1
  109. package/components/form/radio-button/radio-button-group.component.d.ts +9 -3
  110. package/components/form/radio-button/radio-button.component.d.ts +5 -3
  111. package/components/form/range/public-api.d.ts +0 -1
  112. package/components/form/range/range.component.d.ts +14 -4
  113. package/components/form/select/public-api.d.ts +0 -1
  114. package/components/form/select/select.component.d.ts +5 -3
  115. package/components/form/select-multiple/public-api.d.ts +0 -1
  116. package/components/form/select-multiple/select-multiple.component.d.ts +29 -9
  117. package/components/form/spinner/public-api.d.ts +0 -1
  118. package/components/form/spinner/spinner.component.d.ts +4 -4
  119. package/components/form/textarea/public-api.d.ts +1 -1
  120. package/components/form/textarea/textarea-hint.component.d.ts +5 -0
  121. package/components/form/textarea/textarea.component.d.ts +14 -6
  122. package/components/form/time/public-api.d.ts +0 -1
  123. package/components/form/time/time.component.d.ts +4 -2
  124. package/components/form/toggle/public-api.d.ts +0 -1
  125. package/components/form/toggle/toggle.component.d.ts +1 -1
  126. package/components/global-alert/global-alert-actions.component.d.ts +8 -0
  127. package/components/global-alert/global-alert-header.component.d.ts +8 -0
  128. package/components/global-alert/global-alert.component.d.ts +21 -9
  129. package/components/global-alert/public-api.d.ts +2 -1
  130. package/components/grid/column/column.component.d.ts +6 -9
  131. package/components/grid/column/public-api.d.ts +0 -1
  132. package/components/grid/container/container.component.d.ts +4 -4
  133. package/components/grid/container/public-api.d.ts +0 -1
  134. package/components/grid/public-api.d.ts +0 -3
  135. package/components/grid/row/public-api.d.ts +0 -1
  136. package/components/grid/row/row.component.d.ts +6 -9
  137. package/components/grid-layout/grid-column/grid-column.component.d.ts +18 -0
  138. package/components/grid-layout/grid-column/index.d.ts +5 -0
  139. package/components/grid-layout/grid-column/public-api.d.ts +1 -0
  140. package/components/grid-layout/grid-container/grid-container.component.d.ts +10 -0
  141. package/components/grid-layout/grid-container/index.d.ts +5 -0
  142. package/components/grid-layout/grid-container/public-api.d.ts +1 -0
  143. package/components/grid-layout/grid-row/grid-row.component.d.ts +11 -0
  144. package/components/grid-layout/grid-row/index.d.ts +5 -0
  145. package/components/grid-layout/grid-row/public-api.d.ts +1 -0
  146. package/components/grid-layout/index.d.ts +5 -0
  147. package/components/grid-layout/public-api.d.ts +3 -0
  148. package/components/header-1177/avatar/header-1177-avatar-agent.component.d.ts +5 -0
  149. package/components/header-1177/avatar/header-1177-avatar.component.d.ts +14 -4
  150. package/components/header-1177/brand-link/header-1177-brand-link.directive.d.ts +5 -0
  151. package/components/header-1177/header-1177.component.d.ts +12 -15
  152. package/components/header-1177/header-1177.module.d.ts +19 -0
  153. package/components/header-1177/item/header-1177-item.component.d.ts +7 -4
  154. package/components/header-1177/menu-mobile/header-1177-menu-mobile.component.d.ts +6 -2
  155. package/components/header-1177/nav/header-1177-nav.component.d.ts +4 -18
  156. package/components/header-1177/nav-item/header-1177-nav-item.component.d.ts +18 -3
  157. package/components/header-1177/nav-item-menu-link/header-1177-nav-item-menu-link.component.d.ts +5 -0
  158. package/components/header-1177/nav-item-mobile/header-1177-nav-item-mobile.component.d.ts +4 -3
  159. package/components/header-1177/public-api.d.ts +5 -0
  160. package/components/header-1177/region-picker/header-1177-region-picker.component.d.ts +11 -4
  161. package/components/header-1177/region-picker-mobile/header-1177-region-picker-mobile.component.d.ts +12 -5
  162. package/components/header-1177/skip-to-content/header-1177-skip-to-content.component.d.ts +5 -0
  163. package/components/header-1177-admin/avatar/header-1177-admin-avatar.component.d.ts +16 -4
  164. package/components/header-1177-admin/avatar-mobile/header-1177-admin-avatar-mobile.component.d.ts +18 -5
  165. package/components/header-1177-admin/brand-link/header-1177-admin-brand-link.directive.d.ts +5 -0
  166. package/components/header-1177-admin/header-1177-admin.component.d.ts +12 -20
  167. package/components/header-1177-admin/header-1177-admin.module.d.ts +17 -0
  168. package/components/header-1177-admin/item/header-1177-admin-item.component.d.ts +5 -3
  169. package/components/header-1177-admin/menu-mobile/header-1177-admin-menu-mobile.component.d.ts +6 -2
  170. package/components/header-1177-admin/nav/header-1177-admin-nav.component.d.ts +4 -12
  171. package/components/header-1177-admin/nav-item/header-1177-admin-nav-item.component.d.ts +20 -5
  172. package/components/header-1177-admin/nav-item-menu-link/header-1177-admin-nav-item-menu-link.component.d.ts +5 -0
  173. package/components/header-1177-admin/nav-item-mobile/header-1177-admin-nav-item-mobile.d.ts +8 -0
  174. package/components/header-1177-admin/public-api.d.ts +5 -0
  175. package/components/header-1177-admin/skip-to-content/header-1177-admin-skip-to-content.component.d.ts +5 -0
  176. package/components/header-1177-pro/avatar/header-1177-pro-avatar.component.d.ts +18 -6
  177. package/components/header-1177-pro/avatar-mobile/header-1177-pro-avatar-mobile.component.d.ts +18 -5
  178. package/components/header-1177-pro/brand-link/header-1177-pro-brand-link.directive.d.ts +5 -0
  179. package/components/header-1177-pro/header-1177-pro.component.d.ts +10 -22
  180. package/components/header-1177-pro/header-1177-pro.module.d.ts +19 -0
  181. package/components/header-1177-pro/item/header-1177-pro-item.component.d.ts +5 -3
  182. package/components/header-1177-pro/menu-mobile/header-1177-pro-menu-mobile.component.d.ts +6 -3
  183. package/components/header-1177-pro/nav/header-1177-pro-nav.component.d.ts +4 -15
  184. package/components/header-1177-pro/nav-item/header-1177-pro-nav-item.component.d.ts +19 -5
  185. package/components/header-1177-pro/nav-item-menu-link/header-1177-pro-nav-item-menu-link.component.d.ts +5 -0
  186. package/components/header-1177-pro/nav-item-mobile/header-1177-pro-nav-item-mobile.d.ts +8 -0
  187. package/components/header-1177-pro/public-api.d.ts +5 -0
  188. package/components/header-1177-pro/region-picker/header-1177-pro-region-picker.component.d.ts +11 -4
  189. package/components/header-1177-pro/region-picker-mobile/header-1177-pro-region-picker-mobile.component.d.ts +12 -5
  190. package/components/header-1177-pro/skip-to-content/header-1177-pro-skip-to-content.component.d.ts +5 -0
  191. package/components/header-inera/brand-link/header-inera-brand-link.directive.d.ts +5 -0
  192. package/components/header-inera/header-inera.component.d.ts +13 -16
  193. package/components/header-inera/header-inera.module.d.ts +14 -0
  194. package/components/header-inera/item/header-inera-item.component.d.ts +5 -3
  195. package/components/header-inera/menu-mobile/header-inera-menu-mobile.component.d.ts +5 -5
  196. package/components/header-inera/nav/header-inera-nav.component.d.ts +4 -9
  197. package/components/header-inera/nav-item/header-inera-nav-item.component.d.ts +25 -0
  198. package/components/header-inera/nav-item-menu-link/header-inera-nav-item-menu-link.component.d.ts +5 -0
  199. package/components/header-inera/public-api.d.ts +5 -1
  200. package/components/header-inera/skip-to-content/header-inera-skip-to-content.component.d.ts +5 -0
  201. package/components/header-inera-admin/avatar/header-inera-admin-avatar.component.d.ts +18 -6
  202. package/components/header-inera-admin/avatar-mobile/header-inera-admin-avatar-mobile.component.d.ts +18 -5
  203. package/components/header-inera-admin/brand-link/header-inera-admin-brand-link.directive.d.ts +5 -0
  204. package/components/header-inera-admin/header-inera-admin.component.d.ts +16 -16
  205. package/components/header-inera-admin/header-inera-admin.module.d.ts +17 -0
  206. package/components/header-inera-admin/item/header-inera-admin-item.component.d.ts +7 -4
  207. package/components/header-inera-admin/menu-mobile/header-inera-admin-menu-mobile.component.d.ts +6 -3
  208. package/components/header-inera-admin/nav/header-inera-admin-nav.component.d.ts +4 -11
  209. package/components/header-inera-admin/nav-item/header-inera-admin-nav-item.component.d.ts +19 -5
  210. package/components/header-inera-admin/nav-item-menu-link/header-inera-admin-nav-item-menu-link.component.d.ts +5 -0
  211. package/components/header-inera-admin/nav-item-mobile/header-inera-admin-nav-item-mobile.d.ts +8 -0
  212. package/components/header-inera-admin/public-api.d.ts +5 -0
  213. package/components/header-inera-admin/skip-to-content/header-inera-admin-skip-to-content.component.d.ts +5 -0
  214. package/components/header-patient/header-patient-actions.component.d.ts +5 -0
  215. package/components/header-patient/header-patient.component.d.ts +5 -5
  216. package/components/header-patient/public-api.d.ts +1 -1
  217. package/components/link/link.directive.d.ts +22 -0
  218. package/components/link/public-api.d.ts +1 -2
  219. package/components/mobile/menu/item/mobile-menu-item.component.d.ts +22 -4
  220. package/components/mobile/menu/item/public-api.d.ts +0 -1
  221. package/components/mobile/menu/mobile-menu.component.d.ts +5 -3
  222. package/components/mobile/menu/public-api.d.ts +0 -1
  223. package/components/navigation/content/navigation-content-link.component.d.ts +7 -0
  224. package/components/navigation/content/navigation-content.component.d.ts +6 -4
  225. package/components/navigation/content/public-api.d.ts +1 -1
  226. package/components/navigation/local/navigation-local-link.component.d.ts +7 -0
  227. package/components/navigation/local/navigation-local.component.d.ts +5 -3
  228. package/components/navigation/local/public-api.d.ts +1 -1
  229. package/components/{notification/badge → notification-badge}/index.d.ts +1 -1
  230. package/components/{notification/badge → notification-badge}/notification-badge.component.d.ts +4 -3
  231. package/components/{notification/badge → notification-badge}/public-api.d.ts +0 -1
  232. package/components/pagination/data-pagination/data-pagination-select.component.d.ts +5 -0
  233. package/components/pagination/data-pagination/data-pagination.component.d.ts +3 -3
  234. package/components/pagination/data-pagination/public-api.d.ts +1 -1
  235. package/components/pagination/list-pagination/list-pagination.component.d.ts +21 -15
  236. package/components/pagination/list-pagination/public-api.d.ts +0 -1
  237. package/components/popover/popover-close.component.d.ts +8 -0
  238. package/components/popover/popover-content.component.d.ts +17 -0
  239. package/components/popover/popover-header.component.d.ts +5 -0
  240. package/components/popover/popover-trigger.component.d.ts +5 -0
  241. package/components/popover/popover.component.d.ts +29 -9
  242. package/components/popover/popover.module.d.ts +5 -2
  243. package/components/popover/public-api.d.ts +5 -1
  244. package/components/progressbar/progressbar.component.d.ts +4 -4
  245. package/components/progressbar/public-api.d.ts +0 -1
  246. package/components/puff-list/public-api.d.ts +7 -4
  247. package/components/puff-list/puff-list-item-content-info.component.d.ts +5 -0
  248. package/components/puff-list/puff-list-item-content.component.d.ts +5 -0
  249. package/components/puff-list/puff-list-item-date-label.component.d.ts +5 -0
  250. package/components/puff-list/puff-list-item-extra-content.component.d.ts +5 -0
  251. package/components/puff-list/{puff-item/puff-header/puff-list-item-header.component.d.ts → puff-list-item-header.component.d.ts} +1 -3
  252. package/components/puff-list/puff-list-item.component.d.ts +12 -0
  253. package/components/puff-list/puff-list.component.d.ts +4 -1
  254. package/components/puff-list/puff-list.module.d.ts +7 -5
  255. package/components/region-icon/public-api.d.ts +0 -1
  256. package/components/region-icon/region-icon.component.d.ts +5 -3
  257. package/components/side-menu/public-api.d.ts +3 -1
  258. package/components/side-menu/side-menu-icon.component.d.ts +7 -0
  259. package/components/side-menu/side-menu-link.component.d.ts +5 -0
  260. package/components/side-menu/side-menu.component.d.ts +15 -7
  261. package/components/side-menu/side-menu.module.d.ts +3 -2
  262. package/components/side-panel/public-api.d.ts +3 -1
  263. package/components/side-panel/side-panel-footer.component.d.ts +5 -0
  264. package/components/side-panel/side-panel-provider.component.d.ts +9 -0
  265. package/components/side-panel/side-panel.component.d.ts +30 -12
  266. package/components/side-panel/side-panel.module.d.ts +3 -2
  267. package/components/stepper/public-api.d.ts +3 -2
  268. package/components/stepper/step-header.component.d.ts +5 -0
  269. package/components/stepper/step.component.d.ts +20 -0
  270. package/components/stepper/stepper.component.d.ts +6 -5
  271. package/components/stepper/stepper.module.d.ts +3 -3
  272. package/components/tabs/public-api.d.ts +2 -4
  273. package/components/tabs/tab-group.component.d.ts +21 -0
  274. package/components/tabs/tab.component.d.ts +14 -0
  275. package/components/tag/public-api.d.ts +1 -1
  276. package/components/tag/tag.component.d.ts +4 -5
  277. package/components/tag/tag.directive.d.ts +5 -0
  278. package/components/tooltip/public-api.d.ts +1 -0
  279. package/components/tooltip/tooltip-trigger.directive.d.ts +8 -0
  280. package/components/tooltip/tooltip.component.d.ts +18 -5
  281. package/components/tooltip/tooltip.module.d.ts +2 -2
  282. package/eslint/index.js +6 -0
  283. package/eslint/rules/no-old-components.js +39 -0
  284. package/eslint/rules/no-slots.js +254 -0
  285. package/esm2022/common/classes/form/IDErrorMessageBase.mjs +19 -0
  286. package/esm2022/common/classes/form/IDFormBase.mjs +119 -31
  287. package/esm2022/common/context/header-context.mjs +3 -0
  288. package/esm2022/common/directives/click-outside.directive.mjs +30 -0
  289. package/esm2022/common/public-api.mjs +8 -1
  290. package/esm2022/common/services/input-label-linker.service.mjs +26 -0
  291. package/esm2022/common/services/tooltip-category.service.mjs +16 -0
  292. package/esm2022/common/services/use-id.service.ts.mjs +19 -0
  293. package/esm2022/common/utilities/useEscKey.mjs +11 -0
  294. package/esm2022/components/accordion/accordion-header.component.mjs +25 -0
  295. package/esm2022/components/accordion/accordion.component.mjs +78 -25
  296. package/esm2022/components/accordion/public-api.mjs +2 -2
  297. package/esm2022/components/action-link/action-link.component.mjs +25 -5
  298. package/esm2022/components/action-link/public-api.mjs +2 -3
  299. package/esm2022/components/alert/alert-header.component.mjs +25 -0
  300. package/esm2022/components/alert/alert.component.mjs +93 -33
  301. package/esm2022/components/alert/public-api.mjs +2 -2
  302. package/esm2022/components/badge/badge.component.mjs +13 -6
  303. package/esm2022/components/badge/public-api.mjs +1 -2
  304. package/esm2022/components/box-link/box-link-button.component.mjs +25 -0
  305. package/esm2022/components/box-link/box-link.component.mjs +14 -6
  306. package/esm2022/components/box-link/public-api.mjs +2 -2
  307. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +16 -7
  308. package/esm2022/components/breadcrumbs/crumb.component.mjs +10 -11
  309. package/esm2022/components/breadcrumbs/public-api.mjs +1 -2
  310. package/esm2022/components/button/button.directive.mjs +140 -0
  311. package/esm2022/components/button/public-api.mjs +2 -3
  312. package/esm2022/components/button-group/button-group.component.mjs +22 -6
  313. package/esm2022/components/button-group/public-api.mjs +1 -2
  314. package/esm2022/components/card/card-link.directive.mjs +17 -0
  315. package/esm2022/components/card/card.component.mjs +35 -20
  316. package/esm2022/components/card/public-api.mjs +2 -2
  317. package/esm2022/components/carousel/carousel-item/carousel-item.component.mjs +21 -9
  318. package/esm2022/components/carousel/carousel.component.mjs +62 -9
  319. package/esm2022/components/carousel/public-api.mjs +1 -2
  320. package/esm2022/components/date-label/date-label.component.mjs +105 -25
  321. package/esm2022/components/date-label/public-api.mjs +1 -2
  322. package/esm2022/components/dialog/dialog-close.component.mjs +24 -0
  323. package/esm2022/components/dialog/dialog-content.component.mjs +15 -0
  324. package/esm2022/components/dialog/dialog-footer.component.mjs +18 -0
  325. package/esm2022/components/dialog/dialog-header.component.mjs +15 -0
  326. package/esm2022/components/dialog/dialog-trigger.component.mjs +15 -0
  327. package/esm2022/components/dialog/dialog.component.mjs +134 -28
  328. package/esm2022/components/dialog/public-api.mjs +6 -2
  329. package/esm2022/components/dropdown/dropdown-item.directive.mjs +18 -0
  330. package/esm2022/components/dropdown/dropdown-trigger.component.mjs +16 -0
  331. package/esm2022/components/dropdown/dropdown.component.mjs +82 -35
  332. package/esm2022/components/dropdown/dropdown.module.mjs +30 -0
  333. package/esm2022/components/dropdown/public-api.mjs +4 -2
  334. package/esm2022/components/footer-1177/footer-1177-col.component.mjs +42 -0
  335. package/esm2022/components/footer-1177/footer-1177-sub-footer-left.component.mjs +18 -0
  336. package/esm2022/components/footer-1177/footer-1177-sub-footer-mobile.component.mjs +18 -0
  337. package/esm2022/components/footer-1177/footer-1177-sub-footer-right.component.mjs +18 -0
  338. package/esm2022/components/footer-1177/footer-1177-text.component.mjs +29 -0
  339. package/esm2022/components/footer-1177/footer-1177.component.mjs +30 -16
  340. package/esm2022/components/footer-1177/footer-1177.module.mjs +45 -0
  341. package/esm2022/components/footer-1177/public-api.mjs +7 -1
  342. package/esm2022/components/footer-1177-admin/footer-1177-admin-col.component.mjs +42 -0
  343. package/esm2022/components/footer-1177-admin/footer-1177-admin-sub-footer-left.component.mjs +18 -0
  344. package/esm2022/components/footer-1177-admin/footer-1177-admin-sub-footer-mobile.component.mjs +18 -0
  345. package/esm2022/components/footer-1177-admin/footer-1177-admin-sub-footer-right.component.mjs +18 -0
  346. package/esm2022/components/footer-1177-admin/footer-1177-admin-text.component.mjs +29 -0
  347. package/esm2022/components/footer-1177-admin/footer-1177-admin.component.mjs +29 -14
  348. package/esm2022/components/footer-1177-admin/footer-1177-admin.module.mjs +45 -0
  349. package/esm2022/components/footer-1177-admin/public-api.mjs +7 -1
  350. package/esm2022/components/footer-1177-pro/footer-1177-pro-col.component.mjs +42 -0
  351. package/esm2022/components/footer-1177-pro/footer-1177-pro-sub-footer-left.component.mjs +18 -0
  352. package/esm2022/components/footer-1177-pro/footer-1177-pro-sub-footer-mobile.component.mjs +18 -0
  353. package/esm2022/components/footer-1177-pro/footer-1177-pro-sub-footer-right.component.mjs +18 -0
  354. package/esm2022/components/footer-1177-pro/footer-1177-pro-text.component.mjs +29 -0
  355. package/esm2022/components/footer-1177-pro/footer-1177-pro.component.mjs +29 -14
  356. package/esm2022/components/footer-1177-pro/footer-1177-pro.module.mjs +45 -0
  357. package/esm2022/components/footer-1177-pro/public-api.mjs +7 -1
  358. package/esm2022/components/footer-inera/footer-inera-col.component.mjs +42 -0
  359. package/esm2022/components/footer-inera/footer-inera-sub-footer-left.component.mjs +18 -0
  360. package/esm2022/components/footer-inera/footer-inera-sub-footer-mobile.component.mjs +18 -0
  361. package/esm2022/components/footer-inera/footer-inera-sub-footer-right.component.mjs +18 -0
  362. package/esm2022/components/footer-inera/footer-inera-text.component.mjs +29 -0
  363. package/esm2022/components/footer-inera/footer-inera.component.mjs +29 -14
  364. package/esm2022/components/footer-inera/footer-inera.module.mjs +45 -0
  365. package/esm2022/components/footer-inera/public-api.mjs +7 -1
  366. package/esm2022/components/footer-inera-admin/footer-inera-admin-col.component.mjs +46 -0
  367. package/esm2022/components/footer-inera-admin/footer-inera-admin-sub-footer-left.component.mjs +18 -0
  368. package/esm2022/components/footer-inera-admin/footer-inera-admin-sub-footer-mobile.component.mjs +18 -0
  369. package/esm2022/components/footer-inera-admin/footer-inera-admin-sub-footer-right.component.mjs +18 -0
  370. package/esm2022/components/footer-inera-admin/footer-inera-admin-text.component.mjs +29 -0
  371. package/esm2022/components/footer-inera-admin/footer-inera-admin.component.mjs +29 -14
  372. package/esm2022/components/footer-inera-admin/footer-inera-admin.module.mjs +45 -0
  373. package/esm2022/components/footer-inera-admin/public-api.mjs +8 -2
  374. package/esm2022/components/form/check-button/check-button.component.mjs +11 -8
  375. package/esm2022/components/form/check-button/public-api.mjs +1 -2
  376. package/esm2022/components/form/checkbox/checkbox.component.mjs +39 -19
  377. package/esm2022/components/form/checkbox/public-api.mjs +1 -2
  378. package/esm2022/components/form/checkbox-group/checkbox-group.component.mjs +34 -16
  379. package/esm2022/components/form/checkbox-group/public-api.mjs +1 -2
  380. package/esm2022/components/form/darkmode-toggle/darkmode-toggle.component.mjs +12 -0
  381. package/esm2022/components/form/darkmode-toggle/inera-ids-angular-components-form-darkmode-toggle.mjs +5 -0
  382. package/esm2022/components/form/darkmode-toggle/public-api.mjs +2 -0
  383. package/esm2022/components/form/error-message/error-message.component.mjs +40 -15
  384. package/esm2022/components/form/error-message/public-api.mjs +1 -2
  385. package/esm2022/components/form/input/input-hint.component.mjs +18 -0
  386. package/esm2022/components/form/input/input-icon.component.mjs +23 -0
  387. package/esm2022/components/form/input/input.component.mjs +35 -14
  388. package/esm2022/components/form/input/public-api.mjs +3 -2
  389. package/esm2022/components/form/radio/public-api.mjs +1 -2
  390. package/esm2022/components/form/radio/radio-group.component.mjs +44 -17
  391. package/esm2022/components/form/radio/radio.component.mjs +18 -8
  392. package/esm2022/components/form/radio-button/public-api.mjs +1 -2
  393. package/esm2022/components/form/radio-button/radio-button-group.component.mjs +35 -7
  394. package/esm2022/components/form/radio-button/radio-button.component.mjs +13 -5
  395. package/esm2022/components/form/range/public-api.mjs +1 -2
  396. package/esm2022/components/form/range/range.component.mjs +65 -8
  397. package/esm2022/components/form/select/public-api.mjs +1 -2
  398. package/esm2022/components/form/select/select.component.mjs +9 -5
  399. package/esm2022/components/form/select-multiple/public-api.mjs +1 -2
  400. package/esm2022/components/form/select-multiple/select-multiple.component.mjs +86 -23
  401. package/esm2022/components/form/spinner/public-api.mjs +1 -2
  402. package/esm2022/components/form/spinner/spinner.component.mjs +15 -11
  403. package/esm2022/components/form/textarea/public-api.mjs +2 -2
  404. package/esm2022/components/form/textarea/textarea-hint.component.mjs +18 -0
  405. package/esm2022/components/form/textarea/textarea.component.mjs +46 -14
  406. package/esm2022/components/form/time/public-api.mjs +1 -2
  407. package/esm2022/components/form/time/time.component.mjs +7 -4
  408. package/esm2022/components/form/toggle/public-api.mjs +1 -2
  409. package/esm2022/components/form/toggle/toggle.component.mjs +6 -4
  410. package/esm2022/components/global-alert/global-alert-actions.component.mjs +26 -0
  411. package/esm2022/components/global-alert/global-alert-header.component.mjs +26 -0
  412. package/esm2022/components/global-alert/global-alert.component.mjs +73 -23
  413. package/esm2022/components/global-alert/public-api.mjs +3 -2
  414. package/esm2022/components/grid/column/column.component.mjs +41 -23
  415. package/esm2022/components/grid/column/public-api.mjs +1 -2
  416. package/esm2022/components/grid/container/container.component.mjs +18 -9
  417. package/esm2022/components/grid/container/public-api.mjs +1 -2
  418. package/esm2022/components/grid/public-api.mjs +1 -4
  419. package/esm2022/components/grid/row/public-api.mjs +1 -2
  420. package/esm2022/components/grid/row/row.component.mjs +31 -19
  421. package/esm2022/components/grid-layout/grid-column/grid-column.component.mjs +72 -0
  422. package/esm2022/components/grid-layout/grid-column/inera-ids-angular-components-grid-layout-grid-column.mjs +5 -0
  423. package/esm2022/components/grid-layout/grid-column/public-api.mjs +2 -0
  424. package/esm2022/components/grid-layout/grid-container/grid-container.component.mjs +35 -0
  425. package/esm2022/components/grid-layout/grid-container/inera-ids-angular-components-grid-layout-grid-container.mjs +5 -0
  426. package/esm2022/components/grid-layout/grid-container/public-api.mjs +2 -0
  427. package/esm2022/components/grid-layout/grid-row/grid-row.component.mjs +43 -0
  428. package/esm2022/components/grid-layout/grid-row/inera-ids-angular-components-grid-layout-grid-row.mjs +5 -0
  429. package/esm2022/components/grid-layout/grid-row/public-api.mjs +2 -0
  430. package/esm2022/components/grid-layout/inera-ids-angular-components-grid-layout.mjs +5 -0
  431. package/esm2022/components/grid-layout/public-api.mjs +4 -0
  432. package/esm2022/components/header-1177/avatar/header-1177-avatar-agent.component.mjs +20 -0
  433. package/esm2022/components/header-1177/avatar/header-1177-avatar.component.mjs +102 -14
  434. package/esm2022/components/header-1177/brand-link/header-1177-brand-link.directive.mjs +17 -0
  435. package/esm2022/components/header-1177/header-1177.component.mjs +34 -42
  436. package/esm2022/components/header-1177/header-1177.module.mjs +80 -0
  437. package/esm2022/components/header-1177/item/header-1177-item.component.mjs +42 -11
  438. package/esm2022/components/header-1177/menu-mobile/header-1177-menu-mobile.component.mjs +50 -7
  439. package/esm2022/components/header-1177/nav/header-1177-nav.component.mjs +45 -57
  440. package/esm2022/components/header-1177/nav-item/header-1177-nav-item.component.mjs +141 -11
  441. package/esm2022/components/header-1177/nav-item-menu-link/header-1177-nav-item-menu-link.component.mjs +18 -0
  442. package/esm2022/components/header-1177/nav-item-mobile/header-1177-nav-item-mobile.component.mjs +29 -8
  443. package/esm2022/components/header-1177/public-api.mjs +6 -1
  444. package/esm2022/components/header-1177/region-picker/header-1177-region-picker.component.mjs +69 -11
  445. package/esm2022/components/header-1177/region-picker-mobile/header-1177-region-picker-mobile.component.mjs +64 -12
  446. package/esm2022/components/header-1177/skip-to-content/header-1177-skip-to-content.component.mjs +18 -0
  447. package/esm2022/components/header-1177-admin/avatar/header-1177-admin-avatar.component.mjs +116 -13
  448. package/esm2022/components/header-1177-admin/avatar-mobile/header-1177-admin-avatar-mobile.component.mjs +113 -12
  449. package/esm2022/components/header-1177-admin/brand-link/header-1177-admin-brand-link.directive.mjs +17 -0
  450. package/esm2022/components/header-1177-admin/header-1177-admin.component.mjs +36 -54
  451. package/esm2022/components/header-1177-admin/header-1177-admin.module.mjs +70 -0
  452. package/esm2022/components/header-1177-admin/item/header-1177-admin-item.component.mjs +29 -8
  453. package/esm2022/components/header-1177-admin/menu-mobile/header-1177-admin-menu-mobile.component.mjs +58 -7
  454. package/esm2022/components/header-1177-admin/nav/header-1177-admin-nav.component.mjs +28 -37
  455. package/esm2022/components/header-1177-admin/nav-item/header-1177-admin-nav-item.component.mjs +143 -13
  456. package/esm2022/components/header-1177-admin/nav-item-menu-link/header-1177-admin-nav-item-menu-link.component.mjs +18 -0
  457. package/esm2022/components/header-1177-admin/nav-item-mobile/header-1177-admin-nav-item-mobile.mjs +36 -0
  458. package/esm2022/components/header-1177-admin/public-api.mjs +6 -1
  459. package/esm2022/components/header-1177-admin/skip-to-content/header-1177-admin-skip-to-content.component.mjs +18 -0
  460. package/esm2022/components/header-1177-pro/avatar/header-1177-pro-avatar.component.mjs +118 -15
  461. package/esm2022/components/header-1177-pro/avatar-mobile/header-1177-pro-avatar-mobile.component.mjs +113 -12
  462. package/esm2022/components/header-1177-pro/brand-link/header-1177-pro-brand-link.directive.mjs +17 -0
  463. package/esm2022/components/header-1177-pro/header-1177-pro.component.mjs +32 -62
  464. package/esm2022/components/header-1177-pro/header-1177-pro.module.mjs +80 -0
  465. package/esm2022/components/header-1177-pro/item/header-1177-pro-item.component.mjs +29 -8
  466. package/esm2022/components/header-1177-pro/menu-mobile/header-1177-pro-menu-mobile.component.mjs +58 -8
  467. package/esm2022/components/header-1177-pro/nav/header-1177-pro-nav.component.mjs +25 -46
  468. package/esm2022/components/header-1177-pro/nav-item/header-1177-pro-nav-item.component.mjs +142 -15
  469. package/esm2022/components/header-1177-pro/nav-item-menu-link/header-1177-pro-nav-item-menu-link.component.mjs +18 -0
  470. package/esm2022/components/header-1177-pro/nav-item-mobile/header-1177-pro-nav-item-mobile.mjs +36 -0
  471. package/esm2022/components/header-1177-pro/public-api.mjs +6 -1
  472. package/esm2022/components/header-1177-pro/region-picker/header-1177-pro-region-picker.component.mjs +69 -11
  473. package/esm2022/components/header-1177-pro/region-picker-mobile/header-1177-pro-region-picker-mobile.component.mjs +64 -12
  474. package/esm2022/components/header-1177-pro/skip-to-content/header-1177-pro-skip-to-content.component.mjs +18 -0
  475. package/esm2022/components/header-inera/brand-link/header-inera-brand-link.directive.mjs +14 -0
  476. package/esm2022/components/header-inera/header-inera.component.mjs +38 -45
  477. package/esm2022/components/header-inera/header-inera.module.mjs +55 -0
  478. package/esm2022/components/header-inera/item/header-inera-item.component.mjs +29 -8
  479. package/esm2022/components/header-inera/menu-mobile/header-inera-menu-mobile.component.mjs +64 -16
  480. package/esm2022/components/header-inera/nav/header-inera-nav.component.mjs +25 -31
  481. package/esm2022/components/header-inera/nav-item/header-inera-nav-item.component.mjs +154 -0
  482. package/esm2022/components/header-inera/nav-item-menu-link/header-inera-nav-item-menu-link.component.mjs +18 -0
  483. package/esm2022/components/header-inera/public-api.mjs +6 -2
  484. package/esm2022/components/header-inera/skip-to-content/header-inera-skip-to-content.component.mjs +18 -0
  485. package/esm2022/components/header-inera-admin/avatar/header-inera-admin-avatar.component.mjs +118 -15
  486. package/esm2022/components/header-inera-admin/avatar-mobile/header-inera-admin-avatar-mobile.component.mjs +113 -12
  487. package/esm2022/components/header-inera-admin/brand-link/header-inera-admin-brand-link.directive.mjs +17 -0
  488. package/esm2022/components/header-inera-admin/header-inera-admin.component.mjs +45 -46
  489. package/esm2022/components/header-inera-admin/header-inera-admin.module.mjs +70 -0
  490. package/esm2022/components/header-inera-admin/item/header-inera-admin-item.component.mjs +34 -11
  491. package/esm2022/components/header-inera-admin/menu-mobile/header-inera-admin-menu-mobile.component.mjs +64 -8
  492. package/esm2022/components/header-inera-admin/nav/header-inera-admin-nav.component.mjs +24 -35
  493. package/esm2022/components/header-inera-admin/nav-item/header-inera-admin-nav-item.component.mjs +142 -15
  494. package/esm2022/components/header-inera-admin/nav-item-menu-link/header-inera-admin-nav-item-menu-link.component.mjs +18 -0
  495. package/esm2022/components/header-inera-admin/nav-item-mobile/header-inera-admin-nav-item-mobile.mjs +36 -0
  496. package/esm2022/components/header-inera-admin/public-api.mjs +6 -1
  497. package/esm2022/components/header-inera-admin/skip-to-content/header-inera-admin-skip-to-content.component.mjs +18 -0
  498. package/esm2022/components/header-patient/header-patient-actions.component.mjs +22 -0
  499. package/esm2022/components/header-patient/header-patient.component.mjs +64 -13
  500. package/esm2022/components/header-patient/public-api.mjs +2 -2
  501. package/esm2022/components/link/link.directive.mjs +64 -0
  502. package/esm2022/components/link/public-api.mjs +2 -3
  503. package/esm2022/components/mobile/menu/item/mobile-menu-item.component.mjs +74 -8
  504. package/esm2022/components/mobile/menu/item/public-api.mjs +1 -2
  505. package/esm2022/components/mobile/menu/mobile-menu.component.mjs +32 -8
  506. package/esm2022/components/mobile/menu/public-api.mjs +1 -2
  507. package/esm2022/components/navigation/content/navigation-content-link.component.mjs +29 -0
  508. package/esm2022/components/navigation/content/navigation-content.component.mjs +15 -9
  509. package/esm2022/components/navigation/content/public-api.mjs +2 -2
  510. package/esm2022/components/navigation/local/navigation-local-link.component.mjs +27 -0
  511. package/esm2022/components/navigation/local/navigation-local.component.mjs +13 -7
  512. package/esm2022/components/navigation/local/public-api.mjs +2 -2
  513. package/esm2022/components/notification-badge/inera-ids-angular-components-notification-badge.mjs +5 -0
  514. package/esm2022/components/notification-badge/notification-badge.component.mjs +39 -0
  515. package/esm2022/components/notification-badge/public-api.mjs +2 -0
  516. package/esm2022/components/pagination/data-pagination/data-pagination-select.component.mjs +20 -0
  517. package/esm2022/components/pagination/data-pagination/data-pagination.component.mjs +61 -13
  518. package/esm2022/components/pagination/data-pagination/public-api.mjs +2 -2
  519. package/esm2022/components/pagination/list-pagination/list-pagination.component.mjs +168 -34
  520. package/esm2022/components/pagination/list-pagination/public-api.mjs +1 -2
  521. package/esm2022/components/popover/popover-close.component.mjs +24 -0
  522. package/esm2022/components/popover/popover-content.component.mjs +91 -0
  523. package/esm2022/components/popover/popover-header.component.mjs +18 -0
  524. package/esm2022/components/popover/popover-trigger.component.mjs +15 -0
  525. package/esm2022/components/popover/popover.component.mjs +139 -23
  526. package/esm2022/components/popover/popover.module.mjs +27 -9
  527. package/esm2022/components/popover/public-api.mjs +6 -2
  528. package/esm2022/components/progressbar/progressbar.component.mjs +11 -11
  529. package/esm2022/components/progressbar/public-api.mjs +1 -2
  530. package/esm2022/components/puff-list/public-api.mjs +8 -5
  531. package/esm2022/components/puff-list/puff-list-item-content-info.component.mjs +18 -0
  532. package/esm2022/components/puff-list/puff-list-item-content.component.mjs +15 -0
  533. package/esm2022/components/puff-list/puff-list-item-date-label.component.mjs +18 -0
  534. package/esm2022/components/puff-list/puff-list-item-extra-content.component.mjs +18 -0
  535. package/esm2022/components/puff-list/puff-list-item-header.component.mjs +18 -0
  536. package/esm2022/components/puff-list/puff-list-item.component.mjs +161 -0
  537. package/esm2022/components/puff-list/puff-list.component.mjs +33 -5
  538. package/esm2022/components/puff-list/puff-list.module.mjs +32 -18
  539. package/esm2022/components/region-icon/public-api.mjs +1 -2
  540. package/esm2022/components/region-icon/region-icon.component.mjs +31 -10
  541. package/esm2022/components/side-menu/public-api.mjs +4 -2
  542. package/esm2022/components/side-menu/side-menu-icon.component.mjs +24 -0
  543. package/esm2022/components/side-menu/side-menu-link.component.mjs +18 -0
  544. package/esm2022/components/side-menu/side-menu.component.mjs +190 -17
  545. package/esm2022/components/side-menu/side-menu.module.mjs +19 -7
  546. package/esm2022/components/side-panel/public-api.mjs +4 -2
  547. package/esm2022/components/side-panel/side-panel-footer.component.mjs +50 -0
  548. package/esm2022/components/side-panel/side-panel-provider.component.mjs +73 -0
  549. package/esm2022/components/side-panel/side-panel.component.mjs +176 -29
  550. package/esm2022/components/side-panel/side-panel.module.mjs +21 -8
  551. package/esm2022/components/stepper/public-api.mjs +4 -3
  552. package/esm2022/components/stepper/step-header.component.mjs +18 -0
  553. package/esm2022/components/stepper/step.component.mjs +133 -0
  554. package/esm2022/components/stepper/stepper.component.mjs +22 -9
  555. package/esm2022/components/stepper/stepper.module.mjs +14 -11
  556. package/esm2022/components/tabs/public-api.mjs +3 -5
  557. package/esm2022/components/tabs/tab-group.component.mjs +51 -0
  558. package/esm2022/components/tabs/tab.component.mjs +41 -0
  559. package/esm2022/components/tag/public-api.mjs +2 -2
  560. package/esm2022/components/tag/tag.component.mjs +13 -14
  561. package/esm2022/components/tag/tag.directive.mjs +17 -0
  562. package/esm2022/components/tooltip/public-api.mjs +2 -1
  563. package/esm2022/components/tooltip/tooltip-trigger.directive.mjs +18 -0
  564. package/esm2022/components/tooltip/tooltip.component.mjs +75 -9
  565. package/esm2022/components/tooltip/tooltip.module.mjs +12 -9
  566. package/fesm2022/inera-ids-angular-common.mjs +225 -30
  567. package/fesm2022/inera-ids-angular-common.mjs.map +1 -1
  568. package/fesm2022/inera-ids-angular-components-accordion.mjs +100 -40
  569. package/fesm2022/inera-ids-angular-components-accordion.mjs.map +1 -1
  570. package/fesm2022/inera-ids-angular-components-action-link.mjs +23 -18
  571. package/fesm2022/inera-ids-angular-components-action-link.mjs.map +1 -1
  572. package/fesm2022/inera-ids-angular-components-alert.mjs +115 -54
  573. package/fesm2022/inera-ids-angular-components-alert.mjs.map +1 -1
  574. package/fesm2022/inera-ids-angular-components-badge.mjs +13 -25
  575. package/fesm2022/inera-ids-angular-components-badge.mjs.map +1 -1
  576. package/fesm2022/inera-ids-angular-components-box-link.mjs +36 -21
  577. package/fesm2022/inera-ids-angular-components-box-link.mjs.map +1 -1
  578. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs +23 -42
  579. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs.map +1 -1
  580. package/fesm2022/inera-ids-angular-components-button-group.mjs +22 -25
  581. package/fesm2022/inera-ids-angular-components-button-group.mjs.map +1 -1
  582. package/fesm2022/inera-ids-angular-components-button.mjs +122 -71
  583. package/fesm2022/inera-ids-angular-components-button.mjs.map +1 -1
  584. package/fesm2022/inera-ids-angular-components-card.mjs +45 -34
  585. package/fesm2022/inera-ids-angular-components-card.mjs.map +1 -1
  586. package/fesm2022/inera-ids-angular-components-carousel.mjs +80 -39
  587. package/fesm2022/inera-ids-angular-components-carousel.mjs.map +1 -1
  588. package/fesm2022/inera-ids-angular-components-date-label.mjs +105 -44
  589. package/fesm2022/inera-ids-angular-components-date-label.mjs.map +1 -1
  590. package/fesm2022/inera-ids-angular-components-dialog.mjs +204 -42
  591. package/fesm2022/inera-ids-angular-components-dialog.mjs.map +1 -1
  592. package/fesm2022/inera-ids-angular-components-dropdown.mjs +137 -60
  593. package/fesm2022/inera-ids-angular-components-dropdown.mjs.map +1 -1
  594. package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs +180 -14
  595. package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs.map +1 -1
  596. package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs +180 -14
  597. package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs.map +1 -1
  598. package/fesm2022/inera-ids-angular-components-footer-1177.mjs +181 -16
  599. package/fesm2022/inera-ids-angular-components-footer-1177.mjs.map +1 -1
  600. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs +184 -14
  601. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs.map +1 -1
  602. package/fesm2022/inera-ids-angular-components-footer-inera.mjs +180 -14
  603. package/fesm2022/inera-ids-angular-components-footer-inera.mjs.map +1 -1
  604. package/fesm2022/inera-ids-angular-components-form-check-button.mjs +10 -22
  605. package/fesm2022/inera-ids-angular-components-form-check-button.mjs.map +1 -1
  606. package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs +34 -38
  607. package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs.map +1 -1
  608. package/fesm2022/inera-ids-angular-components-form-checkbox.mjs +38 -37
  609. package/fesm2022/inera-ids-angular-components-form-checkbox.mjs.map +1 -1
  610. package/fesm2022/inera-ids-angular-components-form-darkmode-toggle.mjs +19 -0
  611. package/fesm2022/inera-ids-angular-components-form-darkmode-toggle.mjs.map +1 -0
  612. package/fesm2022/inera-ids-angular-components-form-error-message.mjs +38 -32
  613. package/fesm2022/inera-ids-angular-components-form-error-message.mjs.map +1 -1
  614. package/fesm2022/inera-ids-angular-components-form-input.mjs +66 -30
  615. package/fesm2022/inera-ids-angular-components-form-input.mjs.map +1 -1
  616. package/fesm2022/inera-ids-angular-components-form-radio-button.mjs +46 -27
  617. package/fesm2022/inera-ids-angular-components-form-radio-button.mjs.map +1 -1
  618. package/fesm2022/inera-ids-angular-components-form-radio.mjs +65 -55
  619. package/fesm2022/inera-ids-angular-components-form-radio.mjs.map +1 -1
  620. package/fesm2022/inera-ids-angular-components-form-range.mjs +64 -26
  621. package/fesm2022/inera-ids-angular-components-form-range.mjs.map +1 -1
  622. package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs +86 -46
  623. package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs.map +1 -1
  624. package/fesm2022/inera-ids-angular-components-form-select.mjs +8 -23
  625. package/fesm2022/inera-ids-angular-components-form-select.mjs.map +1 -1
  626. package/fesm2022/inera-ids-angular-components-form-spinner.mjs +15 -30
  627. package/fesm2022/inera-ids-angular-components-form-spinner.mjs.map +1 -1
  628. package/fesm2022/inera-ids-angular-components-form-textarea.mjs +56 -29
  629. package/fesm2022/inera-ids-angular-components-form-textarea.mjs.map +1 -1
  630. package/fesm2022/inera-ids-angular-components-form-time.mjs +7 -23
  631. package/fesm2022/inera-ids-angular-components-form-time.mjs.map +1 -1
  632. package/fesm2022/inera-ids-angular-components-form-toggle.mjs +6 -23
  633. package/fesm2022/inera-ids-angular-components-form-toggle.mjs.map +1 -1
  634. package/fesm2022/inera-ids-angular-components-global-alert.mjs +118 -39
  635. package/fesm2022/inera-ids-angular-components-global-alert.mjs.map +1 -1
  636. package/fesm2022/inera-ids-angular-components-grid-column.mjs +41 -42
  637. package/fesm2022/inera-ids-angular-components-grid-column.mjs.map +1 -1
  638. package/fesm2022/inera-ids-angular-components-grid-container.mjs +18 -28
  639. package/fesm2022/inera-ids-angular-components-grid-container.mjs.map +1 -1
  640. package/fesm2022/inera-ids-angular-components-grid-layout-grid-column.mjs +79 -0
  641. package/fesm2022/inera-ids-angular-components-grid-layout-grid-column.mjs.map +1 -0
  642. package/fesm2022/inera-ids-angular-components-grid-layout-grid-container.mjs +42 -0
  643. package/fesm2022/inera-ids-angular-components-grid-layout-grid-container.mjs.map +1 -0
  644. package/fesm2022/inera-ids-angular-components-grid-layout-grid-row.mjs +50 -0
  645. package/fesm2022/inera-ids-angular-components-grid-layout-grid-row.mjs.map +1 -0
  646. package/fesm2022/inera-ids-angular-components-grid-layout.mjs +153 -0
  647. package/fesm2022/inera-ids-angular-components-grid-layout.mjs.map +1 -0
  648. package/fesm2022/inera-ids-angular-components-grid-row.mjs +31 -38
  649. package/fesm2022/inera-ids-angular-components-grid-row.mjs.map +1 -1
  650. package/fesm2022/inera-ids-angular-components-grid.mjs +86 -104
  651. package/fesm2022/inera-ids-angular-components-grid.mjs.map +1 -1
  652. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs +673 -159
  653. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs.map +1 -1
  654. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs +803 -197
  655. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs.map +1 -1
  656. package/fesm2022/inera-ids-angular-components-header-1177.mjs +711 -181
  657. package/fesm2022/inera-ids-angular-components-header-1177.mjs.map +1 -1
  658. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs +672 -140
  659. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs.map +1 -1
  660. package/fesm2022/inera-ids-angular-components-header-inera.mjs +388 -117
  661. package/fesm2022/inera-ids-angular-components-header-inera.mjs.map +1 -1
  662. package/fesm2022/inera-ids-angular-components-header-patient.mjs +79 -27
  663. package/fesm2022/inera-ids-angular-components-header-patient.mjs.map +1 -1
  664. package/fesm2022/inera-ids-angular-components-link.mjs +49 -48
  665. package/fesm2022/inera-ids-angular-components-link.mjs.map +1 -1
  666. package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs +74 -25
  667. package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs.map +1 -1
  668. package/fesm2022/inera-ids-angular-components-mobile-menu.mjs +107 -36
  669. package/fesm2022/inera-ids-angular-components-mobile-menu.mjs.map +1 -1
  670. package/fesm2022/inera-ids-angular-components-navigation-content.mjs +41 -28
  671. package/fesm2022/inera-ids-angular-components-navigation-content.mjs.map +1 -1
  672. package/fesm2022/inera-ids-angular-components-navigation-local.mjs +37 -22
  673. package/fesm2022/inera-ids-angular-components-navigation-local.mjs.map +1 -1
  674. package/fesm2022/inera-ids-angular-components-notification-badge.mjs +30 -25
  675. package/fesm2022/inera-ids-angular-components-notification-badge.mjs.map +1 -1
  676. package/fesm2022/inera-ids-angular-components-pagination-data-pagination.mjs +73 -23
  677. package/fesm2022/inera-ids-angular-components-pagination-data-pagination.mjs.map +1 -1
  678. package/fesm2022/inera-ids-angular-components-pagination-list-pagination.mjs +168 -49
  679. package/fesm2022/inera-ids-angular-components-pagination-list-pagination.mjs.map +1 -1
  680. package/fesm2022/inera-ids-angular-components-popover.mjs +297 -29
  681. package/fesm2022/inera-ids-angular-components-popover.mjs.map +1 -1
  682. package/fesm2022/inera-ids-angular-components-progressbar.mjs +11 -30
  683. package/fesm2022/inera-ids-angular-components-progressbar.mjs.map +1 -1
  684. package/fesm2022/inera-ids-angular-components-puff-list.mjs +277 -89
  685. package/fesm2022/inera-ids-angular-components-puff-list.mjs.map +1 -1
  686. package/fesm2022/inera-ids-angular-components-region-icon.mjs +31 -25
  687. package/fesm2022/inera-ids-angular-components-region-icon.mjs.map +1 -1
  688. package/fesm2022/inera-ids-angular-components-side-menu.mjs +243 -22
  689. package/fesm2022/inera-ids-angular-components-side-menu.mjs.map +1 -1
  690. package/fesm2022/inera-ids-angular-components-side-panel.mjs +310 -35
  691. package/fesm2022/inera-ids-angular-components-side-panel.mjs.map +1 -1
  692. package/fesm2022/inera-ids-angular-components-stepper.mjs +151 -40
  693. package/fesm2022/inera-ids-angular-components-stepper.mjs.map +1 -1
  694. package/fesm2022/inera-ids-angular-components-tabs.mjs +66 -97
  695. package/fesm2022/inera-ids-angular-components-tabs.mjs.map +1 -1
  696. package/fesm2022/inera-ids-angular-components-tag.mjs +23 -28
  697. package/fesm2022/inera-ids-angular-components-tag.mjs.map +1 -1
  698. package/fesm2022/inera-ids-angular-components-tooltip.mjs +98 -15
  699. package/fesm2022/inera-ids-angular-components-tooltip.mjs.map +1 -1
  700. package/package.json +105 -70
  701. package/components/accordion/accordion.module.d.ts +0 -8
  702. package/components/action-link/action-link.module.d.ts +0 -8
  703. package/components/alert/alert.module.d.ts +0 -9
  704. package/components/badge/badge.module.d.ts +0 -8
  705. package/components/box-link/box-link.module.d.ts +0 -8
  706. package/components/breadcrumbs/breadcrumbs.module.d.ts +0 -10
  707. package/components/button/button.component.d.ts +0 -25
  708. package/components/button/button.module.d.ts +0 -9
  709. package/components/button-group/button-group.module.d.ts +0 -8
  710. package/components/card/card.module.d.ts +0 -8
  711. package/components/carousel/carousel.module.d.ts +0 -9
  712. package/components/date-label/date-label.module.d.ts +0 -8
  713. package/components/dialog/dialog.module.d.ts +0 -8
  714. package/components/dropdown/dropdown-content.component.d.ts +0 -9
  715. package/components/form/check-button/check-button.module.d.ts +0 -8
  716. package/components/form/checkbox/checkbox.module.d.ts +0 -8
  717. package/components/form/checkbox-group/checkbox-group.module.d.ts +0 -10
  718. package/components/form/error-message/error-message.module.d.ts +0 -8
  719. package/components/form/input/input.module.d.ts +0 -9
  720. package/components/form/radio/radio.module.d.ts +0 -10
  721. package/components/form/radio-button/radio-button.module.d.ts +0 -10
  722. package/components/form/range/range.module.d.ts +0 -8
  723. package/components/form/select/select.module.d.ts +0 -8
  724. package/components/form/select-multiple/select-multiple.module.d.ts +0 -9
  725. package/components/form/spinner/spinner.module.d.ts +0 -8
  726. package/components/form/textarea/textarea.module.d.ts +0 -9
  727. package/components/form/time/time.module.d.ts +0 -8
  728. package/components/form/toggle/toggle.module.d.ts +0 -8
  729. package/components/global-alert/global-alert.module.d.ts +0 -9
  730. package/components/grid/column/column.module.d.ts +0 -8
  731. package/components/grid/container/container.module.d.ts +0 -8
  732. package/components/grid/row/row.module.d.ts +0 -8
  733. package/components/header-inera/nav/header-inera-nav-item.component.d.ts +0 -11
  734. package/components/header-patient/header-patient.module.d.ts +0 -8
  735. package/components/link/link.component.d.ts +0 -15
  736. package/components/link/link.module.d.ts +0 -9
  737. package/components/mobile/menu/item/mobile-menu-item.module.d.ts +0 -9
  738. package/components/mobile/menu/mobile-menu.module.d.ts +0 -10
  739. package/components/navigation/content/navigation-content.module.d.ts +0 -8
  740. package/components/navigation/local/navigation-local.module.d.ts +0 -8
  741. package/components/notification/badge/notification-badge.module.d.ts +0 -8
  742. package/components/pagination/data-pagination/data-pagination.module.d.ts +0 -8
  743. package/components/pagination/list-pagination/list-pagination.module.d.ts +0 -8
  744. package/components/progressbar/progressbar.module.d.ts +0 -8
  745. package/components/puff-list/puff-item/puff-info/puff-list-item-info.component.d.ts +0 -7
  746. package/components/puff-list/puff-item/puff-list-item.component.d.ts +0 -22
  747. package/components/region-icon/region-icon.module.d.ts +0 -8
  748. package/components/stepper/step/step.component.d.ts +0 -19
  749. package/components/tabs/panel/tab-panel.component.d.ts +0 -9
  750. package/components/tabs/tab/tab.component.d.ts +0 -11
  751. package/components/tabs/tabs.component.d.ts +0 -20
  752. package/components/tabs/tabs.module.d.ts +0 -11
  753. package/components/tag/tag.module.d.ts +0 -8
  754. package/esm2022/components/accordion/accordion.module.mjs +0 -18
  755. package/esm2022/components/action-link/action-link.module.mjs +0 -18
  756. package/esm2022/components/alert/alert.module.mjs +0 -24
  757. package/esm2022/components/badge/badge.module.mjs +0 -22
  758. package/esm2022/components/box-link/box-link.module.mjs +0 -18
  759. package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +0 -31
  760. package/esm2022/components/button/button.component.mjs +0 -68
  761. package/esm2022/components/button/button.module.mjs +0 -24
  762. package/esm2022/components/button-group/button-group.module.mjs +0 -22
  763. package/esm2022/components/card/card.module.mjs +0 -22
  764. package/esm2022/components/carousel/carousel.module.mjs +0 -27
  765. package/esm2022/components/date-label/date-label.module.mjs +0 -22
  766. package/esm2022/components/dialog/dialog.module.mjs +0 -22
  767. package/esm2022/components/dropdown/dropdown-content.component.mjs +0 -29
  768. package/esm2022/components/form/check-button/check-button.module.mjs +0 -18
  769. package/esm2022/components/form/checkbox/checkbox.module.mjs +0 -22
  770. package/esm2022/components/form/checkbox-group/checkbox-group.module.mjs +0 -25
  771. package/esm2022/components/form/error-message/error-message.module.mjs +0 -22
  772. package/esm2022/components/form/input/input.module.mjs +0 -24
  773. package/esm2022/components/form/radio/radio.module.mjs +0 -31
  774. package/esm2022/components/form/radio-button/radio-button.module.mjs +0 -21
  775. package/esm2022/components/form/range/range.module.mjs +0 -22
  776. package/esm2022/components/form/select/select.module.mjs +0 -22
  777. package/esm2022/components/form/select-multiple/select-multiple.module.mjs +0 -26
  778. package/esm2022/components/form/spinner/spinner.module.mjs +0 -22
  779. package/esm2022/components/form/textarea/textarea.module.mjs +0 -24
  780. package/esm2022/components/form/time/time.module.mjs +0 -22
  781. package/esm2022/components/form/toggle/toggle.module.mjs +0 -22
  782. package/esm2022/components/global-alert/global-alert.module.mjs +0 -20
  783. package/esm2022/components/grid/column/column.module.mjs +0 -22
  784. package/esm2022/components/grid/container/container.module.mjs +0 -22
  785. package/esm2022/components/grid/row/row.module.mjs +0 -22
  786. package/esm2022/components/header-inera/nav/header-inera-nav-item.component.mjs +0 -27
  787. package/esm2022/components/header-patient/header-patient.module.mjs +0 -22
  788. package/esm2022/components/link/link.component.mjs +0 -42
  789. package/esm2022/components/link/link.module.mjs +0 -24
  790. package/esm2022/components/mobile/menu/item/mobile-menu-item.module.mjs +0 -20
  791. package/esm2022/components/mobile/menu/mobile-menu.module.mjs +0 -21
  792. package/esm2022/components/navigation/content/navigation-content.module.mjs +0 -22
  793. package/esm2022/components/navigation/local/navigation-local.module.mjs +0 -18
  794. package/esm2022/components/notification/badge/inera-ids-angular-components-notification-badge.mjs +0 -5
  795. package/esm2022/components/notification/badge/notification-badge.component.mjs +0 -15
  796. package/esm2022/components/notification/badge/notification-badge.module.mjs +0 -22
  797. package/esm2022/components/notification/badge/public-api.mjs +0 -3
  798. package/esm2022/components/pagination/data-pagination/data-pagination.module.mjs +0 -18
  799. package/esm2022/components/pagination/list-pagination/list-pagination.module.mjs +0 -18
  800. package/esm2022/components/progressbar/progressbar.module.mjs +0 -22
  801. package/esm2022/components/puff-list/puff-item/puff-header/puff-list-item-header.component.mjs +0 -15
  802. package/esm2022/components/puff-list/puff-item/puff-info/puff-list-item-info.component.mjs +0 -15
  803. package/esm2022/components/puff-list/puff-item/puff-list-item.component.mjs +0 -60
  804. package/esm2022/components/region-icon/region-icon.module.mjs +0 -18
  805. package/esm2022/components/stepper/step/step.component.mjs +0 -52
  806. package/esm2022/components/tabs/panel/tab-panel.component.mjs +0 -21
  807. package/esm2022/components/tabs/tab/tab.component.mjs +0 -26
  808. package/esm2022/components/tabs/tabs.component.mjs +0 -50
  809. package/esm2022/components/tabs/tabs.module.mjs +0 -34
  810. package/esm2022/components/tag/tag.module.mjs +0 -22
@@ -1,78 +1,240 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Output, Input, ViewEncapsulation, Component, CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
3
- import '@inera/ids-core/components/dialog/register';
2
+ import { Component, EventEmitter, HostListener, Output, inject, DestroyRef, booleanAttribute, ViewChild, ContentChildren, Input, ContentChild } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import * as i1 from '@angular/common';
5
+ import { CommonModule } from '@angular/common';
6
+ import { IDUseIdService, IDClickOutsideDirective } from '@inera/ids-angular/common';
7
+ import { FocusTrapFactory, A11yModule } from '@angular/cdk/a11y';
8
+
9
+ class IDDialogTriggerComponent {
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDDialogTriggerComponent, isStandalone: true, selector: "id-dialog-trigger", ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogTriggerComponent, decorators: [{
14
+ type: Component,
15
+ args: [{
16
+ selector: 'id-dialog-trigger',
17
+ template: '<ng-content></ng-content>',
18
+ standalone: true
19
+ }]
20
+ }] });
21
+
22
+ class IDDialogCloseComponent {
23
+ closed = new EventEmitter();
24
+ onClick = (e) => {
25
+ this.closed.emit(e);
26
+ };
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogCloseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDDialogCloseComponent, isStandalone: true, selector: "id-dialog-close", outputs: { closed: "closed" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogCloseComponent, decorators: [{
31
+ type: Component,
32
+ args: [{
33
+ selector: 'id-dialog-close',
34
+ standalone: true,
35
+ template: `<ng-content></ng-content>`,
36
+ }]
37
+ }], propDecorators: { closed: [{
38
+ type: Output
39
+ }], onClick: [{
40
+ type: HostListener,
41
+ args: ['click']
42
+ }] } });
4
43
 
5
44
  class IDDialogComponent {
6
- constructor() { }
45
+ onEsc(event) {
46
+ if (this.show && !this.persistent) {
47
+ this.hideDialog(event);
48
+ }
49
+ }
50
+ trigger;
7
51
  dismissible = false;
8
- srclosetext = '';
9
- nofocustrap = false;
10
- keepscrollbar = false;
11
- nooverlay = false;
52
+ srCloseText = '';
53
+ noFocusTrap = false;
54
+ keepScrollbar = false;
55
+ noOverlay = false;
12
56
  persistent = false;
13
57
  show = false;
14
58
  width = '';
15
- maxwidth = '';
16
- onClosed = new EventEmitter();
17
- onOpened = new EventEmitter();
59
+ maxWidth = '';
60
+ closed = new EventEmitter();
61
+ opened = new EventEmitter();
18
62
  showChange = new EventEmitter();
63
+ closeComponents;
64
+ idService = inject(IDUseIdService);
65
+ destroyRef = inject(DestroyRef);
66
+ contentId = this.idService.generateId('dialog-content');
67
+ headingId = this.idService.generateId('dialog-heading');
68
+ ngAfterContentInit() {
69
+ this.closeComponents.forEach((closeComponent) => {
70
+ closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
71
+ this.hideDialog(event);
72
+ });
73
+ });
74
+ }
75
+ /* Focus trap */
76
+ dialogContent;
77
+ focusTrap;
78
+ focusTrapFactory = inject(FocusTrapFactory);
79
+ get focusableElements() {
80
+ return Array.from(this.dialogContent.nativeElement.querySelectorAll('button, [href], input, select, textarea, [tabindex]'));
81
+ }
82
+ createFocusTrap() {
83
+ if (this.noFocusTrap || this.focusTrap)
84
+ return;
85
+ queueMicrotask(() => {
86
+ this.focusTrap = this.focusTrapFactory.create(this.dialogContent.nativeElement);
87
+ this.focusTrap.focusInitialElement();
88
+ });
89
+ }
90
+ destroyFocusTrap() {
91
+ if (!this.focusTrap)
92
+ return;
93
+ const firstFocusable = this.focusableElements[0];
94
+ firstFocusable?.removeEventListener('keydown', this.handleBackTab);
95
+ this.focusTrap.destroy();
96
+ this.focusTrap = undefined;
97
+ }
98
+ handleBackTab = (e) => {
99
+ if (e.key !== 'Tab')
100
+ return;
101
+ if (e.target !== this.focusableElements[0])
102
+ return;
103
+ if (e.shiftKey) {
104
+ e.preventDefault();
105
+ this.focusableElements[this.focusableElements.length - 1].focus();
106
+ }
107
+ };
108
+ resetFocusTrap = () => {
109
+ this.focusableElements[0].removeEventListener('keydown', this.handleBackTab);
110
+ };
111
+ /* */
112
+ toggleDialog(event) {
113
+ if (this.show) {
114
+ this.hideDialog(event);
115
+ }
116
+ else {
117
+ this.showDialog(event);
118
+ }
119
+ }
120
+ overlayClicked(event) {
121
+ if (!this.persistent) {
122
+ this.hideDialog(event);
123
+ }
124
+ }
125
+ showDialog(event) {
126
+ if (!this.noOverlay) {
127
+ document.body.classList.add('ids-hide-overflow');
128
+ }
129
+ this.hasOpened(event);
130
+ this.createFocusTrap();
131
+ }
132
+ hideDialog(event) {
133
+ if (!this.noOverlay) {
134
+ document.body.classList.remove('ids-hide-overflow');
135
+ }
136
+ this.resetFocusTrap();
137
+ this.hasClosed(event);
138
+ }
19
139
  hasClosed(event) {
20
140
  this.show = false;
21
- this.onClosed.emit(event);
141
+ this.closed.emit(event);
22
142
  this.showChange.emit(this.show);
23
143
  }
24
144
  hasOpened(event) {
25
145
  this.show = true;
26
- this.onOpened.emit(event);
146
+ this.opened.emit(event);
27
147
  this.showChange.emit(this.show);
28
148
  }
29
149
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDDialogComponent, selector: "id-dialog", inputs: { dismissible: "dismissible", srclosetext: "srclosetext", nofocustrap: "nofocustrap", keepscrollbar: "keepscrollbar", nooverlay: "nooverlay", persistent: "persistent", show: "show", width: "width", maxwidth: "maxwidth" }, outputs: { onClosed: "onClosed", onOpened: "onOpened", showChange: "showChange" }, ngImport: i0, template: "<ids-dialog \n [attr.dismissible]=\"dismissible ? true : null\"\n [attr.nooverlay]=\"nooverlay ? true : null\"\n [attr.nofocustrap]=\"nofocustrap ? true : null\"\n [attr.persistent]=\"persistent ? true : null\"\n [attr.keepscrollbar]=\"keepscrollbar ? true : null\"\n [attr.show]=\"show ? 'true' : 'false'\"\n [width]=\"width\"\n [maxwidth]=\"maxwidth\"\n nofocustrap=\"nofocustrap\"\n [srclosetext]=\"srclosetext\"\n (closed)=\"hasClosed($event)\"\n (opened)=\"hasOpened($event)\">\n <ng-content></ng-content>\n</ids-dialog>", encapsulation: i0.ViewEncapsulation.None });
150
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: IDDialogComponent, isStandalone: true, selector: "id-dialog", inputs: { dismissible: ["dismissible", "dismissible", booleanAttribute], srCloseText: "srCloseText", noFocusTrap: ["noFocusTrap", "noFocusTrap", booleanAttribute], keepScrollbar: ["keepScrollbar", "keepScrollbar", booleanAttribute], noOverlay: ["noOverlay", "noOverlay", booleanAttribute], persistent: ["persistent", "persistent", booleanAttribute], show: ["show", "show", booleanAttribute], width: "width", maxWidth: "maxWidth" }, outputs: { closed: "closed", opened: "opened", showChange: "showChange" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, queries: [{ propertyName: "trigger", first: true, predicate: IDDialogTriggerComponent, descendants: true }, { propertyName: "closeComponents", predicate: IDDialogCloseComponent, descendants: true }], viewQueries: [{ propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if(trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\">\n</div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\">\n <div #dialogContent style=\"display: contents\">\n @if(dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\">\n </button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\">\n <div \n tabindex=\"-1\" \n cdkFocusInitial \n [attr.id]=\"headingId\" \n class=\"ids-dialog__body-headline\">\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\" \n class=\"ids-dialog__body-content\">\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
31
151
  }
32
152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogComponent, decorators: [{
33
153
  type: Component,
34
- args: [{ selector: 'id-dialog', encapsulation: ViewEncapsulation.None, template: "<ids-dialog \n [attr.dismissible]=\"dismissible ? true : null\"\n [attr.nooverlay]=\"nooverlay ? true : null\"\n [attr.nofocustrap]=\"nofocustrap ? true : null\"\n [attr.persistent]=\"persistent ? true : null\"\n [attr.keepscrollbar]=\"keepscrollbar ? true : null\"\n [attr.show]=\"show ? 'true' : 'false'\"\n [width]=\"width\"\n [maxwidth]=\"maxwidth\"\n nofocustrap=\"nofocustrap\"\n [srclosetext]=\"srclosetext\"\n (closed)=\"hasClosed($event)\"\n (opened)=\"hasOpened($event)\">\n <ng-content></ng-content>\n</ids-dialog>" }]
35
- }], ctorParameters: () => [], propDecorators: { dismissible: [{
36
- type: Input
37
- }], srclosetext: [{
38
- type: Input
39
- }], nofocustrap: [{
40
- type: Input
41
- }], keepscrollbar: [{
42
- type: Input
43
- }], nooverlay: [{
154
+ args: [{ selector: 'id-dialog', standalone: true, imports: [CommonModule, A11yModule, IDClickOutsideDirective], template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if(trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\">\n</div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\">\n <div #dialogContent style=\"display: contents\">\n @if(dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\">\n </button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\">\n <div \n tabindex=\"-1\" \n cdkFocusInitial \n [attr.id]=\"headingId\" \n class=\"ids-dialog__body-headline\">\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\" \n class=\"ids-dialog__body-content\">\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>" }]
155
+ }], propDecorators: { onEsc: [{
156
+ type: HostListener,
157
+ args: ['document:keydown.escape', ['$event']]
158
+ }], trigger: [{
159
+ type: ContentChild,
160
+ args: [IDDialogTriggerComponent]
161
+ }], dismissible: [{
162
+ type: Input,
163
+ args: [{ transform: booleanAttribute }]
164
+ }], srCloseText: [{
44
165
  type: Input
166
+ }], noFocusTrap: [{
167
+ type: Input,
168
+ args: [{ transform: booleanAttribute }]
169
+ }], keepScrollbar: [{
170
+ type: Input,
171
+ args: [{ transform: booleanAttribute }]
172
+ }], noOverlay: [{
173
+ type: Input,
174
+ args: [{ transform: booleanAttribute }]
45
175
  }], persistent: [{
46
- type: Input
176
+ type: Input,
177
+ args: [{ transform: booleanAttribute }]
47
178
  }], show: [{
48
- type: Input
179
+ type: Input,
180
+ args: [{ transform: booleanAttribute }]
49
181
  }], width: [{
50
182
  type: Input
51
- }], maxwidth: [{
183
+ }], maxWidth: [{
52
184
  type: Input
53
- }], onClosed: [{
185
+ }], closed: [{
54
186
  type: Output
55
- }], onOpened: [{
187
+ }], opened: [{
56
188
  type: Output
57
189
  }], showChange: [{
58
190
  type: Output
191
+ }], closeComponents: [{
192
+ type: ContentChildren,
193
+ args: [IDDialogCloseComponent, { descendants: true }]
194
+ }], dialogContent: [{
195
+ type: ViewChild,
196
+ args: ['dialogContent', { static: true }]
59
197
  }] } });
60
198
 
61
- class IDDialogModule {
62
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
63
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: IDDialogModule, declarations: [IDDialogComponent], exports: [IDDialogComponent] });
64
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogModule });
199
+ class IDDialogHeaderComponent {
200
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
201
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDDialogHeaderComponent, isStandalone: true, selector: "id-dialog-header", ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
202
+ }
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogHeaderComponent, decorators: [{
204
+ type: Component,
205
+ args: [{
206
+ selector: 'id-dialog-header',
207
+ template: '<ng-content></ng-content>',
208
+ standalone: true,
209
+ }]
210
+ }] });
211
+
212
+ class IDDialogContentComponent {
213
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
214
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDDialogContentComponent, isStandalone: true, selector: "id-dialog-content", ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
215
+ }
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogContentComponent, decorators: [{
217
+ type: Component,
218
+ args: [{
219
+ selector: 'id-dialog-content',
220
+ template: '<ng-content></ng-content>',
221
+ standalone: true
222
+ }]
223
+ }] });
224
+
225
+ class IDDialogFooterComponent {
226
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
227
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDDialogFooterComponent, isStandalone: true, selector: "id-dialog-footer", host: { classAttribute: "ids-dialog__footer" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
65
228
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogModule, decorators: [{
67
- type: NgModule,
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDialogFooterComponent, decorators: [{
230
+ type: Component,
68
231
  args: [{
69
- declarations: [
70
- IDDialogComponent
71
- ],
72
- exports: [
73
- IDDialogComponent
74
- ],
75
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
232
+ selector: 'id-dialog-footer',
233
+ template: '<ng-content></ng-content>',
234
+ standalone: true,
235
+ host: {
236
+ class: 'ids-dialog__footer'
237
+ }
76
238
  }]
77
239
  }] });
78
240
 
@@ -80,5 +242,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
80
242
  * Generated bundle index. Do not edit.
81
243
  */
82
244
 
83
- export { IDDialogComponent, IDDialogModule };
245
+ export { IDDialogCloseComponent, IDDialogComponent, IDDialogContentComponent, IDDialogFooterComponent, IDDialogHeaderComponent, IDDialogTriggerComponent };
84
246
  //# sourceMappingURL=inera-ids-angular-components-dialog.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-dialog.mjs","sources":["../../../projects/ids-angular/components/dialog/dialog.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.html","../../../projects/ids-angular/components/dialog/dialog.module.ts","../../../projects/ids-angular/components/dialog/inera-ids-angular-components-dialog.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-dialog',\n templateUrl: './dialog.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class IDDialogComponent {\n\n constructor() { }\n\n @Input()\n dismissible: boolean = false;\n\n @Input()\n srclosetext: string = '';\n\n @Input()\n nofocustrap: boolean = false;\n\n @Input()\n keepscrollbar: boolean = false;\n\n @Input()\n nooverlay: boolean = false;\n\n @Input()\n persistent: boolean = false;\n\n @Input()\n show: boolean = false;\n\n @Input()\n width: string = '';\n\n @Input()\n maxwidth: string = '';\n\n @Output()\n onClosed: EventEmitter<Event> = new EventEmitter();\n\n @Output()\n onOpened: EventEmitter<Event> = new EventEmitter();\n\n @Output()\n showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n hasClosed (event: Event) {\n this.show = false;\n this.onClosed.emit(event)\n this.showChange.emit(this.show);\n }\n hasOpened (event: Event) {\n this.show = true;\n this.onOpened.emit(event)\n this.showChange.emit(this.show);\n }\n\n}\n","<ids-dialog \n [attr.dismissible]=\"dismissible ? true : null\"\n [attr.nooverlay]=\"nooverlay ? true : null\"\n [attr.nofocustrap]=\"nofocustrap ? true : null\"\n [attr.persistent]=\"persistent ? true : null\"\n [attr.keepscrollbar]=\"keepscrollbar ? true : null\"\n [attr.show]=\"show ? 'true' : 'false'\"\n [width]=\"width\"\n [maxwidth]=\"maxwidth\"\n nofocustrap=\"nofocustrap\"\n [srclosetext]=\"srclosetext\"\n (closed)=\"hasClosed($event)\"\n (opened)=\"hasOpened($event)\">\n <ng-content></ng-content>\n</ids-dialog>","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { IDDialogComponent } from './dialog.component';\nimport '@inera/ids-core/components/dialog/register';\n\n@NgModule({\n declarations: [\n IDDialogComponent\n ],\n exports: [\n IDDialogComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class IDDialogModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAOa,iBAAiB,CAAA;AAE5B,IAAA,WAAA,GAAA,EAAgB;IAGhB,WAAW,GAAY,KAAK;IAG5B,WAAW,GAAW,EAAE;IAGxB,WAAW,GAAY,KAAK;IAG5B,aAAa,GAAY,KAAK;IAG9B,SAAS,GAAY,KAAK;IAG1B,UAAU,GAAY,KAAK;IAG3B,IAAI,GAAY,KAAK;IAGrB,KAAK,GAAW,EAAE;IAGlB,QAAQ,GAAW,EAAE;AAGrB,IAAA,QAAQ,GAAwB,IAAI,YAAY,EAAE;AAGlD,IAAA,QAAQ,GAAwB,IAAI,YAAY,EAAE;AAGlD,IAAA,UAAU,GAA0B,IAAI,YAAY,EAAW;AAE/D,IAAA,SAAS,CAAE,KAAY,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC;AACA,IAAA,SAAS,CAAE,KAAY,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC;wGAjDW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,0WCP9B,4hBAca,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FDPA,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,WAAW,EAAA,aAAA,EAEN,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4hBAAA,EAAA;wDAOrC,WAAW,EAAA,CAAA;sBADV;gBAID,WAAW,EAAA,CAAA;sBADV;gBAID,WAAW,EAAA,CAAA;sBADV;gBAID,aAAa,EAAA,CAAA;sBADZ;gBAID,SAAS,EAAA,CAAA;sBADR;gBAID,UAAU,EAAA,CAAA;sBADT;gBAID,IAAI,EAAA,CAAA;sBADH;gBAID,KAAK,EAAA,CAAA;sBADJ;gBAID,QAAQ,EAAA,CAAA;sBADP;gBAID,QAAQ,EAAA,CAAA;sBADP;gBAID,QAAQ,EAAA,CAAA;sBADP;gBAID,UAAU,EAAA,CAAA;sBADT;;;ME/BU,cAAc,CAAA;wGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAd,cAAc,EAAA,YAAA,EAAA,CAPvB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAGjB,iBAAiB,CAAA,EAAA,CAAA;yGAIR,cAAc,EAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAT1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA;;;ACZD;;AAEG;;;;"}
1
+ {"version":3,"file":"inera-ids-angular-components-dialog.mjs","sources":["../../../projects/ids-angular/components/dialog/dialog-trigger.component.ts","../../../projects/ids-angular/components/dialog/dialog-close.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.html","../../../projects/ids-angular/components/dialog/dialog-header.component.ts","../../../projects/ids-angular/components/dialog/dialog-content.component.ts","../../../projects/ids-angular/components/dialog/dialog-footer.component.ts","../../../projects/ids-angular/components/dialog/inera-ids-angular-components-dialog.ts"],"sourcesContent":["import { Component} from '@angular/core';\n\n@Component({\n selector: 'id-dialog-trigger',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogTriggerComponent {}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDDialogCloseComponent {\n @Output() closed = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.closed.emit(e);\n }\n}","import { AfterContentInit, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, EventEmitter, HostListener, Input, Output, QueryList, ViewChild, booleanAttribute, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CommonModule } from '@angular/common';\nimport { IDDialogTriggerComponent } from './dialog-trigger.component';\nimport { IDClickOutsideDirective, IDUseIdService } from '@inera/ids-angular/common';\n\nimport { FocusTrap, FocusTrapFactory, A11yModule } from '@angular/cdk/a11y';\nimport { IDDialogCloseComponent } from './dialog-close.component';\n\n@Component({\n selector: 'id-dialog',\n templateUrl: './dialog.component.html',\n standalone: true,\n imports:[CommonModule, A11yModule, IDClickOutsideDirective],\n})\n\nexport class IDDialogComponent implements AfterContentInit {\n\n @HostListener('document:keydown.escape', ['$event'])\n onEsc(event: Event) {\n if (this.show && !this.persistent) {\n this.hideDialog(event);\n }\n }\n\n @ContentChild(IDDialogTriggerComponent)\n trigger:IDDialogTriggerComponent;\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input() srCloseText: string = '';\n @Input({ transform: booleanAttribute }) noFocusTrap: boolean = false;\n @Input({ transform: booleanAttribute }) keepScrollbar: boolean = false;\n @Input({ transform: booleanAttribute }) noOverlay: boolean = false;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) show: boolean = false;\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ContentChildren(IDDialogCloseComponent, {descendants: true})\n closeComponents: QueryList<IDDialogCloseComponent>;\n \n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('dialog-content');\n headingId = this.idService.generateId('dialog-heading');\n\n ngAfterContentInit(): void {\n this.closeComponents.forEach((closeComponent) => {\n closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event: Event) => {\n this.hideDialog(event);\n })\n });\n }\n\n /* Focus trap */\n @ViewChild('dialogContent', { static: true })\n dialogContent!: ElementRef\n private focusTrap: FocusTrap | undefined;\n focusTrapFactory = inject(FocusTrapFactory);\n get focusableElements (): HTMLElement[] {\n return Array.from(\n this.dialogContent.nativeElement.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]'\n )\n ) as HTMLElement[]\n }\n \ncreateFocusTrap() {\n if (this.noFocusTrap || this.focusTrap) return;\n\n queueMicrotask(() => {\n this.focusTrap = this.focusTrapFactory.create(\n this.dialogContent.nativeElement\n );\n\n this.focusTrap.focusInitialElement();\n });\n}\n\n destroyFocusTrap() {\n if (!this.focusTrap) return;\n const firstFocusable = this.focusableElements[0];\n firstFocusable?.removeEventListener('keydown', this.handleBackTab);\n this.focusTrap.destroy();\n this.focusTrap = undefined;\n }\n\n handleBackTab = (e: KeyboardEvent) => {\n if (e.key !== 'Tab') return;\n if (e.target !== this.focusableElements[0]) return;\n if (e.shiftKey) {\n e.preventDefault();\n this.focusableElements[this.focusableElements.length-1].focus();\n }\n }\n\n resetFocusTrap = () => {\n this.focusableElements[0].removeEventListener('keydown', this.handleBackTab);\n }\n /* */\n\n protected toggleDialog(event: Event):void {\n if(this.show) {\n this.hideDialog(event);\n } else {\n this.showDialog(event);\n }\n }\n protected overlayClicked(event: Event):void {\n if (!this.persistent) {\n this.hideDialog(event);\n }\n }\n\n showDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.add('ids-hide-overflow');\n }\n this.hasOpened(event);\n this.createFocusTrap();\n }\n\n hideDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.remove('ids-hide-overflow');\n }\n this.resetFocusTrap();\n this.hasClosed(event);\n }\n \n hasClosed(event: Event):void {\n this.show = false;\n this.closed.emit(event)\n this.showChange.emit(this.show);\n }\n hasOpened(event: Event):void {\n this.show = true;\n this.opened.emit(event)\n this.showChange.emit(this.show);\n }\n\n}\n","<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if(trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\">\n</div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\">\n <div #dialogContent style=\"display: contents\">\n @if(dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\">\n </button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\">\n <div \n tabindex=\"-1\" \n cdkFocusInitial \n [attr.id]=\"headingId\" \n class=\"ids-dialog__body-headline\">\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\" \n class=\"ids-dialog__body-content\">\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-header',\n template: '<ng-content></ng-content>',\n standalone: true,\n})\nexport class IDDialogHeaderComponent {}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-content',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogContentComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-footer',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-dialog__footer'\n }\n})\nexport class IDDialogFooterComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,88 +1,165 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, ViewChild, CUSTOM_ELEMENTS_SCHEMA, ViewEncapsulation, Component, EventEmitter, Output, ContentChild, Input } from '@angular/core';
3
- import * as i1 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
5
- import '@inera/ids-core/components/dropdown/register';
6
-
7
- class IDDropdownContentComponent {
8
- constructor() { }
9
- template;
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDDropdownContentComponent, isStandalone: true, selector: "id-dropdown-content", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: ` <ng-template>
12
- <ng-content></ng-content>
13
- </ng-template>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None });
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownContentComponent, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: "id-dropdown-content",
19
- template: ` <ng-template>
20
- <ng-content></ng-content>
21
- </ng-template>`,
22
- encapsulation: ViewEncapsulation.None,
23
- standalone: true,
24
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
25
- imports: [CommonModule]
26
- }]
27
- }], ctorParameters: () => [], propDecorators: { template: [{
28
- type: ViewChild,
29
- args: [TemplateRef]
30
- }] } });
2
+ import { EventEmitter, inject, ElementRef, booleanAttribute, HostListener, Output, Input, Component, Directive, NgModule } from '@angular/core';
3
+ import * as i1 from '@inera/ids-angular/common';
4
+ import { IDUseIdService, IDClickOutsideDirective } from '@inera/ids-angular/common';
31
5
 
32
6
  class IDDropdownComponent {
33
- constructor() { }
34
- sblock = false;
35
- mblock = false;
7
+ sBlock = false;
8
+ mBlock = false;
9
+ minWidth;
10
+ maxHeight;
36
11
  persistent = false;
37
12
  expanded = false;
38
- maxheight = "";
39
- position = "right";
40
- dropdownContent;
41
- onClosed = new EventEmitter();
42
- onOpen = new EventEmitter();
43
- showChange = new EventEmitter();
44
- hasClosed(event) {
13
+ position = 'right';
14
+ closed = new EventEmitter();
15
+ opened = new EventEmitter();
16
+ useId = inject(IDUseIdService);
17
+ host = inject(ElementRef);
18
+ contentId = this.useId.generateId('dropdown');
19
+ trigger;
20
+ ngAfterViewInit() {
21
+ this.setupTrigger();
22
+ }
23
+ handleKeyDown(event) {
24
+ if (event.key === 'Escape' && this.expanded) {
25
+ this.closeIfNotPersistent();
26
+ }
27
+ }
28
+ closeIfNotPersistent() {
29
+ if (!this.persistent) {
30
+ this.hasClosed();
31
+ }
32
+ }
33
+ setupTrigger() {
34
+ const hostEl = this.host.nativeElement;
35
+ this.trigger = hostEl.querySelector('id-dropdown-trigger > *');
36
+ if (this.trigger) {
37
+ this.trigger.addEventListener('click', () => this.toggleDropdown());
38
+ this.trigger.setAttribute('aria-controls', this.contentId);
39
+ }
40
+ }
41
+ toggleDropdown() {
42
+ if (this.expanded) {
43
+ this.hasClosed();
44
+ this.trigger?.removeAttribute('aria-expanded');
45
+ }
46
+ else {
47
+ this.hasOpened();
48
+ this.trigger?.setAttribute('aria-expanded', 'true');
49
+ }
50
+ }
51
+ get baseAndPositionClasses() {
52
+ const dropdownClass = 'ids-dropdown';
53
+ const positionClass = `${dropdownClass}--position-${this.position}`;
54
+ return `${dropdownClass} ${positionClass}`;
55
+ }
56
+ hasClosed() {
45
57
  this.expanded = false;
46
- this.onClosed.emit(event);
47
- this.showChange.emit(this.expanded);
58
+ this.closed.emit();
48
59
  }
49
- hasOpened(event) {
60
+ hasOpened() {
50
61
  this.expanded = true;
51
- this.onOpen.emit(event);
52
- this.showChange.emit(this.expanded);
62
+ this.opened.emit();
53
63
  }
54
64
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDDropdownComponent, isStandalone: true, selector: "id-dropdown", inputs: { sblock: "sblock", mblock: "mblock", persistent: "persistent", expanded: "expanded", maxheight: "maxheight", position: "position" }, outputs: { onClosed: "onClosed", onOpen: "onOpen", showChange: "showChange" }, queries: [{ propertyName: "dropdownContent", first: true, predicate: IDDropdownContentComponent, descendants: true }], ngImport: i0, template: "<ids-dropdown\n [attr.persistent]=\"persistent ? true : null\"\n [attr.position]=\"position\"\n [expanded]=\"expanded ? 'true' : null\"\n [sblock]=\"sblock\"\n [mblock]=\"mblock\"\n (closed)=\"hasClosed($event)\"\n (open)=\"hasOpened($event)\">\n <ng-content></ng-content>\n <ids-dropdown-content *ngIf=\"dropdownContent\" [maxheight]=\"maxheight\">\n <ng-container *ngTemplateOutlet=\"dropdownContent.template\"></ng-container>\n </ids-dropdown-content>\n</ids-dropdown>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
65
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: IDDropdownComponent, isStandalone: true, selector: "id-dropdown", inputs: { sBlock: ["sBlock", "sBlock", booleanAttribute], mBlock: ["mBlock", "mBlock", booleanAttribute], minWidth: "minWidth", maxHeight: "maxHeight", persistent: ["persistent", "persistent", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], position: "position" }, outputs: { closed: "closed", opened: "opened" }, host: { listeners: { "idClickOutside": "closeIfNotPersistent()", "window:keydown": "handleKeyDown($event)" }, properties: { "class": "baseAndPositionClasses", "class.ids-dropdown--s-block": "sBlock", "class.ids-dropdown--m-block": "mBlock" } }, hostDirectives: [{ directive: i1.IDClickOutsideDirective, outputs: ["idClickOutside", "idClickOutside"] }], ngImport: i0, template: "<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n class=\"ids-dropdown-content\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"contentId\"\n [style.min-width]=\"minWidth\"\n role=\"menu\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n" });
56
66
  }
57
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownComponent, decorators: [{
58
68
  type: Component,
59
- args: [{ selector: "id-dropdown", encapsulation: ViewEncapsulation.None, standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [CommonModule], template: "<ids-dropdown\n [attr.persistent]=\"persistent ? true : null\"\n [attr.position]=\"position\"\n [expanded]=\"expanded ? 'true' : null\"\n [sblock]=\"sblock\"\n [mblock]=\"mblock\"\n (closed)=\"hasClosed($event)\"\n (open)=\"hasOpened($event)\">\n <ng-content></ng-content>\n <ids-dropdown-content *ngIf=\"dropdownContent\" [maxheight]=\"maxheight\">\n <ng-container *ngTemplateOutlet=\"dropdownContent.template\"></ng-container>\n </ids-dropdown-content>\n</ids-dropdown>\n" }]
60
- }], ctorParameters: () => [], propDecorators: { sblock: [{
69
+ args: [{ selector: 'id-dropdown', standalone: true, host: {
70
+ '[class]': 'baseAndPositionClasses',
71
+ '[class.ids-dropdown--s-block]': 'sBlock',
72
+ '[class.ids-dropdown--m-block]': 'mBlock',
73
+ '(idClickOutside)': 'closeIfNotPersistent()'
74
+ }, hostDirectives: [{
75
+ directive: IDClickOutsideDirective,
76
+ outputs: ['idClickOutside']
77
+ }], template: "<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n class=\"ids-dropdown-content\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"contentId\"\n [style.min-width]=\"minWidth\"\n role=\"menu\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n" }]
78
+ }], propDecorators: { sBlock: [{
79
+ type: Input,
80
+ args: [{ transform: booleanAttribute }]
81
+ }], mBlock: [{
82
+ type: Input,
83
+ args: [{ transform: booleanAttribute }]
84
+ }], minWidth: [{
61
85
  type: Input
62
- }], mblock: [{
86
+ }], maxHeight: [{
63
87
  type: Input
64
88
  }], persistent: [{
65
- type: Input
89
+ type: Input,
90
+ args: [{ transform: booleanAttribute }]
66
91
  }], expanded: [{
67
- type: Input
68
- }], maxheight: [{
69
- type: Input
92
+ type: Input,
93
+ args: [{ transform: booleanAttribute }]
70
94
  }], position: [{
71
95
  type: Input
72
- }], dropdownContent: [{
73
- type: ContentChild,
74
- args: [IDDropdownContentComponent]
75
- }], onClosed: [{
96
+ }], closed: [{
76
97
  type: Output
77
- }], onOpen: [{
78
- type: Output
79
- }], showChange: [{
98
+ }], opened: [{
80
99
  type: Output
100
+ }], handleKeyDown: [{
101
+ type: HostListener,
102
+ args: ['window:keydown', ['$event']]
81
103
  }] } });
82
104
 
105
+ class IDDropdownTriggerComponent {
106
+ constructor() { }
107
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
108
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDDropdownTriggerComponent, isStandalone: true, selector: "id-dropdown-trigger", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
109
+ }
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownTriggerComponent, decorators: [{
111
+ type: Component,
112
+ args: [{
113
+ selector: "id-dropdown-trigger",
114
+ template: `<ng-content></ng-content>`,
115
+ standalone: true,
116
+ }]
117
+ }], ctorParameters: () => [] });
118
+
119
+ class IDDropdownItemDirective {
120
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
121
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: IDDropdownItemDirective, isStandalone: true, selector: "[idDropdownItem]", host: { attributes: { "role": "menuitem" }, classAttribute: "ids-dropdown-content__link" }, ngImport: i0 });
122
+ }
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownItemDirective, decorators: [{
124
+ type: Directive,
125
+ args: [{
126
+ selector: "[idDropdownItem]",
127
+ standalone: true,
128
+ host: {
129
+ class: 'ids-dropdown-content__link',
130
+ role: 'menuitem'
131
+ },
132
+ }]
133
+ }] });
134
+
135
+ class IDDropdownModule {
136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
137
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownModule, imports: [IDDropdownItemDirective,
138
+ IDDropdownComponent,
139
+ IDDropdownTriggerComponent], exports: [IDDropdownItemDirective,
140
+ IDDropdownComponent,
141
+ IDDropdownTriggerComponent] });
142
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownModule });
143
+ }
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDDropdownModule, decorators: [{
145
+ type: NgModule,
146
+ args: [{
147
+ imports: [
148
+ IDDropdownItemDirective,
149
+ IDDropdownComponent,
150
+ IDDropdownTriggerComponent,
151
+ ],
152
+ exports: [
153
+ IDDropdownItemDirective,
154
+ IDDropdownComponent,
155
+ IDDropdownTriggerComponent,
156
+ ],
157
+ }]
158
+ }] });
159
+
83
160
  /**
84
161
  * Generated bundle index. Do not edit.
85
162
  */
86
163
 
87
- export { IDDropdownComponent, IDDropdownContentComponent };
164
+ export { IDDropdownComponent, IDDropdownItemDirective, IDDropdownModule, IDDropdownTriggerComponent };
88
165
  //# sourceMappingURL=inera-ids-angular-components-dropdown.mjs.map