@dnb/eufemia 10.0.0-beta.4 → 10.0.0-beta.6

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 (159) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/cjs/components/accordion/Accordion.d.ts +1 -1
  3. package/cjs/components/accordion/AccordionHeader.d.ts +1 -1
  4. package/cjs/components/autocomplete/Autocomplete.d.ts +9 -3
  5. package/cjs/components/button/Button.d.ts +1 -1
  6. package/cjs/components/button/style/dnb-button--tertiary.css +0 -10
  7. package/cjs/components/button/style/dnb-button--tertiary.min.css +1 -1
  8. package/cjs/components/button/style/dnb-button--tertiary.scss +1 -14
  9. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +4 -10
  10. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  11. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +128 -298
  12. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  13. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +187 -33
  14. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +4 -10
  15. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  16. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +5 -0
  17. package/cjs/components/date-picker/DatePickerAddon.js +1 -2
  18. package/cjs/components/date-picker/style/dnb-date-picker.css +5 -1
  19. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  20. package/cjs/components/date-picker/style/dnb-date-picker.scss +5 -1
  21. package/cjs/components/dialog/parts/DialogAction.d.ts +2 -2
  22. package/cjs/components/dialog/parts/DialogHeader.d.ts +2 -1
  23. package/cjs/components/dropdown/Dropdown.d.ts +6 -2
  24. package/cjs/components/help-button/HelpButton.d.ts +1 -1
  25. package/cjs/components/input/Input.d.ts +1 -1
  26. package/cjs/components/input-masked/InputMasked.d.ts +1 -1
  27. package/cjs/components/modal/ModalContent.d.ts +1 -0
  28. package/cjs/components/modal/ModalContent.js +10 -2
  29. package/cjs/components/modal/parts/CloseButton.d.ts +1 -1
  30. package/cjs/components/modal/types.d.ts +3 -3
  31. package/cjs/components/number-format/NumberUtils.js +1 -1
  32. package/cjs/components/pagination/Pagination.d.ts +33 -33
  33. package/cjs/components/tooltip/TooltipPortal.js +20 -6
  34. package/cjs/elements/div/Div.d.ts +2 -0
  35. package/cjs/extensions/payment-card/utils/cardProducts.js +5 -5
  36. package/cjs/fragments/drawer-list/DrawerList.js +5 -1
  37. package/cjs/shared/Eufemia.js +1 -1
  38. package/cjs/shared/Theme.d.ts +9 -1
  39. package/cjs/shared/Theme.js +55 -29
  40. package/cjs/style/dnb-ui-components.css +5 -1
  41. package/cjs/style/dnb-ui-components.min.css +1 -1
  42. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +13 -21
  43. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  44. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  45. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  46. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +133 -299
  47. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  48. package/cjs/style/themes/theme-sbanken/theme-mapping.scss +1 -1
  49. package/cjs/style/themes/theme-ui/ui-theme-components.css +9 -11
  50. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  51. package/components/accordion/Accordion.d.ts +1 -1
  52. package/components/accordion/AccordionHeader.d.ts +1 -1
  53. package/components/autocomplete/Autocomplete.d.ts +9 -3
  54. package/components/button/Button.d.ts +1 -1
  55. package/components/button/style/dnb-button--tertiary.css +0 -10
  56. package/components/button/style/dnb-button--tertiary.min.css +1 -1
  57. package/components/button/style/dnb-button--tertiary.scss +1 -14
  58. package/components/button/style/themes/dnb-button-theme-eiendom.css +4 -10
  59. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  60. package/components/button/style/themes/dnb-button-theme-sbanken.css +128 -298
  61. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  62. package/components/button/style/themes/dnb-button-theme-sbanken.scss +187 -33
  63. package/components/button/style/themes/dnb-button-theme-ui.css +4 -10
  64. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  65. package/components/button/style/themes/dnb-button-theme-ui.scss +5 -0
  66. package/components/date-picker/DatePickerAddon.js +1 -2
  67. package/components/date-picker/style/dnb-date-picker.css +5 -1
  68. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  69. package/components/date-picker/style/dnb-date-picker.scss +5 -1
  70. package/components/dialog/parts/DialogAction.d.ts +2 -2
  71. package/components/dialog/parts/DialogHeader.d.ts +2 -1
  72. package/components/dropdown/Dropdown.d.ts +6 -2
  73. package/components/help-button/HelpButton.d.ts +1 -1
  74. package/components/input/Input.d.ts +1 -1
  75. package/components/input-masked/InputMasked.d.ts +1 -1
  76. package/components/modal/ModalContent.d.ts +1 -0
  77. package/components/modal/ModalContent.js +8 -2
  78. package/components/modal/parts/CloseButton.d.ts +1 -1
  79. package/components/modal/types.d.ts +3 -3
  80. package/components/number-format/NumberUtils.js +2 -2
  81. package/components/pagination/Pagination.d.ts +33 -33
  82. package/components/tooltip/TooltipPortal.js +18 -6
  83. package/elements/div/Div.d.ts +2 -0
  84. package/es/components/accordion/Accordion.d.ts +1 -1
  85. package/es/components/accordion/AccordionHeader.d.ts +1 -1
  86. package/es/components/autocomplete/Autocomplete.d.ts +9 -3
  87. package/es/components/button/Button.d.ts +1 -1
  88. package/es/components/button/style/dnb-button--tertiary.css +0 -10
  89. package/es/components/button/style/dnb-button--tertiary.min.css +1 -1
  90. package/es/components/button/style/dnb-button--tertiary.scss +1 -14
  91. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +4 -10
  92. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  93. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +128 -298
  94. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  95. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +187 -33
  96. package/es/components/button/style/themes/dnb-button-theme-ui.css +4 -10
  97. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  98. package/es/components/button/style/themes/dnb-button-theme-ui.scss +5 -0
  99. package/es/components/date-picker/DatePickerAddon.js +1 -2
  100. package/es/components/date-picker/style/dnb-date-picker.css +5 -1
  101. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  102. package/es/components/date-picker/style/dnb-date-picker.scss +5 -1
  103. package/es/components/dialog/parts/DialogAction.d.ts +2 -2
  104. package/es/components/dialog/parts/DialogHeader.d.ts +2 -1
  105. package/es/components/dropdown/Dropdown.d.ts +6 -2
  106. package/es/components/help-button/HelpButton.d.ts +1 -1
  107. package/es/components/input/Input.d.ts +1 -1
  108. package/es/components/input-masked/InputMasked.d.ts +1 -1
  109. package/es/components/modal/ModalContent.d.ts +1 -0
  110. package/es/components/modal/ModalContent.js +8 -2
  111. package/es/components/modal/parts/CloseButton.d.ts +1 -1
  112. package/es/components/modal/types.d.ts +3 -3
  113. package/es/components/number-format/NumberUtils.js +2 -2
  114. package/es/components/pagination/Pagination.d.ts +33 -33
  115. package/es/components/tooltip/TooltipPortal.js +17 -5
  116. package/es/elements/div/Div.d.ts +2 -0
  117. package/es/extensions/payment-card/utils/cardProducts.js +5 -5
  118. package/es/fragments/drawer-list/DrawerList.js +4 -1
  119. package/es/shared/Eufemia.js +1 -1
  120. package/es/shared/Theme.d.ts +9 -1
  121. package/es/shared/Theme.js +51 -29
  122. package/es/style/dnb-ui-components.css +5 -1
  123. package/es/style/dnb-ui-components.min.css +1 -1
  124. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +13 -21
  125. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  126. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  127. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  128. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +133 -299
  129. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  130. package/es/style/themes/theme-sbanken/theme-mapping.scss +1 -1
  131. package/es/style/themes/theme-ui/ui-theme-components.css +9 -11
  132. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  133. package/esm/dnb-ui-basis.min.mjs +1 -1
  134. package/esm/dnb-ui-components.min.mjs +1 -1
  135. package/esm/dnb-ui-elements.min.mjs +1 -1
  136. package/esm/dnb-ui-extensions.min.mjs +1 -1
  137. package/esm/dnb-ui-lib.min.mjs +1 -1
  138. package/extensions/payment-card/utils/cardProducts.js +5 -5
  139. package/fragments/drawer-list/DrawerList.js +4 -1
  140. package/package.json +1 -1
  141. package/shared/Eufemia.js +1 -1
  142. package/shared/Theme.d.ts +9 -1
  143. package/shared/Theme.js +51 -29
  144. package/style/dnb-ui-components.css +5 -1
  145. package/style/dnb-ui-components.min.css +1 -1
  146. package/style/themes/theme-eiendom/eiendom-theme-components.css +13 -21
  147. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  148. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  149. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  150. package/style/themes/theme-sbanken/sbanken-theme-components.css +133 -299
  151. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  152. package/style/themes/theme-sbanken/theme-mapping.scss +1 -1
  153. package/style/themes/theme-ui/ui-theme-components.css +9 -11
  154. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  155. package/umd/dnb-ui-basis.min.js +1 -1
  156. package/umd/dnb-ui-components.min.js +1 -1
  157. package/umd/dnb-ui-elements.min.js +1 -1
  158. package/umd/dnb-ui-extensions.min.js +1 -1
  159. package/umd/dnb-ui-lib.min.js +1 -1
