@zohodesk/react-cli 0.0.1-test.148.2 → 1.0.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 (174) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +180 -183
  3. package/.prettierrc +6 -0
  4. package/{CHANGELOG.md → CHANGELOG-fz.md} +0 -0
  5. package/Changelog.md +1019 -0
  6. package/README.md +1152 -678
  7. package/bin/cli.js +483 -392
  8. package/docs/CustomChunks.md +26 -0
  9. package/docs/DevServerPort.md +39 -0
  10. package/docs/DevStart.md +18 -0
  11. package/docs/HoverActive.md +12 -0
  12. package/docs/InstallNode.md +28 -0
  13. package/docs/SelectorWeight.md +6 -0
  14. package/docs/TODOS.md +10 -0
  15. package/docs/ValueReplacer.md +60 -0
  16. package/docs/VariableConversion.md +724 -0
  17. package/docs/warnings_while_install.txt +35 -0
  18. package/files/eslintrc.js +62 -62
  19. package/files/prettierrc.js +3 -3
  20. package/lib/common/index.js +6 -6
  21. package/lib/common/splitChunks.js +60 -12
  22. package/lib/common/sslcertUpdater.js +59 -0
  23. package/lib/common/testPattern.js +69 -0
  24. package/lib/common/valueReplacer.js +55 -0
  25. package/lib/configs/jest.config.js +18 -8
  26. package/lib/configs/libAlias.js +38 -0
  27. package/lib/configs/resolvers.js +40 -0
  28. package/lib/configs/webpack.css.umd.config.js +4 -4
  29. package/lib/configs/webpack.dev.config.js +59 -54
  30. package/lib/configs/webpack.docs.config.js +56 -53
  31. package/lib/configs/webpack.impact.config.js +54 -50
  32. package/lib/configs/webpack.prod.config.js +72 -47
  33. package/lib/constants.js +31 -0
  34. package/lib/jest/preProcessors/cssPreprocessor.js +16 -7
  35. package/lib/loaderUtils/configsAssetsLoaders.js +117 -0
  36. package/lib/loaderUtils/getCSSLoaders.js +89 -21
  37. package/lib/loaderUtils/index.js +4 -4
  38. package/lib/loaderUtils/windowsModification.js +11 -0
  39. package/lib/loaders/fileBountryLoader.js +17 -0
  40. package/lib/loaders/scriptInstrumentLoader.js +2 -2
  41. package/lib/loaders/selectorMappingLoader.js +75 -0
  42. package/lib/loaders/workerLoader.js +9 -9
  43. package/lib/pluginUtils/configHtmlWebpackPlugins.js +59 -0
  44. package/lib/pluginUtils/getDevPlugins.js +69 -45
  45. package/lib/pluginUtils/getDocsPlugins.js +6 -8
  46. package/lib/pluginUtils/getLibraryImactPlugins.js +23 -0
  47. package/lib/pluginUtils/getProdPlugins.js +73 -58
  48. package/lib/pluginUtils/index.js +12 -12
  49. package/lib/plugins/CdnChangePlugin.js +16 -2
  50. package/lib/plugins/EFCPlugin.js +52 -20
  51. package/lib/plugins/EFCPlugin.md +6 -0
  52. package/lib/plugins/EFCTemplatePlugin.js +151 -0
  53. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  54. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  55. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  56. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  57. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -86
  58. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  59. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  60. package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +2 -2
  61. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +1 -1
  62. package/lib/plugins/ManifestPlugin.js +8 -0
  63. package/lib/plugins/RequireVariablePublicPlugin.js +30 -0
  64. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  65. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +11 -7
  66. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -0
  67. package/lib/plugins/SelectorPlugin.js +97 -0
  68. package/lib/plugins/ServiceWorkerPlugin.js +13 -9
  69. package/lib/plugins/SourceMapHookPlugin.js +9 -3
  70. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  71. package/lib/plugins/VariableConversionCollector.js +352 -0
  72. package/lib/plugins/composeCommonPlugin.js +30 -0
  73. package/lib/plugins/index.js +36 -36
  74. package/lib/plugins/libraryImpactPlugin.js +14 -2
  75. package/lib/postcss-plugins/{ExcludeRTLPlugin.js → ExcludePlugin.js} +1 -1
  76. package/lib/postcss-plugins/RTLSplitPlugin.js +36 -32
  77. package/lib/postcss-plugins/ValueReplacer.js +46 -0
  78. package/lib/postcss-plugins/__test__/hoverActivePlugin.spec.js +22 -0
  79. package/lib/postcss-plugins/__test__/test1Input.css +39 -0
  80. package/lib/postcss-plugins/__test__/test1Output.css +39 -0
  81. package/lib/postcss-plugins/hoverActivePlugin.js +389 -0
  82. package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +60 -0
  83. package/lib/postcss-plugins/variableModificationPlugin/index.js +307 -0
  84. package/lib/postcss-plugins/variableModifier.js +244 -0
  85. package/lib/schemas/index.js +166 -11
  86. package/lib/servers/devBuild.js +102 -0
  87. package/lib/servers/docsServerCore.js +16 -18
  88. package/lib/servers/getCliPath.js +28 -0
  89. package/lib/servers/httpsOptions.js +49 -0
  90. package/lib/servers/nowatchserver.js +206 -0
  91. package/lib/servers/server.js +114 -82
  92. package/lib/sh/pre-commit.sh +34 -34
  93. package/lib/sh/reportPublish.sh +45 -45
  94. package/lib/templates/linterConstant.js +1 -1
  95. package/lib/utils/buildstats.html +148 -148
  96. package/lib/utils/cssClassNameGenerate.js +9 -2
  97. package/lib/utils/cssURLReplacer.js +30 -43
  98. package/lib/utils/getCurrentBranch.js +1 -1
  99. package/lib/utils/getDependenciesImpactList.js +14 -12
  100. package/lib/utils/getFileType.js +49 -0
  101. package/lib/utils/getOptions.js +118 -10
  102. package/lib/utils/index.js +44 -20
  103. package/lib/utils/jsonHelper.js +12 -3
  104. package/lib/utils/reinstallDependencies.js +1 -1
  105. package/lib/utils/repoClone.js +16 -4
  106. package/lib/utils/resultSchema.json +73 -73
  107. package/lib/utils/rtl.js +19 -2
  108. package/lib/utils/useExitCleanup.js +55 -0
  109. package/npm8.md +9 -0
  110. package/package.json +121 -142
  111. package/postpublish.js +8 -0
  112. package/result.json +1 -0
  113. package/templates/app/.eslintrc.js +140 -140
  114. package/templates/app/README.md +12 -12
  115. package/templates/app/app/index.html +24 -24
  116. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  117. package/templates/app/app/properties/i18nkeys.json +3 -3
  118. package/templates/app/docs/all.html +69 -69
  119. package/templates/app/mockapi/index.js +18 -18
  120. package/templates/app/package.json +37 -37
  121. package/templates/app/src/actions/SampleActions/index.js +37 -37
  122. package/templates/app/src/actions/index.js +65 -65
  123. package/templates/app/src/appUrls.js +19 -19
  124. package/templates/app/src/components/Alert/Alert.js +134 -134
  125. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  126. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  127. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  128. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  129. package/templates/app/src/components/Sample/SampleList.js +61 -61
  130. package/templates/app/src/components/Slider/Slider.css +41 -41
  131. package/templates/app/src/components/Slider/Slider.js +55 -55
  132. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  133. package/templates/app/src/containers/AppContainer/index.js +96 -96
  134. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  135. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  136. package/templates/app/src/containers/DevTools/index.js +10 -10
  137. package/templates/app/src/containers/Header/index.js +67 -67
  138. package/templates/app/src/containers/Header/index.module.css +43 -43
  139. package/templates/app/src/containers/Redirect/index.js +63 -63
  140. package/templates/app/src/containers/Redirector/index.js +47 -47
  141. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  142. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  143. package/templates/app/src/historyChange.js +5 -5
  144. package/templates/app/src/index.html +10 -10
  145. package/templates/app/src/index.js +24 -24
  146. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  147. package/templates/app/src/reducers/alertData.js +11 -11
  148. package/templates/app/src/reducers/index.js +6 -6
  149. package/templates/app/src/reducers/samples.js +19 -19
  150. package/templates/app/src/store/configureStore.dev.js +51 -51
  151. package/templates/app/src/store/configureStore.js +5 -5
  152. package/templates/app/src/store/configureStore.prod.js +26 -26
  153. package/templates/app/src/util/Common.js +5 -5
  154. package/templates/app/src/util/RequestAPI.js +132 -132
  155. package/templates/docs/all.html +249 -249
  156. package/templates/docs/component.html +178 -178
  157. package/templates/docs/components.html +221 -221
  158. package/templates/docs/css/b.min.css +6 -6
  159. package/templates/docs/css/component.css +42 -42
  160. package/templates/docs/css/componentTest.css +6 -6
  161. package/templates/docs/css/hopscotch.css +585 -585
  162. package/templates/docs/css/style.css +1022 -1022
  163. package/templates/docs/impactReportTemplate.html +154 -154
  164. package/templates/docs/index.html +1501 -1493
  165. package/templates/docs/js/active-line.js +72 -72
  166. package/templates/docs/js/b.min.js +7 -7
  167. package/templates/docs/js/codemirror.js +9680 -9680
  168. package/templates/docs/js/designTokens.js +334 -334
  169. package/templates/docs/js/j.min.js +4 -4
  170. package/templates/docs/js/javascript.js +874 -874
  171. package/templates/docs/js/matchbrackets.js +145 -145
  172. package/unittest/index.html +37 -0
  173. package/cert/cert.pem +0 -105
  174. package/cert/key.pem +0 -30
