@inera/ids-react 9.1.2 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/components/accordion/accordion-base.d.ts +4 -1
  2. package/components/accordion/accordion-base.js +33 -7
  3. package/components/accordion/accordion.d.ts +4 -1
  4. package/components/accordion/accordion.js +14 -11
  5. package/components/alert/alert-base.d.ts +3 -0
  6. package/components/alert/alert-base.js +4 -3
  7. package/components/alert/alert.d.ts +6 -1
  8. package/components/alert/alert.js +12 -9
  9. package/components/badge/badge.d.ts +1 -1
  10. package/components/badge/badge.js +6 -3
  11. package/components/breadcrumbs/breadcrumbs.d.ts +3 -0
  12. package/components/breadcrumbs/breadcrumbs.js +25 -4
  13. package/components/button/button-group.d.ts +3 -0
  14. package/components/button/button-group.js +1 -0
  15. package/components/button/button.js +22 -14
  16. package/components/card/card.d.ts +3 -0
  17. package/components/card/card.js +2 -1
  18. package/components/carousel/carousel-item.d.ts +3 -0
  19. package/components/carousel/carousel-item.js +1 -0
  20. package/components/date-label/date-label.d.ts +3 -0
  21. package/components/date-label/date-label.js +1 -0
  22. package/components/dialog/dialog-base.d.ts +0 -1
  23. package/components/dialog/dialog-base.js +3 -3
  24. package/components/dialog/dialog.d.ts +3 -0
  25. package/components/dialog/dialog.js +19 -19
  26. package/components/dropdown/dropdown-base.js +6 -3
  27. package/components/dropdown/dropdown-content-button.js +1 -1
  28. package/components/dropdown/dropdown-content-link.d.ts +3 -0
  29. package/components/dropdown/dropdown-content-link.js +1 -1
  30. package/components/dropdown/dropdown.d.ts +3 -0
  31. package/components/dropdown/dropdown.js +28 -31
  32. package/components/footer-1177/footer-1177.d.ts +3 -0
  33. package/components/footer-1177/footer-1177.js +1 -0
  34. package/components/footer-1177-admin/footer-1177-admin.d.ts +3 -0
  35. package/components/footer-1177-admin/footer-1177-admin.js +1 -0
  36. package/components/footer-1177-pro/footer-1177-pro.d.ts +3 -0
  37. package/components/footer-1177-pro/footer-1177-pro.js +1 -0
  38. package/components/footer-inera/footer-inera.d.ts +3 -0
  39. package/components/footer-inera/footer-inera.js +1 -0
  40. package/components/footer-inera-admin/footer-inera-admin.d.ts +3 -0
  41. package/components/footer-inera-admin/footer-inera-admin.js +2 -1
  42. package/components/footer-inera-general/footer-inera-general.d.ts +21 -0
  43. package/components/footer-inera-general/footer-inera-general.js +28 -0
  44. package/components/form/check-button/check-button.js +1 -0
  45. package/components/form/checkbox/checkbox-base.d.ts +7 -13
  46. package/components/form/checkbox/checkbox-base.js +10 -10
  47. package/components/form/checkbox/checkbox-group-base.d.ts +3 -0
  48. package/components/form/checkbox/checkbox-group-base.js +3 -2
  49. package/components/form/checkbox/checkbox-group.d.ts +3 -0
  50. package/components/form/checkbox/checkbox-group.js +1 -0
  51. package/components/form/checkbox/checkbox.d.ts +5 -15
  52. package/components/form/checkbox/checkbox.js +10 -2
  53. package/components/form/datepicker/datepicker.d.ts +7 -11
  54. package/components/form/datepicker/datepicker.js +17 -16
  55. package/components/form/error-message/error-message.d.ts +3 -0
  56. package/components/form/error-message/error-message.js +1 -0
  57. package/components/form/form-props/form-props.d.ts +18 -0
  58. package/components/form/input/input-base.d.ts +7 -16
  59. package/components/form/input/input-base.js +15 -16
  60. package/components/form/input/input.d.ts +3 -16
  61. package/components/form/input/input.js +3 -4
  62. package/components/form/radio/radio-base.d.ts +8 -13
  63. package/components/form/radio/radio-base.js +8 -10
  64. package/components/form/radio/radio-group-base.d.ts +3 -0
  65. package/components/form/radio/radio-group-base.js +1 -0
  66. package/components/form/radio/radio-group.d.ts +3 -0
  67. package/components/form/radio/radio-group.js +2 -2
  68. package/components/form/radio/radio.d.ts +2 -14
  69. package/components/form/radio/radio.js +11 -5
  70. package/components/form/radio-button/radio-button-group-base.d.ts +3 -0
  71. package/components/form/radio-button/radio-button-group-base.js +1 -0
  72. package/components/form/radio-button/radio-button-group.d.ts +3 -0
  73. package/components/form/radio-button/radio-button-group.js +4 -1
  74. package/components/form/radio-button/radio-button.js +1 -0
  75. package/components/form/range/range-base.d.ts +6 -8
  76. package/components/form/range/range-base.js +3 -2
  77. package/components/form/range/range.d.ts +2 -7
  78. package/components/form/range/range.js +13 -6
  79. package/components/form/select/select-base.d.ts +7 -15
  80. package/components/form/select/select-base.js +8 -8
  81. package/components/form/select/select.d.ts +2 -14
  82. package/components/form/select/select.js +12 -5
  83. package/components/form/select-multiple/select-multiple-base.d.ts +7 -14
  84. package/components/form/select-multiple/select-multiple-base.js +7 -5
  85. package/components/form/select-multiple/select-multiple.d.ts +4 -15
  86. package/components/form/select-multiple/select-multiple.js +3 -5
  87. package/components/form/spinner/spinner.d.ts +3 -0
  88. package/components/form/spinner/spinner.js +1 -0
  89. package/components/form/textarea/textarea-base.d.ts +7 -15
  90. package/components/form/textarea/textarea-base.js +7 -10
  91. package/components/form/textarea/textarea.d.ts +4 -14
  92. package/components/form/textarea/textarea.js +13 -6
  93. package/components/form/time/time-base.d.ts +6 -12
  94. package/components/form/time/time-base.js +7 -7
  95. package/components/form/time/time.d.ts +2 -14
  96. package/components/form/time/time.js +13 -6
  97. package/components/global-alert/global-alert-base.d.ts +3 -0
  98. package/components/global-alert/global-alert-base.js +3 -2
  99. package/components/global-alert/global-alert.d.ts +6 -1
  100. package/components/global-alert/global-alert.js +12 -9
  101. package/components/header-1177/header-1177-avatar-base.d.ts +3 -0
  102. package/components/header-1177/header-1177-avatar-base.js +1 -0
  103. package/components/header-1177/header-1177-avatar.d.ts +3 -0
  104. package/components/header-1177/header-1177-avatar.js +7 -15
  105. package/components/header-1177/header-1177-base.d.ts +3 -0
  106. package/components/header-1177/header-1177-base.js +1 -0
  107. package/components/header-1177/header-1177-item-base.d.ts +3 -0
  108. package/components/header-1177/header-1177-item-base.js +1 -0
  109. package/components/header-1177/header-1177-item.d.ts +3 -0
  110. package/components/header-1177/header-1177-item.js +1 -0
  111. package/components/header-1177/header-1177-menu-mobile-base.d.ts +3 -0
  112. package/components/header-1177/header-1177-menu-mobile-base.js +1 -0
  113. package/components/header-1177/header-1177-menu-mobile.d.ts +3 -0
  114. package/components/header-1177/header-1177-menu-mobile.js +7 -24
  115. package/components/header-1177/header-1177-nav-base.d.ts +3 -0
  116. package/components/header-1177/header-1177-nav-base.js +1 -0
  117. package/components/header-1177/header-1177-nav-item-base.d.ts +3 -0
  118. package/components/header-1177/header-1177-nav-item-base.js +1 -0
  119. package/components/header-1177/header-1177-nav-item-mobile-base.d.ts +3 -0
  120. package/components/header-1177/header-1177-nav-item-mobile-base.js +1 -0
  121. package/components/header-1177/header-1177-nav-item-mobile.d.ts +3 -0
  122. package/components/header-1177/header-1177-nav-item-mobile.js +1 -0
  123. package/components/header-1177/header-1177-nav-item.d.ts +3 -0
  124. package/components/header-1177/header-1177-nav-item.js +6 -29
  125. package/components/header-1177/header-1177-nav.d.ts +3 -0
  126. package/components/header-1177/header-1177-nav.js +2 -1
  127. package/components/header-1177/header-1177-region-picker-base.d.ts +3 -0
  128. package/components/header-1177/header-1177-region-picker-base.js +1 -0
  129. package/components/header-1177/header-1177-region-picker-mobile-base.d.ts +3 -0
  130. package/components/header-1177/header-1177-region-picker-mobile-base.js +1 -0
  131. package/components/header-1177/header-1177-region-picker-mobile.d.ts +3 -0
  132. package/components/header-1177/header-1177-region-picker-mobile.js +1 -0
  133. package/components/header-1177/header-1177-region-picker.d.ts +3 -0
  134. package/components/header-1177/header-1177-region-picker.js +1 -0
  135. package/components/header-1177/header-1177.d.ts +3 -0
  136. package/components/header-1177/header-1177.js +1 -0
  137. package/components/header-1177-admin/header-1177-admin-avatar-base.d.ts +3 -0
  138. package/components/header-1177-admin/header-1177-admin-avatar-base.js +2 -1
  139. package/components/header-1177-admin/header-1177-admin-avatar-mobile-base.d.ts +3 -0
  140. package/components/header-1177-admin/header-1177-admin-avatar-mobile-base.js +2 -1
  141. package/components/header-1177-admin/header-1177-admin-avatar-mobile.d.ts +3 -0
  142. package/components/header-1177-admin/header-1177-admin-avatar-mobile.js +7 -7
  143. package/components/header-1177-admin/header-1177-admin-avatar.d.ts +3 -0
  144. package/components/header-1177-admin/header-1177-admin-avatar.js +7 -25
  145. package/components/header-1177-admin/header-1177-admin-base.d.ts +3 -0
  146. package/components/header-1177-admin/header-1177-admin-base.js +1 -0
  147. package/components/header-1177-admin/header-1177-admin-item-base.d.ts +3 -0
  148. package/components/header-1177-admin/header-1177-admin-item-base.js +1 -0
  149. package/components/header-1177-admin/header-1177-admin-item.d.ts +3 -0
  150. package/components/header-1177-admin/header-1177-admin-item.js +1 -0
  151. package/components/header-1177-admin/header-1177-admin-menu-mobile-base.d.ts +3 -0
  152. package/components/header-1177-admin/header-1177-admin-menu-mobile-base.js +1 -0
  153. package/components/header-1177-admin/header-1177-admin-menu-mobile.d.ts +3 -0
  154. package/components/header-1177-admin/header-1177-admin-menu-mobile.js +7 -26
  155. package/components/header-1177-admin/header-1177-admin-nav-base.d.ts +6 -1
  156. package/components/header-1177-admin/header-1177-admin-nav-base.js +5 -3
  157. package/components/header-1177-admin/header-1177-admin-nav-item-base.d.ts +3 -0
  158. package/components/header-1177-admin/header-1177-admin-nav-item-base.js +1 -0
  159. package/components/header-1177-admin/header-1177-admin-nav-item-mobile-base.d.ts +3 -0
  160. package/components/header-1177-admin/header-1177-admin-nav-item-mobile-base.js +1 -0
  161. package/components/header-1177-admin/header-1177-admin-nav-item-mobile.d.ts +3 -0
  162. package/components/header-1177-admin/header-1177-admin-nav-item-mobile.js +1 -0
  163. package/components/header-1177-admin/header-1177-admin-nav-item.d.ts +3 -0
  164. package/components/header-1177-admin/header-1177-admin-nav-item.js +6 -29
  165. package/components/header-1177-admin/header-1177-admin-nav.d.ts +6 -1
  166. package/components/header-1177-admin/header-1177-admin-nav.js +3 -2
  167. package/components/header-1177-admin/header-1177-admin.d.ts +3 -0
  168. package/components/header-1177-admin/header-1177-admin.js +1 -0
  169. package/components/header-1177-pro/header-1177-pro-avatar-base.d.ts +3 -0
  170. package/components/header-1177-pro/header-1177-pro-avatar-base.js +1 -0
  171. package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.d.ts +3 -0
  172. package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.js +1 -0
  173. package/components/header-1177-pro/header-1177-pro-avatar-mobile.d.ts +3 -0
  174. package/components/header-1177-pro/header-1177-pro-avatar-mobile.js +6 -5
  175. package/components/header-1177-pro/header-1177-pro-avatar.d.ts +3 -0
  176. package/components/header-1177-pro/header-1177-pro-avatar.js +7 -26
  177. package/components/header-1177-pro/header-1177-pro-base.d.ts +3 -0
  178. package/components/header-1177-pro/header-1177-pro-base.js +1 -0
  179. package/components/header-1177-pro/header-1177-pro-item-base.d.ts +3 -0
  180. package/components/header-1177-pro/header-1177-pro-item-base.js +1 -0
  181. package/components/header-1177-pro/header-1177-pro-item.d.ts +3 -0
  182. package/components/header-1177-pro/header-1177-pro-item.js +1 -0
  183. package/components/header-1177-pro/header-1177-pro-menu-mobile-base.d.ts +3 -0
  184. package/components/header-1177-pro/header-1177-pro-menu-mobile-base.js +1 -0
  185. package/components/header-1177-pro/header-1177-pro-menu-mobile.d.ts +3 -0
  186. package/components/header-1177-pro/header-1177-pro-menu-mobile.js +7 -26
  187. package/components/header-1177-pro/header-1177-pro-nav-base.d.ts +6 -1
  188. package/components/header-1177-pro/header-1177-pro-nav-base.js +5 -3
  189. package/components/header-1177-pro/header-1177-pro-nav-item-base.d.ts +3 -0
  190. package/components/header-1177-pro/header-1177-pro-nav-item-base.js +1 -0
  191. package/components/header-1177-pro/header-1177-pro-nav-item-mobile-base.d.ts +3 -0
  192. package/components/header-1177-pro/header-1177-pro-nav-item-mobile-base.js +1 -0
  193. package/components/header-1177-pro/header-1177-pro-nav-item-mobile.d.ts +3 -0
  194. package/components/header-1177-pro/header-1177-pro-nav-item-mobile.js +1 -0
  195. package/components/header-1177-pro/header-1177-pro-nav-item.d.ts +3 -0
  196. package/components/header-1177-pro/header-1177-pro-nav-item.js +6 -29
  197. package/components/header-1177-pro/header-1177-pro-nav.d.ts +6 -1
  198. package/components/header-1177-pro/header-1177-pro-nav.js +3 -2
  199. package/components/header-1177-pro/header-1177-pro-region-picker-base.d.ts +3 -0
  200. package/components/header-1177-pro/header-1177-pro-region-picker-base.js +2 -1
  201. package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.d.ts +5 -1
  202. package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.js +4 -2
  203. package/components/header-1177-pro/header-1177-pro-region-picker-mobile.d.ts +3 -0
  204. package/components/header-1177-pro/header-1177-pro-region-picker-mobile.js +2 -1
  205. package/components/header-1177-pro/header-1177-pro-region-picker.d.ts +3 -0
  206. package/components/header-1177-pro/header-1177-pro-region-picker.js +1 -0
  207. package/components/header-1177-pro/header-1177-pro.d.ts +3 -0
  208. package/components/header-1177-pro/header-1177-pro.js +1 -0
  209. package/components/header-inera/header-inera-base.d.ts +3 -0
  210. package/components/header-inera/header-inera-base.js +1 -0
  211. package/components/header-inera/header-inera-item-base.d.ts +3 -0
  212. package/components/header-inera/header-inera-item-base.js +1 -0
  213. package/components/header-inera/header-inera-item.d.ts +3 -0
  214. package/components/header-inera/header-inera-item.js +1 -0
  215. package/components/header-inera/header-inera-menu-mobile-base.d.ts +3 -0
  216. package/components/header-inera/header-inera-menu-mobile-base.js +1 -0
  217. package/components/header-inera/header-inera-menu-mobile.d.ts +3 -0
  218. package/components/header-inera/header-inera-menu-mobile.js +7 -26
  219. package/components/header-inera/header-inera-nav-base.d.ts +3 -0
  220. package/components/header-inera/header-inera-nav-base.js +1 -0
  221. package/components/header-inera/header-inera-nav-item-base.d.ts +3 -0
  222. package/components/header-inera/header-inera-nav-item-base.js +1 -0
  223. package/components/header-inera/header-inera-nav-item.d.ts +3 -0
  224. package/components/header-inera/header-inera-nav-item.js +6 -29
  225. package/components/header-inera/header-inera-nav.d.ts +3 -0
  226. package/components/header-inera/header-inera-nav.js +1 -0
  227. package/components/header-inera/header-inera.d.ts +3 -0
  228. package/components/header-inera/header-inera.js +1 -0
  229. package/components/header-inera-admin/header-inera-admin-avatar-base.d.ts +3 -0
  230. package/components/header-inera-admin/header-inera-admin-avatar-base.js +2 -1
  231. package/components/header-inera-admin/header-inera-admin-avatar-mobile-base.d.ts +3 -0
  232. package/components/header-inera-admin/header-inera-admin-avatar-mobile-base.js +2 -1
  233. package/components/header-inera-admin/header-inera-admin-avatar-mobile.d.ts +3 -0
  234. package/components/header-inera-admin/header-inera-admin-avatar-mobile.js +6 -5
  235. package/components/header-inera-admin/header-inera-admin-avatar.d.ts +3 -0
  236. package/components/header-inera-admin/header-inera-admin-avatar.js +7 -25
  237. package/components/header-inera-admin/header-inera-admin-base.d.ts +3 -0
  238. package/components/header-inera-admin/header-inera-admin-base.js +1 -0
  239. package/components/header-inera-admin/header-inera-admin-item-base.d.ts +3 -0
  240. package/components/header-inera-admin/header-inera-admin-item-base.js +1 -0
  241. package/components/header-inera-admin/header-inera-admin-item.d.ts +3 -0
  242. package/components/header-inera-admin/header-inera-admin-item.js +1 -0
  243. package/components/header-inera-admin/header-inera-admin-menu-mobile-base.d.ts +3 -0
  244. package/components/header-inera-admin/header-inera-admin-menu-mobile-base.js +2 -1
  245. package/components/header-inera-admin/header-inera-admin-menu-mobile.d.ts +3 -0
  246. package/components/header-inera-admin/header-inera-admin-menu-mobile.js +7 -26
  247. package/components/header-inera-admin/header-inera-admin-nav-base.d.ts +6 -1
  248. package/components/header-inera-admin/header-inera-admin-nav-base.js +5 -3
  249. package/components/header-inera-admin/header-inera-admin-nav-item-base.d.ts +3 -0
  250. package/components/header-inera-admin/header-inera-admin-nav-item-base.js +1 -0
  251. package/components/header-inera-admin/header-inera-admin-nav-item-mobile-base.d.ts +3 -0
  252. package/components/header-inera-admin/header-inera-admin-nav-item-mobile-base.js +1 -0
  253. package/components/header-inera-admin/header-inera-admin-nav-item-mobile.d.ts +3 -0
  254. package/components/header-inera-admin/header-inera-admin-nav-item-mobile.js +1 -0
  255. package/components/header-inera-admin/header-inera-admin-nav-item.d.ts +3 -0
  256. package/components/header-inera-admin/header-inera-admin-nav-item.js +6 -29
  257. package/components/header-inera-admin/header-inera-admin-nav.d.ts +6 -1
  258. package/components/header-inera-admin/header-inera-admin-nav.js +3 -2
  259. package/components/header-inera-admin/header-inera-admin.d.ts +3 -0
  260. package/components/header-inera-admin/header-inera-admin.js +1 -0
  261. package/components/header-inera-general/header-inera-general-base.d.ts +16 -0
  262. package/components/header-inera-general/header-inera-general-base.js +12 -0
  263. package/components/header-inera-general/header-inera-general-item-base.d.ts +11 -0
  264. package/components/header-inera-general/header-inera-general-item-base.js +13 -0
  265. package/components/header-inera-general/header-inera-general-item.d.ts +10 -0
  266. package/components/header-inera-general/header-inera-general-item.js +12 -0
  267. package/components/header-inera-general/header-inera-general-menu-mobile-base.d.ts +15 -0
  268. package/components/header-inera-general/header-inera-general-menu-mobile-base.js +19 -0
  269. package/components/header-inera-general/header-inera-general-menu-mobile.d.ts +13 -0
  270. package/components/header-inera-general/header-inera-general-menu-mobile.js +31 -0
  271. package/components/header-inera-general/header-inera-general-nav-base.d.ts +10 -0
  272. package/components/header-inera-general/header-inera-general-nav-base.js +11 -0
  273. package/components/header-inera-general/header-inera-general-nav-item-base.d.ts +21 -0
  274. package/components/header-inera-general/header-inera-general-nav-item-base.js +27 -0
  275. package/components/header-inera-general/header-inera-general-nav-item.d.ts +18 -0
  276. package/components/header-inera-general/header-inera-general-nav-item.js +27 -0
  277. package/components/header-inera-general/header-inera-general-nav.d.ts +8 -0
  278. package/components/header-inera-general/header-inera-general-nav.js +12 -0
  279. package/components/header-inera-general/header-inera-general.d.ts +15 -0
  280. package/components/header-inera-general/header-inera-general.js +11 -0
  281. package/components/header-patient/header-patient.d.ts +3 -0
  282. package/components/header-patient/header-patient.js +1 -0
  283. package/components/link/action-link.d.ts +3 -0
  284. package/components/link/action-link.js +2 -1
  285. package/components/link/box-link.d.ts +3 -0
  286. package/components/link/box-link.js +1 -0
  287. package/components/link/link.d.ts +3 -0
  288. package/components/link/link.js +1 -0
  289. package/components/list-pagination/list-pagination-links.d.ts +3 -0
  290. package/components/list-pagination/list-pagination-links.js +1 -0
  291. package/components/list-pagination/list-pagination.d.ts +3 -0
  292. package/components/list-pagination/list-pagination.js +4 -3
  293. package/components/mobile-menu/mobile-item-base.d.ts +3 -0
  294. package/components/mobile-menu/mobile-item-base.js +1 -0
  295. package/components/mobile-menu/mobile-item.d.ts +3 -0
  296. package/components/mobile-menu/mobile-item.js +1 -0
  297. package/components/mobile-menu/mobile-menu.d.ts +3 -0
  298. package/components/mobile-menu/mobile-menu.js +1 -0
  299. package/components/navigation-content/navigation-content.d.ts +3 -0
  300. package/components/navigation-content/navigation-content.js +1 -0
  301. package/components/navigation-local/navigation-local.d.ts +3 -0
  302. package/components/navigation-local/navigation-local.js +1 -0
  303. package/components/notification-badge/notification-badge.d.ts +2 -4
  304. package/components/notification-badge/notification-badge.js +6 -3
  305. package/components/popover/popover-base.d.ts +4 -1
  306. package/components/popover/popover-base.js +1 -0
  307. package/components/popover/popover-content.d.ts +7 -1
  308. package/components/popover/popover-content.js +6 -10
  309. package/components/popover/popover.d.ts +3 -0
  310. package/components/popover/popover.js +141 -52
  311. package/components/progressbar/progressbar.d.ts +4 -4
  312. package/components/progressbar/progressbar.js +5 -3
  313. package/components/puff-list/puff-list-item-date.d.ts +3 -0
  314. package/components/puff-list/puff-list-item-date.js +1 -0
  315. package/components/puff-list/puff-list-item-info.d.ts +3 -0
  316. package/components/puff-list/puff-list-item-info.js +1 -0
  317. package/components/puff-list/puff-list-item.d.ts +1 -1
  318. package/components/puff-list/puff-list-item.js +11 -13
  319. package/components/puff-list/puff-list.d.ts +4 -1
  320. package/components/puff-list/puff-list.js +2 -1
  321. package/components/region-icon/region-icon.d.ts +3 -0
  322. package/components/region-icon/region-icon.js +1 -0
  323. package/components/side-menu/side-menu.d.ts +3 -0
  324. package/components/side-menu/side-menu.js +1 -0
  325. package/components/side-panel/side-panel-base.d.ts +1 -0
  326. package/components/side-panel/side-panel-base.js +1 -1
  327. package/components/side-panel/side-panel-provider.d.ts +3 -0
  328. package/components/side-panel/side-panel-provider.js +1 -0
  329. package/components/side-panel/side-panel.d.ts +3 -0
  330. package/components/side-panel/side-panel.js +29 -7
  331. package/components/stepper/step-base.js +1 -1
  332. package/components/stepper/step.js +11 -4
  333. package/components/stepper/stepper.d.ts +3 -0
  334. package/components/stepper/stepper.js +1 -0
  335. package/components/tabs/tabs-base.d.ts +3 -0
  336. package/components/tabs/tabs-base.js +1 -0
  337. package/components/tabs/tabs.d.ts +3 -0
  338. package/components/tabs/tabs.js +1 -0
  339. package/components/tag/tag.d.ts +1 -1
  340. package/components/tag/tag.js +4 -3
  341. package/components/toolbar/toolbar.d.ts +5 -0
  342. package/components/toolbar/toolbar.js +11 -0
  343. package/components/tooltip/tooltip-base.d.ts +5 -1
  344. package/components/tooltip/tooltip-base.js +3 -2
  345. package/components/tooltip/tooltip.d.ts +3 -0
  346. package/components/tooltip/tooltip.js +26 -1
  347. package/components/utils/hooks/useClickOutside.d.ts +1 -9
  348. package/components/utils/hooks/useClickOutside.js +9 -16
  349. package/components/utils/hooks/useLinkClick.d.ts +2 -0
  350. package/components/utils/hooks/useLinkClick.js +22 -0
  351. package/index.d.ts +24 -0
  352. package/index.js +12 -0
  353. package/package.json +2 -2
