@dnb/eufemia 9.25.0 → 9.27.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 (628) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/assets/icons/bookmark.svg +1 -0
  3. package/assets/icons/bookmark_medium.svg +1 -0
  4. package/assets/icons/calendar_cancel.svg +1 -0
  5. package/assets/icons/calendar_cancel_medium.svg +1 -0
  6. package/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
  7. package/assets/icons/eufemia-icons-pdf.tgz +0 -0
  8. package/assets/icons/exclamation.svg +1 -1
  9. package/assets/icons/exclamation_circled.svg +1 -1
  10. package/assets/icons/exclamation_medium.svg +1 -1
  11. package/assets/icons/reply.svg +1 -1
  12. package/assets/icons/reply_medium.svg +1 -1
  13. package/assets/icons/stopwatch.svg +1 -1
  14. package/cjs/components/Style.d.ts +1 -0
  15. package/cjs/components/Style.js +52 -0
  16. package/cjs/components/Table.d.ts +3 -0
  17. package/cjs/components/Table.js +52 -0
  18. package/cjs/components/accordion/Accordion.d.ts +17 -4
  19. package/cjs/components/accordion/AccordionContent.js +1 -1
  20. package/cjs/components/accordion/AccordionHeader.d.ts +11 -4
  21. package/cjs/components/accordion/AccordionHeader.js +17 -7
  22. package/cjs/components/accordion/AccordionPropTypes.js +5 -2
  23. package/cjs/components/accordion/AccordionProvider.d.ts +17 -2
  24. package/cjs/components/autocomplete/Autocomplete.d.ts +32 -0
  25. package/cjs/components/autocomplete/Autocomplete.js +57 -23
  26. package/cjs/components/autocomplete/style/_autocomplete.scss +57 -6
  27. package/cjs/components/autocomplete/style/dnb-autocomplete.css +45 -13
  28. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  29. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
  30. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  31. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
  32. package/cjs/components/avatar/Avatar.js +14 -12
  33. package/cjs/components/breadcrumb/Breadcrumb.js +20 -18
  34. package/cjs/components/button/Button.d.ts +5 -3
  35. package/cjs/components/date-picker/DatePicker.d.ts +6 -0
  36. package/cjs/components/date-picker/DatePicker.js +9 -4
  37. package/cjs/components/date-picker/DatePickerFooter.js +3 -3
  38. package/cjs/components/date-picker/DatePickerInput.d.ts +6 -0
  39. package/cjs/components/date-picker/DatePickerInput.js +37 -23
  40. package/cjs/components/date-picker/style/_date-picker.scss +40 -0
  41. package/cjs/components/date-picker/style/dnb-date-picker.css +52 -8
  42. package/cjs/components/date-picker/style/dnb-date-picker.min.css +2 -2
  43. package/cjs/components/dialog/Dialog.js +7 -3
  44. package/cjs/components/dialog/DialogContent.js +6 -3
  45. package/cjs/components/dialog/style/_dialog.scss +24 -35
  46. package/cjs/components/dialog/style/dnb-dialog.css +81 -115
  47. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  48. package/cjs/components/dialog/types.d.ts +9 -2
  49. package/cjs/components/drawer/style/dnb-drawer.css +57 -75
  50. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  51. package/cjs/components/dropdown/Dropdown.d.ts +25 -0
  52. package/cjs/components/dropdown/Dropdown.js +1 -1
  53. package/cjs/components/form-row/FormRow.js +2 -12
  54. package/cjs/components/form-row/FormRowHelpers.d.ts +6 -0
  55. package/cjs/components/form-row/FormRowHelpers.js +18 -0
  56. package/cjs/components/help-button/HelpButtonInstance.js +7 -7
  57. package/cjs/components/icon/Icon.js +5 -9
  58. package/cjs/components/icon/IconHelpers.d.ts +1 -0
  59. package/cjs/components/icon/IconHelpers.js +16 -0
  60. package/cjs/components/index.d.ts +2 -1
  61. package/cjs/components/index.js +8 -0
  62. package/cjs/components/input/Input.d.ts +6 -1
  63. package/cjs/components/input/Input.js +12 -2
  64. package/cjs/components/input/style/_input.scss +11 -9
  65. package/cjs/components/input/style/dnb-input.css +7 -8
  66. package/cjs/components/input/style/dnb-input.min.css +1 -1
  67. package/cjs/components/input-masked/InputMasked.d.ts +6 -1
  68. package/cjs/components/input-masked/InputMaskedUtils.js +11 -4
  69. package/cjs/components/input-masked/addons/createNumberMask.d.ts +1 -2
  70. package/cjs/components/input-masked/addons/createNumberMask.js +1 -14
  71. package/cjs/components/input-masked/style/dnb-input-masked.css +7 -8
  72. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  73. package/cjs/components/lib.d.ts +6 -1
  74. package/cjs/components/lib.js +9 -0
  75. package/cjs/components/modal/Modal.d.ts +1 -22
  76. package/cjs/components/modal/Modal.js +4 -1
  77. package/cjs/components/modal/ModalContent.d.ts +7 -2
  78. package/cjs/components/modal/ModalContent.js +111 -70
  79. package/cjs/components/modal/ModalContext.d.ts +1 -0
  80. package/cjs/components/modal/ModalContext.js +1 -0
  81. package/cjs/components/modal/parts/CloseButton.d.ts +3 -24
  82. package/cjs/components/modal/parts/ModalHeader.d.ts +1 -0
  83. package/cjs/components/modal/parts/ModalHeaderBar.d.ts +3 -2
  84. package/cjs/components/modal/parts/ModalInner.d.ts +1 -0
  85. package/cjs/components/modal/style/_modal-mixins.scss +3 -2
  86. package/cjs/components/modal/style/_modal.scss +5 -6
  87. package/cjs/components/modal/style/dnb-modal.css +52 -71
  88. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  89. package/cjs/components/modal/types.d.ts +16 -38
  90. package/cjs/components/number-format/NumberFormat.d.ts +5 -0
  91. package/cjs/components/number-format/NumberFormat.js +7 -2
  92. package/cjs/components/pagination/PaginationBar.d.ts +7 -6
  93. package/cjs/components/radio/Radio.js +5 -2
  94. package/cjs/components/skeleton/SkeletonHelper.d.ts +4 -4
  95. package/cjs/components/table/Table.d.ts +40 -0
  96. package/cjs/components/table/Table.js +91 -0
  97. package/cjs/components/table/TableStickyHeader.d.ts +21 -0
  98. package/cjs/components/table/TableStickyHeader.js +159 -0
  99. package/cjs/components/table/TableTd.d.ts +15 -0
  100. package/cjs/components/table/TableTd.js +42 -0
  101. package/cjs/components/table/TableTh.d.ts +14 -0
  102. package/cjs/components/table/TableTh.js +42 -0
  103. package/cjs/components/table/TableTr.d.ts +15 -0
  104. package/cjs/components/table/TableTr.js +41 -0
  105. package/cjs/components/table/index.d.ts +3 -0
  106. package/cjs/components/table/index.js +52 -0
  107. package/cjs/components/table/style/_table.scss +147 -0
  108. package/cjs/components/table/style/dnb-table.css +181 -0
  109. package/cjs/components/table/style/dnb-table.min.css +1 -0
  110. package/cjs/components/table/style/dnb-table.scss +12 -0
  111. package/cjs/components/table/style/index.d.ts +6 -0
  112. package/cjs/components/table/style/index.js +3 -0
  113. package/cjs/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  114. package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  115. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  116. package/cjs/components/table/style/themes/table-basis.scss +161 -0
  117. package/cjs/components/table/style/themes/ui.d.ts +1 -0
  118. package/cjs/components/table/style/themes/ui.js +3 -0
  119. package/cjs/components/table/style.d.ts +1 -0
  120. package/cjs/components/table/style.js +3 -0
  121. package/cjs/components/tag/Tag.js +16 -13
  122. package/cjs/components/timeline/Timeline.js +11 -7
  123. package/cjs/components/timeline/TimelineItem.d.ts +12 -4
  124. package/cjs/components/timeline/TimelineItem.js +60 -24
  125. package/cjs/components/timeline/style/_timeline.scss +2 -2
  126. package/cjs/components/timeline/style/dnb-timeline.css +6 -6
  127. package/cjs/components/timeline/style/dnb-timeline.min.css +1 -1
  128. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  129. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  130. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  131. package/cjs/elements/Table.d.ts +3 -35
  132. package/cjs/elements/Table.js +25 -270
  133. package/cjs/elements/Td.d.ts +2 -28
  134. package/cjs/elements/Td.js +32 -40
  135. package/cjs/elements/Th.d.ts +2 -28
  136. package/cjs/elements/Th.js +32 -40
  137. package/cjs/elements/Tr.d.ts +2 -28
  138. package/cjs/elements/Tr.js +32 -40
  139. package/cjs/elements/lib.d.ts +4 -6
  140. package/cjs/elements/lib.js +0 -9
  141. package/cjs/fragments/drawer-list/DrawerList.d.ts +13 -0
  142. package/cjs/fragments/drawer-list/DrawerList.js +25 -10
  143. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  144. package/cjs/fragments/drawer-list/DrawerListHelpers.js +18 -1
  145. package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +7 -9
  146. package/cjs/fragments/drawer-list/DrawerListProvider.js +28 -40
  147. package/cjs/fragments/drawer-list/style/_drawer-list.scss +40 -5
  148. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  149. package/cjs/icons/bookmark.d.ts +2 -0
  150. package/cjs/icons/bookmark.js +36 -0
  151. package/cjs/icons/bookmark_medium.d.ts +2 -0
  152. package/cjs/icons/bookmark_medium.js +36 -0
  153. package/cjs/icons/calendar_cancel.d.ts +2 -0
  154. package/cjs/icons/calendar_cancel.js +32 -0
  155. package/cjs/icons/calendar_cancel_medium.d.ts +2 -0
  156. package/cjs/icons/calendar_cancel_medium.js +32 -0
  157. package/cjs/icons/exclamation.js +5 -2
  158. package/cjs/icons/exclamation_circled.js +1 -1
  159. package/cjs/icons/exclamation_medium.js +5 -2
  160. package/cjs/icons/icons-meta.json +232 -198
  161. package/cjs/icons/icons-pdf.lock +6294 -0
  162. package/cjs/icons/icons-svg.lock +6294 -1
  163. package/cjs/icons/index.d.ts +5 -1
  164. package/cjs/icons/index.js +32 -0
  165. package/cjs/icons/reply.js +2 -1
  166. package/cjs/icons/reply_medium.js +2 -1
  167. package/cjs/icons/secondary_icons.d.ts +3 -1
  168. package/cjs/icons/secondary_icons.js +16 -0
  169. package/cjs/icons/secondary_icons_medium.d.ts +3 -1
  170. package/cjs/icons/secondary_icons_medium.js +16 -0
  171. package/cjs/icons/stopwatch.js +1 -1
  172. package/cjs/index.d.ts +30 -30
  173. package/cjs/index.js +58 -58
  174. package/cjs/shared/AnimateHeight.d.ts +1 -0
  175. package/cjs/shared/AnimateHeight.js +18 -2
  176. package/cjs/shared/Context.d.ts +92 -44
  177. package/cjs/shared/Context.js +3 -16
  178. package/cjs/shared/Eufemia.js +1 -1
  179. package/cjs/shared/MediaQuery.d.ts +18 -37
  180. package/cjs/shared/MediaQuery.js +3 -19
  181. package/cjs/shared/MediaQueryUtils.d.ts +61 -23
  182. package/cjs/shared/MediaQueryUtils.js +2 -2
  183. package/cjs/shared/Provider.d.ts +36 -12
  184. package/cjs/shared/Provider.js +6 -15
  185. package/cjs/shared/component-helper.d.ts +1 -1
  186. package/cjs/shared/component-helper.js +5 -5
  187. package/cjs/shared/interfaces.d.ts +13 -0
  188. package/cjs/shared/locales/en-GB.d.ts +1 -0
  189. package/cjs/shared/locales/en-GB.js +1 -0
  190. package/cjs/shared/locales/en-US.d.ts +1 -0
  191. package/cjs/shared/locales/index.d.ts +2 -0
  192. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  193. package/cjs/shared/locales/nb-NO.js +1 -0
  194. package/cjs/shared/useMediaQuery.d.ts +3 -1
  195. package/cjs/shared/useTranslation.d.ts +1 -22
  196. package/cjs/style/dnb-ui-components.css +293 -97
  197. package/cjs/style/dnb-ui-components.min.css +4 -4
  198. package/cjs/style/dnb-ui-components.scss +1 -0
  199. package/cjs/style/dnb-ui-elements.css +1 -534
  200. package/cjs/style/dnb-ui-elements.min.css +1 -2
  201. package/cjs/style/dnb-ui-fragments.css +37 -15
  202. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  203. package/cjs/style/dnb-ui-tags.css +1 -1065
  204. package/cjs/style/dnb-ui-tags.min.css +1 -3
  205. package/cjs/style/elements/table.scss +1 -389
  206. package/cjs/style/elements/ui-tags.scss +2 -2
  207. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +511 -574
  208. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +7 -5
  209. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +511 -574
  210. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +7 -5
  211. package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  212. package/components/Style.d.ts +1 -0
  213. package/components/Style.js +3 -0
  214. package/components/Table.d.ts +3 -0
  215. package/components/Table.js +3 -0
  216. package/components/accordion/Accordion.d.ts +17 -4
  217. package/components/accordion/AccordionContent.js +1 -1
  218. package/components/accordion/AccordionHeader.d.ts +11 -4
  219. package/components/accordion/AccordionHeader.js +17 -7
  220. package/components/accordion/AccordionPropTypes.js +5 -2
  221. package/components/accordion/AccordionProvider.d.ts +17 -2
  222. package/components/autocomplete/Autocomplete.d.ts +32 -0
  223. package/components/autocomplete/Autocomplete.js +57 -23
  224. package/components/autocomplete/style/_autocomplete.scss +57 -6
  225. package/components/autocomplete/style/dnb-autocomplete.css +45 -13
  226. package/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  227. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
  228. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  229. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
  230. package/components/avatar/Avatar.js +15 -14
  231. package/components/breadcrumb/Breadcrumb.js +21 -20
  232. package/components/button/Button.d.ts +5 -3
  233. package/components/date-picker/DatePicker.d.ts +6 -0
  234. package/components/date-picker/DatePicker.js +9 -4
  235. package/components/date-picker/DatePickerFooter.js +3 -3
  236. package/components/date-picker/DatePickerInput.d.ts +6 -0
  237. package/components/date-picker/DatePickerInput.js +37 -23
  238. package/components/date-picker/style/_date-picker.scss +40 -0
  239. package/components/date-picker/style/dnb-date-picker.css +52 -8
  240. package/components/date-picker/style/dnb-date-picker.min.css +2 -2
  241. package/components/dialog/Dialog.js +7 -3
  242. package/components/dialog/DialogContent.js +7 -4
  243. package/components/dialog/style/_dialog.scss +24 -35
  244. package/components/dialog/style/dnb-dialog.css +81 -115
  245. package/components/dialog/style/dnb-dialog.min.css +1 -1
  246. package/components/dialog/types.d.ts +9 -2
  247. package/components/drawer/style/dnb-drawer.css +57 -75
  248. package/components/drawer/style/dnb-drawer.min.css +1 -1
  249. package/components/dropdown/Dropdown.d.ts +25 -0
  250. package/components/dropdown/Dropdown.js +2 -2
  251. package/components/form-row/FormRow.js +0 -7
  252. package/components/form-row/FormRowHelpers.d.ts +6 -0
  253. package/components/form-row/FormRowHelpers.js +8 -0
  254. package/components/help-button/HelpButtonInstance.js +7 -7
  255. package/components/icon/Icon.js +1 -3
  256. package/components/icon/IconHelpers.d.ts +1 -0
  257. package/components/icon/IconHelpers.js +5 -0
  258. package/components/index.d.ts +2 -1
  259. package/components/index.js +2 -1
  260. package/components/input/Input.d.ts +6 -1
  261. package/components/input/Input.js +12 -2
  262. package/components/input/style/_input.scss +11 -9
  263. package/components/input/style/dnb-input.css +7 -8
  264. package/components/input/style/dnb-input.min.css +1 -1
  265. package/components/input-masked/InputMasked.d.ts +6 -1
  266. package/components/input-masked/InputMaskedUtils.js +11 -4
  267. package/components/input-masked/addons/createNumberMask.d.ts +1 -2
  268. package/components/input-masked/addons/createNumberMask.js +1 -12
  269. package/components/input-masked/style/dnb-input-masked.css +7 -8
  270. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  271. package/components/lib.d.ts +6 -1
  272. package/components/lib.js +3 -1
  273. package/components/modal/Modal.d.ts +1 -22
  274. package/components/modal/Modal.js +4 -1
  275. package/components/modal/ModalContent.d.ts +7 -2
  276. package/components/modal/ModalContent.js +81 -60
  277. package/components/modal/ModalContext.d.ts +1 -0
  278. package/components/modal/ModalContext.js +1 -0
  279. package/components/modal/parts/CloseButton.d.ts +3 -24
  280. package/components/modal/parts/ModalHeader.d.ts +1 -0
  281. package/components/modal/parts/ModalHeaderBar.d.ts +3 -2
  282. package/components/modal/parts/ModalInner.d.ts +1 -0
  283. package/components/modal/style/_modal-mixins.scss +3 -2
  284. package/components/modal/style/_modal.scss +5 -6
  285. package/components/modal/style/dnb-modal.css +52 -71
  286. package/components/modal/style/dnb-modal.min.css +1 -1
  287. package/components/modal/types.d.ts +16 -38
  288. package/components/number-format/NumberFormat.d.ts +5 -0
  289. package/components/number-format/NumberFormat.js +7 -2
  290. package/components/pagination/PaginationBar.d.ts +7 -6
  291. package/components/radio/Radio.js +5 -2
  292. package/components/skeleton/SkeletonHelper.d.ts +4 -4
  293. package/components/table/Table.d.ts +40 -0
  294. package/components/table/Table.js +51 -0
  295. package/components/table/TableStickyHeader.d.ts +21 -0
  296. package/components/table/TableStickyHeader.js +105 -0
  297. package/components/table/TableTd.d.ts +15 -0
  298. package/components/table/TableTd.js +18 -0
  299. package/components/table/TableTh.d.ts +14 -0
  300. package/components/table/TableTh.js +18 -0
  301. package/components/table/TableTr.d.ts +15 -0
  302. package/components/table/TableTr.js +17 -0
  303. package/components/table/index.d.ts +3 -0
  304. package/components/table/index.js +3 -0
  305. package/components/table/style/_table.scss +147 -0
  306. package/components/table/style/dnb-table.css +181 -0
  307. package/components/table/style/dnb-table.min.css +1 -0
  308. package/components/table/style/dnb-table.scss +12 -0
  309. package/components/table/style/index.d.ts +6 -0
  310. package/components/table/style/index.js +1 -0
  311. package/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  312. package/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  313. package/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  314. package/components/table/style/themes/table-basis.scss +161 -0
  315. package/components/table/style/themes/ui.d.ts +1 -0
  316. package/components/table/style/themes/ui.js +1 -0
  317. package/components/table/style.d.ts +1 -0
  318. package/components/table/style.js +1 -0
  319. package/components/tag/Tag.js +14 -13
  320. package/components/timeline/Timeline.js +10 -8
  321. package/components/timeline/TimelineItem.d.ts +12 -4
  322. package/components/timeline/TimelineItem.js +59 -24
  323. package/components/timeline/style/_timeline.scss +2 -2
  324. package/components/timeline/style/dnb-timeline.css +6 -6
  325. package/components/timeline/style/dnb-timeline.min.css +1 -1
  326. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  327. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  328. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  329. package/elements/Table.d.ts +3 -35
  330. package/elements/Table.js +3 -218
  331. package/elements/Td.d.ts +2 -28
  332. package/elements/Td.js +2 -36
  333. package/elements/Th.d.ts +2 -28
  334. package/elements/Th.js +2 -36
  335. package/elements/Tr.d.ts +2 -28
  336. package/elements/Tr.js +2 -36
  337. package/elements/lib.d.ts +4 -6
  338. package/elements/lib.js +1 -3
  339. package/es/components/Style.d.ts +1 -0
  340. package/es/components/Style.js +3 -0
  341. package/es/components/Table.d.ts +3 -0
  342. package/es/components/Table.js +3 -0
  343. package/es/components/accordion/Accordion.d.ts +17 -4
  344. package/es/components/accordion/AccordionContent.js +1 -1
  345. package/es/components/accordion/AccordionHeader.d.ts +11 -4
  346. package/es/components/accordion/AccordionHeader.js +18 -8
  347. package/es/components/accordion/AccordionPropTypes.js +5 -2
  348. package/es/components/accordion/AccordionProvider.d.ts +17 -2
  349. package/es/components/autocomplete/Autocomplete.d.ts +32 -0
  350. package/es/components/autocomplete/Autocomplete.js +51 -18
  351. package/es/components/autocomplete/style/_autocomplete.scss +57 -6
  352. package/es/components/autocomplete/style/dnb-autocomplete.css +45 -13
  353. package/es/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  354. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
  355. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  356. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
  357. package/es/components/avatar/Avatar.js +8 -7
  358. package/es/components/breadcrumb/Breadcrumb.js +8 -7
  359. package/es/components/button/Button.d.ts +5 -3
  360. package/es/components/date-picker/DatePicker.d.ts +6 -0
  361. package/es/components/date-picker/DatePicker.js +9 -4
  362. package/es/components/date-picker/DatePickerFooter.js +3 -3
  363. package/es/components/date-picker/DatePickerInput.d.ts +6 -0
  364. package/es/components/date-picker/DatePickerInput.js +43 -32
  365. package/es/components/date-picker/style/_date-picker.scss +40 -0
  366. package/es/components/date-picker/style/dnb-date-picker.css +52 -8
  367. package/es/components/date-picker/style/dnb-date-picker.min.css +2 -2
  368. package/es/components/dialog/Dialog.js +7 -3
  369. package/es/components/dialog/DialogContent.js +7 -4
  370. package/es/components/dialog/style/_dialog.scss +24 -35
  371. package/es/components/dialog/style/dnb-dialog.css +81 -115
  372. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  373. package/es/components/dialog/types.d.ts +9 -2
  374. package/es/components/drawer/style/dnb-drawer.css +57 -75
  375. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  376. package/es/components/dropdown/Dropdown.d.ts +25 -0
  377. package/es/components/dropdown/Dropdown.js +2 -2
  378. package/es/components/form-row/FormRow.js +0 -7
  379. package/es/components/form-row/FormRowHelpers.d.ts +6 -0
  380. package/es/components/form-row/FormRowHelpers.js +8 -0
  381. package/es/components/help-button/HelpButtonInstance.js +7 -7
  382. package/es/components/icon/Icon.js +2 -2
  383. package/es/components/icon/IconHelpers.d.ts +1 -0
  384. package/es/components/icon/IconHelpers.js +1 -0
  385. package/es/components/index.d.ts +2 -1
  386. package/es/components/index.js +2 -1
  387. package/es/components/input/Input.d.ts +6 -1
  388. package/es/components/input/Input.js +11 -2
  389. package/es/components/input/style/_input.scss +11 -9
  390. package/es/components/input/style/dnb-input.css +7 -8
  391. package/es/components/input/style/dnb-input.min.css +1 -1
  392. package/es/components/input-masked/InputMasked.d.ts +6 -1
  393. package/es/components/input-masked/InputMaskedUtils.js +11 -4
  394. package/es/components/input-masked/addons/createNumberMask.d.ts +1 -2
  395. package/es/components/input-masked/addons/createNumberMask.js +1 -9
  396. package/es/components/input-masked/style/dnb-input-masked.css +7 -8
  397. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  398. package/es/components/lib.d.ts +6 -1
  399. package/es/components/lib.js +3 -1
  400. package/es/components/modal/Modal.d.ts +1 -22
  401. package/es/components/modal/Modal.js +3 -1
  402. package/es/components/modal/ModalContent.d.ts +7 -2
  403. package/es/components/modal/ModalContent.js +27 -8
  404. package/es/components/modal/ModalContext.d.ts +1 -0
  405. package/es/components/modal/ModalContext.js +1 -0
  406. package/es/components/modal/parts/CloseButton.d.ts +3 -24
  407. package/es/components/modal/parts/ModalHeader.d.ts +1 -0
  408. package/es/components/modal/parts/ModalHeaderBar.d.ts +3 -2
  409. package/es/components/modal/parts/ModalInner.d.ts +1 -0
  410. package/es/components/modal/style/_modal-mixins.scss +3 -2
  411. package/es/components/modal/style/_modal.scss +5 -6
  412. package/es/components/modal/style/dnb-modal.css +52 -71
  413. package/es/components/modal/style/dnb-modal.min.css +1 -1
  414. package/es/components/modal/types.d.ts +16 -38
  415. package/es/components/number-format/NumberFormat.d.ts +5 -0
  416. package/es/components/number-format/NumberFormat.js +7 -2
  417. package/es/components/pagination/PaginationBar.d.ts +7 -6
  418. package/es/components/radio/Radio.js +5 -2
  419. package/es/components/skeleton/SkeletonHelper.d.ts +4 -4
  420. package/es/components/table/Table.d.ts +40 -0
  421. package/es/components/table/Table.js +51 -0
  422. package/es/components/table/TableStickyHeader.d.ts +21 -0
  423. package/es/components/table/TableStickyHeader.js +98 -0
  424. package/es/components/table/TableTd.d.ts +15 -0
  425. package/es/components/table/TableTd.js +20 -0
  426. package/es/components/table/TableTh.d.ts +14 -0
  427. package/es/components/table/TableTh.js +20 -0
  428. package/es/components/table/TableTr.d.ts +15 -0
  429. package/es/components/table/TableTr.js +19 -0
  430. package/es/components/table/index.d.ts +3 -0
  431. package/es/components/table/index.js +3 -0
  432. package/es/components/table/style/_table.scss +147 -0
  433. package/es/components/table/style/dnb-table.css +181 -0
  434. package/es/components/table/style/dnb-table.min.css +1 -0
  435. package/es/components/table/style/dnb-table.scss +12 -0
  436. package/es/components/table/style/index.d.ts +6 -0
  437. package/es/components/table/style/index.js +1 -0
  438. package/es/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  439. package/es/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  440. package/es/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  441. package/es/components/table/style/themes/table-basis.scss +161 -0
  442. package/es/components/table/style/themes/ui.d.ts +1 -0
  443. package/es/components/table/style/themes/ui.js +1 -0
  444. package/es/components/table/style.d.ts +1 -0
  445. package/es/components/table/style.js +1 -0
  446. package/es/components/tag/Tag.js +8 -7
  447. package/es/components/timeline/Timeline.js +8 -6
  448. package/es/components/timeline/TimelineItem.d.ts +12 -4
  449. package/es/components/timeline/TimelineItem.js +52 -21
  450. package/es/components/timeline/style/_timeline.scss +2 -2
  451. package/es/components/timeline/style/dnb-timeline.css +6 -6
  452. package/es/components/timeline/style/dnb-timeline.min.css +1 -1
  453. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  454. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  455. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  456. package/es/elements/Table.d.ts +3 -35
  457. package/es/elements/Table.js +3 -170
  458. package/es/elements/Td.d.ts +2 -28
  459. package/es/elements/Td.js +2 -26
  460. package/es/elements/Th.d.ts +2 -28
  461. package/es/elements/Th.js +2 -26
  462. package/es/elements/Tr.d.ts +2 -28
  463. package/es/elements/Tr.js +2 -26
  464. package/es/elements/lib.d.ts +4 -6
  465. package/es/elements/lib.js +1 -3
  466. package/es/fragments/drawer-list/DrawerList.d.ts +13 -0
  467. package/es/fragments/drawer-list/DrawerList.js +25 -13
  468. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  469. package/es/fragments/drawer-list/DrawerListHelpers.js +15 -0
  470. package/es/fragments/drawer-list/DrawerListProvider.d.ts +7 -9
  471. package/es/fragments/drawer-list/DrawerListProvider.js +31 -42
  472. package/es/fragments/drawer-list/style/_drawer-list.scss +40 -5
  473. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  474. package/es/icons/bookmark.d.ts +2 -0
  475. package/es/icons/bookmark.js +22 -0
  476. package/es/icons/bookmark_medium.d.ts +2 -0
  477. package/es/icons/bookmark_medium.js +22 -0
  478. package/es/icons/calendar_cancel.d.ts +2 -0
  479. package/es/icons/calendar_cancel.js +18 -0
  480. package/es/icons/calendar_cancel_medium.d.ts +2 -0
  481. package/es/icons/calendar_cancel_medium.js +18 -0
  482. package/es/icons/exclamation.js +5 -2
  483. package/es/icons/exclamation_circled.js +1 -1
  484. package/es/icons/exclamation_medium.js +5 -2
  485. package/es/icons/icons-meta.json +232 -198
  486. package/es/icons/icons-pdf.lock +6294 -0
  487. package/es/icons/icons-svg.lock +6294 -1
  488. package/es/icons/index.d.ts +5 -1
  489. package/es/icons/index.js +5 -1
  490. package/es/icons/reply.js +2 -1
  491. package/es/icons/reply_medium.js +2 -1
  492. package/es/icons/secondary_icons.d.ts +3 -1
  493. package/es/icons/secondary_icons.js +3 -1
  494. package/es/icons/secondary_icons_medium.d.ts +3 -1
  495. package/es/icons/secondary_icons_medium.js +3 -1
  496. package/es/icons/stopwatch.js +1 -1
  497. package/es/index.d.ts +30 -30
  498. package/es/index.js +30 -30
  499. package/es/shared/AnimateHeight.d.ts +1 -0
  500. package/es/shared/AnimateHeight.js +18 -2
  501. package/es/shared/Context.d.ts +92 -44
  502. package/es/shared/Context.js +4 -17
  503. package/es/shared/Eufemia.js +1 -1
  504. package/es/shared/MediaQuery.d.ts +18 -37
  505. package/es/shared/MediaQuery.js +3 -18
  506. package/es/shared/MediaQueryUtils.d.ts +61 -23
  507. package/es/shared/MediaQueryUtils.js +2 -2
  508. package/es/shared/Provider.d.ts +36 -12
  509. package/es/shared/Provider.js +6 -14
  510. package/es/shared/component-helper.d.ts +1 -1
  511. package/es/shared/component-helper.js +5 -5
  512. package/es/shared/interfaces.d.ts +13 -0
  513. package/es/shared/locales/en-GB.d.ts +1 -0
  514. package/es/shared/locales/en-GB.js +1 -0
  515. package/es/shared/locales/en-US.d.ts +1 -0
  516. package/es/shared/locales/index.d.ts +2 -0
  517. package/es/shared/locales/nb-NO.d.ts +1 -0
  518. package/es/shared/locales/nb-NO.js +1 -0
  519. package/es/shared/useMediaQuery.d.ts +3 -1
  520. package/es/shared/useTranslation.d.ts +1 -22
  521. package/es/style/dnb-ui-components.css +293 -97
  522. package/es/style/dnb-ui-components.min.css +4 -4
  523. package/es/style/dnb-ui-components.scss +1 -0
  524. package/es/style/dnb-ui-elements.css +1 -534
  525. package/es/style/dnb-ui-elements.min.css +1 -2
  526. package/es/style/dnb-ui-fragments.css +37 -15
  527. package/es/style/dnb-ui-fragments.min.css +1 -1
  528. package/es/style/dnb-ui-tags.css +1 -1065
  529. package/es/style/dnb-ui-tags.min.css +1 -3
  530. package/es/style/elements/table.scss +1 -389
  531. package/es/style/elements/ui-tags.scss +2 -2
  532. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +511 -574
  533. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +7 -5
  534. package/es/style/themes/theme-ui/dnb-theme-ui.css +511 -574
  535. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +7 -5
  536. package/es/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  537. package/esm/dnb-ui-basis.min.mjs +1 -1
  538. package/esm/dnb-ui-components.min.mjs +3 -3
  539. package/esm/dnb-ui-elements.min.mjs +3 -3
  540. package/esm/dnb-ui-extensions.min.mjs +4 -4
  541. package/esm/dnb-ui-icons.min.mjs +1 -1
  542. package/esm/dnb-ui-lib.min.mjs +4 -4
  543. package/esm/dnb-ui-web-components.min.mjs +4 -4
  544. package/fragments/drawer-list/DrawerList.d.ts +13 -0
  545. package/fragments/drawer-list/DrawerList.js +24 -12
  546. package/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  547. package/fragments/drawer-list/DrawerListHelpers.js +15 -0
  548. package/fragments/drawer-list/DrawerListProvider.d.ts +7 -9
  549. package/fragments/drawer-list/DrawerListProvider.js +29 -41
  550. package/fragments/drawer-list/style/_drawer-list.scss +40 -5
  551. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  552. package/icons/bookmark.d.ts +2 -0
  553. package/icons/bookmark.js +24 -0
  554. package/icons/bookmark_medium.d.ts +2 -0
  555. package/icons/bookmark_medium.js +24 -0
  556. package/icons/calendar_cancel.d.ts +2 -0
  557. package/icons/calendar_cancel.js +20 -0
  558. package/icons/calendar_cancel_medium.d.ts +2 -0
  559. package/icons/calendar_cancel_medium.js +20 -0
  560. package/icons/exclamation.js +5 -2
  561. package/icons/exclamation_circled.js +1 -1
  562. package/icons/exclamation_medium.js +5 -2
  563. package/icons/icons-meta.json +232 -198
  564. package/icons/icons-pdf.lock +6294 -0
  565. package/icons/icons-svg.lock +6294 -1
  566. package/icons/index.d.ts +5 -1
  567. package/icons/index.js +5 -1
  568. package/icons/reply.js +2 -1
  569. package/icons/reply_medium.js +2 -1
  570. package/icons/secondary_icons.d.ts +3 -1
  571. package/icons/secondary_icons.js +3 -1
  572. package/icons/secondary_icons_medium.d.ts +3 -1
  573. package/icons/secondary_icons_medium.js +3 -1
  574. package/icons/stopwatch.js +1 -1
  575. package/index.d.ts +30 -30
  576. package/index.js +30 -30
  577. package/package.json +1 -1
  578. package/shared/AnimateHeight.d.ts +1 -0
  579. package/shared/AnimateHeight.js +18 -2
  580. package/shared/Context.d.ts +92 -44
  581. package/shared/Context.js +3 -16
  582. package/shared/Eufemia.js +1 -1
  583. package/shared/MediaQuery.d.ts +18 -37
  584. package/shared/MediaQuery.js +3 -17
  585. package/shared/MediaQueryUtils.d.ts +61 -23
  586. package/shared/MediaQueryUtils.js +2 -2
  587. package/shared/Provider.d.ts +36 -12
  588. package/shared/Provider.js +5 -12
  589. package/shared/component-helper.d.ts +1 -1
  590. package/shared/component-helper.js +5 -5
  591. package/shared/interfaces.d.ts +13 -0
  592. package/shared/locales/en-GB.d.ts +1 -0
  593. package/shared/locales/en-GB.js +1 -0
  594. package/shared/locales/en-US.d.ts +1 -0
  595. package/shared/locales/index.d.ts +2 -0
  596. package/shared/locales/nb-NO.d.ts +1 -0
  597. package/shared/locales/nb-NO.js +1 -0
  598. package/shared/useMediaQuery.d.ts +3 -1
  599. package/shared/useTranslation.d.ts +1 -22
  600. package/style/dnb-ui-components.css +293 -97
  601. package/style/dnb-ui-components.min.css +4 -4
  602. package/style/dnb-ui-components.scss +1 -0
  603. package/style/dnb-ui-elements.css +1 -534
  604. package/style/dnb-ui-elements.min.css +1 -2
  605. package/style/dnb-ui-fragments.css +37 -15
  606. package/style/dnb-ui-fragments.min.css +1 -1
  607. package/style/dnb-ui-tags.css +1 -1065
  608. package/style/dnb-ui-tags.min.css +1 -3
  609. package/style/elements/table.scss +1 -389
  610. package/style/elements/ui-tags.scss +2 -2
  611. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +511 -574
  612. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +7 -5
  613. package/style/themes/theme-ui/dnb-theme-ui.css +511 -574
  614. package/style/themes/theme-ui/dnb-theme-ui.min.css +7 -5
  615. package/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  616. package/umd/dnb-ui-basis.min.js +1 -1
  617. package/umd/dnb-ui-components.min.js +3 -3
  618. package/umd/dnb-ui-elements.min.js +5 -5
  619. package/umd/dnb-ui-extensions.min.js +5 -5
  620. package/umd/dnb-ui-icons.min.js +1 -1
  621. package/umd/dnb-ui-lib.min.js +3 -3
  622. package/umd/dnb-ui-web-components.min.js +4 -4
  623. package/cjs/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  624. package/cjs/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -9
  625. package/es/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  626. package/es/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -93
  627. package/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  628. package/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -2
