@bonlineza/luxity-lib 2.7.5 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/Accordion.js +39 -85
  2. package/AddInterest.js +899 -745
  3. package/BrandSelector.js +82 -166
  4. package/Checkbox.js +18 -24
  5. package/CheckboxButton.js +18 -42
  6. package/CountryCodeSelect.js +16 -3
  7. package/CurrencyInputFormatter.js +671 -0
  8. package/GenderSelector.js +31 -81
  9. package/GraphQLMultiSelector.js +45 -87
  10. package/IconHeader.js +8 -17
  11. package/IconWrapper.js +2 -10
  12. package/InterestCatSelector.js +53 -120
  13. package/InterestItem.js +94 -134
  14. package/Interests.js +984 -887
  15. package/InterestsSubheading.js +5 -23
  16. package/InvertedTextButton.js +17 -48
  17. package/LuxityGraphQLMultiselector.js +73 -143
  18. package/LuxityLoader.js +1221 -0
  19. package/LuxityPageReady.js +15 -8
  20. package/NotificationDropDown.js +66 -63
  21. package/Notify.js +1 -1
  22. package/OutlinePrimaryButton.js +12 -37
  23. package/PriceRangeSelector.js +669 -273
  24. package/PrimaryButton.js +12 -37
  25. package/README.md +1 -1
  26. package/RadioButtons.js +61 -139
  27. package/RangeSlider.js +52 -118
  28. package/ReactSelectWrapper.js +15 -2
  29. package/SecondaryButton.js +12 -37
  30. package/SectionLoader.js +23 -0
  31. package/ShoeSizeSelector.js +68 -164
  32. package/SimpleErrorBoundary.js +12 -5
  33. package/StyleSelector.js +82 -166
  34. package/TextButton.js +12 -37
  35. package/Tooltip.js +16 -81
  36. package/WrapperButton.js +8 -32
  37. package/build/bundle.js +1033 -1091
  38. package/package.json +10 -12
  39. package/svg/Accessories.js +4 -5
  40. package/svg/Account.js +4 -5
  41. package/svg/Add.js +4 -5
  42. package/svg/ArrowRight.js +3 -4
  43. package/svg/Bags.js +6 -7
  44. package/svg/BurgerMenu.js +3 -4
  45. package/svg/Calendar.js +17 -18
  46. package/svg/CalendarCircled.js +18 -19
  47. package/svg/CheckCircled.js +4 -5
  48. package/svg/Close.js +3 -4
  49. package/svg/Dot.js +3 -4
  50. package/svg/Edit.js +3 -4
  51. package/svg/Eye.js +4 -5
  52. package/svg/FileAttach.js +3 -4
  53. package/svg/FileAttachCircled.js +4 -5
  54. package/svg/LightBulb.js +11 -12
  55. package/svg/Logo.js +38 -39
  56. package/svg/LuxityMenu.js +3 -4
  57. package/svg/Minus.js +3 -4
  58. package/svg/MobileAvatar.js +3 -4
  59. package/svg/MyOrder.js +6 -7
  60. package/svg/MyPayment.js +6 -7
  61. package/svg/MyProfile.js +7 -8
  62. package/svg/MySale.js +4 -5
  63. package/svg/Notification.js +4 -5
  64. package/svg/PointerDown.js +3 -4
  65. package/svg/Search.js +3 -4
  66. package/svg/Shoes.js +6 -7
  67. package/svg/SvgWrapper.js +2 -10
  68. package/svg/Trash.js +5 -6
  69. package/svg/Watches.js +11 -12
  70. package/CHANGELOG.md +0 -152
@@ -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'), require('text-mask-all/addons/dist/createNumberMask'), require('text-mask-all/react/dist/reactTextMask')) :
3
- typeof define === 'function' && define.amd ? define(['react', '@bonlineza/b-lib/functions', 'rc-slider', 'styled-components', 'text-mask-all/addons/dist/createNumberMask', 'text-mask-all/react/dist/reactTextMask'], factory) :
4
- (global = global || self, global.PriceRangeSelector = factory(global.React, global.function, global.rcSlider, global.styled, global.createNumberMask, global.MaskedInput));
5
- }(this, (function (React, functions, rcSlider, styled, createNumberMask, MaskedInput) { 'use strict';
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 || function (target) {
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
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
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
- var _e = undefined;
90
+
91
+ var _s, _e;
141
92
 
142
93
  try {
143
- for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
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 || function (target) {
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.__proto__ = superClass;
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
- Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
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/master/src/internalHelpers/errors.md#" + code + " for more information.") || this;
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
- function _templateObject() {
975
- var data = _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"]);
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 "]);
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"])));
987
926
 
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
- };
1001
-
1002
- return data;
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
- function _templateObject$2() {
1049
- var data = _taggedTemplateLiteral(["\n position: absolute;\n right: auto;\n top: 20px;\n transform: translateX(-50%);\n width: 100px;\n text-align: center;\n"]);
1050
-
1051
- _templateObject$2 = function _templateObject() {
1052
- return data;
1053
- };
1054
-
1055
- return data;
1056
- }
1057
- var ToolTipWrapper = styled__default.div(_templateObject$2());
1058
-
1059
- function _templateObject$3() {
1060
- var data = _taggedTemplateLiteral(["\n display: flex;\n flex-flow: row nowrap;\n justify-content: flex-end;\n"]);
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"])));
1061
954
 
1062
- _templateObject$3 = function _templateObject() {
1063
- return data;
1064
- };
1065
-
1066
- return data;
1067
- }
1068
- var Footer = styled__default.div(_templateObject$3());
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"])));
1069
957
 
1070
- function _templateObject$4() {
1071
- var data = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n"]);
958
+ var _excluded = ["dragging", "value", "offset", "index"],
959
+ _excluded2 = ["renderTitleSection", "marks", "defaultMinValue", "defaultMaxValue", "min", "max", "toolTipComponent", "renderFooterSection", "onChange", "children", "identifier", "showMarks"];
1072
960
 
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, ["dragging", "value", "offset", "index"]);
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, ["renderTitleSection", "marks", "defaultMinValue", "defaultMaxValue", "min", "max", "toolTipComponent", "renderFooterSection", "onChange", "children", "identifier", "showMarks"]);
1021
+ restProps = _objectWithoutProperties(_ref, _excluded2);
1139
1022
 
1140
1023
  var _useState = React.useState(defaultMinValue),
1141
1024
  _useState2 = _slicedToArray(_useState, 2),
@@ -1197,10 +1080,10 @@
1197
1080
  defaultMinValue: defaultMinValue,
1198
1081
  defaultMaxValue: defaultMaxValue
1199
1082
  };
1200
- return React__default.createElement(SliderContainer, {
1083
+ return /*#__PURE__*/React__default.createElement(SliderContainer, {
1201
1084
  "data-qe-id": identifier,
1202
1085
  showMarks: showMarks
1203
- }, renderTitleSection(actionsObj), childRenderer && React__default.createElement(ChildrenWrapper, null, typeof childRenderer === 'function' ? childRenderer(actionsObj) : childRenderer), React__default.createElement(rcSlider.Range, _extends({
1086
+ }, renderTitleSection(actionsObj), childRenderer && /*#__PURE__*/React__default.createElement(ChildrenWrapper, null, typeof childRenderer === 'function' ? childRenderer(actionsObj) : childRenderer), /*#__PURE__*/React__default.createElement(rcSlider.Range, _extends({
1204
1087
  seed: seed,
1205
1088
  min: min,
1206
1089
  max: max,
@@ -1220,7 +1103,7 @@
1220
1103
  return renderCustomHandle(marks, toolTipComponent, props);
1221
1104
  },
1222
1105
  allowCross: false
1223
- }, restProps)), React__default.createElement(Footer, null, renderFooterSection(actionsObj)));
1106
+ }, restProps)), /*#__PURE__*/React__default.createElement(Footer, null, renderFooterSection(actionsObj)));
1224
1107
  };
1225
1108
 
1226
1109
  RangeSlider.defaultProps = {
@@ -1240,75 +1123,618 @@
1240
1123
  };
1241
1124
  var RangeSlider$1 = themed(RangeSlider);
1242
1125
 
1243
- var defaultMaskOptions = {
1244
- prefix: 'R',
1245
- suffix: '',
1246
- includeThousandsSeparator: true,
1247
- thousandsSeparatorSymbol: ',',
1248
- allowDecimal: true,
1249
- decimalSymbol: '.',
1250
- decimalLimit: 2,
1251
- // how many digits allowed after the decimal
1252
- allowNegative: false,
1253
- allowLeadingZeroes: false
1126
+ /*! *****************************************************************************
1127
+ Copyright (c) Microsoft Corporation.
1128
+
1129
+ Permission to use, copy, modify, and/or distribute this software for any
1130
+ purpose with or without fee is hereby granted.
1131
+
1132
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
1133
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1134
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
1135
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1136
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
1137
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1138
+ PERFORMANCE OF THIS SOFTWARE.
1139
+ ***************************************************************************** */
1140
+
1141
+ var __assign = function() {
1142
+ __assign = Object.assign || function __assign(t) {
1143
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
1144
+ s = arguments[i];
1145
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
1146
+ }
1147
+ return t;
1148
+ };
1149
+ return __assign.apply(this, arguments);
1150
+ };
1151
+
1152
+ function __rest(s, e) {
1153
+ var t = {};
1154
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1155
+ t[p] = s[p];
1156
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
1157
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1158
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1159
+ t[p[i]] = s[p[i]];
1160
+ }
1161
+ return t;
1162
+ }
1163
+
1164
+ function __spreadArray(to, from, pack) {
1165
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
1166
+ if (ar || !(i in from)) {
1167
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
1168
+ ar[i] = from[i];
1169
+ }
1170
+ }
1171
+ return to.concat(ar || from);
1172
+ }
1173
+
1174
+ /**
1175
+ * Escape regex char
1176
+ *
1177
+ * See: https://stackoverflow.com/questions/17885855/use-dynamic-variable-string-as-regex-pattern-in-javascript
1178
+ */
1179
+ var escapeRegExp = function (stringToGoIntoTheRegex) {
1180
+ return stringToGoIntoTheRegex.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
1254
1181
  };
1255
- var unMask = function unMask() {
1256
- var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
1257
- return value.replace(/\D/g, '');
1182
+
1183
+ var abbrMap = { k: 1000, m: 1000000, b: 1000000000 };
1184
+ /**
1185
+ * Parse a value with abbreviation e.g 1k = 1000
1186
+ */
1187
+ var parseAbbrValue = function (value, decimalSeparator) {
1188
+ if (decimalSeparator === void 0) { decimalSeparator = '.'; }
1189
+ var reg = new RegExp("(\\d+(" + escapeRegExp(decimalSeparator) + "\\d*)?)([kmb])$", 'i');
1190
+ var match = value.match(reg);
1191
+ if (match) {
1192
+ var digits = match[1], abbr = match[3];
1193
+ var multiplier = abbrMap[abbr.toLowerCase()];
1194
+ return Number(digits.replace(decimalSeparator, '.')) * multiplier;
1195
+ }
1196
+ return undefined;
1258
1197
  };
1198
+
1259
1199
  /**
1260
- * Currency Input Masks text to specific format
1200
+ * Remove group separator from value eg. 1,000 > 1000
1261
1201
  */
1202
+ var removeSeparators = function (value, separator) {
1203
+ if (separator === void 0) { separator = ','; }
1204
+ var reg = new RegExp(escapeRegExp(separator), 'g');
1205
+ return value.replace(reg, '');
1206
+ };
1262
1207
 
1263
- var CurrencyInput = function CurrencyInput(_ref) {
1264
- var inputMode = _ref.inputMode,
1265
- maskOptions = _ref.maskOptions,
1266
- inputProps = _objectWithoutProperties(_ref, ["inputMode", "maskOptions"]);
1208
+ /**
1209
+ * Remove invalid characters
1210
+ */
1211
+ var removeInvalidChars = function (value, validChars) {
1212
+ var chars = escapeRegExp(validChars.join(''));
1213
+ var reg = new RegExp("[^\\d" + chars + "]", 'gi');
1214
+ return value.replace(reg, '');
1215
+ };
1267
1216
 
1268
- var currencyMask = createNumberMask(_objectSpread2(_objectSpread2({}, defaultMaskOptions), maskOptions));
1269
- return React__default.createElement(MaskedInput, _extends({}, inputProps, {
1270
- inputMode: inputMode,
1271
- mask: currencyMask
1272
- }));
1217
+ /**
1218
+ * Remove prefix, separators and extra decimals from value
1219
+ */
1220
+ var cleanValue = function (_a) {
1221
+ 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;
1222
+ var transformedValue = transformRawValue(value);
1223
+ if (transformedValue === '-') {
1224
+ return transformedValue;
1225
+ }
1226
+ var abbreviations = disableAbbreviations ? [] : ['k', 'm', 'b'];
1227
+ var reg = new RegExp("((^|\\D)-\\d)|(-" + escapeRegExp(prefix) + ")");
1228
+ var isNegative = reg.test(transformedValue);
1229
+ // Is there a digit before the prefix? eg. 1$
1230
+ var _k = RegExp("(\\d+)-?" + escapeRegExp(prefix)).exec(value) || [], prefixWithValue = _k[0], preValue = _k[1];
1231
+ var withoutPrefix = prefix
1232
+ ? prefixWithValue
1233
+ ? transformedValue.replace(prefixWithValue, '').concat(preValue)
1234
+ : transformedValue.replace(prefix, '')
1235
+ : transformedValue;
1236
+ var withoutSeparators = removeSeparators(withoutPrefix, groupSeparator);
1237
+ var withoutInvalidChars = removeInvalidChars(withoutSeparators, __spreadArray([
1238
+ groupSeparator,
1239
+ decimalSeparator
1240
+ ], abbreviations));
1241
+ var valueOnly = withoutInvalidChars;
1242
+ if (!disableAbbreviations) {
1243
+ // disallow letter without number
1244
+ if (abbreviations.some(function (letter) { return letter === withoutInvalidChars.toLowerCase(); })) {
1245
+ return '';
1246
+ }
1247
+ var parsed = parseAbbrValue(withoutInvalidChars, decimalSeparator);
1248
+ if (parsed) {
1249
+ valueOnly = String(parsed);
1250
+ }
1251
+ }
1252
+ var includeNegative = isNegative && allowNegativeValue ? '-' : '';
1253
+ if (decimalSeparator && valueOnly.includes(decimalSeparator)) {
1254
+ var _l = withoutInvalidChars.split(decimalSeparator), int = _l[0], decimals = _l[1];
1255
+ var trimmedDecimals = decimalsLimit && decimals ? decimals.slice(0, decimalsLimit) : decimals;
1256
+ var includeDecimals = allowDecimals ? "" + decimalSeparator + trimmedDecimals : '';
1257
+ return "" + includeNegative + int + includeDecimals;
1258
+ }
1259
+ return "" + includeNegative + valueOnly;
1273
1260
  };
1274
1261
 
1275
- CurrencyInput.defaultProps = {
1276
- maskOptions: defaultMaskOptions,
1277
- inputMode: 'numeric'
1262
+ var fixedDecimalValue = function (value, decimalSeparator, fixedDecimalLength) {
1263
+ if (fixedDecimalLength && value.length > 1) {
1264
+ if (value.includes(decimalSeparator)) {
1265
+ var _a = value.split(decimalSeparator), int = _a[0], decimals = _a[1];
1266
+ if (decimals.length > fixedDecimalLength) {
1267
+ return "" + int + decimalSeparator + decimals.slice(0, fixedDecimalLength);
1268
+ }
1269
+ }
1270
+ var reg = value.length > fixedDecimalLength
1271
+ ? new RegExp("(\\d+)(\\d{" + fixedDecimalLength + "})")
1272
+ : new RegExp("(\\d)(\\d+)");
1273
+ var match = value.match(reg);
1274
+ if (match) {
1275
+ var int = match[1], decimals = match[2];
1276
+ return "" + int + decimalSeparator + decimals;
1277
+ }
1278
+ }
1279
+ return value;
1278
1280
  };
1279
1281
 
1280
- function _templateObject2$1() {
1281
- var data = _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"]);
1282
+ var getSuffix = function (value, _a) {
1283
+ var _b = _a.groupSeparator, groupSeparator = _b === void 0 ? ',' : _b, _c = _a.decimalSeparator, decimalSeparator = _c === void 0 ? '.' : _c;
1284
+ var suffixReg = new RegExp("\\d([^" + escapeRegExp(groupSeparator) + escapeRegExp(decimalSeparator) + "0-9]+)");
1285
+ var suffixMatch = value.match(suffixReg);
1286
+ return suffixMatch ? suffixMatch[1] : undefined;
1287
+ };
1282
1288
 
1283
- _templateObject2$1 = function _templateObject2() {
1284
- return data;
1285
- };
1289
+ /**
1290
+ * Format value with decimal separator, group separator and prefix
1291
+ */
1292
+ var formatValue = function (options) {
1293
+ 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;
1294
+ if (_value === '' || _value === undefined) {
1295
+ return '';
1296
+ }
1297
+ if (_value === '-') {
1298
+ return '-';
1299
+ }
1300
+ var isNegative = new RegExp("^\\d?-" + (prefix ? escapeRegExp(prefix) + "?" : '') + "\\d").test(_value);
1301
+ var value = decimalSeparator !== '.'
1302
+ ? replaceDecimalSeparator(_value, decimalSeparator, isNegative)
1303
+ : _value;
1304
+ var numberFormatter = intlConfig
1305
+ ? new Intl.NumberFormat(intlConfig.locale, intlConfig.currency
1306
+ ? {
1307
+ style: 'currency',
1308
+ currency: intlConfig.currency,
1309
+ minimumFractionDigits: decimalScale || 0,
1310
+ maximumFractionDigits: 20,
1311
+ }
1312
+ : undefined)
1313
+ : new Intl.NumberFormat(undefined, {
1314
+ minimumFractionDigits: decimalScale || 0,
1315
+ maximumFractionDigits: 20,
1316
+ });
1317
+ var parts = numberFormatter.formatToParts(Number(value));
1318
+ var formatted = replaceParts(parts, options);
1319
+ // Does intl formatting add a suffix?
1320
+ var intlSuffix = getSuffix(formatted, __assign({}, options));
1321
+ // Include decimal separator if user input ends with decimal separator
1322
+ var includeDecimalSeparator = _value.slice(-1) === decimalSeparator ? decimalSeparator : '';
1323
+ var _c = value.match(RegExp('\\d+\\.(\\d+)')) || [], decimals = _c[1];
1324
+ // Keep original decimal padding if no decimalScale
1325
+ if (decimalScale === undefined && decimals && decimalSeparator) {
1326
+ if (formatted.includes(decimalSeparator)) {
1327
+ formatted = formatted.replace(RegExp("(\\d+)(" + escapeRegExp(decimalSeparator) + ")(\\d+)", 'g'), "$1$2" + decimals);
1328
+ }
1329
+ else {
1330
+ if (intlSuffix && !suffix) {
1331
+ formatted = formatted.replace(intlSuffix, "" + decimalSeparator + decimals + intlSuffix);
1332
+ }
1333
+ else {
1334
+ formatted = "" + formatted + decimalSeparator + decimals;
1335
+ }
1336
+ }
1337
+ }
1338
+ if (suffix && includeDecimalSeparator) {
1339
+ return "" + formatted + includeDecimalSeparator + suffix;
1340
+ }
1341
+ if (intlSuffix && includeDecimalSeparator) {
1342
+ return formatted.replace(intlSuffix, "" + includeDecimalSeparator + intlSuffix);
1343
+ }
1344
+ if (intlSuffix && suffix) {
1345
+ return formatted.replace(intlSuffix, "" + includeDecimalSeparator + suffix);
1346
+ }
1347
+ return [formatted, includeDecimalSeparator, suffix].join('');
1348
+ };
1349
+ /**
1350
+ * Before converting to Number, decimal separator has to be .
1351
+ */
1352
+ var replaceDecimalSeparator = function (value, decimalSeparator, isNegative) {
1353
+ var newValue = value;
1354
+ if (decimalSeparator && decimalSeparator !== '.') {
1355
+ newValue = newValue.replace(RegExp(escapeRegExp(decimalSeparator), 'g'), '.');
1356
+ if (isNegative && decimalSeparator === '-') {
1357
+ newValue = "-" + newValue.slice(1);
1358
+ }
1359
+ }
1360
+ return newValue;
1361
+ };
1362
+ var replaceParts = function (parts, _a) {
1363
+ var prefix = _a.prefix, groupSeparator = _a.groupSeparator, decimalSeparator = _a.decimalSeparator, decimalScale = _a.decimalScale, _b = _a.disableGroupSeparators, disableGroupSeparators = _b === void 0 ? false : _b;
1364
+ return parts
1365
+ .reduce(function (prev, _a, i) {
1366
+ var type = _a.type, value = _a.value;
1367
+ if (i === 0 && prefix) {
1368
+ if (type === 'minusSign') {
1369
+ return [value, prefix];
1370
+ }
1371
+ if (type === 'currency') {
1372
+ return __spreadArray(__spreadArray([], prev), [prefix]);
1373
+ }
1374
+ return [prefix, value];
1375
+ }
1376
+ if (type === 'currency') {
1377
+ return prefix ? prev : __spreadArray(__spreadArray([], prev), [value]);
1378
+ }
1379
+ if (type === 'group') {
1380
+ return !disableGroupSeparators
1381
+ ? __spreadArray(__spreadArray([], prev), [groupSeparator !== undefined ? groupSeparator : value]) : prev;
1382
+ }
1383
+ if (type === 'decimal') {
1384
+ if (decimalScale !== undefined && decimalScale === 0) {
1385
+ return prev;
1386
+ }
1387
+ return __spreadArray(__spreadArray([], prev), [decimalSeparator !== undefined ? decimalSeparator : value]);
1388
+ }
1389
+ if (type === 'fraction') {
1390
+ return __spreadArray(__spreadArray([], prev), [decimalScale !== undefined ? value.slice(0, decimalScale) : value]);
1391
+ }
1392
+ return __spreadArray(__spreadArray([], prev), [value]);
1393
+ }, [''])
1394
+ .join('');
1395
+ };
1286
1396
 
1287
- return data;
1288
- }
1397
+ var defaultConfig = {
1398
+ currencySymbol: '',
1399
+ groupSeparator: '',
1400
+ decimalSeparator: '',
1401
+ prefix: '',
1402
+ suffix: '',
1403
+ };
1404
+ /**
1405
+ * Get locale config from input or default
1406
+ */
1407
+ var getLocaleConfig = function (intlConfig) {
1408
+ var _a = intlConfig || {}, locale = _a.locale, currency = _a.currency;
1409
+ var numberFormatter = locale
1410
+ ? new Intl.NumberFormat(locale, currency ? { currency: currency, style: 'currency' } : undefined)
1411
+ : new Intl.NumberFormat();
1412
+ return numberFormatter.formatToParts(1000.1).reduce(function (prev, curr, i) {
1413
+ if (curr.type === 'currency') {
1414
+ if (i === 0) {
1415
+ return __assign(__assign({}, prev), { currencySymbol: curr.value, prefix: curr.value });
1416
+ }
1417
+ else {
1418
+ return __assign(__assign({}, prev), { currencySymbol: curr.value, suffix: curr.value });
1419
+ }
1420
+ }
1421
+ if (curr.type === 'group') {
1422
+ return __assign(__assign({}, prev), { groupSeparator: curr.value });
1423
+ }
1424
+ if (curr.type === 'decimal') {
1425
+ return __assign(__assign({}, prev), { decimalSeparator: curr.value });
1426
+ }
1427
+ return prev;
1428
+ }, defaultConfig);
1429
+ };
1289
1430
 
1290
- function _templateObject$5() {
1291
- var data = _taggedTemplateLiteral(["\n cursor: not-allowed;\n opacity: 0.4;\n"]);
1431
+ var isNumber = function (input) { return RegExp(/\d/, 'gi').test(input); };
1292
1432
 
1293
- _templateObject$5 = function _templateObject() {
1294
- return data;
1295
- };
1433
+ var padTrimValue = function (value, decimalSeparator, decimalScale) {
1434
+ if (decimalSeparator === void 0) { decimalSeparator = '.'; }
1435
+ if (decimalScale === undefined || value === '' || value === undefined) {
1436
+ return value;
1437
+ }
1438
+ if (!value.match(/\d/g)) {
1439
+ return '';
1440
+ }
1441
+ var _a = value.split(decimalSeparator), int = _a[0], decimals = _a[1];
1442
+ if (decimalScale === 0) {
1443
+ return int;
1444
+ }
1445
+ var newValue = decimals || '';
1446
+ if (newValue.length < decimalScale) {
1447
+ while (newValue.length < decimalScale) {
1448
+ newValue += '0';
1449
+ }
1450
+ }
1451
+ else {
1452
+ newValue = newValue.slice(0, decimalScale);
1453
+ }
1454
+ return "" + int + decimalSeparator + newValue;
1455
+ };
1296
1456
 
1297
- return data;
1298
- }
1299
- var disabledButtonStyle = styled.css(_templateObject$5());
1300
- var baseButtonStyle = styled.css(_templateObject2$1());
1457
+ /**
1458
+ * Based on the last key stroke and the cursor position, update the value
1459
+ * and reposition the cursor to the right place
1460
+ */
1461
+ var repositionCursor = function (_a) {
1462
+ var selectionStart = _a.selectionStart, value = _a.value, lastKeyStroke = _a.lastKeyStroke, stateValue = _a.stateValue, groupSeparator = _a.groupSeparator;
1463
+ var cursorPosition = selectionStart;
1464
+ var modifiedValue = value;
1465
+ if (stateValue && cursorPosition) {
1466
+ var splitValue = value.split('');
1467
+ // if cursor is to right of groupSeparator and backspace pressed, delete the character to the left of the separator and reposition the cursor
1468
+ if (lastKeyStroke === 'Backspace' && stateValue[cursorPosition] === groupSeparator) {
1469
+ splitValue.splice(cursorPosition - 1, 1);
1470
+ cursorPosition -= 1;
1471
+ }
1472
+ // if cursor is to left of groupSeparator and delete pressed, delete the character to the right of the separator and reposition the cursor
1473
+ if (lastKeyStroke === 'Delete' && stateValue[cursorPosition] === groupSeparator) {
1474
+ splitValue.splice(cursorPosition, 1);
1475
+ cursorPosition += 1;
1476
+ }
1477
+ modifiedValue = splitValue.join('');
1478
+ return { modifiedValue: modifiedValue, cursorPosition: cursorPosition };
1479
+ }
1480
+ return { modifiedValue: modifiedValue, cursorPosition: selectionStart };
1481
+ };
1482
+
1483
+ var CurrencyInput = React.forwardRef(function (_a, ref) {
1484
+ 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"]);
1485
+ if (_decimalSeparator && isNumber(_decimalSeparator)) {
1486
+ throw new Error('decimalSeparator cannot be a number');
1487
+ }
1488
+ if (_groupSeparator && isNumber(_groupSeparator)) {
1489
+ throw new Error('groupSeparator cannot be a number');
1490
+ }
1491
+ var localeConfig = React.useMemo(function () { return getLocaleConfig(intlConfig); }, [intlConfig]);
1492
+ var decimalSeparator = _decimalSeparator || localeConfig.decimalSeparator || '';
1493
+ var groupSeparator = _groupSeparator || localeConfig.groupSeparator || '';
1494
+ if (decimalSeparator &&
1495
+ groupSeparator &&
1496
+ decimalSeparator === groupSeparator &&
1497
+ disableGroupSeparators === false) {
1498
+ throw new Error('decimalSeparator cannot be the same as groupSeparator');
1499
+ }
1500
+ var formatValueOptions = {
1501
+ decimalSeparator: decimalSeparator,
1502
+ groupSeparator: groupSeparator,
1503
+ disableGroupSeparators: disableGroupSeparators,
1504
+ intlConfig: intlConfig,
1505
+ prefix: prefix || localeConfig.prefix,
1506
+ suffix: suffix,
1507
+ };
1508
+ var cleanValueOptions = {
1509
+ decimalSeparator: decimalSeparator,
1510
+ groupSeparator: groupSeparator,
1511
+ allowDecimals: allowDecimals,
1512
+ decimalsLimit: decimalsLimit || fixedDecimalLength || 2,
1513
+ allowNegativeValue: allowNegativeValue,
1514
+ disableAbbreviations: disableAbbreviations,
1515
+ prefix: prefix || localeConfig.prefix,
1516
+ transformRawValue: transformRawValue,
1517
+ };
1518
+ var formattedStateValue = defaultValue !== undefined && defaultValue !== null
1519
+ ? formatValue(__assign(__assign({}, formatValueOptions), { decimalScale: decimalScale, value: String(defaultValue) }))
1520
+ : userValue !== undefined && userValue !== null
1521
+ ? formatValue(__assign(__assign({}, formatValueOptions), { decimalScale: decimalScale, value: String(userValue) }))
1522
+ : '';
1523
+ var _g = React.useState(formattedStateValue), stateValue = _g[0], setStateValue = _g[1];
1524
+ var _h = React.useState(false), dirty = _h[0], setDirty = _h[1];
1525
+ var _j = React.useState(0), cursor = _j[0], setCursor = _j[1];
1526
+ var _k = React.useState(0), changeCount = _k[0], setChangeCount = _k[1];
1527
+ var _l = React.useState(null), lastKeyStroke = _l[0], setLastKeyStroke = _l[1];
1528
+ var inputRef = ref || React.useRef(null);
1529
+ /**
1530
+ * Process change in value
1531
+ */
1532
+ var processChange = function (value, selectionStart) {
1533
+ setDirty(true);
1534
+ var _a = repositionCursor({
1535
+ selectionStart: selectionStart,
1536
+ value: value,
1537
+ lastKeyStroke: lastKeyStroke,
1538
+ stateValue: stateValue,
1539
+ groupSeparator: groupSeparator,
1540
+ }), modifiedValue = _a.modifiedValue, cursorPosition = _a.cursorPosition;
1541
+ var stringValue = cleanValue(__assign({ value: modifiedValue }, cleanValueOptions));
1542
+ if (userMaxLength && stringValue.replace(/-/g, '').length > userMaxLength) {
1543
+ return;
1544
+ }
1545
+ if (stringValue === '' || stringValue === '-' || stringValue === decimalSeparator) {
1546
+ onValueChange && onValueChange(undefined, name, { float: null, formatted: '', value: '' });
1547
+ setStateValue(stringValue);
1548
+ return;
1549
+ }
1550
+ var numberValue = parseFloat(stringValue.replace(decimalSeparator, '.'));
1551
+ var formattedValue = formatValue(__assign({ value: stringValue }, formatValueOptions));
1552
+ if (cursorPosition !== undefined && cursorPosition !== null) {
1553
+ // Prevent cursor jumping
1554
+ var newCursor = cursorPosition + (formattedValue.length - value.length);
1555
+ newCursor = newCursor <= 0 ? (prefix ? prefix.length : 0) : newCursor;
1556
+ setCursor(newCursor);
1557
+ setChangeCount(changeCount + 1);
1558
+ }
1559
+ setStateValue(formattedValue);
1560
+ if (onValueChange) {
1561
+ var values = {
1562
+ float: numberValue,
1563
+ formatted: formattedValue,
1564
+ value: stringValue,
1565
+ };
1566
+ onValueChange(stringValue, name, values);
1567
+ }
1568
+ };
1569
+ /**
1570
+ * Handle change event
1571
+ */
1572
+ var handleOnChange = function (event) {
1573
+ var _a = event.target, value = _a.value, selectionStart = _a.selectionStart;
1574
+ processChange(value, selectionStart);
1575
+ onChange && onChange(event);
1576
+ };
1577
+ /**
1578
+ * Handle focus event
1579
+ */
1580
+ var handleOnFocus = function (event) {
1581
+ onFocus && onFocus(event);
1582
+ return stateValue ? stateValue.length : 0;
1583
+ };
1584
+ /**
1585
+ * Handle blur event
1586
+ *
1587
+ * Format value by padding/trimming decimals if required by
1588
+ */
1589
+ var handleOnBlur = function (event) {
1590
+ var value = event.target.value;
1591
+ var valueOnly = cleanValue(__assign({ value: value }, cleanValueOptions));
1592
+ if (valueOnly === '-' || !valueOnly) {
1593
+ setStateValue('');
1594
+ onBlur && onBlur(event);
1595
+ return;
1596
+ }
1597
+ var fixedDecimals = fixedDecimalValue(valueOnly, decimalSeparator, fixedDecimalLength);
1598
+ var newValue = padTrimValue(fixedDecimals, decimalSeparator, decimalScale !== undefined ? decimalScale : fixedDecimalLength);
1599
+ var numberValue = parseFloat(newValue.replace(decimalSeparator, '.'));
1600
+ var formattedValue = formatValue(__assign(__assign({}, formatValueOptions), { value: newValue }));
1601
+ if (onValueChange) {
1602
+ onValueChange(newValue, name, {
1603
+ float: numberValue,
1604
+ formatted: formattedValue,
1605
+ value: newValue,
1606
+ });
1607
+ }
1608
+ setStateValue(formattedValue);
1609
+ onBlur && onBlur(event);
1610
+ };
1611
+ /**
1612
+ * Handle key down event
1613
+ *
1614
+ * Increase or decrease value by step
1615
+ */
1616
+ var handleOnKeyDown = function (event) {
1617
+ var key = event.key;
1618
+ setLastKeyStroke(key);
1619
+ if (step && (key === 'ArrowUp' || key === 'ArrowDown')) {
1620
+ event.preventDefault();
1621
+ setCursor(stateValue.length);
1622
+ var currentValue = parseFloat(userValue !== undefined && userValue !== null
1623
+ ? String(userValue).replace(decimalSeparator, '.')
1624
+ : cleanValue(__assign({ value: stateValue }, cleanValueOptions))) || 0;
1625
+ var newValue = key === 'ArrowUp' ? currentValue + step : currentValue - step;
1626
+ if (min !== undefined && newValue < min) {
1627
+ return;
1628
+ }
1629
+ if (max !== undefined && newValue > max) {
1630
+ return;
1631
+ }
1632
+ var fixedLength = String(step).includes('.')
1633
+ ? Number(String(step).split('.')[1].length)
1634
+ : undefined;
1635
+ processChange(String(fixedLength ? newValue.toFixed(fixedLength) : newValue).replace('.', decimalSeparator));
1636
+ }
1637
+ onKeyDown && onKeyDown(event);
1638
+ };
1639
+ /**
1640
+ * Handle key up event
1641
+ *
1642
+ * Move cursor if there is a suffix to prevent user typing past suffix
1643
+ */
1644
+ var handleOnKeyUp = function (event) {
1645
+ var key = event.key, selectionStart = event.currentTarget.selectionStart;
1646
+ if (key !== 'ArrowUp' && key !== 'ArrowDown' && stateValue !== '-') {
1647
+ var suffix_1 = getSuffix(stateValue, { groupSeparator: groupSeparator, decimalSeparator: decimalSeparator });
1648
+ if (suffix_1 && selectionStart && selectionStart > stateValue.length - suffix_1.length) {
1649
+ /* istanbul ignore else */
1650
+ if (inputRef && typeof inputRef === 'object' && inputRef.current) {
1651
+ var newCursor = stateValue.length - suffix_1.length;
1652
+ inputRef.current.setSelectionRange(newCursor, newCursor);
1653
+ }
1654
+ }
1655
+ }
1656
+ onKeyUp && onKeyUp(event);
1657
+ };
1658
+ React.useEffect(function () {
1659
+ // prevent cursor jumping if editing value
1660
+ if (dirty &&
1661
+ stateValue !== '-' &&
1662
+ inputRef &&
1663
+ typeof inputRef === 'object' &&
1664
+ inputRef.current) {
1665
+ inputRef.current.setSelectionRange(cursor, cursor);
1666
+ }
1667
+ }, [stateValue, cursor, inputRef, dirty, changeCount]);
1668
+ /**
1669
+ * If user has only entered "-" or decimal separator,
1670
+ * keep the char to allow them to enter next value
1671
+ */
1672
+ var getRenderValue = function () {
1673
+ if (userValue !== undefined &&
1674
+ userValue !== null &&
1675
+ stateValue !== '-' &&
1676
+ (!decimalSeparator || stateValue !== decimalSeparator)) {
1677
+ return formatValue(__assign(__assign({}, formatValueOptions), { decimalScale: dirty ? undefined : decimalScale, value: String(userValue) }));
1678
+ }
1679
+ return stateValue;
1680
+ };
1681
+ var inputProps = __assign({ type: 'text', inputMode: 'decimal', id: id,
1682
+ name: name,
1683
+ className: className, onChange: handleOnChange, onBlur: handleOnBlur, onFocus: handleOnFocus, onKeyDown: handleOnKeyDown, onKeyUp: handleOnKeyUp, placeholder: placeholder,
1684
+ disabled: disabled, value: getRenderValue(), ref: inputRef }, props);
1685
+ if (customInput) {
1686
+ var CustomInput = customInput;
1687
+ return React__default.createElement(CustomInput, __assign({}, inputProps));
1688
+ }
1689
+ return React__default.createElement("input", __assign({}, inputProps));
1690
+ });
1691
+ CurrencyInput.displayName = 'CurrencyInput';
1301
1692
 
1302
- function _templateObject$6() {
1303
- var data = _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"]);
1693
+ var _excluded$1 = ["value", "onChange", "prefix", "allowNegativeValue", "groupSeparator", "decimalSeparator"];
1694
+ var unMask = function unMask() {
1695
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
1696
+ return value.replace(/\D/g, '');
1697
+ };
1698
+ /**
1699
+ * Currency Input which formats the value to a specific format
1700
+ */
1304
1701
 
1305
- _templateObject$6 = function _templateObject() {
1306
- return data;
1307
- };
1702
+ var CurrencyInputFormatter = function CurrencyInputFormatter(_ref) {
1703
+ var value = _ref.value,
1704
+ onChange = _ref.onChange,
1705
+ prefix = _ref.prefix,
1706
+ allowNegativeValue = _ref.allowNegativeValue,
1707
+ groupSeparator = _ref.groupSeparator,
1708
+ decimalSeparator = _ref.decimalSeparator,
1709
+ rest = _objectWithoutProperties(_ref, _excluded$1);
1710
+
1711
+ return /*#__PURE__*/React__default.createElement(CurrencyInput, _extends({}, rest, {
1712
+ value: value,
1713
+ prefix: prefix,
1714
+ onValueChange: onChange,
1715
+ groupSeparator: groupSeparator,
1716
+ decimalSeparator: decimalSeparator,
1717
+ allowNegativeValue: allowNegativeValue
1718
+ }));
1719
+ };
1308
1720
 
1309
- return data;
1310
- }
1311
- var Button = styled__default.button(_templateObject$6(), baseButtonStyle, function (props) {
1721
+ CurrencyInputFormatter.defaultProps = {
1722
+ value: '',
1723
+ prefix: 'R',
1724
+ groupSeparator: ',',
1725
+ decimalSeparator: '.',
1726
+ allowNegativeValue: false,
1727
+ onChange: function onChange() {}
1728
+ };
1729
+
1730
+ var _templateObject$5, _templateObject2$1;
1731
+ var disabledButtonStyle = styled.css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n cursor: not-allowed;\n opacity: 0.4;\n"])));
1732
+ 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"])));
1733
+
1734
+ var _excluded$2 = ["children"];
1735
+
1736
+ var _templateObject$6;
1737
+ 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
1738
  return props.theme.colors.ntrlMin;
1313
1739
  }, function (props) {
1314
1740
  return props.theme.colors.primary;
@@ -1324,36 +1750,18 @@
1324
1750
 
1325
1751
  var SecondaryButton = function SecondaryButton(_ref) {
1326
1752
  var children = _ref.children,
1327
- restProps = _objectWithoutProperties(_ref, ["children"]);
1753
+ restProps = _objectWithoutProperties(_ref, _excluded$2);
1328
1754
 
1329
- return React__default.createElement(Button, restProps, children);
1755
+ return /*#__PURE__*/React__default.createElement(Button, restProps, children);
1330
1756
  };
1331
1757
 
1332
1758
  var SecondaryButton$1 = themed(SecondaryButton);
1333
1759
 
1334
- function _templateObject2$2() {
1335
- var data = _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"]);
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) {
1760
+ var _templateObject$7, _templateObject2$2;
1761
+ 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
1762
  return props.theme.fontSizes[2];
1355
1763
  });
1356
- var InterestsSubheadingContainer = styled__default.div(_templateObject2$2(), function (props) {
1764
+ 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
1765
  return props.theme.marginPaddings[1];
1358
1766
  }, function (props) {
1359
1767
  return props.theme.colors.primary;
@@ -1367,9 +1775,9 @@
1367
1775
  var title = _ref.title,
1368
1776
  children = _ref.children,
1369
1777
  className = _ref.className;
1370
- return React__default.createElement(InterestsSubheadingContainer, {
1778
+ return /*#__PURE__*/React__default.createElement(InterestsSubheadingContainer, {
1371
1779
  className: className
1372
- }, React__default.createElement(Title, null, title), React__default.createElement("div", null, children));
1780
+ }, /*#__PURE__*/React__default.createElement(Title, null, title), /*#__PURE__*/React__default.createElement("div", null, children));
1373
1781
  };
1374
1782
 
1375
1783
  var interestCategories = {
@@ -1385,16 +1793,8 @@
1385
1793
  WATCHES: 500000
1386
1794
  };
1387
1795
 
1388
- function _templateObject$8() {
1389
- var data = _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"]);
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) {
1796
+ var _templateObject$8;
1797
+ 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
1798
  return props.theme.colors.primary;
1399
1799
  });
1400
1800
 
@@ -1423,7 +1823,7 @@
1423
1823
 
1424
1824
  var getFooterButtons = function getFooterButtons(actionObj) {
1425
1825
  var giveFullRange = actionObj.giveFullRange;
1426
- return React__default.createElement(SecondaryButton$1, {
1826
+ return /*#__PURE__*/React__default.createElement(SecondaryButton$1, {
1427
1827
  type: "button",
1428
1828
  onClick: giveFullRange
1429
1829
  }, "Full Price Range");
@@ -1472,11 +1872,11 @@
1472
1872
  });
1473
1873
  };
1474
1874
 
1475
- return React__default.createElement("div", {
1875
+ return /*#__PURE__*/React__default.createElement("div", {
1476
1876
  className: "price-ranges"
1477
- }, React__default.createElement(RangeSlider$1, {
1877
+ }, /*#__PURE__*/React__default.createElement(RangeSlider$1, {
1478
1878
  renderTitleSection: function renderTitleSection() {
1479
- return React__default.createElement(InterestsSubheading, {
1879
+ return /*#__PURE__*/React__default.createElement(InterestsSubheading, {
1480
1880
  title: "Price Range"
1481
1881
  });
1482
1882
  },
@@ -1493,21 +1893,17 @@
1493
1893
  manuallyChangeMaxValue = _ref2.manuallyChangeMaxValue,
1494
1894
  currMinVal = _ref2.currMinVal,
1495
1895
  currMaxVal = _ref2.currMaxVal;
1496
- return React__default.createElement(CurrencyInputWrapper, null, React__default.createElement(CurrencyInput, {
1896
+ return /*#__PURE__*/React__default.createElement(CurrencyInputWrapper, null, /*#__PURE__*/React__default.createElement(CurrencyInputFormatter, {
1497
1897
  "data-qe-id": "masked-input-min",
1498
- type: "text",
1499
1898
  value: currMinVal,
1500
- onChange: function onChange(e) {
1501
- e.preventDefault();
1502
- handleMinCurrencyChange(e.target.value, currMaxVal, manuallyChangeMinValue);
1899
+ onChange: function onChange(value) {
1900
+ handleMinCurrencyChange(value, currMaxVal, manuallyChangeMinValue);
1503
1901
  }
1504
- }), React__default.createElement(CurrencyInput, {
1902
+ }), /*#__PURE__*/React__default.createElement(CurrencyInputFormatter, {
1505
1903
  "data-qe-id": "masked-input-max",
1506
- type: "text",
1507
1904
  value: currMaxVal,
1508
- onChange: function onChange(e) {
1509
- e.preventDefault();
1510
- handleMaxCurrencyChange(e.target.value, currMinVal, manuallyChangeMaxValue);
1905
+ onChange: function onChange(value) {
1906
+ handleMaxCurrencyChange(value, currMinVal, manuallyChangeMaxValue);
1511
1907
  }
1512
1908
  }));
1513
1909
  }));