@dnb/eufemia 9.29.0 → 9.31.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 (1177) 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 +102 -95
  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 +37 -37
  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 +3 -1
  91. package/cjs/components/avatar/Avatar.js +1 -3
  92. package/cjs/components/avatar/AvatarGroup.js +8 -10
  93. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +0 -10
  94. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  95. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +0 -8
  96. package/cjs/components/badge/Badge.js +1 -17
  97. package/cjs/components/breadcrumb/Breadcrumb.d.ts +10 -4
  98. package/cjs/components/breadcrumb/Breadcrumb.js +26 -28
  99. package/cjs/components/breadcrumb/BreadcrumbItem.d.ts +1 -0
  100. package/cjs/components/breadcrumb/BreadcrumbItem.js +13 -11
  101. package/cjs/components/breadcrumb/BreadcrumbMultiple.d.ts +10 -0
  102. package/cjs/components/breadcrumb/BreadcrumbMultiple.js +50 -0
  103. package/cjs/components/breadcrumb/style/_breadcrumb.scss +25 -12
  104. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +933 -17
  105. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  106. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +4 -0
  107. package/cjs/components/button/Button.d.ts +6 -8
  108. package/cjs/components/button/Button.js +5 -3
  109. package/cjs/components/button/style/dnb-button.css +14 -14
  110. package/cjs/components/button/style/dnb-button.min.css +1 -1
  111. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +22 -2
  112. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +3 -3
  113. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.scss +8 -0
  114. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +2 -2
  115. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  116. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +2 -2
  117. package/cjs/components/checkbox/Checkbox.js +4 -2
  118. package/cjs/components/date-picker/DatePicker.js +4 -2
  119. package/cjs/components/date-picker/style/dnb-date-picker.css +56 -56
  120. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  121. package/cjs/components/dialog/Dialog.js +2 -2
  122. package/cjs/components/dialog/parts/DialogBody.d.ts +2 -1
  123. package/cjs/components/dialog/style/_dialog.scss +1 -1
  124. package/cjs/components/dialog/style/dnb-dialog.css +26 -26
  125. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  126. package/cjs/components/drawer/DrawerContent.d.ts +1 -1
  127. package/cjs/components/drawer/DrawerContent.js +2 -4
  128. package/cjs/components/drawer/parts/DrawerBody.d.ts +2 -1
  129. package/cjs/components/drawer/style/dnb-drawer.css +22 -22
  130. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  131. package/cjs/components/dropdown/Dropdown.d.ts +0 -4
  132. package/cjs/components/dropdown/Dropdown.js +4 -2
  133. package/cjs/components/dropdown/style/dnb-dropdown.css +14 -14
  134. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  135. package/cjs/components/form-label/FormLabel.js +4 -2
  136. package/cjs/components/form-row/FormRow.js +9 -3
  137. package/cjs/components/form-row/style/_form-row.scss +4 -1
  138. package/cjs/components/form-row/style/dnb-form-row.css +4 -3
  139. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  140. package/cjs/components/form-set/FormSet.js +1 -1
  141. package/cjs/components/form-status/FormStatus.js +4 -2
  142. package/cjs/components/global-error/style/dnb-global-error.css +14 -14
  143. package/cjs/components/global-error/style/dnb-global-error.min.css +1 -1
  144. package/cjs/components/global-status/GlobalStatus.js +3 -3
  145. package/cjs/components/global-status/style/dnb-global-status.css +24 -38
  146. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  147. package/cjs/components/height-animation/HeightAnimation.d.ts +27 -0
  148. package/cjs/components/height-animation/HeightAnimation.js +86 -0
  149. package/cjs/components/height-animation/index.d.ts +3 -0
  150. package/cjs/components/height-animation/index.js +52 -0
  151. package/cjs/components/height-animation/style/_height-animation.scss +12 -0
  152. package/cjs/components/height-animation/style/dnb-height-animation.css +81 -0
  153. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -0
  154. package/cjs/components/height-animation/style/dnb-height-animation.scss +12 -0
  155. package/cjs/components/height-animation/style/index.d.ts +1 -0
  156. package/cjs/components/height-animation/style/index.js +3 -0
  157. package/cjs/components/height-animation/style.d.ts +1 -0
  158. package/cjs/components/height-animation/style.js +3 -0
  159. package/cjs/components/height-animation/useHeightAnimation.d.ts +40 -0
  160. package/cjs/components/height-animation/useHeightAnimation.js +245 -0
  161. package/cjs/components/help-button/HelpButton.d.ts +10 -236
  162. package/cjs/components/help-button/HelpButton.js +31 -124
  163. package/cjs/components/help-button/HelpButtonInstance.d.ts +5 -100
  164. package/cjs/components/help-button/HelpButtonInstance.js +54 -129
  165. package/cjs/components/help-button/style/dnb-help-button.css +14 -14
  166. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
  167. package/cjs/components/icon/Icon.js +5 -3
  168. package/cjs/components/icon-primary/IconPrimary.js +4 -2
  169. package/cjs/components/index.d.ts +2 -1
  170. package/cjs/components/index.js +8 -0
  171. package/cjs/components/info-card/InfoCard.d.ts +0 -2
  172. package/cjs/components/info-card/InfoCard.js +23 -25
  173. package/cjs/components/input/Input.js +5 -3
  174. package/cjs/components/input/InputPassword.js +4 -2
  175. package/cjs/components/input/style/dnb-input.css +28 -28
  176. package/cjs/components/input/style/dnb-input.min.css +1 -1
  177. package/cjs/components/input-masked/style/dnb-input-masked.css +28 -28
  178. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  179. package/cjs/components/lib.d.ts +27 -9
  180. package/cjs/components/lib.js +9 -0
  181. package/cjs/components/logo/Logo.d.ts +5 -0
  182. package/cjs/components/logo/Logo.js +8 -3
  183. package/cjs/components/logo/style/_logo.scss +3 -0
  184. package/cjs/components/logo/style/dnb-logo.css +2 -0
  185. package/cjs/components/logo/style/dnb-logo.min.css +1 -1
  186. package/cjs/components/modal/Modal.d.ts +1 -1
  187. package/cjs/components/modal/Modal.js +5 -2
  188. package/cjs/components/modal/ModalRoot.d.ts +1 -1
  189. package/cjs/components/modal/parts/CloseButton.js +1 -1
  190. package/cjs/components/modal/style/_modal.scss +1 -2
  191. package/cjs/components/modal/style/dnb-modal.css +22 -22
  192. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  193. package/cjs/components/number-format/NumberFormat.js +2 -2
  194. package/cjs/components/number-format/style/dnb-number-format.css +14 -14
  195. package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
  196. package/cjs/components/number-format/useNumberFormat.js +2 -2
  197. package/cjs/components/pagination/Pagination.d.ts +0 -6
  198. package/cjs/components/pagination/Pagination.js +3 -3
  199. package/cjs/components/pagination/PaginationInfinity.js +0 -26
  200. package/cjs/components/pagination/PaginationProvider.js +11 -5
  201. package/cjs/components/pagination/style/dnb-pagination.css +14 -14
  202. package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
  203. package/cjs/components/progress-indicator/ProgressIndicator.js +3 -1
  204. package/cjs/components/radio/Radio.js +5 -2
  205. package/cjs/components/radio/RadioGroup.js +3 -1
  206. package/cjs/components/section/Section.d.ts +30 -83
  207. package/cjs/components/section/Section.js +33 -123
  208. package/cjs/components/section/style/_section.scss +8 -25
  209. package/cjs/components/section/style/dnb-section.css +10 -24
  210. package/cjs/components/section/style/dnb-section.min.css +1 -1
  211. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +1 -5
  212. package/cjs/components/skeleton/Skeleton.js +1 -1
  213. package/cjs/components/slider/Slider.d.ts +3 -4
  214. package/cjs/components/slider/Slider.js +21 -0
  215. package/cjs/components/slider/SliderHelpers.d.ts +8 -6
  216. package/cjs/components/slider/SliderHelpers.js +28 -26
  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 +89 -36
  220. package/cjs/components/slider/SliderThumb.js +130 -66
  221. package/cjs/components/slider/SliderTrack.js +11 -12
  222. package/cjs/components/slider/hooks/useSliderEvents.d.ts +1 -3
  223. package/cjs/components/slider/hooks/useSliderEvents.js +24 -41
  224. package/cjs/components/slider/hooks/useSliderProps.d.ts +1 -1
  225. package/cjs/components/slider/style/_range.scss +6 -0
  226. package/cjs/components/slider/style/_slider.scss +9 -12
  227. package/cjs/components/slider/style/dnb-range.css +10 -0
  228. package/cjs/components/slider/style/dnb-range.scss +6 -0
  229. package/cjs/components/slider/style/dnb-slider.css +212 -28
  230. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  231. package/cjs/components/slider/style/dnb-slider.scss +1 -0
  232. package/cjs/components/slider/types.d.ts +40 -7
  233. package/cjs/components/space/Space.d.ts +3 -2
  234. package/cjs/components/space/Space.js +17 -22
  235. package/cjs/components/step-indicator/StepIndicatorContext.js +4 -2
  236. package/cjs/components/step-indicator/StepIndicatorSidebar.js +1 -1
  237. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
  238. package/cjs/components/step-indicator/style/dnb-step-indicator.css +14 -14
  239. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  240. package/cjs/components/switch/Switch.js +4 -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/tabs/style/themes/dnb-tabs-theme-eiendom.css +148 -0
  245. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -0
  246. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.scss +14 -0
  247. package/cjs/components/tag/Tag.d.ts +8 -1
  248. package/cjs/components/tag/Tag.js +8 -9
  249. package/cjs/components/tag/TagGroup.js +5 -7
  250. package/cjs/components/tag/style/dnb-tag.css +14 -14
  251. package/cjs/components/tag/style/dnb-tag.min.css +1 -1
  252. package/cjs/components/textarea/Textarea.js +4 -2
  253. package/cjs/components/timeline/Timeline.js +1 -3
  254. package/cjs/components/timeline/TimelineItem.js +2 -2
  255. package/cjs/components/toggle-button/ToggleButton.js +4 -1
  256. package/cjs/components/toggle-button/ToggleButtonGroup.js +3 -1
  257. package/cjs/components/toggle-button/style/dnb-toggle-button.css +14 -14
  258. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  259. package/cjs/components/tooltip/Tooltip.d.ts +8 -154
  260. package/cjs/components/tooltip/Tooltip.js +84 -166
  261. package/cjs/components/tooltip/TooltipContainer.d.ts +15 -68
  262. package/cjs/components/tooltip/TooltipContainer.js +207 -323
  263. package/cjs/components/tooltip/TooltipHelpers.d.ts +31 -1
  264. package/cjs/components/tooltip/TooltipHelpers.js +85 -1
  265. package/cjs/components/tooltip/TooltipPortal.d.ts +13 -31
  266. package/cjs/components/tooltip/TooltipPortal.js +152 -206
  267. package/cjs/components/tooltip/TooltipWithEvents.d.ts +11 -35
  268. package/cjs/components/tooltip/TooltipWithEvents.js +159 -195
  269. package/cjs/components/tooltip/style/_tooltip.scss +8 -7
  270. package/cjs/components/tooltip/style/dnb-tooltip.css +14 -14
  271. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  272. package/cjs/components/tooltip/types.d.ts +28 -0
  273. package/cjs/components/tooltip/types.js +1 -0
  274. package/cjs/components/visually-hidden/VisuallyHidden.d.ts +2 -3
  275. package/cjs/components/visually-hidden/VisuallyHidden.js +2 -20
  276. package/cjs/elements/Anchor.d.ts +3 -1
  277. package/cjs/elements/Anchor.js +3 -5
  278. package/cjs/elements/Dd.d.ts +10 -26
  279. package/cjs/elements/Dd.js +0 -31
  280. package/cjs/elements/Dl.d.ts +19 -26
  281. package/cjs/elements/Dl.js +24 -26
  282. package/cjs/elements/Dt.d.ts +10 -26
  283. package/cjs/elements/Dt.js +0 -31
  284. package/cjs/elements/Element.js +1 -3
  285. package/cjs/elements/Link.d.ts +3 -1
  286. package/cjs/elements/lib.d.ts +18 -5
  287. package/cjs/extensions/payment-card/PaymentCard.js +2 -2
  288. package/cjs/fragments/drawer-list/DrawerList.js +3 -1
  289. package/cjs/fragments/drawer-list/style/_drawer-list.scss +1 -1
  290. package/cjs/fragments/lib.d.ts +8 -1
  291. package/cjs/fragments/scroll-view/ScrollView.d.ts +13 -6
  292. package/cjs/fragments/scroll-view/ScrollView.js +29 -99
  293. package/cjs/icons/add.js +5 -2
  294. package/cjs/icons/add_circled.js +5 -2
  295. package/cjs/icons/add_circled_medium.js +5 -2
  296. package/cjs/icons/add_medium.js +5 -2
  297. package/cjs/icons/boat.js +10 -3
  298. package/cjs/icons/boat_medium.js +10 -3
  299. package/cjs/icons/calculator.js +10 -3
  300. package/cjs/icons/card.js +4 -2
  301. package/cjs/icons/card_medium.js +4 -2
  302. package/cjs/icons/cat_medium.js +10 -3
  303. package/cjs/icons/chatbot.js +5 -2
  304. package/cjs/icons/chatbot_medium.js +5 -2
  305. package/cjs/icons/chip.js +10 -3
  306. package/cjs/icons/chip_medium.js +10 -3
  307. package/cjs/icons/cloud_download.js +10 -3
  308. package/cjs/icons/cloud_download_medium.js +10 -3
  309. package/cjs/icons/cloud_rain.js +10 -3
  310. package/cjs/icons/cloud_rain_medium.js +10 -3
  311. package/cjs/icons/cloud_sync.js +10 -3
  312. package/cjs/icons/cloud_sync_medium.js +10 -3
  313. package/cjs/icons/cloud_transfer.js +10 -3
  314. package/cjs/icons/cloud_transfer_medium.js +10 -3
  315. package/cjs/icons/cloud_upload.js +10 -3
  316. package/cjs/icons/cloud_upload_medium.js +10 -3
  317. package/cjs/icons/cookie.js +10 -3
  318. package/cjs/icons/cookie_medium.js +10 -3
  319. package/cjs/icons/diamond.js +10 -3
  320. package/cjs/icons/dog.js +10 -3
  321. package/cjs/icons/dog_medium.js +10 -3
  322. package/cjs/icons/exclamation_circled.js +5 -2
  323. package/cjs/icons/exclamation_circled_medium.js +5 -2
  324. package/cjs/icons/file_jpg.d.ts +2 -0
  325. package/cjs/icons/file_jpg.js +32 -0
  326. package/cjs/icons/file_jpg_medium.d.ts +2 -0
  327. package/cjs/icons/file_jpg_medium.js +38 -0
  328. package/cjs/icons/file_png.d.ts +2 -0
  329. package/cjs/icons/file_png.js +32 -0
  330. package/cjs/icons/file_png_medium.d.ts +2 -0
  331. package/cjs/icons/file_png_medium.js +38 -0
  332. package/cjs/icons/fish.d.ts +2 -0
  333. package/cjs/icons/fish.js +40 -0
  334. package/cjs/icons/fish_medium.d.ts +2 -0
  335. package/cjs/icons/fish_medium.js +40 -0
  336. package/cjs/icons/hourglass.js +10 -3
  337. package/cjs/icons/icons-meta.json +71 -1
  338. package/cjs/icons/icons-pdf.lock +1098 -968
  339. package/cjs/icons/icons-svg.lock +1098 -968
  340. package/cjs/icons/index.d.ts +11 -1
  341. package/cjs/icons/index.js +80 -0
  342. package/cjs/icons/instagram.js +10 -3
  343. package/cjs/icons/linkedin.js +10 -3
  344. package/cjs/icons/linkedin_medium.js +10 -3
  345. package/cjs/icons/loupe.js +4 -2
  346. package/cjs/icons/loupe_medium.js +4 -2
  347. package/cjs/icons/mastercard_card.js +4 -2
  348. package/cjs/icons/mastercard_card_medium.js +4 -2
  349. package/cjs/icons/news.js +10 -3
  350. package/cjs/icons/news_medium.js +10 -3
  351. package/cjs/icons/newspaper.d.ts +2 -0
  352. package/cjs/icons/newspaper.js +35 -0
  353. package/cjs/icons/newspaper_medium.d.ts +2 -0
  354. package/cjs/icons/newspaper_medium.js +35 -0
  355. package/cjs/icons/phone.js +10 -3
  356. package/cjs/icons/phone_medium.js +10 -3
  357. package/cjs/icons/photo.js +10 -3
  358. package/cjs/icons/photo_medium.js +10 -3
  359. package/cjs/icons/pin.js +10 -3
  360. package/cjs/icons/pin_medium.js +10 -3
  361. package/cjs/icons/play.js +10 -3
  362. package/cjs/icons/savings_account.js +5 -2
  363. package/cjs/icons/secondary_icons.d.ts +6 -1
  364. package/cjs/icons/secondary_icons.js +40 -0
  365. package/cjs/icons/secondary_icons_medium.d.ts +6 -1
  366. package/cjs/icons/secondary_icons_medium.js +40 -0
  367. package/cjs/icons/sort.d.ts +2 -0
  368. package/cjs/icons/sort.js +35 -0
  369. package/cjs/icons/sort_medium.d.ts +2 -0
  370. package/cjs/icons/sort_medium.js +35 -0
  371. package/cjs/icons/subtract.js +5 -2
  372. package/cjs/icons/subtract_circled.js +5 -2
  373. package/cjs/icons/subtract_circled_medium.js +5 -2
  374. package/cjs/icons/subtract_medium.js +5 -2
  375. package/cjs/icons/tag.js +13 -10
  376. package/cjs/icons/tag_medium.js +13 -10
  377. package/cjs/icons/thumbs_down.js +10 -3
  378. package/cjs/icons/thumbs_up.js +10 -3
  379. package/cjs/icons/video.js +10 -3
  380. package/cjs/icons/video_medium.js +10 -3
  381. package/cjs/icons/wallet_medium.js +4 -2
  382. package/cjs/index.d.ts +2 -1
  383. package/cjs/index.js +8 -0
  384. package/cjs/shared/AnimateHeight.d.ts +46 -32
  385. package/cjs/shared/AnimateHeight.js +104 -66
  386. package/cjs/shared/Context.d.ts +9 -3
  387. package/cjs/shared/Eufemia.js +1 -1
  388. package/cjs/shared/MediaQueryUtils.d.ts +5 -1
  389. package/cjs/shared/MediaQueryUtils.js +5 -3
  390. package/cjs/shared/component-helper.d.ts +7 -18
  391. package/cjs/shared/component-helper.js +55 -260
  392. package/cjs/shared/helpers/EventEmitter.d.ts +46 -0
  393. package/cjs/shared/{EventEmitter.js → helpers/EventEmitter.js} +31 -26
  394. package/cjs/shared/helpers/InteractionInvalidation.d.ts +30 -0
  395. package/cjs/shared/helpers/InteractionInvalidation.js +256 -0
  396. package/{shared/hooks/usePropsWithContext.d.ts → cjs/shared/helpers/extendPropsWithContext.d.ts} +2 -3
  397. package/cjs/shared/{hooks/usePropsWithContext.js → helpers/extendPropsWithContext.js} +36 -15
  398. package/cjs/shared/helpers/filterValidProps.d.ts +1 -1
  399. package/cjs/shared/helpers/filterValidProps.js +1 -1
  400. package/cjs/shared/helpers/getPreviousSibling.d.ts +10 -0
  401. package/cjs/shared/helpers/getPreviousSibling.js +47 -0
  402. package/cjs/shared/helpers/useEventEmitter.d.ts +14 -0
  403. package/cjs/shared/helpers/useEventEmitter.js +92 -0
  404. package/cjs/shared/helpers/withCamelCaseProps.js +7 -0
  405. package/cjs/shared/helpers.d.ts +2 -0
  406. package/cjs/shared/interfaces.d.ts +6 -4
  407. package/cjs/shared/locales/en-GB.d.ts +3 -0
  408. package/cjs/shared/locales/en-GB.js +3 -0
  409. package/cjs/shared/locales/en-US.d.ts +3 -0
  410. package/cjs/shared/locales/index.d.ts +6 -0
  411. package/cjs/shared/locales/nb-NO.d.ts +3 -0
  412. package/cjs/shared/locales/nb-NO.js +3 -0
  413. package/cjs/shared/useMediaQuery.js +19 -12
  414. package/cjs/style/core/helper-classes/helper-classes.scss +4 -0
  415. package/cjs/style/dnb-ui-basis.css +3 -0
  416. package/cjs/style/dnb-ui-basis.min.css +1 -1
  417. package/cjs/style/dnb-ui-components.css +113 -91
  418. package/cjs/style/dnb-ui-components.min.css +5 -5
  419. package/cjs/style/dnb-ui-components.scss +1 -0
  420. package/cjs/style/dnb-ui-core.css +3 -0
  421. package/cjs/style/dnb-ui-core.min.css +1 -1
  422. package/cjs/style/dnb-ui-elements.css +25 -4
  423. package/cjs/style/dnb-ui-elements.min.css +1 -1
  424. package/cjs/style/dnb-ui-fragments.css +1 -1
  425. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  426. package/cjs/style/dnb-ui-tags.css +50 -8
  427. package/cjs/style/dnb-ui-tags.min.css +1 -1
  428. package/cjs/style/elements/lists.scss +27 -5
  429. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +300 -113
  430. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +8 -8
  431. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.scss +1 -0
  432. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +129 -111
  433. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +5 -5
  434. package/components/HeightAnimation.d.ts +3 -0
  435. package/components/HeightAnimation.js +3 -0
  436. package/components/accordion/Accordion.js +3 -3
  437. package/components/accordion/AccordionHeader.js +2 -2
  438. package/components/accordion/AccordionProvider.js +3 -2
  439. package/components/accordion/style/_accordion.scss +14 -15
  440. package/components/accordion/style/dnb-accordion.css +9 -6
  441. package/components/accordion/style/dnb-accordion.min.css +1 -1
  442. package/components/accordion/style/themes/dnb-accordion-theme-ui.css +102 -95
  443. package/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +3 -3
  444. package/components/accordion/style/themes/dnb-accordion-theme-ui.scss +37 -37
  445. package/components/autocomplete/Autocomplete.d.ts +0 -10
  446. package/components/autocomplete/Autocomplete.js +3 -5
  447. package/components/autocomplete/style/_autocomplete.scss +2 -2
  448. package/components/autocomplete/style/dnb-autocomplete.css +46 -46
  449. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  450. package/components/avatar/Avatar.d.ts +3 -1
  451. package/components/avatar/Avatar.js +2 -3
  452. package/components/avatar/AvatarGroup.js +9 -10
  453. package/components/avatar/style/themes/dnb-avatar-theme-ui.css +0 -10
  454. package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  455. package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +0 -8
  456. package/components/badge/Badge.js +2 -16
  457. package/components/breadcrumb/Breadcrumb.d.ts +10 -4
  458. package/components/breadcrumb/Breadcrumb.js +26 -27
  459. package/components/breadcrumb/BreadcrumbItem.d.ts +1 -0
  460. package/components/breadcrumb/BreadcrumbItem.js +13 -11
  461. package/components/breadcrumb/BreadcrumbMultiple.d.ts +10 -0
  462. package/components/breadcrumb/BreadcrumbMultiple.js +31 -0
  463. package/components/breadcrumb/style/_breadcrumb.scss +25 -12
  464. package/components/breadcrumb/style/dnb-breadcrumb.css +933 -17
  465. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  466. package/components/breadcrumb/style/dnb-breadcrumb.scss +4 -0
  467. package/components/button/Button.d.ts +6 -8
  468. package/components/button/Button.js +5 -4
  469. package/components/button/style/dnb-button.css +14 -14
  470. package/components/button/style/dnb-button.min.css +1 -1
  471. package/components/button/style/themes/dnb-button-theme-eiendom.css +22 -2
  472. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +3 -3
  473. package/components/button/style/themes/dnb-button-theme-eiendom.scss +8 -0
  474. package/components/button/style/themes/dnb-button-theme-ui.css +2 -2
  475. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  476. package/components/button/style/themes/dnb-button-theme-ui.scss +2 -2
  477. package/components/checkbox/Checkbox.js +4 -3
  478. package/components/date-picker/DatePicker.js +4 -3
  479. package/components/date-picker/style/dnb-date-picker.css +56 -56
  480. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  481. package/components/dialog/Dialog.js +2 -2
  482. package/components/dialog/parts/DialogBody.d.ts +2 -1
  483. package/components/dialog/style/_dialog.scss +1 -1
  484. package/components/dialog/style/dnb-dialog.css +26 -26
  485. package/components/dialog/style/dnb-dialog.min.css +1 -1
  486. package/components/drawer/DrawerContent.d.ts +1 -1
  487. package/components/drawer/DrawerContent.js +2 -4
  488. package/components/drawer/parts/DrawerBody.d.ts +2 -1
  489. package/components/drawer/style/dnb-drawer.css +22 -22
  490. package/components/drawer/style/dnb-drawer.min.css +1 -1
  491. package/components/dropdown/Dropdown.d.ts +0 -4
  492. package/components/dropdown/Dropdown.js +4 -3
  493. package/components/dropdown/style/dnb-dropdown.css +14 -14
  494. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  495. package/components/form-label/FormLabel.js +4 -3
  496. package/components/form-row/FormRow.js +9 -4
  497. package/components/form-row/style/_form-row.scss +4 -1
  498. package/components/form-row/style/dnb-form-row.css +4 -3
  499. package/components/form-row/style/dnb-form-row.min.css +1 -1
  500. package/components/form-set/FormSet.js +2 -2
  501. package/components/form-status/FormStatus.js +4 -3
  502. package/components/global-error/style/dnb-global-error.css +14 -14
  503. package/components/global-error/style/dnb-global-error.min.css +1 -1
  504. package/components/global-status/GlobalStatus.js +4 -4
  505. package/components/global-status/style/dnb-global-status.css +24 -38
  506. package/components/global-status/style/dnb-global-status.min.css +1 -1
  507. package/components/height-animation/HeightAnimation.d.ts +27 -0
  508. package/components/height-animation/HeightAnimation.js +60 -0
  509. package/components/height-animation/index.d.ts +3 -0
  510. package/components/height-animation/index.js +3 -0
  511. package/components/height-animation/style/_height-animation.scss +12 -0
  512. package/components/height-animation/style/dnb-height-animation.css +81 -0
  513. package/components/height-animation/style/dnb-height-animation.min.css +1 -0
  514. package/components/height-animation/style/dnb-height-animation.scss +12 -0
  515. package/components/height-animation/style/index.d.ts +1 -0
  516. package/components/height-animation/style/index.js +1 -0
  517. package/components/height-animation/style.d.ts +1 -0
  518. package/components/height-animation/style.js +1 -0
  519. package/components/height-animation/useHeightAnimation.d.ts +40 -0
  520. package/components/height-animation/useHeightAnimation.js +196 -0
  521. package/components/help-button/HelpButton.d.ts +10 -236
  522. package/components/help-button/HelpButton.js +30 -94
  523. package/components/help-button/HelpButtonInstance.d.ts +5 -100
  524. package/components/help-button/HelpButtonInstance.js +56 -101
  525. package/components/help-button/style/dnb-help-button.css +14 -14
  526. package/components/help-button/style/dnb-help-button.min.css +1 -1
  527. package/components/icon/Icon.js +5 -4
  528. package/components/icon-primary/IconPrimary.js +4 -3
  529. package/components/index.d.ts +2 -1
  530. package/components/index.js +2 -1
  531. package/components/info-card/InfoCard.d.ts +0 -2
  532. package/components/info-card/InfoCard.js +20 -22
  533. package/components/input/Input.js +5 -4
  534. package/components/input/InputPassword.js +4 -3
  535. package/components/input/style/dnb-input.css +28 -28
  536. package/components/input/style/dnb-input.min.css +1 -1
  537. package/components/input-masked/style/dnb-input-masked.css +28 -28
  538. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  539. package/components/lib.d.ts +27 -9
  540. package/components/lib.js +3 -1
  541. package/components/logo/Logo.d.ts +5 -0
  542. package/components/logo/Logo.js +8 -4
  543. package/components/logo/style/_logo.scss +3 -0
  544. package/components/logo/style/dnb-logo.css +2 -0
  545. package/components/logo/style/dnb-logo.min.css +1 -1
  546. package/components/modal/Modal.d.ts +1 -1
  547. package/components/modal/Modal.js +5 -3
  548. package/components/modal/ModalRoot.d.ts +1 -1
  549. package/components/modal/parts/CloseButton.js +2 -2
  550. package/components/modal/style/_modal.scss +1 -2
  551. package/components/modal/style/dnb-modal.css +22 -22
  552. package/components/modal/style/dnb-modal.min.css +1 -1
  553. package/components/number-format/NumberFormat.js +3 -3
  554. package/components/number-format/style/dnb-number-format.css +14 -14
  555. package/components/number-format/style/dnb-number-format.min.css +1 -1
  556. package/components/number-format/useNumberFormat.js +2 -2
  557. package/components/pagination/Pagination.d.ts +0 -6
  558. package/components/pagination/Pagination.js +3 -4
  559. package/components/pagination/PaginationInfinity.js +0 -26
  560. package/components/pagination/PaginationProvider.js +11 -5
  561. package/components/pagination/style/dnb-pagination.css +14 -14
  562. package/components/pagination/style/dnb-pagination.min.css +1 -1
  563. package/components/progress-indicator/ProgressIndicator.js +3 -2
  564. package/components/radio/Radio.js +5 -3
  565. package/components/radio/RadioGroup.js +3 -2
  566. package/components/section/Section.d.ts +30 -83
  567. package/components/section/Section.js +36 -99
  568. package/components/section/style/_section.scss +8 -25
  569. package/components/section/style/dnb-section.css +10 -24
  570. package/components/section/style/dnb-section.min.css +1 -1
  571. package/components/section/style/themes/dnb-section-theme-ui.scss +1 -5
  572. package/components/skeleton/Skeleton.js +2 -2
  573. package/components/slider/Slider.d.ts +3 -4
  574. package/components/slider/Slider.js +1 -0
  575. package/components/slider/SliderHelpers.d.ts +8 -6
  576. package/components/slider/SliderHelpers.js +26 -21
  577. package/components/slider/SliderInstance.js +8 -7
  578. package/components/slider/SliderProvider.d.ts +2 -2
  579. package/components/slider/SliderProvider.js +92 -38
  580. package/components/slider/SliderThumb.js +107 -68
  581. package/components/slider/SliderTrack.js +13 -14
  582. package/components/slider/hooks/useSliderEvents.d.ts +1 -3
  583. package/components/slider/hooks/useSliderEvents.js +24 -41
  584. package/components/slider/hooks/useSliderProps.d.ts +1 -1
  585. package/components/slider/style/_range.scss +6 -0
  586. package/components/slider/style/_slider.scss +9 -12
  587. package/components/slider/style/dnb-range.css +10 -0
  588. package/components/slider/style/dnb-range.scss +6 -0
  589. package/components/slider/style/dnb-slider.css +212 -28
  590. package/components/slider/style/dnb-slider.min.css +1 -1
  591. package/components/slider/style/dnb-slider.scss +1 -0
  592. package/components/slider/types.d.ts +40 -7
  593. package/components/space/Space.d.ts +3 -2
  594. package/components/space/Space.js +18 -23
  595. package/components/step-indicator/StepIndicatorContext.js +4 -3
  596. package/components/step-indicator/StepIndicatorSidebar.js +2 -2
  597. package/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
  598. package/components/step-indicator/style/dnb-step-indicator.css +14 -14
  599. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  600. package/components/switch/Switch.js +4 -3
  601. package/components/table/Table.js +2 -3
  602. package/components/tabs/Tabs.js +3 -3
  603. package/components/tabs/TabsContentWrapper.js +1 -1
  604. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +148 -0
  605. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -0
  606. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.scss +14 -0
  607. package/components/tag/Tag.d.ts +8 -1
  608. package/components/tag/Tag.js +9 -9
  609. package/components/tag/TagGroup.js +6 -7
  610. package/components/tag/style/dnb-tag.css +14 -14
  611. package/components/tag/style/dnb-tag.min.css +1 -1
  612. package/components/textarea/Textarea.js +4 -3
  613. package/components/timeline/Timeline.js +2 -3
  614. package/components/timeline/TimelineItem.js +2 -2
  615. package/components/toggle-button/ToggleButton.js +4 -2
  616. package/components/toggle-button/ToggleButtonGroup.js +3 -2
  617. package/components/toggle-button/style/dnb-toggle-button.css +14 -14
  618. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  619. package/components/tooltip/Tooltip.d.ts +8 -154
  620. package/components/tooltip/Tooltip.js +63 -150
  621. package/components/tooltip/TooltipContainer.d.ts +15 -68
  622. package/components/tooltip/TooltipContainer.js +188 -313
  623. package/components/tooltip/TooltipHelpers.d.ts +31 -1
  624. package/components/tooltip/TooltipHelpers.js +67 -1
  625. package/components/tooltip/TooltipPortal.d.ts +13 -31
  626. package/components/tooltip/TooltipPortal.js +139 -200
  627. package/components/tooltip/TooltipWithEvents.d.ts +11 -35
  628. package/components/tooltip/TooltipWithEvents.js +148 -191
  629. package/components/tooltip/style/_tooltip.scss +8 -7
  630. package/components/tooltip/style/dnb-tooltip.css +14 -14
  631. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  632. package/components/tooltip/types.d.ts +28 -0
  633. package/components/tooltip/types.js +1 -0
  634. package/components/visually-hidden/VisuallyHidden.d.ts +2 -3
  635. package/components/visually-hidden/VisuallyHidden.js +2 -17
  636. package/elements/Anchor.d.ts +3 -1
  637. package/elements/Anchor.js +4 -5
  638. package/elements/Dd.d.ts +10 -26
  639. package/elements/Dd.js +0 -22
  640. package/elements/Dl.d.ts +19 -26
  641. package/elements/Dl.js +19 -23
  642. package/elements/Dt.d.ts +10 -26
  643. package/elements/Dt.js +0 -22
  644. package/elements/Element.js +2 -3
  645. package/elements/Link.d.ts +3 -1
  646. package/elements/lib.d.ts +18 -5
  647. package/es/components/HeightAnimation.d.ts +3 -0
  648. package/es/components/HeightAnimation.js +3 -0
  649. package/es/components/accordion/Accordion.js +3 -3
  650. package/es/components/accordion/AccordionHeader.js +2 -2
  651. package/es/components/accordion/AccordionProvider.js +3 -2
  652. package/es/components/accordion/style/_accordion.scss +14 -15
  653. package/es/components/accordion/style/dnb-accordion.css +9 -6
  654. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  655. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.css +102 -95
  656. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +3 -3
  657. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.scss +37 -37
  658. package/es/components/autocomplete/Autocomplete.d.ts +0 -10
  659. package/es/components/autocomplete/Autocomplete.js +3 -5
  660. package/es/components/autocomplete/style/_autocomplete.scss +2 -2
  661. package/es/components/autocomplete/style/dnb-autocomplete.css +46 -46
  662. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  663. package/es/components/avatar/Avatar.d.ts +3 -1
  664. package/es/components/avatar/Avatar.js +2 -3
  665. package/es/components/avatar/AvatarGroup.js +4 -5
  666. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +0 -10
  667. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  668. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +0 -8
  669. package/es/components/badge/Badge.js +2 -9
  670. package/es/components/breadcrumb/Breadcrumb.d.ts +10 -4
  671. package/es/components/breadcrumb/Breadcrumb.js +26 -22
  672. package/es/components/breadcrumb/BreadcrumbItem.d.ts +1 -0
  673. package/es/components/breadcrumb/BreadcrumbItem.js +9 -7
  674. package/es/components/breadcrumb/BreadcrumbMultiple.d.ts +10 -0
  675. package/es/components/breadcrumb/BreadcrumbMultiple.js +31 -0
  676. package/es/components/breadcrumb/style/_breadcrumb.scss +25 -12
  677. package/es/components/breadcrumb/style/dnb-breadcrumb.css +933 -17
  678. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  679. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +4 -0
  680. package/es/components/button/Button.d.ts +6 -8
  681. package/es/components/button/Button.js +5 -4
  682. package/es/components/button/style/dnb-button.css +14 -14
  683. package/es/components/button/style/dnb-button.min.css +1 -1
  684. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +22 -2
  685. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +3 -3
  686. package/es/components/button/style/themes/dnb-button-theme-eiendom.scss +8 -0
  687. package/es/components/button/style/themes/dnb-button-theme-ui.css +2 -2
  688. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  689. package/es/components/button/style/themes/dnb-button-theme-ui.scss +2 -2
  690. package/es/components/checkbox/Checkbox.js +4 -3
  691. package/es/components/date-picker/DatePicker.js +4 -3
  692. package/es/components/date-picker/style/dnb-date-picker.css +56 -56
  693. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  694. package/es/components/dialog/Dialog.js +2 -2
  695. package/es/components/dialog/parts/DialogBody.d.ts +2 -1
  696. package/es/components/dialog/style/_dialog.scss +1 -1
  697. package/es/components/dialog/style/dnb-dialog.css +26 -26
  698. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  699. package/es/components/drawer/DrawerContent.d.ts +1 -1
  700. package/es/components/drawer/DrawerContent.js +2 -3
  701. package/es/components/drawer/parts/DrawerBody.d.ts +2 -1
  702. package/es/components/drawer/style/dnb-drawer.css +22 -22
  703. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  704. package/es/components/dropdown/Dropdown.d.ts +0 -4
  705. package/es/components/dropdown/Dropdown.js +4 -3
  706. package/es/components/dropdown/style/dnb-dropdown.css +14 -14
  707. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  708. package/es/components/form-label/FormLabel.js +4 -3
  709. package/es/components/form-row/FormRow.js +9 -4
  710. package/es/components/form-row/style/_form-row.scss +4 -1
  711. package/es/components/form-row/style/dnb-form-row.css +4 -3
  712. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  713. package/es/components/form-set/FormSet.js +2 -2
  714. package/es/components/form-status/FormStatus.js +4 -3
  715. package/es/components/global-error/style/dnb-global-error.css +14 -14
  716. package/es/components/global-error/style/dnb-global-error.min.css +1 -1
  717. package/es/components/global-status/GlobalStatus.js +4 -4
  718. package/es/components/global-status/style/dnb-global-status.css +24 -38
  719. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  720. package/es/components/height-animation/HeightAnimation.d.ts +27 -0
  721. package/es/components/height-animation/HeightAnimation.js +56 -0
  722. package/es/components/height-animation/index.d.ts +3 -0
  723. package/es/components/height-animation/index.js +3 -0
  724. package/es/components/height-animation/style/_height-animation.scss +12 -0
  725. package/es/components/height-animation/style/dnb-height-animation.css +81 -0
  726. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -0
  727. package/es/components/height-animation/style/dnb-height-animation.scss +12 -0
  728. package/es/components/height-animation/style/index.d.ts +1 -0
  729. package/es/components/height-animation/style/index.js +1 -0
  730. package/es/components/height-animation/style.d.ts +1 -0
  731. package/es/components/height-animation/style.js +1 -0
  732. package/es/components/height-animation/useHeightAnimation.d.ts +40 -0
  733. package/es/components/height-animation/useHeightAnimation.js +168 -0
  734. package/es/components/help-button/HelpButton.d.ts +10 -236
  735. package/es/components/help-button/HelpButton.js +28 -57
  736. package/es/components/help-button/HelpButtonInstance.d.ts +5 -100
  737. package/es/components/help-button/HelpButtonInstance.js +55 -74
  738. package/es/components/help-button/style/dnb-help-button.css +14 -14
  739. package/es/components/help-button/style/dnb-help-button.min.css +1 -1
  740. package/es/components/icon/Icon.js +5 -4
  741. package/es/components/icon-primary/IconPrimary.js +4 -3
  742. package/es/components/index.d.ts +2 -1
  743. package/es/components/index.js +2 -1
  744. package/es/components/info-card/InfoCard.d.ts +0 -2
  745. package/es/components/info-card/InfoCard.js +6 -8
  746. package/es/components/input/Input.js +5 -4
  747. package/es/components/input/InputPassword.js +4 -3
  748. package/es/components/input/style/dnb-input.css +28 -28
  749. package/es/components/input/style/dnb-input.min.css +1 -1
  750. package/es/components/input-masked/style/dnb-input-masked.css +28 -28
  751. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  752. package/es/components/lib.d.ts +27 -9
  753. package/es/components/lib.js +3 -1
  754. package/es/components/logo/Logo.d.ts +5 -0
  755. package/es/components/logo/Logo.js +8 -4
  756. package/es/components/logo/style/_logo.scss +3 -0
  757. package/es/components/logo/style/dnb-logo.css +2 -0
  758. package/es/components/logo/style/dnb-logo.min.css +1 -1
  759. package/es/components/modal/Modal.d.ts +1 -1
  760. package/es/components/modal/Modal.js +5 -3
  761. package/es/components/modal/ModalRoot.d.ts +1 -1
  762. package/es/components/modal/parts/CloseButton.js +2 -2
  763. package/es/components/modal/style/_modal.scss +1 -2
  764. package/es/components/modal/style/dnb-modal.css +22 -22
  765. package/es/components/modal/style/dnb-modal.min.css +1 -1
  766. package/es/components/number-format/NumberFormat.js +3 -3
  767. package/es/components/number-format/style/dnb-number-format.css +14 -14
  768. package/es/components/number-format/style/dnb-number-format.min.css +1 -1
  769. package/es/components/number-format/useNumberFormat.js +2 -2
  770. package/es/components/pagination/Pagination.d.ts +0 -6
  771. package/es/components/pagination/Pagination.js +3 -4
  772. package/es/components/pagination/PaginationInfinity.js +0 -26
  773. package/es/components/pagination/PaginationProvider.js +11 -5
  774. package/es/components/pagination/style/dnb-pagination.css +14 -14
  775. package/es/components/pagination/style/dnb-pagination.min.css +1 -1
  776. package/es/components/progress-indicator/ProgressIndicator.js +3 -2
  777. package/es/components/radio/Radio.js +5 -3
  778. package/es/components/radio/RadioGroup.js +3 -2
  779. package/es/components/section/Section.d.ts +30 -83
  780. package/es/components/section/Section.js +35 -70
  781. package/es/components/section/style/_section.scss +8 -25
  782. package/es/components/section/style/dnb-section.css +10 -24
  783. package/es/components/section/style/dnb-section.min.css +1 -1
  784. package/es/components/section/style/themes/dnb-section-theme-ui.scss +1 -5
  785. package/es/components/skeleton/Skeleton.js +2 -2
  786. package/es/components/slider/Slider.d.ts +3 -4
  787. package/es/components/slider/Slider.js +1 -0
  788. package/es/components/slider/SliderHelpers.d.ts +8 -6
  789. package/es/components/slider/SliderHelpers.js +26 -18
  790. package/es/components/slider/SliderInstance.js +8 -7
  791. package/es/components/slider/SliderProvider.d.ts +2 -2
  792. package/es/components/slider/SliderProvider.js +71 -26
  793. package/es/components/slider/SliderThumb.js +100 -59
  794. package/es/components/slider/SliderTrack.js +13 -14
  795. package/es/components/slider/hooks/useSliderEvents.d.ts +1 -3
  796. package/es/components/slider/hooks/useSliderEvents.js +24 -37
  797. package/es/components/slider/hooks/useSliderProps.d.ts +1 -1
  798. package/es/components/slider/style/_range.scss +6 -0
  799. package/es/components/slider/style/_slider.scss +9 -12
  800. package/es/components/slider/style/dnb-range.css +10 -0
  801. package/es/components/slider/style/dnb-range.scss +6 -0
  802. package/es/components/slider/style/dnb-slider.css +212 -28
  803. package/es/components/slider/style/dnb-slider.min.css +1 -1
  804. package/es/components/slider/style/dnb-slider.scss +1 -0
  805. package/es/components/slider/types.d.ts +40 -7
  806. package/es/components/space/Space.d.ts +3 -2
  807. package/es/components/space/Space.js +20 -25
  808. package/es/components/step-indicator/StepIndicatorContext.js +4 -3
  809. package/es/components/step-indicator/StepIndicatorSidebar.js +2 -2
  810. package/es/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
  811. package/es/components/step-indicator/style/dnb-step-indicator.css +14 -14
  812. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  813. package/es/components/switch/Switch.js +4 -3
  814. package/es/components/table/Table.js +2 -3
  815. package/es/components/tabs/Tabs.js +3 -3
  816. package/es/components/tabs/TabsContentWrapper.js +1 -1
  817. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +148 -0
  818. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -0
  819. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.scss +14 -0
  820. package/es/components/tag/Tag.d.ts +8 -1
  821. package/es/components/tag/Tag.js +10 -10
  822. package/es/components/tag/TagGroup.js +4 -5
  823. package/es/components/tag/style/dnb-tag.css +14 -14
  824. package/es/components/tag/style/dnb-tag.min.css +1 -1
  825. package/es/components/textarea/Textarea.js +4 -3
  826. package/es/components/timeline/Timeline.js +2 -3
  827. package/es/components/timeline/TimelineItem.js +2 -2
  828. package/es/components/toggle-button/ToggleButton.js +4 -2
  829. package/es/components/toggle-button/ToggleButtonGroup.js +3 -2
  830. package/es/components/toggle-button/style/dnb-toggle-button.css +14 -14
  831. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  832. package/es/components/tooltip/Tooltip.d.ts +8 -154
  833. package/es/components/tooltip/Tooltip.js +57 -122
  834. package/es/components/tooltip/TooltipContainer.d.ts +15 -68
  835. package/es/components/tooltip/TooltipContainer.js +162 -262
  836. package/es/components/tooltip/TooltipHelpers.d.ts +31 -1
  837. package/es/components/tooltip/TooltipHelpers.js +66 -1
  838. package/es/components/tooltip/TooltipPortal.d.ts +13 -31
  839. package/es/components/tooltip/TooltipPortal.js +122 -163
  840. package/es/components/tooltip/TooltipWithEvents.d.ts +11 -35
  841. package/es/components/tooltip/TooltipWithEvents.js +126 -150
  842. package/es/components/tooltip/style/_tooltip.scss +8 -7
  843. package/es/components/tooltip/style/dnb-tooltip.css +14 -14
  844. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  845. package/es/components/tooltip/types.d.ts +28 -0
  846. package/es/components/tooltip/types.js +1 -0
  847. package/es/components/visually-hidden/VisuallyHidden.d.ts +2 -3
  848. package/es/components/visually-hidden/VisuallyHidden.js +2 -10
  849. package/es/elements/Anchor.d.ts +3 -1
  850. package/es/elements/Anchor.js +4 -5
  851. package/es/elements/Dd.d.ts +10 -26
  852. package/es/elements/Dd.js +0 -15
  853. package/es/elements/Dl.d.ts +19 -26
  854. package/es/elements/Dl.js +27 -19
  855. package/es/elements/Dt.d.ts +10 -26
  856. package/es/elements/Dt.js +0 -15
  857. package/es/elements/Element.js +2 -3
  858. package/es/elements/Link.d.ts +3 -1
  859. package/es/elements/lib.d.ts +18 -5
  860. package/es/extensions/payment-card/PaymentCard.js +3 -3
  861. package/es/fragments/drawer-list/DrawerList.js +3 -2
  862. package/es/fragments/drawer-list/style/_drawer-list.scss +1 -1
  863. package/es/fragments/lib.d.ts +8 -1
  864. package/es/fragments/scroll-view/ScrollView.d.ts +13 -6
  865. package/es/fragments/scroll-view/ScrollView.js +30 -52
  866. package/es/icons/add.js +5 -2
  867. package/es/icons/add_circled.js +5 -2
  868. package/es/icons/add_circled_medium.js +5 -2
  869. package/es/icons/add_medium.js +5 -2
  870. package/es/icons/boat.js +10 -3
  871. package/es/icons/boat_medium.js +10 -3
  872. package/es/icons/calculator.js +10 -3
  873. package/es/icons/card.js +4 -2
  874. package/es/icons/card_medium.js +4 -2
  875. package/es/icons/cat_medium.js +10 -3
  876. package/es/icons/chatbot.js +5 -2
  877. package/es/icons/chatbot_medium.js +5 -2
  878. package/es/icons/chip.js +10 -3
  879. package/es/icons/chip_medium.js +10 -3
  880. package/es/icons/cloud_download.js +10 -3
  881. package/es/icons/cloud_download_medium.js +10 -3
  882. package/es/icons/cloud_rain.js +10 -3
  883. package/es/icons/cloud_rain_medium.js +10 -3
  884. package/es/icons/cloud_sync.js +10 -3
  885. package/es/icons/cloud_sync_medium.js +10 -3
  886. package/es/icons/cloud_transfer.js +10 -3
  887. package/es/icons/cloud_transfer_medium.js +10 -3
  888. package/es/icons/cloud_upload.js +10 -3
  889. package/es/icons/cloud_upload_medium.js +10 -3
  890. package/es/icons/cookie.js +10 -3
  891. package/es/icons/cookie_medium.js +10 -3
  892. package/es/icons/diamond.js +10 -3
  893. package/es/icons/dog.js +10 -3
  894. package/es/icons/dog_medium.js +10 -3
  895. package/es/icons/exclamation_circled.js +5 -2
  896. package/es/icons/exclamation_circled_medium.js +5 -2
  897. package/es/icons/file_jpg.d.ts +2 -0
  898. package/es/icons/file_jpg.js +18 -0
  899. package/es/icons/file_jpg_medium.d.ts +2 -0
  900. package/es/icons/file_jpg_medium.js +24 -0
  901. package/es/icons/file_png.d.ts +2 -0
  902. package/es/icons/file_png.js +18 -0
  903. package/es/icons/file_png_medium.d.ts +2 -0
  904. package/es/icons/file_png_medium.js +24 -0
  905. package/es/icons/fish.d.ts +2 -0
  906. package/es/icons/fish.js +26 -0
  907. package/es/icons/fish_medium.d.ts +2 -0
  908. package/es/icons/fish_medium.js +26 -0
  909. package/es/icons/hourglass.js +10 -3
  910. package/es/icons/icons-meta.json +71 -1
  911. package/es/icons/icons-pdf.lock +1098 -968
  912. package/es/icons/icons-svg.lock +1098 -968
  913. package/es/icons/index.d.ts +11 -1
  914. package/es/icons/index.js +11 -1
  915. package/es/icons/instagram.js +10 -3
  916. package/es/icons/linkedin.js +10 -3
  917. package/es/icons/linkedin_medium.js +10 -3
  918. package/es/icons/loupe.js +4 -2
  919. package/es/icons/loupe_medium.js +4 -2
  920. package/es/icons/mastercard_card.js +4 -2
  921. package/es/icons/mastercard_card_medium.js +4 -2
  922. package/es/icons/news.js +10 -3
  923. package/es/icons/news_medium.js +10 -3
  924. package/es/icons/newspaper.d.ts +2 -0
  925. package/es/icons/newspaper.js +21 -0
  926. package/es/icons/newspaper_medium.d.ts +2 -0
  927. package/es/icons/newspaper_medium.js +21 -0
  928. package/es/icons/phone.js +10 -3
  929. package/es/icons/phone_medium.js +10 -3
  930. package/es/icons/photo.js +10 -3
  931. package/es/icons/photo_medium.js +10 -3
  932. package/es/icons/pin.js +10 -3
  933. package/es/icons/pin_medium.js +10 -3
  934. package/es/icons/play.js +10 -3
  935. package/es/icons/savings_account.js +5 -2
  936. package/es/icons/secondary_icons.d.ts +6 -1
  937. package/es/icons/secondary_icons.js +6 -1
  938. package/es/icons/secondary_icons_medium.d.ts +6 -1
  939. package/es/icons/secondary_icons_medium.js +6 -1
  940. package/es/icons/sort.d.ts +2 -0
  941. package/es/icons/sort.js +21 -0
  942. package/es/icons/sort_medium.d.ts +2 -0
  943. package/es/icons/sort_medium.js +21 -0
  944. package/es/icons/subtract.js +5 -2
  945. package/es/icons/subtract_circled.js +5 -2
  946. package/es/icons/subtract_circled_medium.js +5 -2
  947. package/es/icons/subtract_medium.js +5 -2
  948. package/es/icons/tag.js +13 -10
  949. package/es/icons/tag_medium.js +13 -10
  950. package/es/icons/thumbs_down.js +10 -3
  951. package/es/icons/thumbs_up.js +10 -3
  952. package/es/icons/video.js +10 -3
  953. package/es/icons/video_medium.js +10 -3
  954. package/es/icons/wallet_medium.js +4 -2
  955. package/es/index.d.ts +2 -1
  956. package/es/index.js +2 -1
  957. package/es/shared/AnimateHeight.d.ts +46 -32
  958. package/es/shared/AnimateHeight.js +68 -38
  959. package/es/shared/Context.d.ts +9 -3
  960. package/es/shared/Eufemia.js +1 -1
  961. package/es/shared/MediaQueryUtils.d.ts +5 -1
  962. package/es/shared/MediaQueryUtils.js +4 -3
  963. package/es/shared/component-helper.d.ts +7 -18
  964. package/es/shared/component-helper.js +7 -167
  965. package/es/shared/helpers/EventEmitter.d.ts +46 -0
  966. package/es/shared/{EventEmitter.js → helpers/EventEmitter.js} +27 -21
  967. package/es/shared/helpers/InteractionInvalidation.d.ts +30 -0
  968. package/es/shared/helpers/InteractionInvalidation.js +141 -0
  969. package/{cjs/shared/hooks/usePropsWithContext.d.ts → es/shared/helpers/extendPropsWithContext.d.ts} +2 -3
  970. package/es/shared/{hooks/usePropsWithContext.js → helpers/extendPropsWithContext.js} +22 -10
  971. package/es/shared/helpers/filterValidProps.d.ts +1 -1
  972. package/es/shared/helpers/filterValidProps.js +1 -1
  973. package/es/shared/helpers/getPreviousSibling.d.ts +10 -0
  974. package/es/shared/helpers/getPreviousSibling.js +33 -0
  975. package/es/shared/helpers/useEventEmitter.d.ts +14 -0
  976. package/es/shared/helpers/useEventEmitter.js +30 -0
  977. package/es/shared/helpers/withCamelCaseProps.js +7 -0
  978. package/es/shared/helpers.d.ts +2 -0
  979. package/es/shared/interfaces.d.ts +6 -4
  980. package/es/shared/locales/en-GB.d.ts +3 -0
  981. package/es/shared/locales/en-GB.js +3 -0
  982. package/es/shared/locales/en-US.d.ts +3 -0
  983. package/es/shared/locales/index.d.ts +6 -0
  984. package/es/shared/locales/nb-NO.d.ts +3 -0
  985. package/es/shared/locales/nb-NO.js +3 -0
  986. package/es/shared/useMediaQuery.js +15 -4
  987. package/es/style/core/helper-classes/helper-classes.scss +4 -0
  988. package/es/style/dnb-ui-basis.css +3 -0
  989. package/es/style/dnb-ui-basis.min.css +1 -1
  990. package/es/style/dnb-ui-components.css +113 -91
  991. package/es/style/dnb-ui-components.min.css +5 -5
  992. package/es/style/dnb-ui-components.scss +1 -0
  993. package/es/style/dnb-ui-core.css +3 -0
  994. package/es/style/dnb-ui-core.min.css +1 -1
  995. package/es/style/dnb-ui-elements.css +25 -4
  996. package/es/style/dnb-ui-elements.min.css +1 -1
  997. package/es/style/dnb-ui-fragments.css +1 -1
  998. package/es/style/dnb-ui-fragments.min.css +1 -1
  999. package/es/style/dnb-ui-tags.css +50 -8
  1000. package/es/style/dnb-ui-tags.min.css +1 -1
  1001. package/es/style/elements/lists.scss +27 -5
  1002. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +300 -113
  1003. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +8 -8
  1004. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.scss +1 -0
  1005. package/es/style/themes/theme-ui/dnb-theme-ui.css +129 -111
  1006. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +5 -5
  1007. package/esm/dnb-ui-basis.min.mjs +2 -2
  1008. package/esm/dnb-ui-components.min.mjs +3 -3
  1009. package/esm/dnb-ui-elements.min.mjs +4 -4
  1010. package/esm/dnb-ui-extensions.min.mjs +4 -4
  1011. package/esm/dnb-ui-icons.min.mjs +1 -1
  1012. package/esm/dnb-ui-lib.min.mjs +4 -4
  1013. package/esm/dnb-ui-web-components.min.mjs +4 -4
  1014. package/extensions/payment-card/PaymentCard.js +3 -3
  1015. package/fragments/drawer-list/DrawerList.js +3 -2
  1016. package/fragments/drawer-list/style/_drawer-list.scss +1 -1
  1017. package/fragments/lib.d.ts +8 -1
  1018. package/fragments/scroll-view/ScrollView.d.ts +13 -6
  1019. package/fragments/scroll-view/ScrollView.js +31 -79
  1020. package/icons/add.js +5 -2
  1021. package/icons/add_circled.js +5 -2
  1022. package/icons/add_circled_medium.js +5 -2
  1023. package/icons/add_medium.js +5 -2
  1024. package/icons/boat.js +10 -3
  1025. package/icons/boat_medium.js +10 -3
  1026. package/icons/calculator.js +10 -3
  1027. package/icons/card.js +4 -2
  1028. package/icons/card_medium.js +4 -2
  1029. package/icons/cat_medium.js +10 -3
  1030. package/icons/chatbot.js +5 -2
  1031. package/icons/chatbot_medium.js +5 -2
  1032. package/icons/chip.js +10 -3
  1033. package/icons/chip_medium.js +10 -3
  1034. package/icons/cloud_download.js +10 -3
  1035. package/icons/cloud_download_medium.js +10 -3
  1036. package/icons/cloud_rain.js +10 -3
  1037. package/icons/cloud_rain_medium.js +10 -3
  1038. package/icons/cloud_sync.js +10 -3
  1039. package/icons/cloud_sync_medium.js +10 -3
  1040. package/icons/cloud_transfer.js +10 -3
  1041. package/icons/cloud_transfer_medium.js +10 -3
  1042. package/icons/cloud_upload.js +10 -3
  1043. package/icons/cloud_upload_medium.js +10 -3
  1044. package/icons/cookie.js +10 -3
  1045. package/icons/cookie_medium.js +10 -3
  1046. package/icons/diamond.js +10 -3
  1047. package/icons/dog.js +10 -3
  1048. package/icons/dog_medium.js +10 -3
  1049. package/icons/exclamation_circled.js +5 -2
  1050. package/icons/exclamation_circled_medium.js +5 -2
  1051. package/icons/file_jpg.d.ts +2 -0
  1052. package/icons/file_jpg.js +20 -0
  1053. package/icons/file_jpg_medium.d.ts +2 -0
  1054. package/icons/file_jpg_medium.js +26 -0
  1055. package/icons/file_png.d.ts +2 -0
  1056. package/icons/file_png.js +20 -0
  1057. package/icons/file_png_medium.d.ts +2 -0
  1058. package/icons/file_png_medium.js +26 -0
  1059. package/icons/fish.d.ts +2 -0
  1060. package/icons/fish.js +28 -0
  1061. package/icons/fish_medium.d.ts +2 -0
  1062. package/icons/fish_medium.js +28 -0
  1063. package/icons/hourglass.js +10 -3
  1064. package/icons/icons-meta.json +71 -1
  1065. package/icons/icons-pdf.lock +1098 -968
  1066. package/icons/icons-svg.lock +1098 -968
  1067. package/icons/index.d.ts +11 -1
  1068. package/icons/index.js +11 -1
  1069. package/icons/instagram.js +10 -3
  1070. package/icons/linkedin.js +10 -3
  1071. package/icons/linkedin_medium.js +10 -3
  1072. package/icons/loupe.js +4 -2
  1073. package/icons/loupe_medium.js +4 -2
  1074. package/icons/mastercard_card.js +4 -2
  1075. package/icons/mastercard_card_medium.js +4 -2
  1076. package/icons/news.js +10 -3
  1077. package/icons/news_medium.js +10 -3
  1078. package/icons/newspaper.d.ts +2 -0
  1079. package/icons/newspaper.js +23 -0
  1080. package/icons/newspaper_medium.d.ts +2 -0
  1081. package/icons/newspaper_medium.js +23 -0
  1082. package/icons/phone.js +10 -3
  1083. package/icons/phone_medium.js +10 -3
  1084. package/icons/photo.js +10 -3
  1085. package/icons/photo_medium.js +10 -3
  1086. package/icons/pin.js +10 -3
  1087. package/icons/pin_medium.js +10 -3
  1088. package/icons/play.js +10 -3
  1089. package/icons/savings_account.js +5 -2
  1090. package/icons/secondary_icons.d.ts +6 -1
  1091. package/icons/secondary_icons.js +6 -1
  1092. package/icons/secondary_icons_medium.d.ts +6 -1
  1093. package/icons/secondary_icons_medium.js +6 -1
  1094. package/icons/sort.d.ts +2 -0
  1095. package/icons/sort.js +23 -0
  1096. package/icons/sort_medium.d.ts +2 -0
  1097. package/icons/sort_medium.js +23 -0
  1098. package/icons/subtract.js +5 -2
  1099. package/icons/subtract_circled.js +5 -2
  1100. package/icons/subtract_circled_medium.js +5 -2
  1101. package/icons/subtract_medium.js +5 -2
  1102. package/icons/tag.js +13 -10
  1103. package/icons/tag_medium.js +13 -10
  1104. package/icons/thumbs_down.js +10 -3
  1105. package/icons/thumbs_up.js +10 -3
  1106. package/icons/video.js +10 -3
  1107. package/icons/video_medium.js +10 -3
  1108. package/icons/wallet_medium.js +4 -2
  1109. package/index.d.ts +2 -1
  1110. package/index.js +2 -1
  1111. package/package.json +1 -1
  1112. package/shared/AnimateHeight.d.ts +46 -32
  1113. package/shared/AnimateHeight.js +102 -66
  1114. package/shared/Context.d.ts +9 -3
  1115. package/shared/Eufemia.js +1 -1
  1116. package/shared/MediaQueryUtils.d.ts +5 -1
  1117. package/shared/MediaQueryUtils.js +5 -3
  1118. package/shared/component-helper.d.ts +7 -18
  1119. package/shared/component-helper.js +18 -248
  1120. package/shared/helpers/EventEmitter.d.ts +46 -0
  1121. package/shared/{EventEmitter.js → helpers/EventEmitter.js} +30 -25
  1122. package/shared/helpers/InteractionInvalidation.d.ts +30 -0
  1123. package/shared/helpers/InteractionInvalidation.js +215 -0
  1124. package/{es/shared/hooks/usePropsWithContext.d.ts → shared/helpers/extendPropsWithContext.d.ts} +2 -3
  1125. package/shared/{hooks/usePropsWithContext.js → helpers/extendPropsWithContext.js} +36 -17
  1126. package/shared/helpers/filterValidProps.d.ts +1 -1
  1127. package/shared/helpers/filterValidProps.js +1 -1
  1128. package/shared/helpers/getPreviousSibling.d.ts +10 -0
  1129. package/shared/helpers/getPreviousSibling.js +35 -0
  1130. package/shared/helpers/useEventEmitter.d.ts +14 -0
  1131. package/shared/helpers/useEventEmitter.js +45 -0
  1132. package/shared/helpers/withCamelCaseProps.js +7 -0
  1133. package/shared/helpers.d.ts +2 -0
  1134. package/shared/interfaces.d.ts +6 -4
  1135. package/shared/locales/en-GB.d.ts +3 -0
  1136. package/shared/locales/en-GB.js +3 -0
  1137. package/shared/locales/en-US.d.ts +3 -0
  1138. package/shared/locales/index.d.ts +6 -0
  1139. package/shared/locales/nb-NO.d.ts +3 -0
  1140. package/shared/locales/nb-NO.js +3 -0
  1141. package/shared/useMediaQuery.js +18 -13
  1142. package/style/core/helper-classes/helper-classes.scss +4 -0
  1143. package/style/dnb-ui-basis.css +3 -0
  1144. package/style/dnb-ui-basis.min.css +1 -1
  1145. package/style/dnb-ui-components.css +113 -91
  1146. package/style/dnb-ui-components.min.css +5 -5
  1147. package/style/dnb-ui-components.scss +1 -0
  1148. package/style/dnb-ui-core.css +3 -0
  1149. package/style/dnb-ui-core.min.css +1 -1
  1150. package/style/dnb-ui-elements.css +25 -4
  1151. package/style/dnb-ui-elements.min.css +1 -1
  1152. package/style/dnb-ui-fragments.css +1 -1
  1153. package/style/dnb-ui-fragments.min.css +1 -1
  1154. package/style/dnb-ui-tags.css +50 -8
  1155. package/style/dnb-ui-tags.min.css +1 -1
  1156. package/style/elements/lists.scss +27 -5
  1157. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +300 -113
  1158. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +8 -8
  1159. package/style/themes/theme-eiendom/dnb-theme-eiendom.scss +1 -0
  1160. package/style/themes/theme-ui/dnb-theme-ui.css +129 -111
  1161. package/style/themes/theme-ui/dnb-theme-ui.min.css +5 -5
  1162. package/umd/dnb-ui-basis.min.js +3 -3
  1163. package/umd/dnb-ui-components.min.js +4 -4
  1164. package/umd/dnb-ui-elements.min.js +4 -4
  1165. package/umd/dnb-ui-extensions.min.js +5 -5
  1166. package/umd/dnb-ui-icons.min.js +1 -1
  1167. package/umd/dnb-ui-lib.min.js +5 -5
  1168. package/umd/dnb-ui-web-components.min.js +5 -5
  1169. package/cjs/shared/EventEmitter.d.ts +0 -27
  1170. package/cjs/shared/hooks/index.d.ts +0 -1
  1171. package/cjs/shared/hooks/index.js +0 -13
  1172. package/es/shared/EventEmitter.d.ts +0 -27
  1173. package/es/shared/hooks/index.d.ts +0 -1
  1174. package/es/shared/hooks/index.js +0 -1
  1175. package/shared/EventEmitter.d.ts +0 -27
  1176. package/shared/hooks/index.d.ts +0 -1
  1177. package/shared/hooks/index.js +0 -1
