@dnb/eufemia 9.34.3 → 9.35.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 (142) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +6 -0
  3. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  4. package/cjs/components/global-status/style/dnb-global-status.css +6 -0
  5. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  6. package/cjs/components/section/Section.d.ts +2 -2
  7. package/cjs/components/section/style/_section.scss +8 -0
  8. package/cjs/components/section/style/dnb-section.css +6 -0
  9. package/cjs/components/section/style/dnb-section.min.css +1 -1
  10. package/cjs/components/space/Space.d.ts +0 -2
  11. package/cjs/components/space/Space.js +16 -10
  12. package/cjs/components/tabs/Tabs.d.ts +2 -2
  13. package/cjs/components/tabs/Tabs.js +6 -11
  14. package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -1
  15. package/cjs/components/tabs/TabsContentWrapper.js +6 -4
  16. package/cjs/components/tabs/style/_tabs.scss +15 -2
  17. package/cjs/components/tabs/style/dnb-tabs.css +14 -2
  18. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  19. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +3 -3
  20. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -1
  21. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.css +3 -3
  22. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  23. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.scss +4 -1
  24. package/cjs/components/upload/Upload.js +14 -17
  25. package/cjs/components/upload/UploadFileInput.js +17 -22
  26. package/cjs/components/upload/UploadFileList.js +1 -0
  27. package/cjs/components/upload/UploadFileListCell.d.ts +2 -1
  28. package/cjs/components/upload/UploadFileListCell.js +65 -7
  29. package/cjs/components/upload/UploadVerify.d.ts +4 -1
  30. package/cjs/components/upload/UploadVerify.js +67 -1
  31. package/cjs/components/upload/style/themes/dnb-upload-theme-ui.css +16 -3
  32. package/cjs/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -1
  33. package/cjs/components/upload/style/themes/dnb-upload-theme-ui.scss +9 -0
  34. package/cjs/components/upload/types.d.ts +3 -1
  35. package/cjs/components/upload/useUpload.d.ts +1 -2
  36. package/cjs/components/upload/useUpload.js +19 -3
  37. package/cjs/shared/Eufemia.js +1 -1
  38. package/cjs/style/dnb-ui-components.css +20 -2
  39. package/cjs/style/dnb-ui-components.min.css +2 -2
  40. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +22 -9
  41. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  42. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +19 -6
  43. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  44. package/components/breadcrumb/style/dnb-breadcrumb.css +6 -0
  45. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  46. package/components/global-status/style/dnb-global-status.css +6 -0
  47. package/components/global-status/style/dnb-global-status.min.css +1 -1
  48. package/components/section/Section.d.ts +2 -2
  49. package/components/section/style/_section.scss +8 -0
  50. package/components/section/style/dnb-section.css +6 -0
  51. package/components/section/style/dnb-section.min.css +1 -1
  52. package/components/space/Space.d.ts +0 -2
  53. package/components/space/Space.js +15 -9
  54. package/components/tabs/Tabs.d.ts +2 -2
  55. package/components/tabs/Tabs.js +6 -11
  56. package/components/tabs/TabsContentWrapper.d.ts +1 -1
  57. package/components/tabs/TabsContentWrapper.js +5 -4
  58. package/components/tabs/style/_tabs.scss +15 -2
  59. package/components/tabs/style/dnb-tabs.css +14 -2
  60. package/components/tabs/style/dnb-tabs.min.css +1 -1
  61. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +3 -3
  62. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -1
  63. package/components/tabs/style/themes/dnb-tabs-theme-ui.css +3 -3
  64. package/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  65. package/components/tabs/style/themes/dnb-tabs-theme-ui.scss +4 -1
  66. package/components/upload/Upload.js +11 -15
  67. package/components/upload/UploadFileInput.js +16 -21
  68. package/components/upload/UploadFileList.js +1 -0
  69. package/components/upload/UploadFileListCell.d.ts +2 -1
  70. package/components/upload/UploadFileListCell.js +44 -3
  71. package/components/upload/UploadVerify.d.ts +4 -1
  72. package/components/upload/UploadVerify.js +27 -1
  73. package/components/upload/style/themes/dnb-upload-theme-ui.css +16 -3
  74. package/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -1
  75. package/components/upload/style/themes/dnb-upload-theme-ui.scss +9 -0
  76. package/components/upload/types.d.ts +3 -1
  77. package/components/upload/useUpload.d.ts +1 -2
  78. package/components/upload/useUpload.js +17 -3
  79. package/es/components/breadcrumb/style/dnb-breadcrumb.css +6 -0
  80. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  81. package/es/components/global-status/style/dnb-global-status.css +6 -0
  82. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  83. package/es/components/section/Section.d.ts +2 -2
  84. package/es/components/section/style/_section.scss +8 -0
  85. package/es/components/section/style/dnb-section.css +6 -0
  86. package/es/components/section/style/dnb-section.min.css +1 -1
  87. package/es/components/space/Space.d.ts +0 -2
  88. package/es/components/space/Space.js +15 -9
  89. package/es/components/tabs/Tabs.d.ts +2 -2
  90. package/es/components/tabs/Tabs.js +6 -11
  91. package/es/components/tabs/TabsContentWrapper.d.ts +1 -1
  92. package/es/components/tabs/TabsContentWrapper.js +5 -4
  93. package/es/components/tabs/style/_tabs.scss +15 -2
  94. package/es/components/tabs/style/dnb-tabs.css +14 -2
  95. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  96. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +3 -3
  97. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -1
  98. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.css +3 -3
  99. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  100. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.scss +4 -1
  101. package/es/components/upload/Upload.js +11 -13
  102. package/es/components/upload/UploadFileInput.js +13 -17
  103. package/es/components/upload/UploadFileList.js +1 -0
  104. package/es/components/upload/UploadFileListCell.d.ts +2 -1
  105. package/es/components/upload/UploadFileListCell.js +36 -2
  106. package/es/components/upload/UploadVerify.d.ts +4 -1
  107. package/es/components/upload/UploadVerify.js +12 -1
  108. package/es/components/upload/style/themes/dnb-upload-theme-ui.css +16 -3
  109. package/es/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -1
  110. package/es/components/upload/style/themes/dnb-upload-theme-ui.scss +9 -0
  111. package/es/components/upload/types.d.ts +3 -1
  112. package/es/components/upload/useUpload.d.ts +1 -2
  113. package/es/components/upload/useUpload.js +15 -3
  114. package/es/shared/Eufemia.js +1 -1
  115. package/es/style/dnb-ui-components.css +20 -2
  116. package/es/style/dnb-ui-components.min.css +2 -2
  117. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +22 -9
  118. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  119. package/es/style/themes/theme-ui/dnb-theme-ui.css +19 -6
  120. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  121. package/esm/dnb-ui-lib.min.mjs +2 -2
  122. package/package.json +1 -1
  123. package/shared/Eufemia.js +1 -1
  124. package/style/dnb-ui-components.css +20 -2
  125. package/style/dnb-ui-components.min.css +2 -2
  126. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +22 -9
  127. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  128. package/style/themes/theme-ui/dnb-theme-ui.css +19 -6
  129. package/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  130. package/umd/dnb-ui-lib.min.js +3 -3
  131. package/esm/dnb-ui-basis.min.mjs +0 -5
  132. package/esm/dnb-ui-components.min.mjs +0 -17
  133. package/esm/dnb-ui-elements.min.mjs +0 -16
  134. package/esm/dnb-ui-extensions.min.mjs +0 -17
  135. package/esm/dnb-ui-icons.min.mjs +0 -1
  136. package/esm/dnb-ui-web-components.min.mjs +0 -17
  137. package/umd/dnb-ui-basis.min.js +0 -12
  138. package/umd/dnb-ui-components.min.js +0 -24
  139. package/umd/dnb-ui-elements.min.js +0 -23
  140. package/umd/dnb-ui-extensions.min.js +0 -24
  141. package/umd/dnb-ui-icons.min.js +0 -1
  142. package/umd/dnb-ui-web-components.min.js +0 -24
