@inera/ids-react 9.2.2 → 9.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/components/accordion/accordion-base.d.ts +1 -1
  2. package/components/accordion/accordion.d.ts +1 -1
  3. package/components/accordion/accordion.js +1 -1
  4. package/components/alert/alert-base.d.ts +1 -1
  5. package/components/alert/alert-base.js +2 -2
  6. package/components/alert/alert.d.ts +1 -1
  7. package/components/badge/badge.js +1 -1
  8. package/components/breadcrumbs/breadcrumbs.d.ts +1 -1
  9. package/components/breadcrumbs/breadcrumbs.js +10 -6
  10. package/components/button/button-group.d.ts +1 -1
  11. package/components/button/button.d.ts +1 -0
  12. package/components/button/button.js +7 -2
  13. package/components/button/control-button.d.ts +6 -0
  14. package/components/button/control-button.js +10 -0
  15. package/components/card/card.d.ts +1 -1
  16. package/components/carousel/carousel-item.d.ts +1 -1
  17. package/components/carousel/carousel.d.ts +1 -1
  18. package/components/carousel/carousel.js +8 -6
  19. package/components/date-label/date-label.d.ts +3 -2
  20. package/components/date-label/date-label.js +4 -2
  21. package/components/dialog/dialog-base.js +1 -1
  22. package/components/dialog/dialog.d.ts +1 -1
  23. package/components/dialog/dialog.js +1 -1
  24. package/components/district-selector/district-selector.d.ts +10 -0
  25. package/components/district-selector/district-selector.js +11 -0
  26. package/components/dropdown/dropdown-base.d.ts +2 -2
  27. package/components/dropdown/dropdown-base.js +1 -1
  28. package/components/dropdown/dropdown.d.ts +2 -1
  29. package/components/dropdown/dropdown.js +2 -0
  30. package/components/footer-1177/footer-1177-columns.d.ts +10 -0
  31. package/components/footer-1177/footer-1177-columns.js +18 -0
  32. package/components/footer-1177/footer-1177-headline.d.ts +10 -0
  33. package/components/footer-1177/footer-1177-headline.js +11 -0
  34. package/components/footer-1177/footer-1177.d.ts +1 -1
  35. package/components/footer-1177/footer-1177.js +4 -20
  36. package/components/footer-1177-admin/footer-1177-admin-columns.d.ts +10 -0
  37. package/components/footer-1177-admin/footer-1177-admin-columns.js +18 -0
  38. package/components/footer-1177-admin/footer-1177-admin-headline.d.ts +9 -0
  39. package/components/footer-1177-admin/footer-1177-admin-headline.js +11 -0
  40. package/components/footer-1177-admin/footer-1177-admin.d.ts +1 -1
  41. package/components/footer-1177-admin/footer-1177-admin.js +4 -20
  42. package/components/footer-1177-pro/footer-1177-pro-columns.d.ts +13 -0
  43. package/components/footer-1177-pro/footer-1177-pro-columns.js +18 -0
  44. package/components/footer-1177-pro/footer-1177-pro-headline.d.ts +9 -0
  45. package/components/footer-1177-pro/footer-1177-pro-headline.js +11 -0
  46. package/components/footer-1177-pro/footer-1177-pro.d.ts +1 -1
  47. package/components/footer-1177-pro/footer-1177-pro.js +4 -20
  48. package/components/footer-inera/footer-inera-columns.d.ts +10 -0
  49. package/components/footer-inera/footer-inera-columns.js +18 -0
  50. package/components/footer-inera/footer-inera-headline.d.ts +9 -0
  51. package/components/footer-inera/footer-inera-headline.js +11 -0
  52. package/components/footer-inera/footer-inera.d.ts +1 -1
  53. package/components/footer-inera/footer-inera.js +4 -20
  54. package/components/footer-inera-admin/footer-inera-admin-columns.d.ts +10 -0
  55. package/components/footer-inera-admin/footer-inera-admin-columns.js +18 -0
  56. package/components/footer-inera-admin/footer-inera-admin-headline.d.ts +9 -0
  57. package/components/footer-inera-admin/footer-inera-admin-headline.js +11 -0
  58. package/components/footer-inera-admin/footer-inera-admin.d.ts +1 -1
  59. package/components/footer-inera-admin/footer-inera-admin.js +4 -20
  60. package/components/footer-inera-general/footer-inera-general-columns.d.ts +10 -0
  61. package/components/footer-inera-general/footer-inera-general-columns.js +18 -0
  62. package/components/footer-inera-general/footer-inera-general-headline.d.ts +9 -0
  63. package/components/footer-inera-general/footer-inera-general-headline.js +11 -0
  64. package/components/footer-inera-general/footer-inera-general.d.ts +1 -1
  65. package/components/footer-inera-general/footer-inera-general.js +4 -20
  66. package/components/form/checkbox/checkbox-base.js +2 -3
  67. package/components/form/checkbox/checkbox-group-base.d.ts +2 -1
  68. package/components/form/checkbox/checkbox-group-base.js +3 -3
  69. package/components/form/checkbox/checkbox-group.d.ts +3 -2
  70. package/components/form/checkbox/checkbox-group.js +2 -2
  71. package/components/form/checkbox/checkbox.js +3 -4
  72. package/components/form/datepicker/datepicker.d.ts +3 -1
  73. package/components/form/datepicker/datepicker.js +143 -111
  74. package/components/form/error-message/error-message.d.ts +1 -1
  75. package/components/form/form-hooks/useAriaDescribedBy.js +1 -4
  76. package/components/form/form-hooks/useInputValidity.d.ts +1 -1
  77. package/components/form/form-hooks/useInputValidity.js +28 -12
  78. package/components/form/form-props/form-props.d.ts +1 -0
  79. package/components/form/input/input-base.d.ts +4 -2
  80. package/components/form/input/input-base.js +14 -9
  81. package/components/form/input/input.d.ts +3 -0
  82. package/components/form/input/input.js +1 -1
  83. package/components/form/radio/radio-base.d.ts +1 -1
  84. package/components/form/radio/radio-base.js +1 -2
  85. package/components/form/radio/radio-group-base.d.ts +2 -1
  86. package/components/form/radio/radio-group-base.js +3 -3
  87. package/components/form/radio/radio-group.d.ts +3 -2
  88. package/components/form/radio/radio-group.js +2 -2
  89. package/components/form/radio-button/radio-button-group-base.d.ts +1 -1
  90. package/components/form/radio-button/radio-button-group.d.ts +2 -1
  91. package/components/form/range/range-base.d.ts +1 -1
  92. package/components/form/range/range-base.js +2 -2
  93. package/components/form/select/select-base.d.ts +3 -3
  94. package/components/form/select/select-base.js +3 -5
  95. package/components/form/select/select.d.ts +2 -2
  96. package/components/form/select/select.js +1 -1
  97. package/components/form/select-multiple/select-multiple-base.d.ts +2 -2
  98. package/components/form/select-multiple/select-multiple-base.js +3 -3
  99. package/components/form/select-multiple/select-multiple.d.ts +2 -2
  100. package/components/form/select-multiple/select-multiple.js +1 -1
  101. package/components/form/spinner/spinner.d.ts +1 -1
  102. package/components/form/textarea/textarea-base.d.ts +1 -1
  103. package/components/form/textarea/textarea-base.js +3 -5
  104. package/components/form/textarea/textarea.js +1 -1
  105. package/components/form/time/time-base.d.ts +1 -1
  106. package/components/form/time/time-base.js +2 -4
  107. package/components/form/time/time.js +4 -5
  108. package/components/global-alert/global-alert-base.d.ts +1 -1
  109. package/components/global-alert/global-alert.d.ts +1 -1
  110. package/components/header-1177/header-1177-avatar-base.d.ts +1 -1
  111. package/components/header-1177/header-1177-avatar.d.ts +1 -1
  112. package/components/header-1177/header-1177-base.d.ts +2 -2
  113. package/components/header-1177/header-1177-base.js +3 -5
  114. package/components/header-1177/header-1177-item-base.d.ts +1 -1
  115. package/components/header-1177/header-1177-item-base.js +1 -2
  116. package/components/header-1177/header-1177-item.d.ts +1 -1
  117. package/components/header-1177/header-1177-logo.d.ts +12 -0
  118. package/components/header-1177/header-1177-logo.js +8 -0
  119. package/components/header-1177/header-1177-menu-mobile-base.d.ts +1 -1
  120. package/components/header-1177/header-1177-menu-mobile.d.ts +1 -1
  121. package/components/header-1177/header-1177-nav-base.d.ts +1 -1
  122. package/components/header-1177/header-1177-nav-base.js +1 -1
  123. package/components/header-1177/header-1177-nav-item-base.d.ts +1 -1
  124. package/components/header-1177/header-1177-nav-item-base.js +3 -12
  125. package/components/header-1177/header-1177-nav-item-link.d.ts +10 -0
  126. package/components/header-1177/header-1177-nav-item-link.js +19 -0
  127. package/components/header-1177/header-1177-nav-item-mobile-base.d.ts +1 -1
  128. package/components/header-1177/header-1177-nav-item-mobile.d.ts +1 -1
  129. package/components/header-1177/header-1177-nav-item.d.ts +1 -1
  130. package/components/header-1177/header-1177-nav.d.ts +1 -1
  131. package/components/header-1177/header-1177-region-picker-base.d.ts +4 -2
  132. package/components/header-1177/header-1177-region-picker-base.js +8 -3
  133. package/components/header-1177/header-1177-region-picker-mobile-base.d.ts +4 -2
  134. package/components/header-1177/header-1177-region-picker-mobile-base.js +8 -3
  135. package/components/header-1177/header-1177-region-picker-mobile.d.ts +3 -1
  136. package/components/header-1177/header-1177-region-picker.d.ts +3 -1
  137. package/components/header-1177/header-1177.d.ts +2 -1
  138. package/components/header-1177/header-1177.js +2 -2
  139. package/components/header-1177-admin/header-1177-admin-avatar-base.d.ts +1 -1
  140. package/components/header-1177-admin/header-1177-admin-avatar-mobile-base.d.ts +1 -1
  141. package/components/header-1177-admin/header-1177-admin-avatar-mobile.d.ts +1 -1
  142. package/components/header-1177-admin/header-1177-admin-avatar.d.ts +1 -1
  143. package/components/header-1177-admin/header-1177-admin-base.d.ts +2 -2
  144. package/components/header-1177-admin/header-1177-admin-base.js +3 -5
  145. package/components/header-1177-admin/header-1177-admin-item-base.d.ts +1 -1
  146. package/components/header-1177-admin/header-1177-admin-item-base.js +1 -2
  147. package/components/header-1177-admin/header-1177-admin-item.d.ts +1 -1
  148. package/components/header-1177-admin/header-1177-admin-logo.d.ts +12 -0
  149. package/components/header-1177-admin/header-1177-admin-logo.js +8 -0
  150. package/components/header-1177-admin/header-1177-admin-menu-mobile-base.d.ts +1 -1
  151. package/components/header-1177-admin/header-1177-admin-menu-mobile.d.ts +1 -1
  152. package/components/header-1177-admin/header-1177-admin-nav-base.d.ts +2 -1
  153. package/components/header-1177-admin/header-1177-admin-nav-base.js +4 -3
  154. package/components/header-1177-admin/header-1177-admin-nav-item-base.d.ts +1 -1
  155. package/components/header-1177-admin/header-1177-admin-nav-item-base.js +3 -12
  156. package/components/header-1177-admin/header-1177-admin-nav-item-link.d.ts +10 -0
  157. package/components/header-1177-admin/header-1177-admin-nav-item-link.js +19 -0
  158. package/components/header-1177-admin/header-1177-admin-nav-item-mobile-base.d.ts +1 -1
  159. package/components/header-1177-admin/header-1177-admin-nav-item-mobile.d.ts +1 -1
  160. package/components/header-1177-admin/header-1177-admin-nav-item.d.ts +1 -1
  161. package/components/header-1177-admin/header-1177-admin-nav.d.ts +2 -1
  162. package/components/header-1177-admin/header-1177-admin-nav.js +2 -2
  163. package/components/header-1177-admin/header-1177-admin.d.ts +2 -1
  164. package/components/header-1177-admin/header-1177-admin.js +2 -2
  165. package/components/header-1177-pro/header-1177-pro-avatar-base.d.ts +1 -1
  166. package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.d.ts +1 -1
  167. package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.js +0 -1
  168. package/components/header-1177-pro/header-1177-pro-avatar-mobile.d.ts +1 -1
  169. package/components/header-1177-pro/header-1177-pro-avatar.d.ts +1 -1
  170. package/components/header-1177-pro/header-1177-pro-base.d.ts +1 -1
  171. package/components/header-1177-pro/header-1177-pro-base.js +2 -1
  172. package/components/header-1177-pro/header-1177-pro-item-base.d.ts +1 -1
  173. package/components/header-1177-pro/header-1177-pro-item-base.js +1 -2
  174. package/components/header-1177-pro/header-1177-pro-item.d.ts +1 -1
  175. package/components/header-1177-pro/header-1177-pro-logo.d.ts +12 -0
  176. package/components/header-1177-pro/header-1177-pro-logo.js +8 -0
  177. package/components/header-1177-pro/header-1177-pro-menu-mobile-base.d.ts +1 -1
  178. package/components/header-1177-pro/header-1177-pro-menu-mobile.d.ts +1 -1
  179. package/components/header-1177-pro/header-1177-pro-nav-base.d.ts +2 -1
  180. package/components/header-1177-pro/header-1177-pro-nav-base.js +3 -2
  181. package/components/header-1177-pro/header-1177-pro-nav-item-base.d.ts +1 -1
  182. package/components/header-1177-pro/header-1177-pro-nav-item-base.js +3 -12
  183. package/components/header-1177-pro/header-1177-pro-nav-item-link.d.ts +10 -0
  184. package/components/header-1177-pro/header-1177-pro-nav-item-link.js +19 -0
  185. package/components/header-1177-pro/header-1177-pro-nav-item-mobile-base.d.ts +1 -1
  186. package/components/header-1177-pro/header-1177-pro-nav-item-mobile.d.ts +1 -1
  187. package/components/header-1177-pro/header-1177-pro-nav-item.d.ts +1 -1
  188. package/components/header-1177-pro/header-1177-pro-nav.d.ts +2 -1
  189. package/components/header-1177-pro/header-1177-pro-nav.js +2 -2
  190. package/components/header-1177-pro/header-1177-pro-region-picker-base.d.ts +3 -1
  191. package/components/header-1177-pro/header-1177-pro-region-picker-base.js +8 -3
  192. package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.d.ts +3 -1
  193. package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.js +8 -3
  194. package/components/header-1177-pro/header-1177-pro-region-picker-mobile.d.ts +3 -1
  195. package/components/header-1177-pro/header-1177-pro-region-picker-mobile.js +1 -1
  196. package/components/header-1177-pro/header-1177-pro-region-picker.d.ts +3 -1
  197. package/components/header-1177-pro/header-1177-pro-region-picker.js +1 -1
  198. package/components/header-1177-pro/header-1177-pro.d.ts +1 -1
  199. package/components/header-inera/header-inera-base.d.ts +2 -2
  200. package/components/header-inera/header-inera-base.js +3 -2
  201. package/components/header-inera/header-inera-item-base.d.ts +1 -1
  202. package/components/header-inera/header-inera-item-base.js +1 -2
  203. package/components/header-inera/header-inera-item.d.ts +1 -1
  204. package/components/header-inera/header-inera-logo.d.ts +12 -0
  205. package/components/header-inera/header-inera-logo.js +8 -0
  206. package/components/header-inera/header-inera-menu-mobile-base.d.ts +1 -1
  207. package/components/header-inera/header-inera-menu-mobile.d.ts +1 -1
  208. package/components/header-inera/header-inera-nav-base.d.ts +1 -1
  209. package/components/header-inera/header-inera-nav-base.js +1 -1
  210. package/components/header-inera/header-inera-nav-item-base.d.ts +1 -1
  211. package/components/header-inera/header-inera-nav-item-base.js +4 -13
  212. package/components/header-inera/header-inera-nav-item-link.d.ts +10 -0
  213. package/components/header-inera/header-inera-nav-item-link.js +19 -0
  214. package/components/header-inera/header-inera-nav-item.d.ts +1 -1
  215. package/components/header-inera/header-inera-nav.d.ts +1 -1
  216. package/components/header-inera/header-inera.d.ts +2 -1
  217. package/components/header-inera/header-inera.js +2 -2
  218. package/components/header-inera-admin/header-inera-admin-avatar-base.d.ts +1 -1
  219. package/components/header-inera-admin/header-inera-admin-avatar-mobile-base.d.ts +1 -1
  220. package/components/header-inera-admin/header-inera-admin-avatar-mobile.d.ts +1 -1
  221. package/components/header-inera-admin/header-inera-admin-avatar.d.ts +1 -1
  222. package/components/header-inera-admin/header-inera-admin-base.d.ts +1 -1
  223. package/components/header-inera-admin/header-inera-admin-base.js +1 -10
  224. package/components/header-inera-admin/header-inera-admin-item-base.d.ts +1 -1
  225. package/components/header-inera-admin/header-inera-admin-item-base.js +2 -3
  226. package/components/header-inera-admin/header-inera-admin-item.d.ts +1 -1
  227. package/components/header-inera-admin/header-inera-admin-menu-mobile-base.d.ts +1 -1
  228. package/components/header-inera-admin/header-inera-admin-menu-mobile.d.ts +1 -1
  229. package/components/header-inera-admin/header-inera-admin-nav-base.d.ts +2 -1
  230. package/components/header-inera-admin/header-inera-admin-nav-base.js +4 -3
  231. package/components/header-inera-admin/header-inera-admin-nav-item-base.d.ts +1 -1
  232. package/components/header-inera-admin/header-inera-admin-nav-item-base.js +3 -12
  233. package/components/header-inera-admin/header-inera-admin-nav-item-link.d.ts +10 -0
  234. package/components/header-inera-admin/header-inera-admin-nav-item-link.js +19 -0
  235. package/components/header-inera-admin/header-inera-admin-nav-item-mobile-base.d.ts +1 -1
  236. package/components/header-inera-admin/header-inera-admin-nav-item-mobile.d.ts +1 -1
  237. package/components/header-inera-admin/header-inera-admin-nav-item.d.ts +1 -1
  238. package/components/header-inera-admin/header-inera-admin-nav.d.ts +2 -1
  239. package/components/header-inera-admin/header-inera-admin-nav.js +2 -2
  240. package/components/header-inera-admin/header-inera-admin.d.ts +1 -1
  241. package/components/header-inera-general/header-inera-general-avatar-base.d.ts +18 -0
  242. package/components/header-inera-general/header-inera-general-avatar-base.js +24 -0
  243. package/components/header-inera-general/header-inera-general-avatar-mobile-base.d.ts +17 -0
  244. package/components/header-inera-general/header-inera-general-avatar-mobile-base.js +24 -0
  245. package/components/header-inera-general/header-inera-general-avatar-mobile.d.ts +12 -0
  246. package/components/header-inera-general/header-inera-general-avatar-mobile.js +28 -0
  247. package/components/header-inera-general/header-inera-general-avatar.d.ts +12 -0
  248. package/components/header-inera-general/header-inera-general-avatar.js +29 -0
  249. package/components/header-inera-general/header-inera-general-base.d.ts +2 -1
  250. package/components/header-inera-general/header-inera-general-base.js +2 -2
  251. package/components/header-inera-general/header-inera-general-item-base.d.ts +1 -1
  252. package/components/header-inera-general/header-inera-general-item-base.js +2 -2
  253. package/components/header-inera-general/header-inera-general-item.d.ts +1 -1
  254. package/components/header-inera-general/header-inera-general-item.js +1 -1
  255. package/components/header-inera-general/header-inera-general-menu-mobile-base.d.ts +1 -1
  256. package/components/header-inera-general/header-inera-general-menu-mobile.d.ts +1 -1
  257. package/components/header-inera-general/header-inera-general-nav-base.d.ts +1 -1
  258. package/components/header-inera-general/header-inera-general-nav-base.js +1 -1
  259. package/components/header-inera-general/header-inera-general-nav-item-base.d.ts +1 -1
  260. package/components/header-inera-general/header-inera-general-nav-item-base.js +4 -13
  261. package/components/header-inera-general/header-inera-general-nav-item-link.d.ts +10 -0
  262. package/components/header-inera-general/header-inera-general-nav-item-link.js +19 -0
  263. package/components/header-inera-general/header-inera-general-nav-item-mobile-base.d.ts +10 -0
  264. package/components/header-inera-general/header-inera-general-nav-item-mobile-base.js +11 -0
  265. package/components/header-inera-general/header-inera-general-nav-item-mobile.d.ts +10 -0
  266. package/components/header-inera-general/header-inera-general-nav-item-mobile.js +12 -0
  267. package/components/header-inera-general/header-inera-general-nav-item.d.ts +1 -1
  268. package/components/header-inera-general/header-inera-general-nav-mobile.d.ts +10 -0
  269. package/components/header-inera-general/header-inera-general-nav-mobile.js +8 -0
  270. package/components/header-inera-general/header-inera-general-nav.d.ts +1 -1
  271. package/components/header-inera-general/header-inera-general.d.ts +3 -1
  272. package/components/header-inera-general/header-inera-general.js +2 -2
  273. package/components/header-patient/header-patient.d.ts +1 -1
  274. package/components/link/action-link.d.ts +1 -1
  275. package/components/link/box-link.d.ts +1 -1
  276. package/components/list-pagination/list-pagination-links.d.ts +3 -2
  277. package/components/list-pagination/list-pagination-links.js +3 -20
  278. package/components/list-pagination/list-pagination-summary.d.ts +13 -0
  279. package/components/list-pagination/list-pagination-summary.js +9 -0
  280. package/components/list-pagination/list-pagination.d.ts +3 -2
  281. package/components/list-pagination/list-pagination.js +3 -20
  282. package/components/message-avatar/message-avatar.d.ts +12 -0
  283. package/components/message-avatar/message-avatar.js +10 -0
  284. package/components/mobile-menu/mobile-item-base.d.ts +1 -1
  285. package/components/mobile-menu/mobile-item-base.js +4 -24
  286. package/components/mobile-menu/mobile-item-link.d.ts +16 -0
  287. package/components/mobile-menu/mobile-item-link.js +27 -0
  288. package/components/mobile-menu/mobile-item.d.ts +1 -1
  289. package/components/mobile-menu/mobile-menu.d.ts +1 -1
  290. package/components/navigation-content/navigation-content-item-base.d.ts +12 -0
  291. package/components/navigation-content/navigation-content-item-base.js +17 -0
  292. package/components/navigation-content/navigation-content-item.d.ts +11 -0
  293. package/components/navigation-content/navigation-content-item.js +25 -0
  294. package/components/navigation-content/navigation-content.d.ts +1 -1
  295. package/components/navigation-content/navigation-content.js +10 -6
  296. package/components/navigation-local/navigation-local.d.ts +1 -1
  297. package/components/notification-badge/notification-badge.js +1 -1
  298. package/components/popover/popover-base.d.ts +1 -1
  299. package/components/popover/popover-caret.d.ts +9 -0
  300. package/components/popover/popover-caret.js +8 -0
  301. package/components/popover/popover-content.d.ts +1 -1
  302. package/components/popover/popover-content.js +2 -2
  303. package/components/popover/popover.d.ts +2 -1
  304. package/components/popover/popover.js +28 -14
  305. package/components/progressbar/progressbar.d.ts +1 -1
  306. package/components/puff-list/puff-list-item-date.d.ts +1 -1
  307. package/components/puff-list/puff-list-item-header.d.ts +2 -2
  308. package/components/puff-list/puff-list-item-info.d.ts +1 -1
  309. package/components/puff-list/puff-list-item.d.ts +2 -1
  310. package/components/puff-list/puff-list-item.js +2 -2
  311. package/components/puff-list/puff-list.d.ts +1 -1
  312. package/components/region-icon/region-icon.d.ts +5 -2
  313. package/components/region-icon/region-icon.js +6 -3
  314. package/components/side-menu/side-menu-base.d.ts +1 -1
  315. package/components/side-menu/side-menu-base.js +6 -24
  316. package/components/side-menu/side-menu-label.d.ts +17 -0
  317. package/components/side-menu/side-menu-label.js +14 -0
  318. package/components/side-menu/side-menu-toggle.d.ts +15 -0
  319. package/components/side-menu/side-menu-toggle.js +14 -0
  320. package/components/side-menu/side-menu.d.ts +1 -1
  321. package/components/side-panel/side-panel-base.js +4 -8
  322. package/components/side-panel/side-panel-footer.d.ts +10 -0
  323. package/components/side-panel/side-panel-footer.js +8 -0
  324. package/components/side-panel/side-panel-provider.d.ts +1 -1
  325. package/components/side-panel/side-panel.d.ts +1 -1
  326. package/components/side-panel/side-panel.js +2 -18
  327. package/components/stepper/step-base.d.ts +1 -1
  328. package/components/stepper/step-base.js +6 -9
  329. package/components/stepper/step-indicator.d.ts +11 -0
  330. package/components/stepper/step-indicator.js +8 -0
  331. package/components/stepper/step.d.ts +1 -1
  332. package/components/stepper/step.js +2 -11
  333. package/components/stepper/stepper.d.ts +1 -1
  334. package/components/tabs/tab-link.js +1 -1
  335. package/components/tabs/tab.js +1 -1
  336. package/components/tabs/tabs-base.d.ts +1 -1
  337. package/components/tabs/tabs.d.ts +1 -1
  338. package/components/tag/tag.js +9 -2
  339. package/components/tooltip/tooltip-base.d.ts +1 -3
  340. package/components/tooltip/tooltip-base.js +14 -10
  341. package/components/tooltip/tooltip.d.ts +1 -1
  342. package/components/tooltip/tooltip.js +1 -41
  343. package/components/utils/utils.js +0 -1
  344. package/index.d.ts +12 -0
  345. package/index.js +12 -0
  346. package/package.json +4 -3
