@dnb/eufemia 9.34.3 → 9.36.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 (167) hide show
  1. package/CHANGELOG.md +33 -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 +18 -12
  12. package/cjs/components/space/SpacingUtils.d.ts +14 -9
  13. package/cjs/components/space/SpacingUtils.js +59 -45
  14. package/cjs/components/step-indicator/StepIndicatorSidebar.js +5 -1
  15. package/cjs/components/tabs/Tabs.d.ts +2 -2
  16. package/cjs/components/tabs/Tabs.js +6 -11
  17. package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -1
  18. package/cjs/components/tabs/TabsContentWrapper.js +6 -4
  19. package/cjs/components/tabs/style/_tabs.scss +15 -2
  20. package/cjs/components/tabs/style/dnb-tabs.css +14 -2
  21. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  22. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +3 -3
  23. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -1
  24. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.css +3 -3
  25. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  26. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.scss +4 -1
  27. package/cjs/components/upload/Upload.js +14 -17
  28. package/cjs/components/upload/UploadFileInput.js +17 -22
  29. package/cjs/components/upload/UploadFileList.js +1 -0
  30. package/cjs/components/upload/UploadFileListCell.d.ts +2 -1
  31. package/cjs/components/upload/UploadFileListCell.js +65 -7
  32. package/cjs/components/upload/UploadVerify.d.ts +4 -1
  33. package/cjs/components/upload/UploadVerify.js +67 -1
  34. package/cjs/components/upload/style/themes/dnb-upload-theme-ui.css +16 -3
  35. package/cjs/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -1
  36. package/cjs/components/upload/style/themes/dnb-upload-theme-ui.scss +9 -0
  37. package/cjs/components/upload/types.d.ts +3 -1
  38. package/cjs/components/upload/useUpload.d.ts +1 -2
  39. package/cjs/components/upload/useUpload.js +19 -3
  40. package/cjs/elements/Element.d.ts +1 -1
  41. package/cjs/shared/Eufemia.js +1 -1
  42. package/cjs/shared/MediaQueryUtils.d.ts +1 -5
  43. package/cjs/shared/MediaQueryUtils.js +1 -7
  44. package/cjs/shared/SpacingHelper.d.ts +6 -1
  45. package/cjs/shared/useMedia.js +1 -2
  46. package/cjs/shared/useMediaQuery.js +4 -2
  47. package/cjs/style/dnb-ui-components.css +20 -2
  48. package/cjs/style/dnb-ui-components.min.css +2 -2
  49. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +22 -9
  50. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  51. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +19 -6
  52. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  53. package/components/breadcrumb/style/dnb-breadcrumb.css +6 -0
  54. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  55. package/components/global-status/style/dnb-global-status.css +6 -0
  56. package/components/global-status/style/dnb-global-status.min.css +1 -1
  57. package/components/section/Section.d.ts +2 -2
  58. package/components/section/style/_section.scss +8 -0
  59. package/components/section/style/dnb-section.css +6 -0
  60. package/components/section/style/dnb-section.min.css +1 -1
  61. package/components/space/Space.d.ts +0 -2
  62. package/components/space/Space.js +17 -11
  63. package/components/space/SpacingUtils.d.ts +14 -9
  64. package/components/space/SpacingUtils.js +57 -44
  65. package/components/step-indicator/StepIndicatorSidebar.js +3 -1
  66. package/components/tabs/Tabs.d.ts +2 -2
  67. package/components/tabs/Tabs.js +6 -11
  68. package/components/tabs/TabsContentWrapper.d.ts +1 -1
  69. package/components/tabs/TabsContentWrapper.js +5 -4
  70. package/components/tabs/style/_tabs.scss +15 -2
  71. package/components/tabs/style/dnb-tabs.css +14 -2
  72. package/components/tabs/style/dnb-tabs.min.css +1 -1
  73. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +3 -3
  74. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -1
  75. package/components/tabs/style/themes/dnb-tabs-theme-ui.css +3 -3
  76. package/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  77. package/components/tabs/style/themes/dnb-tabs-theme-ui.scss +4 -1
  78. package/components/upload/Upload.js +11 -15
  79. package/components/upload/UploadFileInput.js +16 -21
  80. package/components/upload/UploadFileList.js +1 -0
  81. package/components/upload/UploadFileListCell.d.ts +2 -1
  82. package/components/upload/UploadFileListCell.js +44 -3
  83. package/components/upload/UploadVerify.d.ts +4 -1
  84. package/components/upload/UploadVerify.js +27 -1
  85. package/components/upload/style/themes/dnb-upload-theme-ui.css +16 -3
  86. package/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -1
  87. package/components/upload/style/themes/dnb-upload-theme-ui.scss +9 -0
  88. package/components/upload/types.d.ts +3 -1
  89. package/components/upload/useUpload.d.ts +1 -2
  90. package/components/upload/useUpload.js +17 -3
  91. package/elements/Element.d.ts +1 -1
  92. package/es/components/breadcrumb/style/dnb-breadcrumb.css +6 -0
  93. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  94. package/es/components/global-status/style/dnb-global-status.css +6 -0
  95. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  96. package/es/components/section/Section.d.ts +2 -2
  97. package/es/components/section/style/_section.scss +8 -0
  98. package/es/components/section/style/dnb-section.css +6 -0
  99. package/es/components/section/style/dnb-section.min.css +1 -1
  100. package/es/components/space/Space.d.ts +0 -2
  101. package/es/components/space/Space.js +17 -11
  102. package/es/components/space/SpacingUtils.d.ts +14 -9
  103. package/es/components/space/SpacingUtils.js +44 -36
  104. package/es/components/step-indicator/StepIndicatorSidebar.js +3 -1
  105. package/es/components/tabs/Tabs.d.ts +2 -2
  106. package/es/components/tabs/Tabs.js +6 -11
  107. package/es/components/tabs/TabsContentWrapper.d.ts +1 -1
  108. package/es/components/tabs/TabsContentWrapper.js +5 -4
  109. package/es/components/tabs/style/_tabs.scss +15 -2
  110. package/es/components/tabs/style/dnb-tabs.css +14 -2
  111. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  112. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +3 -3
  113. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -1
  114. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.css +3 -3
  115. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  116. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.scss +4 -1
  117. package/es/components/upload/Upload.js +11 -13
  118. package/es/components/upload/UploadFileInput.js +13 -17
  119. package/es/components/upload/UploadFileList.js +1 -0
  120. package/es/components/upload/UploadFileListCell.d.ts +2 -1
  121. package/es/components/upload/UploadFileListCell.js +36 -2
  122. package/es/components/upload/UploadVerify.d.ts +4 -1
  123. package/es/components/upload/UploadVerify.js +12 -1
  124. package/es/components/upload/style/themes/dnb-upload-theme-ui.css +16 -3
  125. package/es/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -1
  126. package/es/components/upload/style/themes/dnb-upload-theme-ui.scss +9 -0
  127. package/es/components/upload/types.d.ts +3 -1
  128. package/es/components/upload/useUpload.d.ts +1 -2
  129. package/es/components/upload/useUpload.js +15 -3
  130. package/es/elements/Element.d.ts +1 -1
  131. package/es/shared/Eufemia.js +1 -1
  132. package/es/shared/MediaQueryUtils.d.ts +1 -5
  133. package/es/shared/MediaQueryUtils.js +1 -6
  134. package/es/shared/SpacingHelper.d.ts +6 -1
  135. package/es/shared/useMedia.js +1 -2
  136. package/es/shared/useMediaQuery.js +4 -2
  137. package/es/style/dnb-ui-components.css +20 -2
  138. package/es/style/dnb-ui-components.min.css +2 -2
  139. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +22 -9
  140. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  141. package/es/style/themes/theme-ui/dnb-theme-ui.css +19 -6
  142. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  143. package/esm/dnb-ui-basis.min.mjs +1 -1
  144. package/esm/dnb-ui-components.min.mjs +1 -1
  145. package/esm/dnb-ui-elements.min.mjs +3 -3
  146. package/esm/dnb-ui-extensions.min.mjs +4 -4
  147. package/esm/dnb-ui-lib.min.mjs +2 -2
  148. package/esm/dnb-ui-web-components.min.mjs +2 -2
  149. package/package.json +1 -1
  150. package/shared/Eufemia.js +1 -1
  151. package/shared/MediaQueryUtils.d.ts +1 -5
  152. package/shared/MediaQueryUtils.js +1 -7
  153. package/shared/SpacingHelper.d.ts +6 -1
  154. package/shared/useMedia.js +1 -2
  155. package/shared/useMediaQuery.js +4 -2
  156. package/style/dnb-ui-components.css +20 -2
  157. package/style/dnb-ui-components.min.css +2 -2
  158. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +22 -9
  159. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  160. package/style/themes/theme-ui/dnb-theme-ui.css +19 -6
  161. package/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  162. package/umd/dnb-ui-basis.min.js +1 -1
  163. package/umd/dnb-ui-components.min.js +1 -1
  164. package/umd/dnb-ui-elements.min.js +4 -4
  165. package/umd/dnb-ui-extensions.min.js +3 -3
  166. package/umd/dnb-ui-lib.min.js +3 -3
  167. package/umd/dnb-ui-web-components.min.js +4 -4
