@hipay/hipay-material-ui 2.2.0-beta-core → 2.2.0-beta-core3

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 (81) hide show
  1. package/HiAlertModal/HiAlertModal.js +1 -1
  2. package/HiAppBar/HiAppBar.js +1 -1
  3. package/HiBreadcrumb/HiStep.js +1 -1
  4. package/HiBreadcrumb/HiStepConnector.js +1 -1
  5. package/HiBreadcrumb/HiStepContent.js +1 -1
  6. package/HiBreadcrumb/HiStepIcon.js +1 -1
  7. package/HiBreadcrumb/HiStepLabel.js +1 -1
  8. package/HiBreadcrumb/HiStepper.js +1 -1
  9. package/HiButton/HiButton.js +3 -3
  10. package/HiChip/HiChipSwitch.js +1 -1
  11. package/HiColoredLabel/HiColoredLabel.js +1 -1
  12. package/HiDatePicker/HiDateRangeSelector.js +0 -1
  13. package/HiDatePicker/stylesheet.js +1 -1
  14. package/HiIconButton/HiIconButton.js +2 -2
  15. package/HiMap/HiMap.js +1 -1
  16. package/HiMap/HiMapExpand.js +1 -1
  17. package/HiNotice/HiKPI.js +1 -1
  18. package/HiPaymentMeans/HiPaymentMeans.js +1 -1
  19. package/HiPdfReader/HiPdfReader.js +1 -1
  20. package/HiPin/HiPin.js +1 -1
  21. package/HiRadio/HiRadio.js +1 -1
  22. package/HiSelect/HiSuggestSelect.js +1 -1
  23. package/HiTable/HiTableHeader.js +1 -1
  24. package/HiTable/HiTableRow.js +2 -1
  25. package/es/HiAlertModal/HiAlertModal.js +1 -1
  26. package/es/HiAppBar/HiAppBar.js +1 -1
  27. package/es/HiBreadcrumb/HiStep.js +1 -1
  28. package/es/HiBreadcrumb/HiStepConnector.js +1 -1
  29. package/es/HiBreadcrumb/HiStepContent.js +1 -1
  30. package/es/HiBreadcrumb/HiStepIcon.js +1 -1
  31. package/es/HiBreadcrumb/HiStepLabel.js +1 -1
  32. package/es/HiBreadcrumb/HiStepper.js +1 -1
  33. package/es/HiButton/HiButton.js +2 -2
  34. package/es/HiChip/HiChipSwitch.js +1 -1
  35. package/es/HiColoredLabel/HiColoredLabel.js +1 -1
  36. package/es/HiDatePicker/HiDateRangeSelector.js +0 -1
  37. package/es/HiDatePicker/stylesheet.js +1 -1
  38. package/es/HiIconButton/HiIconButton.js +2 -2
  39. package/es/HiMap/HiMap.js +1 -1
  40. package/es/HiMap/HiMapExpand.js +1 -1
  41. package/es/HiNotice/HiKPI.js +1 -1
  42. package/es/HiPaymentMeans/HiPaymentMeans.js +1 -1
  43. package/es/HiPdfReader/HiPdfReader.js +1 -1
  44. package/es/HiPin/HiPin.js +1 -1
  45. package/es/HiRadio/HiRadio.js +1 -1
  46. package/es/HiSelect/HiSuggestSelect.js +1 -1
  47. package/es/HiTable/HiTableHeader.js +1 -1
  48. package/es/HiTable/HiTableRow.js +2 -1
  49. package/es/hi-svg-icons/HiAccount.js +1 -1
  50. package/es/hi-svg-icons/HiActivity.js +1 -1
  51. package/es/hi-svg-icons/HiAll.js +1 -1
  52. package/es/hi-svg-icons/HiBilling.js +1 -1
  53. package/es/hi-svg-icons/HiCatalog.js +1 -1
  54. package/es/hi-svg-icons/HiCustomer.js +1 -1
  55. package/es/hi-svg-icons/HiFinance.js +1 -1
  56. package/es/hi-svg-icons/HiPermission.js +1 -1
  57. package/es/hi-svg-icons/HiRoute.js +1 -1
  58. package/es/hi-svg-icons/HiSettlement.js +1 -1
  59. package/es/hi-svg-icons/HiTransaction.js +1 -1
  60. package/es/hi-svg-icons/HiUser.js +1 -1
  61. package/es/hi-svg-icons/HiWidget.js +1 -1
  62. package/es/test-utils/getClasses.js +2 -16
  63. package/hi-svg-icons/HiAccount.js +1 -1
  64. package/hi-svg-icons/HiActivity.js +1 -1
  65. package/hi-svg-icons/HiAll.js +1 -1
  66. package/hi-svg-icons/HiBilling.js +1 -1
  67. package/hi-svg-icons/HiCatalog.js +1 -1
  68. package/hi-svg-icons/HiCustomer.js +1 -1
  69. package/hi-svg-icons/HiFinance.js +1 -1
  70. package/hi-svg-icons/HiPermission.js +1 -1
  71. package/hi-svg-icons/HiRoute.js +1 -1
  72. package/hi-svg-icons/HiSettlement.js +1 -1
  73. package/hi-svg-icons/HiTransaction.js +1 -1
  74. package/hi-svg-icons/HiUser.js +1 -1
  75. package/hi-svg-icons/HiWidget.js +1 -1
  76. package/package.json +1 -2
  77. package/test-utils/getClasses.js +5 -29
  78. package/es/withWidth/index.js +0 -2
  79. package/es/withWidth/withWidth.js +0 -176
  80. package/withWidth/index.js +0 -27
  81. package/withWidth/withWidth.js +0 -229
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  import React from 'react';
4
4
  import pure from 'recompose/pure';
