@dnb/eufemia 9.30.0 → 9.32.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 (1198) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/assets/icons/add.svg +1 -1
  3. package/assets/icons/add_circled.svg +1 -1
  4. package/assets/icons/add_circled_medium.svg +1 -1
  5. package/assets/icons/add_medium.svg +1 -1
  6. package/assets/icons/boat.svg +1 -1
  7. package/assets/icons/boat_medium.svg +1 -1
  8. package/assets/icons/calculator.svg +1 -1
  9. package/assets/icons/card.svg +1 -1
  10. package/assets/icons/card_medium.svg +1 -1
  11. package/assets/icons/cat_medium.svg +1 -1
  12. package/assets/icons/chatbot.svg +1 -1
  13. package/assets/icons/chatbot_medium.svg +1 -1
  14. package/assets/icons/chip.svg +1 -1
  15. package/assets/icons/chip_medium.svg +1 -1
  16. package/assets/icons/cloud_download.svg +1 -1
  17. package/assets/icons/cloud_download_medium.svg +1 -1
  18. package/assets/icons/cloud_rain.svg +1 -1
  19. package/assets/icons/cloud_rain_medium.svg +1 -1
  20. package/assets/icons/cloud_sync.svg +1 -1
  21. package/assets/icons/cloud_sync_medium.svg +1 -1
  22. package/assets/icons/cloud_transfer.svg +1 -1
  23. package/assets/icons/cloud_transfer_medium.svg +1 -1
  24. package/assets/icons/cloud_upload.svg +1 -1
  25. package/assets/icons/cloud_upload_medium.svg +1 -1
  26. package/assets/icons/cookie.svg +1 -1
  27. package/assets/icons/cookie_medium.svg +1 -1
  28. package/assets/icons/diamond.svg +1 -1
  29. package/assets/icons/dog.svg +1 -1
  30. package/assets/icons/dog_medium.svg +1 -1
  31. package/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
  32. package/assets/icons/eufemia-icons-pdf.tgz +0 -0
  33. package/assets/icons/exclamation_circled.svg +1 -1
  34. package/assets/icons/exclamation_circled_medium.svg +1 -1
  35. package/assets/icons/file_jpg.svg +1 -0
  36. package/assets/icons/file_jpg_medium.svg +1 -0
  37. package/assets/icons/file_png.svg +1 -0
  38. package/assets/icons/file_png_medium.svg +1 -0
  39. package/assets/icons/fish.svg +1 -0
  40. package/assets/icons/fish_medium.svg +1 -0
  41. package/assets/icons/hourglass.svg +1 -1
  42. package/assets/icons/instagram.svg +1 -1
  43. package/assets/icons/linkedin.svg +1 -1
  44. package/assets/icons/linkedin_medium.svg +1 -1
  45. package/assets/icons/loupe.svg +1 -1
  46. package/assets/icons/loupe_medium.svg +1 -1
  47. package/assets/icons/mastercard_card.svg +1 -1
  48. package/assets/icons/mastercard_card_medium.svg +1 -1
  49. package/assets/icons/news.svg +1 -1
  50. package/assets/icons/news_medium.svg +1 -1
  51. package/assets/icons/newspaper.svg +1 -0
  52. package/assets/icons/newspaper_medium.svg +1 -0
  53. package/assets/icons/phone.svg +1 -1
  54. package/assets/icons/phone_medium.svg +1 -1
  55. package/assets/icons/photo.svg +1 -1
  56. package/assets/icons/photo_medium.svg +1 -1
  57. package/assets/icons/pin.svg +1 -1
  58. package/assets/icons/pin_medium.svg +1 -1
  59. package/assets/icons/play.svg +1 -1
  60. package/assets/icons/savings_account.svg +1 -1
  61. package/assets/icons/sort.svg +1 -0
  62. package/assets/icons/sort_medium.svg +1 -0
  63. package/assets/icons/subtract.svg +1 -1
  64. package/assets/icons/subtract_circled.svg +1 -1
  65. package/assets/icons/subtract_circled_medium.svg +1 -1
  66. package/assets/icons/subtract_medium.svg +1 -1
  67. package/assets/icons/tag.svg +1 -1
  68. package/assets/icons/tag_medium.svg +1 -1
  69. package/assets/icons/thumbs_down.svg +1 -1
  70. package/assets/icons/thumbs_up.svg +1 -1
  71. package/assets/icons/video.svg +1 -1
  72. package/assets/icons/video_medium.svg +1 -1
  73. package/assets/icons/wallet_medium.svg +1 -1
  74. package/cjs/components/HeightAnimation.d.ts +3 -0
  75. package/cjs/components/HeightAnimation.js +52 -0
  76. package/cjs/components/accordion/Accordion.js +2 -2
  77. package/cjs/components/accordion/AccordionHeader.js +1 -1
  78. package/cjs/components/accordion/AccordionProvider.js +3 -1
  79. package/cjs/components/accordion/style/_accordion.scss +14 -15
  80. package/cjs/components/accordion/style/dnb-accordion.css +9 -6
  81. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  82. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.css +100 -94
  83. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +3 -3
  84. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.scss +36 -39
  85. package/cjs/components/autocomplete/Autocomplete.d.ts +0 -10
  86. package/cjs/components/autocomplete/Autocomplete.js +3 -4
  87. package/cjs/components/autocomplete/style/_autocomplete.scss +2 -2
  88. package/cjs/components/autocomplete/style/dnb-autocomplete.css +46 -46
  89. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  90. package/cjs/components/avatar/Avatar.d.ts +5 -3
  91. package/cjs/components/avatar/Avatar.js +1 -3
  92. package/cjs/components/avatar/AvatarGroup.d.ts +2 -2
  93. package/cjs/components/avatar/AvatarGroup.js +8 -10
  94. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +0 -10
  95. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  96. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +0 -8
  97. package/cjs/components/badge/Badge.d.ts +3 -3
  98. package/cjs/components/badge/Badge.js +1 -17
  99. package/cjs/components/breadcrumb/Breadcrumb.d.ts +14 -8
  100. package/cjs/components/breadcrumb/Breadcrumb.js +26 -28
  101. package/cjs/components/breadcrumb/BreadcrumbItem.d.ts +2 -0
  102. package/cjs/components/breadcrumb/BreadcrumbItem.js +16 -11
  103. package/cjs/components/breadcrumb/BreadcrumbMultiple.d.ts +10 -0
  104. package/cjs/components/breadcrumb/BreadcrumbMultiple.js +52 -0
  105. package/cjs/components/breadcrumb/style/_breadcrumb.scss +25 -12
  106. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +933 -17
  107. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  108. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +4 -0
  109. package/cjs/components/button/Button.d.ts +7 -9
  110. package/cjs/components/button/Button.js +5 -3
  111. package/cjs/components/button/style/dnb-button.css +14 -14
  112. package/cjs/components/button/style/dnb-button.min.css +1 -1
  113. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +2 -2
  114. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  115. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +2 -2
  116. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  117. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +2 -2
  118. package/cjs/components/checkbox/Checkbox.js +4 -2
  119. package/cjs/components/date-picker/DatePicker.js +4 -2
  120. package/cjs/components/date-picker/style/dnb-date-picker.css +56 -56
  121. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  122. package/cjs/components/dialog/Dialog.js +2 -2
  123. package/cjs/components/dialog/parts/DialogBody.d.ts +2 -1
  124. package/cjs/components/dialog/style/_dialog.scss +1 -1
  125. package/cjs/components/dialog/style/dnb-dialog.css +26 -26
  126. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  127. package/cjs/components/drawer/DrawerContent.d.ts +1 -1
  128. package/cjs/components/drawer/DrawerContent.js +2 -4
  129. package/cjs/components/drawer/parts/DrawerBody.d.ts +2 -1
  130. package/cjs/components/drawer/style/dnb-drawer.css +22 -22
  131. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  132. package/cjs/components/dropdown/Dropdown.d.ts +0 -4
  133. package/cjs/components/dropdown/Dropdown.js +4 -2
  134. package/cjs/components/dropdown/style/dnb-dropdown.css +14 -14
  135. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  136. package/cjs/components/form-label/FormLabel.js +4 -2
  137. package/cjs/components/form-row/FormRow.js +9 -3
  138. package/cjs/components/form-row/style/_form-row.scss +4 -1
  139. package/cjs/components/form-row/style/dnb-form-row.css +4 -3
  140. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  141. package/cjs/components/form-set/FormSet.js +1 -1
  142. package/cjs/components/form-status/FormStatus.js +4 -2
  143. package/cjs/components/global-error/style/dnb-global-error.css +14 -14
  144. package/cjs/components/global-error/style/dnb-global-error.min.css +1 -1
  145. package/cjs/components/global-status/GlobalStatus.js +3 -3
  146. package/cjs/components/global-status/style/dnb-global-status.css +24 -38
  147. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  148. package/cjs/components/height-animation/HeightAnimation.d.ts +27 -0
  149. package/cjs/components/height-animation/HeightAnimation.js +86 -0
  150. package/cjs/components/height-animation/index.d.ts +3 -0
  151. package/cjs/components/height-animation/index.js +52 -0
  152. package/cjs/components/height-animation/style/_height-animation.scss +12 -0
  153. package/cjs/components/height-animation/style/dnb-height-animation.css +81 -0
  154. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -0
  155. package/cjs/components/height-animation/style/dnb-height-animation.scss +12 -0
  156. package/cjs/components/height-animation/style/index.d.ts +1 -0
  157. package/cjs/components/height-animation/style/index.js +3 -0
  158. package/cjs/components/height-animation/style.d.ts +1 -0
  159. package/cjs/components/height-animation/style.js +3 -0
  160. package/cjs/components/height-animation/useHeightAnimation.d.ts +40 -0
  161. package/cjs/components/height-animation/useHeightAnimation.js +245 -0
  162. package/cjs/components/help-button/HelpButton.d.ts +10 -236
  163. package/cjs/components/help-button/HelpButton.js +31 -124
  164. package/cjs/components/help-button/HelpButtonInstance.d.ts +5 -100
  165. package/cjs/components/help-button/HelpButtonInstance.js +54 -129
  166. package/cjs/components/help-button/style/dnb-help-button.css +14 -14
  167. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
  168. package/cjs/components/icon/Icon.js +5 -3
  169. package/cjs/components/icon-primary/IconPrimary.js +4 -2
  170. package/cjs/components/index.d.ts +2 -1
  171. package/cjs/components/index.js +8 -0
  172. package/cjs/components/info-card/InfoCard.d.ts +2 -4
  173. package/cjs/components/info-card/InfoCard.js +23 -25
  174. package/cjs/components/input/Input.js +5 -3
  175. package/cjs/components/input/InputPassword.js +4 -2
  176. package/cjs/components/input/style/dnb-input.css +28 -28
  177. package/cjs/components/input/style/dnb-input.min.css +1 -1
  178. package/cjs/components/input-masked/style/dnb-input-masked.css +28 -28
  179. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  180. package/cjs/components/lib.d.ts +27 -9
  181. package/cjs/components/lib.js +9 -0
  182. package/cjs/components/logo/Logo.d.ts +5 -0
  183. package/cjs/components/logo/Logo.js +8 -3
  184. package/cjs/components/logo/style/_logo.scss +3 -0
  185. package/cjs/components/logo/style/dnb-logo.css +2 -0
  186. package/cjs/components/logo/style/dnb-logo.min.css +1 -1
  187. package/cjs/components/modal/Modal.d.ts +2 -2
  188. package/cjs/components/modal/Modal.js +5 -2
  189. package/cjs/components/modal/ModalRoot.d.ts +1 -1
  190. package/cjs/components/modal/parts/CloseButton.js +1 -1
  191. package/cjs/components/modal/style/_modal.scss +1 -2
  192. package/cjs/components/modal/style/dnb-modal.css +22 -22
  193. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  194. package/cjs/components/number-format/NumberFormat.js +2 -2
  195. package/cjs/components/number-format/style/dnb-number-format.css +14 -14
  196. package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
  197. package/cjs/components/number-format/useNumberFormat.js +2 -2
  198. package/cjs/components/pagination/Pagination.d.ts +0 -6
  199. package/cjs/components/pagination/Pagination.js +3 -3
  200. package/cjs/components/pagination/PaginationInfinity.js +0 -26
  201. package/cjs/components/pagination/PaginationProvider.js +11 -5
  202. package/cjs/components/pagination/style/dnb-pagination.css +14 -14
  203. package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
  204. package/cjs/components/progress-indicator/ProgressIndicator.js +3 -1
  205. package/cjs/components/radio/Radio.js +5 -2
  206. package/cjs/components/radio/RadioGroup.js +3 -1
  207. package/cjs/components/section/Section.d.ts +30 -83
  208. package/cjs/components/section/Section.js +33 -123
  209. package/cjs/components/section/style/_section.scss +8 -25
  210. package/cjs/components/section/style/dnb-section.css +10 -24
  211. package/cjs/components/section/style/dnb-section.min.css +1 -1
  212. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +1 -5
  213. package/cjs/components/skeleton/Skeleton.js +1 -1
  214. package/cjs/components/slider/Slider.d.ts +2 -3
  215. package/cjs/components/slider/SliderHelpers.d.ts +6 -4
  216. package/cjs/components/slider/SliderHelpers.js +18 -22
  217. package/cjs/components/slider/SliderInstance.js +6 -5
  218. package/cjs/components/slider/SliderProvider.d.ts +2 -2
  219. package/cjs/components/slider/SliderProvider.js +42 -26
  220. package/cjs/components/slider/SliderThumb.js +130 -71
  221. package/cjs/components/slider/SliderTrack.js +8 -10
  222. package/cjs/components/slider/hooks/useSliderEvents.d.ts +1 -3
  223. package/cjs/components/slider/hooks/useSliderEvents.js +19 -36
  224. package/cjs/components/slider/style/_range.scss +6 -0
  225. package/cjs/components/slider/style/_slider.scss +8 -5
  226. package/cjs/components/slider/style/dnb-range.css +10 -0
  227. package/cjs/components/slider/style/dnb-range.scss +6 -0
  228. package/cjs/components/slider/style/dnb-slider.css +211 -21
  229. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  230. package/cjs/components/slider/style/dnb-slider.scss +1 -0
  231. package/cjs/components/slider/types.d.ts +13 -5
  232. package/cjs/components/space/Space.d.ts +3 -2
  233. package/cjs/components/space/Space.js +17 -22
  234. package/cjs/components/step-indicator/StepIndicatorContext.js +4 -2
  235. package/cjs/components/step-indicator/StepIndicatorSidebar.js +1 -1
  236. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
  237. package/cjs/components/step-indicator/style/dnb-step-indicator.css +14 -14
  238. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  239. package/cjs/components/switch/Switch.js +4 -2
  240. package/cjs/components/table/Table.d.ts +2 -2
  241. package/cjs/components/table/Table.js +1 -3
  242. package/cjs/components/tabs/Tabs.js +2 -2
  243. package/cjs/components/tabs/TabsContentWrapper.js +1 -1
  244. package/cjs/components/tag/Tag.d.ts +10 -3
  245. package/cjs/components/tag/Tag.js +8 -9
  246. package/cjs/components/tag/TagGroup.d.ts +2 -2
  247. package/cjs/components/tag/TagGroup.js +5 -7
  248. package/cjs/components/tag/style/dnb-tag.css +14 -14
  249. package/cjs/components/tag/style/dnb-tag.min.css +1 -1
  250. package/cjs/components/textarea/Textarea.js +4 -2
  251. package/cjs/components/timeline/Timeline.d.ts +2 -2
  252. package/cjs/components/timeline/Timeline.js +1 -3
  253. package/cjs/components/timeline/TimelineItem.js +2 -2
  254. package/cjs/components/toggle-button/ToggleButton.js +4 -1
  255. package/cjs/components/toggle-button/ToggleButtonGroup.js +3 -1
  256. package/cjs/components/toggle-button/style/dnb-toggle-button.css +14 -14
  257. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  258. package/cjs/components/tooltip/Tooltip.d.ts +8 -154
  259. package/cjs/components/tooltip/Tooltip.js +84 -166
  260. package/cjs/components/tooltip/TooltipContainer.d.ts +15 -68
  261. package/cjs/components/tooltip/TooltipContainer.js +207 -323
  262. package/cjs/components/tooltip/TooltipHelpers.d.ts +31 -1
  263. package/cjs/components/tooltip/TooltipHelpers.js +85 -1
  264. package/cjs/components/tooltip/TooltipPortal.d.ts +13 -31
  265. package/cjs/components/tooltip/TooltipPortal.js +152 -206
  266. package/cjs/components/tooltip/TooltipWithEvents.d.ts +11 -35
  267. package/cjs/components/tooltip/TooltipWithEvents.js +159 -195
  268. package/cjs/components/tooltip/style/_tooltip.scss +8 -7
  269. package/cjs/components/tooltip/style/dnb-tooltip.css +14 -14
  270. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  271. package/cjs/components/tooltip/types.d.ts +28 -0
  272. package/cjs/components/tooltip/types.js +1 -0
  273. package/cjs/components/visually-hidden/VisuallyHidden.d.ts +2 -3
  274. package/cjs/components/visually-hidden/VisuallyHidden.js +2 -20
  275. package/cjs/elements/Anchor.d.ts +5 -3
  276. package/cjs/elements/Anchor.js +3 -5
  277. package/cjs/elements/Dd.d.ts +10 -26
  278. package/cjs/elements/Dd.js +0 -31
  279. package/cjs/elements/Dl.d.ts +16 -26
  280. package/cjs/elements/Dl.js +24 -26
  281. package/cjs/elements/Dt.d.ts +10 -26
  282. package/cjs/elements/Dt.js +0 -31
  283. package/cjs/elements/Element.d.ts +4 -2
  284. package/cjs/elements/Element.js +1 -3
  285. package/cjs/elements/Li.d.ts +6 -26
  286. package/cjs/elements/Li.js +0 -23
  287. package/cjs/elements/Link.d.ts +3 -1
  288. package/cjs/elements/Ol.d.ts +20 -29
  289. package/cjs/elements/Ol.js +0 -33
  290. package/cjs/elements/Ul.d.ts +20 -30
  291. package/cjs/elements/Ul.js +0 -35
  292. package/cjs/elements/lib.d.ts +19 -8
  293. package/cjs/extensions/payment-card/PaymentCard.js +2 -2
  294. package/cjs/fragments/drawer-list/DrawerList.js +3 -1
  295. package/cjs/fragments/drawer-list/style/_drawer-list.scss +1 -1
  296. package/cjs/fragments/lib.d.ts +8 -1
  297. package/cjs/fragments/scroll-view/ScrollView.d.ts +14 -7
  298. package/cjs/fragments/scroll-view/ScrollView.js +29 -99
  299. package/cjs/icons/add.js +5 -2
  300. package/cjs/icons/add_circled.js +5 -2
  301. package/cjs/icons/add_circled_medium.js +5 -2
  302. package/cjs/icons/add_medium.js +5 -2
  303. package/cjs/icons/boat.js +10 -3
  304. package/cjs/icons/boat_medium.js +10 -3
  305. package/cjs/icons/calculator.js +10 -3
  306. package/cjs/icons/card.js +4 -2
  307. package/cjs/icons/card_medium.js +4 -2
  308. package/cjs/icons/cat_medium.js +10 -3
  309. package/cjs/icons/chatbot.js +5 -2
  310. package/cjs/icons/chatbot_medium.js +5 -2
  311. package/cjs/icons/chip.js +10 -3
  312. package/cjs/icons/chip_medium.js +10 -3
  313. package/cjs/icons/cloud_download.js +10 -3
  314. package/cjs/icons/cloud_download_medium.js +10 -3
  315. package/cjs/icons/cloud_rain.js +10 -3
  316. package/cjs/icons/cloud_rain_medium.js +10 -3
  317. package/cjs/icons/cloud_sync.js +10 -3
  318. package/cjs/icons/cloud_sync_medium.js +10 -3
  319. package/cjs/icons/cloud_transfer.js +10 -3
  320. package/cjs/icons/cloud_transfer_medium.js +10 -3
  321. package/cjs/icons/cloud_upload.js +10 -3
  322. package/cjs/icons/cloud_upload_medium.js +10 -3
  323. package/cjs/icons/cookie.js +10 -3
  324. package/cjs/icons/cookie_medium.js +10 -3
  325. package/cjs/icons/diamond.js +10 -3
  326. package/cjs/icons/dog.js +10 -3
  327. package/cjs/icons/dog_medium.js +10 -3
  328. package/cjs/icons/exclamation_circled.js +5 -2
  329. package/cjs/icons/exclamation_circled_medium.js +5 -2
  330. package/cjs/icons/file_jpg.d.ts +2 -0
  331. package/cjs/icons/file_jpg.js +32 -0
  332. package/cjs/icons/file_jpg_medium.d.ts +2 -0
  333. package/cjs/icons/file_jpg_medium.js +38 -0
  334. package/cjs/icons/file_png.d.ts +2 -0
  335. package/cjs/icons/file_png.js +32 -0
  336. package/cjs/icons/file_png_medium.d.ts +2 -0
  337. package/cjs/icons/file_png_medium.js +38 -0
  338. package/cjs/icons/fish.d.ts +2 -0
  339. package/cjs/icons/fish.js +40 -0
  340. package/cjs/icons/fish_medium.d.ts +2 -0
  341. package/cjs/icons/fish_medium.js +40 -0
  342. package/cjs/icons/hourglass.js +10 -3
  343. package/cjs/icons/icons-meta.json +71 -1
  344. package/cjs/icons/icons-pdf.lock +1098 -968
  345. package/cjs/icons/icons-svg.lock +1098 -968
  346. package/cjs/icons/index.d.ts +11 -1
  347. package/cjs/icons/index.js +80 -0
  348. package/cjs/icons/instagram.js +10 -3
  349. package/cjs/icons/linkedin.js +10 -3
  350. package/cjs/icons/linkedin_medium.js +10 -3
  351. package/cjs/icons/loupe.js +4 -2
  352. package/cjs/icons/loupe_medium.js +4 -2
  353. package/cjs/icons/mastercard_card.js +4 -2
  354. package/cjs/icons/mastercard_card_medium.js +4 -2
  355. package/cjs/icons/news.js +10 -3
  356. package/cjs/icons/news_medium.js +10 -3
  357. package/cjs/icons/newspaper.d.ts +2 -0
  358. package/cjs/icons/newspaper.js +35 -0
  359. package/cjs/icons/newspaper_medium.d.ts +2 -0
  360. package/cjs/icons/newspaper_medium.js +35 -0
  361. package/cjs/icons/phone.js +10 -3
  362. package/cjs/icons/phone_medium.js +10 -3
  363. package/cjs/icons/photo.js +10 -3
  364. package/cjs/icons/photo_medium.js +10 -3
  365. package/cjs/icons/pin.js +10 -3
  366. package/cjs/icons/pin_medium.js +10 -3
  367. package/cjs/icons/play.js +10 -3
  368. package/cjs/icons/savings_account.js +5 -2
  369. package/cjs/icons/secondary_icons.d.ts +6 -1
  370. package/cjs/icons/secondary_icons.js +40 -0
  371. package/cjs/icons/secondary_icons_medium.d.ts +6 -1
  372. package/cjs/icons/secondary_icons_medium.js +40 -0
  373. package/cjs/icons/sort.d.ts +2 -0
  374. package/cjs/icons/sort.js +35 -0
  375. package/cjs/icons/sort_medium.d.ts +2 -0
  376. package/cjs/icons/sort_medium.js +35 -0
  377. package/cjs/icons/subtract.js +5 -2
  378. package/cjs/icons/subtract_circled.js +5 -2
  379. package/cjs/icons/subtract_circled_medium.js +5 -2
  380. package/cjs/icons/subtract_medium.js +5 -2
  381. package/cjs/icons/tag.js +13 -10
  382. package/cjs/icons/tag_medium.js +13 -10
  383. package/cjs/icons/thumbs_down.js +10 -3
  384. package/cjs/icons/thumbs_up.js +10 -3
  385. package/cjs/icons/video.js +10 -3
  386. package/cjs/icons/video_medium.js +10 -3
  387. package/cjs/icons/wallet_medium.js +4 -2
  388. package/cjs/index.d.ts +2 -1
  389. package/cjs/index.js +8 -0
  390. package/cjs/shared/AnimateHeight.d.ts +46 -32
  391. package/cjs/shared/AnimateHeight.js +104 -66
  392. package/cjs/shared/Context.d.ts +9 -3
  393. package/cjs/shared/Eufemia.js +1 -1
  394. package/cjs/shared/MediaQueryUtils.d.ts +5 -1
  395. package/cjs/shared/MediaQueryUtils.js +5 -3
  396. package/cjs/shared/component-helper.d.ts +7 -18
  397. package/cjs/shared/component-helper.js +55 -260
  398. package/cjs/shared/helpers/EventEmitter.d.ts +46 -0
  399. package/cjs/shared/{EventEmitter.js → helpers/EventEmitter.js} +31 -26
  400. package/cjs/shared/helpers/InteractionInvalidation.d.ts +30 -0
  401. package/cjs/shared/helpers/InteractionInvalidation.js +256 -0
  402. package/{shared/hooks/usePropsWithContext.d.ts → cjs/shared/helpers/extendPropsWithContext.d.ts} +2 -3
  403. package/cjs/shared/{hooks/usePropsWithContext.js → helpers/extendPropsWithContext.js} +36 -15
  404. package/cjs/shared/helpers/filterValidProps.d.ts +1 -1
  405. package/cjs/shared/helpers/filterValidProps.js +1 -1
  406. package/cjs/shared/helpers/getPreviousSibling.d.ts +10 -0
  407. package/cjs/shared/helpers/getPreviousSibling.js +47 -0
  408. package/cjs/shared/helpers/useEventEmitter.d.ts +14 -0
  409. package/cjs/shared/helpers/useEventEmitter.js +92 -0
  410. package/cjs/shared/helpers.d.ts +2 -0
  411. package/cjs/shared/interfaces.d.ts +4 -23
  412. package/cjs/shared/interfaces.js +24 -1
  413. package/cjs/shared/locales/en-GB.d.ts +3 -0
  414. package/cjs/shared/locales/en-GB.js +3 -0
  415. package/cjs/shared/locales/en-US.d.ts +3 -0
  416. package/cjs/shared/locales/index.d.ts +6 -0
  417. package/cjs/shared/locales/nb-NO.d.ts +3 -0
  418. package/cjs/shared/locales/nb-NO.js +3 -0
  419. package/cjs/shared/types.d.ts +35 -0
  420. package/cjs/shared/types.js +1 -0
  421. package/cjs/shared/useMediaQuery.js +19 -12
  422. package/cjs/style/core/helper-classes/helper-classes.scss +4 -0
  423. package/cjs/style/dnb-ui-basis.css +3 -0
  424. package/cjs/style/dnb-ui-basis.min.css +1 -1
  425. package/cjs/style/dnb-ui-components.css +112 -84
  426. package/cjs/style/dnb-ui-components.min.css +5 -5
  427. package/cjs/style/dnb-ui-components.scss +1 -0
  428. package/cjs/style/dnb-ui-core.css +3 -0
  429. package/cjs/style/dnb-ui-core.min.css +1 -1
  430. package/cjs/style/dnb-ui-elements.css +25 -4
  431. package/cjs/style/dnb-ui-elements.min.css +1 -1
  432. package/cjs/style/dnb-ui-fragments.css +1 -1
  433. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  434. package/cjs/style/dnb-ui-tags.css +50 -8
  435. package/cjs/style/dnb-ui-tags.min.css +1 -1
  436. package/cjs/style/elements/lists.scss +27 -5
  437. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +129 -112
  438. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +5 -5
  439. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +127 -110
  440. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +5 -5
  441. package/components/HeightAnimation.d.ts +3 -0
  442. package/components/HeightAnimation.js +3 -0
  443. package/components/accordion/Accordion.js +3 -3
  444. package/components/accordion/AccordionHeader.js +2 -2
  445. package/components/accordion/AccordionProvider.js +3 -2
  446. package/components/accordion/style/_accordion.scss +14 -15
  447. package/components/accordion/style/dnb-accordion.css +9 -6
  448. package/components/accordion/style/dnb-accordion.min.css +1 -1
  449. package/components/accordion/style/themes/dnb-accordion-theme-ui.css +100 -94
  450. package/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +3 -3
  451. package/components/accordion/style/themes/dnb-accordion-theme-ui.scss +36 -39
  452. package/components/autocomplete/Autocomplete.d.ts +0 -10
  453. package/components/autocomplete/Autocomplete.js +3 -5
  454. package/components/autocomplete/style/_autocomplete.scss +2 -2
  455. package/components/autocomplete/style/dnb-autocomplete.css +46 -46
  456. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  457. package/components/avatar/Avatar.d.ts +5 -3
  458. package/components/avatar/Avatar.js +2 -3
  459. package/components/avatar/AvatarGroup.d.ts +2 -2
  460. package/components/avatar/AvatarGroup.js +9 -10
  461. package/components/avatar/style/themes/dnb-avatar-theme-ui.css +0 -10
  462. package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  463. package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +0 -8
  464. package/components/badge/Badge.d.ts +3 -3
  465. package/components/badge/Badge.js +2 -16
  466. package/components/breadcrumb/Breadcrumb.d.ts +14 -8
  467. package/components/breadcrumb/Breadcrumb.js +26 -27
  468. package/components/breadcrumb/BreadcrumbItem.d.ts +2 -0
  469. package/components/breadcrumb/BreadcrumbItem.js +16 -11
  470. package/components/breadcrumb/BreadcrumbMultiple.d.ts +10 -0
  471. package/components/breadcrumb/BreadcrumbMultiple.js +33 -0
  472. package/components/breadcrumb/style/_breadcrumb.scss +25 -12
  473. package/components/breadcrumb/style/dnb-breadcrumb.css +933 -17
  474. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  475. package/components/breadcrumb/style/dnb-breadcrumb.scss +4 -0
  476. package/components/button/Button.d.ts +7 -9
  477. package/components/button/Button.js +5 -4
  478. package/components/button/style/dnb-button.css +14 -14
  479. package/components/button/style/dnb-button.min.css +1 -1
  480. package/components/button/style/themes/dnb-button-theme-eiendom.css +2 -2
  481. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  482. package/components/button/style/themes/dnb-button-theme-ui.css +2 -2
  483. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  484. package/components/button/style/themes/dnb-button-theme-ui.scss +2 -2
  485. package/components/checkbox/Checkbox.js +4 -3
  486. package/components/date-picker/DatePicker.js +4 -3
  487. package/components/date-picker/style/dnb-date-picker.css +56 -56
  488. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  489. package/components/dialog/Dialog.js +2 -2
  490. package/components/dialog/parts/DialogBody.d.ts +2 -1
  491. package/components/dialog/style/_dialog.scss +1 -1
  492. package/components/dialog/style/dnb-dialog.css +26 -26
  493. package/components/dialog/style/dnb-dialog.min.css +1 -1
  494. package/components/drawer/DrawerContent.d.ts +1 -1
  495. package/components/drawer/DrawerContent.js +2 -4
  496. package/components/drawer/parts/DrawerBody.d.ts +2 -1
  497. package/components/drawer/style/dnb-drawer.css +22 -22
  498. package/components/drawer/style/dnb-drawer.min.css +1 -1
  499. package/components/dropdown/Dropdown.d.ts +0 -4
  500. package/components/dropdown/Dropdown.js +4 -3
  501. package/components/dropdown/style/dnb-dropdown.css +14 -14
  502. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  503. package/components/form-label/FormLabel.js +4 -3
  504. package/components/form-row/FormRow.js +9 -4
  505. package/components/form-row/style/_form-row.scss +4 -1
  506. package/components/form-row/style/dnb-form-row.css +4 -3
  507. package/components/form-row/style/dnb-form-row.min.css +1 -1
  508. package/components/form-set/FormSet.js +2 -2
  509. package/components/form-status/FormStatus.js +4 -3
  510. package/components/global-error/style/dnb-global-error.css +14 -14
  511. package/components/global-error/style/dnb-global-error.min.css +1 -1
  512. package/components/global-status/GlobalStatus.js +4 -4
  513. package/components/global-status/style/dnb-global-status.css +24 -38
  514. package/components/global-status/style/dnb-global-status.min.css +1 -1
  515. package/components/height-animation/HeightAnimation.d.ts +27 -0
  516. package/components/height-animation/HeightAnimation.js +60 -0
  517. package/components/height-animation/index.d.ts +3 -0
  518. package/components/height-animation/index.js +3 -0
  519. package/components/height-animation/style/_height-animation.scss +12 -0
  520. package/components/height-animation/style/dnb-height-animation.css +81 -0
  521. package/components/height-animation/style/dnb-height-animation.min.css +1 -0
  522. package/components/height-animation/style/dnb-height-animation.scss +12 -0
  523. package/components/height-animation/style/index.d.ts +1 -0
  524. package/components/height-animation/style/index.js +1 -0
  525. package/components/height-animation/style.d.ts +1 -0
  526. package/components/height-animation/style.js +1 -0
  527. package/components/height-animation/useHeightAnimation.d.ts +40 -0
  528. package/components/height-animation/useHeightAnimation.js +196 -0
  529. package/components/help-button/HelpButton.d.ts +10 -236
  530. package/components/help-button/HelpButton.js +30 -94
  531. package/components/help-button/HelpButtonInstance.d.ts +5 -100
  532. package/components/help-button/HelpButtonInstance.js +56 -101
  533. package/components/help-button/style/dnb-help-button.css +14 -14
  534. package/components/help-button/style/dnb-help-button.min.css +1 -1
  535. package/components/icon/Icon.js +5 -4
  536. package/components/icon-primary/IconPrimary.js +4 -3
  537. package/components/index.d.ts +2 -1
  538. package/components/index.js +2 -1
  539. package/components/info-card/InfoCard.d.ts +2 -4
  540. package/components/info-card/InfoCard.js +20 -22
  541. package/components/input/Input.js +5 -4
  542. package/components/input/InputPassword.js +4 -3
  543. package/components/input/style/dnb-input.css +28 -28
  544. package/components/input/style/dnb-input.min.css +1 -1
  545. package/components/input-masked/style/dnb-input-masked.css +28 -28
  546. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  547. package/components/lib.d.ts +27 -9
  548. package/components/lib.js +3 -1
  549. package/components/logo/Logo.d.ts +5 -0
  550. package/components/logo/Logo.js +8 -4
  551. package/components/logo/style/_logo.scss +3 -0
  552. package/components/logo/style/dnb-logo.css +2 -0
  553. package/components/logo/style/dnb-logo.min.css +1 -1
  554. package/components/modal/Modal.d.ts +2 -2
  555. package/components/modal/Modal.js +5 -3
  556. package/components/modal/ModalRoot.d.ts +1 -1
  557. package/components/modal/parts/CloseButton.js +2 -2
  558. package/components/modal/style/_modal.scss +1 -2
  559. package/components/modal/style/dnb-modal.css +22 -22
  560. package/components/modal/style/dnb-modal.min.css +1 -1
  561. package/components/number-format/NumberFormat.js +3 -3
  562. package/components/number-format/style/dnb-number-format.css +14 -14
  563. package/components/number-format/style/dnb-number-format.min.css +1 -1
  564. package/components/number-format/useNumberFormat.js +2 -2
  565. package/components/pagination/Pagination.d.ts +0 -6
  566. package/components/pagination/Pagination.js +3 -4
  567. package/components/pagination/PaginationInfinity.js +0 -26
  568. package/components/pagination/PaginationProvider.js +11 -5
  569. package/components/pagination/style/dnb-pagination.css +14 -14
  570. package/components/pagination/style/dnb-pagination.min.css +1 -1
  571. package/components/progress-indicator/ProgressIndicator.js +3 -2
  572. package/components/radio/Radio.js +5 -3
  573. package/components/radio/RadioGroup.js +3 -2
  574. package/components/section/Section.d.ts +30 -83
  575. package/components/section/Section.js +36 -99
  576. package/components/section/style/_section.scss +8 -25
  577. package/components/section/style/dnb-section.css +10 -24
  578. package/components/section/style/dnb-section.min.css +1 -1
  579. package/components/section/style/themes/dnb-section-theme-ui.scss +1 -5
  580. package/components/skeleton/Skeleton.js +2 -2
  581. package/components/slider/Slider.d.ts +2 -3
  582. package/components/slider/SliderHelpers.d.ts +6 -4
  583. package/components/slider/SliderHelpers.js +16 -17
  584. package/components/slider/SliderInstance.js +8 -7
  585. package/components/slider/SliderProvider.d.ts +2 -2
  586. package/components/slider/SliderProvider.js +45 -28
  587. package/components/slider/SliderThumb.js +107 -73
  588. package/components/slider/SliderTrack.js +10 -12
  589. package/components/slider/hooks/useSliderEvents.d.ts +1 -3
  590. package/components/slider/hooks/useSliderEvents.js +19 -36
  591. package/components/slider/style/_range.scss +6 -0
  592. package/components/slider/style/_slider.scss +8 -5
  593. package/components/slider/style/dnb-range.css +10 -0
  594. package/components/slider/style/dnb-range.scss +6 -0
  595. package/components/slider/style/dnb-slider.css +211 -21
  596. package/components/slider/style/dnb-slider.min.css +1 -1
  597. package/components/slider/style/dnb-slider.scss +1 -0
  598. package/components/slider/types.d.ts +13 -5
  599. package/components/space/Space.d.ts +3 -2
  600. package/components/space/Space.js +18 -23
  601. package/components/step-indicator/StepIndicatorContext.js +4 -3
  602. package/components/step-indicator/StepIndicatorSidebar.js +2 -2
  603. package/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
  604. package/components/step-indicator/style/dnb-step-indicator.css +14 -14
  605. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  606. package/components/switch/Switch.js +4 -3
  607. package/components/table/Table.d.ts +2 -2
  608. package/components/table/Table.js +2 -3
  609. package/components/tabs/Tabs.js +3 -3
  610. package/components/tabs/TabsContentWrapper.js +1 -1
  611. package/components/tag/Tag.d.ts +10 -3
  612. package/components/tag/Tag.js +9 -9
  613. package/components/tag/TagGroup.d.ts +2 -2
  614. package/components/tag/TagGroup.js +6 -7
  615. package/components/tag/style/dnb-tag.css +14 -14
  616. package/components/tag/style/dnb-tag.min.css +1 -1
  617. package/components/textarea/Textarea.js +4 -3
  618. package/components/timeline/Timeline.d.ts +2 -2
  619. package/components/timeline/Timeline.js +2 -3
  620. package/components/timeline/TimelineItem.js +2 -2
  621. package/components/toggle-button/ToggleButton.js +4 -2
  622. package/components/toggle-button/ToggleButtonGroup.js +3 -2
  623. package/components/toggle-button/style/dnb-toggle-button.css +14 -14
  624. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  625. package/components/tooltip/Tooltip.d.ts +8 -154
  626. package/components/tooltip/Tooltip.js +63 -150
  627. package/components/tooltip/TooltipContainer.d.ts +15 -68
  628. package/components/tooltip/TooltipContainer.js +188 -313
  629. package/components/tooltip/TooltipHelpers.d.ts +31 -1
  630. package/components/tooltip/TooltipHelpers.js +67 -1
  631. package/components/tooltip/TooltipPortal.d.ts +13 -31
  632. package/components/tooltip/TooltipPortal.js +139 -200
  633. package/components/tooltip/TooltipWithEvents.d.ts +11 -35
  634. package/components/tooltip/TooltipWithEvents.js +148 -191
  635. package/components/tooltip/style/_tooltip.scss +8 -7
  636. package/components/tooltip/style/dnb-tooltip.css +14 -14
  637. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  638. package/components/tooltip/types.d.ts +28 -0
  639. package/components/tooltip/types.js +1 -0
  640. package/components/visually-hidden/VisuallyHidden.d.ts +2 -3
  641. package/components/visually-hidden/VisuallyHidden.js +2 -17
  642. package/elements/Anchor.d.ts +5 -3
  643. package/elements/Anchor.js +4 -5
  644. package/elements/Dd.d.ts +10 -26
  645. package/elements/Dd.js +0 -22
  646. package/elements/Dl.d.ts +16 -26
  647. package/elements/Dl.js +19 -23
  648. package/elements/Dt.d.ts +10 -26
  649. package/elements/Dt.js +0 -22
  650. package/elements/Element.d.ts +4 -2
  651. package/elements/Element.js +2 -3
  652. package/elements/Li.d.ts +6 -26
  653. package/elements/Li.js +0 -20
  654. package/elements/Link.d.ts +3 -1
  655. package/elements/Ol.d.ts +20 -29
  656. package/elements/Ol.js +0 -28
  657. package/elements/Ul.d.ts +20 -30
  658. package/elements/Ul.js +0 -30
  659. package/elements/lib.d.ts +19 -8
  660. package/es/components/HeightAnimation.d.ts +3 -0
  661. package/es/components/HeightAnimation.js +3 -0
  662. package/es/components/accordion/Accordion.js +3 -3
  663. package/es/components/accordion/AccordionHeader.js +2 -2
  664. package/es/components/accordion/AccordionProvider.js +3 -2
  665. package/es/components/accordion/style/_accordion.scss +14 -15
  666. package/es/components/accordion/style/dnb-accordion.css +9 -6
  667. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  668. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.css +100 -94
  669. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +3 -3
  670. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.scss +36 -39
  671. package/es/components/autocomplete/Autocomplete.d.ts +0 -10
  672. package/es/components/autocomplete/Autocomplete.js +3 -5
  673. package/es/components/autocomplete/style/_autocomplete.scss +2 -2
  674. package/es/components/autocomplete/style/dnb-autocomplete.css +46 -46
  675. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  676. package/es/components/avatar/Avatar.d.ts +5 -3
  677. package/es/components/avatar/Avatar.js +2 -3
  678. package/es/components/avatar/AvatarGroup.d.ts +2 -2
  679. package/es/components/avatar/AvatarGroup.js +4 -5
  680. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +0 -10
  681. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  682. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +0 -8
  683. package/es/components/badge/Badge.d.ts +3 -3
  684. package/es/components/badge/Badge.js +2 -9
  685. package/es/components/breadcrumb/Breadcrumb.d.ts +14 -8
  686. package/es/components/breadcrumb/Breadcrumb.js +26 -22
  687. package/es/components/breadcrumb/BreadcrumbItem.d.ts +2 -0
  688. package/es/components/breadcrumb/BreadcrumbItem.js +12 -7
  689. package/es/components/breadcrumb/BreadcrumbMultiple.d.ts +10 -0
  690. package/es/components/breadcrumb/BreadcrumbMultiple.js +31 -0
  691. package/es/components/breadcrumb/style/_breadcrumb.scss +25 -12
  692. package/es/components/breadcrumb/style/dnb-breadcrumb.css +933 -17
  693. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  694. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +4 -0
  695. package/es/components/button/Button.d.ts +7 -9
  696. package/es/components/button/Button.js +5 -4
  697. package/es/components/button/style/dnb-button.css +14 -14
  698. package/es/components/button/style/dnb-button.min.css +1 -1
  699. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +2 -2
  700. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  701. package/es/components/button/style/themes/dnb-button-theme-ui.css +2 -2
  702. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  703. package/es/components/button/style/themes/dnb-button-theme-ui.scss +2 -2
  704. package/es/components/checkbox/Checkbox.js +4 -3
  705. package/es/components/date-picker/DatePicker.js +4 -3
  706. package/es/components/date-picker/style/dnb-date-picker.css +56 -56
  707. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  708. package/es/components/dialog/Dialog.js +2 -2
  709. package/es/components/dialog/parts/DialogBody.d.ts +2 -1
  710. package/es/components/dialog/style/_dialog.scss +1 -1
  711. package/es/components/dialog/style/dnb-dialog.css +26 -26
  712. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  713. package/es/components/drawer/DrawerContent.d.ts +1 -1
  714. package/es/components/drawer/DrawerContent.js +2 -3
  715. package/es/components/drawer/parts/DrawerBody.d.ts +2 -1
  716. package/es/components/drawer/style/dnb-drawer.css +22 -22
  717. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  718. package/es/components/dropdown/Dropdown.d.ts +0 -4
  719. package/es/components/dropdown/Dropdown.js +4 -3
  720. package/es/components/dropdown/style/dnb-dropdown.css +14 -14
  721. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  722. package/es/components/form-label/FormLabel.js +4 -3
  723. package/es/components/form-row/FormRow.js +9 -4
  724. package/es/components/form-row/style/_form-row.scss +4 -1
  725. package/es/components/form-row/style/dnb-form-row.css +4 -3
  726. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  727. package/es/components/form-set/FormSet.js +2 -2
  728. package/es/components/form-status/FormStatus.js +4 -3
  729. package/es/components/global-error/style/dnb-global-error.css +14 -14
  730. package/es/components/global-error/style/dnb-global-error.min.css +1 -1
  731. package/es/components/global-status/GlobalStatus.js +4 -4
  732. package/es/components/global-status/style/dnb-global-status.css +24 -38
  733. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  734. package/es/components/height-animation/HeightAnimation.d.ts +27 -0
  735. package/es/components/height-animation/HeightAnimation.js +56 -0
  736. package/es/components/height-animation/index.d.ts +3 -0
  737. package/es/components/height-animation/index.js +3 -0
  738. package/es/components/height-animation/style/_height-animation.scss +12 -0
  739. package/es/components/height-animation/style/dnb-height-animation.css +81 -0
  740. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -0
  741. package/es/components/height-animation/style/dnb-height-animation.scss +12 -0
  742. package/es/components/height-animation/style/index.d.ts +1 -0
  743. package/es/components/height-animation/style/index.js +1 -0
  744. package/es/components/height-animation/style.d.ts +1 -0
  745. package/es/components/height-animation/style.js +1 -0
  746. package/es/components/height-animation/useHeightAnimation.d.ts +40 -0
  747. package/es/components/height-animation/useHeightAnimation.js +168 -0
  748. package/es/components/help-button/HelpButton.d.ts +10 -236
  749. package/es/components/help-button/HelpButton.js +28 -57
  750. package/es/components/help-button/HelpButtonInstance.d.ts +5 -100
  751. package/es/components/help-button/HelpButtonInstance.js +55 -74
  752. package/es/components/help-button/style/dnb-help-button.css +14 -14
  753. package/es/components/help-button/style/dnb-help-button.min.css +1 -1
  754. package/es/components/icon/Icon.js +5 -4
  755. package/es/components/icon-primary/IconPrimary.js +4 -3
  756. package/es/components/index.d.ts +2 -1
  757. package/es/components/index.js +2 -1
  758. package/es/components/info-card/InfoCard.d.ts +2 -4
  759. package/es/components/info-card/InfoCard.js +6 -8
  760. package/es/components/input/Input.js +5 -4
  761. package/es/components/input/InputPassword.js +4 -3
  762. package/es/components/input/style/dnb-input.css +28 -28
  763. package/es/components/input/style/dnb-input.min.css +1 -1
  764. package/es/components/input-masked/style/dnb-input-masked.css +28 -28
  765. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  766. package/es/components/lib.d.ts +27 -9
  767. package/es/components/lib.js +3 -1
  768. package/es/components/logo/Logo.d.ts +5 -0
  769. package/es/components/logo/Logo.js +8 -4
  770. package/es/components/logo/style/_logo.scss +3 -0
  771. package/es/components/logo/style/dnb-logo.css +2 -0
  772. package/es/components/logo/style/dnb-logo.min.css +1 -1
  773. package/es/components/modal/Modal.d.ts +2 -2
  774. package/es/components/modal/Modal.js +5 -3
  775. package/es/components/modal/ModalRoot.d.ts +1 -1
  776. package/es/components/modal/parts/CloseButton.js +2 -2
  777. package/es/components/modal/style/_modal.scss +1 -2
  778. package/es/components/modal/style/dnb-modal.css +22 -22
  779. package/es/components/modal/style/dnb-modal.min.css +1 -1
  780. package/es/components/number-format/NumberFormat.js +3 -3
  781. package/es/components/number-format/style/dnb-number-format.css +14 -14
  782. package/es/components/number-format/style/dnb-number-format.min.css +1 -1
  783. package/es/components/number-format/useNumberFormat.js +2 -2
  784. package/es/components/pagination/Pagination.d.ts +0 -6
  785. package/es/components/pagination/Pagination.js +3 -4
  786. package/es/components/pagination/PaginationInfinity.js +0 -26
  787. package/es/components/pagination/PaginationProvider.js +11 -5
  788. package/es/components/pagination/style/dnb-pagination.css +14 -14
  789. package/es/components/pagination/style/dnb-pagination.min.css +1 -1
  790. package/es/components/progress-indicator/ProgressIndicator.js +3 -2
  791. package/es/components/radio/Radio.js +5 -3
  792. package/es/components/radio/RadioGroup.js +3 -2
  793. package/es/components/section/Section.d.ts +30 -83
  794. package/es/components/section/Section.js +35 -70
  795. package/es/components/section/style/_section.scss +8 -25
  796. package/es/components/section/style/dnb-section.css +10 -24
  797. package/es/components/section/style/dnb-section.min.css +1 -1
  798. package/es/components/section/style/themes/dnb-section-theme-ui.scss +1 -5
  799. package/es/components/skeleton/Skeleton.js +2 -2
  800. package/es/components/slider/Slider.d.ts +2 -3
  801. package/es/components/slider/SliderHelpers.d.ts +6 -4
  802. package/es/components/slider/SliderHelpers.js +16 -14
  803. package/es/components/slider/SliderInstance.js +8 -7
  804. package/es/components/slider/SliderProvider.d.ts +2 -2
  805. package/es/components/slider/SliderProvider.js +24 -15
  806. package/es/components/slider/SliderThumb.js +97 -62
  807. package/es/components/slider/SliderTrack.js +10 -12
  808. package/es/components/slider/hooks/useSliderEvents.d.ts +1 -3
  809. package/es/components/slider/hooks/useSliderEvents.js +19 -32
  810. package/es/components/slider/style/_range.scss +6 -0
  811. package/es/components/slider/style/_slider.scss +8 -5
  812. package/es/components/slider/style/dnb-range.css +10 -0
  813. package/es/components/slider/style/dnb-range.scss +6 -0
  814. package/es/components/slider/style/dnb-slider.css +211 -21
  815. package/es/components/slider/style/dnb-slider.min.css +1 -1
  816. package/es/components/slider/style/dnb-slider.scss +1 -0
  817. package/es/components/slider/types.d.ts +13 -5
  818. package/es/components/space/Space.d.ts +3 -2
  819. package/es/components/space/Space.js +20 -25
  820. package/es/components/step-indicator/StepIndicatorContext.js +4 -3
  821. package/es/components/step-indicator/StepIndicatorSidebar.js +2 -2
  822. package/es/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
  823. package/es/components/step-indicator/style/dnb-step-indicator.css +14 -14
  824. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  825. package/es/components/switch/Switch.js +4 -3
  826. package/es/components/table/Table.d.ts +2 -2
  827. package/es/components/table/Table.js +2 -3
  828. package/es/components/tabs/Tabs.js +3 -3
  829. package/es/components/tabs/TabsContentWrapper.js +1 -1
  830. package/es/components/tag/Tag.d.ts +10 -3
  831. package/es/components/tag/Tag.js +10 -10
  832. package/es/components/tag/TagGroup.d.ts +2 -2
  833. package/es/components/tag/TagGroup.js +4 -5
  834. package/es/components/tag/style/dnb-tag.css +14 -14
  835. package/es/components/tag/style/dnb-tag.min.css +1 -1
  836. package/es/components/textarea/Textarea.js +4 -3
  837. package/es/components/timeline/Timeline.d.ts +2 -2
  838. package/es/components/timeline/Timeline.js +2 -3
  839. package/es/components/timeline/TimelineItem.js +2 -2
  840. package/es/components/toggle-button/ToggleButton.js +4 -2
  841. package/es/components/toggle-button/ToggleButtonGroup.js +3 -2
  842. package/es/components/toggle-button/style/dnb-toggle-button.css +14 -14
  843. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  844. package/es/components/tooltip/Tooltip.d.ts +8 -154
  845. package/es/components/tooltip/Tooltip.js +57 -122
  846. package/es/components/tooltip/TooltipContainer.d.ts +15 -68
  847. package/es/components/tooltip/TooltipContainer.js +162 -262
  848. package/es/components/tooltip/TooltipHelpers.d.ts +31 -1
  849. package/es/components/tooltip/TooltipHelpers.js +66 -1
  850. package/es/components/tooltip/TooltipPortal.d.ts +13 -31
  851. package/es/components/tooltip/TooltipPortal.js +122 -163
  852. package/es/components/tooltip/TooltipWithEvents.d.ts +11 -35
  853. package/es/components/tooltip/TooltipWithEvents.js +126 -150
  854. package/es/components/tooltip/style/_tooltip.scss +8 -7
  855. package/es/components/tooltip/style/dnb-tooltip.css +14 -14
  856. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  857. package/es/components/tooltip/types.d.ts +28 -0
  858. package/es/components/tooltip/types.js +1 -0
  859. package/es/components/visually-hidden/VisuallyHidden.d.ts +2 -3
  860. package/es/components/visually-hidden/VisuallyHidden.js +2 -10
  861. package/es/elements/Anchor.d.ts +5 -3
  862. package/es/elements/Anchor.js +4 -5
  863. package/es/elements/Dd.d.ts +10 -26
  864. package/es/elements/Dd.js +0 -15
  865. package/es/elements/Dl.d.ts +16 -26
  866. package/es/elements/Dl.js +27 -19
  867. package/es/elements/Dt.d.ts +10 -26
  868. package/es/elements/Dt.js +0 -15
  869. package/es/elements/Element.d.ts +4 -2
  870. package/es/elements/Element.js +2 -3
  871. package/es/elements/Li.d.ts +6 -26
  872. package/es/elements/Li.js +0 -15
  873. package/es/elements/Link.d.ts +3 -1
  874. package/es/elements/Ol.d.ts +20 -29
  875. package/es/elements/Ol.js +0 -21
  876. package/es/elements/Ul.d.ts +20 -30
  877. package/es/elements/Ul.js +0 -23
  878. package/es/elements/lib.d.ts +19 -8
  879. package/es/extensions/payment-card/PaymentCard.js +3 -3
  880. package/es/fragments/drawer-list/DrawerList.js +3 -2
  881. package/es/fragments/drawer-list/style/_drawer-list.scss +1 -1
  882. package/es/fragments/lib.d.ts +8 -1
  883. package/es/fragments/scroll-view/ScrollView.d.ts +14 -7
  884. package/es/fragments/scroll-view/ScrollView.js +30 -52
  885. package/es/icons/add.js +5 -2
  886. package/es/icons/add_circled.js +5 -2
  887. package/es/icons/add_circled_medium.js +5 -2
  888. package/es/icons/add_medium.js +5 -2
  889. package/es/icons/boat.js +10 -3
  890. package/es/icons/boat_medium.js +10 -3
  891. package/es/icons/calculator.js +10 -3
  892. package/es/icons/card.js +4 -2
  893. package/es/icons/card_medium.js +4 -2
  894. package/es/icons/cat_medium.js +10 -3
  895. package/es/icons/chatbot.js +5 -2
  896. package/es/icons/chatbot_medium.js +5 -2
  897. package/es/icons/chip.js +10 -3
  898. package/es/icons/chip_medium.js +10 -3
  899. package/es/icons/cloud_download.js +10 -3
  900. package/es/icons/cloud_download_medium.js +10 -3
  901. package/es/icons/cloud_rain.js +10 -3
  902. package/es/icons/cloud_rain_medium.js +10 -3
  903. package/es/icons/cloud_sync.js +10 -3
  904. package/es/icons/cloud_sync_medium.js +10 -3
  905. package/es/icons/cloud_transfer.js +10 -3
  906. package/es/icons/cloud_transfer_medium.js +10 -3
  907. package/es/icons/cloud_upload.js +10 -3
  908. package/es/icons/cloud_upload_medium.js +10 -3
  909. package/es/icons/cookie.js +10 -3
  910. package/es/icons/cookie_medium.js +10 -3
  911. package/es/icons/diamond.js +10 -3
  912. package/es/icons/dog.js +10 -3
  913. package/es/icons/dog_medium.js +10 -3
  914. package/es/icons/exclamation_circled.js +5 -2
  915. package/es/icons/exclamation_circled_medium.js +5 -2
  916. package/es/icons/file_jpg.d.ts +2 -0
  917. package/es/icons/file_jpg.js +18 -0
  918. package/es/icons/file_jpg_medium.d.ts +2 -0
  919. package/es/icons/file_jpg_medium.js +24 -0
  920. package/es/icons/file_png.d.ts +2 -0
  921. package/es/icons/file_png.js +18 -0
  922. package/es/icons/file_png_medium.d.ts +2 -0
  923. package/es/icons/file_png_medium.js +24 -0
  924. package/es/icons/fish.d.ts +2 -0
  925. package/es/icons/fish.js +26 -0
  926. package/es/icons/fish_medium.d.ts +2 -0
  927. package/es/icons/fish_medium.js +26 -0
  928. package/es/icons/hourglass.js +10 -3
  929. package/es/icons/icons-meta.json +71 -1
  930. package/es/icons/icons-pdf.lock +1098 -968
  931. package/es/icons/icons-svg.lock +1098 -968
  932. package/es/icons/index.d.ts +11 -1
  933. package/es/icons/index.js +11 -1
  934. package/es/icons/instagram.js +10 -3
  935. package/es/icons/linkedin.js +10 -3
  936. package/es/icons/linkedin_medium.js +10 -3
  937. package/es/icons/loupe.js +4 -2
  938. package/es/icons/loupe_medium.js +4 -2
  939. package/es/icons/mastercard_card.js +4 -2
  940. package/es/icons/mastercard_card_medium.js +4 -2
  941. package/es/icons/news.js +10 -3
  942. package/es/icons/news_medium.js +10 -3
  943. package/es/icons/newspaper.d.ts +2 -0
  944. package/es/icons/newspaper.js +21 -0
  945. package/es/icons/newspaper_medium.d.ts +2 -0
  946. package/es/icons/newspaper_medium.js +21 -0
  947. package/es/icons/phone.js +10 -3
  948. package/es/icons/phone_medium.js +10 -3
  949. package/es/icons/photo.js +10 -3
  950. package/es/icons/photo_medium.js +10 -3
  951. package/es/icons/pin.js +10 -3
  952. package/es/icons/pin_medium.js +10 -3
  953. package/es/icons/play.js +10 -3
  954. package/es/icons/savings_account.js +5 -2
  955. package/es/icons/secondary_icons.d.ts +6 -1
  956. package/es/icons/secondary_icons.js +6 -1
  957. package/es/icons/secondary_icons_medium.d.ts +6 -1
  958. package/es/icons/secondary_icons_medium.js +6 -1
  959. package/es/icons/sort.d.ts +2 -0
  960. package/es/icons/sort.js +21 -0
  961. package/es/icons/sort_medium.d.ts +2 -0
  962. package/es/icons/sort_medium.js +21 -0
  963. package/es/icons/subtract.js +5 -2
  964. package/es/icons/subtract_circled.js +5 -2
  965. package/es/icons/subtract_circled_medium.js +5 -2
  966. package/es/icons/subtract_medium.js +5 -2
  967. package/es/icons/tag.js +13 -10
  968. package/es/icons/tag_medium.js +13 -10
  969. package/es/icons/thumbs_down.js +10 -3
  970. package/es/icons/thumbs_up.js +10 -3
  971. package/es/icons/video.js +10 -3
  972. package/es/icons/video_medium.js +10 -3
  973. package/es/icons/wallet_medium.js +4 -2
  974. package/es/index.d.ts +2 -1
  975. package/es/index.js +2 -1
  976. package/es/shared/AnimateHeight.d.ts +46 -32
  977. package/es/shared/AnimateHeight.js +68 -38
  978. package/es/shared/Context.d.ts +9 -3
  979. package/es/shared/Eufemia.js +1 -1
  980. package/es/shared/MediaQueryUtils.d.ts +5 -1
  981. package/es/shared/MediaQueryUtils.js +4 -3
  982. package/es/shared/component-helper.d.ts +7 -18
  983. package/es/shared/component-helper.js +7 -167
  984. package/es/shared/helpers/EventEmitter.d.ts +46 -0
  985. package/es/shared/{EventEmitter.js → helpers/EventEmitter.js} +27 -21
  986. package/es/shared/helpers/InteractionInvalidation.d.ts +30 -0
  987. package/es/shared/helpers/InteractionInvalidation.js +141 -0
  988. package/{cjs/shared/hooks/usePropsWithContext.d.ts → es/shared/helpers/extendPropsWithContext.d.ts} +2 -3
  989. package/es/shared/{hooks/usePropsWithContext.js → helpers/extendPropsWithContext.js} +22 -10
  990. package/es/shared/helpers/filterValidProps.d.ts +1 -1
  991. package/es/shared/helpers/filterValidProps.js +1 -1
  992. package/es/shared/helpers/getPreviousSibling.d.ts +10 -0
  993. package/es/shared/helpers/getPreviousSibling.js +33 -0
  994. package/es/shared/helpers/useEventEmitter.d.ts +14 -0
  995. package/es/shared/helpers/useEventEmitter.js +30 -0
  996. package/es/shared/helpers.d.ts +2 -0
  997. package/es/shared/interfaces.d.ts +4 -23
  998. package/es/shared/interfaces.js +1 -1
  999. package/es/shared/locales/en-GB.d.ts +3 -0
  1000. package/es/shared/locales/en-GB.js +3 -0
  1001. package/es/shared/locales/en-US.d.ts +3 -0
  1002. package/es/shared/locales/index.d.ts +6 -0
  1003. package/es/shared/locales/nb-NO.d.ts +3 -0
  1004. package/es/shared/locales/nb-NO.js +3 -0
  1005. package/es/shared/types.d.ts +35 -0
  1006. package/es/shared/types.js +1 -0
  1007. package/es/shared/useMediaQuery.js +15 -4
  1008. package/es/style/core/helper-classes/helper-classes.scss +4 -0
  1009. package/es/style/dnb-ui-basis.css +3 -0
  1010. package/es/style/dnb-ui-basis.min.css +1 -1
  1011. package/es/style/dnb-ui-components.css +112 -84
  1012. package/es/style/dnb-ui-components.min.css +5 -5
  1013. package/es/style/dnb-ui-components.scss +1 -0
  1014. package/es/style/dnb-ui-core.css +3 -0
  1015. package/es/style/dnb-ui-core.min.css +1 -1
  1016. package/es/style/dnb-ui-elements.css +25 -4
  1017. package/es/style/dnb-ui-elements.min.css +1 -1
  1018. package/es/style/dnb-ui-fragments.css +1 -1
  1019. package/es/style/dnb-ui-fragments.min.css +1 -1
  1020. package/es/style/dnb-ui-tags.css +50 -8
  1021. package/es/style/dnb-ui-tags.min.css +1 -1
  1022. package/es/style/elements/lists.scss +27 -5
  1023. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +129 -112
  1024. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +5 -5
  1025. package/es/style/themes/theme-ui/dnb-theme-ui.css +127 -110
  1026. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +5 -5
  1027. package/esm/dnb-ui-basis.min.mjs +2 -2
  1028. package/esm/dnb-ui-components.min.mjs +3 -3
  1029. package/esm/dnb-ui-elements.min.mjs +4 -4
  1030. package/esm/dnb-ui-extensions.min.mjs +4 -4
  1031. package/esm/dnb-ui-icons.min.mjs +1 -1
  1032. package/esm/dnb-ui-lib.min.mjs +4 -4
  1033. package/esm/dnb-ui-web-components.min.mjs +4 -4
  1034. package/extensions/payment-card/PaymentCard.js +3 -3
  1035. package/fragments/drawer-list/DrawerList.js +3 -2
  1036. package/fragments/drawer-list/style/_drawer-list.scss +1 -1
  1037. package/fragments/lib.d.ts +8 -1
  1038. package/fragments/scroll-view/ScrollView.d.ts +14 -7
  1039. package/fragments/scroll-view/ScrollView.js +31 -79
  1040. package/icons/add.js +5 -2
  1041. package/icons/add_circled.js +5 -2
  1042. package/icons/add_circled_medium.js +5 -2
  1043. package/icons/add_medium.js +5 -2
  1044. package/icons/boat.js +10 -3
  1045. package/icons/boat_medium.js +10 -3
  1046. package/icons/calculator.js +10 -3
  1047. package/icons/card.js +4 -2
  1048. package/icons/card_medium.js +4 -2
  1049. package/icons/cat_medium.js +10 -3
  1050. package/icons/chatbot.js +5 -2
  1051. package/icons/chatbot_medium.js +5 -2
  1052. package/icons/chip.js +10 -3
  1053. package/icons/chip_medium.js +10 -3
  1054. package/icons/cloud_download.js +10 -3
  1055. package/icons/cloud_download_medium.js +10 -3
  1056. package/icons/cloud_rain.js +10 -3
  1057. package/icons/cloud_rain_medium.js +10 -3
  1058. package/icons/cloud_sync.js +10 -3
  1059. package/icons/cloud_sync_medium.js +10 -3
  1060. package/icons/cloud_transfer.js +10 -3
  1061. package/icons/cloud_transfer_medium.js +10 -3
  1062. package/icons/cloud_upload.js +10 -3
  1063. package/icons/cloud_upload_medium.js +10 -3
  1064. package/icons/cookie.js +10 -3
  1065. package/icons/cookie_medium.js +10 -3
  1066. package/icons/diamond.js +10 -3
  1067. package/icons/dog.js +10 -3
  1068. package/icons/dog_medium.js +10 -3
  1069. package/icons/exclamation_circled.js +5 -2
  1070. package/icons/exclamation_circled_medium.js +5 -2
  1071. package/icons/file_jpg.d.ts +2 -0
  1072. package/icons/file_jpg.js +20 -0
  1073. package/icons/file_jpg_medium.d.ts +2 -0
  1074. package/icons/file_jpg_medium.js +26 -0
  1075. package/icons/file_png.d.ts +2 -0
  1076. package/icons/file_png.js +20 -0
  1077. package/icons/file_png_medium.d.ts +2 -0
  1078. package/icons/file_png_medium.js +26 -0
  1079. package/icons/fish.d.ts +2 -0
  1080. package/icons/fish.js +28 -0
  1081. package/icons/fish_medium.d.ts +2 -0
  1082. package/icons/fish_medium.js +28 -0
  1083. package/icons/hourglass.js +10 -3
  1084. package/icons/icons-meta.json +71 -1
  1085. package/icons/icons-pdf.lock +1098 -968
  1086. package/icons/icons-svg.lock +1098 -968
  1087. package/icons/index.d.ts +11 -1
  1088. package/icons/index.js +11 -1
  1089. package/icons/instagram.js +10 -3
  1090. package/icons/linkedin.js +10 -3
  1091. package/icons/linkedin_medium.js +10 -3
  1092. package/icons/loupe.js +4 -2
  1093. package/icons/loupe_medium.js +4 -2
  1094. package/icons/mastercard_card.js +4 -2
  1095. package/icons/mastercard_card_medium.js +4 -2
  1096. package/icons/news.js +10 -3
  1097. package/icons/news_medium.js +10 -3
  1098. package/icons/newspaper.d.ts +2 -0
  1099. package/icons/newspaper.js +23 -0
  1100. package/icons/newspaper_medium.d.ts +2 -0
  1101. package/icons/newspaper_medium.js +23 -0
  1102. package/icons/phone.js +10 -3
  1103. package/icons/phone_medium.js +10 -3
  1104. package/icons/photo.js +10 -3
  1105. package/icons/photo_medium.js +10 -3
  1106. package/icons/pin.js +10 -3
  1107. package/icons/pin_medium.js +10 -3
  1108. package/icons/play.js +10 -3
  1109. package/icons/savings_account.js +5 -2
  1110. package/icons/secondary_icons.d.ts +6 -1
  1111. package/icons/secondary_icons.js +6 -1
  1112. package/icons/secondary_icons_medium.d.ts +6 -1
  1113. package/icons/secondary_icons_medium.js +6 -1
  1114. package/icons/sort.d.ts +2 -0
  1115. package/icons/sort.js +23 -0
  1116. package/icons/sort_medium.d.ts +2 -0
  1117. package/icons/sort_medium.js +23 -0
  1118. package/icons/subtract.js +5 -2
  1119. package/icons/subtract_circled.js +5 -2
  1120. package/icons/subtract_circled_medium.js +5 -2
  1121. package/icons/subtract_medium.js +5 -2
  1122. package/icons/tag.js +13 -10
  1123. package/icons/tag_medium.js +13 -10
  1124. package/icons/thumbs_down.js +10 -3
  1125. package/icons/thumbs_up.js +10 -3
  1126. package/icons/video.js +10 -3
  1127. package/icons/video_medium.js +10 -3
  1128. package/icons/wallet_medium.js +4 -2
  1129. package/index.d.ts +2 -1
  1130. package/index.js +2 -1
  1131. package/package.json +1 -1
  1132. package/shared/AnimateHeight.d.ts +46 -32
  1133. package/shared/AnimateHeight.js +102 -66
  1134. package/shared/Context.d.ts +9 -3
  1135. package/shared/Eufemia.js +1 -1
  1136. package/shared/MediaQueryUtils.d.ts +5 -1
  1137. package/shared/MediaQueryUtils.js +5 -3
  1138. package/shared/component-helper.d.ts +7 -18
  1139. package/shared/component-helper.js +18 -248
  1140. package/shared/helpers/EventEmitter.d.ts +46 -0
  1141. package/shared/{EventEmitter.js → helpers/EventEmitter.js} +30 -25
  1142. package/shared/helpers/InteractionInvalidation.d.ts +30 -0
  1143. package/shared/helpers/InteractionInvalidation.js +215 -0
  1144. package/{es/shared/hooks/usePropsWithContext.d.ts → shared/helpers/extendPropsWithContext.d.ts} +2 -3
  1145. package/shared/{hooks/usePropsWithContext.js → helpers/extendPropsWithContext.js} +36 -17
  1146. package/shared/helpers/filterValidProps.d.ts +1 -1
  1147. package/shared/helpers/filterValidProps.js +1 -1
  1148. package/shared/helpers/getPreviousSibling.d.ts +10 -0
  1149. package/shared/helpers/getPreviousSibling.js +35 -0
  1150. package/shared/helpers/useEventEmitter.d.ts +14 -0
  1151. package/shared/helpers/useEventEmitter.js +45 -0
  1152. package/shared/helpers.d.ts +2 -0
  1153. package/shared/interfaces.d.ts +4 -23
  1154. package/shared/interfaces.js +1 -1
  1155. package/shared/locales/en-GB.d.ts +3 -0
  1156. package/shared/locales/en-GB.js +3 -0
  1157. package/shared/locales/en-US.d.ts +3 -0
  1158. package/shared/locales/index.d.ts +6 -0
  1159. package/shared/locales/nb-NO.d.ts +3 -0
  1160. package/shared/locales/nb-NO.js +3 -0
  1161. package/shared/types.d.ts +35 -0
  1162. package/shared/types.js +1 -0
  1163. package/shared/useMediaQuery.js +18 -13
  1164. package/style/core/helper-classes/helper-classes.scss +4 -0
  1165. package/style/dnb-ui-basis.css +3 -0
  1166. package/style/dnb-ui-basis.min.css +1 -1
  1167. package/style/dnb-ui-components.css +112 -84
  1168. package/style/dnb-ui-components.min.css +5 -5
  1169. package/style/dnb-ui-components.scss +1 -0
  1170. package/style/dnb-ui-core.css +3 -0
  1171. package/style/dnb-ui-core.min.css +1 -1
  1172. package/style/dnb-ui-elements.css +25 -4
  1173. package/style/dnb-ui-elements.min.css +1 -1
  1174. package/style/dnb-ui-fragments.css +1 -1
  1175. package/style/dnb-ui-fragments.min.css +1 -1
  1176. package/style/dnb-ui-tags.css +50 -8
  1177. package/style/dnb-ui-tags.min.css +1 -1
  1178. package/style/elements/lists.scss +27 -5
  1179. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +129 -112
  1180. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +5 -5
  1181. package/style/themes/theme-ui/dnb-theme-ui.css +127 -110
  1182. package/style/themes/theme-ui/dnb-theme-ui.min.css +5 -5
  1183. package/umd/dnb-ui-basis.min.js +3 -3
  1184. package/umd/dnb-ui-components.min.js +4 -4
  1185. package/umd/dnb-ui-elements.min.js +5 -5
  1186. package/umd/dnb-ui-extensions.min.js +5 -5
  1187. package/umd/dnb-ui-icons.min.js +1 -1
  1188. package/umd/dnb-ui-lib.min.js +5 -5
  1189. package/umd/dnb-ui-web-components.min.js +5 -5
  1190. package/cjs/shared/EventEmitter.d.ts +0 -27
  1191. package/cjs/shared/hooks/index.d.ts +0 -1
  1192. package/cjs/shared/hooks/index.js +0 -13
  1193. package/es/shared/EventEmitter.d.ts +0 -27
  1194. package/es/shared/hooks/index.d.ts +0 -1
  1195. package/es/shared/hooks/index.js +0 -1
  1196. package/shared/EventEmitter.d.ts +0 -27
  1197. package/shared/hooks/index.d.ts +0 -1
  1198. package/shared/hooks/index.js +0 -1