@@ -1 +1 @@
1
- .dnb-upload{background-color:#fff;background-color:var(--color-white);border-radius:.5rem}.dnb-upload__outline{stroke:#007272;stroke:var(--color-sea-green);stroke-width:.1875rem;border-radius:.5rem}.dnb-upload--active .dnb-upload__outline{stroke:#14555a;stroke:var(--color-emerald-green);bottom:-1px;height:calc(100% + 2px);inset:-1px;left:-1px;right:-1px;top:-1px;width:calc(100% + 2px)}.dnb-upload--active .dnb-upload__outline rect{stroke-width:.25rem;stroke-dasharray:0}.dnb-upload--active{background-color:#f2f4ec;background-color:var(--color-pistachio)}.dnb-upload__file-cell--warning .dnb-upload__file-cell__content__left .dnb-icon{color:#dc2a2a;color:var(--color-fire-red)}.dnb-upload__subtitle.dnb-p,.dnb-upload__text.dnb-p{color:#737373;color:var(--color-black-55)}
1
+ .dnb-upload{background-color:#fff;background-color:var(--color-white);border-radius:.5rem}.dnb-upload__outline{stroke:#007272;stroke:var(--color-sea-green);stroke-width:.1875rem;border-radius:.5rem}.dnb-upload--active .dnb-upload__outline{stroke:#14555a;stroke:var(--color-emerald-green);bottom:-1px;height:calc(100% + 2px);inset:-1px;left:-1px;right:-1px;top:-1px;width:calc(100% + 2px)}.dnb-upload--active .dnb-upload__outline rect{stroke-width:.25rem;stroke-dasharray:0}.dnb-upload--active{background-color:#f2f4ec;background-color:var(--color-pistachio)}.dnb-upload__file-cell{-webkit-transition:background-color;transition:background-color;-webkit-transition-duration:1.5s;transition-duration:1.5s;-webkit-transition-timing-function:cubic-bezier(.42,0,0,1);transition-timing-function:cubic-bezier(.42,0,0,1);-webkit-transition-timing-function:var(--easing-default);transition-timing-function:var(--easing-default)}.dnb-upload__file-cell--warning .dnb-upload__file-cell__content__left .dnb-icon{color:#dc2a2a;color:var(--color-fire-red)}.dnb-upload__file-cell--highlight{background-color:#fbf6ec;background-color:var(--color-sand-yellow)}.dnb-upload__subtitle.dnb-p,.dnb-upload__text.dnb-p{color:#737373;color:var(--color-black-55)}
@@ -35,6 +35,15 @@
35
35
  &--warning &__content__left .dnb-icon {
36
36
  color: var(--color-fire-red);
37
37
  }
38
+
39
+ /** Highlight Animation */
40
+ transition: background-color;
41
+ transition-duration: 1.5s;
42
+ transition-timing-function: var(--easing-default);
43
+
44
+ &--highlight {
45
+ background-color: var(--color-sand-yellow);
46
+ }
38
47
  }
39
48
 
40
49
  &__text.dnb-p {
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { SkeletonShow } from '../skeleton/Skeleton';
3
3
  import { LocaleProps, SpacingProps } from '../../shared/types';
4
+ export declare type UploadAcceptedFileTypes = string[];
4
5
  export declare type UploadProps = {
5
6
  /**
6
7
  * unique id used with the useUpload hook to manage the files
@@ -9,7 +10,7 @@ export declare type UploadProps = {
9
10
  /**
10
11
  * list of accepted file types.
11
12
  */
12
- acceptedFileTypes: string[];
13
+ acceptedFileTypes: UploadAcceptedFileTypes;
13
14
  /**
14
15
  * Skeleton should be applied when loading content
15
16
  * Default: null
@@ -63,5 +64,6 @@ export declare type UploadFile = {
63
64
  file: File;
64
65
  errorMessage?: React.ReactNode;
65
66
  isLoading?: boolean;
67
+ exists?: boolean;
66
68
  id?: string;
67
69
  };
@@ -4,11 +4,10 @@ export declare type useUploadReturn = {
4
4
  setFiles: (files: UploadFile[]) => void;
5
5
  internalFiles: UploadFile[];
6
6
  setInternalFiles: (files: UploadFile[]) => void;
7
+ existsInFiles: (file: File, fileItems?: UploadFile[]) => boolean;
7
8
  };
8
9
  /**
9
10
  * Use together with Upload with the same id to manage the files from outside the component.
10
- * @param id string, must match the id of the Upload component
11
- * @returns { files: UploadFile[], setFiles: (file: UploadFile[]) => void }
12
11
  */
13
12
  declare function useUpload(id: string): useUploadReturn;
14
13
  export default useUpload;
@@ -18,11 +18,23 @@ function useUpload(id) {
18
18
  });
19
19
  };
20
20
 
21
+ const files = (data === null || data === void 0 ? void 0 : data.files) || [];
22
+ const internalFiles = (data === null || data === void 0 ? void 0 : data.internalFiles) || [];
23
+
24
+ const existsInFiles = (file, fileItems = files) => {
25
+ return fileItems.some(({
26
+ file: f
27
+ }) => {
28
+ return f.name === file.name && f.size === file.size && f.lastModified === file.lastModified;
29
+ });
30
+ };
31
+
21
32
  return {
22
- files: (data === null || data === void 0 ? void 0 : data.files) || [],
33
+ files,
23
34
  setFiles,
24
- internalFiles: (data === null || data === void 0 ? void 0 : data.internalFiles) || [],
25
- setInternalFiles
35
+ internalFiles,
36
+ setInternalFiles,
37
+ existsInFiles
26
38
  };
27
39
  }
