@inera/ids-react 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 (370) hide show
  1. package/components/accordion/accordion-base.d.ts +18 -0
  2. package/components/accordion/accordion-base.js +33 -0
  3. package/components/accordion/accordion.d.ts +5 -4
  4. package/components/accordion/accordion.js +16 -35
  5. package/components/alert/alert-base.d.ts +21 -0
  6. package/components/alert/alert-base.js +29 -0
  7. package/components/alert/alert.d.ts +3 -19
  8. package/components/alert/alert.js +8 -18
  9. package/components/alert/global-alert-base.d.ts +15 -0
  10. package/components/alert/global-alert-base.js +21 -0
  11. package/components/alert/global-alert.d.ts +7 -0
  12. package/components/alert/global-alert.js +19 -0
  13. package/components/badge/badge.js +2 -2
  14. package/components/breadcrumbs/breadcrumbs.js +2 -2
  15. package/components/{button-group → button}/button-group.js +2 -2
  16. package/components/button/button.js +3 -3
  17. package/components/card/card.js +3 -3
  18. package/components/carousel/carousel-item.d.ts +5 -4
  19. package/components/carousel/carousel-item.js +8 -6
  20. package/components/carousel/carousel.d.ts +4 -1
  21. package/components/carousel/carousel.js +24 -39
  22. package/components/{pagination/data-pagination → data-pagination}/data-pagination.d.ts +2 -6
  23. package/components/data-pagination/data-pagination.js +12 -0
  24. package/components/date-label/date-label.js +2 -2
  25. package/components/dialog/dialog-base.d.ts +21 -0
  26. package/components/dialog/dialog-base.js +29 -0
  27. package/components/dialog/dialog.d.ts +14 -17
  28. package/components/dialog/dialog.js +36 -36
  29. package/components/dropdown/dropdown-base.d.ts +18 -0
  30. package/components/dropdown/dropdown-base.js +42 -0
  31. package/components/dropdown/dropdown-content-button.d.ts +0 -1
  32. package/components/dropdown/dropdown-content-button.js +0 -1
  33. package/components/dropdown/dropdown-content-link.d.ts +2 -3
  34. package/components/dropdown/dropdown-content-link.js +3 -10
  35. package/components/dropdown/dropdown.d.ts +11 -13
  36. package/components/dropdown/dropdown.js +34 -53
  37. package/components/footer-1177/footer-1177.d.ts +6 -7
  38. package/components/footer-1177/footer-1177.js +8 -5
  39. package/components/footer-1177-admin/footer-1177-admin.d.ts +6 -7
  40. package/components/footer-1177-admin/footer-1177-admin.js +9 -6
  41. package/components/footer-1177-pro/footer-1177-pro.d.ts +6 -7
  42. package/components/footer-1177-pro/footer-1177-pro.js +9 -6
  43. package/components/footer-inera/footer-inera.d.ts +6 -7
  44. package/components/footer-inera/footer-inera.js +9 -6
  45. package/components/footer-inera-admin/footer-inera-admin.d.ts +6 -7
  46. package/components/footer-inera-admin/footer-inera-admin.js +9 -6
  47. package/components/form/check-button/check-button.d.ts +5 -6
  48. package/components/form/check-button/check-button.js +5 -10
  49. package/components/form/checkbox/checkbox-base.d.ts +19 -0
  50. package/components/form/checkbox/checkbox-base.js +29 -0
  51. package/components/form/checkbox/checkbox-group-base.d.ts +12 -0
  52. package/components/form/checkbox/checkbox-group-base.js +13 -0
  53. package/components/form/checkbox/checkbox-group.d.ts +4 -5
  54. package/components/form/checkbox/checkbox-group.js +26 -30
  55. package/components/form/checkbox/checkbox.d.ts +3 -3
  56. package/components/form/checkbox/checkbox.js +17 -41
  57. package/components/form/darkmode-toggle/darkmode-toggle.d.ts +11 -0
  58. package/components/form/darkmode-toggle/darkmode-toggle.js +13 -0
  59. package/components/form/datepicker/datepicker.d.ts +11 -4
  60. package/components/form/datepicker/datepicker.js +65 -27
  61. package/components/form/error-message/error-message.d.ts +1 -2
  62. package/components/form/error-message/error-message.js +2 -4
  63. package/components/form/form-hooks/useGroupValidity.d.ts +4 -1
  64. package/components/form/form-hooks/useGroupValidity.js +7 -2
  65. package/components/form/form-hooks/useInputValidity.d.ts +1 -1
  66. package/components/form/form-hooks/useInputValidity.js +9 -5
  67. package/components/form/input/input-base.d.ts +24 -0
  68. package/components/form/input/input-base.js +32 -0
  69. package/components/form/input/input.d.ts +3 -2
  70. package/components/form/input/input.js +8 -24
  71. package/components/form/radio/radio-base.d.ts +16 -0
  72. package/components/form/radio/radio-base.js +24 -0
  73. package/components/form/radio/radio-group-base.d.ts +13 -0
  74. package/components/form/radio/radio-group-base.js +10 -0
  75. package/components/form/radio/radio-group.d.ts +6 -5
  76. package/components/form/radio/radio-group.js +25 -19
  77. package/components/form/radio/radio.d.ts +9 -9
  78. package/components/form/radio/radio.js +7 -20
  79. package/components/form/radio-button/radio-button-group-base.d.ts +8 -0
  80. package/components/form/radio-button/radio-button-group-base.js +8 -0
  81. package/components/form/radio-button/radio-button-group.d.ts +4 -3
  82. package/components/form/radio-button/radio-button-group.js +18 -12
  83. package/components/form/radio-button/radio-button.d.ts +4 -5
  84. package/components/form/radio-button/radio-button.js +5 -10
  85. package/components/form/range/range-base.d.ts +18 -0
  86. package/components/form/range/range-base.js +16 -0
  87. package/components/form/range/range.d.ts +3 -6
  88. package/components/form/range/range.js +23 -23
  89. package/components/form/select/select-base.d.ts +19 -0
  90. package/components/form/select/select-base.js +24 -0
  91. package/components/form/select/select.d.ts +7 -7
  92. package/components/form/select/select.js +8 -18
  93. package/components/form/select-multiple/select-multiple-base.d.ts +27 -0
  94. package/components/form/select-multiple/select-multiple-base.js +27 -0
  95. package/components/form/select-multiple/select-multiple.d.ts +10 -7
  96. package/components/form/select-multiple/select-multiple.js +29 -54
  97. package/components/form/spinner/spinner.d.ts +3 -4
  98. package/components/form/spinner/spinner.js +3 -7
  99. package/components/form/textarea/textarea-base.d.ts +24 -0
  100. package/components/form/textarea/textarea-base.js +34 -0
  101. package/components/form/textarea/textarea.d.ts +4 -5
  102. package/components/form/textarea/textarea.js +6 -22
  103. package/components/form/time/time-base.d.ts +17 -0
  104. package/components/form/time/time-base.js +24 -0
  105. package/components/form/time/time.d.ts +8 -7
  106. package/components/form/time/time.js +5 -16
  107. package/components/form/toggle/toggle.d.ts +1 -2
  108. package/components/form/toggle/toggle.js +5 -8
  109. package/components/grid/column.d.ts +1 -1
  110. package/components/grid/column.js +6 -7
  111. package/components/grid/container.js +1 -1
  112. package/components/grid/row.js +1 -1
  113. package/components/grid-layout/grid-column.d.ts +19 -0
  114. package/components/grid-layout/grid-column.js +14 -0
  115. package/components/grid-layout/grid-container.d.ts +10 -0
  116. package/components/grid-layout/grid-container.js +17 -0
  117. package/components/grid-layout/grid-row.d.ts +8 -0
  118. package/components/grid-layout/grid-row.js +12 -0
  119. package/components/header-1177/header-1177-avatar-base.d.ts +16 -0
  120. package/components/header-1177/header-1177-avatar-base.js +24 -0
  121. package/components/header-1177/header-1177-avatar.d.ts +4 -7
  122. package/components/header-1177/header-1177-avatar.js +35 -42
  123. package/components/header-1177/header-1177-base.d.ts +18 -0
  124. package/components/header-1177/header-1177-base.js +14 -0
  125. package/components/header-1177/header-1177-item-base.d.ts +9 -0
  126. package/components/header-1177/header-1177-item-base.js +13 -0
  127. package/components/header-1177/header-1177-item.d.ts +2 -7
  128. package/components/header-1177/header-1177-item.js +6 -29
  129. package/components/header-1177/header-1177-menu-mobile-base.d.ts +12 -0
  130. package/components/header-1177/header-1177-menu-mobile-base.js +18 -0
  131. package/components/header-1177/header-1177-menu-mobile.d.ts +4 -5
  132. package/components/header-1177/header-1177-menu-mobile.js +29 -28
  133. package/components/header-1177/header-1177-nav-base.d.ts +9 -0
  134. package/components/header-1177/header-1177-nav-base.js +12 -0
  135. package/components/header-1177/header-1177-nav-item-base.d.ts +18 -0
  136. package/components/header-1177/header-1177-nav-item-base.js +31 -0
  137. package/components/header-1177/header-1177-nav-item-mobile-base.d.ts +7 -0
  138. package/components/header-1177/header-1177-nav-item-mobile-base.js +10 -0
  139. package/components/header-1177/header-1177-nav-item-mobile.d.ts +4 -8
  140. package/components/header-1177/header-1177-nav-item-mobile.js +5 -16
  141. package/components/header-1177/header-1177-nav-item.d.ts +7 -7
  142. package/components/header-1177/header-1177-nav-item.js +44 -35
  143. package/components/header-1177/header-1177-nav.d.ts +2 -4
  144. package/components/header-1177/header-1177-nav.js +5 -9
  145. package/components/header-1177/header-1177-region-picker-base.d.ts +9 -0
  146. package/components/header-1177/header-1177-region-picker-base.js +21 -0
  147. package/components/header-1177/header-1177-region-picker-mobile-base.d.ts +9 -0
  148. package/components/header-1177/header-1177-region-picker-mobile-base.js +21 -0
  149. package/components/header-1177/header-1177-region-picker-mobile.d.ts +3 -6
  150. package/components/header-1177/header-1177-region-picker-mobile.js +13 -29
  151. package/components/header-1177/header-1177-region-picker.d.ts +3 -6
  152. package/components/header-1177/header-1177-region-picker.js +15 -29
  153. package/components/header-1177/header-1177.d.ts +3 -3
  154. package/components/header-1177/header-1177.js +5 -10
  155. package/components/header-1177-admin/header-1177-admin-avatar-base.d.ts +14 -0
  156. package/components/header-1177-admin/header-1177-admin-avatar-base.js +23 -0
  157. package/components/header-1177-admin/header-1177-admin-avatar-mobile-base.d.ts +13 -0
  158. package/components/header-1177-admin/header-1177-admin-avatar-mobile-base.js +23 -0
  159. package/components/header-1177-admin/header-1177-admin-avatar-mobile.d.ts +3 -5
  160. package/components/header-1177-admin/header-1177-admin-avatar-mobile.js +27 -23
  161. package/components/header-1177-admin/header-1177-admin-avatar.d.ts +3 -5
  162. package/components/header-1177-admin/header-1177-admin-avatar.js +26 -25
  163. package/components/header-1177-admin/header-1177-admin-base.d.ts +18 -0
  164. package/components/header-1177-admin/header-1177-admin-base.js +14 -0
  165. package/components/header-1177-admin/header-1177-admin-item-base.d.ts +8 -0
  166. package/components/header-1177-admin/header-1177-admin-item-base.js +12 -0
  167. package/components/header-1177-admin/header-1177-admin-item.d.ts +3 -8
  168. package/components/header-1177-admin/header-1177-admin-item.js +5 -27
  169. package/components/header-1177-admin/header-1177-admin-menu-mobile-base.d.ts +11 -0
  170. package/components/header-1177-admin/header-1177-admin-menu-mobile-base.js +18 -0
  171. package/components/header-1177-admin/header-1177-admin-menu-mobile.d.ts +4 -5
  172. package/components/header-1177-admin/header-1177-admin-menu-mobile.js +27 -25
  173. package/components/header-1177-admin/header-1177-admin-nav-base.d.ts +7 -0
  174. package/components/header-1177-admin/header-1177-admin-nav-base.js +10 -0
  175. package/components/header-1177-admin/header-1177-admin-nav-item-base.d.ts +18 -0
  176. package/components/header-1177-admin/header-1177-admin-nav-item-base.js +31 -0
  177. package/components/header-1177-admin/header-1177-admin-nav-item-mobile-base.d.ts +7 -0
  178. package/components/header-1177-admin/header-1177-admin-nav-item-mobile-base.js +10 -0
  179. package/components/header-1177-admin/header-1177-admin-nav-item-mobile.d.ts +7 -0
  180. package/components/header-1177-admin/header-1177-admin-nav-item-mobile.js +11 -0
  181. package/components/header-1177-admin/header-1177-admin-nav-item.d.ts +6 -6
  182. package/components/header-1177-admin/header-1177-admin-nav-item.js +44 -35
  183. package/components/header-1177-admin/header-1177-admin-nav.d.ts +2 -4
  184. package/components/header-1177-admin/header-1177-admin-nav.js +4 -6
  185. package/components/header-1177-admin/header-1177-admin.d.ts +2 -3
  186. package/components/header-1177-admin/header-1177-admin.js +5 -10
  187. package/components/header-1177-pro/header-1177-pro-avatar-base.d.ts +14 -0
  188. package/components/header-1177-pro/header-1177-pro-avatar-base.js +23 -0
  189. package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.d.ts +13 -0
  190. package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.js +24 -0
  191. package/components/header-1177-pro/header-1177-pro-avatar-mobile.d.ts +3 -6
  192. package/components/header-1177-pro/header-1177-pro-avatar-mobile.js +23 -20
  193. package/components/header-1177-pro/header-1177-pro-avatar.d.ts +4 -6
  194. package/components/header-1177-pro/header-1177-pro-avatar.js +32 -30
  195. package/components/header-1177-pro/header-1177-pro-base.d.ts +19 -0
  196. package/components/header-1177-pro/header-1177-pro-base.js +11 -0
  197. package/components/header-1177-pro/header-1177-pro-item-base.d.ts +8 -0
  198. package/components/header-1177-pro/header-1177-pro-item-base.js +12 -0
  199. package/components/header-1177-pro/header-1177-pro-item.d.ts +3 -8
  200. package/components/header-1177-pro/header-1177-pro-item.js +5 -27
  201. package/components/header-1177-pro/header-1177-pro-menu-mobile-base.d.ts +11 -0
  202. package/components/header-1177-pro/header-1177-pro-menu-mobile-base.js +18 -0
  203. package/components/header-1177-pro/header-1177-pro-menu-mobile.d.ts +5 -6
  204. package/components/header-1177-pro/header-1177-pro-menu-mobile.js +27 -25
  205. package/components/header-1177-pro/header-1177-pro-nav-base.d.ts +10 -0
  206. package/components/header-1177-pro/header-1177-pro-nav-base.js +10 -0
  207. package/components/header-1177-pro/header-1177-pro-nav-item-base.d.ts +18 -0
  208. package/components/header-1177-pro/header-1177-pro-nav-item-base.js +31 -0
  209. package/components/header-1177-pro/header-1177-pro-nav-item-mobile-base.d.ts +7 -0
  210. package/components/header-1177-pro/header-1177-pro-nav-item-mobile-base.js +10 -0
  211. package/components/header-1177-pro/header-1177-pro-nav-item-mobile.d.ts +7 -0
  212. package/components/header-1177-pro/header-1177-pro-nav-item-mobile.js +11 -0
  213. package/components/header-1177-pro/header-1177-pro-nav-item.d.ts +6 -6
  214. package/components/header-1177-pro/header-1177-pro-nav-item.js +44 -35
  215. package/components/header-1177-pro/header-1177-pro-nav.d.ts +4 -5
  216. package/components/header-1177-pro/header-1177-pro-nav.js +5 -7
  217. package/components/header-1177-pro/header-1177-pro-region-picker-base.d.ts +9 -0
  218. package/components/header-1177-pro/header-1177-pro-region-picker-base.js +19 -0
  219. package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.d.ts +9 -0
  220. package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.js +19 -0
  221. package/components/header-1177-pro/header-1177-pro-region-picker-mobile.d.ts +3 -5
  222. package/components/header-1177-pro/header-1177-pro-region-picker-mobile.js +13 -29
  223. package/components/header-1177-pro/header-1177-pro-region-picker.d.ts +3 -5
  224. package/components/header-1177-pro/header-1177-pro-region-picker.js +15 -29
  225. package/components/header-1177-pro/header-1177-pro.d.ts +4 -5
  226. package/components/header-1177-pro/header-1177-pro.js +5 -7
  227. package/components/header-inera/header-inera-base.d.ts +14 -0
  228. package/components/header-inera/header-inera-base.js +11 -0
  229. package/components/header-inera/header-inera-item-base.d.ts +8 -0
  230. package/components/header-inera/header-inera-item-base.js +12 -0
  231. package/components/header-inera/header-inera-item.d.ts +3 -8
  232. package/components/header-inera/header-inera-item.js +5 -36
  233. package/components/header-inera/header-inera-menu-mobile-base.d.ts +11 -0
  234. package/components/header-inera/header-inera-menu-mobile-base.js +18 -0
  235. package/components/header-inera/header-inera-menu-mobile.d.ts +5 -6
  236. package/components/header-inera/header-inera-menu-mobile.js +27 -26
  237. package/components/header-inera/header-inera-nav-base.d.ts +7 -0
  238. package/components/header-inera/header-inera-nav-base.js +10 -0
  239. package/components/header-inera/header-inera-nav-item-base.d.ts +17 -0
  240. package/components/header-inera/header-inera-nav-item-base.js +26 -0
  241. package/components/header-inera/header-inera-nav-item.d.ts +7 -7
  242. package/components/header-inera/header-inera-nav-item.js +44 -34
  243. package/components/header-inera/header-inera-nav.d.ts +4 -6
  244. package/components/header-inera/header-inera-nav.js +4 -7
  245. package/components/header-inera/header-inera.d.ts +1 -3
  246. package/components/header-inera/header-inera.js +5 -7
  247. package/components/header-inera-admin/header-inera-admin-avatar-base.d.ts +14 -0
  248. package/components/header-inera-admin/header-inera-admin-avatar-base.js +23 -0
  249. package/components/header-inera-admin/header-inera-admin-avatar-mobile-base.d.ts +13 -0
  250. package/components/header-inera-admin/header-inera-admin-avatar-mobile-base.js +23 -0
  251. package/components/header-inera-admin/header-inera-admin-avatar-mobile.d.ts +3 -6
  252. package/components/header-inera-admin/header-inera-admin-avatar-mobile.js +26 -21
  253. package/components/header-inera-admin/header-inera-admin-avatar.d.ts +4 -6
  254. package/components/header-inera-admin/header-inera-admin-avatar.js +35 -31
  255. package/components/header-inera-admin/header-inera-admin-base.d.ts +15 -0
  256. package/components/header-inera-admin/header-inera-admin-base.js +20 -0
  257. package/components/header-inera-admin/header-inera-admin-item-base.d.ts +8 -0
  258. package/components/header-inera-admin/header-inera-admin-item-base.js +13 -0
  259. package/components/header-inera-admin/header-inera-admin-item.d.ts +3 -8
  260. package/components/header-inera-admin/header-inera-admin-item.js +6 -26
  261. package/components/header-inera-admin/header-inera-admin-menu-mobile-base.d.ts +11 -0
  262. package/components/header-inera-admin/header-inera-admin-menu-mobile-base.js +18 -0
  263. package/components/header-inera-admin/header-inera-admin-menu-mobile.d.ts +4 -5
  264. package/components/header-inera-admin/header-inera-admin-menu-mobile.js +27 -25
  265. package/components/header-inera-admin/header-inera-admin-nav-base.d.ts +7 -0
  266. package/components/header-inera-admin/header-inera-admin-nav-base.js +10 -0
  267. package/components/header-inera-admin/header-inera-admin-nav-item-base.d.ts +18 -0
  268. package/components/header-inera-admin/header-inera-admin-nav-item-base.js +31 -0
  269. package/components/header-inera-admin/header-inera-admin-nav-item-mobile-base.d.ts +7 -0
  270. package/components/header-inera-admin/header-inera-admin-nav-item-mobile-base.js +10 -0
  271. package/components/header-inera-admin/header-inera-admin-nav-item-mobile.d.ts +7 -0
  272. package/components/header-inera-admin/header-inera-admin-nav-item-mobile.js +11 -0
  273. package/components/header-inera-admin/header-inera-admin-nav-item.d.ts +7 -6
  274. package/components/header-inera-admin/header-inera-admin-nav-item.js +44 -34
  275. package/components/header-inera-admin/header-inera-admin-nav.d.ts +4 -6
  276. package/components/header-inera-admin/header-inera-admin-nav.js +5 -8
  277. package/components/header-inera-admin/header-inera-admin.d.ts +3 -4
  278. package/components/header-inera-admin/header-inera-admin.js +5 -16
  279. package/components/header-patient/header-patient.d.ts +2 -4
  280. package/components/header-patient/header-patient.js +6 -10
  281. package/components/{action-link → link}/action-link.js +2 -2
  282. package/components/link/box-link.d.ts +6 -0
  283. package/components/link/box-link.js +9 -0
  284. package/components/link/link.d.ts +2 -2
  285. package/components/link/link.js +3 -10
  286. package/components/list-pagination/list-pagination-links.d.ts +19 -0
  287. package/components/list-pagination/list-pagination-links.js +48 -0
  288. package/components/{pagination/list-pagination → list-pagination}/list-pagination.d.ts +3 -2
  289. package/components/{pagination/list-pagination → list-pagination}/list-pagination.js +4 -3
  290. package/components/mobile-menu/mobile-item-base.d.ts +14 -0
  291. package/components/mobile-menu/mobile-item-base.js +46 -0
  292. package/components/mobile-menu/mobile-item.d.ts +6 -0
  293. package/components/mobile-menu/mobile-item.js +26 -0
  294. package/components/mobile-menu/mobile-menu.d.ts +6 -0
  295. package/components/mobile-menu/mobile-menu.js +10 -0
  296. package/components/{navigation/content → navigation-content}/navigation-content.d.ts +1 -1
  297. package/components/{navigation/content → navigation-content}/navigation-content.js +1 -1
  298. package/components/{navigation/local → navigation-local}/navigation-local.d.ts +1 -1
  299. package/components/{navigation/local → navigation-local}/navigation-local.js +1 -1
  300. package/components/{notification/badge → notification-badge}/notification-badge.d.ts +1 -1
  301. package/components/notification-badge/notification-badge.js +9 -0
  302. package/components/popover/popover-base.d.ts +15 -0
  303. package/components/popover/popover-base.js +27 -0
  304. package/components/popover/popover-content.d.ts +19 -0
  305. package/components/popover/popover-content.js +20 -0
  306. package/components/popover/popover.d.ts +7 -8
  307. package/components/popover/popover.js +67 -161
  308. package/components/progressbar/progressbar.js +2 -2
  309. package/components/puff-list/{puff-list-item/puff-list-item-date.d.ts → puff-list-item-date.d.ts} +0 -1
  310. package/components/puff-list/{puff-list-item/puff-list-item-date.js → puff-list-item-date.js} +2 -3
  311. package/components/puff-list/{puff-list-item/puff-list-item-header.d.ts → puff-list-item-header.d.ts} +1 -1
  312. package/components/puff-list/puff-list-item-header.js +12 -0
  313. package/components/puff-list/{puff-list-item/puff-list-item-info.d.ts → puff-list-item-info.d.ts} +1 -2
  314. package/components/puff-list/puff-list-item-info.js +8 -0
  315. package/components/puff-list/{puff-list-item/puff-list-item.d.ts → puff-list-item.d.ts} +0 -1
  316. package/components/puff-list/{puff-list-item/puff-list-item.js → puff-list-item.js} +3 -3
  317. package/components/puff-list/puff-list.js +2 -3
  318. package/components/region-icon/region-icon.js +2 -2
  319. package/components/side-menu/side-menu-base.d.ts +22 -0
  320. package/components/side-menu/side-menu-base.js +42 -0
  321. package/components/side-menu/side-menu.d.ts +6 -9
  322. package/components/side-menu/side-menu.js +13 -43
  323. package/components/side-panel/side-panel-base.d.ts +24 -0
  324. package/components/side-panel/side-panel-base.js +33 -0
  325. package/components/side-panel/side-panel-provider.d.ts +7 -0
  326. package/components/side-panel/side-panel-provider.js +12 -0
  327. package/components/side-panel/side-panel.d.ts +14 -15
  328. package/components/side-panel/side-panel.js +49 -54
  329. package/components/stepper/step-base.d.ts +15 -0
  330. package/components/stepper/step-base.js +36 -0
  331. package/components/stepper/step.d.ts +5 -8
  332. package/components/stepper/step.js +17 -33
  333. package/components/stepper/stepper.d.ts +4 -6
  334. package/components/stepper/stepper.js +8 -13
  335. package/components/tabs/tab-link.d.ts +15 -0
  336. package/components/tabs/tab-link.js +10 -0
  337. package/components/tabs/tab-panel.d.ts +2 -4
  338. package/components/tabs/tab-panel.js +5 -12
  339. package/components/tabs/tab.d.ts +5 -5
  340. package/components/tabs/tab.js +5 -8
  341. package/components/tabs/tabs-base.d.ts +15 -0
  342. package/components/tabs/tabs-base.js +15 -0
  343. package/components/tabs/tabs.d.ts +5 -8
  344. package/components/tabs/tabs.js +38 -51
  345. package/components/tag/tag.d.ts +5 -15
  346. package/components/tag/tag.js +3 -8
  347. package/components/tooltip/tooltip-base.d.ts +14 -0
  348. package/components/tooltip/tooltip-base.js +18 -0
  349. package/components/tooltip/tooltip.d.ts +3 -10
  350. package/components/tooltip/tooltip.js +59 -43
  351. package/components/utils/contexts/HeaderContext.d.ts +1 -0
  352. package/index.d.ts +90 -16
  353. package/index.js +90 -16
  354. package/package.json +2 -2
  355. package/components/box-link/box-link.d.ts +0 -9
  356. package/components/box-link/box-link.js +0 -11
  357. package/components/global-alert/global-alert.d.ts +0 -16
  358. package/components/global-alert/global-alert.js +0 -26
  359. package/components/mobile/menu/item/mobile-item.d.ts +0 -15
  360. package/components/mobile/menu/item/mobile-item.js +0 -61
  361. package/components/mobile/menu/mobile-menu.d.ts +0 -7
  362. package/components/mobile/menu/mobile-menu.js +0 -12
  363. package/components/notification/badge/notification-badge.js +0 -9
  364. package/components/pagination/data-pagination/data-pagination.js +0 -16
  365. package/components/puff-list/puff-list-item/puff-list-item-header.js +0 -11
  366. package/components/puff-list/puff-list-item/puff-list-item-info.js +0 -10
  367. package/components/utils/hooks/useElementId.d.ts +0 -5
  368. package/components/utils/hooks/useElementId.js +0 -12
  369. /package/components/{button-group → button}/button-group.d.ts +0 -0
  370. /package/components/{action-link → link}/action-link.d.ts +0 -0
