@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
@@ -2,31 +2,47 @@ 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
4
  const _excluded = ["triggeredBy"],
5
- _excluded2 = ["mode", "hide", "title", "labelled_by", "header_content", "modal_content", "bar_content", "id", "close_title", "dialog_title", "hide_close_button", "close_button_attributes", "spacing", "prevent_close", "open_delay", "prevent_core_style", "animation_duration", "no_animation", "no_animation_on_mobile", "min_width", "max_width", "fullscreen", "align_content", "container_placement", "closeModal", "className", "class", "content_class", "overlay_class", "content_id", "toggleOpenClose", "children"];
5
+ _excluded2 = ["mode", "hide", "title", "labelled_by", "header_content", "modal_content", "bar_content", "id", "close_title", "dialog_title", "hide_close_button", "close_button_attributes", "spacing", "prevent_core_style", "animation_duration", "no_animation", "no_animation_on_mobile", "min_width", "max_width", "fullscreen", "align_content", "container_placement", "closeModal", "className", "class", "content_class", "overlay_class", "content_id", "children"];
6
6
 
7
7
  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
8
 
9
9
  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
10
 
11
11
  import React from 'react';
12
- import PropTypes from 'prop-types';
13
12
  import classnames from 'classnames';
14
13
  import keycode from 'keycode';