@@ -18,7 +18,11 @@ require("core-js/modules/es.function.name.js");
18
18
 
19
19
  require("core-js/modules/es.array.from.js");
20
20
 
21
- require("core-js/modules/es.object.assign.js");
21
+ require("core-js/modules/es.object.keys.js");
22
+
23
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
24
+
25
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
22
26
 
23
27
  Object.defineProperty(exports, "__esModule", {
24
28
  value: true
@@ -55,11 +59,19 @@ require("core-js/modules/es.array.concat.js");
55
59
 
56
60
  require("core-js/modules/es.array.includes.js");
57
61
 
62
+ require("core-js/modules/es.object.is-frozen.js");
63
+
58
64
  require("core-js/modules/es.array.join.js");
59
65
 
60
66
  var _componentHelper = require("../../shared/component-helper");
61
67
 
62
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
68
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
69
+
70
+ 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; }
71
+
72
+ 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; }
73
+
74
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
63
75
 
64
76
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
65
77
 
@@ -243,47 +255,50 @@ var findNearestTypes = function findNearestTypes(num) {
243
255
 
244
256
  exports.findNearestTypes = findNearestTypes;
245
257
 
246
- var isValidSpaceProp = function isValidSpaceProp(prop) {
247
- return prop && ['top', 'right', 'bottom', 'left'].includes(prop);
258
+ var isValidSpaceProp = function isValidSpaceProp(propName) {
259
+ return propName && ['top', 'right', 'bottom', 'left'].includes(propName);
248
260
  };
249
261
 
250
262
  exports.isValidSpaceProp = isValidSpaceProp;
251
263
 
252
- var removeSpaceProps = function removeSpaceProps(_ref6) {
253
- var props = _extends({}, _ref6);
264
+ var removeSpaceProps = function removeSpaceProps(props) {
265
+ var p = Object.isFrozen(props) ? _objectSpread({}, props) : props;
254
266
 
255
- for (var i in props) {
267
+ for (var i in p) {
256
268
  if (isValidSpaceProp(i)) {
257
- delete props[i];
269
+ delete p[i];
258
270
  }
259
271
  }
260
272
 
261
- return props;
273
+ return p;
262
274
  };
263
275
 
264
276
  exports.removeSpaceProps = removeSpaceProps;
265
277
 
266
278
  var createSpacingClasses = function createSpacingClasses(props) {
267
279
  var Element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
280
+ var p = Object.isFrozen(props) ? _objectSpread({}, props) : props;
268
281
 
269
- if (typeof props.space !== 'undefined') {
270
- if (typeof props.space === 'string' || typeof props.space === 'number' || typeof props.space === 'boolean' && props.space) {
271
- props.top = props.right = props.bottom = props.left = props.space;
282
+ if (typeof p.space !== 'undefined') {
283
+ if (typeof p.space === 'string' || typeof p.space === 'number' || typeof p.space === 'boolean' && p.space) {
284
+ p.top = p.right = p.bottom = p.left = p.space;
272
285
  }
273
286
 
274
- for (var i in props.space) {
275
- if (!props[i] && isValidSpaceProp(i)) {
276
- props[i] = props.space[i];
287
+ if (_typeof(p.space) === 'object') {
288
+ for (var i in p.space) {
289
+ if (!p[i] && isValidSpaceProp(i)) {
290
+ p[i] = p.space[i];
291
+ }
277
292
  }
278
293
  }
279
294
 
280
- delete props.space;
295
+ delete p.space;
281
296
  }
282
297
 
283
- return Object.entries(props).reduce(function (acc, _ref7) {
284
- var _ref8 = _slicedToArray(_ref7, 2),
285
- direction = _ref8[0],
286
- cur = _ref8[1];
298
+ return Object.entries(p).reduce(function (acc, _ref6) {
299
+ var _ref7 = _slicedToArray(_ref6, 2),
300
+ direction = _ref7[0],
301
+ cur = _ref7[1];
287
302
 
288
303
  if (isValidSpaceProp(direction)) {
289
304
  if (String(cur) === '0' || String(cur) === 'false') {
@@ -316,33 +331,35 @@ var createSpacingClasses = function createSpacingClasses(props) {
316
331
  exports.createSpacingClasses = createSpacingClasses;
317
332
 
318
333
  var createStyleObject = function createStyleObject(props) {
319
- if (props.top && !(parseFloat(props.top) > 0)) {
320
- props.top = sumTypes(props.top);
334
+ var p = Object.isFrozen(props) ? _objectSpread({}, props) : props;
335
+
336
+ if (p.top && !(parseFloat(String(p.top)) > 0)) {
337
+ p.top = sumTypes(p.top);
321
338
  }
322
339
 
323
- if (props.bottom && !(parseFloat(props.bottom) > 0)) {
324
- props.bottom = sumTypes(props.bottom);
340
+ if (p.bottom && !(parseFloat(String(p.bottom)) > 0)) {
341
+ p.bottom = sumTypes(p.bottom);
325
342
  }
326
343
 
327
- if (props.left && !(parseFloat(props.left) > 0)) {
328
- props.left = sumTypes(props.left);
344
+ if (p.left && !(parseFloat(String(p.left)) > 0)) {
345
+ p.left = sumTypes(p.left);
329
346
  }
330
347
 
331
- if (props.right && !(parseFloat(props.right) > 0)) {
332
- props.right = sumTypes(props.right);
348
+ if (p.right && !(parseFloat(String(p.right)) > 0)) {
349
+ p.right = sumTypes(p.right);
333
350
  }
334
351
 
335
352
  return Object.entries({
336
- marginTop: props.top && "".concat(props.top, "rem"),
337
- marginBottom: props.bottom && "".concat(props.bottom, "rem"),
338
- maxWidth: props.maxWidth && "".concat(props.maxWidth, "rem"),
339
- maxHeight: props.maxHeight && "".concat(props.maxHeight, "rem"),
340
- width: props.width && "".concat(props.width, "rem"),
341
- height: props.height && "".concat(props.height, "rem")
342
- }).reduce(function (acc, _ref9) {
343
- var _ref10 = _slicedToArray(_ref9, 2),
344
- key = _ref10[0],
345
- val = _ref10[1];
353
+ marginTop: p.top && "".concat(p.top, "rem"),
354
+ marginBottom: p.bottom && "".concat(p.bottom, "rem"),
355
+ maxWidth: p.maxWidth && "".concat(p.maxWidth, "rem"),
356
+ maxHeight: p.maxHeight && "".concat(p.maxHeight, "rem"),
357
+ width: p.width && "".concat(p.width, "rem"),
358
+ height: p.height && "".concat(p.height, "rem")
359
+ }).reduce(function (acc, _ref8) {
360
+ var _ref9 = _slicedToArray(_ref8, 2),
361
+ key = _ref9[0],
362
+ val = _ref9[1];
346
363
 
347
364
  if (typeof val !== 'undefined') {
348
365
  acc[key] = val;
@@ -354,10 +371,8 @@ var createStyleObject = function createStyleObject(props) {
354
371
 
355
372
  exports.createStyleObject = createStyleObject;
356
373
 
357
- var isInline = function isInline(Element) {
358
- var inline = false;
359
-
360
- switch (Element) {
374
+ var isInline = function isInline(elementName) {
375
+ switch (elementName) {
361
376
  case 'h1':
362
377
  case 'h2':
363
378
  case 'h3':
@@ -365,11 +380,10 @@ var isInline = function isInline(Element) {
365
380
  case 'h5':
366
381
  case 'h6':
367
382
  case 'p':
368
- inline = true;
369
- break;
383
+ return true;
370
384
  }
371
385
 
372
- return inline;
386
+ return false;
373
387
  };
374
388
 
375
389
  exports.isInline = isInline;
@@ -33,6 +33,8 @@ var _react = _interopRequireDefault(require("react"));
33
33
 
34
34
  var _propTypes = _interopRequireDefault(require("prop-types"));
35
35
 
36
+ var _classnames = _interopRequireDefault(require("classnames"));
37
+
36
38
  var _componentHelper = require("../../shared/component-helper");
37
39
 
38
40
  var _Context = _interopRequireDefault(require("../../shared/Context"));
@@ -43,6 +45,8 @@ var _StepIndicatorProps = require("./StepIndicatorProps");
43
45
 
44
46
  var _StepIndicatorContext = require("./StepIndicatorContext");
45
47
 
48
+ var _SpacingHelper = require("../space/SpacingHelper");
49
+
46
50
  var _StepIndicatorList;
47
51
 
48
52
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -133,7 +137,7 @@ var StepIndicatorSidebar = function (_React$PureComponent) {
133
137
  var providerProps = this.state.showInitialData ? this.getContextAndProps() : null;
134
138
  return _react.default.createElement("div", {
135
139
  id: 'sidebar__' + this.props.sidebar_id,
136
- className: "dnb-step-indicator-v2 dnb-step-indicator__sidebar" + (this._hasSkeletonData && providerProps !== null && providerProps !== void 0 && providerProps.skeleton ? " dnb-step-indicator__sidebar--ssr-skeleton" : "")
140
+ className: (0, _classnames.default)("dnb-step-indicator-v2 dnb-step-indicator__sidebar", (0, _SpacingHelper.createSpacingClasses)(this.props), this._hasSkeletonData && (providerProps === null || providerProps === void 0 ? void 0 : providerProps.skeleton) && 'dnb-step-indicator__sidebar--ssr-skeleton')
137
141
  }, providerProps && _react.default.createElement(_StepIndicatorContext.StepIndicatorProvider, _extends({
138
142
  isSidebar: true,
139
143
  sidebar_id: this.props.internalId || this.props.sidebar_id
@@ -83,7 +83,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
83
83
  content_style?: string;
84
84
 
85
85
  /**
86
- * To modify the `spacing` onto the content wrapper. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `true`.
86
+ * To modify the `spacing` onto the content wrapper. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `large`.
87
87
  */
88
88
  content_spacing?: TabsContentSpacing;
89
89
  label?: string;
@@ -109,7 +109,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
109
109
  tabs_style?: string;
110
110
 
111
111
  /**
112
- * To modify the `spacing` inside the tab list. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `false`.
112
+ * To modify the `spacing` inside the tab list. Defaults to `null`.
113
113
  */
114
114
  tabs_spacing?: TabsTabsSpacing;
115
115
 
@@ -535,7 +535,7 @@ var Tabs = function (_React$PureComponent) {
535
535
  nav_button_edge = _this$props3.nav_button_edge;
536
536
  var hasScrollbar = _this.state.hasScrollbar;
537
537
  return _react.default.createElement("div", _extends({
538
- className: (0, _classnames.default)('dnb-tabs__tabs', className, align && "dnb-tabs__tabs--".concat(align), tabs_style && "dnb-section dnb-section--".concat(tabs_style), tabs_spacing && "dnb-section--spacing-".concat((0, _componentHelper.isTrue)(tabs_spacing) ? 'default' : tabs_spacing), hasScrollbar && 'dnb-tabs--has-scrollbar', nav_button_edge && 'dnb-tabs--at-edge', no_border && 'dnb-tabs__tabs--no-border'),
538
+ className: (0, _classnames.default)('dnb-tabs__tabs', className, align && "dnb-tabs__tabs--".concat(align), tabs_style && "dnb-section dnb-section--".concat(tabs_style), tabs_spacing && "dnb-section--spacing-".concat((0, _componentHelper.isTrue)(tabs_spacing) ? 'large' : tabs_spacing), hasScrollbar && 'dnb-tabs--has-scrollbar', nav_button_edge && 'dnb-tabs--at-edge', no_border && 'dnb-tabs__tabs--no-border'),
539
539
  ref: _this._tabsRef
540
540
  }, rest), _react.default.createElement(ScrollNavButton, {
541
541
  onMouseDown: _this.openPrevTab,
@@ -980,17 +980,12 @@ var Tabs = function (_React$PureComponent) {
980
980
  key = _ref15[0],
981
981
  content = _ref15[1].content;
982
982
 
983
- var params = {};
984
-
985
- if (key !== String(selected_key)) {
986
- params.hidden = true;
987
- params['aria-hidden'] = true;
988
- }
989
-
990
- return _react.default.createElement("div", _extends({
983
+ var hide = key !== String(selected_key);
984
+ return _react.default.createElement("div", {
991
985
  key: key,
992
- className: "dnb-tabs__cached"
993
- }, params), content);
986
+ "aria-hidden": hide ? true : undefined,
987
+ className: 'dnb-tabs__cached' + (hide ? " dnb-tabs__cached--hidden" : "")
988
+ }, content);
994
989
  });
995
990
  return cachedContent;
996
991
  }
@@ -22,7 +22,7 @@ export interface ContentWrapperProps extends React.HTMLProps<HTMLElement> {
22
22
  content_style?: string;
23
23
 
24
24
  /**
25
- * To modify the `spacing` onto the content wrapper. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `true`.
25
+ * To modify the `spacing` onto the content wrapper. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `large`.
26
26
  */
27
27
  content_spacing?: ContentWrapperContentSpacing;
28
28
 
@@ -47,6 +47,8 @@ var _Section = _interopRequireDefault(require("../section/Section"));
47
47
 
48
48
  var _EventEmitter = _interopRequireDefault(require("../../shared/helpers/EventEmitter"));
49
49
 
50
+ var _HeightAnimation = _interopRequireDefault(require("../height-animation/HeightAnimation"));
51
+
50
52
  var _excluded = ["id", "children", "selected_key", "content_style", "content_spacing"];
51
53
 
52
54
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -147,21 +149,21 @@ var ContentWrapper = function (_React$PureComponent) {
147
149
  }
148
150
 
149
151
  (0, _componentHelper.validateDOMAttributes)(this.props, params);
150
- var Element = content_style ? _Section.default : 'div';
151
152
  var content = children;
152
153
 
153
154
  if (typeof children === 'function') {
154
155
  content = children(this.state);
155
156
  }
156
157
 
157
- return _react.default.createElement(Element, _extends({
158
+ return _react.default.createElement(_HeightAnimation.default, _extends({
159
+ showOverflow: true,
158
160
  role: "tabpanel",
159
161
  tabIndex: "-1",
160
162
  id: "".concat(id, "-content"),
161
163
  spacing: content_style ? false : undefined,
162
164
  style_type: content_style ? content_style : undefined,
163
- element: content_style ? 'div' : undefined,
164
- className: (0, _classnames.default)('dnb-tabs__content dnb-no-focus', (0, _SpacingHelper.createSpacingClasses)(rest), (0, _componentHelper.isTrue)(content_spacing) && 'dnb-tabs__content--spacing')
165
+ element: content_style ? _Section.default : 'div',
166
+ className: (0, _classnames.default)("dnb-tabs__content dnb-no-focus", (0, _SpacingHelper.createSpacingClasses)(rest), content_spacing && "dnb-section--spacing-".concat((0, _componentHelper.isTrue)(content_spacing) ? 'large' : content_spacing))
165
167
  }, params), content);
166
168
  }
167
169
  }]);
@@ -179,7 +179,20 @@
179
179
  }
180
180
  }
181
181
 
182
+ &__cached {
183
+ opacity: 1;
184
+ transition: opacity 1s var(--easing-default);
185
+ }
186
+ &__cached--hidden {
187
+ opacity: 0;
188
+ visibility: hidden;
189
+
190
+ height: 0 !important;
191
+ overflow: hidden;
192
+ }
193
+
182
194
  /* stylelint-disable */
195
+ html[data-visual-test] & &__cached,
183
196
  html[data-visual-test] & &__button,
184
197
  html[data-visual-test] & &__button__snap,
185
198
  html[data-visual-test] & &__scroll-nav-button {
@@ -187,7 +200,7 @@
187
200
  }
188
201
  /* stylelint-enable */
189
202
 
190
- &__content--spacing {
191
- padding-top: 2rem;
203
+ &__content {
204
+ padding-bottom: 0;
192
205
  }
193
206
  }
@@ -251,10 +251,22 @@
251
251
  /* stylelint-enable */ }
252
252
  html[data-whatinput='keyboard'] .dnb-tabs__button__snap:last-of-type.focus .dnb-tabs__button:focus {
253
253
  margin-right: 0.5rem; }
254
+ .dnb-tabs__cached {
255
+ opacity: 1;
256
+ -webkit-transition: opacity 1s cubic-bezier(0.42, 0, 0, 1);
257
+ transition: opacity 1s cubic-bezier(0.42, 0, 0, 1);
258
+ -webkit-transition: opacity 1s var(--easing-default);
259
+ transition: opacity 1s var(--easing-default); }
260
+ .dnb-tabs__cached--hidden {
261
+ opacity: 0;
262
+ visibility: hidden;
263
+ height: 0 !important;
264
+ overflow: hidden; }
265
+ html[data-visual-test] .dnb-tabs .dnb-tabs__cached,
254
266
  html[data-visual-test] .dnb-tabs .dnb-tabs__button,
255
267
  html[data-visual-test] .dnb-tabs .dnb-tabs__button__snap,
256
268
  html[data-visual-test] .dnb-tabs .dnb-tabs__scroll-nav-button {
257
269
  -webkit-transition: none !important;
258
270
  transition: none !important; }
259
- .dnb-tabs__content--spacing {
260
- padding-top: 2rem; }
271
+ .dnb-tabs__content {
272
+ padding-bottom: 0; }
@@ -1 +1 @@
1
- .dnb-tabs{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-tabs *,.dnb-tabs :after,.dnb-tabs :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-tabs :after,.dnb-tabs :before{text-decoration:inherit;vertical-align:inherit}.dnb-tabs__tabs{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;z-index:1}.dnb-tabs__tabs,.dnb-tabs__tabs.dnb-section--spacing{padding-bottom:0}.dnb-tabs__tabs__tablist{-webkit-box-flex:0;-ms-scroll-chaining:none;-webkit-overflow-scrolling:touch;-ms-overflow-style:auto;-ms-overflow-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex:0 1 auto;flex:0 1 auto;overflow-x:auto;overscroll-behavior:contain;scrollbar-color:#14555a transparent;scrollbar-color:var(--color-emerald-green) transparent;scrollbar-width:thin;scrollbar-width:none}.dnb-tabs__tabs__tablist:focus{outline:none}html[data-whatinput=keyboard] .dnb-tabs__tabs__tablist:focus{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-tabs__tabs__tablist:focus{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}html:not([data-visual-test]) .dnb-tabs__tabs__tablist{scroll-behavior:smooth}html[data-visual-test] .dnb-tabs__tabs__tablist{scroll-behavior:auto!important}.dnb-tabs__tabs__tablist::-webkit-scrollbar{display:none}.dnb-tabs__tabs--left .dnb-tabs__tabs__tablist{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.dnb-tabs__tabs--right .dnb-tabs__tabs__tablist{-webkit-box-flex:1;-webkit-box-pack:end;-ms-flex-pack:end;-ms-flex:1;flex:1;justify-content:flex-end}.dnb-tabs__tabs--center .dnb-tabs__tabs__tablist{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.dnb-tabs__tabs:before{bottom:0;content:"";height:1px;left:-100vw;position:absolute;width:100vw;z-index:-1}.dnb-tabs__tabs--no-border:before{content:none}.dnb-tabs__scroll-nav-button{display:none;opacity:0;pointer-events:none;position:absolute;right:-2px;-webkit-transition:opacity .6s ease-out;transition:opacity .6s ease-out;z-index:2}.dnb-tabs__scroll-nav-button:first-of-type{left:-2px;right:auto}.dnb-tabs__scroll-nav-button--visible{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1;pointer-events:auto}.dnb-tabs__scroll-nav-button--hide{opacity:0!important;pointer-events:none}.dnb-core-style .dnb-tabs .dnb-tabs__button,.dnb-tabs__button{background-color:transparent;border:none;cursor:pointer;font-size:1.125rem;font-size:var(--font-size-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;outline:none;padding:0 .125rem;position:relative;text-decoration:none;-webkit-transition:margin .4s ease-out;transition:margin .4s ease-out;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;white-space:nowrap;z-index:1}.dnb-core-style .dnb-tabs .dnb-tabs__button__title .dnb-icon,.dnb-tabs__button__title .dnb-icon{font-size:1rem;font-size:var(--font-size-small);-webkit-transform:translateY(-.125rem);transform:translateY(-.125rem)}.dnb-core-style .dnb-tabs .dnb-tabs__button .dnb-dummy,.dnb-tabs__button .dnb-dummy{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:0;margin-top:.25rem;overflow:hidden;visibility:hidden}.dnb-core-style .dnb-tabs .dnb-tabs__button:after,.dnb-tabs__button:after{bottom:0;content:"";height:1px;left:0;position:absolute;right:0;width:100%;z-index:-1}.dnb-tabs__button__snap{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 1rem 0 1.5rem;-webkit-transition:padding 1s cubic-bezier(.42,0,0,1);transition:padding 1s cubic-bezier(.42,0,0,1);-webkit-transition:padding 1s var(--easing-default);transition:padding 1s var(--easing-default);will-change:padding}@media screen and (max-width:40em){.dnb-tabs__button__snap{padding:0 1rem}}.dnb-tabs__button__snap:first-of-type{padding-left:0}.dnb-tabs__button__snap:last-of-type{padding-right:.5rem}html[data-whatinput=keyboard] .dnb-tabs__button__snap:first-of-type.focus .dnb-tabs__button:focus{margin-left:.5rem}html[data-whatinput=keyboard] .dnb-tabs__button__snap:last-of-type.focus .dnb-tabs__button:focus{margin-right:.5rem}html[data-visual-test] .dnb-tabs .dnb-tabs__button,html[data-visual-test] .dnb-tabs .dnb-tabs__button__snap,html[data-visual-test] .dnb-tabs .dnb-tabs__scroll-nav-button{-webkit-transition:none!important;transition:none!important}.dnb-tabs__content--spacing{padding-top:2rem}
1
+ .dnb-tabs{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-tabs *,.dnb-tabs :after,.dnb-tabs :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-tabs :after,.dnb-tabs :before{text-decoration:inherit;vertical-align:inherit}.dnb-tabs__tabs{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;z-index:1}.dnb-tabs__tabs,.dnb-tabs__tabs.dnb-section--spacing{padding-bottom:0}.dnb-tabs__tabs__tablist{-webkit-box-flex:0;-ms-scroll-chaining:none;-webkit-overflow-scrolling:touch;-ms-overflow-style:auto;-ms-overflow-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex:0 1 auto;flex:0 1 auto;overflow-x:auto;overscroll-behavior:contain;scrollbar-color:#14555a transparent;scrollbar-color:var(--color-emerald-green) transparent;scrollbar-width:thin;scrollbar-width:none}.dnb-tabs__tabs__tablist:focus{outline:none}html[data-whatinput=keyboard] .dnb-tabs__tabs__tablist:focus{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-tabs__tabs__tablist:focus{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}html:not([data-visual-test]) .dnb-tabs__tabs__tablist{scroll-behavior:smooth}html[data-visual-test] .dnb-tabs__tabs__tablist{scroll-behavior:auto!important}.dnb-tabs__tabs__tablist::-webkit-scrollbar{display:none}.dnb-tabs__tabs--left .dnb-tabs__tabs__tablist{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.dnb-tabs__tabs--right .dnb-tabs__tabs__tablist{-webkit-box-flex:1;-webkit-box-pack:end;-ms-flex-pack:end;-ms-flex:1;flex:1;justify-content:flex-end}.dnb-tabs__tabs--center .dnb-tabs__tabs__tablist{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.dnb-tabs__tabs:before{bottom:0;content:"";height:1px;left:-100vw;position:absolute;width:100vw;z-index:-1}.dnb-tabs__tabs--no-border:before{content:none}.dnb-tabs__scroll-nav-button{display:none;opacity:0;pointer-events:none;position:absolute;right:-2px;-webkit-transition:opacity .6s ease-out;transition:opacity .6s ease-out;z-index:2}.dnb-tabs__scroll-nav-button:first-of-type{left:-2px;right:auto}.dnb-tabs__scroll-nav-button--visible{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1;pointer-events:auto}.dnb-tabs__scroll-nav-button--hide{opacity:0!important;pointer-events:none}.dnb-core-style .dnb-tabs .dnb-tabs__button,.dnb-tabs__button{background-color:transparent;border:none;cursor:pointer;font-size:1.125rem;font-size:var(--font-size-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;outline:none;padding:0 .125rem;position:relative;text-decoration:none;-webkit-transition:margin .4s ease-out;transition:margin .4s ease-out;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;white-space:nowrap;z-index:1}.dnb-core-style .dnb-tabs .dnb-tabs__button__title .dnb-icon,.dnb-tabs__button__title .dnb-icon{font-size:1rem;font-size:var(--font-size-small);-webkit-transform:translateY(-.125rem);transform:translateY(-.125rem)}.dnb-core-style .dnb-tabs .dnb-tabs__button .dnb-dummy,.dnb-tabs__button .dnb-dummy{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:0;margin-top:.25rem;overflow:hidden;visibility:hidden}.dnb-core-style .dnb-tabs .dnb-tabs__button:after,.dnb-tabs__button:after{bottom:0;content:"";height:1px;left:0;position:absolute;right:0;width:100%;z-index:-1}.dnb-tabs__button__snap{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 1rem 0 1.5rem;-webkit-transition:padding 1s cubic-bezier(.42,0,0,1);transition:padding 1s cubic-bezier(.42,0,0,1);-webkit-transition:padding 1s var(--easing-default);transition:padding 1s var(--easing-default);will-change:padding}@media screen and (max-width:40em){.dnb-tabs__button__snap{padding:0 1rem}}.dnb-tabs__button__snap:first-of-type{padding-left:0}.dnb-tabs__button__snap:last-of-type{padding-right:.5rem}html[data-whatinput=keyboard] .dnb-tabs__button__snap:first-of-type.focus .dnb-tabs__button:focus{margin-left:.5rem}html[data-whatinput=keyboard] .dnb-tabs__button__snap:last-of-type.focus .dnb-tabs__button:focus{margin-right:.5rem}.dnb-tabs__cached{opacity:1;-webkit-transition:opacity 1s cubic-bezier(.42,0,0,1);transition:opacity 1s cubic-bezier(.42,0,0,1);-webkit-transition:opacity 1s var(--easing-default);transition:opacity 1s var(--easing-default)}.dnb-tabs__cached--hidden{height:0!important;opacity:0;overflow:hidden;visibility:hidden}html[data-visual-test] .dnb-tabs .dnb-tabs__button,html[data-visual-test] .dnb-tabs .dnb-tabs__button__snap,html[data-visual-test] .dnb-tabs .dnb-tabs__cached,html[data-visual-test] .dnb-tabs .dnb-tabs__scroll-nav-button{-webkit-transition:none!important;transition:none!important}.dnb-tabs__content{padding-bottom:0}
@@ -40,7 +40,7 @@
40
40
 
41
41
  .dnb-tabs__content:focus {
42
42
  position: relative; }
43
- .dnb-tabs__content:focus::after {
43
+ .dnb-tabs__content:focus::before {
44
44
  content: '';
45
45
  position: absolute;
46
46
  z-index: -1;
@@ -51,13 +51,13 @@
51
51
  max-width: 100vw;
52
52
  border-radius: 0.5rem;
53
53
  outline: none; }
54
- html[data-whatinput='keyboard'] .dnb-tabs__content:focus::after {
54
+ html[data-whatinput='keyboard'] .dnb-tabs__content:focus::before {
55
55
  --border-color: var(--color-emerald-green);
56
56
  -webkit-box-shadow: 0 0 0 0.125rem var(--border-color);
57
57
  box-shadow: 0 0 0 0.125rem var(--border-color);
58
58
  border-color: transparent; }
59
59
  @media screen and (-ms-high-contrast: none) {
60
- html[data-whatinput='keyboard'] .dnb-tabs__content:focus::after {
60
+ html[data-whatinput='keyboard'] .dnb-tabs__content:focus::before {
61
61
  -webkit-box-shadow: 0 0 0 0.125rem #14555a;
62
62
  box-shadow: 0 0 0 0.125rem #14555a;
63
63
  -webkit-box-shadow: 0 0 0 0.125rem var(--color-emerald-green);
@@ -1 +1 @@
1
- .dnb-tabs__tabs:not(.dnb-section):before{background-color:#ebebeb;background-color:var(--color-black-8);-webkit-box-shadow:100vw 0 0 0 #ebebeb;box-shadow:100vw 0 0 0 #ebebeb;-webkit-box-shadow:100vw 0 0 0 var(--color-black-8);box-shadow:100vw 0 0 0 var(--color-black-8)}.dnb-tabs__tabs__tablist:focus{border-radius:.5rem}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:first-of-type{border-radius:0 50% 50% 0}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:last-of-type{border-radius:50% 0 0 50%}.dnb-tabs--at-edge .dnb-tabs__tabs__tablist:focus{border-radius:0}.dnb-tabs__content:focus{position:relative}.dnb-tabs__content:focus:after{border-radius:.5rem;bottom:-.5rem;content:"";left:-.5rem;max-width:100vw;outline:none;position:absolute;right:-.5rem;top:.125rem;z-index:-1}html[data-whatinput=keyboard] .dnb-tabs__content:focus:after{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-tabs__content:focus:after{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}.dnb-tabs__button__title{color:#007272;color:var(--color-sea-green);display:block;font-size:1.125rem;font-size:var(--font-size-basis);font-weight:400;font-weight:var(--font-weight-regular);padding:.5rem 0 .25rem;text-align:center}html:not([data-whatintent=touch]) .dnb-tabs__button:hover:not([disabled]){background-color:#d2f0e9;background-color:var(--color-mint-green-50)}html:not([data-whatintent=touch]) .dnb-tabs__button:hover:not([disabled]):after{background-color:#007272;background-color:var(--color-sea-green);border-radius:2px;height:2px}.dnb-tabs__button:focus{overflow:visible}.dnb-tabs__button:focus:before{border-radius:inherit;bottom:0;content:"";height:inherit;left:-.5rem;outline:none;position:absolute;right:-.5rem;top:0;z-index:1}html[data-whatinput=keyboard] .dnb-tabs__button:focus:before{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-tabs__button:focus:before{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}.dnb-tabs__button:focus:before{border-radius:1.5rem;bottom:.5rem;left:-.375rem;right:-.375rem;top:.5rem}.dnb-tabs__button[disabled] .dnb-tabs__button__title{color:#b3dada;color:var(--color-sea-green-30)}.dnb-tabs__button:not([disabled]).selected:after,.dnb-tabs__button:not([disabled]):active:after{background-color:#007272;background-color:var(--color-sea-green);border-radius:2px;height:2px}.dnb-tabs__button:not([disabled]).selected .dnb-tabs__button__title,.dnb-tabs__button:not([disabled]):active .dnb-tabs__button__title{color:#14555a;color:var(--color-emerald-green)}.dnb-tabs__button:not([disabled]).selected .dnb-tabs__button__title,.dnb-tabs__button span[hidden]{font-weight:500;font-weight:var(--font-weight-medium)}html:not([data-whatintent=touch]) .dnb-tabs__button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-tabs__button:hover:not([disabled]){background-color:#f2f4ec;background-color:var(--color-pistachio)}
1
+ .dnb-tabs__tabs:not(.dnb-section):before{background-color:#ebebeb;background-color:var(--color-black-8);-webkit-box-shadow:100vw 0 0 0 #ebebeb;box-shadow:100vw 0 0 0 #ebebeb;-webkit-box-shadow:100vw 0 0 0 var(--color-black-8);box-shadow:100vw 0 0 0 var(--color-black-8)}.dnb-tabs__tabs__tablist:focus{border-radius:.5rem}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:first-of-type{border-radius:0 50% 50% 0}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:last-of-type{border-radius:50% 0 0 50%}.dnb-tabs--at-edge .dnb-tabs__tabs__tablist:focus{border-radius:0}.dnb-tabs__content:focus{position:relative}.dnb-tabs__content:focus:before{border-radius:.5rem;bottom:-.5rem;content:"";left:-.5rem;max-width:100vw;outline:none;position:absolute;right:-.5rem;top:.125rem;z-index:-1}html[data-whatinput=keyboard] .dnb-tabs__content:focus:before{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-tabs__content:focus:before{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}.dnb-tabs__button__title{color:#007272;color:var(--color-sea-green);display:block;font-size:1.125rem;font-size:var(--font-size-basis);font-weight:400;font-weight:var(--font-weight-regular);padding:.5rem 0 .25rem;text-align:center}html:not([data-whatintent=touch]) .dnb-tabs__button:hover:not([disabled]){background-color:#d2f0e9;background-color:var(--color-mint-green-50)}html:not([data-whatintent=touch]) .dnb-tabs__button:hover:not([disabled]):after{background-color:#007272;background-color:var(--color-sea-green);border-radius:2px;height:2px}.dnb-tabs__button:focus{overflow:visible}.dnb-tabs__button:focus:before{border-radius:inherit;bottom:0;content:"";height:inherit;left:-.5rem;outline:none;position:absolute;right:-.5rem;top:0;z-index:1}html[data-whatinput=keyboard] .dnb-tabs__button:focus:before{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-tabs__button:focus:before{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}.dnb-tabs__button:focus:before{border-radius:1.5rem;bottom:.5rem;left:-.375rem;right:-.375rem;top:.5rem}.dnb-tabs__button[disabled] .dnb-tabs__button__title{color:#b3dada;color:var(--color-sea-green-30)}.dnb-tabs__button:not([disabled]).selected:after,.dnb-tabs__button:not([disabled]):active:after{background-color:#007272;background-color:var(--color-sea-green);border-radius:2px;height:2px}.dnb-tabs__button:not([disabled]).selected .dnb-tabs__button__title,.dnb-tabs__button:not([disabled]):active .dnb-tabs__button__title{color:#14555a;color:var(--color-emerald-green)}.dnb-tabs__button:not([disabled]).selected .dnb-tabs__button__title,.dnb-tabs__button span[hidden]{font-weight:500;font-weight:var(--font-weight-medium)}html:not([data-whatintent=touch]) .dnb-tabs__button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-tabs__button:hover:not([disabled]){background-color:#f2f4ec;background-color:var(--color-pistachio)}
@@ -36,7 +36,7 @@
36
36
 
37
37
  .dnb-tabs__content:focus {
38
38
  position: relative; }
39
- .dnb-tabs__content:focus::after {
39
+ .dnb-tabs__content:focus::before {
40
40
  content: '';
41
41
  position: absolute;
42
42
  z-index: -1;
@@ -47,13 +47,13 @@
47
47
  max-width: 100vw;
48
48
  border-radius: 0.5rem;
49
49
  outline: none; }
50
- html[data-whatinput='keyboard'] .dnb-tabs__content:focus::after {
50
+ html[data-whatinput='keyboard'] .dnb-tabs__content:focus::before {
51
51
  --border-color: var(--color-emerald-green);
52
52
  -webkit-box-shadow: 0 0 0 0.125rem var(--border-color);
53
53
  box-shadow: 0 0 0 0.125rem var(--border-color);
54
54
  border-color: transparent; }
55
55
  @media screen and (-ms-high-contrast: none) {
56
- html[data-whatinput='keyboard'] .dnb-tabs__content:focus::after {
56
+ html[data-whatinput='keyboard'] .dnb-tabs__content:focus::before {
57
57
  -webkit-box-shadow: 0 0 0 0.125rem #14555a;
58
58
  box-shadow: 0 0 0 0.125rem #14555a;
59
59
  -webkit-box-shadow: 0 0 0 0.125rem var(--color-emerald-green);
@@ -1 +1 @@
1
- .dnb-tabs__tabs:not(.dnb-section):before{background-color:#ebebeb;background-color:var(--color-black-8);-webkit-box-shadow:100vw 0 0 0 #ebebeb;box-shadow:100vw 0 0 0 #ebebeb;-webkit-box-shadow:100vw 0 0 0 var(--color-black-8);box-shadow:100vw 0 0 0 var(--color-black-8)}.dnb-tabs__tabs__tablist:focus{border-radius:.5rem}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:first-of-type{border-radius:0 50% 50% 0}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:last-of-type{border-radius:50% 0 0 50%}.dnb-tabs--at-edge .dnb-tabs__tabs__tablist:focus{border-radius:0}.dnb-tabs__content:focus{position:relative}.dnb-tabs__content:focus:after{border-radius:.5rem;bottom:-.5rem;content:"";left:-.5rem;max-width:100vw;outline:none;position:absolute;right:-.5rem;top:.125rem;z-index:-1}html[data-whatinput=keyboard] .dnb-tabs__content:focus:after{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-tabs__content:focus:after{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}.dnb-tabs__button__title{color:#007272;color:var(--color-sea-green);display:block;font-size:1.125rem;font-size:var(--font-size-basis);font-weight:400;font-weight:var(--font-weight-regular);padding:.5rem 0 .25rem;text-align:center}html:not([data-whatintent=touch]) .dnb-tabs__button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-tabs__button:hover:not([disabled]){background-color:#d2f0e9;background-color:var(--color-mint-green-50)}html:not([data-whatintent=touch]) .dnb-tabs__button:hover:not([disabled]):after{background-color:#007272;background-color:var(--color-sea-green);border-radius:2px;height:2px}.dnb-tabs__button:focus{overflow:visible}.dnb-tabs__button:focus:before{border-radius:inherit;bottom:0;content:"";height:inherit;left:-.5rem;outline:none;position:absolute;right:-.5rem;top:0;z-index:1}html[data-whatinput=keyboard] .dnb-tabs__button:focus:before{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-tabs__button:focus:before{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}.dnb-tabs__button:focus:before{border-radius:1.5rem;bottom:.5rem;left:-.375rem;right:-.375rem;top:.5rem}.dnb-tabs__button[disabled] .dnb-tabs__button__title{color:#b3dada;color:var(--color-sea-green-30)}.dnb-tabs__button:not([disabled]).selected:after,.dnb-tabs__button:not([disabled]):active:after{background-color:#007272;background-color:var(--color-sea-green);border-radius:2px;height:2px}.dnb-tabs__button:not([disabled]).selected .dnb-tabs__button__title,.dnb-tabs__button:not([disabled]):active .dnb-tabs__button__title{color:#14555a;color:var(--color-emerald-green)}.dnb-tabs__button:not([disabled]).selected .dnb-tabs__button__title,.dnb-tabs__button span[hidden]{font-weight:500;font-weight:var(--font-weight-medium)}
1
+ .dnb-tabs__tabs:not(.dnb-section):before{background-color:#ebebeb;background-color:var(--color-black-8);-webkit-box-shadow:100vw 0 0 0 #ebebeb;box-shadow:100vw 0 0 0 #ebebeb;-webkit-box-shadow:100vw 0 0 0 var(--color-black-8);box-shadow:100vw 0 0 0 var(--color-black-8)}.dnb-tabs__tabs__tablist:focus{border-radius:.5rem}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:first-of-type{border-radius:0 50% 50% 0}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:last-of-type{border-radius:50% 0 0 50%}.dnb-tabs--at-edge .dnb-tabs__tabs__tablist:focus{border-radius:0}.dnb-tabs__content:focus{position:relative}.dnb-tabs__content:focus:before{border-radius:.5rem;bottom:-.5rem;content:"";left:-.5rem;max-width:100vw;outline:none;position:absolute;right:-.5rem;top:.125rem;z-index:-1}html[data-whatinput=keyboard] .dnb-tabs__content:focus:before{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-tabs__content:focus:before{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}.dnb-tabs__button__title{color:#007272;color:var(--color-sea-green);display:block;font-size:1.125rem;font-size:var(--font-size-basis);font-weight:400;font-weight:var(--font-weight-regular);padding:.5rem 0 .25rem;text-align:center}html:not([data-whatintent=touch]) .dnb-tabs__button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-tabs__button:hover:not([disabled]){background-color:#d2f0e9;background-color:var(--color-mint-green-50)}html:not([data-whatintent=touch]) .dnb-tabs__button:hover:not([disabled]):after{background-color:#007272;background-color:var(--color-sea-green);border-radius:2px;height:2px}.dnb-tabs__button:focus{overflow:visible}.dnb-tabs__button:focus:before{border-radius:inherit;bottom:0;content:"";height:inherit;left:-.5rem;outline:none;position:absolute;right:-.5rem;top:0;z-index:1}html[data-whatinput=keyboard] .dnb-tabs__button:focus:before{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-tabs__button:focus:before{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}.dnb-tabs__button:focus:before{border-radius:1.5rem;bottom:.5rem;left:-.375rem;right:-.375rem;top:.5rem}.dnb-tabs__button[disabled] .dnb-tabs__button__title{color:#b3dada;color:var(--color-sea-green-30)}.dnb-tabs__button:not([disabled]).selected:after,.dnb-tabs__button:not([disabled]):active:after{background-color:#007272;background-color:var(--color-sea-green);border-radius:2px;height:2px}.dnb-tabs__button:not([disabled]).selected .dnb-tabs__button__title,.dnb-tabs__button:not([disabled]):active .dnb-tabs__button__title{color:#14555a;color:var(--color-emerald-green)}.dnb-tabs__button:not([disabled]).selected .dnb-tabs__button__title,.dnb-tabs__button span[hidden]{font-weight:500;font-weight:var(--font-weight-medium)}
@@ -36,9 +36,12 @@
36
36
  border-radius: 0;
37
37
  }
38
38
 
39
+ // Make focus ring when keyboard is used to navigate
39
40
  &__content:focus {
40
41
  position: relative;
41
- &::after {
42
+
43
+ // Use "before" (instead of after) in order to not collide with Section styles
44
+ &::before {
42
45
  content: '';
43
46
  position: absolute;
44
47
  z-index: -1;
@@ -26,6 +26,8 @@ require("core-js/modules/web.dom-collections.iterator.js");
26
26
 
27
27
  require("core-js/modules/es.array.from.js");
28
28
 
29
+ require("core-js/modules/es.function.name.js");
30
+
29
31
  require("core-js/modules/es.regexp.exec.js");
30
32
 
31
33
  Object.defineProperty(exports, "__esModule", {
@@ -39,16 +41,14 @@ Object.defineProperty(exports, "defaultProps", {
39
41
  }
40
42
  });
41
43
 
42
- require("core-js/modules/es.object.to-string.js");
43
-
44
- require("core-js/modules/es.function.name.js");
45
-
46
44
  require("core-js/modules/es.array.concat.js");
47
45
 
48
46
  require("core-js/modules/es.array.map.js");
49
47
 
50
48
  require("core-js/modules/es.array.filter.js");
51
49
 
50
+ require("core-js/modules/es.object.to-string.js");
51
+
52
52
  require("core-js/modules/es.array.slice.js");
53
53
 
54
54
  var _react = _interopRequireDefault(require("react"));
@@ -142,7 +142,8 @@ var Upload = function Upload(localProps) {
142
142
  var _useUpload = (0, _useUpload2.default)(id),
143
143
  files = _useUpload.files,
144
144
  setFiles = _useUpload.setFiles,
145
- setInternalFiles = _useUpload.setInternalFiles;
145
+ setInternalFiles = _useUpload.setInternalFiles,
146
+ existsInFiles = _useUpload.existsInFiles;
146
147
 
147
148
  return _react.default.createElement(_UploadContext.UploadContext.Provider, {
148
149
  value: _objectSpread(_objectSpread({}, extendedProps), {}, {
@@ -157,24 +158,20 @@ var Upload = function Upload(localProps) {
157
158
  }, props), _UploadInfo || (_UploadInfo = _react.default.createElement(_UploadInfo2.default, null)), _UploadFileInput || (_UploadFileInput = _react.default.createElement(_UploadFileInput2.default, null)), _UploadFileList || (_UploadFileList = _react.default.createElement(_UploadFileList2.default, null)))));
158
159
 
159
160
  function onInputUpload(newFiles) {
160
- var existsInFiles = function existsInFiles(file) {
161
- return files.some(function (_ref) {
162
- var f = _ref.file;
163
- return f.name === file.name && f.size === file.size && f.lastModified === file.lastModified;
164
- });
165
- };
161
+ var mergedFiles = [].concat(_toConsumableArray(files), _toConsumableArray(newFiles.map(function (fileItem) {
162
+ var file = fileItem.file;
166
163
 
167
- var uniqueFiles = [].concat(_toConsumableArray(files), _toConsumableArray(newFiles.filter(function (_ref2) {
168
- var file = _ref2.file;
169
- return !existsInFiles(file);
170
- }).map(function (fileItem) {
171
164
  if (!fileItem.id) {
172
165
  fileItem.id = (0, _componentHelper.makeUniqueId)();
173
166
  }
174
167
 
168
+ fileItem.exists = existsInFiles(file, files);
175
169
  return fileItem;
176
170
  })));
177
- var verifiedFiles = (0, _UploadVerify.verifyFiles)(uniqueFiles, {
171
+ var verifiedFiles = (0, _UploadVerify.verifyFiles)(mergedFiles.filter(function (_ref) {
172
+ var exists = _ref.exists;
173
+ return !exists;
174
+ }), {
178
175
  fileMaxSize: fileMaxSize,
179
176
  acceptedFileTypes: acceptedFileTypes,
180
177
  errorUnsupportedFile: errorUnsupportedFile,
@@ -184,7 +181,7 @@ var Upload = function Upload(localProps) {
184
181
  var validFiles = _toConsumableArray(verifiedFiles).slice(0, filesAmountLimit);
185
182
 
186
183
  setFiles(validFiles);
187
- setInternalFiles(verifiedFiles);
184
+ setInternalFiles(mergedFiles);
188
185
 
189
186
  if (typeof onChange === 'function') {
190
187
  onChange({