@dnb/eufemia 9.17.2 → 9.21.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 (774) hide show
  1. package/CHANGELOG.md +24 -141
  2. package/cjs/components/Avatar.d.ts +14 -0
  3. package/cjs/components/Avatar.js +52 -0
  4. package/cjs/components/InfoCard.d.ts +14 -0
  5. package/cjs/components/InfoCard.js +52 -0
  6. package/cjs/components/Tag.d.ts +14 -0
  7. package/cjs/components/Tag.js +52 -0
  8. package/cjs/components/Timeline.d.ts +14 -0
  9. package/cjs/components/Timeline.js +52 -0
  10. package/cjs/components/accordion/Accordion.d.ts +7 -7
  11. package/cjs/components/autocomplete/Autocomplete.d.ts +13 -13
  12. package/cjs/components/avatar/Avatar.js +151 -0
  13. package/cjs/components/avatar/AvatarGroup.js +131 -0
  14. package/cjs/components/avatar/index.d.ts +8 -0
  15. package/cjs/components/avatar/index.js +52 -0
  16. package/cjs/components/avatar/style/_avatar.scss +147 -0
  17. package/cjs/components/avatar/style/dnb-avatar.css +221 -0
  18. package/cjs/components/avatar/style/dnb-avatar.min.css +1 -0
  19. package/cjs/components/avatar/style/dnb-avatar.scss +12 -0
  20. package/cjs/components/avatar/style/index.d.ts +6 -0
  21. package/cjs/components/avatar/style/index.js +3 -0
  22. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  23. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  24. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  25. package/cjs/components/avatar/style/themes/ui.js +3 -0
  26. package/cjs/components/avatar/style.js +3 -0
  27. package/cjs/components/breadcrumb/Breadcrumb.js +27 -52
  28. package/cjs/components/breadcrumb/BreadcrumbItem.js +18 -32
  29. package/cjs/components/button/Button.d.ts +19 -15
  30. package/cjs/components/button/Button.js +7 -5
  31. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  32. package/cjs/components/checkbox/Checkbox.d.ts +3 -3
  33. package/cjs/components/date-picker/DatePicker.d.ts +14 -14
  34. package/cjs/components/date-picker/DatePicker.js +4 -2
  35. package/cjs/components/date-picker/DatePickerAddon.d.ts +1 -1
  36. package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -1
  37. package/cjs/components/date-picker/DatePickerFooter.d.ts +1 -0
  38. package/cjs/components/date-picker/DatePickerFooter.js +10 -6
  39. package/cjs/components/date-picker/DatePickerInput.d.ts +1 -1
  40. package/cjs/components/dropdown/Dropdown.d.ts +11 -10
  41. package/cjs/components/form-label/FormLabel.d.ts +1 -1
  42. package/cjs/components/form-row/FormRow.d.ts +4 -4
  43. package/cjs/components/form-set/FormSet.d.ts +5 -5
  44. package/cjs/components/global-error/GlobalError.d.ts +1 -1
  45. package/cjs/components/global-status/GlobalStatus.d.ts +5 -5
  46. package/cjs/components/heading/Heading.d.ts +2 -2
  47. package/cjs/components/heading/HeadingProvider.d.ts +2 -2
  48. package/cjs/components/help-button/HelpButton.d.ts +1 -1
  49. package/cjs/components/help-button/HelpButtonInstance.d.ts +3 -2
  50. package/cjs/components/icon/Icon.d.ts +2 -2
  51. package/cjs/components/icon-primary/IconPrimary.d.ts +4 -3
  52. package/cjs/components/index.d.ts +8 -0
  53. package/cjs/components/index.js +32 -0
  54. package/cjs/components/info-card/InfoCard.js +180 -0
  55. package/cjs/components/info-card/index.d.ts +8 -0
  56. package/cjs/components/info-card/index.js +52 -0
  57. package/cjs/components/info-card/style/_info-card.scss +52 -0
  58. package/cjs/components/info-card/style/dnb-info-card.css +135 -0
  59. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -0
  60. package/cjs/components/info-card/style/dnb-info-card.scss +12 -0
  61. package/cjs/components/info-card/style/index.d.ts +6 -0
  62. package/cjs/components/info-card/style/index.js +3 -0
  63. package/cjs/components/info-card/style.js +3 -0
  64. package/cjs/components/input/Input.d.ts +11 -10
  65. package/cjs/components/input-masked/InputMasked.d.ts +11 -11
  66. package/cjs/components/input-masked/InputMasked.js +6 -3
  67. package/cjs/components/input-masked/InputMaskedHooks.js +26 -34
  68. package/cjs/components/input-masked/InputMaskedUtils.js +9 -20
  69. package/cjs/components/lib.js +36 -0
  70. package/cjs/components/modal/Modal.js +123 -271
  71. package/cjs/components/modal/ModalContent.js +145 -243
  72. package/cjs/components/modal/ModalRoot.js +194 -0
  73. package/cjs/components/modal/components/CloseButton.js +125 -0
  74. package/cjs/components/modal/components/ModalHeader.js +124 -0
  75. package/cjs/components/modal/{ModalHeader.js → components/ModalHeaderBar.js} +50 -162
  76. package/cjs/components/modal/{ModalInner.js → components/ModalInner.js} +11 -19
  77. package/cjs/components/modal/helpers.js +80 -0
  78. package/cjs/components/modal/types.js +1 -0
  79. package/cjs/components/number-format/NumberFormat.d.ts +10 -10
  80. package/cjs/components/pagination/Pagination.d.ts +36 -36
  81. package/cjs/components/pagination/Pagination.js +13 -3
  82. package/cjs/components/pagination/PaginationProvider.d.ts +2 -2
  83. package/cjs/components/radio/Radio.d.ts +5 -5
  84. package/cjs/components/radio/RadioGroup.d.ts +4 -4
  85. package/cjs/components/section/Section.d.ts +3 -2
  86. package/cjs/components/skeleton/Skeleton.d.ts +3 -3
  87. package/cjs/components/skeleton/SkeletonHelper.d.ts +2 -1
  88. package/cjs/components/slider/Slider.d.ts +5 -5
  89. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -6
  90. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  91. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  92. package/cjs/components/step-indicator/StepIndicatorItem.js +1 -0
  93. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  94. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  95. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +4 -4
  96. package/cjs/components/switch/Switch.d.ts +6 -6
  97. package/cjs/components/tabs/Tabs.d.ts +8 -8
  98. package/cjs/components/tabs/TabsContentWrapper.d.ts +2 -2
  99. package/cjs/components/tabs/TabsCustomContent.d.ts +1 -1
  100. package/cjs/components/tag/Tag.js +145 -0
  101. package/cjs/components/tag/TagContext.js +14 -0
  102. package/cjs/components/tag/TagGroup.js +109 -0
  103. package/cjs/components/tag/index.d.ts +8 -0
  104. package/cjs/components/tag/index.js +52 -0
  105. package/cjs/components/tag/style/_tag.scss +102 -0
  106. package/cjs/components/tag/style/dnb-tag.css +931 -0
  107. package/cjs/components/tag/style/dnb-tag.min.css +1 -0
  108. package/cjs/components/tag/style/dnb-tag.scss +15 -0
  109. package/cjs/components/tag/style/index.d.ts +6 -0
  110. package/cjs/components/tag/style/index.js +3 -0
  111. package/cjs/components/tag/style/themes/_tag-mixins.scss +18 -0
  112. package/cjs/components/tag/style.js +3 -0
  113. package/cjs/components/textarea/Textarea.d.ts +4 -4
  114. package/cjs/components/timeline/Timeline.js +89 -0
  115. package/cjs/components/timeline/TimelineItem.js +136 -0
  116. package/cjs/components/timeline/index.d.ts +8 -0
  117. package/cjs/components/timeline/index.js +52 -0
  118. package/cjs/components/timeline/style/_timeline.scss +42 -0
  119. package/cjs/components/timeline/style/dnb-timeline.css +307 -0
  120. package/cjs/components/timeline/style/dnb-timeline.min.css +1 -0
  121. package/cjs/components/timeline/style/dnb-timeline.scss +12 -0
  122. package/cjs/components/timeline/style/index.d.ts +6 -0
  123. package/cjs/components/timeline/style/index.js +3 -0
  124. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  125. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  126. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  127. package/cjs/components/timeline/style/themes/ui.js +3 -0
  128. package/cjs/components/timeline/style.js +3 -0
  129. package/cjs/components/toggle-button/ToggleButton.d.ts +7 -7
  130. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  131. package/cjs/components/tooltip/Tooltip.d.ts +5 -5
  132. package/cjs/components/tooltip/TooltipContainer.d.ts +3 -3
  133. package/cjs/components/tooltip/TooltipPortal.d.ts +1 -1
  134. package/cjs/components/tooltip/TooltipWithEvents.d.ts +1 -1
  135. package/cjs/elements/Div.d.ts +1 -1
  136. package/cjs/elements/Img.d.ts +2 -2
  137. package/cjs/elements/P.d.ts +2 -1
  138. package/cjs/extensions/payment-card/PaymentCard.d.ts +1 -1
  139. package/cjs/extensions/payment-card/style/_payment-card.scss +0 -1
  140. package/cjs/extensions/payment-card/style/dnb-payment-card.css +0 -1
  141. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  142. package/cjs/fragments/drawer-list/DrawerListProvider.js +1 -0
  143. package/cjs/fragments/scroll-view/ScrollView.js +7 -16
  144. package/cjs/index.d.ts +8 -0
  145. package/cjs/index.js +32 -0
  146. package/cjs/shared/AnimateHeight.js +19 -13
  147. package/cjs/shared/Context.js +11 -4
  148. package/cjs/shared/helpers.js +16 -4
  149. package/cjs/shared/hooks/index.js +13 -0
  150. package/cjs/shared/hooks/usePropsWithContext.js +92 -0
  151. package/cjs/shared/locales/en-GB.js +5 -0
  152. package/cjs/shared/locales/nb-NO.js +5 -0
  153. package/cjs/style/core/helper-classes/skip-link.scss +1 -1
  154. package/cjs/style/dnb-ui-components.css +725 -0
  155. package/cjs/style/dnb-ui-components.min.css +3 -3
  156. package/cjs/style/dnb-ui-components.scss +4 -0
  157. package/cjs/style/dnb-ui-elements.css +1 -0
  158. package/cjs/style/dnb-ui-elements.min.css +1 -1
  159. package/cjs/style/dnb-ui-extensions.css +0 -1
  160. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  161. package/cjs/style/dnb-ui-tags.css +2 -0
  162. package/cjs/style/dnb-ui-tags.min.css +2 -2
  163. package/cjs/style/elements/code.scss +1 -0
  164. package/cjs/style/stylis.d.ts +38 -0
  165. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +224 -0
  166. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  167. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +224 -0
  168. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  169. package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  170. package/components/Avatar.d.ts +14 -0
  171. package/components/Avatar.js +3 -0
  172. package/components/InfoCard.d.ts +14 -0
  173. package/components/InfoCard.js +3 -0
  174. package/components/Tag.d.ts +14 -0
  175. package/components/Tag.js +3 -0
  176. package/components/Timeline.d.ts +14 -0
  177. package/components/Timeline.js +3 -0
  178. package/components/accordion/Accordion.d.ts +7 -7
  179. package/components/autocomplete/Autocomplete.d.ts +13 -13
  180. package/components/avatar/Avatar.js +90 -0
  181. package/components/avatar/Avatar.tsx +162 -0
  182. package/components/avatar/AvatarGroup.js +94 -0
  183. package/components/avatar/AvatarGroup.tsx +163 -0
  184. package/components/avatar/index.d.ts +8 -0
  185. package/components/avatar/index.js +3 -0
  186. package/components/avatar/style/_avatar.scss +147 -0
  187. package/components/avatar/style/dnb-avatar.css +221 -0
  188. package/components/avatar/style/dnb-avatar.min.css +1 -0
  189. package/components/avatar/style/dnb-avatar.scss +12 -0
  190. package/components/avatar/style/index.d.ts +6 -0
  191. package/components/avatar/style/index.js +1 -0
  192. package/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  193. package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  194. package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  195. package/components/avatar/style/themes/ui.js +1 -0
  196. package/components/avatar/style.js +1 -0
  197. package/components/breadcrumb/Breadcrumb.js +22 -35
  198. package/components/breadcrumb/Breadcrumb.tsx +10 -10
  199. package/components/breadcrumb/BreadcrumbItem.js +17 -28
  200. package/components/breadcrumb/BreadcrumbItem.tsx +10 -13
  201. package/components/button/Button.d.ts +18 -14
  202. package/components/button/Button.js +7 -5
  203. package/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  204. package/components/checkbox/Checkbox.d.ts +3 -3
  205. package/components/date-picker/DatePicker.d.ts +14 -14
  206. package/components/date-picker/DatePicker.js +4 -2
  207. package/components/date-picker/DatePickerAddon.d.ts +1 -1
  208. package/components/date-picker/DatePickerCalendar.d.ts +1 -1
  209. package/components/date-picker/DatePickerFooter.d.ts +1 -0
  210. package/components/date-picker/DatePickerFooter.js +10 -6
  211. package/components/date-picker/DatePickerInput.d.ts +1 -1
  212. package/components/dropdown/Dropdown.d.ts +11 -10
  213. package/components/form-label/FormLabel.d.ts +1 -1
  214. package/components/form-row/FormRow.d.ts +4 -4
  215. package/components/form-set/FormSet.d.ts +5 -5
  216. package/components/global-error/GlobalError.d.ts +1 -1
  217. package/components/global-status/GlobalStatus.d.ts +5 -5
  218. package/components/heading/Heading.d.ts +2 -2
  219. package/components/heading/HeadingProvider.d.ts +2 -2
  220. package/components/help-button/HelpButton.d.ts +1 -1
  221. package/components/help-button/HelpButtonInstance.d.ts +3 -2
  222. package/components/icon/Icon.d.ts +2 -2
  223. package/components/icon-primary/IconPrimary.d.ts +2 -1
  224. package/components/index.d.ts +8 -0
  225. package/components/index.js +5 -1
  226. package/components/info-card/InfoCard.js +140 -0
  227. package/components/info-card/InfoCard.tsx +250 -0
  228. package/components/info-card/index.d.ts +8 -0
  229. package/components/info-card/index.js +3 -0
  230. package/components/info-card/style/_info-card.scss +52 -0
  231. package/components/info-card/style/dnb-info-card.css +135 -0
  232. package/components/info-card/style/dnb-info-card.min.css +1 -0
  233. package/components/info-card/style/dnb-info-card.scss +12 -0
  234. package/components/info-card/style/index.d.ts +6 -0
  235. package/components/info-card/style/index.js +1 -0
  236. package/components/info-card/style.js +1 -0
  237. package/components/input/Input.d.ts +11 -10
  238. package/components/input-masked/InputMasked.d.ts +11 -11
  239. package/components/input-masked/InputMasked.js +6 -4
  240. package/components/input-masked/InputMaskedHooks.js +24 -28
  241. package/components/input-masked/InputMaskedUtils.js +9 -20
  242. package/components/lib.js +9 -1
  243. package/components/modal/Modal.js +112 -250
  244. package/components/modal/Modal.tsx +524 -0
  245. package/components/modal/ModalContent.js +137 -224
  246. package/components/modal/ModalContent.tsx +519 -0
  247. package/components/modal/ModalContext.tsx +10 -0
  248. package/components/modal/ModalRoot.js +145 -0
  249. package/components/modal/ModalRoot.tsx +131 -0
  250. package/components/modal/components/CloseButton.js +72 -0
  251. package/components/modal/components/CloseButton.tsx +56 -0
  252. package/components/modal/components/ModalHeader.js +70 -0
  253. package/components/modal/components/ModalHeader.tsx +79 -0
  254. package/components/modal/components/ModalHeaderBar.js +122 -0
  255. package/components/modal/components/ModalHeaderBar.tsx +118 -0
  256. package/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
  257. package/components/modal/components/ModalInner.tsx +45 -0
  258. package/components/modal/helpers.js +64 -0
  259. package/components/modal/helpers.ts +63 -0
  260. package/components/modal/types.js +1 -0
  261. package/{cjs/components/modal/Modal.d.ts → components/modal/types.ts} +124 -182
  262. package/components/number-format/NumberFormat.d.ts +10 -10
  263. package/components/pagination/Pagination.d.ts +36 -36
  264. package/components/pagination/Pagination.js +9 -2
  265. package/components/pagination/PaginationProvider.d.ts +2 -2
  266. package/components/radio/Radio.d.ts +5 -5
  267. package/components/radio/RadioGroup.d.ts +4 -4
  268. package/components/section/Section.d.ts +3 -1
  269. package/components/skeleton/Skeleton.d.ts +2 -2
  270. package/components/skeleton/SkeletonHelper.d.ts +2 -1
  271. package/components/slider/Slider.d.ts +5 -5
  272. package/components/step-indicator/StepIndicator.d.ts +6 -6
  273. package/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  274. package/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  275. package/components/step-indicator/StepIndicatorItem.js +1 -0
  276. package/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  277. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  278. package/components/step-indicator/StepIndicatorTriggerButton.js +4 -4
  279. package/components/switch/Switch.d.ts +6 -6
  280. package/components/tabs/Tabs.d.ts +8 -8
  281. package/components/tabs/TabsContentWrapper.d.ts +2 -2
  282. package/components/tabs/TabsCustomContent.d.ts +1 -1
  283. package/components/tag/Tag.js +112 -0
  284. package/components/tag/Tag.tsx +196 -0
  285. package/components/tag/TagContext.js +2 -0
  286. package/components/tag/TagContext.tsx +3 -0
  287. package/components/tag/TagGroup.js +47 -0
  288. package/components/tag/TagGroup.tsx +76 -0
  289. package/components/tag/index.d.ts +8 -0
  290. package/components/tag/index.js +3 -0
  291. package/components/tag/style/_tag.scss +102 -0
  292. package/components/tag/style/dnb-tag.css +931 -0
  293. package/components/tag/style/dnb-tag.min.css +1 -0
  294. package/components/tag/style/dnb-tag.scss +15 -0
  295. package/components/tag/style/index.d.ts +6 -0
  296. package/components/tag/style/index.js +1 -0
  297. package/components/tag/style/themes/_tag-mixins.scss +18 -0
  298. package/components/tag/style.js +1 -0
  299. package/components/textarea/Textarea.d.ts +4 -4
  300. package/components/timeline/Timeline.js +53 -0
  301. package/components/timeline/Timeline.tsx +95 -0
  302. package/components/timeline/TimelineItem.js +102 -0
  303. package/components/timeline/TimelineItem.tsx +191 -0
  304. package/components/timeline/index.d.ts +8 -0
  305. package/components/timeline/index.js +3 -0
  306. package/components/timeline/style/_timeline.scss +42 -0
  307. package/components/timeline/style/dnb-timeline.css +307 -0
  308. package/components/timeline/style/dnb-timeline.min.css +1 -0
  309. package/components/timeline/style/dnb-timeline.scss +12 -0
  310. package/components/timeline/style/index.d.ts +6 -0
  311. package/components/timeline/style/index.js +1 -0
  312. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  313. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  314. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  315. package/components/timeline/style/themes/ui.js +1 -0
  316. package/components/timeline/style.js +1 -0
  317. package/components/toggle-button/ToggleButton.d.ts +7 -7
  318. package/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  319. package/components/tooltip/Tooltip.d.ts +5 -5
  320. package/components/tooltip/TooltipContainer.d.ts +3 -3
  321. package/components/tooltip/TooltipPortal.d.ts +1 -1
  322. package/components/tooltip/TooltipWithEvents.d.ts +1 -1
  323. package/elements/Img.d.ts +1 -1
  324. package/elements/P.d.ts +2 -1
  325. package/es/components/Avatar.d.ts +14 -0
  326. package/es/components/Avatar.js +3 -0
  327. package/es/components/InfoCard.d.ts +14 -0
  328. package/es/components/InfoCard.js +3 -0
  329. package/es/components/Tag.d.ts +14 -0
  330. package/es/components/Tag.js +3 -0
  331. package/es/components/Timeline.d.ts +14 -0
  332. package/es/components/Timeline.js +3 -0
  333. package/es/components/accordion/Accordion.d.ts +7 -7
  334. package/es/components/autocomplete/Autocomplete.d.ts +13 -13
  335. package/es/components/avatar/Avatar.js +84 -0
  336. package/es/components/avatar/Avatar.tsx +162 -0
  337. package/es/components/avatar/AvatarGroup.js +89 -0
  338. package/es/components/avatar/AvatarGroup.tsx +163 -0
  339. package/es/components/avatar/index.d.ts +8 -0
  340. package/es/components/avatar/index.js +3 -0
  341. package/es/components/avatar/style/_avatar.scss +147 -0
  342. package/es/components/avatar/style/dnb-avatar.css +221 -0
  343. package/es/components/avatar/style/dnb-avatar.min.css +1 -0
  344. package/es/components/avatar/style/dnb-avatar.scss +12 -0
  345. package/es/components/avatar/style/index.d.ts +6 -0
  346. package/es/components/avatar/style/index.js +1 -0
  347. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  348. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  349. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  350. package/es/components/avatar/style/themes/ui.js +1 -0
  351. package/es/components/avatar/style.js +1 -0
  352. package/es/components/breadcrumb/Breadcrumb.js +8 -14
  353. package/es/components/breadcrumb/Breadcrumb.tsx +10 -10
  354. package/es/components/breadcrumb/BreadcrumbItem.js +12 -16
  355. package/es/components/breadcrumb/BreadcrumbItem.tsx +10 -13
  356. package/es/components/button/Button.d.ts +19 -15
  357. package/es/components/button/Button.js +7 -5
  358. package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  359. package/es/components/checkbox/Checkbox.d.ts +3 -3
  360. package/es/components/date-picker/DatePicker.d.ts +14 -14
  361. package/es/components/date-picker/DatePicker.js +4 -2
  362. package/es/components/date-picker/DatePickerAddon.d.ts +1 -1
  363. package/es/components/date-picker/DatePickerCalendar.d.ts +1 -1
  364. package/es/components/date-picker/DatePickerFooter.d.ts +1 -0
  365. package/es/components/date-picker/DatePickerFooter.js +9 -6
  366. package/es/components/date-picker/DatePickerInput.d.ts +1 -1
  367. package/es/components/dropdown/Dropdown.d.ts +11 -10
  368. package/es/components/form-label/FormLabel.d.ts +1 -1
  369. package/es/components/form-row/FormRow.d.ts +4 -4
  370. package/es/components/form-set/FormSet.d.ts +5 -5
  371. package/es/components/global-error/GlobalError.d.ts +1 -1
  372. package/es/components/global-status/GlobalStatus.d.ts +5 -5
  373. package/es/components/heading/Heading.d.ts +2 -2
  374. package/es/components/heading/HeadingProvider.d.ts +2 -2
  375. package/es/components/help-button/HelpButton.d.ts +1 -1
  376. package/es/components/help-button/HelpButtonInstance.d.ts +3 -2
  377. package/es/components/icon/Icon.d.ts +2 -2
  378. package/es/components/icon-primary/IconPrimary.d.ts +4 -3
  379. package/es/components/index.d.ts +8 -0
  380. package/es/components/index.js +5 -1
  381. package/es/components/info-card/InfoCard.js +135 -0
  382. package/es/components/info-card/InfoCard.tsx +250 -0
  383. package/es/components/info-card/index.d.ts +8 -0
  384. package/es/components/info-card/index.js +3 -0
  385. package/es/components/info-card/style/_info-card.scss +52 -0
  386. package/es/components/info-card/style/dnb-info-card.css +135 -0
  387. package/es/components/info-card/style/dnb-info-card.min.css +1 -0
  388. package/es/components/info-card/style/dnb-info-card.scss +12 -0
  389. package/es/components/info-card/style/index.d.ts +6 -0
  390. package/es/components/info-card/style/index.js +1 -0
  391. package/es/components/info-card/style.js +1 -0
  392. package/es/components/input/Input.d.ts +11 -10
  393. package/es/components/input-masked/InputMasked.d.ts +11 -11
  394. package/es/components/input-masked/InputMasked.js +6 -4
  395. package/es/components/input-masked/InputMaskedHooks.js +14 -18
  396. package/es/components/input-masked/InputMaskedUtils.js +7 -18
  397. package/es/components/lib.js +9 -1
  398. package/es/components/modal/Modal.js +97 -227
  399. package/es/components/modal/Modal.tsx +524 -0
  400. package/es/components/modal/ModalContent.js +95 -186
  401. package/es/components/modal/ModalContent.tsx +519 -0
  402. package/es/components/modal/ModalContext.tsx +10 -0
  403. package/es/components/modal/ModalRoot.js +108 -0
  404. package/es/components/modal/ModalRoot.tsx +131 -0
  405. package/es/components/modal/components/CloseButton.js +41 -0
  406. package/es/components/modal/components/CloseButton.tsx +56 -0
  407. package/es/components/modal/components/ModalHeader.js +40 -0
  408. package/es/components/modal/components/ModalHeader.tsx +79 -0
  409. package/es/components/modal/components/ModalHeaderBar.js +88 -0
  410. package/es/components/modal/components/ModalHeaderBar.tsx +118 -0
  411. package/es/components/modal/{ModalInner.js → components/ModalInner.js} +8 -18
  412. package/es/components/modal/components/ModalInner.tsx +45 -0
  413. package/es/components/modal/helpers.js +60 -0
  414. package/es/components/modal/helpers.ts +63 -0
  415. package/es/components/modal/types.js +1 -0
  416. package/es/components/modal/{Modal.d.ts → types.ts} +124 -182
  417. package/es/components/number-format/NumberFormat.d.ts +10 -10
  418. package/es/components/pagination/Pagination.d.ts +36 -36
  419. package/es/components/pagination/Pagination.js +5 -2
  420. package/es/components/pagination/PaginationProvider.d.ts +2 -2
  421. package/es/components/radio/Radio.d.ts +5 -5
  422. package/es/components/radio/RadioGroup.d.ts +4 -4
  423. package/es/components/section/Section.d.ts +3 -2
  424. package/es/components/skeleton/Skeleton.d.ts +3 -3
  425. package/es/components/skeleton/SkeletonHelper.d.ts +2 -1
  426. package/es/components/slider/Slider.d.ts +5 -5
  427. package/es/components/step-indicator/StepIndicator.d.ts +6 -6
  428. package/es/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  429. package/es/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  430. package/es/components/step-indicator/StepIndicatorItem.js +1 -0
  431. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  432. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  433. package/es/components/step-indicator/StepIndicatorTriggerButton.js +4 -4
  434. package/es/components/switch/Switch.d.ts +6 -6
  435. package/es/components/tabs/Tabs.d.ts +8 -8
  436. package/es/components/tabs/TabsContentWrapper.d.ts +2 -2
  437. package/es/components/tabs/TabsCustomContent.d.ts +1 -1
  438. package/es/components/tag/Tag.js +112 -0
  439. package/es/components/tag/Tag.tsx +196 -0
  440. package/es/components/tag/TagContext.js +2 -0
  441. package/es/components/tag/TagContext.tsx +3 -0
  442. package/es/components/tag/TagGroup.js +47 -0
  443. package/es/components/tag/TagGroup.tsx +76 -0
  444. package/es/components/tag/index.d.ts +8 -0
  445. package/es/components/tag/index.js +3 -0
  446. package/es/components/tag/style/_tag.scss +102 -0
  447. package/es/components/tag/style/dnb-tag.css +931 -0
  448. package/es/components/tag/style/dnb-tag.min.css +1 -0
  449. package/es/components/tag/style/dnb-tag.scss +15 -0
  450. package/es/components/tag/style/index.d.ts +6 -0
  451. package/es/components/tag/style/index.js +1 -0
  452. package/es/components/tag/style/themes/_tag-mixins.scss +18 -0
  453. package/es/components/tag/style.js +1 -0
  454. package/es/components/textarea/Textarea.d.ts +4 -4
  455. package/es/components/timeline/Timeline.js +52 -0
  456. package/es/components/timeline/Timeline.tsx +95 -0
  457. package/es/components/timeline/TimelineItem.js +108 -0
  458. package/es/components/timeline/TimelineItem.tsx +191 -0
  459. package/es/components/timeline/index.d.ts +8 -0
  460. package/es/components/timeline/index.js +3 -0
  461. package/es/components/timeline/style/_timeline.scss +42 -0
  462. package/es/components/timeline/style/dnb-timeline.css +307 -0
  463. package/es/components/timeline/style/dnb-timeline.min.css +1 -0
  464. package/es/components/timeline/style/dnb-timeline.scss +12 -0
  465. package/es/components/timeline/style/index.d.ts +6 -0
  466. package/es/components/timeline/style/index.js +1 -0
  467. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  468. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  469. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  470. package/es/components/timeline/style/themes/ui.js +1 -0
  471. package/es/components/timeline/style.js +1 -0
  472. package/es/components/toggle-button/ToggleButton.d.ts +7 -7
  473. package/es/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  474. package/es/components/tooltip/Tooltip.d.ts +5 -5
  475. package/es/components/tooltip/TooltipContainer.d.ts +3 -3
  476. package/es/components/tooltip/TooltipPortal.d.ts +1 -1
  477. package/es/components/tooltip/TooltipWithEvents.d.ts +1 -1
  478. package/es/elements/Div.d.ts +1 -1
  479. package/es/elements/Img.d.ts +2 -2
  480. package/es/elements/P.d.ts +2 -1
  481. package/es/extensions/payment-card/PaymentCard.d.ts +1 -1
  482. package/es/extensions/payment-card/style/_payment-card.scss +0 -1
  483. package/es/extensions/payment-card/style/dnb-payment-card.css +0 -1
  484. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  485. package/es/fragments/drawer-list/DrawerListProvider.js +1 -0
  486. package/es/fragments/scroll-view/ScrollView.js +7 -15
  487. package/es/fragments/scroll-view/ScrollView.tsx +92 -0
  488. package/es/index.d.ts +8 -0
  489. package/es/index.js +5 -1
  490. package/es/shared/AnimateHeight.js +15 -13
  491. package/es/shared/Context.js +11 -4
  492. package/es/shared/helpers.js +9 -2
  493. package/es/shared/hooks/index.js +1 -0
  494. package/es/shared/hooks/index.ts +1 -0
  495. package/es/shared/hooks/usePropsWithContext.js +26 -0
  496. package/es/shared/hooks/usePropsWithContext.ts +45 -0
  497. package/es/shared/interfaces.tsx +0 -2
  498. package/es/shared/locales/en-GB.js +5 -0
  499. package/es/shared/locales/nb-NO.js +5 -0
  500. package/es/style/core/helper-classes/skip-link.scss +1 -1
  501. package/es/style/dnb-ui-components.css +725 -0
  502. package/es/style/dnb-ui-components.min.css +3 -3
  503. package/es/style/dnb-ui-components.scss +4 -0
  504. package/es/style/dnb-ui-elements.css +1 -0
  505. package/es/style/dnb-ui-elements.min.css +1 -1
  506. package/es/style/dnb-ui-extensions.css +0 -1
  507. package/es/style/dnb-ui-extensions.min.css +1 -1
  508. package/es/style/dnb-ui-tags.css +2 -0
  509. package/es/style/dnb-ui-tags.min.css +2 -2
  510. package/es/style/elements/code.scss +1 -0
  511. package/es/style/stylis.d.ts +38 -0
  512. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +224 -0
  513. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  514. package/es/style/themes/theme-ui/dnb-theme-ui.css +224 -0
  515. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  516. package/es/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  517. package/esm/components/Avatar.d.ts +14 -0
  518. package/esm/components/Avatar.js +3 -0
  519. package/esm/components/InfoCard.d.ts +14 -0
  520. package/esm/components/InfoCard.js +3 -0
  521. package/esm/components/Tag.d.ts +14 -0
  522. package/esm/components/Tag.js +3 -0
  523. package/esm/components/Timeline.d.ts +14 -0
  524. package/esm/components/Timeline.js +3 -0
  525. package/esm/components/accordion/Accordion.d.ts +7 -7
  526. package/esm/components/autocomplete/Autocomplete.d.ts +13 -13
  527. package/esm/components/avatar/Avatar.js +90 -0
  528. package/esm/components/avatar/Avatar.tsx +162 -0
  529. package/esm/components/avatar/AvatarGroup.js +94 -0
  530. package/esm/components/avatar/AvatarGroup.tsx +163 -0
  531. package/esm/components/avatar/index.d.ts +8 -0
  532. package/esm/components/avatar/index.js +3 -0
  533. package/esm/components/avatar/style/_avatar.scss +147 -0
  534. package/esm/components/avatar/style/dnb-avatar.css +221 -0
  535. package/esm/components/avatar/style/dnb-avatar.min.css +1 -0
  536. package/esm/components/avatar/style/dnb-avatar.scss +12 -0
  537. package/esm/components/avatar/style/index.d.ts +6 -0
  538. package/esm/components/avatar/style/index.js +1 -0
  539. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  540. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  541. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  542. package/esm/components/avatar/style/themes/ui.js +1 -0
  543. package/esm/components/avatar/style.js +1 -0
  544. package/esm/components/breadcrumb/Breadcrumb.js +22 -35
  545. package/esm/components/breadcrumb/Breadcrumb.tsx +10 -10
  546. package/esm/components/breadcrumb/BreadcrumbItem.js +17 -28
  547. package/esm/components/breadcrumb/BreadcrumbItem.tsx +10 -13
  548. package/esm/components/button/Button.d.ts +18 -14
  549. package/esm/components/button/Button.js +7 -5
  550. package/esm/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  551. package/esm/components/checkbox/Checkbox.d.ts +3 -3
  552. package/esm/components/date-picker/DatePicker.d.ts +14 -14
  553. package/esm/components/date-picker/DatePicker.js +4 -2
  554. package/esm/components/date-picker/DatePickerAddon.d.ts +1 -1
  555. package/esm/components/date-picker/DatePickerCalendar.d.ts +1 -1
  556. package/esm/components/date-picker/DatePickerFooter.d.ts +1 -0
  557. package/esm/components/date-picker/DatePickerFooter.js +10 -6
  558. package/esm/components/date-picker/DatePickerInput.d.ts +1 -1
  559. package/esm/components/dropdown/Dropdown.d.ts +11 -10
  560. package/esm/components/form-label/FormLabel.d.ts +1 -1
  561. package/esm/components/form-row/FormRow.d.ts +4 -4
  562. package/esm/components/form-set/FormSet.d.ts +5 -5
  563. package/esm/components/global-error/GlobalError.d.ts +1 -1
  564. package/esm/components/global-status/GlobalStatus.d.ts +5 -5
  565. package/esm/components/heading/Heading.d.ts +2 -2
  566. package/esm/components/heading/HeadingProvider.d.ts +2 -2
  567. package/esm/components/help-button/HelpButton.d.ts +1 -1
  568. package/esm/components/help-button/HelpButtonInstance.d.ts +3 -2
  569. package/esm/components/icon/Icon.d.ts +2 -2
  570. package/esm/components/icon-primary/IconPrimary.d.ts +2 -1
  571. package/esm/components/index.d.ts +8 -0
  572. package/esm/components/index.js +5 -1
  573. package/esm/components/info-card/InfoCard.js +140 -0
  574. package/esm/components/info-card/InfoCard.tsx +250 -0
  575. package/esm/components/info-card/index.d.ts +8 -0
  576. package/esm/components/info-card/index.js +3 -0
  577. package/esm/components/info-card/style/_info-card.scss +52 -0
  578. package/esm/components/info-card/style/dnb-info-card.css +135 -0
  579. package/esm/components/info-card/style/dnb-info-card.min.css +1 -0
  580. package/esm/components/info-card/style/dnb-info-card.scss +12 -0
  581. package/esm/components/info-card/style/index.d.ts +6 -0
  582. package/esm/components/info-card/style/index.js +1 -0
  583. package/esm/components/info-card/style.js +1 -0
  584. package/esm/components/input/Input.d.ts +11 -10
  585. package/esm/components/input-masked/InputMasked.d.ts +11 -11
  586. package/esm/components/input-masked/InputMasked.js +6 -4
  587. package/esm/components/input-masked/InputMaskedHooks.js +24 -28
  588. package/esm/components/input-masked/InputMaskedUtils.js +9 -20
  589. package/esm/components/lib.js +9 -1
  590. package/esm/components/modal/Modal.js +112 -250
  591. package/esm/components/modal/Modal.tsx +524 -0
  592. package/esm/components/modal/ModalContent.js +137 -224
  593. package/esm/components/modal/ModalContent.tsx +519 -0
  594. package/esm/components/modal/ModalContext.tsx +10 -0
  595. package/esm/components/modal/ModalRoot.js +145 -0
  596. package/esm/components/modal/ModalRoot.tsx +131 -0
  597. package/esm/components/modal/components/CloseButton.js +72 -0
  598. package/esm/components/modal/components/CloseButton.tsx +56 -0
  599. package/esm/components/modal/components/ModalHeader.js +70 -0
  600. package/esm/components/modal/components/ModalHeader.tsx +79 -0
  601. package/esm/components/modal/components/ModalHeaderBar.js +122 -0
  602. package/esm/components/modal/components/ModalHeaderBar.tsx +118 -0
  603. package/esm/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
  604. package/esm/components/modal/components/ModalInner.tsx +45 -0
  605. package/esm/components/modal/helpers.js +64 -0
  606. package/esm/components/modal/helpers.ts +63 -0
  607. package/esm/components/modal/types.js +1 -0
  608. package/esm/components/modal/{Modal.d.ts → types.ts} +124 -182
  609. package/esm/components/number-format/NumberFormat.d.ts +10 -10
  610. package/esm/components/pagination/Pagination.d.ts +36 -36
  611. package/esm/components/pagination/Pagination.js +9 -2
  612. package/esm/components/pagination/PaginationProvider.d.ts +2 -2
  613. package/esm/components/radio/Radio.d.ts +5 -5
  614. package/esm/components/radio/RadioGroup.d.ts +4 -4
  615. package/esm/components/section/Section.d.ts +3 -1
  616. package/esm/components/skeleton/Skeleton.d.ts +2 -2
  617. package/esm/components/skeleton/SkeletonHelper.d.ts +2 -1
  618. package/esm/components/slider/Slider.d.ts +5 -5
  619. package/esm/components/step-indicator/StepIndicator.d.ts +6 -6
  620. package/esm/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  621. package/esm/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  622. package/esm/components/step-indicator/StepIndicatorItem.js +1 -0
  623. package/esm/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  624. package/esm/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  625. package/esm/components/step-indicator/StepIndicatorTriggerButton.js +4 -4
  626. package/esm/components/switch/Switch.d.ts +6 -6
  627. package/esm/components/tabs/Tabs.d.ts +8 -8
  628. package/esm/components/tabs/TabsContentWrapper.d.ts +2 -2
  629. package/esm/components/tabs/TabsCustomContent.d.ts +1 -1
  630. package/esm/components/tag/Tag.js +112 -0
  631. package/esm/components/tag/Tag.tsx +196 -0
  632. package/esm/components/tag/TagContext.js +2 -0
  633. package/esm/components/tag/TagContext.tsx +3 -0
  634. package/esm/components/tag/TagGroup.js +47 -0
  635. package/esm/components/tag/TagGroup.tsx +76 -0
  636. package/esm/components/tag/index.d.ts +8 -0
  637. package/esm/components/tag/index.js +3 -0
  638. package/esm/components/tag/style/_tag.scss +102 -0
  639. package/esm/components/tag/style/dnb-tag.css +931 -0
  640. package/esm/components/tag/style/dnb-tag.min.css +1 -0
  641. package/esm/components/tag/style/dnb-tag.scss +15 -0
  642. package/esm/components/tag/style/index.d.ts +6 -0
  643. package/esm/components/tag/style/index.js +1 -0
  644. package/esm/components/tag/style/themes/_tag-mixins.scss +18 -0
  645. package/esm/components/tag/style.js +1 -0
  646. package/esm/components/textarea/Textarea.d.ts +4 -4
  647. package/esm/components/timeline/Timeline.js +53 -0
  648. package/esm/components/timeline/Timeline.tsx +95 -0
  649. package/esm/components/timeline/TimelineItem.js +102 -0
  650. package/esm/components/timeline/TimelineItem.tsx +191 -0
  651. package/esm/components/timeline/index.d.ts +8 -0
  652. package/esm/components/timeline/index.js +3 -0
  653. package/esm/components/timeline/style/_timeline.scss +42 -0
  654. package/esm/components/timeline/style/dnb-timeline.css +307 -0
  655. package/esm/components/timeline/style/dnb-timeline.min.css +1 -0
  656. package/esm/components/timeline/style/dnb-timeline.scss +12 -0
  657. package/esm/components/timeline/style/index.d.ts +6 -0
  658. package/esm/components/timeline/style/index.js +1 -0
  659. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  660. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  661. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  662. package/esm/components/timeline/style/themes/ui.js +1 -0
  663. package/esm/components/timeline/style.js +1 -0
  664. package/esm/components/toggle-button/ToggleButton.d.ts +7 -7
  665. package/esm/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  666. package/esm/components/tooltip/Tooltip.d.ts +5 -5
  667. package/esm/components/tooltip/TooltipContainer.d.ts +3 -3
  668. package/esm/components/tooltip/TooltipPortal.d.ts +1 -1
  669. package/esm/components/tooltip/TooltipWithEvents.d.ts +1 -1
  670. package/esm/dnb-ui-components.min.mjs +4 -4
  671. package/esm/dnb-ui-elements.min.mjs +1 -1
  672. package/esm/dnb-ui-extensions.min.mjs +3 -3
  673. package/esm/dnb-ui-lib.min.mjs +4 -4
  674. package/esm/dnb-ui-web-components.min.mjs +4 -4
  675. package/esm/elements/Img.d.ts +1 -1
  676. package/esm/elements/P.d.ts +2 -1
  677. package/esm/extensions/payment-card/PaymentCard.d.ts +1 -1
  678. package/esm/extensions/payment-card/style/_payment-card.scss +0 -1
  679. package/esm/extensions/payment-card/style/dnb-payment-card.css +0 -1
  680. package/esm/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  681. package/esm/fragments/drawer-list/DrawerListProvider.js +1 -0
  682. package/esm/fragments/scroll-view/ScrollView.js +10 -16
  683. package/esm/fragments/scroll-view/ScrollView.tsx +92 -0
  684. package/esm/index.d.ts +8 -0
  685. package/esm/index.js +5 -1
  686. package/esm/shared/AnimateHeight.js +19 -13
  687. package/esm/shared/Context.js +11 -4
  688. package/esm/shared/helpers.js +15 -4
  689. package/esm/shared/hooks/index.js +1 -0
  690. package/esm/shared/hooks/index.ts +1 -0
  691. package/esm/shared/hooks/usePropsWithContext.js +47 -0
  692. package/esm/shared/hooks/usePropsWithContext.ts +45 -0
  693. package/esm/shared/interfaces.tsx +0 -2
  694. package/esm/shared/locales/en-GB.js +5 -0
  695. package/esm/shared/locales/nb-NO.js +5 -0
  696. package/esm/style/core/helper-classes/skip-link.scss +1 -1
  697. package/esm/style/dnb-ui-components.css +725 -0
  698. package/esm/style/dnb-ui-components.min.css +3 -3
  699. package/esm/style/dnb-ui-components.scss +4 -0
  700. package/esm/style/dnb-ui-elements.css +1 -0
  701. package/esm/style/dnb-ui-elements.min.css +1 -1
  702. package/esm/style/dnb-ui-extensions.css +0 -1
  703. package/esm/style/dnb-ui-extensions.min.css +1 -1
  704. package/esm/style/dnb-ui-tags.css +2 -0
  705. package/esm/style/dnb-ui-tags.min.css +2 -2
  706. package/esm/style/elements/code.scss +1 -0
  707. package/esm/style/stylis.d.ts +38 -0
  708. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +224 -0
  709. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  710. package/esm/style/themes/theme-ui/dnb-theme-ui.css +224 -0
  711. package/esm/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  712. package/esm/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  713. package/extensions/payment-card/PaymentCard.d.ts +1 -1
  714. package/extensions/payment-card/style/_payment-card.scss +0 -1
  715. package/extensions/payment-card/style/dnb-payment-card.css +0 -1
  716. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  717. package/fragments/drawer-list/DrawerListProvider.js +1 -0
  718. package/fragments/scroll-view/ScrollView.js +10 -16
  719. package/fragments/scroll-view/ScrollView.tsx +92 -0
  720. package/index.d.ts +8 -0
  721. package/index.js +5 -1
  722. package/package.json +2 -3
  723. package/shared/AnimateHeight.js +19 -13
  724. package/shared/Context.js +11 -4
  725. package/shared/helpers.js +15 -4
  726. package/shared/hooks/index.js +1 -0
  727. package/shared/hooks/index.ts +1 -0
  728. package/shared/hooks/usePropsWithContext.js +47 -0
  729. package/shared/hooks/usePropsWithContext.ts +45 -0
  730. package/shared/interfaces.tsx +0 -2
  731. package/shared/locales/en-GB.js +5 -0
  732. package/shared/locales/nb-NO.js +5 -0
  733. package/style/core/helper-classes/skip-link.scss +1 -1
  734. package/style/dnb-ui-components.css +725 -0
  735. package/style/dnb-ui-components.min.css +3 -3
  736. package/style/dnb-ui-components.scss +4 -0
  737. package/style/dnb-ui-elements.css +1 -0
  738. package/style/dnb-ui-elements.min.css +1 -1
  739. package/style/dnb-ui-extensions.css +0 -1
  740. package/style/dnb-ui-extensions.min.css +1 -1
  741. package/style/dnb-ui-tags.css +2 -0
  742. package/style/dnb-ui-tags.min.css +2 -2
  743. package/style/elements/code.scss +1 -0
  744. package/style/stylis.d.ts +38 -0
  745. package/style/themes/theme-open-banking/dnb-theme-open-banking.css +224 -0
  746. package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  747. package/style/themes/theme-ui/dnb-theme-ui.css +224 -0
  748. package/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  749. package/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  750. package/umd/dnb-ui-components.min.js +5 -5
  751. package/umd/dnb-ui-elements.min.js +3 -3
  752. package/umd/dnb-ui-extensions.min.js +3 -3
  753. package/umd/dnb-ui-lib.min.js +5 -5
  754. package/umd/dnb-ui-web-components.min.js +5 -5
  755. package/cjs/components/modal/ModalContent.d.ts +0 -168
  756. package/cjs/components/modal/ModalHeader.d.ts +0 -73
  757. package/cjs/components/modal/ModalInner.d.ts +0 -20
  758. package/cjs/fragments/scroll-view/ScrollView.d.ts +0 -1
  759. package/components/modal/Modal.d.ts +0 -329
  760. package/components/modal/ModalContent.d.ts +0 -168
  761. package/components/modal/ModalHeader.d.ts +0 -73
  762. package/components/modal/ModalHeader.js +0 -224
  763. package/components/modal/ModalInner.d.ts +0 -20
  764. package/es/components/modal/ModalContent.d.ts +0 -168
  765. package/es/components/modal/ModalHeader.d.ts +0 -73
  766. package/es/components/modal/ModalHeader.js +0 -166
  767. package/es/components/modal/ModalInner.d.ts +0 -20
  768. package/es/fragments/scroll-view/ScrollView.d.ts +0 -1
  769. package/esm/components/modal/ModalContent.d.ts +0 -168
  770. package/esm/components/modal/ModalHeader.d.ts +0 -73
  771. package/esm/components/modal/ModalHeader.js +0 -224
  772. package/esm/components/modal/ModalInner.d.ts +0 -20
  773. package/esm/fragments/scroll-view/ScrollView.d.ts +0 -1
  774. package/fragments/scroll-view/ScrollView.d.ts +0 -1
