@dnb/eufemia 9.16.2 → 9.16.3

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 (96) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/cjs/components/input-masked/InputMaskedHooks.js +3 -2
  3. package/cjs/components/input-masked/InputMaskedUtils.js +2 -2
  4. package/cjs/components/pagination/Pagination.d.ts +6 -0
  5. package/cjs/components/pagination/Pagination.js +2 -0
  6. package/cjs/components/pagination/PaginationBar.js +1 -1
  7. package/cjs/components/pagination/PaginationInfinity.js +152 -89
  8. package/cjs/components/pagination/PaginationProvider.js +65 -68
  9. package/cjs/components/tabs/style/_tabs.scss +5 -1
  10. package/cjs/components/tabs/style/dnb-tabs.css +4 -1
  11. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  12. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  13. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  14. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  15. package/cjs/shared/component-helper.js +3 -1
  16. package/cjs/shared/helpers.js +23 -12
  17. package/cjs/style/dnb-ui-components.css +4 -1
  18. package/cjs/style/dnb-ui-components.min.css +1 -1
  19. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +37 -34
  20. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +1 -1
  21. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +37 -34
  22. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +1 -1
  23. package/components/input-masked/InputMaskedHooks.js +3 -2
  24. package/components/input-masked/InputMaskedUtils.js +3 -3
  25. package/components/pagination/Pagination.d.ts +6 -0
  26. package/components/pagination/Pagination.js +2 -0
  27. package/components/pagination/PaginationBar.js +1 -1
  28. package/components/pagination/PaginationInfinity.js +137 -67
  29. package/components/pagination/PaginationProvider.js +64 -68
  30. package/components/tabs/style/_tabs.scss +5 -1
  31. package/components/tabs/style/dnb-tabs.css +4 -1
  32. package/components/tabs/style/dnb-tabs.min.css +1 -1
  33. package/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  34. package/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  35. package/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  36. package/es/components/input-masked/InputMaskedHooks.js +3 -2
  37. package/es/components/input-masked/InputMaskedUtils.js +3 -3
  38. package/es/components/pagination/Pagination.d.ts +6 -0
  39. package/es/components/pagination/Pagination.js +2 -0
  40. package/es/components/pagination/PaginationBar.js +1 -1
  41. package/es/components/pagination/PaginationInfinity.js +110 -37
  42. package/es/components/pagination/PaginationProvider.js +57 -61
  43. package/es/components/tabs/style/_tabs.scss +5 -1
  44. package/es/components/tabs/style/dnb-tabs.css +4 -1
  45. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  46. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  47. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  48. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  49. package/es/shared/component-helper.js +1 -0
  50. package/es/shared/helpers.js +18 -11
  51. package/es/style/dnb-ui-components.css +4 -1
  52. package/es/style/dnb-ui-components.min.css +1 -1
  53. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +37 -34
  54. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +1 -1
  55. package/es/style/themes/theme-ui/dnb-theme-ui.css +37 -34
  56. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +1 -1
  57. package/esm/components/input-masked/InputMaskedHooks.js +3 -2
  58. package/esm/components/input-masked/InputMaskedUtils.js +3 -3
  59. package/esm/components/pagination/Pagination.d.ts +6 -0
  60. package/esm/components/pagination/Pagination.js +2 -0
  61. package/esm/components/pagination/PaginationBar.js +1 -1
  62. package/esm/components/pagination/PaginationInfinity.js +137 -67
  63. package/esm/components/pagination/PaginationProvider.js +64 -68
  64. package/esm/components/tabs/style/_tabs.scss +5 -1
  65. package/esm/components/tabs/style/dnb-tabs.css +4 -1
  66. package/esm/components/tabs/style/dnb-tabs.min.css +1 -1
  67. package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
  68. package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
  69. package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
  70. package/esm/dnb-ui-components.min.mjs +3 -3
  71. package/esm/dnb-ui-elements.min.mjs +1 -1
  72. package/esm/dnb-ui-extensions.min.mjs +1 -1
  73. package/esm/dnb-ui-lib.min.mjs +3 -3
  74. package/esm/dnb-ui-web-components.min.mjs +3 -3
  75. package/esm/shared/component-helper.js +1 -0
  76. package/esm/shared/helpers.js +18 -11
  77. package/esm/style/dnb-ui-components.css +4 -1
  78. package/esm/style/dnb-ui-components.min.css +1 -1
  79. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +37 -34
  80. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +1 -1
  81. package/esm/style/themes/theme-ui/dnb-theme-ui.css +37 -34
  82. package/esm/style/themes/theme-ui/dnb-theme-ui.min.css +1 -1
  83. package/package.json +2 -2
  84. package/shared/component-helper.js +1 -0
  85. package/shared/helpers.js +18 -11
  86. package/style/dnb-ui-components.css +4 -1
  87. package/style/dnb-ui-components.min.css +1 -1
  88. package/style/themes/theme-open-banking/dnb-theme-open-banking.css +37 -34
  89. package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +1 -1
  90. package/style/themes/theme-ui/dnb-theme-ui.css +37 -34
  91. package/style/themes/theme-ui/dnb-theme-ui.min.css +1 -1
  92. package/umd/dnb-ui-components.min.js +4 -4
  93. package/umd/dnb-ui-elements.min.js +3 -3
  94. package/umd/dnb-ui-extensions.min.js +1 -1
  95. package/umd/dnb-ui-lib.min.js +1 -1
  96. package/umd/dnb-ui-web-components.min.js +3 -3
