@dnb/eufemia 9.17.2 → 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 (382) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/cjs/components/Tag.d.ts +14 -0
  3. package/cjs/components/Tag.js +52 -0
  4. package/cjs/components/accordion/Accordion.d.ts +7 -7
  5. package/cjs/components/autocomplete/Autocomplete.d.ts +13 -13
  6. package/cjs/components/button/Button.d.ts +7 -7
  7. package/cjs/components/button/Button.js +6 -4
  8. package/cjs/components/checkbox/Checkbox.d.ts +3 -3
  9. package/cjs/components/date-picker/DatePicker.d.ts +14 -14
  10. package/cjs/components/date-picker/DatePickerAddon.d.ts +1 -1
  11. package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -1
  12. package/cjs/components/date-picker/DatePickerInput.d.ts +1 -1
  13. package/cjs/components/dropdown/Dropdown.d.ts +9 -9
  14. package/cjs/components/form-row/FormRow.d.ts +4 -4
  15. package/cjs/components/form-set/FormSet.d.ts +5 -5
  16. package/cjs/components/global-error/GlobalError.d.ts +1 -1
  17. package/cjs/components/global-status/GlobalStatus.d.ts +5 -5
  18. package/cjs/components/heading/Heading.d.ts +2 -2
  19. package/cjs/components/heading/HeadingProvider.d.ts +2 -2
  20. package/cjs/components/icon/Icon.d.ts +1 -1
  21. package/cjs/components/icon-primary/IconPrimary.d.ts +1 -1
  22. package/cjs/components/index.d.ts +2 -0
  23. package/cjs/components/index.js +8 -0
  24. package/cjs/components/input/Input.d.ts +9 -9
  25. package/cjs/components/input-masked/InputMasked.d.ts +11 -11
  26. package/cjs/components/input-masked/InputMasked.js +6 -3
  27. package/cjs/components/input-masked/InputMaskedHooks.js +26 -34
  28. package/cjs/components/input-masked/InputMaskedUtils.js +9 -20
  29. package/cjs/components/lib.js +9 -0
  30. package/cjs/components/modal/Modal.js +123 -271
  31. package/cjs/components/modal/ModalContent.js +145 -243
  32. package/cjs/components/modal/ModalRoot.js +194 -0
  33. package/cjs/components/modal/components/CloseButton.js +125 -0
  34. package/cjs/components/modal/components/ModalHeader.js +124 -0
  35. package/cjs/components/modal/{ModalHeader.js → components/ModalHeaderBar.js} +50 -162
  36. package/cjs/components/modal/{ModalInner.js → components/ModalInner.js} +11 -19
  37. package/cjs/components/modal/helpers.js +80 -0
  38. package/cjs/components/modal/types.js +1 -0
  39. package/cjs/components/number-format/NumberFormat.d.ts +8 -8
  40. package/cjs/components/pagination/Pagination.d.ts +30 -30
  41. package/cjs/components/pagination/PaginationProvider.d.ts +2 -2
  42. package/cjs/components/radio/Radio.d.ts +4 -4
  43. package/cjs/components/radio/RadioGroup.d.ts +3 -3
  44. package/cjs/components/section/Section.d.ts +3 -2
  45. package/cjs/components/skeleton/Skeleton.d.ts +2 -2
  46. package/cjs/components/slider/Slider.d.ts +4 -4
  47. package/cjs/components/step-indicator/StepIndicator.d.ts +5 -5
  48. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  49. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +2 -2
  50. package/cjs/components/step-indicator/StepIndicatorItem.js +1 -0
  51. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +3 -3
  52. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  53. package/cjs/components/switch/Switch.d.ts +5 -5
  54. package/cjs/components/tabs/Tabs.d.ts +4 -4
  55. package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -1
  56. package/cjs/components/tag/Tag.js +97 -0
  57. package/cjs/components/tag/index.d.ts +8 -0
  58. package/cjs/components/tag/index.js +52 -0
  59. package/cjs/components/tag/style/_tag.scss +26 -0
  60. package/cjs/components/tag/style/dnb-tag.css +109 -0
  61. package/cjs/components/tag/style/dnb-tag.min.css +1 -0
  62. package/cjs/components/tag/style/dnb-tag.scss +12 -0
  63. package/cjs/components/tag/style/index.d.ts +6 -0
  64. package/cjs/components/tag/style/index.js +3 -0
  65. package/cjs/components/tag/style.js +3 -0
  66. package/cjs/components/textarea/Textarea.d.ts +4 -4
  67. package/cjs/components/toggle-button/ToggleButton.d.ts +6 -6
  68. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +3 -3
  69. package/cjs/components/tooltip/Tooltip.d.ts +5 -5
  70. package/cjs/components/tooltip/TooltipContainer.d.ts +3 -3
  71. package/cjs/components/tooltip/TooltipPortal.d.ts +1 -1
  72. package/cjs/components/tooltip/TooltipWithEvents.d.ts +1 -1
  73. package/cjs/fragments/scroll-view/ScrollView.js +7 -16
  74. package/cjs/index.d.ts +2 -0
  75. package/cjs/index.js +8 -0
  76. package/cjs/shared/Context.js +2 -1
  77. package/cjs/style/core/helper-classes/skip-link.scss +1 -1
  78. package/cjs/style/dnb-ui-components.css +40 -0
  79. package/cjs/style/dnb-ui-components.min.css +1 -1
  80. package/cjs/style/dnb-ui-components.scss +1 -0
  81. package/components/Tag.d.ts +14 -0
  82. package/components/Tag.js +3 -0
  83. package/components/accordion/Accordion.d.ts +7 -7
  84. package/components/autocomplete/Autocomplete.d.ts +13 -13
  85. package/components/button/Button.d.ts +7 -7
  86. package/components/button/Button.js +6 -4
  87. package/components/checkbox/Checkbox.d.ts +3 -3
  88. package/components/date-picker/DatePicker.d.ts +14 -14
  89. package/components/date-picker/DatePickerAddon.d.ts +1 -1
  90. package/components/date-picker/DatePickerCalendar.d.ts +1 -1
  91. package/components/date-picker/DatePickerInput.d.ts +1 -1
  92. package/components/dropdown/Dropdown.d.ts +9 -9
  93. package/components/form-row/FormRow.d.ts +4 -4
  94. package/components/form-set/FormSet.d.ts +5 -5
  95. package/components/global-error/GlobalError.d.ts +1 -1
  96. package/components/global-status/GlobalStatus.d.ts +5 -5
  97. package/components/heading/Heading.d.ts +2 -2
  98. package/components/heading/HeadingProvider.d.ts +2 -2
  99. package/components/icon/Icon.d.ts +1 -1
  100. package/components/index.d.ts +2 -0
  101. package/components/index.js +2 -1
  102. package/components/input/Input.d.ts +9 -9
  103. package/components/input-masked/InputMasked.d.ts +11 -11
  104. package/components/input-masked/InputMasked.js +6 -4
  105. package/components/input-masked/InputMaskedHooks.js +24 -28
  106. package/components/input-masked/InputMaskedUtils.js +9 -20
  107. package/components/lib.js +3 -1
  108. package/components/modal/Modal.js +112 -250
  109. package/components/modal/Modal.tsx +524 -0
  110. package/components/modal/ModalContent.js +137 -224
  111. package/components/modal/ModalContent.tsx +515 -0
  112. package/components/modal/ModalContext.tsx +10 -0
  113. package/components/modal/ModalRoot.js +145 -0
  114. package/components/modal/ModalRoot.tsx +131 -0
  115. package/components/modal/components/CloseButton.js +72 -0
  116. package/components/modal/components/CloseButton.tsx +56 -0
  117. package/components/modal/components/ModalHeader.js +70 -0
  118. package/components/modal/components/ModalHeader.tsx +79 -0
  119. package/components/modal/components/ModalHeaderBar.js +122 -0
  120. package/components/modal/components/ModalHeaderBar.tsx +118 -0
  121. package/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
  122. package/components/modal/components/ModalInner.tsx +45 -0
  123. package/components/modal/helpers.js +64 -0
  124. package/components/modal/helpers.ts +63 -0
  125. package/components/modal/types.js +1 -0
  126. package/{cjs/components/modal/Modal.d.ts → components/modal/types.ts} +124 -182
  127. package/components/number-format/NumberFormat.d.ts +8 -8
  128. package/components/pagination/Pagination.d.ts +30 -30
  129. package/components/pagination/PaginationProvider.d.ts +2 -2
  130. package/components/radio/Radio.d.ts +4 -4
  131. package/components/radio/RadioGroup.d.ts +3 -3
  132. package/components/section/Section.d.ts +3 -1
  133. package/components/skeleton/Skeleton.d.ts +2 -2
  134. package/components/slider/Slider.d.ts +4 -4
  135. package/components/step-indicator/StepIndicator.d.ts +5 -5
  136. package/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  137. package/components/step-indicator/StepIndicatorItem.d.ts +2 -2
  138. package/components/step-indicator/StepIndicatorItem.js +1 -0
  139. package/components/step-indicator/StepIndicatorSidebar.d.ts +3 -3
  140. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  141. package/components/switch/Switch.d.ts +5 -5
  142. package/components/tabs/Tabs.d.ts +4 -4
  143. package/components/tabs/TabsContentWrapper.d.ts +1 -1
  144. package/components/tag/Tag.js +63 -0
  145. package/components/tag/Tag.tsx +95 -0
  146. package/components/tag/index.d.ts +8 -0
  147. package/components/tag/index.js +3 -0
  148. package/components/tag/style/_tag.scss +26 -0
  149. package/components/tag/style/dnb-tag.css +109 -0
  150. package/components/tag/style/dnb-tag.min.css +1 -0
  151. package/components/tag/style/dnb-tag.scss +12 -0
  152. package/components/tag/style/index.d.ts +6 -0
  153. package/components/tag/style/index.js +1 -0
  154. package/components/tag/style.js +1 -0
  155. package/components/textarea/Textarea.d.ts +4 -4
  156. package/components/toggle-button/ToggleButton.d.ts +6 -6
  157. package/components/toggle-button/ToggleButtonGroup.d.ts +3 -3
  158. package/components/tooltip/Tooltip.d.ts +5 -5
  159. package/components/tooltip/TooltipContainer.d.ts +3 -3
  160. package/components/tooltip/TooltipPortal.d.ts +1 -1
  161. package/components/tooltip/TooltipWithEvents.d.ts +1 -1
  162. package/es/components/Tag.d.ts +14 -0
  163. package/es/components/Tag.js +3 -0
  164. package/es/components/accordion/Accordion.d.ts +7 -7
  165. package/es/components/autocomplete/Autocomplete.d.ts +13 -13
  166. package/es/components/button/Button.d.ts +7 -7
  167. package/es/components/button/Button.js +6 -4
  168. package/es/components/checkbox/Checkbox.d.ts +3 -3
  169. package/es/components/date-picker/DatePicker.d.ts +14 -14
  170. package/es/components/date-picker/DatePickerAddon.d.ts +1 -1
  171. package/es/components/date-picker/DatePickerCalendar.d.ts +1 -1
  172. package/es/components/date-picker/DatePickerInput.d.ts +1 -1
  173. package/es/components/dropdown/Dropdown.d.ts +9 -9
  174. package/es/components/form-row/FormRow.d.ts +4 -4
  175. package/es/components/form-set/FormSet.d.ts +5 -5
  176. package/es/components/global-error/GlobalError.d.ts +1 -1
  177. package/es/components/global-status/GlobalStatus.d.ts +5 -5
  178. package/es/components/heading/Heading.d.ts +2 -2
  179. package/es/components/heading/HeadingProvider.d.ts +2 -2
  180. package/es/components/icon/Icon.d.ts +1 -1
  181. package/es/components/icon-primary/IconPrimary.d.ts +1 -1
  182. package/es/components/index.d.ts +2 -0
  183. package/es/components/index.js +2 -1
  184. package/es/components/input/Input.d.ts +9 -9
  185. package/es/components/input-masked/InputMasked.d.ts +11 -11
  186. package/es/components/input-masked/InputMasked.js +6 -4
  187. package/es/components/input-masked/InputMaskedHooks.js +14 -18
  188. package/es/components/input-masked/InputMaskedUtils.js +7 -18
  189. package/es/components/lib.js +3 -1
  190. package/es/components/modal/Modal.js +97 -227
  191. package/es/components/modal/Modal.tsx +524 -0
  192. package/es/components/modal/ModalContent.js +95 -186
  193. package/es/components/modal/ModalContent.tsx +515 -0
  194. package/es/components/modal/ModalContext.tsx +10 -0
  195. package/es/components/modal/ModalRoot.js +108 -0
  196. package/es/components/modal/ModalRoot.tsx +131 -0
  197. package/es/components/modal/components/CloseButton.js +41 -0
  198. package/es/components/modal/components/CloseButton.tsx +56 -0
  199. package/es/components/modal/components/ModalHeader.js +40 -0
  200. package/es/components/modal/components/ModalHeader.tsx +79 -0
  201. package/es/components/modal/components/ModalHeaderBar.js +88 -0
  202. package/es/components/modal/components/ModalHeaderBar.tsx +118 -0
  203. package/es/components/modal/{ModalInner.js → components/ModalInner.js} +8 -18
  204. package/es/components/modal/components/ModalInner.tsx +45 -0
  205. package/es/components/modal/helpers.js +60 -0
  206. package/es/components/modal/helpers.ts +63 -0
  207. package/es/components/modal/types.js +1 -0
  208. package/es/components/modal/{Modal.d.ts → types.ts} +124 -182
  209. package/es/components/number-format/NumberFormat.d.ts +8 -8
  210. package/es/components/pagination/Pagination.d.ts +30 -30
  211. package/es/components/pagination/PaginationProvider.d.ts +2 -2
  212. package/es/components/radio/Radio.d.ts +4 -4
  213. package/es/components/radio/RadioGroup.d.ts +3 -3
  214. package/es/components/section/Section.d.ts +3 -2
  215. package/es/components/skeleton/Skeleton.d.ts +2 -2
  216. package/es/components/slider/Slider.d.ts +4 -4
  217. package/es/components/step-indicator/StepIndicator.d.ts +5 -5
  218. package/es/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  219. package/es/components/step-indicator/StepIndicatorItem.d.ts +2 -2
  220. package/es/components/step-indicator/StepIndicatorItem.js +1 -0
  221. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +3 -3
  222. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  223. package/es/components/switch/Switch.d.ts +5 -5
  224. package/es/components/tabs/Tabs.d.ts +4 -4
  225. package/es/components/tabs/TabsContentWrapper.d.ts +1 -1
  226. package/es/components/tag/Tag.js +58 -0
  227. package/es/components/tag/Tag.tsx +95 -0
  228. package/es/components/tag/index.d.ts +8 -0
  229. package/es/components/tag/index.js +3 -0
  230. package/es/components/tag/style/_tag.scss +26 -0
  231. package/es/components/tag/style/dnb-tag.css +109 -0
  232. package/es/components/tag/style/dnb-tag.min.css +1 -0
  233. package/es/components/tag/style/dnb-tag.scss +12 -0
  234. package/es/components/tag/style/index.d.ts +6 -0
  235. package/es/components/tag/style/index.js +1 -0
  236. package/es/components/tag/style.js +1 -0
  237. package/es/components/textarea/Textarea.d.ts +4 -4
  238. package/es/components/toggle-button/ToggleButton.d.ts +6 -6
  239. package/es/components/toggle-button/ToggleButtonGroup.d.ts +3 -3
  240. package/es/components/tooltip/Tooltip.d.ts +5 -5
  241. package/es/components/tooltip/TooltipContainer.d.ts +3 -3
  242. package/es/components/tooltip/TooltipPortal.d.ts +1 -1
  243. package/es/components/tooltip/TooltipWithEvents.d.ts +1 -1
  244. package/es/fragments/scroll-view/ScrollView.js +7 -15
  245. package/es/fragments/scroll-view/ScrollView.tsx +92 -0
  246. package/es/index.d.ts +2 -0
  247. package/es/index.js +2 -1
  248. package/es/shared/Context.js +2 -1
  249. package/es/style/core/helper-classes/skip-link.scss +1 -1
  250. package/es/style/dnb-ui-components.css +40 -0
  251. package/es/style/dnb-ui-components.min.css +1 -1
  252. package/es/style/dnb-ui-components.scss +1 -0
  253. package/esm/components/Tag.d.ts +14 -0
  254. package/esm/components/Tag.js +3 -0
  255. package/esm/components/accordion/Accordion.d.ts +7 -7
  256. package/esm/components/autocomplete/Autocomplete.d.ts +13 -13
  257. package/esm/components/button/Button.d.ts +7 -7
  258. package/esm/components/button/Button.js +6 -4
  259. package/esm/components/checkbox/Checkbox.d.ts +3 -3
  260. package/esm/components/date-picker/DatePicker.d.ts +14 -14
  261. package/esm/components/date-picker/DatePickerAddon.d.ts +1 -1
  262. package/esm/components/date-picker/DatePickerCalendar.d.ts +1 -1
  263. package/esm/components/date-picker/DatePickerInput.d.ts +1 -1
  264. package/esm/components/dropdown/Dropdown.d.ts +9 -9
  265. package/esm/components/form-row/FormRow.d.ts +4 -4
  266. package/esm/components/form-set/FormSet.d.ts +5 -5
  267. package/esm/components/global-error/GlobalError.d.ts +1 -1
  268. package/esm/components/global-status/GlobalStatus.d.ts +5 -5
  269. package/esm/components/heading/Heading.d.ts +2 -2
  270. package/esm/components/heading/HeadingProvider.d.ts +2 -2
  271. package/esm/components/icon/Icon.d.ts +1 -1
  272. package/esm/components/index.d.ts +2 -0
  273. package/esm/components/index.js +2 -1
  274. package/esm/components/input/Input.d.ts +9 -9
  275. package/esm/components/input-masked/InputMasked.d.ts +11 -11
  276. package/esm/components/input-masked/InputMasked.js +6 -4
  277. package/esm/components/input-masked/InputMaskedHooks.js +24 -28
  278. package/esm/components/input-masked/InputMaskedUtils.js +9 -20
  279. package/esm/components/lib.js +3 -1
  280. package/esm/components/modal/Modal.js +112 -250
  281. package/esm/components/modal/Modal.tsx +524 -0
  282. package/esm/components/modal/ModalContent.js +137 -224
  283. package/esm/components/modal/ModalContent.tsx +515 -0
  284. package/esm/components/modal/ModalContext.tsx +10 -0
  285. package/esm/components/modal/ModalRoot.js +145 -0
  286. package/esm/components/modal/ModalRoot.tsx +131 -0
  287. package/esm/components/modal/components/CloseButton.js +72 -0
  288. package/esm/components/modal/components/CloseButton.tsx +56 -0
  289. package/esm/components/modal/components/ModalHeader.js +70 -0
  290. package/esm/components/modal/components/ModalHeader.tsx +79 -0
  291. package/esm/components/modal/components/ModalHeaderBar.js +122 -0
  292. package/esm/components/modal/components/ModalHeaderBar.tsx +118 -0
  293. package/esm/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
  294. package/esm/components/modal/components/ModalInner.tsx +45 -0
  295. package/esm/components/modal/helpers.js +64 -0
  296. package/esm/components/modal/helpers.ts +63 -0
  297. package/esm/components/modal/types.js +1 -0
  298. package/esm/components/modal/{Modal.d.ts → types.ts} +124 -182
  299. package/esm/components/number-format/NumberFormat.d.ts +8 -8
  300. package/esm/components/pagination/Pagination.d.ts +30 -30
  301. package/esm/components/pagination/PaginationProvider.d.ts +2 -2
  302. package/esm/components/radio/Radio.d.ts +4 -4
  303. package/esm/components/radio/RadioGroup.d.ts +3 -3
  304. package/esm/components/section/Section.d.ts +3 -1
  305. package/esm/components/skeleton/Skeleton.d.ts +2 -2
  306. package/esm/components/slider/Slider.d.ts +4 -4
  307. package/esm/components/step-indicator/StepIndicator.d.ts +5 -5
  308. package/esm/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  309. package/esm/components/step-indicator/StepIndicatorItem.d.ts +2 -2
  310. package/esm/components/step-indicator/StepIndicatorItem.js +1 -0
  311. package/esm/components/step-indicator/StepIndicatorSidebar.d.ts +3 -3
  312. package/esm/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  313. package/esm/components/switch/Switch.d.ts +5 -5
  314. package/esm/components/tabs/Tabs.d.ts +4 -4
  315. package/esm/components/tabs/TabsContentWrapper.d.ts +1 -1
  316. package/esm/components/tag/Tag.js +63 -0
  317. package/esm/components/tag/Tag.tsx +95 -0
  318. package/esm/components/tag/index.d.ts +8 -0
  319. package/esm/components/tag/index.js +3 -0
  320. package/esm/components/tag/style/_tag.scss +26 -0
  321. package/esm/components/tag/style/dnb-tag.css +109 -0
  322. package/esm/components/tag/style/dnb-tag.min.css +1 -0
  323. package/esm/components/tag/style/dnb-tag.scss +12 -0
  324. package/esm/components/tag/style/index.d.ts +6 -0
  325. package/esm/components/tag/style/index.js +1 -0
  326. package/esm/components/tag/style.js +1 -0
  327. package/esm/components/textarea/Textarea.d.ts +4 -4
  328. package/esm/components/toggle-button/ToggleButton.d.ts +6 -6
  329. package/esm/components/toggle-button/ToggleButtonGroup.d.ts +3 -3
  330. package/esm/components/tooltip/Tooltip.d.ts +5 -5
  331. package/esm/components/tooltip/TooltipContainer.d.ts +3 -3
  332. package/esm/components/tooltip/TooltipPortal.d.ts +1 -1
  333. package/esm/components/tooltip/TooltipWithEvents.d.ts +1 -1
  334. package/esm/dnb-ui-components.min.mjs +1 -1
  335. package/esm/dnb-ui-elements.min.mjs +1 -1
  336. package/esm/dnb-ui-extensions.min.mjs +1 -1
  337. package/esm/dnb-ui-lib.min.mjs +2 -2
  338. package/esm/dnb-ui-web-components.min.mjs +2 -2
  339. package/esm/fragments/scroll-view/ScrollView.js +10 -16
  340. package/esm/fragments/scroll-view/ScrollView.tsx +92 -0
  341. package/esm/index.d.ts +2 -0
  342. package/esm/index.js +2 -1
  343. package/esm/shared/Context.js +2 -1
  344. package/esm/style/core/helper-classes/skip-link.scss +1 -1
  345. package/esm/style/dnb-ui-components.css +40 -0
  346. package/esm/style/dnb-ui-components.min.css +1 -1
  347. package/esm/style/dnb-ui-components.scss +1 -0
  348. package/fragments/scroll-view/ScrollView.js +10 -16
  349. package/fragments/scroll-view/ScrollView.tsx +92 -0
  350. package/index.d.ts +2 -0
  351. package/index.js +2 -1
  352. package/package.json +1 -1
  353. package/shared/Context.js +2 -1
  354. package/style/core/helper-classes/skip-link.scss +1 -1
  355. package/style/dnb-ui-components.css +40 -0
  356. package/style/dnb-ui-components.min.css +1 -1
  357. package/style/dnb-ui-components.scss +1 -0
  358. package/umd/dnb-ui-components.min.js +5 -5
  359. package/umd/dnb-ui-elements.min.js +1 -1
  360. package/umd/dnb-ui-extensions.min.js +1 -1
  361. package/umd/dnb-ui-lib.min.js +4 -4
  362. package/umd/dnb-ui-web-components.min.js +2 -2
  363. package/cjs/components/modal/ModalContent.d.ts +0 -168
  364. package/cjs/components/modal/ModalHeader.d.ts +0 -73
  365. package/cjs/components/modal/ModalInner.d.ts +0 -20
  366. package/cjs/fragments/scroll-view/ScrollView.d.ts +0 -1
  367. package/components/modal/Modal.d.ts +0 -329
  368. package/components/modal/ModalContent.d.ts +0 -168
  369. package/components/modal/ModalHeader.d.ts +0 -73
  370. package/components/modal/ModalHeader.js +0 -224
  371. package/components/modal/ModalInner.d.ts +0 -20
  372. package/es/components/modal/ModalContent.d.ts +0 -168
  373. package/es/components/modal/ModalHeader.d.ts +0 -73
  374. package/es/components/modal/ModalHeader.js +0 -166
  375. package/es/components/modal/ModalInner.d.ts +0 -20
  376. package/es/fragments/scroll-view/ScrollView.d.ts +0 -1
  377. package/esm/components/modal/ModalContent.d.ts +0 -168
  378. package/esm/components/modal/ModalHeader.d.ts +0 -73
  379. package/esm/components/modal/ModalHeader.js +0 -224
  380. package/esm/components/modal/ModalInner.d.ts +0 -20
  381. package/esm/fragments/scroll-view/ScrollView.d.ts +0 -1
  382. package/fragments/scroll-view/ScrollView.d.ts +0 -1
