@dnb/eufemia 9.32.1 → 9.34.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 (805) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
  3. package/assets/icons/eufemia-icons-pdf.tgz +0 -0
  4. package/assets/icons/hierarchy.svg +1 -0
  5. package/assets/icons/hierarchy_medium.svg +1 -0
  6. package/assets/icons/layout_card.svg +1 -0
  7. package/assets/icons/layout_card_medium.svg +1 -0
  8. package/assets/icons/unlock.svg +1 -0
  9. package/assets/icons/unlock_medium.svg +1 -0
  10. package/cjs/components/Upload.d.ts +3 -0
  11. package/cjs/components/Upload.js +52 -0
  12. package/cjs/components/accordion/Accordion.d.ts +5 -0
  13. package/cjs/components/accordion/Accordion.js +5 -5
  14. package/cjs/components/accordion/AccordionContent.d.ts +2 -7
  15. package/cjs/components/accordion/AccordionContent.js +124 -206
  16. package/cjs/components/accordion/AccordionHeader.d.ts +2 -0
  17. package/cjs/components/accordion/AccordionHeader.js +6 -3
  18. package/cjs/components/accordion/AccordionPropTypes.d.ts +2 -0
  19. package/cjs/components/accordion/AccordionPropTypes.js +2 -0
  20. package/cjs/components/accordion/AccordionProvider.d.ts +1 -0
  21. package/cjs/components/accordion/AccordionProvider.js +2 -1
  22. package/cjs/components/accordion/style/_accordion.scss +11 -27
  23. package/cjs/components/accordion/style/dnb-accordion.css +7 -19
  24. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  25. package/cjs/components/autocomplete/Autocomplete.d.ts +1 -1
  26. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  27. package/cjs/components/autocomplete/style/_autocomplete.scss +0 -1
  28. package/cjs/components/autocomplete/style/dnb-autocomplete.css +57 -25
  29. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  30. package/cjs/components/avatar/Avatar.d.ts +2 -2
  31. package/cjs/components/breadcrumb/style/_breadcrumb.scss +3 -2
  32. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +29 -7
  33. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  34. package/cjs/components/button/style/dnb-button.css +18 -6
  35. package/cjs/components/button/style/dnb-button.min.css +1 -1
  36. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  37. package/cjs/components/checkbox/style/dnb-checkbox.css +3 -1
  38. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  39. package/cjs/components/date-picker/style/dnb-date-picker.css +84 -28
  40. package/cjs/components/date-picker/style/dnb-date-picker.min.css +2 -2
  41. package/cjs/components/dialog/parts/DialogBody.d.ts +2 -2
  42. package/cjs/components/dialog/parts/DialogHeader.d.ts +2 -2
  43. package/cjs/components/dialog/parts/DialogNavigation.d.ts +2 -2
  44. package/cjs/components/dialog/style/dnb-dialog.css +93 -52
  45. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  46. package/cjs/components/drawer/Drawer.d.ts +1 -1
  47. package/cjs/components/drawer/Drawer.js +5 -1
  48. package/cjs/components/drawer/DrawerContent.js +29 -11
  49. package/cjs/components/drawer/parts/DrawerBody.d.ts +2 -2
  50. package/cjs/components/drawer/parts/DrawerContentContext.d.ts +2 -0
  51. package/cjs/components/drawer/parts/DrawerContentContext.js +11 -0
  52. package/cjs/components/drawer/parts/DrawerHeader.d.ts +2 -2
  53. package/cjs/components/drawer/parts/DrawerHeader.js +8 -0
  54. package/cjs/components/drawer/parts/DrawerNavigation.d.ts +2 -2
  55. package/cjs/components/drawer/parts/DrawerNavigation.js +8 -0
  56. package/cjs/components/drawer/style/_drawer.scss +26 -28
  57. package/cjs/components/drawer/style/dnb-drawer.css +167 -98
  58. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  59. package/cjs/components/dropdown/Dropdown.d.ts +1 -1
  60. package/cjs/components/dropdown/style/_dropdown.scss +0 -1
  61. package/cjs/components/dropdown/style/dnb-dropdown.css +21 -10
  62. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  63. package/cjs/components/form-status/FormStatus.js +2 -2
  64. package/cjs/components/form-status/style/_form-status.scss +3 -3
  65. package/cjs/components/form-status/style/dnb-form-status.css +3 -1
  66. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  67. package/cjs/components/global-error/style/dnb-global-error.css +18 -6
  68. package/cjs/components/global-error/style/dnb-global-error.min.css +1 -1
  69. package/cjs/components/global-status/GlobalStatus.js +2 -2
  70. package/cjs/components/global-status/style/_global-status.scss +1 -1
  71. package/cjs/components/global-status/style/dnb-global-status.css +19 -7
  72. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  73. package/cjs/components/height-animation/HeightAnimation.d.ts +9 -3
  74. package/cjs/components/height-animation/HeightAnimation.js +8 -4
  75. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +58 -0
  76. package/cjs/{shared/AnimateHeight.js → components/height-animation/HeightAnimationInstance.js} +28 -68
  77. package/cjs/components/height-animation/style/_height-animation.scss +3 -0
  78. package/cjs/components/height-animation/style/dnb-height-animation.css +2 -0
  79. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
  80. package/cjs/components/height-animation/useHeightAnimation.d.ts +4 -4
  81. package/cjs/components/height-animation/useHeightAnimation.js +3 -3
  82. package/cjs/components/help-button/style/dnb-help-button.css +18 -6
  83. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
  84. package/cjs/components/icon/Icon.js +1 -1
  85. package/cjs/components/index.d.ts +2 -1
  86. package/cjs/components/index.js +8 -0
  87. package/cjs/components/input/Input.js +1 -1
  88. package/cjs/components/input/style/dnb-input.css +36 -12
  89. package/cjs/components/input/style/dnb-input.min.css +1 -1
  90. package/cjs/components/input-masked/style/dnb-input-masked.css +36 -12
  91. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  92. package/cjs/components/lib.d.ts +22 -17
  93. package/cjs/components/lib.js +9 -0
  94. package/cjs/components/modal/ModalContent.js +2 -2
  95. package/cjs/components/modal/parts/ModalHeader.d.ts +2 -2
  96. package/cjs/components/modal/parts/ModalHeaderBar.d.ts +1 -1
  97. package/cjs/components/modal/parts/ModalInner.d.ts +1 -1
  98. package/cjs/components/modal/style/dnb-modal.css +93 -52
  99. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  100. package/cjs/components/number-format/style/dnb-number-format.css +15 -5
  101. package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
  102. package/cjs/components/pagination/PaginationBar.d.ts +8 -6
  103. package/cjs/components/pagination/PaginationBar.js +21 -22
  104. package/cjs/components/pagination/style/dnb-pagination.css +18 -6
  105. package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
  106. package/cjs/components/radio/style/dnb-radio.css +3 -1
  107. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  108. package/cjs/components/section/Section.d.ts +4 -3
  109. package/cjs/components/slider/style/_slider.scss +4 -3
  110. package/cjs/components/slider/style/dnb-slider.css +41 -13
  111. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  112. package/cjs/components/space/Space.d.ts +83 -80
  113. package/cjs/components/space/Space.js +59 -54
  114. package/cjs/components/space/SpacingHelper.d.ts +4 -39
  115. package/cjs/components/space/SpacingHelper.js +21 -369
  116. package/cjs/components/space/SpacingUtils.d.ts +38 -0
  117. package/cjs/components/space/SpacingUtils.js +375 -0
  118. package/cjs/components/space/types.d.ts +34 -0
  119. package/cjs/components/space/types.js +1 -0
  120. package/cjs/components/step-indicator/StepIndicatorItem.js +2 -2
  121. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
  122. package/cjs/components/step-indicator/style/_step-indicator.scss +1 -1
  123. package/cjs/components/step-indicator/style/dnb-step-indicator.css +21 -7
  124. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  125. package/cjs/components/switch/style/dnb-switch.css +3 -1
  126. package/cjs/components/switch/style/dnb-switch.min.css +1 -1
  127. package/cjs/components/tabs/style/_tabs.scss +1 -1
  128. package/cjs/components/tabs/style/dnb-tabs.css +3 -1
  129. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  130. package/cjs/components/tag/Tag.d.ts +2 -2
  131. package/cjs/components/tag/style/dnb-tag.css +18 -6
  132. package/cjs/components/tag/style/dnb-tag.min.css +1 -1
  133. package/cjs/components/textarea/style/dnb-textarea.css +3 -1
  134. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  135. package/cjs/components/toggle-button/style/dnb-toggle-button.css +27 -9
  136. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +2 -2
  137. package/cjs/components/tooltip/TooltipContainer.js +6 -2
  138. package/cjs/components/tooltip/TooltipPortal.js +10 -4
  139. package/cjs/components/tooltip/TooltipWithEvents.js +10 -14
  140. package/cjs/components/tooltip/style/_tooltip.scss +6 -6
  141. package/cjs/components/tooltip/style/dnb-tooltip.css +15 -5
  142. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  143. package/cjs/components/upload/Upload.d.ts +10 -0
  144. package/cjs/components/upload/Upload.js +201 -0
  145. package/cjs/components/upload/UploadContext.d.ts +7 -0
  146. package/cjs/components/upload/UploadContext.js +16 -0
  147. package/cjs/components/upload/UploadDropzone.d.ts +3 -0
  148. package/cjs/components/upload/UploadDropzone.js +147 -0
  149. package/cjs/components/upload/UploadFileInput.d.ts +3 -0
  150. package/cjs/components/upload/UploadFileInput.js +123 -0
  151. package/cjs/components/upload/UploadFileList.d.ts +3 -0
  152. package/cjs/components/upload/UploadFileList.js +79 -0
  153. package/cjs/components/upload/UploadFileListCell.d.ts +19 -0
  154. package/cjs/components/upload/UploadFileListCell.js +171 -0
  155. package/cjs/components/upload/UploadInfo.d.ts +3 -0
  156. package/cjs/components/upload/UploadInfo.js +71 -0
  157. package/cjs/components/upload/UploadStatus.d.ts +3 -0
  158. package/cjs/components/upload/UploadStatus.js +43 -0
  159. package/cjs/components/upload/UploadVerify.d.ts +2 -0
  160. package/cjs/components/upload/UploadVerify.js +58 -0
  161. package/cjs/components/upload/index.d.ts +3 -0
  162. package/cjs/components/upload/index.js +52 -0
  163. package/cjs/components/upload/style/_upload.scss +91 -0
  164. package/cjs/components/upload/style/dnb-upload.css +1210 -0
  165. package/cjs/components/upload/style/dnb-upload.min.css +1 -0
  166. package/cjs/components/upload/style/dnb-upload.scss +16 -0
  167. package/cjs/components/upload/style/index.d.ts +1 -0
  168. package/cjs/components/upload/style/index.js +3 -0
  169. package/cjs/components/upload/style/themes/dnb-upload-theme-ui.css +38 -0
  170. package/cjs/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -0
  171. package/cjs/components/upload/style/themes/dnb-upload-theme-ui.scss +46 -0
  172. package/cjs/components/upload/style.d.ts +1 -0
  173. package/cjs/components/upload/style.js +3 -0
  174. package/cjs/components/upload/types.d.ts +67 -0
  175. package/cjs/components/upload/types.js +1 -0
  176. package/cjs/components/upload/useUpload.d.ts +14 -0
  177. package/cjs/components/upload/useUpload.js +36 -0
  178. package/cjs/elements/Anchor.d.ts +3 -2
  179. package/cjs/elements/Anchor.js +4 -2
  180. package/cjs/elements/Blockquote.js +1 -1
  181. package/cjs/elements/Code.js +1 -1
  182. package/cjs/elements/Dd.js +1 -1
  183. package/cjs/elements/Div.js +1 -1
  184. package/cjs/elements/Dl.d.ts +3 -3
  185. package/cjs/elements/Dl.js +10 -5
  186. package/cjs/elements/Dt.d.ts +1 -4
  187. package/cjs/elements/Dt.js +2 -2
  188. package/cjs/elements/Element.d.ts +33 -8
  189. package/cjs/elements/Element.js +5 -3
  190. package/cjs/elements/H.d.ts +1 -0
  191. package/cjs/elements/H.js +6 -4
  192. package/cjs/elements/H1.js +1 -1
  193. package/cjs/elements/H2.js +1 -1
  194. package/cjs/elements/H3.js +1 -1
  195. package/cjs/elements/H4.js +1 -1
  196. package/cjs/elements/H5.js +1 -1
  197. package/cjs/elements/H6.js +1 -1
  198. package/cjs/elements/Hr.js +1 -1
  199. package/cjs/elements/Img.js +2 -2
  200. package/cjs/elements/Li.js +1 -1
  201. package/cjs/elements/Link.d.ts +1 -1
  202. package/cjs/elements/Ol.js +1 -1
  203. package/cjs/elements/P.js +1 -1
  204. package/cjs/elements/Span.js +1 -1
  205. package/cjs/elements/Ul.js +1 -1
  206. package/cjs/elements/lib.d.ts +5 -3
  207. package/cjs/fragments/drawer-list/DrawerListPortal.js +14 -9
  208. package/cjs/fragments/drawer-list/DrawerListProvider.js +47 -44
  209. package/cjs/fragments/drawer-list/style/_drawer-list.scss +10 -0
  210. package/cjs/icons/hierarchy.d.ts +2 -0
  211. package/cjs/icons/hierarchy.js +42 -0
  212. package/cjs/icons/hierarchy_medium.d.ts +2 -0
  213. package/cjs/icons/hierarchy_medium.js +42 -0
  214. package/cjs/icons/icons-meta.json +42 -0
  215. package/cjs/icons/icons-pdf.lock +78 -0
  216. package/cjs/icons/icons-svg.lock +78 -0
  217. package/cjs/icons/index.d.ts +7 -1
  218. package/cjs/icons/index.js +48 -0
  219. package/cjs/icons/layout_card.d.ts +2 -0
  220. package/cjs/icons/layout_card.js +43 -0
  221. package/cjs/icons/layout_card_medium.d.ts +2 -0
  222. package/cjs/icons/layout_card_medium.js +43 -0
  223. package/cjs/icons/secondary_icons.d.ts +4 -1
  224. package/cjs/icons/secondary_icons.js +24 -0
  225. package/cjs/icons/secondary_icons_medium.d.ts +4 -1
  226. package/cjs/icons/secondary_icons_medium.js +24 -0
  227. package/cjs/icons/unlock.d.ts +2 -0
  228. package/cjs/icons/unlock.js +42 -0
  229. package/cjs/icons/unlock_medium.d.ts +2 -0
  230. package/cjs/icons/unlock_medium.js +42 -0
  231. package/cjs/index.d.ts +2 -1
  232. package/cjs/index.js +8 -0
  233. package/cjs/shared/Context.d.ts +2 -0
  234. package/cjs/shared/Eufemia.js +1 -1
  235. package/cjs/shared/MediaQuery.d.ts +4 -2
  236. package/cjs/shared/MediaQuery.js +2 -0
  237. package/cjs/shared/MediaQueryUtils.d.ts +6 -2
  238. package/cjs/shared/MediaQueryUtils.js +10 -4
  239. package/cjs/shared/component-helper.d.ts +1 -1
  240. package/cjs/shared/component-helper.js +5 -11
  241. package/cjs/shared/index.d.ts +2 -1
  242. package/cjs/shared/index.js +10 -1
  243. package/cjs/shared/locales/en-GB.d.ts +15 -0
  244. package/cjs/shared/locales/en-GB.js +15 -0
  245. package/cjs/shared/locales/en-US.d.ts +15 -0
  246. package/cjs/shared/locales/index.d.ts +30 -0
  247. package/cjs/shared/locales/nb-NO.d.ts +15 -0
  248. package/cjs/shared/locales/nb-NO.js +15 -0
  249. package/cjs/shared/types.d.ts +4 -21
  250. package/cjs/shared/types.js +24 -1
  251. package/cjs/shared/useMedia.d.ts +25 -0
  252. package/cjs/shared/useMedia.js +185 -0
  253. package/cjs/style/core/helper-classes/helper-classes.scss +1 -1
  254. package/cjs/style/core/utilities.scss +0 -2
  255. package/cjs/style/dnb-ui-components.css +238 -82
  256. package/cjs/style/dnb-ui-components.min.css +4 -4
  257. package/cjs/style/dnb-ui-components.scss +1 -0
  258. package/cjs/style/dnb-ui-elements.css +24 -19
  259. package/cjs/style/dnb-ui-elements.min.css +1 -1
  260. package/cjs/style/dnb-ui-fragments.css +15 -0
  261. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  262. package/cjs/style/dnb-ui-tags.css +48 -38
  263. package/cjs/style/dnb-ui-tags.min.css +1 -1
  264. package/cjs/style/elements/lists.scss +28 -16
  265. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +63 -19
  266. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  267. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +63 -19
  268. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  269. package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  270. package/components/Upload.d.ts +3 -0
  271. package/components/Upload.js +3 -0
  272. package/components/accordion/Accordion.d.ts +5 -0
  273. package/components/accordion/Accordion.js +5 -5
  274. package/components/accordion/AccordionContent.d.ts +2 -7
  275. package/components/accordion/AccordionContent.js +121 -184
  276. package/components/accordion/AccordionHeader.d.ts +2 -0
  277. package/components/accordion/AccordionHeader.js +6 -3
  278. package/components/accordion/AccordionPropTypes.d.ts +2 -0
  279. package/components/accordion/AccordionPropTypes.js +2 -0
  280. package/components/accordion/AccordionProvider.d.ts +1 -0
  281. package/components/accordion/AccordionProvider.js +2 -1
  282. package/components/accordion/style/_accordion.scss +11 -27
  283. package/components/accordion/style/dnb-accordion.css +7 -19
  284. package/components/accordion/style/dnb-accordion.min.css +1 -1
  285. package/components/autocomplete/Autocomplete.d.ts +1 -1
  286. package/components/autocomplete/Autocomplete.js +2 -2
  287. package/components/autocomplete/style/_autocomplete.scss +0 -1
  288. package/components/autocomplete/style/dnb-autocomplete.css +57 -25
  289. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  290. package/components/avatar/Avatar.d.ts +2 -2
  291. package/components/breadcrumb/style/_breadcrumb.scss +3 -2
  292. package/components/breadcrumb/style/dnb-breadcrumb.css +29 -7
  293. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  294. package/components/button/style/dnb-button.css +18 -6
  295. package/components/button/style/dnb-button.min.css +1 -1
  296. package/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  297. package/components/checkbox/style/dnb-checkbox.css +3 -1
  298. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  299. package/components/date-picker/style/dnb-date-picker.css +84 -28
  300. package/components/date-picker/style/dnb-date-picker.min.css +2 -2
  301. package/components/dialog/parts/DialogBody.d.ts +2 -2
  302. package/components/dialog/parts/DialogHeader.d.ts +2 -2
  303. package/components/dialog/parts/DialogNavigation.d.ts +2 -2
  304. package/components/dialog/style/dnb-dialog.css +93 -52
  305. package/components/dialog/style/dnb-dialog.min.css +1 -1
  306. package/components/drawer/Drawer.d.ts +1 -1
  307. package/components/drawer/Drawer.js +5 -1
  308. package/components/drawer/DrawerContent.js +22 -7
  309. package/components/drawer/parts/DrawerBody.d.ts +2 -2
  310. package/components/drawer/parts/DrawerContentContext.d.ts +2 -0
  311. package/components/drawer/parts/DrawerContentContext.js +2 -0
  312. package/components/drawer/parts/DrawerHeader.d.ts +2 -2
  313. package/components/drawer/parts/DrawerHeader.js +7 -0
  314. package/components/drawer/parts/DrawerNavigation.d.ts +2 -2
  315. package/components/drawer/parts/DrawerNavigation.js +7 -0
  316. package/components/drawer/style/_drawer.scss +26 -28
  317. package/components/drawer/style/dnb-drawer.css +167 -98
  318. package/components/drawer/style/dnb-drawer.min.css +1 -1
  319. package/components/dropdown/Dropdown.d.ts +1 -1
  320. package/components/dropdown/style/_dropdown.scss +0 -1
  321. package/components/dropdown/style/dnb-dropdown.css +21 -10
  322. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  323. package/components/form-status/FormStatus.js +2 -2
  324. package/components/form-status/style/_form-status.scss +3 -3
  325. package/components/form-status/style/dnb-form-status.css +3 -1
  326. package/components/form-status/style/dnb-form-status.min.css +1 -1
  327. package/components/global-error/style/dnb-global-error.css +18 -6
  328. package/components/global-error/style/dnb-global-error.min.css +1 -1
  329. package/components/global-status/GlobalStatus.js +2 -2
  330. package/components/global-status/style/_global-status.scss +1 -1
  331. package/components/global-status/style/dnb-global-status.css +19 -7
  332. package/components/global-status/style/dnb-global-status.min.css +1 -1
  333. package/components/height-animation/HeightAnimation.d.ts +9 -3
  334. package/components/height-animation/HeightAnimation.js +7 -4
  335. package/components/height-animation/HeightAnimationInstance.d.ts +58 -0
  336. package/{shared/AnimateHeight.js → components/height-animation/HeightAnimationInstance.js} +28 -68
  337. package/components/height-animation/style/_height-animation.scss +3 -0
  338. package/components/height-animation/style/dnb-height-animation.css +2 -0
  339. package/components/height-animation/style/dnb-height-animation.min.css +1 -1
  340. package/components/height-animation/useHeightAnimation.d.ts +4 -4
  341. package/components/height-animation/useHeightAnimation.js +3 -3
  342. package/components/help-button/style/dnb-help-button.css +18 -6
  343. package/components/help-button/style/dnb-help-button.min.css +1 -1
  344. package/components/icon/Icon.js +1 -1
  345. package/components/index.d.ts +2 -1
  346. package/components/index.js +2 -1
  347. package/components/input/Input.js +1 -1
  348. package/components/input/style/dnb-input.css +36 -12
  349. package/components/input/style/dnb-input.min.css +1 -1
  350. package/components/input-masked/style/dnb-input-masked.css +36 -12
  351. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  352. package/components/lib.d.ts +22 -17
  353. package/components/lib.js +3 -1
  354. package/components/modal/ModalContent.js +2 -2
  355. package/components/modal/parts/ModalHeader.d.ts +2 -2
  356. package/components/modal/parts/ModalHeaderBar.d.ts +1 -1
  357. package/components/modal/parts/ModalInner.d.ts +1 -1
  358. package/components/modal/style/dnb-modal.css +93 -52
  359. package/components/modal/style/dnb-modal.min.css +1 -1
  360. package/components/number-format/style/dnb-number-format.css +15 -5
  361. package/components/number-format/style/dnb-number-format.min.css +1 -1
  362. package/components/pagination/PaginationBar.d.ts +8 -6
  363. package/components/pagination/PaginationBar.js +21 -22
  364. package/components/pagination/style/dnb-pagination.css +18 -6
  365. package/components/pagination/style/dnb-pagination.min.css +1 -1
  366. package/components/radio/style/dnb-radio.css +3 -1
  367. package/components/radio/style/dnb-radio.min.css +1 -1
  368. package/components/section/Section.d.ts +4 -3
  369. package/components/slider/style/_slider.scss +4 -3
  370. package/components/slider/style/dnb-slider.css +41 -13
  371. package/components/slider/style/dnb-slider.min.css +1 -1
  372. package/components/space/Space.d.ts +83 -80
  373. package/components/space/Space.js +44 -41
  374. package/components/space/SpacingHelper.d.ts +4 -39
  375. package/components/space/SpacingHelper.js +2 -277
  376. package/components/space/SpacingUtils.d.ts +38 -0
  377. package/components/space/SpacingUtils.js +277 -0
  378. package/components/space/types.d.ts +34 -0
  379. package/components/space/types.js +1 -0
  380. package/components/step-indicator/StepIndicatorItem.js +2 -2
  381. package/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
  382. package/components/step-indicator/style/_step-indicator.scss +1 -1
  383. package/components/step-indicator/style/dnb-step-indicator.css +21 -7
  384. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  385. package/components/switch/style/dnb-switch.css +3 -1
  386. package/components/switch/style/dnb-switch.min.css +1 -1
  387. package/components/tabs/style/_tabs.scss +1 -1
  388. package/components/tabs/style/dnb-tabs.css +3 -1
  389. package/components/tabs/style/dnb-tabs.min.css +1 -1
  390. package/components/tag/Tag.d.ts +2 -2
  391. package/components/tag/style/dnb-tag.css +18 -6
  392. package/components/tag/style/dnb-tag.min.css +1 -1
  393. package/components/textarea/style/dnb-textarea.css +3 -1
  394. package/components/textarea/style/dnb-textarea.min.css +1 -1
  395. package/components/toggle-button/style/dnb-toggle-button.css +27 -9
  396. package/components/toggle-button/style/dnb-toggle-button.min.css +2 -2
  397. package/components/tooltip/TooltipContainer.js +6 -2
  398. package/components/tooltip/TooltipPortal.js +10 -4
  399. package/components/tooltip/TooltipWithEvents.js +11 -13
  400. package/components/tooltip/style/_tooltip.scss +6 -6
  401. package/components/tooltip/style/dnb-tooltip.css +15 -5
  402. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  403. package/components/upload/Upload.d.ts +10 -0
  404. package/components/upload/Upload.js +129 -0
  405. package/components/upload/UploadContext.d.ts +7 -0
  406. package/components/upload/UploadContext.js +6 -0
  407. package/components/upload/UploadDropzone.d.ts +3 -0
  408. package/components/upload/UploadDropzone.js +90 -0
  409. package/components/upload/UploadFileInput.d.ts +3 -0
  410. package/components/upload/UploadFileInput.js +79 -0
  411. package/components/upload/UploadFileList.d.ts +3 -0
  412. package/components/upload/UploadFileList.js +62 -0
  413. package/components/upload/UploadFileListCell.d.ts +19 -0
  414. package/components/upload/UploadFileListCell.js +128 -0
  415. package/components/upload/UploadInfo.d.ts +3 -0
  416. package/components/upload/UploadInfo.js +48 -0
  417. package/components/upload/UploadStatus.d.ts +3 -0
  418. package/components/upload/UploadStatus.js +26 -0
  419. package/components/upload/UploadVerify.d.ts +2 -0
  420. package/components/upload/UploadVerify.js +42 -0
  421. package/components/upload/index.d.ts +3 -0
  422. package/components/upload/index.js +3 -0
  423. package/components/upload/style/_upload.scss +91 -0
  424. package/components/upload/style/dnb-upload.css +1210 -0
  425. package/components/upload/style/dnb-upload.min.css +1 -0
  426. package/components/upload/style/dnb-upload.scss +16 -0
  427. package/components/upload/style/index.d.ts +1 -0
  428. package/components/upload/style/index.js +1 -0
  429. package/components/upload/style/themes/dnb-upload-theme-ui.css +38 -0
  430. package/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -0
  431. package/components/upload/style/themes/dnb-upload-theme-ui.scss +46 -0
  432. package/components/upload/style.d.ts +1 -0
  433. package/components/upload/style.js +1 -0
  434. package/components/upload/types.d.ts +67 -0
  435. package/components/upload/types.js +1 -0
  436. package/components/upload/useUpload.d.ts +14 -0
  437. package/components/upload/useUpload.js +28 -0
  438. package/elements/Anchor.d.ts +3 -2
  439. package/elements/Anchor.js +4 -2
  440. package/elements/Blockquote.js +1 -1
  441. package/elements/Code.js +1 -1
  442. package/elements/Dd.js +1 -1
  443. package/elements/Div.js +1 -1
  444. package/elements/Dl.d.ts +3 -3
  445. package/elements/Dl.js +10 -5
  446. package/elements/Dt.d.ts +1 -4
  447. package/elements/Dt.js +2 -2
  448. package/elements/Element.d.ts +33 -8
  449. package/elements/Element.js +5 -3
  450. package/elements/H.d.ts +1 -0
  451. package/elements/H.js +6 -4
  452. package/elements/H1.js +1 -1
  453. package/elements/H2.js +1 -1
  454. package/elements/H3.js +1 -1
  455. package/elements/H4.js +1 -1
  456. package/elements/H5.js +1 -1
  457. package/elements/H6.js +1 -1
  458. package/elements/Hr.js +1 -1
  459. package/elements/Img.js +2 -2
  460. package/elements/Li.js +1 -1
  461. package/elements/Link.d.ts +1 -1
  462. package/elements/Ol.js +1 -1
  463. package/elements/P.js +1 -1
  464. package/elements/Span.js +1 -1
  465. package/elements/Ul.js +1 -1
  466. package/elements/lib.d.ts +5 -3
  467. package/es/components/Upload.d.ts +3 -0
  468. package/es/components/Upload.js +3 -0
  469. package/es/components/accordion/Accordion.d.ts +5 -0
  470. package/es/components/accordion/Accordion.js +6 -8
  471. package/es/components/accordion/AccordionContent.d.ts +2 -7
  472. package/es/components/accordion/AccordionContent.js +112 -135
  473. package/es/components/accordion/AccordionHeader.d.ts +2 -0
  474. package/es/components/accordion/AccordionHeader.js +6 -3
  475. package/es/components/accordion/AccordionPropTypes.d.ts +2 -0
  476. package/es/components/accordion/AccordionPropTypes.js +2 -0
  477. package/es/components/accordion/AccordionProvider.d.ts +1 -0
  478. package/es/components/accordion/AccordionProvider.js +2 -1
  479. package/es/components/accordion/style/_accordion.scss +11 -27
  480. package/es/components/accordion/style/dnb-accordion.css +7 -19
  481. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  482. package/es/components/autocomplete/Autocomplete.d.ts +1 -1
  483. package/es/components/autocomplete/Autocomplete.js +2 -2
  484. package/es/components/autocomplete/style/_autocomplete.scss +0 -1
  485. package/es/components/autocomplete/style/dnb-autocomplete.css +57 -25
  486. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  487. package/es/components/avatar/Avatar.d.ts +2 -2
  488. package/es/components/breadcrumb/style/_breadcrumb.scss +3 -2
  489. package/es/components/breadcrumb/style/dnb-breadcrumb.css +29 -7
  490. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  491. package/es/components/button/style/dnb-button.css +18 -6
  492. package/es/components/button/style/dnb-button.min.css +1 -1
  493. package/es/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  494. package/es/components/checkbox/style/dnb-checkbox.css +3 -1
  495. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  496. package/es/components/date-picker/style/dnb-date-picker.css +84 -28
  497. package/es/components/date-picker/style/dnb-date-picker.min.css +2 -2
  498. package/es/components/dialog/parts/DialogBody.d.ts +2 -2
  499. package/es/components/dialog/parts/DialogHeader.d.ts +2 -2
  500. package/es/components/dialog/parts/DialogNavigation.d.ts +2 -2
  501. package/es/components/dialog/style/dnb-dialog.css +93 -52
  502. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  503. package/es/components/drawer/Drawer.d.ts +1 -1
  504. package/es/components/drawer/Drawer.js +5 -1
  505. package/es/components/drawer/DrawerContent.js +22 -7
  506. package/es/components/drawer/parts/DrawerBody.d.ts +2 -2
  507. package/es/components/drawer/parts/DrawerContentContext.d.ts +2 -0
  508. package/es/components/drawer/parts/DrawerContentContext.js +2 -0
  509. package/es/components/drawer/parts/DrawerHeader.d.ts +2 -2
  510. package/es/components/drawer/parts/DrawerHeader.js +7 -0
  511. package/es/components/drawer/parts/DrawerNavigation.d.ts +2 -2
  512. package/es/components/drawer/parts/DrawerNavigation.js +7 -0
  513. package/es/components/drawer/style/_drawer.scss +26 -28
  514. package/es/components/drawer/style/dnb-drawer.css +167 -98
  515. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  516. package/es/components/dropdown/Dropdown.d.ts +1 -1
  517. package/es/components/dropdown/style/_dropdown.scss +0 -1
  518. package/es/components/dropdown/style/dnb-dropdown.css +21 -10
  519. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  520. package/es/components/form-status/FormStatus.js +2 -2
  521. package/es/components/form-status/style/_form-status.scss +3 -3
  522. package/es/components/form-status/style/dnb-form-status.css +3 -1
  523. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  524. package/es/components/global-error/style/dnb-global-error.css +18 -6
  525. package/es/components/global-error/style/dnb-global-error.min.css +1 -1
  526. package/es/components/global-status/GlobalStatus.js +2 -2
  527. package/es/components/global-status/style/_global-status.scss +1 -1
  528. package/es/components/global-status/style/dnb-global-status.css +19 -7
  529. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  530. package/es/components/height-animation/HeightAnimation.d.ts +9 -3
  531. package/es/components/height-animation/HeightAnimation.js +6 -4
  532. package/es/components/height-animation/HeightAnimationInstance.d.ts +58 -0
  533. package/es/{shared/AnimateHeight.js → components/height-animation/HeightAnimationInstance.js} +3 -36
  534. package/es/components/height-animation/style/_height-animation.scss +3 -0
  535. package/es/components/height-animation/style/dnb-height-animation.css +2 -0
  536. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
  537. package/es/components/height-animation/useHeightAnimation.d.ts +4 -4
  538. package/es/components/height-animation/useHeightAnimation.js +3 -3
  539. package/es/components/help-button/style/dnb-help-button.css +18 -6
  540. package/es/components/help-button/style/dnb-help-button.min.css +1 -1
  541. package/es/components/icon/Icon.js +1 -1
  542. package/es/components/index.d.ts +2 -1
  543. package/es/components/index.js +2 -1
  544. package/es/components/input/Input.js +1 -1
  545. package/es/components/input/style/dnb-input.css +36 -12
  546. package/es/components/input/style/dnb-input.min.css +1 -1
  547. package/es/components/input-masked/style/dnb-input-masked.css +36 -12
  548. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  549. package/es/components/lib.d.ts +22 -17
  550. package/es/components/lib.js +3 -1
  551. package/es/components/modal/ModalContent.js +2 -2
  552. package/es/components/modal/parts/ModalHeader.d.ts +2 -2
  553. package/es/components/modal/parts/ModalHeaderBar.d.ts +1 -1
  554. package/es/components/modal/parts/ModalInner.d.ts +1 -1
  555. package/es/components/modal/style/dnb-modal.css +93 -52
  556. package/es/components/modal/style/dnb-modal.min.css +1 -1
  557. package/es/components/number-format/style/dnb-number-format.css +15 -5
  558. package/es/components/number-format/style/dnb-number-format.min.css +1 -1
  559. package/es/components/pagination/PaginationBar.d.ts +8 -6
  560. package/es/components/pagination/PaginationBar.js +17 -18
  561. package/es/components/pagination/style/dnb-pagination.css +18 -6
  562. package/es/components/pagination/style/dnb-pagination.min.css +1 -1
  563. package/es/components/radio/style/dnb-radio.css +3 -1
  564. package/es/components/radio/style/dnb-radio.min.css +1 -1
  565. package/es/components/section/Section.d.ts +4 -3
  566. package/es/components/slider/style/_slider.scss +4 -3
  567. package/es/components/slider/style/dnb-slider.css +41 -13
  568. package/es/components/slider/style/dnb-slider.min.css +1 -1
  569. package/es/components/space/Space.d.ts +83 -80
  570. package/es/components/space/Space.js +35 -31
  571. package/es/components/space/SpacingHelper.d.ts +4 -39
  572. package/es/components/space/SpacingHelper.js +2 -225
  573. package/es/components/space/SpacingUtils.d.ts +38 -0
  574. package/es/components/space/SpacingUtils.js +225 -0
  575. package/es/components/space/types.d.ts +34 -0
  576. package/es/components/space/types.js +1 -0
  577. package/es/components/step-indicator/StepIndicatorItem.js +2 -2
  578. package/es/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
  579. package/es/components/step-indicator/style/_step-indicator.scss +1 -1
  580. package/es/components/step-indicator/style/dnb-step-indicator.css +21 -7
  581. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  582. package/es/components/switch/style/dnb-switch.css +3 -1
  583. package/es/components/switch/style/dnb-switch.min.css +1 -1
  584. package/es/components/tabs/style/_tabs.scss +1 -1
  585. package/es/components/tabs/style/dnb-tabs.css +3 -1
  586. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  587. package/es/components/tag/Tag.d.ts +2 -2
  588. package/es/components/tag/style/dnb-tag.css +18 -6
  589. package/es/components/tag/style/dnb-tag.min.css +1 -1
  590. package/es/components/textarea/style/dnb-textarea.css +3 -1
  591. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  592. package/es/components/toggle-button/style/dnb-toggle-button.css +27 -9
  593. package/es/components/toggle-button/style/dnb-toggle-button.min.css +2 -2
  594. package/es/components/tooltip/TooltipContainer.js +6 -2
  595. package/es/components/tooltip/TooltipPortal.js +10 -4
  596. package/es/components/tooltip/TooltipWithEvents.js +11 -13
  597. package/es/components/tooltip/style/_tooltip.scss +6 -6
  598. package/es/components/tooltip/style/dnb-tooltip.css +15 -5
  599. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  600. package/es/components/upload/Upload.d.ts +10 -0
  601. package/es/components/upload/Upload.js +116 -0
  602. package/es/components/upload/UploadContext.d.ts +7 -0
  603. package/es/components/upload/UploadContext.js +6 -0
  604. package/es/components/upload/UploadDropzone.d.ts +3 -0
  605. package/es/components/upload/UploadDropzone.js +82 -0
  606. package/es/components/upload/UploadFileInput.d.ts +3 -0
  607. package/es/components/upload/UploadFileInput.js +76 -0
  608. package/es/components/upload/UploadFileList.d.ts +3 -0
  609. package/es/components/upload/UploadFileList.js +59 -0
  610. package/es/components/upload/UploadFileListCell.d.ts +19 -0
  611. package/es/components/upload/UploadFileListCell.js +124 -0
  612. package/es/components/upload/UploadInfo.d.ts +3 -0
  613. package/es/components/upload/UploadInfo.js +45 -0
  614. package/es/components/upload/UploadStatus.d.ts +3 -0
  615. package/es/components/upload/UploadStatus.js +25 -0
  616. package/es/components/upload/UploadVerify.d.ts +2 -0
  617. package/es/components/upload/UploadVerify.js +39 -0
  618. package/es/components/upload/index.d.ts +3 -0
  619. package/es/components/upload/index.js +3 -0
  620. package/es/components/upload/style/_upload.scss +91 -0
  621. package/es/components/upload/style/dnb-upload.css +1210 -0
  622. package/es/components/upload/style/dnb-upload.min.css +1 -0
  623. package/es/components/upload/style/dnb-upload.scss +16 -0
  624. package/es/components/upload/style/index.d.ts +1 -0
  625. package/es/components/upload/style/index.js +1 -0
  626. package/es/components/upload/style/themes/dnb-upload-theme-ui.css +38 -0
  627. package/es/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -0
  628. package/es/components/upload/style/themes/dnb-upload-theme-ui.scss +46 -0
  629. package/es/components/upload/style.d.ts +1 -0
  630. package/es/components/upload/style.js +1 -0
  631. package/es/components/upload/types.d.ts +67 -0
  632. package/es/components/upload/types.js +1 -0
  633. package/es/components/upload/useUpload.d.ts +14 -0
  634. package/es/components/upload/useUpload.js +29 -0
  635. package/es/elements/Anchor.d.ts +3 -2
  636. package/es/elements/Anchor.js +4 -2
  637. package/es/elements/Blockquote.js +1 -1
  638. package/es/elements/Code.js +1 -1
  639. package/es/elements/Dd.js +1 -1
  640. package/es/elements/Div.js +1 -1
  641. package/es/elements/Dl.d.ts +3 -3
  642. package/es/elements/Dl.js +14 -8
  643. package/es/elements/Dt.d.ts +1 -4
  644. package/es/elements/Dt.js +2 -2
  645. package/es/elements/Element.d.ts +33 -8
  646. package/es/elements/Element.js +5 -3
  647. package/es/elements/H.d.ts +1 -0
  648. package/es/elements/H.js +6 -4
  649. package/es/elements/H1.js +1 -1
  650. package/es/elements/H2.js +1 -1
  651. package/es/elements/H3.js +1 -1
  652. package/es/elements/H4.js +1 -1
  653. package/es/elements/H5.js +1 -1
  654. package/es/elements/H6.js +1 -1
  655. package/es/elements/Hr.js +1 -1
  656. package/es/elements/Img.js +2 -2
  657. package/es/elements/Li.js +1 -1
  658. package/es/elements/Link.d.ts +1 -1
  659. package/es/elements/Ol.js +1 -1
  660. package/es/elements/P.js +1 -1
  661. package/es/elements/Span.js +1 -1
  662. package/es/elements/Ul.js +1 -1
  663. package/es/elements/lib.d.ts +5 -3
  664. package/es/fragments/drawer-list/DrawerListPortal.js +17 -12
  665. package/es/fragments/drawer-list/DrawerListProvider.js +47 -43
  666. package/es/fragments/drawer-list/style/_drawer-list.scss +10 -0
  667. package/es/icons/hierarchy.d.ts +2 -0
  668. package/es/icons/hierarchy.js +28 -0
  669. package/es/icons/hierarchy_medium.d.ts +2 -0
  670. package/es/icons/hierarchy_medium.js +28 -0
  671. package/es/icons/icons-meta.json +42 -0
  672. package/es/icons/icons-pdf.lock +78 -0
  673. package/es/icons/icons-svg.lock +78 -0
  674. package/es/icons/index.d.ts +7 -1
  675. package/es/icons/index.js +7 -1
  676. package/es/icons/layout_card.d.ts +2 -0
  677. package/es/icons/layout_card.js +29 -0
  678. package/es/icons/layout_card_medium.d.ts +2 -0
  679. package/es/icons/layout_card_medium.js +29 -0
  680. package/es/icons/secondary_icons.d.ts +4 -1
  681. package/es/icons/secondary_icons.js +4 -1
  682. package/es/icons/secondary_icons_medium.d.ts +4 -1
  683. package/es/icons/secondary_icons_medium.js +4 -1
  684. package/es/icons/unlock.d.ts +2 -0
  685. package/es/icons/unlock.js +28 -0
  686. package/es/icons/unlock_medium.d.ts +2 -0
  687. package/es/icons/unlock_medium.js +28 -0
  688. package/es/index.d.ts +2 -1
  689. package/es/index.js +2 -1
  690. package/es/shared/Context.d.ts +2 -0
  691. package/es/shared/Eufemia.js +1 -1
  692. package/es/shared/MediaQuery.d.ts +4 -2
  693. package/es/shared/MediaQuery.js +2 -0
  694. package/es/shared/MediaQueryUtils.d.ts +6 -2
  695. package/es/shared/MediaQueryUtils.js +12 -6
  696. package/es/shared/component-helper.d.ts +1 -1
  697. package/es/shared/component-helper.js +2 -8
  698. package/es/shared/index.d.ts +2 -1
  699. package/es/shared/index.js +2 -1
  700. package/es/shared/locales/en-GB.d.ts +15 -0
  701. package/es/shared/locales/en-GB.js +15 -0
  702. package/es/shared/locales/en-US.d.ts +15 -0
  703. package/es/shared/locales/index.d.ts +30 -0
  704. package/es/shared/locales/nb-NO.d.ts +15 -0
  705. package/es/shared/locales/nb-NO.js +15 -0
  706. package/es/shared/types.d.ts +4 -21
  707. package/es/shared/types.js +1 -0
  708. package/es/shared/useMedia.d.ts +25 -0
  709. package/es/shared/useMedia.js +103 -0
  710. package/es/style/core/helper-classes/helper-classes.scss +1 -1
  711. package/es/style/core/utilities.scss +0 -2
  712. package/es/style/dnb-ui-components.css +238 -82
  713. package/es/style/dnb-ui-components.min.css +4 -4
  714. package/es/style/dnb-ui-components.scss +1 -0
  715. package/es/style/dnb-ui-elements.css +24 -19
  716. package/es/style/dnb-ui-elements.min.css +1 -1
  717. package/es/style/dnb-ui-fragments.css +15 -0
  718. package/es/style/dnb-ui-fragments.min.css +1 -1
  719. package/es/style/dnb-ui-tags.css +48 -38
  720. package/es/style/dnb-ui-tags.min.css +1 -1
  721. package/es/style/elements/lists.scss +28 -16
  722. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +63 -19
  723. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  724. package/es/style/themes/theme-ui/dnb-theme-ui.css +63 -19
  725. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  726. package/es/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  727. package/esm/dnb-ui-basis.min.mjs +1 -1
  728. package/esm/dnb-ui-components.min.mjs +4 -4
  729. package/esm/dnb-ui-elements.min.mjs +3 -3
  730. package/esm/dnb-ui-extensions.min.mjs +4 -4
  731. package/esm/dnb-ui-lib.min.mjs +4 -4
  732. package/esm/dnb-ui-web-components.min.mjs +4 -4
  733. package/fragments/drawer-list/DrawerListPortal.js +15 -10
  734. package/fragments/drawer-list/DrawerListProvider.js +48 -45
  735. package/fragments/drawer-list/style/_drawer-list.scss +10 -0
  736. package/icons/hierarchy.d.ts +2 -0
  737. package/icons/hierarchy.js +30 -0
  738. package/icons/hierarchy_medium.d.ts +2 -0
  739. package/icons/hierarchy_medium.js +30 -0
  740. package/icons/icons-meta.json +42 -0
  741. package/icons/icons-pdf.lock +78 -0
  742. package/icons/icons-svg.lock +78 -0
  743. package/icons/index.d.ts +7 -1
  744. package/icons/index.js +7 -1
  745. package/icons/layout_card.d.ts +2 -0
  746. package/icons/layout_card.js +31 -0
  747. package/icons/layout_card_medium.d.ts +2 -0
  748. package/icons/layout_card_medium.js +31 -0
  749. package/icons/secondary_icons.d.ts +4 -1
  750. package/icons/secondary_icons.js +4 -1
  751. package/icons/secondary_icons_medium.d.ts +4 -1
  752. package/icons/secondary_icons_medium.js +4 -1
  753. package/icons/unlock.d.ts +2 -0
  754. package/icons/unlock.js +30 -0
  755. package/icons/unlock_medium.d.ts +2 -0
  756. package/icons/unlock_medium.js +30 -0
  757. package/index.d.ts +2 -1
  758. package/index.js +2 -1
  759. package/package.json +1 -1
  760. package/shared/Context.d.ts +2 -0
  761. package/shared/Eufemia.js +1 -1
  762. package/shared/MediaQuery.d.ts +4 -2
  763. package/shared/MediaQuery.js +2 -0
  764. package/shared/MediaQueryUtils.d.ts +6 -2
  765. package/shared/MediaQueryUtils.js +12 -6
  766. package/shared/component-helper.d.ts +1 -1
  767. package/shared/component-helper.js +2 -9
  768. package/shared/index.d.ts +2 -1
  769. package/shared/index.js +2 -1
  770. package/shared/locales/en-GB.d.ts +15 -0
  771. package/shared/locales/en-GB.js +15 -0
  772. package/shared/locales/en-US.d.ts +15 -0
  773. package/shared/locales/index.d.ts +30 -0
  774. package/shared/locales/nb-NO.d.ts +15 -0
  775. package/shared/locales/nb-NO.js +15 -0
  776. package/shared/types.d.ts +4 -21
  777. package/shared/types.js +1 -0
  778. package/shared/useMedia.d.ts +25 -0
  779. package/shared/useMedia.js +126 -0
  780. package/style/core/helper-classes/helper-classes.scss +1 -1
  781. package/style/core/utilities.scss +0 -2
  782. package/style/dnb-ui-components.css +238 -82
  783. package/style/dnb-ui-components.min.css +4 -4
  784. package/style/dnb-ui-components.scss +1 -0
  785. package/style/dnb-ui-elements.css +24 -19
  786. package/style/dnb-ui-elements.min.css +1 -1
  787. package/style/dnb-ui-fragments.css +15 -0
  788. package/style/dnb-ui-fragments.min.css +1 -1
  789. package/style/dnb-ui-tags.css +48 -38
  790. package/style/dnb-ui-tags.min.css +1 -1
  791. package/style/elements/lists.scss +28 -16
  792. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +63 -19
  793. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  794. package/style/themes/theme-ui/dnb-theme-ui.css +63 -19
  795. package/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  796. package/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  797. package/umd/dnb-ui-basis.min.js +1 -1
  798. package/umd/dnb-ui-components.min.js +5 -5
  799. package/umd/dnb-ui-elements.min.js +4 -4
  800. package/umd/dnb-ui-extensions.min.js +5 -5
  801. package/umd/dnb-ui-lib.min.js +5 -5
  802. package/umd/dnb-ui-web-components.min.js +5 -5
  803. package/cjs/shared/AnimateHeight.d.ts +0 -60
  804. package/es/shared/AnimateHeight.d.ts +0 -60
  805. package/shared/AnimateHeight.d.ts +0 -60