@@ -7,5 +7,6 @@ function IDSHeader1177AdminNavItemMobile({ icon, unresponsive, children, ...prop
7
7
  const headerContext = useHeaderContext();
8
8
  return (jsx(IDSHeader1177AdminNavItemMobileBase, { ...props, unresponsive: headerContext?.unresponsive, icon: icon, children: children }));
9
9
  }
10
+ IDSHeader1177AdminNavItemMobile.displayName = "IDSHeader1177AdminNavItemMobile";
10
11
 
11
12
  export { IDSHeader1177AdminNavItemMobile };
@@ -13,3 +13,6 @@ export interface IDSHeader1177AdminNavItemProps extends HTMLAttributes<HTMLEleme
13
13
  unresponsive?: boolean;
14
14
  }
15
15
  export declare function IDSHeader1177AdminNavItem({ expanded, ...props }: IDSHeader1177AdminNavItemProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace IDSHeader1177AdminNavItem {
17
+ var displayName: string;
18
+ }
@@ -5,6 +5,7 @@ import { IDSHeader1177AdminNavItemBase } from './header-1177-admin-nav-item-base
5
5
  import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
6
6
  import { useClickOutside } from '../utils/hooks/useClickOutside.js';
7
7
  import { useEsc } from '../utils/hooks/useEsc.js';
8
+ import { useLinkClick } from '../utils/hooks/useLinkClick.js';
8
9
 
9
10
  function IDSHeader1177AdminNavItem({ expanded = false, ...props }) {
10
11
  const headerContext = useHeaderContext();
@@ -12,39 +13,15 @@ function IDSHeader1177AdminNavItem({ expanded = false, ...props }) {
12
13
  const componentRef = useRef(null);
13
14
  const menuRef = useRef(null);
14
15
  const buttonRef = useRef(null);
15
- useClickOutside([componentRef, buttonRef], () => {
16
- setIsExpanded(false);
17
- });
18
- useEsc(() => setIsExpanded(false), buttonRef, componentRef);
16
+ const closeMenu = () => setIsExpanded(false);
17
+ useClickOutside(closeMenu, componentRef, buttonRef, isExpanded);
18
+ useEsc(closeMenu, buttonRef, componentRef, isExpanded);
19
+ useLinkClick(closeMenu, menuRef, buttonRef, isExpanded);
19
20
  useEffect(() => {
20
21
  setIsExpanded(expanded);
21
22
  }, [expanded]);
22
- // close when clicking outside the menu
23
- useEffect(() => {
24
- const onClickOutside = (event) => {
25
- if (componentRef.current && !componentRef.current.contains(event.target)) {
26
- setIsExpanded(false);
27
- }
28
- };
29
- document.addEventListener("click", onClickOutside);
30
- return () => document.removeEventListener("click", onClickOutside);
31
- }, []);
32
- // close when clicking any link inside the menu
33
- useEffect(() => {
34
- const menuEl = menuRef.current;
35
- if (!menuEl)
36
- return;
37
- const onMenuClick = (event) => {
38
- const target = event.target;
39
- const anchor = target.closest("a");
40
- if (anchor && menuEl.contains(anchor)) {
41
- setIsExpanded(false);
42
- }
43
- };
44
- menuEl.addEventListener("click", onMenuClick);
45
- return () => menuEl.removeEventListener("click", onMenuClick);
46
- }, [menuRef]);
47
23
  return (jsx(IDSHeader1177AdminNavItemBase, { ...props, client: true, expanded: isExpanded, unresponsive: headerContext?.unresponsive, componentRef: componentRef, menuRef: menuRef, buttonRef: buttonRef, onToggleItem: () => setIsExpanded((prev) => !prev) }));
48
24
  }
25
+ IDSHeader1177AdminNavItem.displayName = "IDSHeader1177AdminNavItem";
49
26
 
50
27
  export { IDSHeader1177AdminNavItem };
@@ -1,5 +1,10 @@
1
1
  import { HTMLAttributes } from "react";
2
2
  interface IDSHeader1177AdminNavProps extends HTMLAttributes<HTMLElement> {
3
+ mobileOnly?: boolean;
4
+ srLabel?: string;
5
+ }
6
+ export declare function IDSHeader1177AdminNav({ mobileOnly, srLabel, children, ...props }: IDSHeader1177AdminNavProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare namespace IDSHeader1177AdminNav {
8
+ var displayName: string;
3
9
  }
4
- export declare function IDSHeader1177AdminNav({ children, ...props }: IDSHeader1177AdminNavProps): import("react/jsx-runtime").JSX.Element;
5
10
  export {};
@@ -3,9 +3,10 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
4
4
  import { IDSHeader1177AdminNavBase } from './header-1177-admin-nav-base.js';
5
5
 
6
- function IDSHeader1177AdminNav({ children, ...props }) {
6
+ function IDSHeader1177AdminNav({ mobileOnly, srLabel, children, ...props }) {
7
7
  const headerContext = useHeaderContext();
8
- return (jsx(IDSHeader1177AdminNavBase, { ...props, unresponsive: headerContext?.unresponsive ?? false, children: children }));
8
+ return (jsx(IDSHeader1177AdminNavBase, { ...props, srLabel: srLabel, mobileOnly: mobileOnly, unresponsive: headerContext?.unresponsive ?? false, children: children }));
9
9
  }
10
+ IDSHeader1177AdminNav.displayName = "IDSHeader1177AdminNav";
10
11
 
11
12
  export { IDSHeader1177AdminNav };
@@ -15,4 +15,7 @@ interface IDSHeader1177AdminProps extends React.HTMLAttributes<HTMLDivElement> {
15
15
  skipToContentLink?: ReactNode;
16
16
  }
17
17
  export declare function IDSHeader1177Admin({ unresponsive, hideAvatar, children, ...props }: IDSHeader1177AdminProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare namespace IDSHeader1177Admin {
19
+ var displayName: string;
20
+ }
18
21
  export {};
@@ -6,5 +6,6 @@ import { IDSHeader1177AdminBase } from './header-1177-admin-base.js';
6
6
  function IDSHeader1177Admin({ unresponsive = false, hideAvatar = false, children, ...props }) {
7
7
  return (jsx(HeaderProvider, { value: { unresponsive, hideAvatar }, children: jsx(IDSHeader1177AdminBase, { ...props, unresponsive: unresponsive, children: children }) }));
8
8
  }
9
+ IDSHeader1177Admin.displayName = "IDSHeader1177Admin";
9
10
 
10
11
  export { IDSHeader1177Admin };
@@ -13,3 +13,6 @@ export interface IDSHeader1177ProAvatarBaseProps extends HTMLAttributes<HTMLElem
13
13
  client?: boolean;
14
14
  }
15
15
  export declare function IDSHeader1177ProAvatarBase({ username, unit, children, expanded, hide, client, onToggleAvatar, componentRef, menuRef, buttonRef, unresponsive }: IDSHeader1177ProAvatarBaseProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace IDSHeader1177ProAvatarBase {
17
+ var displayName: string;
18
+ }
@@ -19,5 +19,6 @@ function IDSHeader1177ProAvatarBase({ username, unit, children, expanded = false
19
19
  "ids-header-1177-pro-avatar__menu--expanded": expanded
20
20
  }), children: children && jsx("div", { className: "ids-header-1177-pro-avatar__menu-links", children: children }) })] }) }));
