@dnb/eufemia 9.16.3 → 9.18.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 (785) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/assets/assets/icons/above_the_line.svg +1 -1
  3. package/assets/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
  4. package/assets/assets/icons/eufemia-icons-pdf.tgz +0 -0
  5. package/assets/assets/icons/facebook.svg +3 -0
  6. package/assets/assets/icons/facebook_medium.svg +3 -0
  7. package/assets/assets/icons/fridge.svg +1 -1
  8. package/assets/assets/icons/information_circled.svg +2 -1
  9. package/assets/assets/icons/information_circled_medium.svg +2 -1
  10. package/assets/assets/icons/instagram.svg +5 -0
  11. package/assets/assets/icons/instagram_medium.svg +12 -0
  12. package/assets/assets/icons/linkedin.svg +3 -0
  13. package/assets/assets/icons/linkedin_medium.svg +3 -0
  14. package/assets/assets/icons/motorcycle_medium.svg +2 -2
  15. package/assets/assets/icons/paragraph.svg +1 -1
  16. package/assets/assets/icons/scooter_medium.svg +2 -2
  17. package/assets/assets/icons/tag.svg +4 -0
  18. package/assets/assets/icons/tag_medium.svg +4 -0
  19. package/assets/icons/above_the_line.svg +1 -1
  20. package/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
  21. package/assets/icons/eufemia-icons-pdf.tgz +0 -0
  22. package/assets/icons/facebook.svg +3 -0
  23. package/assets/icons/facebook_medium.svg +3 -0
  24. package/assets/icons/fridge.svg +1 -1
  25. package/assets/icons/information_circled.svg +2 -1
  26. package/assets/icons/information_circled_medium.svg +2 -1
  27. package/assets/icons/instagram.svg +5 -0
  28. package/assets/icons/instagram_medium.svg +12 -0
  29. package/assets/icons/linkedin.svg +3 -0
  30. package/assets/icons/linkedin_medium.svg +3 -0
  31. package/assets/icons/motorcycle_medium.svg +2 -2
  32. package/assets/icons/paragraph.svg +1 -1
  33. package/assets/icons/scooter_medium.svg +2 -2
  34. package/assets/icons/tag.svg +4 -0
  35. package/assets/icons/tag_medium.svg +4 -0
  36. package/cjs/components/Tag.d.ts +14 -0
  37. package/cjs/components/Tag.js +52 -0
  38. package/cjs/components/accordion/Accordion.d.ts +7 -7
  39. package/cjs/components/autocomplete/Autocomplete.d.ts +13 -13
  40. package/cjs/components/autocomplete/style/dnb-autocomplete.css +0 -2
  41. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  42. package/cjs/components/breadcrumb/Breadcrumb.js +5 -3
  43. package/cjs/components/breadcrumb/style/_breadcrumb.scss +7 -4
  44. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +10 -8
  45. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  46. package/cjs/components/button/Button.d.ts +7 -7
  47. package/cjs/components/button/Button.js +7 -5
  48. package/cjs/components/button/style/_button.scss +0 -4
  49. package/cjs/components/button/style/dnb-button.css +0 -2
  50. package/cjs/components/button/style/dnb-button.min.css +1 -1
  51. package/cjs/components/button/style/themes/dnb-button-theme-open-banking.css +4 -13
  52. package/cjs/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  53. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +4 -13
  54. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  55. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +5 -18
  56. package/cjs/components/checkbox/Checkbox.d.ts +3 -3
  57. package/cjs/components/date-picker/DatePicker.d.ts +14 -14
  58. package/cjs/components/date-picker/DatePickerAddon.d.ts +1 -1
  59. package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -1
  60. package/cjs/components/date-picker/DatePickerInput.d.ts +1 -1
  61. package/cjs/components/date-picker/style/dnb-date-picker.css +0 -6
  62. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  63. package/cjs/components/dropdown/Dropdown.d.ts +9 -9
  64. package/cjs/components/dropdown/style/dnb-dropdown.css +0 -2
  65. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  66. package/cjs/components/form-row/FormRow.d.ts +4 -4
  67. package/cjs/components/form-set/FormSet.d.ts +6 -6
  68. package/cjs/components/global-error/GlobalError.d.ts +1 -1
  69. package/cjs/components/global-error/style/dnb-global-error.css +0 -2
  70. package/cjs/components/global-error/style/dnb-global-error.min.css +1 -1
  71. package/cjs/components/global-status/GlobalStatus.d.ts +5 -5
  72. package/cjs/components/global-status/GlobalStatus.js +21 -73
  73. package/cjs/components/global-status/style/_global-status.scss +14 -12
  74. package/cjs/components/global-status/style/dnb-global-status.css +13 -17
  75. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  76. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  77. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  78. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  79. package/cjs/components/heading/Heading.d.ts +2 -2
  80. package/cjs/components/heading/HeadingProvider.d.ts +2 -2
  81. package/cjs/components/help-button/HelpButton.d.ts +200 -0
  82. package/cjs/components/icon/Icon.d.ts +1 -1
  83. package/cjs/components/icon-primary/IconPrimary.d.ts +1 -1
  84. package/cjs/components/index.d.ts +2 -0
  85. package/cjs/components/index.js +8 -0
  86. package/cjs/components/input/Input.d.ts +9 -9
  87. package/cjs/components/input/style/dnb-input.css +0 -2
  88. package/cjs/components/input/style/dnb-input.min.css +1 -1
  89. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  90. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  91. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  92. package/cjs/components/input-masked/InputMasked.d.ts +11 -11
  93. package/cjs/components/input-masked/InputMasked.js +6 -3
  94. package/cjs/components/input-masked/InputMaskedElement.js +1 -4
  95. package/cjs/components/input-masked/InputMaskedHooks.js +68 -54
  96. package/cjs/components/input-masked/InputMaskedUtils.js +17 -22
  97. package/cjs/components/input-masked/style/dnb-input-masked.css +0 -2
  98. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  99. package/cjs/components/lib.js +9 -0
  100. package/cjs/components/modal/Modal.js +158 -300
  101. package/cjs/components/modal/ModalContent.js +183 -272
  102. package/cjs/components/modal/ModalRoot.js +194 -0
  103. package/cjs/components/modal/components/CloseButton.js +125 -0
  104. package/cjs/components/modal/components/ModalHeader.js +124 -0
  105. package/cjs/components/modal/{ModalHeader.js → components/ModalHeaderBar.js} +50 -162
  106. package/cjs/components/modal/{ModalInner.js → components/ModalInner.js} +11 -19
  107. package/cjs/components/modal/helpers.js +80 -0
  108. package/cjs/components/modal/style/_modal-mixins.scss +4 -4
  109. package/cjs/components/modal/style/_modal.scss +13 -30
  110. package/cjs/components/modal/style/dnb-modal.css +27 -47
  111. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  112. package/cjs/components/modal/types.js +1 -0
  113. package/cjs/components/number-format/NumberFormat.d.ts +8 -8
  114. package/cjs/components/pagination/Pagination.d.ts +30 -30
  115. package/cjs/components/pagination/PaginationProvider.d.ts +2 -2
  116. package/cjs/components/pagination/style/dnb-pagination.css +0 -2
  117. package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
  118. package/cjs/components/radio/Radio.d.ts +4 -4
  119. package/cjs/components/radio/RadioGroup.d.ts +3 -3
  120. package/cjs/components/section/Section.d.ts +3 -2
  121. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  122. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  123. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  124. package/cjs/components/skeleton/Skeleton.d.ts +2 -2
  125. package/cjs/components/slider/Slider.d.ts +4 -4
  126. package/cjs/components/slider/style/dnb-slider.css +0 -2
  127. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  128. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -6
  129. package/cjs/components/step-indicator/StepIndicator.js +4 -98
  130. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +2 -1
  131. package/cjs/components/step-indicator/StepIndicatorContext.js +221 -19
  132. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +2 -2
  133. package/cjs/components/step-indicator/StepIndicatorItem.js +4 -6
  134. package/cjs/components/step-indicator/StepIndicatorModal.js +40 -49
  135. package/cjs/components/step-indicator/StepIndicatorProps.js +1 -1
  136. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +40 -1
  137. package/cjs/components/step-indicator/StepIndicatorSidebar.js +57 -54
  138. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  139. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  140. package/cjs/components/step-indicator/style/_step-indicator.scss +17 -4
  141. package/cjs/components/step-indicator/style/dnb-step-indicator.css +14 -6
  142. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  143. package/cjs/components/switch/Switch.d.ts +5 -5
  144. package/cjs/components/tabs/Tabs.d.ts +4 -4
  145. package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -1
  146. package/cjs/components/tag/Tag.js +97 -0
  147. package/cjs/components/tag/index.d.ts +8 -0
  148. package/cjs/components/tag/index.js +52 -0
  149. package/cjs/components/tag/style/_tag.scss +26 -0
  150. package/cjs/components/tag/style/dnb-tag.css +109 -0
  151. package/cjs/components/tag/style/dnb-tag.min.css +1 -0
  152. package/cjs/components/tag/style/dnb-tag.scss +12 -0
  153. package/cjs/components/tag/style/index.d.ts +6 -0
  154. package/cjs/components/tag/style/index.js +3 -0
  155. package/cjs/components/tag/style.js +3 -0
  156. package/cjs/components/textarea/Textarea.d.ts +4 -4
  157. package/cjs/components/textarea/style/_textarea.scss +4 -0
  158. package/cjs/components/textarea/style/dnb-textarea.css +3 -0
  159. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  160. package/cjs/components/toggle-button/ToggleButton.d.ts +6 -6
  161. package/cjs/components/toggle-button/ToggleButton.js +6 -2
  162. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +3 -3
  163. package/cjs/components/toggle-button/style/dnb-toggle-button.css +0 -2
  164. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  165. package/cjs/components/tooltip/Tooltip.d.ts +5 -5
  166. package/cjs/components/tooltip/TooltipContainer.d.ts +3 -3
  167. package/cjs/components/tooltip/TooltipPortal.d.ts +1 -1
  168. package/cjs/components/tooltip/TooltipWithEvents.d.ts +1 -1
  169. package/cjs/fragments/scroll-view/ScrollView.js +7 -16
  170. package/cjs/icons/above_the_line.js +1 -1
  171. package/cjs/icons/facebook.js +35 -0
  172. package/cjs/icons/facebook_medium.js +35 -0
  173. package/cjs/icons/fridge.js +1 -1
  174. package/cjs/icons/icons-meta.json +24 -0
  175. package/cjs/icons/icons-pdf.lock +1 -1
  176. package/cjs/icons/icons-svg.lock +1 -1
  177. package/cjs/icons/index.d.ts +16 -0
  178. package/cjs/icons/index.js +64 -0
  179. package/cjs/icons/information_circled.js +11 -4
  180. package/cjs/icons/information_circled_medium.js +10 -4
  181. package/cjs/icons/instagram.js +47 -0
  182. package/cjs/icons/instagram_medium.js +54 -0
  183. package/cjs/icons/linkedin.js +32 -0
  184. package/cjs/icons/linkedin_medium.js +32 -0
  185. package/cjs/icons/motorcycle_medium.js +2 -2
  186. package/cjs/icons/paragraph.js +1 -1
  187. package/cjs/icons/scooter_medium.js +2 -2
  188. package/cjs/icons/secondary_icons.js +32 -0
  189. package/cjs/icons/secondary_icons_medium.js +32 -0
  190. package/cjs/icons/tag.js +41 -0
  191. package/cjs/icons/tag_medium.js +41 -0
  192. package/cjs/index.d.ts +2 -0
  193. package/cjs/index.js +8 -0
  194. package/cjs/shared/Context.js +2 -1
  195. package/cjs/shared/EventEmitter.js +6 -8
  196. package/cjs/shared/component-helper.js +108 -76
  197. package/cjs/shared/helpers.js +36 -11
  198. package/cjs/style/core/helper-classes/skip-link.scss +1 -1
  199. package/cjs/style/dnb-ui-components.css +107 -76
  200. package/cjs/style/dnb-ui-components.min.css +5 -5
  201. package/cjs/style/dnb-ui-components.scss +1 -0
  202. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +98 -95
  203. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  204. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +94 -82
  205. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  206. package/components/Tag.d.ts +14 -0
  207. package/components/Tag.js +3 -0
  208. package/components/accordion/Accordion.d.ts +7 -7
  209. package/components/autocomplete/Autocomplete.d.ts +13 -13
  210. package/components/autocomplete/style/dnb-autocomplete.css +0 -2
  211. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  212. package/components/breadcrumb/Breadcrumb.js +5 -3
  213. package/components/breadcrumb/Breadcrumb.tsx +9 -0
  214. package/components/breadcrumb/style/_breadcrumb.scss +7 -4
  215. package/components/breadcrumb/style/dnb-breadcrumb.css +10 -8
  216. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  217. package/components/button/Button.d.ts +7 -7
  218. package/components/button/Button.js +7 -5
  219. package/components/button/style/_button.scss +0 -4
  220. package/components/button/style/dnb-button.css +0 -2
  221. package/components/button/style/dnb-button.min.css +1 -1
  222. package/components/button/style/themes/dnb-button-theme-open-banking.css +4 -13
  223. package/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  224. package/components/button/style/themes/dnb-button-theme-ui.css +4 -13
  225. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  226. package/components/button/style/themes/dnb-button-theme-ui.scss +5 -18
  227. package/components/checkbox/Checkbox.d.ts +3 -3
  228. package/components/date-picker/DatePicker.d.ts +14 -14
  229. package/components/date-picker/DatePickerAddon.d.ts +1 -1
  230. package/components/date-picker/DatePickerCalendar.d.ts +1 -1
  231. package/components/date-picker/DatePickerInput.d.ts +1 -1
  232. package/components/date-picker/style/dnb-date-picker.css +0 -6
  233. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  234. package/components/dropdown/Dropdown.d.ts +9 -9
  235. package/components/dropdown/style/dnb-dropdown.css +0 -2
  236. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  237. package/components/form-row/FormRow.d.ts +4 -4
  238. package/components/form-set/FormSet.d.ts +6 -6
  239. package/components/global-error/GlobalError.d.ts +1 -1
  240. package/components/global-error/style/dnb-global-error.css +0 -2
  241. package/components/global-error/style/dnb-global-error.min.css +1 -1
  242. package/components/global-status/GlobalStatus.d.ts +5 -5
  243. package/components/global-status/GlobalStatus.js +18 -71
  244. package/components/global-status/style/_global-status.scss +14 -12
  245. package/components/global-status/style/dnb-global-status.css +13 -17
  246. package/components/global-status/style/dnb-global-status.min.css +1 -1
  247. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  248. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  249. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  250. package/components/heading/Heading.d.ts +2 -2
  251. package/components/heading/HeadingProvider.d.ts +2 -2
  252. package/components/help-button/HelpButton.d.ts +200 -0
  253. package/components/icon/Icon.d.ts +1 -1
  254. package/components/index.d.ts +2 -0
  255. package/components/index.js +2 -1
  256. package/components/input/Input.d.ts +9 -9
  257. package/components/input/style/dnb-input.css +0 -2
  258. package/components/input/style/dnb-input.min.css +1 -1
  259. package/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  260. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  261. package/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  262. package/components/input-masked/InputMasked.d.ts +11 -11
  263. package/components/input-masked/InputMasked.js +6 -4
  264. package/components/input-masked/InputMaskedElement.js +1 -4
  265. package/components/input-masked/InputMaskedHooks.js +66 -48
  266. package/components/input-masked/InputMaskedUtils.js +18 -23
  267. package/components/input-masked/style/dnb-input-masked.css +0 -2
  268. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  269. package/components/lib.js +3 -1
  270. package/components/modal/Modal.js +147 -279
  271. package/components/modal/Modal.tsx +524 -0
  272. package/components/modal/ModalContent.js +175 -253
  273. package/components/modal/ModalContent.tsx +515 -0
  274. package/components/modal/ModalContext.tsx +10 -0
  275. package/components/modal/ModalRoot.js +145 -0
  276. package/components/modal/ModalRoot.tsx +131 -0
  277. package/components/modal/components/CloseButton.js +72 -0
  278. package/components/modal/components/CloseButton.tsx +56 -0
  279. package/components/modal/components/ModalHeader.js +70 -0
  280. package/components/modal/components/ModalHeader.tsx +79 -0
  281. package/components/modal/components/ModalHeaderBar.js +122 -0
  282. package/components/modal/components/ModalHeaderBar.tsx +118 -0
  283. package/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
  284. package/components/modal/components/ModalInner.tsx +45 -0
  285. package/components/modal/helpers.js +64 -0
  286. package/components/modal/helpers.ts +63 -0
  287. package/components/modal/style/_modal-mixins.scss +4 -4
  288. package/components/modal/style/_modal.scss +13 -30
  289. package/components/modal/style/dnb-modal.css +27 -47
  290. package/components/modal/style/dnb-modal.min.css +1 -1
  291. package/components/modal/types.js +1 -0
  292. package/{cjs/components/modal/Modal.d.ts → components/modal/types.ts} +125 -179
  293. package/components/number-format/NumberFormat.d.ts +8 -8
  294. package/components/pagination/Pagination.d.ts +30 -30
  295. package/components/pagination/PaginationProvider.d.ts +2 -2
  296. package/components/pagination/style/dnb-pagination.css +0 -2
  297. package/components/pagination/style/dnb-pagination.min.css +1 -1
  298. package/components/radio/Radio.d.ts +4 -4
  299. package/components/radio/RadioGroup.d.ts +3 -3
  300. package/components/section/Section.d.ts +3 -1
  301. package/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  302. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  303. package/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  304. package/components/skeleton/Skeleton.d.ts +2 -2
  305. package/components/slider/Slider.d.ts +4 -4
  306. package/components/slider/style/dnb-slider.css +0 -2
  307. package/components/slider/style/dnb-slider.min.css +1 -1
  308. package/components/step-indicator/StepIndicator.d.ts +6 -6
  309. package/components/step-indicator/StepIndicator.js +4 -91
  310. package/components/step-indicator/StepIndicatorContext.d.ts +2 -1
  311. package/components/step-indicator/StepIndicatorContext.js +196 -18
  312. package/components/step-indicator/StepIndicatorItem.d.ts +2 -2
  313. package/components/step-indicator/StepIndicatorItem.js +3 -5
  314. package/components/step-indicator/StepIndicatorModal.js +33 -32
  315. package/components/step-indicator/StepIndicatorProps.js +1 -1
  316. package/components/step-indicator/StepIndicatorSidebar.d.ts +40 -1
  317. package/components/step-indicator/StepIndicatorSidebar.js +54 -52
  318. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  319. package/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  320. package/components/step-indicator/style/_step-indicator.scss +17 -4
  321. package/components/step-indicator/style/dnb-step-indicator.css +14 -6
  322. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  323. package/components/switch/Switch.d.ts +5 -5
  324. package/components/tabs/Tabs.d.ts +4 -4
  325. package/components/tabs/TabsContentWrapper.d.ts +1 -1
  326. package/components/tag/Tag.js +63 -0
  327. package/components/tag/Tag.tsx +95 -0
  328. package/components/tag/index.d.ts +8 -0
  329. package/components/tag/index.js +3 -0
  330. package/components/tag/style/_tag.scss +26 -0
  331. package/components/tag/style/dnb-tag.css +109 -0
  332. package/components/tag/style/dnb-tag.min.css +1 -0
  333. package/components/tag/style/dnb-tag.scss +12 -0
  334. package/components/tag/style/index.d.ts +6 -0
  335. package/components/tag/style/index.js +1 -0
  336. package/components/tag/style.js +1 -0
  337. package/components/textarea/Textarea.d.ts +4 -4
  338. package/components/textarea/style/_textarea.scss +4 -0
  339. package/components/textarea/style/dnb-textarea.css +3 -0
  340. package/components/textarea/style/dnb-textarea.min.css +1 -1
  341. package/components/toggle-button/ToggleButton.d.ts +6 -6
  342. package/components/toggle-button/ToggleButton.js +6 -2
  343. package/components/toggle-button/ToggleButtonGroup.d.ts +3 -3
  344. package/components/toggle-button/style/dnb-toggle-button.css +0 -2
  345. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  346. package/components/tooltip/Tooltip.d.ts +5 -5
  347. package/components/tooltip/TooltipContainer.d.ts +3 -3
  348. package/components/tooltip/TooltipPortal.d.ts +1 -1
  349. package/components/tooltip/TooltipWithEvents.d.ts +1 -1
  350. package/es/components/Tag.d.ts +14 -0
  351. package/es/components/Tag.js +3 -0
  352. package/es/components/accordion/Accordion.d.ts +7 -7
  353. package/es/components/autocomplete/Autocomplete.d.ts +13 -13
  354. package/es/components/autocomplete/style/dnb-autocomplete.css +0 -2
  355. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  356. package/es/components/breadcrumb/Breadcrumb.js +5 -3
  357. package/es/components/breadcrumb/Breadcrumb.tsx +9 -0
  358. package/es/components/breadcrumb/style/_breadcrumb.scss +7 -4
  359. package/es/components/breadcrumb/style/dnb-breadcrumb.css +10 -8
  360. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  361. package/es/components/button/Button.d.ts +7 -7
  362. package/es/components/button/Button.js +8 -5
  363. package/es/components/button/style/_button.scss +0 -4
  364. package/es/components/button/style/dnb-button.css +0 -2
  365. package/es/components/button/style/dnb-button.min.css +1 -1
  366. package/es/components/button/style/themes/dnb-button-theme-open-banking.css +4 -13
  367. package/es/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  368. package/es/components/button/style/themes/dnb-button-theme-ui.css +4 -13
  369. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  370. package/es/components/button/style/themes/dnb-button-theme-ui.scss +5 -18
  371. package/es/components/checkbox/Checkbox.d.ts +3 -3
  372. package/es/components/date-picker/DatePicker.d.ts +14 -14
  373. package/es/components/date-picker/DatePickerAddon.d.ts +1 -1
  374. package/es/components/date-picker/DatePickerCalendar.d.ts +1 -1
  375. package/es/components/date-picker/DatePickerInput.d.ts +1 -1
  376. package/es/components/date-picker/style/dnb-date-picker.css +0 -6
  377. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  378. package/es/components/dropdown/Dropdown.d.ts +9 -9
  379. package/es/components/dropdown/style/dnb-dropdown.css +0 -2
  380. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  381. package/es/components/form-row/FormRow.d.ts +4 -4
  382. package/es/components/form-set/FormSet.d.ts +6 -6
  383. package/es/components/global-error/GlobalError.d.ts +1 -1
  384. package/es/components/global-error/style/dnb-global-error.css +0 -2
  385. package/es/components/global-error/style/dnb-global-error.min.css +1 -1
  386. package/es/components/global-status/GlobalStatus.d.ts +5 -5
  387. package/es/components/global-status/GlobalStatus.js +18 -67
  388. package/es/components/global-status/style/_global-status.scss +14 -12
  389. package/es/components/global-status/style/dnb-global-status.css +13 -17
  390. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  391. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  392. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  393. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  394. package/es/components/heading/Heading.d.ts +2 -2
  395. package/es/components/heading/HeadingProvider.d.ts +2 -2
  396. package/es/components/help-button/HelpButton.d.ts +200 -0
  397. package/es/components/icon/Icon.d.ts +1 -1
  398. package/es/components/icon-primary/IconPrimary.d.ts +1 -1
  399. package/es/components/index.d.ts +2 -0
  400. package/es/components/index.js +2 -1
  401. package/es/components/input/Input.d.ts +9 -9
  402. package/es/components/input/style/dnb-input.css +0 -2
  403. package/es/components/input/style/dnb-input.min.css +1 -1
  404. package/es/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  405. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  406. package/es/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  407. package/es/components/input-masked/InputMasked.d.ts +11 -11
  408. package/es/components/input-masked/InputMasked.js +6 -4
  409. package/es/components/input-masked/InputMaskedElement.js +1 -4
  410. package/es/components/input-masked/InputMaskedHooks.js +50 -34
  411. package/es/components/input-masked/InputMaskedUtils.js +16 -21
  412. package/es/components/input-masked/style/dnb-input-masked.css +0 -2
  413. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  414. package/es/components/lib.js +3 -1
  415. package/es/components/modal/Modal.js +128 -252
  416. package/es/components/modal/Modal.tsx +524 -0
  417. package/es/components/modal/ModalContent.js +131 -211
  418. package/es/components/modal/ModalContent.tsx +515 -0
  419. package/es/components/modal/ModalContext.tsx +10 -0
  420. package/es/components/modal/ModalRoot.js +108 -0
  421. package/es/components/modal/ModalRoot.tsx +131 -0
  422. package/es/components/modal/components/CloseButton.js +41 -0
  423. package/es/components/modal/components/CloseButton.tsx +56 -0
  424. package/es/components/modal/components/ModalHeader.js +40 -0
  425. package/es/components/modal/components/ModalHeader.tsx +79 -0
  426. package/es/components/modal/components/ModalHeaderBar.js +88 -0
  427. package/es/components/modal/components/ModalHeaderBar.tsx +118 -0
  428. package/es/components/modal/{ModalInner.js → components/ModalInner.js} +8 -18
  429. package/es/components/modal/components/ModalInner.tsx +45 -0
  430. package/es/components/modal/helpers.js +60 -0
  431. package/es/components/modal/helpers.ts +63 -0
  432. package/es/components/modal/style/_modal-mixins.scss +4 -4
  433. package/es/components/modal/style/_modal.scss +13 -30
  434. package/es/components/modal/style/dnb-modal.css +27 -47
  435. package/es/components/modal/style/dnb-modal.min.css +1 -1
  436. package/es/components/modal/types.js +1 -0
  437. package/es/components/modal/{Modal.d.ts → types.ts} +125 -179
  438. package/es/components/number-format/NumberFormat.d.ts +8 -8
  439. package/es/components/pagination/Pagination.d.ts +30 -30
  440. package/es/components/pagination/PaginationProvider.d.ts +2 -2
  441. package/es/components/pagination/style/dnb-pagination.css +0 -2
  442. package/es/components/pagination/style/dnb-pagination.min.css +1 -1
  443. package/es/components/radio/Radio.d.ts +4 -4
  444. package/es/components/radio/RadioGroup.d.ts +3 -3
  445. package/es/components/section/Section.d.ts +3 -2
  446. package/es/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  447. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  448. package/es/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  449. package/es/components/skeleton/Skeleton.d.ts +2 -2
  450. package/es/components/slider/Slider.d.ts +4 -4
  451. package/es/components/slider/style/dnb-slider.css +0 -2
  452. package/es/components/slider/style/dnb-slider.min.css +1 -1
  453. package/es/components/step-indicator/StepIndicator.d.ts +6 -6
  454. package/es/components/step-indicator/StepIndicator.js +3 -79
  455. package/es/components/step-indicator/StepIndicatorContext.d.ts +2 -1
  456. package/es/components/step-indicator/StepIndicatorContext.js +165 -17
  457. package/es/components/step-indicator/StepIndicatorItem.d.ts +2 -2
  458. package/es/components/step-indicator/StepIndicatorItem.js +2 -5
  459. package/es/components/step-indicator/StepIndicatorModal.js +31 -34
  460. package/es/components/step-indicator/StepIndicatorProps.js +1 -1
  461. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +40 -1
  462. package/es/components/step-indicator/StepIndicatorSidebar.js +44 -46
  463. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  464. package/es/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  465. package/es/components/step-indicator/style/_step-indicator.scss +17 -4
  466. package/es/components/step-indicator/style/dnb-step-indicator.css +14 -6
  467. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  468. package/es/components/switch/Switch.d.ts +5 -5
  469. package/es/components/tabs/Tabs.d.ts +4 -4
  470. package/es/components/tabs/TabsContentWrapper.d.ts +1 -1
  471. package/es/components/tag/Tag.js +58 -0
  472. package/es/components/tag/Tag.tsx +95 -0
  473. package/es/components/tag/index.d.ts +8 -0
  474. package/es/components/tag/index.js +3 -0
  475. package/es/components/tag/style/_tag.scss +26 -0
  476. package/es/components/tag/style/dnb-tag.css +109 -0
  477. package/es/components/tag/style/dnb-tag.min.css +1 -0
  478. package/es/components/tag/style/dnb-tag.scss +12 -0
  479. package/es/components/tag/style/index.d.ts +6 -0
  480. package/es/components/tag/style/index.js +1 -0
  481. package/es/components/tag/style.js +1 -0
  482. package/es/components/textarea/Textarea.d.ts +4 -4
  483. package/es/components/textarea/style/_textarea.scss +4 -0
  484. package/es/components/textarea/style/dnb-textarea.css +3 -0
  485. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  486. package/es/components/toggle-button/ToggleButton.d.ts +6 -6
  487. package/es/components/toggle-button/ToggleButton.js +6 -2
  488. package/es/components/toggle-button/ToggleButtonGroup.d.ts +3 -3
  489. package/es/components/toggle-button/style/dnb-toggle-button.css +0 -2
  490. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  491. package/es/components/tooltip/Tooltip.d.ts +5 -5
  492. package/es/components/tooltip/TooltipContainer.d.ts +3 -3
  493. package/es/components/tooltip/TooltipPortal.d.ts +1 -1
  494. package/es/components/tooltip/TooltipWithEvents.d.ts +1 -1
  495. package/es/fragments/scroll-view/ScrollView.js +7 -15
  496. package/es/fragments/scroll-view/ScrollView.tsx +92 -0
  497. package/es/icons/above_the_line.js +1 -1
  498. package/es/icons/facebook.js +23 -0
  499. package/es/icons/facebook_medium.js +23 -0
  500. package/es/icons/fridge.js +1 -1
  501. package/es/icons/icons-meta.json +24 -0
  502. package/es/icons/icons-pdf.lock +1 -1
  503. package/es/icons/icons-svg.lock +1 -1
  504. package/es/icons/index.d.ts +16 -0
  505. package/es/icons/index.js +9 -1
  506. package/es/icons/information_circled.js +11 -4
  507. package/es/icons/information_circled_medium.js +10 -4
  508. package/es/icons/instagram.js +35 -0
  509. package/es/icons/instagram_medium.js +42 -0
  510. package/es/icons/linkedin.js +20 -0
  511. package/es/icons/linkedin_medium.js +20 -0
  512. package/es/icons/motorcycle_medium.js +2 -2
  513. package/es/icons/paragraph.js +1 -1
  514. package/es/icons/scooter_medium.js +2 -2
  515. package/es/icons/secondary_icons.js +5 -1
  516. package/es/icons/secondary_icons_medium.js +5 -1
  517. package/es/icons/tag.js +29 -0
  518. package/es/icons/tag_medium.js +29 -0
  519. package/es/index.d.ts +2 -0
  520. package/es/index.js +2 -1
  521. package/es/shared/Context.js +2 -1
  522. package/es/shared/EventEmitter.js +5 -8
  523. package/es/shared/component-helper.js +58 -50
  524. package/es/shared/helpers.js +11 -2
  525. package/es/style/core/helper-classes/skip-link.scss +1 -1
  526. package/es/style/dnb-ui-components.css +107 -76
  527. package/es/style/dnb-ui-components.min.css +5 -5
  528. package/es/style/dnb-ui-components.scss +1 -0
  529. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +98 -95
  530. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  531. package/es/style/themes/theme-ui/dnb-theme-ui.css +94 -82
  532. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  533. package/esm/components/Tag.d.ts +14 -0
  534. package/esm/components/Tag.js +3 -0
  535. package/esm/components/accordion/Accordion.d.ts +7 -7
  536. package/esm/components/autocomplete/Autocomplete.d.ts +13 -13
  537. package/esm/components/autocomplete/style/dnb-autocomplete.css +0 -2
  538. package/esm/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  539. package/esm/components/breadcrumb/Breadcrumb.js +5 -3
  540. package/esm/components/breadcrumb/Breadcrumb.tsx +9 -0
  541. package/esm/components/breadcrumb/style/_breadcrumb.scss +7 -4
  542. package/esm/components/breadcrumb/style/dnb-breadcrumb.css +10 -8
  543. package/esm/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  544. package/esm/components/button/Button.d.ts +7 -7
  545. package/esm/components/button/Button.js +7 -5
  546. package/esm/components/button/style/_button.scss +0 -4
  547. package/esm/components/button/style/dnb-button.css +0 -2
  548. package/esm/components/button/style/dnb-button.min.css +1 -1
  549. package/esm/components/button/style/themes/dnb-button-theme-open-banking.css +4 -13
  550. package/esm/components/button/style/themes/dnb-button-theme-open-banking.min.css +1 -1
  551. package/esm/components/button/style/themes/dnb-button-theme-ui.css +4 -13
  552. package/esm/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  553. package/esm/components/button/style/themes/dnb-button-theme-ui.scss +5 -18
  554. package/esm/components/checkbox/Checkbox.d.ts +3 -3
  555. package/esm/components/date-picker/DatePicker.d.ts +14 -14
  556. package/esm/components/date-picker/DatePickerAddon.d.ts +1 -1
  557. package/esm/components/date-picker/DatePickerCalendar.d.ts +1 -1
  558. package/esm/components/date-picker/DatePickerInput.d.ts +1 -1
  559. package/esm/components/date-picker/style/dnb-date-picker.css +0 -6
  560. package/esm/components/date-picker/style/dnb-date-picker.min.css +1 -1
  561. package/esm/components/dropdown/Dropdown.d.ts +9 -9
  562. package/esm/components/dropdown/style/dnb-dropdown.css +0 -2
  563. package/esm/components/dropdown/style/dnb-dropdown.min.css +1 -1
  564. package/esm/components/form-row/FormRow.d.ts +4 -4
  565. package/esm/components/form-set/FormSet.d.ts +6 -6
  566. package/esm/components/global-error/GlobalError.d.ts +1 -1
  567. package/esm/components/global-error/style/dnb-global-error.css +0 -2
  568. package/esm/components/global-error/style/dnb-global-error.min.css +1 -1
  569. package/esm/components/global-status/GlobalStatus.d.ts +5 -5
  570. package/esm/components/global-status/GlobalStatus.js +18 -71
  571. package/esm/components/global-status/style/_global-status.scss +14 -12
  572. package/esm/components/global-status/style/dnb-global-status.css +13 -17
  573. package/esm/components/global-status/style/dnb-global-status.min.css +1 -1
  574. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.css +2 -48
  575. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  576. package/esm/components/global-status/style/themes/dnb-global-status-theme-ui.scss +2 -36
  577. package/esm/components/heading/Heading.d.ts +2 -2
  578. package/esm/components/heading/HeadingProvider.d.ts +2 -2
  579. package/esm/components/help-button/HelpButton.d.ts +200 -0
  580. package/esm/components/icon/Icon.d.ts +1 -1
  581. package/esm/components/index.d.ts +2 -0
  582. package/esm/components/index.js +2 -1
  583. package/esm/components/input/Input.d.ts +9 -9
  584. package/esm/components/input/style/dnb-input.css +0 -2
  585. package/esm/components/input/style/dnb-input.min.css +1 -1
  586. package/esm/components/input/style/themes/dnb-input-theme-ui.css +11 -2
  587. package/esm/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  588. package/esm/components/input/style/themes/dnb-input-theme-ui.scss +4 -1
  589. package/esm/components/input-masked/InputMasked.d.ts +11 -11
  590. package/esm/components/input-masked/InputMasked.js +6 -4
  591. package/esm/components/input-masked/InputMaskedElement.js +1 -4
  592. package/esm/components/input-masked/InputMaskedHooks.js +66 -48
  593. package/esm/components/input-masked/InputMaskedUtils.js +18 -23
  594. package/esm/components/input-masked/style/dnb-input-masked.css +0 -2
  595. package/esm/components/input-masked/style/dnb-input-masked.min.css +1 -1
  596. package/esm/components/lib.js +3 -1
  597. package/esm/components/modal/Modal.js +147 -279
  598. package/esm/components/modal/Modal.tsx +524 -0
  599. package/esm/components/modal/ModalContent.js +175 -253
  600. package/esm/components/modal/ModalContent.tsx +515 -0
  601. package/esm/components/modal/ModalContext.tsx +10 -0
  602. package/esm/components/modal/ModalRoot.js +145 -0
  603. package/esm/components/modal/ModalRoot.tsx +131 -0
  604. package/esm/components/modal/components/CloseButton.js +72 -0
  605. package/esm/components/modal/components/CloseButton.tsx +56 -0
  606. package/esm/components/modal/components/ModalHeader.js +70 -0
  607. package/esm/components/modal/components/ModalHeader.tsx +79 -0
  608. package/esm/components/modal/components/ModalHeaderBar.js +122 -0
  609. package/esm/components/modal/components/ModalHeaderBar.tsx +118 -0
  610. package/esm/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
  611. package/esm/components/modal/components/ModalInner.tsx +45 -0
  612. package/esm/components/modal/helpers.js +64 -0
  613. package/esm/components/modal/helpers.ts +63 -0
  614. package/esm/components/modal/style/_modal-mixins.scss +4 -4
  615. package/esm/components/modal/style/_modal.scss +13 -30
  616. package/esm/components/modal/style/dnb-modal.css +27 -47
  617. package/esm/components/modal/style/dnb-modal.min.css +1 -1
  618. package/esm/components/modal/types.js +1 -0
  619. package/esm/components/modal/{Modal.d.ts → types.ts} +125 -179
  620. package/esm/components/number-format/NumberFormat.d.ts +8 -8
  621. package/esm/components/pagination/Pagination.d.ts +30 -30
  622. package/esm/components/pagination/PaginationProvider.d.ts +2 -2
  623. package/esm/components/pagination/style/dnb-pagination.css +0 -2
  624. package/esm/components/pagination/style/dnb-pagination.min.css +1 -1
  625. package/esm/components/radio/Radio.d.ts +4 -4
  626. package/esm/components/radio/RadioGroup.d.ts +3 -3
  627. package/esm/components/section/Section.d.ts +3 -1
  628. package/esm/components/section/style/themes/dnb-section-theme-ui.css +77 -19
  629. package/esm/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  630. package/esm/components/section/style/themes/dnb-section-theme-ui.scss +15 -2
  631. package/esm/components/skeleton/Skeleton.d.ts +2 -2
  632. package/esm/components/slider/Slider.d.ts +4 -4
  633. package/esm/components/slider/style/dnb-slider.css +0 -2
  634. package/esm/components/slider/style/dnb-slider.min.css +1 -1
  635. package/esm/components/step-indicator/StepIndicator.d.ts +6 -6
  636. package/esm/components/step-indicator/StepIndicator.js +4 -91
  637. package/esm/components/step-indicator/StepIndicatorContext.d.ts +2 -1
  638. package/esm/components/step-indicator/StepIndicatorContext.js +196 -18
  639. package/esm/components/step-indicator/StepIndicatorItem.d.ts +2 -2
  640. package/esm/components/step-indicator/StepIndicatorItem.js +3 -5
  641. package/esm/components/step-indicator/StepIndicatorModal.js +33 -32
  642. package/esm/components/step-indicator/StepIndicatorProps.js +1 -1
  643. package/esm/components/step-indicator/StepIndicatorSidebar.d.ts +40 -1
  644. package/esm/components/step-indicator/StepIndicatorSidebar.js +54 -52
  645. package/esm/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  646. package/esm/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  647. package/esm/components/step-indicator/style/_step-indicator.scss +17 -4
  648. package/esm/components/step-indicator/style/dnb-step-indicator.css +14 -6
  649. package/esm/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  650. package/esm/components/switch/Switch.d.ts +5 -5
  651. package/esm/components/tabs/Tabs.d.ts +4 -4
  652. package/esm/components/tabs/TabsContentWrapper.d.ts +1 -1
  653. package/esm/components/tag/Tag.js +63 -0
  654. package/esm/components/tag/Tag.tsx +95 -0
  655. package/esm/components/tag/index.d.ts +8 -0
  656. package/esm/components/tag/index.js +3 -0
  657. package/esm/components/tag/style/_tag.scss +26 -0
  658. package/esm/components/tag/style/dnb-tag.css +109 -0
  659. package/esm/components/tag/style/dnb-tag.min.css +1 -0
  660. package/esm/components/tag/style/dnb-tag.scss +12 -0
  661. package/esm/components/tag/style/index.d.ts +6 -0
  662. package/esm/components/tag/style/index.js +1 -0
  663. package/esm/components/tag/style.js +1 -0
  664. package/esm/components/textarea/Textarea.d.ts +4 -4
  665. package/esm/components/textarea/style/_textarea.scss +4 -0
  666. package/esm/components/textarea/style/dnb-textarea.css +3 -0
  667. package/esm/components/textarea/style/dnb-textarea.min.css +1 -1
  668. package/esm/components/toggle-button/ToggleButton.d.ts +6 -6
  669. package/esm/components/toggle-button/ToggleButton.js +6 -2
  670. package/esm/components/toggle-button/ToggleButtonGroup.d.ts +3 -3
  671. package/esm/components/toggle-button/style/dnb-toggle-button.css +0 -2
  672. package/esm/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  673. package/esm/components/tooltip/Tooltip.d.ts +5 -5
  674. package/esm/components/tooltip/TooltipContainer.d.ts +3 -3
  675. package/esm/components/tooltip/TooltipPortal.d.ts +1 -1
  676. package/esm/components/tooltip/TooltipWithEvents.d.ts +1 -1
  677. package/esm/dnb-ui-basis.min.mjs +2 -2
  678. package/esm/dnb-ui-components.min.mjs +3 -3
  679. package/esm/dnb-ui-elements.min.mjs +4 -4
  680. package/esm/dnb-ui-extensions.min.mjs +4 -4
  681. package/esm/dnb-ui-lib.min.mjs +4 -4
  682. package/esm/dnb-ui-web-components.min.mjs +4 -4
  683. package/esm/fragments/scroll-view/ScrollView.js +10 -16
  684. package/esm/fragments/scroll-view/ScrollView.tsx +92 -0
  685. package/esm/icons/above_the_line.js +1 -1
  686. package/esm/icons/facebook.js +23 -0
  687. package/esm/icons/facebook_medium.js +23 -0
  688. package/esm/icons/fridge.js +1 -1
  689. package/esm/icons/icons-meta.json +24 -0
  690. package/esm/icons/icons-pdf.lock +1 -1
  691. package/esm/icons/icons-svg.lock +1 -1
  692. package/esm/icons/index.d.ts +16 -0
  693. package/esm/icons/index.js +9 -1
  694. package/esm/icons/information_circled.js +11 -4
  695. package/esm/icons/information_circled_medium.js +10 -4
  696. package/esm/icons/instagram.js +35 -0
  697. package/esm/icons/instagram_medium.js +42 -0
  698. package/esm/icons/linkedin.js +20 -0
  699. package/esm/icons/linkedin_medium.js +20 -0
  700. package/esm/icons/motorcycle_medium.js +2 -2
  701. package/esm/icons/paragraph.js +1 -1
  702. package/esm/icons/scooter_medium.js +2 -2
  703. package/esm/icons/secondary_icons.js +5 -1
  704. package/esm/icons/secondary_icons_medium.js +5 -1
  705. package/esm/icons/tag.js +29 -0
  706. package/esm/icons/tag_medium.js +29 -0
  707. package/esm/index.d.ts +2 -0
  708. package/esm/index.js +2 -1
  709. package/esm/shared/Context.js +2 -1
  710. package/esm/shared/EventEmitter.js +6 -8
  711. package/esm/shared/component-helper.js +94 -59
  712. package/esm/shared/helpers.js +19 -2
  713. package/esm/style/core/helper-classes/skip-link.scss +1 -1
  714. package/esm/style/dnb-ui-components.css +107 -76
  715. package/esm/style/dnb-ui-components.min.css +5 -5
  716. package/esm/style/dnb-ui-components.scss +1 -0
  717. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +98 -95
  718. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  719. package/esm/style/themes/theme-ui/dnb-theme-ui.css +94 -82
  720. package/esm/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  721. package/fragments/scroll-view/ScrollView.js +10 -16
  722. package/fragments/scroll-view/ScrollView.tsx +92 -0
  723. package/icons/above_the_line.js +1 -1
  724. package/icons/facebook.js +23 -0
  725. package/icons/facebook_medium.js +23 -0
  726. package/icons/fridge.js +1 -1
  727. package/icons/icons-meta.json +24 -0
  728. package/icons/icons-pdf.lock +1 -1
  729. package/icons/icons-svg.lock +1 -1
  730. package/icons/index.d.ts +16 -0
  731. package/icons/index.js +9 -1
  732. package/icons/information_circled.js +11 -4
  733. package/icons/information_circled_medium.js +10 -4
  734. package/icons/instagram.js +35 -0
  735. package/icons/instagram_medium.js +42 -0
  736. package/icons/linkedin.js +20 -0
  737. package/icons/linkedin_medium.js +20 -0
  738. package/icons/motorcycle_medium.js +2 -2
  739. package/icons/paragraph.js +1 -1
  740. package/icons/scooter_medium.js +2 -2
  741. package/icons/secondary_icons.js +5 -1
  742. package/icons/secondary_icons_medium.js +5 -1
  743. package/icons/tag.js +29 -0
  744. package/icons/tag_medium.js +29 -0
  745. package/index.d.ts +2 -0
  746. package/index.js +2 -1
  747. package/package.json +1 -1
  748. package/shared/Context.js +2 -1
  749. package/shared/EventEmitter.js +6 -8
  750. package/shared/component-helper.js +94 -59
  751. package/shared/helpers.js +19 -2
  752. package/style/core/helper-classes/skip-link.scss +1 -1
  753. package/style/dnb-ui-components.css +107 -76
  754. package/style/dnb-ui-components.min.css +5 -5
  755. package/style/dnb-ui-components.scss +1 -0
  756. package/style/themes/theme-open-banking/dnb-theme-open-banking.css +98 -95
  757. package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  758. package/style/themes/theme-ui/dnb-theme-ui.css +94 -82
  759. package/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  760. package/umd/dnb-ui-basis.min.js +3 -3
  761. package/umd/dnb-ui-components.min.js +4 -4
  762. package/umd/dnb-ui-elements.min.js +5 -5
  763. package/umd/dnb-ui-extensions.min.js +5 -5
  764. package/umd/dnb-ui-lib.min.js +5 -5
  765. package/umd/dnb-ui-web-components.min.js +5 -5
  766. package/cjs/components/modal/ModalContent.d.ts +0 -168
  767. package/cjs/components/modal/ModalHeader.d.ts +0 -73
  768. package/cjs/components/modal/ModalInner.d.ts +0 -20
  769. package/cjs/fragments/scroll-view/ScrollView.d.ts +0 -1
  770. package/components/modal/Modal.d.ts +0 -325
  771. package/components/modal/ModalContent.d.ts +0 -168
  772. package/components/modal/ModalHeader.d.ts +0 -73
  773. package/components/modal/ModalHeader.js +0 -224
  774. package/components/modal/ModalInner.d.ts +0 -20
  775. package/es/components/modal/ModalContent.d.ts +0 -168
  776. package/es/components/modal/ModalHeader.d.ts +0 -73
  777. package/es/components/modal/ModalHeader.js +0 -166
  778. package/es/components/modal/ModalInner.d.ts +0 -20
  779. package/es/fragments/scroll-view/ScrollView.d.ts +0 -1
  780. package/esm/components/modal/ModalContent.d.ts +0 -168
  781. package/esm/components/modal/ModalHeader.d.ts +0 -73
  782. package/esm/components/modal/ModalHeader.js +0 -224
  783. package/esm/components/modal/ModalInner.d.ts +0 -20
  784. package/esm/fragments/scroll-view/ScrollView.d.ts +0 -1
  785. package/fragments/scroll-view/ScrollView.d.ts +0 -1
