@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
@@ -1,27 +1,26 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
- const _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"],
5
- _excluded2 = ["children", "direct_dom_return"];
4
+ const _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"];
6
5
 
7
6
  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; }
8
7
 
9
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
9
 
11
10
  import React from 'react';
12
- import ReactDOM from 'react-dom';
13
- import PropTypes from 'prop-types';
14
11
  import classnames from 'classnames';
15
12
  import { SuffixContext } from '../../shared/helpers/Suffix';
16
13
  import Context from '../../shared/Context';
17
14
  import { warn, isTrue, makeUniqueId, extendPropsWithContext, registerElement, processChildren, dispatchCustomElementEvent } from '../../shared/component-helper';
18
- import { spacingPropTypes, createSpacingClasses } from '../space/SpacingHelper';
19
- import { buttonVariantPropType } from '../button/Button';
15
+ import { createSpacingClasses } from '../space/SpacingHelper';
20
16
  import HelpButtonInstance from '../help-button/HelpButtonInstance';
21
- import ModalContent, { getListOfModalRoots } from './ModalContent';
22
- import ModalContext from './ModalContext';
23
- import ModalInner from './ModalInner';
24
- import ModalHeader, { ModalHeaderBar, CloseButton } from './ModalHeader';
17
+ import { getListOfModalRoots, getModalRoot } from './helpers';
18
+ import ModalInner from './components/ModalInner';
19
+ import ModalHeader from './components/ModalHeader';
20
+ import ModalHeaderBar from './components/ModalHeaderBar';
21
+ import CloseButton from './components/CloseButton';
22
+ import ModalRoot from './ModalRoot';
23
+ export const ANIMATION_DURATION = 300;
25
24
  export default class Modal extends React.PureComponent {
26
25
  static enableWebComponent() {
27
26
  registerElement(Modal === null || Modal === void 0 ? void 0 : Modal.tagName, Modal, Modal.defaultProps);
@@ -37,29 +36,6 @@ export default class Modal extends React.PureComponent {
37
36
  return processChildren(props);
38
37
  }
39
38
 
40
- static insertModalRoot(id) {
41
- if (typeof window === 'undefined') {
42
- return false;
43
- }
44
-
45
- try {
46
- id = `dnb-modal-${id || 'root'}`;
47
- window.__modalRoot = document.getElementById(id);
48
-
49
- if (!window.__modalRoot) {
50
- window.__modalRoot = document.createElement('div');
51
-
52
- window.__modalRoot.setAttribute('id', id);
53
-
54
- document.body.insertBefore(window.__modalRoot, document.body.firstChild);
55
- }
56
- } catch (e) {
57
- warn('Modal: Could not insert dnb-modal-root', e);
58
- }
59
-
60
- return window.__modalRoot;
61
- }
62
-
63
39
  static getDerivedStateFromProps(props, state) {
64
40
  if (props.open_state !== state._open_state) {
65
41
  switch (props.open_state) {
@@ -92,6 +68,24 @@ export default class Modal extends React.PureComponent {
92
68
  constructor(props) {
93
69
  super(props);
94
70
 
71
+ _defineProperty(this, "_id", void 0);
72
+
73
+ _defineProperty(this, "_triggerRef", void 0);
74
+
75
+ _defineProperty(this, "_onUnmount", void 0);
76
+
77
+ _defineProperty(this, "_openTimeout", void 0);
78
+
79
+ _defineProperty(this, "_closeTimeout", void 0);
80
+
81
+ _defineProperty(this, "_sideEffectsTimeout", void 0);
82
+
83
+ _defineProperty(this, "_tryToOpenTimeout", void 0);
84
+
85
+ _defineProperty(this, "activeElement", void 0);
86
+
87
+ _defineProperty(this, "isInTransition", void 0);
88
+
95
89
  _defineProperty(this, "state", {
96
90
  hide: false,
97
91
  modalActive: false
@@ -103,6 +97,11 @@ export default class Modal extends React.PureComponent {
103
97
  }
104
98
 
105
99
  const toggleNow = () => {
100
+ const {
101
+ animation_duration = ANIMATION_DURATION,
102
+ no_animation = false
103
+ } = this.props;
104
+ const timeoutDuration = typeof animation_duration === 'string' ? parseFloat(animation_duration) : animation_duration;
106
105
  const modalActive = typeof showModal === 'boolean' ? showModal : !this.state.modalActive;
107
106
  this.isInTransition = true;
108
107
 
@@ -116,20 +115,24 @@ export default class Modal extends React.PureComponent {
116
115
  });
117
116
  };
118
117
 
119
- if (modalActive === false && !isTrue(this.props.no_animation)) {
118
+ if (modalActive === false && !isTrue(no_animation)) {
120
119
  this.setState({
121
120
  hide: true
122
121
  });
123
- this._closeTimeout = setTimeout(doItNow, parseFloat(this.props.animation_duration));
122
+ this._closeTimeout = setTimeout(doItNow, timeoutDuration);
124
123
  } else {
125
124
  doItNow();
126
125
  }
127
126
  };
128
127
 
129
128
  const waitBeforeOpen = () => {
130
- const delay = parseFloat(this.props.open_delay);
129
+ const {
130
+ open_delay,
131
+ no_animation
132
+ } = this.props;
133
+ const delay = typeof open_delay === 'string' ? parseFloat(open_delay) : open_delay;
131
134
 
132
- if (delay > 0 && !isTrue(this.props.no_animation)) {
135
+ if (delay > 0 && !isTrue(no_animation)) {
133
136
  this._openTimeout = setTimeout(toggleNow, delay);
134
137
  } else {
135
138
  toggleNow();
@@ -154,11 +157,16 @@ export default class Modal extends React.PureComponent {
154
157
  });
155
158
 
156
159
  _defineProperty(this, "handleSideEffects", () => {
157
- const modalActive = this.state.modalActive;
160
+ const {
161
+ modalActive
162
+ } = this.state;
163
+ const {
164
+ close_modal
165
+ } = this.props;
158
166
 
159
167
  if (modalActive) {
160
- if (typeof this.props.close_modal === 'function') {
161
- const fn = this.props.close_modal(() => {
168
+ if (typeof close_modal === 'function') {
169
+ const fn = close_modal(() => {
162
170
  this.toggleOpenClose(null, false);
163
171
  }, this);
164
172
 
@@ -175,7 +183,7 @@ export default class Modal extends React.PureComponent {
175
183
  });
176
184
  }
177
185
 
178
- if ((this.props.open_state === 'opened' || this.props.open_state === true) && this.activeElement) {
186
+ if ((this.props.open_state === 'opened' || this.props.open_state === true) && this.activeElement && this.activeElement instanceof HTMLElement) {
179
187
  try {
180
188
  this.activeElement.focus({
181
189
  preventScroll: true
@@ -194,12 +202,12 @@ export default class Modal extends React.PureComponent {
194
202
 
195
203
  _defineProperty(this, "close", (event, {
196
204
  ifIsLatest,
197
- triggeredBy
205
+ triggeredBy = null
198
206
  } = {
199
207
  ifIsLatest: true
200
208
  }) => {
201
209
  const {
202
- prevent_close
210
+ prevent_close = false
203
211
  } = this.props;
204
212
 
205
213
  if (isTrue(prevent_close)) {
@@ -217,7 +225,7 @@ export default class Modal extends React.PureComponent {
217
225
  const list = getListOfModalRoots();
218
226
 
219
227
  if (list.length > 1) {
220
- const last = getListOfModalRoots(-1);
228
+ const last = getModalRoot(-1);
221
229
 
222
230
  if (last !== this) {
223
231
  return;
@@ -241,7 +249,7 @@ export default class Modal extends React.PureComponent {
241
249
  componentWillUnmount() {
242
250
  clearTimeout(this._openTimeout);
243
251
  clearTimeout(this._closeTimeout);
244
- this.removeActiveState(false);
252
+ this.removeActiveState();
245
253
 
246
254
  this._onUnmount.forEach(fn => {
247
255
  if (typeof fn === 'function') {
@@ -276,7 +284,7 @@ export default class Modal extends React.PureComponent {
276
284
  }
277
285
 
278
286
  removeActiveState() {
279
- const last = getListOfModalRoots(-1);
287
+ const last = getModalRoot(-1);
280
288
 
281
289
  if (last !== null && last !== void 0 && last._id && last._id !== this._id) {
282
290
  return this.setActiveState(last._id);
@@ -309,28 +317,28 @@ export default class Modal extends React.PureComponent {
309
317
  const props = extendPropsWithContext(this.props, Modal.defaultProps, this.context.getTranslation(this.props).Modal, this.context.FormRow, this.context.Modal);
310
318
 
311
319
  const {
312
- root_id,
313
- content_id,
320
+ root_id = 'root',
321
+ content_id = null,
322
+ disabled = null,
323
+ spacing = true,
324
+ labelled_by = null,
325
+ focus_selector = null,
326
+ header_content = null,
327
+ bar_content = null,
314
328
  id,
315
329
  open_state,
316
330
  open_delay,
317
- disabled,
318
- spacing,
319
- labelled_by,
320
- focus_selector,
321
- header_content,
322
- bar_content,
323
- trigger,
324
- trigger_attributes,
325
- trigger_hidden,
326
- trigger_disabled,
327
- trigger_variant,
328
- trigger_text,
329
- trigger_title,
330
- trigger_size,
331
+ trigger = null,
332
+ trigger_attributes = null,
333
+ trigger_hidden = 'false',
334
+ trigger_disabled = null,
335
+ trigger_variant = 'secondary',
336
+ trigger_text = null,
337
+ trigger_title = null,
338
+ trigger_size = null,
331
339
  trigger_icon,
332
- trigger_icon_position,
333
- trigger_class
340
+ trigger_icon_position = 'left',
341
+ trigger_class = null
334
342
  } = props,
335
343
  rest = _objectWithoutProperties(props, _excluded);
336
344
 
@@ -343,44 +351,39 @@ export default class Modal extends React.PureComponent {
343
351
  })) : this.props);
344
352
 
345
353
  const render = suffixProps => {
346
- const modalProps = {};
354
+ const triggerAttributes = _objectSpread({
355
+ hidden: trigger_hidden,
356
+ disabled: trigger_disabled,
357
+ variant: trigger_variant,
358
+ text: trigger_text,
359
+ title: trigger_title,
360
+ size: trigger_size,
361
+ icon: trigger_icon,
362
+ icon_position: trigger_icon_position,
363
+ class: trigger_class
364
+ }, trigger_attributes);
347
365
 
348
- const triggerAttributes = _objectSpread({}, trigger_attributes);
349
-
350
- for (let prop in props) {
351
- if (prop.includes('trigger_') && props[prop] !== null) {
352
- const name = String(prop).replace('trigger_', '');
353
-
354
- if (name !== 'attributes' && name !== 'props' && prop !== 'element') {
355
- triggerAttributes[name] = props[prop];
356
- }
357
- }
366
+ if (isTrue(disabled)) {
367
+ triggerAttributes.disabled = true;
358
368
  }
359
369
 
360
370
  if (triggerAttributes.id) {
361
371
  this._id = triggerAttributes.id;
362
372
  }
363
373
 
364
- if (!rest.title && triggerAttributes.title) {
365
- modalProps.title = triggerAttributes.title;
366
- } else if (!rest.title && suffixProps) {
367
- modalProps.title = this.context.translation.HelpButton.title;
368
- }
374
+ let fallbackTitle;
369
375
 
370
- if (isTrue(disabled)) {
371
- triggerAttributes.disabled = true;
376
+ if (triggerAttributes.title) {
377
+ fallbackTitle = triggerAttributes.title;
378
+ } else if (suffixProps) {
379
+ fallbackTitle = this.context.translation.HelpButton.title;
372
380
  }
373
381
 
374
382
  const TriggerButton = trigger ? trigger : HelpButtonInstance;
375
- return React.createElement(ModalContext.Provider, {
376
- value: _objectSpread({
377
- id: this._id
378
- }, rest)
379
- }, TriggerButton && !isTrue(trigger_hidden) && React.createElement(TriggerButton, _extends({
383
+ return React.createElement(React.Fragment, null, TriggerButton && !isTrue(trigger_hidden) && React.createElement(TriggerButton, _extends({}, triggerAttributes, {
380
384
  id: this._id,
381
- title: !triggerAttributes.text ? props.title || modalProps.title : null,
382
- onClick: this.toggleOpenClose
383
- }, triggerAttributes, {
385
+ title: !triggerAttributes.text ? rest.title || fallbackTitle : null,
386
+ onClick: this.toggleOpenClose,
384
387
  innerRef: this._triggerRef,
385
388
  className: classnames('dnb-modal__trigger', createSpacingClasses(props), triggerAttributes.class, triggerAttributes.className)
386
389
  })), modalActive && modal_content && React.createElement(ModalRoot, _extends({}, rest, {
@@ -395,8 +398,8 @@ export default class Modal extends React.PureComponent {
395
398
  spacing: spacing,
396
399
  closeModal: this.close,
397
400
  hide: hide,
398
- toggleOpenClose: this.toggleOpenClose
399
- }, modalProps)));
401
+ title: rest.title || fallbackTitle
402
+ })));
400
403
  };
401
404
 
402
405
  return React.createElement(SuffixContext.Consumer, null, render);
@@ -418,8 +421,6 @@ _defineProperty(Modal, "Inner", ModalInner);
418
421
 
419
422
  _defineProperty(Modal, "defaultProps", {
420
423
  id: null,
421
- root_id: 'root',
422
- mode: 'modal',
423
424
  focus_selector: null,
424
425
  labelled_by: null,
425
426
  title: null,
@@ -433,7 +434,7 @@ _defineProperty(Modal, "defaultProps", {
433
434
  close_button_attributes: null,
434
435
  prevent_close: false,
435
436
  prevent_core_style: false,
436
- animation_duration: 300,
437
+ animation_duration: ANIMATION_DURATION,
437
438
  no_animation: false,
438
439
  no_animation_on_mobile: false,
439
440
  fullscreen: 'auto',
@@ -444,6 +445,7 @@ _defineProperty(Modal, "defaultProps", {
444
445
  open_state: null,
445
446
  direct_dom_return: false,
446
447
  class: null,
448
+ root_id: 'root',
447
449
  className: null,
448
450
  children: null,
449
451
  on_open: null,
@@ -469,136 +471,4 @@ _defineProperty(Modal, "defaultProps", {
469
471
  bar_content: null
470
472
  });
471
473
 
472
- process.env.NODE_ENV !== "production" ? Modal.propTypes = _objectSpread(_objectSpread({
473
- id: PropTypes.string,
474
- root_id: PropTypes.string,
475
- mode: PropTypes.oneOf(['modal', 'drawer']),
476
- focus_selector: PropTypes.string,
477
- labelled_by: PropTypes.string,
478
- title: PropTypes.node,
479
- disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
480
- spacing: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
481
- open_delay: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
482
- content_id: PropTypes.string,
483
- dialog_title: PropTypes.string,
484
- close_title: PropTypes.string,
485
- hide_close_button: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
486
- close_button_attributes: PropTypes.object,
487
- prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
488
- prevent_core_style: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
489
- animation_duration: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
490
- no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
491
- no_animation_on_mobile: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
492
- fullscreen: PropTypes.oneOf(['auto', true, false, 'true', 'false']),
493
- min_width: PropTypes.string,
494
- max_width: PropTypes.string,
495
- align_content: PropTypes.oneOf(['left', 'center', 'centered', 'right']),
496
- container_placement: PropTypes.oneOf(['left', 'right', 'top', 'bottom']),
497
- open_state: PropTypes.oneOfType([PropTypes.oneOf(['opened', 'closed']), PropTypes.bool]),
498
- direct_dom_return: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
499
- }, spacingPropTypes), {}, {
500
- class: PropTypes.string,
501
- className: PropTypes.string,
502
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
503
- on_open: PropTypes.func,
504
- on_close: PropTypes.func,
505
- on_close_prevent: PropTypes.func,
506
- open_modal: PropTypes.func,
507
- close_modal: PropTypes.func,
508
- trigger: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
509
- trigger_attributes: PropTypes.object,
510
- trigger_hidden: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
511
- trigger_disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
512
- trigger_variant: buttonVariantPropType.variant,
513
- trigger_text: PropTypes.string,
514
- trigger_title: PropTypes.string,
515
- trigger_size: PropTypes.string,
516
- trigger_icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func]),
517
- trigger_icon_position: PropTypes.oneOf(['left', 'right']),
518
- trigger_class: PropTypes.string,
519
- overlay_class: PropTypes.string,
520
- content_class: PropTypes.string,
521
- modal_content: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func]),
522
- header_content: PropTypes.node,
523
- bar_content: PropTypes.node
524
- }) : void 0;
525
-
526
- class ModalRoot extends React.PureComponent {
527
- constructor(...args) {
528
- super(...args);
529
-
530
- _defineProperty(this, "state", {
531
- isMounted: false
532
- });
533
- }
534
-
535
- componentDidMount() {
536
- if (!isTrue(this.props.direct_dom_return)) {
537
- Modal.insertModalRoot(this.props.root_id);
538
-
539
- try {
540
- if (!this.portalElem) {
541
- this.portalElem = document.createElement('div');
542
- this.portalElem.className = 'dnb-modal-root__inner';
543
- }
544
-
545
- if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot) {
546
- window.__modalRoot.appendChild(this.portalElem);
547
- }
548
- } catch (e) {
549
- warn(e);
550
- }
551
-
552
- this.setState({
553
- isMounted: true
554
- });
555
- }
556
- }
557
-
558
- componentWillUnmount() {
559
- try {
560
- if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot && window.__modalRoot.removeChild) {
561
- window.__modalRoot.removeChild(this.portalElem);
562
-
563
- this.portalElem = null;
564
- }
565
- } catch (e) {
566
- warn(e);
567
- }
568
- }
569
-
570
- render() {
571
- const _this$props = this.props,
572
- {
573
- children,
574
- direct_dom_return
575
- } = _this$props,
576
- props = _objectWithoutProperties(_this$props, _excluded2);
577
-
578
- if (isTrue(direct_dom_return)) {
579
- return React.createElement(ModalContent, props, children);
580
- }
581
-
582
- if (this.portalElem && typeof window !== 'undefined' && window.__modalRoot && this.state.isMounted) {
583
- return ReactDOM.createPortal(React.createElement(ModalContent, props, children), this.portalElem);
584
- }
585
-
586
- return null;
587
- }
588
-
589
- }
590
-
591
- _defineProperty(ModalRoot, "defaultProps", {
592
- id: null,
593
- root_id: null,
594
- direct_dom_return: false,
595
- children: null
596
- });
597
-
598
- process.env.NODE_ENV !== "production" ? ModalRoot.propTypes = {
599
- id: PropTypes.string,
600
- root_id: PropTypes.string,
601
- direct_dom_return: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
602
- children: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func])
603
- } : void 0;
604
474
  export { CloseButton };