@@ -20,25 +20,24 @@ require("core-js/modules/es.object.get-own-property-descriptors.js");
20
20
 
21
21
  require("core-js/modules/es.object.assign.js");
22
22
 
23
+ require("core-js/modules/es.symbol.description.js");
24
+
25
+ require("core-js/modules/es.symbol.iterator.js");
26
+
23
27
  require("core-js/modules/es.array.iterator.js");
24
28
 
25
29
  require("core-js/modules/es.string.iterator.js");
26
30
 
27
- require("core-js/modules/es.weak-map.js");
28
-
29
31
  require("core-js/modules/web.dom-collections.iterator.js");
30
32
 
31
- require("core-js/modules/es.symbol.description.js");
32
-
33
- require("core-js/modules/es.symbol.iterator.js");
34
-
35
33
  Object.defineProperty(exports, "__esModule", {
36
34
  value: true
37
35
  });
36
+ exports.ANIMATION_DURATION = void 0;
38
37
  Object.defineProperty(exports, "CloseButton", {
39
38
  enumerable: true,
40
39
  get: function get() {
41
- return _ModalHeader.CloseButton;
40
+ return _CloseButton.default;
42
41
  }
43
42
  });
44
43
  exports.default = void 0;
@@ -51,22 +50,8 @@ require("core-js/modules/web.dom-collections.for-each.js");
51
50
 
