@inera/ids-react 9.1.1 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/components/accordion/accordion-base.d.ts +4 -1
  2. package/components/accordion/accordion-base.js +33 -7
  3. package/components/accordion/accordion.d.ts +4 -1
  4. package/components/accordion/accordion.js +14 -11
  5. package/components/alert/alert-base.d.ts +3 -0
  6. package/components/alert/alert-base.js +4 -3
  7. package/components/alert/alert.d.ts +6 -1
  8. package/components/alert/alert.js +12 -9
  9. package/components/badge/badge.d.ts +1 -1
  10. package/components/badge/badge.js +6 -3
  11. package/components/breadcrumbs/breadcrumbs.d.ts +3 -0
  12. package/components/breadcrumbs/breadcrumbs.js +25 -4
  13. package/components/button/button-group.d.ts +3 -0
  14. package/components/button/button-group.js +1 -0
  15. package/components/button/button.js +22 -14
  16. package/components/card/card.d.ts +3 -0
  17. package/components/card/card.js +2 -1
  18. package/components/carousel/carousel-item.d.ts +3 -0
  19. package/components/carousel/carousel-item.js +1 -0
  20. package/components/date-label/date-label.d.ts +3 -0
  21. package/components/date-label/date-label.js +1 -0
  22. package/components/dialog/dialog-base.d.ts +0 -1
  23. package/components/dialog/dialog-base.js +3 -3
  24. package/components/dialog/dialog.d.ts +3 -0
  25. package/components/dialog/dialog.js +19 -19
  26. package/components/dropdown/dropdown-base.js +6 -3
  27. package/components/dropdown/dropdown-content-button.js +1 -1
  28. package/components/dropdown/dropdown-content-link.d.ts +3 -0
  29. package/components/dropdown/dropdown-content-link.js +1 -1
  30. package/components/dropdown/dropdown.d.ts +3 -0
  31. package/components/dropdown/dropdown.js +28 -31
  32. package/components/footer-1177/footer-1177.d.ts +3 -0
  33. package/components/footer-1177/footer-1177.js +1 -0
  34. package/components/footer-1177-admin/footer-1177-admin.d.ts +3 -0
  35. package/components/footer-1177-admin/footer-1177-admin.js +1 -0
  36. package/components/footer-1177-pro/footer-1177-pro.d.ts +3 -0
  37. package/components/footer-1177-pro/footer-1177-pro.js +1 -0
  38. package/components/footer-inera/footer-inera.d.ts +3 -0
  39. package/components/footer-inera/footer-inera.js +1 -0
  40. package/components/footer-inera-admin/footer-inera-admin.d.ts +3 -0
  41. package/components/footer-inera-admin/footer-inera-admin.js +2 -1
  42. package/components/footer-inera-general/footer-inera-general.d.ts +21 -0
  43. package/components/footer-inera-general/footer-inera-general.js +28 -0
  44. package/components/form/check-button/check-button.js +1 -0
  45. package/components/form/checkbox/checkbox-base.d.ts +7 -13
  46. package/components/form/checkbox/checkbox-base.js +10 -10
  47. package/components/form/checkbox/checkbox-group-base.d.ts +3 -0
  48. package/components/form/checkbox/checkbox-group-base.js +3 -2
  49. package/components/form/checkbox/checkbox-group.d.ts +3 -0
  50. package/components/form/checkbox/checkbox-group.js +1 -0
  51. package/components/form/checkbox/checkbox.d.ts +5 -15
  52. package/components/form/checkbox/checkbox.js +10 -2
  53. package/components/form/datepicker/datepicker.d.ts +8 -12
  54. package/components/form/datepicker/datepicker.js +25 -23
  55. package/components/form/error-message/error-message.d.ts +3 -0
  56. package/components/form/error-message/error-message.js +1 -0
  57. package/components/form/form-props/form-props.d.ts +18 -0
  58. package/components/form/input/input-base.d.ts +7 -16
  59. package/components/form/input/input-base.js +15 -16
  60. package/components/form/input/input.d.ts +3 -16
  61. package/components/form/input/input.js +3 -4
  62. package/components/form/radio/radio-base.d.ts +8 -13
  63. package/components/form/radio/radio-base.js +8 -10
  64. package/components/form/radio/radio-group-base.d.ts +3 -0
  65. package/components/form/radio/radio-group-base.js +1 -0
  66. package/components/form/radio/radio-group.d.ts +3 -0
  67. package/components/form/radio/radio-group.js +2 -2
  68. package/components/form/radio/radio.d.ts +2 -14
  69. package/components/form/radio/radio.js +11 -5
  70. package/components/form/radio-button/radio-button-group-base.d.ts +3 -0
  71. package/components/form/radio-button/radio-button-group-base.js +1 -0
  72. package/components/form/radio-button/radio-button-group.d.ts +3 -0
  73. package/components/form/radio-button/radio-button-group.js +4 -1
  74. package/components/form/radio-button/radio-button.js +1 -0
  75. package/components/form/range/range-base.d.ts +6 -8
  76. package/components/form/range/range-base.js +3 -2
  77. package/components/form/range/range.d.ts +2 -7
  78. package/components/form/range/range.js +13 -6
  79. package/components/form/select/select-base.d.ts +7 -15
  80. package/components/form/select/select-base.js +8 -8
  81. package/components/form/select/select.d.ts +2 -14
  82. package/components/form/select/select.js +12 -5
  83. package/components/form/select-multiple/select-multiple-base.d.ts +7 -14
  84. package/components/form/select-multiple/select-multiple-base.js +7 -5
  85. package/components/form/select-multiple/select-multiple.d.ts +4 -15
  86. package/components/form/select-multiple/select-multiple.js +4 -6
  87. package/components/form/spinner/spinner.d.ts +3 -0
  88. package/components/form/spinner/spinner.js +1 -0
  89. package/components/form/textarea/textarea-base.d.ts +7 -15
  90. package/components/form/textarea/textarea-base.js +7 -10
  91. package/components/form/textarea/textarea.d.ts +4 -14
  92. package/components/form/textarea/textarea.js +13 -6
  93. package/components/form/time/time-base.d.ts +6 -12
  94. package/components/form/time/time-base.js +7 -7
  95. package/components/form/time/time.d.ts +2 -14
  96. package/components/form/time/time.js +13 -6
  97. package/components/global-alert/global-alert-base.d.ts +3 -0
  98. package/components/global-alert/global-alert-base.js +3 -2
  99. package/components/global-alert/global-alert.d.ts +6 -1
  100. package/components/global-alert/global-alert.js +12 -9
  101. package/components/header-1177/header-1177-avatar-base.d.ts +3 -0
  102. package/components/header-1177/header-1177-avatar-base.js +1 -0
  103. package/components/header-1177/header-1177-avatar.d.ts +3 -0
  104. package/components/header-1177/header-1177-avatar.js +7 -15
  105. package/components/header-1177/header-1177-base.d.ts +3 -0
  106. package/components/header-1177/header-1177-base.js +1 -0
  107. package/components/header-1177/header-1177-item-base.d.ts +3 -0
  108. package/components/header-1177/header-1177-item-base.js +1 -0
  109. package/components/header-1177/header-1177-item.d.ts +3 -0
  110. package/components/header-1177/header-1177-item.js +1 -0
  111. package/components/header-1177/header-1177-menu-mobile-base.d.ts +3 -0
  112. package/components/header-1177/header-1177-menu-mobile-base.js +1 -0
  113. package/components/header-1177/header-1177-menu-mobile.d.ts +3 -0
  114. package/components/header-1177/header-1177-menu-mobile.js +7 -24
  115. package/components/header-1177/header-1177-nav-base.d.ts +3 -0
  116. package/components/header-1177/header-1177-nav-base.js +1 -0
  117. package/components/header-1177/header-1177-nav-item-base.d.ts +3 -0
  118. package/components/header-1177/header-1177-nav-item-base.js +1 -0
  119. package/components/header-1177/header-1177-nav-item-mobile-base.d.ts +3 -0
  120. package/components/header-1177/header-1177-nav-item-mobile-base.js +1 -0
  121. package/components/header-1177/header-1177-nav-item-mobile.d.ts +3 -0
  122. package/components/header-1177/header-1177-nav-item-mobile.js +1 -0
  123. package/components/header-1177/header-1177-nav-item.d.ts +3 -0
  124. package/components/header-1177/header-1177-nav-item.js +6 -29
  125. package/components/header-1177/header-1177-nav.d.ts +3 -0
  126. package/components/header-1177/header-1177-nav.js +2 -1
  127. package/components/header-1177/header-1177-region-picker-base.d.ts +3 -0
  128. package/components/header-1177/header-1177-region-picker-base.js +1 -0
  129. package/components/header-1177/header-1177-region-picker-mobile-base.d.ts +3 -0
  130. package/components/header-1177/header-1177-region-picker-mobile-base.js +1 -0
  131. package/components/header-1177/header-1177-region-picker-mobile.d.ts +3 -0
  132. package/components/header-1177/header-1177-region-picker-mobile.js +1 -0
  133. package/components/header-1177/header-1177-region-picker.d.ts +3 -0
  134. package/components/header-1177/header-1177-region-picker.js +1 -0
  135. package/components/header-1177/header-1177.d.ts +3 -0
  136. package/components/header-1177/header-1177.js +1 -0
  137. package/components/header-1177-admin/header-1177-admin-avatar-base.d.ts +3 -0
  138. package/components/header-1177-admin/header-1177-admin-avatar-base.js +2 -1
  139. package/components/header-1177-admin/header-1177-admin-avatar-mobile-base.d.ts +3 -0
  140. package/components/header-1177-admin/header-1177-admin-avatar-mobile-base.js +2 -1
  141. package/components/header-1177-admin/header-1177-admin-avatar-mobile.d.ts +3 -0
  142. package/components/header-1177-admin/header-1177-admin-avatar-mobile.js +7 -7
  143. package/components/header-1177-admin/header-1177-admin-avatar.d.ts +3 -0
  144. package/components/header-1177-admin/header-1177-admin-avatar.js +7 -25
  145. package/components/header-1177-admin/header-1177-admin-base.d.ts +3 -0
  146. package/components/header-1177-admin/header-1177-admin-base.js +1 -0
  147. package/components/header-1177-admin/header-1177-admin-item-base.d.ts +3 -0
  148. package/components/header-1177-admin/header-1177-admin-item-base.js +1 -0
  149. package/components/header-1177-admin/header-1177-admin-item.d.ts +3 -0
  150. package/components/header-1177-admin/header-1177-admin-item.js +1 -0
  151. package/components/header-1177-admin/header-1177-admin-menu-mobile-base.d.ts +3 -0
  152. package/components/header-1177-admin/header-1177-admin-menu-mobile-base.js +1 -0
  153. package/components/header-1177-admin/header-1177-admin-menu-mobile.d.ts +3 -0
  154. package/components/header-1177-admin/header-1177-admin-menu-mobile.js +7 -26
  155. package/components/header-1177-admin/header-1177-admin-nav-base.d.ts +6 -1
  156. package/components/header-1177-admin/header-1177-admin-nav-base.js +5 -3
  157. package/components/header-1177-admin/header-1177-admin-nav-item-base.d.ts +3 -0
  158. package/components/header-1177-admin/header-1177-admin-nav-item-base.js +1 -0
  159. package/components/header-1177-admin/header-1177-admin-nav-item-mobile-base.d.ts +3 -0
  160. package/components/header-1177-admin/header-1177-admin-nav-item-mobile-base.js +1 -0
  161. package/components/header-1177-admin/header-1177-admin-nav-item-mobile.d.ts +3 -0
  162. package/components/header-1177-admin/header-1177-admin-nav-item-mobile.js +1 -0
  163. package/components/header-1177-admin/header-1177-admin-nav-item.d.ts +3 -0
  164. package/components/header-1177-admin/header-1177-admin-nav-item.js +6 -29
  165. package/components/header-1177-admin/header-1177-admin-nav.d.ts +6 -1
  166. package/components/header-1177-admin/header-1177-admin-nav.js +3 -2
  167. package/components/header-1177-admin/header-1177-admin.d.ts +3 -0
  168. package/components/header-1177-admin/header-1177-admin.js +1 -0
  169. package/components/header-1177-pro/header-1177-pro-avatar-base.d.ts +3 -0
  170. package/components/header-1177-pro/header-1177-pro-avatar-base.js +1 -0
  171. package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.d.ts +3 -0
  172. package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.js +1 -0
  173. package/components/header-1177-pro/header-1177-pro-avatar-mobile.d.ts +3 -0
  174. package/components/header-1177-pro/header-1177-pro-avatar-mobile.js +6 -5
  175. package/components/header-1177-pro/header-1177-pro-avatar.d.ts +3 -0
  176. package/components/header-1177-pro/header-1177-pro-avatar.js +7 -26
  177. package/components/header-1177-pro/header-1177-pro-base.d.ts +3 -0
  178. package/components/header-1177-pro/header-1177-pro-base.js +1 -0
  179. package/components/header-1177-pro/header-1177-pro-item-base.d.ts +3 -0
  180. package/components/header-1177-pro/header-1177-pro-item-base.js +1 -0
  181. package/components/header-1177-pro/header-1177-pro-item.d.ts +3 -0
  182. package/components/header-1177-pro/header-1177-pro-item.js +1 -0
  183. package/components/header-1177-pro/header-1177-pro-menu-mobile-base.d.ts +3 -0
  184. package/components/header-1177-pro/header-1177-pro-menu-mobile-base.js +1 -0
  185. package/components/header-1177-pro/header-1177-pro-menu-mobile.d.ts +3 -0
  186. package/components/header-1177-pro/header-1177-pro-menu-mobile.js +7 -26
  187. package/components/header-1177-pro/header-1177-pro-nav-base.d.ts +6 -1
  188. package/components/header-1177-pro/header-1177-pro-nav-base.js +5 -3
  189. package/components/header-1177-pro/header-1177-pro-nav-item-base.d.ts +3 -0
  190. package/components/header-1177-pro/header-1177-pro-nav-item-base.js +1 -0
  191. package/components/header-1177-pro/header-1177-pro-nav-item-mobile-base.d.ts +3 -0
  192. package/components/header-1177-pro/header-1177-pro-nav-item-mobile-base.js +1 -0
  193. package/components/header-1177-pro/header-1177-pro-nav-item-mobile.d.ts +3 -0
  194. package/components/header-1177-pro/header-1177-pro-nav-item-mobile.js +1 -0
  195. package/components/header-1177-pro/header-1177-pro-nav-item.d.ts +3 -0
  196. package/components/header-1177-pro/header-1177-pro-nav-item.js +6 -29
  197. package/components/header-1177-pro/header-1177-pro-nav.d.ts +6 -1
  198. package/components/header-1177-pro/header-1177-pro-nav.js +3 -2
  199. package/components/header-1177-pro/header-1177-pro-region-picker-base.d.ts +3 -0
  200. package/components/header-1177-pro/header-1177-pro-region-picker-base.js +2 -1
  201. package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.d.ts +5 -1
  202. package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.js +4 -2
  203. package/components/header-1177-pro/header-1177-pro-region-picker-mobile.d.ts +3 -0
  204. package/components/header-1177-pro/header-1177-pro-region-picker-mobile.js +2 -1
  205. package/components/header-1177-pro/header-1177-pro-region-picker.d.ts +3 -0
  206. package/components/header-1177-pro/header-1177-pro-region-picker.js +1 -0
  207. package/components/header-1177-pro/header-1177-pro.d.ts +3 -0
  208. package/components/header-1177-pro/header-1177-pro.js +1 -0
  209. package/components/header-inera/header-inera-base.d.ts +3 -0
  210. package/components/header-inera/header-inera-base.js +1 -0
  211. package/components/header-inera/header-inera-item-base.d.ts +3 -0
  212. package/components/header-inera/header-inera-item-base.js +1 -0
  213. package/components/header-inera/header-inera-item.d.ts +3 -0
  214. package/components/header-inera/header-inera-item.js +1 -0
  215. package/components/header-inera/header-inera-menu-mobile-base.d.ts +3 -0
  216. package/components/header-inera/header-inera-menu-mobile-base.js +1 -0
  217. package/components/header-inera/header-inera-menu-mobile.d.ts +3 -0
  218. package/components/header-inera/header-inera-menu-mobile.js +7 -26
  219. package/components/header-inera/header-inera-nav-base.d.ts +3 -0
  220. package/components/header-inera/header-inera-nav-base.js +1 -0
  221. package/components/header-inera/header-inera-nav-item-base.d.ts +3 -0
  222. package/components/header-inera/header-inera-nav-item-base.js +1 -0
  223. package/components/header-inera/header-inera-nav-item.d.ts +3 -0
  224. package/components/header-inera/header-inera-nav-item.js +6 -29
  225. package/components/header-inera/header-inera-nav.d.ts +3 -0
  226. package/components/header-inera/header-inera-nav.js +1 -0
  227. package/components/header-inera/header-inera.d.ts +3 -0
  228. package/components/header-inera/header-inera.js +1 -0
  229. package/components/header-inera-admin/header-inera-admin-avatar-base.d.ts +3 -0
  230. package/components/header-inera-admin/header-inera-admin-avatar-base.js +2 -1
  231. package/components/header-inera-admin/header-inera-admin-avatar-mobile-base.d.ts +3 -0
  232. package/components/header-inera-admin/header-inera-admin-avatar-mobile-base.js +2 -1
  233. package/components/header-inera-admin/header-inera-admin-avatar-mobile.d.ts +3 -0
  234. package/components/header-inera-admin/header-inera-admin-avatar-mobile.js +6 -5
  235. package/components/header-inera-admin/header-inera-admin-avatar.d.ts +3 -0
  236. package/components/header-inera-admin/header-inera-admin-avatar.js +7 -25
  237. package/components/header-inera-admin/header-inera-admin-base.d.ts +3 -0
  238. package/components/header-inera-admin/header-inera-admin-base.js +1 -0
  239. package/components/header-inera-admin/header-inera-admin-item-base.d.ts +3 -0
  240. package/components/header-inera-admin/header-inera-admin-item-base.js +1 -0
  241. package/components/header-inera-admin/header-inera-admin-item.d.ts +3 -0
  242. package/components/header-inera-admin/header-inera-admin-item.js +1 -0
  243. package/components/header-inera-admin/header-inera-admin-menu-mobile-base.d.ts +3 -0
  244. package/components/header-inera-admin/header-inera-admin-menu-mobile-base.js +2 -1
  245. package/components/header-inera-admin/header-inera-admin-menu-mobile.d.ts +3 -0
  246. package/components/header-inera-admin/header-inera-admin-menu-mobile.js +7 -26
  247. package/components/header-inera-admin/header-inera-admin-nav-base.d.ts +6 -1
  248. package/components/header-inera-admin/header-inera-admin-nav-base.js +5 -3
  249. package/components/header-inera-admin/header-inera-admin-nav-item-base.d.ts +3 -0
  250. package/components/header-inera-admin/header-inera-admin-nav-item-base.js +1 -0
  251. package/components/header-inera-admin/header-inera-admin-nav-item-mobile-base.d.ts +3 -0
  252. package/components/header-inera-admin/header-inera-admin-nav-item-mobile-base.js +1 -0
  253. package/components/header-inera-admin/header-inera-admin-nav-item-mobile.d.ts +3 -0
  254. package/components/header-inera-admin/header-inera-admin-nav-item-mobile.js +1 -0
  255. package/components/header-inera-admin/header-inera-admin-nav-item.d.ts +3 -0
  256. package/components/header-inera-admin/header-inera-admin-nav-item.js +6 -29
  257. package/components/header-inera-admin/header-inera-admin-nav.d.ts +6 -1
  258. package/components/header-inera-admin/header-inera-admin-nav.js +3 -2
  259. package/components/header-inera-admin/header-inera-admin.d.ts +3 -0
  260. package/components/header-inera-admin/header-inera-admin.js +1 -0
  261. package/components/header-inera-general/header-inera-general-base.d.ts +16 -0
  262. package/components/header-inera-general/header-inera-general-base.js +12 -0
  263. package/components/header-inera-general/header-inera-general-item-base.d.ts +11 -0
  264. package/components/header-inera-general/header-inera-general-item-base.js +13 -0
  265. package/components/header-inera-general/header-inera-general-item.d.ts +10 -0
  266. package/components/header-inera-general/header-inera-general-item.js +12 -0
  267. package/components/header-inera-general/header-inera-general-menu-mobile-base.d.ts +15 -0
  268. package/components/header-inera-general/header-inera-general-menu-mobile-base.js +19 -0
  269. package/components/header-inera-general/header-inera-general-menu-mobile.d.ts +13 -0
  270. package/components/header-inera-general/header-inera-general-menu-mobile.js +31 -0
  271. package/components/header-inera-general/header-inera-general-nav-base.d.ts +10 -0
  272. package/components/header-inera-general/header-inera-general-nav-base.js +11 -0
  273. package/components/header-inera-general/header-inera-general-nav-item-base.d.ts +21 -0
  274. package/components/header-inera-general/header-inera-general-nav-item-base.js +27 -0
  275. package/components/header-inera-general/header-inera-general-nav-item.d.ts +18 -0
  276. package/components/header-inera-general/header-inera-general-nav-item.js +27 -0
  277. package/components/header-inera-general/header-inera-general-nav.d.ts +8 -0
  278. package/components/header-inera-general/header-inera-general-nav.js +12 -0
  279. package/components/header-inera-general/header-inera-general.d.ts +15 -0
  280. package/components/header-inera-general/header-inera-general.js +11 -0
  281. package/components/header-patient/header-patient.d.ts +3 -0
  282. package/components/header-patient/header-patient.js +1 -0
  283. package/components/link/action-link.d.ts +3 -0
  284. package/components/link/action-link.js +2 -1
  285. package/components/link/box-link.d.ts +3 -0
  286. package/components/link/box-link.js +1 -0
  287. package/components/link/link.d.ts +3 -0
  288. package/components/link/link.js +1 -0
  289. package/components/list-pagination/list-pagination-links.d.ts +3 -0
  290. package/components/list-pagination/list-pagination-links.js +1 -0
  291. package/components/list-pagination/list-pagination.d.ts +3 -0
  292. package/components/list-pagination/list-pagination.js +4 -3
  293. package/components/mobile-menu/mobile-item-base.d.ts +3 -0
  294. package/components/mobile-menu/mobile-item-base.js +1 -0
  295. package/components/mobile-menu/mobile-item.d.ts +3 -0
  296. package/components/mobile-menu/mobile-item.js +1 -0
  297. package/components/mobile-menu/mobile-menu.d.ts +3 -0
  298. package/components/mobile-menu/mobile-menu.js +1 -0
  299. package/components/navigation-content/navigation-content.d.ts +3 -0
  300. package/components/navigation-content/navigation-content.js +1 -0
  301. package/components/navigation-local/navigation-local.d.ts +3 -0
  302. package/components/navigation-local/navigation-local.js +1 -0
  303. package/components/notification-badge/notification-badge.d.ts +2 -4
  304. package/components/notification-badge/notification-badge.js +6 -3
  305. package/components/popover/popover-base.d.ts +4 -1
  306. package/components/popover/popover-base.js +1 -0
  307. package/components/popover/popover-content.d.ts +7 -1
  308. package/components/popover/popover-content.js +6 -10
  309. package/components/popover/popover.d.ts +3 -0
  310. package/components/popover/popover.js +141 -52
  311. package/components/progressbar/progressbar.d.ts +4 -4
  312. package/components/progressbar/progressbar.js +5 -3
  313. package/components/puff-list/puff-list-item-date.d.ts +3 -0
  314. package/components/puff-list/puff-list-item-date.js +1 -0
  315. package/components/puff-list/puff-list-item-info.d.ts +3 -0
  316. package/components/puff-list/puff-list-item-info.js +1 -0
  317. package/components/puff-list/puff-list-item.d.ts +1 -1
  318. package/components/puff-list/puff-list-item.js +11 -13
  319. package/components/puff-list/puff-list.d.ts +4 -1
  320. package/components/puff-list/puff-list.js +2 -1
  321. package/components/region-icon/region-icon.d.ts +3 -0
  322. package/components/region-icon/region-icon.js +1 -0
  323. package/components/side-menu/side-menu.d.ts +3 -0
  324. package/components/side-menu/side-menu.js +1 -0
  325. package/components/side-panel/side-panel-base.d.ts +1 -0
  326. package/components/side-panel/side-panel-base.js +1 -1
  327. package/components/side-panel/side-panel-provider.d.ts +3 -0
  328. package/components/side-panel/side-panel-provider.js +1 -0
  329. package/components/side-panel/side-panel.d.ts +3 -0
  330. package/components/side-panel/side-panel.js +29 -7
  331. package/components/stepper/step-base.js +1 -1
  332. package/components/stepper/step.js +11 -4
  333. package/components/stepper/stepper.d.ts +3 -0
  334. package/components/stepper/stepper.js +1 -0
  335. package/components/tabs/tabs-base.d.ts +3 -0
  336. package/components/tabs/tabs-base.js +1 -0
  337. package/components/tabs/tabs.d.ts +3 -0
  338. package/components/tabs/tabs.js +1 -0
  339. package/components/tag/tag.d.ts +1 -1
  340. package/components/tag/tag.js +4 -3
  341. package/components/toolbar/toolbar.d.ts +5 -0
  342. package/components/toolbar/toolbar.js +11 -0
  343. package/components/tooltip/tooltip-base.d.ts +5 -1
  344. package/components/tooltip/tooltip-base.js +3 -2
  345. package/components/tooltip/tooltip.d.ts +3 -0
  346. package/components/tooltip/tooltip.js +26 -1
  347. package/components/utils/hooks/useClickOutside.d.ts +1 -9
  348. package/components/utils/hooks/useClickOutside.js +9 -16
  349. package/components/utils/hooks/useEsc.d.ts +1 -9
  350. package/components/utils/hooks/useEsc.js +14 -17
  351. package/components/utils/hooks/useLinkClick.d.ts +2 -0
  352. package/components/utils/hooks/useLinkClick.js +22 -0
  353. package/index.d.ts +24 -0
  354. package/index.js +12 -0
  355. package/package.json +2 -2
