@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
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.assign.js");
4
+
5
+ require("core-js/modules/es.symbol.js");
6
+
7
+ require("core-js/modules/es.symbol.description.js");
8
+
9
+ require("core-js/modules/es.object.to-string.js");
10
+
11
+ require("core-js/modules/es.symbol.iterator.js");
12
+
13
+ require("core-js/modules/es.array.iterator.js");
14
+
15
+ require("core-js/modules/es.string.iterator.js");
16
+
17
+ require("core-js/modules/web.dom-collections.iterator.js");
18
+
19
+ require("core-js/modules/es.array.from.js");
20
+
21
+ require("core-js/modules/es.array.slice.js");
22
+
23
+ require("core-js/modules/es.function.name.js");
24
+
25
+ require("core-js/modules/es.regexp.exec.js");
26
+
27
+ require("core-js/modules/es.object.keys.js");
28
+
29
+ require("core-js/modules/es.array.filter.js");
30
+
31
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
32
+
33
+ require("core-js/modules/web.dom-collections.for-each.js");
34
+
35
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
36
+
37
+ Object.defineProperty(exports, "__esModule", {
38
+ value: true
39
+ });
40
+ exports.roundValue = exports.roundToStep = exports.percentToValue = exports.getUpdatedValues = exports.getOffset = exports.getMousePosition = exports.getHumanNumber = exports.formatNumber = exports.createMockDiv = exports.closestIndex = exports.clamp = exports.calculatePercent = void 0;
41
+
42
+ require("core-js/modules/es.parse-float.js");
43
+
44
+ require("core-js/modules/es.number.to-fixed.js");
45
+
46
+ require("core-js/modules/es.array.map.js");
47
+
48
+ require("core-js/modules/es.array.sort.js");
49
+
50
+ require("core-js/modules/es.array.find-index.js");
51
+
52
+ var _NumberUtils = require("../number-format/NumberUtils");
53
+
54
+ 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; }
55
+
56
+ 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; }
57
+
58
+ 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; }
59
+
60
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
61
+
62
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
63
+
64
+ 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); }
65
+
66
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
67
+
68
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
69
+
70
+ 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; }
71
+
72
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
73
+
74
+ var percentToValue = function percentToValue(percent, min, max) {
75
+ if (typeof min === 'string') {
76
+ min = parseFloat(min);
77
+ }
78
+
79
+ if (typeof max === 'string') {
80
+ max = parseFloat(max);
81
+ }
82
+
83
+ return (max - min) * percent / 100 + min;
84
+ };
85
+
86
+ exports.percentToValue = percentToValue;
87
+
88
+ var roundToStep = function roundToStep(number, step) {
89
+ return Math.round(number / step) * step;
90
+ };
91
+
92
+ exports.roundToStep = roundToStep;
93
+
94
+ var getOffset = function getOffset(node) {
95
+ var _ref = typeof window !== 'undefined' ? window : {
96
+ pageYOffset: 0,
97
+ pageXOffset: 0
98
+ },
99
+ pageYOffset = _ref.pageYOffset,
100
+ pageXOffset = _ref.pageXOffset;
101
+
102
+ var _node$getBoundingClie = node.getBoundingClientRect(),
103
+ left = _node$getBoundingClie.left,
104
+ top = _node$getBoundingClie.top;
105
+
106
+ return {
107
+ top: top + pageYOffset,
108
+ left: left + pageXOffset
109
+ };
110
+ };
111
+
112
+ exports.getOffset = getOffset;
113
+
114
+ var getMousePosition = function getMousePosition(event) {
115
+ if (event.changedTouches && event.changedTouches[0]) {
116
+ return {
117
+ x: event.changedTouches[0].pageX,
118
+ y: event.changedTouches[0].pageY
119
+ };
120
+ }
121
+
122
+ return {
123
+ x: event.pageX,
124
+ y: event.pageY
125
+ };
126
+ };
127
+
128
+ exports.getMousePosition = getMousePosition;
129
+
130
+ var calculatePercent = function calculatePercent(node, event, isVertical, isReverted) {
131
+ var _node$getBoundingClie2 = node.getBoundingClientRect(),
132
+ width = _node$getBoundingClie2.width,
133
+ height = _node$getBoundingClie2.height;
134
+
135
+ var _getOffset = getOffset(node),
136
+ top = _getOffset.top,
137
+ left = _getOffset.left;
138
+
139
+ var _getMousePosition = getMousePosition(event),
140
+ x = _getMousePosition.x,
141
+ y = _getMousePosition.y;
142
+
143
+ var value = isVertical ? y - top : x - left;
144
+ var onePercent = (isVertical ? height : width) / 100;
145
+ return Math.abs((isReverted ? 100 : 0) - clamp(value / onePercent));
146
+ };
147
+
148
+ exports.calculatePercent = calculatePercent;
149
+
150
+ var clamp = function clamp(value) {
151
+ var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
152
+ var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;
153
+ return Math.min(Math.max(value, min), max);
154
+ };
155
+
156
+ exports.clamp = clamp;
157
+
158
+ var roundValue = function roundValue(value, step) {
159
+ return step > 0 ? roundToStep(value, step) : parseFloat(parseFloat(String(value)).toFixed(3));
160
+ };
161
+
162
+ exports.roundValue = roundValue;
163
+
164
+ var createMockDiv = function createMockDiv(_ref2) {
165
+ var width = _ref2.width,
166
+ height = _ref2.height;
167
+ var div = document.createElement('div');
168
+
169
+ _extends(div.style, {
170
+ width: "".concat(width, "px"),
171
+ height: "".concat(height, "px")
172
+ });
173
+
174
+ div.getBoundingClientRect = function () {
175
+ return {
176
+ width: width,
177
+ height: height,
178
+ top: 0,
179
+ left: 0,
180
+ right: width,
181
+ bottom: height
182
+ };
183
+ };
184
+
185
+ return div;
186
+ };
187
+
188
+ exports.createMockDiv = createMockDiv;
189
+
190
+ var getUpdatedValues = function getUpdatedValues(value, index, newValue) {
191
+ return value.map(function (val, i) {
192
+ if (i === index) {
193
+ val = newValue;
194
+ }
195
+
196
+ return val;
197
+ });
198
+ };
199
+
200
+ exports.getUpdatedValues = getUpdatedValues;
201
+
202
+ var closestIndex = function closestIndex(goal, array) {
203
+ var res = _toConsumableArray(array).sort(function (a, b) {
204
+ return Math.abs(goal - a) - Math.abs(goal - b);
205
+ })[0];
206
+
207
+ return array.findIndex(function (num) {
208
+ return num === res;
209
+ });
210
+ };
211
+
212
+ exports.closestIndex = closestIndex;
213
+
214
+ var formatNumber = function formatNumber(value) {
215
+ var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
216
+
217
+ if (opts) {
218
+ return (0, _NumberUtils.format)(value, opts);
219
+ }
220
+
221
+ return value;
222
+ };
223
+
224
+ exports.formatNumber = formatNumber;
225
+
226
+ var getHumanNumber = function getHumanNumber(value, numberFormat) {
227
+ var num = value;
228
+
229
+ var _ref3 = numberFormat ? formatNumber(num, _objectSpread(_objectSpread({}, numberFormat || {}), {}, {
230
+ returnAria: true
231
+ })) : {
232
+ aria: null
233
+ },
234
+ humanNumber = _ref3.aria;
235
+
236
+ return String(humanNumber || value);
237
+ };
238
+
239
+ exports.getHumanNumber = getHumanNumber;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Web Slider Component
3
+ *
4
+ */
5
+ /// <reference types="react" />
6
+ export declare function SliderInstance(): JSX.Element;
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.assign.js");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SliderInstance = SliderInstance;
9
+
10
+ require("core-js/modules/es.regexp.exec.js");
11
+
12
+ require("core-js/modules/es.string.replace.js");
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _componentHelper = require("../../shared/component-helper");
19
+
20
+ var _AlignmentHelper2 = _interopRequireDefault(require("../../shared/AlignmentHelper"));
21
+
22
+ var _SpacingHelper = require("../space/SpacingHelper");
23
+
24
+ var _SkeletonHelper = require("../skeleton/SkeletonHelper");
25
+
26
+ var _Context = _interopRequireDefault(require("../../shared/Context"));
27
+
28
+ var _Suffix = _interopRequireDefault(require("../../shared/helpers/Suffix"));
29
+
30
+ var _Button = _interopRequireDefault(require("../button/Button"));
31
+
32
+ var _FormLabel = _interopRequireDefault(require("../form-label/FormLabel"));
33
+
34
+ var _FormStatus = _interopRequireDefault(require("../form-status/FormStatus"));
35
+
36
+ var _SliderTrack = require("./SliderTrack");
37
+
38
+ var _SliderThumb = require("./SliderThumb");
39
+
40
+ var _useSliderProps5 = require("./hooks/useSliderProps");
41
+
42
+ var _SliderHelpers = require("./SliderHelpers");
43
+
44
+ var _SubtractButton, _AddButton, _AlignmentHelper, _SliderMainTrack, _SliderSuffix;
45
+
46
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
47
+
48
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
49
+
50
+ function SliderInstance() {
51
+ var context = _react.default.useContext(_Context.default);
52
+
53
+ var _useSliderProps = (0, _useSliderProps5.useSliderProps)(),
54
+ isReverse = _useSliderProps.isReverse,
55
+ isVertical = _useSliderProps.isVertical,
56
+ showButtons = _useSliderProps.showButtons,
57
+ showStatus = _useSliderProps.showStatus,
58
+ allProps = _useSliderProps.allProps;
59
+
60
+ var id = allProps.id,
61
+ label = allProps.label,
62
+ labelSrOnly = allProps.labelSrOnly,
63
+ labelDirection = allProps.labelDirection,
64
+ status = allProps.status,
65
+ statusProps = allProps.statusProps,
66
+ statusState = allProps.statusState,
67
+ statusNoAnimation = allProps.statusNoAnimation,
68
+ globalStatusId = allProps.globalStatusId,
69
+ stretch = allProps.stretch,
70
+ skeleton = allProps.skeleton,
71
+ disabled = allProps.disabled,
72
+ className = allProps.className;
73
+ var mainParams = {
74
+ className: (0, _classnames.default)("dnb-slider dnb-form-component", (0, _SkeletonHelper.createSkeletonClass)(null, skeleton), (0, _SpacingHelper.createSpacingClasses)(allProps), className, isReverse && 'dnb-slider--reverse', isVertical && 'dnb-slider--vertical', disabled && 'dnb-slider__state--disabled', !showButtons && 'dnb-slider--no-buttons', (0, _componentHelper.isTrue)(stretch) && 'dnb-slider--stretch', label && labelDirection && "dnb-slider__label--".concat(labelDirection), showStatus && 'dnb-slider__form-status', status && "dnb-slider__status--".concat(statusState))
75
+ };
76
+ var subtractButton = showButtons ? _SubtractButton || (_SubtractButton = _react.default.createElement(SubtractButton, null)) : null;
77
+ var addButton = showButtons ? _AddButton || (_AddButton = _react.default.createElement(AddButton, null)) : null;
78
+ (0, _SkeletonHelper.skeletonDOMAttributes)(mainParams, skeleton, context);
79
+ return _react.default.createElement("span", mainParams, label && _react.default.createElement(_FormLabel.default, {
80
+ id: id + '-label',
81
+ text: label,
82
+ disabled: disabled,
83
+ skeleton: skeleton,
84
+ label_direction: labelDirection,
85
+ sr_only: labelSrOnly
86
+ }), _react.default.createElement("span", {
87
+ className: "dnb-slider__wrapper"
88
+ }, _AlignmentHelper || (_AlignmentHelper = _react.default.createElement(_AlignmentHelper2.default, null)), _react.default.createElement(_FormStatus.default, _extends({
89
+ show: showStatus,
90
+ id: id + '-form-status',
91
+ global_status_id: globalStatusId,
92
+ label: label,
93
+ text_id: id + '-status',
94
+ text: status,
95
+ status: statusState,
96
+ no_animation: statusNoAnimation,
97
+ skeleton: skeleton
98
+ }, statusProps)), _react.default.createElement("span", {
99
+ className: "dnb-slider__inner"
100
+ }, showButtons && (isReverse ? addButton : subtractButton), _SliderMainTrack || (_SliderMainTrack = _react.default.createElement(_SliderTrack.SliderMainTrack, null, _react.default.createElement(_SliderThumb.SliderThumb, null), _react.default.createElement(_SliderTrack.SliderTrackBefore, null), _react.default.createElement(_SliderTrack.SliderTrackAfter, null))), showButtons && (isReverse ? subtractButton : addButton), _SliderSuffix || (_SliderSuffix = _react.default.createElement(SliderSuffix, null)))));
101
+ }
102
+
103
+ function SliderSuffix() {
104
+ var _useSliderProps2 = (0, _useSliderProps5.useSliderProps)(),
105
+ allProps = _useSliderProps2.allProps;
106
+
107
+ var id = allProps.id,
108
+ suffix = allProps.suffix;
109
+ return suffix ? _react.default.createElement(_Suffix.default, {
110
+ className: "dnb-slider__suffix",
111
+ id: id + '-suffix',
112
+ context: allProps
113
+ }, suffix) : null;
114
+ }
115
+
116
+ function SubtractButton() {
117
+ var _useSliderProps3 = (0, _useSliderProps5.useSliderProps)(),
118
+ emitChange = _useSliderProps3.emitChange,
119
+ value = _useSliderProps3.value,
120
+ attributes = _useSliderProps3.attributes,
121
+ allProps = _useSliderProps3.allProps;
122
+
123
+ var step = allProps.step,
124
+ min = allProps.min,
125
+ max = allProps.max,
126
+ disabled = allProps.disabled,
127
+ skeleton = allProps.skeleton,
128
+ subtractTitle = allProps.subtractTitle,
129
+ numberFormat = allProps.numberFormat;
130
+
131
+ var onSubtractClickHandler = function onSubtractClickHandler(event) {
132
+ emitChange(event, (0, _SliderHelpers.clamp)(value - (step || 1), min, max));
133
+ };
134
+
135
+ var subtractParams = {};
136
+
137
+ if (typeof attributes['aria-hidden'] !== 'undefined') {
138
+ subtractParams['aria-hidden'] = attributes['aria-hidden'];
139
+ }
140
+
141
+ var humanNumber = (0, _SliderHelpers.getHumanNumber)(value, numberFormat);
142
+ return _react.default.createElement(_Button.default, _extends({
143
+ className: "dnb-slider__button dnb-slider__button--subtract",
144
+ variant: "secondary",
145
+ icon: "subtract",
146
+ size: "small",
147
+ "aria-label": subtractTitle === null || subtractTitle === void 0 ? void 0 : subtractTitle.replace('%s', humanNumber),
148
+ on_click: onSubtractClickHandler,
149
+ disabled: disabled,
150
+ skeleton: skeleton
151
+ }, subtractParams));
152
+ }
153
+
154
+ function AddButton() {
155
+ var _useSliderProps4 = (0, _useSliderProps5.useSliderProps)(),
156
+ emitChange = _useSliderProps4.emitChange,
157
+ value = _useSliderProps4.value,
158
+ attributes = _useSliderProps4.attributes,
159
+ allProps = _useSliderProps4.allProps;
160
+
161
+ var step = allProps.step,
162
+ min = allProps.min,
163
+ max = allProps.max,
164
+ disabled = allProps.disabled,
165
+ skeleton = allProps.skeleton,
166
+ addTitle = allProps.addTitle,
167
+ numberFormat = allProps.numberFormat;
168
+
169
+ var onAddClickHandler = function onAddClickHandler(event) {
170
+ emitChange(event, (0, _SliderHelpers.clamp)(value + (step || 1), min, max));
171
+ };
172
+
173
+ var addParams = {};
174
+
175
+ if (typeof attributes['aria-hidden'] !== 'undefined') {
176
+ addParams['aria-hidden'] = attributes['aria-hidden'];
177
+ }
178
+
179
+ var humanNumber = (0, _SliderHelpers.getHumanNumber)(value, numberFormat);
180
+ return _react.default.createElement(_Button.default, _extends({
181
+ className: "dnb-slider__button dnb-slider__button--add",
182
+ variant: "secondary",
183
+ icon: "add",
184
+ size: "small",
185
+ "aria-label": addTitle === null || addTitle === void 0 ? void 0 : addTitle.replace('%s', humanNumber),
186
+ on_click: onAddClickHandler,
187
+ disabled: disabled,
188
+ skeleton: skeleton
189
+ }, addParams));
190
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { SliderProps, SliderContextTypes } from './types';
3
+ export declare const SliderContext: React.Context<SliderContextTypes>;
4
+ export declare function SliderProvider(localProps: SliderProps): JSX.Element;