@@ -8,7 +8,7 @@ import React from 'react';
8
8
  import Context from '../../shared/Context';
9
9
  import { LOCALE, CURRENCY, CURRENCY_DISPLAY } from '../../shared/defaults';
10
10
  import { warn, isTrue, slugify, escapeRegexChars } from '../../shared/component-helper';
11
- import { getOffsetTop, getOffsetLeft, getSelectedElement, copyToClipboard, IS_MAC, IS_WIN, IS_SAFARI } from '../../shared/helpers';
11
+ import { getOffsetTop, getOffsetLeft, getSelectedElement, copyToClipboard, IS_MAC, IS_WIN } from '../../shared/helpers';
12
12
  const NUMBER_CHARS = '\\-0-9,.';
13
13
  export const format = (value, {
14
14
  locale = null,
@@ -657,7 +657,7 @@ export function useCopyWithNotice() {
657
657
  };
658
658
  }
659
659
  export function getFallbackCurrencyDisplay(locale = null, currency_display = null) {
660
- if (!currency_display && !IS_SAFARI && (!locale || /(no|nb|nn)$/i.test(locale))) {
660
+ if (!currency_display && (!locale || /(no|nb|nn)$/i.test(locale))) {
661
661
  currency_display = 'narrowSymbol';
662
662
  }
663
663
 
@@ -34,170 +34,170 @@ type PaginationIndicatorElement =
34
34
  | ((...args: any[]) => any)
35
35
  | string;
36
36
  type PaginationChildren = React.ReactNode | ((...args: any[]) => any);
37
- interface PaginationProps
37
+ export interface PaginationProps
38
38
  extends React.HTMLProps<HTMLElement>,
39
39
  SpacingProps {
40
40
  /**
41
41
  * The page shown in the very beginning. If `current_page` is set, then it may not make too much sense to set this as well.
42
42
  */
43
43
  startup_page?: PaginationStartupPage;
44
+
44
45
  /**
45
46
  * The page shown at the moment the component renders. Defaults to `1`.
46
47
  */
47
-
48
48
  current_page?: PaginationCurrentPage;
49
+
49
50
  /**
50
51
  * The total pages count. Defaults to `1`.
51
52
  */
52
-
53
53
  page_count?: PaginationPageCount;
54
+
54
55
  /**
55
56
  * Defines how many `infinity` pages should be loaded / shown on the first render. Defaults to `1`.
56
57
  */
57
-
58
58
  startup_count?: PaginationStartupCount;
59
+
59
60
  /**
60
61
  * Defines how many `infinity` pages should be loaded / shown once the user scrolls down. Defaults to `1`.
61
62
  */
62
-
63
63
  parallel_load_count?: PaginationParallelLoadCount;
64
+
64
65
  /**
65
66
  * If set to `true`, the infinity marker will be placed before the content (on top off). This could potentially have negative side effects. But it depends really on the content if this would make more sense to use instead. Defaults to `false`.
66
67
  */
67
-
68
68
  place_maker_before_content?: boolean;
69
+
69
70
  /**
70
71
  * The minimum time to wait, if the infinity scroll was invoked under that time threshold. This prevents not intentional infinity scroll loop calls. Defaults to `400` milliseconds.
71
72
  */
72
-
73
73
  min_wait_time?: PaginationMinWaitTime;
74
+
74
75
  /**
75
76
  * If set to `true`, all pagination bar buttons are disabled.
76
77
  */
77
-
78
78
  disabled?: boolean;
79
+
79
80
  /**
80
81
  * If set to `true`, an overlaying skeleton with animation will be shown.
81
82
  */
82
-
83
83
  skeleton?: SkeletonShow;
84
+
84
85
  /**
85
86
  * If set to `infinity`, then the pagination bar will be now shown and but infinity scrolling will do the content presentation. For more information, check out the <a href="https://eufemia.dnb.no/uilib/components/pagination/infinity-scroller">Infinity Scroller</a>. Defaults to `pagination`.
86
87
  */
87
-
88
88
  mode?: PaginationMode;
89
+
89
90
  /**
90
91
  * If set to `true` it will disable the automated infinity scrolling, but shows a load more button at the of the content instead.
91
92
  */
92
-
93
93
  use_load_button?: boolean;
94
94
  items?: PaginationItems;
95
+
95
96
  /**
96
97
  * If set to `true` no indicator will be shown.
97
98
  */
98
-
99
99
  hide_progress_indicator?: boolean;
100
+
100
101
  /**
101
102
  * Callback function to get the `setContent` handler from the current pagination instance. e.g. `set_content_handler={fn => (...)}`. Use this handler to insert content during infinity mode.
102
103
  */
103
-
104
104
  set_content_handler?: PaginationSetContentHandler;
105
+
105
106
  /**
106
107
  * Callback function to get the `resetContent` handler from the current pagination instance. e.g. `reset_content_handler={fn => (...)}`. Use this handler to reset all the content. You can set it to `true`, to programmatically reset the content.
107
108
  */
108
-
109
109
  reset_content_handler?: PaginationResetContentHandler;
110
+
110
111
  /**
111
112
  * Callback function to get the `resetInfinity` handler from the current pagination instance. e.g. `reset_pagination_handler={fn => (...)}`. Use this handler to reset all the internal states. You can set it to `true`, to programmatically reset the states.
112
113
  */
113
-
114
114
  reset_pagination_handler?: PaginationResetPaginationHandler;
115
+
115
116
  /**
116
117
  * Callback function to get the `endInfinity` handler from the current pagination instance. e.g. `end_infinity_handler={fn => (...)}`. Use this handler to end the infinity scrolling procedure, in case the `page_count` is unknown.
117
118
  */
118
-
119
119
  end_infinity_handler?: PaginationEndInfinityHandler;
120
+
120
121
  /**
121
122
  * By default a `<div>` is used. Set it to any element you have to use. Adds also a class: `dnb-pagination__page` shown.
122
123
  */
123
-
124
124
  page_element?: PaginationPageElement;
125
+
125
126
  /**
126
127
  * (infinity mode) is used by the <em>indicator</em>, <em>load more</em> bar as well as by the marker. Defaults to a `div`.
127
128
  */
128
-
129
129
  fallback_element?: PaginationFallbackElement;
130
+
130
131
  /**
131
132
  * (infinity mode) is used by the internal marker. Falls back to `fallback_element` if not defined.
132
133
  */
133
-
134
134
  marker_element?: PaginationMarkerElement;
135
+
135
136
  /**
136
137
  * (infinity mode) is used by the <em>indicator</em>. Falls back to `fallback_element` if not defined.
137
138
  */
138
-
139
139
  indicator_element?: PaginationIndicatorElement;
140
+
140
141
  /**
141
142
  * Define the alignment of the pagination button bar. Can be `center`, `left` or `right`. Defaults to `left`.
142
143
  */
143
-
144
144
  align?: string;
145
+
145
146
  /**
146
147
  * The title used in every button shown in the bar. Defaults to `Side %s`.
147
148
  */
148
-
149
149
  button_title?: string;
150
+
150
151
  /**
151
152
  * The title used in the previous page button. Defaults to `Forrige side`.
152
153
  */
153
-
154
154
  prev_title?: string;
155
+
155
156
  /**
156
157
  * The title used in the next page button. Defaults to `Neste side`.
157
158
  */
158
-
159
159
  next_title?: string;
160
+
160
161
  /**
161
162
  * The title used in the dots. Relevant for screen-readers. Defaults to `%s flere sider`.
162
163
  */
163
-
164
164
  more_pages?: string;
165
+
165
166
  /**
166
167
  * Shown until new content is inserted in to the page. Defaults to `Laster nytt innhold`.
167
168
  */
168
-
169
169
  is_loading_text?: string;
170
+
170
171
  /**
171
- * Used during infinity mode. If `use_load_button` is set to true, then a button is show on the bottom. If the `startup_page` is higher than 1. Defaults to `Vis mer innhold`.
172
+ * Used during infinity mode. If `use_load_button` is set to `true`, then a button is show on the bottom. If the `startup_page` is higher than 1. Defaults to `Vis mer innhold`.
172
173
  */
173
-
174
174
  load_button_text?: string;
175
175
  class?: string;
176
176
  className?: string;
177
+
177
178
  /**
178
179
  * The given content can be either a function or a React node, depending on your needs. A function contains several helper functions. More details down below and have a look at the examples in the demos section.
179
180
  */
180
-
181
181
  children?: PaginationChildren;
182
+
182
183
  /**
183
184
  * Will be called for every page change, regardless if the mode is `mode="infinity"` or not. Returns an object with number of useful properties and methods. See below for more details.
184
185
  */
185
-
186
186
  on_change?: (...args: any[]) => any;
187
+
187
188
  /**
188
189
  * Only on "infinity" mode. Will be called once the component is ready for interaction. Returns an object with number of useful properties and methods. See below for more details. "NB:" Will be called again as soon as we reset the content by calling `resetContent()`.
189
190
  */
190
-
191
191
  on_startup?: (...args: any[]) => any;
192
+
192
193
  /**
193
194
  * Only on "infinity" mode. Will be called on every page interaction, also on the very first interaction. Returns an object with number of useful properties and methods. See below for more details.
194
195
  */
195
-
196
196
  on_load?: (...args: any[]) => any;
197
+
197
198
  /**
198
199
  * Only on "infinity" mode. Will be called once `page_count` is reached or `endInfinity` was called.
199
200
  */
200
-
201
201
  on_end?: (...args: any[]) => any;
202
202
  }
203
203
  export default class Pagination extends React.Component<
@@ -3,6 +3,8 @@ import React from 'react';
3
3
  import ReactDOM from 'react-dom';
4
4
  import { makeUniqueId, warn } from '../../shared/component-helper';
5
5
  import TooltipContainer from './TooltipContainer';
6
+ import { useTheme } from '../../shared';
7
+ import { getThemeClasses } from '../../shared/Theme';
6
8
  let tooltipPortal;
7
9
 
8
10
  if (typeof globalThis !== 'undefined') {
@@ -26,12 +28,13 @@ function TooltipPortal(props) {
26
28
  const [id] = React.useState(() => props.group || makeUniqueId());
27
29
  const isInDOM = React.useRef(false);
28
30
  const hasGroup = props.group;
31
+ const theme = useTheme();
29
32
 
30
33
  const makePortal = () => {
31
34
  if (!tooltipPortal[id]) {
32
35
  tooltipPortal[id] = {
33
36
  count: 0,
34
- node: hasGroup ? createGroupElement(id) : createRootElement()
37
+ node: hasGroup ? createGroupElement(theme, id) : createRootElement(theme)
35
38
  };
36
39
  }
37
40
  };
@@ -56,7 +59,7 @@ function TooltipPortal(props) {
56
59
  if (ref.count <= 0) {
57
60
  if (hasGroup) {
58
61
  ReactDOM.unmountComponentAtNode(ref.node);
59
- createRootElement().removeChild(ref.node);
62
+ createRootElement(theme).removeChild(ref.node);
60
63
  }
61
64
 
62
65
  delete tooltipPortal[id];
@@ -147,19 +150,23 @@ function TooltipPortal(props) {
147
150
 
148
151
  export default TooltipPortal;
149
152
 
150
- const createGroupElement = id => {
153
+ const createGroupElement = (theme, id) => {
151
154
  try {
152
155
  const elem = document.createElement('div');
153
156
  elem.classList.add('dnb-tooltip__group');
154
157
  elem.setAttribute('id', id);
155
- createRootElement().appendChild(elem);
158
+ createRootElement(theme).appendChild(elem);
156
159
  return elem;
157
160
  } catch (e) {
158
161
  warn(e);
159
162
  }
160
163
  };
161
164
 
162
- const createRootElement = (className = 'dnb-tooltip__portal') => {
165
+ const createRootElement = (theme, className = null) => {
166
+ if (!className) {
167
+ className = 'dnb-tooltip__portal';
168
+ }
169
+
163
170
  try {
164
171
  const element = document.querySelector(`.${className}`);
165
172
 
@@ -170,6 +177,11 @@ const createRootElement = (className = 'dnb-tooltip__portal') => {
170
177
  const elem = document.createElement('div');
171
178
  elem.classList.add(className);
172
179
  elem.classList.add('dnb-core-style');
180
+
181
+ if (theme) {
182
+ elem.classList.add.call(elem.classList, ...getThemeClasses(theme).split(' '));
183
+ }
184
+
173
185
  document.body.appendChild(elem);
174
186
  return elem;
175
187
  } catch (e) {
@@ -3,6 +3,8 @@
3
3
  *
4
4
  */
5
5
  import React from 'react';
6
+ import { SpacingProps } from '../../components/space/types';
7
+ export declare type DivProps = SpacingProps & React.HTMLAttributes<HTMLElement>;
6
8
  declare const Div: React.ForwardRefExoticComponent<import("../../components/space/types").SpacingElementProps & {
7
9
  space?: import("../../components/space/types").SpaceType | import("../../components/space/types").SpacingElementProps;
8
10
  } & React.HTMLAttributes<HTMLElement> & React.RefAttributes<unknown>>;
@@ -71,7 +71,7 @@ const cardData = [{
71
71
  cardDesign: defaultDesign,
72
72
  productType: ProductType.None,
73
73
  cardType: CardType.Visa,
74
- bankAxept: BankAxeptType.None
74
+ bankAxept: BankAxeptType.BankAxept
75
75
  }, {
76
76
  productCode: 'VK4',
77
77
  productName: 'DNB Visa',
@@ -79,7 +79,7 @@ const cardData = [{
79
79
  cardDesign: defaultDesign,
80
80
  productType: ProductType.None,
81
81
  cardType: CardType.Visa,
82
- bankAxept: BankAxeptType.None
82
+ bankAxept: BankAxeptType.BankAxept
83
83
  }, {
84
84
  productCode: '084',
85
85
  productName: 'Pluss Mastercard(leve)',
@@ -111,7 +111,7 @@ const cardData = [{
111
111
  cardDesign: pluss,
112
112
  productType: ProductType.Pluss,
113
113
  cardType: CardType.Visa,
114
- bankAxept: BankAxeptType.None
114
+ bankAxept: BankAxeptType.BankAxept
115
115
  }, {
116
116
  productCode: 'VL4',
117
117
  productName: 'DNB Visa u/leg',
@@ -151,7 +151,7 @@ const cardData = [{
151
151
  cardDesign: sagaPlatinum,
152
152
  productType: ProductType.Saga,
153
153
  cardType: CardType.Visa,
154
- bankAxept: BankAxeptType.None
154
+ bankAxept: BankAxeptType.BankAxept
155
155
  }, {
156
156
  productCode: 'VP3',
157
157
  productName: 'Private Banking Visa',
@@ -159,7 +159,7 @@ const cardData = [{
159
159
  cardDesign: privateBanking,
160
160
  productType: ProductType.PrivateBanking,
161
161
  cardType: CardType.Visa,
162
- bankAxept: BankAxeptType.None
162
+ bankAxept: BankAxeptType.BankAxept
163
163
  }, {
164
164
  productCode: 'VP4',
165
165
  productName: 'SAGA Platinum Visa u/leg',
@@ -15,6 +15,7 @@ import PropTypes from 'prop-types';
15
15
  import classnames from 'classnames';
16
16
  import keycode from 'keycode';
17
17
  import { isTrue, makeUniqueId, extendPropsWithContextInClassComponent, validateDOMAttributes, dispatchCustomElementEvent } from '../../shared/component-helper';
18
+ import { getThemeClasses } from '../../shared/Theme';
18
19
  import { createSpacingClasses } from '../../components/space/SpacingHelper';
19
20
  import DrawerListContext from './DrawerListContext';
20
21
  import DrawerListProvider from './DrawerListProvider';
@@ -114,6 +115,8 @@ class DrawerListInstance extends React.PureComponent {
114
115
  }
115
116
 
116
117
  render() {
118
+ var _this$context2;
119
+
117
120
  const props = extendPropsWithContextInClassComponent(this.props, DrawerList.defaultProps, this.context.getTranslation(this.props).DrawerList);
118
121
 
119
122
  const {
@@ -268,7 +271,7 @@ class DrawerListInstance extends React.PureComponent {
268
271
  include_owner_width: align_drawer === 'right',
269
272
  independent_width: isTrue(independent_width),
270
273
  fixed_position: isTrue(fixed_position),
271
- className: portal_class
274
+ className: getThemeClasses((_this$context2 = this.context) === null || _this$context2 === void 0 ? void 0 : _this$context2.theme, portal_class)
272
275
  }, mainList) : mainList);
273
276
  }
274
277
 
@@ -2,7 +2,7 @@ export function init() {
2
2
  if (typeof window !== 'undefined') {
3
3
  class Eufemia {
4
4
  get version() {
5
- return '10.0.0-beta.4';
5
+ return '10.0.0-beta.6';
6
6
  }
7
7
 
8
8
  }
@@ -13,7 +13,15 @@ export declare type ThemeProps = {
13
13
  variant?: ThemeVariants;
14
14
  size?: ThemeSizes;
15
15
  colorMapping?: ColorMapping;
16
- element?: DynamicElement;
16
+ element?: DynamicElement | false;
17
17
  };
18
18
  export declare type ThemeAllProps = ThemeProps & React.HTMLAttributes<HTMLElement>;
19
19
  export default function Theme(themeProps: ThemeAllProps): JSX.Element;
20
+ export declare function ThemeWrapper({ children, theme, element, className, ...rest }: {
21
+ [x: string]: any;
22
+ children: any;
23
+ theme: any;
24
+ element?: any;
25
+ className?: any;
26
+ }): any;
27
+ export declare function getThemeClasses(theme: ThemeProps, className?: any): any;
@@ -1,56 +1,78 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- const _excluded = ["children", "element"],
5
- _excluded2 = ["name", "variant", "size"];
6
-
7
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8
-
9
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
-
3
+ const _excluded = ["children", "element", "name", "variant", "size", "colorMapping"],
4
+ _excluded2 = ["children", "theme", "element", "className"];
11
5
  import React from 'react';
12
6
  import classnames from 'classnames';
13
7
  import Context from './Context';
14
8
  import Provider from './Provider';
9
+ import { extendPropsWithContext } from './component-helper';
15
10
  export default function Theme(themeProps) {
16
11
  const context = React.useContext(Context);
17
12
 
18
13
  const {
19
14
  children,
20
- element
15
+ element,
16
+ name,
17
+ variant,
18
+ size,
19
+ colorMapping
21
20
  } = themeProps,
22
- theme = _objectWithoutProperties(themeProps, _excluded);
23
-
24
- const currentTheme = _objectSpread(_objectSpread({}, context === null || context === void 0 ? void 0 : context.theme), theme);
21
+ restProps = _objectWithoutProperties(themeProps, _excluded);
25
22
 
23
+ const theme = extendPropsWithContext({
24
+ name,
25
+ variant,
26
+ size,
27
+ colorMapping
28
+ }, null, context === null || context === void 0 ? void 0 : context.theme);
26
29
  return React.createElement(Provider, {
27
- theme: currentTheme
28
- }, React.createElement(ThemeWrapper, {
30
+ theme: theme
31
+ }, React.createElement(ThemeWrapper, _extends({
29
32
  element: element,
30
- currentTheme: currentTheme
31
- }, children));
33
+ theme: theme
34
+ }, restProps), children));
32
35
  }
36
+ export function ThemeWrapper(_ref) {
37
+ let {
38
+ children,
39
+ theme,
40
+ element = null,
41
+ className = null
42
+ } = _ref,
43
+ rest = _objectWithoutProperties(_ref, _excluded2);
44
+
45
+ const Wrapper = element === false ? React.Fragment : element || 'div';
46
+ const ref = React.useRef(null);
33
47
 
34
- function ThemeWrapper({
35
- children,
36
- element,
37
- currentTheme
38
- }) {
48
+ if (Wrapper === React.Fragment) {
49
+ return children;
50
+ }
51
+
52
+ rest['ref'] = ref;
53
+ const classNames = getThemeClasses(theme, className);
39
54
  const {
40
55
  name,
41
56
  variant,
42
57
  size
43
- } = currentTheme,
44
- rest = _objectWithoutProperties(currentTheme, _excluded2);
45
-
46
- const Wrapper = element || 'div';
47
- const ref = React.useRef(null);
48
- rest['ref'] = ref;
49
- const className = classnames('eufemia-theme', name && `eufemia-theme__${name}` + (variant ? ` eufemia-theme__${name}--${variant}` : ""), size && `eufemia-theme__size--${size}`);
58
+ } = theme;
50
59
  return React.createElement(Wrapper, _extends({
51
60
  "data-name": name,
52
61
  "data-variant": variant,
53
62
  "data-size": size,
54
- className: className
63
+ className: classNames
55
64
  }, rest), children);
65
+ }
66
+ export function getThemeClasses(theme, className = null) {
67
+ if (!theme) {
68
+ return className;
69
+ }
70
+
71
+ const {
72
+ name,
73
+ variant,
74
+ size,
75
+ colorMapping
76
+ } = theme;
77
+ return classnames(className, 'eufemia-theme', name && `eufemia-theme__${name}` + (variant ? ` eufemia-theme__${name}--${variant}` : ""), colorMapping && `eufemia-theme__color-mapping--${colorMapping}`, size && `eufemia-theme__size--${size}`);
56
78
  }
@@ -1876,7 +1876,11 @@ html[data-visual-test] .dnb-date-picker:not(.dnb-date-picker--opened) .dnb-date-
1876
1876
  height: 1px;
1877
1877
  }
1878
1878
  .dnb-date-picker__addon {
1879
- display: block;
1879
+ display: flex;
1880
+ flex-flow: row wrap;
1881
+ justify-content: flex-start;
1882
+ grid-gap: 1rem;
1883
+ gap: 1rem;
1880
1884
  padding: 1rem;
1881
1885
  }
1882
1886
  .dnb-date-picker__addon::after {