@dnb/eufemia 9.27.0 → 9.28.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 (235) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/cjs/components/Badge.d.ts +3 -0
  3. package/cjs/components/{slider/web-component.js → Badge.js} +6 -9
  4. package/cjs/components/autocomplete/Autocomplete.js +14 -2
  5. package/cjs/components/autocomplete/style/_autocomplete.scss +17 -1
  6. package/cjs/components/autocomplete/style/dnb-autocomplete.css +36 -3
  7. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  8. package/cjs/components/avatar/style/_avatar.scss +1 -0
  9. package/cjs/components/avatar/style/dnb-avatar.css +1 -0
  10. package/cjs/components/avatar/style/dnb-avatar.min.css +1 -1
  11. package/cjs/components/badge/Badge.d.ts +58 -0
  12. package/cjs/components/badge/Badge.js +124 -0
  13. package/cjs/components/badge/index.d.ts +8 -0
  14. package/cjs/components/badge/index.js +52 -0
  15. package/cjs/components/badge/style/_badge.scss +74 -0
  16. package/cjs/components/badge/style/dnb-badge.css +151 -0
  17. package/cjs/components/badge/style/dnb-badge.min.css +1 -0
  18. package/cjs/components/badge/style/dnb-badge.scss +12 -0
  19. package/cjs/components/badge/style/index.d.ts +6 -0
  20. package/cjs/components/badge/style/index.js +3 -0
  21. package/cjs/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
  22. package/cjs/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
  23. package/cjs/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
  24. package/cjs/components/badge/style/themes/ui.d.ts +1 -0
  25. package/cjs/components/badge/style/themes/ui.js +3 -0
  26. package/cjs/components/badge/style.d.ts +1 -0
  27. package/cjs/components/badge/style.js +3 -0
  28. package/cjs/components/dialog/style/dnb-dialog.css +3 -13
  29. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  30. package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
  31. package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
  32. package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
  33. package/cjs/components/drawer/DrawerContent.js +7 -1
  34. package/cjs/components/drawer/style/_drawer.scss +2 -10
  35. package/cjs/components/drawer/style/dnb-drawer.css +4 -21
  36. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  37. package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
  38. package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
  39. package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
  40. package/cjs/components/form-row/FormRow.js +9 -8
  41. package/cjs/components/form-row/FormRowHelpers.d.ts +1 -0
  42. package/cjs/components/form-row/FormRowHelpers.js +16 -2
  43. package/cjs/components/index.d.ts +2 -1
  44. package/cjs/components/index.js +8 -0
  45. package/cjs/components/lib.d.ts +92 -2
  46. package/cjs/components/lib.js +9 -0
  47. package/cjs/components/modal/ModalContent.js +0 -2
  48. package/cjs/components/modal/style/_modal.scss +0 -3
  49. package/cjs/components/modal/style/dnb-modal.css +3 -13
  50. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  51. package/cjs/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
  52. package/cjs/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
  53. package/cjs/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
  54. package/cjs/components/slider/Slider.d.ts +146 -229
  55. package/cjs/components/slider/Slider.js +381 -589
  56. package/cjs/components/timeline/TimelineItem.js +2 -1
  57. package/cjs/index.d.ts +2 -1
  58. package/cjs/index.js +8 -0
  59. package/cjs/shared/AlignmentHelper.js +4 -2
  60. package/cjs/shared/Context.d.ts +5 -1
  61. package/cjs/shared/Eufemia.js +1 -1
  62. package/cjs/shared/helpers/Suffix.d.ts +5 -4
  63. package/cjs/shared/helpers/filterValidProps.d.ts +11 -0
  64. package/cjs/shared/helpers/filterValidProps.js +19 -0
  65. package/cjs/shared/helpers/withCamelCaseProps.js +3 -0
  66. package/cjs/style/dnb-ui-components.css +122 -16
  67. package/cjs/style/dnb-ui-components.min.css +3 -3
  68. package/cjs/style/dnb-ui-components.scss +1 -0
  69. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +28 -6
  70. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +3 -3
  71. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +28 -6
  72. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  73. package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  74. package/components/Badge.d.ts +3 -0
  75. package/components/Badge.js +3 -0
  76. package/components/autocomplete/Autocomplete.js +15 -3
  77. package/components/autocomplete/style/_autocomplete.scss +17 -1
  78. package/components/autocomplete/style/dnb-autocomplete.css +36 -3
  79. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  80. package/components/avatar/style/_avatar.scss +1 -0
  81. package/components/avatar/style/dnb-avatar.css +1 -0
  82. package/components/avatar/style/dnb-avatar.min.css +1 -1
  83. package/components/badge/Badge.d.ts +58 -0
  84. package/components/badge/Badge.js +92 -0
  85. package/components/badge/index.d.ts +8 -0
  86. package/components/badge/index.js +3 -0
  87. package/components/badge/style/_badge.scss +74 -0
  88. package/components/badge/style/dnb-badge.css +151 -0
  89. package/components/badge/style/dnb-badge.min.css +1 -0
  90. package/components/badge/style/dnb-badge.scss +12 -0
  91. package/components/badge/style/index.d.ts +6 -0
  92. package/components/badge/style/index.js +1 -0
  93. package/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
  94. package/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
  95. package/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
  96. package/components/badge/style/themes/ui.d.ts +1 -0
  97. package/components/badge/style/themes/ui.js +1 -0
  98. package/components/badge/style.d.ts +1 -0
  99. package/components/badge/style.js +1 -0
  100. package/components/dialog/style/dnb-dialog.css +3 -13
  101. package/components/dialog/style/dnb-dialog.min.css +1 -1
  102. package/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
  103. package/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
  104. package/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
  105. package/components/drawer/DrawerContent.js +4 -1
  106. package/components/drawer/style/_drawer.scss +2 -10
  107. package/components/drawer/style/dnb-drawer.css +4 -21
  108. package/components/drawer/style/dnb-drawer.min.css +1 -1
  109. package/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
  110. package/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
  111. package/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
  112. package/components/form-row/FormRow.js +9 -8
  113. package/components/form-row/FormRowHelpers.d.ts +1 -0
  114. package/components/form-row/FormRowHelpers.js +10 -0
  115. package/components/index.d.ts +2 -1
  116. package/components/index.js +2 -1
  117. package/components/lib.d.ts +92 -2
  118. package/components/lib.js +3 -1
  119. package/components/modal/ModalContent.js +0 -2
  120. package/components/modal/style/_modal.scss +0 -3
  121. package/components/modal/style/dnb-modal.css +3 -13
  122. package/components/modal/style/dnb-modal.min.css +1 -1
  123. package/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
  124. package/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
  125. package/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
  126. package/components/slider/Slider.d.ts +146 -229
  127. package/components/slider/Slider.js +356 -574
  128. package/components/timeline/TimelineItem.js +2 -1
  129. package/es/components/Badge.d.ts +3 -0
  130. package/es/components/Badge.js +3 -0
  131. package/es/components/autocomplete/Autocomplete.js +14 -3
  132. package/es/components/autocomplete/style/_autocomplete.scss +17 -1
  133. package/es/components/autocomplete/style/dnb-autocomplete.css +36 -3
  134. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  135. package/es/components/avatar/style/_avatar.scss +1 -0
  136. package/es/components/avatar/style/dnb-avatar.css +1 -0
  137. package/es/components/avatar/style/dnb-avatar.min.css +1 -1
  138. package/es/components/badge/Badge.d.ts +58 -0
  139. package/es/components/badge/Badge.js +88 -0
  140. package/es/components/badge/index.d.ts +8 -0
  141. package/es/components/badge/index.js +3 -0
  142. package/es/components/badge/style/_badge.scss +74 -0
  143. package/es/components/badge/style/dnb-badge.css +151 -0
  144. package/es/components/badge/style/dnb-badge.min.css +1 -0
  145. package/es/components/badge/style/dnb-badge.scss +12 -0
  146. package/es/components/badge/style/index.d.ts +6 -0
  147. package/es/components/badge/style/index.js +1 -0
  148. package/es/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
  149. package/es/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
  150. package/es/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
  151. package/es/components/badge/style/themes/ui.d.ts +1 -0
  152. package/es/components/badge/style/themes/ui.js +1 -0
  153. package/es/components/badge/style.d.ts +1 -0
  154. package/es/components/badge/style.js +1 -0
  155. package/es/components/dialog/style/dnb-dialog.css +3 -13
  156. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  157. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
  158. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
  159. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
  160. package/es/components/drawer/DrawerContent.js +4 -1
  161. package/es/components/drawer/style/_drawer.scss +2 -10
  162. package/es/components/drawer/style/dnb-drawer.css +4 -21
  163. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  164. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
  165. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
  166. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
  167. package/es/components/form-row/FormRow.js +13 -11
  168. package/es/components/form-row/FormRowHelpers.d.ts +1 -0
  169. package/es/components/form-row/FormRowHelpers.js +10 -0
  170. package/es/components/index.d.ts +2 -1
  171. package/es/components/index.js +2 -1
  172. package/es/components/lib.d.ts +92 -2
  173. package/es/components/lib.js +3 -1
  174. package/es/components/modal/ModalContent.js +0 -1
  175. package/es/components/modal/style/_modal.scss +0 -3
  176. package/es/components/modal/style/dnb-modal.css +3 -13
  177. package/es/components/modal/style/dnb-modal.min.css +1 -1
  178. package/es/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
  179. package/es/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
  180. package/es/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
  181. package/es/components/slider/Slider.d.ts +146 -229
  182. package/es/components/slider/Slider.js +323 -526
  183. package/es/components/timeline/TimelineItem.js +2 -1
  184. package/es/index.d.ts +2 -1
  185. package/es/index.js +2 -1
  186. package/es/shared/AlignmentHelper.js +2 -2
  187. package/es/shared/Context.d.ts +5 -1
  188. package/es/shared/Eufemia.js +1 -1
  189. package/es/shared/helpers/Suffix.d.ts +5 -4
  190. package/es/shared/helpers/filterValidProps.d.ts +11 -0
  191. package/es/shared/helpers/filterValidProps.js +14 -0
  192. package/es/shared/helpers/withCamelCaseProps.js +2 -0
  193. package/es/style/dnb-ui-components.css +122 -16
  194. package/es/style/dnb-ui-components.min.css +3 -3
  195. package/es/style/dnb-ui-components.scss +1 -0
  196. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +28 -6
  197. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +3 -3
  198. package/es/style/themes/theme-ui/dnb-theme-ui.css +28 -6
  199. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  200. package/es/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  201. package/esm/dnb-ui-basis.min.mjs +1 -1
  202. package/esm/dnb-ui-components.min.mjs +1 -1
  203. package/esm/dnb-ui-elements.min.mjs +1 -1
  204. package/esm/dnb-ui-extensions.min.mjs +1 -1
  205. package/esm/dnb-ui-lib.min.mjs +3 -3
  206. package/esm/dnb-ui-web-components.min.mjs +2 -2
  207. package/index.d.ts +2 -1
  208. package/index.js +2 -1
  209. package/package.json +1 -1
  210. package/shared/AlignmentHelper.js +4 -2
  211. package/shared/Context.d.ts +5 -1
  212. package/shared/Eufemia.js +1 -1
  213. package/shared/helpers/Suffix.d.ts +5 -4
  214. package/shared/helpers/filterValidProps.d.ts +11 -0
  215. package/shared/helpers/filterValidProps.js +14 -0
  216. package/shared/helpers/withCamelCaseProps.js +3 -0
  217. package/style/dnb-ui-components.css +122 -16
  218. package/style/dnb-ui-components.min.css +3 -3
  219. package/style/dnb-ui-components.scss +1 -0
  220. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +28 -6
  221. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +3 -3
  222. package/style/themes/theme-ui/dnb-theme-ui.css +28 -6
  223. package/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  224. package/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  225. package/umd/dnb-ui-basis.min.js +1 -1
  226. package/umd/dnb-ui-components.min.js +1 -1
  227. package/umd/dnb-ui-elements.min.js +1 -1
  228. package/umd/dnb-ui-extensions.min.js +1 -1
  229. package/umd/dnb-ui-lib.min.js +3 -3
  230. package/umd/dnb-ui-web-components.min.js +4 -4
  231. package/cjs/components/slider/web-component.d.ts +0 -3
  232. package/components/slider/web-component.d.ts +0 -3
  233. package/components/slider/web-component.js +0 -5
  234. package/es/components/slider/web-component.d.ts +0 -3
  235. package/es/components/slider/web-component.js +0 -5