@@ -1,53 +1,55 @@
1
1
  "use client";
2
- import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { jsx } from 'react/jsx-runtime';
3
3
  import { useState, useRef, useEffect } from 'react';
4
- import '@inera/ids-design/components/header-inera-admin/header-inera-admin-menu-mobile.css';
4
+ import { IDSHeaderIneraAdminMenuMobileBase } from './header-inera-admin-menu-mobile-base.js';
5
5
  import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
6
- import clsx from 'clsx';
7
6
 
8
- const IDSHeaderIneraAdminMenuMobile = ({ srLabel = "Meny", persistent = false, children, onExpanded, onClosed, ...props }) => {
9
- const [isExpanded, setIsExpanded] = useState(false);
7
+ function IDSHeaderIneraAdminMenuMobile({ srLabel = "Meny", expanded = false, persistent = false, children, onExpanded, onClosed, ...props }) {
10
8
  const headerContext = useHeaderContext();
11
- const containerRef = useRef(null);
12
- const menuRef = useRef(null);
9
+ const [isExpanded, setIsExpanded] = useState(expanded);
10
+ const componentRef = useRef(null);
13
11
  const handleLinkClick = () => {
14
12
  setIsExpanded(false);
15
13
  onClosed?.();
16
14
  };
17
15
  const handleClickOutside = (event) => {
18
- if (!persistent && containerRef.current && !containerRef.current.contains(event.target)) {
16
+ if (!persistent && componentRef.current && !componentRef.current.contains(event.target)) {
19
17
  setIsExpanded(false);
20
18
  onClosed?.();
21
19
  }
22
20
  };
23
21
  useEffect(() => {
24
22
  document.addEventListener("click", handleClickOutside);
25
- return () => {
26
- document.removeEventListener("click", handleClickOutside);
27
- };
23
+ return () => document.removeEventListener("click", handleClickOutside);
28
24
  }, [persistent]);
29
25
  useEffect(() => {
30
26
  if (!persistent && isExpanded) {
31
- const links = menuRef.current?.querySelectorAll("a") || [];
27
+ const links = componentRef.current?.querySelectorAll("a") || [];
32
28
  links.forEach(link => link.addEventListener("click", handleLinkClick));
33
29
  return () => {
34
30
  links.forEach(link => link.removeEventListener("click", handleLinkClick));
35
31
  };
36
32
  }
37
33
  }, [isExpanded, persistent]);
38
- const toggleExpanded = () => {
39
- const newExpanded = !isExpanded;
40
- setIsExpanded(newExpanded);
41
- if (newExpanded) {
42
- onExpanded?.();
43
- }
44
- else {
45
- onClosed?.();
46
- }
34
+ const toggleMenu = () => {
35
+ const next = !isExpanded;
36
+ setIsExpanded(next);
37
+ next ? onExpanded?.() : onClosed?.();
47
38
  };
48
- return (jsxs("div", { className: "ids-header-inera-admin-menu-mobile-component", ref: containerRef, ...props, children: [jsx("button", { onClick: toggleExpanded, "aria-expanded": isExpanded, "aria-label": srLabel, className: clsx("ids-header-inera-admin-menu-mobile", {
49
- "ids-header-inera-admin-menu-mobile--unresponsive": headerContext?.unresponsive
50
- }), children: jsx("div", { className: "ids-hamburger", children: jsx("span", { className: "ids-hamburger__lines" }) }) }), isExpanded && (jsx("div", { className: "ids-header-inera-admin-menu-mobile__items", ref: menuRef, children: children }))] }));
51
- };
39
+ // Escape should also close
40
+ useEffect(() => {
41
+ if (!isExpanded || persistent)
42
+ return;
43
+ const handleKeyDown = (event) => {
44
+ if (event.key === "Escape") {
45
+ event.preventDefault();
46
+ setIsExpanded(false);
47
+ }
48
+ };
49
+ document.addEventListener("keydown", handleKeyDown);
50
+ return () => document.removeEventListener("keydown", handleKeyDown);
51
+ }, [isExpanded, persistent]);
52
+ return (jsx(IDSHeaderIneraAdminMenuMobileBase, { ...props, client: true, children: children, srLabel: srLabel, expanded: isExpanded, unresponsive: headerContext?.unresponsive, onToggleMenu: toggleMenu, componentRef: componentRef }));
53
+ }
52
54
 
53
55
  export { IDSHeaderIneraAdminMenuMobile };
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from "react";
2
+ interface IDSHeaderIneraAdminNavBaseProps {
3
+ children?: ReactNode;
4
+ unresponsive?: boolean;
5
+ }
6
+ export declare function IDSHeaderIneraAdminNavBase({ children, unresponsive, ...props }: IDSHeaderIneraAdminNavBaseProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,10 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import clsx from 'clsx';
3
+
4
+ function IDSHeaderIneraAdminNavBase({ children, unresponsive = false, ...props }) {
5
+ return (jsx("nav", { className: clsx("ids-header-inera-admin-nav", {
6
+ "ids-header-inera-admin-nav--unresponsive": unresponsive
7
+ }), "aria-label": "Huvudmeny", ...props, children: jsx("div", { className: "ids-header-inera-admin-nav__nav-items", children: children }) }));
8
+ }
9
+
10
+ export { IDSHeaderIneraAdminNavBase };
@@ -0,0 +1,18 @@
1
+ import React, { HTMLAttributes, ReactElement } from "react";
2
+ import { IDSLinkProps } from "../link/link";
3
+ export interface IDSHeaderIneraAdminNavItemBaseProps extends HTMLAttributes<HTMLElement> {
4
+ label?: string;
5
+ active?: boolean;
6
+ expanded?: boolean;
7
+ children?: React.ReactNode;
8
+ col1?: ReactElement<IDSLinkProps>[];
9
+ col2?: ReactElement<IDSLinkProps>[];
10
+ col3?: ReactElement<IDSLinkProps>[];
11
+ col4?: React.ReactNode;
12
+ componentRef?: React.Ref<HTMLDivElement>;
13
+ menuRef?: React.Ref<HTMLDivElement>;
14
+ onToggleItem?: () => void;
15
+ unresponsive?: boolean;
16
+ client?: boolean;
17
+ }
18
+ export declare function IDSHeaderIneraAdminNavItemBase({ label, active, expanded, children, col1, col2, col3, col4, componentRef, menuRef, onToggleItem, unresponsive, client, ...props }: IDSHeaderIneraAdminNavItemBaseProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,31 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import React, { useId } from 'react';
3
+ import clsx from 'clsx';
4
+
5
+ function IDSHeaderIneraAdminNavItemBase({ label, active, expanded, children, col1, col2, col3, col4, componentRef, menuRef, onToggleItem, unresponsive, client = false, ...props }) {
6
+ const itemId = `header-inera-admin-item-${useId()}`;
7
+ const toggleHandler = client && onToggleItem
8
+ ? {
9
+ onClick: onToggleItem
10
+ }
11
+ : {};
12
+ return (jsxs("div", { ref: componentRef, className: clsx("ids-header-inera-admin-nav-item", {
13
+ "ids-header-inera-admin-nav-item--unresponsive": unresponsive,
14
+ "ids-header-inera-admin-nav-item--expanded": expanded,
15
+ "ids-header-inera-admin-nav-item--active": active
16
+ }), ...props, children: [!!label && (jsx("button", { "aria-controls": itemId, "aria-expanded": expanded, className: "ids-header-inera-admin-nav-item__button", ...toggleHandler, children: label })), !label && (jsx("span", { className: "ids-header-inera-admin-nav-item__link", children: React.Children.map(children, child => {
17
+ if (!React.isValidElement(child))
18
+ return child;
19
+ const element = child;
20
+ if (active && !element.props["aria-current"]) {
21
+ return React.cloneElement(element, {
22
+ "aria-current": "page"
23
+ });
24
+ }
25
+ return element;
26
+ }) })), jsx("div", { ref: menuRef, id: itemId, className: clsx("ids-header-inera-admin-nav-item__menu", {
27
+ "ids-header-inera-admin-nav-item__menu--expanded": expanded
28
+ }), children: jsxs("div", { className: "ids-header-inera-admin-nav-item__menu-content", children: [jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-1", children: col1?.map((link, idx) => (jsx("div", { className: "ids-header-inera-admin-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-2", children: col2?.map((link, idx) => (jsx("div", { className: "ids-header-inera-admin-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-3", children: col3?.map((link, idx) => (jsx("div", { className: "ids-header-inera-admin-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-4", children: col4 })] }) })] }));
29
+ }
30
+
31
+ export { IDSHeaderIneraAdminNavItemBase };
@@ -0,0 +1,7 @@
1
+ import { HTMLAttributes } from "react";
2
+ interface IDSHeaderIneraAdminNavItemMobileBaseProps extends HTMLAttributes<HTMLElement> {
3
+ icon?: string;
4
+ unresponsive?: boolean;
5
+ }
6
+ export declare function IDSHeaderIneraAdminNavItemMobileBase({ icon, unresponsive, children, ...props }: IDSHeaderIneraAdminNavItemMobileBaseProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,10 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import clsx from 'clsx';
3
+
4
+ function IDSHeaderIneraAdminNavItemMobileBase({ icon = "", unresponsive = false, children, ...props }) {
5
+ return (jsxs("div", { ...props, className: clsx("ids-header-inera-admin-nav-item-mobile", {
6
+ "ids-header-inera-admin-nav-item-mobile--unresponsive": unresponsive
7
+ }), children: [icon && (jsx("span", { className: "ids-header-inera-admin-nav-item-mobile__icon", children: jsx("span", { className: `ids-icon-${icon}` }) })), children] }));
8
+ }
9
+
10
+ export { IDSHeaderIneraAdminNavItemMobileBase };
@@ -0,0 +1,7 @@
1
+ import { HTMLAttributes } from "react";
2
+ interface IDSHeaderIneraAdminNavItemMobileProps extends HTMLAttributes<HTMLElement> {
3
+ icon?: string;
4
+ unresponsive?: boolean;
5
+ }
6
+ export declare function IDSHeaderIneraAdminNavItemMobile({ icon, unresponsive, children, ...props }: IDSHeaderIneraAdminNavItemMobileProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
4
+ import { IDSHeaderIneraAdminNavItemMobileBase } from './header-inera-admin-nav-item-mobile-base.js';
5
+
6
+ function IDSHeaderIneraAdminNavItemMobile({ icon, unresponsive, children, ...props }) {
7
+ const headerContext = useHeaderContext();
8
+ return (jsx(IDSHeaderIneraAdminNavItemMobileBase, { ...props, unresponsive: headerContext?.unresponsive, icon: icon, children: children }));
9
+ }
10
+
11
+ export { IDSHeaderIneraAdminNavItemMobile };
@@ -1,14 +1,15 @@
1
- import React, { ReactNode, ReactElement } from "react";
2
- import "@inera/ids-design/components/header-inera-admin/header-inera-admin-nav-item.css";
1
+ import { HTMLAttributes, ReactElement } from "react";
3
2
  import { IDSLinkProps } from "../link/link";
4
- export interface IDSHeaderIneraAdminNavItemProps {
3
+ export interface IDSHeaderIneraAdminNavItemProps extends HTMLAttributes<HTMLElement> {
5
4
  label?: string;
6
5
  active?: boolean;
7
6
  expanded?: boolean;
8
- children?: ReactNode;
7
+ children?: React.ReactNode;
9
8
  col1?: ReactElement<IDSLinkProps>[];
10
9
  col2?: ReactElement<IDSLinkProps>[];
11
10
  col3?: ReactElement<IDSLinkProps>[];
12
- col4?: ReactNode;
11
+ col4?: React.ReactNode;
12
+ itemId?: string;
13
+ unresponsive?: boolean;
13
14
  }
14
- export declare const IDSHeaderIneraAdminNavItem: React.FC<IDSHeaderIneraAdminNavItemProps>;
15
+ export declare function IDSHeaderIneraAdminNavItem({ expanded, ...props }: IDSHeaderIneraAdminNavItemProps): import("react/jsx-runtime").JSX.Element;
@@ -1,46 +1,56 @@
1
1
  "use client";
2
- import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { jsx } from 'react/jsx-runtime';
3
3
  import { useState, useRef, useEffect } from 'react';
4
- import '@inera/ids-design/components/header-inera-admin/header-inera-admin-nav-item.css';
5
- import clsx from 'clsx';
4
+ import { IDSHeaderIneraAdminNavItemBase } from './header-inera-admin-nav-item-base.js';
6
5
  import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
7
- import { useElementId } from '../utils/hooks/useElementId.js';
8
6
 
9
- const IDSHeaderIneraAdminNavItem = ({ label = "", active = false, expanded = false, children, col1, col2, col3, col4, ...props }) => {
7
+ function IDSHeaderIneraAdminNavItem({ expanded = false, ...props }) {
10
8
  const headerContext = useHeaderContext();
11
9
  const [isExpanded, setIsExpanded] = useState(expanded);
12
- const containerRef = useRef(null);
13
- const contentId = useElementId();
14
- const handleClickOutside = (event) => {
15
- if (containerRef.current && !containerRef.current.contains(event.target)) {
16
- setIsExpanded(false);
17
- }
18
- };
10
+ const componentRef = useRef(null);
11
+ const menuRef = useRef(null);
19
12
  useEffect(() => {
20
13
  setIsExpanded(expanded);
21
- document.addEventListener("click", handleClickOutside);
22
- return () => {
23
- document.removeEventListener("click", handleClickOutside);
24
- };
25
14
  }, [expanded]);
26
- const renderNavItem = () => {
27
- if (label) {
28
- return (jsx("button", { "aria-controls": contentId, "aria-expanded": isExpanded, className: "ids-header-inera-admin-nav-item__button", onClick: () => setIsExpanded(prev => !prev), children: label }));
29
- }
30
- else {
31
- return jsx("span", { className: "ids-header-inera-admin-nav-item__link", children: children });
32
- }
33
- };
34
- const renderContent = () => {
15
+ // close when clicking outside the menu
16
+ useEffect(() => {
17
+ const onClickOutside = (event) => {
18
+ if (componentRef.current && !componentRef.current.contains(event.target)) {
19
+ setIsExpanded(false);
20
+ }
21
+ };
22
+ document.addEventListener("click", onClickOutside);
23
+ return () => document.removeEventListener("click", onClickOutside);
24
+ }, []);
25
+ // close when clicking any link inside the menu
26
+ useEffect(() => {
27
+ const menuEl = menuRef.current;
28
+ if (!menuEl)
29
+ return;
30
+ const onMenuClick = (event) => {
31
+ const target = event.target;
32
+ const anchor = target.closest("a");
33
+ if (anchor && menuEl.contains(anchor)) {
34
+ setIsExpanded(false);
35
+ }
36
+ };
37
+ menuEl.addEventListener("click", onMenuClick);
38
+ return () => menuEl.removeEventListener("click", onMenuClick);
39
+ }, [menuRef]);
40
+ // Escape should also close
41
+ useEffect(() => {
35
42
  if (!isExpanded)
36
- return null;
37
- return (jsx("div", { id: contentId, className: "ids-header-inera-admin-nav-item__menu ids-header-inera-admin-nav-item__menu--expanded", children: jsxs("div", { className: "ids-header-inera-admin-nav-item__menu-content", children: [jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-1", children: col1?.map((link, idx) => (jsx("div", { className: "ids-header-inera-admin-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-2", children: col2?.map((link, idx) => (jsx("div", { className: "ids-header-inera-admin-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-3", children: col3?.map((link, idx) => (jsx("div", { className: "ids-header-inera-admin-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-4", children: col4 })] }) }));
38
- };
39
- return (jsxs("div", { ref: containerRef, className: clsx("ids-header-inera-admin-nav-item", {
40
- "ids-header-inera-admin-nav-item--unresponsive": headerContext?.unresponsive,
41
- "ids-header-inera-admin-nav-item--expanded": isExpanded,
42
- "ids-header-inera-admin-nav-item--active": active
43
- }), ...props, children: [renderNavItem(), renderContent()] }));
44
- };
43
+ return;
44
+ const handleKeyDown = (event) => {
45
+ if (event.key === "Escape") {
46
+ event.preventDefault();
47
+ setIsExpanded(false);
48
+ }
49
+ };
50
+ document.addEventListener("keydown", handleKeyDown);
51
+ return () => document.removeEventListener("keydown", handleKeyDown);
52
+ }, [isExpanded]);
53
+ return (jsx(IDSHeaderIneraAdminNavItemBase, { ...props, client: true, expanded: isExpanded, unresponsive: headerContext?.unresponsive, componentRef: componentRef, menuRef: menuRef, onToggleItem: () => setIsExpanded((prev) => !prev) }));
54
+ }
45
55
 
46
56
  export { IDSHeaderIneraAdminNavItem };
@@ -1,7 +1,5 @@
1
- import React from "react";
2
- import "@inera/ids-design/components/header-inera-admin/header-inera-admin-nav.css";
3
- export interface IDSHeaderIneraAdminNavProps {
4
- srText?: string;
5
- children?: React.ReactNode;
1
+ import { HTMLAttributes } from "react";
2
+ interface IDSHeaderIneraAdminNavProps extends HTMLAttributes<HTMLElement> {
6
3
  }
7
- export declare function IDSHeaderIneraAdminNav({ srText, children, ...props }: IDSHeaderIneraAdminNavProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare function IDSHeaderIneraAdminNav({ children, ...props }: IDSHeaderIneraAdminNavProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -1,14 +1,11 @@
1
+ "use client";
1
2
  import { jsx } from 'react/jsx-runtime';
2
- import clsx from 'clsx';
3
+ import { IDSHeaderIneraAdminNavBase } from './header-inera-admin-nav-base.js';
3
4
  import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
4
- import '@inera/ids-design/components/header-inera-admin/header-inera-admin-nav.css';
5
5
 
6
- function IDSHeaderIneraAdminNav({ srText = "Huvudmeny", children, ...props }) {
7
- const headerContext = useHeaderContext();
8
- const classNames = clsx("ids-header-inera-admin-nav", {
9
- "ids-header-inera-admin-nav--unresponsive": headerContext?.unresponsive
10
- });
11
- return (jsx("nav", { className: classNames, "aria-label": srText, ...props, children: jsx("div", { className: "ids-header-inera-admin-nav__nav-items", children: children }) }));
6
+ function IDSHeaderIneraAdminNav({ children, ...props }) {
7
+ const headerContext = useHeaderContext() || { unresponsive: false };
8
+ return (jsx(IDSHeaderIneraAdminNavBase, { ...props, unresponsive: headerContext.unresponsive, children: children }));
12
9
  }
13
10
 
14
11
  export { IDSHeaderIneraAdminNav };
@@ -1,5 +1,4 @@
1
1
  import React, { ReactNode } from "react";
2
- import "@inera/ids-design/components/header-inera-admin/header-inera-admin.css";
3
2
  export interface IDSHeaderIneraAdminProps extends React.HTMLAttributes<HTMLDivElement> {
4
3
  brandText?: string;
5
4
  serviceName?: string;
@@ -8,9 +7,9 @@ export interface IDSHeaderIneraAdminProps extends React.HTMLAttributes<HTMLDivEl
8
7
  showLogo?: boolean;
9
8
  items?: ReactNode;
10
9
  avatar?: ReactNode;
11
- skipToContent?: ReactNode;
10
+ skipToContentLink?: ReactNode;
12
11
  brandLink?: ReactNode;
13
12
  mobileMenu?: ReactNode;
14
- children?: ReactNode;
13
+ hideAvatar?: boolean;
15
14
  }
16
- export declare function IDSHeaderIneraAdmin({ brandText, unresponsive, showLogo, items, avatar, skipToContent, brandLink, srLogoText, serviceName, mobileMenu, className, children, ...props }: IDSHeaderIneraAdminProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function IDSHeaderIneraAdmin({ unresponsive, hideAvatar, children, ...props }: IDSHeaderIneraAdminProps): import("react/jsx-runtime").JSX.Element;
@@ -1,21 +1,10 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { isValidElement, cloneElement } from 'react';
3
- import clsx from 'clsx';
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
4
3
  import { HeaderProvider } from '../utils/contexts/HeaderContext.js';
5
- import '@inera/ids-design/components/header-inera-admin/header-inera-admin.css';
4
+ import { IDSHeaderIneraAdminBase } from './header-inera-admin-base.js';
6
5
 
7
- function IDSHeaderIneraAdmin({ brandText = "", unresponsive = false, showLogo = false, items, avatar, skipToContent, brandLink, srLogoText = "Logotyp inera", serviceName = "EN TJÄNST FRÅN INERA", mobileMenu, className, children, ...props }) {
8
- const renderBrandText = () => {
9
- if (brandLink && isValidElement(brandLink)) {
10
- return (jsx("span", { className: "ids-header-inera-admin__brand-link", children: cloneElement(brandLink, {
11
- ...brandLink.props
12
- }) }));
13
- }
14
- return null;
15
- };
16
- return (jsx(HeaderProvider, { value: { unresponsive, hideRegionPicker: true }, children: jsxs("header", { className: clsx("ids-header-inera-admin", {
17
- "ids-header-inera-admin--unresponsive": unresponsive
18
- }, className), ...props, children: [skipToContent && jsx("div", { className: "ids-header-inera-admin__skip-to-content", children: skipToContent }), jsxs("div", { className: "ids-header-inera-admin__inner", children: [jsxs("div", { className: "ids-header-inera-admin__main", children: [jsx("div", { className: "ids-header-inera-admin__service-wrapper", children: jsxs("div", { className: "ids-header-inera-admin__brand", children: [showLogo && jsx("div", { className: "ids-header-inera-admin__logo", role: "img", "aria-label": srLogoText }), jsxs("div", { className: "ids-header-inera-admin__brand-inner", children: [renderBrandText(), jsx("h1", { className: "ids-header-inera-admin__brand-text", children: brandText }), jsx("h2", { className: "ids-header-inera-admin__service-name", children: serviceName })] })] }) }), jsxs("div", { className: "ids-header-inera-admin__items", children: [items, " ", avatar, " ", mobileMenu && jsx("div", { className: "ids-header-inera-admin__mobile-menu", children: mobileMenu })] })] }), children] })] }) }));
6
+ function IDSHeaderIneraAdmin({ unresponsive = false, hideAvatar = false, children, ...props }) {
7
+ return (jsx(HeaderProvider, { value: { unresponsive, hideAvatar, hideRegionPicker: true }, children: jsx(IDSHeaderIneraAdminBase, { ...props, unresponsive: unresponsive, children: children }) }));
19
8
  }
20
9
 
21
10
  export { IDSHeaderIneraAdmin };
@@ -1,13 +1,11 @@
1
- import React, { ReactNode } from "react";
2
1
  import "@inera/ids-design/components/header-patient/header-patient.css";
3
2
  interface IDSHeaderPatientProps extends React.HTMLAttributes<HTMLDivElement> {
4
- buttons?: ReactNode;
3
+ buttons?: React.ReactNode;
5
4
  collapse?: boolean;
6
5
  name?: string;
7
6
  srLabel?: string;
8
7
  ssn?: string;
9
8
  stack?: boolean;
10
- children?: ReactNode;
11
9
  }
12
- export declare const IDSHeaderPatient: React.FC<IDSHeaderPatientProps>;
10
+ export declare function IDSHeaderPatient({ srLabel, name, ssn, collapse, stack, buttons, className, children, ...props }: IDSHeaderPatientProps): import("react/jsx-runtime").JSX.Element;
13
11
  export {};
@@ -1,21 +1,17 @@
1
- "use client";
2
1
  import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { useMemo } from 'react';
4
- import '@inera/ids-design/components/header-patient/header-patient.css';
5
2
  import { clsx } from 'clsx';
3
+ import '@inera/ids-design/components/header-patient/header-patient.css';
6
4
 
7
- const IDSHeaderPatient = ({ srLabel = "", name = "", ssn = "", collapse = false, stack = false, buttons, className, children, ...props }) => {
8
- const isLong = useMemo(() => {
9
- const trimmed = name.trim();
10
- const whitespaceCount = (trimmed.match(/\s/g) || []).length;
11
- return whitespaceCount > 2 && trimmed.length > 20;
12
- }, [name]);
5
+ function IDSHeaderPatient({ srLabel = "", name = "", ssn = "", collapse = false, stack = false, buttons, className, children, ...props }) {
6
+ const trimmed = name.trim();
7
+ const whitespaceCount = (trimmed.match(/\s/g) || []).length;
8
+ const isLong = whitespaceCount > 2 && trimmed.length > 20;
13
9
  const classNames = clsx("ids-header-patient", {
14
10
  "ids-header-patient--stack": stack,
15
11
  "ids-header-patient--collapse": collapse,
16
12
  "ids-header-patient--long-name": isLong
17
13
  }, className);
18
14
  return (jsx("section", { className: classNames, "aria-label": srLabel, ...props, children: jsxs("div", { className: "ids-patient-header__inner", children: [jsxs("div", { className: "ids-header-patient__content", children: [jsxs("div", { className: "ids-header-patient__id", children: [jsx("span", { className: "ids-header-patient__name", children: name }), jsx("span", { className: "ids-header-patient__ssn", children: ssn })] }), jsx("div", { className: "ids-header-patient__info", children: children })] }), buttons && jsx("div", { className: "ids-header-patient__buttons", children: buttons })] }) }));
19
- };
15
+ }
20
16
 
21
17
  export { IDSHeaderPatient };
@@ -1,9 +1,9 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import '@inera/ids-design/components/action-link/action-link.css';
3
2
  import clsx from 'clsx';
3
+ import '@inera/ids-design/components/action-link/action-link.css';
4
4
 
5
5
  function IDSActionLink({ image, children, className, ...props }) {
6
- return (jsx("div", { className: clsx("ids-action-link", className), ...props, children: jsxs("div", { className: "ids-action-link__inner", children: [jsx("div", { className: "ids-action-link__image", children: image }), children, jsx("div", { className: "ids-action-link__icon", "aria-hidden": "true" })] }) }));
6
+ return (jsx("div", { ...props, className: clsx("ids-action-link", className), children: jsxs("div", { className: "ids-action-link__inner", children: [jsx("div", { className: "ids-action-link__image", children: image }), children, jsx("div", { className: "ids-action-link__icon", "aria-hidden": "true" })] }) }));
7
7
  }
8
8
 
9
9
  export { IDSActionLink };
@@ -0,0 +1,6 @@
1
+ import React, { ReactNode } from "react";
2
+ import "@inera/ids-design/components/box-link/box-link.css";
3
+ export interface IDSBoxLinkProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ button?: ReactNode;
5
+ }
6
+ export declare function IDSBoxLink({ button, children, className, ...props }: IDSBoxLinkProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import clsx from 'clsx';
3
+ import '@inera/ids-design/components/box-link/box-link.css';
4
+
5
+ function IDSBoxLink({ button, children, className, ...props }) {
6
+ return (jsx("div", { ...props, className: clsx("ids-box-link", { "ids-box-link--has-button": !!button }, className), children: jsxs("div", { className: "ids-box-link__inner", children: [jsx("span", { className: "ids-box-link__link", children: children }), !!button && jsx("div", { className: "ids-box-link__button", children: button })] }) }));
7
+ }
8
+
9
+ export { IDSBoxLink };
@@ -1,4 +1,4 @@
1
- import React, { ReactNode, ReactElement, AnchorHTMLAttributes } from "react";
1
+ import { ReactNode, ReactElement, AnchorHTMLAttributes } from "react";
2
2
  export type ColorPreset = 0 | 1 | 2 | 3;
3
3
  export interface IDSLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "children"> {
4
4
  colorPreset?: ColorPreset;
@@ -14,4 +14,4 @@ export interface IDSLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElemen
14
14
  endItem?: ReactNode;
15
15
  children?: ReactElement;
16
16
  }
17
- export declare function IDSLink({ colorPreset, menu, footer, active, activeIcon, block, underlined, noUnderline, small, focusAnchor, endItem, children, ...props }: IDSLinkProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
17
+ export declare function IDSLink({ colorPreset, menu, footer, active, activeIcon, block, underlined, noUnderline, small, focusAnchor, endItem, className, children, ...props }: IDSLinkProps): ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
@@ -1,5 +1,5 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
- import { isValidElement, cloneElement } from 'react';
2
+ import { cloneElement, isValidElement } from 'react';
3
3
  import clsx from 'clsx';
4
4
 
5
5
  const containsIcon = (node) => {
@@ -13,14 +13,7 @@ const containsIcon = (node) => {
13
13
  }
14
14
  return false;
15
15
  };
16
- function IDSLink({ colorPreset = 0, menu = false, footer = false, active = false, activeIcon = false, block = false, underlined = false, noUnderline = false, small = false, focusAnchor = false, endItem, children, ...props }) {
17
- // Ensure valid child
18
- if (!isValidElement(children)) {
19
- if (process.env.NODE_ENV !== "production") {
20
- console.error("IDSLink requires a single valid React element (e.g., <a> or <Link>) as a child.");
21
- }
22
- return null;
23
- }
16
+ function IDSLink({ colorPreset = 0, menu = false, footer = false, active = false, activeIcon = false, block = false, underlined = false, noUnderline = false, small = false, focusAnchor = false, endItem, className, children, ...props }) {
24
17
  const innerChildren = children.props.children;
25
18
  const hasIcon = containsIcon(innerChildren);
26
19
  const mergedClasses = clsx("ids-link", colorPreset > 0 && `ids-link--color-${colorPreset}`, {
@@ -34,7 +27,7 @@ function IDSLink({ colorPreset = 0, menu = false, footer = false, active = false
34
27
  "ids-link--underlined": underlined,
35
28
  "ids-link--no-underline": noUnderline,
36
29
  "ids-focus-anchor": focusAnchor
37
- }, children.props.className, props.className);
30
+ }, className);
38
31
  const wrappedContent = (jsxs(Fragment, { children: [innerChildren, endItem && jsx("span", { style: { marginLeft: "0.5rem" }, children: endItem })] }));
39
32
  return cloneElement(children, {
40
33
  ...children.props,
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import "@inera/ids-design/components/list-pagination/list-pagination.css";
3
+ export interface IDSListPaginationLinksProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ showing?: string;
5
+ from?: number;
6
+ to?: number;
7
+ of?: string;
8
+ total?: number;
9
+ current?: number;
10
+ pages?: number;
11
+ srCurrentPage?: string;
12
+ srGoToPage?: string;
13
+ srPrevious?: string;
14
+ srNext?: string;
15
+ linkPrefix?: string;
16
+ prevHref?: string;
17
+ nextHref?: string;
18
+ }
19
+ export declare function IDSListPaginationLinks({ showing, from, to, of, total, current, pages, srCurrentPage, srGoToPage, srPrevious, srNext, linkPrefix, prevHref, nextHref, className, ...props }: IDSListPaginationLinksProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,48 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import clsx from 'clsx';
3
+ import '@inera/ids-design/components/list-pagination/list-pagination.css';
4
+
5
+ function IDSListPaginationLinks({ showing = "Visar", from = 0, to = 0, of = "av", total = 0, current = 1, pages = 1, srCurrentPage = "Aktuell sida", srGoToPage = "Gå till sida", srPrevious = "Föregående sida", srNext = "Nästa sida", linkPrefix, prevHref, nextHref, className, ...props }) {
6
+ const renderSummary = () => {
7
+ if (from && to && total) {
8
+ return jsx("div", { className: "ids-list-pagination__summary", children: `${showing} ${from} - ${to} ${of} ${total}` });
9
+ }
10
+ return null;
11
+ };
12
+ const renderPrevLink = () => {
13
+ if (current > 1) {
14
+ return jsx("a", { "aria-label": srPrevious, href: linkPrefix + (current - 1), id: "prev-link" });
15
+ }
16
+ return null;
17
+ };
18
+ const renderNextLink = () => {
19
+ if (current < pages) {
20
+ return jsx("a", { "aria-label": srNext, href: linkPrefix + (current + 1), id: "next-link" });
21
+ }
22
+ return null;
23
+ };
24
+ const renderLinks = () => {
25
+ const linkArray = [];
26
+ for (let i = 1; i <= pages; i++) {
27
+ const isCurrent = i === current;
28
+ linkArray.push(jsx("li", { className: clsx("ids-list-pagination__list-item", {
29
+ "ids-list-pagination__list-item--current": isCurrent
30
+ }), hidden: pages > 7 &&
31
+ ![
32
+ 1,
33
+ pages,
34
+ current - 1,
35
+ current,
36
+ current + 1,
37
+ ...(current < 4 ? [2, 3, 4] : []),
38
+ ...(current > pages - 3 ? [pages - 1, pages - 2, pages - 3] : [])
39
+ ].includes(i), "data-hidden-before": pages > 7 && i > 1 && linkArray[i - 2]?.props.hidden && !linkArray[i - 1]?.props.hidden ? true : undefined, children: jsx("a", { className: clsx("ids-list-pagination__link", {
40
+ "ids-list-pagination__link--current": isCurrent
41
+ }), "aria-disabled": isCurrent, "aria-label": isCurrent ? srCurrentPage : `${srGoToPage} ${i}`, href: linkPrefix + i, children: i }) }, i));
42
+ }
43
+ return (jsx("nav", { children: jsx("ul", { className: "ids-list-pagination__list", children: linkArray }) }));
44
+ };
45
+ return (jsxs("div", { className: clsx("ids-list-pagination", className), ...props, children: [renderSummary(), jsxs("div", { className: "ids-list-pagination__content", children: [jsx("div", { className: "ids-list-pagination__prev-link", children: renderPrevLink() }), jsx("div", { className: "ids-list-pagination__nav-links", children: renderLinks() }), jsx("div", { className: "ids-list-pagination__next-link", children: renderNextLink() })] })] }));
46
+ }
47
+
48
+ export { IDSListPaginationLinks };
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import "@inera/ids-design/components/pagination/list-pagination/list-pagination.css";
2
+ import "@inera/ids-design/components/list-pagination/list-pagination.css";
3
3
  export interface IDSListPaginationProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  showing?: string;
5
5
  from?: number;
@@ -12,8 +12,9 @@ export interface IDSListPaginationProps extends React.HTMLAttributes<HTMLDivElem
12
12
  srGoToPage?: string;
13
13
  srPrevious?: string;
14
14
  srNext?: string;
15
+ srNav?: string;
15
16
  onChangePage?: (page: number) => void;
16
17
  onPrevPage?: (page: number) => void;
17
18
  onNextPage?: (page: number) => void;
18
19
  }
19
- export declare function IDSListPagination({ showing, from, to, of, total, current, pages, srCurrentPage, srGoToPage, srPrevious, srNext, onChangePage, onPrevPage, onNextPage, className, ...props }: IDSListPaginationProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function IDSListPagination({ showing, from, to, of, total, current, pages, srCurrentPage, srGoToPage, srPrevious, srNext, srNav, onChangePage, onPrevPage, onNextPage, className, ...props }: IDSListPaginationProps): import("react/jsx-runtime").JSX.Element;