@dnb/eufemia 9.17.0 → 9.19.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 (722) hide show
  1. package/CHANGELOG.md +63 -0
  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 +149 -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 +145 -0
  17. package/cjs/components/avatar/style/dnb-avatar.css +218 -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/BreadcrumbItem.js +3 -3
  28. package/cjs/components/button/Button.d.ts +8 -8
  29. package/cjs/components/button/Button.js +7 -5
  30. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  31. package/cjs/components/checkbox/Checkbox.d.ts +3 -3
  32. package/cjs/components/date-picker/DatePicker.d.ts +14 -14
  33. package/cjs/components/date-picker/DatePicker.js +4 -2
  34. package/cjs/components/date-picker/DatePickerAddon.d.ts +1 -1
  35. package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -1
  36. package/cjs/components/date-picker/DatePickerFooter.d.ts +1 -0
  37. package/cjs/components/date-picker/DatePickerFooter.js +10 -6
  38. package/cjs/components/date-picker/DatePickerInput.d.ts +1 -1
  39. package/cjs/components/dropdown/Dropdown.d.ts +11 -10
  40. package/cjs/components/form-label/FormLabel.d.ts +1 -1
  41. package/cjs/components/form-row/FormRow.d.ts +4 -4
  42. package/cjs/components/form-set/FormSet.d.ts +5 -5
  43. package/cjs/components/global-error/GlobalError.d.ts +1 -1
  44. package/cjs/components/global-status/GlobalStatus.d.ts +5 -5
  45. package/cjs/components/heading/Heading.d.ts +2 -2
  46. package/cjs/components/heading/HeadingProvider.d.ts +2 -2
  47. package/cjs/components/help-button/HelpButton.d.ts +1 -1
  48. package/cjs/components/help-button/HelpButtonInstance.d.ts +3 -2
  49. package/cjs/components/icon/Icon.d.ts +2 -2
  50. package/cjs/components/icon-primary/IconPrimary.d.ts +2 -2
  51. package/cjs/components/index.d.ts +8 -0
  52. package/cjs/components/index.js +32 -0
  53. package/cjs/components/info-card/InfoCard.js +180 -0
  54. package/cjs/components/info-card/index.d.ts +8 -0
  55. package/cjs/components/info-card/index.js +52 -0
  56. package/cjs/components/info-card/style/_info-card.scss +52 -0
  57. package/cjs/components/info-card/style/dnb-info-card.css +135 -0
  58. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -0
  59. package/cjs/components/info-card/style/dnb-info-card.scss +12 -0
  60. package/cjs/components/info-card/style/index.d.ts +6 -0
  61. package/cjs/components/info-card/style/index.js +3 -0
  62. package/cjs/components/info-card/style.js +3 -0
  63. package/cjs/components/input/Input.d.ts +11 -10
  64. package/cjs/components/input-masked/InputMasked.d.ts +11 -11
  65. package/cjs/components/input-masked/InputMasked.js +6 -3
  66. package/cjs/components/input-masked/InputMaskedHooks.js +45 -52
  67. package/cjs/components/input-masked/InputMaskedUtils.js +9 -20
  68. package/cjs/components/lib.js +36 -0
  69. package/cjs/components/modal/Modal.js +157 -299
  70. package/cjs/components/modal/ModalContent.js +169 -274
  71. package/cjs/components/modal/ModalRoot.js +194 -0
  72. package/cjs/components/modal/components/CloseButton.js +125 -0
  73. package/cjs/components/modal/components/ModalHeader.js +124 -0
  74. package/cjs/components/modal/{ModalHeader.js → components/ModalHeaderBar.js} +50 -162
  75. package/cjs/components/modal/{ModalInner.js → components/ModalInner.js} +11 -19
  76. package/cjs/components/modal/helpers.js +80 -0
  77. package/cjs/components/modal/types.js +1 -0
  78. package/cjs/components/number-format/NumberFormat.d.ts +10 -10
  79. package/cjs/components/pagination/Pagination.d.ts +30 -30
  80. package/cjs/components/pagination/Pagination.js +11 -1
  81. package/cjs/components/pagination/PaginationProvider.d.ts +2 -2
  82. package/cjs/components/radio/Radio.d.ts +5 -5
  83. package/cjs/components/radio/RadioGroup.d.ts +4 -4
  84. package/cjs/components/section/Section.d.ts +3 -2
  85. package/cjs/components/skeleton/Skeleton.d.ts +2 -2
  86. package/cjs/components/slider/Slider.d.ts +5 -5
  87. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -6
  88. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  89. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  90. package/cjs/components/step-indicator/StepIndicatorItem.js +1 -0
  91. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  92. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  93. package/cjs/components/switch/Switch.d.ts +6 -6
  94. package/cjs/components/tabs/Tabs.d.ts +8 -8
  95. package/cjs/components/tabs/TabsContentWrapper.d.ts +2 -2
  96. package/cjs/components/tabs/TabsCustomContent.d.ts +1 -1
  97. package/cjs/components/tag/Tag.js +157 -0
  98. package/cjs/components/tag/TagContext.js +14 -0
  99. package/cjs/components/tag/TagGroup.js +123 -0
  100. package/cjs/components/tag/index.d.ts +8 -0
  101. package/cjs/components/tag/index.js +52 -0
  102. package/cjs/components/tag/style/_tag.scss +90 -0
  103. package/cjs/components/tag/style/dnb-tag.css +925 -0
  104. package/cjs/components/tag/style/dnb-tag.min.css +1 -0
  105. package/cjs/components/tag/style/dnb-tag.scss +15 -0
  106. package/cjs/components/tag/style/index.d.ts +6 -0
  107. package/cjs/components/tag/style/index.js +3 -0
  108. package/cjs/components/tag/style/themes/_tag-mixins.scss +18 -0
  109. package/cjs/components/tag/style.js +3 -0
  110. package/cjs/components/textarea/Textarea.d.ts +4 -4
  111. package/cjs/components/timeline/Timeline.js +129 -0
  112. package/cjs/components/timeline/TimelineItem.js +149 -0
  113. package/cjs/components/timeline/index.d.ts +8 -0
  114. package/cjs/components/timeline/index.js +52 -0
  115. package/cjs/components/timeline/style/_timeline.scss +42 -0
  116. package/cjs/components/timeline/style/dnb-timeline.css +307 -0
  117. package/cjs/components/timeline/style/dnb-timeline.min.css +1 -0
  118. package/cjs/components/timeline/style/dnb-timeline.scss +12 -0
  119. package/cjs/components/timeline/style/index.d.ts +6 -0
  120. package/cjs/components/timeline/style/index.js +3 -0
  121. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  122. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  123. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  124. package/cjs/components/timeline/style/themes/ui.js +3 -0
  125. package/cjs/components/timeline/style.js +3 -0
  126. package/cjs/components/toggle-button/ToggleButton.d.ts +7 -7
  127. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  128. package/cjs/components/tooltip/Tooltip.d.ts +5 -5
  129. package/cjs/components/tooltip/TooltipContainer.d.ts +3 -3
  130. package/cjs/components/tooltip/TooltipPortal.d.ts +1 -1
  131. package/cjs/components/tooltip/TooltipWithEvents.d.ts +1 -1
  132. package/cjs/elements/Img.d.ts +2 -2
  133. package/cjs/extensions/payment-card/PaymentCard.d.ts +1 -1
  134. package/cjs/extensions/payment-card/style/_payment-card.scss +0 -1
  135. package/cjs/extensions/payment-card/style/dnb-payment-card.css +0 -1
  136. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  137. package/cjs/fragments/drawer-list/DrawerListProvider.js +1 -0
  138. package/cjs/fragments/scroll-view/ScrollView.js +7 -16
  139. package/cjs/index.d.ts +8 -0
  140. package/cjs/index.js +32 -0
  141. package/cjs/shared/Context.js +11 -4
  142. package/cjs/shared/locales/en-GB.js +5 -0
  143. package/cjs/shared/locales/nb-NO.js +5 -0
  144. package/cjs/style/core/helper-classes/skip-link.scss +1 -1
  145. package/cjs/style/dnb-ui-components.css +716 -0
  146. package/cjs/style/dnb-ui-components.min.css +3 -3
  147. package/cjs/style/dnb-ui-components.scss +4 -0
  148. package/cjs/style/dnb-ui-elements.css +3 -0
  149. package/cjs/style/dnb-ui-elements.min.css +1 -1
  150. package/cjs/style/dnb-ui-extensions.css +0 -1
  151. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  152. package/cjs/style/dnb-ui-tags.css +6 -0
  153. package/cjs/style/dnb-ui-tags.min.css +2 -2
  154. package/cjs/style/elements/code.scss +3 -0
  155. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  156. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  157. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  158. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  159. package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  160. package/components/Avatar.d.ts +14 -0
  161. package/components/Avatar.js +3 -0
  162. package/components/InfoCard.d.ts +14 -0
  163. package/components/InfoCard.js +3 -0
  164. package/components/Tag.d.ts +14 -0
  165. package/components/Tag.js +3 -0
  166. package/components/Timeline.d.ts +14 -0
  167. package/components/Timeline.js +3 -0
  168. package/components/accordion/Accordion.d.ts +7 -7
  169. package/components/autocomplete/Autocomplete.d.ts +13 -13
  170. package/components/avatar/Avatar.js +89 -0
  171. package/components/avatar/Avatar.tsx +163 -0
  172. package/components/avatar/AvatarGroup.js +94 -0
  173. package/components/avatar/AvatarGroup.tsx +167 -0
  174. package/components/avatar/index.d.ts +8 -0
  175. package/components/avatar/index.js +3 -0
  176. package/components/avatar/style/_avatar.scss +145 -0
  177. package/components/avatar/style/dnb-avatar.css +218 -0
  178. package/components/avatar/style/dnb-avatar.min.css +1 -0
  179. package/components/avatar/style/dnb-avatar.scss +12 -0
  180. package/components/avatar/style/index.d.ts +6 -0
  181. package/components/avatar/style/index.js +1 -0
  182. package/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  183. package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  184. package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  185. package/components/avatar/style/themes/ui.js +1 -0
  186. package/components/avatar/style.js +1 -0
  187. package/components/breadcrumb/BreadcrumbItem.js +3 -3
  188. package/components/breadcrumb/BreadcrumbItem.tsx +2 -2
  189. package/components/button/Button.d.ts +7 -7
  190. package/components/button/Button.js +7 -5
  191. package/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  192. package/components/checkbox/Checkbox.d.ts +3 -3
  193. package/components/date-picker/DatePicker.d.ts +14 -14
  194. package/components/date-picker/DatePicker.js +4 -2
  195. package/components/date-picker/DatePickerAddon.d.ts +1 -1
  196. package/components/date-picker/DatePickerCalendar.d.ts +1 -1
  197. package/components/date-picker/DatePickerFooter.d.ts +1 -0
  198. package/components/date-picker/DatePickerFooter.js +10 -6
  199. package/components/date-picker/DatePickerInput.d.ts +1 -1
  200. package/components/dropdown/Dropdown.d.ts +11 -10
  201. package/components/form-label/FormLabel.d.ts +1 -1
  202. package/components/form-row/FormRow.d.ts +4 -4
  203. package/components/form-set/FormSet.d.ts +5 -5
  204. package/components/global-error/GlobalError.d.ts +1 -1
  205. package/components/global-status/GlobalStatus.d.ts +5 -5
  206. package/components/heading/Heading.d.ts +2 -2
  207. package/components/heading/HeadingProvider.d.ts +2 -2
  208. package/components/help-button/HelpButton.d.ts +1 -1
  209. package/components/help-button/HelpButtonInstance.d.ts +3 -2
  210. package/components/icon/Icon.d.ts +2 -2
  211. package/components/index.d.ts +8 -0
  212. package/components/index.js +5 -1
  213. package/components/info-card/InfoCard.js +140 -0
  214. package/components/info-card/InfoCard.tsx +249 -0
  215. package/components/info-card/index.d.ts +8 -0
  216. package/components/info-card/index.js +3 -0
  217. package/components/info-card/style/_info-card.scss +52 -0
  218. package/components/info-card/style/dnb-info-card.css +135 -0
  219. package/components/info-card/style/dnb-info-card.min.css +1 -0
  220. package/components/info-card/style/dnb-info-card.scss +12 -0
  221. package/components/info-card/style/index.d.ts +6 -0
  222. package/components/info-card/style/index.js +1 -0
  223. package/components/info-card/style.js +1 -0
  224. package/components/input/Input.d.ts +11 -10
  225. package/components/input-masked/InputMasked.d.ts +11 -11
  226. package/components/input-masked/InputMasked.js +6 -4
  227. package/components/input-masked/InputMaskedHooks.js +43 -46
  228. package/components/input-masked/InputMaskedUtils.js +9 -20
  229. package/components/lib.js +9 -1
  230. package/components/modal/Modal.js +146 -278
  231. package/components/modal/Modal.tsx +524 -0
  232. package/components/modal/ModalContent.js +162 -256
  233. package/components/modal/ModalContent.tsx +515 -0
  234. package/components/modal/ModalContext.tsx +10 -0
  235. package/components/modal/ModalRoot.js +145 -0
  236. package/components/modal/ModalRoot.tsx +131 -0
  237. package/components/modal/components/CloseButton.js +72 -0
  238. package/components/modal/components/CloseButton.tsx +56 -0
  239. package/components/modal/components/ModalHeader.js +70 -0
  240. package/components/modal/components/ModalHeader.tsx +79 -0
  241. package/components/modal/components/ModalHeaderBar.js +122 -0
  242. package/components/modal/components/ModalHeaderBar.tsx +118 -0
  243. package/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
  244. package/components/modal/components/ModalInner.tsx +45 -0
  245. package/components/modal/helpers.js +64 -0
  246. package/components/modal/helpers.ts +63 -0
  247. package/components/modal/types.js +1 -0
  248. package/{cjs/components/modal/Modal.d.ts → components/modal/types.ts} +125 -179
  249. package/components/number-format/NumberFormat.d.ts +10 -10
  250. package/components/pagination/Pagination.d.ts +30 -30
  251. package/components/pagination/Pagination.js +7 -0
  252. package/components/pagination/PaginationProvider.d.ts +2 -2
  253. package/components/radio/Radio.d.ts +5 -5
  254. package/components/radio/RadioGroup.d.ts +4 -4
  255. package/components/section/Section.d.ts +3 -1
  256. package/components/skeleton/Skeleton.d.ts +2 -2
  257. package/components/slider/Slider.d.ts +5 -5
  258. package/components/step-indicator/StepIndicator.d.ts +6 -6
  259. package/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  260. package/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  261. package/components/step-indicator/StepIndicatorItem.js +1 -0
  262. package/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  263. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  264. package/components/switch/Switch.d.ts +6 -6
  265. package/components/tabs/Tabs.d.ts +8 -8
  266. package/components/tabs/TabsContentWrapper.d.ts +2 -2
  267. package/components/tabs/TabsCustomContent.d.ts +1 -1
  268. package/components/tag/Tag.js +122 -0
  269. package/components/tag/Tag.tsx +194 -0
  270. package/components/tag/TagContext.js +2 -0
  271. package/components/tag/TagContext.tsx +3 -0
  272. package/components/tag/TagGroup.js +60 -0
  273. package/components/tag/TagGroup.tsx +80 -0
  274. package/components/tag/index.d.ts +8 -0
  275. package/components/tag/index.js +3 -0
  276. package/components/tag/style/_tag.scss +90 -0
  277. package/components/tag/style/dnb-tag.css +925 -0
  278. package/components/tag/style/dnb-tag.min.css +1 -0
  279. package/components/tag/style/dnb-tag.scss +15 -0
  280. package/components/tag/style/index.d.ts +6 -0
  281. package/components/tag/style/index.js +1 -0
  282. package/components/tag/style/themes/_tag-mixins.scss +18 -0
  283. package/components/tag/style.js +1 -0
  284. package/components/textarea/Textarea.d.ts +4 -4
  285. package/components/timeline/Timeline.js +57 -0
  286. package/components/timeline/Timeline.tsx +91 -0
  287. package/components/timeline/TimelineItem.js +112 -0
  288. package/components/timeline/TimelineItem.tsx +193 -0
  289. package/components/timeline/index.d.ts +8 -0
  290. package/components/timeline/index.js +3 -0
  291. package/components/timeline/style/_timeline.scss +42 -0
  292. package/components/timeline/style/dnb-timeline.css +307 -0
  293. package/components/timeline/style/dnb-timeline.min.css +1 -0
  294. package/components/timeline/style/dnb-timeline.scss +12 -0
  295. package/components/timeline/style/index.d.ts +6 -0
  296. package/components/timeline/style/index.js +1 -0
  297. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  298. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  299. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  300. package/components/timeline/style/themes/ui.js +1 -0
  301. package/components/timeline/style.js +1 -0
  302. package/components/toggle-button/ToggleButton.d.ts +7 -7
  303. package/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  304. package/components/tooltip/Tooltip.d.ts +5 -5
  305. package/components/tooltip/TooltipContainer.d.ts +3 -3
  306. package/components/tooltip/TooltipPortal.d.ts +1 -1
  307. package/components/tooltip/TooltipWithEvents.d.ts +1 -1
  308. package/elements/Img.d.ts +1 -1
  309. package/es/components/Avatar.d.ts +14 -0
  310. package/es/components/Avatar.js +3 -0
  311. package/es/components/InfoCard.d.ts +14 -0
  312. package/es/components/InfoCard.js +3 -0
  313. package/es/components/Tag.d.ts +14 -0
  314. package/es/components/Tag.js +3 -0
  315. package/es/components/Timeline.d.ts +14 -0
  316. package/es/components/Timeline.js +3 -0
  317. package/es/components/accordion/Accordion.d.ts +7 -7
  318. package/es/components/autocomplete/Autocomplete.d.ts +13 -13
  319. package/es/components/avatar/Avatar.js +83 -0
  320. package/es/components/avatar/Avatar.tsx +163 -0
  321. package/es/components/avatar/AvatarGroup.js +89 -0
  322. package/es/components/avatar/AvatarGroup.tsx +167 -0
  323. package/es/components/avatar/index.d.ts +8 -0
  324. package/es/components/avatar/index.js +3 -0
  325. package/es/components/avatar/style/_avatar.scss +145 -0
  326. package/es/components/avatar/style/dnb-avatar.css +218 -0
  327. package/es/components/avatar/style/dnb-avatar.min.css +1 -0
  328. package/es/components/avatar/style/dnb-avatar.scss +12 -0
  329. package/es/components/avatar/style/index.d.ts +6 -0
  330. package/es/components/avatar/style/index.js +1 -0
  331. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  332. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  333. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  334. package/es/components/avatar/style/themes/ui.js +1 -0
  335. package/es/components/avatar/style.js +1 -0
  336. package/es/components/breadcrumb/BreadcrumbItem.js +3 -3
  337. package/es/components/breadcrumb/BreadcrumbItem.tsx +2 -2
  338. package/es/components/button/Button.d.ts +8 -8
  339. package/es/components/button/Button.js +7 -5
  340. package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  341. package/es/components/checkbox/Checkbox.d.ts +3 -3
  342. package/es/components/date-picker/DatePicker.d.ts +14 -14
  343. package/es/components/date-picker/DatePicker.js +4 -2
  344. package/es/components/date-picker/DatePickerAddon.d.ts +1 -1
  345. package/es/components/date-picker/DatePickerCalendar.d.ts +1 -1
  346. package/es/components/date-picker/DatePickerFooter.d.ts +1 -0
  347. package/es/components/date-picker/DatePickerFooter.js +9 -6
  348. package/es/components/date-picker/DatePickerInput.d.ts +1 -1
  349. package/es/components/dropdown/Dropdown.d.ts +11 -10
  350. package/es/components/form-label/FormLabel.d.ts +1 -1
  351. package/es/components/form-row/FormRow.d.ts +4 -4
  352. package/es/components/form-set/FormSet.d.ts +5 -5
  353. package/es/components/global-error/GlobalError.d.ts +1 -1
  354. package/es/components/global-status/GlobalStatus.d.ts +5 -5
  355. package/es/components/heading/Heading.d.ts +2 -2
  356. package/es/components/heading/HeadingProvider.d.ts +2 -2
  357. package/es/components/help-button/HelpButton.d.ts +1 -1
  358. package/es/components/help-button/HelpButtonInstance.d.ts +3 -2
  359. package/es/components/icon/Icon.d.ts +2 -2
  360. package/es/components/icon-primary/IconPrimary.d.ts +2 -2
  361. package/es/components/index.d.ts +8 -0
  362. package/es/components/index.js +5 -1
  363. package/es/components/info-card/InfoCard.js +135 -0
  364. package/es/components/info-card/InfoCard.tsx +249 -0
  365. package/es/components/info-card/index.d.ts +8 -0
  366. package/es/components/info-card/index.js +3 -0
  367. package/es/components/info-card/style/_info-card.scss +52 -0
  368. package/es/components/info-card/style/dnb-info-card.css +135 -0
  369. package/es/components/info-card/style/dnb-info-card.min.css +1 -0
  370. package/es/components/info-card/style/dnb-info-card.scss +12 -0
  371. package/es/components/info-card/style/index.d.ts +6 -0
  372. package/es/components/info-card/style/index.js +1 -0
  373. package/es/components/info-card/style.js +1 -0
  374. package/es/components/input/Input.d.ts +11 -10
  375. package/es/components/input-masked/InputMasked.d.ts +11 -11
  376. package/es/components/input-masked/InputMasked.js +6 -4
  377. package/es/components/input-masked/InputMaskedHooks.js +28 -31
  378. package/es/components/input-masked/InputMaskedUtils.js +7 -18
  379. package/es/components/lib.js +9 -1
  380. package/es/components/modal/Modal.js +127 -251
  381. package/es/components/modal/Modal.tsx +524 -0
  382. package/es/components/modal/ModalContent.js +120 -213
  383. package/es/components/modal/ModalContent.tsx +515 -0
  384. package/es/components/modal/ModalContext.tsx +10 -0
  385. package/es/components/modal/ModalRoot.js +108 -0
  386. package/es/components/modal/ModalRoot.tsx +131 -0
  387. package/es/components/modal/components/CloseButton.js +41 -0
  388. package/es/components/modal/components/CloseButton.tsx +56 -0
  389. package/es/components/modal/components/ModalHeader.js +40 -0
  390. package/es/components/modal/components/ModalHeader.tsx +79 -0
  391. package/es/components/modal/components/ModalHeaderBar.js +88 -0
  392. package/es/components/modal/components/ModalHeaderBar.tsx +118 -0
  393. package/es/components/modal/{ModalInner.js → components/ModalInner.js} +8 -18
  394. package/es/components/modal/components/ModalInner.tsx +45 -0
  395. package/es/components/modal/helpers.js +60 -0
  396. package/es/components/modal/helpers.ts +63 -0
  397. package/es/components/modal/types.js +1 -0
  398. package/es/components/modal/{Modal.d.ts → types.ts} +125 -179
  399. package/es/components/number-format/NumberFormat.d.ts +10 -10
  400. package/es/components/pagination/Pagination.d.ts +30 -30
  401. package/es/components/pagination/Pagination.js +3 -0
  402. package/es/components/pagination/PaginationProvider.d.ts +2 -2
  403. package/es/components/radio/Radio.d.ts +5 -5
  404. package/es/components/radio/RadioGroup.d.ts +4 -4
  405. package/es/components/section/Section.d.ts +3 -2
  406. package/es/components/skeleton/Skeleton.d.ts +2 -2
  407. package/es/components/slider/Slider.d.ts +5 -5
  408. package/es/components/step-indicator/StepIndicator.d.ts +6 -6
  409. package/es/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  410. package/es/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  411. package/es/components/step-indicator/StepIndicatorItem.js +1 -0
  412. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  413. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  414. package/es/components/switch/Switch.d.ts +6 -6
  415. package/es/components/tabs/Tabs.d.ts +8 -8
  416. package/es/components/tabs/TabsContentWrapper.d.ts +2 -2
  417. package/es/components/tabs/TabsCustomContent.d.ts +1 -1
  418. package/es/components/tag/Tag.js +115 -0
  419. package/es/components/tag/Tag.tsx +194 -0
  420. package/es/components/tag/TagContext.js +2 -0
  421. package/es/components/tag/TagContext.tsx +3 -0
  422. package/es/components/tag/TagGroup.js +53 -0
  423. package/es/components/tag/TagGroup.tsx +80 -0
  424. package/es/components/tag/index.d.ts +8 -0
  425. package/es/components/tag/index.js +3 -0
  426. package/es/components/tag/style/_tag.scss +90 -0
  427. package/es/components/tag/style/dnb-tag.css +925 -0
  428. package/es/components/tag/style/dnb-tag.min.css +1 -0
  429. package/es/components/tag/style/dnb-tag.scss +15 -0
  430. package/es/components/tag/style/index.d.ts +6 -0
  431. package/es/components/tag/style/index.js +1 -0
  432. package/es/components/tag/style/themes/_tag-mixins.scss +18 -0
  433. package/es/components/tag/style.js +1 -0
  434. package/es/components/textarea/Textarea.d.ts +4 -4
  435. package/es/components/timeline/Timeline.js +48 -0
  436. package/es/components/timeline/Timeline.tsx +91 -0
  437. package/es/components/timeline/TimelineItem.js +111 -0
  438. package/es/components/timeline/TimelineItem.tsx +193 -0
  439. package/es/components/timeline/index.d.ts +8 -0
  440. package/es/components/timeline/index.js +3 -0
  441. package/es/components/timeline/style/_timeline.scss +42 -0
  442. package/es/components/timeline/style/dnb-timeline.css +307 -0
  443. package/es/components/timeline/style/dnb-timeline.min.css +1 -0
  444. package/es/components/timeline/style/dnb-timeline.scss +12 -0
  445. package/es/components/timeline/style/index.d.ts +6 -0
  446. package/es/components/timeline/style/index.js +1 -0
  447. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  448. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  449. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  450. package/es/components/timeline/style/themes/ui.js +1 -0
  451. package/es/components/timeline/style.js +1 -0
  452. package/es/components/toggle-button/ToggleButton.d.ts +7 -7
  453. package/es/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  454. package/es/components/tooltip/Tooltip.d.ts +5 -5
  455. package/es/components/tooltip/TooltipContainer.d.ts +3 -3
  456. package/es/components/tooltip/TooltipPortal.d.ts +1 -1
  457. package/es/components/tooltip/TooltipWithEvents.d.ts +1 -1
  458. package/es/elements/Img.d.ts +2 -2
  459. package/es/extensions/payment-card/PaymentCard.d.ts +1 -1
  460. package/es/extensions/payment-card/style/_payment-card.scss +0 -1
  461. package/es/extensions/payment-card/style/dnb-payment-card.css +0 -1
  462. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  463. package/es/fragments/drawer-list/DrawerListProvider.js +1 -0
  464. package/es/fragments/scroll-view/ScrollView.js +7 -15
  465. package/es/fragments/scroll-view/ScrollView.tsx +92 -0
  466. package/es/index.d.ts +8 -0
  467. package/es/index.js +5 -1
  468. package/es/shared/Context.js +11 -4
  469. package/es/shared/locales/en-GB.js +5 -0
  470. package/es/shared/locales/nb-NO.js +5 -0
  471. package/es/style/core/helper-classes/skip-link.scss +1 -1
  472. package/es/style/dnb-ui-components.css +716 -0
  473. package/es/style/dnb-ui-components.min.css +3 -3
  474. package/es/style/dnb-ui-components.scss +4 -0
  475. package/es/style/dnb-ui-elements.css +3 -0
  476. package/es/style/dnb-ui-elements.min.css +1 -1
  477. package/es/style/dnb-ui-extensions.css +0 -1
  478. package/es/style/dnb-ui-extensions.min.css +1 -1
  479. package/es/style/dnb-ui-tags.css +6 -0
  480. package/es/style/dnb-ui-tags.min.css +2 -2
  481. package/es/style/elements/code.scss +3 -0
  482. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  483. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  484. package/es/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  485. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  486. package/es/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  487. package/esm/components/Avatar.d.ts +14 -0
  488. package/esm/components/Avatar.js +3 -0
  489. package/esm/components/InfoCard.d.ts +14 -0
  490. package/esm/components/InfoCard.js +3 -0
  491. package/esm/components/Tag.d.ts +14 -0
  492. package/esm/components/Tag.js +3 -0
  493. package/esm/components/Timeline.d.ts +14 -0
  494. package/esm/components/Timeline.js +3 -0
  495. package/esm/components/accordion/Accordion.d.ts +7 -7
  496. package/esm/components/autocomplete/Autocomplete.d.ts +13 -13
  497. package/esm/components/avatar/Avatar.js +89 -0
  498. package/esm/components/avatar/Avatar.tsx +163 -0
  499. package/esm/components/avatar/AvatarGroup.js +94 -0
  500. package/esm/components/avatar/AvatarGroup.tsx +167 -0
  501. package/esm/components/avatar/index.d.ts +8 -0
  502. package/esm/components/avatar/index.js +3 -0
  503. package/esm/components/avatar/style/_avatar.scss +145 -0
  504. package/esm/components/avatar/style/dnb-avatar.css +218 -0
  505. package/esm/components/avatar/style/dnb-avatar.min.css +1 -0
  506. package/esm/components/avatar/style/dnb-avatar.scss +12 -0
  507. package/esm/components/avatar/style/index.d.ts +6 -0
  508. package/esm/components/avatar/style/index.js +1 -0
  509. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  510. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  511. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  512. package/esm/components/avatar/style/themes/ui.js +1 -0
  513. package/esm/components/avatar/style.js +1 -0
  514. package/esm/components/breadcrumb/BreadcrumbItem.js +3 -3
  515. package/esm/components/breadcrumb/BreadcrumbItem.tsx +2 -2
  516. package/esm/components/button/Button.d.ts +7 -7
  517. package/esm/components/button/Button.js +7 -5
  518. package/esm/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  519. package/esm/components/checkbox/Checkbox.d.ts +3 -3
  520. package/esm/components/date-picker/DatePicker.d.ts +14 -14
  521. package/esm/components/date-picker/DatePicker.js +4 -2
  522. package/esm/components/date-picker/DatePickerAddon.d.ts +1 -1
  523. package/esm/components/date-picker/DatePickerCalendar.d.ts +1 -1
  524. package/esm/components/date-picker/DatePickerFooter.d.ts +1 -0
  525. package/esm/components/date-picker/DatePickerFooter.js +10 -6
  526. package/esm/components/date-picker/DatePickerInput.d.ts +1 -1
  527. package/esm/components/dropdown/Dropdown.d.ts +11 -10
  528. package/esm/components/form-label/FormLabel.d.ts +1 -1
  529. package/esm/components/form-row/FormRow.d.ts +4 -4
  530. package/esm/components/form-set/FormSet.d.ts +5 -5
  531. package/esm/components/global-error/GlobalError.d.ts +1 -1
  532. package/esm/components/global-status/GlobalStatus.d.ts +5 -5
  533. package/esm/components/heading/Heading.d.ts +2 -2
  534. package/esm/components/heading/HeadingProvider.d.ts +2 -2
  535. package/esm/components/help-button/HelpButton.d.ts +1 -1
  536. package/esm/components/help-button/HelpButtonInstance.d.ts +3 -2
  537. package/esm/components/icon/Icon.d.ts +2 -2
  538. package/esm/components/index.d.ts +8 -0
  539. package/esm/components/index.js +5 -1
  540. package/esm/components/info-card/InfoCard.js +140 -0
  541. package/esm/components/info-card/InfoCard.tsx +249 -0
  542. package/esm/components/info-card/index.d.ts +8 -0
  543. package/esm/components/info-card/index.js +3 -0
  544. package/esm/components/info-card/style/_info-card.scss +52 -0
  545. package/esm/components/info-card/style/dnb-info-card.css +135 -0
  546. package/esm/components/info-card/style/dnb-info-card.min.css +1 -0
  547. package/esm/components/info-card/style/dnb-info-card.scss +12 -0
  548. package/esm/components/info-card/style/index.d.ts +6 -0
  549. package/esm/components/info-card/style/index.js +1 -0
  550. package/esm/components/info-card/style.js +1 -0
  551. package/esm/components/input/Input.d.ts +11 -10
  552. package/esm/components/input-masked/InputMasked.d.ts +11 -11
  553. package/esm/components/input-masked/InputMasked.js +6 -4
  554. package/esm/components/input-masked/InputMaskedHooks.js +43 -46
  555. package/esm/components/input-masked/InputMaskedUtils.js +9 -20
  556. package/esm/components/lib.js +9 -1
  557. package/esm/components/modal/Modal.js +146 -278
  558. package/esm/components/modal/Modal.tsx +524 -0
  559. package/esm/components/modal/ModalContent.js +162 -256
  560. package/esm/components/modal/ModalContent.tsx +515 -0
  561. package/esm/components/modal/ModalContext.tsx +10 -0
  562. package/esm/components/modal/ModalRoot.js +145 -0
  563. package/esm/components/modal/ModalRoot.tsx +131 -0
  564. package/esm/components/modal/components/CloseButton.js +72 -0
  565. package/esm/components/modal/components/CloseButton.tsx +56 -0
  566. package/esm/components/modal/components/ModalHeader.js +70 -0
  567. package/esm/components/modal/components/ModalHeader.tsx +79 -0
  568. package/esm/components/modal/components/ModalHeaderBar.js +122 -0
  569. package/esm/components/modal/components/ModalHeaderBar.tsx +118 -0
  570. package/esm/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
  571. package/esm/components/modal/components/ModalInner.tsx +45 -0
  572. package/esm/components/modal/helpers.js +64 -0
  573. package/esm/components/modal/helpers.ts +63 -0
  574. package/esm/components/modal/types.js +1 -0
  575. package/esm/components/modal/{Modal.d.ts → types.ts} +125 -179
  576. package/esm/components/number-format/NumberFormat.d.ts +10 -10
  577. package/esm/components/pagination/Pagination.d.ts +30 -30
  578. package/esm/components/pagination/Pagination.js +7 -0
  579. package/esm/components/pagination/PaginationProvider.d.ts +2 -2
  580. package/esm/components/radio/Radio.d.ts +5 -5
  581. package/esm/components/radio/RadioGroup.d.ts +4 -4
  582. package/esm/components/section/Section.d.ts +3 -1
  583. package/esm/components/skeleton/Skeleton.d.ts +2 -2
  584. package/esm/components/slider/Slider.d.ts +5 -5
  585. package/esm/components/step-indicator/StepIndicator.d.ts +6 -6
  586. package/esm/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  587. package/esm/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  588. package/esm/components/step-indicator/StepIndicatorItem.js +1 -0
  589. package/esm/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  590. package/esm/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  591. package/esm/components/switch/Switch.d.ts +6 -6
  592. package/esm/components/tabs/Tabs.d.ts +8 -8
  593. package/esm/components/tabs/TabsContentWrapper.d.ts +2 -2
  594. package/esm/components/tabs/TabsCustomContent.d.ts +1 -1
  595. package/esm/components/tag/Tag.js +122 -0
  596. package/esm/components/tag/Tag.tsx +194 -0
  597. package/esm/components/tag/TagContext.js +2 -0
  598. package/esm/components/tag/TagContext.tsx +3 -0
  599. package/esm/components/tag/TagGroup.js +60 -0
  600. package/esm/components/tag/TagGroup.tsx +80 -0
  601. package/esm/components/tag/index.d.ts +8 -0
  602. package/esm/components/tag/index.js +3 -0
  603. package/esm/components/tag/style/_tag.scss +90 -0
  604. package/esm/components/tag/style/dnb-tag.css +925 -0
  605. package/esm/components/tag/style/dnb-tag.min.css +1 -0
  606. package/esm/components/tag/style/dnb-tag.scss +15 -0
  607. package/esm/components/tag/style/index.d.ts +6 -0
  608. package/esm/components/tag/style/index.js +1 -0
  609. package/esm/components/tag/style/themes/_tag-mixins.scss +18 -0
  610. package/esm/components/tag/style.js +1 -0
  611. package/esm/components/textarea/Textarea.d.ts +4 -4
  612. package/esm/components/timeline/Timeline.js +57 -0
  613. package/esm/components/timeline/Timeline.tsx +91 -0
  614. package/esm/components/timeline/TimelineItem.js +112 -0
  615. package/esm/components/timeline/TimelineItem.tsx +193 -0
  616. package/esm/components/timeline/index.d.ts +8 -0
  617. package/esm/components/timeline/index.js +3 -0
  618. package/esm/components/timeline/style/_timeline.scss +42 -0
  619. package/esm/components/timeline/style/dnb-timeline.css +307 -0
  620. package/esm/components/timeline/style/dnb-timeline.min.css +1 -0
  621. package/esm/components/timeline/style/dnb-timeline.scss +12 -0
  622. package/esm/components/timeline/style/index.d.ts +6 -0
  623. package/esm/components/timeline/style/index.js +1 -0
  624. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  625. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  626. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  627. package/esm/components/timeline/style/themes/ui.js +1 -0
  628. package/esm/components/timeline/style.js +1 -0
  629. package/esm/components/toggle-button/ToggleButton.d.ts +7 -7
  630. package/esm/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  631. package/esm/components/tooltip/Tooltip.d.ts +5 -5
  632. package/esm/components/tooltip/TooltipContainer.d.ts +3 -3
  633. package/esm/components/tooltip/TooltipPortal.d.ts +1 -1
  634. package/esm/components/tooltip/TooltipWithEvents.d.ts +1 -1
  635. package/esm/dnb-ui-components.min.mjs +4 -4
  636. package/esm/dnb-ui-elements.min.mjs +1 -1
  637. package/esm/dnb-ui-extensions.min.mjs +3 -3
  638. package/esm/dnb-ui-lib.min.mjs +4 -4
  639. package/esm/dnb-ui-web-components.min.mjs +4 -4
  640. package/esm/elements/Img.d.ts +1 -1
  641. package/esm/extensions/payment-card/PaymentCard.d.ts +1 -1
  642. package/esm/extensions/payment-card/style/_payment-card.scss +0 -1
  643. package/esm/extensions/payment-card/style/dnb-payment-card.css +0 -1
  644. package/esm/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  645. package/esm/fragments/drawer-list/DrawerListProvider.js +1 -0
  646. package/esm/fragments/scroll-view/ScrollView.js +10 -16
  647. package/esm/fragments/scroll-view/ScrollView.tsx +92 -0
  648. package/esm/index.d.ts +8 -0
  649. package/esm/index.js +5 -1
  650. package/esm/shared/Context.js +11 -4
  651. package/esm/shared/locales/en-GB.js +5 -0
  652. package/esm/shared/locales/nb-NO.js +5 -0
  653. package/esm/style/core/helper-classes/skip-link.scss +1 -1
  654. package/esm/style/dnb-ui-components.css +716 -0
  655. package/esm/style/dnb-ui-components.min.css +3 -3
  656. package/esm/style/dnb-ui-components.scss +4 -0
  657. package/esm/style/dnb-ui-elements.css +3 -0
  658. package/esm/style/dnb-ui-elements.min.css +1 -1
  659. package/esm/style/dnb-ui-extensions.css +0 -1
  660. package/esm/style/dnb-ui-extensions.min.css +1 -1
  661. package/esm/style/dnb-ui-tags.css +6 -0
  662. package/esm/style/dnb-ui-tags.min.css +2 -2
  663. package/esm/style/elements/code.scss +3 -0
  664. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  665. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  666. package/esm/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  667. package/esm/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  668. package/esm/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  669. package/extensions/payment-card/PaymentCard.d.ts +1 -1
  670. package/extensions/payment-card/style/_payment-card.scss +0 -1
  671. package/extensions/payment-card/style/dnb-payment-card.css +0 -1
  672. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  673. package/fragments/drawer-list/DrawerListProvider.js +1 -0
  674. package/fragments/scroll-view/ScrollView.js +10 -16
  675. package/fragments/scroll-view/ScrollView.tsx +92 -0
  676. package/index.d.ts +8 -0
  677. package/index.js +5 -1
  678. package/package.json +2 -3
  679. package/shared/Context.js +11 -4
  680. package/shared/locales/en-GB.js +5 -0
  681. package/shared/locales/nb-NO.js +5 -0
  682. package/style/core/helper-classes/skip-link.scss +1 -1
  683. package/style/dnb-ui-components.css +716 -0
  684. package/style/dnb-ui-components.min.css +3 -3
  685. package/style/dnb-ui-components.scss +4 -0
  686. package/style/dnb-ui-elements.css +3 -0
  687. package/style/dnb-ui-elements.min.css +1 -1
  688. package/style/dnb-ui-extensions.css +0 -1
  689. package/style/dnb-ui-extensions.min.css +1 -1
  690. package/style/dnb-ui-tags.css +6 -0
  691. package/style/dnb-ui-tags.min.css +2 -2
  692. package/style/elements/code.scss +3 -0
  693. package/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  694. package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  695. package/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  696. package/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  697. package/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  698. package/umd/dnb-ui-components.min.js +5 -5
  699. package/umd/dnb-ui-elements.min.js +3 -3
  700. package/umd/dnb-ui-extensions.min.js +3 -3
  701. package/umd/dnb-ui-lib.min.js +5 -5
  702. package/umd/dnb-ui-web-components.min.js +5 -5
  703. package/cjs/components/modal/ModalContent.d.ts +0 -168
  704. package/cjs/components/modal/ModalHeader.d.ts +0 -73
  705. package/cjs/components/modal/ModalInner.d.ts +0 -20
  706. package/cjs/fragments/scroll-view/ScrollView.d.ts +0 -1
  707. package/components/modal/Modal.d.ts +0 -325
  708. package/components/modal/ModalContent.d.ts +0 -168
  709. package/components/modal/ModalHeader.d.ts +0 -73
  710. package/components/modal/ModalHeader.js +0 -224
  711. package/components/modal/ModalInner.d.ts +0 -20
  712. package/es/components/modal/ModalContent.d.ts +0 -168
  713. package/es/components/modal/ModalHeader.d.ts +0 -73
  714. package/es/components/modal/ModalHeader.js +0 -166
  715. package/es/components/modal/ModalInner.d.ts +0 -20
  716. package/es/fragments/scroll-view/ScrollView.d.ts +0 -1
  717. package/esm/components/modal/ModalContent.d.ts +0 -168
  718. package/esm/components/modal/ModalHeader.d.ts +0 -73
  719. package/esm/components/modal/ModalHeader.js +0 -224
  720. package/esm/components/modal/ModalInner.d.ts +0 -20
  721. package/esm/fragments/scroll-view/ScrollView.d.ts +0 -1
  722. package/fragments/scroll-view/ScrollView.d.ts +0 -1