52
51
  require("core-js/modules/es.object.freeze.js");
53
52
 
54
- require("core-js/modules/es.array.includes.js");
55
-
56
- require("core-js/modules/es.string.includes.js");
57
-
58
- require("core-js/modules/es.regexp.exec.js");
59
-
60
- require("core-js/modules/es.string.replace.js");
61
-
62
- require("core-js/modules/es.array.concat.js");
63
-
64
53
  var _react = _interopRequireDefault(require("react"));
65
54
 
66
- var _reactDom = _interopRequireDefault(require("react-dom"));
67
-
68
- var _propTypes = _interopRequireDefault(require("prop-types"));
69
-
70
55
  var _classnames = _interopRequireDefault(require("classnames"));
71
56
 
72
57
  var _Suffix = require("../../shared/helpers/Suffix");
@@ -77,24 +62,21 @@ var _componentHelper = require("../../shared/component-helper");
77
62
 
78
63
  var _SpacingHelper = require("../space/SpacingHelper");
79
64
 
80
- var _Button = require("../button/Button");
81
-
82
65
  var _HelpButtonInstance = _interopRequireDefault(require("../help-button/HelpButtonInstance"));
83
66
 
84
- var _ModalContent = _interopRequireWildcard(require("./ModalContent"));
67
+ var _helpers = require("./helpers");
85
68
 