@@ -5,7 +5,7 @@ import { IDSRadioGroupBase } from './radio-group-base.js';
5
5
  import { IDSRadio } from './radio.js';
6
6
  import { useGroupValidity } from '../form-hooks/useGroupValidity.js';
7
7
 
8
- function IDSRadioGroup({ name, required, noValidation, invalid, errorMsg, children, onRadioChange, ...props }) {
8
+ function IDSRadioGroup({ name, required, noValidation, invalid, errorMsg, subtitle, children, onRadioChange, ...props }) {
9
9
  const groupRef = useRef(null);
10
10
  const { isValid, hasInteracted } = useGroupValidity(groupRef, "radio");
11
11
  const reactId = useId();
@@ -31,7 +31,7 @@ function IDSRadioGroup({ name, required, noValidation, invalid, errorMsg, childr
31
31
  }
32
32
  return child;
33
33
  });
34
- return (jsx(IDSRadioGroupBase, { ...props, groupRef: groupRef, required: required, invalid: groupInvalid || invalid, errorMsg: !noValidation && errorMsg, errorMsgId: errorMsgId, children: clonedChildren }));
34
+ return (jsx(IDSRadioGroupBase, { ...props, groupRef: groupRef, required: required, subtitle: subtitle, invalid: groupInvalid || invalid, errorMsg: !noValidation && errorMsg, errorMsgId: errorMsgId, children: clonedChildren }));
35
35
  }