21
21
  }
22
+ IDSHeader1177ProAvatarBase.displayName = "IDSHeader1177ProAvatarBase";
22
23
 
23
24
  export { IDSHeader1177ProAvatarBase };
@@ -11,4 +11,7 @@ interface IDSHeader1177ProAvatarMobileBaseProps extends HTMLAttributes<HTMLDivEl
11
11
  buttonRef?: React.RefObject<HTMLButtonElement>;
12
12
  }
13
13
  export declare function IDSHeader1177ProAvatarMobileBase({ username, unit, expanded, hide, unresponsive, componentRef, buttonRef, children, client, onToggleMenu, ...props }: IDSHeader1177ProAvatarMobileBaseProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare namespace IDSHeader1177ProAvatarMobileBase {
15
+ var displayName: string;
16
+ }
14
17
  export {};
@@ -20,5 +20,6 @@ function IDSHeader1177ProAvatarMobileBase({ username = "", unit = "", expanded,
20
20
  "ids-header-1177-pro-avatar-mobile__menu--expanded": expanded
21
21
  }), children: [unit && jsx("div", { className: "ids-header-1177-pro-avatar-mobile__unit", children: unit }), jsx("div", { className: "ids-header-1177-pro-avatar-mobile__menu-links", children: children })] })] }) }));