@@ -1,6 +1,6 @@
1
- import { formatOptionParams, formatValue, formatReturnType } from '../number-format/NumberUtils';
2
- import type { ValueTypes } from './types';
3
- export declare const percentToValue: (percent: number, min: number, max: number) => number;
1
+ import { formatReturnValue } from '../number-format/NumberUtils';
2
+ import type { NumberFormatTypes, ValueTypes } from './types';
3
+ export declare const percentToValue: (percent: number, min: number, max: number, isReverse: boolean) => number;
4
4
  export declare const roundToStep: (number: number, step: number) => number;
5
5
  export declare const getOffset: (node: HTMLElement) => {
6
6
  top: number;
@@ -10,7 +10,7 @@ export declare const getMousePosition: (event: MouseEvent & TouchEvent) => {
10
10
  x: number;
11
11
  y: number;
12
12
  };
13
- export declare const calculatePercent: (node: HTMLElement, event: MouseEvent | TouchEvent, isVertical: boolean, isReverted: boolean) => number;
13
+ export declare const calculatePercent: (node: HTMLElement, event: MouseEvent | TouchEvent, isVertical: boolean) => number;
14
14
  export declare const clamp: (value: number, min?: number, max?: number) => number;
15
15
  export declare const roundValue: (value: number, step: number) => number;
16
16
  export declare const createMockDiv: ({ width, height }: {
@@ -19,5 +19,7 @@ export declare const createMockDiv: ({ width, height }: {
19
19
  }) => HTMLDivElement;
20
20
  export declare const getUpdatedValues: (value: Array<number>, index: number, newValue: number) => ValueTypes;
21
21
  export declare const closestIndex: (goal: number, array: Array<number>) => number;
22
- export declare const formatNumber: (value: formatValue, opts?: formatOptionParams) => formatReturnType;
23
- export declare const getHumanNumber: (value: number, numberFormat: formatOptionParams) => string;
22
+ export declare const getFormattedNumber: (value: number, numberFormat: NumberFormatTypes) => formatReturnValue | {
23
+ number: string;
24
+ aria: string;
25
+ };
@@ -19,7 +19,7 @@ import "core-js/modules/es.object.get-own-property-descriptor.js";
19
19
  import "core-js/modules/web.dom-collections.for-each.js";
20
20
  import "core-js/modules/es.object.get-own-property-descriptors.js";
21
21
  import { format } from '../number-format/NumberUtils';
22
- export var percentToValue = function percentToValue(percent, min, max) {
22
+ export var percentToValue = function percentToValue(percent, min, max, isReverse) {
23
23
  if (typeof min === 'string') {
24
24
  min = parseFloat(min);
25
25
  }
@@ -28,7 +28,13 @@ export var percentToValue = function percentToValue(percent, min, max) {
28
28
  max = parseFloat(max);
29
29
  }
30
30
 
31
- return (max - min) * percent / 100 + min;
31
+ var num = (max - min) * percent / 100 + min;
32
+
33
+ if (isReverse) {
34
+ num = max + min - num;
35
+ }
36
+
37
+ return num;
32
38
  };
33
39
  export var roundToStep = function roundToStep(number, step) {
34
40
  return Math.round(number / step) * step;
@@ -63,7 +69,7 @@ export var getMousePosition = function getMousePosition(event) {
63
69
  y: event.pageY
64
70
  };
65
71
  };
66
- export var calculatePercent = function calculatePercent(node, event, isVertical, isReverted) {
72
+ export var calculatePercent = function calculatePercent(node, event, isVertical) {
67
73
  var _node$getBoundingClie2 = node.getBoundingClientRect(),
68
74
  width = _node$getBoundingClie2.width,
69
75
  height = _node$getBoundingClie2.height;
@@ -78,7 +84,7 @@ export var calculatePercent = function calculatePercent(node, event, isVertical,
78
84
 
79
85
  var value = isVertical ? y - top : x - left;
80
86
  var onePercent = (isVertical ? height : width) / 100;
81
- return Math.abs((isReverted ? 100 : 0) - clamp(value / onePercent));
87
+ return Math.abs(clamp(value / onePercent));
82
88
  };
83
89
  export var clamp = function clamp(value) {
84
90
  var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
@@ -129,24 +135,23 @@ export var closestIndex = function closestIndex(goal, array) {
129
135
  return num === res;
130
136
  });
131
137
  };
132
- export var formatNumber = function formatNumber(value) {
133
- var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
138
+ export var getFormattedNumber = function getFormattedNumber(value, numberFormat) {
139
+ if (numberFormat) {
140
+ if (typeof numberFormat === 'function') {
141
+ var number = numberFormat(value);
142
+ return {
143
+ number: number,
144
+ aria: number
145
+ };
146
+ }
134
147
 
135
- if (opts) {
136
- return format(value, opts);
148
+ return format(value, _objectSpread(_objectSpread({}, numberFormat || {}), {}, {
149
+ returnAria: true
150
+ }));
137
151
  }
138
152
 
139
- return value;
140
- };
141
- export var getHumanNumber = function getHumanNumber(value, numberFormat) {
142
- var num = value;
143
-
144
- var _ref3 = numberFormat ? formatNumber(num, _objectSpread(_objectSpread({}, numberFormat || {}), {}, {
145
- returnAria: true
146
- })) : {
147
- aria: null
148
- },
149
- humanNumber = _ref3.aria;
150
-
151
- return String(humanNumber || value);
153
+ return {
154
+ aria: null,
155
+ number: null
156
+ };
152
157
  };
@@ -15,10 +15,10 @@ import Suffix from '../../shared/helpers/Suffix';
15
15
  import Button from '../button/Button';
16
16
  import FormLabel from '../form-label/FormLabel';
17
17
  import FormStatus from '../form-status/FormStatus';
18
- import { SliderMainTrack, SliderTrackAfter, SliderTrackBefore } from './SliderTrack';
18
+ import { SliderMainTrack, SliderTrackBefore, SliderTrackAfter } from './SliderTrack';
19
19
  import { SliderThumb } from './SliderThumb';
20
20
  import { useSliderProps } from './hooks/useSliderProps';
21
- import { clamp, getHumanNumber } from './SliderHelpers';
21
+ import { clamp, getFormattedNumber } from './SliderHelpers';
22
22
  export function SliderInstance() {
23
23
  var context = React.useContext(Context);
24
24
 
@@ -27,6 +27,7 @@ export function SliderInstance() {
27
27
  isVertical = _useSliderProps.isVertical,
28
28
  showButtons = _useSliderProps.showButtons,
29
29
  showStatus = _useSliderProps.showStatus,
30
+ shouldAnimate = _useSliderProps.shouldAnimate,
30
31
  allProps = _useSliderProps.allProps;
31
32
 
32
33
  var id = allProps.id,
@@ -43,7 +44,7 @@ export function SliderInstance() {
43
44
  disabled = allProps.disabled,
44
45
  className = allProps.className;
45
46
  var mainParams = {
46
- className: classnames("dnb-slider dnb-form-component", createSkeletonClass(null, skeleton), createSpacingClasses(allProps), className, isReverse && 'dnb-slider--reverse', isVertical && 'dnb-slider--vertical', disabled && 'dnb-slider__state--disabled', !showButtons && 'dnb-slider--no-buttons', isTrue(stretch) && 'dnb-slider--stretch', label && labelDirection && "dnb-slider__label--".concat(labelDirection), showStatus && 'dnb-slider__form-status', status && "dnb-slider__status--".concat(statusState))
47
+ className: classnames("dnb-slider dnb-form-component", createSkeletonClass(null, skeleton), createSpacingClasses(allProps), className, isVertical && 'dnb-slider--vertical', disabled && 'dnb-slider__state--disabled', shouldAnimate && 'dnb-slider__state--animate', !showButtons && 'dnb-slider--no-buttons', isTrue(stretch) && 'dnb-slider--stretch', label && labelDirection && "dnb-slider__label--".concat(labelDirection), showStatus && 'dnb-slider__form-status', status && "dnb-slider__status--".concat(statusState))
47
48
  };
48
49
  var subtractButton = showButtons ? _SubtractButton || (_SubtractButton = React.createElement(SubtractButton, null)) : null;
49
50
  var addButton = showButtons ? _AddButton || (_AddButton = React.createElement(AddButton, null)) : null;
@@ -110,13 +111,13 @@ function SubtractButton() {
110
111
  subtractParams['aria-hidden'] = attributes['aria-hidden'];
111
112
  }
112
113
 
113
- var humanNumber = getHumanNumber(value, numberFormat);
114
+ var humanNumber = getFormattedNumber(value, numberFormat);
114
115
  return React.createElement(Button, _extends({
115
116
  className: "dnb-slider__button dnb-slider__button--subtract",
116
117
  variant: "secondary",
117
118
  icon: "subtract",
118
119
  size: "small",
119
- "aria-label": subtractTitle === null || subtractTitle === void 0 ? void 0 : subtractTitle.replace('%s', humanNumber),
120
+ "aria-label": subtractTitle === null || subtractTitle === void 0 ? void 0 : subtractTitle.replace('%s', humanNumber.aria || String(value)),
120
121
  on_click: onSubtractClickHandler,
121
122
  disabled: disabled,
122
123
  skeleton: skeleton
@@ -148,13 +149,13 @@ function AddButton() {
148
149
  addParams['aria-hidden'] = attributes['aria-hidden'];
149
150
  }
150
151
 
151
- var humanNumber = getHumanNumber(value, numberFormat);
152
+ var humanNumber = getFormattedNumber(value, numberFormat);
152
153
  return React.createElement(Button, _extends({
153
154
  className: "dnb-slider__button dnb-slider__button--add",
154
155
  variant: "secondary",
155
156
  icon: "add",
156
157
  size: "small",
157
- "aria-label": addTitle === null || addTitle === void 0 ? void 0 : addTitle.replace('%s', humanNumber),
158
+ "aria-label": addTitle === null || addTitle === void 0 ? void 0 : addTitle.replace('%s', humanNumber.aria || String(value)),
158
159
  on_click: onAddClickHandler,
159
160
  disabled: disabled,
160
161
  skeleton: skeleton
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import type { SliderProps, SliderContextTypes } from './types';
2
+ import type { SliderAllProps, SliderContextTypes } from './types';
3
3
  export declare const SliderContext: React.Context<SliderContextTypes>;
4
- export declare function SliderProvider(localProps: SliderProps): JSX.Element;
4
+ export declare function SliderProvider(localProps: SliderAllProps): JSX.Element;
@@ -1,14 +1,13 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- var _excluded = ["step", "label", "labelDirection", "labelSrOnly", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatusId", "stretch", "suffix", "thumbTitle", "subtractTitle", "addTitle", "hideButtons", "numberFormat", "skeleton", "max", "min", "disabled", "className", "id", "onInit", "onChange", "onDragStart", "onDragEnd", "vertical", "reverse", "value", "children"];
3
+ var _excluded = ["step", "label", "labelDirection", "labelSrOnly", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatusId", "stretch", "suffix", "thumbTitle", "subtractTitle", "addTitle", "hideButtons", "multiThumbBehavior", "numberFormat", "tooltip", "alwaysShowTooltip", "skeleton", "max", "min", "disabled", "className", "id", "onInit", "onChange", "onDragStart", "onDragEnd", "vertical", "reverse", "value", "children"];
4
4
  import "core-js/modules/es.array.reverse.js";
5
5
  import "core-js/modules/es.object.to-string.js";
6
6
  import React from 'react';
7
7
  import { includeValidProps } from '../../components/form-row/FormRowHelpers';
8
- import { usePropsWithContext } from '../../shared/hooks';
9
- import { warn, isTrue, makeUniqueId, dispatchCustomElementEvent, getStatusState } from '../../shared/component-helper';
8
+ import { warn, isTrue, makeUniqueId, dispatchCustomElementEvent, getStatusState, extendPropsWithContext } from '../../shared/component-helper';
10
9
  import Context from '../../shared/Context';
11
- import { closestIndex, formatNumber, getUpdatedValues, roundValue } from './SliderHelpers';
10
+ import { closestIndex, getFormattedNumber, getUpdatedValues, roundValue } from './SliderHelpers';
12
11
  import { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps';
13
12
  var defaultProps = {
14
13
  statusState: 'error',
@@ -16,12 +15,13 @@ var defaultProps = {
16
15
  subtractTitle: '−',
17
16
  min: 0,
18
17
  max: 100,
19
- value: -1
18
+ value: -1,
19
+ multiThumbBehavior: 'swap'
20
20
  };
21
21
  export var SliderContext = React.createContext(null);
22
22
  export function SliderProvider(localProps) {
23
23
  var context = React.useContext(Context);
24
- var allProps = convertSnakeCaseProps(usePropsWithContext(localProps, defaultProps, {
24
+ var allProps = convertSnakeCaseProps(extendPropsWithContext(localProps, defaultProps, {
25
25
  skeleton: context === null || context === void 0 ? void 0 : context.skeleton
26
26
  }, context === null || context === void 0 ? void 0 : context.getTranslation(localProps).Slider, includeValidProps(context === null || context === void 0 ? void 0 : context.FormRow, {
27
27
  vertical: null
@@ -50,7 +50,10 @@ export function SliderProvider(localProps) {
50
50
  subtractTitle = allProps.subtractTitle,
51
51
  addTitle = allProps.addTitle,
52
52
  hideButtons = allProps.hideButtons,
53
+ multiThumbBehavior = allProps.multiThumbBehavior,
53
54
  numberFormat = allProps.numberFormat,
55
+ tooltip = allProps.tooltip,
56
+ alwaysShowTooltip = allProps.alwaysShowTooltip,
54
57
  skeleton = allProps.skeleton,
55
58
  max = allProps.max,
56
59
  min = allProps.min,
@@ -72,20 +75,32 @@ export function SliderProvider(localProps) {
72
75
  value = _React$useState4[0],
73
76
  setValue = _React$useState4[1];
74
77
 
75
- var _React$useState5 = React.useState('initial'),
78
+ var _React$useState5 = React.useState(_value),
76
79
  _React$useState6 = _slicedToArray(_React$useState5, 2),
77
- thumbState = _React$useState6[0],
78
- setThumbState = _React$useState6[1];
80
+ externValue = _React$useState6[0],
81
+ updateExternValue = _React$useState6[1];
82
+
83
+ var realtimeValue = React.useRef(_value);
84
+
85
+ var _React$useState7 = React.useState('initial'),
86
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
87
+ thumbState = _React$useState8[0],
88
+ setThumbState = _React$useState8[1];
79
89
 
80
90
  var thumbIndex = React.useRef(-1);
81
91
 
82
- var _React$useState7 = React.useState(isTrue(_vertical)),
83
- _React$useState8 = _slicedToArray(_React$useState7, 1),
84
- isVertical = _React$useState8[0];
92
+ var _React$useState9 = React.useState(false),
93
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
94
+ shouldAnimate = _React$useState10[0],
95
+ updateAnimateState = _React$useState10[1];
96
+
97
+ var _React$useState11 = React.useState(isTrue(_vertical)),
98
+ _React$useState12 = _slicedToArray(_React$useState11, 1),
99
+ isVertical = _React$useState12[0];
85
100
 
86
- var _React$useState9 = React.useState(isVertical ? !isTrue(_reverse) : isTrue(_reverse)),
87
- _React$useState10 = _slicedToArray(_React$useState9, 1),
88
- isReverse = _React$useState10[0];
101
+ var _React$useState13 = React.useState(isVertical ? !isTrue(_reverse) : isTrue(_reverse)),
102
+ _React$useState14 = _slicedToArray(_React$useState13, 1),
103
+ isReverse = _React$useState14[0];
89
104
 
90
105
  var isMulti = Array.isArray(value);
91
106
 
@@ -112,24 +127,57 @@ export function SliderProvider(localProps) {
112
127
  return currentIndex;
113
128
  };
114
129
 
130
+ var updateValue = function updateValue(value) {
131
+ setValue(value);
132
+ realtimeValue.current = value;
133
+ };
134
+
115
135
  var emitChange = function emitChange(event, rawValue) {
116
136
  if (disabled || isTrue(skeleton)) {
117
137
  return;
118
138
  }
119
139
 
120
- var currentValue = roundValue(rawValue, step);
121
-
122
- if (currentValue > -1 && rawValue !== value) {
123
- var newValue = currentValue;
140
+ var numberValue = roundValue(rawValue, step);
141
+ var multiValues = numberValue;
124
142
 
143
+ if (numberValue > -1) {
125
144
  if (isMulti) {
126
- var currentIndex = getAndUpdateCurrentIndex(currentValue);
127
- newValue = getUpdatedValues(value, currentIndex, currentValue);
145
+ var currentIndex = getAndUpdateCurrentIndex(numberValue);
146
+ var lower = realtimeValue.current[currentIndex - 1];
147
+ var upper = realtimeValue.current[currentIndex + 1];
148
+
149
+ if (multiThumbBehavior === 'omit') {
150
+ if (numberValue < lower) {
151
+ numberValue = lower;
152
+ }
153
+
154
+ if (numberValue > upper) {
155
+ numberValue = upper;
156
+ }
157
+ }
158
+
159
+ multiValues = getUpdatedValues(multiThumbBehavior === 'push' ? realtimeValue.current : value, currentIndex, numberValue);
160
+
161
+ if (multiThumbBehavior === 'push') {
162
+ if (typeof lower !== 'undefined' && numberValue < lower) {
163
+ multiValues[currentIndex - 1] = numberValue;
164
+ }
165
+
166
+ if (typeof upper !== 'undefined' && numberValue >= upper) {
167
+ multiValues[currentIndex + 1] = numberValue;
168
+ }
169
+ }
170
+
171
+ if (numberValue === realtimeValue.current[currentIndex]) {
172
+ return;
173
+ }
174
+ } else if (numberValue === realtimeValue.current) {
175
+ return;
128
176
  }
129
177
 
130
178
  if (typeof onChange === 'function') {
131
179
  var obj = {
132
- value: newValue,
180
+ value: multiValues,
133
181
  rawValue: rawValue,
134
182
  raw_value: rawValue,
135
183
  event: event,
@@ -137,38 +185,43 @@ export function SliderProvider(localProps) {
137
185
  };
138
186
 
139
187
  if (numberFormat) {
140
- obj.number = formatNumber(currentValue, numberFormat);
188
+ obj.number = getFormattedNumber(numberValue, numberFormat).number;
141
189
  }
142
190
 
143
191
  dispatchCustomElementEvent(allProps, 'onChange', obj);
144
192
  }
145
193
 
146
- setValue(newValue);
194
+ updateValue(multiValues);
147
195
  }
148
196
  };
149
197
 
150
198
  React.useEffect(function () {
151
199
  if (isMulti) {
152
200
  var hasChanged = _value.some(function (val, i) {
153
- return val !== value[i];
201
+ return val !== externValue[i];
154
202
  });
155
203
 
156
204
  if (hasChanged) {
157
- setValue(_value);
205
+ updateValue(_value);
206
+ updateExternValue(_value);
158
207
  }
159
- } else {
160
- setValue(_value);
208
+ } else if (_value !== externValue) {
209
+ updateValue(_value);
210
+ updateExternValue(_value);
161
211
  }
162
212
  }, [_value, isMulti]);
163
213
  var trackRef = React.useRef();
164
- var jumpedTimeout = React.useRef();
165
-
166
- var setJumpedState = function setJumpedState() {
167
- setThumbState('jumped');
168
- clearTimeout(jumpedTimeout.current);
169
- jumpedTimeout.current = setTimeout(function () {
170
- return setThumbState('normal');
171
- }, 100);
214
+ var animationTimeout = React.useRef();
215
+
216
+ var setShouldAnimate = function setShouldAnimate(state) {
217
+ updateAnimateState(state);
218
+ clearTimeout(animationTimeout.current);
219
+
220
+ if (state) {
221
+ animationTimeout.current = setTimeout(function () {
222
+ return updateAnimateState(false);
223
+ }, 250);
224
+ }
172
225
  };
173
226
 
174
227
  var showStatus = getStatusState(status);
@@ -179,6 +232,7 @@ export function SliderProvider(localProps) {
179
232
  isMulti: isMulti,
180
233
  isReverse: isReverse,
181
234
  isVertical: isVertical,
235
+ shouldAnimate: shouldAnimate,
182
236
  value: value,
183
237
  values: values,
184
238
  setValue: setValue,
@@ -192,8 +246,8 @@ export function SliderProvider(localProps) {
192
246
  emitChange: emitChange,
193
247
  allProps: allProps,
194
248
  trackRef: trackRef,
195
- setJumpedState: setJumpedState,
196
- jumpedTimeout: jumpedTimeout
249
+ setShouldAnimate: setShouldAnimate,
250
+ animationTimeout: animationTimeout
197
251
  }
198
252
  }, localProps.children);
199
253
  }
@@ -1,16 +1,6 @@
1
- import "core-js/modules/es.object.keys.js";
2
- import "core-js/modules/es.symbol.js";
3
- import "core-js/modules/es.array.filter.js";
4
- import "core-js/modules/es.object.get-own-property-descriptor.js";
5
- import "core-js/modules/web.dom-collections.for-each.js";
6
- import "core-js/modules/es.object.get-own-property-descriptors.js";
7
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
8
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
-
10
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
11
-
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13
-
14
4
  import "core-js/modules/es.array.iterator.js";
15
5
  import "core-js/modules/es.object.to-string.js";
16
6
  import "core-js/modules/web.dom-collections.iterator.js";
@@ -18,17 +8,35 @@ import "core-js/modules/es.array.map.js";
18
8
  import React from 'react';
19
9
  import { combineDescribedBy, combineLabelledBy, validateDOMAttributes } from '../../shared/component-helper';
20
10
  import Button from '../button/Button';
11
+ import Tooltip from '../tooltip/Tooltip';
21
12
  import { useSliderEvents } from './hooks/useSliderEvents';
22
13
  import { useSliderProps } from './hooks/useSliderProps';
23
- import { clamp, getHumanNumber } from './SliderHelpers';
14
+ import { clamp, getFormattedNumber } from './SliderHelpers';
24
15
  export function SliderThumb() {
25
16
  var _useSliderProps = useSliderProps(),
26
- values = _useSliderProps.values,
27
- thumbIndex = _useSliderProps.thumbIndex,
28
- isVertical = _useSliderProps.isVertical,
29
- showStatus = _useSliderProps.showStatus,
30
- attributes = _useSliderProps.attributes,
31
- allProps = _useSliderProps.allProps;
17
+ values = _useSliderProps.values;
18
+
19
+ return React.createElement(React.Fragment, null, values.map(function (value, i) {
20
+ return React.createElement(Thumb, {
21
+ key: i,
22
+ value: value,
23
+ currentIndex: i
24
+ });
25
+ }));
26
+ }
27
+
28
+ function Thumb(_ref) {
29
+ var value = _ref.value,
30
+ currentIndex = _ref.currentIndex;
31
+
32
+ var _useSliderProps2 = useSliderProps(),
33
+ thumbIndex = _useSliderProps2.thumbIndex,
34
+ isVertical = _useSliderProps2.isVertical,
35
+ isReverse = _useSliderProps2.isReverse,
36
+ showStatus = _useSliderProps2.showStatus,
37
+ attributes = _useSliderProps2.attributes,
38
+ allProps = _useSliderProps2.allProps,
39
+ shouldAnimate = _useSliderProps2.shouldAnimate;
32
40
 
33
41
  var id = allProps.id,
34
42
  label = allProps.label,
@@ -38,21 +46,43 @@ export function SliderThumb() {
38
46
  skeleton = allProps.skeleton,
39
47
  disabled = allProps.disabled,
40
48
  suffix = allProps.suffix,
41
- numberFormat = allProps.numberFormat;
49
+ numberFormat = allProps.numberFormat,
50
+ tooltip = allProps.tooltip,
51
+ alwaysShowTooltip = allProps.alwaysShowTooltip;
52
+ var index = thumbIndex.current;
53
+ var percent = clamp((value - min) * 100 / (max - min));
54
+
55
+ if (isReverse) {
56
+ percent = 100 - percent;
57
+ }
58
+
59
+ var style = _defineProperty({
60
+ zIndex: index === currentIndex ? 4 : 3
61
+ }, "".concat(isVertical ? 'top' : 'left'), "".concat(percent, "%"));
62
+
63
+ var _getFormattedNumber = getFormattedNumber(value, numberFormat),
64
+ number = _getFormattedNumber.number,
65
+ aria = _getFormattedNumber.aria;
66
+
67
+ var _React$useState = React.useState(false),
68
+ _React$useState2 = _slicedToArray(_React$useState, 2),
69
+ showTooltip = _React$useState2[0],
70
+ setShowTooltip = _React$useState2[1];
71
+
72
+ var onMouseEnterHandler = function onMouseEnterHandler() {
73
+ setShowTooltip(true);
74
+ };
75
+
76
+ var onMouseLeaveHandler = function onMouseLeaveHandler() {
77
+ setShowTooltip(false);
78
+ };
42
79
 
43
80
  var _useSliderEvents = useSliderEvents(),
44
81
  onThumbMouseDownHandler = _useSliderEvents.onThumbMouseDownHandler,
45
82
  onThumbMouseUpHandler = _useSliderEvents.onThumbMouseUpHandler,
46
- onThumbBlurHandler = _useSliderEvents.onThumbBlurHandler,
47
- onThumbFocusHandler = _useSliderEvents.onThumbFocusHandler,
48
83
  onHelperChangeHandler = _useSliderEvents.onHelperChangeHandler,
49
84
  onHelperFocusHandler = _useSliderEvents.onHelperFocusHandler;
50
85
 
51
- var thumbParams = _objectSpread({
52
- onBlur: onThumbBlurHandler,
53
- onFocus: onThumbFocusHandler
54
- }, attributes);
55
-
56
86
  var helperParams = {};
57
87
 
58
88
  if (label) {
@@ -63,47 +93,56 @@ export function SliderThumb() {
63
93
  helperParams['aria-describedby'] = combineDescribedBy(helperParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
64
94
  }
65
95
 
66
- validateDOMAttributes(null, helperParams);
96
+ var thumbParams = attributes;
97
+
98
+ if (tooltip) {
99
+ thumbParams.onMouseEnter = onMouseEnterHandler;
100
+ thumbParams.onMouseLeave = onMouseLeaveHandler;
101
+ thumbParams.onTouchStart = onMouseEnterHandler;
102
+ thumbParams.onTouchEnd = onMouseLeaveHandler;
103
+ helperParams.onBlur = onMouseLeaveHandler;
104
+
105
+ helperParams.onFocus = function (event) {
106
+ onHelperFocusHandler(event);
107
+ onMouseEnterHandler();
108
+ };
109
+ }
110
+
67
111
  validateDOMAttributes(allProps, thumbParams);
68
- return React.createElement(React.Fragment, null, values.map(function (value, i) {
69
- var index = thumbIndex.current;
70
- var percent = clamp((value - min) * 100 / (max - min));
71
-
72
- var style = _defineProperty({
73
- zIndex: index === i ? 4 : 3
74
- }, "".concat(isVertical ? 'top' : 'left'), "".concat(percent, "%"));
75
-
76
- var humanNumber = getHumanNumber(value, numberFormat);
77
- return React.createElement(React.Fragment, {
78
- key: i
79
- }, React.createElement("span", {
80
- className: "dnb-slider__thumb",
81
- style: style
82
- }, React.createElement("input", _extends({
83
- type: "range",
84
- className: "dnb-slider__button-helper",
85
- min: min,
86
- max: max,
87
- step: step,
88
- value: value,
89
- disabled: disabled,
90
- onChange: onHelperChangeHandler,
91
- onFocus: onHelperFocusHandler,
92
- "aria-valuemin": min,
93
- "aria-valuemax": max,
94
- "aria-valuenow": value,
95
- "aria-valuetext": humanNumber ? humanNumber : undefined,
96
- "aria-orientation": isVertical ? 'vertical' : 'horizontal',
97
- "data-index": i
98
- }, helperParams)), React.createElement(Button, _extends({
99
- element: "span",
100
- type: "",
101
- variant: "secondary",
102
- disabled: disabled,
103
- skeleton: skeleton,
104
- "data-index": i,
105
- onMouseDown: onThumbMouseDownHandler,
106
- onMouseUp: onThumbMouseUpHandler
107
- }, thumbParams))));
108
- }));
112
+ var elemRef = React.useRef();
113
+ return React.createElement(React.Fragment, null, React.createElement("span", {
114
+ className: "dnb-slider__thumb",
115
+ style: style,
116
+ ref: elemRef
117
+ }, React.createElement("input", _extends({
118
+ type: "range",
119
+ className: "dnb-slider__button-helper",
120
+ min: min,
121
+ max: max,
122
+ step: step,
123
+ value: value,
124
+ disabled: disabled,
125
+ onChange: onHelperChangeHandler,
126
+ onFocus: onHelperFocusHandler,
127
+ onMouseDown: onThumbMouseDownHandler,
128
+ onMouseUp: onThumbMouseUpHandler,
129
+ "aria-valuemin": min,
130
+ "aria-valuemax": max,
131
+ "aria-valuenow": value,
132
+ "aria-valuetext": aria ? aria : undefined,
133
+ "aria-orientation": isVertical ? 'vertical' : 'horizontal',
134
+ "data-index": currentIndex
135
+ }, helperParams)), React.createElement(Button, _extends({
136
+ element: "span",
137
+ type: "",
138
+ variant: "secondary",
139
+ disabled: disabled,
140
+ skeleton: skeleton
141
+ }, thumbParams)), tooltip && React.createElement(Tooltip, {
142
+ key: "group-".concat(currentIndex),
143
+ targetElement: elemRef,
144
+ animatePosition: shouldAnimate,
145
+ active: showTooltip || alwaysShowTooltip,
146
+ hideDelay: 300
147
+ }, number || value, shouldAnimate)));
109
148
  }