@@ -1,27 +1,20 @@
1
- import { CSSProperties, ReactNode } from "react";
2
- export interface IDSSelectMultipleBaseProps {
3
- id?: string;
4
- labelId?: string;
5
- label?: string;
1
+ import { CSSProperties } from "react";
2
+ import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
3
+ export interface IDSSelectMultipleBaseProps extends React.InputHTMLAttributes<HTMLInputElement>, CommonFormPropsWithReadOnly {
6
4
  expanded?: boolean;
7
5
  placeholder?: string;
8
6
  numbCheckedBoxes?: number;
9
7
  selectedLabel?: string;
10
8
  selectedLabelPlural?: string;
11
9
  maxHeight?: string;
12
- errorMsg?: string;
13
- invalid?: boolean;
14
- disabled?: boolean;
15
10
  ariaDisabled?: boolean;
16
- light?: boolean;
17
- focusAnchor?: boolean;
18
- tooltip?: ReactNode;
19
11
  buttonRef?: React.Ref<HTMLButtonElement>;
20
12
  componentRef?: React.Ref<HTMLDivElement>;
21
- children?: ReactNode;
22
- className?: string;
23
13
  onClick?: () => void;
24
14
  client?: boolean;
25
15
  style?: CSSProperties;
26
16
  }
27
- export declare function IDSSelectMultipleBase({ id, labelId, label, placeholder, numbCheckedBoxes, selectedLabel, selectedLabelPlural, expanded, maxHeight, tooltip, componentRef, buttonRef, invalid, disabled, 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, componentRef, buttonRef, invalid, disabled, readOnly, ariaDisabled, light, focusAnchor, className, children, style, onClick, client }: IDSSelectMultipleBaseProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare namespace IDSSelectMultipleBase {
19
+ var displayName: string;
20
+ }
@@ -2,9 +2,10 @@ 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, labelId, label, placeholder, numbCheckedBoxes, selectedLabel = "vald", selectedLabelPlural = "valda", expanded, maxHeight = "", tooltip, componentRef, buttonRef, invalid, disabled, ariaDisabled, light, focusAnchor, className, children, style, onClick, client = false }) {
6
- const defaultLabelId = !!labelId ? labelId : `select-multiple-base-label-${useId()}`;
7
- const dropdownId = `select-multiple-dropdown-${useId()}`;
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 }) {
6
+ const reactId = useId();
7
+ const labelId = `select-multiple-base-label-${reactId}`;
8
+ const dropdownId = `select-multiple-base-dropdown-${reactId}`;
8
9
  const displayedValue = numbCheckedBoxes === 0 || !numbCheckedBoxes
9
10
  ? placeholder
10
11
  : numbCheckedBoxes === 1
@@ -15,12 +16,13 @@ function IDSSelectMultipleBase({ id, labelId, label, placeholder, numbCheckedBox
15
16
  onClick
16
17
  }
17
18
  : {};
18
- 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: defaultLabelId, className: clsx("ids-label", { "ids-label--disabled": disabled || ariaDisabled }), 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": defaultLabelId, 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: 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
20
  "ids-input--light": light,
20
21
  "ids-focus-anchor": focusAnchor
21
- }), disabled: disabled, "aria-disabled": ariaDisabled, "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, children: displayedValue }) }), jsx("div", { className: "ids-select-multiple__dropdown-wrapper", id: dropdownId, children: jsx("div", { className: clsx("ids-select-multiple__dropdown", {
22
23
  "ids-select-multiple__dropdown--expanded": expanded