@@ -3,14 +3,98 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.defaultProps = void 0;
7
+ exports.getPropsFromTooltipProp = getPropsFromTooltipProp;
8
+ exports.getRefElement = getRefElement;
9
+ exports.getTargetElement = getTargetElement;
6
10
  exports.injectTooltipSemantic = injectTooltipSemantic;
11
+ exports.isTouch = void 0;
12
+ exports.useHandleAria = useHandleAria;
13
+
14
+ require("core-js/modules/es.regexp.exec.js");
15
+
16
+ var _react = _interopRequireDefault(require("react"));
7
17
 
8
18
  var _classnames = _interopRequireDefault(require("classnames"));
9
19
 
20
+ var _componentHelper = require("../../shared/component-helper");
21
+
10
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
23
 
12
24
  function injectTooltipSemantic(params) {
13
25
  params.tabIndex = '0';
14
26
  params.className = (0, _classnames.default)("dnb-tooltip__wrapper dnb-tab-focus", params.className);
15
27
  return params;
16
- }
28
+ }
29
+
30
+ var defaultProps = {
31
+ id: null,
32
+ group: null,
33
+ size: 'basis',
34
+ active: null,
35
+ position: 'top',
36
+ arrow: 'center',
37
+ align: null,
38
+ animatePosition: false,
39
+ fixedPosition: false,
40
+ skipPortal: null,
41
+ noAnimation: false,
42
+ showDelay: 300,
43
+ hideDelay: 500,
44
+ targetSelector: null,
45
+ targetElement: null,
46
+ className: null,
47
+ children: null,
48
+ tooltip: null
49
+ };
50
+ exports.defaultProps = defaultProps;
51
+
52
+ function getTargetElement(target) {
53
+ if (typeof document !== 'undefined') {
54
+ return typeof target === 'string' ? typeof document !== 'undefined' && document.querySelector(target) : target;
55
+ }
56
+ }
57
+
58
+ function useHandleAria(targetElement, internalId) {
59
+ _react.default.useEffect(function () {
60
+ try {
61
+ var elem = getTargetElement(getRefElement(targetElement));
62
+
63
+ if (!(elem !== null && elem !== void 0 && elem.classList.contains('dnb-tooltip__wrapper'))) {
64
+ var existing = {
65
+ 'aria-describedby': elem.getAttribute('aria-describedby')
66
+ };
67
+ elem.setAttribute('aria-describedby', (0, _componentHelper.combineDescribedBy)(existing, internalId));
68
+ }
69
+ } catch (e) {}
70
+ }, [targetElement, internalId]);
71
+ }
72
+
73
+ function getPropsFromTooltipProp(localProps) {
74
+ return localProps.tooltip ? _react.default.isValidElement(localProps.tooltip) && localProps.tooltip.props ? localProps.tooltip.props : {
75
+ children: localProps.tooltip
76
+ } : null;
77
+ }
78
+
79
+ function getRefElement(target) {
80
+ var _unknownTarget$curren;
81
+
82
+ var unknownTarget = target;
83
+ var element = target;
84
+
85
+ if (unknownTarget !== null && unknownTarget !== void 0 && (_unknownTarget$curren = unknownTarget.current) !== null && _unknownTarget$curren !== void 0 && _unknownTarget$curren._ref) {
86
+ element = getRefElement(unknownTarget.current._ref);
87
+ }
88
+
89
+ if (Object.prototype.hasOwnProperty.call(element, 'current')) {
90
+ element = element.current;
91
+ }
92
+
93
+ return element;
94
+ }
95
+
96
+ var isTouch = function isTouch(type) {
97
+ return /touch/i.test(type);
98
+ };
99
+
100
+ exports.isTouch = isTouch;
@@ -1,33 +1,15 @@
1
- import * as React from 'react';
2
- export type TooltipPortalTarget = string | Object;
3
- export type TooltipPortalHideDelay = string | number;
4
-
5
1
  /**
6
- * NB: Do not change the docs (comments) in here. The docs are updated during build time by "generateTypes.js" and "fetchPropertiesFromDocs.js".
2
+ * Web Tooltip Component
3
+ *
7
4
  */
