@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,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
 
@@ -8,18 +8,20 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
8
8
 
9
9
  import React from 'react';
10
10
  import PropTypes from 'prop-types';
11
- import { registerElement } from '../../shared/component-helper';
11
+ import { registerElement, extendPropsWithContext } from '../../shared/component-helper';
12
12
  import InputMaskedContext from './InputMaskedContext';
13
13
  import InputMaskedElement from './InputMaskedElement';
14
14
  import Input, { inputPropTypes } from '../input/Input';
15
15
  import Context from '../../shared/Context';
16
16
  const InputMasked = React.forwardRef((props, ref) => {
17
17
  const context = React.useContext(Context);
18
+ const 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]);
18
19
  return React.createElement(InputMaskedContext.Provider, {
19
- value: _objectSpread({
20
+ value: {
20
21
  inner_ref: ref,
21
- props
22
- }, context)
22
+ props: contextAndProps,
23
+ context
24
+ }
23
25
  }, _InputMaskedElement || (_InputMaskedElement = React.createElement(InputMaskedElement, null)));
24
26
  });
25
27
  export default InputMasked;
@@ -11,7 +11,6 @@ import React from 'react';
11
11
  import classnames from 'classnames';
12
12
  import { cleanNumber, getCurrencySymbol } from '../number-format/NumberUtils';
13
13
  import { isTrue, dispatchCustomElementEvent } from '../../shared/component-helper';
14
- import Context from '../../shared/Context';
15
14
  import TextMask from './TextMask';
16
15
  import createNumberMask from './addons/createNumberMask';
17
16
  import keycode from 'keycode';
@@ -55,9 +54,9 @@ export const useInputElementRef = () => {
55
54
  };