23
24
  }), children: jsx("div", { className: "ids-select-multiple__dropdown-scroll-area", style: { maxHeight }, children: children }) }) })] }));
24
25
  }
26
+ IDSSelectMultipleBase.displayName = "IDSSelectMultipleBase";
25
27
 
26
28
  export { IDSSelectMultipleBase };
@@ -1,25 +1,14 @@
1
- import React, { HTMLAttributes } from "react";
2
- export interface IDSSelectMultipleProps extends HTMLAttributes<HTMLDivElement> {
3
- label?: string;
1
+ import React from "react";
2
+ import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
3
+ export interface IDSSelectMultipleProps extends React.InputHTMLAttributes<HTMLInputElement>, CommonFormPropsWithReadOnly {
4
4
  selectedLabel?: string;
5
5
  selectedLabelPlural?: string;
6
6
  placeholder?: string;
7
7
  numbCheckedBoxes?: number;
8
8
  maxHeight?: string;
9
9
  expanded?: boolean;
10
- errorMsg?: string;
11
- invalid?: boolean;
12
- disabled?: boolean;
13
- ariaDisabled?: boolean;
14
- light?: boolean;
15
- focusAnchor?: boolean;
16
- noValidation?: boolean;
17
- tooltip?: React.ReactNode;
18
- children?: React.ReactNode;
19
- dataTestId?: string;
20
- id?: string;
21
10
  }
22
- export declare function IDSSelectMultiple({ label, id, invalid, noValidation, expanded, errorMsg, ariaDisabled, style, children, ...props }: IDSSelectMultipleProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function IDSSelectMultiple({ label, invalid, noValidation, expanded, errorMsg, style, children, ...props }: IDSSelectMultipleProps): import("react/jsx-runtime").JSX.Element;
23
12
  export declare namespace IDSSelectMultiple {
24
13
  var displayName: string;
25
14
  }
@@ -6,15 +6,13 @@ 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, id, invalid = false, noValidation = false, expanded = false, errorMsg, ariaDisabled = false, style, children, ...props }) {
9
+ function IDSSelectMultiple({ label, invalid = false, noValidation = false, expanded = false, errorMsg, style, children, ...props }) {
10
10
  const [isExpanded, setIsExpanded] = useState(expanded);
11
11
  const [checkboxListInvalid, setCheckboxListInvalid] = useState(false);
12
12
  const buttonRef = useRef(null);
13
13
  const componentRef = useRef(null);
14
- useClickOutside([componentRef, buttonRef], () => {
15
- setIsExpanded(false);
16
- });
17
- useEsc(() => setIsExpanded(false), buttonRef, isExpanded);
14
+ useClickOutside(() => setIsExpanded(false), componentRef, buttonRef, isExpanded);
15
+ useEsc(() => setIsExpanded(false), buttonRef, componentRef, isExpanded);
18
16
  useEffect(() => {
19
17
  if (checkboxListInvalid && !noValidation)
20
18
  setIsExpanded(true);
@@ -22,7 +20,7 @@ function IDSSelectMultiple({ label, id, invalid = false, noValidation = false, e
22
20
  useEffect(() => {
23
21
  setIsExpanded(expanded);
24
22
  }, [expanded]);
25
- return (jsx(IDSSelectMultipleBase, { ...props, style: style, client: true, label: label, id: id, componentRef: componentRef, buttonRef: buttonRef, invalid: invalid || (!noValidation && checkboxListInvalid), expanded: isExpanded, ariaDisabled: ariaDisabled, onClick: () => {
23
+ return (jsx(IDSSelectMultipleBase, { ...props, client: true, componentRef: componentRef, buttonRef: buttonRef, invalid: invalid || (!noValidation && checkboxListInvalid), expanded: isExpanded, label: label, onClick: () => {
26
24
  setIsExpanded(!isExpanded);
27
25
  }, children: jsx(IDSCheckboxGroup, { block: true, legend: label, hideLegend: true, noValidation: noValidation, errorMsg: errorMsg, onValidityChange: (isValid) => {
28
26
  if (!isValid && !noValidation) {
@@ -5,4 +5,7 @@ interface IDSSpinnerProps extends React.HTMLAttributes<HTMLDivElement> {
5
5
  srText?: string;
6
6
  }
7
7
  export declare function IDSSpinner({ variant, live, srText, className, ...rest }: IDSSpinnerProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare namespace IDSSpinner {
9
+ var displayName: string;
10
+ }
8
11
  export {};
@@ -4,5 +4,6 @@ import clsx from 'clsx';
4
4
  function IDSSpinner({ variant = "1", live = "polite", srText = "", className, ...rest }) {
5
5
  return (jsxs("div", { role: "alert", "aria-live": live, className: clsx("ids-spinner", `ids-spinner--${variant}`, className), ...rest, children: [srText && jsx("p", { className: "ids-spinner-sr", children: srText }), jsx("div", { className: "ids-bounce-1" }), jsx("div", { className: "ids-bounce-2" }), jsx("div", { className: "ids-bounce-3" })] }));
6
6
  }
7
+ IDSSpinner.displayName = "IDSSpinner";
7
8
 
8
9
  export { IDSSpinner };
@@ -1,24 +1,16 @@
1
1
  import { CSSProperties } from "react";
2
- export interface IDSTextareaBaseProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
3
- id?: string;
4
- label?: string;
5
- hint?: React.ReactNode;
6
- errorMsg?: string;
7
- invalid?: boolean;
8
- required?: boolean;
9
- disabled?: boolean;
10
- readOnly?: boolean;
11
- light?: boolean;
12
- block?: boolean;
2
+ import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
3
+ interface IDSTextareaBaseProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "ref">, CommonFormPropsWithReadOnly {
13
4
  autoSize?: boolean;
14
5
  noResize?: boolean;
15
- focusAnchor?: boolean;
16
- tooltip?: React.ReactNode;
6
+ block?: boolean;
17
7
  textareaRef?: React.Ref<HTMLTextAreaElement>;
18
8
  hintId?: string;
19
9
  errorMsgId?: string;
20
- dataTestId?: string;
21
- className?: string;
22
10
  style?: CSSProperties;
23
11
  }
24
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;
13
+ export declare namespace IDSTextareaBase {
14
+ var displayName: string;
15
+ }
16
+ export {};
@@ -9,15 +9,11 @@ function IDSTextareaBase({ id, label, hint, hintId, errorMsg, errorMsgId, invali
9
9
  const baseHintId = !!hintId ? hintId : `textarea-base-hint-${reactId}`;
10
10
  const baseErrorMsgId = !!errorMsgId ? errorMsgId : `textarea-base-error-${reactId}`;
11
11
  const showErrorMsg = invalid && !!errorMsg;
12
- const ariaHandler = showErrorMsg
13
- ? {
14
- "aria-describedby": baseErrorMsgId
15
- }
16
- : !!hint
17
- ? {
18
- "aria-describedby": baseHintId
19
- }
20
- : {};
12
+ const ariaHandler = {};
13
+ const describedByIds = [showErrorMsg && baseErrorMsgId, hint && baseHintId].filter(Boolean);
14
+ if (describedByIds.length) {
15
+ ariaHandler["aria-describedby"] = describedByIds.join(" ");
16
+ }
21
17
  return (jsxs("div", { className: clsx("ids-textarea", {
22
18
  "ids-textarea--block": block,
23
19
  "ids-textarea--autosize": autoSize,
@@ -28,7 +24,8 @@ function IDSTextareaBase({ id, label, hint, hintId, errorMsg, errorMsgId, invali
28
24
  "ids-input--light": light,
29
25
  "ids-input--invalid": invalid,
30
26
  "ids-focus-anchor": focusAnchor
31
- }), "aria-invalid": invalid, "aria-required": required, "aria-disabled": disabled, required: required, disabled: disabled, readOnly: readOnly, ...ariaHandler, ...props }), hint && (jsx("div", { id: baseHintId, className: "ids-input__hint", children: hint })), showErrorMsg && (jsx(IDSErrorMessage, { id: baseErrorMsgId, show: true, children: errorMsg }))] }));
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 }))] }));
32
28
  }
29
+ IDSTextareaBase.displayName = "IDSTextareaBase";
33
30
 
34
31
  export { IDSTextareaBase };
@@ -1,19 +1,9 @@
1
- export interface IDSTextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
2
- label?: string;
3
- hint?: React.ReactNode;
4
- errorMsg?: string;
5
- disabled?: boolean;
6
- invalid?: boolean;
7
- required?: boolean;
8
- noValidation?: boolean;
9
- validationOnBlur?: boolean;
1
+ import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
2
+ interface IDSTextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement>, CommonFormPropsWithReadOnly {
10
3
  autoSize?: boolean;
11
4
  noResize?: boolean;
5
+ compact?: boolean;
12
6
  block?: boolean;
13
- light?: boolean;
14
- focusAnchor?: boolean;
15
- readOnly?: boolean;
16
- tooltip?: React.ReactNode;
17
- dataTestId?: string;
18
7
  }
19
8
  export declare const IDSTextarea: import("react").ForwardRefExoticComponent<IDSTextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
9
+ export {};
@@ -1,15 +1,22 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { forwardRef, useRef, useImperativeHandle } from 'react';
3
+ import { forwardRef, useRef } from 'react';
4
4
  import { useInputValidity } from '../form-hooks/useInputValidity.js';
5
5
  import { IDSTextareaBase } from './textarea-base.js';
6
6
 
7
- const IDSTextarea = forwardRef(({ id, label, hint, errorMsg, disabled = false, invalid = false, required = false, noValidation = false, validationOnBlur = false, autoSize = false, noResize = false, block = false, light = false, readOnly = false, focusAnchor = false, dataTestId = "", tooltip, className, children, style, ...props }, ref) => {
7
+ const IDSTextarea = forwardRef(({ invalid = false, noValidation = false, validationOnBlur = false, ...props }, ref) => {
8
8
  const textareaRef = useRef(null);
9
- useImperativeHandle(ref, () => textareaRef.current);
10
- const isValid = useInputValidity(textareaRef, validationOnBlur);
11
- const isInvalid = (invalid || !isValid) && !noValidation;
12
- return (jsx(IDSTextareaBase, { id: id, label: label, hint: hint, errorMsg: errorMsg, invalid: isInvalid, required: required, disabled: disabled, readOnly: readOnly, light: light, autoSize: autoSize, noResize: noResize, block: block, focusAnchor: focusAnchor, tooltip: tooltip, className: className, textareaRef: textareaRef, dataTestId: dataTestId, style: style, ...props }));
9
+ const hasValidValue = useInputValidity(textareaRef, validationOnBlur);
10
+ const computedInvalid = (invalid || !hasValidValue) && !noValidation;
11
+ // Merge forwarded + local ref
12
+ const mergedRef = (node) => {
13
+ textareaRef.current = node;
14
+ if (typeof ref === "function")
15
+ ref(node);
16
+ else if (ref)
17
+ ref.current = node;
18
+ };
19
+ return jsx(IDSTextareaBase, { ...props, invalid: computedInvalid, textareaRef: mergedRef });
13
20
  });
14
21
  IDSTextarea.displayName = "IDSTextarea";
15
22
 
@@ -1,17 +1,11 @@
1
1
  import { CSSProperties } from "react";
2
- export interface IDSTimeBaseProps {
3
- id?: string;
4
- label?: string;
5
- errorMsg?: string;
6
- invalid?: boolean;
7
- required?: boolean;
8
- disabled?: boolean;
9
- light?: boolean;
10
- focusAnchor?: boolean;
11
- tooltip?: React.ReactNode;
12
- errorMsgId?: string;
13
- dataTestId?: string;
2
+ import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
3
+ export interface IDSTimeBaseProps extends React.InputHTMLAttributes<HTMLInputElement>, CommonFormPropsWithReadOnly {
14
4
  inputRef?: React.Ref<HTMLInputElement>;
5
+ errorMsgId?: string;
15
6
  style?: CSSProperties;
16
7
  }
17
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;
9
+ export declare namespace IDSTimeBase {
10
+ var displayName: string;
11
+ }
@@ -5,14 +5,13 @@ import { useId } from 'react';
5
5
 
6
6
  function IDSTimeBase({ id, label, tooltip, errorMsg, errorMsgId, disabled = false, invalid = false, required = false, light, focusAnchor, dataTestId, className, inputRef, style, ...props }) {
7
7
  const reactId = useId();
8
- const inputId = !!id ? id : `time-base-${reactId}`;
9
- const baseErrorMsgId = !!errorMsgId ? errorMsgId : `time-base-error-${reactId}`;
8
+ const inputId = id ?? `time-base-${reactId}`;
9
+ const baseErrorMsgId = errorMsgId ?? `time-base-error-${reactId}`;
10
10
  const showErrorMsg = invalid && !!errorMsg;
11
- const ariaHandler = showErrorMsg
12
- ? {
13
- "aria-describedby": baseErrorMsgId
14
- }
15
- : {};
11
+ const ariaHandler = {};
12
+ if (showErrorMsg) {
13
+ ariaHandler["aria-describedby"] = baseErrorMsgId;
14
+ }
16
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", {
17
16
  "ids-label--disabled": disabled
18
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", {
@@ -20,5 +19,6 @@ function IDSTimeBase({ id, label, tooltip, errorMsg, errorMsgId, disabled = fals
20
19
  "ids-focus-anchor": focusAnchor
21
20
  }), "aria-invalid": invalid, "aria-required": required, "aria-disabled": disabled, required: required, disabled: disabled, ...ariaHandler, ...props }) }), showErrorMsg && (jsx(IDSErrorMessage, { id: baseErrorMsgId, show: true, children: errorMsg }))] }));
22
21
  }
22
+ IDSTimeBase.displayName = "IDSTimeBase";
23
23
 
24
24
  export { IDSTimeBase };
@@ -1,16 +1,4 @@
1
- export interface IDSTimeProps extends React.InputHTMLAttributes<HTMLInputElement> {
2
- id?: string;
3
- label?: string;
4
- errorMsg?: string;
5
- invalid?: boolean;
6
- required?: boolean;
7
- disabled?: boolean;
8
- light?: boolean;
9
- focusAnchor?: boolean;
10
- tooltip?: React.ReactNode;
11
- errorMsgId?: string;
12
- dataTestId?: string;
13
- noValidation?: boolean;
14
- validationOnBlur?: boolean;
1
+ import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
2
+ export interface IDSTimeProps extends React.InputHTMLAttributes<HTMLInputElement>, CommonFormPropsWithReadOnly {
15
3
  }
16
4
  export declare const IDSTime: import("react").ForwardRefExoticComponent<IDSTimeProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -1,15 +1,22 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { forwardRef, useRef, useImperativeHandle } from 'react';
3
+ 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, style, ...props }, ref) => {
8
- const inputRef = useRef(null);
9
- useImperativeHandle(ref, () => inputRef.current);
10
- const hasValidValue = useInputValidity(inputRef, validationOnBlur);
7
+ const IDSTime = forwardRef(({ invalid = false, noValidation = false, validationOnBlur = false, ...props }, ref) => {
8
+ const timeRef = useRef(null);
9
+ const hasValidValue = useInputValidity(timeRef, validationOnBlur);
11
10
  const isInvalid = (invalid || !hasValidValue) && !noValidation;
12
- return jsx(IDSTimeBase, { invalid: isInvalid, inputRef: inputRef, ...props, style: style });
11
+ // Merge forwarded + local ref
12
+ const mergedRef = (node) => {
13
+ timeRef.current = node;
14
+ if (typeof ref === "function")
15
+ ref(node);
16
+ else if (ref)
17
+ ref.current = node;
18
+ };
19
+ return jsx(IDSTimeBase, { invalid: isInvalid, inputRef: mergedRef, ...props });
13
20
  });
14
21
  IDSTime.displayName = "IDSTime";
15
22
 
@@ -13,3 +13,6 @@ export interface IDSGlobalAlertBaseProps extends React.HTMLAttributes<HTMLDivEle
13
13
  client?: boolean;
14
14
  }
15
15
  export declare function IDSGlobalAlertBase({ agent, srExpandText, srCollapseText, collapsed, noRole, headline, actions, children, className, onToggle, client, ...props }: IDSGlobalAlertBaseProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace IDSGlobalAlertBase {
17
+ var displayName: string;
18
+ }
@@ -13,9 +13,10 @@ function IDSGlobalAlertBase({ agent = false, srExpandText = "Visa meddelande", s
13
13
  return (jsx("div", { role: noRole ? undefined : "alert", className: clsx("ids-global-alert", {
14
14
  "ids-global-alert--collapsed": collapsed,
15
15
  "ids-global-alert--agent": agent
16
- }, className), ...props, children: jsxs("div", { className: "ids-global-alert__inner", children: [jsx("div", { className: "ids-global-alert__header", children: jsx("button", { className: clsx("ids-global-alert__button", {
16
+ }, className), ...props, children: jsxs("div", { className: "ids-global-alert__inner", children: [jsx("div", { className: "ids-global-alert__header", children: jsx("button", { type: "button", className: clsx("ids-global-alert__button", {
17
17
  "ids-global-alert__button--expanded": !collapsed
18
- }), "aria-controls": contentId, "aria-expanded": !collapsed, ...toggleHandler, children: jsxs("div", { className: "ids-global-alert__icon-headline", children: [jsx("div", { className: "ids-global-alert__headline", children: headline }), jsx("span", { className: "ids-global-alert__sr-only", children: collapsed ? srExpandText : srCollapseText })] }) }) }), jsxs("div", { id: contentId, className: "ids-global-alert__content", children: [children, actions && jsx("div", { className: "ids-global-alert__sub-content", children: actions })] })] }) }));
18
+ }), "aria-controls": contentId, "aria-expanded": !collapsed, ...toggleHandler, children: jsxs("div", { className: "ids-global-alert__icon-headline", children: [jsx("div", { className: "ids-global-alert__headline", children: headline }), jsx("span", { className: "ids-global-alert__sr-only", children: collapsed ? srExpandText : srCollapseText })] }) }) }), jsx("div", { id: contentId, className: "ids-global-alert__content", children: children }), actions && jsx("div", { className: "ids-global-alert__sub-content", children: actions })] }) }));
19
19
  }
20
+ IDSGlobalAlertBase.displayName = "IDSGlobalAlertBase";
20
21
 
21
22
  export { IDSGlobalAlertBase };
@@ -1,7 +1,12 @@
1
1
  import React from "react";
2
2
  import { IDSGlobalAlertBase } from "./global-alert-base";
3
3
  interface IDSGlobalAlertProps extends Omit<React.ComponentProps<typeof IDSGlobalAlertBase>, "onToggle" | "contentId"> {
4
+ collapsed?: boolean;
5
+ defaultCollapsed?: boolean;
4
6
  onCollapsedChange?: (isCollapsed: boolean) => void;
5
7
  }
6
- export declare function IDSGlobalAlert({ collapsed, onCollapsedChange, className, ...props }: IDSGlobalAlertProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function IDSGlobalAlert({ collapsed, defaultCollapsed, onCollapsedChange, className, ...props }: IDSGlobalAlertProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare namespace IDSGlobalAlert {
10
+ var displayName: string;
11
+ }
7
12
  export {};
@@ -1,19 +1,22 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { useState, useEffect } from 'react';
3
+ import { useState } from 'react';
4
4
  import { IDSGlobalAlertBase } from './global-alert-base.js';
5
5
 
6
- function IDSGlobalAlert({ collapsed = false, onCollapsedChange, className, ...props }) {
7
- const [isCollapsed, setIsCollapsed] = useState(collapsed);
8
- useEffect(() => {
9
- setIsCollapsed(collapsed);
10
- }, [collapsed]);
6
+ // FIXME 10.0 byt till expanded och defaultExpanded?
7
+ function IDSGlobalAlert({ collapsed, defaultCollapsed = false, onCollapsedChange, className, ...props }) {
8
+ const isControlled = collapsed !== undefined;
9
+ const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed);
10
+ const isCollapsed = isControlled ? collapsed : internalCollapsed;
11
11
  const handleToggleCollapse = () => {
12
- const newState = !isCollapsed;
13
- setIsCollapsed(newState);
14
- onCollapsedChange?.(newState);
12
+ const next = !isCollapsed;
13
+ if (!isControlled) {
14
+ setInternalCollapsed(next);
15
+ }
16
+ onCollapsedChange?.(next);
15
17
  };
16
18
  return (jsx(IDSGlobalAlertBase, { ...props, client: true, collapsed: isCollapsed, onToggle: handleToggleCollapse, className: className }));
17
19
  }
20
+ IDSGlobalAlert.displayName = "IDSGlobalAlert";
18
21
 
19
22
  export { IDSGlobalAlert };
@@ -14,4 +14,7 @@ interface IDSHeader1177AvatarBaseProps extends HTMLAttributes<HTMLDivElement> {
14
14
  buttonRef?: React.RefObject<HTMLButtonElement>;
15
15
  }
16
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;
17
+ export declare namespace IDSHeader1177AvatarBase {
18
+ var displayName: string;
19
+ }
17
20
  export {};
@@ -20,5 +20,6 @@ function IDSHeader1177AvatarBase({ username, agent, children, unresponsive = fal
20
20
  "ids-header-1177-avatar__menu--no-mobile-menu": noMobileMenu
21
21
  }), children: [agent && jsx("div", { className: "ids-header-1177-avatar__agent", children: agent }), agent && children && jsx("hr", {}), children && jsx("div", { className: "ids-header-1177-avatar__menu-links", children: children })] })] }) })) }));
