@pie-lib/config-ui 11.37.0-mui-update.0 → 11.38.0-mui-update.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.
package/CHANGELOG.md CHANGED
@@ -3,59 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [11.37.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.36.1-mui-update.0...@pie-lib/config-ui@11.37.0-mui-update.0) (2025-11-26)
7
-
8
- **Note:** Version bump only for package @pie-lib/config-ui
9
-
10
-
11
-
12
-
13
-
14
- ## [11.36.1-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.36.0-mui-update.0...@pie-lib/config-ui@11.36.1-mui-update.0) (2025-11-20)
15
-
16
-
17
- ### Bug Fixes
18
-
19
- * remove carets from [@pie-lib](https://github.com/pie-lib) dependencies and configure lerna to use exact versions ([c9cd800](https://github.com/pie-framework/pie-lib/commit/c9cd800844abca09e7acf1fd35b2ddf51a6d86df))
20
-
21
-
22
-
23
-
24
-
25
- # [11.36.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.35.0-mui-update.0...@pie-lib/config-ui@11.36.0-mui-update.0) (2025-11-20)
26
-
27
-
28
- ### Bug Fixes
29
-
30
- * remove carret, point to specific libs version ([09939a5](https://github.com/pie-framework/pie-lib/commit/09939a5aca19d7dda03d62c93d4d524f98dd69da))
31
-
32
-
33
-
34
-
35
-
36
- # [11.35.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.34.0-mui-update.0...@pie-lib/config-ui@11.35.0-mui-update.0) (2025-11-20)
37
-
38
-
39
- ### Bug Fixes
40
-
41
- * fix some popper components, fix some math toolbar color ([ed1df55](https://github.com/pie-framework/pie-lib/commit/ed1df558e272686a712767e347df49434790f334))
6
+ # [11.38.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.37.0-mui-update.0...@pie-lib/config-ui@11.38.0-mui-update.0) (2025-12-02)
42
7
 
43
8
 
9
+ ### Features
44
10
 
45
-
46
-
47
- # [11.34.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.33.0-mui-update.0...@pie-lib/config-ui@11.34.0-mui-update.0) (2025-11-19)
48
-
49
-
50
- ### Bug Fixes
51
-
52
- * use fixed lib deps ([de7c64d](https://github.com/pie-framework/pie-lib/commit/de7c64d14f13259fe44d47405e4421baef21e24e))
11
+ * sync latest changes from dev ([c936e9c](https://github.com/pie-framework/pie-lib/commit/c936e9c7f9e095e7d9b9805ac2bf72bd271e05f1))
53
12
 
54
13
 
55
14
 
56
15
 
57
16
 
58
- # [11.33.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.32.0-mui-update.0...@pie-lib/config-ui@11.33.0-mui-update.0) (2025-11-18)
17
+ ## [11.30.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.30.1...@pie-lib/config-ui@11.30.2) (2025-11-27)
59
18
 
60
19
  **Note:** Version bump only for package @pie-lib/config-ui
61
20
 
@@ -63,48 +22,26 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
63
22
 
64
23
 
65
24
 
66
- # [11.32.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.31.0-mui-update.0...@pie-lib/config-ui@11.32.0-mui-update.0) (2025-11-18)
67
-
68
-
69
- ### Bug Fixes
70
-
71
- * **config-ui:** use the styled components for both tabs case as for the others ([81b8c23](https://github.com/pie-framework/pie-lib/commit/81b8c231c3e469e7a07a3e9d9321093dba8d0bcb))
72
-
73
-
74
-
75
-
76
-
77
- # [11.31.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.30.0-mui-update.0...@pie-lib/config-ui@11.31.0-mui-update.0) (2025-11-17)
25
+ ## [11.30.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.25.2...@pie-lib/config-ui@11.30.1) (2025-10-22)
78
26
 
79
27
 
80
28
  ### Bug Fixes
81
29
 
82
- * **config-ui, mask-markup:** replace deprecated props, externd AlerDialog with new props ([6e7a163](https://github.com/pie-framework/pie-lib/commit/6e7a16314944745154801010aa4973a03aa15dcc))
83
- * fix feedback menu, adjust choiceconfig style ([f5ea380](https://github.com/pie-framework/pie-lib/commit/f5ea380a108c0da9358c4e9028baa7068f4c5e91))
84
- * select in settings panel ([89d3f93](https://github.com/pie-framework/pie-lib/commit/89d3f935ebf9e13c6d1f538e6b3d76ff5612b5f6))
85
-
86
-
87
- ### Features
88
-
89
- * add MuiButton style overrides for consistent theming ([8fc184e](https://github.com/pie-framework/pie-lib/commit/8fc184e0eca3425cc76f1f76d8f1f24eb56c0779))
90
-
30
+ * avoid redundant re-renders by guarding layoutMode setState ([3f4aecd](https://github.com/pie-framework/pie-lib/commit/3f4aecd1c862b94a9faf3e058086da30995ae60d))
91
31
 
92
32
 
93
33
 
94
34
 
95
- # [11.30.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.29.0-mui-update.0...@pie-lib/config-ui@11.30.0-mui-update.0) (2025-11-05)
96
35
 
36
+ # [11.29.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.28.0...@pie-lib/config-ui@11.29.0) (2025-10-16)
97
37
 
98
- ### Bug Fixes
99
-
100
- * label positioning in input render-ui ([8012817](https://github.com/pie-framework/pie-lib/commit/80128173dc596181de296633e9413bba8b79db81))
101
- * remove parantheses ([07c8d13](https://github.com/pie-framework/pie-lib/commit/07c8d1366d768b1e22e31fb930a7d41a2a31d5ca))
38
+ **Note:** Version bump only for package @pie-lib/config-ui
102
39
 
103
40
 
104
41
 
105
42
 
106
43
 
107
- # [11.29.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.28.0-mui-update.0...@pie-lib/config-ui@11.29.0-mui-update.0) (2025-11-03)
44
+ # [11.28.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.25.0...@pie-lib/config-ui@11.28.0) (2025-10-16)
108
45
 
109
46
  **Note:** Version bump only for package @pie-lib/config-ui
110
47
 
@@ -112,7 +49,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
112
49
 
113
50
 
114
51
 
115
- # [11.28.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.26.0-mui-update.0...@pie-lib/config-ui@11.28.0-mui-update.0) (2025-11-03)
52
+ # [11.27.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.25.0...@pie-lib/config-ui@11.27.0) (2025-10-16)
116
53
 
117
54
  **Note:** Version bump only for package @pie-lib/config-ui
118
55
 
@@ -120,13 +57,9 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
120
57
 
121
58
 
122
59
 
123
- # [11.26.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.25.2...@pie-lib/config-ui@11.26.0-mui-update.0) (2025-10-31)
124
-
60
+ # [11.26.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.25.0...@pie-lib/config-ui@11.26.0) (2025-10-16)
125
61
 
126
- ### Features
127
-
128
- * **config-ui:** migrate to material v5 PD-5258 ([3ea0799](https://github.com/pie-framework/pie-lib/commit/3ea0799ce78ca20c938c7765b7af5a47194c39d1))
129
- * bump react and react-dom ([01dc19e](https://github.com/pie-framework/pie-lib/commit/01dc19e88bbc8d372c561d1511df1a82937d45af))
62
+ **Note:** Version bump only for package @pie-lib/config-ui
130
63
 
131
64
 
132
65
 
@@ -56,9 +56,13 @@ var MeasuredConfigLayout = /*#__PURE__*/function (_AppendCSSRules) {
56
56
  var _ref = dimensions || {},
57
57
  maxWidth = _ref.maxWidth;
58
58
  var layoutMode = bounds.width > sidePanelMinWidth && (maxWidth ? maxWidth > sidePanelMinWidth : true) ? 'inline' : 'tabbed';
59
- _this.setState({
60
- layoutMode: layoutMode
61
- });
59
+
60
+ // Only update state (and cause a re-render) if the computed layoutMode changed.
61
+ if (layoutMode !== _this.state.layoutMode) {
62
+ _this.setState({
63
+ layoutMode: layoutMode
64
+ });
65
+ }
62
66
  });
63
67
  _this.state = {
64
68
  layoutMode: undefined
@@ -70,35 +74,40 @@ var MeasuredConfigLayout = /*#__PURE__*/function (_AppendCSSRules) {
70
74
  key: "render",
71
75
  value: function render() {
72
76
  var _this2 = this;
73
- return /*#__PURE__*/_react["default"].createElement(_styles.StyledEngineProvider, {
74
- injectFirst: true
75
- }, /*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
76
- theme: theme
77
- }, /*#__PURE__*/_react["default"].createElement(_reactMeasure["default"], {
78
- bounds: true,
79
- onResize: this.onResize
80
- }, function (_ref2) {
81
- var measureRef = _ref2.measureRef;
82
- var _this2$props = _this2.props,
83
- children = _this2$props.children,
84
- settings = _this2$props.settings,
85
- hideSettings = _this2$props.hideSettings,
86
- dimensions = _this2$props.dimensions;
87
- var layoutMode = _this2.state.layoutMode;
88
- var settingsPanel = layoutMode === 'inline' ? /*#__PURE__*/_react["default"].createElement(_settingsBox["default"], {
89
- className: "settings-box"
90
- }, settings) : settings;
91
- var secondaryContent = hideSettings ? null : settingsPanel;
92
- var finalClass = 'main-container';
93
- return /*#__PURE__*/_react["default"].createElement("div", {
94
- ref: measureRef,
95
- className: finalClass
96
- }, /*#__PURE__*/_react["default"].createElement(_layoutContents["default"], {
97
- mode: layoutMode,
98
- secondary: secondaryContent,
99
- dimensions: dimensions
100
- }, children));
101
- })));
77
+ return (
78
+ /*#__PURE__*/
79
+ // TODO: REVIEW MuiThemeProvider usage
80
+ // Different theme object identities will force theme consumers to re-render.
81
+ _react["default"].createElement(_styles.StyledEngineProvider, {
82
+ injectFirst: true
83
+ }, /*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
84
+ theme: theme
85
+ }, /*#__PURE__*/_react["default"].createElement(_reactMeasure["default"], {
86
+ bounds: true,
87
+ onResize: this.onResize
88
+ }, function (_ref2) {
89
+ var measureRef = _ref2.measureRef;
90
+ var _this2$props = _this2.props,
91
+ children = _this2$props.children,
92
+ settings = _this2$props.settings,
93
+ hideSettings = _this2$props.hideSettings,
94
+ dimensions = _this2$props.dimensions;
95
+ var layoutMode = _this2.state.layoutMode;
96
+ var settingsPanel = layoutMode === 'inline' ? /*#__PURE__*/_react["default"].createElement(_settingsBox["default"], {
97
+ className: "settings-box"
98
+ }, settings) : settings;
99
+ var secondaryContent = hideSettings ? null : settingsPanel;
100
+ var finalClass = 'main-container';
101
+ return /*#__PURE__*/_react["default"].createElement("div", {
102
+ ref: measureRef,
103
+ className: finalClass
104
+ }, /*#__PURE__*/_react["default"].createElement(_layoutContents["default"], {
105
+ mode: layoutMode,
106
+ secondary: secondaryContent,
107
+ dimensions: dimensions
108
+ }, children));
109
+ })))
110
+ );
102
111
  }
103
112
  }]);
104
113
  }(_renderUi.AppendCSSRules);
@@ -1 +1 @@
1
- {"version":3,"file":"config-layout.js","names":["_react","_interopRequireDefault","require","_reactMeasure","_interopRequireWildcard","_styles","_propTypes","_layoutContents","_settingsBox","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","theme","createTheme","typography","fontFamily","components","MuiButton","styleOverrides","contained","backgroundColor","color","MeasuredConfigLayout","_AppendCSSRules","_this","_classCallCheck2","_len","arguments","length","props","Array","_key","concat","_defineProperty2","contentRect","bounds","_this$props","sidePanelMinWidth","dimensions","_ref","maxWidth","layoutMode","width","setState","state","undefined","_inherits2","_createClass2","key","value","render","_this2","createElement","StyledEngineProvider","injectFirst","ThemeProvider","onResize","_ref2","measureRef","_this2$props","children","settings","hideSettings","settingsPanel","className","secondaryContent","finalClass","ref","mode","secondary","AppendCSSRules","PropTypes","oneOfType","string","arrayOf","element","object","number","bool","ConfigLayout","withContentRect","_default","exports"],"sources":["../../src/layout/config-layout.jsx"],"sourcesContent":["import React from 'react';\nimport Measure from 'react-measure';\nimport { createTheme, ThemeProvider, StyledEngineProvider } from '@mui/material/styles';\nimport { withContentRect } from 'react-measure';\nimport PropTypes from 'prop-types';\nimport LayoutContents from './layout-contents';\nimport SettingsBox from './settings-box';\nimport { AppendCSSRules } from '@pie-lib/render-ui';\n\nconst theme = createTheme({\n typography: {\n fontFamily: 'inherit',\n },\n components: {\n MuiButton: {\n styleOverrides: {\n contained: {\n backgroundColor: '#e0e0e0',\n color: '#000000',\n '&:hover': {\n backgroundColor: '#bdbdbd',\n },\n },\n },\n },\n },\n});\n\nclass MeasuredConfigLayout extends AppendCSSRules {\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n className: PropTypes.string,\n dimensions: PropTypes.object,\n settings: PropTypes.element,\n sidePanelMinWidth: PropTypes.number,\n hideSettings: PropTypes.bool,\n };\n\n static defaultProps = {\n sidePanelMinWidth: 1135,\n hideSettings: false,\n dimensions: {},\n };\n\n constructor(...props) {\n super(...props);\n this.state = { layoutMode: undefined };\n }\n\n onResize = (contentRect) => {\n const { bounds } = contentRect;\n const { sidePanelMinWidth, dimensions } = this.props;\n const { maxWidth } = dimensions || {};\n\n const layoutMode =\n bounds.width > sidePanelMinWidth && (maxWidth ? maxWidth > sidePanelMinWidth : true) ? 'inline' : 'tabbed';\n\n this.setState({ layoutMode });\n };\n\n render() {\n return (\n <StyledEngineProvider injectFirst>\n <ThemeProvider theme={theme}>\n <Measure bounds onResize={this.onResize}>\n {({ measureRef }) => {\n const { children, settings, hideSettings, dimensions } = this.props;\n const { layoutMode } = this.state;\n\n const settingsPanel =\n layoutMode === 'inline' ? <SettingsBox className=\"settings-box\">{settings}</SettingsBox> : settings;\n const secondaryContent = hideSettings ? null : settingsPanel;\n const finalClass = 'main-container';\n\n return (\n <div ref={measureRef} className={finalClass}>\n <LayoutContents mode={layoutMode} secondary={secondaryContent} dimensions={dimensions}>\n {children}\n </LayoutContents>\n </div>\n );\n }}\n </Measure>\n </ThemeProvider>\n </StyledEngineProvider>\n );\n }\n}\n\nconst ConfigLayout = withContentRect('bounds')(MeasuredConfigLayout);\n\nexport default ConfigLayout;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"config-layout.js","names":["_react","_interopRequireDefault","require","_reactMeasure","_interopRequireWildcard","_styles","_propTypes","_layoutContents","_settingsBox","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","theme","createTheme","typography","fontFamily","components","MuiButton","styleOverrides","contained","backgroundColor","color","MeasuredConfigLayout","_AppendCSSRules","_this","_classCallCheck2","_len","arguments","length","props","Array","_key","concat","_defineProperty2","contentRect","bounds","_this$props","sidePanelMinWidth","dimensions","_ref","maxWidth","layoutMode","width","state","setState","undefined","_inherits2","_createClass2","key","value","render","_this2","createElement","StyledEngineProvider","injectFirst","ThemeProvider","onResize","_ref2","measureRef","_this2$props","children","settings","hideSettings","settingsPanel","className","secondaryContent","finalClass","ref","mode","secondary","AppendCSSRules","PropTypes","oneOfType","string","arrayOf","element","object","number","bool","ConfigLayout","withContentRect","_default","exports"],"sources":["../../src/layout/config-layout.jsx"],"sourcesContent":["import React from 'react';\nimport Measure from 'react-measure';\nimport { createTheme, ThemeProvider, StyledEngineProvider } from '@mui/material/styles';\nimport { withContentRect } from 'react-measure';\nimport PropTypes from 'prop-types';\nimport LayoutContents from './layout-contents';\nimport SettingsBox from './settings-box';\nimport { AppendCSSRules } from '@pie-lib/render-ui';\n\nconst theme = createTheme({\n typography: {\n fontFamily: 'inherit',\n },\n components: {\n MuiButton: {\n styleOverrides: {\n contained: {\n backgroundColor: '#e0e0e0',\n color: '#000000',\n '&:hover': {\n backgroundColor: '#bdbdbd',\n },\n },\n },\n },\n },\n});\n\nclass MeasuredConfigLayout extends AppendCSSRules {\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n className: PropTypes.string,\n dimensions: PropTypes.object,\n settings: PropTypes.element,\n sidePanelMinWidth: PropTypes.number,\n hideSettings: PropTypes.bool,\n };\n\n static defaultProps = {\n sidePanelMinWidth: 1135,\n hideSettings: false,\n dimensions: {},\n };\n\n constructor(...props) {\n super(...props);\n this.state = { layoutMode: undefined };\n }\n\n onResize = (contentRect) => {\n const { bounds } = contentRect;\n const { sidePanelMinWidth, dimensions } = this.props;\n const { maxWidth } = dimensions || {};\n\n const layoutMode =\n bounds.width > sidePanelMinWidth && (maxWidth ? maxWidth > sidePanelMinWidth : true) ? 'inline' : 'tabbed';\n\n // Only update state (and cause a re-render) if the computed layoutMode changed.\n if (layoutMode !== this.state.layoutMode) {\n this.setState({ layoutMode });\n }\n };\n\n render() {\n return (\n // TODO: REVIEW MuiThemeProvider usage\n // Different theme object identities will force theme consumers to re-render.\n <StyledEngineProvider injectFirst>\n <ThemeProvider theme={theme}>\n <Measure bounds onResize={this.onResize}>\n {({ measureRef }) => {\n const { children, settings, hideSettings, dimensions } = this.props;\n const { layoutMode } = this.state;\n\n const settingsPanel =\n layoutMode === 'inline' ? <SettingsBox className=\"settings-box\">{settings}</SettingsBox> : settings;\n const secondaryContent = hideSettings ? null : settingsPanel;\n const finalClass = 'main-container';\n\n return (\n <div ref={measureRef} className={finalClass}>\n <LayoutContents mode={layoutMode} secondary={secondaryContent} dimensions={dimensions}>\n {children}\n </LayoutContents>\n </div>\n );\n }}\n </Measure>\n </ThemeProvider>\n </StyledEngineProvider>\n );\n }\n}\n\nconst ConfigLayout = withContentRect('bounds')(MeasuredConfigLayout);\n\nexport default ConfigLayout;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/config-ui",
3
- "version": "11.37.0-mui-update.0",
3
+ "version": "11.38.0-mui-update.0",
4
4
  "main": "lib/index.js",
5
5
  "module": "src/index.js",
6
6
  "publishConfig": {
@@ -12,9 +12,9 @@
12
12
  "@emotion/style": "^0.8.0",
13
13
  "@mui/icons-material": "^7.3.4",
14
14
  "@mui/material": "^7.3.4",
15
- "@pie-lib/editable-html": "11.29.0-mui-update.0",
16
- "@pie-lib/icons": "2.32.0-mui-update.0",
17
- "@pie-lib/render-ui": "4.43.0-mui-update.0",
15
+ "@pie-lib/editable-html": "11.30.0-mui-update.0",
16
+ "@pie-lib/icons": "2.33.0-mui-update.0",
17
+ "@pie-lib/render-ui": "4.44.0-mui-update.0",
18
18
  "assert": "^1.4.1",
19
19
  "classnames": "^2.2.6",
20
20
  "complex.js": "2.1.1",
@@ -31,5 +31,5 @@
31
31
  "peerDependencies": {
32
32
  "react": "^18.2.0"
33
33
  },
34
- "gitHead": "094026045c44d3d7e558beb7e6986f2652661f75"
34
+ "gitHead": "23a7cb8864b947778ac7e6dffdc6fa4a74af5927"
35
35
  }
@@ -55,11 +55,16 @@ class MeasuredConfigLayout extends AppendCSSRules {
55
55
  const layoutMode =
56
56
  bounds.width > sidePanelMinWidth && (maxWidth ? maxWidth > sidePanelMinWidth : true) ? 'inline' : 'tabbed';
57
57
 
58
- this.setState({ layoutMode });
58
+ // Only update state (and cause a re-render) if the computed layoutMode changed.
59
+ if (layoutMode !== this.state.layoutMode) {
60
+ this.setState({ layoutMode });
61
+ }
59
62
  };
60
63
 
61
64
  render() {
62
65
  return (
66
+ // TODO: REVIEW MuiThemeProvider usage
67
+ // Different theme object identities will force theme consumers to re-render.
63
68
  <StyledEngineProvider injectFirst>
64
69
  <ThemeProvider theme={theme}>
65
70
  <Measure bounds onResize={this.onResize}>