22
22
  }
23
+ IDSHeader1177ProAvatarMobileBase.displayName = "IDSHeader1177ProAvatarMobileBase";
23
24
 
24
25
  export { IDSHeader1177ProAvatarMobileBase };
@@ -6,4 +6,7 @@ interface IDSHeader1177ProAvatarMobileProps extends HTMLAttributes<HTMLDivElemen
6
6
  persistent?: boolean;
7
7
  }
8
8
  export declare function IDSHeader1177ProAvatarMobile({ username, unit, expanded, persistent, children, ...props }: IDSHeader1177ProAvatarMobileProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare namespace IDSHeader1177ProAvatarMobile {
10
+ var displayName: string;
11
+ }
9
12
  export {};
@@ -6,6 +6,7 @@ import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
6
6
  import { useFocusTrap } from '../utils/hooks/useFocusTrap.js';
7
7
  import { useClickOutside } from '../utils/hooks/useClickOutside.js';
8
8
  import { useEsc } from '../utils/hooks/useEsc.js';
9
+ import { useLinkClick } from '../utils/hooks/useLinkClick.js';
9
10
 
10
11
  function IDSHeader1177ProAvatarMobile({ username = "", unit = "", expanded = false, persistent = false, children, ...props }) {
11
12
  const [isExpanded, setIsExpanded] = useState(expanded);
@@ -13,13 +14,13 @@ function IDSHeader1177ProAvatarMobile({ username = "", unit = "", expanded = fal
13
14
  const componentRef = useRef(null);
14
15
  const buttonRef = useRef(null);
15
16
  useFocusTrap(componentRef.current, isExpanded && !persistent);
16
- useClickOutside([componentRef, buttonRef], () => {
17
- if (!persistent)
18
- setIsExpanded(false);
19
- });
20
- useEsc(() => setIsExpanded(false), buttonRef, componentRef, isExpanded && !persistent);
17
+ const closeMenu = () => setIsExpanded(false);
18
+ useClickOutside(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
19
+ useEsc(closeMenu, buttonRef, componentRef, !persistent && isExpanded);
20
+ useLinkClick(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
21
21
  const toggleAvatar = () => setIsExpanded(prev => !prev);
22
22
  return (jsx(IDSHeader1177ProAvatarMobileBase, { ...props, client: true, username: username, unit: unit, expanded: isExpanded, componentRef: componentRef, buttonRef: buttonRef, onToggleMenu: username ? toggleAvatar : undefined, hide: headerContext?.hideAvatar ?? false, unresponsive: headerContext?.unresponsive ?? false, children: children }));
23
23
  }
24
+ IDSHeader1177ProAvatarMobile.displayName = "IDSHeader1177ProAvatarMobile";
24
25
 
25
26
  export { IDSHeader1177ProAvatarMobile };
@@ -6,4 +6,7 @@ interface IDSHeader1177ProAvatarProps extends HTMLAttributes<HTMLDivElement> {
6
6
  persistent?: boolean;
7
7
  }
8
8
  export declare function IDSHeader1177ProAvatar({ username, unit, expanded, children, persistent, ...props }: IDSHeader1177ProAvatarProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare namespace IDSHeader1177ProAvatar {
10
+ var displayName: string;
11
+ }
9
12
  export {};
@@ -1,46 +1,27 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { useId, useState, useRef, useEffect } from 'react';
3
+ import { useState, useRef } from 'react';
4
4
  import { IDSHeader1177ProAvatarBase } from './header-1177-pro-avatar-base.js';
5
5
  import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
6
6
  import { useFocusTrap } from '../utils/hooks/useFocusTrap.js';
7
7
  import { useClickOutside } from '../utils/hooks/useClickOutside.js';
8
8
  import { useEsc } from '../utils/hooks/useEsc.js';
9
+ import { useLinkClick } from '../utils/hooks/useLinkClick.js';
9
10
 
10
11
  function IDSHeader1177ProAvatar({ username, unit, expanded = false, children, persistent = false, ...props }) {
11
- useId();
12
12
  const [isExpanded, setIsExpanded] = useState(expanded);
13
13
  const headerContext = useHeaderContext();
14
14
  const componentRef = useRef(null);
15
15
  const menuRef = useRef(null);
16
16
  const buttonRef = useRef(null);
17
17
  useFocusTrap(componentRef.current, isExpanded && !persistent);
18
- useClickOutside([componentRef, buttonRef], () => {
19
- if (!persistent)
20
- setIsExpanded(false);
21
- });
22
- useEsc(() => setIsExpanded(false), buttonRef, componentRef, isExpanded && !persistent);
18
+ const closeMenu = () => setIsExpanded(false);
19
+ useClickOutside(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
20
+ useEsc(closeMenu, buttonRef, componentRef, !persistent && isExpanded);
21
+ useLinkClick(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
23
22
  const toggleAvatar = () => setIsExpanded(prev => !prev);
24
- useEffect(() => {
25
- const clickOutsideHandler = (e) => {
26
- if (!persistent && componentRef.current && !componentRef.current.contains(e.target)) {
27
- setIsExpanded(false);
28
- }
29
- };
30
- document.addEventListener("mousedown", clickOutsideHandler);
31
- return () => document.removeEventListener("mousedown", clickOutsideHandler);
32
- }, [persistent]);
33
- // close when clicking links
34
- useEffect(() => {
35
- if (!persistent && isExpanded) {
36
- const links = menuRef.current?.querySelectorAll("a") || [];
37
- links.forEach(link => link.addEventListener("click", () => setIsExpanded(false)));
38
- return () => {
39
- links.forEach(link => link.removeEventListener("click", () => setIsExpanded(false)));
40
- };
41
- }
42
- }, [isExpanded, persistent]);
43
23
  return (jsx(IDSHeader1177ProAvatarBase, { ...props, client: true, username: username, unit: unit, children: children, componentRef: componentRef, menuRef: menuRef, buttonRef: buttonRef, expanded: isExpanded, onToggleAvatar: toggleAvatar, unresponsive: headerContext?.unresponsive ?? false, hide: headerContext?.hideAvatar ?? false }));
44
24
  }
25
+ IDSHeader1177ProAvatar.displayName = "IDSHeader1177ProAvatar";
45
26
 
46
27
  export { IDSHeader1177ProAvatar };
@@ -16,4 +16,7 @@ interface IDSHeader1177ProBaseProps extends HTMLAttributes<HTMLElement> {
16
16
  mobileMenu?: ReactNode;
17
17
  }
18
18
  export declare function IDSHeader1177ProBase({ hideRegionPicker, unresponsive, logoText, srLogoText, logoHref, logoProps, avatar, logoLink, regionPicker, items, skipToContentLink, mobileMenu, className, children, ...props }: IDSHeader1177ProBaseProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare namespace IDSHeader1177ProBase {
20
+ var displayName: string;
21
+ }
19
22
  export {};
@@ -7,5 +7,6 @@ function IDSHeader1177ProBase({ hideRegionPicker = false, unresponsive = false,
7
7
  "ids-header-1177-pro--unresponsive": unresponsive
8
8
  }, className), children: [skipToContentLink && jsx("div", { className: "ids-header-1177-pro__skip-to-content", children: skipToContentLink }), jsxs("div", { className: "ids-header-1177-pro__main", children: [jsxs("div", { className: "ids-header-1177-pro__main-left", children: [jsx("div", { className: "ids-header-1177-pro__logo", children: logoLink ? (logoLink) : (jsx("a", { className: "ids-header-1177-pro__logo-link", href: logoHref, "aria-label": srLogoText, ...logoProps })) }), jsx("div", { className: "ids-header-1177-pro__logo-text", children: logoText }), !hideRegionPicker && regionPicker && jsx("div", { className: "ids-header-1177-pro__region-picker", children: regionPicker })] }), jsx("div", { className: "ids-header-1177-pro__main-right", children: jsxs("div", { className: "ids-header-1177-pro__items", children: [items, " ", avatar, mobileMenu && jsx("div", { className: "ids-header-1177-pro__mobile-menu", children: mobileMenu })] }) })] }), children] }));
9
9
  }
10
+ IDSHeader1177ProBase.displayName = "IDSHeader1177ProBase";
10
11
 
11
12
  export { IDSHeader1177ProBase };
@@ -5,4 +5,7 @@ interface IDSHeader1177ProItemBaseProps extends HTMLAttributes<HTMLElement> {
5
5
  unresponsive?: boolean;
6
6
  }
7
7
  export declare function IDSHeader1177ProItemBase({ mobile, icon, children, unresponsive, ...props }: IDSHeader1177ProItemBaseProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare namespace IDSHeader1177ProItemBase {
9
+ var displayName: string;
10
+ }
8
11
  export {};
@@ -8,5 +8,6 @@ function IDSHeader1177ProItemBase({ mobile = false, icon, children, unresponsive
8
8
  "ids-header-1177-pro-item--mobile": mobile
9
9
  }), children: [renderContent(), children] }));
10
10
  }
11
+ IDSHeader1177ProItemBase.displayName = "IDSHeader1177ProItemBase";
11
12
 
12
13
  export { IDSHeader1177ProItemBase };
@@ -4,4 +4,7 @@ interface IDSHeader1177ProItemProps extends HTMLAttributes<HTMLElement> {
4
4
  icon?: string;
5
5
  }
6
6
  export declare function IDSHeader1177ProItem({ mobile, icon, children, ...props }: IDSHeader1177ProItemProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare namespace IDSHeader1177ProItem {
8
+ var displayName: string;
9
+ }
7
10
  export {};
@@ -7,5 +7,6 @@ function IDSHeader1177ProItem({ mobile, icon, children, ...props }) {
7
7
  const headerContext = useHeaderContext() || { unresponsive: false };
8
8
  return (jsx(IDSHeader1177ProItemBase, { ...props, mobile: mobile, icon: icon, unresponsive: headerContext.unresponsive, children: children }));
9
9
  }
10
+ IDSHeader1177ProItem.displayName = "IDSHeader1177ProItem";
10
11
 
11
12
  export { IDSHeader1177ProItem };
@@ -9,4 +9,7 @@ interface IDSHeader1177ProMenuMobileBaseProps extends HTMLAttributes<HTMLElement
9
9
  buttonRef?: React.RefObject<HTMLButtonElement>;
10
10
  }
11
11
  export declare function IDSHeader1177ProMenuMobileBase({ srLabel, expanded, unresponsive, children, componentRef, buttonRef, client, onToggleMenu, ...props }: IDSHeader1177ProMenuMobileBaseProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare namespace IDSHeader1177ProMenuMobileBase {
13
+ var displayName: string;
14
+ }
12
15
  export {};
@@ -14,5 +14,6 @@ function IDSHeader1177ProMenuMobileBase({ srLabel = "Meny", expanded = false, un
14
14
  "ids-header-1177-pro-menu-mobile--unresponsive": unresponsive
15
15
  }), ref: componentRef, ...props, children: [jsx("button", { ...toggleHandler, ref: buttonRef, "aria-expanded": expanded, "aria-label": srLabel, "aria-controls": menuId, className: "ids-header-1177-pro-menu-mobile__button", children: jsx("div", { className: "ids-hamburger", children: jsx("span", { className: "ids-hamburger__lines" }) }) }), jsx("div", { id: menuId, className: "ids-header-1177-pro-menu-mobile__items", children: children })] }));
