@dnb/eufemia 9.28.0 → 9.29.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 (209) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/cjs/components/dialog/style/dnb-dialog.css +9 -6
  3. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  4. package/cjs/components/drawer/style/_drawer.scss +4 -3
  5. package/cjs/components/drawer/style/dnb-drawer.css +17 -10
  6. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  7. package/cjs/components/form-row/FormRowHelpers.d.ts +1 -1
  8. package/cjs/components/lib.d.ts +1 -89
  9. package/cjs/components/modal/style/_modal.scss +0 -1
  10. package/cjs/components/modal/style/dnb-modal.css +9 -6
  11. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  12. package/cjs/components/skeleton/SkeletonHelper.d.ts +2 -1
  13. package/cjs/components/slider/Slider.d.ts +6 -144
  14. package/cjs/components/slider/Slider.js +5 -595
  15. package/cjs/components/slider/SliderHelpers.d.ts +23 -0
  16. package/cjs/components/slider/SliderHelpers.js +239 -0
  17. package/cjs/components/slider/SliderInstance.d.ts +6 -0
  18. package/cjs/components/slider/SliderInstance.js +190 -0
  19. package/cjs/components/slider/SliderProvider.d.ts +4 -0
  20. package/cjs/components/slider/SliderProvider.js +264 -0
  21. package/cjs/components/slider/SliderThumb.d.ts +2 -0
  22. package/cjs/components/slider/SliderThumb.js +137 -0
  23. package/cjs/components/slider/SliderTrack.d.ts +6 -0
  24. package/cjs/components/slider/SliderTrack.js +131 -0
  25. package/cjs/components/slider/hooks/useSliderEvents.d.ts +11 -0
  26. package/cjs/components/slider/hooks/useSliderEvents.js +146 -0
  27. package/cjs/components/slider/hooks/useSliderProps.d.ts +1 -0
  28. package/cjs/components/slider/hooks/useSliderProps.js +16 -0
  29. package/cjs/components/slider/style/_slider.scss +19 -48
  30. package/cjs/components/slider/style/dnb-slider.css +30 -60
  31. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  32. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
  33. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  34. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
  35. package/cjs/components/slider/types.d.ts +75 -0
  36. package/cjs/components/slider/types.js +1 -0
  37. package/cjs/elements/Anchor.d.ts +44 -105
  38. package/cjs/elements/Anchor.js +48 -138
  39. package/cjs/elements/Element.d.ts +23 -40
  40. package/cjs/elements/Element.js +48 -122
  41. package/cjs/elements/Link.d.ts +18 -1
  42. package/cjs/elements/lib.d.ts +36 -2
  43. package/cjs/shared/Context.d.ts +2 -0
  44. package/cjs/shared/Eufemia.js +1 -1
  45. package/cjs/shared/helpers/Suffix.d.ts +2 -1
  46. package/cjs/shared/helpers/Suffix.js +5 -2
  47. package/cjs/shared/helpers/withCamelCaseProps.d.ts +1 -1
  48. package/cjs/shared/helpers/withSnakeCaseProps.d.ts +40 -0
  49. package/cjs/shared/helpers/withSnakeCaseProps.js +168 -0
  50. package/cjs/shared/locales/en-GB.d.ts +3 -3
  51. package/cjs/shared/locales/en-GB.js +3 -3
  52. package/cjs/shared/locales/en-US.d.ts +3 -3
  53. package/cjs/shared/locales/index.d.ts +6 -6
  54. package/cjs/shared/locales/nb-NO.d.ts +3 -3
  55. package/cjs/shared/locales/nb-NO.js +3 -3
  56. package/cjs/style/dnb-ui-components.css +39 -66
  57. package/cjs/style/dnb-ui-components.min.css +3 -3
  58. package/cjs/style/dnb-ui-elements.css +44 -28
  59. package/cjs/style/dnb-ui-elements.min.css +1 -1
  60. package/cjs/style/dnb-ui-tags.css +63 -40
  61. package/cjs/style/dnb-ui-tags.min.css +1 -1
  62. package/cjs/style/elements/_anchor-mixins.scss +6 -3
  63. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +40 -40
  64. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  65. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +44 -44
  66. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  67. package/components/dialog/style/dnb-dialog.css +9 -6
  68. package/components/dialog/style/dnb-dialog.min.css +1 -1
  69. package/components/drawer/style/_drawer.scss +4 -3
  70. package/components/drawer/style/dnb-drawer.css +17 -10
  71. package/components/drawer/style/dnb-drawer.min.css +1 -1
  72. package/components/form-row/FormRowHelpers.d.ts +1 -1
  73. package/components/lib.d.ts +1 -89
  74. package/components/modal/style/_modal.scss +0 -1
  75. package/components/modal/style/dnb-modal.css +9 -6
  76. package/components/modal/style/dnb-modal.min.css +1 -1
  77. package/components/skeleton/SkeletonHelper.d.ts +2 -1
  78. package/components/slider/Slider.d.ts +6 -144
  79. package/components/slider/Slider.js +5 -528
  80. package/components/slider/SliderHelpers.d.ts +23 -0
  81. package/components/slider/SliderHelpers.js +152 -0
  82. package/components/slider/SliderInstance.d.ts +6 -0
  83. package/components/slider/SliderInstance.js +162 -0
  84. package/components/slider/SliderProvider.d.ts +4 -0
  85. package/components/slider/SliderProvider.js +199 -0
  86. package/components/slider/SliderThumb.d.ts +2 -0
  87. package/components/slider/SliderThumb.js +109 -0
  88. package/components/slider/SliderTrack.d.ts +6 -0
  89. package/components/slider/SliderTrack.js +104 -0
  90. package/components/slider/hooks/useSliderEvents.d.ts +11 -0
  91. package/components/slider/hooks/useSliderEvents.js +132 -0
  92. package/components/slider/hooks/useSliderProps.d.ts +1 -0
  93. package/components/slider/hooks/useSliderProps.js +5 -0
  94. package/components/slider/style/_slider.scss +19 -48
  95. package/components/slider/style/dnb-slider.css +30 -60
  96. package/components/slider/style/dnb-slider.min.css +1 -1
  97. package/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
  98. package/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  99. package/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
  100. package/components/slider/types.d.ts +75 -0
  101. package/components/slider/types.js +1 -0
  102. package/elements/Anchor.d.ts +44 -105
  103. package/elements/Anchor.js +51 -113
  104. package/elements/Element.d.ts +23 -40
  105. package/elements/Element.js +44 -92
  106. package/elements/Link.d.ts +18 -1
  107. package/elements/lib.d.ts +36 -2
  108. package/es/components/dialog/style/dnb-dialog.css +9 -6
  109. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  110. package/es/components/drawer/style/_drawer.scss +4 -3
  111. package/es/components/drawer/style/dnb-drawer.css +17 -10
  112. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  113. package/es/components/form-row/FormRowHelpers.d.ts +1 -1
  114. package/es/components/lib.d.ts +1 -89
  115. package/es/components/modal/style/_modal.scss +0 -1
  116. package/es/components/modal/style/dnb-modal.css +9 -6
  117. package/es/components/modal/style/dnb-modal.min.css +1 -1
  118. package/es/components/skeleton/SkeletonHelper.d.ts +2 -1
  119. package/es/components/slider/Slider.d.ts +6 -144
  120. package/es/components/slider/Slider.js +5 -484
  121. package/es/components/slider/SliderHelpers.d.ts +23 -0
  122. package/es/components/slider/SliderHelpers.js +124 -0
  123. package/es/components/slider/SliderInstance.d.ts +6 -0
  124. package/es/components/slider/SliderInstance.js +167 -0
  125. package/es/components/slider/SliderProvider.d.ts +4 -0
  126. package/es/components/slider/SliderProvider.js +178 -0
  127. package/es/components/slider/SliderThumb.d.ts +2 -0
  128. package/es/components/slider/SliderThumb.js +100 -0
  129. package/es/components/slider/SliderTrack.d.ts +6 -0
  130. package/es/components/slider/SliderTrack.js +99 -0
  131. package/es/components/slider/hooks/useSliderEvents.d.ts +11 -0
  132. package/es/components/slider/hooks/useSliderEvents.js +129 -0
  133. package/es/components/slider/hooks/useSliderProps.d.ts +1 -0
  134. package/es/components/slider/hooks/useSliderProps.js +5 -0
  135. package/es/components/slider/style/_slider.scss +19 -48
  136. package/es/components/slider/style/dnb-slider.css +30 -60
  137. package/es/components/slider/style/dnb-slider.min.css +1 -1
  138. package/es/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
  139. package/es/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  140. package/es/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
  141. package/es/components/slider/types.d.ts +75 -0
  142. package/es/components/slider/types.js +1 -0
  143. package/es/elements/Anchor.d.ts +44 -105
  144. package/es/elements/Anchor.js +49 -80
  145. package/es/elements/Element.d.ts +23 -40
  146. package/es/elements/Element.js +44 -61
  147. package/es/elements/Link.d.ts +18 -1
  148. package/es/elements/lib.d.ts +36 -2
  149. package/es/shared/Context.d.ts +2 -0
  150. package/es/shared/Eufemia.js +1 -1
  151. package/es/shared/helpers/Suffix.d.ts +2 -1
  152. package/es/shared/helpers/Suffix.js +5 -3
  153. package/es/shared/helpers/withCamelCaseProps.d.ts +1 -1
  154. package/es/shared/helpers/withSnakeCaseProps.d.ts +40 -0
  155. package/es/shared/helpers/withSnakeCaseProps.js +72 -0
  156. package/es/shared/locales/en-GB.d.ts +3 -3
  157. package/es/shared/locales/en-GB.js +3 -3
  158. package/es/shared/locales/en-US.d.ts +3 -3
  159. package/es/shared/locales/index.d.ts +6 -6
  160. package/es/shared/locales/nb-NO.d.ts +3 -3
  161. package/es/shared/locales/nb-NO.js +3 -3
  162. package/es/style/dnb-ui-components.css +39 -66
  163. package/es/style/dnb-ui-components.min.css +3 -3
  164. package/es/style/dnb-ui-elements.css +44 -28
  165. package/es/style/dnb-ui-elements.min.css +1 -1
  166. package/es/style/dnb-ui-tags.css +63 -40
  167. package/es/style/dnb-ui-tags.min.css +1 -1
  168. package/es/style/elements/_anchor-mixins.scss +6 -3
  169. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +40 -40
  170. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  171. package/es/style/themes/theme-ui/dnb-theme-ui.css +44 -44
  172. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  173. package/esm/dnb-ui-basis.min.mjs +1 -1
  174. package/esm/dnb-ui-components.min.mjs +3 -3
  175. package/esm/dnb-ui-elements.min.mjs +9 -10
  176. package/esm/dnb-ui-extensions.min.mjs +4 -4
  177. package/esm/dnb-ui-lib.min.mjs +3 -3
  178. package/esm/dnb-ui-web-components.min.mjs +3 -3
  179. package/package.json +1 -1
  180. package/shared/Context.d.ts +2 -0
  181. package/shared/Eufemia.js +1 -1
  182. package/shared/helpers/Suffix.d.ts +2 -1
  183. package/shared/helpers/Suffix.js +4 -2
  184. package/shared/helpers/withCamelCaseProps.d.ts +1 -1
  185. package/shared/helpers/withSnakeCaseProps.d.ts +40 -0
  186. package/shared/helpers/withSnakeCaseProps.js +115 -0
  187. package/shared/locales/en-GB.d.ts +3 -3
  188. package/shared/locales/en-GB.js +3 -3
  189. package/shared/locales/en-US.d.ts +3 -3
  190. package/shared/locales/index.d.ts +6 -6
  191. package/shared/locales/nb-NO.d.ts +3 -3
  192. package/shared/locales/nb-NO.js +3 -3
  193. package/style/dnb-ui-components.css +39 -66
  194. package/style/dnb-ui-components.min.css +3 -3
  195. package/style/dnb-ui-elements.css +44 -28
  196. package/style/dnb-ui-elements.min.css +1 -1
  197. package/style/dnb-ui-tags.css +63 -40
  198. package/style/dnb-ui-tags.min.css +1 -1
  199. package/style/elements/_anchor-mixins.scss +6 -3
  200. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +40 -40
  201. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
  202. package/style/themes/theme-ui/dnb-theme-ui.css +44 -44
  203. package/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
  204. package/umd/dnb-ui-basis.min.js +1 -1
  205. package/umd/dnb-ui-components.min.js +5 -5
  206. package/umd/dnb-ui-elements.min.js +20 -21
  207. package/umd/dnb-ui-extensions.min.js +3 -3
  208. package/umd/dnb-ui-lib.min.js +4 -4
  209. package/umd/dnb-ui-web-components.min.js +3 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dnb/eufemia",
