@dnb/eufemia 9.17.1 → 9.20.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 +20 -142
  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 +44 -51
  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 +157 -299
  71. package/cjs/components/modal/ModalContent.js +169 -274
  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 +90 -0
  106. package/cjs/components/tag/style/dnb-tag.css +925 -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 +719 -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 +42 -45
  241. package/components/input-masked/InputMaskedUtils.js +9 -20
  242. package/components/lib.js +9 -1
  243. package/components/modal/Modal.js +146 -278
  244. package/components/modal/Modal.tsx +524 -0
  245. package/components/modal/ModalContent.js +162 -256
  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} +125 -179
  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 +90 -0
  292. package/components/tag/style/dnb-tag.css +925 -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 +27 -30
  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 +127 -251
  399. package/es/components/modal/Modal.tsx +524 -0
  400. package/es/components/modal/ModalContent.js +120 -213
  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} +125 -179
  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 +90 -0
  447. package/es/components/tag/style/dnb-tag.css +925 -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 +719 -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 +42 -45
  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 +146 -278
  591. package/esm/components/modal/Modal.tsx +524 -0
  592. package/esm/components/modal/ModalContent.js +162 -256
  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} +125 -179
  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 +90 -0
  639. package/esm/components/tag/style/dnb-tag.css +925 -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 +719 -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 +719 -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 -325
  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