8
- export interface TooltipPortalProps extends React.HTMLProps<HTMLElement> {
9
- internal_id?: string;
10
- target: TooltipPortalTarget;
11
-
12
- /**
13
- * Set to `true` the tooltip will show up.
14
- */
15
- active?: boolean;
16
-
17
- /**
18
- * If the tooltip should animate from one target to the next, define a unique ID.
19
- */
20
- group?: string;
21
-
22
- /**
23
- * Define the delay until the tooltip should disappear up after initial visibility.
24
- */
25
- hide_delay?: TooltipPortalHideDelay;
26
- }
27
- export default class TooltipPortal extends React.Component<
28
- TooltipPortalProps,
29
- any
30
- > {
31
- static defaultProps: object;
32
- render(): JSX.Element;
33
- }
5
+ import React from 'react';
6
+ import { TooltipProps } from './types';
7
+ declare type TooltipPortalProps = {
8
+ target: HTMLElement;
9
+ active: boolean;
10
+ keepInDOM?: boolean;
11
+ group?: string;
12
+ children?: React.ReactNode;
13
+ };
14
+ declare function TooltipPortal(props: TooltipProps & TooltipPortalProps): React.ReactPortal;
15
+ export default TooltipPortal;
@@ -1,19 +1,11 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
- require("core-js/modules/es.object.get-prototype-of.js");
6
-
7
- require("core-js/modules/es.object.to-string.js");
8
-
9
- require("core-js/modules/es.reflect.construct.js");
10
-
11
- require("core-js/modules/es.object.assign.js");
12
-
13
3
  require("core-js/modules/es.symbol.js");