@@ -13,8 +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", "id", "open_state", "open_delay", "disabled", "spacing", "labelled_by", "focus_selector", "header_content", "bar_content", "trigger", "trigger_attributes", "trigger_hidden", "trigger_disabled", "trigger_variant", "trigger_text", "trigger_title", "trigger_size", "trigger_icon", "trigger_icon_position", "trigger_class"],
17
- _excluded2 = ["children", "direct_dom_return"];
16
+ var _excluded = ["root_id", "content_id", "disabled", "spacing", "labelled_by", "focus_selector", "header_content", "bar_content", "id", "open_state", "open_delay", "trigger", "trigger_attributes", "trigger_hidden", "trigger_disabled", "trigger_variant", "trigger_text", "trigger_title", "trigger_size", "trigger_icon", "trigger_icon_position", "trigger_class"];
18
17
 
19
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; }
20
19
 
@@ -24,30 +23,25 @@ import "core-js/modules/es.parse-float.js";
24
23
  import "core-js/modules/es.object.to-string.js";
25
24
  import "core-js/modules/web.dom-collections.for-each.js";
26
25
  import "core-js/modules/es.object.freeze.js";
27
- import "core-js/modules/es.array.includes.js";
28
- import "core-js/modules/es.string.includes.js";
29
- import "core-js/modules/es.regexp.exec.js";
30
- import "core-js/modules/es.string.replace.js";
31
- import "core-js/modules/es.array.concat.js";
32
26
 