28
40
 
@@ -2,7 +2,7 @@ export function init() {
2
2
  if (typeof window !== 'undefined') {
3
3
  class Eufemia {
4
4
  get version() {
5
- return '9.34.3';
5
+ return '__VERSION__';
6
6
  }
7
7
 
8
8
  }
@@ -5394,6 +5394,12 @@ html[data-dnb-modal-active] {
5394
5394
  .dnb-section--spacing-medium {
5395
5395
  padding: 1.5rem 0;
5396
5396
  padding: var(--spacing-medium) 0; }
5397
+ .dnb-section--spacing-x-large {
5398
+ padding: 3rem 0;
5399
+ padding: var(--spacing-x-large) 0; }
5400
+ .dnb-section--spacing-xx-large {
5401
+ padding: 3.5rem 0;
5402
+ padding: var(--spacing-xx-large) 0; }
5397
5403
  .dnb-section--spacing, .dnb-section--spacing-large {
5398
5404
  padding: 2rem 0;
5399
5405
  padding: var(--spacing-large) 0; }
@@ -7536,13 +7542,25 @@ span.dnb-space--no-collapse > span {
7536
7542
  /* stylelint-enable */ }
7537
7543
  html[data-whatinput='keyboard'] .dnb-tabs__button__snap:last-of-type.focus .dnb-tabs__button:focus {
7538
7544
  margin-right: 0.5rem; }
7545
+ .dnb-tabs__cached {
7546
+ opacity: 1;
7547
+ -webkit-transition: opacity 1s cubic-bezier(0.42, 0, 0, 1);
7548
+ transition: opacity 1s cubic-bezier(0.42, 0, 0, 1);
7549
+ -webkit-transition: opacity 1s var(--easing-default);
7550
+ transition: opacity 1s var(--easing-default); }
7551
+ .dnb-tabs__cached--hidden {
7552
+ opacity: 0;
7553
+ visibility: hidden;
7554
+ height: 0 !important;
7555
+ overflow: hidden; }
7556
+ html[data-visual-test] .dnb-tabs .dnb-tabs__cached,
7539
7557
  html[data-visual-test] .dnb-tabs .dnb-tabs__button,
7540
7558
  html[data-visual-test] .dnb-tabs .dnb-tabs__button__snap,
7541
7559
  html[data-visual-test] .dnb-tabs .dnb-tabs__scroll-nav-button {
7542
7560
  -webkit-transition: none !important;
7543
7561
  transition: none !important; }
7544
- .dnb-tabs__content--spacing {
7545
- padding-top: 2rem; }
7562
+ .dnb-tabs__content {
7563
+ padding-bottom: 0; }
7546
7564
 
7547
7565
  /*
7548
7566
  * Tag component