@@ -0,0 +1,524 @@
1
+ /**
2
+ * Web Modal Component
3
+ *
4
+ */
5
+
6
+ import React from 'react'
7
+ import classnames from 'classnames'
8
+ import { SuffixContext } from '../../shared/helpers/Suffix'
9
+ import Context from '../../shared/Context'
10
+ import {
11
+ warn,
12
+ isTrue,
13
+ makeUniqueId,
14
+ extendPropsWithContext,
15
+ registerElement,
16
+ processChildren,
17
+ dispatchCustomElementEvent,
18
+ } from '../../shared/component-helper'
19
+ import { createSpacingClasses } from '../space/SpacingHelper'
20
+ import HelpButtonInstance from '../help-button/HelpButtonInstance'
21
+ import { getListOfModalRoots, getModalRoot } from './helpers'
22
+ import ModalInner from './components/ModalInner'
23
+ import { ModalProps } from './types'
24
+ import ModalHeader from './components/ModalHeader'
25
+ import ModalHeaderBar from './components/ModalHeaderBar'
26
+ import CloseButton from './components/CloseButton'
27
+ import ModalRoot from './ModalRoot'
28
+ import { ISpacingProps } from 'packages/dnb-eufemia/build/shared/interfaces'
29
+
30
+ export const ANIMATION_DURATION = 300
31
+
32
+ interface ModalState {
33
+ hide: boolean
34
+ modalActive: boolean
35
+ }
36
+
37
+ export default class Modal extends React.PureComponent<
38
+ ModalProps & ISpacingProps,
39
+ ModalState
40
+ > {
41
+ static tagName = 'dnb-modal'
42
+ static contextType = Context
43
+ static Bar = ModalHeaderBar
44
+ static Header = ModalHeader
45
+ static Content = ModalInner
46
+ static Inner = ModalInner // deprecated
47
+
48
+ _id: string
49
+ _triggerRef: React.RefObject<any>
50
+ _onUnmount: Array<() => void>
51
+ _openTimeout: NodeJS.Timeout
52
+ _closeTimeout: NodeJS.Timeout
53
+ _sideEffectsTimeout: NodeJS.Timeout
54
+ _tryToOpenTimeout: NodeJS.Timeout
55
+ activeElement: Element
56
+ isInTransition: boolean
57
+
58
+ state = {
59
+ hide: false,
60
+ modalActive: false,
61
+ }
62
+
63
+ static defaultProps = {
64
+ id: null,
65
+ focus_selector: null,
66
+ labelled_by: null,
67
+ title: null,
68
+ disabled: null,
69
+ spacing: true,
70
+ open_delay: null,
71
+ content_id: null,
72
+ dialog_title: 'Vindu',
73
+ close_title: 'Lukk', // Close Modal Window
74
+ hide_close_button: false,
75
+ close_button_attributes: null,
76
+ prevent_close: false,
77
+ prevent_core_style: false,
78
+ animation_duration: ANIMATION_DURATION, // Not documented!
79
+ no_animation: false,
80
+ no_animation_on_mobile: false,
81
+ fullscreen: 'auto',
82
+ min_width: null,
83
+ max_width: null,
84
+ align_content: null,
85
+ container_placement: null,
86
+ open_state: null,
87
+ direct_dom_return: false,
88
+ class: null,
89
+ root_id: 'root',
90
+
91
+ className: null,
92
+ children: null,
93
+
94
+ on_open: null,
95
+ on_close: null,
96
+ on_close_prevent: null,
97
+ open_modal: null,
98
+ close_modal: null,
99
+
100
+ // All "trigger_" are deprecated
101
+ trigger: null,
102
+ trigger_attributes: null,
103
+ trigger_hidden: false,
104
+ trigger_disabled: null,
105
+ trigger_variant: 'secondary',
106
+ trigger_text: null,
107
+ trigger_title: null,
108
+ trigger_size: null,
109
+ trigger_icon: null,
110
+ trigger_icon_position: 'left',
111
+ trigger_class: null,
112
+
113
+ overlay_class: null,
114
+ content_class: null,
115
+
116
+ modal_content: null,
117
+ header_content: null,
118
+ bar_content: null,
119
+ }
120
+
121
+ static enableWebComponent() {
122
+ registerElement(Modal?.tagName, Modal, Modal.defaultProps)
123
+ }
124
+
125
+ static getContent(props) {
126
+ if (typeof props.modal_content === 'string') {
127
+ return props.modal_content
128
+ } else if (typeof props.modal_content === 'function') {
129
+ return props.modal_content(props)
130
+ }
131
+ return processChildren(props)
132
+ }
133
+
134
+ static getDerivedStateFromProps(props, state) {
135
+ if (props.open_state !== state._open_state) {
136
+ switch (props.open_state) {
137
+ case 'opened':
138
+ case true:
139
+ state.hide = false
140
+ if (isTrue(props.no_animation)) {
141
+ state.modalActive = true
142
+ }
143
+ break
144
+ case 'closed':
145
+ case false:
146
+ state.hide = true
147
+ if (isTrue(props.no_animation)) {
148
+ state.modalActive = false
149
+ }
150
+ break
151
+ }
152
+ }
153
+ state._open_state = props.open_state
154
+
155
+ return state
156
+ }
157
+
158
+ constructor(props) {
159
+ super(props)
160
+ this._id = props.id || makeUniqueId('modal-')
161
+
162
+ this._triggerRef = React.createRef()
163
+
164
+ this._onUnmount = []
165
+ }
166
+
167
+ componentDidMount() {
168
+ this.openBasedOnStateUpdate()
169
+ }
170
+
171
+ componentWillUnmount() {
172
+ clearTimeout(this._openTimeout)
173
+ clearTimeout(this._closeTimeout)
174
+
175
+ this.removeActiveState()
176
+
177
+ this._onUnmount.forEach((fn) => {
178
+ if (typeof fn === 'function') {
179
+ fn()
180
+ }
181
+ })
182
+ }
183
+
184
+ componentDidUpdate(prevProps) {
185
+ if (prevProps !== this.props) {
186
+ this.openBasedOnStateUpdate()
187
+ }
188
+ }
189
+
190
+ openBasedOnStateUpdate() {
191
+ const { hide } = this.state
192
+ const { open_state } = this.props
193
+
194
+ if (!this.activeElement && typeof document !== 'undefined') {
195
+ this.activeElement = document.activeElement
196
+ }
197
+
198
+ if (!hide && (open_state === 'opened' || open_state === true)) {
199
+ this.toggleOpenClose(null, true)
200
+ } else if (hide && (open_state === 'closed' || open_state === false)) {
201
+ this.toggleOpenClose(null, false)
202
+ }
203
+ }
204
+
205
+ toggleOpenClose = (event = null, showModal = null) => {
206
+ if (event && event.preventDefault) {
207
+ event.preventDefault()
208
+ }
209
+
210
+ const toggleNow = () => {
211
+ const {
212
+ animation_duration = ANIMATION_DURATION,
213
+ no_animation = false,
214
+ } = this.props
215
+ const timeoutDuration =
216
+ typeof animation_duration === 'string'
217
+ ? parseFloat(animation_duration)
218
+ : animation_duration
219
+
220
+ const modalActive =
221
+ typeof showModal === 'boolean'
222
+ ? showModal
223
+ : !this.state.modalActive
224
+
225
+ this.isInTransition = true
226
+
227
+ const doItNow = () => {
228
+ this.setState(
229
+ {
230
+ hide: false,
231
+ modalActive,
232
+ },
233
+ () => {
234
+ this.isInTransition = false
235
+ this.handleSideEffects()
236
+ }
237
+ )
238
+ }
239
+
240
+ if (modalActive === false && !isTrue(no_animation)) {
241
+ this.setState({
242
+ hide: true,
243
+ })
244
+
245
+ this._closeTimeout = setTimeout(doItNow, timeoutDuration) // delay because of the animation
246
+ } else {
247
+ doItNow()
248
+ }
249
+ }
250
+
251
+ const waitBeforeOpen = () => {
252
+ const { open_delay, no_animation } = this.props
253
+ const delay =
254
+ typeof open_delay === 'string'
255
+ ? parseFloat(open_delay)
256
+ : open_delay
257
+ if (delay > 0 && !isTrue(no_animation)) {
258
+ this._openTimeout = setTimeout(toggleNow, delay) // custom delay
259
+ } else {
260
+ toggleNow()
261
+ }
262
+ }
263
+
264
+ clearTimeout(this._closeTimeout)
265
+ clearTimeout(this._openTimeout)
266
+
267
+ const { open_modal } = this.props
268
+ if (typeof open_modal === 'function') {
269
+ const fn = open_modal(waitBeforeOpen, this)
270
+ if (fn) {
271
+ this._onUnmount.push(fn)
272
+ }
273
+ } else {
274
+ waitBeforeOpen()
275
+ }
276
+ }
277
+
278
+ handleSideEffects = () => {
279
+ const { modalActive } = this.state
280
+ const { close_modal } = this.props
281
+
282
+ if (modalActive) {
283
+ if (typeof close_modal === 'function') {
284
+ const fn = close_modal(() => {
285
+ this.toggleOpenClose(null, false)
286
+ }, this)
287
+ if (fn) {
288
+ this._onUnmount.push(fn)
289
+ }
290
+ }
291
+
292
+ this.setActiveState(this._id)
293
+ } else if (modalActive === false) {
294
+ if (this._triggerRef && this._triggerRef.current) {
295
+ this._triggerRef.current.focus({ preventScroll: true })
296
+ }
297
+
298
+ // because the open_state was set to opened, we force
299
+ if (
300
+ (this.props.open_state === 'opened' ||
301
+ this.props.open_state === true) &&
302
+ this.activeElement &&
303
+ this.activeElement instanceof HTMLElement
304
+ ) {
305
+ try {
306
+ this.activeElement.focus({ preventScroll: true })
307
+ this.activeElement = null
308
+ } catch (e) {
309
+ //
310
+ }
311
+ }
312
+
313
+ this.removeActiveState()
314
+ }
315
+ }
316
+
317
+ open = (e: Event) => {
318
+ this.toggleOpenClose(e, true)
319
+ }
320
+
321
+ close = (
322
+ event: Event,
323
+ { ifIsLatest, triggeredBy = null } = { ifIsLatest: true }
324
+ ) => {
325
+ const { prevent_close = false } = this.props
326
+
327
+ if (isTrue(prevent_close)) {
328
+ const id = this._id
329
+ dispatchCustomElementEvent(this, 'on_close_prevent', {
330
+ id,
331
+ event,
332
+ triggeredBy,
333
+ close: (e) => {
334
+ this.toggleOpenClose(e, false)
335
+ },
336
+ })
337
+ } else {
338
+ if (ifIsLatest) {
339
+ const list = getListOfModalRoots()
340
+ if (list.length > 1) {
341
+ const last = getModalRoot(-1)
342
+ if (last !== this) {
343
+ return // stop here
344
+ }
345
+ }
346
+ }
347
+
348
+ this.toggleOpenClose(event, false)
349
+ }
350
+ }
351
+
352
+ removeActiveState() {
353
+ const last = getModalRoot(-1)
354
+
355
+ // If this instance is not the last one,
356
+ // make the current one to as the active one
357
+ if (last?._id && last._id !== this._id) {
358
+ return this.setActiveState(last._id)
359
+ }
360
+
361
+ try {
362
+ document.documentElement.removeAttribute('data-dnb-modal-active')
363
+
364
+ // Deprecated
365
+ document.body.setAttribute('data-dnb-modal-active', 'false')
366
+ } catch (e) {
367
+ warn('Modal: Error on remove "data-dnb-modal-active"', e)
368
+ }
369
+ }
370
+
371
+ /**
372
+ * Prevent scrolling on the background
373
+ * But checks if this instance was the last one or not
374
+ *
375
+ * @param {string} modalId Will remove the attribute if false is given
376
+ */
377
+ setActiveState(modalId: string) {
378
+ if (!modalId) {
379
+ warn('Modal: A valid modalId is required')
380
+ }
381
+ // prevent scrolling on the background
382
+ if (typeof document !== 'undefined') {
383
+ try {
384
+ document.documentElement.setAttribute(
385
+ 'data-dnb-modal-active',
386
+ modalId
387
+ )
388
+
389
+ // Deprecated
390
+ document.body.setAttribute('data-dnb-modal-active', 'true')
391
+ } catch (e) {
392
+ warn('Modal: Error on set "data-dnb-modal-active"', e)
393
+ }
394
+ }
395
+ }
396
+
397
+ render() {
398
+ // use only the props from context, who are available here anyway
399
+ const props = extendPropsWithContext(
400
+ this.props,
401
+ Modal.defaultProps,
402
+ this.context.getTranslation(this.props).Modal,
403
+ this.context.FormRow,
404
+ this.context.Modal
405
+ )
406
+
407
+ const {
408
+ root_id = 'root',
409
+ content_id = null,
410
+ disabled = null,
411
+ spacing = true,
412
+ labelled_by = null,
413
+ focus_selector = null,
414
+ header_content = null,
415
+ bar_content = null,
416
+
417
+ id, // eslint-disable-line
418
+ open_state, // eslint-disable-line
419
+ open_delay, // eslint-disable-line
420
+
421
+ // All "trigger_" are deprecated
422
+ trigger = null,
423
+ trigger_attributes = null,
424
+ trigger_hidden = 'false',
425
+ trigger_disabled = null, // eslint-disable-line
426
+ trigger_variant = 'secondary', // eslint-disable-line
427
+ trigger_text = null, // eslint-disable-line
428
+ trigger_title = null, // eslint-disable-line
429
+ trigger_size = null, // eslint-disable-line
430
+ trigger_icon, // eslint-disable-line
431
+ trigger_icon_position = 'left', // eslint-disable-line
432
+ trigger_class = null, // eslint-disable-line
433
+
434
+ ...rest
435
+ } = props
436
+
437
+ const { hide, modalActive } = this.state
438
+ const modal_content = Modal.getContent(
439
+ typeof this.props.children === 'function'
440
+ ? Object.freeze({ ...this.props, close: this.close })
441
+ : this.props
442
+ )
443
+
444
+ const render = (suffixProps) => {
445
+ const triggerAttributes = {
446
+ hidden: trigger_hidden,
447
+ disabled: trigger_disabled,
448
+ variant: trigger_variant,
449
+ text: trigger_text,
450
+ title: trigger_title,
451
+ size: trigger_size,
452
+ icon: trigger_icon,
453
+ icon_position: trigger_icon_position,
454
+ class: trigger_class,
455
+ ...trigger_attributes,
456
+ }
457
+ if (isTrue(disabled)) {
458
+ triggerAttributes.disabled = true
459
+ }
460
+
461
+ if (triggerAttributes.id) {
462
+ this._id = triggerAttributes.id
463
+ }
464
+
465
+ let fallbackTitle: string
466
+ if (triggerAttributes.title) {
467
+ fallbackTitle = triggerAttributes.title
468
+ }
469
+ // in case the modal is used in suffix and no title is given
470
+ // suffixProps.label is also available, so we could use that too
471
+ else if (suffixProps) {
472
+ fallbackTitle = this.context.translation.HelpButton.title
473
+ }
474
+
475
+ const TriggerButton = trigger ? trigger : HelpButtonInstance
476
+
477
+ return (
478
+ <>
479
+ {TriggerButton && !isTrue(trigger_hidden) && (
480
+ <TriggerButton
481
+ {...triggerAttributes}
482
+ id={this._id}
483
+ title={
484
+ !triggerAttributes.text
485
+ ? rest.title || fallbackTitle
486
+ : null
487
+ }
488
+ onClick={this.toggleOpenClose}
489
+ innerRef={this._triggerRef}
490
+ className={classnames(
491
+ 'dnb-modal__trigger',
492
+ createSpacingClasses(props),
493
+ triggerAttributes.class,
494
+ triggerAttributes.className
495
+ )}
496
+ />
497
+ )}
498
+
499
+ {modalActive && modal_content && (
500
+ <ModalRoot
501
+ {...rest}
502
+ id={this._id}
503
+ root_id={root_id}
504
+ content_id={content_id || `dnb-modal-${this._id}`}
505
+ labelled_by={labelled_by}
506
+ focus_selector={focus_selector}
507
+ modal_content={modal_content}
508
+ header_content={header_content}
509
+ bar_content={bar_content}
510
+ spacing={spacing}
511
+ closeModal={this.close}
512
+ hide={hide}
513
+ title={rest.title || fallbackTitle}
514
+ />
515
+ )}
516
+ </>
517
+ )
518
+ }
519
+
520
+ return <SuffixContext.Consumer>{render}</SuffixContext.Consumer>
521
+ }
522
+ }
523
+
524
+ export { CloseButton }