36
36
  IDSRadioGroup.displayName = "IDSRadioGroup";
37
37
 
@@ -5,7 +5,7 @@ export interface IDSRadioButtonGroupBaseProps extends InputHTMLAttributes<HTMLFi
5
5
  tooltip?: ReactNode;
6
6
  groupRef?: React.Ref<HTMLFieldSetElement>;
7
7
  }
8
- export declare function IDSRadioButtonGroupBase({ legend, groupRef, tooltip, children, className, ...props }: IDSRadioButtonGroupBaseProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function IDSRadioButtonGroupBase({ legend, groupRef, tooltip, children, className, ...props }: IDSRadioButtonGroupBaseProps): import("react").JSX.Element;
9
9
  export declare namespace IDSRadioButtonGroupBase {
10
10
  var displayName: string;
11
11
  }
@@ -1,4 +1,5 @@
1
1
  import { ReactNode, ChangeEvent, InputHTMLAttributes } from "react";
2
+ import React from "react";
2
3
  interface IDSRadioButtonGroupProps extends InputHTMLAttributes<HTMLFieldSetElement> {
3
4
  name: string;
4
5
  legend?: string;
@@ -6,7 +7,7 @@ interface IDSRadioButtonGroupProps extends InputHTMLAttributes<HTMLFieldSetEleme
6
7
  children?: ReactNode;
7
8
  onRadioChange?: (e: ChangeEvent<HTMLInputElement>) => void;
8
9
  }
9
- export declare function IDSRadioButtonGroup({ name, legend, tooltip, children, onRadioChange, className, ...props }: IDSRadioButtonGroupProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function IDSRadioButtonGroup({ name, legend, tooltip, children, onRadioChange, className, ...props }: IDSRadioButtonGroupProps): React.JSX.Element;
10
11
  export declare namespace IDSRadioButtonGroup {
11
12
  var displayName: string;
12
13
  }
@@ -10,7 +10,7 @@ export interface IDSRangeBaseProps extends React.InputHTMLAttributes<HTMLInputEl
10
10
  inputRef?: Ref<HTMLInputElement>;
11
11
  style?: CSSProperties;
12
12
  }
13
- export declare function IDSRangeBase({ id, label, showTicks, ticks, disabled, focusAnchor, dataTestId, tooltip, valueNow, min, max, step, inputRef, style, className, ...props }: IDSRangeBaseProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function IDSRangeBase({ id, label, showTicks, ticks, disabled, focusAnchor, dataTestId, tooltip, valueNow, min, max, step, inputRef, style, className, subtitle, ...props }: IDSRangeBaseProps): import("react").JSX.Element;
14
14
  export declare namespace IDSRangeBase {
15
15
  var displayName: string;
16
16
  }
@@ -2,9 +2,9 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useId } from 'react';
3
3
  import clsx from 'clsx';
4
4
 
5
- function IDSRangeBase({ id, label, showTicks, ticks = [], disabled, focusAnchor, dataTestId, tooltip, valueNow, min = 0, max = 10, step = 1, inputRef, style, className, ...props }) {
5
+ function IDSRangeBase({ id, label, showTicks, ticks = [], disabled, focusAnchor, dataTestId, tooltip, valueNow, min = 0, max = 10, step = 1, inputRef, style, className, subtitle, ...props }) {
6
6
  const inputId = !!id ? id : `range-${useId()}`;
7
- return (jsxs("div", { className: clsx("ids-range", className), "data-testid": dataTestId, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { htmlFor: inputId, className: clsx("ids-label", { "ids-label--disabled": disabled }), children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), jsx("input", { id: inputId, ref: inputRef, type: "range", className: clsx("ids-range__input", {
7
+ return (jsxs("div", { className: clsx("ids-range", className), "data-testid": dataTestId, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { htmlFor: inputId, className: "ids-label", children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), subtitle && jsx("div", { className: "ids-subtitle", children: subtitle }), jsx("input", { id: inputId, ref: inputRef, type: "range", className: clsx("ids-range__input", {
8
8
  "ids-focus-anchor": focusAnchor
9
9
  }), min: min, "aria-valuemin": min, max: max, "aria-valuemax": max, "aria-valuenow": valueNow, "aria-disabled": disabled, disabled: disabled, step: step, style: {
10
10
  backgroundSize: ((valueNow - (min ?? 0)) * 100) / ((max ?? 100) - (min ?? 0)) + "% 100%"
@@ -1,11 +1,11 @@
1
1
  import { CSSProperties } from "react";
2
- import { CommonFormProps } from "../form-props/form-props";
3
- export interface IDSSelectBaseProps extends React.SelectHTMLAttributes<HTMLSelectElement>, CommonFormProps {
2
+ import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
3
+ export interface IDSSelectBaseProps extends React.SelectHTMLAttributes<HTMLSelectElement>, CommonFormPropsWithReadOnly {
4
4
  selectRef?: React.Ref<HTMLSelectElement>;
5
5
  errorMsgId?: string;
6
6
  style?: CSSProperties;
7
7
  }
8
- export declare function IDSSelectBase({ id, label, errorMsgId, errorMsg, invalid, disabled, required, light, focusAnchor, tooltip, children, className, selectRef, dataTestId, style, ...props }: IDSSelectBaseProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function IDSSelectBase({ id, label, errorMsgId, errorMsg, invalid, readOnly, disabled, required, light, focusAnchor, tooltip, children, className, selectRef, dataTestId, style, subtitle, ...props }: IDSSelectBaseProps): import("react").JSX.Element;
9
9
  export declare namespace IDSSelectBase {
10
10
  var displayName: string;
11
11
  }
@@ -3,7 +3,7 @@ import { useId } from 'react';
3
3
  import clsx from 'clsx';
4
4
  import { IDSErrorMessage } from '../error-message/error-message.js';
5
5
 
6
- function IDSSelectBase({ id, label, errorMsgId, errorMsg, invalid, disabled, required, light, focusAnchor, tooltip, children, className, selectRef, dataTestId, style, ...props }) {
6
+ function IDSSelectBase({ id, label, errorMsgId, errorMsg, invalid, readOnly, disabled, required, light, focusAnchor, tooltip, children, className, selectRef, dataTestId, style, subtitle, ...props }) {
7
7
  const reactId = useId();
8
8
  const selectId = id ?? `select-base-${reactId}`;
9
9
  const baseErrorMsgId = errorMsgId ?? `select-base-error-${reactId}`;
@@ -12,12 +12,10 @@ function IDSSelectBase({ id, label, errorMsgId, errorMsg, invalid, disabled, req
12
12
  if (showErrorMsg) {
13
13
  ariaHandler["aria-describedby"] = baseErrorMsgId;
14
14
  }
15
- return (jsxs("div", { className: clsx("ids-select", className), "data-testid": dataTestId, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { htmlFor: selectId, className: clsx("ids-label", {
16
- "ids-label--disabled": disabled
17
- }), children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), jsx("div", { className: "ids-select__wrapper", children: jsx("select", { id: selectId, ref: selectRef, className: clsx("ids-select__select", {
15
+ return (jsxs("div", { className: clsx("ids-select", className), "data-testid": dataTestId, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { htmlFor: selectId, className: "ids-label", children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), subtitle && jsx("div", { className: "ids-subtitle", children: subtitle }), jsx("div", { className: "ids-select__wrapper", children: jsx("select", { id: selectId, ref: selectRef, className: clsx("ids-select__select", {
18
16
  "ids-input--light": light,
19
17
  "ids-focus-anchor": focusAnchor
20
- }), "aria-invalid": invalid, "aria-disabled": disabled, disabled: disabled, required: required, ...ariaHandler, ...props, children: children }) }), showErrorMsg && (jsx(IDSErrorMessage, { id: baseErrorMsgId, show: true, children: errorMsg }))] }));
18
+ }), "aria-invalid": invalid, "aria-disabled": readOnly, disabled: disabled, required: required, ...ariaHandler, ...props, children: children }) }), showErrorMsg && (jsx(IDSErrorMessage, { id: baseErrorMsgId, show: true, children: errorMsg }))] }));
21
19
  }
22
20
  IDSSelectBase.displayName = "IDSSelectBase";
23
21
 
@@ -1,4 +1,4 @@
1
- import { CommonFormProps } from "../form-props/form-props";
2
- export interface IDSSelectProps extends React.SelectHTMLAttributes<HTMLSelectElement>, CommonFormProps {
1
+ import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
2
+ export interface IDSSelectProps extends React.SelectHTMLAttributes<HTMLSelectElement>, CommonFormPropsWithReadOnly {
3
3
  }
4
4
  export declare const IDSSelect: import("react").ForwardRefExoticComponent<IDSSelectProps & import("react").RefAttributes<HTMLSelectElement>>;
@@ -7,7 +7,7 @@ import { IDSSelectBase } from './select-base.js';
7
7
  const IDSSelect = forwardRef(({ invalid = false, noValidation = false, validationOnBlur = false, children, ...props }, ref) => {
8
8
  const errorMsgId = `select-error-${useId()}`;
9
9
  const selectRef = useRef(null);
10
- const hasValidValue = useInputValidity(selectRef, validationOnBlur);
10
+ const hasValidValue = useInputValidity(selectRef, validationOnBlur, noValidation);
11
11
  const computedInvalid = (invalid || !hasValidValue) && !noValidation;
12
12
  // Merge forwarded + local ref
13
13
  const mergedRef = (node) => {
@@ -1,6 +1,6 @@
1
1
  import { CSSProperties } from "react";
2
2
  import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
3
- export interface IDSSelectMultipleBaseProps extends React.InputHTMLAttributes<HTMLInputElement>, CommonFormPropsWithReadOnly {
3
+ export interface IDSSelectMultipleBaseProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, CommonFormPropsWithReadOnly {
4
4
  expanded?: boolean;
5
5
  placeholder?: string;
6
6
  numbCheckedBoxes?: number;
@@ -14,7 +14,7 @@ export interface IDSSelectMultipleBaseProps extends React.InputHTMLAttributes<HT
14
14
  client?: boolean;
15
15
  style?: CSSProperties;
16
16
  }
17
- export declare function IDSSelectMultipleBase({ id, label, placeholder, numbCheckedBoxes, selectedLabel, selectedLabelPlural, expanded, maxHeight, tooltip, componentRef, buttonRef, invalid, disabled, readOnly, ariaDisabled, light, focusAnchor, className, children, style, onClick, client }: IDSSelectMultipleBaseProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function IDSSelectMultipleBase({ id, label, placeholder, numbCheckedBoxes, selectedLabel, selectedLabelPlural, expanded, maxHeight, tooltip, subtitle, componentRef, buttonRef, invalid, disabled, readOnly, ariaDisabled, light, focusAnchor, className, children, style, onClick, client, ...props }: IDSSelectMultipleBaseProps): import("react").JSX.Element;
18
18
  export declare namespace IDSSelectMultipleBase {
19
19
  var displayName: string;
20
20
  }
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useId } from 'react';
3
3
  import clsx from 'clsx';
4
4
 
5
- function IDSSelectMultipleBase({ id, label, placeholder, numbCheckedBoxes, selectedLabel = "vald", selectedLabelPlural = "valda", expanded, maxHeight = "", tooltip, componentRef, buttonRef, invalid, disabled, readOnly, ariaDisabled, light, focusAnchor, className, children, style, onClick, client = false }) {
5
+ function IDSSelectMultipleBase({ id, label, placeholder, numbCheckedBoxes, selectedLabel = "vald", selectedLabelPlural = "valda", expanded, maxHeight = "", tooltip, subtitle, componentRef, buttonRef, invalid, disabled, readOnly, ariaDisabled, light, focusAnchor, className, children, style, onClick, client = false, ...props }) {
6
6
  const reactId = useId();
7
7
  const labelId = `select-multiple-base-label-${reactId}`;
8
8
  const dropdownId = `select-multiple-base-dropdown-${reactId}`;
@@ -16,10 +16,10 @@ function IDSSelectMultipleBase({ id, label, placeholder, numbCheckedBoxes, selec
16
16
  onClick
17
17
  }
18
18
  : {};
19
- return (jsxs("div", { className: clsx("ids-select-multiple", className), ref: componentRef, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { id: labelId, className: clsx("ids-label", { "ids-label--disabled": disabled || readOnly }), children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), jsx("div", { className: "ids-select-multiple__select-wrapper", children: jsx("button", { ref: buttonRef, id: id, "aria-labelledby": labelId, type: "button", "aria-haspopup": "dialog", "aria-controls": dropdownId, className: clsx("ids-select-multiple__select", {
19
+ return (jsxs("div", { className: clsx("ids-select-multiple", className), ref: componentRef, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { id: labelId, className: "ids-label", children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), subtitle && jsx("div", { className: "ids-subtitle", children: subtitle }), jsx("div", { className: "ids-select-multiple__select-wrapper", children: jsx("button", { ref: buttonRef, id: id, "aria-labelledby": labelId, type: "button", "aria-haspopup": "dialog", "aria-controls": dropdownId, className: clsx("ids-select-multiple__select", {
20
20
  "ids-input--light": light,
21
21
  "ids-focus-anchor": focusAnchor
22
- }), disabled: disabled, "aria-disabled": ariaDisabled || readOnly || undefined, "aria-expanded": expanded, "aria-invalid": invalid, ...clickHandler, children: displayedValue }) }), jsx("div", { className: "ids-select-multiple__dropdown-wrapper", id: dropdownId, children: jsx("div", { className: clsx("ids-select-multiple__dropdown", {
22
+ }), disabled: disabled, "aria-disabled": ariaDisabled || readOnly || undefined, "aria-expanded": expanded, "aria-invalid": invalid, ...clickHandler, ...props, children: displayedValue }) }), jsx("div", { className: "ids-select-multiple__dropdown-wrapper", id: dropdownId, children: jsx("div", { className: clsx("ids-select-multiple__dropdown", {
23
23
  "ids-select-multiple__dropdown--expanded": expanded
24
24
  }), children: jsx("div", { className: "ids-select-multiple__dropdown-scroll-area", style: { maxHeight }, children: children }) }) })] }));
25
25
  }
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
3
- export interface IDSSelectMultipleProps extends React.InputHTMLAttributes<HTMLInputElement>, CommonFormPropsWithReadOnly {
3
+ export interface IDSSelectMultipleProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, CommonFormPropsWithReadOnly {
4
4
  selectedLabel?: string;
5
5
  selectedLabelPlural?: string;
6
6
  placeholder?: string;
@@ -8,7 +8,7 @@ export interface IDSSelectMultipleProps extends React.InputHTMLAttributes<HTMLIn
8
8
  maxHeight?: string;
9
9
  expanded?: boolean;
10
10
  }
11
- export declare function IDSSelectMultiple({ label, invalid, noValidation, expanded, errorMsg, style, children, ...props }: IDSSelectMultipleProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function IDSSelectMultiple({ label, invalid, noValidation, expanded, errorMsg, children, ...props }: IDSSelectMultipleProps): React.JSX.Element;
12
12
  export declare namespace IDSSelectMultiple {
13
13
  var displayName: string;
14
14
  }
@@ -6,7 +6,7 @@ import { IDSCheckboxGroup } from '../checkbox/checkbox-group.js';
6
6
  import { useClickOutside } from '../../utils/hooks/useClickOutside.js';
7
7
  import { useEsc } from '../../utils/hooks/useEsc.js';
8
8
 
9
- function IDSSelectMultiple({ label, invalid = false, noValidation = false, expanded = false, errorMsg, style, children, ...props }) {
9
+ function IDSSelectMultiple({ label, invalid = false, noValidation = false, expanded = false, errorMsg, children, ...props }) {
10
10
  const [isExpanded, setIsExpanded] = useState(expanded);
11
11
  const [checkboxListInvalid, setCheckboxListInvalid] = useState(false);
12
12
  const buttonRef = useRef(null);
@@ -4,7 +4,7 @@ interface IDSSpinnerProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  live?: "polite" | "assertive" | "off";
5
5
  srText?: string;
6
6
  }
7
- export declare function IDSSpinner({ variant, live, srText, className, ...rest }: IDSSpinnerProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function IDSSpinner({ variant, live, srText, className, ...rest }: IDSSpinnerProps): React.JSX.Element;
8
8
  export declare namespace IDSSpinner {
9
9
  var displayName: string;
10
10
  }
@@ -9,7 +9,7 @@ interface IDSTextareaBaseProps extends Omit<React.TextareaHTMLAttributes<HTMLTex
9
9
  errorMsgId?: string;
10
10
  style?: CSSProperties;
11
11
  }
12
- export declare function IDSTextareaBase({ id, label, hint, hintId, errorMsg, errorMsgId, invalid, required, disabled, readOnly, light, block, autoSize, noResize, focusAnchor, tooltip, textareaRef, dataTestId, className, style, ...props }: IDSTextareaBaseProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function IDSTextareaBase({ id, label, subtitle, hint, hintId, errorMsg, errorMsgId, invalid, required, disabled, readOnly, light, block, autoSize, noResize, focusAnchor, tooltip, textareaRef, dataTestId, className, style, ...props }: IDSTextareaBaseProps): import("react").JSX.Element;
13
13
  export declare namespace IDSTextareaBase {
14
14
  var displayName: string;
15
15
  }
@@ -3,7 +3,7 @@ import clsx from 'clsx';
3
3
  import { IDSErrorMessage } from '../error-message/error-message.js';
4
4
  import { useId } from 'react';
5
5
 
6
- function IDSTextareaBase({ id, label, hint, hintId, errorMsg, errorMsgId, invalid, required, disabled, readOnly, light, block, autoSize, noResize, focusAnchor, tooltip, textareaRef, dataTestId, className, style, ...props }) {
6
+ function IDSTextareaBase({ id, label, subtitle, hint, hintId, errorMsg, errorMsgId, invalid, required, disabled, readOnly, light, block, autoSize, noResize, focusAnchor, tooltip, textareaRef, dataTestId, className, style, ...props }) {
7
7
  const reactId = useId();
8
8
  const inputId = !!id ? id : `textarea-base-${reactId}`;
9
9
  const baseHintId = !!hintId ? hintId : `textarea-base-hint-${reactId}`;
@@ -18,13 +18,11 @@ function IDSTextareaBase({ id, label, hint, hintId, errorMsg, errorMsgId, invali
18
18
  "ids-textarea--block": block,
19
19
  "ids-textarea--autosize": autoSize,
20
20
  "ids-textarea--no-resize": noResize
21
- }, className), "data-testid": dataTestId, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { htmlFor: inputId, className: clsx("ids-label", {
22
- "ids-label--disabled": disabled || readOnly
23
- }), children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), jsx("textarea", { ref: textareaRef, id: inputId, className: clsx("ids-textarea__textarea", {
21
+ }, className), "data-testid": dataTestId, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { htmlFor: inputId, className: "ids-label", children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), subtitle && jsx("div", { className: "ids-subtitle", children: subtitle }), jsx("textarea", { ref: textareaRef, id: inputId, className: clsx("ids-textarea__textarea", {
24
22
  "ids-input--light": light,
25
23
  "ids-input--invalid": invalid,
26
24
  "ids-focus-anchor": focusAnchor
27
- }), style: { minWidth: (!!hint || !!errorMsg && showErrorMsg) ? "100%" : "inherit" }, required: required, disabled: disabled, "aria-required": required, "aria-disabled": disabled, "aria-invalid": invalid, readOnly: readOnly, ...ariaHandler, ...props }), hint && (jsx("div", { id: baseHintId, className: "ids-input__hint", children: hint })), showErrorMsg && (jsx(IDSErrorMessage, { id: baseErrorMsgId, show: true, children: errorMsg }))] }));
25
+ }), style: { minWidth: !!hint || (!!errorMsg && showErrorMsg) ? "100%" : "inherit" }, required: required, disabled: disabled, "aria-required": required, "aria-disabled": disabled, "aria-invalid": invalid, readOnly: readOnly, ...ariaHandler, ...props }), hint && (jsx("div", { id: baseHintId, className: "ids-input__hint", children: hint })), showErrorMsg && (jsx(IDSErrorMessage, { id: baseErrorMsgId, show: true, children: errorMsg }))] }));
28
26
  }
29
27
  IDSTextareaBase.displayName = "IDSTextareaBase";
30
28
 
@@ -6,7 +6,7 @@ import { IDSTextareaBase } from './textarea-base.js';
6
6
 
7
7
  const IDSTextarea = forwardRef(({ invalid = false, noValidation = false, validationOnBlur = false, ...props }, ref) => {
8
8
  const textareaRef = useRef(null);
9
- const hasValidValue = useInputValidity(textareaRef, validationOnBlur);
9
+ const hasValidValue = useInputValidity(textareaRef, validationOnBlur, noValidation);
10
10
  const computedInvalid = (invalid || !hasValidValue) && !noValidation;
11
11
  // Merge forwarded + local ref
12
12
  const mergedRef = (node) => {
@@ -5,7 +5,7 @@ export interface IDSTimeBaseProps extends React.InputHTMLAttributes<HTMLInputEle
5
5
  errorMsgId?: string;
6
6
  style?: CSSProperties;
7
7
  }
8
- export declare function IDSTimeBase({ id, label, tooltip, errorMsg, errorMsgId, disabled, invalid, required, light, focusAnchor, dataTestId, className, inputRef, style, ...props }: IDSTimeBaseProps & React.InputHTMLAttributes<HTMLInputElement>): import("react/jsx-runtime").JSX.Element;
8
+ export declare function IDSTimeBase({ id, label, tooltip, errorMsg, errorMsgId, disabled, invalid, required, light, focusAnchor, dataTestId, className, inputRef, style, subtitle, ...props }: IDSTimeBaseProps & React.InputHTMLAttributes<HTMLInputElement>): import("react").JSX.Element;
9
9
  export declare namespace IDSTimeBase {
10
10
  var displayName: string;
11
11
  }
@@ -3,7 +3,7 @@ import clsx from 'clsx';
3
3
  import { IDSErrorMessage } from '../error-message/error-message.js';
4
4
  import { useId } from 'react';
5
5
 
6
- function IDSTimeBase({ id, label, tooltip, errorMsg, errorMsgId, disabled = false, invalid = false, required = false, light, focusAnchor, dataTestId, className, inputRef, style, ...props }) {
6
+ function IDSTimeBase({ id, label, tooltip, errorMsg, errorMsgId, disabled = false, invalid = false, required = false, light, focusAnchor, dataTestId, className, inputRef, style, subtitle, ...props }) {
7
7
  const reactId = useId();
8
8
  const inputId = id ?? `time-base-${reactId}`;
9
9
  const baseErrorMsgId = errorMsgId ?? `time-base-error-${reactId}`;
@@ -12,9 +12,7 @@ function IDSTimeBase({ id, label, tooltip, errorMsg, errorMsgId, disabled = fals
12
12
  if (showErrorMsg) {
13
13
  ariaHandler["aria-describedby"] = baseErrorMsgId;
14
14
  }
15
- return (jsxs("div", { className: clsx("ids-time", className), "data-testid": dataTestId, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { className: clsx("ids-label", {
16
- "ids-label--disabled": disabled
17
- }), htmlFor: inputId, children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), jsx("div", { className: "ids-time__input-wrapper", children: jsx("input", { ref: inputRef, id: inputId, type: "time", className: clsx("ids-time__input", {
15
+ return (jsxs("div", { className: clsx("ids-time", className), "data-testid": dataTestId, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { className: "ids-label", htmlFor: inputId, children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), subtitle && jsx("div", { className: "ids-subtitle", children: subtitle }), jsx("div", { className: "ids-time__input-wrapper", children: jsx("input", { ref: inputRef, id: inputId, type: "time", className: clsx("ids-time__input", {
18
16
  "ids-input--light": light,
19
17
  "ids-focus-anchor": focusAnchor
20
18
  }), "aria-invalid": invalid, "aria-required": required, "aria-disabled": disabled, required: required, disabled: disabled, ...ariaHandler, ...props }) }), showErrorMsg && (jsx(IDSErrorMessage, { id: baseErrorMsgId, show: true, children: errorMsg }))] }));
@@ -4,11 +4,10 @@ import { forwardRef, useRef } from 'react';
4
4
  import { useInputValidity } from '../form-hooks/useInputValidity.js';
5
5
  import { IDSTimeBase } from './time-base.js';
6
6
 
7
- const IDSTime = forwardRef(({ invalid = false, noValidation = false, validationOnBlur = false, ...props }, ref) => {
7
+ const IDSTime = forwardRef(({ invalid = false, noValidation = false, validationOnBlur = false, required = false, ...props }, ref) => {
8
8
  const timeRef = useRef(null);
9
- const hasValidValue = useInputValidity(timeRef, validationOnBlur);
10
- const isInvalid = (invalid || !hasValidValue) && !noValidation;
11
- // Merge forwarded + local ref
9
+ const hasValidValue = useInputValidity(timeRef, validationOnBlur, noValidation);
10
+ const isInvalid = !noValidation && (invalid || !hasValidValue);
12
11
  const mergedRef = (node) => {
13
12
  timeRef.current = node;
14
13
  if (typeof ref === "function")
@@ -16,7 +15,7 @@ const IDSTime = forwardRef(({ invalid = false, noValidation = false, validationO
16
15
  else if (ref)
17
16
  ref.current = node;
18
17
  };
19
- return jsx(IDSTimeBase, { invalid: isInvalid, inputRef: mergedRef, ...props });
18
+ return jsx(IDSTimeBase, { invalid: isInvalid, inputRef: mergedRef, required: noValidation ? false : required, ...props });
20
19
  });
21
20
  IDSTime.displayName = "IDSTime";
22
21
 
@@ -12,7 +12,7 @@ export interface IDSGlobalAlertBaseProps extends React.HTMLAttributes<HTMLDivEle
12
12
  onToggle?: () => void;
13
13
  client?: boolean;
14
14
  }
15
- export declare function IDSGlobalAlertBase({ agent, srExpandText, srCollapseText, collapsed, noRole, headline, actions, children, className, onToggle, client, ...props }: IDSGlobalAlertBaseProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function IDSGlobalAlertBase({ agent, srExpandText, srCollapseText, collapsed, noRole, headline, actions, children, className, onToggle, client, ...props }: IDSGlobalAlertBaseProps): React.JSX.Element;
16
16
  export declare namespace IDSGlobalAlertBase {
17
17
  var displayName: string;
18
18
  }
@@ -5,7 +5,7 @@ interface IDSGlobalAlertProps extends Omit<React.ComponentProps<typeof IDSGlobal
5
5
  defaultCollapsed?: boolean;
6
6
  onCollapsedChange?: (isCollapsed: boolean) => void;
7
7
  }
8
- export declare function IDSGlobalAlert({ collapsed, defaultCollapsed, onCollapsedChange, className, ...props }: IDSGlobalAlertProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function IDSGlobalAlert({ collapsed, defaultCollapsed, onCollapsedChange, className, ...props }: IDSGlobalAlertProps): React.JSX.Element;
9
9
  export declare namespace IDSGlobalAlert {
10
10
  var displayName: string;
11
11
  }
@@ -13,7 +13,7 @@ interface IDSHeader1177AvatarBaseProps extends HTMLAttributes<HTMLDivElement> {
13
13
  menuRef?: React.RefObject<HTMLDivElement>;
14
14
  buttonRef?: React.RefObject<HTMLButtonElement>;
15
15
  }
16
- export declare function IDSHeader1177AvatarBase({ username, agent, children, unresponsive, expanded, hide, noMobileMenu, client, onToggle, componentRef, menuRef, buttonRef, ...props }: IDSHeader1177AvatarBaseProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function IDSHeader1177AvatarBase({ username, agent, children, unresponsive, expanded, hide, noMobileMenu, client, onToggle, componentRef, menuRef, buttonRef, ...props }: IDSHeader1177AvatarBaseProps): React.JSX.Element;
17
17
  export declare namespace IDSHeader1177AvatarBase {
18
18
  var displayName: string;
19
19
  }
@@ -6,7 +6,7 @@ interface IDSHeader1177AvatarProps extends HTMLAttributes<HTMLDivElement> {
6
6
  persistent?: boolean;
7
7
  noMobileMenu?: boolean;
8
8
  }
9
- export declare function IDSHeader1177Avatar({ expanded, persistent, children, ...props }: IDSHeader1177AvatarProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function IDSHeader1177Avatar({ expanded, persistent, children, ...props }: IDSHeader1177AvatarProps): React.JSX.Element;
10
10
  export declare namespace IDSHeader1177Avatar {
11
11
  var displayName: string;
12
12
  }
@@ -5,7 +5,7 @@ interface IDSHeader1177BaseProps extends React.HTMLAttributes<HTMLDivElement> {
5
5
  unresponsive?: boolean;
6
6
  logoHref?: string;
7
7
  logoProps?: AnchorHTMLAttributes<HTMLAnchorElement>;
8
- logo?: ReactNode;
8
+ logoLink?: ReactNode;
9
9
  srLogoText?: string;
10
10
  regionPicker?: ReactNode;
11
11
  skipToContentLink?: ReactNode;
@@ -14,7 +14,7 @@ interface IDSHeader1177BaseProps extends React.HTMLAttributes<HTMLDivElement> {
14
14
  mobileMenu?: ReactNode;
15
15
  children?: ReactNode;
16
16
  }
17
- export declare function IDSHeader1177Base({ srLogoText, hideRegionPicker, unresponsive, logoHref, logoProps, logo, regionPicker, skipToContentLink, items, avatar, mobileMenu, className, children, ...props }: IDSHeader1177BaseProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function IDSHeader1177Base({ srLogoText, hideRegionPicker, unresponsive, logoHref, logoProps, logoLink, regionPicker, skipToContentLink, items, avatar, mobileMenu, className, children, ...props }: IDSHeader1177BaseProps): React.JSX.Element;
18
18
  export declare namespace IDSHeader1177Base {
19
19
  var displayName: string;
20
20
  }
@@ -1,14 +1,12 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
3
  import '@inera/ids-design/components/header-1177/composite-header-1177.css';
4
+ import { IDSHeader1177Logo } from './header-1177-logo.js';
4
5
 
5
- function IDSHeader1177Base({ srLogoText = "Logotyp", hideRegionPicker = false, unresponsive = false, logoHref = "", logoProps = {}, logo, regionPicker, skipToContentLink, items, avatar, mobileMenu, className, children, ...props }) {
6
- const renderLogo = () => {
7
- return (jsx("div", { className: "ids-header-1177__logo-wrapper", children: jsx("div", { className: "ids-header-1177__logo", children: logo ? (jsx("span", { className: "ids-header-1177__link", children: logo })) : (jsx("a", { className: "ids-header-1177__logo-link", href: logoHref, "aria-label": srLogoText, ...logoProps })) }) }));
8
- };
6
+ function IDSHeader1177Base({ srLogoText = "Logotyp", hideRegionPicker = false, unresponsive = false, logoHref = "", logoProps = {}, logoLink, regionPicker, skipToContentLink, items, avatar, mobileMenu, className, children, ...props }) {
9
7
  return (jsxs("header", { ...props, className: clsx("ids-header-1177", {
10
8
  "ids-header-1177--unresponsive": unresponsive
11
- }, className), children: [skipToContentLink && jsx("div", { className: "ids-header-1177__skip-to-content", children: skipToContentLink }), jsxs("div", { className: "ids-header-1177__container", children: [jsx("div", { className: "ids-header-1177__left" }), jsxs("div", { className: "ids-header-1177__inner", children: [jsxs("div", { className: "ids-header-1177__inner-left", children: [renderLogo(), !hideRegionPicker && regionPicker && jsx("div", { className: "ids-header-1177__region-picker", children: regionPicker })] }), jsxs("div", { className: "ids-header-1177__inner-right", children: [items, " ", avatar, " ", mobileMenu] })] }), jsx("div", { className: "ids-header-1177__right" })] }), children] }));
9
+ }, className), children: [skipToContentLink && jsx("div", { className: "ids-header-1177__skip-to-content", children: skipToContentLink }), jsxs("div", { className: "ids-header-1177__container", children: [jsx("div", { className: "ids-header-1177__left" }), jsxs("div", { className: "ids-header-1177__inner", children: [jsxs("div", { className: "ids-header-1177__inner-left", children: [jsx(IDSHeader1177Logo, { logoLink: logoLink, logoHref: logoHref, logoProps: logoProps, srLogoText: srLogoText }), !hideRegionPicker && regionPicker && jsx("div", { className: "ids-header-1177__region-picker", children: regionPicker })] }), jsxs("div", { className: "ids-header-1177__inner-right", children: [items, " ", avatar, " ", mobileMenu] })] }), jsx("div", { className: "ids-header-1177__right" })] }), children] }));
12
10
  }
13
11
  IDSHeader1177Base.displayName = "IDSHeader1177Base";
14
12
 
@@ -5,7 +5,7 @@ interface IDSHeader1177ItemBaseProps extends HTMLAttributes<HTMLElement> {
5
5
  icon?: string;
6
6
  unresponsive?: boolean;
7
7
  }
8
- export declare function IDSHeader1177ItemBase({ mobile, keepTextOnMobile, icon, children, unresponsive, ...props }: IDSHeader1177ItemBaseProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function IDSHeader1177ItemBase({ mobile, keepTextOnMobile, icon, children, unresponsive, ...props }: IDSHeader1177ItemBaseProps): import("react").JSX.Element;
9
9
  export declare namespace IDSHeader1177ItemBase {
10
10
  var displayName: string;
11
11
  }
@@ -2,12 +2,11 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
3
 
4
4
  function IDSHeader1177ItemBase({ mobile = false, keepTextOnMobile = false, icon, children, unresponsive = false, ...props }) {
5
- const renderContent = () => (jsx("div", { className: "ids-header-1177-item-icon", "aria-hidden": "true", children: jsx("span", { className: `ids-icon-${icon}` }) }));
6
5
  return (jsxs("div", { className: clsx("ids-header-1177-item", {
7
6
  "ids-header-1177-item--unresponsive": unresponsive,
8
7
  "ids-header-1177-item--mobile": mobile,
9
8
  "ids-header-1177-item--keep-text": keepTextOnMobile
10
- }), ...props, children: [renderContent(), children] }));
9
+ }), ...props, children: [jsx("div", { className: "ids-header-1177-item__icon", "aria-hidden": "true", children: jsx("span", { className: `ids-icon-${icon}` }) }), children] }));
11
10
  }
12
11
  IDSHeader1177ItemBase.displayName = "IDSHeader1177ItemBase";
13
12
 
@@ -4,7 +4,7 @@ interface IDSHeader1177ItemProps extends HTMLAttributes<HTMLElement> {
4
4
  keepTextOnMobile?: boolean;
5
5
  icon?: string;
6
6
  }
7
- export declare function IDSHeader1177Item({ mobile, keepTextOnMobile, icon, children, ...props }: IDSHeader1177ItemProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function IDSHeader1177Item({ mobile, keepTextOnMobile, icon, children, ...props }: IDSHeader1177ItemProps): import("react").JSX.Element;
8
8
  export declare namespace IDSHeader1177Item {
9
9
  var displayName: string;
10
10
  }
@@ -0,0 +1,12 @@
1
+ import React, { ReactNode, AnchorHTMLAttributes } from "react";
2
+ interface IDSHeader1177LogoProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ logoHref?: string;
4
+ logoProps?: AnchorHTMLAttributes<HTMLAnchorElement>;
5
+ logoLink?: ReactNode;
6
+ srLogoText?: string;
7
+ }
8
+ export declare function IDSHeader1177Logo({ srLogoText, logoHref, logoProps, logoLink }: IDSHeader1177LogoProps): React.JSX.Element;
9
+ export declare namespace IDSHeader1177Logo {
10
+ var displayName: string;
11
+ }
12
+ export {};
@@ -0,0 +1,8 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ function IDSHeader1177Logo({ srLogoText = "Logotyp", logoHref = "", logoProps, logoLink }) {
4
+ return (jsx("div", { className: "ids-header-1177__logo-wrapper", children: jsx("div", { className: "ids-header-1177__logo", children: !!logoLink ? (jsx("span", { className: "ids-header-1177__link", children: logoLink })) : (jsx("a", { className: "ids-header-1177__logo-link", href: logoHref, "aria-label": srLogoText, ...logoProps })) }) }));
5
+ }
6
+ IDSHeader1177Logo.displayName = "IDSHeader1177Logo";
7
+
8
+ export { IDSHeader1177Logo };
@@ -9,7 +9,7 @@ interface IDSHeader1177MenuMobileBaseProps extends HTMLAttributes<HTMLDivElement
9
9
  buttonRef?: React.Ref<HTMLButtonElement>;
10
10
  client?: boolean;
11
11
  }
12
- export declare function IDSHeader1177MenuMobileBase({ srLabel, expanded, unresponsive, children, onToggleMenu, client, componentRef, menuRef, buttonRef, ...props }: IDSHeader1177MenuMobileBaseProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function IDSHeader1177MenuMobileBase({ srLabel, expanded, unresponsive, children, onToggleMenu, client, componentRef, menuRef, buttonRef, ...props }: IDSHeader1177MenuMobileBaseProps): React.JSX.Element;
13
13
  export declare namespace IDSHeader1177MenuMobileBase {
14
14
  var displayName: string;
15
15
  }
@@ -6,7 +6,7 @@ interface IDSHeader1177MenuMobileProps extends HTMLAttributes<HTMLDivElement> {
6
6
  onExpanded?: () => void;
7
7
  onClosed?: () => void;
8
8
  }
9
- export declare function IDSHeader1177MenuMobile({ srLabel, persistent, expanded, children, onExpanded, onClosed, ...props }: IDSHeader1177MenuMobileProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function IDSHeader1177MenuMobile({ srLabel, persistent, expanded, children, onExpanded, onClosed, ...props }: IDSHeader1177MenuMobileProps): import("react").JSX.Element;
10
10
  export declare namespace IDSHeader1177MenuMobile {
11
11
  var displayName: string;
12
12
  }
@@ -5,7 +5,7 @@ interface IDSHeader1177NavBaseProps extends HTMLAttributes<HTMLElement> {
5
5
  mobileRight?: ReactNode;
6
6
  unresponsive?: boolean;
7
7
  }
8
- export declare function IDSHeader1177NavBase({ hideOnTablet, mobileLeft, mobileRight, children, unresponsive, ...props }: IDSHeader1177NavBaseProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function IDSHeader1177NavBase({ hideOnTablet, mobileLeft, mobileRight, children, unresponsive, ...props }: IDSHeader1177NavBaseProps): import("react").JSX.Element;
9
9
  export declare namespace IDSHeader1177NavBase {
10
10
  var displayName: string;
11
11
  }
@@ -6,7 +6,7 @@ function IDSHeader1177NavBase({ hideOnTablet = false, mobileLeft, mobileRight, c
6
6
  "ids-header-1177-nav--unresponsive": unresponsive,
7
7
  "ids-header-1177-nav--hide-on-tablet": hideOnTablet
8
8
  });
9
- return (jsxs("nav", { className: navClass, "aria-label": "Huvudmeny", ...props, children: [jsx("div", { className: "ids-header-1177-nav__inner", children: jsx("div", { className: "ids-header-1177-nav__content", children: children }) }), jsxs("div", { className: "ids-header-1177-nav__inner-mobile", children: [jsx("div", { className: "ids-header-1177-nav__inner-mobile-left", children: mobileLeft }), jsx("div", { className: "ids-header-1177-nav__inner-mobile-right", children: mobileRight })] })] }));
9
+ return (jsxs("nav", { className: navClass, "aria-label": "Huvudmeny", ...props, children: [jsx("div", { className: "ids-header-1177-nav__inner", children: children }), jsxs("div", { className: "ids-header-1177-nav__inner-mobile", children: [jsx("div", { className: "ids-header-1177-nav__inner-mobile-left", children: mobileLeft }), jsx("div", { className: "ids-header-1177-nav__inner-mobile-right", children: mobileRight })] })] }));
10
10
  }
11
11
  IDSHeader1177NavBase.displayName = "IDSHeader1177NavBase";
12
12
 
@@ -16,7 +16,7 @@ export interface IDSHeader1177NavItemBaseProps extends HTMLAttributes<HTMLElemen
16
16
  unresponsive?: boolean;
17
17
  client?: boolean;
18
18
  }
19
- export declare function IDSHeader1177NavItemBase({ label, active, expanded, children, col1, col2, col3, col4, componentRef, menuRef, buttonRef, onToggleItem, client, unresponsive, ...props }: IDSHeader1177NavItemBaseProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function IDSHeader1177NavItemBase({ label, active, expanded, children, col1, col2, col3, col4, componentRef, menuRef, buttonRef, onToggleItem, client, unresponsive, ...props }: IDSHeader1177NavItemBaseProps): React.JSX.Element;
20
20
  export declare namespace IDSHeader1177NavItemBase {
21
21
  var displayName: string;
22
22
  }
@@ -1,6 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import React, { useId } from 'react';
2
+ import { useId } from 'react';
3
3
  import clsx from 'clsx';
4
+ import { IDSHeader1177NavItemLink } from './header-1177-nav-item-link.js';
4
5
 
5
6
  function IDSHeader1177NavItemBase({ label, active, expanded, children, col1, col2, col3, col4, componentRef, menuRef, buttonRef, onToggleItem, client = false, unresponsive, ...props }) {
6
7
  const itemId = `header-1177-item-${useId()}`;
@@ -13,17 +14,7 @@ function IDSHeader1177NavItemBase({ label, active, expanded, children, col1, col
13
14
  "ids-header-1177-nav-item--unresponsive": unresponsive,
14
15
  "ids-header-1177-nav-item--expanded": expanded,
15
16
  "ids-header-1177-nav-item--active": active
16
- }), ...props, children: [!!label && (jsx("button", { "aria-controls": itemId, ref: buttonRef, "aria-expanded": expanded, className: "ids-header-1177-nav-item__button", ...toggleHandler, children: label })), !label && (jsx("span", { className: "ids-header-1177-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-1177-nav-item__menu", {
17
+ }), ...props, children: [!label && jsx(IDSHeader1177NavItemLink, { active: active, children: children }), !!label && (jsx("button", { "aria-controls": itemId, ref: buttonRef, "aria-expanded": expanded, className: "ids-header-1177-nav-item__button", ...toggleHandler, children: label })), jsx("div", { ref: menuRef, id: itemId, className: clsx("ids-header-1177-nav-item__menu", {
27
18
  "ids-header-1177-nav-item__menu--expanded": expanded
28
19
  }), children: jsxs("div", { className: "ids-header-1177-nav-item__menu-content", children: [jsx("div", { className: "ids-header-1177-nav-item__menu-col-1", children: col1?.map((link, idx) => (jsx("div", { className: "ids-header-1177-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-1177-nav-item__menu-col-2", children: col2?.map((link, idx) => (jsx("div", { className: "ids-header-1177-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-1177-nav-item__menu-col-3", children: col3?.map((link, idx) => (jsx("div", { className: "ids-header-1177-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-1177-nav-item__menu-col-4", children: col4 })] }) })] }));
29
20
  }
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ interface IDSHeader1177NavItemLinkProps {
3
+ active?: boolean;
4
+ children?: React.ReactNode;
5
+ }
6
+ export declare function IDSHeader1177NavItemLink({ active, children }: IDSHeader1177NavItemLinkProps): React.JSX.Element;
7
+ export declare namespace IDSHeader1177NavItemLink {
8
+ var displayName: string;
9
+ }
10
+ export {};
@@ -0,0 +1,19 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React from 'react';
3
+
4
+ function IDSHeader1177NavItemLink({ active, children }) {
5
+ return (jsx("span", { className: "ids-header-1177-nav-item__link", children: React.Children.map(children, child => {
6
+ if (!React.isValidElement(child))
7
+ return child;
8
+ const element = child;
9
+ if (active && !element.props["aria-current"]) {
10
+ return React.cloneElement(element, {
11
+ "aria-current": "page"
12
+ });
13
+ }
14
+ return element;
15
+ }) }));
16
+ }
17
+ IDSHeader1177NavItemLink.displayName = "IDSHeader1177NavItemLink";
18
+
19
+ export { IDSHeader1177NavItemLink };
@@ -3,7 +3,7 @@ interface IDSHeader1177NavItemMobileBaseProps extends HTMLAttributes<HTMLElement
3
3
  icon?: string;
4
4
  unresponsive?: boolean;
5
5
  }
6
- export declare function IDSHeader1177NavItemMobileBase({ icon, unresponsive, children, ...props }: IDSHeader1177NavItemMobileBaseProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function IDSHeader1177NavItemMobileBase({ icon, unresponsive, children, ...props }: IDSHeader1177NavItemMobileBaseProps): import("react").JSX.Element;
7
7
  export declare namespace IDSHeader1177NavItemMobileBase {
8
8
  var displayName: string;
9
9
  }