@@ -0,0 +1,515 @@
1
+ /**
2
+ * Web Modal Component
3
+ *
4
+ */
5
+
6
+ import React from 'react'
7
+ import classnames from 'classnames'
8
+ import keycode from 'keycode'
9
+ import {
10
+ disableBodyScroll,
11
+ enableBodyScroll,
12
+ clearAllBodyScrollLocks,
13
+ } from './bodyScrollLock'
14
+ import {
15
+ warn,
16
+ isTrue,
17
+ makeUniqueId,
18
+ InteractionInvalidation,
19
+ findElementInChildren,
20
+ combineLabelledBy,
21
+ combineDescribedBy,
22
+ validateDOMAttributes,
23
+ dispatchCustomElementEvent,
24
+ } from '../../shared/component-helper'
25
+ import ScrollView from '../../fragments/scroll-view/ScrollView'
26
+ import ModalContext from './ModalContext'
27
+ import ModalHeader from './components/ModalHeader'
28
+ import ModalHeaderBar from './components/ModalHeaderBar'
29
+ import { IS_IOS, IS_SAFARI, IS_MAC, isAndroid } from '../../shared/helpers'
30
+ import { ModalContentProps } from './types'
31
+ import {
32
+ getListOfModalRoots,
33
+ getModalRoot,
34
+ addToIndex,
35
+ removeFromIndex,
36
+ } from './helpers'
37
+
38
+ interface ModalContentState {
39
+ triggeredBy: string
40
+ triggeredByEvent: Event
41
+ color: string
42
+ }
43
+
44
+ declare global {
45
+ interface Window {
46
+ __modalStack: any[]
47
+ }
48
+ }
49
+
50
+ export default class ModalContent extends React.PureComponent<
51
+ ModalContentProps,
52
+ ModalContentState
53
+ > {
54
+ state = { triggeredBy: null, triggeredByEvent: null, color: null }
55
+
56
+ _contentRef: React.RefObject<any>
57
+ _id: string
58
+ _lockTimeout: NodeJS.Timeout
59
+ _focusTimeout: NodeJS.Timeout
60
+ _androidFocusTimeout: NodeJS.Timeout
61
+ _ii: InteractionInvalidation
62
+ _iiLocal: InteractionInvalidation
63
+
64
+ constructor(props) {
65
+ super(props)
66
+ this._contentRef = React.createRef()
67
+
68
+ // NB: The ""._id" is used in the __modalStack as "last._id"
69
+ this._id = props.id
70
+ }
71
+
72
+ componentDidMount() {
73
+ const {
74
+ id = null,
75
+ no_animation = false,
76
+ animation_duration = null,
77
+ } = this.props
78
+
79
+ const timeoutDuration: number =
80
+ typeof animation_duration === 'string'
81
+ ? parseFloat(animation_duration)
82
+ : animation_duration
83
+
84
+ // Add it to the index at first
85
+ // we use it later with getListOfModalRoots
86
+ addToIndex(this)
87
+
88
+ // Because of nested modals/drawers, we run this regardless
89
+ // has to be run at first – so the scrollbar gets removed
90
+ this.removeScrollPossibility() // forces browser to re-paint
91
+
92
+ this.setFocus()
93
+ this.setAndroidFocusHelper()
94
+
95
+ dispatchCustomElementEvent(this, 'on_open', {
96
+ id,
97
+ })
98
+
99
+ if (isTrue(no_animation) || process.env.NODE_ENV === 'test') {
100
+ this.lockBody() // forces browser to re-paint
101
+ } else {
102
+ this._lockTimeout = setTimeout(this.lockBody, timeoutDuration * 1.2) // a little over --modal-animation-duration
103
+ }
104
+ }
105
+
106
+ componentWillUnmount() {
107
+ clearTimeout(this._focusTimeout)
108
+ clearTimeout(this._lockTimeout)
109
+
110
+ this.removeLocks()
111
+ }
112
+
113
+ lockBody = () => {
114
+ const modalRoots = getListOfModalRoots()
115
+ const firstLevel = modalRoots[0]
116
+
117
+ if (firstLevel === this) {
118
+ this._ii = new InteractionInvalidation()
119
+ this._ii.setBypassSelector(
120
+ [
121
+ // Bypass modal content
122
+ '.dnb-modal__content *',
123
+ `#dnb-modal-${this.props.root_id || 'root'} *`,
124
+
125
+ // TODO: Eventually in future, make it possible to bypass invalidation from outside
126
+ // '.dnb-modal--bypass_invalidation',
127
+ // '.dnb-modal--bypass_invalidation_deep *',
128
+ // this.props.bypass_invalidation_selectors,
129
+ ].filter(Boolean)
130
+ )
131
+ this._ii.activate()
132
+ } else {
133
+ modalRoots.forEach((modal) => {
134
+ if (
135
+ modal !== this &&
136
+ typeof modal._iiLocal === 'undefined' &&
137
+ typeof modal._contentRef !== 'undefined'
138
+ ) {
139
+ modal._iiLocal = new InteractionInvalidation()
140
+ modal._iiLocal.activate(modal._contentRef.current)
141
+ }
142
+ })
143
+ }
144
+
145
+ if (typeof document !== 'undefined') {
146
+ /** To ensure, we have always a working keydown, we call it both on the element and document */
147
+ document.addEventListener('keydown', this.onKeyDownHandler)
148
+ }
149
+ }
150
+
151
+ removeLocks() {
152
+ const modalRoots = getListOfModalRoots()
153
+ const firstLevel = modalRoots[0]
154
+
155
+ removeFromIndex(this)
156
+
157
+ if (firstLevel === this) {
158
+ this._ii?.revert()
159
+ this.revertScrollPossibility()
160
+ } else {
161
+ try {
162
+ const modal = modalRoots[modalRoots.length - 2]
163
+ if (modal !== this && modal._iiLocal) {
164
+ modal._iiLocal.revert()
165
+ delete modal._iiLocal
166
+ }
167
+ } catch (e) {
168
+ warn(e)
169
+ }
170
+ }
171
+
172
+ this.removeAndroidFocusHelper()
173
+
174
+ const id = this.props.id
175
+ const { triggeredBy, triggeredByEvent } = this.state
176
+ dispatchCustomElementEvent(this, 'on_close', {
177
+ id,
178
+ event: triggeredByEvent,
179
+ triggeredBy: triggeredBy || 'unmount',
180
+ })
181
+
182
+ if (typeof document !== 'undefined') {
183
+ document.removeEventListener('keydown', this.onKeyDownHandler)
184
+ }
185
+ }
186
+
187
+ setAndroidFocusHelper() {
188
+ if (typeof window !== 'undefined' && isAndroid()) {
189
+ window.addEventListener('resize', this._androidFocusHelper)
190
+ }
191
+ }
192
+
193
+ removeAndroidFocusHelper() {
194
+ window.removeEventListener('resize', this._androidFocusHelper)
195
+ clearTimeout(this._androidFocusTimeout)
196
+ }
197
+
198
+ _androidFocusHelper = () => {
199
+ const { animation_duration = null } = this.props
200
+ const timeoutDuration: number =
201
+ typeof animation_duration === 'string'
202
+ ? parseFloat(animation_duration)
203
+ : animation_duration
204
+
205
+ clearTimeout(this._androidFocusTimeout)
206
+ this._androidFocusTimeout = setTimeout(() => {
207
+ try {
208
+ if (
209
+ document.activeElement?.tagName == 'INPUT' ||
210
+ document.activeElement?.tagName == 'TEXTAREA'
211
+ ) {
212
+ document.activeElement.scrollIntoView()
213
+ }
214
+ } catch (e) {
215
+ //
216
+ }
217
+ }, timeoutDuration / 2) // Older Android needs a delay here
218
+ }
219
+
220
+ setFocus() {
221
+ const {
222
+ focus_selector = null,
223
+ no_animation = null,
224
+ animation_duration = null,
225
+ } = this.props
226
+ const elem = this._contentRef.current
227
+ const timeoutDuration: number =
228
+ typeof animation_duration === 'string'
229
+ ? parseFloat(animation_duration)
230
+ : animation_duration
231
+
232
+ if (elem) {
233
+ clearTimeout(this._focusTimeout)
234
+ this._focusTimeout = setTimeout(
235
+ () => {
236
+ try {
237
+ let focusElement = elem
238
+
239
+ // Try to use the "first-focus" method first
240
+ if (typeof focus_selector === 'string') {
241
+ focusElement = elem.querySelector(focus_selector)
242
+ }
243
+
244
+ focusElement.focus()
245
+
246
+ const noH1Elem = elem.querySelector('h1, h2, h3')
247
+ if (
248
+ typeof noH1Elem?.tagName !== 'undefined' &&
249
+ noH1Elem?.tagName !== 'H1'
250
+ ) {
251
+ warn(
252
+ 'You have to provide a h1 element at first – instead of:',
253
+ noH1Elem
254
+ )
255
+ }
256
+ } catch (e) {
257
+ warn(e)
258
+ }
259
+ },
260
+ isTrue(no_animation) ? 0 : timeoutDuration || 0
261
+ ) // with this delay, the user can press esc without an focus action first
262
+ }
263
+ }
264
+
265
+ removeScrollPossibility() {
266
+ if (this._contentRef.current) {
267
+ disableBodyScroll(this._contentRef.current)
268
+ }
269
+ }
270
+
271
+ revertScrollPossibility() {
272
+ enableBodyScroll(this._contentRef.current)
273
+ clearAllBodyScrollLocks()
274
+ }
275
+
276
+ preventClick = (event) => {
277
+ if (event) {
278
+ event.stopPropagation()
279
+ }
280
+ }
281
+
282
+ onCloseClickHandler = (event) => {
283
+ this.closeModalContent(event, { triggeredBy: 'button' })
284
+ }
285
+
286
+ onContentClickHandler = (event) => {
287
+ this.closeModalContent(event, {
288
+ triggeredBy: 'overlay',
289
+ ifIsLatest: false,
290
+ })
291
+ }
292
+
293
+ onKeyDownHandler = (event) => {
294
+ switch (keycode(event)) {
295
+ case 'esc': {
296
+ // const mostCurrent = [...getListOfModalRoots()].pop()
297
+ const mostCurrent = getModalRoot(-1)
298
+
299
+ if (mostCurrent === this) {
300
+ event.preventDefault()
301
+ this.closeModalContent(event, {
302
+ triggeredBy: 'keyboard',
303
+ })
304
+ }
305
+
306
+ break
307
+ }
308
+ }
309
+ }
310
+
311
+ closeModalContent(event, { triggeredBy, ...params }) {
312
+ event?.persist?.()
313
+ this.setState({ triggeredBy, triggeredByEvent: event }, () => {
314
+ this.props.closeModal(event, {
315
+ triggeredBy,
316
+ ...params,
317
+ })
318
+ })
319
+ }
320
+
321
+ setBackgroundColor = (color: string) => {
322
+ document.documentElement.style.setProperty(
323
+ '--modal-background-color',
324
+ color
325
+ )
326
+ this.setState({
327
+ color,
328
+ })
329
+ }
330
+
331
+ render() {
332
+ const {
333
+ mode = 'modal',
334
+ hide,
335
+ title,
336
+ labelled_by,
337
+ header_content,
338
+ modal_content,
339
+ bar_content,
340
+ id: _id, // eslint-disable-line
341
+ close_title = 'Lukk',
342
+ dialog_title = 'Vindu',
343
+ hide_close_button = false,
344
+ close_button_attributes,
345
+ spacing = true,
346
+ prevent_core_style = false,
347
+ animation_duration, // eslint-disable-line
348
+ no_animation = false,
349
+ no_animation_on_mobile = false,
350
+ min_width,
351
+ max_width,
352
+ fullscreen = 'auto',
353
+ align_content,
354
+ container_placement,
355
+ closeModal, // eslint-disable-line
356
+ className,
357
+ class: _className,
358
+ content_class,
359
+ overlay_class,
360
+ content_id,
361
+ children, // eslint-disable-line
362
+ ...rest
363
+ } = this.props
364
+ const { color } = this.state
365
+
366
+ const contentId = content_id || makeUniqueId('modal-')
367
+
368
+ // ensure the min/max don't conflict
369
+ let minWidth = min_width
370
+ let maxWidth = max_width
371
+ if (minWidth && !maxWidth && parseFloat(String(minWidth)) > 0) {
372
+ maxWidth = 0
373
+ } else if (maxWidth && !minWidth && parseFloat(String(maxWidth)) > 0) {
374
+ minWidth = 0
375
+ }
376
+
377
+ const useDialogRole = !(IS_MAC || IS_SAFARI || IS_IOS)
378
+
379
+ const contentParams = {
380
+ /**
381
+ * Do not use role="dialog" on Safari
382
+ *
383
+ * VoiceOver has troubles with role="dialog" and "Modal in Modal",
384
+ * the result is, only the first Modal gets focus (set by Safari)
385
+ *
386
+ * Tests have shown: Both VoiceOver are working fine with the:
387
+ * "aria-labelledby" and "aria-describedby" approach
388
+ *
389
+ */
390
+ role: useDialogRole ? 'dialog' : 'region',
391
+ 'aria-modal': useDialogRole ? true : undefined,
392
+
393
+ /**
394
+ * ARIA references
395
+ */
396
+ 'aria-labelledby': combineLabelledBy(
397
+ this.props,
398
+ title ? contentId + '-title' : null,
399
+ labelled_by
400
+ ),
401
+ 'aria-describedby': combineDescribedBy(
402
+ this.props,
403
+ contentId + '-content'
404
+ ),
405
+
406
+ /**
407
+ * If no labelled_by and no title is given,
408
+ * set a fallback "dialog_title"
409
+ */
410
+ 'aria-label': !title && !labelled_by ? dialog_title : undefined,
411
+
412
+ className: classnames(
413
+ 'dnb-modal__content',
414
+ mode && `dnb-modal__content--${mode}`,
415
+ hide && 'dnb-modal__content--hide',
416
+ isTrue(spacing) && 'dnb-modal__content--spacing',
417
+ align_content && `dnb-modal__content__align--${align_content}`,
418
+ container_placement || mode === 'drawer'
419
+ ? `dnb-modal__content--${container_placement || 'right'}`
420
+ : null,
421
+ isTrue(fullscreen)
422
+ ? 'dnb-modal__content--fullscreen'
423
+ : fullscreen === 'auto' && 'dnb-modal__content--auto-fullscreen',
424
+ isTrue(no_animation) && 'dnb-modal__content--no-animation',
425
+ isTrue(no_animation_on_mobile) &&
426
+ 'dnb-modal__content--no-animation-on-mobile',
427
+ content_class
428
+ ),
429
+ onClick: this.onContentClickHandler,
430
+ }
431
+
432
+ const innerParams = {
433
+ className: classnames(
434
+ 'dnb-modal__content__inner',
435
+ !isTrue(prevent_core_style) && 'dnb-core-style',
436
+ className,
437
+ _className
438
+ ),
439
+ style: (minWidth || maxWidth) && { minWidth, maxWidth },
440
+ onClick: this.preventClick,
441
+ onTouchStart: this.preventClick,
442
+ onKeyDown: this.onKeyDownHandler,
443
+ ...rest,
444
+ }
445
+
446
+ // also used for code markup simulation
447
+ validateDOMAttributes(this.props, innerParams)
448
+
449
+ const barExists = findElementInChildren(
450
+ modal_content,
451
+ (cur) => cur.type === ModalHeaderBar
452
+ )
453
+
454
+ const headerExists = findElementInChildren(
455
+ modal_content,
456
+ (cur) => cur.type === ModalHeader
457
+ )
458
+
459
+ return (
460
+ <ModalContext.Provider
461
+ value={{
462
+ id: this.props.id,
463
+ title,
464
+ hide_close_button,
465
+ close_button_attributes,
466
+ close_title,
467
+ mode,
468
+ setBackgroundColor: this.setBackgroundColor,
469
+ onCloseClickHandler: this.onCloseClickHandler,
470
+ }}
471
+ >
472
+ <div id={contentId} {...contentParams}>
473
+ {/* Div should now be clickable */}
474
+ <ScrollView {...innerParams}>
475
+ <div
476
+ tabIndex={-1}
477
+ className="dnb-modal__content__spacing dnb-no-focus"
478
+ style={
479
+ color
480
+ ? { '--modal-background-color': `var(--color-${color})` }
481
+ : null
482
+ }
483
+ ref={this._contentRef}
484
+ >
485
+ {!barExists && (
486
+ <ModalHeaderBar>{bar_content}</ModalHeaderBar>
487
+ )}
488
+ {!headerExists && (
489
+ <ModalHeader title={title}>{header_content}</ModalHeader>
490
+ )}
491
+ <div
492
+ id={contentId + '-content'}
493
+ className="dnb-modal__content__wrapper"
494
+ >
495
+ {modal_content}
496
+ </div>
497
+ </div>
498
+ </ScrollView>
499
+ </div>
500
+ <span
501
+ className={classnames(
502
+ 'dnb-modal__overlay',
503
+ hide && 'dnb-modal__overlay--hide',
504
+ mode && `dnb-modal__overlay--${mode}`,
505
+ isTrue(no_animation) && 'dnb-modal__overlay--no-animation',
506
+ isTrue(no_animation_on_mobile) &&
507
+ 'dnb-modal__overlay--no-animation-on-mobile',
508
+ overlay_class
509
+ )}
510
+ aria-hidden="true"
511
+ />
512
+ </ModalContext.Provider>
513
+ )
514
+ }
515
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Web ModalContext Context
3
+ *
4
+ */
5
+
6
+ import React from 'react'
7
+
8
+ const ModalContext = React.createContext({})
9
+
10
+ export default ModalContext
@@ -0,0 +1,145 @@
1
+ import "core-js/modules/es.object.to-string.js";
2
+ import "core-js/modules/es.reflect.construct.js";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
5
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
6
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
7
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
8
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
9
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
10
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
11
+ var _excluded = ["children", "direct_dom_return"];
12
+ import "core-js/modules/es.array.concat.js";
13
+
14
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
15
+
16
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
17
+
18
+ import React from 'react';
19
+ import ReactDOM from 'react-dom';
20
+ import { warn, isTrue } from '../../shared/component-helper';
21
+ import ModalContent from './ModalContent';
22
+
23
+ var ModalRoot = function (_React$PureComponent) {
24
+ _inherits(ModalRoot, _React$PureComponent);
25
+
26
+ var _super = _createSuper(ModalRoot);
27
+
28
+ function ModalRoot() {
29
+ var _this;
30
+
31
+ _classCallCheck(this, ModalRoot);
32
+
33
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34
+ args[_key] = arguments[_key];
35
+ }
36
+
37
+ _this = _super.call.apply(_super, [this].concat(args));
38
+
39
+ _defineProperty(_assertThisInitialized(_this), "portalElem", void 0);
40
+
41
+ _defineProperty(_assertThisInitialized(_this), "state", {
42
+ isMounted: false
43
+ });
44
+
45
+ return _this;
46
+ }
47
+
48
+ _createClass(ModalRoot, [{
49
+ key: "componentDidMount",
50
+ value: function componentDidMount() {
51
+ var _this$props = this.props,
52
+ _this$props$direct_do = _this$props.direct_dom_return,
53
+ direct_dom_return = _this$props$direct_do === void 0 ? false : _this$props$direct_do,
54
+ _this$props$root_id = _this$props.root_id,
55
+ root_id = _this$props$root_id === void 0 ? 'root' : _this$props$root_id;
56
+
57
+ if (!isTrue(direct_dom_return)) {
58
+ ModalRoot.insertModalRoot(root_id);
59
+
60
+ try {
61
+ if (!this.portalElem) {
62
+ this.portalElem = document.createElement('div');
63
+ this.portalElem.className = 'dnb-modal-root__inner';
64
+ }
65
+
66
+ if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot) {
67
+ window.__modalRoot.appendChild(this.portalElem);
68
+ }
69
+ } catch (e) {
70
+ warn(e);
71
+ }
72
+
73
+ this.setState({
74
+ isMounted: true
75
+ });
76
+ }
77
+ }
78
+ }, {
79
+ key: "componentWillUnmount",
80
+ value: function componentWillUnmount() {
81
+ try {
82
+ if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot && window.__modalRoot.removeChild) {
83
+ window.__modalRoot.removeChild(this.portalElem);
84
+
85
+ this.portalElem = null;
86
+ }
87
+ } catch (e) {
88
+ warn(e);
89
+ }
90
+ }
91
+ }, {
92
+ key: "render",
93
+ value: function render() {
94
+ var _this$props2 = this.props,
95
+ children = _this$props2.children,
96
+ direct_dom_return = _this$props2.direct_dom_return,
97
+ props = _objectWithoutProperties(_this$props2, _excluded);
98
+
99
+ if (isTrue(direct_dom_return)) {
100
+ return React.createElement(ModalContent, props, children);
101
+ }
102
+
103
+ if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot && this.state.isMounted) {
104
+ return ReactDOM.createPortal(React.createElement(ModalContent, props, children), this.portalElem);
105
+ }
106
+
107
+ return null;
108
+ }
109
+ }], [{
110
+ key: "insertModalRoot",
111
+ value: function insertModalRoot(id) {
112
+ if (typeof window === 'undefined') {
113
+ return false;
114
+ }
115
+
116
+ try {
117
+ id = "dnb-modal-".concat(id || 'root');
118
+ window.__modalRoot = document.getElementById(id);
119
+
120
+ if (!window.__modalRoot) {
121
+ window.__modalRoot = document.createElement('div');
122
+
123
+ window.__modalRoot.setAttribute('id', id);
124
+
125
+ document.body.insertBefore(window.__modalRoot, document.body.firstChild);
126
+ }
127
+ } catch (e) {
128
+ warn('Modal: Could not insert dnb-modal-root', e);
129
+ }
130
+
131
+ return window.__modalRoot;
132
+ }
133
+ }]);
134
+
135
+ return ModalRoot;
136
+ }(React.PureComponent);
137
+
138
+ _defineProperty(ModalRoot, "defaultProps", {
139
+ id: null,
140
+ root_id: 'root',
141
+ direct_dom_return: false,
142
+ children: null
143
+ });
144
+
145
+ export { ModalRoot as default };