3
- "version": "9.28.0",
3
+ "version": "9.29.0",
4
4
  "description": "DNB Eufemia Design System UI Library",
5
5
  "license": "SEE LICENSE IN LICENSE FILE",
6
6
  "author": "DNB Team & Tobias Høegh",
@@ -18,8 +18,10 @@ import type { TimelineItemProps } from '../components/timeline/TimelineItem';
18
18
  import type { VisuallyHiddenProps } from '../components/visually-hidden/VisuallyHidden';
19
19
  import type { DrawerProps } from '../components/drawer/types';
20
20
  import type { DialogProps } from '../components/dialog/types';
21
+ import type { AnchorProps } from '../elements/Anchor';
21
22
  export declare type ContextProps = {
22
23
  Button?: Partial<ButtonProps>;
24
+ Anchor?: Partial<AnchorProps>;
23
25
  Avatar?: Partial<AvatarProps>;
24
26
  AvatarGroup?: Partial<AvatarGroupProps>;
25
27
  Badge?: Partial<BadgeProps>;
package/shared/Eufemia.js CHANGED
@@ -10,7 +10,7 @@ export function init() {
10
10
  _createClass(Eufemia, [{
11
11
  key: "version",
12
12
  get: function get() {
13
- return '9.28.0';
13
+ return '9.29.0';
14
14
  }
15
15
  }]);
16
16
 
@@ -9,7 +9,8 @@ export declare type SuffixProps = {
9
9
  className: string;
10
10
  children: SuffixChildren;
11
11
  context: Record<string, unknown>;
12
+ skeleton?: boolean;
12
13
  };
13
- declare const Suffix: ({ className, children, context, ...props }: SuffixProps & React.HTMLAttributes<HTMLSpanElement>) => JSX.Element;
14
+ declare const Suffix: ({ className, children, context, skeleton, ...props }: SuffixProps & React.HTMLAttributes<HTMLSpanElement>) => JSX.Element;
14
15
  export { SuffixContext };
15
16
  export default Suffix;
@@ -1,18 +1,20 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["className", "children", "context"];
3
+ var _excluded = ["className", "children", "context", "skeleton"];
4
4
  import React from 'react';
5
5
  import classnames from 'classnames';
6
+ import { createSkeletonClass } from '../../components/skeleton/SkeletonHelper';
6
7
  var SuffixContext = React.createContext(null);
7
8
 
8
9
  var Suffix = function Suffix(_ref) {
9
10
  var className = _ref.className,
10
11
  children = _ref.children,
11
12
  context = _ref.context,
13
+ skeleton = _ref.skeleton,
12
14
  props = _objectWithoutProperties(_ref, _excluded);
13
15
 
14
16
  var content = React.createElement("span", _extends({
15
- className: classnames('dnb-suffix', className)
17
+ className: classnames('dnb-suffix', className, !React.isValidElement(children) && createSkeletonClass('font', skeleton, context))
16
18
  }, props), children);
17
19
 
18
20
  if (typeof children !== 'string' && context) {
@@ -32,7 +32,7 @@ export declare function classWithCamelCaseProps<TBase extends React.ComponentCla
32
32
  */
33
33
  export declare type ToCamelCasePartial<T> = Partial<ToCamelCase<T>>;
34
34
  export declare type ToCamelCase<T> = T extends object ? {
35
- [K in keyof T as ConvertSnakeToCamelCase<K & string>]: ToCamelCase<T[K]>;
35
+ [K in keyof T as ConvertSnakeToCamelCase<K & string>]: T[K] | ToCamelCase<T[K]>;
36
36
  } : T;
37
37
  export declare type IncludeCamelCase<T> = Partial<T> & ToCamelCasePartial<T>;
38
38
  declare type ConvertSnakeToCamelCase<S extends string> = S extends `${infer T}_${infer U}` ? `${T}${Capitalize<ConvertSnakeToCamelCase<U>>}` : S;
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ /**
3
+ * withSnakeCaseProps is a HOC for function components
4
+ * it will return a React Component where all snake_case props gets converted to camelCase
5
+ *
6
+ * Use the same for TypeScript types by using: ToSnakeCase
7
+ *
8
+ * @param Base the original function or class
9
+ * @returns extended function or class
10
+ */
11
+ export declare function withSnakeCaseProps<TBase, P>(Base: React.FunctionComponent<P> & TBase): typeof Base;
12
+ /**
13
+ * withSnakeCaseProps is a HOC for classes
14
+ * it will return a React Component where all snake_case props gets converted to camelCase
15
+ *
16
+ * Use the same for TypeScript types by using: ToSnakeCase
17
+ *
18
+ * @param Base the original function or class
19
+ * @returns extended function or class
20
+ */
21
+ export declare function classWithSnakeCaseProps<TBase extends React.ComponentClass>(Base: TBase): typeof Base;
22
+ export declare function convertSnakeCaseProps<P>(props: P): P;
23
+ /**
24
+ * Convert recursively Types from camelCase to snake_case
25
+ *
26
+ * Use it like so:
27
+ * OriginalProps & ToSnakeCase<OriginalProps>
28
+ *
29
+ * Disclaimer: Be careful using these with required props
30
+ * - ToSnakeCase makes the required camelCase props also required in snake_case
31
+ * - ToSnakeCasePartial removes required for the snake_case props
32
+ *
33
+ */
34
+ export declare type ToSnakeCasePartial<T> = Partial<ToSnakeCase<T>>;
35
+ export declare type ToSnakeCase<T> = T extends object ? {
36
+ [K in keyof T as ConvertCamelToSnakeCase<K & string>]: T[K] | ToSnakeCase<T[K]>;
37
+ } : T;
38
+ export declare type IncludeSnakeCase<T> = Partial<T> & ToSnakeCasePartial<T>;
39
+ declare type ConvertCamelToSnakeCase<S extends string> = S extends `${infer T}${infer U}` ? `${T extends Capitalize<T> ? '_' : ''}${Lowercase<T>}${ConvertCamelToSnakeCase<U>}` : S;
40
+ export {};
@@ -0,0 +1,115 @@
1
+ import "core-js/modules/es.object.to-string.js";
2
+ import "core-js/modules/es.reflect.construct.js";
3
+ import "core-js/modules/es.object.keys.js";
4
+ import "core-js/modules/es.symbol.js";
5
+ import "core-js/modules/es.array.filter.js";
6
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
7
+ import "core-js/modules/web.dom-collections.for-each.js";
8
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
9
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
10
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
11
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
12
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
13
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
14
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
15
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
16
+
17
+ 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; }
18
+
19
+ 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; }
20
+
21
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
22
+
23
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
24
+
25
+ import "core-js/modules/es.object.freeze.js";
26
+ import "core-js/modules/es.function.name.js";
27
+ import "core-js/modules/es.array.concat.js";
28
+ import "core-js/modules/es.array.includes.js";
29
+ import "core-js/modules/es.string.includes.js";
30
+ import "core-js/modules/es.regexp.exec.js";
31
+ import React from 'react';
32
+ import { toCamelCase } from '../component-helper';
33
+ export function withSnakeCaseProps(Base) {
34
+ var Component = Base;
35
+
36
+ var Derived = function Derived(props) {
37
+ return React.createElement(Component, Object.freeze(convertSnakeCaseProps(props)));
38
+ };
39
+
40
+ Object.defineProperty(Derived, 'name', {
41
+ value: Base.name
42
+ });
43
+
44
+ for (var name in Base) {
45
+ Object.defineProperty(Derived, name, {
46
+ value: Base[name]
47
+ });
48
+ }
49
+
50
+ return Derived;
51
+ }
52
+ export function classWithSnakeCaseProps(Base) {
53
+ var Component = Base;
54
+
55
+ var Derived = function (_Base) {
56
+ _inherits(Derived, _Base);
57
+
58
+ var _super = _createSuper(Derived);
59
+
60
+ function Derived() {
61
+ var _this;
62
+
63
+ _classCallCheck(this, Derived);
64
+
65
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
66
+ args[_key] = arguments[_key];
67
+ }
68
+
69
+ _this = _super.call.apply(_super, [this].concat(args));
70
+
71
+ _defineProperty(_assertThisInitialized(_this), "_prevProps", void 0);
72
+
73
+ _defineProperty(_assertThisInitialized(_this), "_elem", void 0);
74
+
75
+ return _this;
76
+ }
77
+
78
+ _createClass(Derived, [{
79
+ key: "componentDidMount",
80
+ value: function componentDidMount() {}
81
+ }, {
82
+ key: "render",
83
+ value: function render() {
84
+ if (this.props !== this._prevProps) {
85
+ this._prevProps = this.props;
86
+ this._elem = React.createElement(Component, Object.freeze(convertSnakeCaseProps(this.props)));
87
+ }
88
+
89
+ return this._elem;
90
+ }
91
+ }]);
92
+
93
+ return Derived;
94
+ }(Base);
95
+
96
+ Object.defineProperty(Derived, 'name', {
97
+ value: Base.name
98
+ });
99
+ Object.defineProperty(Derived, 'displayName', {
100
+ value: Base.displayName || Base.name
101
+ });
102
+ return Derived;
103
+ }
104
+ export function convertSnakeCaseProps(props) {
105
+ var newProps = _objectSpread({}, props);
106
+
107
+ for (var key in props) {
108
+ if (key.includes('_') && /^[a-z]+/.test(key) && !/[A-Z]/.test(key)) {
109
+ newProps[toCamelCase(key)] = props[key];
110
+ delete newProps[key];
111
+ }
112
+ }
113
+
114
+ return newProps;
115
+ }
@@ -34,7 +34,7 @@ declare var _default: {
34
34
  reset_button_text: string;
35
35
  };
36
36
  Anchor: {
37
- target_blank_title: string;
37
+ targetBlankTitle: string;
38
38
  };
39
39
  GlobalStatus: {
40
40
  default_title: string;
@@ -108,8 +108,8 @@ declare var _default: {
108
108
  step_title: string;
109
109
  };
110
110
  Slider: {
111
- add_title: string;
112
- subtract_title: string;
111
+ addTitle: string;
112
+ subtractTitle: string;
113
113
  };
114
114
  PaymentCard: {
115
115
  text_card_number: string;
@@ -34,7 +34,7 @@ export default {
34
34
  reset_button_text: 'Reset'
35
35
  },
36
36
  Anchor: {
37
- target_blank_title: 'Opens a new Window'
37
+ targetBlankTitle: 'Opens a new Window'
38
38
  },
39
39
  GlobalStatus: {
40
40
  default_title: 'An error has occurred',
@@ -108,8 +108,8 @@ export default {
108
108
  step_title: 'Step %step of %count'
109
109
  },
110
110
  Slider: {
111
- add_title: 'Increase (%s)',
112
- subtract_title: 'Decrease (%s)'
111
+ addTitle: 'Increase (%s)',
112
+ subtractTitle: 'Decrease (%s)'
113
113
  },
114
114
  PaymentCard: {
115
115
  text_card_number: 'Card number',
@@ -35,7 +35,7 @@ declare var _default: {
35
35
  backToText: string;
36
36
  };
37
37
  Anchor: {
38
- target_blank_title: string;
38
+ targetBlankTitle: string;
39
39
  };
40
40
  GlobalStatus: {
41
41
  default_title: string;
@@ -109,8 +109,8 @@ declare var _default: {
109
109
  step_title: string;
110
110
  };
111
111
  Slider: {
112
- add_title: string;
113
- subtract_title: string;
112
+ addTitle: string;
113
+ subtractTitle: string;
114
114
  };
115
115
  PaymentCard: {
116
116
  text_card_number: string;
@@ -34,7 +34,7 @@ declare var _default: {
34
34
  reset_button_text: string;
35
35
  };
36
36
  Anchor: {
37
- target_blank_title: string;
37
+ targetBlankTitle: string;
38
38
  };
39
39
  GlobalStatus: {
40
40
  default_title: string;
@@ -108,8 +108,8 @@ declare var _default: {
108
108
  step_title: string;
109
109
  };
110
110
  Slider: {
111
- add_title: string;
112
- subtract_title: string;
111
+ addTitle: string;
112
+ subtractTitle: string;
113
113
  };
114
114
  PaymentCard: {
115
115
  text_card_number: string;
@@ -155,7 +155,7 @@ declare var _default: {
155
155
  reset_button_text: string;
156
156
  };
157
157
  Anchor: {
158
- target_blank_title: string;
158
+ targetBlankTitle: string;
159
159
  };
160
160
  GlobalStatus: {
161
161
  default_title: string;
@@ -229,8 +229,8 @@ declare var _default: {
229
229
  step_title: string;
230
230
  };
231
231
  Slider: {
232
- add_title: string;
233
- subtract_title: string;
232
+ addTitle: string;
233
+ subtractTitle: string;
234
234
  };
235
235
  PaymentCard: {
236
236
  text_card_number: string;
@@ -34,7 +34,7 @@ declare var _default: {
34
34
  reset_button_text: string;
35
35
  };
36
36
  Anchor: {
37
- target_blank_title: string;
37
+ targetBlankTitle: string;
38
38
  };
39
39
  GlobalStatus: {
40
40
  default_title: string;
@@ -108,8 +108,8 @@ declare var _default: {
108
108
  step_title: string;
109
109
  };
110
110
  Slider: {
111
- add_title: string;
112
- subtract_title: string;
111
+ addTitle: string;
112
+ subtractTitle: string;
113
113
  };
114
114
  PaymentCard: {
115
115
  text_card_number: string;
@@ -34,7 +34,7 @@ export default {
34
34
  reset_button_text: 'Tilbakestill'
35
35
  },
36
36
  Anchor: {
37
- target_blank_title: 'Åpner et nytt vindu'
37
+ targetBlankTitle: 'Åpner et nytt vindu'
38
38
  },
39
39
  GlobalStatus: {
40
40
  default_title: 'En feil har skjedd',
@@ -108,8 +108,8 @@ export default {
108
108
  step_title: 'Steg %step av %count'
109
109
  },
110
110
  Slider: {
111
- add_title: 'Øk (%s)',
112
- subtract_title: 'Reduser (%s)'
111
+ addTitle: 'Øk (%s)',
112
+ subtractTitle: 'Reduser (%s)'
113
113
  },
114
114
  PaymentCard: {
115
115
  text_card_number: 'Kortnummer',
@@ -2998,16 +2998,20 @@ button.dnb-button::-moz-focus-inner {
2998
2998
  position: sticky;
2999
2999
  top: 0;
3000
3000
  z-index: 99;
3001
- margin: 2rem 0;
3002
- margin: var(--drawer-spacing) 0; }
3001
+ margin: 2rem -2rem;
3002
+ margin: 2rem calc(2rem * -1);
3003
+ margin: var(--drawer-spacing) calc(var(--drawer-spacing)*-1);
3004
+ margin: var(--drawer-spacing) calc(var(--drawer-spacing) * -1);
3005
+ padding: 0 2rem;
3006
+ padding: 0 var(--drawer-spacing); }
3003
3007
  .dnb-drawer--spacing .dnb-drawer__navigation.dnb-section.dnb-drawer__navigation--sticky {
3004
3008
  z-index: 2999; }
3005
3009
  .dnb-drawer .dnb-drawer__navigation--sticky::before {
3006
3010
  content: '';
3007
3011
  position: absolute;
3008
3012
  z-index: -1;
3009
- left: -50%;
3010
- right: -50%;
3013
+ left: 0;
3014
+ right: 0;
3011
3015
  bottom: 0;
3012
3016
  height: 300%;
3013
3017
  -webkit-box-shadow: 0 8px 16px rgba(51, 51, 51, 0.08);
@@ -4568,8 +4572,7 @@ html[data-dnb-modal-active] {
4568
4572
  flex-direction: row;
4569
4573
  -webkit-box-pack: justify;
4570
4574
  -ms-flex-pack: justify;
4571
- justify-content: space-between;
4572
- width: 100%; }
4575
+ justify-content: space-between; }
4573
4576
  @media screen and (-ms-high-contrast: none) {
4574
4577
  .dnb-modal__header__bar.dnb-section {
4575
4578
  -webkit-box-align: center;
@@ -5540,37 +5543,6 @@ html[data-dnb-modal-active] {
5540
5543
  margin: 0 calc(var(--slider-space) * 1.5);
5541
5544
  min-width: 2rem;
5542
5545
  cursor: pointer; }
5543
- .dnb-slider__track::before, .dnb-slider__track::after {
5544
- content: '';
5545
- position: absolute;
5546
- z-index: 2;
5547
- left: 0;
5548
- top: 50%;
5549
- width: 2rem;
5550
- width: var(--slider-thumb-size);
5551
- height: 0.25rem;
5552
- height: var(--slider-track-height);
5553
- -webkit-transform: translate3d(0, -50%, 0);
5554
- transform: translate3d(0, -50%, 0);
5555
- border-radius: 0.125rem;
5556
- border-radius: calc(0.25rem / 2);
5557
- border-radius: calc(var(--slider-track-height)/2);
5558
- border-radius: calc(var(--slider-track-height) / 2);
5559
- background-color: inherit; }
5560
- .dnb-slider__track::before {
5561
- background-color: red;
5562
- left: -1rem;
5563
- left: calc(1px - 1px - 1rem);
5564
- left: calc(0px - var(--slider-space));
5565
- left: calc(1px - 1px - var(--slider-space));
5566
- right: auto; }
5567
- .dnb-slider__track::after {
5568
- background-color: blue;
5569
- left: auto;
5570
- right: -1rem;
5571
- right: calc(1px - 1px - 1rem);
5572
- right: calc(0px - var(--slider-space));
5573
- right: calc(1px - 1px - var(--slider-space)); }
5574
5546
  .dnb-slider--vertical .dnb-slider__track {
5575
5547
  margin: 1.5rem 0;
5576
5548
  margin: calc(1rem * 1.5) 0;
@@ -5578,26 +5550,14 @@ html[data-dnb-modal-active] {
5578
5550
  margin: calc(var(--slider-space) * 1.5) 0;
5579
5551
  min-height: 2rem;
5580
5552
  min-width: auto; }
5581
- .dnb-slider--vertical .dnb-slider__track::before, .dnb-slider--vertical .dnb-slider__track::after {
5582
- left: 50%;
5583
- -webkit-transform: translate3d(-50%, 0, 0);
5584
- transform: translate3d(-50%, 0, 0);
5585
- width: 0.25rem;
5586
- width: var(--slider-track-height);
5587
- height: 2rem;
5588
- height: var(--slider-thumb-size); }
5589
- .dnb-slider--vertical .dnb-slider__track::before {
5590
- top: -1rem;
5591
- top: calc(1px - 1px - 1rem);
5592
- top: calc(0px - var(--slider-space));
5593
- top: calc(1px - 1px - var(--slider-space));
5594
- bottom: auto; }
5595
- .dnb-slider--vertical .dnb-slider__track::after {
5596
- top: auto;
5597
- bottom: -1rem;
5598
- bottom: calc(1px - 1px - 1rem);
5599
- bottom: calc(0px - var(--slider-space));
5600
- bottom: calc(1px - 1px - var(--slider-space)); }
5553
+ .dnb-slider--no-buttons .dnb-slider__track {
5554
+ margin: 0 1rem;
5555
+ margin: 0 calc(1rem);
5556
+ margin: 0 calc(var(--slider-space)); }
5557
+ .dnb-slider--no-buttons.dnb-slider--vertical .dnb-slider__track {
5558
+ margin: 1rem 0;
5559
+ margin: calc(1rem) 0;
5560
+ margin: calc(var(--slider-space)) 0; }
5601
5561
  .dnb-slider--vertical .dnb-slider__inner {
5602
5562
  -webkit-box-orient: vertical;
5603
5563
  -webkit-box-direction: normal;
@@ -5618,17 +5578,27 @@ html[data-dnb-modal-active] {
5618
5578
  position: absolute;
5619
5579
  left: 0;
5620
5580
  top: 50%;
5581
+ margin: 0 -1rem;
5582
+ margin: 0 calc(1px - 1px - 1rem);
5583
+ margin: 0 calc(0px - var(--slider-space));
5584
+ margin: 0 calc(1px - 1px - var(--slider-space));
5621
5585
  height: 0.25rem;
5622
5586
  height: var(--slider-track-height);
5623
5587
  -webkit-transform: translate3d(0, -50%, 0);
5624
5588
  transform: translate3d(0, -50%, 0);
5625
- background-color: grey; }
5589
+ background-color: grey;
5590
+ border-radius: 0.25rem;
5591
+ border-radius: var(--slider-track-height); }
5626
5592
  .dnb-slider--vertical .dnb-slider__line {
5627
5593
  width: 0.25rem;
5628
5594
  width: var(--slider-track-height);
5629
5595
  height: auto;
5630
5596
  left: 50%;
5631
5597
  top: 0;
5598
+ margin: -1rem 0;
5599
+ margin: calc(1px - 1px - 1rem) 0;
5600
+ margin: calc(0px - var(--slider-space)) 0;
5601
+ margin: calc(1px - 1px - var(--slider-space)) 0;
5632
5602
  -webkit-transform: translate3d(-50%, 0, 0);
5633
5603
  transform: translate3d(-50%, 0, 0); }
5634
5604
  .dnb-slider__line__before {
@@ -5638,7 +5608,8 @@ html[data-dnb-modal-active] {
5638
5608
  right: 0;
5639
5609
  background-color: #ddd; }
5640
5610
  .dnb-slider--vertical .dnb-slider__line__before {
5641
- top: 0; }
5611
+ top: 0;
5612
+ bottom: 0; }
5642
5613
  .dnb-slider--vertical .dnb-slider__line__after {
5643
5614
  bottom: 0; }
5644
5615
  .dnb-slider__button-helper, .dnb-slider__thumb {
@@ -5668,18 +5639,20 @@ html[data-dnb-modal-active] {
5668
5639
  line-height: 1.5rem;
5669
5640
  line-height: var(--slider-button-size);
5670
5641
  -webkit-transform: translateY(0.25rem);
5671
- transform: translateY(0.25rem); }
5642
+ transform: translateY(0.25rem);
5643
+ z-index: 5; }
5672
5644
  .dnb-slider--vertical .dnb-slider__button.dnb-button--size-small {
5673
5645
  -webkit-transform: translateX(0.25rem);
5674
5646
  transform: translateX(0.25rem); }
5675
5647
  .dnb-slider__state--jumped .dnb-slider__thumb,
5676
5648
  .dnb-slider__state--jumped .dnb-slider__line {
5677
- -webkit-transition: width 250ms ease 0ms, height 250ms ease 0ms, left 250ms ease 0ms, top 250ms ease 0ms, -webkit-box-shadow 250ms ease 0ms;
5678
- transition: width 250ms ease 0ms, height 250ms ease 0ms, left 250ms ease 0ms, top 250ms ease 0ms, -webkit-box-shadow 250ms ease 0ms;
5679
- transition: width 250ms ease 0ms, height 250ms ease 0ms, left 250ms ease 0ms, top 250ms ease 0ms, box-shadow 250ms ease 0ms;
5680
- transition: width 250ms ease 0ms, height 250ms ease 0ms, left 250ms ease 0ms, top 250ms ease 0ms, box-shadow 250ms ease 0ms, -webkit-box-shadow 250ms ease 0ms; }
5681
- .dnb-slider__state--disabled.dnb-slider__track,
5682
- .dnb-slider__state--disabled .dnb-slider__thumb {
5649
+ -webkit-transition: left 250ms ease, top 250ms ease, bottom 250ms ease, right 250ms ease, -webkit-box-shadow 250ms ease;
5650
+ transition: left 250ms ease, top 250ms ease, bottom 250ms ease, right 250ms ease, -webkit-box-shadow 250ms ease;
5651
+ transition: left 250ms ease, top 250ms ease, bottom 250ms ease, right 250ms ease, box-shadow 250ms ease;
5652
+ transition: left 250ms ease, top 250ms ease, bottom 250ms ease, right 250ms ease, box-shadow 250ms ease, -webkit-box-shadow 250ms ease; }
5653
+ .dnb-slider__state--disabled .dnb-slider__track,
5654
+ .dnb-slider__state--disabled .dnb-slider__thumb,
5655
+ .dnb-slider__state--disabled .dnb-slider__line {
5683
5656
  cursor: not-allowed; }
5684
5657
  .dnb-slider__button-helper {
5685
5658
  pointer-events: none;