intelicoreact 0.2.31 → 0.2.32

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.
@@ -134,21 +134,25 @@ function RangeSlider(_ref) {
134
134
  };
135
135
 
136
136
  var getRangeWidth = function getRangeWidth() {
137
- return (to - from) * 100 / (max - min);
137
+ return getTrackXByPoints(to) - getTrackXByPoints(from);
138
138
  };
139
139
 
140
140
  var getRangeOffset = function getRangeOffset() {
141
- return (from - min) * 100 / (max - min);
141
+ return getTrackXByPoints(from);
142
142
  };
143
143
 
144
144
  var getXByPoints = function getXByPoints(pts) {
145
- return pts / pointsPerPx + trackPosition;
145
+ return (pts - min) / pointsPerPx + trackPosition;
146
146
  };
147
147
 
148
148
  var getPointsByX = function getPointsByX(x) {
149
149
  return (x - trackPosition) * pointsPerPx + min;
150
150
  };
151
151
 
152
+ var getTrackXByPoints = function getTrackXByPoints(pts) {
153
+ return (pts - min) / pointsPerPx;
154
+ };
155
+
152
156
  var prepareValue = function prepareValue(value) {
153
157
  return parseInt(parseFloat(value) * Math.pow(10, precision)) / Math.pow(10, precision);
154
158
  };
@@ -160,15 +164,35 @@ function RangeSlider(_ref) {
160
164
 
161
165
  switch (type) {
162
166
  case 'from':
163
- if (value < min && validate) setFrom(min); // else if (value > max - extremumRange && extremumRange > minRange && validate) setFrom(max - extremumRange);
164
- // else if (value > to - extremumRange && extremumRange > minRange && validate) setFrom(to - extremumRange);
165
- else if (value > to - minRange && minRange > extremumRange && validate) setFrom(to - minRange);else setFrom(value);
167
+ if (validate) {
168
+ if (value < min) {
169
+ setFrom(min);
170
+ return;
171
+ }
172
+
173
+ if (value > to - minRange) {
174
+ setFrom(to - minRange);
175
+ return;
176
+ }
177
+ }
178
+
179
+ setFrom(value);
166
180
  break;
167
181
 
168
182
  case 'to':
169
- if (value > max && validate) setTo(max); // else if (value < min + extremumRange && extremumRange > minRange && validate) setTo(min+ + extremumRange);
170
- // else if (value < from + extremumRange && extremumRange > minRange && validate) setTo(from + extremumRange);
171
- else if (value < from + minRange && minRange > extremumRange && validate) setTo(from + minRange);else setTo(value);
183
+ if (validate) {
184
+ if (value > max) {
185
+ setTo(max);
186
+ return;
187
+ }
188
+
189
+ if (value < from + minRange) {
190
+ setTo(from + minRange);
191
+ return;
192
+ }
193
+ }
194
+
195
+ setTo(value);
172
196
  break;
173
197
  }
174
198
  };
@@ -184,13 +208,13 @@ function RangeSlider(_ref) {
184
208
  if (!isTriggerMoved) setIsTriggerMoved(true);
185
209
  if (!movingTrigger) return false;
186
210
  var x = e.clientX;
187
- if (x < trackPosition || x > trackPosition + trackWidth) return false;
188
211
 
189
212
  var _movingTrigger$getBou = movingTrigger === null || movingTrigger === void 0 ? void 0 : movingTrigger.getBoundingClientRect(),
190
213
  _movingTrigger$getBou2 = _movingTrigger$getBou.width,
191
214
  triggerWidth = _movingTrigger$getBou2 === void 0 ? 16 : _movingTrigger$getBou2;
192
215
 
193
- x = movingTriggerType === 'from' ? x - triggerWidth / 2 : x + triggerWidth / 2;
216
+ if (x < trackPosition || x > trackPosition + trackWidth + triggerWidth) return false;
217
+ x -= triggerWidth / 2;
194
218
  onRangeChange(movingTriggerType, getPointsByX(x));
195
219
  };
196
220
 
@@ -206,35 +230,23 @@ function RangeSlider(_ref) {
206
230
  };
207
231
 