@@ -1,221 +1,221 @@
1
- <!DOCTYPE html>
2
- <html class="isRem" dir="ltr">
3
- <head>
4
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <link rel="stylesheet" href="./css/component.css" />
7
- <link rel="stylesheet" href="./css/componentTest.css" />
8
- <link rel="stylesheet" href="/docs/css/main.css" />
9
- </head>
10
- <body>
11
- <div id="react" class="ssTest appContainer"></div>
12
- <div id="reactUserEdit"></div>
13
- <script src="/docs/js/vendor.js" defer="true"></script>
14
- <script src="/docs/js/main.js" defer="true"></script>
15
- <script src="/docs/js/babel.min.js"></script>
16
- <script type="text/babel">
17
- var test = 'test';
18
- var ReactDOM = Component.ReactDOM;
19
- var React = Component.React;
20
- var ReactDOMServer = Component.ReactDOMServer;
21
- class RenderComponent extends React.Component {
22
- constructor(props) {
23
- super(props);
24
- this.state = {
25
- Components: Component,
26
- isError: false,
27
- selectedComponent:
28
- location.hash != '' ? location.hash.substring(1) : null,
29
- componentList: window.componentList
30
- ? window.componentList
31
- : Component,
32
- };
33
- this.hashChange = this.hashChange.bind(this);
34
- }
35
- hashChange() {
36
- let parentFrameNode = parent.document.getElementById('loadingText');
37
- this.setState(
38
- {
39
- selectedComponent:
40
- location.hash != '' ? location.hash.substring(1) : null,
41
- },
42
- () => {
43
- if (this.error) {
44
- location.reload();
45
- parentFrameNode
46
- ? (parentFrameNode.style.display = 'block')
47
- : (parentFrameNode.style.display = 'none');
48
- this.error = false;
49
- }
50
- }
51
- );
52
- }
53
-
54
- componentDidMount() {
55
- window.addEventListener('hashchange', this.hashChange);
56
- let parentFrameNode = parent.document.getElementById('loadingText');
57
- if (parentFrameNode) parentFrameNode.style.display = 'none';
58
- }
59
-
60
- componentWillUnmount() {
61
- window.removeEventListener('hashchange', this.hashChange);
62
- }
63
-
64
- componentDidCatch() {
65
- this.error = true;
66
- this.setState({ isError: this.error });
67
- }
68
- render() {
69
- const { Components, selectedComponent, componentList } = this.state;
70
- // var CLG=[]
71
- // var complistGroup=Object.keys(componentList).map((item,i)=>{
72
- // if(Array.isArray(componentList[item].docs.testProps)){
73
- // CLG.push(item)
74
- // }
75
- // })
76
- let msg = componentList[selectedComponent]
77
- ? 'Sorry! for the inconvenience.'
78
- : 'Sorry! Request URL not found.';
79
- var ComponentClass =
80
- selectedComponent && componentList[selectedComponent];
81
- var keysSingleAr =
82
- (ComponentClass &&
83
- ComponentClass.docs &&
84
- ComponentClass.docs.testProps &&
85
- Object.keys(ComponentClass.docs.testProps)) ||
86
- [];
87
- var ErrorMessage = (
88
- <div className={'emptyState'}>
89
- <svg
90
- x='0px'
91
- y='0px'
92
- viewBox='0 0 512 512'
93
- style={{ enableBackground: 'new 0 0 512 512' }}
94
- xmlSpace='preserve'
95
- className={'smileIcon'}
96
- >
97
- <path
98
- style={{ fill: '#f00' }}
99
- d='M344.354,381.58c-1.33-1.651-33.207-40.458-88.354-40.458
100
- c-55.832,0-87.972,39.974-88.29,40.378l-31.42-24.756c1.79-2.271,44.687-55.622,119.71-55.622s117.92,53.352,119.71,55.622
101
- L344.29,381.5L344.354,381.58z M437.02,437.02C485.371,388.668,512,324.38,512,256s-26.629-132.667-74.98-181.02
102
- C388.667,26.629,324.38,0,256,0S123.333,26.629,74.98,74.98C26.629,123.333,0,187.62,0,256s26.629,132.668,74.98,181.02
103
- C123.333,485.371,187.62,512,256,512S388.667,485.371,437.02,437.02z M472,256c0,119.103-96.897,216-216,216S40,375.103,40,256
104
- S136.897,40,256,40S472,136.897,472,256z M168,212.122c17.673,0,32-14.327,32-32s-14.327-32-32-32s-32,14.327-32,32
105
- S150.327,212.122,168,212.122z M344,212.122c17.673,0,32-14.327,32-32s-14.327-32-32-32s-32,14.327-32,32
106
- S326.327,212.122,344,212.122z'
107
- />
108
- </svg>
109
- <div>{msg}</div>
110
- </div>
111
- );
112
- let renderElement = (
113
- <div className='root' id='root'>
114
- {this.state.isError || componentList[selectedComponent] ? (
115
- <ComponentClass {...ComponentClass.docs.testProps} />
116
- ) : (
117
- ErrorMessage
118
- )}
119
- </div>
120
- );
121
-
122
- return componentList._provider ? (
123
- <componentList._provider>
124
- {this.state.isError ? ErrorMessage : renderElement}
125
- </componentList._provider>
126
- ) : this.state.isError ? (
127
- ErrorMessage
128
- ) : (
129
- renderElement
130
- );
131
- }
132
- }
133
- var compList;
134
- var componentList = {};
135
- var compGroupObj = function (comp, key, compGroup) {
136
- if (
137
- comp == 'React' ||
138
- comp == 'ReactDOM' ||
139
- comp == 'renderToStaticMarkup'
140
- ) {
141
- return;
142
- }
143
- if (comp == 'default') {
144
- componentList[key] = compGroup[comp];
145
- return componentList;
146
- } else {
147
- componentList[comp] = compGroup[comp];
148
- return componentList;
149
- }
150
- };
151
- Promise.all(
152
- Object.keys(Component).map((key) => {
153
- let componentKey = Component[key];
154
- if (
155
- key == 'React' ||
156
- key == 'ReactDOM' ||
157
- key == 'renderToStaticMarkup'
158
- ) {
159
- return;
160
- }
161
- try {
162
- return (
163
- componentKey &&
164
- componentKey.then((res) => {
165
- Object.keys(res).forEach((comp) => {
166
- let compGroup = res[comp];
167
- Object.keys(compGroup).forEach((comps) => {
168
- compList = compGroupObj(comps, key, compGroup);
169
- return compList;
170
- });
171
- });
172
- })
173
- );
174
- } catch (error) {
175
- return Component;
176
- }
177
- })
178
- ).then(() => {
179
- Object.keys(componentList).length > 1
180
- ? (window.componentList = componentList)
181
- : (window.componentList = Component);
182
- ReactDOM.render(<RenderComponent />, react, () => {
183
- let attr = document.createAttribute('id');
184
- attr.value = 'check';
185
- let node = document.createElement('DIV');
186
- node.setAttributeNode(attr);
187
- document.getElementById('root').appendChild(node);
188
- });
189
- });
190
- </script>
191
-
192
- <script type="text/javascript">
193
- var err = null;
194
- var comName = '';
195
- var findErr = (window.onerror = function (e, line) {
196
- err = e;
197
- comName = window.location.hash.substr(1);
198
- });
199
- var funct = function () {
200
- return { error: err, name: comName };
201
- };
202
-
203
- let hideCursorBlink = function (documentElement) {
204
- var style = documentElement.createElement('style');
205
- style.innerText =
206
- '[contenteditable], input,textarea {color: transparent ! important; text-shadow: 0 0 0 black ! important;}';
207
- documentElement.head.append(style);
208
- };
209
-
210
- let hideAllCursorBlink = function (documentElement) {
211
- hideCursorBlink(documentElement);
212
- var frameElements = documentElement.getElementsByTagName('iframe');
213
- for (i = 0; i < frameElements.length; i++) {
214
- if (frameElements[i].contentDocument) {
215
- hideAllCursorBlink(frameElements[i].contentDocument);
216
- }
217
- }
218
- };
219
- </script>
220
- </body>
221
- </html>
1
+ <!DOCTYPE html>
2
+ <html class="isRem" dir="ltr">
3
+ <head>
4
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <link rel="stylesheet" href="./css/component.css" />
7
+ <link rel="stylesheet" href="./css/componentTest.css" />
8
+ <link rel="stylesheet" href="/docs/css/main.css" />
9
+ </head>
10
+ <body>
11
+ <div id="react" class="ssTest appContainer"></div>
12
+ <div id="reactUserEdit"></div>
13
+ <script src="/docs/js/vendor.js" defer="true"></script>
14
+ <script src="/docs/js/main.js" defer="true"></script>
15
+ <script src="/docs/js/babel.min.js"></script>
16
+ <script type="text/babel">
17
+ var test = 'test';
18
+ var ReactDOM = Component.ReactDOM;
19
+ var React = Component.React;
20
+ var ReactDOMServer = Component.ReactDOMServer;
21
+ class RenderComponent extends React.Component {
22
+ constructor(props) {
23
+ super(props);
24
+ this.state = {
25
+ Components: Component,
26
+ isError: false,
27
+ selectedComponent:
28
+ location.hash != '' ? location.hash.substring(1) : null,
29
+ componentList: window.componentList
30
+ ? window.componentList
31
+ : Component,
32
+ };
33
+ this.hashChange = this.hashChange.bind(this);
34
+ }
35
+ hashChange() {
36
+ let parentFrameNode = parent.document.getElementById('loadingText');
37
+ this.setState(
38
+ {
39
+ selectedComponent:
40
+ location.hash != '' ? location.hash.substring(1) : null,
41
+ },
42
+ () => {
43
+ if (this.error) {
44
+ location.reload();
45
+ parentFrameNode
46
+ ? (parentFrameNode.style.display = 'block')
47
+ : (parentFrameNode.style.display = 'none');
48
+ this.error = false;
49
+ }
50
+ }
51
+ );
52
+ }
53
+
54
+ componentDidMount() {
55
+ window.addEventListener('hashchange', this.hashChange);
56
+ let parentFrameNode = parent.document.getElementById('loadingText');
57
+ if (parentFrameNode) parentFrameNode.style.display = 'none';
58
+ }
59
+
60
+ componentWillUnmount() {
61
+ window.removeEventListener('hashchange', this.hashChange);
62
+ }
63
+
64
+ componentDidCatch() {
65
+ this.error = true;
66
+ this.setState({ isError: this.error });
67
+ }
68
+ render() {
69
+ const { Components, selectedComponent, componentList } = this.state;
70
+ // var CLG=[]
71
+ // var complistGroup=Object.keys(componentList).map((item,i)=>{
72
+ // if(Array.isArray(componentList[item].docs.testProps)){
73
+ // CLG.push(item)
74
+ // }
75
+ // })
76
+ let msg = componentList[selectedComponent]
77
+ ? 'Sorry! for the inconvenience.'
78
+ : 'Sorry! Request URL not found.';
79
+ var ComponentClass =
80
+ selectedComponent && componentList[selectedComponent];
81
+ var keysSingleAr =
82
+ (ComponentClass &&
83
+ ComponentClass.docs &&
84
+ ComponentClass.docs.testProps &&
85
+ Object.keys(ComponentClass.docs.testProps)) ||
86
+ [];
87
+ var ErrorMessage = (
88
+ <div className={'emptyState'}>
89
+ <svg
90
+ x='0px'
91
+ y='0px'
92
+ viewBox='0 0 512 512'
93
+ style={{ enableBackground: 'new 0 0 512 512' }}
94
+ xmlSpace='preserve'
95
+ className={'smileIcon'}
96
+ >
97
+ <path
98
+ style={{ fill: '#f00' }}
99
+ d='M344.354,381.58c-1.33-1.651-33.207-40.458-88.354-40.458
100
+ c-55.832,0-87.972,39.974-88.29,40.378l-31.42-24.756c1.79-2.271,44.687-55.622,119.71-55.622s117.92,53.352,119.71,55.622
101
+ L344.29,381.5L344.354,381.58z M437.02,437.02C485.371,388.668,512,324.38,512,256s-26.629-132.667-74.98-181.02
102
+ C388.667,26.629,324.38,0,256,0S123.333,26.629,74.98,74.98C26.629,123.333,0,187.62,0,256s26.629,132.668,74.98,181.02
103
+ C123.333,485.371,187.62,512,256,512S388.667,485.371,437.02,437.02z M472,256c0,119.103-96.897,216-216,216S40,375.103,40,256
104
+ S136.897,40,256,40S472,136.897,472,256z M168,212.122c17.673,0,32-14.327,32-32s-14.327-32-32-32s-32,14.327-32,32
105
+ S150.327,212.122,168,212.122z M344,212.122c17.673,0,32-14.327,32-32s-14.327-32-32-32s-32,14.327-32,32
106
+ S326.327,212.122,344,212.122z'
107
+ />
108
+ </svg>
109
+ <div>{msg}</div>
110
+ </div>
111
+ );
112
+ let renderElement = (
113
+ <div className='root' id='root'>
114
+ {this.state.isError || componentList[selectedComponent] ? (
115
+ <ComponentClass {...ComponentClass.docs.testProps} />
116
+ ) : (
117
+ ErrorMessage
118
+ )}
119
+ </div>
120
+ );
121
+
122
+ return componentList._provider ? (
123
+ <componentList._provider>
124
+ {this.state.isError ? ErrorMessage : renderElement}
125
+ </componentList._provider>
126
+ ) : this.state.isError ? (
127
+ ErrorMessage
128
+ ) : (
129
+ renderElement
130
+ );
131
+ }
132
+ }
133
+ var compList;
134
+ var componentList = {};
135
+ var compGroupObj = function (comp, key, compGroup) {
136
+ if (
137
+ comp == 'React' ||
138
+ comp == 'ReactDOM' ||
139
+ comp == 'renderToStaticMarkup'
140
+ ) {
141
+ return;
142
+ }
143
+ if (comp == 'default') {
144
+ componentList[key] = compGroup[comp];
145
+ return componentList;
146
+ } else {
147
+ componentList[comp] = compGroup[comp];
148
+ return componentList;
149
+ }
150
+ };
151
+ Promise.all(
152
+ Object.keys(Component).map((key) => {
153
+ let componentKey = Component[key];
154
+ if (
155
+ key == 'React' ||
156
+ key == 'ReactDOM' ||
157
+ key == 'renderToStaticMarkup'
158
+ ) {
159
+ return;
160
+ }
161
+ try {
162
+ return (
163
+ componentKey &&
164
+ componentKey.then((res) => {
165
+ Object.keys(res).forEach((comp) => {
166
+ let compGroup = res[comp];
167
+ Object.keys(compGroup).forEach((comps) => {
168
+ compList = compGroupObj(comps, key, compGroup);
169
+ return compList;
170
+ });
171
+ });
172
+ })
173
+ );
174
+ } catch (error) {
175
+ return Component;
176
+ }
177
+ })
178
+ ).then(() => {
179
+ Object.keys(componentList).length > 1
180
+ ? (window.componentList = componentList)
181
+ : (window.componentList = Component);
182
+ ReactDOM.render(<RenderComponent />, react, () => {
183
+ let attr = document.createAttribute('id');
184
+ attr.value = 'check';
185
+ let node = document.createElement('DIV');
186
+ node.setAttributeNode(attr);
187
+ document.getElementById('root').appendChild(node);
188
+ });
189
+ });
190
+ </script>
191
+
192
+ <script type="text/javascript">
193
+ var err = null;
194
+ var comName = '';
195
+ var findErr = (window.onerror = function (e, line) {
196
+ err = e;
197
+ comName = window.location.hash.substr(1);
198
+ });
199
+ var funct = function () {
200
+ return { error: err, name: comName };
201
+ };
202
+
203
+ let hideCursorBlink = function (documentElement) {
204
+ var style = documentElement.createElement('style');
205
+ style.innerText =
206
+ '[contenteditable], input,textarea {color: transparent ! important; text-shadow: 0 0 0 black ! important;}';
207
+ documentElement.head.append(style);
208
+ };
209
+
210
+ let hideAllCursorBlink = function (documentElement) {
211
+ hideCursorBlink(documentElement);
212
+ var frameElements = documentElement.getElementsByTagName('iframe');
213
+ for (i = 0; i < frameElements.length; i++) {
214
+ if (frameElements[i].contentDocument) {
215
+ hideAllCursorBlink(frameElements[i].contentDocument);
216
+ }
217
+ }
218
+ };
219
+ </script>
220
+ </body>
221
+ </html>