33
27
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
34
28
 
35
29
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
36
30
 
37
31
  import React from 'react';
38
- import ReactDOM from 'react-dom';
39
- import PropTypes from 'prop-types';
40
32
  import classnames from 'classnames';
41
33
  import { SuffixContext } from '../../shared/helpers/Suffix';
42
34
  import Context from '../../shared/Context';
43
35
  import { warn, isTrue, makeUniqueId, extendPropsWithContext, registerElement, processChildren, dispatchCustomElementEvent } from '../../shared/component-helper';
44
- import { spacingPropTypes, createSpacingClasses } from '../space/SpacingHelper';
45
- import { buttonVariantPropType } from '../button/Button';
36
+ import { createSpacingClasses } from '../space/SpacingHelper';
46
37
  import HelpButtonInstance from '../help-button/HelpButtonInstance';
47
- import ModalContent, { getListOfModalRoots } from './ModalContent';
48
- import ModalContext from './ModalContext';
49
- import ModalInner from './ModalInner';
50
- import ModalHeader, { ModalHeaderBar, CloseButton } from './ModalHeader';
38
+ import { getListOfModalRoots, getModalRoot } from './helpers';
39
+ import ModalInner from './components/ModalInner';
40
+ import ModalHeader from './components/ModalHeader';
41
+ import ModalHeaderBar from './components/ModalHeaderBar';
42
+ import CloseButton from './components/CloseButton';
43
+ import ModalRoot from './ModalRoot';
44
+ export var ANIMATION_DURATION = 300;
51
45
 