package/components/lib.js CHANGED
@@ -34,6 +34,7 @@ import Slider from './slider/Slider';
34
34
  import Space from './space/Space';
35
35
  import StepIndicator from './step-indicator/StepIndicator';
36
36
  import Switch from './switch/Switch';
37
+ import Table from './table/Table';
37
38
  import Tabs from './tabs/Tabs';
38
39
  import Tag from './tag/Tag';
39
40
  import Textarea from './textarea/Textarea';
@@ -41,7 +42,7 @@ import Timeline from './timeline/Timeline';
41
42
  import ToggleButton from './toggle-button/ToggleButton';
42
43
  import Tooltip from './tooltip/Tooltip';
43
44
  import VisuallyHidden from './visually-hidden/VisuallyHidden';
44
- export { Accordion, Autocomplete, Avatar, Breadcrumb, Button, Checkbox, DatePicker, Dialog, Drawer, Dropdown, FormLabel, FormRow, FormSet, FormStatus, GlobalError, GlobalStatus, Heading, HelpButton, Icon, IconPrimary, InfoCard, Input, InputMasked, Logo, Modal, NumberFormat, Pagination, ProgressIndicator, Radio, Section, Skeleton, Slider, Space, StepIndicator, Switch, Tabs, Tag, Textarea, Timeline, ToggleButton, Tooltip, VisuallyHidden };
45
+ export { Accordion, Autocomplete, Avatar, Breadcrumb, Button, Checkbox, DatePicker, Dialog, Drawer, Dropdown, FormLabel, FormRow, FormSet, FormStatus, GlobalError, GlobalStatus, Heading, HelpButton, Icon, IconPrimary, InfoCard, Input, InputMasked, Logo, Modal, NumberFormat, Pagination, ProgressIndicator, Radio, Section, Skeleton, Slider, Space, StepIndicator, Switch, Table, Tabs, Tag, Textarea, Timeline, ToggleButton, Tooltip, VisuallyHidden };
45
46
  export var getComponents = function getComponents() {
46
47
  return {
47
48
  Accordion: Accordion,
@@ -79,6 +80,7 @@ export var getComponents = function getComponents() {
79
80
  Space: Space,
80
81
  StepIndicator: StepIndicator,
81
82
  Switch: Switch,
83
+ Table: Table,
82
84
  Tabs: Tabs,
83
85
  Tag: Tag,
84
86
  Textarea: Textarea,
@@ -19,28 +19,7 @@ interface ModalState {
19
19
  }
20
20
  export declare type ModalPropTypes = ModalProps & ISpacingProps & ScrollViewProps;
21
21
  declare class Modal extends React.PureComponent<ModalPropTypes & ToCamelCasePartial<ModalPropTypes>, ModalState> {
22
- static contextType: React.Context<{
23
- translation: any;
24
- updateTranslation: (locale: any, translation: any) => void;
25
- getTranslation: (props: any) => any;
26
- locale: any;
27
- locales: any;
28
- skeleton: any;
29
- Button: {};
30
- Avatar: {};
31
- AvatarGroup: {};
32
- Breadcrumb: {};
33
- BreadcrumbItem: {};
34
- InfoCard: {};
35
- Tag: {};
36
- TagGroup: {};
37
- Timeline: {};
38
- TimelineItem: {};
39
- VisuallyHidden: {};
40
- Drawer: {};
41
- Dialog: {};
42
- NumberFormat: {};
43
- }>;
22
+ static contextType: React.Context<import("../../shared/Context").ContextProps>;
44
23
  static tagName: string;
45
24
  static Bar: typeof ModalHeaderBar;
46
25
  static Header: typeof ModalHeader;
@@ -13,7 +13,7 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
13
13
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
14
14
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
15
15
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
16
- var _excluded = ["root_id", "content_id", "disabled", "labelled_by", "focus_selector", "header_content", "bar_content", "id", "open_state", "open_delay", "omit_trigger_button", "trigger", "trigger_attributes", "trigger_hidden", "trigger_disabled", "trigger_variant", "trigger_text", "trigger_title", "trigger_size", "trigger_icon", "trigger_icon_position", "trigger_class"];
16
+ var _excluded = ["root_id", "content_id", "disabled", "labelled_by", "focus_selector", "header_content", "bar_content", "bypass_invalidation_selectors", "id", "open_state", "open_delay", "omit_trigger_button", "trigger", "trigger_attributes", "trigger_hidden", "trigger_disabled", "trigger_variant", "trigger_text", "trigger_title", "trigger_size", "trigger_icon", "trigger_icon_position", "trigger_class"];
17
17
 
18
18
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
19
19
 
@@ -326,6 +326,8 @@ var Modal = function (_React$PureComponent) {
326
326
  header_content = _props$header_content === void 0 ? null : _props$header_content,
327
327
  _props$bar_content = props.bar_content,
328
328
  bar_content = _props$bar_content === void 0 ? null : _props$bar_content,
329
+ _props$bypass_invalid = props.bypass_invalidation_selectors,
330
+ bypass_invalidation_selectors = _props$bypass_invalid === void 0 ? null : _props$bypass_invalid,
329
331
  id = props.id,
330
332
  open_state = props.open_state,
331
333
  open_delay = props.open_delay,
@@ -406,6 +408,7 @@ var Modal = function (_React$PureComponent) {
406
408
  modal_content: modal_content,
407
409
  header_content: header_content,
408
410
  bar_content: bar_content,
411
+ bypass_invalidation_selectors: bypass_invalidation_selectors,
409
412
  close: _this2.close,
410
413
  hide: hide,
411
414
  title: rest.title || fallbackTitle
@@ -23,6 +23,10 @@ export default class ModalContent extends React.PureComponent<ModalContentProps,
23
23
  color: any;
24
24
  };
25
25
  _contentRef: React.RefObject<HTMLElement>;
26
+ _scrollRef: React.RefObject<HTMLElement>;
27
+ _overlayClickRef: {
28
+ current: null | HTMLElement;
29
+ };
26
30
  _id: string;
27
31
  _lockTimeout: NodeJS.Timeout;
28
32
  _focusTimeout: NodeJS.Timeout;
@@ -41,8 +45,9 @@ export default class ModalContent extends React.PureComponent<ModalContentProps,
41
45
  removeScrollPossibility(): void;
42
46
  revertScrollPossibility(): void;
43
47
  preventClick: (event: any) => void;
44
- onCloseClickHandler: (event: any) => void;
45
- onContentClickHandler: (event: any) => void;
48
+ onCloseClickHandler: (event: React.SyntheticEvent) => void;
49
+ onContentMouseDownHandler: (event: React.SyntheticEvent) => void;
50
+ onContentClickHandler: (event: React.SyntheticEvent) => void;
46
51
  onKeyDownHandler: (event: any) => void;
47
52
  closeModalContent(event: any, { triggeredBy, ...params }: {
48
53
  [x: string]: any;
@@ -5,6 +5,7 @@ import "core-js/modules/es.object.get-own-property-descriptor.js";
5
5
  import "core-js/modules/es.object.get-own-property-descriptors.js";
6
6
  import _extends from "@babel/runtime/helpers/esm/extends";
7
7
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
8
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
8
9
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
9
10
  import _createClass from "@babel/runtime/helpers/esm/createClass";
10
11
  import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
@@ -21,6 +22,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
21
22
 
22
23
  import "core-js/modules/es.array.filter.js";
23
24
  import "core-js/modules/es.object.to-string.js";
25
+ import "core-js/modules/es.array.concat.js";
24
26
  import "core-js/modules/web.dom-collections.for-each.js";
25
27
  import "core-js/modules/es.parse-float.js";
26
28
 
@@ -59,6 +61,10 @@ var ModalContent = function (_React$PureComponent) {
59
61
 
60
62
  _defineProperty(_assertThisInitialized(_this), "_contentRef", void 0);
61
63
 
64
+ _defineProperty(_assertThisInitialized(_this), "_scrollRef", void 0);
65
+
66
+ _defineProperty(_assertThisInitialized(_this), "_overlayClickRef", void 0);
67
+
62
68
  _defineProperty(_assertThisInitialized(_this), "_id", void 0);
63
69
 
64
70
  _defineProperty(_assertThisInitialized(_this), "_lockTimeout", void 0);
@@ -76,9 +82,11 @@ var ModalContent = function (_React$PureComponent) {
76
82
  var firstLevel = modalRoots[0];
77
83
 
78
84
  if (firstLevel === _assertThisInitialized(_this)) {
85
+ var _this$props;
86
+
79
87
  _this._ii = new InteractionInvalidation();
80
88
 
81
- _this._ii.setBypassSelector(['.dnb-modal__content *', "#dnb-modal-".concat(_this.props.root_id || 'root'), "#dnb-modal-".concat(_this.props.root_id || 'root', " *")].filter(Boolean));
89
+ _this._ii.setBypassSelector(['.dnb-modal__content *', "#dnb-modal-".concat(_this.props.root_id || 'root'), "#dnb-modal-".concat(_this.props.root_id || 'root', " *")].concat(_toConsumableArray(((_this$props = _this.props) === null || _this$props === void 0 ? void 0 : _this$props.bypass_invalidation_selectors) || [])).filter(Boolean));
82
90
 
83
91
  _this._ii.activate();
84
92
  } else {
@@ -124,7 +132,16 @@ var ModalContent = function (_React$PureComponent) {
124
132
  });
125
133
  });
126
134
 
135
+ _defineProperty(_assertThisInitialized(_this), "onContentMouseDownHandler", function (event) {
136
+ _this._overlayClickRef.current = event.target === event.currentTarget ? event.target : null;
137
+ });
138
+
127
139
  _defineProperty(_assertThisInitialized(_this), "onContentClickHandler", function (event) {
140
+ if (_this._overlayClickRef.current !== event.target) {
141
+ return;
142
+ }
143
+
144
+ _this._overlayClickRef.current = null;
128
145
  var prevent_overlay_close = _this.props.prevent_overlay_close;
129
146
 
130
147
  if (!isTrue(prevent_overlay_close)) {
@@ -162,7 +179,9 @@ var ModalContent = function (_React$PureComponent) {
162
179
  });
163
180
  });
164
181
 
165
- _this._contentRef = React.createRef();
182
+ _this._contentRef = _this.props.content_ref || React.createRef();
183
+ _this._scrollRef = _this.props.scroll_ref || React.createRef();
184
+ _this._overlayClickRef = React.createRef();
166
185
  _this._id = props.id;
167
186
  return _this;
168
187
  }
@@ -170,13 +189,13 @@ var ModalContent = function (_React$PureComponent) {
170
189
  _createClass(ModalContent, [{
171
190
  key: "componentDidMount",
172
191
  value: function componentDidMount() {
173
- var _this$props = this.props,
174
- _this$props$id = _this$props.id,
175
- id = _this$props$id === void 0 ? null : _this$props$id,
176
- _this$props$no_animat = _this$props.no_animation,
177
- no_animation = _this$props$no_animat === void 0 ? false : _this$props$no_animat,
178
- _this$props$animation2 = _this$props.animation_duration,
179
- animation_duration = _this$props$animation2 === void 0 ? null : _this$props$animation2;
192
+ var _this$props2 = this.props,
193
+ _this$props2$id = _this$props2.id,
194
+ id = _this$props2$id === void 0 ? null : _this$props2$id,
195
+ _this$props2$no_anima = _this$props2.no_animation,
196
+ no_animation = _this$props2$no_anima === void 0 ? false : _this$props2$no_anima,
197
+ _this$props2$animatio = _this$props2.animation_duration,
198
+ animation_duration = _this$props2$animatio === void 0 ? null : _this$props2$animatio;
180
199
  var timeoutDuration = typeof animation_duration === 'string' ? parseFloat(animation_duration) : animation_duration;
181
200
  addToIndex(this);
182
201
  this.removeScrollPossibility();
@@ -256,13 +275,13 @@ var ModalContent = function (_React$PureComponent) {
256
275
  }, {
257
276
  key: "setFocus",
258
277
  value: function setFocus() {
259
- var _this$props2 = this.props,
260
- _this$props2$focus_se = _this$props2.focus_selector,
261
- focus_selector = _this$props2$focus_se === void 0 ? null : _this$props2$focus_se,
262
- _this$props2$no_anima = _this$props2.no_animation,
263
- no_animation = _this$props2$no_anima === void 0 ? null : _this$props2$no_anima,
264
- _this$props2$animatio = _this$props2.animation_duration,
265
- animation_duration = _this$props2$animatio === void 0 ? null : _this$props2$animatio;
278
+ var _this$props3 = this.props,
279
+ _this$props3$focus_se = _this$props3.focus_selector,
280
+ focus_selector = _this$props3$focus_se === void 0 ? null : _this$props3$focus_se,
281
+ _this$props3$no_anima = _this$props3.no_animation,
282
+ no_animation = _this$props3$no_anima === void 0 ? null : _this$props3$no_anima,
283
+ _this$props3$animatio = _this$props3.animation_duration,
284
+ animation_duration = _this$props3$animatio === void 0 ? null : _this$props3$animatio;
266
285
  var elem = this._contentRef.current;
267
286
  var timeoutDuration = typeof animation_duration === 'string' ? parseFloat(animation_duration) : animation_duration;
268
287
 
@@ -291,14 +310,14 @@ var ModalContent = function (_React$PureComponent) {
291
310
  }, {
292
311
  key: "removeScrollPossibility",
293
312
  value: function removeScrollPossibility() {
294
- if (this._contentRef.current) {
295
- disableBodyScroll(this._contentRef.current);
313
+ if (this._scrollRef.current) {
314
+ disableBodyScroll(this._scrollRef.current);
296
315
  }
297
316
  }
298
317
  }, {
299
318
  key: "revertScrollPossibility",
300
319
  value: function revertScrollPossibility() {
301
- enableBodyScroll(this._contentRef.current);
320
+ enableBodyScroll(this._scrollRef.current);
302
321
  clearAllBodyScrollLocks();
303
322
  }
304
323
  }, {
@@ -323,47 +342,47 @@ var ModalContent = function (_React$PureComponent) {
323
342
  }, {
324
343
  key: "render",
325
344
  value: function render() {
326
- var _this$props3 = this.props,
327
- _this$props3$mode = _this$props3.mode,
328
- mode = _this$props3$mode === void 0 ? 'modal' : _this$props3$mode,
329
- hide = _this$props3.hide,
330
- title = _this$props3.title,
331
- labelled_by = _this$props3.labelled_by,
332
- _id = _this$props3.id,
333
- _this$props3$close_ti = _this$props3.close_title,
334
- close_title = _this$props3$close_ti === void 0 ? 'Lukk' : _this$props3$close_ti,
335
- _this$props3$dialog_t = _this$props3.dialog_title,
336
- dialog_title = _this$props3$dialog_t === void 0 ? 'Vindu' : _this$props3$dialog_t,
337
- _this$props3$hide_clo = _this$props3.hide_close_button,
338
- hide_close_button = _this$props3$hide_clo === void 0 ? false : _this$props3$hide_clo,
339
- close_button_attributes = _this$props3.close_button_attributes,
340
- animation_duration = _this$props3.animation_duration,
341
- _this$props3$no_anima = _this$props3.no_animation,
342
- no_animation = _this$props3$no_anima === void 0 ? false : _this$props3$no_anima,
343
- _this$props3$no_anima2 = _this$props3.no_animation_on_mobile,
344
- no_animation_on_mobile = _this$props3$no_anima2 === void 0 ? false : _this$props3$no_anima2,
345
- _this$props3$fullscre = _this$props3.fullscreen,
346
- fullscreen = _this$props3$fullscre === void 0 ? 'auto' : _this$props3$fullscre,
347
- _this$props3$align_co = _this$props3.align_content,
348
- align_content = _this$props3$align_co === void 0 ? 'left' : _this$props3$align_co,
349
- _this$props3$containe = _this$props3.container_placement,
350
- container_placement = _this$props3$containe === void 0 ? 'right' : _this$props3$containe,
351
- close = _this$props3.close,
352
- content_class = _this$props3.content_class,
353
- overlay_class = _this$props3.overlay_class,
354
- content_id = _this$props3.content_id,
355
- children = _this$props3.children,
356
- min_width = _this$props3.min_width,
357
- max_width = _this$props3.max_width,
358
- modal_content = _this$props3.modal_content,
359
- header_content = _this$props3.header_content,
360
- bar_content = _this$props3.bar_content,
361
- className = _this$props3.className,
362
- prevent_core_style = _this$props3.prevent_core_style,
363
- _className = _this$props3.class,
364
- _this$props3$dialog_r = _this$props3.dialog_role,
365
- dialog_role = _this$props3$dialog_r === void 0 ? null : _this$props3$dialog_r,
366
- rest = _objectWithoutProperties(_this$props3, _excluded2);
345
+ var _this$props4 = this.props,
346
+ _this$props4$mode = _this$props4.mode,
347
+ mode = _this$props4$mode === void 0 ? 'modal' : _this$props4$mode,
348
+ hide = _this$props4.hide,
349
+ title = _this$props4.title,
350
+ labelled_by = _this$props4.labelled_by,
351
+ _id = _this$props4.id,
352
+ _this$props4$close_ti = _this$props4.close_title,
353
+ close_title = _this$props4$close_ti === void 0 ? 'Lukk' : _this$props4$close_ti,
354
+ _this$props4$dialog_t = _this$props4.dialog_title,
355
+ dialog_title = _this$props4$dialog_t === void 0 ? 'Vindu' : _this$props4$dialog_t,
356
+ _this$props4$hide_clo = _this$props4.hide_close_button,
357
+ hide_close_button = _this$props4$hide_clo === void 0 ? false : _this$props4$hide_clo,
358
+ close_button_attributes = _this$props4.close_button_attributes,
359
+ animation_duration = _this$props4.animation_duration,
360
+ _this$props4$no_anima = _this$props4.no_animation,
361
+ no_animation = _this$props4$no_anima === void 0 ? false : _this$props4$no_anima,
362
+ _this$props4$no_anima2 = _this$props4.no_animation_on_mobile,
363
+ no_animation_on_mobile = _this$props4$no_anima2 === void 0 ? false : _this$props4$no_anima2,
364
+ _this$props4$fullscre = _this$props4.fullscreen,
365
+ fullscreen = _this$props4$fullscre === void 0 ? 'auto' : _this$props4$fullscre,
366
+ _this$props4$align_co = _this$props4.align_content,
367
+ align_content = _this$props4$align_co === void 0 ? 'left' : _this$props4$align_co,
368
+ _this$props4$containe = _this$props4.container_placement,
369
+ container_placement = _this$props4$containe === void 0 ? 'right' : _this$props4$containe,
370
+ close = _this$props4.close,
371
+ content_class = _this$props4.content_class,
372
+ overlay_class = _this$props4.overlay_class,
373
+ content_id = _this$props4.content_id,
374
+ children = _this$props4.children,
375
+ min_width = _this$props4.min_width,
376
+ max_width = _this$props4.max_width,
377
+ modal_content = _this$props4.modal_content,
378
+ header_content = _this$props4.header_content,
379
+ bar_content = _this$props4.bar_content,
380
+ className = _this$props4.className,
381
+ prevent_core_style = _this$props4.prevent_core_style,
382
+ _className = _this$props4.class,
383
+ _this$props4$dialog_r = _this$props4.dialog_role,
384
+ dialog_role = _this$props4$dialog_r === void 0 ? null : _this$props4$dialog_r,
385
+ rest = _objectWithoutProperties(_this$props4, _excluded2);
367
386
 
368
387
  var color = this.state.color;
369
388
  var contentId = content_id || makeUniqueId('modal-');
@@ -381,6 +400,7 @@ var ModalContent = function (_React$PureComponent) {
381
400
  'aria-describedby': combineDescribedBy(this.props, contentId + '-content'),
382
401
  'aria-label': !title && !labelled_by ? dialog_title : undefined,
383
402
  className: classnames('dnb-modal__content', isTrue(fullscreen) ? 'dnb-modal__content--fullscreen' : fullscreen === 'auto' && 'dnb-modal__content--auto-fullscreen', (container_placement || mode === 'drawer') && "dnb-modal__content--".concat(container_placement || 'right'), content_class, mode && "dnb-modal__content--".concat(mode)),
403
+ onMouseDown: this.onContentMouseDownHandler,
384
404
  onClick: this.onContentClickHandler
385
405
  };
386
406
 
@@ -415,6 +435,7 @@ var ModalContent = function (_React$PureComponent) {
415
435
  preventClick: this.preventClick,
416
436
  onKeyDownHandler: this.onKeyDownHandler,
417
437
  contentRef: this._contentRef,
438
+ scrollRef: this._scrollRef,
418
439
  contentId: contentId,
419
440
  close: close
420
441
  }
@@ -15,6 +15,7 @@ declare const ModalContext: React.Context<{
15
15
  setBackgroundColor: any;
16
16
  onCloseClickHandler: any;
17
17
  contentRef: any;
18
+ scrollRef: any;
18
19
  hide: any;
19
20
  contentId: any;
20
21
  close: any;
@@ -11,6 +11,7 @@ var ModalContext = React.createContext({
11
11
  setBackgroundColor: null,
12
12
  onCloseClickHandler: null,
13
13
  contentRef: null,
14
+ scrollRef: null,
14
15
  hide: null,
15
16
  contentId: null,
16
17
  close: null
@@ -4,35 +4,14 @@
4
4
  */
5
5
  import React from 'react';
6
6
  import { ButtonProps } from '../../button';
7
- export interface CloseButtonProps extends ButtonProps {
7
+ export declare type CloseButtonProps = {
8
8
  /**
9
9
  * The title of the close button. Defaults to <em>Close</em> or <em>Lukk</em>.
10
10
  */
11
11
  close_title?: string;
12
- }
12
+ } & Partial<ButtonProps>;
13
13
  export default class CloseButton extends React.PureComponent<CloseButtonProps> {
14
- static contextType: React.Context<{
15
- translation: any;
16
- updateTranslation: (locale: any, translation: any) => void;
17
- getTranslation: (props: any) => any;
18
- locale: any;
19
- locales: any;
20
- skeleton: any;
21
- Button: {};
22
- Avatar: {};
23
- AvatarGroup: {};
24
- Breadcrumb: {};
25
- BreadcrumbItem: {};
26
- InfoCard: {};
27
- Tag: {};
28
- TagGroup: {};
29
- Timeline: {};
30
- TimelineItem: {};
31
- VisuallyHidden: {};
32
- Drawer: {};
33
- Dialog: {};
34
- NumberFormat: {};
35
- }>;
14
+ static contextType: React.Context<import("../../../shared/Context").ContextProps>;
36
15
  static defaultProps: {
37
16
  close_title: any;
38
17
  size: string;
@@ -40,6 +40,7 @@ export default class ModalHeader extends React.PureComponent<ModalHeaderProps> {
40
40
  setBackgroundColor: any;
41
41
  onCloseClickHandler: any;
42
42
  contentRef: any;
43
+ scrollRef: any;
43
44
  hide: any;
44
45
  contentId: any;
45
46
  close: any;
@@ -31,10 +31,11 @@ export default class ModalHeaderBar extends React.PureComponent<ModalHeaderBarPr
31
31
  setBackgroundColor: any;
32
32
  onCloseClickHandler: any;
33
33
  contentRef: any;
34
- hide: any;
35
- contentId: any; /**
34
+ scrollRef: any;
35
+ hide: any; /**
36
36
  * The content which will appear when triggering the modal/drawer.
37
37
  */
38
+ contentId: any;
38
39
  close: any;
39
40
  }>;
40
41
  _ref: React.RefObject<any>;
@@ -23,6 +23,7 @@ export default class ModalInner extends React.PureComponent<ModalInnerProps> {
23
23
  setBackgroundColor: any;
24
24
  onCloseClickHandler: any;
25
25
  contentRef: any;
26
+ scrollRef: any;
26
27
  hide: any;
27
28
  contentId: any;
28
29
  close: any;
@@ -7,6 +7,7 @@
7
7
  width: 100%;
8
8
  height: 100vh;
9
9
  max-width: 100%; // Edge/IE overflow fix
10
+ max-height: 100vh;
10
11
 
11
12
  // NB: Do not set "max-height" here – old Android 4.4 does have then troubles
12
13
  // max-height: none;
@@ -88,12 +89,12 @@
88
89
  opacity: 0;
89
90
  }
90
91
  to {
91
- opacity: var(--modal-overlay-opacity);
92
+ opacity: 1;
92
93
  }
93
94
  }
94
95
  @keyframes hide-modal-overlay {
95
96
  from {
96
- opacity: var(--modal-overlay-opacity);
97
+ opacity: 1;
97
98
  }
98
99
  to {
99
100
  opacity: 0;
@@ -8,8 +8,7 @@
8
8
  :root {
9
9
  --modal-z-index: 3000;
10
10
  --modal-animation-duration: 300ms;
11
- --modal-overlay-bg: black;
12
- --modal-overlay-opacity: 0.32;
11
+ --modal-overlay-bg: rgba(0, 0, 0, 0.32);
13
12
  }
14
13
 
15
14
  html[data-dnb-modal-active] {
@@ -84,17 +83,17 @@ html[data-dnb-modal-active] {
84
83
  }
85
84
 
86
85
  &-root__inner &__overlay {
87
- animation: hide-modal-overlay var(--modal-animation-duration)
88
- ease-in-out forwards;
86
+ animation: hide-modal-overlay var(--modal-animation-duration) ease-out
87
+ forwards;
89
88
  }
90
89
 
91
90
  &-root__inner:last-of-type &__overlay {
92
91
  animation: show-modal-overlay var(--modal-animation-duration) ease-out
93
- forwards 0ms;
92
+ forwards;
94
93
 
95
94
  &--hide {
96
95
  animation: hide-modal-overlay var(--modal-animation-duration)
97
- ease-in-out forwards;
96
+ ease-out forwards;
98
97
  }
99
98
  }
100
99