@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
@@ -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
+ }
@@ -0,0 +1,135 @@
1
+ /*
2
+ * DNB InfoCard
3
+ *
4
+ */
5
+ /**
6
+ * This file is only used to make components independent
7
+ * so that they can get imported individually, without the core styles
8
+ *
9
+ */
10
+ /*
11
+ * Utilities
12
+ */
13
+ /*
14
+ * Scopes
15
+ *
16
+ */
17
+ /*
18
+ * Document Reset
19
+ *
20
+ */
21
+ .dnb-info-card {
22
+ font-family: 'DNB', sans-serif;
23
+ font-family: var(--font-family-default);
24
+ font-weight: normal;
25
+ font-weight: var(--font-weight-basis);
26
+ font-size: 1rem;
27
+ font-size: var(--font-size-small);
28
+ font-style: normal;
29
+ line-height: 1.5rem;
30
+ line-height: var(--line-height-basis);
31
+ color: #333;
32
+ color: var(--color-black-80, #333);
33
+ -moz-osx-font-smoothing: grayscale;
34
+ -webkit-font-smoothing: antialiased;
35
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
36
+ /**
37
+ * Ensure consistency and use the same as HTML reset -> html {...}
38
+ * between base and code package
39
+ */
40
+ -moz-tab-size: 4;
41
+ -o-tab-size: 4;
42
+ tab-size: 4;
43
+ -ms-text-size-adjust: 100%;
44
+ -webkit-text-size-adjust: 100%;
45
+ word-break: break-word;
46
+ /**
47
+ * 1. Remove repeating backgrounds in all browsers (opinionated).
48
+ * 2. Add border box sizing in all browsers (opinionated).
49
+ */
50
+ /**
51
+ * 1. Add text decoration inheritance in all browsers (opinionated).
52
+ * 2. Add vertical alignment inheritance in all browsers (opinionated).
53
+ */
54
+ margin: 0;
55
+ padding: 0; }
56
+ .dnb-info-card *,
57
+ .dnb-info-card ::before,
58
+ .dnb-info-card ::after {
59
+ background-repeat: no-repeat;
60
+ /* 1 */
61
+ -webkit-box-sizing: border-box;
62
+ box-sizing: border-box;
63
+ /* 2 */ }
64
+ .dnb-info-card ::before,
65
+ .dnb-info-card ::after {
66
+ text-decoration: inherit;
67
+ /* 1 */
68
+ vertical-align: inherit;
69
+ /* 2 */ }
70
+
71
+ /*
72
+ * InfoCard component
73
+ *
74
+ */
75
+ .dnb-info-card {
76
+ display: -webkit-box;
77
+ display: -ms-flexbox;
78
+ display: flex;
79
+ -webkit-box-orient: horizontal;
80
+ -webkit-box-direction: normal;
81
+ -ms-flex-direction: row;
82
+ flex-direction: row;
83
+ background: white;
84
+ border: 1px solid #ebebeb;
85
+ border: 1px solid var(--color-black-8);
86
+ border-radius: 0.25rem;
87
+ padding: 1rem;
88
+ -webkit-box-shadow: 0 8px 16px rgba(51, 51, 51, 0.08);
89
+ box-shadow: 0 8px 16px rgba(51, 51, 51, 0.08);
90
+ -webkit-box-shadow: var(--shadow-default);
91
+ box-shadow: var(--shadow-default); }
92
+ .dnb-info-card--centered {
93
+ -webkit-box-orient: vertical;
94
+ -webkit-box-direction: normal;
95
+ -ms-flex-direction: column;
96
+ flex-direction: column;
97
+ -webkit-box-align: center;
98
+ -ms-flex-align: center;
99
+ align-items: center;
100
+ text-align: center; }
101
+ .dnb-info-card--content {
102
+ -webkit-box-orient: vertical;
103
+ -webkit-box-direction: normal;
104
+ -ms-flex-direction: column;
105
+ flex-direction: column;
106
+ margin-top: 0.1875rem; }
107
+ .dnb-info-card--centered .dnb-info-card--content {
108
+ -webkit-box-orient: vertical;
109
+ -webkit-box-direction: normal;
110
+ -ms-flex-direction: column;
111
+ flex-direction: column;
112
+ margin-top: 0; }
113
+ .dnb-info-card--icon {
114
+ color: #14555a;
115
+ color: var(--color-emerald-green); }
116
+ .dnb-info-card--image {
117
+ height: 4rem;
118
+ width: 4rem; }
119
+ .dnb-info-card--buttons {
120
+ display: -webkit-box;
121
+ display: -ms-flexbox;
122
+ display: flex;
123
+ -webkit-box-orient: horizontal;
124
+ -webkit-box-direction: normal;
125
+ -ms-flex-direction: row;
126
+ flex-direction: row; }
127
+ .dnb-info-card--buttons-centered {
128
+ -webkit-box-orient: vertical;
129
+ -webkit-box-direction: normal;
130
+ -ms-flex-direction: column;
131
+ flex-direction: column;
132
+ -webkit-box-align: center;
133
+ -ms-flex-align: center;
134
+ align-items: center;
135
+ text-align: center; }
@@ -0,0 +1 @@
1
+ .dnb-info-card{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-info-card *,.dnb-info-card :after,.dnb-info-card :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-info-card :after,.dnb-info-card :before{text-decoration:inherit;vertical-align:inherit}.dnb-info-card{-webkit-box-orient:horizontal;-webkit-box-direction:normal;background:#fff;border:1px solid #ebebeb;border:1px solid var(--color-black-8);border-radius:.25rem;-webkit-box-shadow:0 8px 16px rgba(51,51,51,.08);box-shadow:0 8px 16px rgba(51,51,51,.08);-webkit-box-shadow:var(--shadow-default);box-shadow:var(--shadow-default);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;padding:1rem}.dnb-info-card--centered{-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.dnb-info-card--centered,.dnb-info-card--content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.dnb-info-card--content{margin-top:.1875rem}.dnb-info-card--centered .dnb-info-card--content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-top:0}.dnb-info-card--icon{color:#14555a;color:var(--color-emerald-green)}.dnb-info-card--image{height:4rem;width:4rem}.dnb-info-card--buttons{-webkit-box-orient:horizontal;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}.dnb-info-card--buttons-centered{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;text-align:center}
@@ -0,0 +1,12 @@
1
+ /*
2
+ * DNB InfoCard
3
+ *
4
+ */
5
+
6
+ @import '../../../style/components/imports.scss';
7
+
8
+ .dnb-info-card {
9
+ @include componentReset();
10
+ }
11
+
12
+ @import './_info-card.scss';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Web Style Import
3
+ *
4
+ */
5
+
6
+ import './dnb-info-card.scss';
@@ -0,0 +1 @@
1
+ import "./dnb-info-card.min.css";
@@ -0,0 +1 @@
1
+ import "./style/dnb-info-card.min.css";
@@ -43,7 +43,8 @@ export type InputSubmitButtonVariant =
43
43
  | 'primary'
44
44
  | 'secondary'
45
45
  | 'tertiary'
46
- | 'signal';
46
+ | 'signal'
47
+ | 'unstyled';
47
48
  export type InputSubmitButtonIcon =
48
49
  | string
49
50
  | React.ReactNode
@@ -89,7 +90,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
89
90
  type?: string;
90
91
 
91
92
  /**
92
- * The sizes you can sue is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`. Also, if You define a number like `size="2"` then the it will be forwarded as the input element attribute.
93
+ * The sizes you can sue is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`. Also, if You define a number like `size="2"` then it will be forwarded as the input element attribute.
93
94
  */
94
95
  size?: InputSize;
95
96
 
@@ -120,7 +121,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
120
121
  status?: InputStatus;
121
122
 
122
123
  /**
123
- * Defines the state of the status. Currently there are two statuses `[error, info]`. Defaults to `error`.
124
+ * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.
124
125
  */
125
126
  status_state?: string;
126
127
 
@@ -141,7 +142,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
141
142
  global_status_id?: string;
142
143
 
143
144
  /**
144
- * Defaults to `off`. Set to `on` or any of <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete">allowed `attributes`</a>. Keep in mind, 1. you may have to define a `name`, 2. have the input as a descendants of a `<form>` element, 3. and have a submit button inside the form.
145
+ * Defaults to `off`. Set to `on` or any of <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete">allowed `attributes`</a>. Keep in mind, 1. you may have to define a `name`, 2. have the input as a descendant of a `<form>` element, 3. and have a submit button inside the form.
145
146
  */
146
147
  autocomplete?: string;
147
148
 
@@ -162,7 +163,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
162
163
  clear?: InputClear;
163
164
 
164
165
  /**
165
- * Set to `true` in case the `placeholder` has to be kept during focus. By default the placeholder disappears on focus.
166
+ * Set to `true` in case the `placeholder` has to be kept during focus. By default, the placeholder disappears on focus.
166
167
  */
167
168
  keep_placeholder?: InputKeepPlaceholder;
168
169
 
@@ -199,17 +200,17 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
199
200
  input_class?: string;
200
201
 
201
202
  /**
202
- * Provide the Input element with any attributes by using an Object `input_attributes={{size:&#39;2&#39;}}` or a JSON Object `input_attributes=&#39;{"size":"2"}&#39;`. "NB:" Keep in mind, that also every not listed component property will be send along and set as a Input element attribute.
203
+ * Provide the Input element with any attributes by using an Object `input_attributes={{size:&#39;2&#39;}}` or a JSON Object `input_attributes=&#39;{"size":"2"}&#39;`. "NB:" Keep in mind, that also every not listed component property will be sent along and set as an Input element attribute.
203
204
  */
204
205
  input_attributes?: InputInputAttributes;
205
206
 
206
207
  /**
207
- * <em>(internal)</em> by providing a new component we can change the internal used element. Also supports a string only, like `input_element="input"`.
208
+ * <em>(internal)</em> by providing a new component we can change the internally used element. Also supports a string only, like `input_element="input"`.
208
209
  */
209
210
  input_element?: InputInputElement;
210
211
 
211
212
  /**
212
- * Icon to show before or after the input / placeholder. Can be either a string defining a primary icon, or a Component using a SVG icon of either 16px or 24px.
213
+ * Icon to show before or after the input / placeholder. Can be either a string defining a primary icon or a Component using an SVG icon of either 16px or 24px.
213
214
  */
214
215
  icon?: InputIcon;
215
216
 
@@ -224,7 +225,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
224
225
  icon_position?: InputIconPosition;
225
226
 
226
227
  /**
227
- * By providing a React.ref we can get the internal used input element (DOM). E.g. `inner_ref={myRef}` by using `React.createRef()` or `React.useRef()`.
228
+ * By providing a React.ref we can get the internally used input element (DOM). E.g. `inner_ref={myRef}` by using `React.createRef()` or `React.useRef()`.
228
229
  */
229
230
  inner_ref?: InputInnerRef;
230
231
  readOnly?: InputReadOnly;
@@ -267,7 +268,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
267
268
  custom_method?: (...args: any[]) => any;
268
269
 
269
270
  /**
270
- * Will be called on value changes made by the user. Returns an object with the value as a string and the a native event: `{ value, event }`.
271
+ * Will be called on value changes made by the user. Returns an object with the value as a string and the native event: `{ value, event }`.
271
272
  */
272
273
  on_change?: (...args: any[]) => any;
273
274
 
@@ -96,7 +96,7 @@ export type InputMaskedChildren =
96
96
  */
97
97
  export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
98
98
  /**
99
- * A mask can be define both as a <a href="https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme">RegExp style of characters</a> or a callback function. Example below.
99
+ * A mask can be defined both as a <a href="https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme">RegExp style of characters</a> or a callback function. Example below.
100
100
  */
101
101
  mask?: InputMaskedMask;
102
102
 
@@ -106,7 +106,7 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
106
106
  number_mask?: InputMaskedNumberMask;
107
107
 
108
108
  /**
109
- * Set to `true` or set the <em>valuta</em> (currency_mask="kr") to enable the a custom currency mask – or give an `object` containing the number mask properties. More details below. Can be a JSON string as well, containing the number mask properties. Is disabled by default. Defaults to `kr`.
109
+ * Set to `true` or set the <em>valuta</em> (currency_mask="kr") to enable a custom currency mask – or give an `object` containing the number mask properties. More details below. Can be a JSON string as well, containing the number mask properties. Is disabled by default. Defaults to `kr`.
110
110
  */
111
111
  currency_mask?: InputMaskedCurrencyMask;
112
112
 
@@ -162,12 +162,12 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
162
162
  placeholder_char?: string;
163
163
 
164
164
  /**
165
- * By providing a React.ref we can get the internal used input element (DOM). E.g. `inner_ref={myRef}` by using `React.createRef()` or `React.useRef()`.
165
+ * By providing a React.ref we can get the internally used input element (DOM). E.g. `inner_ref={myRef}` by using `React.createRef()` or `React.useRef()`.
166
166
  */
167
167
  inner_ref?: Object;
168
168
 
169
169
  /**
170
- * Will be called on value changes made by the user. Returns an object with the value as a string and the a native event: `{ value, event }`.
170
+ * Will be called on value changes made by the user. Returns an object with the value as a string and the native event: `{ value, event }`.
171
171
  */
172
172
  on_change?: (...args: any[]) => any;
173
173
 
@@ -194,7 +194,7 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
194
194
  type?: string;
195
195
 
196
196
  /**
197
- * The sizes you can sue is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`. Also, if You define a number like `size="2"` then the it will be forwarded as the input element attribute.
197
+ * The sizes you can sue is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`. Also, if You define a number like `size="2"` then it will be forwarded as the input element attribute.
198
198
  */
199
199
  size?: InputMaskedSize;
200
200
 
@@ -225,7 +225,7 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
225
225
  status?: InputMaskedStatus;
226
226
 
227
227
  /**
228
- * Defines the state of the status. Currently there are two statuses `[error, info]`. Defaults to `error`.
228
+ * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.
229
229
  */
230
230
  status_state?: string;
231
231
 
@@ -246,7 +246,7 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
246
246
  global_status_id?: string;
247
247
 
248
248
  /**
249
- * Defaults to `off`. Set to `on` or any of <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete">allowed `attributes`</a>. Keep in mind, 1. you may have to define a `name`, 2. have the input as a descendants of a `<form>` element, 3. and have a submit button inside the form.
249
+ * Defaults to `off`. Set to `on` or any of <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete">allowed `attributes`</a>. Keep in mind, 1. you may have to define a `name`, 2. have the input as a descendant of a `<form>` element, 3. and have a submit button inside the form.
250
250
  */
251
251
  autocomplete?: string;
252
252
 
@@ -267,7 +267,7 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
267
267
  clear?: InputMaskedClear;
268
268
 
269
269
  /**
270
- * Set to `true` in case the `placeholder` has to be kept during focus. By default the placeholder disappears on focus.
270
+ * Set to `true` in case the `placeholder` has to be kept during focus. By default, the placeholder disappears on focus.
271
271
  */
272
272
  keep_placeholder?: InputMaskedKeepPlaceholder;
273
273
 
@@ -304,17 +304,17 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
304
304
  input_class?: string;
305
305
 
306
306
  /**
307
- * Provide the Input element with any attributes by using an Object `input_attributes={{size:&#39;2&#39;}}` or a JSON Object `input_attributes=&#39;{"size":"2"}&#39;`. "NB:" Keep in mind, that also every not listed component property will be send along and set as a Input element attribute.
307
+ * Provide the Input element with any attributes by using an Object `input_attributes={{size:&#39;2&#39;}}` or a JSON Object `input_attributes=&#39;{"size":"2"}&#39;`. "NB:" Keep in mind, that also every not listed component property will be sent along and set as an Input element attribute.
308
308
  */
309
309
  input_attributes?: InputMaskedInputAttributes;
310
310
 
311
311
  /**
312
- * <em>(internal)</em> by providing a new component we can change the internal used element. Also supports a string only, like `input_element="input"`.
312
+ * <em>(internal)</em> by providing a new component we can change the internally used element. Also supports a string only, like `input_element="input"`.
313
313
  */
314
314
  input_element?: InputMaskedInputElement;
315
315
 
316
316
  /**
317
- * Icon to show before or after the input / placeholder. Can be either a string defining a primary icon, or a Component using a SVG icon of either 16px or 24px.
317
+ * Icon to show before or after the input / placeholder. Can be either a string defining a primary icon or a Component using an SVG icon of either 16px or 24px.
318
318
  */
319
319
  icon?: InputMaskedIcon;
320
320
 
@@ -15,18 +15,20 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
15
15
 
16
16
  import React from 'react';
17
17
  import PropTypes from 'prop-types';
18
- import { registerElement } from '../../shared/component-helper';
18
+ import { registerElement, extendPropsWithContext } from '../../shared/component-helper';
19
19
  import InputMaskedContext from './InputMaskedContext';
20
20
  import InputMaskedElement from './InputMaskedElement';
21
21
  import Input, { inputPropTypes } from '../input/Input';
22
22
  import Context from '../../shared/Context';
23
23
  var InputMasked = React.forwardRef(function (props, ref) {
24
24
  var context = React.useContext(Context);
25
+ var contextAndProps = React.useCallback(extendPropsWithContext(props, InputMasked.defaultProps, context === null || context === void 0 ? void 0 : context.InputMasked), [props, InputMasked.defaultProps, context === null || context === void 0 ? void 0 : context.InputMasked]);
25
26
  return React.createElement(InputMaskedContext.Provider, {
26
- value: _objectSpread({
27
+ value: {
27
28
  inner_ref: ref,
28
- props: props
29
- }, context)
29
+ props: contextAndProps,
30
+ context: context
31
+ }
30
32
  }, _InputMaskedElement || (_InputMaskedElement = React.createElement(InputMaskedElement, null)));
31
33
  });
32
34
  export default InputMasked;