@@ -12,48 +12,48 @@ import { ContentObject } from './PaginationHelpers';
12
12
  import PaginationContext from './PaginationContext';
13
13
  export default class PaginationProvider extends React.PureComponent {
14
14
  static getDerivedStateFromProps(props, state) {
15
- if (state._listenForPropChanges) {
16
- if (props.page_count !== null) {
17
- state.pageCount = parseFloat(props.page_count) || 1;
18
- }
15
+ if (props.page_count !== null) {
16
+ state.pageCount = parseFloat(props.page_count) || 1;
17
+ }
19
18
 
20
- if (props.current_page !== null && typeof state.currentPage === 'undefined') {
21
- state.currentPage = parseFloat(props.current_page) || 1;
22
- }
19
+ if (props.current_page !== null && typeof state.currentPage === 'undefined') {
20
+ state.currentPage = parseFloat(props.current_page) || 1;
21
+ }
23
22
 
24
- if (typeof state.startupPage === 'undefined') {
25
- state.startupPage = parseFloat(props.startup_page) || parseFloat(props.current_page) || 1;
26
- }
23
+ if (typeof state.startupPage !== 'number') {
24
+ state.startupPage = parseFloat(props.startup_page) || parseFloat(props.current_page) || state.currentPage;
25
+ }
27
26
 
28
- state.parallelLoadCount = parseFloat(props.parallel_load_count) || 1;
29
- state.minTime = parseFloat(props.min_wait_time) || 0;
30
- state.placeMakerBeforeContent = isTrue(props.place_maker_before_content);
27
+ state.parallelLoadCount = parseFloat(props.parallel_load_count) || 1;
28
+ state.minTime = parseFloat(props.min_wait_time) || 0;
29
+ state.placeMakerBeforeContent = isTrue(props.place_maker_before_content);
31
30
 
32
- if (props.useMarkerOnly) {
33
- if (!state.lowerPage) {
34
- state.lowerPage = state.upperPage = state.startupPage;
35
- }
36
- }
31
+ if (props.useMarkerOnly && props.reset_pagination_handler !== null && isTrue(props.reset_pagination_handler)) {
32
+ state.lowerPage = undefined;
33
+ state.upperPage = undefined;
34
+ }
37
35
 
38
- if (props.reset_pagination_handler !== null && isTrue(props.reset_pagination_handler)) {
39
- if (props.useMarkerOnly) {
40
- state.lowerPage = state.upperPage = state.startupPage;
41
- }
36
+ if (props.useMarkerOnly) {
37
+ if (typeof state.lowerPage === 'undefined' && parseFloat(props.current_page) > 0) {
38
+ state.lowerPage = state.startupPage;
42
39
  }
43
40
 
44
- if (props.reset_content_handler !== null && isTrue(props.reset_content_handler)) {
45
- state.items = [];
46
- state.pageCount = parseFloat(props.page_count) || 1;
41
+ if (typeof state.upperPage === 'undefined') {
42
+ state.upperPage = state.startupPage + parseFloat(props.startup_count) - 1;
47
43
  }
44
+ }
48
45
 
49
- if (typeof props.items === 'string' && props.items[0] === '[') {
50
- state.items = JSON.parse(props.items);
51
- } else if (Array.isArray(props.items)) {
52
- state.items = props.items;
53
- }
46
+ if (props.reset_content_handler !== null && isTrue(props.reset_content_handler)) {
47
+ state.items = [];
48
+ state.pageCount = parseFloat(props.page_count) || 1;
49
+ }
50
+
51
+ if (typeof props.items === 'string' && props.items[0] === '[') {
52
+ state.items = JSON.parse(props.items);
53
+ } else if (Array.isArray(props.items)) {
54
+ state.items = props.items;
54
55
  }
55
56
 
56
- state._listenForPropChanges = true;
57
57
  return state;
58
58
  }
59
59
 
@@ -65,7 +65,7 @@ export default class PaginationProvider extends React.PureComponent {
65
65
  newContent = [newContent, content];
66
66
  }
67
67
 
68
- const pageNumber = parseFloat(newContent[0]);
68
+ const pageNumber = parseFloat(newContent[0]) || 1;
69
69
  newContent = newContent[1];
70
70
 
71
71
  if (typeof newContent === 'function') {
@@ -82,8 +82,7 @@ export default class PaginationProvider extends React.PureComponent {
82
82
 
83
83
  if (!itemToPrepare) {
84
84
  items = this.prefillItems(pageNumber, {
85
- position,
86
- skipObserver: true
85
+ position
87
86
  });
88
87
  itemToPrepare = items.find(({
89
88
  pageNumber: p
@@ -98,8 +97,7 @@ export default class PaginationProvider extends React.PureComponent {
98
97
 
99
98
  this.setState({
100
99
  items: [...(items || this.state.items)],
101
- currentPage: pageNumber,
102
- _listenForPropChanges: false
100
+ currentPage: pageNumber
103
101
  }, this.callOnPageUpdate);
104
102
  }
105
103
  });
@@ -108,43 +106,34 @@ export default class PaginationProvider extends React.PureComponent {
108
106
  clearTimeout(this.resetContentTimeout);
109
107
  this.resetContentTimeout = setTimeout(() => {
110
108
  this.setState({
111
- items: [],
112
- _listenForPropChanges: false
109
+ items: []
113
110
  });
114
111
  }, 10);
115
112
  });
116
113
 
117
114
  _defineProperty(this, "resetInfinity", (pageNumber = this.state.startupPage) => {
118
115
  const lowerPage = pageNumber;
119
- const upperPage = pageNumber;
116
+ const upperPage = pageNumber + parseFloat(this.props.startup_count) - 1;
120
117
  const currentPage = pageNumber;
121
- this._hasEndedInfinity = true;
122
118
  this.setState({
119
+ items: [],
123
120
  hasEndedInfinity: true,
124
121
  lowerPage,
125
122
  upperPage,
126
- currentPage,
127
- _listenForPropChanges: false
123
+ currentPage
128
124
  });
129
- clearTimeout(this.resetInfinityTimeout);
130
- this.resetInfinityTimeout = setTimeout(() => {
131
- this.startInfinity();
132
- }, this.state.minTime);
125
+ this.startInfinity();
133
126
  });
134
127
 
135
128
  _defineProperty(this, "startInfinity", () => {
136
- this._hasEndedInfinity = false;
137
129
  this.setState({
138
- hasEndedInfinity: false,
139
- _listenForPropChanges: false
130
+ hasEndedInfinity: false
140
131
  });
141
132
  });
142
133
 
143
134
  _defineProperty(this, "endInfinity", () => {
144
- this._hasEndedInfinity = true;
145
135
  this.setState({
146
- hasEndedInfinity: true,
147
- _listenForPropChanges: false
136
+ hasEndedInfinity: true
148
137
  }, () => {
149
138
  const pageNumber = this.state.currentPage + 1;
150
139
  dispatchCustomElementEvent(this, 'on_end', _objectSpread({
@@ -157,14 +146,25 @@ export default class PaginationProvider extends React.PureComponent {
157
146
 
158
147
  _defineProperty(this, "setItems", (items, cb) => {
159
148
  this.setState({
160
- items,
161
- _listenForPropChanges: false
149
+ items
162
150
  }, cb);
163
151
  });
164
152
 
165
153
  _defineProperty(this, "prefillItems", (pageNumber, props = {}, items = this.state.items) => {
166
154
  const position = props.position || (pageNumber < this.state.currentPage ? 'before' : 'after');
167
155
 
156
+ if (isNaN(pageNumber)) {
157
+ pageNumber = 1;
158
+ }
159
+
160
+ const exists = items.findIndex(({
161
+ pageNumber: p
162
+ }) => p === pageNumber) > -1;
163
+
164
+ if (exists) {
165
+ return items;
166
+ }
167
+
168
168
  const obj = _objectSpread({
169
169
  pageNumber,
170
170
  position,
@@ -181,9 +181,7 @@ export default class PaginationProvider extends React.PureComponent {
181
181
  });
182
182
 
183
183
  _defineProperty(this, "setStateHandler", (state, cb) => {
184
- this.setState(_objectSpread(_objectSpread({}, state), {}, {
185
- _listenForPropChanges: false
186
- }), cb);
184
+ this.setState(_objectSpread({}, state), cb);
187
185
  });
188
186
 
189
187
  _defineProperty(this, "callOnPageUpdate", () => {
@@ -221,8 +219,7 @@ export default class PaginationProvider extends React.PureComponent {
221
219
 
222
220
  this.state = {
223
221
  items: [],
224
- isLoading: false,
225
- _listenForPropChanges: true
222
+ isLoading: false
226
223
  };
227
224
 
228
225
  if (_props.rerender) {
@@ -322,8 +319,7 @@ export default class PaginationProvider extends React.PureComponent {
322
319
  setItems: this.setItems,
323
320
  prefillItems: this.prefillItems,
324
321
  setState: this.setStateHandler,
325
- onPageUpdate: this.onPageUpdate,
326
- _hasEndedInfinity: this._hasEndedInfinity
322
+ onPageUpdate: this.onPageUpdate
327
323
  }, this.props), this.state)
328
324
  })
329
325
  }, children);
@@ -139,7 +139,7 @@
139
139
  -webkit-user-select: none; // Safari / Touch fix
140
140
 
141
141
  margin: 0;
142
- padding: 0.25rem 0.125rem; /* 1/16*4 */
142
+ padding: 0 0.125rem; /* 1/16*4 */
143
143
 
144
144
  background-color: transparent;
145
145
  border-bottom: 1px solid transparent;
@@ -167,6 +167,10 @@
167
167
 
168
168
  @include dummySpacing();
169
169
 
170
+ & .dnb-dummy {
171
+ margin-top: 0.25rem;
172
+ }
173
+
170
174
  &::after {
171
175
  content: '';
172
176
  position: absolute;
@@ -211,7 +211,7 @@ html[data-visual-test] .dnb-tabs .dnb-tabs__scroll-nav-button {
211
211
  user-select: none;
212
212
  -webkit-user-select: none;
213
213
  margin: 0;
214
- padding: 0.25rem 0.125rem;
214
+ padding: 0 0.125rem;
215
215
  /* 1/16*4 */
216
216
  background-color: transparent;
217
217
  border-bottom: 1px solid transparent;
@@ -242,6 +242,9 @@ html[data-visual-test] .dnb-tabs .dnb-tabs__scroll-nav-button {
242
242
  height: 0;
243
243
  visibility: hidden;
244
244
  overflow: hidden; }
245
+ .dnb-tabs__button .dnb-dummy,
246
+ .dnb-core-style .dnb-tabs .dnb-tabs__button .dnb-dummy {
247
+ margin-top: 0.25rem; }
245
248
  .dnb-tabs__button::after,
246
249
  .dnb-core-style .dnb-tabs .dnb-tabs__button::after {
247
250
  content: '';
@@ -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;margin:0 -.5rem;overflow-x:auto;overscroll-behavior:contain;padding:0 .5rem;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;-ms-flex-positive:1;-webkit-box-pack:end;-ms-flex-pack:end;flex-grow: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:not(.dnb-tabs--has-scrollbar) .dnb-tabs__tabs__tablist{margin-left:-.5rem;padding-left:.5rem}.dnb-tabs__scroll-nav-button{display:none;opacity:0;position:absolute;-webkit-transition:opacity .6s ease-out;transition:opacity .6s ease-out;z-index:2}.dnb-tabs__scroll-nav-button.dnb-button--primary{background-color:#14555a;background-color:var(--color-emerald-green)}.dnb-tabs__scroll-nav-button:first-of-type{left:-2.5rem}.dnb-tabs__scroll-nav-button:last-of-type{right:-2.5rem}.dnb-tabs__scroll-nav-button--visible{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1}.dnb-tabs__scroll-nav-button--hide{opacity:0!important;pointer-events:none}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:first-of-type{left:0}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:last-of-type{right:0}html[data-visual-test] .dnb-tabs .dnb-tabs__scroll-nav-button{-webkit-transition:none;transition:none}.dnb-tabs__button__snap{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 1rem 0 1.5rem}@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}.dnb-tabs--has-scrollbar .dnb-tabs__button__snap:last-of-type{padding-right:1.5rem}.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:.25rem .125rem;position:relative;text-decoration:none;-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;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__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;margin:0 -.5rem;overflow-x:auto;overscroll-behavior:contain;padding:0 .5rem;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;-ms-flex-positive:1;-webkit-box-pack:end;-ms-flex-pack:end;flex-grow: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:not(.dnb-tabs--has-scrollbar) .dnb-tabs__tabs__tablist{margin-left:-.5rem;padding-left:.5rem}.dnb-tabs__scroll-nav-button{display:none;opacity:0;position:absolute;-webkit-transition:opacity .6s ease-out;transition:opacity .6s ease-out;z-index:2}.dnb-tabs__scroll-nav-button.dnb-button--primary{background-color:#14555a;background-color:var(--color-emerald-green)}.dnb-tabs__scroll-nav-button:first-of-type{left:-2.5rem}.dnb-tabs__scroll-nav-button:last-of-type{right:-2.5rem}.dnb-tabs__scroll-nav-button--visible{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1}.dnb-tabs__scroll-nav-button--hide{opacity:0!important;pointer-events:none}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:first-of-type{left:0}.dnb-tabs--at-edge .dnb-tabs__scroll-nav-button:last-of-type{right:0}html[data-visual-test] .dnb-tabs .dnb-tabs__scroll-nav-button{-webkit-transition:none;transition:none}.dnb-tabs__button__snap{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 1rem 0 1.5rem}@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}.dnb-tabs--has-scrollbar .dnb-tabs__button__snap:last-of-type{padding-right:1.5rem}.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;-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__content--spacing{padding-top:2rem}
@@ -65,8 +65,10 @@
65
65
  font-size: 1.125rem;
66
66
  font-size: var(--font-size-basis);
67
67
  text-align: center;
68
+ display: block;
68
69
  color: #007272;
69
- color: var(--color-sea-green); }
70
+ color: var(--color-sea-green);
71
+ padding: 0.5rem 0 0.25rem 0; }
70
72
 
71
73
  html:not([data-whatintent='touch']) .dnb-tabs__button:hover[disabled] {
72
74
  cursor: not-allowed; }
@@ -75,48 +77,49 @@ html:not([data-whatintent='touch']) .dnb-tabs__button:hover:not([disabled]) {
75
77
  background-color: #d2f0e9;
76
78
  background-color: var(--color-mint-green-50); }
77
79
  html:not([data-whatintent='touch']) .dnb-tabs__button:hover:not([disabled])::after {
78
- height: 3px;
79
- border-radius: 1.5px;
80
+ height: 2px;
81
+ border-radius: 2px;
80
82
  background-color: #007272;
81
83
  background-color: var(--color-sea-green); }
82
84
 
83
- .dnb-tabs__button:focus::before {
84
- content: '';
85
- position: absolute;
86
- z-index: 1;
87
- top: 0;
88
- left: -0.5rem;
89
- bottom: 0;
90
- right: -0.5rem;
91
- height: inherit;
92
- border-radius: inherit;
93
- outline: none; }
94
- html[data-whatinput='keyboard'] .dnb-tabs__button:focus::before {
95
- --border-color: var(--color-emerald-green);
96
- -webkit-box-shadow: 0 0 0 0.125rem var(--border-color);
97
- box-shadow: 0 0 0 0.125rem var(--border-color);
98
- border-color: transparent; }
99
- @media screen and (-ms-high-contrast: none) {
100
- html[data-whatinput='keyboard'] .dnb-tabs__button:focus::before {
101
- -webkit-box-shadow: 0 0 0 0.125rem #14555a;
102
- box-shadow: 0 0 0 0.125rem #14555a;
103
- -webkit-box-shadow: 0 0 0 0.125rem var(--color-emerald-green);
104
- box-shadow: 0 0 0 0.125rem var(--color-emerald-green); } }
105
-
106
- .dnb-tabs__button:focus::before {
107
- top: 2px;
108
- bottom: 2px;
109
- right: 0;
110
- left: 0;
111
- border-radius: 0.25rem; }
85
+ .dnb-tabs__button:focus {
86
+ overflow: visible; }
87
+ .dnb-tabs__button:focus::before {
88
+ content: '';
89
+ position: absolute;
90
+ z-index: 1;
91
+ top: 0;
92
+ left: -0.5rem;
93
+ bottom: 0;
94
+ right: -0.5rem;
95
+ height: inherit;
96
+ border-radius: inherit;
97
+ outline: none; }
98
+ html[data-whatinput='keyboard'] .dnb-tabs__button:focus::before {
99
+ --border-color: var(--color-emerald-green);
100
+ -webkit-box-shadow: 0 0 0 0.125rem var(--border-color);
101
+ box-shadow: 0 0 0 0.125rem var(--border-color);
102
+ border-color: transparent; }
103
+ @media screen and (-ms-high-contrast: none) {
104
+ html[data-whatinput='keyboard'] .dnb-tabs__button:focus::before {
105
+ -webkit-box-shadow: 0 0 0 0.125rem #14555a;
106
+ box-shadow: 0 0 0 0.125rem #14555a;
107
+ -webkit-box-shadow: 0 0 0 0.125rem var(--color-emerald-green);
108
+ box-shadow: 0 0 0 0.125rem var(--color-emerald-green); } }
109
+ .dnb-tabs__button:focus::before {
110
+ top: 0.5rem;
111
+ left: -0.375rem;
112
+ right: -0.375rem;
113
+ bottom: 0.5rem;
114
+ border-radius: 1.5rem; }
112
115
 
113
116
  .dnb-tabs__button[disabled] .dnb-tabs__button__title {
114
117
  color: #b3dada;
115
118
  color: var(--color-sea-green-30); }
116
119
 
117
120
  .dnb-tabs__button:not([disabled]):active::after, .dnb-tabs__button:not([disabled]).selected::after {
118
- height: 3px;
119
- border-radius: 1.5px;
121
+ height: 2px;
122
+ border-radius: 2px;
120
123
  background-color: #007272;
121
124
  background-color: var(--color-sea-green); }
122
125
 
@@ -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);font-size:1.125rem;font-size:var(--font-size-basis);font-weight:400;font-weight:var(--font-weight-regular);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:1.5px;height:3px}.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:.25rem;bottom:2px;left:0;right:0;top:2px}.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:1.5px;height:3px}.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: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)}
@@ -62,27 +62,30 @@
62
62
  font-size: var(--font-size-basis);
63
63
  text-align: center;
64
64
 
65
+ display: block;
65
66
  color: var(--color-sea-green);
67
+ padding: 0.5rem 0 0.25rem 0;
66
68
  }
67
69
 
68
70
  // hover
69
71
  @include hover() {
70
72
  background-color: var(--color-mint-green-50);
71
73
  &::after {
72
- height: 3px;
73
- border-radius: 1.5px;
74
+ height: 2px;
75
+ border-radius: 2px;
74
76
  background-color: var(--color-sea-green);
75
77
  }
76
78
  }
77
79
 
78
80
  &:focus {
79
81
  @include buttonFocusRing();
82
+ overflow: visible;
80
83
  &::before {
81
- top: 2px;
82
- bottom: 2px;
83
- right: 0;
84
- left: 0;
85
- border-radius: 0.25rem;
84
+ top: 0.5rem;
85
+ left: -0.375rem; // For overflow purposes
86
+ right: -0.375rem; // For overflow purposes
87
+ bottom: 0.5rem;
88
+ border-radius: 1.5rem;
86
89
  }
87
90
  }
88
91
 
@@ -95,8 +98,8 @@
95
98
  &:not([disabled]):active,
96
99
  &:not([disabled]).selected {
97
100
  &::after {
98
- height: 3px;
99
- border-radius: 1.5px;
101
+ height: 2px;
102
+ border-radius: 2px;
100
103
  background-color: var(--color-sea-green);
101
104
  }
102
105
  }
@@ -12,6 +12,7 @@ import { registerElement } from './custom-element';
12
12
  export { registerElement };
13
13
  export const PLATFORM_MAC = 'Mac|iPad|iPhone|iPod';
14
14
  export const PLATFORM_WIN = 'Win';
15
+ export const PLATFORM_ANDROID = 'Android';
15
16
  export const PLATFORM_LINUX = 'Linux';
16
17
  export const PLATFORM_IOS = 'iOS|iPhone|iPad|iPod';
17
18
 
@@ -1,10 +1,11 @@
1
- import { warn, PLATFORM_MAC, PLATFORM_WIN, PLATFORM_LINUX, PLATFORM_IOS } from './component-helper';
1
+ import { warn, PLATFORM_MAC, PLATFORM_WIN, PLATFORM_ANDROID, PLATFORM_LINUX, PLATFORM_IOS } from './component-helper';
2
2
  export let IS_IE11 = false;
3
3
  export let IS_EDGE = false;
4
4
  export let IS_IOS = false;
5
5
  export let IS_SAFARI = false;
6
6
  export let IS_WIN = false;
7
7
  export let IS_MAC = false;
8
+ export let IS_ANDROID = false;
8
9
  export let IS_LINUX = false;
9
10
  export const isMac = () => {
10
11
  var _navigator;
@@ -16,32 +17,38 @@ export const isWin = () => {
16
17
 
17
18
  return IS_WIN = typeof navigator !== 'undefined' && new RegExp(PLATFORM_WIN, 'i').test((_navigator2 = navigator) === null || _navigator2 === void 0 ? void 0 : _navigator2.platform);
18
19
  };
19
- export const isLinux = () => {
20
+ export const isAndroid = () => {
20
21
  var _navigator3;
21
22
 
22
- return IS_LINUX = typeof navigator !== 'undefined' && new RegExp(PLATFORM_LINUX, 'i').test((_navigator3 = navigator) === null || _navigator3 === void 0 ? void 0 : _navigator3.platform);
23
+ return IS_ANDROID = typeof navigator !== 'undefined' && new RegExp(PLATFORM_ANDROID, 'i').test((_navigator3 = navigator) === null || _navigator3 === void 0 ? void 0 : _navigator3.userAgent);
23
24
  };
24
- export const isiOS = () => {
25
+ export const isLinux = () => {
25
26
  var _navigator4;
26
27
 
27
- return IS_IOS = typeof navigator !== 'undefined' && new RegExp(PLATFORM_IOS, 'i').test((_navigator4 = navigator) === null || _navigator4 === void 0 ? void 0 : _navigator4.platform);
28
+ return IS_LINUX = typeof navigator !== 'undefined' && new RegExp(PLATFORM_LINUX, 'i').test((_navigator4 = navigator) === null || _navigator4 === void 0 ? void 0 : _navigator4.platform);
29
+ };
30
+ export const isiOS = () => {
31
+ var _navigator5;
32
+
33
+ return IS_IOS = typeof navigator !== 'undefined' && new RegExp(PLATFORM_IOS, 'i').test((_navigator5 = navigator) === null || _navigator5 === void 0 ? void 0 : _navigator5.platform);
28
34
  };
29
35
  export const isSafari = () => {
30
- var _navigator5, _navigator6;
36
+ var _navigator6, _navigator7;
31
37
 
32
- return IS_SAFARI = typeof navigator !== 'undefined' && /safari/i.test((_navigator5 = navigator) === null || _navigator5 === void 0 ? void 0 : _navigator5.userAgent) && !/chrome/i.test((_navigator6 = navigator) === null || _navigator6 === void 0 ? void 0 : _navigator6.userAgent);
38
+ return IS_SAFARI = typeof navigator !== 'undefined' && /safari/i.test((_navigator6 = navigator) === null || _navigator6 === void 0 ? void 0 : _navigator6.userAgent) && !/chrome/i.test((_navigator7 = navigator) === null || _navigator7 === void 0 ? void 0 : _navigator7.userAgent);
33
39
  };
34
40
  export const isIE11 = () => IS_IE11 = typeof window !== 'undefined' && typeof document !== 'undefined' ? !!window.MSInputMethodContext && !!document.documentMode : false;
35
41
  export const isEdge = () => {
36
- var _navigator7;
42
+ var _navigator8;
37
43
 
38
- return IS_EDGE = typeof navigator !== 'undefined' && /edge/i.test((_navigator7 = navigator) === null || _navigator7 === void 0 ? void 0 : _navigator7.userAgent);
44
+ return IS_EDGE = typeof navigator !== 'undefined' && /edge/i.test((_navigator8 = navigator) === null || _navigator8 === void 0 ? void 0 : _navigator8.userAgent);
39
45
  };
40
46
  isIE11();
41
47
  isEdge();
42
48
  isiOS();
43
49
  isSafari();
44
50
  isWin();
51
+ isAndroid();
45
52
  isMac();
46
53
  isLinux();
47
54
  const pageFocusElements = {};
@@ -246,7 +253,7 @@ export function getSelectedElement() {
246
253
  return null;
247
254
  }
248
255
  export async function copyToClipboard(string) {
249
- var _navigator8;
256
+ var _navigator9;
250
257
 
251
258
  if (typeof window === 'undefined' || typeof document === 'undefined') {
252
259
  return false;
@@ -287,7 +294,7 @@ export async function copyToClipboard(string) {
287
294
 
288
295
  let success;
289
296
 
290
- if (typeof navigator !== 'undefined' && (_navigator8 = navigator) !== null && _navigator8 !== void 0 && _navigator8.clipboard) {
297
+ if (typeof navigator !== 'undefined' && (_navigator9 = navigator) !== null && _navigator9 !== void 0 && _navigator9.clipboard) {
291
298
  try {
292
299
  await navigator.clipboard.writeText(String(string));
293
300
  success = true;
@@ -6701,7 +6701,7 @@ html[data-visual-test] .dnb-tabs .dnb-tabs__scroll-nav-button {
6701
6701
  user-select: none;
6702
6702
  -webkit-user-select: none;
6703
6703
  margin: 0;
6704
- padding: 0.25rem 0.125rem;
6704
+ padding: 0 0.125rem;
6705
6705
  /* 1/16*4 */
6706
6706
  background-color: transparent;
6707
6707
  border-bottom: 1px solid transparent;
@@ -6732,6 +6732,9 @@ html[data-visual-test] .dnb-tabs .dnb-tabs__scroll-nav-button {
6732
6732
  height: 0;
6733
6733
  visibility: hidden;
6734
6734
  overflow: hidden; }
6735
+ .dnb-tabs__button .dnb-dummy,
6736
+ .dnb-core-style .dnb-tabs .dnb-tabs__button .dnb-dummy {
6737
+ margin-top: 0.25rem; }
6735
6738
  .dnb-tabs__button::after,
6736
6739
  .dnb-core-style .dnb-tabs .dnb-tabs__button::after {
6737
6740
  content: '';