22
22
  }
23
+ IDSHeader1177AvatarBase.displayName = "IDSHeader1177AvatarBase";
23
24
 
24
25
  export { IDSHeader1177AvatarBase };
@@ -7,4 +7,7 @@ interface IDSHeader1177AvatarProps extends HTMLAttributes<HTMLDivElement> {
7
7
  noMobileMenu?: boolean;
8
8
  }
9
9
  export declare function IDSHeader1177Avatar({ expanded, persistent, children, ...props }: IDSHeader1177AvatarProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare namespace IDSHeader1177Avatar {
11
+ var displayName: string;
12
+ }
10
13
  export {};
@@ -1,11 +1,12 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { useState, useRef, useEffect } from 'react';
3
+ import { useState, useRef } from 'react';
4
4
  import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
5
5
  import { IDSHeader1177AvatarBase } from './header-1177-avatar-base.js';
6
6
  import { useFocusTrap } from '../utils/hooks/useFocusTrap.js';
7
7
  import { useClickOutside } from '../utils/hooks/useClickOutside.js';
8
8
  import { useEsc } from '../utils/hooks/useEsc.js';
9
+ import { useLinkClick } from '../utils/hooks/useLinkClick.js';
9
10
 
10
11
  function IDSHeader1177Avatar({ expanded = false, persistent = false, children, ...props }) {
11
12
  const headerContext = useHeaderContext();
@@ -16,22 +17,13 @@ function IDSHeader1177Avatar({ expanded = false, persistent = false, children, .
16
17
  const menuRef = useRef(null);
17
18
  const buttonRef = useRef(null);
18
19
  useFocusTrap(componentRef.current, isExpanded && !persistent);
19
- useClickOutside([componentRef, buttonRef], () => {
20
- if (!persistent)
21
- setIsExpanded(false);
22
- });
23
- useEsc(() => setIsExpanded(false), buttonRef, isExpanded && !persistent);
20
+ const closeMenu = () => setIsExpanded(false);
21
+ useClickOutside(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
22
+ useEsc(closeMenu, buttonRef, componentRef, !persistent && isExpanded);
23
+ useLinkClick(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
24
24
  const toggleAvatar = () => setIsExpanded(prev => !prev);
25
- // Clicking a link inside dropdown closes it
26
- useEffect(() => {
27
- if (!persistent && isExpanded) {
28
- const links = menuRef.current?.querySelectorAll("a") || [];
29
- links.forEach(link => link.addEventListener("click", closeOnClick));
30
- return () => links.forEach(link => link.removeEventListener("click", closeOnClick));
31
- }
32
- }, [isExpanded, persistent]);
33
- const closeOnClick = () => setIsExpanded(false);
34
25
  return (jsx(IDSHeader1177AvatarBase, { ...props, client: true, expanded: isExpanded, onToggle: toggleAvatar, componentRef: componentRef, menuRef: menuRef, buttonRef: buttonRef, unresponsive: headerContext?.unresponsive ?? false, children: children }));
35
26
  }
27
+ IDSHeader1177Avatar.displayName = "IDSHeader1177Avatar";
36
28
 
37
29
  export { IDSHeader1177Avatar };
@@ -15,4 +15,7 @@ interface IDSHeader1177BaseProps extends React.HTMLAttributes<HTMLDivElement> {
15
15
  children?: ReactNode;
16
16
  }
17
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;
18
+ export declare namespace IDSHeader1177Base {
19
+ var displayName: string;
20
+ }
18
21
  export {};
@@ -10,5 +10,6 @@ function IDSHeader1177Base({ srLogoText = "Logotyp", hideRegionPicker = false, u
10
10
  "ids-header-1177--unresponsive": unresponsive
11
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] }));
12
12
  }
13
+ IDSHeader1177Base.displayName = "IDSHeader1177Base";
13
14
 
14
15
  export { IDSHeader1177Base };
@@ -6,4 +6,7 @@ interface IDSHeader1177ItemBaseProps extends HTMLAttributes<HTMLElement> {
6
6
  unresponsive?: boolean;
7
7
  }
8
8
  export declare function IDSHeader1177ItemBase({ mobile, keepTextOnMobile, icon, children, unresponsive, ...props }: IDSHeader1177ItemBaseProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare namespace IDSHeader1177ItemBase {
10
+ var displayName: string;
11
+ }
9
12
  export {};
@@ -9,5 +9,6 @@ function IDSHeader1177ItemBase({ mobile = false, keepTextOnMobile = false, icon,
9
9
  "ids-header-1177-item--keep-text": keepTextOnMobile
10
10
  }), ...props, children: [renderContent(), children] }));
