@bonlineza/luxity-lib 2.7.5 → 2.9.1
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.
- package/Accordion.js +39 -85
- package/AddInterest.js +937 -754
- package/BrandSelector.js +82 -166
- package/Checkbox.js +18 -24
- package/CheckboxButton.js +18 -42
- package/CountryCodeSelect.js +16 -3
- package/CurrencyInputFormatter.js +671 -0
- package/GenderSelector.js +31 -81
- package/GraphQLMultiSelector.js +45 -87
- package/IconHeader.js +8 -17
- package/IconWrapper.js +2 -10
- package/InterestCatSelector.js +83 -121
- package/InterestItem.js +103 -134
- package/Interests.js +1029 -895
- package/InterestsSubheading.js +5 -23
- package/InvertedTextButton.js +17 -48
- package/LuxityGraphQLMultiselector.js +73 -143
- package/LuxityPageReady.js +15 -8
- package/NotificationDropDown.js +66 -63
- package/Notify.js +1 -1
- package/OutlinePrimaryButton.js +12 -37
- package/PriceRangeSelector.js +679 -282
- package/PrimaryButton.js +12 -37
- package/README.md +1 -1
- package/RadioButtons.js +61 -139
- package/RangeSlider.js +55 -125
- package/ReactSelectWrapper.js +15 -2
- package/SecondaryButton.js +12 -37
- package/ShoeSizeSelector.js +71 -171
- package/SimpleErrorBoundary.js +12 -5
- package/StyleSelector.js +82 -166
- package/TextButton.js +12 -37
- package/Tooltip.js +16 -81
- package/WrapperButton.js +8 -32
- package/build/bundle.js +1092 -1113
- package/build/constants.js +4 -2
- package/package.json +10 -12
- package/svg/Accessories.js +4 -5
- package/svg/Account.js +4 -5
- package/svg/Add.js +4 -5
- package/svg/ArrowRight.js +3 -4
- package/svg/Bags.js +6 -7
- package/svg/BurgerMenu.js +3 -4
- package/svg/Calendar.js +17 -18
- package/svg/CalendarCircled.js +18 -19
- package/svg/CheckCircled.js +4 -5
- package/svg/Close.js +3 -4
- package/svg/Clothing.js +50 -0
- package/svg/Dot.js +3 -4
- package/svg/Edit.js +3 -4
- package/svg/Eye.js +4 -5
- package/svg/FileAttach.js +3 -4
- package/svg/FileAttachCircled.js +4 -5
- package/svg/LightBulb.js +11 -12
- package/svg/Logo.js +38 -39
- package/svg/LuxityMenu.js +3 -4
- package/svg/Minus.js +3 -4
- package/svg/MobileAvatar.js +3 -4
- package/svg/MyOrder.js +6 -7
- package/svg/MyPayment.js +6 -7
- package/svg/MyProfile.js +7 -8
- package/svg/MySale.js +4 -5
- package/svg/Notification.js +4 -5
- package/svg/PointerDown.js +3 -4
- package/svg/Search.js +3 -4
- package/svg/Shoes.js +6 -7
- package/svg/SvgWrapper.js +2 -10
- package/svg/Trash.js +5 -6
- package/svg/Watches.js +11 -12
- package/CHANGELOG.md +0 -152
- package/CurrencyInput.js +0 -156
package/PriceRangeSelector.js
CHANGED
|
@@ -1,31 +1,14 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('@bonlineza/b-lib/functions'), require('rc-slider'), require('styled-components')
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['react', '@bonlineza/b-lib/functions', 'rc-slider', 'styled-components'
|
|
4
|
-
(global = global || self, global.PriceRangeSelector = factory(global.React, global.function, global.rcSlider, global.styled
|
|
5
|
-
}(this, (function (React, functions, rcSlider, styled
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('@bonlineza/b-lib/functions'), require('rc-slider'), require('styled-components')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['react', '@bonlineza/b-lib/functions', 'rc-slider', 'styled-components'], factory) :
|
|
4
|
+
(global = global || self, global.PriceRangeSelector = factory(global.React, global.function, global.rcSlider, global.styled));
|
|
5
|
+
}(this, (function (React, functions, rcSlider, styled) { 'use strict';
|
|
6
6
|
|
|
7
7
|
var React__default = 'default' in React ? React['default'] : React;
|
|
8
8
|
var styled__default = 'default' in styled ? styled['default'] : styled;
|
|
9
|
-
createNumberMask = createNumberMask && Object.prototype.hasOwnProperty.call(createNumberMask, 'default') ? createNumberMask['default'] : createNumberMask;
|
|
10
|
-
MaskedInput = MaskedInput && Object.prototype.hasOwnProperty.call(MaskedInput, 'default') ? MaskedInput['default'] : MaskedInput;
|
|
11
|
-
|
|
12
|
-
function _defineProperty(obj, key, value) {
|
|
13
|
-
if (key in obj) {
|
|
14
|
-
Object.defineProperty(obj, key, {
|
|
15
|
-
value: value,
|
|
16
|
-
enumerable: true,
|
|
17
|
-
configurable: true,
|
|
18
|
-
writable: true
|
|
19
|
-
});
|
|
20
|
-
} else {
|
|
21
|
-
obj[key] = value;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return obj;
|
|
25
|
-
}
|
|
26
9
|
|
|
27
10
|
function _extends() {
|
|
28
|
-
_extends = Object.assign
|
|
11
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
29
12
|
for (var i = 1; i < arguments.length; i++) {
|
|
30
13
|
var source = arguments[i];
|
|
31
14
|
|
|
@@ -38,44 +21,9 @@
|
|
|
38
21
|
|
|
39
22
|
return target;
|
|
40
23
|
};
|
|
41
|
-
|
|
42
24
|
return _extends.apply(this, arguments);
|
|
43
25
|
}
|
|
44
26
|
|
|
45
|
-
function ownKeys(object, enumerableOnly) {
|
|
46
|
-
var keys = Object.keys(object);
|
|
47
|
-
|
|
48
|
-
if (Object.getOwnPropertySymbols) {
|
|
49
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
50
|
-
if (enumerableOnly) symbols = symbols.filter(function (sym) {
|
|
51
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
52
|
-
});
|
|
53
|
-
keys.push.apply(keys, symbols);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return keys;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function _objectSpread2(target) {
|
|
60
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
61
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
62
|
-
|
|
63
|
-
if (i % 2) {
|
|
64
|
-
ownKeys(Object(source), true).forEach(function (key) {
|
|
65
|
-
_defineProperty(target, key, source[key]);
|
|
66
|
-
});
|
|
67
|
-
} else if (Object.getOwnPropertyDescriptors) {
|
|
68
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
69
|
-
} else {
|
|
70
|
-
ownKeys(Object(source)).forEach(function (key) {
|
|
71
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return target;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
27
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
80
28
|
if (source == null) return {};
|
|
81
29
|
var target = {};
|
|
@@ -133,14 +81,17 @@
|
|
|
133
81
|
}
|
|
134
82
|
|
|
135
83
|
function _iterableToArrayLimit(arr, i) {
|
|
136
|
-
|
|
84
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
85
|
+
|
|
86
|
+
if (_i == null) return;
|
|
137
87
|
var _arr = [];
|
|
138
88
|
var _n = true;
|
|
139
89
|
var _d = false;
|
|
140
|
-
|
|
90
|
+
|
|
91
|
+
var _s, _e;
|
|
141
92
|
|
|
142
93
|
try {
|
|
143
|
-
for (
|
|
94
|
+
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
|
144
95
|
_arr.push(_s.value);
|
|
145
96
|
|
|
146
97
|
if (i && _arr.length === i) break;
|
|
@@ -201,17 +152,17 @@
|
|
|
201
152
|
};
|
|
202
153
|
|
|
203
154
|
var themed = (function (Component) {
|
|
204
|
-
return React.forwardRef(function (props, ref) {
|
|
205
|
-
return React__default.createElement(styled.ThemeProvider, {
|
|
155
|
+
return /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
156
|
+
return /*#__PURE__*/React__default.createElement(styled.ThemeProvider, {
|
|
206
157
|
theme: theme
|
|
207
|
-
}, React__default.createElement(Component, _extends({}, props, {
|
|
158
|
+
}, /*#__PURE__*/React__default.createElement(Component, _extends({}, props, {
|
|
208
159
|
ref: ref
|
|
209
160
|
})));
|
|
210
161
|
});
|
|
211
162
|
});
|
|
212
163
|
|
|
213
164
|
function _extends$1() {
|
|
214
|
-
_extends$1 = Object.assign
|
|
165
|
+
_extends$1 = Object.assign ? Object.assign.bind() : function (target) {
|
|
215
166
|
for (var i = 1; i < arguments.length; i++) {
|
|
216
167
|
var source = arguments[i];
|
|
217
168
|
|
|
@@ -224,7 +175,6 @@
|
|
|
224
175
|
|
|
225
176
|
return target;
|
|
226
177
|
};
|
|
227
|
-
|
|
228
178
|
return _extends$1.apply(this, arguments);
|
|
229
179
|
}
|
|
230
180
|
|
|
@@ -236,28 +186,27 @@
|
|
|
236
186
|
return self;
|
|
237
187
|
}
|
|
238
188
|
|
|
189
|
+
function _setPrototypeOf(o, p) {
|
|
190
|
+
_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
|
|
191
|
+
o.__proto__ = p;
|
|
192
|
+
return o;
|
|
193
|
+
};
|
|
194
|
+
return _setPrototypeOf(o, p);
|
|
195
|
+
}
|
|
196
|
+
|
|
239
197
|
function _inheritsLoose(subClass, superClass) {
|
|
240
198
|
subClass.prototype = Object.create(superClass.prototype);
|
|
241
199
|
subClass.prototype.constructor = subClass;
|
|
242
|
-
subClass
|
|
200
|
+
_setPrototypeOf(subClass, superClass);
|
|
243
201
|
}
|
|
244
202
|
|
|
245
203
|
function _getPrototypeOf(o) {
|
|
246
|
-
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
204
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
|
|
247
205
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
248
206
|
};
|
|
249
207
|
return _getPrototypeOf(o);
|
|
250
208
|
}
|
|
251
209
|
|
|
252
|
-
function _setPrototypeOf(o, p) {
|
|
253
|
-
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
254
|
-
o.__proto__ = p;
|
|
255
|
-
return o;
|
|
256
|
-
};
|
|
257
|
-
|
|
258
|
-
return _setPrototypeOf(o, p);
|
|
259
|
-
}
|
|
260
|
-
|
|
261
210
|
function _isNativeFunction(fn) {
|
|
262
211
|
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
263
212
|
}
|
|
@@ -268,7 +217,7 @@
|
|
|
268
217
|
if (typeof Proxy === "function") return true;
|
|
269
218
|
|
|
270
219
|
try {
|
|
271
|
-
|
|
220
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
272
221
|
return true;
|
|
273
222
|
} catch (e) {
|
|
274
223
|
return false;
|
|
@@ -277,7 +226,7 @@
|
|
|
277
226
|
|
|
278
227
|
function _construct(Parent, args, Class) {
|
|
279
228
|
if (_isNativeReflectConstruct()) {
|
|
280
|
-
_construct = Reflect.construct;
|
|
229
|
+
_construct = Reflect.construct.bind();
|
|
281
230
|
} else {
|
|
282
231
|
_construct = function _construct(Parent, args, Class) {
|
|
283
232
|
var a = [null];
|
|
@@ -406,7 +355,8 @@
|
|
|
406
355
|
"71": "Passed invalid pixel value %s to %s(), please pass a value like \"12px\" or 12.\n\n",
|
|
407
356
|
"72": "Passed invalid base value %s to %s(), please pass a value like \"12px\" or 12.\n\n",
|
|
408
357
|
"73": "Please provide a valid CSS variable.\n\n",
|
|
409
|
-
"74": "CSS variable not found.\n"
|
|
358
|
+
"74": "CSS variable not found.\n\n",
|
|
359
|
+
"75": "fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\n"
|
|
410
360
|
};
|
|
411
361
|
/**
|
|
412
362
|
* super basic version of sprintf
|
|
@@ -445,7 +395,7 @@
|
|
|
445
395
|
var _this;
|
|
446
396
|
|
|
447
397
|
if (process.env.NODE_ENV === 'production') {
|
|
448
|
-
_this = _Error.call(this, "An error occurred. See https://github.com/styled-components/polished/blob/
|
|
398
|
+
_this = _Error.call(this, "An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#" + code + " for more information.") || this;
|
|
449
399
|
} else {
|
|
450
400
|
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
451
401
|
args[_key2 - 1] = arguments[_key2];
|
|
@@ -748,7 +698,7 @@
|
|
|
748
698
|
};
|
|
749
699
|
}
|
|
750
700
|
|
|
751
|
-
var rgbaMatched = rgbaRegex.exec(normalizedColor);
|
|
701
|
+
var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));
|
|
752
702
|
|
|
753
703
|
if (rgbaMatched) {
|
|
754
704
|
return {
|
|
@@ -779,7 +729,7 @@
|
|
|
779
729
|
};
|
|
780
730
|
}
|
|
781
731
|
|
|
782
|
-
var hslaMatched = hslaRegex.exec(normalizedColor);
|
|
732
|
+
var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));
|
|
783
733
|
|
|
784
734
|
if (hslaMatched) {
|
|
785
735
|
var _hue = parseInt("" + hslaMatched[1], 10);
|
|
@@ -960,7 +910,7 @@
|
|
|
960
910
|
var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;
|
|
961
911
|
|
|
962
912
|
var colorWithAlpha = _extends$1({}, parsedColor, {
|
|
963
|
-
alpha: guard(0, 1, (alpha * 100 - parseFloat(amount) * 100) / 100)
|
|
913
|
+
alpha: guard(0, 1, +(alpha * 100 - parseFloat(amount) * 100).toFixed(2) / 100)
|
|
964
914
|
});
|
|
965
915
|
|
|
966
916
|
return rgba(colorWithAlpha);
|
|
@@ -971,58 +921,12 @@
|
|
|
971
921
|
/* ::<number | string, string, string> */
|
|
972
922
|
(transparentize);
|
|
973
923
|
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
_templateObject = function _templateObject() {
|
|
978
|
-
return data;
|
|
979
|
-
};
|
|
980
|
-
|
|
981
|
-
return data;
|
|
982
|
-
}
|
|
983
|
-
var baseSliderStyles = styled.css(_templateObject());
|
|
984
|
-
|
|
985
|
-
function _templateObject4() {
|
|
986
|
-
var data = _taggedTemplateLiteral(["\n .rc-slider-mark-text {\n color: ", ";\n }\n\n .rc-slider-dot {\n border-color: ", ";\n background-color: white;\n }\n ", "\n "]);
|
|
987
|
-
|
|
988
|
-
_templateObject4 = function _templateObject4() {
|
|
989
|
-
return data;
|
|
990
|
-
};
|
|
991
|
-
|
|
992
|
-
return data;
|
|
993
|
-
}
|
|
994
|
-
|
|
995
|
-
function _templateObject3() {
|
|
996
|
-
var data = _taggedTemplateLiteral(["\n .rc-slider-mark-text,\n .rc-slider-dot {\n visibility: hidden;\n }\n "]);
|
|
997
|
-
|
|
998
|
-
_templateObject3 = function _templateObject3() {
|
|
999
|
-
return data;
|
|
1000
|
-
};
|
|
924
|
+
var _templateObject;
|
|
925
|
+
var baseSliderStyles = styled.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .rc-slider {\n position: relative;\n height: 14px;\n padding: 5px 0;\n width: 100%;\n border-radius: 6px;\n touch-action: none;\n box-sizing: border-box;\n }\n .rc-slider * {\n box-sizing: border-box;\n }\n .rc-slider-rail {\n position: absolute;\n width: 100%;\n background-color: #e9e9e9;\n height: 4px;\n border-radius: 6px;\n }\n .rc-slider-track {\n position: absolute;\n left: 0;\n height: 4px;\n border-radius: 6px;\n background-color: #abe2fb;\n }\n .rc-slider-handle {\n position: absolute;\n width: 14px;\n height: 14px;\n cursor: pointer;\n margin-top: -5px;\n border-radius: 50%;\n border: solid 2px #96dbfa;\n background-color: #fff;\n -ms-touch-action: pan-x;\n touch-action: pan-x;\n }\n .rc-slider-handle:focus {\n border-color: #57c5f7;\n box-shadow: 0 0 0 5px #96dbfa;\n outline: none;\n }\n .rc-slider-handle-click-focused:focus {\n border-color: #96dbfa;\n box-shadow: unset;\n }\n .rc-slider-handle:hover {\n border-color: #57c5f7;\n }\n .rc-slider-handle:active {\n border-color: #57c5f7;\n box-shadow: 0 0 5px #57c5f7;\n cursor: grabbing;\n }\n .rc-slider-mark {\n position: absolute;\n top: 18px;\n left: 0;\n width: 100%;\n font-size: 12px;\n }\n .rc-slider-mark-text {\n position: absolute;\n display: inline-block;\n vertical-align: middle;\n text-align: center;\n cursor: pointer;\n color: #999;\n }\n .rc-slider-mark-text-active {\n color: #666;\n }\n .rc-slider-step {\n position: absolute;\n width: 100%;\n height: 4px;\n background: transparent;\n }\n .rc-slider-dot {\n position: absolute;\n bottom: -2px;\n margin-left: -4px;\n width: 8px;\n height: 8px;\n border: 2px solid #e9e9e9;\n background-color: #fff;\n cursor: pointer;\n border-radius: 50%;\n vertical-align: middle;\n }\n .rc-slider-dot-active {\n border-color: #96dbfa;\n }\n .rc-slider-dot-reverse {\n margin-left: 0;\n margin-right: -4px;\n }\n .rc-slider-disabled {\n background-color: #e9e9e9;\n }\n .rc-slider-disabled .rc-slider-track {\n background-color: #ccc;\n }\n .rc-slider-disabled .rc-slider-handle,\n .rc-slider-disabled .rc-slider-dot {\n border-color: #ccc;\n box-shadow: none;\n background-color: #fff;\n cursor: not-allowed;\n }\n .rc-slider-disabled .rc-slider-mark-text,\n .rc-slider-disabled .rc-slider-dot {\n cursor: not-allowed !important;\n }\n .rc-slider-vertical {\n width: 14px;\n height: 100%;\n padding: 0 5px;\n }\n .rc-slider-vertical .rc-slider-rail {\n height: 100%;\n width: 4px;\n }\n .rc-slider-vertical .rc-slider-track {\n left: 5px;\n bottom: 0;\n width: 4px;\n }\n .rc-slider-vertical .rc-slider-handle {\n margin-left: -5px;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n }\n .rc-slider-vertical .rc-slider-mark {\n top: 0;\n left: 18px;\n height: 100%;\n }\n .rc-slider-vertical .rc-slider-step {\n height: 100%;\n width: 4px;\n }\n .rc-slider-vertical .rc-slider-dot {\n left: 2px;\n margin-bottom: -4px;\n }\n .rc-slider-vertical .rc-slider-dot:first-child {\n margin-bottom: -4px;\n }\n .rc-slider-vertical .rc-slider-dot:last-child {\n margin-bottom: -4px;\n }\n .rc-slider-tooltip-zoom-down-enter,\n .rc-slider-tooltip-zoom-down-appear {\n animation-duration: 0.3s;\n animation-fill-mode: both;\n display: block !important;\n animation-play-state: paused;\n }\n .rc-slider-tooltip-zoom-down-leave {\n animation-duration: 0.3s;\n animation-fill-mode: both;\n display: block !important;\n animation-play-state: paused;\n }\n .rc-slider-tooltip-zoom-down-enter.rc-slider-tooltip-zoom-down-enter-active,\n .rc-slider-tooltip-zoom-down-appear.rc-slider-tooltip-zoom-down-appear-active {\n animation-name: rcSliderTooltipZoomDownIn;\n animation-play-state: running;\n }\n .rc-slider-tooltip-zoom-down-leave.rc-slider-tooltip-zoom-down-leave-active {\n animation-name: rcSliderTooltipZoomDownOut;\n animation-play-state: running;\n }\n .rc-slider-tooltip-zoom-down-enter,\n .rc-slider-tooltip-zoom-down-appear {\n transform: scale(0, 0);\n animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);\n }\n .rc-slider-tooltip-zoom-down-leave {\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n }\n @keyframes rcSliderTooltipZoomDownIn {\n 0% {\n opacity: 0;\n transform-origin: 50% 100%;\n transform: scale(0, 0);\n }\n 100% {\n transform-origin: 50% 100%;\n transform: scale(1, 1);\n }\n }\n @keyframes rcSliderTooltipZoomDownOut {\n 0% {\n transform-origin: 50% 100%;\n transform: scale(1, 1);\n }\n 100% {\n opacity: 0;\n transform-origin: 50% 100%;\n transform: scale(0, 0);\n }\n }\n .rc-slider-tooltip {\n position: absolute;\n left: -9999px;\n top: -9999px;\n visibility: visible;\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n .rc-slider-tooltip * {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n .rc-slider-tooltip-hidden {\n display: none;\n }\n .rc-slider-tooltip-placement-top {\n padding: 4px 0 8px 0;\n }\n .rc-slider-tooltip-inner {\n padding: 6px 2px;\n min-width: 24px;\n height: 24px;\n font-size: 12px;\n line-height: 1;\n color: #fff;\n text-align: center;\n text-decoration: none;\n background-color: #6c6c6c;\n border-radius: 6px;\n box-shadow: 0 0 4px #d9d9d9;\n }\n .rc-slider-tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n .rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow {\n bottom: 4px;\n left: 50%;\n margin-left: -4px;\n border-width: 4px 4px 0;\n border-top-color: #6c6c6c;\n }\n"])));
|
|
1001
926
|
|
|
1002
|
-
|
|
1003
|
-
}
|
|
1004
|
-
|
|
1005
|
-
function _templateObject2() {
|
|
1006
|
-
var data = _taggedTemplateLiteral([""]);
|
|
1007
|
-
|
|
1008
|
-
_templateObject2 = function _templateObject2() {
|
|
1009
|
-
return data;
|
|
1010
|
-
};
|
|
1011
|
-
|
|
1012
|
-
return data;
|
|
1013
|
-
}
|
|
1014
|
-
|
|
1015
|
-
function _templateObject$1() {
|
|
1016
|
-
var data = _taggedTemplateLiteral(["\n ", ";\n position: relative;\n .rc-slider-handle {\n background-color: ", ";\n border-color: ", ";\n }\n\n .rc-slider {\n margin-bottom: ", ";\n max-width: calc(100% - ", ");\n margin-left: auto;\n margin-right: auto;\n }\n .rc-slider-track {\n background-color: ", ";\n }\n\n .rc-slider-handle {\n height: ", ";\n width: ", ";\n transition: border-color 0.5s ease-in-out, box-shadow 0.5s ease-in-out;\n &:hover,\n &:focus {\n border: ", ";\n box-shadow: 0 0 0 5px\n ", ";\n }\n }\n ", "\n"]);
|
|
1017
|
-
|
|
1018
|
-
_templateObject$1 = function _templateObject() {
|
|
1019
|
-
return data;
|
|
1020
|
-
};
|
|
1021
|
-
|
|
1022
|
-
return data;
|
|
1023
|
-
}
|
|
927
|
+
var _templateObject$1, _templateObject2, _templateObject3, _templateObject4;
|
|
1024
928
|
var handleDimension = '14px';
|
|
1025
|
-
var SliderContainer = styled__default.div(_templateObject$1(), baseSliderStyles, function (props) {
|
|
929
|
+
var SliderContainer = styled__default.div(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n ", ";\n position: relative;\n .rc-slider-handle {\n background-color: ", ";\n border-color: ", ";\n }\n\n .rc-slider {\n margin-bottom: ", ";\n max-width: calc(100% - ", ");\n margin-left: auto;\n margin-right: auto;\n }\n .rc-slider-track {\n background-color: ", ";\n }\n\n .rc-slider-handle {\n height: ", ";\n width: ", ";\n transition: border-color 0.5s ease-in-out, box-shadow 0.5s ease-in-out;\n &:hover,\n &:focus {\n border: ", ";\n box-shadow: 0 0 0 5px\n ", ";\n }\n }\n ", "\n"])), baseSliderStyles, function (props) {
|
|
1026
930
|
return props.theme.colors.primary;
|
|
1027
931
|
}, function (props) {
|
|
1028
932
|
return props.theme.colors.primary;
|
|
@@ -1041,43 +945,22 @@
|
|
|
1041
945
|
var getSliderMarkStyle = function getSliderMarkStyle(_ref) {
|
|
1042
946
|
var showMarks = _ref.showMarks,
|
|
1043
947
|
primary = _ref.theme.colors.primary;
|
|
1044
|
-
var visiblityStyle = showMarks ? styled.css(_templateObject2()) : styled.css(_templateObject3());
|
|
1045
|
-
return styled.css(_templateObject4(), primary, primary, visiblityStyle);
|
|
948
|
+
var visiblityStyle = showMarks ? styled.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([""]))) : styled.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n .rc-slider-mark-text,\n .rc-slider-dot {\n visibility: hidden;\n }\n "])));
|
|
949
|
+
return styled.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n .rc-slider-mark-text {\n color: ", ";\n }\n\n .rc-slider-dot {\n border-color: ", ";\n background-color: white;\n }\n ", "\n "])), primary, primary, visiblityStyle);
|
|
1046
950
|
};
|
|
1047
951
|
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
_templateObject$2 = function _templateObject() {
|
|
1052
|
-
return data;
|
|
1053
|
-
};
|
|
1054
|
-
|
|
1055
|
-
return data;
|
|
1056
|
-
}
|
|
1057
|
-
var ToolTipWrapper = styled__default.div(_templateObject$2());
|
|
952
|
+
var _templateObject$2;
|
|
953
|
+
var ToolTipWrapper = styled__default.div(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n position: absolute;\n right: auto;\n top: 20px;\n transform: translateX(-50%);\n width: 100px;\n text-align: center;\n"])));
|
|
1058
954
|
|
|
1059
|
-
|
|
1060
|
-
|
|
955
|
+
var _templateObject$3;
|
|
956
|
+
var Footer = styled__default.div(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n display: flex;\n flex-flow: row nowrap;\n justify-content: flex-end;\n"])));
|
|
1061
957
|
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
};
|
|
958
|
+
var _excluded = ["dragging", "value", "offset", "index"],
|
|
959
|
+
_excluded2 = ["renderTitleSection", "marks", "defaultMinValue", "defaultMaxValue", "min", "max", "toolTipComponent", "renderFooterSection", "onChange", "children", "identifier", "showMarks"];
|
|
1065
960
|
|
|
1066
|
-
|
|
1067
|
-
}
|
|
1068
|
-
var Footer = styled__default.div(_templateObject$3());
|
|
1069
|
-
|
|
1070
|
-
function _templateObject$4() {
|
|
1071
|
-
var data = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n"]);
|
|
1072
|
-
|
|
1073
|
-
_templateObject$4 = function _templateObject() {
|
|
1074
|
-
return data;
|
|
1075
|
-
};
|
|
1076
|
-
|
|
1077
|
-
return data;
|
|
1078
|
-
}
|
|
961
|
+
var _templateObject$4;
|
|
1079
962
|
var debounceBuilder = functions.debounced(100);
|
|
1080
|
-
var ChildrenWrapper = styled__default.div(_templateObject$4(), function (props) {
|
|
963
|
+
var ChildrenWrapper = styled__default.div(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n"])), function (props) {
|
|
1081
964
|
return props.theme.marginPaddings[3];
|
|
1082
965
|
});
|
|
1083
966
|
|
|
@@ -1090,7 +973,7 @@
|
|
|
1090
973
|
value = handleProps.value,
|
|
1091
974
|
offset = handleProps.offset,
|
|
1092
975
|
index = handleProps.index,
|
|
1093
|
-
restHandleProps = _objectWithoutProperties(handleProps,
|
|
976
|
+
restHandleProps = _objectWithoutProperties(handleProps, _excluded);
|
|
1094
977
|
|
|
1095
978
|
var getToolTipProps = function getToolTipProps() {
|
|
1096
979
|
var newProps = {}; // Ensures that Tooltip component does not get ref prop
|
|
@@ -1104,18 +987,18 @@
|
|
|
1104
987
|
};
|
|
1105
988
|
|
|
1106
989
|
var Tooltip = toolTipComponent;
|
|
1107
|
-
return React__default.createElement(React.Fragment, {
|
|
990
|
+
return /*#__PURE__*/React__default.createElement(React.Fragment, {
|
|
1108
991
|
key: index
|
|
1109
|
-
}, React__default.createElement(rcSlider.Handle, _extends({
|
|
992
|
+
}, /*#__PURE__*/React__default.createElement(rcSlider.Handle, _extends({
|
|
1110
993
|
offset: offset,
|
|
1111
994
|
value: value
|
|
1112
995
|
}, restHandleProps, {
|
|
1113
996
|
dragging: dragging.toString()
|
|
1114
|
-
})), toolTipComponent && React__default.createElement(ToolTipWrapper, {
|
|
997
|
+
})), toolTipComponent && /*#__PURE__*/React__default.createElement(ToolTipWrapper, {
|
|
1115
998
|
style: {
|
|
1116
999
|
left: "".concat(offset, "%")
|
|
1117
1000
|
}
|
|
1118
|
-
}, React__default.createElement(Tooltip, _extends({
|
|
1001
|
+
}, /*#__PURE__*/React__default.createElement(Tooltip, _extends({
|
|
1119
1002
|
marks: marks
|
|
1120
1003
|
}, getToolTipProps()))));
|
|
1121
1004
|
};
|
|
@@ -1135,7 +1018,7 @@
|
|
|
1135
1018
|
childRenderer = _ref.children,
|
|
1136
1019
|
identifier = _ref.identifier,
|
|
1137
1020
|
showMarks = _ref.showMarks,
|
|
1138
|
-
restProps = _objectWithoutProperties(_ref,
|
|
1021
|
+
restProps = _objectWithoutProperties(_ref, _excluded2);
|
|
1139
1022
|
|
|
1140
1023
|
var _useState = React.useState(defaultMinValue),
|
|
1141
1024
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -1168,15 +1051,12 @@
|
|
|
1168
1051
|
setSeed(Date.now());
|
|
1169
1052
|
};
|
|
1170
1053
|
|
|
1171
|
-
var giveFullRange = React.useCallback(function () {
|
|
1172
|
-
manuallyChangeMinValue(min);
|
|
1173
|
-
manuallyChangeMaxValue(max);
|
|
1174
|
-
}, [max, min]);
|
|
1175
1054
|
var prevMinVal = functions.usePrevious(currMinVal);
|
|
1176
1055
|
var prevMaxVal = functions.usePrevious(currMaxVal);
|
|
1177
1056
|
React.useEffect(function () {
|
|
1178
|
-
|
|
1179
|
-
|
|
1057
|
+
manuallyChangeMinValue(min);
|
|
1058
|
+
manuallyChangeMaxValue(max);
|
|
1059
|
+
}, [min, max]);
|
|
1180
1060
|
React.useEffect(function () {
|
|
1181
1061
|
if (prevMinVal !== currMinVal || prevMaxVal !== currMaxVal) {
|
|
1182
1062
|
var value = {
|
|
@@ -1191,16 +1071,15 @@
|
|
|
1191
1071
|
var actionsObj = {
|
|
1192
1072
|
manuallyChangeMinValue: manuallyChangeMinValue,
|
|
1193
1073
|
manuallyChangeMaxValue: manuallyChangeMaxValue,
|
|
1194
|
-
giveFullRange: giveFullRange,
|
|
1195
1074
|
currMinVal: currMinVal,
|
|
1196
1075
|
currMaxVal: currMaxVal,
|
|
1197
1076
|
defaultMinValue: defaultMinValue,
|
|
1198
1077
|
defaultMaxValue: defaultMaxValue
|
|
1199
1078
|
};
|
|
1200
|
-
return React__default.createElement(SliderContainer, {
|
|
1079
|
+
return /*#__PURE__*/React__default.createElement(SliderContainer, {
|
|
1201
1080
|
"data-qe-id": identifier,
|
|
1202
1081
|
showMarks: showMarks
|
|
1203
|
-
}, renderTitleSection(actionsObj), childRenderer && React__default.createElement(ChildrenWrapper, null, typeof childRenderer === 'function' ? childRenderer(actionsObj) : childRenderer), React__default.createElement(rcSlider.Range, _extends({
|
|
1082
|
+
}, renderTitleSection(actionsObj), childRenderer && /*#__PURE__*/React__default.createElement(ChildrenWrapper, null, typeof childRenderer === 'function' ? childRenderer(actionsObj) : childRenderer), /*#__PURE__*/React__default.createElement(rcSlider.Range, _extends({
|
|
1204
1083
|
seed: seed,
|
|
1205
1084
|
min: min,
|
|
1206
1085
|
max: max,
|
|
@@ -1220,7 +1099,7 @@
|
|
|
1220
1099
|
return renderCustomHandle(marks, toolTipComponent, props);
|
|
1221
1100
|
},
|
|
1222
1101
|
allowCross: false
|
|
1223
|
-
}, restProps)), React__default.createElement(Footer, null, renderFooterSection(actionsObj)));
|
|
1102
|
+
}, restProps)), /*#__PURE__*/React__default.createElement(Footer, null, renderFooterSection(actionsObj)));
|
|
1224
1103
|
};
|
|
1225
1104
|
|
|
1226
1105
|
RangeSlider.defaultProps = {
|
|
@@ -1240,75 +1119,618 @@
|
|
|
1240
1119
|
};
|
|
1241
1120
|
var RangeSlider$1 = themed(RangeSlider);
|
|
1242
1121
|
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1122
|
+
/*! *****************************************************************************
|
|
1123
|
+
Copyright (c) Microsoft Corporation.
|
|
1124
|
+
|
|
1125
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
1126
|
+
purpose with or without fee is hereby granted.
|
|
1127
|
+
|
|
1128
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
1129
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
1130
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
1131
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
1132
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
1133
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
1134
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
1135
|
+
***************************************************************************** */
|
|
1136
|
+
|
|
1137
|
+
var __assign = function() {
|
|
1138
|
+
__assign = Object.assign || function __assign(t) {
|
|
1139
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
1140
|
+
s = arguments[i];
|
|
1141
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
1142
|
+
}
|
|
1143
|
+
return t;
|
|
1144
|
+
};
|
|
1145
|
+
return __assign.apply(this, arguments);
|
|
1146
|
+
};
|
|
1147
|
+
|
|
1148
|
+
function __rest(s, e) {
|
|
1149
|
+
var t = {};
|
|
1150
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
1151
|
+
t[p] = s[p];
|
|
1152
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
1153
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
1154
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
1155
|
+
t[p[i]] = s[p[i]];
|
|
1156
|
+
}
|
|
1157
|
+
return t;
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
function __spreadArray(to, from, pack) {
|
|
1161
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
1162
|
+
if (ar || !(i in from)) {
|
|
1163
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
1164
|
+
ar[i] = from[i];
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
return to.concat(ar || from);
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
/**
|
|
1171
|
+
* Escape regex char
|
|
1172
|
+
*
|
|
1173
|
+
* See: https://stackoverflow.com/questions/17885855/use-dynamic-variable-string-as-regex-pattern-in-javascript
|
|
1174
|
+
*/
|
|
1175
|
+
var escapeRegExp = function (stringToGoIntoTheRegex) {
|
|
1176
|
+
return stringToGoIntoTheRegex.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
|
1254
1177
|
};
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1178
|
+
|
|
1179
|
+
var abbrMap = { k: 1000, m: 1000000, b: 1000000000 };
|
|
1180
|
+
/**
|
|
1181
|
+
* Parse a value with abbreviation e.g 1k = 1000
|
|
1182
|
+
*/
|
|
1183
|
+
var parseAbbrValue = function (value, decimalSeparator) {
|
|
1184
|
+
if (decimalSeparator === void 0) { decimalSeparator = '.'; }
|
|
1185
|
+
var reg = new RegExp("(\\d+(" + escapeRegExp(decimalSeparator) + "\\d*)?)([kmb])$", 'i');
|
|
1186
|
+
var match = value.match(reg);
|
|
1187
|
+
if (match) {
|
|
1188
|
+
var digits = match[1], abbr = match[3];
|
|
1189
|
+
var multiplier = abbrMap[abbr.toLowerCase()];
|
|
1190
|
+
return Number(digits.replace(decimalSeparator, '.')) * multiplier;
|
|
1191
|
+
}
|
|
1192
|
+
return undefined;
|
|
1258
1193
|
};
|
|
1194
|
+
|
|
1259
1195
|
/**
|
|
1260
|
-
*
|
|
1196
|
+
* Remove group separator from value eg. 1,000 > 1000
|
|
1261
1197
|
*/
|
|
1198
|
+
var removeSeparators = function (value, separator) {
|
|
1199
|
+
if (separator === void 0) { separator = ','; }
|
|
1200
|
+
var reg = new RegExp(escapeRegExp(separator), 'g');
|
|
1201
|
+
return value.replace(reg, '');
|
|
1202
|
+
};
|
|
1262
1203
|
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1204
|
+
/**
|
|
1205
|
+
* Remove invalid characters
|
|
1206
|
+
*/
|
|
1207
|
+
var removeInvalidChars = function (value, validChars) {
|
|
1208
|
+
var chars = escapeRegExp(validChars.join(''));
|
|
1209
|
+
var reg = new RegExp("[^\\d" + chars + "]", 'gi');
|
|
1210
|
+
return value.replace(reg, '');
|
|
1211
|
+
};
|
|
1267
1212
|
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1213
|
+
/**
|
|
1214
|
+
* Remove prefix, separators and extra decimals from value
|
|
1215
|
+
*/
|
|
1216
|
+
var cleanValue = function (_a) {
|
|
1217
|
+
var value = _a.value, _b = _a.groupSeparator, groupSeparator = _b === void 0 ? ',' : _b, _c = _a.decimalSeparator, decimalSeparator = _c === void 0 ? '.' : _c, _d = _a.allowDecimals, allowDecimals = _d === void 0 ? true : _d, _e = _a.decimalsLimit, decimalsLimit = _e === void 0 ? 2 : _e, _f = _a.allowNegativeValue, allowNegativeValue = _f === void 0 ? true : _f, _g = _a.disableAbbreviations, disableAbbreviations = _g === void 0 ? false : _g, _h = _a.prefix, prefix = _h === void 0 ? '' : _h, _j = _a.transformRawValue, transformRawValue = _j === void 0 ? function (rawValue) { return rawValue; } : _j;
|
|
1218
|
+
var transformedValue = transformRawValue(value);
|
|
1219
|
+
if (transformedValue === '-') {
|
|
1220
|
+
return transformedValue;
|
|
1221
|
+
}
|
|
1222
|
+
var abbreviations = disableAbbreviations ? [] : ['k', 'm', 'b'];
|
|
1223
|
+
var reg = new RegExp("((^|\\D)-\\d)|(-" + escapeRegExp(prefix) + ")");
|
|
1224
|
+
var isNegative = reg.test(transformedValue);
|
|
1225
|
+
// Is there a digit before the prefix? eg. 1$
|
|
1226
|
+
var _k = RegExp("(\\d+)-?" + escapeRegExp(prefix)).exec(value) || [], prefixWithValue = _k[0], preValue = _k[1];
|
|
1227
|
+
var withoutPrefix = prefix
|
|
1228
|
+
? prefixWithValue
|
|
1229
|
+
? transformedValue.replace(prefixWithValue, '').concat(preValue)
|
|
1230
|
+
: transformedValue.replace(prefix, '')
|
|
1231
|
+
: transformedValue;
|
|
1232
|
+
var withoutSeparators = removeSeparators(withoutPrefix, groupSeparator);
|
|
1233
|
+
var withoutInvalidChars = removeInvalidChars(withoutSeparators, __spreadArray([
|
|
1234
|
+
groupSeparator,
|
|
1235
|
+
decimalSeparator
|
|
1236
|
+
], abbreviations));
|
|
1237
|
+
var valueOnly = withoutInvalidChars;
|
|
1238
|
+
if (!disableAbbreviations) {
|
|
1239
|
+
// disallow letter without number
|
|
1240
|
+
if (abbreviations.some(function (letter) { return letter === withoutInvalidChars.toLowerCase(); })) {
|
|
1241
|
+
return '';
|
|
1242
|
+
}
|
|
1243
|
+
var parsed = parseAbbrValue(withoutInvalidChars, decimalSeparator);
|
|
1244
|
+
if (parsed) {
|
|
1245
|
+
valueOnly = String(parsed);
|
|
1246
|
+
}
|
|
1247
|
+
}
|
|
1248
|
+
var includeNegative = isNegative && allowNegativeValue ? '-' : '';
|
|
1249
|
+
if (decimalSeparator && valueOnly.includes(decimalSeparator)) {
|
|
1250
|
+
var _l = withoutInvalidChars.split(decimalSeparator), int = _l[0], decimals = _l[1];
|
|
1251
|
+
var trimmedDecimals = decimalsLimit && decimals ? decimals.slice(0, decimalsLimit) : decimals;
|
|
1252
|
+
var includeDecimals = allowDecimals ? "" + decimalSeparator + trimmedDecimals : '';
|
|
1253
|
+
return "" + includeNegative + int + includeDecimals;
|
|
1254
|
+
}
|
|
1255
|
+
return "" + includeNegative + valueOnly;
|
|
1273
1256
|
};
|
|
1274
1257
|
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1258
|
+
var fixedDecimalValue = function (value, decimalSeparator, fixedDecimalLength) {
|
|
1259
|
+
if (fixedDecimalLength && value.length > 1) {
|
|
1260
|
+
if (value.includes(decimalSeparator)) {
|
|
1261
|
+
var _a = value.split(decimalSeparator), int = _a[0], decimals = _a[1];
|
|
1262
|
+
if (decimals.length > fixedDecimalLength) {
|
|
1263
|
+
return "" + int + decimalSeparator + decimals.slice(0, fixedDecimalLength);
|
|
1264
|
+
}
|
|
1265
|
+
}
|
|
1266
|
+
var reg = value.length > fixedDecimalLength
|
|
1267
|
+
? new RegExp("(\\d+)(\\d{" + fixedDecimalLength + "})")
|
|
1268
|
+
: new RegExp("(\\d)(\\d+)");
|
|
1269
|
+
var match = value.match(reg);
|
|
1270
|
+
if (match) {
|
|
1271
|
+
var int = match[1], decimals = match[2];
|
|
1272
|
+
return "" + int + decimalSeparator + decimals;
|
|
1273
|
+
}
|
|
1274
|
+
}
|
|
1275
|
+
return value;
|
|
1278
1276
|
};
|
|
1279
1277
|
|
|
1280
|
-
function
|
|
1281
|
-
|
|
1278
|
+
var getSuffix = function (value, _a) {
|
|
1279
|
+
var _b = _a.groupSeparator, groupSeparator = _b === void 0 ? ',' : _b, _c = _a.decimalSeparator, decimalSeparator = _c === void 0 ? '.' : _c;
|
|
1280
|
+
var suffixReg = new RegExp("\\d([^" + escapeRegExp(groupSeparator) + escapeRegExp(decimalSeparator) + "0-9]+)");
|
|
1281
|
+
var suffixMatch = value.match(suffixReg);
|
|
1282
|
+
return suffixMatch ? suffixMatch[1] : undefined;
|
|
1283
|
+
};
|
|
1282
1284
|
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1285
|
+
/**
|
|
1286
|
+
* Format value with decimal separator, group separator and prefix
|
|
1287
|
+
*/
|
|
1288
|
+
var formatValue = function (options) {
|
|
1289
|
+
var _value = options.value, decimalSeparator = options.decimalSeparator, intlConfig = options.intlConfig, decimalScale = options.decimalScale, _a = options.prefix, prefix = _a === void 0 ? '' : _a, _b = options.suffix, suffix = _b === void 0 ? '' : _b;
|
|
1290
|
+
if (_value === '' || _value === undefined) {
|
|
1291
|
+
return '';
|
|
1292
|
+
}
|
|
1293
|
+
if (_value === '-') {
|
|
1294
|
+
return '-';
|
|
1295
|
+
}
|
|
1296
|
+
var isNegative = new RegExp("^\\d?-" + (prefix ? escapeRegExp(prefix) + "?" : '') + "\\d").test(_value);
|
|
1297
|
+
var value = decimalSeparator !== '.'
|
|
1298
|
+
? replaceDecimalSeparator(_value, decimalSeparator, isNegative)
|
|
1299
|
+
: _value;
|
|
1300
|
+
var numberFormatter = intlConfig
|
|
1301
|
+
? new Intl.NumberFormat(intlConfig.locale, intlConfig.currency
|
|
1302
|
+
? {
|
|
1303
|
+
style: 'currency',
|
|
1304
|
+
currency: intlConfig.currency,
|
|
1305
|
+
minimumFractionDigits: decimalScale || 0,
|
|
1306
|
+
maximumFractionDigits: 20,
|
|
1307
|
+
}
|
|
1308
|
+
: undefined)
|
|
1309
|
+
: new Intl.NumberFormat(undefined, {
|
|
1310
|
+
minimumFractionDigits: decimalScale || 0,
|
|
1311
|
+
maximumFractionDigits: 20,
|
|
1312
|
+
});
|
|
1313
|
+
var parts = numberFormatter.formatToParts(Number(value));
|
|
1314
|
+
var formatted = replaceParts(parts, options);
|
|
1315
|
+
// Does intl formatting add a suffix?
|
|
1316
|
+
var intlSuffix = getSuffix(formatted, __assign({}, options));
|
|
1317
|
+
// Include decimal separator if user input ends with decimal separator
|
|
1318
|
+
var includeDecimalSeparator = _value.slice(-1) === decimalSeparator ? decimalSeparator : '';
|
|
1319
|
+
var _c = value.match(RegExp('\\d+\\.(\\d+)')) || [], decimals = _c[1];
|
|
1320
|
+
// Keep original decimal padding if no decimalScale
|
|
1321
|
+
if (decimalScale === undefined && decimals && decimalSeparator) {
|
|
1322
|
+
if (formatted.includes(decimalSeparator)) {
|
|
1323
|
+
formatted = formatted.replace(RegExp("(\\d+)(" + escapeRegExp(decimalSeparator) + ")(\\d+)", 'g'), "$1$2" + decimals);
|
|
1324
|
+
}
|
|
1325
|
+
else {
|
|
1326
|
+
if (intlSuffix && !suffix) {
|
|
1327
|
+
formatted = formatted.replace(intlSuffix, "" + decimalSeparator + decimals + intlSuffix);
|
|
1328
|
+
}
|
|
1329
|
+
else {
|
|
1330
|
+
formatted = "" + formatted + decimalSeparator + decimals;
|
|
1331
|
+
}
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
if (suffix && includeDecimalSeparator) {
|
|
1335
|
+
return "" + formatted + includeDecimalSeparator + suffix;
|
|
1336
|
+
}
|
|
1337
|
+
if (intlSuffix && includeDecimalSeparator) {
|
|
1338
|
+
return formatted.replace(intlSuffix, "" + includeDecimalSeparator + intlSuffix);
|
|
1339
|
+
}
|
|
1340
|
+
if (intlSuffix && suffix) {
|
|
1341
|
+
return formatted.replace(intlSuffix, "" + includeDecimalSeparator + suffix);
|
|
1342
|
+
}
|
|
1343
|
+
return [formatted, includeDecimalSeparator, suffix].join('');
|
|
1344
|
+
};
|
|
1345
|
+
/**
|
|
1346
|
+
* Before converting to Number, decimal separator has to be .
|
|
1347
|
+
*/
|
|
1348
|
+
var replaceDecimalSeparator = function (value, decimalSeparator, isNegative) {
|
|
1349
|
+
var newValue = value;
|
|
1350
|
+
if (decimalSeparator && decimalSeparator !== '.') {
|
|
1351
|
+
newValue = newValue.replace(RegExp(escapeRegExp(decimalSeparator), 'g'), '.');
|
|
1352
|
+
if (isNegative && decimalSeparator === '-') {
|
|
1353
|
+
newValue = "-" + newValue.slice(1);
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
return newValue;
|
|
1357
|
+
};
|
|
1358
|
+
var replaceParts = function (parts, _a) {
|
|
1359
|
+
var prefix = _a.prefix, groupSeparator = _a.groupSeparator, decimalSeparator = _a.decimalSeparator, decimalScale = _a.decimalScale, _b = _a.disableGroupSeparators, disableGroupSeparators = _b === void 0 ? false : _b;
|
|
1360
|
+
return parts
|
|
1361
|
+
.reduce(function (prev, _a, i) {
|
|
1362
|
+
var type = _a.type, value = _a.value;
|
|
1363
|
+
if (i === 0 && prefix) {
|
|
1364
|
+
if (type === 'minusSign') {
|
|
1365
|
+
return [value, prefix];
|
|
1366
|
+
}
|
|
1367
|
+
if (type === 'currency') {
|
|
1368
|
+
return __spreadArray(__spreadArray([], prev), [prefix]);
|
|
1369
|
+
}
|
|
1370
|
+
return [prefix, value];
|
|
1371
|
+
}
|
|
1372
|
+
if (type === 'currency') {
|
|
1373
|
+
return prefix ? prev : __spreadArray(__spreadArray([], prev), [value]);
|
|
1374
|
+
}
|
|
1375
|
+
if (type === 'group') {
|
|
1376
|
+
return !disableGroupSeparators
|
|
1377
|
+
? __spreadArray(__spreadArray([], prev), [groupSeparator !== undefined ? groupSeparator : value]) : prev;
|
|
1378
|
+
}
|
|
1379
|
+
if (type === 'decimal') {
|
|
1380
|
+
if (decimalScale !== undefined && decimalScale === 0) {
|
|
1381
|
+
return prev;
|
|
1382
|
+
}
|
|
1383
|
+
return __spreadArray(__spreadArray([], prev), [decimalSeparator !== undefined ? decimalSeparator : value]);
|
|
1384
|
+
}
|
|
1385
|
+
if (type === 'fraction') {
|
|
1386
|
+
return __spreadArray(__spreadArray([], prev), [decimalScale !== undefined ? value.slice(0, decimalScale) : value]);
|
|
1387
|
+
}
|
|
1388
|
+
return __spreadArray(__spreadArray([], prev), [value]);
|
|
1389
|
+
}, [''])
|
|
1390
|
+
.join('');
|
|
1391
|
+
};
|
|
1286
1392
|
|
|
1287
|
-
|
|
1288
|
-
|
|
1393
|
+
var defaultConfig = {
|
|
1394
|
+
currencySymbol: '',
|
|
1395
|
+
groupSeparator: '',
|
|
1396
|
+
decimalSeparator: '',
|
|
1397
|
+
prefix: '',
|
|
1398
|
+
suffix: '',
|
|
1399
|
+
};
|
|
1400
|
+
/**
|
|
1401
|
+
* Get locale config from input or default
|
|
1402
|
+
*/
|
|
1403
|
+
var getLocaleConfig = function (intlConfig) {
|
|
1404
|
+
var _a = intlConfig || {}, locale = _a.locale, currency = _a.currency;
|
|
1405
|
+
var numberFormatter = locale
|
|
1406
|
+
? new Intl.NumberFormat(locale, currency ? { currency: currency, style: 'currency' } : undefined)
|
|
1407
|
+
: new Intl.NumberFormat();
|
|
1408
|
+
return numberFormatter.formatToParts(1000.1).reduce(function (prev, curr, i) {
|
|
1409
|
+
if (curr.type === 'currency') {
|
|
1410
|
+
if (i === 0) {
|
|
1411
|
+
return __assign(__assign({}, prev), { currencySymbol: curr.value, prefix: curr.value });
|
|
1412
|
+
}
|
|
1413
|
+
else {
|
|
1414
|
+
return __assign(__assign({}, prev), { currencySymbol: curr.value, suffix: curr.value });
|
|
1415
|
+
}
|
|
1416
|
+
}
|
|
1417
|
+
if (curr.type === 'group') {
|
|
1418
|
+
return __assign(__assign({}, prev), { groupSeparator: curr.value });
|
|
1419
|
+
}
|
|
1420
|
+
if (curr.type === 'decimal') {
|
|
1421
|
+
return __assign(__assign({}, prev), { decimalSeparator: curr.value });
|
|
1422
|
+
}
|
|
1423
|
+
return prev;
|
|
1424
|
+
}, defaultConfig);
|
|
1425
|
+
};
|
|
1289
1426
|
|
|
1290
|
-
function
|
|
1291
|
-
var data = _taggedTemplateLiteral(["\n cursor: not-allowed;\n opacity: 0.4;\n"]);
|
|
1427
|
+
var isNumber = function (input) { return RegExp(/\d/, 'gi').test(input); };
|
|
1292
1428
|
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1429
|
+
var padTrimValue = function (value, decimalSeparator, decimalScale) {
|
|
1430
|
+
if (decimalSeparator === void 0) { decimalSeparator = '.'; }
|
|
1431
|
+
if (decimalScale === undefined || value === '' || value === undefined) {
|
|
1432
|
+
return value;
|
|
1433
|
+
}
|
|
1434
|
+
if (!value.match(/\d/g)) {
|
|
1435
|
+
return '';
|
|
1436
|
+
}
|
|
1437
|
+
var _a = value.split(decimalSeparator), int = _a[0], decimals = _a[1];
|
|
1438
|
+
if (decimalScale === 0) {
|
|
1439
|
+
return int;
|
|
1440
|
+
}
|
|
1441
|
+
var newValue = decimals || '';
|
|
1442
|
+
if (newValue.length < decimalScale) {
|
|
1443
|
+
while (newValue.length < decimalScale) {
|
|
1444
|
+
newValue += '0';
|
|
1445
|
+
}
|
|
1446
|
+
}
|
|
1447
|
+
else {
|
|
1448
|
+
newValue = newValue.slice(0, decimalScale);
|
|
1449
|
+
}
|
|
1450
|
+
return "" + int + decimalSeparator + newValue;
|
|
1451
|
+
};
|
|
1296
1452
|
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1453
|
+
/**
|
|
1454
|
+
* Based on the last key stroke and the cursor position, update the value
|
|
1455
|
+
* and reposition the cursor to the right place
|
|
1456
|
+
*/
|
|
1457
|
+
var repositionCursor = function (_a) {
|
|
1458
|
+
var selectionStart = _a.selectionStart, value = _a.value, lastKeyStroke = _a.lastKeyStroke, stateValue = _a.stateValue, groupSeparator = _a.groupSeparator;
|
|
1459
|
+
var cursorPosition = selectionStart;
|
|
1460
|
+
var modifiedValue = value;
|
|
1461
|
+
if (stateValue && cursorPosition) {
|
|
1462
|
+
var splitValue = value.split('');
|
|
1463
|
+
// if cursor is to right of groupSeparator and backspace pressed, delete the character to the left of the separator and reposition the cursor
|
|
1464
|
+
if (lastKeyStroke === 'Backspace' && stateValue[cursorPosition] === groupSeparator) {
|
|
1465
|
+
splitValue.splice(cursorPosition - 1, 1);
|
|
1466
|
+
cursorPosition -= 1;
|
|
1467
|
+
}
|
|
1468
|
+
// if cursor is to left of groupSeparator and delete pressed, delete the character to the right of the separator and reposition the cursor
|
|
1469
|
+
if (lastKeyStroke === 'Delete' && stateValue[cursorPosition] === groupSeparator) {
|
|
1470
|
+
splitValue.splice(cursorPosition, 1);
|
|
1471
|
+
cursorPosition += 1;
|
|
1472
|
+
}
|
|
1473
|
+
modifiedValue = splitValue.join('');
|
|
1474
|
+
return { modifiedValue: modifiedValue, cursorPosition: cursorPosition };
|
|
1475
|
+
}
|
|
1476
|
+
return { modifiedValue: modifiedValue, cursorPosition: selectionStart };
|
|
1477
|
+
};
|
|
1301
1478
|
|
|
1302
|
-
function
|
|
1303
|
-
|
|
1479
|
+
var CurrencyInput = React.forwardRef(function (_a, ref) {
|
|
1480
|
+
var _b = _a.allowDecimals, allowDecimals = _b === void 0 ? true : _b, _c = _a.allowNegativeValue, allowNegativeValue = _c === void 0 ? true : _c, id = _a.id, name = _a.name, className = _a.className, customInput = _a.customInput, decimalsLimit = _a.decimalsLimit, defaultValue = _a.defaultValue, _d = _a.disabled, disabled = _d === void 0 ? false : _d, userMaxLength = _a.maxLength, userValue = _a.value, onValueChange = _a.onValueChange, fixedDecimalLength = _a.fixedDecimalLength, placeholder = _a.placeholder, decimalScale = _a.decimalScale, prefix = _a.prefix, suffix = _a.suffix, intlConfig = _a.intlConfig, step = _a.step, min = _a.min, max = _a.max, _e = _a.disableGroupSeparators, disableGroupSeparators = _e === void 0 ? false : _e, _f = _a.disableAbbreviations, disableAbbreviations = _f === void 0 ? false : _f, _decimalSeparator = _a.decimalSeparator, _groupSeparator = _a.groupSeparator, onChange = _a.onChange, onFocus = _a.onFocus, onBlur = _a.onBlur, onKeyDown = _a.onKeyDown, onKeyUp = _a.onKeyUp, transformRawValue = _a.transformRawValue, props = __rest(_a, ["allowDecimals", "allowNegativeValue", "id", "name", "className", "customInput", "decimalsLimit", "defaultValue", "disabled", "maxLength", "value", "onValueChange", "fixedDecimalLength", "placeholder", "decimalScale", "prefix", "suffix", "intlConfig", "step", "min", "max", "disableGroupSeparators", "disableAbbreviations", "decimalSeparator", "groupSeparator", "onChange", "onFocus", "onBlur", "onKeyDown", "onKeyUp", "transformRawValue"]);
|
|
1481
|
+
if (_decimalSeparator && isNumber(_decimalSeparator)) {
|
|
1482
|
+
throw new Error('decimalSeparator cannot be a number');
|
|
1483
|
+
}
|
|
1484
|
+
if (_groupSeparator && isNumber(_groupSeparator)) {
|
|
1485
|
+
throw new Error('groupSeparator cannot be a number');
|
|
1486
|
+
}
|
|
1487
|
+
var localeConfig = React.useMemo(function () { return getLocaleConfig(intlConfig); }, [intlConfig]);
|
|
1488
|
+
var decimalSeparator = _decimalSeparator || localeConfig.decimalSeparator || '';
|
|
1489
|
+
var groupSeparator = _groupSeparator || localeConfig.groupSeparator || '';
|
|
1490
|
+
if (decimalSeparator &&
|
|
1491
|
+
groupSeparator &&
|
|
1492
|
+
decimalSeparator === groupSeparator &&
|
|
1493
|
+
disableGroupSeparators === false) {
|
|
1494
|
+
throw new Error('decimalSeparator cannot be the same as groupSeparator');
|
|
1495
|
+
}
|
|
1496
|
+
var formatValueOptions = {
|
|
1497
|
+
decimalSeparator: decimalSeparator,
|
|
1498
|
+
groupSeparator: groupSeparator,
|
|
1499
|
+
disableGroupSeparators: disableGroupSeparators,
|
|
1500
|
+
intlConfig: intlConfig,
|
|
1501
|
+
prefix: prefix || localeConfig.prefix,
|
|
1502
|
+
suffix: suffix,
|
|
1503
|
+
};
|
|
1504
|
+
var cleanValueOptions = {
|
|
1505
|
+
decimalSeparator: decimalSeparator,
|
|
1506
|
+
groupSeparator: groupSeparator,
|
|
1507
|
+
allowDecimals: allowDecimals,
|
|
1508
|
+
decimalsLimit: decimalsLimit || fixedDecimalLength || 2,
|
|
1509
|
+
allowNegativeValue: allowNegativeValue,
|
|
1510
|
+
disableAbbreviations: disableAbbreviations,
|
|
1511
|
+
prefix: prefix || localeConfig.prefix,
|
|
1512
|
+
transformRawValue: transformRawValue,
|
|
1513
|
+
};
|
|
1514
|
+
var formattedStateValue = defaultValue !== undefined && defaultValue !== null
|
|
1515
|
+
? formatValue(__assign(__assign({}, formatValueOptions), { decimalScale: decimalScale, value: String(defaultValue) }))
|
|
1516
|
+
: userValue !== undefined && userValue !== null
|
|
1517
|
+
? formatValue(__assign(__assign({}, formatValueOptions), { decimalScale: decimalScale, value: String(userValue) }))
|
|
1518
|
+
: '';
|
|
1519
|
+
var _g = React.useState(formattedStateValue), stateValue = _g[0], setStateValue = _g[1];
|
|
1520
|
+
var _h = React.useState(false), dirty = _h[0], setDirty = _h[1];
|
|
1521
|
+
var _j = React.useState(0), cursor = _j[0], setCursor = _j[1];
|
|
1522
|
+
var _k = React.useState(0), changeCount = _k[0], setChangeCount = _k[1];
|
|
1523
|
+
var _l = React.useState(null), lastKeyStroke = _l[0], setLastKeyStroke = _l[1];
|
|
1524
|
+
var inputRef = ref || React.useRef(null);
|
|
1525
|
+
/**
|
|
1526
|
+
* Process change in value
|
|
1527
|
+
*/
|
|
1528
|
+
var processChange = function (value, selectionStart) {
|
|
1529
|
+
setDirty(true);
|
|
1530
|
+
var _a = repositionCursor({
|
|
1531
|
+
selectionStart: selectionStart,
|
|
1532
|
+
value: value,
|
|
1533
|
+
lastKeyStroke: lastKeyStroke,
|
|
1534
|
+
stateValue: stateValue,
|
|
1535
|
+
groupSeparator: groupSeparator,
|
|
1536
|
+
}), modifiedValue = _a.modifiedValue, cursorPosition = _a.cursorPosition;
|
|
1537
|
+
var stringValue = cleanValue(__assign({ value: modifiedValue }, cleanValueOptions));
|
|
1538
|
+
if (userMaxLength && stringValue.replace(/-/g, '').length > userMaxLength) {
|
|
1539
|
+
return;
|
|
1540
|
+
}
|
|
1541
|
+
if (stringValue === '' || stringValue === '-' || stringValue === decimalSeparator) {
|
|
1542
|
+
onValueChange && onValueChange(undefined, name, { float: null, formatted: '', value: '' });
|
|
1543
|
+
setStateValue(stringValue);
|
|
1544
|
+
return;
|
|
1545
|
+
}
|
|
1546
|
+
var numberValue = parseFloat(stringValue.replace(decimalSeparator, '.'));
|
|
1547
|
+
var formattedValue = formatValue(__assign({ value: stringValue }, formatValueOptions));
|
|
1548
|
+
if (cursorPosition !== undefined && cursorPosition !== null) {
|
|
1549
|
+
// Prevent cursor jumping
|
|
1550
|
+
var newCursor = cursorPosition + (formattedValue.length - value.length);
|
|
1551
|
+
newCursor = newCursor <= 0 ? (prefix ? prefix.length : 0) : newCursor;
|
|
1552
|
+
setCursor(newCursor);
|
|
1553
|
+
setChangeCount(changeCount + 1);
|
|
1554
|
+
}
|
|
1555
|
+
setStateValue(formattedValue);
|
|
1556
|
+
if (onValueChange) {
|
|
1557
|
+
var values = {
|
|
1558
|
+
float: numberValue,
|
|
1559
|
+
formatted: formattedValue,
|
|
1560
|
+
value: stringValue,
|
|
1561
|
+
};
|
|
1562
|
+
onValueChange(stringValue, name, values);
|
|
1563
|
+
}
|
|
1564
|
+
};
|
|
1565
|
+
/**
|
|
1566
|
+
* Handle change event
|
|
1567
|
+
*/
|
|
1568
|
+
var handleOnChange = function (event) {
|
|
1569
|
+
var _a = event.target, value = _a.value, selectionStart = _a.selectionStart;
|
|
1570
|
+
processChange(value, selectionStart);
|
|
1571
|
+
onChange && onChange(event);
|
|
1572
|
+
};
|
|
1573
|
+
/**
|
|
1574
|
+
* Handle focus event
|
|
1575
|
+
*/
|
|
1576
|
+
var handleOnFocus = function (event) {
|
|
1577
|
+
onFocus && onFocus(event);
|
|
1578
|
+
return stateValue ? stateValue.length : 0;
|
|
1579
|
+
};
|
|
1580
|
+
/**
|
|
1581
|
+
* Handle blur event
|
|
1582
|
+
*
|
|
1583
|
+
* Format value by padding/trimming decimals if required by
|
|
1584
|
+
*/
|
|
1585
|
+
var handleOnBlur = function (event) {
|
|
1586
|
+
var value = event.target.value;
|
|
1587
|
+
var valueOnly = cleanValue(__assign({ value: value }, cleanValueOptions));
|
|
1588
|
+
if (valueOnly === '-' || !valueOnly) {
|
|
1589
|
+
setStateValue('');
|
|
1590
|
+
onBlur && onBlur(event);
|
|
1591
|
+
return;
|
|
1592
|
+
}
|
|
1593
|
+
var fixedDecimals = fixedDecimalValue(valueOnly, decimalSeparator, fixedDecimalLength);
|
|
1594
|
+
var newValue = padTrimValue(fixedDecimals, decimalSeparator, decimalScale !== undefined ? decimalScale : fixedDecimalLength);
|
|
1595
|
+
var numberValue = parseFloat(newValue.replace(decimalSeparator, '.'));
|
|
1596
|
+
var formattedValue = formatValue(__assign(__assign({}, formatValueOptions), { value: newValue }));
|
|
1597
|
+
if (onValueChange) {
|
|
1598
|
+
onValueChange(newValue, name, {
|
|
1599
|
+
float: numberValue,
|
|
1600
|
+
formatted: formattedValue,
|
|
1601
|
+
value: newValue,
|
|
1602
|
+
});
|
|
1603
|
+
}
|
|
1604
|
+
setStateValue(formattedValue);
|
|
1605
|
+
onBlur && onBlur(event);
|
|
1606
|
+
};
|
|
1607
|
+
/**
|
|
1608
|
+
* Handle key down event
|
|
1609
|
+
*
|
|
1610
|
+
* Increase or decrease value by step
|
|
1611
|
+
*/
|
|
1612
|
+
var handleOnKeyDown = function (event) {
|
|
1613
|
+
var key = event.key;
|
|
1614
|
+
setLastKeyStroke(key);
|
|
1615
|
+
if (step && (key === 'ArrowUp' || key === 'ArrowDown')) {
|
|
1616
|
+
event.preventDefault();
|
|
1617
|
+
setCursor(stateValue.length);
|
|
1618
|
+
var currentValue = parseFloat(userValue !== undefined && userValue !== null
|
|
1619
|
+
? String(userValue).replace(decimalSeparator, '.')
|
|
1620
|
+
: cleanValue(__assign({ value: stateValue }, cleanValueOptions))) || 0;
|
|
1621
|
+
var newValue = key === 'ArrowUp' ? currentValue + step : currentValue - step;
|
|
1622
|
+
if (min !== undefined && newValue < min) {
|
|
1623
|
+
return;
|
|
1624
|
+
}
|
|
1625
|
+
if (max !== undefined && newValue > max) {
|
|
1626
|
+
return;
|
|
1627
|
+
}
|
|
1628
|
+
var fixedLength = String(step).includes('.')
|
|
1629
|
+
? Number(String(step).split('.')[1].length)
|
|
1630
|
+
: undefined;
|
|
1631
|
+
processChange(String(fixedLength ? newValue.toFixed(fixedLength) : newValue).replace('.', decimalSeparator));
|
|
1632
|
+
}
|
|
1633
|
+
onKeyDown && onKeyDown(event);
|
|
1634
|
+
};
|
|
1635
|
+
/**
|
|
1636
|
+
* Handle key up event
|
|
1637
|
+
*
|
|
1638
|
+
* Move cursor if there is a suffix to prevent user typing past suffix
|
|
1639
|
+
*/
|
|
1640
|
+
var handleOnKeyUp = function (event) {
|
|
1641
|
+
var key = event.key, selectionStart = event.currentTarget.selectionStart;
|
|
1642
|
+
if (key !== 'ArrowUp' && key !== 'ArrowDown' && stateValue !== '-') {
|
|
1643
|
+
var suffix_1 = getSuffix(stateValue, { groupSeparator: groupSeparator, decimalSeparator: decimalSeparator });
|
|
1644
|
+
if (suffix_1 && selectionStart && selectionStart > stateValue.length - suffix_1.length) {
|
|
1645
|
+
/* istanbul ignore else */
|
|
1646
|
+
if (inputRef && typeof inputRef === 'object' && inputRef.current) {
|
|
1647
|
+
var newCursor = stateValue.length - suffix_1.length;
|
|
1648
|
+
inputRef.current.setSelectionRange(newCursor, newCursor);
|
|
1649
|
+
}
|
|
1650
|
+
}
|
|
1651
|
+
}
|
|
1652
|
+
onKeyUp && onKeyUp(event);
|
|
1653
|
+
};
|
|
1654
|
+
React.useEffect(function () {
|
|
1655
|
+
// prevent cursor jumping if editing value
|
|
1656
|
+
if (dirty &&
|
|
1657
|
+
stateValue !== '-' &&
|
|
1658
|
+
inputRef &&
|
|
1659
|
+
typeof inputRef === 'object' &&
|
|
1660
|
+
inputRef.current) {
|
|
1661
|
+
inputRef.current.setSelectionRange(cursor, cursor);
|
|
1662
|
+
}
|
|
1663
|
+
}, [stateValue, cursor, inputRef, dirty, changeCount]);
|
|
1664
|
+
/**
|
|
1665
|
+
* If user has only entered "-" or decimal separator,
|
|
1666
|
+
* keep the char to allow them to enter next value
|
|
1667
|
+
*/
|
|
1668
|
+
var getRenderValue = function () {
|
|
1669
|
+
if (userValue !== undefined &&
|
|
1670
|
+
userValue !== null &&
|
|
1671
|
+
stateValue !== '-' &&
|
|
1672
|
+
(!decimalSeparator || stateValue !== decimalSeparator)) {
|
|
1673
|
+
return formatValue(__assign(__assign({}, formatValueOptions), { decimalScale: dirty ? undefined : decimalScale, value: String(userValue) }));
|
|
1674
|
+
}
|
|
1675
|
+
return stateValue;
|
|
1676
|
+
};
|
|
1677
|
+
var inputProps = __assign({ type: 'text', inputMode: 'decimal', id: id,
|
|
1678
|
+
name: name,
|
|
1679
|
+
className: className, onChange: handleOnChange, onBlur: handleOnBlur, onFocus: handleOnFocus, onKeyDown: handleOnKeyDown, onKeyUp: handleOnKeyUp, placeholder: placeholder,
|
|
1680
|
+
disabled: disabled, value: getRenderValue(), ref: inputRef }, props);
|
|
1681
|
+
if (customInput) {
|
|
1682
|
+
var CustomInput = customInput;
|
|
1683
|
+
return React__default.createElement(CustomInput, __assign({}, inputProps));
|
|
1684
|
+
}
|
|
1685
|
+
return React__default.createElement("input", __assign({}, inputProps));
|
|
1686
|
+
});
|
|
1687
|
+
CurrencyInput.displayName = 'CurrencyInput';
|
|
1304
1688
|
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1689
|
+
var _excluded$1 = ["value", "onChange", "prefix", "allowNegativeValue", "groupSeparator", "decimalSeparator"];
|
|
1690
|
+
var unMask = function unMask() {
|
|
1691
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
1692
|
+
return value.replace(/\D/g, '');
|
|
1693
|
+
};
|
|
1694
|
+
/**
|
|
1695
|
+
* Currency Input which formats the value to a specific format
|
|
1696
|
+
*/
|
|
1308
1697
|
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1698
|
+
var CurrencyInputFormatter = function CurrencyInputFormatter(_ref) {
|
|
1699
|
+
var value = _ref.value,
|
|
1700
|
+
onChange = _ref.onChange,
|
|
1701
|
+
prefix = _ref.prefix,
|
|
1702
|
+
allowNegativeValue = _ref.allowNegativeValue,
|
|
1703
|
+
groupSeparator = _ref.groupSeparator,
|
|
1704
|
+
decimalSeparator = _ref.decimalSeparator,
|
|
1705
|
+
rest = _objectWithoutProperties(_ref, _excluded$1);
|
|
1706
|
+
|
|
1707
|
+
return /*#__PURE__*/React__default.createElement(CurrencyInput, _extends({}, rest, {
|
|
1708
|
+
value: value,
|
|
1709
|
+
prefix: prefix,
|
|
1710
|
+
onValueChange: onChange,
|
|
1711
|
+
groupSeparator: groupSeparator,
|
|
1712
|
+
decimalSeparator: decimalSeparator,
|
|
1713
|
+
allowNegativeValue: allowNegativeValue
|
|
1714
|
+
}));
|
|
1715
|
+
};
|
|
1716
|
+
|
|
1717
|
+
CurrencyInputFormatter.defaultProps = {
|
|
1718
|
+
value: '',
|
|
1719
|
+
prefix: 'R',
|
|
1720
|
+
groupSeparator: ',',
|
|
1721
|
+
decimalSeparator: '.',
|
|
1722
|
+
allowNegativeValue: false,
|
|
1723
|
+
onChange: function onChange() {}
|
|
1724
|
+
};
|
|
1725
|
+
|
|
1726
|
+
var _templateObject$5, _templateObject2$1;
|
|
1727
|
+
var disabledButtonStyle = styled.css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n cursor: not-allowed;\n opacity: 0.4;\n"])));
|
|
1728
|
+
var baseButtonStyle = styled.css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\n padding: 1rem 3.5rem;\n cursor: pointer;\n letter-spacing: 1.3px;\n border-style: none;\n text-transform: uppercase;\n font-size: 12px;\n color: #fff;\n transition: 0.2s ease-in-out;\n outline: none;\n min-width: 150px;\n"])));
|
|
1729
|
+
|
|
1730
|
+
var _excluded$2 = ["children"];
|
|
1731
|
+
|
|
1732
|
+
var _templateObject$6;
|
|
1733
|
+
var Button = styled__default.button(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n ", ";\n background-color: ", ";\n color: ", ";\n border: 1px solid ", ";\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n &:disabled {\n ", "\n &:hover {\n background-color: ", ";\n }\n }\n"])), baseButtonStyle, function (props) {
|
|
1312
1734
|
return props.theme.colors.ntrlMin;
|
|
1313
1735
|
}, function (props) {
|
|
1314
1736
|
return props.theme.colors.primary;
|
|
@@ -1324,36 +1746,18 @@
|
|
|
1324
1746
|
|
|
1325
1747
|
var SecondaryButton = function SecondaryButton(_ref) {
|
|
1326
1748
|
var children = _ref.children,
|
|
1327
|
-
restProps = _objectWithoutProperties(_ref,
|
|
1749
|
+
restProps = _objectWithoutProperties(_ref, _excluded$2);
|
|
1328
1750
|
|
|
1329
|
-
return React__default.createElement(Button, restProps, children);
|
|
1751
|
+
return /*#__PURE__*/React__default.createElement(Button, restProps, children);
|
|
1330
1752
|
};
|
|
1331
1753
|
|
|
1332
1754
|
var SecondaryButton$1 = themed(SecondaryButton);
|
|
1333
1755
|
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
_templateObject2$2 = function _templateObject2() {
|
|
1338
|
-
return data;
|
|
1339
|
-
};
|
|
1340
|
-
|
|
1341
|
-
return data;
|
|
1342
|
-
}
|
|
1343
|
-
|
|
1344
|
-
function _templateObject$7() {
|
|
1345
|
-
var data = _taggedTemplateLiteral(["\n font-size: ", ";\n font-weight: bold;\n margin-bottom: 0;\n text-transform: uppercase;\n"]);
|
|
1346
|
-
|
|
1347
|
-
_templateObject$7 = function _templateObject() {
|
|
1348
|
-
return data;
|
|
1349
|
-
};
|
|
1350
|
-
|
|
1351
|
-
return data;
|
|
1352
|
-
}
|
|
1353
|
-
var Title = styled__default.h1(_templateObject$7(), function (props) {
|
|
1756
|
+
var _templateObject$7, _templateObject2$2;
|
|
1757
|
+
var Title = styled__default.h1(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n font-size: ", ";\n font-weight: bold;\n margin-bottom: 0;\n text-transform: uppercase;\n"])), function (props) {
|
|
1354
1758
|
return props.theme.fontSizes[2];
|
|
1355
1759
|
});
|
|
1356
|
-
var InterestsSubheadingContainer = styled__default.div(_templateObject2$2(), function (props) {
|
|
1760
|
+
var InterestsSubheadingContainer = styled__default.div(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n padding-bottom: ", ";\n border-bottom: 1px solid ", ";\n margin-bottom: ", ";\n margin-top: ", ";\n width: 100%;\n align-items: center;\n"])), function (props) {
|
|
1357
1761
|
return props.theme.marginPaddings[1];
|
|
1358
1762
|
}, function (props) {
|
|
1359
1763
|
return props.theme.colors.primary;
|
|
@@ -1367,34 +1771,28 @@
|
|
|
1367
1771
|
var title = _ref.title,
|
|
1368
1772
|
children = _ref.children,
|
|
1369
1773
|
className = _ref.className;
|
|
1370
|
-
return React__default.createElement(InterestsSubheadingContainer, {
|
|
1774
|
+
return /*#__PURE__*/React__default.createElement(InterestsSubheadingContainer, {
|
|
1371
1775
|
className: className
|
|
1372
|
-
}, React__default.createElement(Title, null, title), React__default.createElement("div", null, children));
|
|
1776
|
+
}, /*#__PURE__*/React__default.createElement(Title, null, title), /*#__PURE__*/React__default.createElement("div", null, children));
|
|
1373
1777
|
};
|
|
1374
1778
|
|
|
1375
1779
|
var interestCategories = {
|
|
1376
1780
|
SHOES: 'SHOES',
|
|
1377
1781
|
BAGS: 'BAGS',
|
|
1378
1782
|
ACCESSORIES: 'ACCESSORIES',
|
|
1379
|
-
WATCHES: 'WATCHES'
|
|
1783
|
+
WATCHES: 'WATCHES',
|
|
1784
|
+
APPAREL: 'APPAREL'
|
|
1380
1785
|
};
|
|
1381
1786
|
var interestCategoryMaxPrices = {
|
|
1382
1787
|
SHOES: 50000,
|
|
1383
1788
|
BAGS: 500000,
|
|
1384
1789
|
ACCESSORIES: 100000,
|
|
1385
|
-
WATCHES: 500000
|
|
1790
|
+
WATCHES: 500000,
|
|
1791
|
+
APPAREL: 100000
|
|
1386
1792
|
};
|
|
1387
1793
|
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
_templateObject$8 = function _templateObject() {
|
|
1392
|
-
return data;
|
|
1393
|
-
};
|
|
1394
|
-
|
|
1395
|
-
return data;
|
|
1396
|
-
}
|
|
1397
|
-
var CurrencyInputWrapper = styled__default.div(_templateObject$8(), function (props) {
|
|
1794
|
+
var _templateObject$8;
|
|
1795
|
+
var CurrencyInputWrapper = styled__default.div(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n display: flex;\n flex-flow: row nowrap;\n justify-content: space-between;\n\n input[data-qe-id='masked-input-min'],\n input[data-qe-id='masked-input-max'] {\n flex-basis: 30%;\n border-left: none;\n border-right: none;\n border-top: none;\n border-bottom: 1px solid ", ";\n }\n"])), function (props) {
|
|
1398
1796
|
return props.theme.colors.primary;
|
|
1399
1797
|
});
|
|
1400
1798
|
|
|
@@ -1416,6 +1814,9 @@
|
|
|
1416
1814
|
case interestCategories.WATCHES:
|
|
1417
1815
|
return interestCategoryMaxPrices.WATCHES;
|
|
1418
1816
|
|
|
1817
|
+
case interestCategories.APPAREL:
|
|
1818
|
+
return interestCategoryMaxPrices.APPAREL;
|
|
1819
|
+
|
|
1419
1820
|
default:
|
|
1420
1821
|
return 0;
|
|
1421
1822
|
}
|
|
@@ -1423,7 +1824,7 @@
|
|
|
1423
1824
|
|
|
1424
1825
|
var getFooterButtons = function getFooterButtons(actionObj) {
|
|
1425
1826
|
var giveFullRange = actionObj.giveFullRange;
|
|
1426
|
-
return React__default.createElement(SecondaryButton$1, {
|
|
1827
|
+
return /*#__PURE__*/React__default.createElement(SecondaryButton$1, {
|
|
1427
1828
|
type: "button",
|
|
1428
1829
|
onClick: giveFullRange
|
|
1429
1830
|
}, "Full Price Range");
|
|
@@ -1472,11 +1873,11 @@
|
|
|
1472
1873
|
});
|
|
1473
1874
|
};
|
|
1474
1875
|
|
|
1475
|
-
return React__default.createElement("div", {
|
|
1876
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
1476
1877
|
className: "price-ranges"
|
|
1477
|
-
}, React__default.createElement(RangeSlider$1, {
|
|
1878
|
+
}, /*#__PURE__*/React__default.createElement(RangeSlider$1, {
|
|
1478
1879
|
renderTitleSection: function renderTitleSection() {
|
|
1479
|
-
return React__default.createElement(InterestsSubheading, {
|
|
1880
|
+
return /*#__PURE__*/React__default.createElement(InterestsSubheading, {
|
|
1480
1881
|
title: "Price Range"
|
|
1481
1882
|
});
|
|
1482
1883
|
},
|
|
@@ -1493,21 +1894,17 @@
|
|
|
1493
1894
|
manuallyChangeMaxValue = _ref2.manuallyChangeMaxValue,
|
|
1494
1895
|
currMinVal = _ref2.currMinVal,
|
|
1495
1896
|
currMaxVal = _ref2.currMaxVal;
|
|
1496
|
-
return React__default.createElement(CurrencyInputWrapper, null, React__default.createElement(
|
|
1897
|
+
return /*#__PURE__*/React__default.createElement(CurrencyInputWrapper, null, /*#__PURE__*/React__default.createElement(CurrencyInputFormatter, {
|
|
1497
1898
|
"data-qe-id": "masked-input-min",
|
|
1498
|
-
type: "text",
|
|
1499
1899
|
value: currMinVal,
|
|
1500
|
-
onChange: function onChange(
|
|
1501
|
-
|
|
1502
|
-
handleMinCurrencyChange(e.target.value, currMaxVal, manuallyChangeMinValue);
|
|
1900
|
+
onChange: function onChange(value) {
|
|
1901
|
+
handleMinCurrencyChange(value, currMaxVal, manuallyChangeMinValue);
|
|
1503
1902
|
}
|
|
1504
|
-
}), React__default.createElement(
|
|
1903
|
+
}), /*#__PURE__*/React__default.createElement(CurrencyInputFormatter, {
|
|
1505
1904
|
"data-qe-id": "masked-input-max",
|
|
1506
|
-
type: "text",
|
|
1507
1905
|
value: currMaxVal,
|
|
1508
|
-
onChange: function onChange(
|
|
1509
|
-
|
|
1510
|
-
handleMaxCurrencyChange(e.target.value, currMinVal, manuallyChangeMaxValue);
|
|
1906
|
+
onChange: function onChange(value) {
|
|
1907
|
+
handleMaxCurrencyChange(value, currMinVal, manuallyChangeMaxValue);
|
|
1511
1908
|
}
|
|
1512
1909
|
}));
|
|
1513
1910
|
}));
|