@@ -82,7 +82,7 @@ export interface HelpButtonProps extends React.HTMLProps<HTMLElement> {
82
82
  title?: React.ReactNode;
83
83
 
84
84
  /**
85
- * Defines the kind of button. Possible values are `primary`, `secondary`, `tertiary` and `signal`.
85
+ * Defines the kind of button. Possible values are `primary`, `secondary`, `tertiary` and `signal`. Defaults to `primary`.
86
86
  */
87
87
  variant?: any;
88
88
 
@@ -3,7 +3,8 @@ export type HelpButtonInstanceVariant =
3
3
  | 'primary'
4
4
  | 'secondary'
5
5
  | 'tertiary'
6
- | 'signal';
6
+ | 'signal'
7
+ | 'unstyled';
7
8
  export type HelpButtonInstanceIcon =
8
9
  | string
9
10
  | React.ReactNode
@@ -47,7 +48,7 @@ export interface HelpButtonInstanceProps
47
48
  id?: string;
48
49
 
49
50
  /**
50
- * Defines the kind of button. Possible values are `primary`, `secondary`, `tertiary` and `signal`.
51
+ * Defines the kind of button. Possible values are `primary`, `secondary`, `tertiary` and `signal`. Defaults to `primary`.
51
52
  */
52
53
  variant?: HelpButtonInstanceVariant;
53
54
 
@@ -46,7 +46,7 @@ export type IconChildren = React.ReactNode | ((...args: any[]) => any);
46
46
  */
47
47
  export interface IconProps extends React.HTMLProps<HTMLElement> {
48
48
  /**
49
- * A React SVG Component or the icon name (in case we use `IconPrimary` or `dnb-icon-primary`).
49
+ * <em>(required)</em> a React SVG Component or the icon name (in case we use `IconPrimary` or `dnb-icon-primary`).
50
50
  */
51
51
  icon?: IconIcon;
52
52
 
@@ -56,7 +56,7 @@ export interface IconProps extends React.HTMLProps<HTMLElement> {
56
56
  modifier?: string;
57
57
 
58
58
  /**
59
- * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the mother HTML element, if it provides a `font-size`.
59
+ * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the parent HTML element if it provides a `font-size`.
60
60
  */
61
61
  size?: IconSize;
62
62
 
@@ -53,9 +53,10 @@ export type IconPrimaryChildren =
53
53
  * NB: Do not change the docs (comments) in here. The docs are updated during build time by "generateTypes.js" and "fetchPropertiesFromDocs.js".
54
54
  */
55
55
 
56
- export interface IconPrimaryProps extends React.HTMLProps<HTMLElement> {
56
+ export interface IconPrimaryProps
57
+ extends Omit<React.HTMLProps<HTMLElement>, 'size'> {
57
58
  /**
58
- * A React SVG Component or the icon name (in case we use `IconPrimary` or `dnb-icon-primary`).
59
+ * <em>(required)</em> a React SVG Component or the icon name (in case we use `IconPrimary` or `dnb-icon-primary`).
59
60
  */
60
61
  icon?: IconPrimaryIcon;
61
62
 
@@ -65,7 +66,7 @@ export interface IconPrimaryProps extends React.HTMLProps<HTMLElement> {
65
66
  modifier?: string;
66
67
 
67
68
  /**
68
- * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the mother HTML element, if it provides a `font-size`.
69
+ * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the parent HTML element if it provides a `font-size`.
69
70
  */
70
71
  size?: IconPrimarySize;
71
72
 
@@ -12,6 +12,7 @@
12
12
  // import all the available components
13
13
  import Accordion from './accordion/Accordion'
14
14
  import Autocomplete from './autocomplete/Autocomplete'
15
+ import Avatar from './avatar/Avatar'
15
16
  import Breadcrumb from './breadcrumb/Breadcrumb'
16
17
  import Button from './button/Button'
17
18
  import Checkbox from './checkbox/Checkbox'
@@ -27,6 +28,7 @@ import Heading from './heading/Heading'
27
28
  import HelpButton from './help-button/HelpButton'
28
29
  import Icon from './icon/Icon'
29
30
  import IconPrimary from './icon-primary/IconPrimary'
31
+ import InfoCard from './info-card/InfoCard'
30
32
  import Input from './input/Input'
31
33
  import InputMasked from './input-masked/InputMasked'
32
34
  import Logo from './logo/Logo'
@@ -42,7 +44,9 @@ import Space from './space/Space'
42
44
  import StepIndicator from './step-indicator/StepIndicator'
43
45
  import Switch from './switch/Switch'
44
46
  import Tabs from './tabs/Tabs'
47
+ import Tag from './tag/Tag'
45
48
  import Textarea from './textarea/Textarea'
49
+ import Timeline from './timeline/Timeline'
46
50
  import ToggleButton from './toggle-button/ToggleButton'
47
51
  import Tooltip from './tooltip/Tooltip'
48
52
 
@@ -50,6 +54,7 @@ import Tooltip from './tooltip/Tooltip'
50
54
  export {
51
55
  Accordion,
52
56
  Autocomplete,
57
+ Avatar,
53
58
  Breadcrumb,
54
59
  Button,
55
60
  Checkbox,
@@ -65,6 +70,7 @@ export {
65
70
  HelpButton,
66
71
  Icon,
67
72
  IconPrimary,
73
+ InfoCard,
68
74
  Input,
69
75
  InputMasked,
70
76
  Logo,
@@ -80,7 +86,9 @@ export {
80
86
  StepIndicator,
81
87
  Switch,
82
88
  Tabs,
89
+ Tag,
83
90
  Textarea,
91
+ Timeline,
84
92
  ToggleButton,
85
93
  Tooltip,
86
94
  }
@@ -1,5 +1,6 @@
1
1
  import Accordion from './accordion/Accordion';
2
2
  import Autocomplete from './autocomplete/Autocomplete';
3
+ import Avatar from './avatar/Avatar';
3
4
  import Breadcrumb from './breadcrumb/Breadcrumb';
4
5
  import Button from './button/Button';
5
6
  import Checkbox from './checkbox/Checkbox';
@@ -15,6 +16,7 @@ import Heading from './heading/Heading';
15
16
  import HelpButton from './help-button/HelpButton';
16
17
  import Icon from './icon/Icon';
17
18
  import IconPrimary from './icon-primary/IconPrimary';
19
+ import InfoCard from './info-card/InfoCard';
18
20
  import Input from './input/Input';
19
21
  import InputMasked from './input-masked/InputMasked';
20
22
  import Logo from './logo/Logo';
@@ -30,7 +32,9 @@ import Space from './space/Space';
30
32
  import StepIndicator from './step-indicator/StepIndicator';
31
33
  import Switch from './switch/Switch';
32
34
  import Tabs from './tabs/Tabs';
35
+ import Tag from './tag/Tag';
33
36
  import Textarea from './textarea/Textarea';
37
+ import Timeline from './timeline/Timeline';
34
38
  import ToggleButton from './toggle-button/ToggleButton';
35
39
  import Tooltip from './tooltip/Tooltip';
36
- export { Accordion, Autocomplete, Breadcrumb, Button, Checkbox, DatePicker, Dropdown, FormLabel, FormRow, FormSet, FormStatus, GlobalError, GlobalStatus, Heading, HelpButton, Icon, IconPrimary, Input, InputMasked, Logo, Modal, NumberFormat, Pagination, ProgressIndicator, Radio, Section, Skeleton, Slider, Space, StepIndicator, Switch, Tabs, Textarea, ToggleButton, Tooltip };
40
+ export { Accordion, Autocomplete, Avatar, Breadcrumb, Button, Checkbox, DatePicker, Dropdown, FormLabel, FormRow, FormSet, FormStatus, GlobalError, GlobalStatus, Heading, HelpButton, Icon, IconPrimary, InfoCard, Input, InputMasked, Logo, Modal, NumberFormat, Pagination, ProgressIndicator, Radio, Section, Skeleton, Slider, Space, StepIndicator, Switch, Tabs, Tag, Textarea, Timeline, ToggleButton, Tooltip };
@@ -0,0 +1,135 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
+ const _excluded = ["alt", "centered", "title", "skeleton", "className", "icon", "src", "imgProps", "text", "onClose", "onAccept", "closeButtonText", "acceptButtonText", "closeButtonAttributes", "acceptButtonAttributes"];
5
+
6
+ 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; }
7
+
8
+ 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; }
9
+
10
+ import React from 'react';
11
+ import classnames from 'classnames';
12
+ import Button from '../button/Button';
13
+ import IconPrimary from '../icon-primary/IconPrimary';
14
+ import Img from '../../elements/Img';
15
+ import Div from '../../elements/Div';
16
+ import H3 from '../../elements/H3';
17
+ import P from '../../elements/P';
18
+ import { lightbulb_medium as LightbulbIcon } from '../../icons';
19
+ import { createSpacingClasses } from '../space/SpacingHelper';
20
+ import { createSkeletonClass } from '../skeleton/SkeletonHelper';
21
+ import Context from '../../shared/Context';
22
+ import { usePropsWithContext } from '../../shared/hooks';
23
+ export const defaultProps = {
24
+ alt: null,
25
+ centered: false,
26
+ className: null,
27
+ skeleton: false,
28
+ icon: LightbulbIcon,
29
+ imgProps: null,
30
+ src: null,
31
+ title: null,
32
+ onAccept: null,
33
+ onClose: null,
34
+ closeButtonText: null,
35
+ acceptButtonText: null,
36
+ closeButtonAttributes: null,
37
+ acceptButtonAttributes: null
38
+ };
39
+
40
+ const InfoCard = localProps => {
41
+ var _IconPrimary;
42
+
43
+ const context = React.useContext(Context);
44
+
45
+ const _usePropsWithContext = usePropsWithContext(_objectSpread(_objectSpread({}, defaultProps), localProps)),
46
+ {
47
+ alt,
48
+ centered,
49
+ title,
50
+ skeleton,
51
+ className,
52
+ icon,
53
+ src,
54
+ imgProps,
55
+ text,
56
+ onClose,
57
+ onAccept,
58
+ closeButtonText,
59
+ acceptButtonText,
60
+ closeButtonAttributes,
61
+ acceptButtonAttributes
62
+ } = _usePropsWithContext,
63
+ props = _objectWithoutProperties(_usePropsWithContext, _excluded);
64
+
65
+ const skeletonClasses = createSkeletonClass('shape', skeleton, context);
66
+ const spacingClasses = createSpacingClasses(props);
67
+ const closeButtonIsHidden = !onClose && !closeButtonText;
68
+ const acceptButtonIsHidden = !onAccept && !acceptButtonText;
69
+ return React.createElement(Div, _extends({
70
+ className: classnames('dnb-info-card', skeletonClasses, spacingClasses, className, centered && 'dnb-info-card--centered'),
71
+ "data-testid": "info-card"
72
+ }, props), React.createElement(Div, {
73
+ right: !centered && 'small',
74
+ bottom: centered && 'small'
75
+ }, getIllustration()), React.createElement("div", {
76
+ className: "dnb-info-card--content",
77
+ "data-testid": "info-card-content"
78
+ }, title && React.createElement(H3, {
79
+ size: "small",
80
+ "data-testid": "info-card-title",
81
+ bottom: "x-small",
82
+ top: "0"
83
+ }, title), React.createElement(P, {
84
+ size: "small",
85
+ "data-testid": "info-card-text",
86
+ bottom: "0"
87
+ }, text), getButtons()));
88
+
89
+ function getButtons() {
90
+ if (closeButtonIsHidden && acceptButtonIsHidden) return null;
91
+ return React.createElement(Div, {
92
+ top: centered ? 'medium' : 'small',
93
+ className: 'dnb-info-card--buttons' + (centered ? " dnb-info-card--buttons-centered" : "")
94
+ }, !acceptButtonIsHidden && React.createElement(Button, _extends({
95
+ type: "button",
96
+ "data-testid": "info-card-accept-button",
97
+ variant: "secondary",
98
+ right: !centered && 'small',
99
+ on_click: onAccept,
100
+ text: acceptButtonText
101
+ }, acceptButtonAttributes)), !closeButtonIsHidden && React.createElement(Button, _extends({
102
+ type: "button",
103
+ "data-testid": "info-card-close-button",
104
+ variant: "tertiary",
105
+ top: centered && 'small',
106
+ on_click: onClose,
107
+ icon: "close",
108
+ icon_position: "left",
109
+ text: closeButtonText
110
+ }, closeButtonAttributes)));
111
+ }
112
+
113
+ function getIllustration() {
114
+ if (src || imgProps) {
115
+ const imageProps = _objectSpread({
116
+ src,
117
+ alt
118
+ }, imgProps);
119
+
120
+ return React.createElement(Img, _extends({
121
+ "data-testid": "info-card-image",
122
+ className: "dnb-info-card--image"
123
+ }, imageProps));
124
+ }
125
+
126
+ return _IconPrimary || (_IconPrimary = React.createElement(IconPrimary, {
127
+ size: "medium",
128
+ className: "dnb-info-card--icon",
129
+ icon: icon,
130
+ "data-testid": "info-card-icon"
131
+ }));
132
+ }
133
+ };
134
+
135
+ export default InfoCard;
@@ -0,0 +1,250 @@
1
+ import React from 'react'
2
+ import classnames from 'classnames'
3
+
4
+ // Components
5
+ import Button, { ButtonProps } from '../button/Button'
6
+ import IconPrimary, { IconPrimaryIcon } from '../icon-primary/IconPrimary'
7
+ import Img, { ImgProps } from '../../elements/Img'
8
+ import Div from '../../elements/Div'
9
+ import H3 from '../../elements/H3'
10
+ import P from '../../elements/P'
11
+
12
+ // Icons
13
+ import { lightbulb_medium as LightbulbIcon } from '../../icons'
14
+
15
+ // Shared
16
+ import { createSpacingClasses } from '../space/SpacingHelper'
17
+ import { createSkeletonClass } from '../skeleton/SkeletonHelper'
18
+ import { SkeletonShow } from '../skeleton/Skeleton'
19
+ import Context from '../../shared/Context'
20
+ import { ISpacingProps } from '../../shared/interfaces'
21
+ import { usePropsWithContext } from '../../shared/hooks'
22
+
23
+ export interface InfoCardProps {
24
+ /**
25
+ * Used in combination with `src` to provide an alt attribute for the `img` element.
26
+ * Default: null
27
+ */
28
+ alt?: React.ReactNode
29
+ /**
30
+ * Aligns the content to center, rather than left
31
+ * Default: false
32
+ */
33
+ centered?: boolean
34
+ /**
35
+ * Custom className on the component root
36
+ * Default: null
37
+ */
38
+ className?: string
39
+ /**
40
+ * Replace the default icon with custom icon.
41
+ * Default: Lightbulb (icon)
42
+ */
43
+ icon?: IconPrimaryIcon
44
+ /**
45
+ * Props applied to the `img` element if the component is used to display an image. Replace the 'icon'
46
+ * Default: null
47
+ */
48
+ imgProps?: ImgProps
49
+ /**
50
+ * Skeleton should be applied when loading content
51
+ * Default: null
52
+ */
53
+ skeleton?: SkeletonShow
54
+ /**
55
+ * Specifies the path to the image
56
+ * Default: null
57
+ */
58
+ src?: string
59
+ /**
60
+ * Image src, will replace the 'icon' with the image
61
+ * Default: null
62
+ */
63
+ text: React.ReactNode
64
+ /**
65
+ * Component title
66
+ * Default: null
67
+ */
68
+ title?: React.ReactNode
69
+ /**
70
+ * Is called when the close button is clicked
71
+ * Default: null
72
+ */
73
+ onClose?: React.MouseEventHandler<HTMLButtonElement>
74
+ /**
75
+ * The text of the close button.
76
+ * Default: null
77
+ */
78
+ closeButtonText?: React.ReactNode
79
+ /**
80
+ * Is called when the accept button is clicked
81
+ * Default: null
82
+ */
83
+ onAccept?: React.MouseEventHandler<HTMLButtonElement>
84
+ /**
85
+ * The text of the accept button.
86
+ * Default: null
87
+ */
88
+ acceptButtonText?: React.ReactNode
89
+ /**
90
+ * Additional attributes for the close button.
91
+ * Default: null
92
+ */
93
+ closeButtonAttributes?: ButtonProps
94
+ /**
95
+ * Additional attributes for the accept button
96
+ * Default: null
97
+ */
98
+ acceptButtonAttributes?: ButtonProps
99
+ }
100
+
101
+ export const defaultProps = {
102
+ alt: null,
103
+ centered: false,
104
+ className: null,
105
+ skeleton: false,
106
+ icon: LightbulbIcon,
107
+ imgProps: null,
108
+ src: null,
109
+ title: null,
110
+ onAccept: null,
111
+ onClose: null,
112
+ closeButtonText: null,
113
+ acceptButtonText: null,
114
+ closeButtonAttributes: null,
115
+ acceptButtonAttributes: null,
116
+ }
117
+
118
+ const InfoCard = (localProps: InfoCardProps & ISpacingProps) => {
119
+ // Every component should have a context
120
+ const context = React.useContext(Context)
121
+ // Extract additional props from global context
122
+ const {
123
+ alt,
124
+ centered,
125
+ title,
126
+ skeleton,
127
+ className,
128
+ icon,
129
+ src,
130
+ imgProps,
131
+ text,
132
+ onClose,
133
+ onAccept,
134
+ closeButtonText,
135
+ acceptButtonText,
136
+ closeButtonAttributes,
137
+ acceptButtonAttributes,
138
+ ...props
139
+ } = usePropsWithContext({
140
+ ...defaultProps,
141
+ ...localProps,
142
+ })
143
+
144
+ const skeletonClasses = createSkeletonClass('shape', skeleton, context)
145
+ const spacingClasses = createSpacingClasses(props)
146
+
147
+ const closeButtonIsHidden = !onClose && !closeButtonText
148
+ const acceptButtonIsHidden = !onAccept && !acceptButtonText
149
+
150
+ return (
151
+ <Div
152
+ className={classnames(
153
+ 'dnb-info-card',
154
+ skeletonClasses,
155
+ spacingClasses,
156
+ centered && 'dnb-info-card--centered',
157
+ className
158
+ )}
159
+ data-testid="info-card"
160
+ {...props}
161
+ >
162
+ <Div right={!centered && 'small'} bottom={centered && 'small'}>
163
+ {getIllustration()}
164
+ </Div>
165
+
166
+ <div
167
+ className="dnb-info-card--content"
168
+ data-testid="info-card-content"
169
+ >
170
+ {title && (
171
+ <H3
172
+ size="small"
173
+ data-testid="info-card-title"
174
+ bottom="x-small"
175
+ top="0"
176
+ >
177
+ {title}
178
+ </H3>
179
+ )}
180
+ <P size="small" data-testid="info-card-text" bottom="0">
181
+ {text}
182
+ </P>
183
+
184
+ {getButtons()}
185
+ </div>
186
+ </Div>
187
+ )
188
+
189
+ function getButtons() {
190
+ if (closeButtonIsHidden && acceptButtonIsHidden) return null
191
+
192
+ return (
193
+ <Div
194
+ top={centered ? 'medium' : 'small'}
195
+ className={classnames(
196
+ 'dnb-info-card--buttons',
197
+ centered && 'dnb-info-card--buttons-centered'
198
+ )}
199
+ >
200
+ {!acceptButtonIsHidden && (
201
+ <Button
202
+ type="button"
203
+ data-testid="info-card-accept-button"
204
+ variant="secondary"
205
+ right={!centered && 'small'}
206
+ on_click={onAccept}
207
+ text={acceptButtonText}
208
+ {...acceptButtonAttributes}
209
+ />
210
+ )}
211
+ {!closeButtonIsHidden && (
212
+ <Button
213
+ type="button"
214
+ data-testid="info-card-close-button"
215
+ variant="tertiary"
216
+ top={centered && 'small'}
217
+ on_click={onClose}
218
+ icon="close"
219
+ icon_position="left"
220
+ text={closeButtonText}
221
+ {...closeButtonAttributes}
222
+ />
223
+ )}
224
+ </Div>
225
+ )
226
+ }
227
+
228
+ function getIllustration() {
229
+ if (src || imgProps) {
230
+ const imageProps = { src, alt, ...imgProps }
231
+ return (
232
+ <Img
233
+ data-testid="info-card-image"
234
+ className="dnb-info-card--image"
235
+ {...imageProps}
236
+ />
237
+ )
238
+ }
239
+ return (
240
+ <IconPrimary
241
+ size="medium"
242
+ className="dnb-info-card--icon"
243
+ icon={icon}
244
+ data-testid="info-card-icon"
245
+ />
246
+ )
247
+ }
248
+ }
249
+
250
+ export default InfoCard
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Component Entry
3
+ *
4
+ */
5
+
6
+ import InfoCard from './InfoCard';
7
+ export default InfoCard;
8
+ export * from './InfoCard';
@@ -0,0 +1,3 @@
1
+ import InfoCard from './InfoCard';
2
+ export default InfoCard;
3
+ export * from './InfoCard';
@@ -0,0 +1,52 @@
1
+ /*
2
+ * InfoCard component
3
+ *
4
+ */
5
+
6
+ .dnb-info-card {
7
+ display: flex;
8
+ flex-direction: row;
9
+
10
+ background: white;
11
+
12
+ border: 1px solid var(--color-black-8);
13
+ border-radius: 0.25rem;
14
+ padding: 1rem;
15
+
16
+ @include defaultDropShadow();
17
+
18
+ &--centered {
19
+ flex-direction: column;
20
+ align-items: center;
21
+ text-align: center;
22
+ }
23
+
24
+ &--content {
25
+ flex-direction: column;
26
+ margin-top: 0.1875rem;
27
+ }
28
+
29
+ &--centered &--content {
30
+ flex-direction: column;
31
+ margin-top: 0;
32
+ }
33
+
34
+ &--icon {
35
+ color: var(--color-emerald-green);
36
+ }
37
+
38
+ &--image {
39
+ height: 4rem;
40
+ width: 4rem;
41
+ }
42
+
43
+ &--buttons {
44
+ display: flex;
45
+ flex-direction: row;
46
+ &-centered {
47
+ flex-direction: column;
48
+ align-items: center;
49
+ text-align: center;
50
+ }
51
+ }
52
+ }