86
- var _ModalContext = _interopRequireDefault(require("./ModalContext"));
69
+ var _ModalInner = _interopRequireDefault(require("./components/ModalInner"));
87
70
 
88
- var _ModalInner = _interopRequireDefault(require("./ModalInner"));
71
+ var _ModalHeader = _interopRequireDefault(require("./components/ModalHeader"));
89
72
 
90
- var _ModalHeader = _interopRequireWildcard(require("./ModalHeader"));
73
+ var _ModalHeaderBar = _interopRequireDefault(require("./components/ModalHeaderBar"));
91
74
 
92
- var _excluded = ["root_id", "content_id", "id", "open_state", "open_delay", "disabled", "spacing", "labelled_by", "focus_selector", "header_content", "bar_content", "trigger", "trigger_attributes", "trigger_hidden", "trigger_disabled", "trigger_variant", "trigger_text", "trigger_title", "trigger_size", "trigger_icon", "trigger_icon_position", "trigger_class"],
93
- _excluded2 = ["children", "direct_dom_return"];
75
+ var _CloseButton = _interopRequireDefault(require("./components/CloseButton"));
94
76
 
95
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
77
+ var _ModalRoot = _interopRequireDefault(require("./ModalRoot"));
96
78
 
97
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
79
+ var _excluded = ["root_id", "content_id", "disabled", "spacing", "labelled_by", "focus_selector", "header_content", "bar_content", "id", "open_state", "open_delay", "trigger", "trigger_attributes", "trigger_hidden", "trigger_disabled", "trigger_variant", "trigger_text", "trigger_title", "trigger_size", "trigger_icon", "trigger_icon_position", "trigger_class"];
98
80
 