@@ -1,19 +1,29 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ require("core-js/modules/es.symbol.js");
4
4
 
5
- require("core-js/modules/es.object.get-prototype-of.js");
5
+ require("core-js/modules/es.symbol.description.js");
6
6
 
7
7
  require("core-js/modules/es.object.to-string.js");
8
8
 
9
- require("core-js/modules/es.reflect.construct.js");
9
+ require("core-js/modules/es.symbol.iterator.js");
10
+
11
+ require("core-js/modules/es.array.iterator.js");
12
+
13
+ require("core-js/modules/es.string.iterator.js");
14
+
15
+ require("core-js/modules/web.dom-collections.iterator.js");
16
+
17
+ require("core-js/modules/es.array.slice.js");
18
+
19
+ require("core-js/modules/es.function.name.js");
20
+
21
+ require("core-js/modules/es.array.from.js");
10
22
 
11
23
  require("core-js/modules/es.object.keys.js");
12
24
 
13
25
  require("core-js/modules/es.array.index-of.js");
14
26
 
15
- require("core-js/modules/es.symbol.js");
16
-
17
27
  require("core-js/modules/es.array.filter.js");
18
28
 
19
29
  require("core-js/modules/es.object.get-own-property-descriptor.js");
@@ -24,41 +34,36 @@ require("core-js/modules/es.object.get-own-property-descriptors.js");
24
34
 
25
35
  require("core-js/modules/es.object.assign.js");
26
36
 
27
- require("core-js/modules/es.symbol.description.js");
28
-
29
- require("core-js/modules/es.symbol.iterator.js");
30
-
31
- require("core-js/modules/es.array.iterator.js");
32
-
33
- require("core-js/modules/es.string.iterator.js");
34
-
35
- require("core-js/modules/web.dom-collections.iterator.js");
36
-
37
37
  Object.defineProperty(exports, "__esModule", {
38
38
  value: true
39
39
  });
40
+ exports.OriginalComponent = Slider;
40
41
  exports.default = void 0;
41
42
 
42
43
  require("core-js/modules/es.array.reverse.js");
43
44
 
44
45
  require("core-js/modules/es.parse-float.js");
45
46
 
46
- require("core-js/modules/es.number.to-fixed.js");
47
-
48
47
  require("core-js/modules/es.regexp.exec.js");
49
48
 
