intelicoreact 1.0.44 → 1.0.46

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 (49) hide show
  1. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +2 -2
  2. package/dist/Atomic/FormElements/FileLoader/FileLoader.scss +5 -1
  3. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +2 -2
  4. package/dist/Atomic/FormElements/Input/Input.js +2 -2
  5. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +2 -2
  6. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +2 -2
  7. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +3 -3
  8. package/dist/Atomic/FormElements/InputMask/InputMask.js +2 -2
  9. package/dist/Atomic/FormElements/InputMask/functions.js +1 -1
  10. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +2 -2
  11. package/dist/Atomic/FormElements/InputMask2/functions.js +1 -1
  12. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +2 -2
  13. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +2 -2
  14. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +2 -2
  15. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +2 -2
  16. package/dist/Atomic/FormElements/RangeList/RangeList.js +2 -2
  17. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +2 -2
  18. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider.stories.scss +34 -0
  19. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +917 -0
  20. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.scss +445 -0
  21. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +2 -2
  22. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +2 -2
  23. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +2 -2
  24. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +1 -1
  25. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +3 -3
  26. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +3 -3
  27. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +2 -2
  28. package/dist/Atomic/UI/Chart/partial/utils.js +3 -3
  29. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +2 -2
  30. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +1 -1
  31. package/dist/Atomic/UI/NavLine/NavLine.js +2 -2
  32. package/dist/Atomic/UI/PriceRange/PriceRange.js +1 -1
  33. package/dist/Atomic/UI/Table/Partials/TdCell.js +2 -2
  34. package/dist/Atomic/UI/Table/Partials/TdRow.js +2 -2
  35. package/dist/Atomic/UI/TagList/TagList.js +2 -2
  36. package/dist/Classes/AbortableFetch.js +2 -2
  37. package/dist/Classes/AnimatedHandler.js +4 -4
  38. package/dist/Constants/index.constants.js +1 -1
  39. package/dist/Functions/fieldValueFormatters.js +2 -1
  40. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +2 -2
  41. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +2 -2
  42. package/dist/Functions/useFormTools/functions/General.js +2 -2
  43. package/dist/Functions/useFormTools/functions/RenderFields.js +2 -2
  44. package/dist/Functions/useFormTools/index.js +2 -2
  45. package/dist/Functions/useInputHighlightError.js +1 -1
  46. package/dist/Functions/useLocationParams.js +2 -2
  47. package/dist/Functions/usePasswordChecker.js +2 -2
  48. package/dist/Functions/utils.js +13 -2
  49. package/package.json +1 -1