99
81
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
100
82
 
@@ -130,6 +112,9 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
130
112
 
131
113
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
132
114
 
115
+ var ANIMATION_DURATION = 300;
116
+ exports.ANIMATION_DURATION = ANIMATION_DURATION;
117
+
133
118
  var Modal = function (_React$PureComponent) {
134
119
  _inherits(Modal, _React$PureComponent);
135
120
 
@@ -142,6 +127,24 @@ var Modal = function (_React$PureComponent) {
142
127
 
143
128
  _this = _super.call(this, props);
144
129
 
130
+ _defineProperty(_assertThisInitialized(_this), "_id", void 0);
131
+
132
+ _defineProperty(_assertThisInitialized(_this), "_triggerRef", void 0);
133
+
134
+ _defineProperty(_assertThisInitialized(_this), "_onUnmount", void 0);
135
+
136
+ _defineProperty(_assertThisInitialized(_this), "_openTimeout", void 0);
137
+
138
+ _defineProperty(_assertThisInitialized(_this), "_closeTimeout", void 0);
139
+
140
+ _defineProperty(_assertThisInitialized(_this), "_sideEffectsTimeout", void 0);
141
+
142
+ _defineProperty(_assertThisInitialized(_this), "_tryToOpenTimeout", void 0);
143
+
144
+ _defineProperty(_assertThisInitialized(_this), "activeElement", void 0);
145
+
146
+ _defineProperty(_assertThisInitialized(_this), "isInTransition", void 0);
147
+
145
148
  _defineProperty(_assertThisInitialized(_this), "state", {
146
149
  hide: false,
147
150
  modalActive: false
@@ -156,6 +159,12 @@ var Modal = function (_React$PureComponent) {
156
159
  }
157
160
 
158
161
  var toggleNow = function toggleNow() {
162
+ var _this$props = _this.props,
163
+ _this$props$animation = _this$props.animation_duration,
164
+ animation_duration = _this$props$animation === void 0 ? ANIMATION_DURATION : _this$props$animation,
165
+ _this$props$no_animat = _this$props.no_animation,
166
+ no_animation = _this$props$no_animat === void 0 ? false : _this$props$no_animat;
167
+ var timeoutDuration = typeof animation_duration === 'string' ? parseFloat(animation_duration) : animation_duration;
159
168
  var modalActive = typeof showModal === 'boolean' ? showModal : !_this.state.modalActive;
160
169
  _this.isInTransition = true;
161
170
 
@@ -170,21 +179,24 @@ var Modal = function (_React$PureComponent) {
170
179
  });
171
180
  };
172
181
 
173
- if (modalActive === false && !(0, _componentHelper.isTrue)(_this.props.no_animation)) {
182
+ if (modalActive === false && !(0, _componentHelper.isTrue)(no_animation)) {
174
183
  _this.setState({
175
184
  hide: true
176
185
  });
177
186
 
178
- _this._closeTimeout = setTimeout(doItNow, parseFloat(_this.props.animation_duration));
187
+ _this._closeTimeout = setTimeout(doItNow, timeoutDuration);
179
188
  } else {
180
189
  doItNow();
181
190
  }
182
191
  };
183
192
 
184
193
  var waitBeforeOpen = function waitBeforeOpen() {
185
- var delay = parseFloat(_this.props.open_delay);
194
+ var _this$props2 = _this.props,
195
+ open_delay = _this$props2.open_delay,
196
+ no_animation = _this$props2.no_animation;
197
+ var delay = typeof open_delay === 'string' ? parseFloat(open_delay) : open_delay;
186
198
 
187
- if (delay > 0 && !(0, _componentHelper.isTrue)(_this.props.no_animation)) {
199
+ if (delay > 0 && !(0, _componentHelper.isTrue)(no_animation)) {
188
200
  _this._openTimeout = setTimeout(toggleNow, delay);
189
201
  } else {
190
202
  toggleNow();
@@ -208,10 +220,11 @@ var Modal = function (_React$PureComponent) {
208
220
 
209
221
  _defineProperty(_assertThisInitialized(_this), "handleSideEffects", function () {
210
222
  var modalActive = _this.state.modalActive;
223
+ var close_modal = _this.props.close_modal;
211
224
 
212
225
  if (modalActive) {
213
- if (typeof _this.props.close_modal === 'function') {
214
- var fn = _this.props.close_modal(function () {
226
+ if (typeof close_modal === 'function') {
227
+ var fn = close_modal(function () {
215
228
  _this.toggleOpenClose(null, false);
216
229
  }, _assertThisInitialized(_this));
217
230
 
@@ -228,7 +241,7 @@ var Modal = function (_React$PureComponent) {
228
241
  });
229
242
  }
230
243
 
231
- if ((_this.props.open_state === 'opened' || _this.props.open_state === true) && _this.activeElement) {
244
+ if ((_this.props.open_state === 'opened' || _this.props.open_state === true) && _this.activeElement && _this.activeElement instanceof HTMLElement) {
232
245
  try {
233
246
  _this.activeElement.focus({
234
247
  preventScroll: true
@@ -251,9 +264,11 @@ var Modal = function (_React$PureComponent) {
251
264
  ifIsLatest: true
252
265
  },
253
266
  ifIsLatest = _ref.ifIsLatest,
254
- triggeredBy = _ref.triggeredBy;
267
+ _ref$triggeredBy = _ref.triggeredBy,
268
+ triggeredBy = _ref$triggeredBy === void 0 ? null : _ref$triggeredBy;
255
269
 
256
- var prevent_close = _this.props.prevent_close;
270
+ var _this$props$prevent_c = _this.props.prevent_close,
271
+ prevent_close = _this$props$prevent_c === void 0 ? false : _this$props$prevent_c;
257
272
 
258
273
  if ((0, _componentHelper.isTrue)(prevent_close)) {
259
274
  var id = _this._id;
@@ -267,10 +282,10 @@ var Modal = function (_React$PureComponent) {
267
282
  });
268
283
  } else {
269
284
  if (ifIsLatest) {
270
- var list = (0, _ModalContent.getListOfModalRoots)();
285
+ var list = (0, _helpers.getListOfModalRoots)();
271
286
 
272
287
  if (list.length > 1) {
273
- var last = (0, _ModalContent.getListOfModalRoots)(-1);
288
+ var last = (0, _helpers.getModalRoot)(-1);
274
289
 
275
290
  if (last !== _assertThisInitialized(_this)) {
276
291
  return;
@@ -298,7 +313,7 @@ var Modal = function (_React$PureComponent) {
298
313
  value: function componentWillUnmount() {
299
314
  clearTimeout(this._openTimeout);
300
315
  clearTimeout(this._closeTimeout);
301
- this.removeActiveState(false);
316
+ this.removeActiveState();
302
317
 
303
318
  this._onUnmount.forEach(function (fn) {
304
319
  if (typeof fn === 'function') {
@@ -332,7 +347,7 @@ var Modal = function (_React$PureComponent) {
332
347
  }, {
333
348
  key: "removeActiveState",
334
349
  value: function removeActiveState() {
335
- var last = (0, _ModalContent.getListOfModalRoots)(-1);
350
+ var last = (0, _helpers.getModalRoot)(-1);
336
351
 
337
352
  if (last !== null && last !== void 0 && last._id && last._id !== this._id) {
338
353
  return this.setActiveState(last._id);
@@ -368,28 +383,46 @@ var Modal = function (_React$PureComponent) {
368
383
 
369
384
  var props = (0, _componentHelper.extendPropsWithContext)(this.props, Modal.defaultProps, this.context.getTranslation(this.props).Modal, this.context.FormRow, this.context.Modal);
370
385
 
371
- var root_id = props.root_id,
372
- content_id = props.content_id,
386
+ var _props$root_id = props.root_id,
387
+ root_id = _props$root_id === void 0 ? 'root' : _props$root_id,
388
+ _props$content_id = props.content_id,
389
+ content_id = _props$content_id === void 0 ? null : _props$content_id,
390
+ _props$disabled = props.disabled,
391
+ disabled = _props$disabled === void 0 ? null : _props$disabled,
392
+ _props$spacing = props.spacing,
393
+ spacing = _props$spacing === void 0 ? true : _props$spacing,
394
+ _props$labelled_by = props.labelled_by,
395
+ labelled_by = _props$labelled_by === void 0 ? null : _props$labelled_by,
396
+ _props$focus_selector = props.focus_selector,
397
+ focus_selector = _props$focus_selector === void 0 ? null : _props$focus_selector,
398
+ _props$header_content = props.header_content,
399
+ header_content = _props$header_content === void 0 ? null : _props$header_content,
400
+ _props$bar_content = props.bar_content,
401
+ bar_content = _props$bar_content === void 0 ? null : _props$bar_content,
373
402
  id = props.id,
374
403
  open_state = props.open_state,
375
404
  open_delay = props.open_delay,
376
- disabled = props.disabled,
377
- spacing = props.spacing,
378
- labelled_by = props.labelled_by,
379
- focus_selector = props.focus_selector,
380
- header_content = props.header_content,
381
- bar_content = props.bar_content,
382
- trigger = props.trigger,
383
- trigger_attributes = props.trigger_attributes,
384
- trigger_hidden = props.trigger_hidden,
385
- trigger_disabled = props.trigger_disabled,
386
- trigger_variant = props.trigger_variant,
387
- trigger_text = props.trigger_text,
388
- trigger_title = props.trigger_title,
389
- trigger_size = props.trigger_size,
405
+ _props$trigger = props.trigger,
406
+ trigger = _props$trigger === void 0 ? null : _props$trigger,
407
+ _props$trigger_attrib = props.trigger_attributes,
408
+ trigger_attributes = _props$trigger_attrib === void 0 ? null : _props$trigger_attrib,
409
+ _props$trigger_hidden = props.trigger_hidden,
410
+ trigger_hidden = _props$trigger_hidden === void 0 ? 'false' : _props$trigger_hidden,
411
+ _props$trigger_disabl = props.trigger_disabled,
412
+ trigger_disabled = _props$trigger_disabl === void 0 ? null : _props$trigger_disabl,
413
+ _props$trigger_varian = props.trigger_variant,
414
+ trigger_variant = _props$trigger_varian === void 0 ? 'secondary' : _props$trigger_varian,
415
+ _props$trigger_text = props.trigger_text,
416
+ trigger_text = _props$trigger_text === void 0 ? null : _props$trigger_text,
417
+ _props$trigger_title = props.trigger_title,
418
+ trigger_title = _props$trigger_title === void 0 ? null : _props$trigger_title,
419
+ _props$trigger_size = props.trigger_size,
420
+ trigger_size = _props$trigger_size === void 0 ? null : _props$trigger_size,
390
421
  trigger_icon = props.trigger_icon,
391
- trigger_icon_position = props.trigger_icon_position,
392
- trigger_class = props.trigger_class,
422
+ _props$trigger_icon_p = props.trigger_icon_position,
423
+ trigger_icon_position = _props$trigger_icon_p === void 0 ? 'left' : _props$trigger_icon_p,
424
+ _props$trigger_class = props.trigger_class,
425
+ trigger_class = _props$trigger_class === void 0 ? null : _props$trigger_class,
393
426
  rest = _objectWithoutProperties(props, _excluded);
394
427
 
395
428
  var _this$state = this.state,
@@ -400,47 +433,42 @@ var Modal = function (_React$PureComponent) {
400
433
  })) : this.props);
401
434
 
402
435
  var render = function render(suffixProps) {
403
- var modalProps = {};
404
-
405
- var triggerAttributes = _objectSpread({}, trigger_attributes);
436
+ var triggerAttributes = _objectSpread({
437
+ hidden: trigger_hidden,
438
+ disabled: trigger_disabled,
439
+ variant: trigger_variant,
440
+ text: trigger_text,
441
+ title: trigger_title,
442
+ size: trigger_size,
443
+ icon: trigger_icon,
444
+ icon_position: trigger_icon_position,
445
+ class: trigger_class
446
+ }, trigger_attributes);
406
447
 
407
- for (var prop in props) {
408
- if (prop.includes('trigger_') && props[prop] !== null) {
409
- var name = String(prop).replace('trigger_', '');
410
-
411
- if (name !== 'attributes' && name !== 'props' && prop !== 'element') {
412
- triggerAttributes[name] = props[prop];
413
- }
414
- }
448
+ if ((0, _componentHelper.isTrue)(disabled)) {
449
+ triggerAttributes.disabled = true;
415
450
  }
416
451
 
417
452
  if (triggerAttributes.id) {
418
453
  _this2._id = triggerAttributes.id;
419
454
  }
420
455
 
421
- if (!rest.title && triggerAttributes.title) {
422
- modalProps.title = triggerAttributes.title;
423
- } else if (!rest.title && suffixProps) {
424
- modalProps.title = _this2.context.translation.HelpButton.title;
425
- }
456
+ var fallbackTitle;
426
457
 
427
- if ((0, _componentHelper.isTrue)(disabled)) {
428
- triggerAttributes.disabled = true;
458
+ if (triggerAttributes.title) {
459
+ fallbackTitle = triggerAttributes.title;
460
+ } else if (suffixProps) {
461
+ fallbackTitle = _this2.context.translation.HelpButton.title;
429
462
  }
430
463
 
431
464
  var TriggerButton = trigger ? trigger : _HelpButtonInstance.default;
432
- return _react.default.createElement(_ModalContext.default.Provider, {
433
- value: _objectSpread({
434
- id: _this2._id
435
- }, rest)
436
- }, TriggerButton && !(0, _componentHelper.isTrue)(trigger_hidden) && _react.default.createElement(TriggerButton, _extends({
465
+ return _react.default.createElement(_react.default.Fragment, null, TriggerButton && !(0, _componentHelper.isTrue)(trigger_hidden) && _react.default.createElement(TriggerButton, _extends({}, triggerAttributes, {
437
466
  id: _this2._id,
438
- title: !triggerAttributes.text ? props.title || modalProps.title : null,
439
- onClick: _this2.toggleOpenClose
440
- }, triggerAttributes, {
467
+ title: !triggerAttributes.text ? rest.title || fallbackTitle : null,
468
+ onClick: _this2.toggleOpenClose,
441
469
  innerRef: _this2._triggerRef,
442
470
  className: (0, _classnames.default)('dnb-modal__trigger', (0, _SpacingHelper.createSpacingClasses)(props), triggerAttributes.class, triggerAttributes.className)
443
- })), modalActive && modal_content && _react.default.createElement(ModalRoot, _extends({}, rest, {
471
+ })), modalActive && modal_content && _react.default.createElement(_ModalRoot.default, _extends({}, rest, {
444
472
  id: _this2._id,
445
473
  root_id: root_id,
446
474
  content_id: content_id || "dnb-modal-".concat(_this2._id),
@@ -452,8 +480,8 @@ var Modal = function (_React$PureComponent) {
452
480
  spacing: spacing,
453
481
  closeModal: _this2.close,
454
482
  hide: hide,
455
- toggleOpenClose: _this2.toggleOpenClose
456
- }, modalProps)));
483
+ title: rest.title || fallbackTitle
484
+ })));
457
485
  };
458
486
 
459
487
  return _react.default.createElement(_Suffix.SuffixContext.Consumer, null, render);
@@ -474,30 +502,6 @@ var Modal = function (_React$PureComponent) {
474
502
 
475
503
  return (0, _componentHelper.processChildren)(props);
476
504
  }
477
- }, {
478
- key: "insertModalRoot",
479
- value: function insertModalRoot(id) {
480
- if (typeof window === 'undefined') {
481
- return false;
482
- }
483
-
484
- try {
485
- id = "dnb-modal-".concat(id || 'root');
486
- window.__modalRoot = document.getElementById(id);
487
-
488
- if (!window.__modalRoot) {
489
- window.__modalRoot = document.createElement('div');
490
-
491
- window.__modalRoot.setAttribute('id', id);
492
-
493
- document.body.insertBefore(window.__modalRoot, document.body.firstChild);
494
- }
495
- } catch (e) {
496
- (0, _componentHelper.warn)('Modal: Could not insert dnb-modal-root', e);
497
- }
498
-
499
- return window.__modalRoot;
500
- }
501
505
  }, {
502
506
  key: "getDerivedStateFromProps",
503
507
  value: function getDerivedStateFromProps(props, state) {
@@ -539,7 +543,7 @@ _defineProperty(Modal, "tagName", 'dnb-modal');
539
543
 
540
544
  _defineProperty(Modal, "contextType", _Context.default);
541
545
 
542
- _defineProperty(Modal, "Bar", _ModalHeader.ModalHeaderBar);
546
+ _defineProperty(Modal, "Bar", _ModalHeaderBar.default);
543
547
 
544
548
  _defineProperty(Modal, "Header", _ModalHeader.default);
545
549
 
@@ -549,8 +553,6 @@ _defineProperty(Modal, "Inner", _ModalInner.default);
549
553
 
550
554
  _defineProperty(Modal, "defaultProps", {
551
555
  id: null,
552
- root_id: 'root',
553
- mode: 'modal',
554
556
  focus_selector: null,
555
557
  labelled_by: null,
556
558
  title: null,
@@ -564,7 +566,7 @@ _defineProperty(Modal, "defaultProps", {
564
566
  close_button_attributes: null,
565
567
  prevent_close: false,
566
568
  prevent_core_style: false,
567
- animation_duration: 300,
569
+ animation_duration: ANIMATION_DURATION,
568
570
  no_animation: false,
569
571
  no_animation_on_mobile: false,
570
572
  fullscreen: 'auto',
@@ -575,6 +577,7 @@ _defineProperty(Modal, "defaultProps", {
575
577
  open_state: null,
576
578
  direct_dom_return: false,
577
579
  class: null,
580
+ root_id: 'root',
578
581
  className: null,
579
582
  children: null,
580
583
  on_open: null,
@@ -598,155 +601,4 @@ _defineProperty(Modal, "defaultProps", {
598
601
  modal_content: null,
599
602
  header_content: null,
600
603
  bar_content: null
601
- });
602
-
603
- process.env.NODE_ENV !== "production" ? Modal.propTypes = _objectSpread(_objectSpread({
604
- id: _propTypes.default.string,
605
- root_id: _propTypes.default.string,
606
- mode: _propTypes.default.oneOf(['modal', 'drawer']),
607
- focus_selector: _propTypes.default.string,
608
- labelled_by: _propTypes.default.string,
609
- title: _propTypes.default.node,
610
- disabled: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
611
- spacing: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
612
- open_delay: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
613
- content_id: _propTypes.default.string,
614
- dialog_title: _propTypes.default.string,
615
- close_title: _propTypes.default.string,
616
- hide_close_button: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
617
- close_button_attributes: _propTypes.default.object,
618
- prevent_close: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
619
- prevent_core_style: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
620
- animation_duration: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
621
- no_animation: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
622
- no_animation_on_mobile: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
623
- fullscreen: _propTypes.default.oneOf(['auto', true, false, 'true', 'false']),
624
- min_width: _propTypes.default.string,
625
- max_width: _propTypes.default.string,
626
- align_content: _propTypes.default.oneOf(['left', 'center', 'centered', 'right']),
627
- container_placement: _propTypes.default.oneOf(['left', 'right', 'top', 'bottom']),
628
- open_state: _propTypes.default.oneOfType([_propTypes.default.oneOf(['opened', 'closed']), _propTypes.default.bool]),
629
- direct_dom_return: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool])
630
- }, _SpacingHelper.spacingPropTypes), {}, {
631
- class: _propTypes.default.string,
632
- className: _propTypes.default.string,
633
- children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
634
- on_open: _propTypes.default.func,
635
- on_close: _propTypes.default.func,
636
- on_close_prevent: _propTypes.default.func,
637
- open_modal: _propTypes.default.func,
638
- close_modal: _propTypes.default.func,
639
- trigger: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
640
- trigger_attributes: _propTypes.default.object,
641
- trigger_hidden: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
642
- trigger_disabled: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
643
- trigger_variant: _Button.buttonVariantPropType.variant,
644
- trigger_text: _propTypes.default.string,
645
- trigger_title: _propTypes.default.string,
646
- trigger_size: _propTypes.default.string,
647
- trigger_icon: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node, _propTypes.default.func]),
648
- trigger_icon_position: _propTypes.default.oneOf(['left', 'right']),
649
- trigger_class: _propTypes.default.string,
650
- overlay_class: _propTypes.default.string,
651
- content_class: _propTypes.default.string,
652
- modal_content: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node, _propTypes.default.func]),
653
- header_content: _propTypes.default.node,
654
- bar_content: _propTypes.default.node
655
- }) : void 0;
656
-
657
- var ModalRoot = function (_React$PureComponent2) {
658
- _inherits(ModalRoot, _React$PureComponent2);
659
-
660
- var _super2 = _createSuper(ModalRoot);
661
-
662
- function ModalRoot() {
663
- var _this3;
664
-
665
- _classCallCheck(this, ModalRoot);
666
-
667
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
668
- args[_key] = arguments[_key];
669
- }
670
-
671
- _this3 = _super2.call.apply(_super2, [this].concat(args));
672
-
673
- _defineProperty(_assertThisInitialized(_this3), "state", {
674
- isMounted: false
675
- });
676
-
677
- return _this3;
678
- }
679
-
680
- _createClass(ModalRoot, [{
681
- key: "componentDidMount",
682
- value: function componentDidMount() {
683
- if (!(0, _componentHelper.isTrue)(this.props.direct_dom_return)) {
684
- Modal.insertModalRoot(this.props.root_id);
685
-
686
- try {
687
- if (!this.portalElem) {
688
- this.portalElem = document.createElement('div');
689
- this.portalElem.className = 'dnb-modal-root__inner';
690
- }
691
-
692
- if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot) {
693
- window.__modalRoot.appendChild(this.portalElem);
694
- }
695
- } catch (e) {
696
- (0, _componentHelper.warn)(e);
697
- }
698
-
699
- this.setState({
700
- isMounted: true
701
- });
702
- }
703
- }
704
- }, {
705
- key: "componentWillUnmount",
706
- value: function componentWillUnmount() {
707
- try {
708
- if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot && window.__modalRoot.removeChild) {
709
- window.__modalRoot.removeChild(this.portalElem);
710
-
711
- this.portalElem = null;
712
- }
713
- } catch (e) {
714
- (0, _componentHelper.warn)(e);
715
- }
716
- }
717
- }, {
718
- key: "render",
719
- value: function render() {
720
- var _this$props = this.props,
721
- children = _this$props.children,
722
- direct_dom_return = _this$props.direct_dom_return,
723
- props = _objectWithoutProperties(_this$props, _excluded2);
724
-
725
- if ((0, _componentHelper.isTrue)(direct_dom_return)) {
726
- return _react.default.createElement(_ModalContent.default, props, children);
727
- }
728
-
729
- if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot && this.state.isMounted) {
730
- return _reactDom.default.createPortal(_react.default.createElement(_ModalContent.default, props, children), this.portalElem);
731
- }
732
-
733
- return null;
734
- }
735
- }]);
736
-
737
- return ModalRoot;
738
- }(_react.default.PureComponent);
739
-
740
- _defineProperty(ModalRoot, "defaultProps", {
741
- id: null,
742
- root_id: null,
743
- direct_dom_return: false,
744
- children: null
745
- });
746
-
747
- process.env.NODE_ENV !== "production" ? ModalRoot.propTypes = {
748
- id: _propTypes.default.string,
749
- root_id: _propTypes.default.string,
750
- direct_dom_return: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
751
- children: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node, _propTypes.default.func])
752
- } : void 0;
604
+ });