11
11
  }
12
+ IDSHeader1177ItemBase.displayName = "IDSHeader1177ItemBase";
12
13
 
13
14
  export { IDSHeader1177ItemBase };
@@ -5,4 +5,7 @@ interface IDSHeader1177ItemProps extends HTMLAttributes<HTMLElement> {
5
5
  icon?: string;
6
6
  }
7
7
  export declare function IDSHeader1177Item({ mobile, keepTextOnMobile, icon, children, ...props }: IDSHeader1177ItemProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare namespace IDSHeader1177Item {
9
+ var displayName: string;
10
+ }
8
11
  export {};
@@ -7,5 +7,6 @@ function IDSHeader1177Item({ mobile, keepTextOnMobile, icon, children, ...props
7
7
  const headerContext = useHeaderContext();
8
8
  return (jsx(IDSHeader1177ItemBase, { ...props, mobile: mobile, keepTextOnMobile: keepTextOnMobile, icon: icon, unresponsive: headerContext?.unresponsive, children: children }));
9
9
  }
10
+ IDSHeader1177Item.displayName = "IDSHeader1177Item";
10
11
 
11
12
  export { IDSHeader1177Item };
@@ -10,4 +10,7 @@ interface IDSHeader1177MenuMobileBaseProps extends HTMLAttributes<HTMLDivElement
10
10
  client?: boolean;
11
11
  }
12
12
  export declare function IDSHeader1177MenuMobileBase({ srLabel, expanded, unresponsive, children, onToggleMenu, client, componentRef, menuRef, buttonRef, ...props }: IDSHeader1177MenuMobileBaseProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare namespace IDSHeader1177MenuMobileBase {
14
+ var displayName: string;
15
+ }
13
16
  export {};
@@ -14,5 +14,6 @@ function IDSHeader1177MenuMobileBase({ srLabel = "Meny", expanded = false, unres
14
14
  "ids-header-1177-menu-mobile--unresponsive": unresponsive
15
15
  }), ref: componentRef, children: [jsx("button", { ...toggleHandler, ref: buttonRef, "aria-expanded": expanded, "aria-label": srLabel, "aria-controls": menuId, className: "ids-header-1177-menu-mobile__button", children: jsx("div", { className: "ids-hamburger", children: jsx("span", { className: "ids-hamburger__lines" }) }) }), expanded && (jsx("div", { id: menuId, className: "ids-header-1177-menu-mobile__items", ref: menuRef, children: children }))] }));
16
16
  }
17
+ IDSHeader1177MenuMobileBase.displayName = "IDSHeader1177MenuMobileBase";
17
18
 
18
19
  export { IDSHeader1177MenuMobileBase };
@@ -7,4 +7,7 @@ interface IDSHeader1177MenuMobileProps extends HTMLAttributes<HTMLDivElement> {
7
7
  onClosed?: () => void;
8
8
  }
9
9
  export declare function IDSHeader1177MenuMobile({ srLabel, persistent, expanded, children, onExpanded, onClosed, ...props }: IDSHeader1177MenuMobileProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare namespace IDSHeader1177MenuMobile {
11
+ var displayName: string;
12
+ }
10
13
  export {};