208
232
  (0, _react.useLayoutEffect)(function () {
209
- var _trackRef$current;
233
+ var _trackRef$current, _fromTriggerRef$curre, _fromTriggerRef$curre2, _toTriggerRef$current, _toTriggerRef$current2;
210
234
 
211
235
  var _trackRef$current$get = trackRef === null || trackRef === void 0 ? void 0 : (_trackRef$current = trackRef.current) === null || _trackRef$current === void 0 ? void 0 : _trackRef$current.getBoundingClientRect(),
212
236
  width = _trackRef$current$get.width,
213
237
  x = _trackRef$current$get.x;
214
238
 
239
+ width -= (fromTriggerRef === null || fromTriggerRef === void 0 ? void 0 : (_fromTriggerRef$curre = fromTriggerRef.current) === null || _fromTriggerRef$curre === void 0 ? void 0 : (_fromTriggerRef$curre2 = _fromTriggerRef$curre.getBoundingClientRect()) === null || _fromTriggerRef$curre2 === void 0 ? void 0 : _fromTriggerRef$curre2.width) || (toTriggerRef === null || toTriggerRef === void 0 ? void 0 : (_toTriggerRef$current = toTriggerRef.current) === null || _toTriggerRef$current === void 0 ? void 0 : (_toTriggerRef$current2 = _toTriggerRef$current.getBoundingClientRect()) === null || _toTriggerRef$current2 === void 0 ? void 0 : _toTriggerRef$current2.width);
215
240
  setPointsPerPx(countPointsPerPx(width));
216
241
  setTrackWidth(width);
217
242
  setTrackPosition(x);
218
243
  }, [trackRef]);
219
- (0, _react.useLayoutEffect)(function () {
220
- var _fromTriggerRef$curre, _toTriggerRef$current;
221
-
222
- var _ref2 = (fromTriggerRef === null || fromTriggerRef === void 0 ? void 0 : (_fromTriggerRef$curre = fromTriggerRef.current) === null || _fromTriggerRef$curre === void 0 ? void 0 : _fromTriggerRef$curre.getBoundingClientRect()) || {},
223
- fromTriggerWidth = _ref2.width;
224
-
225
- var _ref3 = (toTriggerRef === null || toTriggerRef === void 0 ? void 0 : (_toTriggerRef$current = toTriggerRef.current) === null || _toTriggerRef$current === void 0 ? void 0 : _toTriggerRef$current.getBoundingClientRect()) || {},
226
- toTriggerWidth = _ref3.width;
227
-
228
- setExtremumRange((fromTriggerWidth + toTriggerWidth) * pointsPerPx);
229
- setExtremumWidth(fromTriggerWidth + toTriggerWidth);
230
- }, [fromTriggerRef, toTriggerRef, pointsPerPx]);
231
244
  (0, _react.useEffect)(function () {
232
245
  var _value$from2, _value$to2;
233
246
 
234
- if (extremumRange === 0) return null;
235
247
  onRangeChange('from', (_value$from2 = value === null || value === void 0 ? void 0 : value.from) !== null && _value$from2 !== void 0 ? _value$from2 : max);
236
248
  onRangeChange('to', (_value$to2 = value === null || value === void 0 ? void 0 : value.to) !== null && _value$to2 !== void 0 ? _value$to2 : min);
237
- }, [extremumRange]); // MouseUp Event Controller
249
+ }, []); // MouseUp Event Controller
238
250
 