16
16
  }
17
+ IDSHeader1177ProMenuMobileBase.displayName = "IDSHeader1177ProMenuMobileBase";
17
18
 
18
19
  export { IDSHeader1177ProMenuMobileBase };
@@ -7,4 +7,7 @@ interface IDSHeader1177ProMenuMobileProps extends HTMLAttributes<HTMLElement> {
7
7
  onClosed?: () => void;
8
8
  }
9
9
  export declare function IDSHeader1177ProMenuMobile({ srLabel, persistent, expanded, children, onExpanded, onClosed, ...props }: IDSHeader1177ProMenuMobileProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare namespace IDSHeader1177ProMenuMobile {
11
+ var displayName: string;
12
+ }
10
13
  export {};
@@ -1,44 +1,24 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { useState, useRef, useEffect } from 'react';
3
+ import { useState, useRef } from 'react';
4
4
  import { IDSHeader1177ProMenuMobileBase } from './header-1177-pro-menu-mobile-base.js';
5
5
  import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
6
6
  import { useClickOutside } from '../utils/hooks/useClickOutside.js';
7
7
  import { useEsc } from '../utils/hooks/useEsc.js';
8
+ import { useLinkClick } from '../utils/hooks/useLinkClick.js';
8
9
 
9
10
  function IDSHeader1177ProMenuMobile({ srLabel = "Meny", persistent = false, expanded = false, children, onExpanded, onClosed, ...props }) {
10
11
  const [isExpanded, setIsExpanded] = useState(expanded);
11
12
  const headerContext = useHeaderContext();
12
13
  const componentRef = useRef(null);
13
14
  const buttonRef = useRef(null);
14
- useClickOutside([componentRef, buttonRef], () => {
15
- if (!persistent)
16
- setIsExpanded(false);
17
- });
18
- useEsc(() => setIsExpanded(false), buttonRef, componentRef, isExpanded && !persistent);
19
- const handleLinkClick = () => {
15
+ const closeMenu = () => {
20
16
  setIsExpanded(false);
21
17
  onClosed?.();
22
18
  };
23
- const handleClickOutside = (event) => {
24
- if (!persistent && componentRef.current && !componentRef.current.contains(event.target)) {
25
- setIsExpanded(false);
26
- onClosed?.();
27
- }
28
- };
29
- useEffect(() => {
30
- document.addEventListener("click", handleClickOutside);
31
- return () => document.removeEventListener("click", handleClickOutside);
32
- }, [persistent]);
33
- useEffect(() => {
34
- if (!persistent && isExpanded) {
35
- const links = componentRef.current?.querySelectorAll("a") || [];
36
- links.forEach(link => link.addEventListener("click", handleLinkClick));
37
- return () => {
38
- links.forEach(link => link.removeEventListener("click", handleLinkClick));
39
- };
40
- }
41
- }, [isExpanded, persistent]);
19
+ useClickOutside(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
20
+ useEsc(closeMenu, buttonRef, componentRef, !persistent && isExpanded);
21
+ useLinkClick(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
42
22
  const toggleMenu = () => {
43
23
  const next = !isExpanded;
44
24
  setIsExpanded(next);
@@ -46,5 +26,6 @@ function IDSHeader1177ProMenuMobile({ srLabel = "Meny", persistent = false, expa
46
26
  };
47
27
  return (jsx(IDSHeader1177ProMenuMobileBase, { ...props, client: true, children: children, srLabel: srLabel, expanded: isExpanded, unresponsive: headerContext?.unresponsive, onToggleMenu: toggleMenu, componentRef: componentRef, buttonRef: buttonRef }));
48
28
  }
29
+ IDSHeader1177ProMenuMobile.displayName = "IDSHeader1177ProMenuMobile";
49
30
 
50
31
  export { IDSHeader1177ProMenuMobile };
@@ -5,6 +5,11 @@ interface IDSHeader1177ProNavBaseProps {
5
5
  mobileAvatar?: ReactNode;
6
6
  children?: ReactNode;
7
7
  unresponsive?: boolean;
8
+ mobileOnly?: boolean;
9
+ srLabel?: string;
10
+ }
11
+ export declare function IDSHeader1177ProNavBase({ mobileRegionPicker, mobileAvatar, mobileNavItems, children, unresponsive, mobileOnly, srLabel, ...props }: IDSHeader1177ProNavBaseProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare namespace IDSHeader1177ProNavBase {
13
+ var displayName: string;
8
14
  }
9
- export declare function IDSHeader1177ProNavBase({ mobileRegionPicker, mobileAvatar, mobileNavItems, children, unresponsive, ...props }: IDSHeader1177ProNavBaseProps): import("react/jsx-runtime").JSX.Element;
10
15
  export {};
@@ -1,10 +1,12 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
3
 
4
- function IDSHeader1177ProNavBase({ mobileRegionPicker, mobileAvatar, mobileNavItems, children, unresponsive = false, ...props }) {
4
+ function IDSHeader1177ProNavBase({ mobileRegionPicker, mobileAvatar, mobileNavItems, children, unresponsive = false, mobileOnly = false, srLabel = "Huvudmeny", ...props }) {
5
5
  return (jsx("nav", { className: clsx("ids-header-1177-pro-nav", {
6
- "ids-header-1177-pro-nav--unresponsive": unresponsive
7
- }), "aria-label": "Huvudmeny", ...props, children: jsxs("div", { className: "ids-header-1177-pro-nav__inner", children: [children, mobileRegionPicker, mobileNavItems, mobileAvatar] }) }));
6
+ "ids-header-1177-pro-nav--unresponsive": unresponsive,
7
+ "ids-header-1177-pro-nav--only-mobile": mobileOnly
8
+ }), "aria-label": srLabel, ...props, children: jsxs("div", { className: "ids-header-1177-pro-nav__inner", children: [children, mobileRegionPicker, mobileNavItems, mobileAvatar] }) }));
8
9
  }
10
+ IDSHeader1177ProNavBase.displayName = "IDSHeader1177ProNavBase";
9
11
 
10
12
  export { IDSHeader1177ProNavBase };
@@ -17,3 +17,6 @@ export interface IDSHeader1177ProNavItemBaseProps extends HTMLAttributes<HTMLEle
17
17
  client?: boolean;
18
18
  }
19
19
  export declare function IDSHeader1177ProNavItemBase({ label, active, expanded, children, col1, col2, col3, col4, componentRef, menuRef, buttonRef, onToggleItem, unresponsive, client, ...props }: IDSHeader1177ProNavItemBaseProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare namespace IDSHeader1177ProNavItemBase {
21
+ var displayName: string;
22
+ }
@@ -27,5 +27,6 @@ function IDSHeader1177ProNavItemBase({ label, active, expanded, children, col1,
27
27
  "ids-header-1177-pro-nav-item__menu--expanded": expanded
28
28
  }), children: jsxs("div", { className: "ids-header-1177-pro-nav-item__menu-content", children: [jsx("div", { className: "ids-header-1177-pro-nav-item__menu-col-1", children: col1?.map((link, idx) => (jsx("div", { className: "ids-header-1177-pro-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-1177-pro-nav-item__menu-col-2", children: col2?.map((link, idx) => (jsx("div", { className: "ids-header-1177-pro-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-1177-pro-nav-item__menu-col-3", children: col3?.map((link, idx) => (jsx("div", { className: "ids-header-1177-pro-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-1177-pro-nav-item__menu-col-4", children: col4?.map((link, idx) => (jsx("div", { className: "ids-header-1177-pro-nav__menu-item-wrapper", children: link }, idx))) })] }) })] }));
29
29
  }
30
+ IDSHeader1177ProNavItemBase.displayName = "IDSHeader1177ProNavItemBase";
30
31
 
31
32
  export { IDSHeader1177ProNavItemBase };
@@ -4,4 +4,7 @@ interface IDSHeader1177ProNavItemMobileBaseProps extends HTMLAttributes<HTMLElem
4
4
  unresponsive?: boolean;
5
5
  }
6
6
  export declare function IDSHeader1177ProNavItemMobileBase({ icon, unresponsive, children, ...props }: IDSHeader1177ProNavItemMobileBaseProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare namespace IDSHeader1177ProNavItemMobileBase {
8
+ var displayName: string;
9
+ }
7
10
  export {};
@@ -6,5 +6,6 @@ function IDSHeader1177ProNavItemMobileBase({ icon = "", unresponsive = false, ch
6
6
  "ids-header-1177-pro-nav-item-mobile--unresponsive": unresponsive
7
7
  }), children: [icon && (jsx("span", { className: "ids-header-1177-pro-nav-item-mobile__icon", children: jsx("span", { className: `ids-icon-${icon}` }) })), children] }));
8
8
  }
9
+ IDSHeader1177ProNavItemMobileBase.displayName = "IDSHeader1177ProNavItemMobileBase";
9
10
 
10
11
  export { IDSHeader1177ProNavItemMobileBase };
@@ -4,4 +4,7 @@ interface IDSHeader1177ProNavItemMobileProps extends HTMLAttributes<HTMLElement>
4
4
  unresponsive?: boolean;
5
5
  }
6
6
  export declare function IDSHeader1177ProNavItemMobile({ icon, unresponsive, children, ...props }: IDSHeader1177ProNavItemMobileProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare namespace IDSHeader1177ProNavItemMobile {
8
+ var displayName: string;
9
+ }
7
10
  export {};
@@ -7,5 +7,6 @@ function IDSHeader1177ProNavItemMobile({ icon, unresponsive, children, ...props
7
7
  const headerContext = useHeaderContext();
8
8
  return (jsx(IDSHeader1177ProNavItemMobileBase, { ...props, unresponsive: headerContext?.unresponsive, icon: icon, children: children }));
9
9
  }
10
+ IDSHeader1177ProNavItemMobile.displayName = "IDSHeader1177ProNavItemMobile";
10
11
 
11
12
  export { IDSHeader1177ProNavItemMobile };
@@ -13,3 +13,6 @@ export interface IDSHeader1177ProNavItemProps extends HTMLAttributes<HTMLElement
13
13
  unresponsive?: boolean;
14
14
  }
15
15
  export declare function IDSHeader1177ProNavItem({ expanded, ...props }: IDSHeader1177ProNavItemProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace IDSHeader1177ProNavItem {
17
+ var displayName: string;
18
+ }
@@ -5,6 +5,7 @@ import { IDSHeader1177ProNavItemBase } from './header-1177-pro-nav-item-base.js'
5
5
  import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
6
6
  import { useClickOutside } from '../utils/hooks/useClickOutside.js';
7
7
  import { useEsc } from '../utils/hooks/useEsc.js';
8
+ import { useLinkClick } from '../utils/hooks/useLinkClick.js';
8
9
 
9
10
  function IDSHeader1177ProNavItem({ expanded = false, ...props }) {
10
11
  const headerContext = useHeaderContext();
@@ -12,39 +13,15 @@ function IDSHeader1177ProNavItem({ expanded = false, ...props }) {
12
13
  const componentRef = useRef(null);
13
14
  const menuRef = useRef(null);
14
15
  const buttonRef = useRef(null);
15
- useClickOutside([componentRef, buttonRef], () => {
16
- setIsExpanded(false);
17
- });
18
- useEsc(() => setIsExpanded(false), buttonRef, componentRef);
16
+ const closeMenu = () => setIsExpanded(false);
17
+ useClickOutside(closeMenu, componentRef, buttonRef, isExpanded);
18
+ useEsc(closeMenu, buttonRef, componentRef, isExpanded);
19
+ useLinkClick(closeMenu, menuRef, buttonRef, isExpanded);
19
20
  useEffect(() => {
20
21
  setIsExpanded(expanded);
21
22
  }, [expanded]);
22
- // close when clicking outside the menu
23
- useEffect(() => {
24
- const onClickOutside = (event) => {
25
- if (componentRef.current && !componentRef.current.contains(event.target)) {
26
- setIsExpanded(false);
27
- }
28
- };
29
- document.addEventListener("click", onClickOutside);
30
- return () => document.removeEventListener("click", onClickOutside);
31
- }, []);
32
- // close when clicking any link inside the menu
33
- useEffect(() => {
34
- const menuEl = menuRef.current;
35
- if (!menuEl)
36
- return;
37
- const onMenuClick = (event) => {
38
- const target = event.target;
39
- const anchor = target.closest("a");
40
- if (anchor && menuEl.contains(anchor)) {
41
- setIsExpanded(false);
42
- }
43
- };
44
- menuEl.addEventListener("click", onMenuClick);
45
- return () => menuEl.removeEventListener("click", onMenuClick);
46
- }, [menuRef]);
47
23
  return (jsx(IDSHeader1177ProNavItemBase, { ...props, client: true, expanded: isExpanded, unresponsive: headerContext?.unresponsive, componentRef: componentRef, menuRef: menuRef, buttonRef: buttonRef, onToggleItem: () => setIsExpanded((prev) => !prev) }));
48
24
  }
25
+ IDSHeader1177ProNavItem.displayName = "IDSHeader1177ProNavItem";
49
26
 
50
27
  export { IDSHeader1177ProNavItem };
@@ -3,6 +3,11 @@ interface IDSHeader1177ProNavProps extends HTMLAttributes<HTMLElement> {
3
3
  mobileRegionPicker?: ReactNode;
4
4
  mobileNavItems?: ReactNode;
5
5
  mobileAvatar?: ReactNode;
6
+ mobileOnly?: boolean;
7
+ srLabel?: string;
8
+ }
9
+ export declare function IDSHeader1177ProNav({ mobileRegionPicker, mobileOnly, srLabel, mobileAvatar, mobileNavItems, children, ...props }: IDSHeader1177ProNavProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare namespace IDSHeader1177ProNav {
11
+ var displayName: string;
6
12
  }
7
- export declare function IDSHeader1177ProNav({ mobileRegionPicker, mobileAvatar, mobileNavItems, children, ...props }: IDSHeader1177ProNavProps): import("react/jsx-runtime").JSX.Element;
8
13
  export {};
@@ -3,9 +3,10 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { IDSHeader1177ProNavBase } from './header-1177-pro-nav-base.js';
4
4
  import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
5
5
 
6
- function IDSHeader1177ProNav({ mobileRegionPicker, mobileAvatar, mobileNavItems, children, ...props }) {
6
+ function IDSHeader1177ProNav({ mobileRegionPicker, mobileOnly, srLabel, mobileAvatar, mobileNavItems, children, ...props }) {
7
7
  const headerContext = useHeaderContext() || { unresponsive: false };
8
- return (jsx(IDSHeader1177ProNavBase, { ...props, mobileRegionPicker: mobileRegionPicker, mobileNavItems: mobileNavItems, mobileAvatar: mobileAvatar, unresponsive: headerContext.unresponsive, children: children }));
8
+ return (jsx(IDSHeader1177ProNavBase, { ...props, mobileOnly: mobileOnly, srLabel: srLabel, mobileRegionPicker: mobileRegionPicker, mobileNavItems: mobileNavItems, mobileAvatar: mobileAvatar, unresponsive: headerContext.unresponsive, children: children }));
9
9
  }
10
+ IDSHeader1177ProNav.displayName = "IDSHeader1177ProNav";
10
11
 
11
12
  export { IDSHeader1177ProNav };
@@ -7,3 +7,6 @@ export interface IDSHeader1177ProRegionPickerBaseProps extends HTMLAttributes<HT
7
7
  onToggleRegion?: () => void;
8
8
  }
9
9
  export declare function IDSHeader1177ProRegionPickerBase({ text, expanded, hide, children, client, onToggleRegion, ...props }: IDSHeader1177ProRegionPickerBaseProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare namespace IDSHeader1177ProRegionPickerBase {
11
+ var displayName: string;
12
+ }
@@ -11,9 +11,10 @@ function IDSHeader1177ProRegionPickerBase({ text = "Välj region", expanded, hid
11
11
  : {};
12
12
  return (jsxs("div", { className: clsx("ids-header-1177-pro-region-picker", {
13
13
  "ids-header-1177-pro-region-picker--selected-region": !!children
14
- }), ...props, children: [jsx("div", { className: "ids-header-1177-pro-region-picker__region-icon", children: children }), jsx("div", { className: "ids-header-1177-pro-region-picker__selector", children: jsx("button", { ...toggleHandler, className: clsx("ids-header-1177-pro-region-picker__button", {
14
+ }), ...props, children: [jsx("div", { className: "ids-header-1177-pro-region-picker__region-icon", children: children }), jsx("div", { className: "ids-header-1177-pro-region-picker__selector", children: jsx("button", { type: "button", ...toggleHandler, className: clsx("ids-header-1177-pro-region-picker__button", {
15
15
  "ids-header-1177-pro-region-picker__button--expanded": expanded
16
16
  }), "aria-label": text, children: text }) })] }));
17
17
  }
18
+ IDSHeader1177ProRegionPickerBase.displayName = "IDSHeader1177ProRegionPickerBase";
18
19
 
19
20
  export { IDSHeader1177ProRegionPickerBase };
@@ -4,6 +4,10 @@ export interface IDSHeader1177ProRegionPickerMobileBaseProps extends HTMLAttribu
4
4
  expanded?: boolean;
5
5
  hide?: boolean;
6
6
  client?: boolean;
7
+ unresponsive?: boolean;
7
8
  onToggleRegion?: () => void;
8
9
  }
9
- export declare function IDSHeader1177ProRegionPickerMobileBase({ text, expanded, children, hide, client, onToggleRegion, ...props }: IDSHeader1177ProRegionPickerMobileBaseProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function IDSHeader1177ProRegionPickerMobileBase({ text, expanded, children, hide, client, unresponsive, onToggleRegion, ...props }: IDSHeader1177ProRegionPickerMobileBaseProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare namespace IDSHeader1177ProRegionPickerMobileBase {
12
+ var displayName: string;
13
+ }