56
55
  export const useLocale = () => {
57
56
  const {
58
- props
57
+ props,
58
+ context
59
59
  } = React.useContext(InputMaskedContext);
60
- const context = React.useContext(Context);
61
60
  let {
62
61
  locale
63
62
  } = props;
@@ -70,23 +69,21 @@ export const useLocale = () => {
70
69
  };
71
70
  export const useLocalValue = () => {
72
71
  const {
73
- props
72
+ props,
73
+ context
74
74
  } = React.useContext(InputMaskedContext);
75
- const context = React.useContext(Context);
76
75
  const maskParams = useNumberMaskParams() || {};
77
76
  const locale = useLocale();
78
77
  const [localValue, setLocalValue] = React.useState(() => correctNumberValue({
79
- props,
80
- context,
81
78
  locale,
79
+ props,
82
80
  maskParams
83
81
  }));
84
82
  React.useEffect(() => {
85
83
  const value = correctNumberValue({
86
84
  localValue,
87
- props,
88
- context,
89
85
  locale,
86
+ props,
90
87
  maskParams
91
88
  });
92
89
  setLocalValue(value);
@@ -98,8 +95,11 @@ export const useLocalValue = () => {
98
95
  };
99
96
  export const useNumberMask = () => {
100
97
  const maskParams = useNumberMaskParams();
98
+ const {
99
+ props
100
+ } = React.useContext(InputMaskedContext);
101
101
 
102
- if (!maskParams) {
102
+ if (!maskParams || !isRequestingNumberMask(props)) {
103
103
  return null;
104
104
  }
105
105
 
@@ -107,7 +107,7 @@ export const useNumberMask = () => {
107
107
  mask.maskParams = maskParams;
108
108
  return mask;
109
109
  };
110
- export const useInternalMask = () => {
110
+ export const useMask = () => {
111
111
  const {
112
112
  props
113
113
  } = React.useContext(InputMaskedContext);
@@ -130,7 +130,7 @@ export const useMaskParams = () => {
130
130
  placeholder_char,
131
131
  placeholder
132
132
  } = props;
133
- const mask = useInternalMask();
133
+ const mask = useMask();
134
134
  const maskParams = useNumberMaskParams() || {};
135
135
  maskParams.showMask = !placeholder && isTrue(show_mask);
136
136
  maskParams.placeholderChar = placeholder_char;
@@ -159,7 +159,7 @@ export const useInputElement = () => {
159
159
  const {
160
160
  pipe
161
161
  } = props;
162
- const mask = useInternalMask();
162
+ const mask = useMask();
163
163
  const {
164
164
  showMask,
165
165
  showGuide,
@@ -203,14 +203,19 @@ export const useEventMapping = ({
203
203
  onBeforeInput: event => callEvent({
204
204
  event
205
205
  }, 'on_before_input'),
206
+ onFocus: params => callEvent(params, 'on_focus'),
207
+ onBlur: params => callEvent(params, 'on_blur'),
206
208
  onMouseUp: event => callEvent({
207
209
  event
208
210
  }, 'on_mouse_up'),
209
- on_focus: params => callEvent(params, 'on_focus'),
210
- on_key_down: params => callEvent(params, 'on_key_down'),
211
- on_submit: params => callEvent(params, 'on_submit'),
212
- on_blur: params => callEvent(params, 'on_blur'),
213
- on_change: params => callEvent(params, 'on_change')
211
+ onKeyDown: params => callEvent(params, 'on_key_down'),
212
+ onSubmit: params => callEvent(params, 'on_submit'),
213
+ onChange: params => callEvent(params, 'on_change'),
214
+ on_focus: undefined,
215
+ on_blur: undefined,
216
+ on_key_down: undefined,
217
+ on_submit: undefined,
218
+ on_change: undefined
214
219
  };
215
220
  };
216
221
 
@@ -221,11 +226,7 @@ const useCallEvent = ({
221
226
  props
222
227
  } = React.useContext(InputMaskedContext);
223
228
  const maskParams = useMaskParams();
224
-
225
- if (!maskParams) {
226
- return () => {};
227
- }
228
-
229
+ const isNumberMask = useNumberMask();
229
230
  const decimalSeparators = /[,.'·]/;
230
231
  let isUnidentified = false;
231
232
 
@@ -247,16 +248,15 @@ const useCallEvent = ({
247
248
  isUnidentified = false;
248
249
  }
249
250
 
250
- if (name === 'on_key_down' && !isUnidentified && !(maskParams !== null && maskParams !== void 0 && maskParams.allowLeadingZeroes) && (keyCode === '0' || value.replace(/[^\d]/g, '') === '' && decimalSeparators.test(keyCode))) {
251
+ if (name === 'on_key_down' && !isUnidentified && (isNumberMask && !(maskParams !== null && maskParams !== void 0 && maskParams.allowLeadingZeroes) || !isNumberMask && (maskParams === null || maskParams === void 0 ? void 0 : maskParams.allowLeadingZeroes) === false) && (keyCode === '0' || keyCode === 'numpad 0' || value.replace(/[^\d]/g, '') === '' && decimalSeparators.test(keyCode))) {
251
252
  const testValue = (value.slice(0, selStart) + '0' + value.slice(selStart + 1, value.length)).replace(/[^\d]/g, '');
252
253
 
253
254
  if (/^0/.test(testValue)) {
254
255
  event.preventDefault();
255
- return;
256
256
  }
257
257
  }
258
258
 
259
- if (name === 'on_key_down' && !isUnidentified && maskParams !== null && maskParams !== void 0 && maskParams.decimalSymbol) {
259
+ if (name === 'on_key_down' && isNumberMask && !isUnidentified && maskParams !== null && maskParams !== void 0 && maskParams.decimalSymbol) {
260
260
  const hasDecimalSymbol = value.includes(maskParams.decimalSymbol);
261
261
  const allowedDecimals = maskParams.decimalLimit > 0 || maskParams.allowDecimal !== false;
262
262
 
@@ -333,11 +333,10 @@ const useNumberMaskParams = () => {
333
333
  const {
334
334
  props
335
335
  } = React.useContext(InputMaskedContext);
336
- const context = React.useContext(Context);
337
336
  const locale = useLocale();
338
337
 
339
338
  if (!isRequestingNumberMask(props)) {
340
- return null;
339
+ return _objectSpread({}, fromJSON(props.mask_options));
341
340
  }
342
341
 
343
342
  let {
@@ -382,7 +381,6 @@ const useNumberMaskParams = () => {
382
381
 
383
382
  if (number_mask) {
384
383
  maskParams = handleNumberMask({
385
- context,
386
384
  mask_options,
387
385
  number_mask
388
386
  });
@@ -396,7 +394,6 @@ const useNumberMaskParams = () => {
396
394
  }
397
395
  } else if (currency_mask) {
398
396
  maskParams = handleCurrencyMask({
399
- context,
400
397
  mask_options,
401
398
  currency_mask
402
399
  });
@@ -19,12 +19,9 @@ export const isRequestingNumberMask = props => {
19
19
  export const correctNumberValue = ({
20
20
  localValue = null,
21
21
  props,
22
- context,
23
22
  locale,
24
23
  maskParams
25
24
  }) => {
26
- var _context$InputMasked;
27
-
28
25
  let value = String(props.value);
29
26
 
30
27
  if (isNaN(parseFloat(value))) {
@@ -41,13 +38,11 @@ export const correctNumberValue = ({
41
38
  }
42
39
  }
43
40
 
44
- const numberFormatFromContext = context === null || context === void 0 ? void 0 : (_context$InputMasked = context.InputMasked) === null || _context$InputMasked === void 0 ? void 0 : _context$InputMasked.number_format;
45
-
46
- if (props.number_format || numberFormatFromContext) {
47
- const options = _objectSpread(_objectSpread({
41
+ if (props.number_format) {
42
+ const options = _objectSpread({
48
43
  locale,
49
44
  decimals: 0
50
- }, fromJSON(props.number_format)), numberFormatFromContext);
45
+ }, props.number_format);
51
46
 
52
47
  if (shouldHaveDecimals) {
53
48
  options.decimals = maskParams.decimalLimit;
@@ -151,34 +146,28 @@ export const handlePercentMask = ({
151
146
  return maskParams;
152
147
  };
153
148
  export const handleCurrencyMask = ({
154
- context,
155
149
  mask_options,
156
150
  currency_mask
157
151
  }) => {
158
- var _context$InputMasked2, _context$InputMasked3;
159
-
160
- const maskParams = _objectSpread(_objectSpread(_objectSpread(_objectSpread({
152
+ const maskParams = _objectSpread(_objectSpread({
161
153
  showMask: true,
162
154
  placeholderChar: null,
163
155
  allowDecimal: true,
164
156
  decimalLimit: 2,
165
157
  decimalSymbol: ','
166
- }, context === null || context === void 0 ? void 0 : (_context$InputMasked2 = context.InputMasked) === null || _context$InputMasked2 === void 0 ? void 0 : _context$InputMasked2.mask_options), context === null || context === void 0 ? void 0 : (_context$InputMasked3 = context.InputMasked) === null || _context$InputMasked3 === void 0 ? void 0 : _context$InputMasked3.currency_mask), mask_options), currency_mask);
158
+ }, mask_options), currency_mask);
167
159
 
168
160
  const fix = typeof currency_mask === 'string' ? currency_mask : typeof maskParams.currency === 'string' ? maskParams.currency : 'kr';
169
161
  maskParams.suffix = ` ${fix}`;
170
162
  return maskParams;
171
163
  };
172
164
  export const handleNumberMask = ({
173
- context,
174
165
  mask_options,
175
166
  number_mask
176
167
  }) => {
177
- var _context$InputMasked4, _context$InputMasked5;
178
-
179
- const maskParams = _objectSpread(_objectSpread(_objectSpread(_objectSpread({
168
+ const maskParams = _objectSpread(_objectSpread({
180
169
  decimalSymbol: ','
181
- }, context === null || context === void 0 ? void 0 : (_context$InputMasked4 = context.InputMasked) === null || _context$InputMasked4 === void 0 ? void 0 : _context$InputMasked4.mask_options), context === null || context === void 0 ? void 0 : (_context$InputMasked5 = context.InputMasked) === null || _context$InputMasked5 === void 0 ? void 0 : _context$InputMasked5.number_mask), mask_options), number_mask);
170
+ }, mask_options), number_mask);
182
171
 
183
172
  if (typeof maskParams.allowDecimal === 'undefined') {
184
173
  maskParams.allowDecimal = maskParams.decimalLimit > 0;
@@ -1,6 +1,7 @@
1
1
  import { registerElement } from '../shared/component-helper';
2
2
  import Accordion from './accordion/Accordion';
3
3
  import Autocomplete from './autocomplete/Autocomplete';
4
+ import Avatar from './avatar/Avatar';
4
5
  import Breadcrumb from './breadcrumb/Breadcrumb';
5
6
  import Button from './button/Button';
6
7
  import Checkbox from './checkbox/Checkbox';
@@ -16,6 +17,7 @@ import Heading from './heading/Heading';
16
17
  import HelpButton from './help-button/HelpButton';
17
18
  import Icon from './icon/Icon';
18
19
  import IconPrimary from './icon-primary/IconPrimary';
20
+ import InfoCard from './info-card/InfoCard';
19
21
  import Input from './input/Input';
20
22
  import InputMasked from './input-masked/InputMasked';
21
23
  import Logo from './logo/Logo';
@@ -31,14 +33,17 @@ import Space from './space/Space';
31
33
  import StepIndicator from './step-indicator/StepIndicator';
32
34
  import Switch from './switch/Switch';
33
35
  import Tabs from './tabs/Tabs';
36
+ import Tag from './tag/Tag';
34
37
  import Textarea from './textarea/Textarea';
38
+ import Timeline from './timeline/Timeline';
35
39
  import ToggleButton from './toggle-button/ToggleButton';
36
40
  import Tooltip from './tooltip/Tooltip';
37
- 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 };
41
+ 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 };
38
42
  export const getComponents = () => {
39
43
  return {
40
44
  Accordion,
41
45
  Autocomplete,
46
+ Avatar,
42
47
  Breadcrumb,
43
48
  Button,
44
49
  Checkbox,
@@ -54,6 +59,7 @@ export const getComponents = () => {
54
59
  HelpButton,
55
60
  Icon,
56
61
  IconPrimary,
62
+ InfoCard,
57
63
  Input,
58
64
  InputMasked,
59
65
  Logo,
@@ -69,7 +75,9 @@ export const getComponents = () => {
69
75
  StepIndicator,
70
76
  Switch,
71
77
  Tabs,
78
+ Tag,
72
79
  Textarea,
80
+ Timeline,
73
81
  ToggleButton,
74
82
  Tooltip
75
83
  };