@@ -0,0 +1,917 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = RangeSlider2;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _reactFeather = require("react-feather");
21
+
22
+ var _classnames = _interopRequireDefault(require("classnames"));
23
+
24
+ require("./RangeSlider2.scss");
25
+
26
+ var _utils = require("../../../Functions/utils");
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
+
34
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
+
36
+ var COMPONENT_CLASS = 'range-slider2';
37
+
38
+ var _Object$freeze = Object.freeze({
39
+ NO_COLLISION: 0,
40
+ LEFT_COLLISSION: -1,
41
+ RIGHT_COLLISION: 1,
42
+ BOTH_COLLISION: 2
43
+ }),
44
+ LEFT_COLLISSION = _Object$freeze.LEFT_COLLISSION,
45
+ RIGHT_COLLISION = _Object$freeze.RIGHT_COLLISION,
46
+ BOTH_COLLISION = _Object$freeze.BOTH_COLLISION,
47
+ NO_COLLISION = _Object$freeze.NO_COLLISION;
48
+
49
+ var _Object$freeze2 = Object.freeze({
50
+ ASSIGN_TO_LEFT: -1,
51
+ ASSIGN_TO_RIGHT: 1
52
+ }),
53
+ ASSIGN_TO_LEFT = _Object$freeze2.ASSIGN_TO_LEFT,
54
+ ASSIGN_TO_RIGHT = _Object$freeze2.ASSIGN_TO_RIGHT;
55
+
56
+ function RangeSlider2(_ref) {
57
+ var _ref$min = _ref.min,
58
+ min = _ref$min === void 0 ? 300 : _ref$min,
59
+ _ref$max = _ref.max,
60
+ max = _ref$max === void 0 ? 850 : _ref$max,
61
+ _ref$minRange = _ref.minRange,
62
+ minRange = _ref$minRange === void 0 ? 50 : _ref$minRange,
63
+ _ref$precision = _ref.precision,
64
+ precision = _ref$precision === void 0 ? 0 : _ref$precision,
65
+ _ref$step = _ref.step,
66
+ step = _ref$step === void 0 ? 5 : _ref$step,
67
+ className = _ref.className,
68
+ _ref$value = _ref.value,
69
+ value = _ref$value === void 0 ? [] : _ref$value,
70
+ _ref$onChange = _ref.onChange,
71
+ onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
72
+ _ref$transformDataOnC = _ref.transformDataOnConcat,
73
+ transformDataOnConcat = _ref$transformDataOnC === void 0 ? function (d1, d2) {
74
+ return [];
75
+ } : _ref$transformDataOnC;
76
+
77
+ var _useState = (0, _react.useState)([]),
78
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
79
+ protectedValue = _useState2[0],
80
+ setProtectedValue = _useState2[1];
81
+
82
+ var trackRef = (0, _react.useRef)(null);
83
+ var addTriggerRef = (0, _react.useRef)(null);
84
+
85
+ var _useState3 = (0, _react.useState)(0),
86
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
87
+ trackWidth = _useState4[0],
88
+ setTrackWidth = _useState4[1];
89
+
90
+ var _useState5 = (0, _react.useState)(0),
91
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
92
+ trackPosition = _useState6[0],
93
+ setTrackPosition = _useState6[1];
94
+
95
+ var _useState7 = (0, _react.useState)(0),
96
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
97
+ mouseTrackPosition = _useState8[0],
98
+ setMouseTrackPosition = _useState8[1];
99
+
100
+ var prepareValue = function prepareValue(value) {
101
+ return parseInt(parseFloat(value) * Math.pow(10, precision)) / Math.pow(10, precision);
102
+ };
103
+
104
+ var _useState9 = (0, _react.useState)(value),
105
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
106
+ ranges = _useState10[0],
107
+ setRanges = _useState10[1];
108
+
109
+ var addRange = function addRange(_ref2) {
110
+ var from = _ref2.from,
111
+ to = _ref2.to,
112
+ label = _ref2.label,
113
+ value = _ref2.value,
114
+ data = _ref2.data,
115
+ _ref2$id = _ref2.id,
116
+ id = _ref2$id === void 0 ? null : _ref2$id;
117
+ return setRanges(function (ranges) {
118
+ if (!id) {
119
+ id = ((ranges === null || ranges === void 0 ? void 0 : ranges.length) + 1) * -1;
120
+ }
121
+
122
+ return [].concat((0, _toConsumableArray2.default)(ranges), [{
123
+ id: id,
124
+ from: from,
125
+ to: to,
126
+ label: label,
127
+ data: data,
128
+ value: Number.isInteger(value) ? value : 0
129
+ }]).sort(function (a, b) {
130
+ return a.from - b.from;
131
+ });
132
+ });
133
+ };
134
+
135
+ var updateRange = function updateRange(_ref3) {
136
+ var from = _ref3.from,
137
+ to = _ref3.to,
138
+ label = _ref3.label,
139
+ value = _ref3.value,
140
+ data = _ref3.data,
141
+ id = _ref3.id;
142
+ return setRanges(function (ranges) {
143
+ var newRanges = (0, _toConsumableArray2.default)(ranges);
144
+ var range = newRanges === null || newRanges === void 0 ? void 0 : newRanges.find(function (_ref4) {
145
+ var rangeId = _ref4.id;
146
+ return rangeId === id;
147
+ });
148
+
149
+ if (range) {
150
+ range.from = from !== null && from !== void 0 ? from : range === null || range === void 0 ? void 0 : range.from;
151
+ range.to = to !== null && to !== void 0 ? to : range === null || range === void 0 ? void 0 : range.to;
152
+ range.label = label !== null && label !== void 0 ? label : range === null || range === void 0 ? void 0 : range.label;
153
+ range.value = value !== undefined ? Number.isInteger(value) ? value : 0 : range === null || range === void 0 ? void 0 : range.value;
154
+ range.data = data;
155
+ }
156
+
157
+ return newRanges;
158
+ });
159
+ };
160
+
161
+ var updateRangesByTrigger = function updateRangesByTrigger(trigger) {
162
+ var _triggers$find;
163
+
164
+ var newValue = triggers === null || triggers === void 0 ? void 0 : (_triggers$find = triggers.find(function (_ref5) {
165
+ var id = _ref5.id;
166
+ return id === (trigger === null || trigger === void 0 ? void 0 : trigger.id);
167
+ })) === null || _triggers$find === void 0 ? void 0 : _triggers$find.value;
168
+ var oldValue = trigger === null || trigger === void 0 ? void 0 : trigger.value;
169
+ var leftRange = ranges === null || ranges === void 0 ? void 0 : ranges.find(function (range) {
170
+ return (range === null || range === void 0 ? void 0 : range.to) === oldValue;
171
+ });
172
+ var rightRange = ranges === null || ranges === void 0 ? void 0 : ranges.find(function (range) {
173
+ return (range === null || range === void 0 ? void 0 : range.from) === oldValue + 1;
174
+ });
175
+
176
+ if (leftRange && rightRange) {
177
+ updateRange({
178
+ from: leftRange === null || leftRange === void 0 ? void 0 : leftRange.from,
179
+ to: newValue,
180
+ id: leftRange === null || leftRange === void 0 ? void 0 : leftRange.id
181
+ });
182
+ updateRange({
183
+ from: newValue + 1,
184
+ to: rightRange === null || rightRange === void 0 ? void 0 : rightRange.to,
185
+ id: rightRange === null || rightRange === void 0 ? void 0 : rightRange.id
186
+ });
187
+ }
188
+ };
189
+
190
+ var splitRange = function splitRange(score) {
191
+ var range = ranges === null || ranges === void 0 ? void 0 : ranges.find(function (_ref6) {
192
+ var from = _ref6.from,
193
+ to = _ref6.to;
194
+ return from + minRange <= score + 1 && score <= to - minRange;
195
+ });
196
+ if (!range) return;
197
+
198
+ var _ref7 = addTriggerFixedRange || {},
199
+ _ref7$value = _ref7.value,
200
+ value = _ref7$value === void 0 ? 0 : _ref7$value,
201
+ label = _ref7.label,
202
+ data = _ref7.data;
203
+
204
+ addRange({
205
+ value: assignValueToRange === ASSIGN_TO_RIGHT ? value : 0,
206
+ data: assignValueToRange === ASSIGN_TO_RIGHT ? data : null,
207
+ label: label,
208
+ from: score + 1,
209
+ to: range === null || range === void 0 ? void 0 : range.to,
210
+ id: null
211
+ });
212
+ updateRange(_objectSpread(_objectSpread({}, range), {}, {
213
+ value: assignValueToRange === ASSIGN_TO_LEFT ? value : 0,
214
+ data: assignValueToRange === ASSIGN_TO_LEFT ? data : null,
215
+ label: label,
216
+ to: score
217
+ }));
218
+ if (isAddTriggerFixed) unfixAddTrigger();
219
+ };
220
+
221
+ var concatRanges = function concatRanges(score) {
222
+ var _ranges$filter = ranges === null || ranges === void 0 ? void 0 : ranges.filter(function (_ref8) {
223
+ var from = _ref8.from,
224
+ to = _ref8.to;
225
+ return from === score + 1 || score === to;
226
+ }),
227
+ _ranges$filter2 = (0, _slicedToArray2.default)(_ranges$filter, 2),
228
+ left = _ranges$filter2[0],
229
+ right = _ranges$filter2[1];
230
+
231
+ var _transformDataOnConca = transformDataOnConcat(left, right),
232
+ data = _transformDataOnConca.data,
233
+ value = _transformDataOnConca.value;
234
+
235
+ updateRange({
236
+ from: left === null || left === void 0 ? void 0 : left.from,
237
+ to: right === null || right === void 0 ? void 0 : right.to,
238
+ id: left === null || left === void 0 ? void 0 : left.id,
239
+ data: data,
240
+ value: value
241
+ });
242
+ removeRange(right === null || right === void 0 ? void 0 : right.id);
243
+ };
244
+
245
+ var removeRange = function removeRange(id) {
246
+ return setRanges(function (ranges) {
247
+ return ranges === null || ranges === void 0 ? void 0 : ranges.filter(function (range) {
248
+ return (range === null || range === void 0 ? void 0 : range.id) !== id;
249
+ });
250
+ });
251
+ };
252
+
253
+ var clearRanges = function clearRanges() {
254
+ return setRanges([]);
255
+ };
256
+
257
+ var _useState11 = (0, _react.useState)([]),
258
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
259
+ triggers = _useState12[0],
260
+ setTriggers = _useState12[1];
261
+
262
+ var addTrigger = function addTrigger(value) {
263
+ var _ref9 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
264
+ _ref9$isFixed = _ref9.isFixed,
265
+ isFixed = _ref9$isFixed === void 0 ? false : _ref9$isFixed,
266
+ _ref9$isHidden = _ref9.isHidden,
267
+ isHidden = _ref9$isHidden === void 0 ? false : _ref9$isHidden;
268
+
269
+ var _ref10 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
270
+ _ref10$withRange = _ref10.withRange,
271
+ withRange = _ref10$withRange === void 0 ? true : _ref10$withRange;
272
+
273
+ var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : triggers.length;
274
+ return setTriggers(function (state) {
275
+ if (withRange) splitRange(value);
276
+ var newState = (0, _toConsumableArray2.default)(state);
277
+ var id = state !== null && state !== void 0 && state.length ? Math.max.apply(Math, (0, _toConsumableArray2.default)(state === null || state === void 0 ? void 0 : state.map(function (_ref11) {
278
+ var id = _ref11.id;
279
+ return id;
280
+ }))) + 1 : 0;
281
+ newState.splice(index, 0, {
282
+ id: id,
283
+ value: value,
284
+ isFixed: isFixed,
285
+ isHidden: isHidden
286
+ });
287
+ return newState.sort(function (a, b) {
288
+ return a.value < b.value ? -1 : 1;
289
+ });
290
+ });
291
+ };
292
+
293
+ var updateTrigger = function updateTrigger(index, value) {
294
+ return setTriggers(function (state) {
295
+ var newState = (0, _toConsumableArray2.default)(state);
296
+ newState[index] = _objectSpread(_objectSpread({}, newState[index]), {}, {
297
+ value: value
298
+ });
299
+ return newState;
300
+ });
301
+ };
302
+
303
+ var removeTrigger = function removeTrigger(index) {
304
+ return setTriggers(function (state) {
305
+ var _state$index;
306
+
307
+ concatRanges((_state$index = state[index]) === null || _state$index === void 0 ? void 0 : _state$index.value);
308
+ var newState = (0, _toConsumableArray2.default)(state);
309
+ newState.splice(index, 1);
310
+ return newState;
311
+ });
312
+ };
313
+
314
+ var clearTriggers = function clearTriggers() {
315
+ return setTriggers([]);
316
+ };
317
+
318
+ var getTriggerByScore = function getTriggerByScore(score) {
319
+ return triggers === null || triggers === void 0 ? void 0 : triggers.find(function (_ref12) {
320
+ var triggerScore = _ref12.value;
321
+ return triggerScore === score;
322
+ });
323
+ };
324
+
325
+ var _useState13 = (0, _react.useState)(null),
326
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
327
+ movingController = _useState14[0],
328
+ setMovingController = _useState14[1];
329
+
330
+ var _useState15 = (0, _react.useState)(null),
331
+ _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
332
+ movingTrigger = _useState16[0],
333
+ setMovingTrigger = _useState16[1];
334
+
335
+ var _useState17 = (0, _react.useState)(null),
336
+ _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
337
+ movingTriggerIndex = _useState18[0],
338
+ setMovingTriggerIndex = _useState18[1];
339
+
340
+ var _useState19 = (0, _react.useState)(null),
341
+ _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
342
+ movingTriggerData = _useState20[0],
343
+ setMovingTriggerData = _useState20[1];
344
+
345
+ var _useState21 = (0, _react.useState)(false),
346
+ _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
347
+ isTriggerMoved = _useState22[0],
348
+ setIsTriggerMoved = _useState22[1];
349
+
350
+ var _useState23 = (0, _react.useState)(false),
351
+ _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
352
+ isMouseOverTrigger = _useState24[0],
353
+ setIsMouseOverTrigger = _useState24[1];
354
+
355
+ var setMouseOverTrigger = function setMouseOverTrigger() {
356
+ return setIsMouseOverTrigger(true);
357
+ };
358
+
359
+ var setMouseLeaveTrigger = function setMouseLeaveTrigger() {
360
+ return setIsMouseOverTrigger(false);
361
+ };
362
+
363
+ var _useState25 = (0, _react.useState)(false),
364
+ _useState26 = (0, _slicedToArray2.default)(_useState25, 2),
365
+ isMouseOverTrack = _useState26[0],
366
+ setIsMouseOverTrack = _useState26[1];
367
+
368
+ var setMouseOverTrack = function setMouseOverTrack() {
369
+ return setIsMouseOverTrack(true);
370
+ };
371
+
372
+ var setMouseLeaveTrack = function setMouseLeaveTrack() {
373
+ return setIsMouseOverTrack(false);
374
+ };
375
+
376
+ var isTriggerMoving = function isTriggerMoving(triggerIndex) {
377
+ return triggerIndex === movingTriggerIndex;
378
+ };
379
+
380
+ var _useState27 = (0, _react.useState)(null),
381
+ _useState28 = (0, _slicedToArray2.default)(_useState27, 2),
382
+ addTriggerFixedScore = _useState28[0],
383
+ setAddTriggerFixedScore = _useState28[1];
384
+
385
+ var _useState29 = (0, _react.useState)(null),
386
+ _useState30 = (0, _slicedToArray2.default)(_useState29, 2),
387
+ addTriggerFixedRange = _useState30[0],
388
+ setAddTriggerFixedRange = _useState30[1];
389
+
390
+ var _useState31 = (0, _react.useState)(false),
391
+ _useState32 = (0, _slicedToArray2.default)(_useState31, 2),
392
+ isAddTriggerFixed = _useState32[0],
393
+ setIsAddTriggerFixed = _useState32[1];
394
+
395
+ var _useState33 = (0, _react.useState)(ASSIGN_TO_LEFT),
396
+ _useState34 = (0, _slicedToArray2.default)(_useState33, 2),
397
+ assignValueToRange = _useState34[0],
398
+ setAssignValueToRange = _useState34[1];
399
+
400
+ var fixAddTrigger = function fixAddTrigger(score, inRange) {
401
+ setAddTriggerFixedScore(score);
402
+ setAddTriggerFixedRange(inRange);
403
+ setIsAddTriggerFixed(true);
404
+ };
405
+
406
+ var unfixAddTrigger = function unfixAddTrigger(e) {
407
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
408
+ e === null || e === void 0 ? void 0 : e.preventDefault();
409
+ setAddTriggerFixedScore(null);
410
+ setAddTriggerFixedRange(null);
411
+ setIsAddTriggerFixed(false);
412
+ setAssignValueToRange(ASSIGN_TO_LEFT);
413
+ };
414
+
415
+ var _useState35 = (0, _react.useState)(0),
416
+ _useState36 = (0, _slicedToArray2.default)(_useState35, 2),
417
+ pointsPerPx = _useState36[0],
418
+ setPointsPerPx = _useState36[1];
419
+
420
+ var countPointsPerPx = function countPointsPerPx(width) {
421
+ return (max - min) / width;
422
+ }; // GETTERS //
423
+
424
+
425
+ var getTrackXByScore = function getTrackXByScore(score) {
426
+ return (score - min) / pointsPerPx;
427
+ };
428
+
429
+ var getScoreByX = function getScoreByX(x) {
430
+ var points = (x - trackPosition) * pointsPerPx + min;
431
+ points -= points % step;
432
+ if (points < min) points = min;
433
+ if (points > max) points = max;
434
+ return points;
435
+ };
436
+
437
+ var getTriggerCollisionDirection = function getTriggerCollisionDirection(index, points) {
438
+ var _triggers, _triggers2;
439
+
440
+ if (index <= 0) return points;
441
+ var triggerBefore = (triggers === null || triggers === void 0 ? void 0 : (_triggers = triggers[index - 1]) === null || _triggers === void 0 ? void 0 : _triggers.value) + minRange,
442
+ triggerAfter = (triggers === null || triggers === void 0 ? void 0 : (_triggers2 = triggers[index + 1]) === null || _triggers2 === void 0 ? void 0 : _triggers2.value) - minRange;
443
+ if (triggerBefore === triggerAfter) return BOTH_COLLISION;else if (points === triggerBefore) return LEFT_COLLISSION;else if (points === triggerAfter) return RIGHT_COLLISION;else return NO_COLLISION;
444
+ };
445
+
446
+ var getTriggerScore = function getTriggerScore(index, points) {
447
+ var _triggers3, _triggers4;
448
+
449
+ if (index <= 0) return points;
450
+ var triggerBefore = (triggers === null || triggers === void 0 ? void 0 : (_triggers3 = triggers[index - 1]) === null || _triggers3 === void 0 ? void 0 : _triggers3.value) + minRange,
451
+ triggerAfter = (triggers === null || triggers === void 0 ? void 0 : (_triggers4 = triggers[index + 1]) === null || _triggers4 === void 0 ? void 0 : _triggers4.value) - minRange;
452
+ if (points < triggerBefore) return triggerBefore;else if (points > triggerAfter) return triggerAfter;else return points;
453
+ };
454
+
455
+ var getAddTriggerCollisionDirection = function getAddTriggerCollisionDirection(x) {
456
+ var triggerScore = getAddTriggerScore(x);
457
+ var inRange = getInRange(triggerScore);
458
+ if (!inRange) return 0;
459
+ var from = inRange.from,
460
+ to = inRange.to;
461
+ var triggerBefore = from === min ? from + minRange : from + minRange - 1;
462
+ var triggerAfter = to - minRange;
463
+ if (triggerBefore === triggerAfter) return BOTH_COLLISION;else if (triggerScore <= triggerBefore) return LEFT_COLLISSION;else if (triggerScore >= triggerAfter) return RIGHT_COLLISION;else return NO_COLLISION;
464
+ };
465
+
466
+ var getAddTriggerPosition = function getAddTriggerPosition() {
467
+ return isAddTriggerFixed ? getTrackXByScore(addTriggerFixedScore) : mouseTrackPosition;
468
+ };
469
+
470
+ var getAddTriggerScore = function getAddTriggerScore(x) {
471
+ var _getRangesList;
472
+
473
+ var score = getScoreByX(x);
474
+ var result = (_getRangesList = getRangesList()) === null || _getRangesList === void 0 ? void 0 : _getRangesList.reduce(function (result, _ref13) {
475
+ var from = _ref13.from,
476
+ to = _ref13.to;
477
+
478
+ if (to - from + 1 <= 2 * minRange && from <= score && score <= to) {
479
+ return null;
480
+ }
481
+
482
+ if (from <= score && score <= from + minRange) {
483
+ return from + minRange;
484
+ } else if (to - minRange <= score && score <= to) {
485
+ return to - minRange;
486
+ } else {
487
+ return result;
488
+ }
489
+ }, score);
490
+
491
+ if (!result) {
492
+ var _getRangesList2, _getRangesList2$filte;
493
+
494
+ var closestRange = (_getRangesList2 = getRangesList()) === null || _getRangesList2 === void 0 ? void 0 : (_getRangesList2$filte = _getRangesList2.filter(function (_ref14) {
495
+ var from = _ref14.from,
496
+ to = _ref14.to;
497
+ return to - from + 1 >= 2 * minRange;
498
+ })) === null || _getRangesList2$filte === void 0 ? void 0 : _getRangesList2$filte.reduce(function (result, range) {
499
+ var distance = Math.abs((range.to + range.from) / 2 - score);
500
+
501
+ if (!result || distance < (result === null || result === void 0 ? void 0 : result.distance)) {
502
+ return _objectSpread(_objectSpread({}, range), {}, {
503
+ distance: distance
504
+ });
505
+ }
506
+
507
+ return result;
508
+ }, null);
509
+
510
+ if (closestRange) {
511
+ if ((closestRange === null || closestRange === void 0 ? void 0 : closestRange.to) < score) result = (closestRange === null || closestRange === void 0 ? void 0 : closestRange.to) - minRange;
512
+ if (score < (closestRange === null || closestRange === void 0 ? void 0 : closestRange.from)) result = (closestRange === null || closestRange === void 0 ? void 0 : closestRange.from) + minRange;
513
+ }
514
+ }
515
+
516
+ return result;
517
+ };
518
+
519
+ var getRangesList = function getRangesList() {
520
+ return triggers.map(function (_ref15) {
521
+ var value = _ref15.value;
522
+ return value;
523
+ }).sort().reduce(function (result, score, i, scores) {
524
+ if (i !== 0) {
525
+ result.push({
526
+ from: scores[i - 1],
527
+ to: score
528
+ });
529
+ }
530
+
531
+ return result;
532
+ }, []);
533
+ };
534
+
535
+ var getInRange = function getInRange(score) {
536
+ return ranges === null || ranges === void 0 ? void 0 : ranges.find(function (_ref16) {
537
+ var from = _ref16.from,
538
+ to = _ref16.to;
539
+ return from <= score && score <= to;
540
+ });
541
+ }; // EVENTS //
542
+
543
+
544
+ var onRangeChange = function onRangeChange(index, value) {
545
+ var validate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
546
+ if (validate) value = prepareValue(value);
547
+ if (isNaN(value)) value = 0;
548
+ updateTrigger(index, value);
549
+ };
550
+
551
+ var onTriggerMouseDown = function onTriggerMouseDown(e, index) {
552
+ setMovingTrigger(e.target);
553
+ setMovingTriggerIndex(index);
554
+ setMovingTriggerData(_objectSpread({}, triggers[index]));
555
+ };
556
+
557
+ var onTriggerMove = function onTriggerMove(e) {
558
+ e.preventDefault();
559
+ e.stopPropagation();
560
+
561
+ if (!movingTriggerIndex || !movingTrigger) {
562
+ return false;
563
+ }
564
+
565
+ if (!isTriggerMoved) setIsTriggerMoved(true);
566
+ var x = e.clientX;
567
+
568
+ var _ref17 = (movingTrigger === null || movingTrigger === void 0 ? void 0 : movingTrigger.getBoundingClientRect()) || {},
569
+ triggerWidth = _ref17.width;
570
+
571
+ if (x < trackPosition || x > trackPosition + trackWidth + triggerWidth) return false;
572
+ var triggerPoints = getTriggerScore(movingTriggerIndex, getScoreByX(x));
573
+ onRangeChange(movingTriggerIndex, triggerPoints);
574
+ };
575
+
576
+ var resetMovingTrigger = function resetMovingTrigger() {
577
+ setTimeout(function () {
578
+ setMovingTrigger(null);
579
+ setMovingTriggerIndex(null);
580
+ }, 1);
581
+ }; // USE EFFECT'S //
582
+ // MouseUp Event Controller
583
+
584
+
585
+ (0, _react.useEffect)(function () {
586
+ document.addEventListener('mouseup', resetMovingTrigger);
587
+ return function () {
588
+ document.removeEventListener('mouseup', resetMovingTrigger);
589
+ };
590
+ }, []); // MouseMove Event Controller
591
+
592
+ (0, _react.useEffect)(function () {
593
+ var _body$classList;
594
+
595
+ if (!movingTrigger && isTriggerMoved) {
596
+ movingController === null || movingController === void 0 ? void 0 : movingController.abort();
597
+ setIsTriggerMoved(false);
598
+ setMovingController(null);
599
+ } else if (movingTrigger && !isTriggerMoved) {
600
+ setMovingController(new AbortController());
601
+ }
602
+
603
+ var body = document.getElementsByTagName('body')[0];
604
+ (_body$classList = body.classList) === null || _body$classList === void 0 ? void 0 : _body$classList[movingTrigger ? 'add' : 'remove']('moving-cursor');
605
+ }, [movingTrigger]);
606
+ (0, _react.useEffect)(function () {
607
+ if (movingController) {
608
+ document.addEventListener('mousemove', onTriggerMove, {
609
+ signal: movingController === null || movingController === void 0 ? void 0 : movingController.signal
610
+ });
611
+ }
612
+ }, [movingController]);
613
+ (0, _react.useLayoutEffect)(function () {
614
+ var _trackRef$current;
615
+
616
+ var _ref18 = (trackRef === null || trackRef === void 0 ? void 0 : (_trackRef$current = trackRef.current) === null || _trackRef$current === void 0 ? void 0 : _trackRef$current.getBoundingClientRect()) || {},
617
+ width = _ref18.width,
618
+ x = _ref18.x;
619
+
620
+ setPointsPerPx(countPointsPerPx(width));
621
+ setTrackWidth(width);
622
+ setTrackPosition(x);
623
+ }, [trackRef]);
624
+ (0, _react.useEffect)(function () {
625
+ onChange(ranges, triggers);
626
+ }, [ranges]);
627
+ (0, _react.useEffect)(function () {
628
+ clearRanges();
629
+ clearTriggers();
630
+
631
+ if ((protectedValue === null || protectedValue === void 0 ? void 0 : protectedValue.length) === 0) {
632
+ addRange({
633
+ from: min,
634
+ to: max
635
+ });
636
+ addTrigger(min, {
637
+ isFixed: true,
638
+ isHidden: true
639
+ });
640
+ addTrigger(max, {
641
+ isFixed: true,
642
+ isHidden: true
643
+ });
644
+ } else {
645
+ var _protectedValue$reduc, _protectedValue$reduc2, _protectedValue$reduc3;
646
+
647
+ protectedValue === null || protectedValue === void 0 ? void 0 : (_protectedValue$reduc = protectedValue.reduce(function (result, range) {
648
+ addRange(_objectSpread({}, range));
649
+ if (!result.find(function (score) {
650
+ return score === (range === null || range === void 0 ? void 0 : range.from);
651
+ })) result.splice((result === null || result === void 0 ? void 0 : result.length) - 1, 0, range === null || range === void 0 ? void 0 : range.from);
652
+ if (!result.find(function (score) {
653
+ return score === (range === null || range === void 0 ? void 0 : range.to);
654
+ })) result.splice((result === null || result === void 0 ? void 0 : result.length) - 1, 0, range === null || range === void 0 ? void 0 : range.to);
655
+ return result;
656
+ }, [])) === null || _protectedValue$reduc === void 0 ? void 0 : (_protectedValue$reduc2 = _protectedValue$reduc.sort(function (a, b) {
657
+ return a < b ? -1 : 1;
658
+ })) === null || _protectedValue$reduc2 === void 0 ? void 0 : (_protectedValue$reduc3 = _protectedValue$reduc2.filter(function (item, i, arr) {
659
+ return i === 0 || item - 1 !== arr[i - 1];
660
+ })) === null || _protectedValue$reduc3 === void 0 ? void 0 : _protectedValue$reduc3.map(function (score, i, triggers) {
661
+ if (i === 0 || score - 1 !== triggers[i - 1]) {
662
+ var isExtremum = score === min || score === max;
663
+ addTrigger(score, {
664
+ isFixed: isExtremum,
665
+ isHidden: isExtremum
666
+ }, {
667
+ withRange: false
668
+ });
669
+ }
670
+ });
671
+ }
672
+ }, [protectedValue]);
673
+ (0, _react.useEffect)(function () {
674
+ if (!(0, _utils.compare)(value, protectedValue)) {
675
+ setProtectedValue(value);
676
+ }
677
+ }, [value]);
678
+ (0, _react.useEffect)(function () {
679
+ if (!movingTriggerIndex && movingTriggerData) {
680
+ updateRangesByTrigger(_objectSpread({}, movingTriggerData));
681
+ setMovingTriggerData(null);
682
+ }
683
+ }, [movingTriggerIndex]); // RENDER //
684
+
685
+ var renderCollision = function renderCollision(_ref19) {
686
+ var _trackRef$current$get, _trackRef$current2;
687
+
688
+ var isCollisionVisible = _ref19.isCollisionVisible,
689
+ isLeftCollision = _ref19.isLeftCollision,
690
+ isRightCollision = _ref19.isRightCollision,
691
+ isBothCollision = _ref19.isBothCollision,
692
+ className = _ref19.className;
693
+ var pieces = parseInt((max - min) / minRange);
694
+
695
+ var _ref20 = (_trackRef$current$get = trackRef === null || trackRef === void 0 ? void 0 : (_trackRef$current2 = trackRef.current) === null || _trackRef$current2 === void 0 ? void 0 : _trackRef$current2.getBoundingClientRect()) !== null && _trackRef$current$get !== void 0 ? _trackRef$current$get : {},
696
+ trackWidth = _ref20.width;
697
+
698
+ var collisionWidth = trackWidth / pieces - 4;
699
+ var width = isCollisionVisible ? isBothCollision ? collisionWidth * 2 : isLeftCollision || isRightCollision ? collisionWidth : 0 : 0;
700
+ return /*#__PURE__*/_react.default.createElement("div", {
701
+ className: (0, _classnames.default)('collision', className, {
702
+ 'collision--visible': isCollisionVisible,
703
+ 'collision--left': isLeftCollision && !isBothCollision,
704
+ 'collision--right': isRightCollision && !isBothCollision,
705
+ 'collision--both': isBothCollision
706
+ }),
707
+ style: {
708
+ width: width
709
+ }
710
+ });
711
+ };
712
+
713
+ var renderAddTrackTriggerSettings = function renderAddTrackTriggerSettings() {
714
+ var _ref21 = addTriggerFixedRange || {},
715
+ label = _ref21.label,
716
+ value = _ref21.value;
717
+
718
+ return /*#__PURE__*/_react.default.createElement("div", {
719
+ className: "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger__settings")
720
+ }, /*#__PURE__*/_react.default.createElement("div", {
721
+ className: "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger__settings-body")
722
+ }, /*#__PURE__*/_react.default.createElement("div", {
723
+ className: "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger__settings-body--assign-left"),
724
+ onClick: function onClick(e) {
725
+ e.stopPropagation();
726
+ setAssignValueToRange(ASSIGN_TO_LEFT);
727
+ },
728
+ "attr-is-active": "".concat(assignValueToRange === ASSIGN_TO_LEFT)
729
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronLeft, null)), /*#__PURE__*/_react.default.createElement("div", {
730
+ className: "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger__settings-body--lenders-count")
731
+ }, label, value), /*#__PURE__*/_react.default.createElement("div", {
732
+ className: "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger__settings-body--assign-right"),
733
+ onClick: function onClick(e) {
734
+ e.stopPropagation();
735
+ setAssignValueToRange(ASSIGN_TO_RIGHT);
736
+ },
737
+ "attr-is-active": "".concat(assignValueToRange === ASSIGN_TO_RIGHT)
738
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronRight, null))), /*#__PURE__*/_react.default.createElement("div", {
739
+ className: "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger__settings-actions")
740
+ }, /*#__PURE__*/_react.default.createElement("div", {
741
+ className: "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger__settings-actions--cancel"),
742
+ onClick: function onClick(e) {
743
+ return unfixAddTrigger(e);
744
+ }
745
+ }, "Cancel"), /*#__PURE__*/_react.default.createElement("div", {
746
+ className: "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger__settings-actions--apply"),
747
+ onClick: function onClick(e) {
748
+ e.stopPropagation();
749
+ addTrigger(addTriggerFixedScore);
750
+ }
751
+ }, "Apply")));
752
+ };
753
+
754
+ var renderAddTrackTrigger = function renderAddTrackTrigger() {
755
+ var _cn;
756
+
757
+ var isNoTriggers = !(triggers !== null && triggers !== void 0 && triggers.filter(function (_ref22) {
758
+ var isHidden = _ref22.isHidden;
759
+ return !isHidden;
760
+ }).length);
761
+ var x = getAddTriggerPosition();
762
+ var score = isAddTriggerFixed ? addTriggerFixedScore : isNoTriggers && !isMouseOverTrack ? (min + max) / 2 : getAddTriggerScore(x);
763
+ var triggerCollision = !isAddTriggerFixed ? getAddTriggerCollisionDirection(x) : NO_COLLISION;
764
+ var isLeftCollision = triggerCollision === LEFT_COLLISSION;
765
+ var isRightCollision = triggerCollision === RIGHT_COLLISION;
766
+ var isBothCollision = triggerCollision === BOTH_COLLISION;
767
+ var isCollisionVisible = (isLeftCollision || isRightCollision || isBothCollision) && !(isNoTriggers && !isMouseOverTrack);
768
+ var left = getTrackXByScore(score);
769
+ var inRange = getInRange(score);
770
+ var isTriggerWithScoreExists = getTriggerByScore(score);
771
+ if (isTriggerWithScoreExists || movingTrigger || isMouseOverTrigger) return null;
772
+ return /*#__PURE__*/_react.default.createElement("div", {
773
+ className: (0, _classnames.default)("".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger"), (_cn = {}, (0, _defineProperty2.default)(_cn, "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger--fixed"), isAddTriggerFixed), (0, _defineProperty2.default)(_cn, "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger--force-visible"), isNoTriggers), (0, _defineProperty2.default)(_cn, "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger--moved-smoothly"), isNoTriggers && !isMouseOverTrack), _cn)),
774
+ style: {
775
+ left: "".concat(left, "px")
776
+ },
777
+ onClick: function onClick() {
778
+ return inRange !== null && inRange !== void 0 && inRange.value ? fixAddTrigger(score, inRange) : addTrigger(score);
779
+ }
780
+ }, /*#__PURE__*/_react.default.createElement("div", {
781
+ ref: addTriggerRef,
782
+ className: (0, _classnames.default)("".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger__point"), (0, _defineProperty2.default)({}, "".concat(COMPONENT_CLASS, "__track__range-triggers--add-trigger__point--shake"), isCollisionVisible)),
783
+ "data-point-value": "".concat(score, " | ").concat(score + 1)
784
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.Plus, null)), isAddTriggerFixed && renderAddTrackTriggerSettings(), renderCollision({
785
+ isCollisionVisible: isCollisionVisible,
786
+ isLeftCollision: isLeftCollision,
787
+ isRightCollision: isRightCollision,
788
+ isBothCollision: isBothCollision
789
+ }));
790
+ };
791
+
792
+ var renderTrackTrigger = function renderTrackTrigger(_ref23, triggerIndex) {
793
+ var _cn3;
794
+
795
+ var triggerScore = _ref23.value,
796
+ isFixed = _ref23.isFixed,
797
+ isHidden = _ref23.isHidden;
798
+ var triggerCollision = getTriggerCollisionDirection(triggerIndex, triggerScore);
799
+ var isLeftCollision = triggerCollision === LEFT_COLLISSION;
800
+ var isRightCollision = triggerCollision === RIGHT_COLLISION;
801
+ var isBothCollision = triggerCollision === BOTH_COLLISION;
802
+ var isCurrentTriggerMoving = isTriggerMoving(triggerIndex);
803
+ var isCollisionVisible = isCurrentTriggerMoving && isTriggerMoved && (isLeftCollision || isRightCollision || isBothCollision);
804
+ return /*#__PURE__*/_react.default.createElement("div", {
805
+ key: "".concat(COMPONENT_CLASS, "__track__range-triggers--trigger-").concat(triggerIndex),
806
+ style: {
807
+ left: getTrackXByScore(triggerScore).toString().concat('px')
808
+ },
809
+ className: (0, _classnames.default)("".concat(COMPONENT_CLASS, "__track__range-triggers--trigger"), (_cn3 = {}, (0, _defineProperty2.default)(_cn3, "".concat(COMPONENT_CLASS, "__track__range-triggers--trigger__moving"), isCurrentTriggerMoving), (0, _defineProperty2.default)(_cn3, "".concat(COMPONENT_CLASS, "__track__range-triggers--trigger__fixed"), isFixed), (0, _defineProperty2.default)(_cn3, "".concat(COMPONENT_CLASS, "__track__range-triggers--trigger__hidden"), isHidden), _cn3)),
810
+ onMouseOver: setMouseOverTrigger,
811
+ onMouseLeave: setMouseLeaveTrigger
812
+ }, /*#__PURE__*/_react.default.createElement("div", {
813
+ className: (0, _classnames.default)("".concat(COMPONENT_CLASS, "__track__range-triggers--trigger__point"), (0, _defineProperty2.default)({}, "".concat(COMPONENT_CLASS, "__track__range-triggers--trigger__point--shake"), isCollisionVisible)),
814
+ "data-point-value": "".concat(triggerScore, " | ").concat(triggerScore + 1),
815
+ onMouseDown: function onMouseDown(e) {
816
+ return onTriggerMouseDown(e, triggerIndex);
817
+ },
818
+ onMouseUp: resetMovingTrigger
819
+ }), /*#__PURE__*/_react.default.createElement("div", {
820
+ className: (0, _classnames.default)("".concat(COMPONENT_CLASS, "__track__range-triggers--trigger__actions"), (0, _defineProperty2.default)({}, "".concat(COMPONENT_CLASS, "__track__range-triggers--trigger__actions--hidden"), isCurrentTriggerMoving))
821
+ }, /*#__PURE__*/_react.default.createElement("div", {
822
+ className: "".concat(COMPONENT_CLASS, "__track__range-triggers--trigger__actions--remove"),
823
+ onClick: function onClick() {
824
+ return removeTrigger(triggerIndex);
825
+ }
826
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.X, null))), renderCollision({
827
+ isCollisionVisible: isCollisionVisible,
828
+ isLeftCollision: isLeftCollision,
829
+ isRightCollision: isRightCollision,
830
+ isBothCollision: isBothCollision,
831
+ className: "".concat(COMPONENT_CLASS, "__track__range-triggers--trigger__collision")
832
+ }));
833
+ };
834
+
835
+ var renderTrackTriggers = function renderTrackTriggers() {
836
+ return /*#__PURE__*/_react.default.createElement("div", {
837
+ className: "".concat(COMPONENT_CLASS, "__track__range-triggers")
838
+ }, triggers === null || triggers === void 0 ? void 0 : triggers.map(renderTrackTrigger));
839
+ };
840
+
841
+ var renderRangeValue = function renderRangeValue(_ref24, rangeIndex) {
842
+ var from = _ref24.from,
843
+ to = _ref24.to,
844
+ label = _ref24.label,
845
+ value = _ref24.value;
846
+ if (!value) return null;
847
+ var left = getTrackXByScore((to + from) / 2);
848
+ return /*#__PURE__*/_react.default.createElement("div", {
849
+ className: (0, _classnames.default)("".concat(COMPONENT_CLASS, "__track__ranges-value--item")),
850
+ style: {
851
+ left: "".concat(left, "px")
852
+ },
853
+ key: "".concat(COMPONENT_CLASS, "__track__ranges-value--item-").concat(rangeIndex)
854
+ }, /*#__PURE__*/_react.default.createElement("div", {
855
+ className: (0, _classnames.default)("".concat(COMPONENT_CLASS, "__track__ranges-value--item__label"))
856
+ }, label), /*#__PURE__*/_react.default.createElement("div", {
857
+ className: (0, _classnames.default)("".concat(COMPONENT_CLASS, "__track__ranges-value--item__value"))
858
+ }, value));
859
+ };
860
+
861
+ var renderRangesValue = function renderRangesValue() {
862
+ return /*#__PURE__*/_react.default.createElement("div", {
863
+ className: (0, _classnames.default)("".concat(COMPONENT_CLASS, "__track__ranges-value"))
864
+ }, ranges === null || ranges === void 0 ? void 0 : ranges.map(renderRangeValue));
865
+ };
866
+
867
+ var renderTrackDividers = (0, _react.useMemo)(function () {
868
+ var renderTrackDivider = function renderTrackDivider() {
869
+ var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
870
+ return /*#__PURE__*/_react.default.createElement("div", {
871
+ key: key,
872
+ className: "".concat(COMPONENT_CLASS, "__track__line__dividers--item")
873
+ });
874
+ };
875
+
876
+ var dividersCount = parseInt((max - min) / minRange);
877
+ var dividers = [];
878
+
879
+ for (var i = 0; i < dividersCount; ++i) {
880
+ dividers.push(renderTrackDivider(i));
881
+ }
882
+
883
+ return /*#__PURE__*/_react.default.createElement("div", {
884
+ className: "".concat(COMPONENT_CLASS, "__track__line__dividers")
885
+ }, dividers);
886
+ }, [trackRef, minRange, min, max]);
887
+
888
+ var renderTrackLine = function renderTrackLine() {
889
+ return /*#__PURE__*/_react.default.createElement("div", {
890
+ className: "".concat(COMPONENT_CLASS, "__track__line")
891
+ }, /*#__PURE__*/_react.default.createElement("div", {
892
+ className: "".concat(COMPONENT_CLASS, "__track__line__extremum--min")
893
+ }, min), renderTrackDividers, /*#__PURE__*/_react.default.createElement("div", {
894
+ className: "".concat(COMPONENT_CLASS, "__track__line__extremum--max")
895
+ }, max));
896
+ };
897
+
898
+ var renderTrack = function renderTrack() {
899
+ return /*#__PURE__*/_react.default.createElement("div", {
900
+ className: (0, _classnames.default)("".concat(COMPONENT_CLASS, "__track"), className),
901
+ ref: trackRef
902
+ }, renderTrackLine(), renderAddTrackTrigger(), renderTrackTriggers(), renderRangesValue());
903
+ };
904
+
905
+ var render = function render() {
906
+ return /*#__PURE__*/_react.default.createElement("div", {
907
+ className: COMPONENT_CLASS,
908
+ onMouseOver: setMouseOverTrack,
909
+ onMouseLeave: setMouseLeaveTrack,
910
+ onMouseMove: function onMouseMove(e) {
911
+ return setMouseTrackPosition(e === null || e === void 0 ? void 0 : e.clientX);
912
+ }
913
+ }, renderTrack());
914
+ };
915
+
916
+ return render();
917
+ }