52
46
  var Modal = function (_React$PureComponent) {
53
47
  _inherits(Modal, _React$PureComponent);
@@ -61,6 +55,24 @@ var Modal = function (_React$PureComponent) {
61
55
 
62
56
  _this = _super.call(this, props);
63
57
 
58
+ _defineProperty(_assertThisInitialized(_this), "_id", void 0);
59
+
60
+ _defineProperty(_assertThisInitialized(_this), "_triggerRef", void 0);
61
+
62
+ _defineProperty(_assertThisInitialized(_this), "_onUnmount", void 0);
63
+
64
+ _defineProperty(_assertThisInitialized(_this), "_openTimeout", void 0);
65
+
66
+ _defineProperty(_assertThisInitialized(_this), "_closeTimeout", void 0);
67
+
68
+ _defineProperty(_assertThisInitialized(_this), "_sideEffectsTimeout", void 0);
69
+
70
+ _defineProperty(_assertThisInitialized(_this), "_tryToOpenTimeout", void 0);
71
+
72
+ _defineProperty(_assertThisInitialized(_this), "activeElement", void 0);
73
+
74
+ _defineProperty(_assertThisInitialized(_this), "isInTransition", void 0);
75
+
64
76
  _defineProperty(_assertThisInitialized(_this), "state", {
65
77
  hide: false,
66
78
  modalActive: false
@@ -75,6 +87,12 @@ var Modal = function (_React$PureComponent) {
75
87
  }
76
88
 
77
89
  var toggleNow = function toggleNow() {
90
+ var _this$props = _this.props,
91
+ _this$props$animation = _this$props.animation_duration,
92
+ animation_duration = _this$props$animation === void 0 ? ANIMATION_DURATION : _this$props$animation,
93
+ _this$props$no_animat = _this$props.no_animation,
94
+ no_animation = _this$props$no_animat === void 0 ? false : _this$props$no_animat;
95
+ var timeoutDuration = typeof animation_duration === 'string' ? parseFloat(animation_duration) : animation_duration;
78
96
  var modalActive = typeof showModal === 'boolean' ? showModal : !_this.state.modalActive;
79
97
  _this.isInTransition = true;
80
98
 
@@ -89,21 +107,24 @@ var Modal = function (_React$PureComponent) {
89
107
  });
90
108
  };
91
109
 
92
- if (modalActive === false && !isTrue(_this.props.no_animation)) {
110
+ if (modalActive === false && !isTrue(no_animation)) {
93
111
  _this.setState({
94
112
  hide: true
95
113
  });
96
114
 
97
- _this._closeTimeout = setTimeout(doItNow, parseFloat(_this.props.animation_duration));
115
+ _this._closeTimeout = setTimeout(doItNow, timeoutDuration);
98
116
  } else {
99
117
  doItNow();
100
118
  }
101
119
  };
102
120
 
103
121
  var waitBeforeOpen = function waitBeforeOpen() {
104
- var delay = parseFloat(_this.props.open_delay);
122
+ var _this$props2 = _this.props,
123
+ open_delay = _this$props2.open_delay,
124
+ no_animation = _this$props2.no_animation;
125
+ var delay = typeof open_delay === 'string' ? parseFloat(open_delay) : open_delay;
105
126
 
106
- if (delay > 0 && !isTrue(_this.props.no_animation)) {
127
+ if (delay > 0 && !isTrue(no_animation)) {
107
128
  _this._openTimeout = setTimeout(toggleNow, delay);
108
129
  } else {
109
130
  toggleNow();
@@ -127,10 +148,11 @@ var Modal = function (_React$PureComponent) {
127
148
 
128
149
  _defineProperty(_assertThisInitialized(_this), "handleSideEffects", function () {
129
150
  var modalActive = _this.state.modalActive;
151
+ var close_modal = _this.props.close_modal;
130
152
 
131
153
  if (modalActive) {
132
- if (typeof _this.props.close_modal === 'function') {
133
- var fn = _this.props.close_modal(function () {
154
+ if (typeof close_modal === 'function') {
155
+ var fn = close_modal(function () {
134
156
  _this.toggleOpenClose(null, false);
135
157
  }, _assertThisInitialized(_this));
136
158
 
@@ -147,7 +169,7 @@ var Modal = function (_React$PureComponent) {
147
169
  });
148
170
  }
149
171
 
150
- if ((_this.props.open_state === 'opened' || _this.props.open_state === true) && _this.activeElement) {
172
+ if ((_this.props.open_state === 'opened' || _this.props.open_state === true) && _this.activeElement && _this.activeElement instanceof HTMLElement) {
151
173
  try {
152
174
  _this.activeElement.focus({
153
175
  preventScroll: true
@@ -170,9 +192,11 @@ var Modal = function (_React$PureComponent) {
170
192
  ifIsLatest: true
171
193
  },
172
194
  ifIsLatest = _ref.ifIsLatest,
173
- triggeredBy = _ref.triggeredBy;
195
+ _ref$triggeredBy = _ref.triggeredBy,
196
+ triggeredBy = _ref$triggeredBy === void 0 ? null : _ref$triggeredBy;
174
197
 
175
- var prevent_close = _this.props.prevent_close;
198
+ var _this$props$prevent_c = _this.props.prevent_close,
199
+ prevent_close = _this$props$prevent_c === void 0 ? false : _this$props$prevent_c;
176
200
 
177
201
  if (isTrue(prevent_close)) {
178
202
  var id = _this._id;
@@ -189,7 +213,7 @@ var Modal = function (_React$PureComponent) {
189
213
  var list = getListOfModalRoots();
190
214
 
191
215
  if (list.length > 1) {
192
- var last = getListOfModalRoots(-1);
216
+ var last = getModalRoot(-1);
193
217
 
194
218
  if (last !== _assertThisInitialized(_this)) {
195
219
  return;
@@ -217,7 +241,7 @@ var Modal = function (_React$PureComponent) {
217
241
  value: function componentWillUnmount() {
218
242
  clearTimeout(this._openTimeout);
219
243
  clearTimeout(this._closeTimeout);
220
- this.removeActiveState(false);
244
+ this.removeActiveState();
221
245
 
222
246
  this._onUnmount.forEach(function (fn) {
223
247
  if (typeof fn === 'function') {
@@ -251,7 +275,7 @@ var Modal = function (_React$PureComponent) {
251
275
  }, {
252
276
  key: "removeActiveState",
253
277
  value: function removeActiveState() {
254
- var last = getListOfModalRoots(-1);
278
+ var last = getModalRoot(-1);
255
279
 
256
280
  if (last !== null && last !== void 0 && last._id && last._id !== this._id) {
257
281
  return this.setActiveState(last._id);
@@ -287,28 +311,46 @@ var Modal = function (_React$PureComponent) {
287
311
 
288
312
  var props = extendPropsWithContext(this.props, Modal.defaultProps, this.context.getTranslation(this.props).Modal, this.context.FormRow, this.context.Modal);
289
313
 
290
- var root_id = props.root_id,
291
- content_id = props.content_id,
314
+ var _props$root_id = props.root_id,
315
+ root_id = _props$root_id === void 0 ? 'root' : _props$root_id,
316
+ _props$content_id = props.content_id,
317
+ content_id = _props$content_id === void 0 ? null : _props$content_id,
318
+ _props$disabled = props.disabled,
319
+ disabled = _props$disabled === void 0 ? null : _props$disabled,
320
+ _props$spacing = props.spacing,
321
+ spacing = _props$spacing === void 0 ? true : _props$spacing,
322
+ _props$labelled_by = props.labelled_by,
323
+ labelled_by = _props$labelled_by === void 0 ? null : _props$labelled_by,
324
+ _props$focus_selector = props.focus_selector,
325
+ focus_selector = _props$focus_selector === void 0 ? null : _props$focus_selector,
326
+ _props$header_content = props.header_content,
327
+ header_content = _props$header_content === void 0 ? null : _props$header_content,
328
+ _props$bar_content = props.bar_content,
329
+ bar_content = _props$bar_content === void 0 ? null : _props$bar_content,
292
330
  id = props.id,
293
331
  open_state = props.open_state,
294
332
  open_delay = props.open_delay,
295
- disabled = props.disabled,
296
- spacing = props.spacing,
297
- labelled_by = props.labelled_by,
298
- focus_selector = props.focus_selector,
299
- header_content = props.header_content,
300
- bar_content = props.bar_content,
301
- trigger = props.trigger,
302
- trigger_attributes = props.trigger_attributes,
303
- trigger_hidden = props.trigger_hidden,
304
- trigger_disabled = props.trigger_disabled,
305
- trigger_variant = props.trigger_variant,
306
- trigger_text = props.trigger_text,
307
- trigger_title = props.trigger_title,
308
- trigger_size = props.trigger_size,
333
+ _props$trigger = props.trigger,
334
+ trigger = _props$trigger === void 0 ? null : _props$trigger,
335
+ _props$trigger_attrib = props.trigger_attributes,
336
+ trigger_attributes = _props$trigger_attrib === void 0 ? null : _props$trigger_attrib,
337
+ _props$trigger_hidden = props.trigger_hidden,
338
+ trigger_hidden = _props$trigger_hidden === void 0 ? 'false' : _props$trigger_hidden,
339
+ _props$trigger_disabl = props.trigger_disabled,
340
+ trigger_disabled = _props$trigger_disabl === void 0 ? null : _props$trigger_disabl,
341
+ _props$trigger_varian = props.trigger_variant,
342
+ trigger_variant = _props$trigger_varian === void 0 ? 'secondary' : _props$trigger_varian,
343
+ _props$trigger_text = props.trigger_text,
344
+ trigger_text = _props$trigger_text === void 0 ? null : _props$trigger_text,
345
+ _props$trigger_title = props.trigger_title,
346
+ trigger_title = _props$trigger_title === void 0 ? null : _props$trigger_title,
347
+ _props$trigger_size = props.trigger_size,
348
+ trigger_size = _props$trigger_size === void 0 ? null : _props$trigger_size,
309
349
  trigger_icon = props.trigger_icon,
310
- trigger_icon_position = props.trigger_icon_position,
311
- trigger_class = props.trigger_class,
350
+ _props$trigger_icon_p = props.trigger_icon_position,
351
+ trigger_icon_position = _props$trigger_icon_p === void 0 ? 'left' : _props$trigger_icon_p,
352
+ _props$trigger_class = props.trigger_class,
353
+ trigger_class = _props$trigger_class === void 0 ? null : _props$trigger_class,
312
354
  rest = _objectWithoutProperties(props, _excluded);
313
355
 
314
356
  var _this$state = this.state,
@@ -319,44 +361,39 @@ var Modal = function (_React$PureComponent) {
319
361
  })) : this.props);
320
362
 
321
363
  var render = function render(suffixProps) {
322
- var modalProps = {};
323
-
324
- var triggerAttributes = _objectSpread({}, trigger_attributes);
364
+ var triggerAttributes = _objectSpread({
365
+ hidden: trigger_hidden,
366
+ disabled: trigger_disabled,
367
+ variant: trigger_variant,
368
+ text: trigger_text,
369
+ title: trigger_title,
370
+ size: trigger_size,
371
+ icon: trigger_icon,
372
+ icon_position: trigger_icon_position,
373
+ class: trigger_class
374
+ }, trigger_attributes);
325
375
 
326
- for (var prop in props) {
327
- if (prop.includes('trigger_') && props[prop] !== null) {
328
- var name = String(prop).replace('trigger_', '');
329
-
330
- if (name !== 'attributes' && name !== 'props' && prop !== 'element') {
331
- triggerAttributes[name] = props[prop];
332
- }
333
- }
376
+ if (isTrue(disabled)) {
377
+ triggerAttributes.disabled = true;
334
378
  }
335
379
 
336
380
  if (triggerAttributes.id) {
337
381
  _this2._id = triggerAttributes.id;
338
382
  }
339
383
 
340
- if (!rest.title && triggerAttributes.title) {
341
- modalProps.title = triggerAttributes.title;
342
- } else if (!rest.title && suffixProps) {
343
- modalProps.title = _this2.context.translation.HelpButton.title;
344
- }
384
+ var fallbackTitle;
345
385
 
346
- if (isTrue(disabled)) {
347
- triggerAttributes.disabled = true;
386
+ if (triggerAttributes.title) {
387
+ fallbackTitle = triggerAttributes.title;
388
+ } else if (suffixProps) {
389
+ fallbackTitle = _this2.context.translation.HelpButton.title;
348
390
  }
349
391
 
350
392
  var TriggerButton = trigger ? trigger : HelpButtonInstance;
351
- return React.createElement(ModalContext.Provider, {
352
- value: _objectSpread({
353
- id: _this2._id
354
- }, rest)
355
- }, TriggerButton && !isTrue(trigger_hidden) && React.createElement(TriggerButton, _extends({
393
+ return React.createElement(React.Fragment, null, TriggerButton && !isTrue(trigger_hidden) && React.createElement(TriggerButton, _extends({}, triggerAttributes, {
356
394
  id: _this2._id,
357
- title: !triggerAttributes.text ? props.title || modalProps.title : null,
358
- onClick: _this2.toggleOpenClose
359
- }, triggerAttributes, {
395
+ title: !triggerAttributes.text ? rest.title || fallbackTitle : null,
396
+ onClick: _this2.toggleOpenClose,
360
397
  innerRef: _this2._triggerRef,
361
398
  className: classnames('dnb-modal__trigger', createSpacingClasses(props), triggerAttributes.class, triggerAttributes.className)
362
399
  })), modalActive && modal_content && React.createElement(ModalRoot, _extends({}, rest, {
@@ -371,8 +408,8 @@ var Modal = function (_React$PureComponent) {
371
408
  spacing: spacing,
372
409
  closeModal: _this2.close,
373
410
  hide: hide,
374
- toggleOpenClose: _this2.toggleOpenClose
375
- }, modalProps)));
411
+ title: rest.title || fallbackTitle
412
+ })));
376
413
  };
377
414
 
378
415
  return React.createElement(SuffixContext.Consumer, null, render);
@@ -393,30 +430,6 @@ var Modal = function (_React$PureComponent) {
393
430
 
394
431
  return processChildren(props);
395
432
  }
396
- }, {
397
- key: "insertModalRoot",
398
- value: function insertModalRoot(id) {
399
- if (typeof window === 'undefined') {
400
- return false;
401
- }
402
-
403
- try {
404
- id = "dnb-modal-".concat(id || 'root');
405
- window.__modalRoot = document.getElementById(id);
406
-
407
- if (!window.__modalRoot) {
408
- window.__modalRoot = document.createElement('div');
409
-
410
- window.__modalRoot.setAttribute('id', id);
411
-
412
- document.body.insertBefore(window.__modalRoot, document.body.firstChild);
413
- }
414
- } catch (e) {
415
- warn('Modal: Could not insert dnb-modal-root', e);
416
- }
417
-
418
- return window.__modalRoot;
419
- }
420
433
  }, {
421
434
  key: "getDerivedStateFromProps",
422
435
  value: function getDerivedStateFromProps(props, state) {
@@ -466,8 +479,6 @@ _defineProperty(Modal, "Inner", ModalInner);
466
479
 
467
480
  _defineProperty(Modal, "defaultProps", {
468
481
  id: null,
469
- root_id: 'root',
470
- mode: 'modal',
471
482
  focus_selector: null,
472
483
  labelled_by: null,
473
484
  title: null,
@@ -481,7 +492,7 @@ _defineProperty(Modal, "defaultProps", {
481
492
  close_button_attributes: null,
482
493
  prevent_close: false,
483
494
  prevent_core_style: false,
484
- animation_duration: 300,
495
+ animation_duration: ANIMATION_DURATION,
485
496
  no_animation: false,
486
497
  no_animation_on_mobile: false,
487
498
  fullscreen: 'auto',
@@ -492,6 +503,7 @@ _defineProperty(Modal, "defaultProps", {
492
503
  open_state: null,
493
504
  direct_dom_return: false,
494
505
  class: null,
506
+ root_id: 'root',
495
507
  className: null,
496
508
  children: null,
497
509
  on_open: null,
@@ -518,154 +530,4 @@ _defineProperty(Modal, "defaultProps", {
518
530
  });
519
531
 
520
532
  export { Modal as default };
521
- process.env.NODE_ENV !== "production" ? Modal.propTypes = _objectSpread(_objectSpread({
522
- id: PropTypes.string,
523
- root_id: PropTypes.string,
524
- mode: PropTypes.oneOf(['modal', 'drawer']),
525
- focus_selector: PropTypes.string,
526
- labelled_by: PropTypes.string,
527
- title: PropTypes.node,
528
- disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
529
- spacing: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
530
- open_delay: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
531
- content_id: PropTypes.string,
532
- dialog_title: PropTypes.string,
533
- close_title: PropTypes.string,
534
- hide_close_button: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
535
- close_button_attributes: PropTypes.object,
536
- prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
537
- prevent_core_style: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
538
- animation_duration: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
539
- no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
540
- no_animation_on_mobile: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
541
- fullscreen: PropTypes.oneOf(['auto', true, false, 'true', 'false']),
542
- min_width: PropTypes.string,
543
- max_width: PropTypes.string,
544
- align_content: PropTypes.oneOf(['left', 'center', 'centered', 'right']),
545
- container_placement: PropTypes.oneOf(['left', 'right', 'top', 'bottom']),
546
- open_state: PropTypes.oneOfType([PropTypes.oneOf(['opened', 'closed']), PropTypes.bool]),
547
- direct_dom_return: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
548
- }, spacingPropTypes), {}, {
549
- class: PropTypes.string,
550
- className: PropTypes.string,
551
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
552
- on_open: PropTypes.func,
553
- on_close: PropTypes.func,
554
- on_close_prevent: PropTypes.func,
555
- open_modal: PropTypes.func,
556
- close_modal: PropTypes.func,
557
- trigger: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
558
- trigger_attributes: PropTypes.object,
559
- trigger_hidden: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
560
- trigger_disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
561
- trigger_variant: buttonVariantPropType.variant,
562
- trigger_text: PropTypes.string,
563
- trigger_title: PropTypes.string,
564
- trigger_size: PropTypes.string,
565
- trigger_icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func]),
566
- trigger_icon_position: PropTypes.oneOf(['left', 'right']),
567
- trigger_class: PropTypes.string,
568
- overlay_class: PropTypes.string,
569
- content_class: PropTypes.string,
570
- modal_content: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func]),
571
- header_content: PropTypes.node,
572
- bar_content: PropTypes.node
573
- }) : void 0;
574
-
575
- var ModalRoot = function (_React$PureComponent2) {
576
- _inherits(ModalRoot, _React$PureComponent2);
577
-
578
- var _super2 = _createSuper(ModalRoot);
579
-
580
- function ModalRoot() {
581
- var _this3;
582
-
583
- _classCallCheck(this, ModalRoot);
584
-
585
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
586
- args[_key] = arguments[_key];
587
- }
588
-
589
- _this3 = _super2.call.apply(_super2, [this].concat(args));
590
-
591
- _defineProperty(_assertThisInitialized(_this3), "state", {
592
- isMounted: false
593
- });
594
-
595
- return _this3;
596
- }
597
-
598
- _createClass(ModalRoot, [{
599
- key: "componentDidMount",
600
- value: function componentDidMount() {
601
- if (!isTrue(this.props.direct_dom_return)) {
602
- Modal.insertModalRoot(this.props.root_id);
603
-
604
- try {
605
- if (!this.portalElem) {
606
- this.portalElem = document.createElement('div');
607
- this.portalElem.className = 'dnb-modal-root__inner';
608
- }
609
-
610
- if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot) {
611
- window.__modalRoot.appendChild(this.portalElem);
612
- }
613
- } catch (e) {
614
- warn(e);
615
- }
616
-
617
- this.setState({
618
- isMounted: true
619
- });
620
- }
621
- }
622
- }, {
623
- key: "componentWillUnmount",
624
- value: function componentWillUnmount() {
625
- try {
626
- if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot && window.__modalRoot.removeChild) {
627
- window.__modalRoot.removeChild(this.portalElem);
628
-
629
- this.portalElem = null;
630
- }
631
- } catch (e) {
632
- warn(e);
633
- }
634
- }
635
- }, {
636
- key: "render",
637
- value: function render() {
638
- var _this$props = this.props,
639
- children = _this$props.children,
640
- direct_dom_return = _this$props.direct_dom_return,
641
- props = _objectWithoutProperties(_this$props, _excluded2);
642
-
643
- if (isTrue(direct_dom_return)) {
644
- return React.createElement(ModalContent, props, children);
645
- }
646
-
647
- if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot && this.state.isMounted) {
648
- return ReactDOM.createPortal(React.createElement(ModalContent, props, children), this.portalElem);
649
- }
650
-
651
- return null;
652
- }
653
- }]);
654
-
655
- return ModalRoot;
656
- }(React.PureComponent);
657
-
658
- _defineProperty(ModalRoot, "defaultProps", {
659
- id: null,
660
- root_id: null,
661
- direct_dom_return: false,
662
- children: null
663
- });
664
-
665
- process.env.NODE_ENV !== "production" ? ModalRoot.propTypes = {
666
- id: PropTypes.string,
667
- root_id: PropTypes.string,
668
- direct_dom_return: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
669
- children: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func])
670
- } : void 0;
671
533
  export { CloseButton };