15
14
  import { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from './bodyScrollLock';
16
15
  import { warn, isTrue, makeUniqueId, InteractionInvalidation, findElementInChildren, combineLabelledBy, combineDescribedBy, validateDOMAttributes, dispatchCustomElementEvent } from '../../shared/component-helper';
17
16
  import ScrollView from '../../fragments/scroll-view/ScrollView';
18
17
  import ModalContext from './ModalContext';
19
- import ModalHeader, { ModalHeaderBar } from './ModalHeader';
20
- import { IS_IOS, IS_SAFARI, IS_MAC } from '../../shared/helpers';
18
+ import ModalHeader from './components/ModalHeader';
19
+ import ModalHeaderBar from './components/ModalHeaderBar';
20
+ import { IS_IOS, IS_SAFARI, IS_MAC, isAndroid } from '../../shared/helpers';
21
+ import { getListOfModalRoots, getModalRoot, addToIndex, removeFromIndex } from './helpers';
21
22
  export default class ModalContent extends React.PureComponent {
22
23
  constructor(props) {
23
24
  super(props);
24
25
 
25
26
  _defineProperty(this, "state", {
26
27
  triggeredBy: null,
27
- triggeredByEvent: null
28
+ triggeredByEvent: null,
29
+ color: null
28
30
  });
29
31
 
32
+ _defineProperty(this, "_contentRef", void 0);
33
+
34
+ _defineProperty(this, "_id", void 0);
35
+
36
+ _defineProperty(this, "_lockTimeout", void 0);
37
+
38
+ _defineProperty(this, "_focusTimeout", void 0);
39
+
40
+ _defineProperty(this, "_androidFocusTimeout", void 0);
41
+
42
+ _defineProperty(this, "_ii", void 0);
43
+
44
+ _defineProperty(this, "_iiLocal", void 0);
45
+
30
46
  _defineProperty(this, "lockBody", () => {
31
47
  const modalRoots = getListOfModalRoots();
32
48
  const firstLevel = modalRoots[0];
@@ -53,6 +69,10 @@ export default class ModalContent extends React.PureComponent {
53
69
  });
54
70
 
55
71
  _defineProperty(this, "_androidFocusHelper", () => {
72
+ const {
73
+ animation_duration = null
74
+ } = this.props;
75
+ const timeoutDuration = typeof animation_duration === 'string' ? parseFloat(animation_duration) : animation_duration;
56
76
  clearTimeout(this._androidFocusTimeout);
57
77
  this._androidFocusTimeout = setTimeout(() => {
58
78
  try {
@@ -62,37 +82,37 @@ export default class ModalContent extends React.PureComponent {
62
82
  document.activeElement.scrollIntoView();
63
83
  }
64
84
  } catch (e) {}
65
- }, parseFloat(this.props.animation_duration) / 2);
85
+ }, timeoutDuration / 2);
66
86
  });
67
87
 
68
- _defineProperty(this, "preventClick", e => {
69
- if (e) {
70
- e.stopPropagation();
88
+ _defineProperty(this, "preventClick", event => {
89
+ if (event) {
90
+ event.stopPropagation();
71
91
  }
72
92
  });
73
93
 
74
- _defineProperty(this, "onCloseClickHandler", e => {
75
- this.closeModal(e, {
94
+ _defineProperty(this, "onCloseClickHandler", event => {
95
+ this.closeModalContent(event, {
76
96
  triggeredBy: 'button'
77
97
  });
78
98
  });
79
99
 
80
- _defineProperty(this, "onContentClickHandler", e => {
81
- this.closeModal(e, {
100
+ _defineProperty(this, "onContentClickHandler", event => {
101
+ this.closeModalContent(event, {
82
102
  triggeredBy: 'overlay',
83
103
  ifIsLatest: false
84
104
  });
85
105
  });
86
106
 
87
- _defineProperty(this, "onKeyDownHandler", e => {
88
- switch (keycode(e)) {
107
+ _defineProperty(this, "onKeyDownHandler", event => {
108
+ switch (keycode(event)) {
89
109
  case 'esc':
90
110
  {
91
- const mostCurrent = getListOfModalRoots(-1);
111
+ const mostCurrent = getModalRoot(-1);
92
112
 
93
113
  if (mostCurrent === this) {
94
- e.preventDefault();
95
- this.closeModal(e, {
114
+ event.preventDefault();
115
+ this.closeModalContent(event, {
96
116
  triggeredBy: 'keyboard'
97
117
  });
98
118
  }
@@ -103,6 +123,7 @@ export default class ModalContent extends React.PureComponent {
103
123
  });
104
124
 
105
125
  _defineProperty(this, "setBackgroundColor", color => {
126
+ document.documentElement.style.setProperty('--modal-background-color', color);
106
127
  this.setState({
107
128
  color
108
129
  });
@@ -113,19 +134,24 @@ export default class ModalContent extends React.PureComponent {
113
134
  }
114
135
 
115
136
  componentDidMount() {
116
- this.addToIndex();
137
+ const {
138
+ id = null,
139
+ no_animation = false,
140
+ animation_duration = null
141
+ } = this.props;
142
+ const timeoutDuration = typeof animation_duration === 'string' ? parseFloat(animation_duration) : animation_duration;
143
+ addToIndex(this);
117
144
  this.removeScrollPossibility();
118
145
  this.setFocus();
119
146
  this.setAndroidFocusHelper();
120
- const id = this.props.id;
121
147
  dispatchCustomElementEvent(this, 'on_open', {
122
148
  id
123
149
  });
124
150
 
125
- if (isTrue(this.props.no_animation) || process.env.NODE_ENV === 'test') {
151
+ if (isTrue(no_animation) || process.env.NODE_ENV === 'test') {
126
152
  this.lockBody();
127
153
  } else {
128
- this._lockTimeout = setTimeout(this.lockBody, parseFloat(this.props.animation_duration) * 1.2);
154
+ this._lockTimeout = setTimeout(this.lockBody, timeoutDuration * 1.2);
129
155
  }
130
156
  }
131
157
 
@@ -138,7 +164,7 @@ export default class ModalContent extends React.PureComponent {
138
164
  removeLocks() {
139
165
  const modalRoots = getListOfModalRoots();
140
166
  const firstLevel = modalRoots[0];
141
- this.removeFromIndex();
167
+ removeFromIndex(this);
142
168
 
143
169
  if (firstLevel === this) {
144
170
  var _this$_ii;
@@ -177,7 +203,7 @@ export default class ModalContent extends React.PureComponent {
177
203
  }
178
204
 
179
205
  setAndroidFocusHelper() {
180
- if (typeof window !== 'undefined' && typeof navigator !== 'undefined' && /Android/.test(navigator.appVersion)) {
206
+ if (typeof window !== 'undefined' && isAndroid()) {
181
207
  window.addEventListener('resize', this._androidFocusHelper);
182
208
  }
183
209
  }
@@ -187,41 +213,14 @@ export default class ModalContent extends React.PureComponent {
187
213
  clearTimeout(this._androidFocusTimeout);
188
214
  }
189
215
 
190
- addToIndex() {
191
- if (typeof window !== 'undefined') {
192
- try {
193
- if (!Array.isArray(window.__modalStack)) {
194
- window.__modalStack = [];
195
- }
196
-
197
- window.__modalStack.push(this);
198
- } catch (e) {
199
- warn(e);
200
- }
201
- }
202
- }
203
-
204
- removeFromIndex() {
205
- if (typeof window !== 'undefined') {
206
- try {
207
- if (!Array.isArray(window.__modalStack)) {
208
- window.__modalStack = [];
209
- }
210
-
211
- window.__modalStack = window.__modalStack.filter(cur => cur !== this);
212
- } catch (e) {
213
- warn(e);
214
- }
215
- }
216
- }
217
-
218
216
  setFocus() {
219
217
  const {
220
- focus_selector,
221
- no_animation,
222
- animation_duration
218
+ focus_selector = null,
219
+ no_animation = null,
220
+ animation_duration = null
223
221
  } = this.props;
224
222
  const elem = this._contentRef.current;
223
+ const timeoutDuration = typeof animation_duration === 'string' ? parseFloat(animation_duration) : animation_duration;
225
224
 
226
225
  if (elem) {
227
226
  clearTimeout(this._focusTimeout);
@@ -242,7 +241,7 @@ export default class ModalContent extends React.PureComponent {
242
241
  } catch (e) {
243
242
  warn(e);
244
243
  }
245
- }, isTrue(no_animation) ? 0 : parseFloat(animation_duration) || 0);
244
+ }, isTrue(no_animation) ? 0 : timeoutDuration || 0);
246
245
  }
247
246
  }
248
247
 
@@ -257,7 +256,7 @@ export default class ModalContent extends React.PureComponent {
257
256
  clearAllBodyScrollLocks();
258
257
  }
259
258
 
260
- closeModal(event, _ref) {
259
+ closeModalContent(event, _ref) {
261
260
  var _event$persist;
262
261
 
263
262
  let {
@@ -279,7 +278,7 @@ export default class ModalContent extends React.PureComponent {
279
278
  render() {
280
279
  const _this$props = this.props,
281
280
  {
282
- mode,
281
+ mode = 'modal',
283
282
  hide,
284
283
  title,
285
284
  labelled_by,
@@ -287,20 +286,18 @@ export default class ModalContent extends React.PureComponent {
287
286
  modal_content,
288
287
  bar_content,
289
288
  id: _id,
290
- close_title,
291
- dialog_title,
292
- hide_close_button,
289
+ close_title = 'Lukk',
290
+ dialog_title = 'Vindu',
291
+ hide_close_button = false,
293
292
  close_button_attributes,
294
- spacing,
295
- prevent_close,
296
- open_delay,
297
- prevent_core_style,
293
+ spacing = true,
294
+ prevent_core_style = false,
298
295
  animation_duration,
299
- no_animation,
300
- no_animation_on_mobile,
296
+ no_animation = false,
297
+ no_animation_on_mobile = false,
301
298
  min_width,
302
299
  max_width,
303
- fullscreen,
300
+ fullscreen = 'auto',
304
301
  align_content,
305
302
  container_placement,
306
303
  closeModal,
@@ -309,31 +306,30 @@ export default class ModalContent extends React.PureComponent {
309
306
  content_class,
310
307
  overlay_class,
311
308
  content_id,
312
- toggleOpenClose,
313
309
  children
314
310
  } = _this$props,
315
311
  rest = _objectWithoutProperties(_this$props, _excluded2);
316
312
 
313
+ const {
314
+ color
315
+ } = this.state;
317
316
  const contentId = content_id || makeUniqueId('modal-');
318
- const style = this.state.color ? {
319
- '--modal-background-color': `var(--color-${this.state.color})`
320
- } : null;
321
317
  let minWidth = min_width;
322
318
  let maxWidth = max_width;
323
319
 
324
- if (minWidth && !maxWidth && parseFloat(minWidth) > 0) {
320
+ if (minWidth && !maxWidth && parseFloat(String(minWidth)) > 0) {
325
321
  maxWidth = 0;
326
- } else if (maxWidth && !minWidth && parseFloat(maxWidth) > 0) {
322
+ } else if (maxWidth && !minWidth && parseFloat(String(maxWidth)) > 0) {
327
323
  minWidth = 0;
328
324
  }
329
325
 
330
326
  const useDialogRole = !(IS_MAC || IS_SAFARI || IS_IOS);
331
327
  const contentParams = {
332
328
  role: useDialogRole ? 'dialog' : 'region',
333
- 'aria-modal': useDialogRole ? 'true' : undefined,
329
+ 'aria-modal': useDialogRole ? true : undefined,
334
330
  'aria-labelledby': combineLabelledBy(this.props, title ? contentId + '-title' : null, labelled_by),
335
331
  'aria-describedby': combineDescribedBy(this.props, contentId + '-content'),
336
- 'aria-label': !title && !labelled_by ? this.props.dialog_title : undefined,
332
+ 'aria-label': !title && !labelled_by ? dialog_title : undefined,
337
333
  className: classnames('dnb-modal__content', (container_placement || mode === 'drawer') && `dnb-modal__content--${container_placement || 'right'}`, isTrue(fullscreen) ? 'dnb-modal__content--fullscreen' : fullscreen === 'auto' && 'dnb-modal__content--auto-fullscreen', content_class, mode && `dnb-modal__content--${mode}`, hide && 'dnb-modal__content--hide', isTrue(spacing) && 'dnb-modal__content--spacing', align_content && `dnb-modal__content__align--${align_content}`, isTrue(no_animation) && 'dnb-modal__content--no-animation', isTrue(no_animation_on_mobile) && 'dnb-modal__content--no-animation-on-mobile'),
338
334
  onClick: this.onContentClickHandler
339
335
  };
@@ -349,125 +345,38 @@ export default class ModalContent extends React.PureComponent {
349
345
  onKeyDown: this.onKeyDownHandler
350
346
  }, rest);
351
347
 
352
- const overlayParams = {
353
- className: classnames('dnb-modal__overlay', overlay_class, hide && 'dnb-modal__overlay--hide', mode && `dnb-modal__overlay--${mode}`, isTrue(no_animation) && 'dnb-modal__overlay--no-animation', isTrue(no_animation_on_mobile) && 'dnb-modal__overlay--no-animation-on-mobile')
354
- };
355
348
  validateDOMAttributes(this.props, innerParams);
356
- const bar = findElementInChildren(modal_content, cur => cur.type === ModalHeaderBar) ? null : React.createElement(ModalHeaderBar, null, bar_content);
357
- const header = findElementInChildren(modal_content, cur => cur.type === ModalHeader) ? null : React.createElement(ModalHeader, {
358
- title: title
359
- }, header_content);
360
- const content = React.createElement("div", {
361
- id: contentId + '-content',
362
- className: "dnb-modal__content__wrapper"
363
- }, modal_content);
349
+ const barExists = findElementInChildren(modal_content, cur => cur.type === ModalHeaderBar);
350
+ const headerExists = findElementInChildren(modal_content, cur => cur.type === ModalHeader);
364
351
  return React.createElement(ModalContext.Provider, {
365
- value: _objectSpread(_objectSpread({
366
- id: contentId,
367
- setBackgroundColor: this.setBackgroundColor
368
- }, this.props), {}, {
352
+ value: {
353
+ id: this.props.id,
354
+ title,
355
+ hide_close_button,
356
+ close_button_attributes,
357
+ close_title,
358
+ mode,
359
+ setBackgroundColor: this.setBackgroundColor,
369
360
  onCloseClickHandler: this.onCloseClickHandler
370
- })
361
+ }
371
362
  }, React.createElement("div", _extends({
372
363
  id: contentId
373
364
  }, contentParams), React.createElement(ScrollView, innerParams, React.createElement("div", {
374
- tabIndex: "-1",
365
+ tabIndex: -1,
375
366
  className: "dnb-modal__content__spacing dnb-no-focus",
376
- style: style,
367
+ style: color ? {
368
+ '--modal-background-color': `var(--color-${color})`
369
+ } : null,
377
370
  ref: this._contentRef
378
- }, bar, header, content))), React.createElement("span", _extends({}, overlayParams, {
371
+ }, !barExists && React.createElement(ModalHeaderBar, null, bar_content), !headerExists && React.createElement(ModalHeader, {
372
+ title: title
373
+ }, header_content), React.createElement("div", {
374
+ id: contentId + '-content',
375
+ className: "dnb-modal__content__wrapper"
376
+ }, modal_content)))), React.createElement("span", {
377
+ className: classnames('dnb-modal__overlay', overlay_class, hide && 'dnb-modal__overlay--hide', mode && `dnb-modal__overlay--${mode}`, isTrue(no_animation) && 'dnb-modal__overlay--no-animation', isTrue(no_animation_on_mobile) && 'dnb-modal__overlay--no-animation-on-mobile'),
379
378
  "aria-hidden": "true"
380
- })));
381
- }
382
-
383
- }
384
-
385
- _defineProperty(ModalContent, "defaultProps", {
386
- mode: null,
387
- bar_content: null,
388
- header_content: null,
389
- hide: null,
390
- id: null,
391
- root_id: null,
392
- labelled_by: null,
393
- focus_selector: null,
394
- content_id: null,
395
- title: null,
396
- close_title: null,
397
- dialog_title: null,
398
- hide_close_button: null,
399
- close_button_attributes: null,
400
- spacing: null,
401
- prevent_close: null,
402
- prevent_core_style: null,
403
- animation_duration: null,
404
- no_animation: null,
405
- no_animation_on_mobile: null,
406
- min_width: null,
407
- max_width: null,
408
- fullscreen: null,
409
- align_content: null,
410
- container_placement: null,
411
- class: null,
412
- overlay_class: null,
413
- content_class: null,
414
- closeModal: null,
415
- className: null,
416
- children: null
417
- });
418
-
419
- process.env.NODE_ENV !== "production" ? ModalContent.propTypes = {
420
- modal_content: PropTypes.node.isRequired,
421
- mode: PropTypes.oneOf(['modal', 'drawer']),
422
- bar_content: PropTypes.node,
423
- header_content: PropTypes.node,
424
- hide: PropTypes.bool,
425
- id: PropTypes.string,
426
- root_id: PropTypes.string,
427
- labelled_by: PropTypes.string,
428
- focus_selector: PropTypes.string,
429
- content_id: PropTypes.string,
430
- title: PropTypes.node,
431
- close_title: PropTypes.string,
432
- dialog_title: PropTypes.string,
433
- hide_close_button: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
434
- close_button_attributes: PropTypes.object,
435
- spacing: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
436
- prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
437
- prevent_core_style: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
438
- animation_duration: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
439
- no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
440
- no_animation_on_mobile: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
441
- min_width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
442
- max_width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
443
- fullscreen: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
444
- align_content: PropTypes.string,
445
- container_placement: PropTypes.string,
446
- class: PropTypes.string,
447
- content_class: PropTypes.string,
448
- overlay_class: PropTypes.string,
449
- closeModal: PropTypes.func.isRequired,
450
- className: PropTypes.string,
451
- children: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func])
452
- } : void 0;
453
- export function getListOfModalRoots(index = null) {
454
- if (typeof window !== 'undefined') {
455
- try {
456
- const stack = window.__modalStack || [];
457
-
458
- if (index !== null) {
459
- if (index === -1 && stack.length) {
460
- return stack[stack.length - 1];
461
- } else if (index > -1) {
462
- return stack[index];
463
- }
464
- }
465
-
466
- return stack;
467
- } catch (e) {
468
- warn(e);
469
- }
379
+ }));
470
380
  }
471
381
 
472
- return [];
473
382
  }