14
4
 
15
5
  require("core-js/modules/es.symbol.description.js");
16
6
 
7
+ require("core-js/modules/es.object.to-string.js");
8
+
17
9
  require("core-js/modules/es.symbol.iterator.js");
18
10
 
19
11
  require("core-js/modules/es.array.iterator.js");
@@ -22,12 +14,22 @@ require("core-js/modules/es.string.iterator.js");
22
14
 
23
15
  require("core-js/modules/web.dom-collections.iterator.js");
24
16
 
17
+ require("core-js/modules/es.array.slice.js");
18
+
19
+ require("core-js/modules/es.function.name.js");
20
+
21
+ require("core-js/modules/es.array.from.js");
22
+
23
+ require("core-js/modules/es.regexp.exec.js");
24
+
25
+ require("core-js/modules/es.object.assign.js");
26
+
25
27
  Object.defineProperty(exports, "__esModule", {
26
28
  value: true
27
29
  });
28
30
  exports.default = void 0;
29
31
 
30
- require("core-js/modules/es.array.concat.js");
32
+ require("core-js/modules/esnext.global-this.js");
31
33
 
32
34
  require("core-js/modules/es.parse-float.js");
33
35
 
@@ -35,247 +37,191 @@ var _react = _interopRequireDefault(require("react"));
35
37
 