5
- import { withStyles } from '../styles';
5
+ import { withStyles } from '@material-ui/core/styles';
6
6
  /**
7
7
  * @ignore - internal component.
8
8
  */
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  import React from 'react';
4
4
  import pure from 'recompose/pure';
5
- import { withStyles } from '../styles';
5
+ import { withStyles } from '@material-ui/core/styles';
6
6
  /**
7
7
  * @ignore - internal component.
8
8
  */
@@ -1,17 +1,3 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread";
2
- import * as ns from 'react-jss/lib/ns';
3
- import { SheetsRegistry } from 'jss';
4
- import createShallow from './createShallow';
5
- import { sheetsManager } from '../styles/withStyles';
6
- const shallow = createShallow(); // Helper function to extract the classes from a styleSheet.
1
+ import { getClasses } from '@material-ui/core/test-utils'; // Helper function to extract the classes from a styleSheet.
7
2
 
8
- export default function getClasses(element, options = {}) {
9
- const sheetsRegistry = new SheetsRegistry();
10
- sheetsManager.clear();
11
- shallow(element, _objectSpread({}, options, {
12
- context: _objectSpread({
13
- [ns.sheetsRegistry]: sheetsRegistry
14
- }, options.context)
15
- }));
16
- return sheetsRegistry.registry[0].classes;
17
- }
3
+ export default getClasses;
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  var _ref = _react.default.createElement("path", {
21
21
  fill: "none",
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  /**
21
21
  * @ignore - internal component.
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _pure = _interopRequireDefault(require("recompose/pure"));
17
17
 
18
- var _styles = require("../styles");
18
+ var _styles = require("@material-ui/core/styles");
19
19
 
20
20
  var _ref = _react.default.createElement("path", {
21
21
  fill: "none",
package/package.json CHANGED
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "name": "@hipay/hipay-material-ui",
3
- "private": false,
4
3
  "author": "HiPay PSYCHE Team",
5
- "version": "2.2.0-beta-core",
4
+ "version": "2.2.0-beta-core3",
6
5
  "description": "React components that implement Google's Material Design.",
7
6
  "keywords": [
8
7
  "react",
@@ -1,36 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
3
  Object.defineProperty(exports, "__esModule", {
8
4
  value: true
9
5
  });
10
- exports.default = getClasses;
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
- var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
-
16
- var ns = _interopRequireWildcard(require("react-jss/lib/ns"));
17
-
18
- var _jss = require("jss");
19
-
20
- var _createShallow = _interopRequireDefault(require("./createShallow"));
21
-
22
- var _withStyles = require("../styles/withStyles");
23
-
24
- var shallow = (0, _createShallow.default)(); // Helper function to extract the classes from a styleSheet.
25
-
26
- function getClasses(element) {
27
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
28
- var sheetsRegistry = new _jss.SheetsRegistry();
6
+ exports.default = void 0;
29
7
 
30
- _withStyles.sheetsManager.clear();
8
+ var _testUtils = require("@material-ui/core/test-utils");
31
9
 
32
- shallow(element, (0, _extends3.default)({}, options, {
33
- context: (0, _extends3.default)((0, _defineProperty2.default)({}, ns.sheetsRegistry, sheetsRegistry), options.context)
34
- }));
35
- return sheetsRegistry.registry[0].classes;
36
- }
10
+ // Helper function to extract the classes from a styleSheet.
11
+ var _default = _testUtils.getClasses;
12
+ exports.default = _default;
@@ -1,2 +0,0 @@
1
- export { default } from './withWidth';
2
- export * from './withWidth';
@@ -1,176 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectSpread from "@babel/runtime/helpers/objectSpread";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
-
5
- /* eslint-disable react/no-did-mount-set-state */
6
- import React from 'react';
7
- import PropTypes from 'prop-types';
8
- import EventListener from 'react-event-listener';
9
- import debounce from 'debounce'; // < 1kb payload overhead when lodash/debounce is > 3kb.
10
-
11
- import wrapDisplayName from 'recompose/wrapDisplayName';
12
- import hoistNonReactStatics from 'hoist-non-react-statics';
13
- import withTheme from '../styles/withTheme';
14
- import { keys as breakpointKeys } from '../styles/createBreakpoints';
15
- import getThemeProps from '../styles/getThemeProps'; // By default, returns true if screen width is the same or greater than the given breakpoint.
16
-
17
- export const isWidthUp = (breakpoint, width, inclusive = true) => {
18
- if (inclusive) {
19
- return breakpointKeys.indexOf(breakpoint) <= breakpointKeys.indexOf(width);
20
- }
21
-
22
- return breakpointKeys.indexOf(breakpoint) < breakpointKeys.indexOf(width);
23
- }; // By default, returns true if screen width is the same or less than the given breakpoint.
24
-
25
- export const isWidthDown = (breakpoint, width, inclusive = true) => {
26
- if (inclusive) {
27
- return breakpointKeys.indexOf(width) <= breakpointKeys.indexOf(breakpoint);
28
- }
29
-
30
- return breakpointKeys.indexOf(width) < breakpointKeys.indexOf(breakpoint);
31
- };
32
-
33
- const withWidth = (options = {}) => Component => {
34
- const {
35
- withTheme: withThemeOption = false,
36
- noSSR = false,
37
- initialWidth: initialWidthOption,
38
- resizeInterval = 166 // Corresponds to 10 frames at 60 Hz.
39
-
40
- } = options;
41
-
42
- class WithWidth extends React.Component {
43
- constructor(props) {
44
- super(props);
45
- this.handleResize = debounce(() => {
46
- const width = this.getWidth();
47
-
48
- if (width !== this.state.width) {
49
- this.setState({
50
- width
51
- });
52
- }
53
- }, resizeInterval);
54
- this.state = {
55
- width: undefined
56
- };
57
-
58
- if (noSSR) {
59
- this.state.width = this.getWidth();
60
- }
61
- }
62
-
63
- componentDidMount() {
64
- const width = this.getWidth();
65
-
66
- if (width !== this.state.width) {
67
- this.setState({
68
- width
69
- });
70
- }
71
- }
72
-
73
- componentWillUnmount() {
74
- this.handleResize.clear();
75
- }
76
-
77
- getWidth(innerWidth = window.innerWidth) {
78
- const breakpoints = this.props.theme.breakpoints;
79
- let width = null;
80
- /**
81
- * Start with the slowest value as low end devices often have a small screen.
82
- *
83
- * innerWidth |xs sm md lg xl
84
- * |-------|-------|-------|-------|------>
85
- * width | xs | sm | md | lg | xl
86
- */
87
-
88
- let index = 1;
89
-
90
- while (width === null && index < breakpointKeys.length) {
91
- const currentWidth = breakpointKeys[index]; // @media are inclusive, so reproduce the behavior here.
92
-
93
- if (innerWidth < breakpoints.values[currentWidth]) {
94
- width = breakpointKeys[index - 1];
95
- break;
96
- }
97
-
98
- index += 1;
99
- }
100
-
101
- width = width || 'xl';
102
- return width;
103
- }
104
-
105
- render() {
106
- const _this$props = this.props,
107
- {
108
- initialWidth,
109
- theme,
110
- width
111
- } = _this$props,
112
- other = _objectWithoutProperties(_this$props, ["initialWidth", "theme", "width"]);
113
-
114
- const props = _objectSpread({
115
- width: width || this.state.width || initialWidth || initialWidthOption || getThemeProps({
116
- theme,
117
- name: 'MuiWithWidth'
118
- }).initialWidth
119
- }, other);
120
-
121
- const more = {};
122
-
123
- if (withThemeOption) {
124
- more.theme = theme;
125
- } // When rendering the component on the server,
126
- // we have no idea about the client browser screen width.
127
- // In order to prevent blinks and help the reconciliation of the React tree
128
- // we are not rendering the child component.
129
- //
130
- // An alternative is to use the `initialWidth` property.
131
-
132
-
133
- if (props.width === undefined) {
134
- return null;
135
- }
136
-
137
- return React.createElement(EventListener, {
138
- target: "window",
139
- onResize: this.handleResize
140
- }, React.createElement(Component, _extends({}, more, props)));
141
- }
142
-
143
- }
144
-
145
- WithWidth.propTypes = process.env.NODE_ENV !== "production" ? {
146
- /**
147
- * As `window.innerWidth` is unavailable on the server,
148
- * we default to rendering an empty component during the first mount.
149
- * In some situation, you might want to use an heuristic to approximate
150
- * the screen width of the client browser screen width.
151
- *
152
- * For instance, you could be using the user-agent or the client-hints.
153
- * http://caniuse.com/#search=client%20hint
154
- */
155
- initialWidth: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),
156
-
157
- /**
158
- * @ignore
159
- */
160
- theme: PropTypes.object.isRequired,
161
-
162
- /**
163
- * Bypass the width calculation logic.
164
- */
165
- width: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl'])
166
- } : {};
167
-
168
- if (process.env.NODE_ENV !== 'production') {
169
- WithWidth.displayName = wrapDisplayName(Component, 'WithWidth');
170
- }
171
-
172
- hoistNonReactStatics(WithWidth, Component);
173
- return withTheme()(WithWidth);
174
- };
175
-
176
- export default withWidth;
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- var _exportNames = {};
9
- Object.defineProperty(exports, "default", {
10
- enumerable: true,
11
- get: function get() {
12
- return _withWidth.default;
13
- }
14
- });
15
-
16
- var _withWidth = _interopRequireWildcard(require("./withWidth"));
17
-
18
- Object.keys(_withWidth).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function get() {
24
- return _withWidth[key];
25
- }
26
- });
27
- });
@@ -1,229 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = exports.isWidthDown = exports.isWidthUp = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _reactEventListener = _interopRequireDefault(require("react-event-listener"));
29
-
30
- var _debounce = _interopRequireDefault(require("debounce"));
31
-
32
- var _wrapDisplayName = _interopRequireDefault(require("recompose/wrapDisplayName"));
33
-
34
- var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
35
-
36
- var _withTheme = _interopRequireDefault(require("../styles/withTheme"));
37
-
38
- var _createBreakpoints = require("../styles/createBreakpoints");
39
-
40
- var _getThemeProps = _interopRequireDefault(require("../styles/getThemeProps"));
41
-
42
- /* eslint-disable react/no-did-mount-set-state */
43
- // < 1kb payload overhead when lodash/debounce is > 3kb.
44
- // By default, returns true if screen width is the same or greater than the given breakpoint.
45
- var isWidthUp = function isWidthUp(breakpoint, width) {
46
- var inclusive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
47
-
48
- if (inclusive) {
49
- return _createBreakpoints.keys.indexOf(breakpoint) <= _createBreakpoints.keys.indexOf(width);
50
- }
51
-
52
- return _createBreakpoints.keys.indexOf(breakpoint) < _createBreakpoints.keys.indexOf(width);
53
- }; // By default, returns true if screen width is the same or less than the given breakpoint.
54
-
55
-
56
- exports.isWidthUp = isWidthUp;
57
-
58
- var isWidthDown = function isWidthDown(breakpoint, width) {
59
- var inclusive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
60
-
61
- if (inclusive) {
62
- return _createBreakpoints.keys.indexOf(width) <= _createBreakpoints.keys.indexOf(breakpoint);
63
- }
64
-
65
- return _createBreakpoints.keys.indexOf(width) < _createBreakpoints.keys.indexOf(breakpoint);
66
- };
67
-
68
- exports.isWidthDown = isWidthDown;
69
-
70
- var withWidth = function withWidth() {
71
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
72
- return function (Component) {
73
- var _options$withTheme = options.withTheme,
74
- withThemeOption = _options$withTheme === void 0 ? false : _options$withTheme,
75
- _options$noSSR = options.noSSR,
76
- noSSR = _options$noSSR === void 0 ? false : _options$noSSR,
77
- initialWidthOption = options.initialWidth,
78
- _options$resizeInterv = options.resizeInterval,
79
- resizeInterval = _options$resizeInterv === void 0 ? 166 : _options$resizeInterv;
80
-
81
- var WithWidth =
82
- /*#__PURE__*/
83
- function (_React$Component) {
84
- (0, _inherits2.default)(WithWidth, _React$Component);
85
-
86
- function WithWidth(props) {
87
- var _this;
88
-
89
- (0, _classCallCheck2.default)(this, WithWidth);
90
- _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(WithWidth).call(this, props));
91
- _this.handleResize = (0, _debounce.default)(function () {
92
- var width = _this.getWidth();
93
-
94
- if (width !== _this.state.width) {
95
- _this.setState({
96
- width: width
97
- });
98
- }
99
- }, resizeInterval);
100
- _this.state = {
101
- width: undefined
102
- };
103
-
104
- if (noSSR) {
105
- _this.state.width = _this.getWidth();
106
- }
107
-
108
- return _this;
109
- }
110
-
111
- (0, _createClass2.default)(WithWidth, [{
112
- key: "componentDidMount",
113
- value: function componentDidMount() {
114
- var width = this.getWidth();
115
-
116
- if (width !== this.state.width) {
117
- this.setState({
118
- width: width
119
- });
120
- }
121
- }
122
- }, {
123
- key: "componentWillUnmount",
124
- value: function componentWillUnmount() {
125
- this.handleResize.clear();
126
- }
127
- }, {
128
- key: "getWidth",
129
- value: function getWidth() {
130
- var innerWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.innerWidth;
131
- var breakpoints = this.props.theme.breakpoints;
132
- var width = null;
133
- /**
134
- * Start with the slowest value as low end devices often have a small screen.
135
- *
136
- * innerWidth |xs sm md lg xl
137
- * |-------|-------|-------|-------|------>
138
- * width | xs | sm | md | lg | xl
139
- */
140
-
141
- var index = 1;
142
-
143
- while (width === null && index < _createBreakpoints.keys.length) {
144
- var currentWidth = _createBreakpoints.keys[index]; // @media are inclusive, so reproduce the behavior here.
145
-
146
- if (innerWidth < breakpoints.values[currentWidth]) {
147
- width = _createBreakpoints.keys[index - 1];
148
- break;
149
- }
150
-
151
- index += 1;
152
- }
153
-
154
- width = width || 'xl';
155
- return width;
156
- }
157
- }, {
158
- key: "render",
159
- value: function render() {
160
- var _this$props = this.props,
161
- initialWidth = _this$props.initialWidth,
162
- theme = _this$props.theme,
163
- width = _this$props.width,
164
- other = (0, _objectWithoutProperties2.default)(_this$props, ["initialWidth", "theme", "width"]);
165
- var props = (0, _extends2.default)({
166
- width: width || this.state.width || initialWidth || initialWidthOption || (0, _getThemeProps.default)({
167
- theme: theme,
168
- name: 'MuiWithWidth'
169
- }).initialWidth
170
- }, other);
171
- var more = {};
172
-
173
- if (withThemeOption) {
174
- more.theme = theme;
175
- } // When rendering the component on the server,
176
- // we have no idea about the client browser screen width.
177
- // In order to prevent blinks and help the reconciliation of the React tree
178
- // we are not rendering the child component.
179
- //
180
- // An alternative is to use the `initialWidth` property.
181
-
182
-
183
- if (props.width === undefined) {
184
- return null;
185
- }
186
-
187
- return _react.default.createElement(_reactEventListener.default, {
188
- target: "window",
189
- onResize: this.handleResize
190
- }, _react.default.createElement(Component, (0, _extends2.default)({}, more, props)));
191
- }
192
- }]);
193
- return WithWidth;
194
- }(_react.default.Component);
195
-
196
- WithWidth.propTypes = process.env.NODE_ENV !== "production" ? {
197
- /**
198
- * As `window.innerWidth` is unavailable on the server,
199
- * we default to rendering an empty component during the first mount.
200
- * In some situation, you might want to use an heuristic to approximate
201
- * the screen width of the client browser screen width.
202
- *
203
- * For instance, you could be using the user-agent or the client-hints.
204
- * http://caniuse.com/#search=client%20hint
205
- */
206
- initialWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),
207
-
208
- /**
209
- * @ignore
210
- */
211
- theme: _propTypes.default.object.isRequired,
212
-
213
- /**
214
- * Bypass the width calculation logic.
215
- */
216
- width: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl'])
217
- } : {};
218
-
219
- if (process.env.NODE_ENV !== 'production') {
220
- WithWidth.displayName = (0, _wrapDisplayName.default)(Component, 'WithWidth');
221
- }
222
-
223
- (0, _hoistNonReactStatics.default)(WithWidth, Component);
224
- return (0, _withTheme.default)()(WithWidth);
225
- };
226
- };
227
-
228
- var _default = withWidth;
229
- exports.default = _default;