50
49
  require("core-js/modules/es.string.replace.js");
51
50
 
52
- var _react = _interopRequireDefault(require("react"));
51
+ require("core-js/modules/es.number.to-fixed.js");
53
52
 
54
- var _propTypes = _interopRequireDefault(require("prop-types"));
53
+ var _react = _interopRequireDefault(require("react"));
55
54
 
56
55
  var _classnames = _interopRequireDefault(require("classnames"));
57
56
 
58
57
  var _componentHelper = require("../../shared/component-helper");
59
58
 
59
+ var _FormRowHelpers = require("../../components/form-row/FormRowHelpers");
60
+
61
+ var _hooks = require("../../shared/hooks");
62
+
60
63
  var _AlignmentHelper2 = _interopRequireDefault(require("../../shared/AlignmentHelper"));
61
64
 
65
+ var _withCamelCaseProps = require("../../shared/helpers/withCamelCaseProps");
66
+
62
67
  var _SpacingHelper = require("../space/SpacingHelper");
63
68
 
64
69
  var _NumberUtils = require("../number-format/NumberUtils");
@@ -77,7 +82,7 @@ var _FormStatus = _interopRequireDefault(require("../form-status/FormStatus"));
77
82
 
78
83
  var _AlignmentHelper, _span;
79
84
 
80
- var _excluded = ["label", "label_direction", "label_sr_only", "status", "status_state", "status_props", "status_no_animation", "global_status_id", "stretch", "suffix", "thump_title", "subtract_title", "add_title", "hide_buttons", "skeleton", "className", "class", "max", "min", "disabled", "reverse", "vertical", "id", "step", "value", "children", "use_scrollwheel"];
85
+ var _excluded = ["step", "label", "label_direction", "label_sr_only", "status", "status_state", "status_props", "status_no_animation", "global_status_id", "stretch", "suffix", "thumb_title", "subtract_title", "add_title", "hide_buttons", "number_format", "skeleton", "max", "min", "disabled", "className", "id", "on_init", "on_change", "on_drag_start", "on_drag_end", "vertical", "reverse", "class", "value"];
81
86
 
82
87
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
83
88
 
@@ -87,642 +92,421 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
87
92
 
88
93
  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; }
89
94
 
95
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
96
+
90
97
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
91
98
 
92
99
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
93
100
 
94
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
95
-
96
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
97
-
98
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
101
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
99
102
 
100
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
103
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
101
104
 
102
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
105
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
103
106
 
104
- 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); }; }
107
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
105
108
 
106
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
109
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
107
110
 
108
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
111
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
109
112
 
110
- 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; } }
113
+ var defaultProps = {
114
+ status_state: 'error',
115
+ add_title: '+',
116
+ subtract_title: '−',
117
+ min: 0,
118
+ max: 100,
119
+ value: -1
120
+ };
111
121
 