36
38
  var _reactDom = _interopRequireDefault(require("react-dom"));
37
39
 
38
- var _propTypes = _interopRequireDefault(require("prop-types"));
39
-
40
40
  var _componentHelper = require("../../shared/component-helper");
41
41
 
42
42
  var _TooltipContainer = _interopRequireDefault(require("./TooltipContainer"));
43
43
 
44
+ var _TooltipHelpers = require("./TooltipHelpers");
45
+
44
46
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
45
47
 
46
48
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
47
49
 
48
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
49
-
50
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
51
-
52
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
50
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
53
51
 
54
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
52
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
55
53
 
56
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
54
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
57
55
 
58
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
56
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
59
57
 
60
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
58
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
61
59
 
62
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
63
-
64
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
65
-
66
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
67
-
68
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
60
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
69
61
 
70
62
  var tooltipPortal;
71
63
 
72
- if (typeof window !== 'undefined') {
73
- window.tooltipPortal = window.tooltipPortal || {};
74
- tooltipPortal = window.tooltipPortal;
64
+ if (typeof globalThis !== 'undefined') {
65
+ globalThis.tooltipPortal = globalThis.tooltipPortal || {};
66
+ tooltipPortal = globalThis.tooltipPortal;
75
67
  } else {
76
68
  tooltipPortal = {};
77
69
  }
78
70
 
79
- var TooltipPortal = function (_React$PureComponent) {
80
- _inherits(TooltipPortal, _React$PureComponent);
71
+ function TooltipPortal(props) {
72
+ var active = props.active,
73
+ target = props.target,
74
+ hideDelay = props.hideDelay,
75
+ keepInDOM = props.keepInDOM,
76
+ noAnimation = props.noAnimation,
77
+ children = props.children;
81
78
 
82
- var _super = _createSuper(TooltipPortal);
79
+ var _React$useState = _react.default.useState(false),
80
+ _React$useState2 = _slicedToArray(_React$useState, 2),
81
+ isMounted = _React$useState2[0],
82
+ setIsMounted = _React$useState2[1];
83
83
 
84
- function TooltipPortal() {
85
- var _this;
84
+ var _React$useState3 = _react.default.useState(active),
85
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
86
+ isActive = _React$useState4[0],
87
+ setIsActive = _React$useState4[1];
86
88
 
87
- _classCallCheck(this, TooltipPortal);
89
+ var _React$useState5 = _react.default.useState(function () {
90
+ return props.group || (0, _componentHelper.makeUniqueId)();
91
+ }),
92
+ _React$useState6 = _slicedToArray(_React$useState5, 1),
93
+ group = _React$useState6[0];
88
94
 
89
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
90
- args[_key] = arguments[_key];
91
- }
95
+ var isInDOM = _react.default.useRef(false);
92
96
 
93
- _this = _super.call.apply(_super, [this].concat(args));
97
+ var hasGroup = props.group;
94
98
 
95
- _defineProperty(_assertThisInitialized(_this), "state", {
96
- isMounted: false
97
- });
99
+ if (tooltipPortal[group]) {
100
+ tooltipPortal[group].inDOM = isInDOM.current;
101
+ }
98
102
 
99
- _defineProperty(_assertThisInitialized(_this), "init", function () {
100
- var _this$props = _this.props,
101
- group = _this$props.group,
102
- active = _this$props.active;
103
- tooltipPortal[group] = tooltipPortal[group] || {
104
- node: _this.useRootElement(),
105
- count: 0
103
+ var makePortal = function makePortal() {
104
+ if (!tooltipPortal[group]) {
105
+ tooltipPortal[group] = {
106
+ node: hasGroup ? createGroupElement(group) : createRootElement('dnb-tooltip__portal')
106
107
  };
107
- tooltipPortal[group].count++;
108
-
109
- _this.setState({
110
- isMounted: true,
111
- active: active
112
- }, function () {
113
- if (!_this.isMainGorup()) {
114
- _this.renderPortal();
115
- }
116
- });
117
- });
108
+ }
109
+ };
118
110
 
119
- _defineProperty(_assertThisInitialized(_this), "renderPortal", function () {
120
- var targetElement = _this.getTargetElement();
111
+ var removeFromDOM = function removeFromDOM() {
112
+ if (!keepInDOM && hasGroup && tooltipPortal[group] && !tooltipPortal[group].inDOM) {
113
+ _reactDom.default.unmountComponentAtNode(tooltipPortal[group].node);
114
+ }
115
+ };
121
116
 
122
- var group = _this.props.group;
117
+ _react.default.useEffect(function () {
118
+ var _tooltipPortal$group, _tooltipPortal$group2;
123
119
 
124
- if (!_this.isMainGorup() && tooltipPortal[group]) {
125
- clearTimeout(tooltipPortal[group].timeout);
126
- }
120
+ setIsMounted(true);
121
+ clearTimeout((_tooltipPortal$group = tooltipPortal[group]) === null || _tooltipPortal$group === void 0 ? void 0 : _tooltipPortal$group.delayTimeout);
122
+ clearTimeout((_tooltipPortal$group2 = tooltipPortal[group]) === null || _tooltipPortal$group2 === void 0 ? void 0 : _tooltipPortal$group2.hiddenTimeout);
127
123
 
128
- _this.handleAria(targetElement);
129
-
130
- if (_this.isMainGorup()) {
131
- return _reactDom.default.createPortal(_react.default.createElement(_TooltipContainer.default, _extends({
132
- targetElement: targetElement
133
- }, _this.props, {
134
- active: _this.state.active
135
- })), tooltipPortal[group].node);
136
- } else {
137
- _reactDom.default.render(_react.default.createElement(_TooltipContainer.default, _extends({
138
- targetElement: targetElement
139
- }, _this.props, {
140
- active: _this.state.active
141
- })), tooltipPortal[group].node);
142
- }
143
- });
124
+ if (active) {
125
+ makePortal();
126
+ setIsActive(true);
127
+ isInDOM.current = true;
144
128
 
145
- return _this;
146
- }
147
-
148
- _createClass(TooltipPortal, [{
149
- key: "componentDidMount",
150
- value: function componentDidMount() {
151
- if (document.readyState === 'complete') {
152
- this.init();
153
- } else if (typeof window !== 'undefined') {
154
- window.addEventListener('load', this.init);
129
+ if (hasGroup) {
130
+ renderPortal(true);
155
131
  }
156
- }
157
- }, {
158
- key: "componentDidUpdate",
159
- value: function componentDidUpdate(prevProps) {
160
- var _this2 = this;
161
-
162
- var _this$props2 = this.props,
163
- group = _this$props2.group,
164
- active = _this$props2.active,
165
- hide_delay = _this$props2.hide_delay;
166
-
167
- if (tooltipPortal[group] && active !== prevProps.active) {
168
- if (active && !prevProps.active) {
169
- this.setState({
170
- active: true
171
- }, function () {
172
- if (!_this2.isMainGorup()) {
173
- _this2.renderPortal();
174
- }
175
- });
176
- } else if (!active && prevProps.active) {
177
- this.timeout = tooltipPortal[group].timeout = setTimeout(function () {
178
- _this2.setState({
179
- active: false
180
- }, function () {
181
- if (!_this2.isMainGorup()) {
182
- _this2.renderPortal();
183
- }
184
- });
185
- }, parseFloat(hide_delay));
132
+ } else if (!active && isMounted) {
133
+ var delayRender = function delayRender() {
134
+ setIsActive(false);
135
+
136
+ if (hasGroup) {
137
+ renderPortal(false);
186
138
  }
139
+ };
140
+
141
+ var delayHidden = function delayHidden() {
142
+ isInDOM.current = false;
143
+ removeFromDOM();
144
+ };
145
+
146
+ if (noAnimation || globalThis.IS_TEST) {
147
+ delayRender();
148
+ delayHidden();
149
+ } else if (tooltipPortal[group]) {
150
+ var delay = parseFloat(String(hideDelay));
151
+ tooltipPortal[group].delayTimeout = setTimeout(delayRender, delay);
152
+ tooltipPortal[group].hiddenTimeout = setTimeout(delayHidden, delay + 300);
187
153
  }
188
154
  }
189
- }, {
190
- key: "isMainGorup",
191
- value: function isMainGorup() {
192
- var group = this.props.group;
193
- return group === 'main';
155
+ }, [children, active, group, hideDelay, noAnimation]);
156
+
157
+ _react.default.useEffect(function () {
158
+ if (keepInDOM) {
159
+ makePortal();
194
160
  }
195
- }, {
196
- key: "componentWillUnmount",
197
- value: function componentWillUnmount() {
198
- var group = this.props.group;
199
- clearTimeout(this.timeout);
200
161
 
201
- if (tooltipPortal[group]) {
202
- tooltipPortal[group].count--;
162
+ return removeFromDOM;
163
+ }, []);
203
164
 
204
- if (!this.isMainGorup()) {
205
- _reactDom.default.unmountComponentAtNode(tooltipPortal[group].node);
206
- }
165
+ var renderPortal = function renderPortal(isActive) {
166
+ var _tooltipPortal$group3;
207
167
 
208
- if (tooltipPortal[group].count === 0) {
209
- try {
210
- document.body.removeChild(tooltipPortal[group].node);
211
- } catch (e) {}
168
+ var root = (_tooltipPortal$group3 = tooltipPortal[group]) === null || _tooltipPortal$group3 === void 0 ? void 0 : _tooltipPortal$group3.node;
212
169
 
213
- tooltipPortal[group] = null;
214
- }
215
- }
170
+ if (root && hasGroup && isInDOM.current) {
171
+ _reactDom.default.render(_react.default.createElement(_TooltipContainer.default, _extends({}, props, {
172
+ targetElement: (0, _TooltipHelpers.getTargetElement)(target),
173
+ active: isActive
174
+ })), root);
216
175
  }
217
- }, {
218
- key: "getTargetElement",
219
- value: function getTargetElement() {
220
- if (typeof document !== 'undefined') {
221
- var target = this.props.target;
222
- return typeof target === 'string' ? typeof document !== 'undefined' && document.querySelector(target) : target;
223
- }
224
- }
225
- }, {
226
- key: "useRootElement",
227
- value: function useRootElement() {
228
- if (typeof document !== 'undefined') {
229
- try {
230
- var elem = document.createElement('div');
231
- elem.classList.add('dnb-tooltip__portal');
232
- elem.classList.add('dnb-core-style');
233
- document.body.appendChild(elem);
234
- return elem;
235
- } catch (e) {
236
- (0, _componentHelper.warn)(e);
237
- }
238
- }
239
- }
240
- }, {
241
- key: "handleAria",
242
- value: function handleAria(elem) {
243
- try {
244
- if (!elem.classList.contains('dnb-tooltip__wrapper')) {
245
- var existing = {
246
- 'aria-describedby': elem.getAttribute('aria-describedby')
247
- };
248
- elem.setAttribute('aria-describedby', (0, _componentHelper.combineDescribedBy)(existing, this.props.internal_id));
249
- }
250
- } catch (e) {}
251
- }
252
- }, {
253
- key: "render",
254
- value: function render() {
255
- if (this.state.isMounted && this.isMainGorup()) {
256
- return this.renderPortal();
257
- }
258
176
 
259
- return null;
177
+ return null;
178
+ };
179
+
180
+ if (!hasGroup) {
181
+ var _tooltipPortal$group4;
182
+
183
+ var root = (_tooltipPortal$group4 = tooltipPortal[group]) === null || _tooltipPortal$group4 === void 0 ? void 0 : _tooltipPortal$group4.node;
184
+
185
+ if (root) {
186
+ return _reactDom.default.createPortal(isInDOM.current || keepInDOM ? _react.default.createElement(_TooltipContainer.default, _extends({}, props, {
187
+ targetElement: (0, _TooltipHelpers.getTargetElement)(target),
188
+ active: isActive
189
+ }), children) : null, root);
260
190
  }
261
- }]);
191
+ }
262
192
 
263
- return TooltipPortal;
264
- }(_react.default.PureComponent);
193
+ return null;
194
+ }
265
195
 
266
- exports.default = TooltipPortal;
196
+ var _default = TooltipPortal;
197
+ exports.default = _default;
198
+
199
+ var createGroupElement = function createGroupElement(id) {
200
+ try {
201
+ var elem = document.createElement('div');
202
+ elem.classList.add('dnb-tooltip__group');
203
+ elem.setAttribute('id', id);
204
+ createRootElement('dnb-tooltip__portal').appendChild(elem);
205
+ return elem;
206
+ } catch (e) {
207
+ (0, _componentHelper.warn)(e);
208
+ }
209
+ };
267
210
 
268
- _defineProperty(TooltipPortal, "defaultProps", {
269
- internal_id: null,
270
- active: false,
271
- group: 'main',
272
- hide_delay: 500
273
- });
211
+ var createRootElement = function createRootElement(className) {
212
+ try {
213
+ var element = document.querySelector(".".concat(className));
274
214
 
275
- process.env.NODE_ENV !== "production" ? TooltipPortal.propTypes = {
276
- internal_id: _propTypes.default.string,
277
- target: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]).isRequired,
278
- active: _propTypes.default.bool,
279
- group: _propTypes.default.string,
280
- hide_delay: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
281
- } : void 0;
215
+ if (element) {
216
+ return element;
217
+ }
218
+
219
+ var elem = document.createElement('div');
220
+ elem.classList.add(className);
221
+ elem.classList.add('dnb-core-style');
222
+ document.body.appendChild(elem);
223
+ return elem;
224
+ } catch (e) {
225
+ (0, _componentHelper.warn)(e);
226
+ }
227
+ };
@@ -1,37 +1,13 @@
1
- import * as React from 'react';
2
- export type TooltipWithEventsShowDelay = string | number;
3
- export type TooltipWithEventsTarget =
4
- | string
5
- | Object
6
- | ((...args: any[]) => any)
7
- | React.ReactNode;
8
- export type TooltipWithEventsChildren =
9
- | string
10
- | ((...args: any[]) => any)
11
- | React.ReactNode;
12
-
13
1
  /**
14
- * NB: Do not change the docs (comments) in here. The docs are updated during build time by "generateTypes.js" and "fetchPropertiesFromDocs.js".
2
+ * Web Tooltip Component
3
+ *
15
4
  */
16
- export interface TooltipWithEventsProps
17
- extends React.HTMLProps<HTMLElement> {
18
- internal_id?: string;
19
-
20
- /**
21
- * Define the delay until the tooltip should show up after the initial hover / active state.
22
- */
23
- show_delay?: TooltipWithEventsShowDelay;
24
- target?: TooltipWithEventsTarget;
25
-
26
- /**
27
- * Provide a string or a React Element to be shown as the tooltip content.
28
- */
29
- children?: TooltipWithEventsChildren;
30
- }
31
- export default class TooltipWithEvents extends React.Component<
32
- TooltipWithEventsProps,
33
- any
34
- > {
35
- static defaultProps: object;
36
- render(): JSX.Element;
37
- }
5
+ import React from 'react';
6
+ import { TooltipProps } from './types';
7
+ declare type TooltipWithEventsProps = {
8
+ target: React.ReactElement & React.RefObject<HTMLElement>;
9
+ active: boolean;
10
+ internalId: string;
11
+ };
12
+ declare function TooltipWithEvents(props: TooltipProps & TooltipWithEventsProps): JSX.Element;
13
+ export default TooltipWithEvents;