@@ -0,0 +1,6 @@
1
+ import { createContext } from 'react';
2
+ export var defaultProps = {
3
+ fileMaxSize: 5,
4
+ filesAmountLimit: 100
5
+ };
6
+ export var UploadContext = createContext(null);
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { UploadAllProps } from './types';
3
+ export default function UploadDropzone({ children, className, ...rest }: Partial<UploadAllProps>): JSX.Element;
@@ -0,0 +1,90 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
+
5
+ var _svg;
6
+
7
+ var _excluded = ["children", "className"];
8
+ import "core-js/modules/es.object.to-string.js";
9
+ import "core-js/modules/web.dom-collections.for-each.js";
10
+ import "core-js/modules/es.array.from.js";
11
+ import "core-js/modules/es.string.iterator.js";
12
+ import React from 'react';
13
+ import classnames from 'classnames';
14
+ import HeightAnimation from '../height-animation/HeightAnimation';
15
+ import { UploadContext } from './UploadContext';
16
+ export default function UploadDropzone(_ref) {
17
+ var children = _ref.children,
18
+ className = _ref.className,
19
+ rest = _objectWithoutProperties(_ref, _excluded);
20
+
21
+ var props = rest;
22
+ var context = React.useContext(UploadContext);
23
+
24
+ var _React$useState = React.useState(false),
25
+ _React$useState2 = _slicedToArray(_React$useState, 2),
26
+ hover = _React$useState2[0],
27
+ setHover = _React$useState2[1];
28
+
29
+ var hoverTimeout = React.useRef();
30
+ var onInputUpload = context.onInputUpload;
31
+
32
+ var getFiles = function getFiles(event) {
33
+ var fileData = event.dataTransfer;
34
+ var files = [];
35
+ Array.from(fileData.files).forEach(function (file, i) {
36
+ files.push({
37
+ file: file
38
+ });
39
+ });
40
+ return files;
41
+ };
42
+
43
+ var hoverHandler = function hoverHandler(event, state) {
44
+ event.stopPropagation();
45
+ event.preventDefault();
46
+ clearTimers();
47
+ setHover(state);
48
+ };
49
+
50
+ var dropHandler = function dropHandler(event) {
51
+ var files = getFiles(event);
52
+ onInputUpload(files);
53
+ hoverHandler(event, false);
54
+ };
55
+
56
+ var dragEnterHandler = function dragEnterHandler(event) {
57
+ hoverHandler(event, true);
58
+ };
59
+
60
+ var dragLeaveHandler = function dragLeaveHandler(event) {
61
+ hoverHandler(event, false);
62
+ };
63
+
64
+ var clearTimers = function clearTimers() {
65
+ clearTimeout(hoverTimeout.current);
66
+ };
67
+
68
+ React.useEffect(function () {
69
+ return clearTimers;
70
+ }, []);
71
+ return React.createElement(HeightAnimation, _extends({
72
+ className: classnames(className, hover && 'dnb-upload--active'),
73
+ onDrop: dropHandler,
74
+ onDragOver: dragEnterHandler,
75
+ onDragLeave: dragLeaveHandler
76
+ }, props), children, _svg || (_svg = React.createElement("svg", {
77
+ className: "dnb-upload__outline",
78
+ "aria-hidden": true,
79
+ xmlns: "http://www.w3.org/2000/svg",
80
+ fill: "none"
81
+ }, React.createElement("rect", {
82
+ width: "100%",
83
+ height: "100%",
84
+ rx: "0.5rem",
85
+ ry: "0.5rem",
86
+ strokeWidth: "3",
87
+ strokeDashoffset: "4",
88
+ strokeDasharray: "8 8"
89
+ }))));
90
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const UploadFileInput: () => JSX.Element;
3
+ export default UploadFileInput;
@@ -0,0 +1,79 @@
1
+ var _UploadStatus;
2
+
3
+ import "core-js/modules/es.array.reduce.js";
4
+ import "core-js/modules/es.object.to-string.js";
5
+ import "core-js/modules/es.array.concat.js";
6
+ import "core-js/modules/es.array.map.js";
7
+ import "core-js/modules/es.array.from.js";
8
+ import "core-js/modules/es.string.iterator.js";
9
+ import React, { useEffect, useRef } from 'react';
10
+ import Button from '../button/Button';
11
+ import { folder as FolderIcon } from '../../icons';
12
+ import { makeUniqueId } from '../../shared/component-helper';
13
+ import { UploadContext } from './UploadContext';
14
+ import UploadStatus from './UploadStatus';
15
+ import useUpload from './useUpload';
16
+
17
+ var UploadFileInput = function UploadFileInput() {
18
+ var fileInput = useRef(null);
19
+ var context = React.useContext(UploadContext);
20
+ var id = context.id,
21
+ acceptedFileTypes = context.acceptedFileTypes,
22
+ buttonText = context.buttonText,
23
+ onInputUpload = context.onInputUpload,
24
+ filesAmountLimit = context.filesAmountLimit;
25
+
26
+ var _useUpload = useUpload(id),
27
+ internalFiles = _useUpload.internalFiles;
28
+
29
+ var accept = acceptedFileTypes.reduce(function (accept, format, index) {
30
+ var previus = index === 0 ? '' : "".concat(accept, ",");
31
+ return "".concat(previus, " .").concat(format);
32
+ }, '');
33
+ useEffect(function () {
34
+ fileInput.current.value = null;
35
+ fileInput.current.accept = accept;
36
+ }, []);
37
+
38
+ var openFileDialog = function openFileDialog() {
39
+ var _fileInput$current;
40
+
41
+ return (_fileInput$current = fileInput.current) === null || _fileInput$current === void 0 ? void 0 : _fileInput$current.click();
42
+ };
43
+
44
+ var sharedId = id || makeUniqueId();
45
+ return React.createElement("div", {
46
+ "data-testid": "upload-file-input"
47
+ }, React.createElement(Button, {
48
+ top: "medium",
49
+ id: "".concat(sharedId, "-input"),
50
+ "data-testid": "upload-file-input-button",
51
+ className: "dnb-upload__file-input-button",
52
+ icon: FolderIcon,
53
+ icon_position: "left",
54
+ variant: "secondary",
55
+ wrap: true,
56
+ onClick: openFileDialog,
57
+ disabled: internalFiles.length > filesAmountLimit
58
+ }, buttonText), _UploadStatus || (_UploadStatus = React.createElement(UploadStatus, null)), React.createElement("input", {
59
+ "aria-labelledby": "".concat(sharedId, "-input"),
60
+ "data-testid": "upload-file-input-input",
61
+ ref: fileInput,
62
+ className: "dnb-upload__file-input",
63
+ type: "file",
64
+ onChange: handleFileInput,
65
+ multiple: filesAmountLimit > 1
66
+ }));
67
+
68
+ function handleFileInput(event) {
69
+ var target = event.target;
70
+ var files = target.files;
71
+ onInputUpload(Array.from(files).map(function (file) {
72
+ return {
73
+ file: file
74
+ };
75
+ }));
76
+ }
77
+ };
78
+
79
+ export default UploadFileInput;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare function UploadFileList(): JSX.Element;
3
+ export default UploadFileList;
@@ -0,0 +1,62 @@
1
+ import "core-js/modules/es.array.map.js";
2
+ import "core-js/modules/es.array.filter.js";
3
+ import "core-js/modules/es.object.to-string.js";
4
+ import React from 'react';
5
+ import { UploadContext } from './UploadContext';
6
+ import UploadFileListCell from './UploadFileListCell';
7
+ import useUpload from './useUpload';
8
+
9
+ function UploadFileList() {
10
+ var context = React.useContext(UploadContext);
11
+ var id = context.id,
12
+ fileListAriaLabel = context.fileListAriaLabel,
13
+ deleteButton = context.deleteButton,
14
+ loadingText = context.loadingText,
15
+ onFileDelete = context.onFileDelete,
16
+ onChange = context.onChange;
17
+
18
+ var _useUpload = useUpload(id),
19
+ files = _useUpload.files,
20
+ setFiles = _useUpload.setFiles,
21
+ setInternalFiles = _useUpload.setInternalFiles;
22
+
23
+ if (files == null || files.length < 1) {
24
+ return null;
25
+ }
26
+
27
+ return React.createElement("ul", {
28
+ "data-testid": "upload-file-list",
29
+ className: "dnb-upload__file-list",
30
+ "aria-label": fileListAriaLabel
31
+ }, files.map(function (uploadFile, index) {
32
+ var onDeleteHandler = function onDeleteHandler() {
33
+ if (typeof onFileDelete === 'function') {
34
+ onFileDelete({
35
+ fileItem: uploadFile
36
+ });
37
+ }
38
+
39
+ var cleanedFiles = files.filter(function (fileListElement) {
40
+ return fileListElement.file != uploadFile.file;
41
+ });
42
+ setFiles(cleanedFiles);
43
+ setInternalFiles(cleanedFiles);
44
+
45
+ if (typeof onChange === 'function') {
46
+ onChange({
47
+ files: cleanedFiles
48
+ });
49
+ }
50
+ };
51
+
52
+ return React.createElement(UploadFileListCell, {
53
+ key: index,
54
+ uploadFile: uploadFile,
55
+ onDelete: onDeleteHandler,
56
+ deleteButtonText: deleteButton,
57
+ loadingText: loadingText
58
+ });
59
+ }));
60
+ }
61
+
62
+ export default UploadFileList;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { UploadFile } from './types';
3
+ export declare type UploadFileListCellProps = {
4
+ /**
5
+ * Uploaded file
6
+ */
7
+ uploadFile: UploadFile;
8
+ /**
9
+ * Calls onDelete when clicking the delete button
10
+ */
11
+ onDelete: () => void;
12
+ /**
13
+ * Text
14
+ */
15
+ loadingText: React.ReactNode;
16
+ deleteButtonText: React.ReactNode;
17
+ };
18
+ declare const UploadFileListCell: ({ uploadFile, onDelete, loadingText, deleteButtonText, }: UploadFileListCellProps) => JSX.Element;
19
+ export default UploadFileListCell;
@@ -0,0 +1,128 @@
1
+ var _ProgressIndicator, _Icon;
2
+
3
+ import "core-js/modules/es.function.name.js";
4
+ import "core-js/modules/es.regexp.exec.js";
5
+ import "core-js/modules/es.string.split.js";
6
+ import "core-js/modules/es.array.iterator.js";
7
+ import "core-js/modules/es.object.to-string.js";
8
+ import "core-js/modules/es.string.iterator.js";
9
+ import "core-js/modules/web.dom-collections.iterator.js";
10
+ import "core-js/modules/web.url.js";
11
+ import "core-js/modules/web.url-search-params.js";
12
+ import React, { useRef } from 'react';
13
+ import Button from '../button/Button';
14
+ import Icon from '../../components/Icon';
15
+ import FormStatus from '../../components/FormStatus';
16
+ import ProgressIndicator from '../../components/progress-indicator';
17
+ import P from '../../elements/P';
18
+ import { trash as TrashIcon, exclamation_medium as ExclamationIcon, file_pdf_medium as pdf, file_xls_medium as xls, file_ppt_medium as ppt, file_csv_medium as csv, file_txt_medium as txt, file_xml_medium as xml, file_medium as file } from '../../icons';
19
+ import { getPreviousSibling, warn } from '../../shared/component-helper';
20
+ var images = {
21
+ pdf: pdf,
22
+ xls: xls,
23
+ ppt: ppt,
24
+ csv: csv,
25
+ txt: txt,
26
+ xml: xml,
27
+ file: file
28
+ };
29
+
30
+ var UploadFileListCell = function UploadFileListCell(_ref) {
31
+ var _div, _a, _FormStatus;
32
+
33
+ var uploadFile = _ref.uploadFile,
34
+ onDelete = _ref.onDelete,
35
+ loadingText = _ref.loadingText,
36
+ deleteButtonText = _ref.deleteButtonText;
37
+ var file = uploadFile.file,
38
+ errorMessage = uploadFile.errorMessage,
39
+ isLoading = uploadFile.isLoading;
40
+ var name = file.name,
41
+ type = file.type;
42
+ var fileType = type.split('/')[1];
43
+ var hasWarning = errorMessage != null;
44
+ var imageUrl = URL.createObjectURL(file);
45
+ var cellRef = useRef();
46
+
47
+ var handleDisappearFocus = function handleDisappearFocus() {
48
+ try {
49
+ var cellElement = cellRef.current;
50
+ var focusElement = getPreviousSibling('.dnb-upload', cellElement).querySelector('.dnb-upload__file-input-button');
51
+ focusElement.focus();
52
+ } catch (e) {
53
+ warn(e);
54
+ }
55
+ };
56
+
57
+ var onDeleteHandler = function onDeleteHandler() {
58
+ handleDisappearFocus();
59
+ onDelete();
60
+ };
61
+
62
+ return React.createElement("li", {
63
+ "data-testid": "upload-file-list-cell",
64
+ className: 'dnb-upload__file-cell' + (hasWarning ? " dnb-upload__file-cell--warning" : ""),
65
+ ref: cellRef
66
+ }, React.createElement("div", {
67
+ className: "dnb-upload__file-cell__content"
68
+ }, React.createElement("div", {
69
+ className: "dnb-upload__file-cell__content__left"
70
+ }, getIcon(), getTitle()), React.createElement("div", null, React.createElement(Button, {
71
+ "data-testid": "upload-delete-button",
72
+ icon: TrashIcon,
73
+ variant: "tertiary",
74
+ onClick: onDeleteHandler,
75
+ icon_position: "left"
76
+ }, deleteButtonText))), getWarning());
77
+
78
+ function getIcon() {
79
+ if (isLoading) {
80
+ return _ProgressIndicator || (_ProgressIndicator = React.createElement(ProgressIndicator, {
81
+ "data-testid": "upload-progress-indicator"
82
+ }));
83
+ }
84
+
85
+ if (hasWarning) return _Icon || (_Icon = React.createElement(Icon, {
86
+ icon: ExclamationIcon
87
+ }));
88
+ var iconFileType = fileType;
89
+
90
+ if (!Object.prototype.hasOwnProperty.call(images, fileType)) {
91
+ iconFileType = 'file';
92
+ }
93
+
94
+ return React.createElement(Icon, {
95
+ icon: images[iconFileType]
96
+ });
97
+ }
98
+
99
+ function getTitle() {
100
+ return isLoading ? _div || (_div = React.createElement("div", {
101
+ className: "dnb-upload__file-cell__text-container dnb-upload__file-cell__text-container--loading"
102
+ }, loadingText)) : React.createElement("div", {
103
+ className: "dnb-upload__file-cell__text-container"
104
+ }, _a || (_a = React.createElement("a", {
105
+ "data-testid": "upload-file-anchor",
106
+ target: "_blank",
107
+ href: imageUrl,
108
+ className: "dnb-anchor dnb-upload__file-cell__title",
109
+ rel: "noopener noreferrer"
110
+ }, name)), React.createElement(P, {
111
+ "data-testid": "upload-subtitle",
112
+ className: "dnb-upload__file-cell__subtitle",
113
+ size: "x-small",
114
+ top: "xx-small"
115
+ }, fileType.toUpperCase()));
116
+ }
117
+
118
+ function getWarning() {
119
+ return hasWarning ? _FormStatus || (_FormStatus = React.createElement(FormStatus, {
120
+ "data-testid": "upload-warning",
121
+ top: "small",
122
+ text: errorMessage,
123
+ stretch: true
124
+ })) : null;
125
+ }
126
+ };
127
+
128
+ export default UploadFileListCell;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const UploadInfo: () => JSX.Element;
3
+ export default UploadInfo;
@@ -0,0 +1,48 @@
1
+ import "core-js/modules/es.array.join.js";
2
+ import "core-js/modules/es.regexp.exec.js";
3
+ import "core-js/modules/es.string.replace.js";
4
+ import "core-js/modules/es.object.to-string.js";
5
+ import "core-js/modules/es.regexp.to-string.js";
6
+ import React from 'react';
7
+ import { defaultProps, UploadContext } from './UploadContext';
8
+ import Lead from '../../elements/Lead';
9
+ import P from '../../elements/P';
10
+ import Dl from '../../elements/Dl';
11
+ import Dt from '../../elements/Dt';
12
+ import Dd from '../../elements/Dd';
13
+ import { format } from '../number-format/NumberUtils';
14
+
15
+ var UploadInfo = function UploadInfo() {
16
+ var context = React.useContext(UploadContext);
17
+ var title = context.title,
18
+ text = context.text,
19
+ acceptedFileTypes = context.acceptedFileTypes,
20
+ fileTypeDescription = context.fileTypeDescription,
21
+ fileSizeDescription = context.fileSizeDescription,
22
+ fileAmountDescription = context.fileAmountDescription,
23
+ fileSizeContent = context.fileSizeContent,
24
+ filesAmountLimit = context.filesAmountLimit,
25
+ fileMaxSize = context.fileMaxSize;
26
+ var prettyfiedAcceptedFileFormats = acceptedFileTypes.join(', ').toUpperCase();
27
+ return React.createElement(React.Fragment, null, React.createElement(Lead, {
28
+ "data-testid": "upload-title",
29
+ space: "0"
30
+ }, title), React.createElement(P, {
31
+ "data-testid": "upload-text",
32
+ top: "xx-small",
33
+ className: "dnb-upload__text"
34
+ }, text), React.createElement(Dl, {
35
+ top: "small",
36
+ bottom: 0,
37
+ direction: "horizontal",
38
+ className: "dnb-upload__condition-list"
39
+ }, React.createElement(Dl.Item, null, React.createElement(Dt, {
40
+ "data-testid": "upload-accepted-formats"
41
+ }, fileTypeDescription), React.createElement(Dd, null, prettyfiedAcceptedFileFormats)), React.createElement(Dl.Item, null, React.createElement(Dt, {
42
+ "data-testid": "upload-file-size"
43
+ }, fileSizeDescription), React.createElement(Dd, null, String(fileSizeContent).replace('%size', format(fileMaxSize).toString()))), filesAmountLimit < defaultProps.filesAmountLimit && React.createElement(Dl.Item, null, React.createElement(Dt, {
44
+ "data-testid": "upload-file-amount-limit"
45
+ }, fileAmountDescription), React.createElement(Dd, null, filesAmountLimit))));
46
+ };
47
+
48
+ export default UploadInfo;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const UploadStatus: () => JSX.Element;
3
+ export default UploadStatus;
@@ -0,0 +1,26 @@
1
+ import "core-js/modules/es.regexp.exec.js";
2
+ import "core-js/modules/es.string.replace.js";
3
+ import React from 'react';
4
+ import { UploadContext } from './UploadContext';
5
+ import FormStatus from '../FormStatus';
6
+ import useUpload from './useUpload';
7
+ import HeightAnimation from '../height-animation/HeightAnimation';
8
+
9
+ var UploadStatus = function UploadStatus() {
10
+ var context = React.useContext(UploadContext);
11
+ var id = context.id,
12
+ filesAmountLimit = context.filesAmountLimit,
13
+ errorAmountLimit = context.errorAmountLimit;
14
+
15
+ var _useUpload = useUpload(id),
16
+ internalFiles = _useUpload.internalFiles;
17
+
18
+ return React.createElement(HeightAnimation, {
19
+ open: internalFiles.length > filesAmountLimit
20
+ }, React.createElement(FormStatus, {
21
+ top: true,
22
+ stretch: true
23
+ }, String(errorAmountLimit).replace('%amount', String(filesAmountLimit))));
24
+ };
25
+
26
+ export default UploadStatus;
@@ -0,0 +1,2 @@
1
+ import { UploadContextProps, UploadFile } from './types';
2
+ export declare function verifyFiles(files: UploadFile[], context: Pick<UploadContextProps, 'errorUnsupportedFile' | 'errorLargeFile' | 'acceptedFileTypes' | 'fileMaxSize'>): UploadFile[];
@@ -0,0 +1,42 @@
1
+ import "core-js/modules/es.regexp.exec.js";
2
+ import "core-js/modules/es.string.replace.js";
3
+ import "core-js/modules/es.object.to-string.js";
4
+ import "core-js/modules/es.regexp.to-string.js";
5
+ import "core-js/modules/es.array.includes.js";
6
+ import "core-js/modules/es.string.includes.js";
7
+ import "core-js/modules/es.array.map.js";
8
+ import { format } from '../number-format/NumberUtils';
9
+ var BYTES_IN_A_MEGA_BYTE = 1048576;
10
+ export function verifyFiles(files, context) {
11
+ var fileMaxSize = context.fileMaxSize,
12
+ acceptedFileTypes = context.acceptedFileTypes,
13
+ errorLargeFile = context.errorLargeFile,
14
+ errorUnsupportedFile = context.errorUnsupportedFile;
15
+
16
+ var handleSize = function handleSize(file) {
17
+ return file.size / BYTES_IN_A_MEGA_BYTE > fileMaxSize ? String(errorLargeFile).replace('%size', format(fileMaxSize).toString()) : null;
18
+ };
19
+
20
+ var handleType = function handleType(file) {
21
+ if (acceptedFileTypes.length === 0) {
22
+ return false;
23
+ }
24
+
25
+ var foundType = acceptedFileTypes.some(function (type) {
26
+ return file.type.includes(type);
27
+ });
28
+ return !foundType ? errorUnsupportedFile : null;
29
+ };
30
+
31
+ var cleanedFiles = files.map(function (item) {
32
+ var file = item.file;
33
+ var errorMessage = handleSize(file) || handleType(file);
34
+
35
+ if (errorMessage) {
36
+ item.errorMessage = errorMessage;
37
+ }
38
+
39
+ return item;
40
+ });
41
+ return cleanedFiles;
42
+ }
@@ -0,0 +1,3 @@
1
+ export default Upload;
2
+ export * from "./Upload";
3
+ import Upload from "./Upload";
@@ -0,0 +1,3 @@
1
+ import Upload from './Upload';
2
+ export default Upload;
3
+ export * from './Upload';
@@ -0,0 +1,91 @@
1
+ /*
2
+ * Upload component
3
+ *
4
+ */
5
+
6
+ .dnb-upload {
7
+ display: flex;
8
+ flex-direction: column;
9
+
10
+ position: relative;
11
+ padding: var(--spacing-medium);
12
+
13
+ @include allBelow(small) {
14
+ padding: var(--spacing-medium) var(--spacing-small);
15
+ }
16
+
17
+ background-color: var(--color-white);
18
+
19
+ // svg element
20
+ &__outline {
21
+ content: '';
22
+
23
+ pointer-events: none;
24
+
25
+ position: absolute;
26
+ inset: 0;
27
+
28
+ height: 100%;
29
+ width: 100%;
30
+ }
31
+
32
+ &__file-input {
33
+ position: absolute;
34
+ visibility: hidden;
35
+ }
36
+
37
+ &__file-list {
38
+ position: relative;
39
+
40
+ padding: 0;
41
+ margin-top: var(--spacing-medium);
42
+ margin-bottom: 0;
43
+
44
+ list-style: none;
45
+ }
46
+
47
+ // Border on top/bottom of list items
48
+ &__file-list::before,
49
+ &__file-cell::after {
50
+ content: '';
51
+ position: absolute;
52
+ inset: 0;
53
+ height: 1px;
54
+ background-color: var(--color-black-8);
55
+ }
56
+
57
+ &__file-cell {
58
+ position: relative;
59
+ padding: var(--spacing-small) 0;
60
+
61
+ // Align border to bottom
62
+ &::after {
63
+ top: auto;
64
+ }
65
+
66
+ &__content {
67
+ display: flex;
68
+ flex-direction: row;
69
+
70
+ justify-content: space-between;
71
+ align-items: center;
72
+
73
+ &__left {
74
+ display: flex;
75
+ flex-direction: row;
76
+ align-items: center;
77
+ }
78
+ }
79
+
80
+ &__text-container {
81
+ display: flex;
82
+ flex-direction: column;
83
+
84
+ margin-left: var(--spacing-small);
85
+
86
+ &--loading {
87
+ font-size: var(--font-size-basis);
88
+ }
89
+ }
90
+ }
91
+ }