239
251
  (0, _react.useEffect)(function () {
240
252
  var resetMovingTrigger = function resetMovingTrigger() {
@@ -329,28 +341,35 @@ function RangeSlider(_ref) {
329
341
 
330
342
  var renderTrackRange = function renderTrackRange() {
331
343
  var style = {
332
- width: getRangeWidth().toString().concat('%'),
333
- left: getRangeOffset().toString().concat('%'),
334
- minWidth: extremumWidth.toString().concat('px')
344
+ width: getRangeWidth().toString().concat('px'),
345
+ left: getRangeOffset().toString().concat('px')
335
346
  };
336
- var extremumWidthPercent = extremumWidth * 100 / trackWidth;
337
-
338
- if (getRangeOffset() + extremumWidthPercent >= 100) {
339
- style.left = (100 - extremumWidthPercent).toString().concat('%');
340
- }
341
-
342
347
  return /*#__PURE__*/_react.default.createElement("div", {
343
348
  className: "range-slider__track__range",
344
349
  style: style
350
+ });
351
+ };
352
+
353
+ var renderTrackTriggers = function renderTrackTriggers() {
354
+ var fromStyle = {
355
+ left: getTrackXByPoints(from).toString().concat('px')
356
+ };
357
+ var toStyle = {
358
+ left: getTrackXByPoints(to).toString().concat('px')
359
+ };
360
+ return /*#__PURE__*/_react.default.createElement("div", {
361
+ className: "range-slider__track__range-triggers"
345
362
  }, /*#__PURE__*/_react.default.createElement("div", {
346
363
  ref: fromTriggerRef,
347
- className: "range-slider__track__range--trigger",
364
+ style: fromStyle,
365
+ className: "range-slider__track__range-triggers--trigger range-slider__track__range-triggers--trigger-left",
348
366
  onMouseDown: function onMouseDown(e) {
349
367
  return onTriggerMouseDown(e, 'from');
350
368
  }
351
369
  }), /*#__PURE__*/_react.default.createElement("div", {
352
370
  ref: toTriggerRef,
353
- className: "range-slider__track__range--trigger",
371
+ style: toStyle,
372
+ className: "range-slider__track__range-triggers--trigger range-slider__track__range-triggers--trigger-right",
354
373
  onMouseDown: function onMouseDown(e) {
355
374
  return onTriggerMouseDown(e, 'to');
356
375
  }
@@ -363,7 +382,7 @@ function RangeSlider(_ref) {
363
382
  ref: trackRef
364
383
  }, /*#__PURE__*/_react.default.createElement("div", {
365
384
  className: "range-slider__track__line"
366
- }), renderTrackRange());
385
+ }), renderTrackRange(), renderTrackTriggers());
367
386
  };
368
387
 
369
388
  var render = function render() {
@@ -100,6 +100,7 @@
100
100
  height: 16px;
101
101
  margin-top: 2px;
102
102
  position: relative;
103
+ padding: 0 8px;
103
104
 
104
105
  &__line {
105
106
  position: absolute;
@@ -107,6 +108,8 @@
107
108
  height: 4px;
108
109
  background: #d6d9e4;
109
110
  border-radius: 4px;
111
+ box-sizing: border-box;
112
+ left: 0;
110
113
  }
111
114
  &__range {
112
115
  position: relative;
@@ -117,24 +120,30 @@
117
120
  border-radius: 4px;
118
121
  justify-content: space-between;
119
122
 
120
- &--trigger {
121
- position: relative;
122
- width: 16px;
123
- height: 16px;
124
- background: #ffffff;
125
- border: 1px solid #1f7499;
126
- box-shadow: 0px 4px 26px rgba(0, 67, 96, 0.1);
127
- border-radius: 50%;
128
- transform: translateY(-50%);
129
- top: 50%;
130
- box-sizing: border-box;
131
- cursor: move;
132
-
133
- &-left {
134
- transform: translate(-50%, 0);
135
- }
123
+ &-triggers {
124
+ width: 100%;
125
+ position: absolute;
136
126
 
137
- &-right {
127
+ &--trigger {
128
+ z-index: 3;
129
+ position: absolute;
130
+ width: 16px;
131
+ height: 16px;
132
+ background: #ffffff;
133
+ border: 1px solid #1f7499;
134
+ box-shadow: 0px 4px 26px rgba(0, 67, 96, 0.1);
135
+ border-radius: 50%;
136
+ top: 50%;
137
+ box-sizing: border-box;
138
+ cursor: move;
139
+
140
+ &-left {
141
+ transform: translate(-50%, -50%);
142
+ }
143
+
144
+ &-right {
145
+ transform: translate(-50%, -50%);
146
+ }
138
147
  }
139
148
  }
140
149
  }
@@ -142,5 +151,5 @@
142
151
  }
143
152
 
144
153
  .moving-cursor {
145
- cursor: move!important;
154
+ cursor: move !important;
146
155
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "0.2.31",
3
+ "version": "0.2.32",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [