@spothero/ui 15.0.0-beta.1 → 15.0.0-beta.3

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 (61) hide show
  1. package/.eslintignore +2 -1
  2. package/README.md +2 -2
  3. package/backlog/Chart/Chart.js +2 -2
  4. package/backlog/DateTime/DatePicker.js +4 -4
  5. package/backlog/DateTime/DatePickerCalendar.js +8 -8
  6. package/backlog/DateTime/DatePickerCalendarWithRange.js +6 -6
  7. package/backlog/DateTime/DateTimeRangePicker.js +6 -4
  8. package/backlog/DateTime/TimePicker.js +3 -3
  9. package/backlog/ErrorBoundary/ErrorBoundary.js +7 -9
  10. package/backlog/Flyout/Flyout.js +5 -5
  11. package/backlog/Form/Form.js +5 -3
  12. package/backlog/GooglePlacesSearchInput/GooglePlacesSearchInput.js +1 -4
  13. package/backlog/Notification/Notification.js +4 -4
  14. package/backlog/Portal/Portal.js +3 -3
  15. package/backlog/RenderInBody/RenderInBody.js +2 -2
  16. package/backlog/Select/Select.js +3 -3
  17. package/backlog/SelectControlled/SelectControlled.js +3 -3
  18. package/backlog/Tooltip/Tooltip.js +6 -6
  19. package/backlog/utils/animation.js +84 -0
  20. package/backlog/utils/date.js +233 -0
  21. package/backlog/utils/dom.js +441 -0
  22. package/backlog/utils/environment.js +422 -0
  23. package/backlog/utils/number.js +43 -0
  24. package/backlog/utils/time.js +282 -0
  25. package/backlog/v1/components/Image/Image.js +2 -2
  26. package/backlog/v1/components/Modal/Modal.js +12 -12
  27. package/backlog/v1/components/Modal/ModalContent.js +3 -3
  28. package/package.json +1 -2
  29. package/styles/Chart/Chart.jsx +1 -1
  30. package/styles/DateTime/DatePicker.jsx +1 -1
  31. package/styles/DateTime/DatePickerCalendar.jsx +1 -1
  32. package/styles/DateTime/DatePickerCalendarWithRange.jsx +1 -1
  33. package/styles/DateTime/DateTimeRangePicker.jsx +2 -1
  34. package/styles/DateTime/TimePicker.jsx +1 -1
  35. package/styles/ErrorBoundary/ErrorBoundary.jsx +7 -6
  36. package/styles/Flyout/Flyout.jsx +1 -1
  37. package/styles/Form/Form.jsx +2 -1
  38. package/styles/GooglePlacesSearchInput/GooglePlacesSearchInput.jsx +2 -2
  39. package/styles/Notification/Notification.jsx +1 -1
  40. package/styles/Portal/Portal.jsx +1 -1
  41. package/styles/RenderInBody/RenderInBody.jsx +1 -1
  42. package/styles/Select/Select.jsx +1 -1
  43. package/styles/SelectControlled/SelectControlled.jsx +1 -1
  44. package/styles/Tooltip/Tooltip.jsx +1 -1
  45. package/styles/utils/animation.js +75 -0
  46. package/styles/utils/date.js +226 -0
  47. package/styles/utils/dom.js +428 -0
  48. package/styles/utils/environment.js +425 -0
  49. package/styles/utils/number.js +33 -0
  50. package/styles/utils/time.js +268 -0
  51. package/styles/v1/components/Image/Image.jsx +1 -1
  52. package/styles/v1/components/Modal/Modal.jsx +1 -1
  53. package/styles/v1/components/Modal/ModalContent.jsx +1 -1
  54. package/styles/v1/components/Modal/stories/Content.stories.js +1 -1
  55. package/styles/v2/components/Image/Image.jsx +1 -1
  56. package/v1/index.js +1 -1
  57. package/v1/index.js.LICENSE.txt +0 -29
  58. package/v1/index.js.map +1 -1
  59. package/v2/index.js +1 -1
  60. package/v2/index.js.LICENSE.txt +0 -29
  61. package/v2/index.js.map +1 -1
package/.eslintignore CHANGED
@@ -3,4 +3,5 @@ v2
3
3
  backlog
4
4
  styles
5
5
  dist
6
- **/fe-icons/**/*
6
+ **/fe-icons/**/*
7
+ **/fe-ui/**/*
package/README.md CHANGED
@@ -65,7 +65,7 @@ This will spin up a Storybook instance as well as open the Cypress app. The reas
65
65
  1. Create a directory in `src` with the same name as the component.
66
66
  1. Create the properly named component `.jsx` and `.scss` files for the component. Ensure that the Sass file is a partial (starts with `_`, i.e. `_Foo.scss`) so that it doesn't get compiled separately.
67
67
  1. Add the Sass partial import to `src/_index.scss`.
68
- 1. Add the React component export to `src/index.js`.
68
+ 1. Add the React component export to `src/index.js.bak`.
69
69
  1. Document all PropTypes and public methods accordingly so that they show up in the Storybook documentation properly.
70
70
  1. Add a `/stories` directory that has any/all usage examples for the component functionality. Follow the conventions outlined in the other components to do this.
71
71
  1. Submit a pull request with your changes.
@@ -94,7 +94,7 @@ File changes should mimic the following:
94
94
  ...
95
95
  ```
96
96
 
97
- *fe-ui/src/index.js*
97
+ *fe-ui/src/index.js.bak*
98
98
  ```javascript
99
99
  ...
100
100
  import Foo from './Foo/Foo';
@@ -47,7 +47,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
47
47
 
48
48
  var _chartist = _interopRequireDefault(require("chartist"));
49
49
 
50
- var _utils = require("@spothero/utils");
50
+ var _dom = _interopRequireDefault(require("../utils/dom"));
51
51
 
52
52
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
53
53
 
@@ -156,7 +156,7 @@ var Chart = /*#__PURE__*/function (_Component) {
156
156
  events = _this$props3.events;
157
157
 
158
158
  if (tooltip && tooltip.appendToBody) {
159
- _utils.DOMUtils.remove('.chartist-tooltip');
159
+ _dom.default.remove('.chartist-tooltip');
160
160
  }
161
161
 
162
162
  (0, _forEach.default)(events, function (_ref2) {
@@ -47,7 +47,7 @@ var _omit = _interopRequireDefault(require("lodash/omit"));
47
47
 
48
48
  var _calendar = _interopRequireDefault(require("@spothero/icons/calendar"));
49
49
 
50
- var _utils = require("@spothero/utils");
50
+ var _dom = _interopRequireDefault(require("../utils/dom"));
51
51
 
52
52
  var _DatePickerCalendar = _interopRequireDefault(require("./DatePickerCalendar"));
53
53
 
@@ -76,7 +76,7 @@ var DatePicker = /*#__PURE__*/function (_Component) {
76
76
  (0, _classCallCheck2.default)(this, DatePicker);
77
77
  _this = _super.call(this, props);
78
78
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_onBodyClick", function (evt) {
79
- if ((!_utils.DOMUtils.parent(evt.target, 'FormElement-control') || !_utils.DOMUtils.parent(evt.target, ".DatePicker-".concat(_this.props.id))) && !_utils.DOMUtils.parent(evt.target, ".".concat(_this._TETHER_CLASS))) {
79
+ if ((!_dom.default.parent(evt.target, 'FormElement-control') || !_dom.default.parent(evt.target, ".DatePicker-".concat(_this.props.id))) && !_dom.default.parent(evt.target, ".".concat(_this._TETHER_CLASS))) {
80
80
  _this.setState({
81
81
  showCalendar: false
82
82
  });
@@ -135,7 +135,7 @@ var DatePicker = /*#__PURE__*/function (_Component) {
135
135
  _ssrWindow.document.body.addEventListener('touchstart', this._onBodyClick);
136
136
 
137
137
  if (useTetherShim) {
138
- _utils.DOMUtils.addClass('html', 'DatePicker-tether-shim-open');
138
+ _dom.default.addClass('html', 'DatePicker-tether-shim-open');
139
139
  }
140
140
  } else {
141
141
  this._removeBodyClickListener();
@@ -158,7 +158,7 @@ var DatePicker = /*#__PURE__*/function (_Component) {
158
158
  _ssrWindow.document.body.removeEventListener('touchstart', this._onBodyClick);
159
159
 
160
160
  if (this.props.useTetherShim) {
161
- _utils.DOMUtils.removeClass('html', 'DatePicker-tether-shim-open');
161
+ _dom.default.removeClass('html', 'DatePicker-tether-shim-open');
162
162
  }
163
163
  }
164
164
  /**
@@ -41,7 +41,7 @@ var _moment = _interopRequireDefault(require("moment"));
41
41
 
42
42
  var _reactDayPicker = _interopRequireWildcard(require("react-day-picker"));
43
43
 
44
- var _utils = require("@spothero/utils");
44
+ var _date = _interopRequireDefault(require("../utils/date"));
45
45
 
46
46
  var _DatePickerCalendarNavigation = _interopRequireDefault(require("./DatePickerCalendarNavigation"));
47
47
 
@@ -91,7 +91,7 @@ var DatePickerCalendar = /*#__PURE__*/function (_Component) {
91
91
  var selectedDate = _this.state.selectedDate;
92
92
 
93
93
  if (!(0, _isEmpty.default)(selectedDate)) {
94
- return _reactDayPicker.DateUtils.isSameDay(_utils.DateUtils.getAsDate(selectedDate), day);
94
+ return _reactDayPicker.DateUtils.isSameDay(_date.default.getAsDate(selectedDate), day);
95
95
  } else {
96
96
  return null;
97
97
  }
@@ -105,12 +105,12 @@ var DatePickerCalendar = /*#__PURE__*/function (_Component) {
105
105
  var disableDay = false;
106
106
 
107
107
  if (disableBefore) {
108
- disableDay = _utils.DateUtils.isBefore(day, _utils.DateUtils.getAsDate(disableBefore));
108
+ disableDay = _date.default.isBefore(day, _date.default.getAsDate(disableBefore));
109
109
  isDayDisabled = disableDay;
110
110
  }
111
111
 
112
112
  if (disableAfter && !isDayDisabled) {
113
- disableDay = _utils.DateUtils.isAfter(day, _utils.DateUtils.getAsDate(disableAfter));
113
+ disableDay = _date.default.isAfter(day, _date.default.getAsDate(disableAfter));
114
114
  isDayDisabled = disableDay;
115
115
  }
116
116
 
@@ -150,10 +150,10 @@ var DatePickerCalendar = /*#__PURE__*/function (_Component) {
150
150
  var toMonth = null;
151
151
 
152
152
  if (disableBefore) {
153
- var beforeDate = _utils.DateUtils.getAsDate(disableBefore);
153
+ var beforeDate = _date.default.getAsDate(disableBefore);
154
154
 
155
155
  if (fromMonth) {
156
- if (_utils.DateUtils.isAfter(beforeDate, fromMonth)) {
156
+ if (_date.default.isAfter(beforeDate, fromMonth)) {
157
157
  fromMonth = beforeDate;
158
158
  }
159
159
  } else {
@@ -164,11 +164,11 @@ var DatePickerCalendar = /*#__PURE__*/function (_Component) {
164
164
  }
165
165
 
166
166
  if (disableAfter) {
167
- toMonth = _utils.DateUtils.getAsDate(disableAfter);
167
+ toMonth = _date.default.getAsDate(disableAfter);
168
168
  }
169
169
 
170
170
  if (selectedDate && overrideInitialMonthWithSelected) {
171
- firstMonth = _utils.DateUtils.getAsDate(selectedDate);
171
+ firstMonth = _date.default.getAsDate(selectedDate);
172
172
  }
173
173
 
174
174
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -47,7 +47,7 @@ var _moment = _interopRequireDefault(require("moment"));
47
47
 
48
48
  var _reactDayPicker = _interopRequireWildcard(require("react-day-picker"));
49
49
 
50
- var _utils = require("@spothero/utils");
50
+ var _date = _interopRequireDefault(require("../utils/date"));
51
51
 
52
52
  var _DatePickerCalendarNavigation = _interopRequireDefault(require("./DatePickerCalendarNavigation"));
53
53
 
@@ -154,8 +154,8 @@ var DatePickerCalendarWithRange = /*#__PURE__*/function (_Component) {
154
154
  var _selectedStartDate = props.selectedStartDate,
155
155
  _selectedEndDate = props.selectedEndDate;
156
156
  _this.state = {
157
- selectedStartDate: _selectedStartDate ? _utils.DateUtils.getAsDate(_selectedStartDate) : null,
158
- selectedEndDate: _selectedEndDate ? _utils.DateUtils.getAsDate(_selectedEndDate) : null
157
+ selectedStartDate: _selectedStartDate ? _date.default.getAsDate(_selectedStartDate) : null,
158
+ selectedEndDate: _selectedEndDate ? _date.default.getAsDate(_selectedEndDate) : null
159
159
  };
160
160
  return _this;
161
161
  }
@@ -179,10 +179,10 @@ var DatePickerCalendarWithRange = /*#__PURE__*/function (_Component) {
179
179
  var toMonth = null;
180
180
 
181
181
  if (disableBefore) {
182
- var beforeDate = _utils.DateUtils.getAsDate(disableBefore);
182
+ var beforeDate = _date.default.getAsDate(disableBefore);
183
183
 
184
184
  if (fromMonth) {
185
- if (_utils.DateUtils.isAfter(beforeDate, fromMonth)) {
185
+ if (_date.default.isAfter(beforeDate, fromMonth)) {
186
186
  fromMonth = beforeDate;
187
187
  }
188
188
  } else {
@@ -193,7 +193,7 @@ var DatePickerCalendarWithRange = /*#__PURE__*/function (_Component) {
193
193
  }
194
194
 
195
195
  if (disableAfter) {
196
- toMonth = _utils.DateUtils.getAsDate(disableAfter);
196
+ toMonth = _date.default.getAsDate(disableAfter);
197
197
  }
198
198
 
199
199
  if (selectedStartDate && overrideInitialMonthWithSelected) {
@@ -43,7 +43,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
43
43
 
44
44
  var _v = _interopRequireDefault(require("uuid/v4"));
45
45
 
46
- var _utils = require("@spothero/utils");
46
+ var _date = _interopRequireDefault(require("../utils/date"));
47
+
48
+ var _time = _interopRequireDefault(require("../utils/time"));
47
49
 
48
50
  var _DateTimePicker = _interopRequireDefault(require("./DateTimePicker"));
49
51
 
@@ -249,7 +251,7 @@ var DateTimeRangePicker = /*#__PURE__*/function (_Component) {
249
251
  }, {
250
252
  key: "_getCombinedDate",
251
253
  value: function _getCombinedDate(date, time) {
252
- return _utils.DateUtils.combineDateAndTime(_utils.DateUtils.getAsMoment(date), _utils.TimeUtils.getAsMoment(time));
254
+ return _date.default.combineDateAndTime(_date.default.getAsMoment(date), _time.default.getAsMoment(time));
253
255
  }
254
256
  }, {
255
257
  key: "_checkValidity",
@@ -444,9 +446,9 @@ var DateTimeRangePicker = /*#__PURE__*/function (_Component) {
444
446
  var overrideInitialEndMonthWithSelected = true; // if the end picker has a date disabled whose month is after the end selected date, make sure the calendar starts with the first selectable month
445
447
 
446
448
  if (endDate && newDisableEndDateBefore) {
447
- var endMoment = _utils.DateUtils.getAsMoment(endDate);
449
+ var endMoment = _date.default.getAsMoment(endDate);
448
450
 
449
- var endBeforeMoment = _utils.DateUtils.getAsMoment(newDisableEndDateBefore);
451
+ var endBeforeMoment = _date.default.getAsMoment(newDisableEndDateBefore);
450
452
 
451
453
  overrideInitialEndMonthWithSelected = endMoment.isAfter(endBeforeMoment);
452
454
  }
@@ -45,7 +45,7 @@ var _omit = _interopRequireDefault(require("lodash/omit"));
45
45
 
46
46
  var _clock = _interopRequireDefault(require("@spothero/icons/clock"));
47
47
 
48
- var _utils = require("@spothero/utils");
48
+ var _time = _interopRequireDefault(require("../utils/time"));
49
49
 
50
50
  var _Select = _interopRequireDefault(require("../Select/Select"));
51
51
 
@@ -98,11 +98,11 @@ var TimePicker = /*#__PURE__*/function (_Component) {
98
98
  timesParams.ignoreAfter = (0, _moment.default)(disableAfter, 'hh:mm A').diff(dayStart, 'minutes');
99
99
  }
100
100
 
101
- _this._times = (0, _map.default)(_context = _utils.TimeUtils.getTimes(timesParams)).call(_context, function (_ref2) {
101
+ _this._times = (0, _map.default)(_context = _time.default.getTimes(timesParams)).call(_context, function (_ref2) {
102
102
  var formatted = _ref2.formatted;
103
103
  return {
104
104
  value: formatted,
105
- label: displayFormat ? _utils.TimeUtils.getAsMoment(formatted).format(displayFormat) : formatted
105
+ label: displayFormat ? _time.default.getAsMoment(formatted).format(displayFormat) : formatted
106
106
  };
107
107
  });
108
108
  return _this;
@@ -35,8 +35,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
35
35
 
36
36
  var _react = _interopRequireWildcard(require("react"));
37
37
 
38
- var _utils = require("@spothero/utils");
39
-
40
38
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
39
 
42
40
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -45,6 +43,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
45
43
 
46
44
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
45
 
46
+ // import SentryUtils from '@spothero/utils/sentry';
48
47
  var ErrorBoundary = /*#__PURE__*/function (_Component) {
49
48
  (0, _inherits2.default)(ErrorBoundary, _Component);
50
49
 
@@ -82,13 +81,12 @@ var ErrorBoundary = /*#__PURE__*/function (_Component) {
82
81
  onError(error, info);
83
82
  }
84
83
 
85
- if (reportToSentry) {
86
- _utils.SentryUtils.addData(info);
87
-
88
- _utils.SentryUtils.sendMessage({
89
- message: error.message,
90
- level: 'error'
91
- });
84
+ if (reportToSentry) {//TODO: breaking change. pass function prop that invokes these in parent application
85
+ // SentryUtils.addData(info);
86
+ // SentryUtils.sendMessage({
87
+ // message: error.message,
88
+ // level: 'error',
89
+ // });
92
90
  }
93
91
  }
94
92
  }, {
@@ -43,7 +43,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
43
43
 
44
44
  var _times = _interopRequireDefault(require("@spothero/icons/times"));
45
45
 
46
- var _utils = require("@spothero/utils");
46
+ var _dom = _interopRequireDefault(require("../utils/dom"));
47
47
 
48
48
  var _Button = _interopRequireDefault(require("../v1/components/Button/Button"));
49
49
 
@@ -96,10 +96,10 @@ var Flyout = /*#__PURE__*/function (_Component) {
96
96
  _this2._isAnimating = true;
97
97
 
98
98
  if (!isBackgroundScrollable) {
99
- _utils.DOMUtils.addClass('html', 'Flyout-no-scroll');
99
+ _dom.default.addClass('html', 'Flyout-no-scroll');
100
100
  }
101
101
 
102
- _utils.DOMUtils.addClass(_this2._flyout, 'Flyout-active');
102
+ _dom.default.addClass(_this2._flyout, 'Flyout-active');
103
103
 
104
104
  window.transitionEnd(_this2._flyout).bind(function () {
105
105
  window.transitionEnd(_this2._flyout).unbind();
@@ -115,9 +115,9 @@ var Flyout = /*#__PURE__*/function (_Component) {
115
115
  }, {
116
116
  key: "_removeClasses",
117
117
  value: function _removeClasses() {
118
- _utils.DOMUtils.removeClass('html', 'Flyout-open Flyout-no-scroll');
118
+ _dom.default.removeClass('html', 'Flyout-open Flyout-no-scroll');
119
119
 
120
- _utils.DOMUtils.removeClass(this._flyout, 'Flyout-active');
120
+ _dom.default.removeClass(this._flyout, 'Flyout-active');
121
121
  }
122
122
  /**
123
123
  * Hides the Flyout programmatically.
@@ -35,7 +35,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
35
35
 
36
36
  var _formSerialize = _interopRequireDefault(require("form-serialize"));
37
37
 
38
- var _utils = require("@spothero/utils");
38
+ var _animation = _interopRequireDefault(require("../utils/animation"));
39
+
40
+ var _dom = _interopRequireDefault(require("../utils/dom"));
39
41
 
40
42
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
43
 
@@ -93,13 +95,13 @@ var Form = /*#__PURE__*/function (_Component) {
93
95
  invalidElementScrollOffset = _this$props.invalidElementScrollOffset; // setTimeout to ensure elements are rendered
94
96
 
95
97
  setTimeout(function () {
96
- var errorField = _utils.DOMUtils.el("#Form-".concat(id, " .FormElement-contains-error"));
98
+ var errorField = _dom.default.el("#Form-".concat(id, " .FormElement-contains-error"));
97
99
 
98
100
  var firstInvalid = errorField.length > 0 ? errorField[0] : errorField;
99
101
  var yPos = firstInvalid.offsetTop + invalidElementScrollOffset;
100
102
  var elToScroll = invalidElementToScroll || document.scrollingElement;
101
103
 
102
- _utils.AnimationUtils.scrollTo(elToScroll, yPos);
104
+ _animation.default.scrollTo(elToScroll, yPos);
103
105
  }, 0);
104
106
  }
105
107
  }
@@ -51,8 +51,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
51
51
 
52
52
  var _search = _interopRequireDefault(require("@spothero/icons/search"));
53
53
 
54
- var _utils = require("@spothero/utils");
55
-
56
54
  var _AutoSuggestInput = _interopRequireDefault(require("../AutoSuggestInput/AutoSuggestInput"));
57
55
 
58
56
  var _TextInputPropTypes = _interopRequireDefault(require("../TextInput/TextInputPropTypes"));
@@ -184,8 +182,7 @@ var GooglePlacesSearchInput = /*#__PURE__*/function (_Component) {
184
182
  });
185
183
  });
186
184
  var googleMaps = props.googleMaps;
187
-
188
- var isBrowser = _utils.EnvironmentUtils.isBrowser();
185
+ var isBrowser = typeof window !== 'undefined'; //EnvironmentUtils.isBrowser();
189
186
 
190
187
  _this._suggestionFetch = (0, _throttle.default)(_this._searchSuggestions, 500);
191
188
  _this._gmaps = googleMaps;
@@ -47,7 +47,7 @@ var _heroCar = _interopRequireDefault(require("@spothero/icons/hero-car"));
47
47
 
48
48
  var _times = _interopRequireDefault(require("@spothero/icons/times"));
49
49
 
50
- var _utils = require("@spothero/utils");
50
+ var _dom = _interopRequireDefault(require("../utils/dom"));
51
51
 
52
52
  var _Button = _interopRequireDefault(require("../v1/components/Button/Button"));
53
53
 
@@ -90,7 +90,7 @@ var Notification = /*#__PURE__*/function (_Component) {
90
90
  var _this2 = this;
91
91
 
92
92
  _ssrWindow.window.setTimeout(function () {
93
- _utils.DOMUtils.addClass(_this2._notification, 'Notification-showing');
93
+ _dom.default.addClass(_this2._notification, 'Notification-showing');
94
94
  }, 100);
95
95
  }
96
96
  }, {
@@ -106,10 +106,10 @@ var Notification = /*#__PURE__*/function (_Component) {
106
106
  _ssrWindow.window.clearTimeout(this._hideTimeout);
107
107
  }
108
108
 
109
- _utils.DOMUtils.removeClass(this._notification, 'Notification-showing');
109
+ _dom.default.removeClass(this._notification, 'Notification-showing');
110
110
 
111
111
  _ssrWindow.window.setTimeout(function () {
112
- _utils.DOMUtils.removeClass(_this3._notification, 'Notification-showing');
112
+ _dom.default.removeClass(_this3._notification, 'Notification-showing');
113
113
 
114
114
  if (onHidden) {
115
115
  onHidden(_this3.props);
@@ -39,7 +39,7 @@ var _reactRedux = require("react-redux");
39
39
 
40
40
  var _ssrWindow = require("ssr-window");
41
41
 
42
- var _utils = require("@spothero/utils");
42
+ var _dom = _interopRequireDefault(require("../utils/dom"));
43
43
 
44
44
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
45
45
 
@@ -62,14 +62,14 @@ var Portal = /*#__PURE__*/function (_PureComponent) {
62
62
  var className = props.className,
63
63
  appendTo = props.appendTo;
64
64
  _this._EL = _ssrWindow.document.createElement('div');
65
- _this._ROOT = (0, _isString.default)(appendTo) ? _utils.DOMUtils.el(appendTo) : appendTo;
65
+ _this._ROOT = (0, _isString.default)(appendTo) ? _dom.default.el(appendTo) : appendTo;
66
66
 
67
67
  if ((0, _isArrayLikeObject.default)(_this._ROOT)) {
68
68
  _this._ROOT = _this._ROOT[0];
69
69
  }
70
70
 
71
71
  if (className) {
72
- _utils.DOMUtils.addClass(_this._EL, className);
72
+ _dom.default.addClass(_this._EL, className);
73
73
  }
74
74
 
75
75
  return _this;
@@ -31,7 +31,7 @@ var _reactDom = require("react-dom");
31
31
 
32
32
  var _reactRedux = require("react-redux");
33
33
 
34
- var _utils = require("@spothero/utils");
34
+ var _dom = _interopRequireDefault(require("../utils/dom"));
35
35
 
36
36
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
37
 
@@ -58,7 +58,7 @@ var RenderInBody = /*#__PURE__*/function (_Component) {
58
58
  this._container = document.createElement('div');
59
59
 
60
60
  if (className) {
61
- _utils.DOMUtils.addClass(this._container, className);
61
+ _dom.default.addClass(this._container, className);
62
62
  }
63
63
 
64
64
  document.body.appendChild(this._container);
@@ -49,7 +49,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
49
49
 
50
50
  var _chevronDown = _interopRequireDefault(require("@spothero/icons/chevron-down"));
51
51
 
52
- var _utils = require("@spothero/utils");
52
+ var _dom = _interopRequireDefault(require("../utils/dom"));
53
53
 
54
54
  var _Loader = _interopRequireDefault(require("../v1/components/Loader/Loader"));
55
55
 
@@ -177,9 +177,9 @@ var Select = /*#__PURE__*/function (_Component) {
177
177
  value: function _checkIfDisabledSelected() {
178
178
  // if a disabled option is selected at first, make it the same color as placeholder as thats typically why its selected
179
179
  if ((0, _isEmpty.default)(this._select.value)) {
180
- _utils.DOMUtils.addClass(this._select, 'FormElement-item-placeholder');
180
+ _dom.default.addClass(this._select, 'FormElement-item-placeholder');
181
181
  } else {
182
- _utils.DOMUtils.removeClass(this._select, 'FormElement-item-placeholder');
182
+ _dom.default.removeClass(this._select, 'FormElement-item-placeholder');
183
183
  }
184
184
  }
185
185
  }, {
@@ -47,7 +47,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
47
47
 
48
48
  var _chevronDown = _interopRequireDefault(require("@spothero/icons/chevron-down"));
49
49
 
50
- var _utils = require("@spothero/utils");
50
+ var _dom = _interopRequireDefault(require("../utils/dom"));
51
51
 
52
52
  var _Loader = _interopRequireDefault(require("../v1/components/Loader/Loader"));
53
53
 
@@ -172,9 +172,9 @@ var SelectControlled = /*#__PURE__*/function (_Component) {
172
172
  value: function _checkIfDisabledSelected() {
173
173
  // if a disabled option is selected at first, make it the same color as placeholder as thats typically why its selected
174
174
  if ((0, _isEmpty.default)(this._select.value)) {
175
- _utils.DOMUtils.addClass(this._select, 'FormElement-item-placeholder');
175
+ _dom.default.addClass(this._select, 'FormElement-item-placeholder');
176
176
  } else {
177
- _utils.DOMUtils.removeClass(this._select, 'FormElement-item-placeholder');
177
+ _dom.default.removeClass(this._select, 'FormElement-item-placeholder');
178
178
  }
179
179
  }
180
180
  }, {
@@ -37,7 +37,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
37
37
 
38
38
  var _times = _interopRequireDefault(require("@spothero/icons/times"));
39
39
 
40
- var _utils = require("@spothero/utils");
40
+ var _dom = _interopRequireDefault(require("../utils/dom"));
41
41
 
42
42
  var _Button = _interopRequireDefault(require("../v1/components/Button/Button"));
43
43
 
@@ -75,11 +75,11 @@ var Tooltip = /*#__PURE__*/function (_Component) {
75
75
  triggerSelector = _this$props.triggerSelector,
76
76
  updateOnMove = _this$props.updateOnMove,
77
77
  closeOnBodyClick = _this$props.closeOnBodyClick;
78
- this._trigger = _utils.DOMUtils.el(triggerSelector);
78
+ this._trigger = _dom.default.el(triggerSelector);
79
79
 
80
80
  this._positionTooltip();
81
81
 
82
- _utils.DOMUtils.addClass(this._container, 'Tooltip-showing');
82
+ _dom.default.addClass(this._container, 'Tooltip-showing');
83
83
 
84
84
  if (updateOnMove) {
85
85
  this._container.style.position = 'fixed';
@@ -131,7 +131,7 @@ var Tooltip = /*#__PURE__*/function (_Component) {
131
131
  var tooltipWidth = this._container.offsetWidth;
132
132
  var tooltipHeight = this._container.offsetHeight;
133
133
 
134
- var _DOMUtils$getDocument = _utils.DOMUtils.getDocumentOffset(this._trigger),
134
+ var _DOMUtils$getDocument = _dom.default.getDocumentOffset(this._trigger),
135
135
  documentTop = _DOMUtils$getDocument.top,
136
136
  documentLeft = _DOMUtils$getDocument.left;
137
137
 
@@ -194,8 +194,8 @@ var Tooltip = /*#__PURE__*/function (_Component) {
194
194
  value: function hide() {
195
195
  var _this2 = this;
196
196
 
197
- if (_utils.DOMUtils.hasClass(this._container, 'Tooltip-showing')) {
198
- _utils.DOMUtils.removeClass(this._container, 'Tooltip-showing');
197
+ if (_dom.default.hasClass(this._container, 'Tooltip-showing')) {
198
+ _dom.default.removeClass(this._container, 'Tooltip-showing');
199
199
 
200
200
  setTimeout(function () {
201
201
  _this2.props.onHidden();
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _ssrWindow = require("ssr-window");
11
+
12
+ var _isString = _interopRequireDefault(require("lodash/isString"));
13
+
14
+ var _dom = _interopRequireDefault(require("./dom"));
15
+
16
+ // t = current time, b = start value, c = change in value, d = duration
17
+ // http://stackoverflow.com/questions/8917921/cross-browser-javascript-not-jquery-scroll-to-top-animation
18
+ Math.easeInOutQuad = function (t, b, c, d) {
19
+ /* eslint-disable no-param-reassign, no-mixed-operators */
20
+ t /= d / 2;
21
+
22
+ if (t < 1) {
23
+ return c / 2 * t * t + b;
24
+ }
25
+
26
+ t--;
27
+ return -c / 2 * (t * (t - 2) - 1) + b;
28
+ /* eslint-enable no-param-reassign, no-mixed-operators */
29
+ };
30
+ /**
31
+ * Utilities for working with animations.
32
+ * @module AnimationUtils
33
+ */
34
+
35
+
36
+ var AnimationUtils = {
37
+ /**
38
+ * Scrolls the specified element to the specified position.
39
+ * @static
40
+ * @function scrollTo
41
+ * @param {String|Element} el - The selector or element to scroll to.
42
+ * @param {Number} [position=0] - The position to scroll the element to.
43
+ * @param {Number} [duration=400] - The time (in milliseconds) to scroll.
44
+ * @param {String} [axis='y'] - The axis to scroll on.
45
+ * @param {Function} [cb] - A callback function to call when the animation finishes.
46
+ * @example
47
+ * AnimationUtils.scrollTo(window, 0, 1000);
48
+ * @returns {void}
49
+ */
50
+ scrollTo: function scrollTo(el) {
51
+ var position = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
52
+ var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 400;
53
+ var axis = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'y';
54
+ var cb = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
55
+ var element = (0, _isString.default)(el) ? _dom.default.el(el) : el;
56
+ var start = axis === 'y' ? element.scrollTop : element.scrollLeft;
57
+ var change = position - start;
58
+ var increment = 20;
59
+ var currentTime = 0;
60
+
61
+ var animateScroll = function animateScroll() {
62
+ currentTime += increment;
63
+ var val = Math.easeInOutQuad(currentTime, start, change, duration);
64
+
65
+ if (axis === 'y') {
66
+ element.scrollTop = val;
67
+ } else {
68
+ element.scrollLeft = val;
69
+ }
70
+
71
+ if (currentTime < duration) {
72
+ _ssrWindow.window.setTimeout(animateScroll, increment);
73
+ } else {
74
+ if (cb) {
75
+ cb();
76
+ }
77
+ }
78
+ };
79
+
80
+ animateScroll();
81
+ }
82
+ };
83
+ var _default = AnimationUtils;
84
+ exports.default = _default;