112
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
122
+ function Slider(localProps) {
123
+ var context = _react.default.useContext(_Context.default);
113
124
 
114
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
125
+ var allProps = (0, _hooks.usePropsWithContext)(localProps, defaultProps, {
126
+ skeleton: context === null || context === void 0 ? void 0 : context.skeleton
127
+ }, context === null || context === void 0 ? void 0 : context.getTranslation(localProps).Slider, (0, _FormRowHelpers.includeValidProps)(context === null || context === void 0 ? void 0 : context.FormRow, {
128
+ vertical: null
129
+ }), context === null || context === void 0 ? void 0 : context.Slider);
115
130
 
116
- var Slider = function (_React$PureComponent) {
117
- _inherits(Slider, _React$PureComponent);
131
+ var _React$useState = _react.default.useState(_componentHelper.makeUniqueId),
132
+ _React$useState2 = _slicedToArray(_React$useState, 1),
133
+ _id = _React$useState2[0];
118
134
 
119
- var _super = _createSuper(Slider);
135
+ if (!allProps.id) {
136
+ allProps.id = _id;
137
+ }
120
138
 
121
- function Slider(props) {
122
- var _this;
139
+ var step = allProps.step,
140
+ label = allProps.label,
141
+ label_direction = allProps.label_direction,
142
+ label_sr_only = allProps.label_sr_only,
143
+ status = allProps.status,
144
+ status_state = allProps.status_state,
145
+ status_props = allProps.status_props,
146
+ status_no_animation = allProps.status_no_animation,
147
+ global_status_id = allProps.global_status_id,
148
+ stretch = allProps.stretch,
149
+ suffix = allProps.suffix,
150
+ title = allProps.thumb_title,
151
+ subtract_title = allProps.subtract_title,
152
+ add_title = allProps.add_title,
153
+ hide_buttons = allProps.hide_buttons,
154
+ number_format = allProps.number_format,
155
+ skeleton = allProps.skeleton,
156
+ max = allProps.max,
157
+ min = allProps.min,
158
+ disabled = allProps.disabled,
159
+ className = allProps.className,
160
+ id = allProps.id,
161
+ on_init = allProps.on_init,
162
+ on_change = allProps.on_change,
163
+ on_drag_start = allProps.on_drag_start,
164
+ on_drag_end = allProps.on_drag_end,
165
+ _vertical = allProps.vertical,
166
+ _reverse = allProps.reverse,
167
+ _className = allProps.class,
168
+ _value = allProps.value,
169
+ attributes = _objectWithoutProperties(allProps, _excluded);
170
+
171
+ var trackRef = _react.default.useRef();
172
+
173
+ var _React$useState3 = _react.default.useState(_value),
174
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
175
+ value = _React$useState4[0],
176
+ setValue = _React$useState4[1];
177
+
178
+ var _React$useState5 = _react.default.useState('initial'),
179
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
180
+ currentState = _React$useState6[0],
181
+ setCurrentState = _React$useState6[1];
182
+
183
+ var _React$useState7 = _react.default.useState((0, _componentHelper.isTrue)(_vertical)),
184
+ _React$useState8 = _slicedToArray(_React$useState7, 1),
185
+ vertical = _React$useState8[0];
186
+
187
+ var _React$useState9 = _react.default.useState(vertical ? !(0, _componentHelper.isTrue)(_reverse) : (0, _componentHelper.isTrue)(_reverse)),
188
+ _React$useState10 = _slicedToArray(_React$useState9, 1),
189
+ reverse = _React$useState10[0];
190
+
191
+ if (allProps.use_scrollwheel) {
192
+ (0, _componentHelper.warn)('use_scrollwheel is not supported anymore!');
193
+ }
123
194
 
124
- _classCallCheck(this, Slider);
195
+ var onFocusHandler = function onFocusHandler() {
196
+ setCurrentState('focused');
197
+ };
125
198
 
126
- _this = _super.call(this, props);
199
+ var onBlurHandler = function onBlurHandler() {
200
+ setCurrentState('normal');
201
+ };
127
202
 
128
- _defineProperty(_assertThisInitialized(_this), "state", {
129
- currentState: 'initial',
130
- value: null
131
- });
203
+ var onClickHandler = function onClickHandler(event) {
204
+ var percent = calculatePercent(trackRef.current, event, vertical, reverse);
205
+ var value = percentToValue(percent, min, max);
206
+ emitChange(event, value);
207
+ setJumpedState();
208
+ };
132
209
 
133
- _defineProperty(_assertThisInitialized(_this), "onFocusHandler", function () {
134
- _this.setState({
135
- _listenForPropChanges: false,
136
- currentState: 'focused'
137
- });
138
- });
210
+ var onSubtractClickHandler = function onSubtractClickHandler(event) {
211
+ emitChange(event, clamp(value - (step || 1), min, max));
212
+ };
139
213
 
140
- _defineProperty(_assertThisInitialized(_this), "onBlurHandler", function () {
141
- _this.setState({
142
- _listenForPropChanges: false,
143
- currentState: 'normal'
144
- });
145
- });
146
-
147
- _defineProperty(_assertThisInitialized(_this), "onClickHandler", function (event) {
148
- var _this$state = _this.state,
149
- min = _this$state.min,
150
- max = _this$state.max,
151
- reverse = _this$state.reverse,
152
- vertical = _this$state.vertical;
153
- var percent = calculatePercent(_this._trackRef.current, event, vertical, reverse);
154
- var value = percentToValue(percent, min, max);
155
-
156
- _this.emitChange(event, value);
157
-
158
- _this.setJumpedState();
159
- });
160
-
161
- _defineProperty(_assertThisInitialized(_this), "onSubtractClickHandler", function (event) {
162
- var step = _this.props.step;
163
- var _this$state2 = _this.state,
164
- min = _this$state2.min,
165
- max = _this$state2.max,
166
- value = _this$state2.value;
167
-
168
- _this.emitChange(event, clamp(value - (step || 1), min, max));
169
- });
170
-
171
- _defineProperty(_assertThisInitialized(_this), "onAddClickHandler", function (event) {
172
- var step = _this.props.step;
173
- var _this$state3 = _this.state,
174
- min = _this$state3.min,
175
- max = _this$state3.max,
176
- value = _this$state3.value;
177
-
178
- _this.emitChange(event, clamp(value + (step || 1), min, max));
179
- });
180
-
181
- _defineProperty(_assertThisInitialized(_this), "onMouseDownHandler", function (event) {
182
- if (typeof document !== 'undefined') {
183
- try {
184
- document.body.addEventListener('touchmove', _this.onTouchMoveHandler);
185
- document.body.addEventListener('touchend', _this.onTouchEndHandler);
186
- document.body.addEventListener('mousemove', _this.onMouseMoveHandler);
187
- document.body.addEventListener('mouseup', _this.onMouseUpHandler);
188
- } catch (e) {
189
- (0, _componentHelper.warn)(e);
190
- }
191
- }
214
+ var onAddClickHandler = function onAddClickHandler(event) {
215
+ emitChange(event, clamp(value + (step || 1), min, max));
216
+ };
192
217
 
193
- _this.setState({
194
- _listenForPropChanges: false,
195
- currentState: 'activated'
196
- });
218
+ var onTouchEndHandler = function onTouchEndHandler(event) {
219
+ return onMouseUpHandler(event);
220
+ };
197
221
 
198
- if (typeof _this.props.on_drag_start === 'function') {
199
- (0, _componentHelper.dispatchCustomElementEvent)(_assertThisInitialized(_this), 'on_drag_start', {
200
- event: event
201
- });
222
+ var onMouseDownHandler = function onMouseDownHandler(event) {
223
+ if (typeof document !== 'undefined') {
224
+ try {
225
+ document.body.addEventListener('touchmove', onTouchMoveHandler);
226
+ document.body.addEventListener('touchend', onTouchEndHandler);
227
+ document.body.addEventListener('mousemove', onMouseMoveHandler);
228
+ document.body.addEventListener('mouseup', onMouseUpHandler);
229
+ } catch (e) {
230
+ (0, _componentHelper.warn)(e);
202
231
  }
203
- });
204
-
205
- _defineProperty(_assertThisInitialized(_this), "onTouchEndHandler", function (event) {
206
- return _this.onMouseUpHandler(event);
207
- });
232
+ }
208
233
 
209
- _defineProperty(_assertThisInitialized(_this), "onMouseUpHandler", function (event) {
210
- if (typeof document !== 'undefined') {
211
- try {
212
- document.body.removeEventListener('touchmove', _this.onTouchMoveHandler);
213
- document.body.removeEventListener('touchend', _this.onTouchEndHandler);
214
- document.body.removeEventListener('mousemove', _this.onMouseMoveHandler);
215
- document.body.removeEventListener('mouseup', _this.onMouseUpHandler);
216
- } catch (e) {
217
- (0, _componentHelper.warn)(e);
218
- }
219
- }
234
+ setCurrentState('activated');
220
235
 
221
- _this.setState({
222
- _listenForPropChanges: false,
223
- currentState: 'normal'
236
+ if (typeof on_drag_start === 'function') {
237
+ (0, _componentHelper.dispatchCustomElementEvent)(allProps, 'on_drag_start', {
238
+ event: event
224
239
  });
240
+ }
241
+ };
225
242
 
226
- if (typeof _this.props.on_drag_end === 'function') {
227
- (0, _componentHelper.dispatchCustomElementEvent)(_assertThisInitialized(_this), 'on_drag_end', {
228
- event: event
229
- });
230
- }
231
- });
232
-
233
- _defineProperty(_assertThisInitialized(_this), "onRangeChangeHandler", function (event) {
234
- var value = parseFloat(event.currentTarget.value);
235
-
236
- _this.setState({
237
- value: value,
238
- _listenForPropChanges: false
239
- }, function () {});
240
-
241
- _this.emitChange(event, value);
242
- });
243
-
244
- _defineProperty(_assertThisInitialized(_this), "onTouchMoveHandler", function (event) {
245
- return _this.onMouseMoveHandler(event);
246
- });
247
-
248
- _defineProperty(_assertThisInitialized(_this), "onMouseMoveHandler", function (event) {
249
- var elem = _this._trackRef.current;
250
-
251
- if (event && event.detail && typeof event.detail.height !== 'undefined') {
252
- elem = createMockDiv(event.detail);
253
- event = event.detail;
243
+ var onMouseUpHandler = function onMouseUpHandler(event) {
244
+ if (typeof document !== 'undefined') {
245
+ try {
246
+ document.body.removeEventListener('touchmove', onTouchMoveHandler);
247
+ document.body.removeEventListener('touchend', onTouchEndHandler);
248
+ document.body.removeEventListener('mousemove', onMouseMoveHandler);
249
+ document.body.removeEventListener('mouseup', onMouseUpHandler);
250
+ } catch (e) {
251
+ (0, _componentHelper.warn)(e);
254
252
  }
253
+ }
255
254
 
256
- var _this$state4 = _this.state,
257
- min = _this$state4.min,
258
- max = _this$state4.max,
259
- vertical = _this$state4.vertical,
260
- reverse = _this$state4.reverse;
261
- var percent = calculatePercent(elem, event, vertical, reverse);
262
- var value = percentToValue(percent, min, max);
263
-
264
- _this.emitChange(event, value);
265
- });
266
-
267
- _this._id = props.id || (0, _componentHelper.makeUniqueId)();
268
- _this._trackRef = _react.default.createRef();
269
-
270
- var _value2 = Slider.getValue(props);
255
+ setCurrentState('normal');
271
256
 
272
- _this.state = {
273
- _listenForPropChanges: true,
274
- value: _value2,
275
- _value: _value2,
276
- __value: _value2
277
- };
278
- return _this;
279
- }
280
-
281
- _createClass(Slider, [{
282
- key: "roundValue",
283
- value: function roundValue(value) {
284
- var step = this.props.step;
285
- return parseFloat(step) > 0 ? roundToStep(value, step) : parseFloat(value).toFixed(3);
257
+ if (typeof on_drag_end === 'function') {
258
+ (0, _componentHelper.dispatchCustomElementEvent)(allProps, 'on_drag_end', {
259
+ event: event
260
+ });
286
261
  }
287
- }, {
288
- key: "emitChange",
289
- value: function emitChange(event, rawValue, callback) {
290
- var _this$context;
262
+ };
291
263
 
292
- var _this$state5 = this.state,
293
- previousValue = _this$state5.value,
294
- disabled = _this$state5.disabled;
264
+ var onRangeChangeHandler = function onRangeChangeHandler(event) {
265
+ var value = parseFloat(event.currentTarget.value);
266
+ setValue(value);
267
+ var emitEvent = event;
268
+ emitChange(emitEvent, value);
269
+ };
295
270
 
296
- if (disabled || (0, _componentHelper.isTrue)(this.props.skeleton) || (0, _componentHelper.isTrue)((_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.skeleton)) {
297
- return;
298
- }
271
+ var onTouchMoveHandler = function onTouchMoveHandler(event) {
272
+ return onMouseMoveHandler(event);
273
+ };
299
274
 
300
- var value = this.roundValue(rawValue);
275
+ var onMouseMoveHandler = function onMouseMoveHandler(event) {
276
+ var _event, _event$detail;
301
277
 
302
- if (value > -1) {
303
- if (typeof this.props.on_change === 'function' && value !== this.roundValue(previousValue)) {
304
- var obj = {
305
- value: value,
306
- rawValue: rawValue,
307
- raw_value: rawValue,
308
- event: event
309
- };
278
+ var elem = trackRef.current;
310
279
 
311
- if (this.props.number_format) {
312
- obj.number = formatNumber(value, this.props.number_format);
313
- }
280
+ if (typeof ((_event = event) === null || _event === void 0 ? void 0 : (_event$detail = _event.detail) === null || _event$detail === void 0 ? void 0 : _event$detail.height) !== 'undefined') {
281
+ elem = createMockDiv(event.detail);
282
+ event = event.detail;
283
+ }
314
284
 
315
- (0, _componentHelper.dispatchCustomElementEvent)(this, 'on_change', obj);
285
+ if (elem) {
286
+ var _percent = calculatePercent(elem, event, vertical, reverse);
316
287
 
317
- if (typeof callback === 'function') {
318
- callback();
319
- }
320
- }
288
+ var _value2 = percentToValue(_percent, min, max);
321
289
 
322
- this.setState({
323
- value: rawValue,
324
- _listenForPropChanges: false
325
- });
326
- }
290
+ emitChange(event, _value2);
327
291
  }
328
- }, {
329
- key: "setJumpedState",
330
- value: function setJumpedState() {
331
- var _this2 = this;
332
-
333
- this.setState({
334
- currentState: 'jumped',
335
- _listenForPropChanges: false
336
- }, function () {
337
- clearTimeout(_this2.jumpedTimeout);
338
- _this2.jumpedTimeout = setTimeout(function () {
339
- return _this2.setState({
340
- currentState: 'normal',
341
- _listenForPropChanges: false
342
- });
343
- }, 100);
344
- });
292
+ };
293
+
294
+ var emitChange = function emitChange(event, rawValue) {
295
+ if (disabled || (0, _componentHelper.isTrue)(skeleton)) {
296
+ return;
345
297
  }
346
- }, {
347
- key: "componentDidMount",
348
- value: function componentDidMount() {
349
- var _this3 = this;
350
-
351
- if (this._trackRef.current) {
352
- if ((0, _componentHelper.isTrue)(this.props.use_scrollwheel)) {
353
- var _this$state6 = this.state,
354
- min = _this$state6.min,
355
- max = _this$state6.max,
356
- reverse = _this$state6.reverse,
357
- vertical = _this$state6.vertical;
358
-
359
- this._trackRef.current.addEventListener('wheel', function (event) {
360
- event.preventDefault();
361
-
362
- _this3.emitChange(event, clamp(_this3.state.value + (!vertical && reverse || vertical && !reverse ? -event.deltaY / 10 : event.deltaY / 10), min, max));
363
- });
364
- }
365
- }
366
298
 
367
- if (typeof this.props.on_init === 'function') {
368
- var value = this.state.value;
299
+ var currentValue = roundValue(rawValue, step);
300
+
301
+ if (currentValue > -1 && rawValue !== value) {
302
+ if (typeof on_change === 'function') {
369
303
  var obj = {
370
- value: value
304
+ value: currentValue,
305
+ rawValue: rawValue,
306
+ raw_value: rawValue,
307
+ event: event,
308
+ number: null
371
309
  };
372
310
 
373
- if (this.props.number_format) {
374
- obj.number = formatNumber(value, this.props.number_format);
311
+ if (number_format) {
312
+ obj.number = formatNumber(currentValue, number_format);
375
313
  }
376
314
 
377
- (0, _componentHelper.dispatchCustomElementEvent)(this, 'on_init', obj);
378
- }
379
- }
380
- }, {
381
- key: "componentWillUnmount",
382
- value: function componentWillUnmount() {
383
- if (typeof document !== 'undefined') {
384
- try {
385
- document.body.removeEventListener('touchmove', this.onTouchMoveHandler);
386
- document.body.removeEventListener('touchend', this.onTouchEndHandler);
387
- document.body.removeEventListener('mousemove', this.onMouseMoveHandler);
388
- document.body.removeEventListener('mouseup', this.onMouseUpHandler);
389
- } catch (e) {
390
- (0, _componentHelper.warn)(e);
391
- }
315
+ (0, _componentHelper.dispatchCustomElementEvent)(allProps, 'on_change', obj);
392
316
  }
393
317
 
394
- clearTimeout(this.jumpedTimeout);
318
+ setValue(rawValue);
395
319
  }
396
- }, {
397
- key: "render",
398
- value: function render() {
399
- var _this$context2;
400
-
401
- var props = (0, _componentHelper.extendPropsWithContext)(this.props, Slider.defaultProps, {
402
- skeleton: (_this$context2 = this.context) === null || _this$context2 === void 0 ? void 0 : _this$context2.skeleton
403
- }, this.context.getTranslation(this.props).Slider, this.context.FormRow, this.context.Slider);
404
-
405
- var label = props.label,
406
- label_direction = props.label_direction,
407
- label_sr_only = props.label_sr_only,
408
- status = props.status,
409
- status_state = props.status_state,
410
- status_props = props.status_props,
411
- status_no_animation = props.status_no_animation,
412
- global_status_id = props.global_status_id,
413
- stretch = props.stretch,
414
- suffix = props.suffix,
415
- title = props.thump_title,
416
- subtract_title = props.subtract_title,
417
- add_title = props.add_title,
418
- hide_buttons = props.hide_buttons,
419
- skeleton = props.skeleton,
420
- className = props.className,
421
- _className = props.class,
422
- _max = props.max,
423
- _min = props.min,
424
- _disabled = props.disabled,
425
- _reverse = props.reverse,
426
- _vertical = props.vertical,
427
- _id = props.id,
428
- _step = props.step,
429
- _value = props.value,
430
- _children = props.children,
431
- _use_scrollwheel = props.use_scrollwheel,
432
- attributes = _objectWithoutProperties(props, _excluded);
433
-
434
- var _this$state7 = this.state,
435
- min = _this$state7.min,
436
- max = _this$state7.max,
437
- reverse = _this$state7.reverse,
438
- vertical = _this$state7.vertical,
439
- value = _this$state7.value,
440
- currentState = _this$state7.currentState,
441
- disabled = _this$state7.disabled;
442
- var showStatus = (0, _componentHelper.getStatusState)(status);
443
- var showButtons = !(0, _componentHelper.isTrue)(hide_buttons);
444
- var id = this._id;
445
- var mainParams = {
446
- className: (0, _classnames.default)("dnb-slider dnb-form-component", (0, _SkeletonHelper.createSkeletonClass)(null, skeleton), (0, _SpacingHelper.createSpacingClasses)(props), className, _className, reverse && 'dnb-slider--reverse', vertical && 'dnb-slider--vertical', (0, _componentHelper.isTrue)(stretch) && 'dnb-slider--stretch', label && label_direction && "dnb-slider__label--".concat(label_direction), showStatus && 'dnb-slider__form-status', status && "dnb-slider__status--".concat(status_state))
447
- };
448
- var percent = clamp((value - min) * 100 / (max - min));
449
-
450
- var _formatNumber = formatNumber(value, _objectSpread({
451
- returnAria: true
452
- }, this.props.number_format)),
453
- humanNumber = _formatNumber.aria;
320
+ };
454
321
 
455
- var hasHumanNumber = value !== humanNumber;
322
+ var jumpedTimeout = _react.default.useRef();
456
323
 
457
- var inlineStyleBefore = _defineProperty({}, "".concat(vertical ? 'height' : 'width'), "".concat(percent, "%"));
324
+ var setJumpedState = function setJumpedState() {
325
+ setCurrentState('jumped');
326
+ clearTimeout(jumpedTimeout.current);
327
+ jumpedTimeout.current = setTimeout(function () {
328
+ return setCurrentState('normal');
329
+ }, 100);
330
+ };
458
331
 
459
- var inlineThumbStyles = _defineProperty({}, "".concat(vertical ? 'top' : 'left'), "".concat(percent, "%"));
332
+ _react.default.useEffect(function () {
333
+ setValue(_value);
334
+ }, [_value]);
460
335
 
461
- (0, _SkeletonHelper.skeletonDOMAttributes)(mainParams, skeleton, this.context);
462
- var helperParams = {};
463
- var trackParams = {
464
- className: 'dnb-slider__track' + (currentState ? " dnb-slider__state--".concat(currentState) : ""),
465
- onTouchStart: this.onClickHandler,
466
- onTouchStartCapture: this.onMouseDownHandler,
467
- onMouseDown: this.onClickHandler,
468
- onMouseDownCapture: this.onMouseDownHandler
336
+ _react.default.useEffect(function () {
337
+ if (typeof on_init === 'function') {
338
+ var obj = {
339
+ value: value,
340
+ number: null
469
341
  };
470
342
 
471
- var thumbParams = _objectSpread(_objectSpread({
472
- title: title
473
- }, attributes), {}, {
474
- onBlur: this.onBlurHandler,
475
- onFocus: this.onFocusHandler
476
- });
477
-
478
- if (label || hasHumanNumber) {
479
- helperParams['aria-labelledby'] = (0, _componentHelper.combineLabelledBy)(helperParams, hasHumanNumber ? id + '-human' : null, label ? id + '-label' : null);
480
- }
481
-
482
- if (showStatus || suffix) {
483
- helperParams['aria-describedby'] = (0, _componentHelper.combineDescribedBy)(helperParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
484
- }
485
-
486
- var subtractParams = {};
487
- var addParams = {};
488
-
489
- if (typeof thumbParams['aria-hidden'] !== 'undefined') {
490
- helperParams['aria-hidden'] = addParams['aria-hidden'] = subtractParams['aria-hidden'] = thumbParams['aria-hidden'];
343
+ if (number_format) {
344
+ obj.number = formatNumber(value, number_format);
491
345
  }
492
346
 
493
- (0, _componentHelper.validateDOMAttributes)(this.props, thumbParams);
494
- (0, _componentHelper.validateDOMAttributes)(null, trackParams);
495
- (0, _componentHelper.validateDOMAttributes)(null, helperParams);
496
-
497
- var subtractButton = _react.default.createElement(_Button.default, {
498
- className: "dnb-slider__button dnb-slider__button--subtract",
499
- variant: "secondary",
500
- icon: "subtract",
501
- size: "small",
502
- "aria-label": subtract_title.replace('%s', humanNumber),
503
- on_click: this.onSubtractClickHandler,
504
- disabled: disabled,
505
- skeleton: skeleton
506
- });
507
-
508
- var addButton = _react.default.createElement(_Button.default, {
509
- className: "dnb-slider__button dnb-slider__button--add",
510
- variant: "secondary",
511
- icon: "add",
512
- size: "small",
513
- "aria-label": add_title.replace('%s', humanNumber),
514
- on_click: this.onAddClickHandler,
515
- disabled: disabled,
516
- skeleton: skeleton
517
- });
518
-
519
- return _react.default.createElement("span", mainParams, label && _react.default.createElement(_FormLabel.default, {
520
- id: id + '-label',
521
- text: label,
522
- disabled: disabled,
523
- skeleton: skeleton,
524
- label_direction: label_direction,
525
- sr_only: label_sr_only
526
- }), _react.default.createElement("span", {
527
- className: "dnb-slider__wrapper"
528
- }, _AlignmentHelper || (_AlignmentHelper = _react.default.createElement(_AlignmentHelper2.default, null)), _react.default.createElement(_FormStatus.default, _extends({
529
- show: showStatus,
530
- id: id + '-form-status',
531
- global_status_id: global_status_id,
532
- label: label,
533
- text_id: id + '-status',
534
- text: status,
535
- status: status_state,
536
- no_animation: status_no_animation,
537
- skeleton: skeleton
538
- }, status_props)), _react.default.createElement("span", {
539
- className: "dnb-slider__inner"
540
- }, showButtons && (reverse ? addButton : subtractButton), _react.default.createElement("span", _extends({
541
- id: this._id,
542
- ref: this._trackRef
543
- }, trackParams), _react.default.createElement("span", {
544
- className: "dnb-slider__thumb",
545
- style: inlineThumbStyles
546
- }, _react.default.createElement("input", _extends({
547
- type: "range",
548
- className: "dnb-slider__button-helper",
549
- min: min,
550
- max: max,
551
- step: _step,
552
- value: value,
553
- disabled: disabled,
554
- orientation: vertical ? 'vertical' : 'horizontal',
555
- onChange: this.onRangeChangeHandler
556
- }, helperParams)), _react.default.createElement(_Button.default, _extends({
557
- tabIndex: "-1",
558
- "aria-hidden": true,
559
- variant: "secondary",
560
- disabled: disabled,
561
- skeleton: skeleton,
562
- onMouseDown: this.onMouseDownHandler
563
- }, thumbParams))), _react.default.createElement("span", {
564
- className: "dnb-slider__line dnb-slider__line__before",
565
- style: inlineStyleBefore
566
- }), _span || (_span = _react.default.createElement("span", {
567
- className: "dnb-slider__line dnb-slider__line__after"
568
- })), hasHumanNumber && _react.default.createElement("span", {
569
- id: id + '-human',
570
- className: "dnb-sr-only",
571
- "aria-hidden": true
572
- }, humanNumber)), showButtons && (reverse ? subtractButton : addButton), suffix && _react.default.createElement(_Suffix.default, {
573
- className: "dnb-slider__suffix",
574
- id: id + '-suffix',
575
- context: props
576
- }, suffix))));
577
- }
578
- }], [{
579
- key: "enableWebComponent",
580
- value: function enableWebComponent() {
581
- (0, _componentHelper.registerElement)(Slider === null || Slider === void 0 ? void 0 : Slider.tagName, Slider, Slider.defaultProps);
347
+ (0, _componentHelper.dispatchCustomElementEvent)(allProps, 'on_init', obj);
582
348
  }
583
- }, {
584
- key: "getDerivedStateFromProps",
585
- value: function getDerivedStateFromProps(props, state) {
586
- if (state._listenForPropChanges) {
587
- state.reverse = (0, _componentHelper.isTrue)(props.reverse);
588
-
589
- if ((0, _componentHelper.isTrue)(props.vertical)) {
590
- state.reverse = !state.reverse;
591
- }
592
-
593
- state.vertical = (0, _componentHelper.isTrue)(props.vertical);
594
- state.min = parseFloat(props.min);
595
- state.max = parseFloat(props.max);
596
- var value = Slider.getValue(props);
597
349
 
598
- if (value !== state._value && value >= -1) {
599
- state.value = value;
600
-
601
- if (typeof props.on_state_update === 'function') {
602
- var obj = {
603
- value: value
604
- };
605
-
606
- if (props.number_format) {
607
- obj.number = formatNumber(value, props.number_format);
608
- }
609
-
610
- (0, _componentHelper.dispatchCustomElementEvent)(_objectSpread({}, props), 'on_state_update', obj);
611
- }
350
+ return function () {
351
+ if (typeof document !== 'undefined') {
352
+ try {
353
+ document.body.removeEventListener('touchmove', onTouchMoveHandler);
354
+ document.body.removeEventListener('touchend', onTouchEndHandler);
355
+ document.body.removeEventListener('mousemove', onMouseMoveHandler);
356
+ document.body.removeEventListener('mouseup', onMouseUpHandler);
357
+ } catch (e) {
358
+ (0, _componentHelper.warn)(e);
612
359
  }
613
-
614
- state._value = value;
615
360
  }
616
361
 
617
- state._listenForPropChanges = true;
618
- state.disabled = (0, _componentHelper.isTrue)(props.disabled);
362
+ clearTimeout(jumpedTimeout.current);
363
+ };
364
+ }, []);
619
365
 
620
- if ((0, _componentHelper.isTrue)(props.skeleton)) {
621
- state.disabled = true;
622
- }
366
+ var percent = clamp((value - min) * 100 / (max - min));
623
367
 
624
- if (state.disabled) {
625
- state.currentState = 'disabled';
626
- } else if (state.currentState === 'disabled') {
627
- state.currentState = 'normal';
628
- }
368
+ var inlineStyleBefore = _defineProperty({}, "".concat(vertical ? 'height' : 'width'), "".concat(percent, "%"));
629
369
 
630
- return state;
631
- }
632
- }, {
633
- key: "getValue",
634
- value: function getValue(props) {
635
- if (props.value >= -1) {
636
- return props.value;
637
- }
370
+ var inlineThumbStyles = _defineProperty({}, "".concat(vertical ? 'top' : 'left'), "".concat(percent, "%"));
638
371
 
639
- return (0, _componentHelper.processChildren)(props);
640
- }
641
- }]);
372
+ var _ref = number_format ? formatNumber(value, _objectSpread(_objectSpread({}, number_format || {}), {}, {
373
+ returnAria: true
374
+ })) : {
375
+ aria: null
376
+ },
377
+ humanNumber = _ref.aria;
642
378
 
643
- return Slider;
644
- }(_react.default.PureComponent);
379
+ var hasHumanNumber = Boolean(humanNumber);
380
+ var showStatus = (0, _componentHelper.getStatusState)(status);
381
+ var showButtons = !(0, _componentHelper.isTrue)(hide_buttons);
382
+ var mainParams = {
383
+ className: (0, _classnames.default)("dnb-slider dnb-form-component", (0, _SkeletonHelper.createSkeletonClass)(null, skeleton), (0, _SpacingHelper.createSpacingClasses)(allProps), className, _className, reverse && 'dnb-slider--reverse', vertical && 'dnb-slider--vertical', (0, _componentHelper.isTrue)(stretch) && 'dnb-slider--stretch', label && label_direction && "dnb-slider__label--".concat(label_direction), showStatus && 'dnb-slider__form-status', status && "dnb-slider__status--".concat(status_state))
384
+ };
385
+ var helperParams = {};
386
+ var subtractParams = {};
387
+ var addParams = {};
388
+ var trackParams = {
389
+ className: 'dnb-slider__track' + (currentState ? " dnb-slider__state--".concat(currentState) : ""),
390
+ onTouchStart: onClickHandler,
391
+ onTouchStartCapture: onMouseDownHandler,
392
+ onMouseDown: onClickHandler,
393
+ onMouseDownCapture: onMouseDownHandler
394
+ };
645
395
 
646
- exports.default = Slider;
396
+ var thumbParams = _objectSpread({
397
+ title: title,
398
+ onBlur: onBlurHandler,
399
+ onFocus: onFocusHandler
400
+ }, attributes);
647
401
 
648
- _defineProperty(Slider, "tagName", 'dnb-slider');
402
+ if (label || hasHumanNumber) {
403
+ helperParams['aria-labelledby'] = (0, _componentHelper.combineLabelledBy)(helperParams, hasHumanNumber ? id + '-human' : null, label ? id + '-label' : null);
404
+ }
649
405
 
650
- _defineProperty(Slider, "contextType", _Context.default);
406
+ if (showStatus || suffix) {
407
+ helperParams['aria-describedby'] = (0, _componentHelper.combineDescribedBy)(helperParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
408
+ }
651
409
 
652
- _defineProperty(Slider, "defaultProps", {
653
- id: null,
654
- label: null,
655
- label_direction: null,
656
- label_sr_only: null,
657
- status: null,
658
- status_state: 'error',
659
- status_props: null,
660
- status_no_animation: null,
661
- global_status_id: null,
662
- suffix: null,
663
- thump_title: null,
664
- add_title: '+',
665
- subtract_title: '−',
666
- min: 0,
667
- max: 100,
668
- value: -1,
669
- step: null,
670
- vertical: false,
671
- reverse: false,
672
- stretch: false,
673
- number_format: null,
674
- disabled: false,
675
- hide_buttons: false,
676
- use_scrollwheel: false,
677
- skeleton: null,
678
- class: null,
679
- className: null,
680
- children: null,
681
- on_init: null,
682
- on_change: null,
683
- on_drag_start: null,
684
- on_drag_end: null,
685
- on_state_update: null
686
- });
410
+ if (typeof thumbParams['aria-hidden'] !== 'undefined') {
411
+ helperParams['aria-hidden'] = addParams['aria-hidden'] = subtractParams['aria-hidden'] = thumbParams['aria-hidden'];
412
+ }
687
413
 
688
- process.env.NODE_ENV !== "production" ? Slider.propTypes = _objectSpread(_objectSpread({
689
- id: _propTypes.default.string,
690
- label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.node]),
691
- label_direction: _propTypes.default.oneOf(['horizontal', 'vertical']),
692
- label_sr_only: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
693
- status: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool, _propTypes.default.func, _propTypes.default.node]),
694
- status_state: _propTypes.default.string,
695
- status_props: _propTypes.default.object,
696
- status_no_animation: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
697
- global_status_id: _propTypes.default.string,
698
- suffix: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.node]),
699
- thump_title: _propTypes.default.string,
700
- add_title: _propTypes.default.string,
701
- subtract_title: _propTypes.default.string,
702
- min: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
703
- max: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
704
- value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
705
- step: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
706
- vertical: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
707
- reverse: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
708
- stretch: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
709
- number_format: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),
710
- disabled: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
711
- hide_buttons: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
712
- use_scrollwheel: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
713
- skeleton: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool])
714
- }, _SpacingHelper.spacingPropTypes), {}, {
715
- class: _propTypes.default.string,
716
- className: _propTypes.default.string,
717
- children: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),
718
- on_init: _propTypes.default.func,
719
- on_change: _propTypes.default.func,
720
- on_drag_start: _propTypes.default.func,
721
- on_drag_end: _propTypes.default.func,
722
- on_state_update: _propTypes.default.func
723
- }) : void 0;
414
+ (0, _componentHelper.validateDOMAttributes)(allProps, thumbParams);
415
+ (0, _componentHelper.validateDOMAttributes)(null, trackParams);
416
+ (0, _componentHelper.validateDOMAttributes)(null, helperParams);
417
+ (0, _SkeletonHelper.skeletonDOMAttributes)(mainParams, skeleton, context);
418
+
419
+ var subtractButton = showButtons && _react.default.createElement(_Button.default, _extends({
420
+ className: "dnb-slider__button dnb-slider__button--subtract",
421
+ variant: "secondary",
422
+ icon: "subtract",
423
+ size: "small",
424
+ "aria-label": subtract_title === null || subtract_title === void 0 ? void 0 : subtract_title.replace('%s', humanNumber),
425
+ on_click: onSubtractClickHandler,
426
+ disabled: disabled,
427
+ skeleton: skeleton
428
+ }, subtractParams));
429
+
430
+ var addButton = showButtons && _react.default.createElement(_Button.default, _extends({
431
+ className: "dnb-slider__button dnb-slider__button--add",
432
+ variant: "secondary",
433
+ icon: "add",
434
+ size: "small",
435
+ "aria-label": add_title === null || add_title === void 0 ? void 0 : add_title.replace('%s', humanNumber),
436
+ on_click: onAddClickHandler,
437
+ disabled: disabled,
438
+ skeleton: skeleton
439
+ }, addParams));
440
+
441
+ return _react.default.createElement("span", mainParams, label && _react.default.createElement(_FormLabel.default, {
442
+ id: id + '-label',
443
+ text: label,
444
+ disabled: disabled,
445
+ skeleton: skeleton,
446
+ label_direction: label_direction,
447
+ sr_only: label_sr_only
448
+ }), _react.default.createElement("span", {
449
+ className: "dnb-slider__wrapper"
450
+ }, _AlignmentHelper || (_AlignmentHelper = _react.default.createElement(_AlignmentHelper2.default, null)), _react.default.createElement(_FormStatus.default, _extends({
451
+ show: showStatus,
452
+ id: id + '-form-status',
453
+ global_status_id: global_status_id,
454
+ label: label,
455
+ text_id: id + '-status',
456
+ text: status,
457
+ status: status_state,
458
+ no_animation: status_no_animation,
459
+ skeleton: skeleton
460
+ }, status_props)), _react.default.createElement("span", {
461
+ className: "dnb-slider__inner"
462
+ }, showButtons && (reverse ? addButton : subtractButton), _react.default.createElement("span", _extends({
463
+ id: id,
464
+ ref: trackRef
465
+ }, trackParams), _react.default.createElement("span", {
466
+ className: "dnb-slider__thumb",
467
+ style: inlineThumbStyles
468
+ }, _react.default.createElement("input", _extends({
469
+ type: "range",
470
+ className: "dnb-slider__button-helper",
471
+ min: min,
472
+ max: max,
473
+ step: step,
474
+ value: value,
475
+ disabled: disabled,
476
+ orientation: vertical ? 'vertical' : 'horizontal',
477
+ onChange: onRangeChangeHandler
478
+ }, helperParams)), _react.default.createElement(_Button.default, _extends({
479
+ tabIndex: -1,
480
+ "aria-hidden": true,
481
+ variant: "secondary",
482
+ disabled: disabled,
483
+ skeleton: skeleton,
484
+ onMouseDown: onMouseDownHandler
485
+ }, thumbParams))), _react.default.createElement("span", {
486
+ className: "dnb-slider__line dnb-slider__line__before",
487
+ style: inlineStyleBefore
488
+ }), _span || (_span = _react.default.createElement("span", {
489
+ className: "dnb-slider__line dnb-slider__line__after"
490
+ })), hasHumanNumber && _react.default.createElement("span", {
491
+ id: id + '-human',
492
+ className: "dnb-sr-only",
493
+ "aria-hidden": true
494
+ }, humanNumber)), showButtons && (reverse ? subtractButton : addButton), suffix && _react.default.createElement(_Suffix.default, {
495
+ className: "dnb-slider__suffix",
496
+ id: id + '-suffix',
497
+ context: allProps
498
+ }, suffix))));
499
+ }
724
500
 
725
501
  var percentToValue = function percentToValue(percent, min, max) {
502
+ if (typeof min === 'string') {
503
+ min = parseFloat(min);
504
+ }
505
+
506
+ if (typeof max === 'string') {
507
+ max = parseFloat(max);
508
+ }
509
+
726
510
  return (max - min) * percent / 100 + min;
727
511
  };
728
512
 
@@ -731,12 +515,12 @@ var roundToStep = function roundToStep(number, step) {
731
515
  };
732
516
 
733
517
  var getOffset = function getOffset(node) {
734
- var _ref = typeof window !== 'undefined' ? window : {
518
+ var _ref2 = typeof window !== 'undefined' ? window : {
735
519
  pageYOffset: 0,
736
520
  pageXOffset: 0
737
521
  },
738
- pageYOffset = _ref.pageYOffset,
739
- pageXOffset = _ref.pageXOffset;
522
+ pageYOffset = _ref2.pageYOffset,
523
+ pageXOffset = _ref2.pageXOffset;
740
524
 
741
525
  var _node$getBoundingClie = node.getBoundingClientRect(),
742
526
  left = _node$getBoundingClie.left,
@@ -786,9 +570,13 @@ var clamp = function clamp(value) {
786
570
  return Math.min(Math.max(value, min), max);
787
571
  };
788
572
 
789
- var createMockDiv = function createMockDiv(_ref2) {
790
- var width = _ref2.width,
791
- height = _ref2.height;
573
+ var roundValue = function roundValue(value, step) {
574
+ return step > 0 ? roundToStep(value, step) : parseFloat(parseFloat(String(value)).toFixed(3));
575
+ };
576
+
577
+ var createMockDiv = function createMockDiv(_ref3) {
578
+ var width = _ref3.width,
579
+ height = _ref3.height;
792
580
  var div = document.createElement('div');
793
581
 
794
582
  _extends(div.style, {
@@ -810,7 +598,7 @@ var createMockDiv = function createMockDiv(_ref2) {
810
598
  return div;
811
599
  };
812
600
 
813
- function formatNumber(value) {
601
+ var formatNumber = function formatNumber(value) {
814
602
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
815
603
 
816
604
  if (opts) {
@@ -818,4 +606,8 @@ function formatNumber(value) {
818
606
  }
819
607
 
820
608
  return value;
821
- }
609
+ };
610
+
611
+ var _default = (0, _withCamelCaseProps.withCamelCaseProps)(Slider);
612
+
613
+ exports.default = _default;